Ответ на пост «В СССР была создана единственная в мире ЭВМ, работавшая на основе троичного кода»

Увидел в ленте этот пост и не смог пройти мимо. Популяризация отечественной вычислительной техники — это хорошо и нужно, но в данном случае рассказ, к сожалению, получился в духе «не Волгу, а сто рублей, и не в лотерею, а в карты, и не выиграл, а проиграл». Давайте разберёмся в том, в чём автор напутал, и узнаем побольше про троичные компьютеры, а заодно увидим редкие фотографии сохранившихся экземпляров (да, оказывается, есть и такие!).

Ответ на пост «В СССР была создана единственная в мире ЭВМ, работавшая на основе троичного кода» Технологии, Изобретения, Инновации, Техника, Компьютер, ЭВМ, СССР, Сделано в СССР, Ответ на пост, Длиннопост

Пульт от той самой «Сетуни»

Что мы знаем бесспорно? В СССР в 1959 году действительно была разработана единственная в мире серийно выпускавшаяся троичная ЭВМ. Я неслучайно выделил эти слова — без них утверждение будет неверным. К 1965 году в СССР было выпущено 46 компьютеров этой модели.

Далее в исходном тексте начинаются заявления, которые... скажем так, требуют комментирования.

Например, единицы измерения назывались тритами, а не битами. Говоря простым языком, использовались цифры 0, 1 и 2, а не 0 и 1 как в двоичной.

Неверно — в Сетуни использовались не 0, 1 и 2, а −1, 0 и 1. Да, фактически в ней были «отрицательные цифры». Это называется симметричной троичной системой счисления. Наличие 1 в тех или иных разрядах увеличивало общую величину числа, а наличие −1 — уменьшало. Можно представить себе троичное число как рычажные весы, где вы можете ставить гирьки на обе чаши — как добавляя к итоговым показаниям, так и отнимая от них.

Ответ на пост «В СССР была создана единственная в мире ЭВМ, работавшая на основе троичного кода» Технологии, Изобретения, Инновации, Техника, Компьютер, ЭВМ, СССР, Сделано в СССР, Ответ на пост, Длиннопост

Теперь, как вы поняли, у нашей страны было все свое, и даже компьютеры и язык программирования.

Если что, всё это появилось на много лет раньше. К 1959 году в стране были разработаны ЭВМ М-1, М-2, М-3, МЭСМ, БЭСМ и БЭСМ-2, СЭСМ, ЦЭМ-1 и ЦЭМ-2, М-20, М-40 и М-50, «Стрела», «Урал», несколько специализированных ЭВМ военного назначения. Готовились к выпуску «Минск», «Проминь» и следующие модификации «Уралов» и БЭСМ — всех и не перечислишь. И, разумеется, для многих из этих машин существовали языки программирования собственной разработки. Так что странно писать, что в этом смысле появление «Сетуни» как-то радикально изменило расклад.

По меркам 1959-го года <...> "Сетунь" была, по сути, более быстродейственна, чем ЭВМ того времени, использовавшая двоичную систему.

Крайне спорное утверждение. Возможно, автор хотел сделать акцент на словах «по сути», имея в виду, что при сходной архитектуре и равном физическом быстродействии базовых элементов троичная машина будет эффективнее. Но здесь слишком много допущений.

Если же брать реальное быстродействие, то «Сетунь» выдавала 4800 операций в секунду. В сравнении с другими ЭВМ того времени это были довольно скромные характеристики — даже с поправкой на выигрыш от троичной системы. Модернизированная БЭСМ уже в 1953 году делала до 12 000 оп./с, М-20 — до 20 000, а специализированные М-40 и М-50 — и того больше.

Маленьким был и объём оперативной памяти «Сетуни» — всего 162 слова. Для сравнения, М-20 имела память 4096 слов. Причём троичность «Сетуни» здесь не даёт ей выигрыша, поскольку одно её 18-тритное слово эквивалентно 29 двоичным разрядам, а М-20 имела разрядность целых 45 бит.

В общем, при работе "Сетунь" было необходимо обработать в полтора раза меньше вычислений, чем такому же ЭВМ того времени, но с двоичной системой за то же самое время. В общем, "Сетунь", банально, работала в 1,5 раза быстрее.

Это очень большое упрощение. Далеко не все программы обязаны давать выигрыш при переносе на троичную ЭВМ, и не всегда он обязан быть именно полуторакратным. Есть конкретные операции, которые выполняются быстрее на троичной машине. Самый понятный пример — ветвление в зависимости от результата предыдущей операции. Если он был положительным — программа пойдёт по одному пути, отрицательным — по другому, нулевым — по третьему. Двоичной машине нужно выполнить для этого две проверки, троичной — одну.

Ответ на пост «В СССР была создана единственная в мире ЭВМ, работавшая на основе троичного кода» Технологии, Изобретения, Инновации, Техника, Компьютер, ЭВМ, СССР, Сделано в СССР, Ответ на пост, Длиннопост

В симметричной троичной системе счисления проще представлять отрицательные числа — не нужно вводить специальный разряд для знака. В ней быстро выполняется округление — достаточно отбросить младшие разряды. Но в целом троичный компьютер не делает ничего такого, чего принципиально не мог бы двоичный. Это не моё заявление — дадим слово изобретателю машины, Николаю Петровичу Брусенцову:

Ясно, что троичная техника равноценна двоичной технике в том смысле, что все, осуществимое в одной из них, с тем или иным приближением осуществимо и в другой. Ясно также, что трехзначные вентили и элементы памяти должны быть сложнее и дороже, чем двузначные, а трехзначная логика заведомо сложнее двузначной.

Выделенный фрагмент очень важен, ведь в нём содержится ответ на вопрос автора исходного поста.

Не очень понятно, почему было решено отказаться от данной ЭВМ

На самом деле всё понятно. Как бы банально это ни звучало, для того, чтобы построить эффективный троичный компьютер, нужны троичные элементы. Но их не было! И об этом даже сказано в посте, только как-то мимоходом.

В своей работе данная ЭВМ использовала, внимание, двухбитный троичный код.

Дело в том, что для «Сетуни» не удалось найти тристабильные базовые элементы, поэтому каждую троичную ячейку собирали из двух двоичных. Двоичное состояние 00 соответствовало троичному «0», двоичное 01 — троичному «−1», двоичное 10 — троичному «1». Состояние 11 не использовалось. То есть уже на стадии конструирования машины мы имеем 25-процентную избыточность по аппаратуре.

Кстати, элементы «Сетуни» были выполнены не на транзисторах, а на так называемых феррит-диодных ячейках Гутенмахера — бесконтактных электромагнитных реле. Они были надёжны и просты в производстве, но не слишком поддавались миниатюризации. При этом стоит понимать, что с 1965 года, когда завершился выпуск «Сетуни», уже производился IBM/360 — первый компьютер на интегральных микросхемах. Вскоре появились и советские компьютеры третьего поколения, оставившие «Сетунь» с её дискретными элементами далеко позади.

Поскольку, как мы уже знаем, двоичный компьютер спокойно может эмулировать троичный (пусть и ценой большего количества операций), оказалось банально проще наращивать мощность двоичных машин, чем конструировать специфические и программно несовместимые с ними троичные.

Больше никогда никому так и не удалось создать аналогичный компьютер на основе троичного кода, хотя попытки создания в других странах продолжаются до сих пор.

Дело вовсе не в том, что кому-то что-то не удалось. Любая страна, способная построить двоичный компьютер, способна построить и троичный. Реальность куда скучнее — троичные машины банально оказались никому не нужны, кроме немногочисленных энтузиастов. Сегодняшнее развитие техники и доступность ресурсов спокойно позволяют подкованному радиолюбителю создать свой троичный компьютер. Можете при желании спросить у небезызвестного Артёма Кашканова, почему он не берётся за такой проект :)

Что интересно, история «Сетуни» в 1965 году не завершилась. Николай Петрович по-прежнему видел в своём детище потенциал — если не в качестве полноценной ЭВМ для научных и инженерных расчётов, то в роли учебного компьютера. Это действительно было не лишено смысла: чем проще устроена машина, чем крупнее её элементы, тем легче разобраться, как именно она действует.

И через 5 лет в МГУ заработала «Сетунь-70» — более совершенный компьютер на основе тех же идей. Быстродействие её было ненамного выше, поскольку в основе машины лежали всё те же ячейки Гутенмахера, но она имела более развитую архитектуру и оснащалась современным для тех лет набором периферийного оборудования. А что особенно ценно — она сохранилась до наших дней в комплектном виде! Вот несколько её фотографий из фондохранилища Политехнического музея:

Ответ на пост «В СССР была создана единственная в мире ЭВМ, работавшая на основе троичного кода» Технологии, Изобретения, Инновации, Техника, Компьютер, ЭВМ, СССР, Сделано в СССР, Ответ на пост, Длиннопост

Общий вид машины (блоки светло-серого цвета с дверцами). На переднем плане — магнитные барабаны

Ответ на пост «В СССР была создана единственная в мире ЭВМ, работавшая на основе троичного кода» Технологии, Изобретения, Инновации, Техника, Компьютер, ЭВМ, СССР, Сделано в СССР, Ответ на пост, Длиннопост

Фрагмент пульта управления с неизменными часами, правда, уже не авиационными

Ответ на пост «В СССР была создана единственная в мире ЭВМ, работавшая на основе троичного кода» Технологии, Изобретения, Инновации, Техника, Компьютер, ЭВМ, СССР, Сделано в СССР, Ответ на пост, Длиннопост

Устройства ввода и вывода — электрическая пишущая машинка Consul-254, выступавшая в качестве терминала, и перфоратор (служил для пробивки бумажной ленты)

Ответ на пост «В СССР была создана единственная в мире ЭВМ, работавшая на основе троичного кода» Технологии, Изобретения, Инновации, Техника, Компьютер, ЭВМ, СССР, Сделано в СССР, Ответ на пост, Длиннопост

Устройство ввода с перфоленты Readmom 300

Машина более 30 лет проработала на факультете ВМиК МГУ и уже в 2000-х была передана самим Николаем Брусенцовым в Политехнический музей, когда моральное и физическое устаревание компьютера сделало его дальнейшую эксплуатацию нецелесообразной.

Какими же будут выводы? «Сетунь» — несомненно, оригинальная и интересная отечественная разработка. Она показывает, что привычные нам стандарты вроде двоичной системы счисления и восьмибитного байта — вовсе не аксиомы, и заставляет задуматься, как и почему они возникли. Наконец, она стала прекрасной «учебной партой» для тысяч советских программистов и инженеров-системотехников.

Но нет никакого смысла подгонять её под набивший оскомину штамп «не имеет аналогов в мире!» и рассказывать небылицы о её возможностях. Потому что это создаёт очень шаткую основу для гордости, которую легко выбить из-под ног указанием на элементарные несоответствия действительности.

А за подлинными фактами из истории отечественной вычислительной техники (и не только!) приходите в Политехнический музей. Наша «Открытая коллекция» работает каждую неделю. Вы можете записаться, например, на экскурсию по выставке «Компьютеры от М до А» и попросить экскурсовода заодно показать вам «Сетунь». Думаю, вам с радостью пойдут навстречу. А у меня пока всё — спасибо, что уделили время!