17,4K подписчиков

Почему прекратили производство единственного в мире троичного компьютера «Сетунь»?

54K прочитали

Со школьных уроков информатики мы знаем, что компьютеры работают в двоичном коде из нулей и единиц. Но 60 лет назад в нашей стране выпускались компьютеры, способные давать на любой вопрос не два, а три варианта ответа! Почему эти машины не получили большого распространения, отвечает руководитель отдела междисциплинарных проектов Политехнического музея Алексей Бутырин.

Экспериментальный образец ЭВМ «Сетунь», 1959 год
Экспериментальный образец ЭВМ «Сетунь», 1959 год

В СССР в 1959 году создали уникальный троичный компьютер «Сетунь». История его появления характерна для того времени. В конце 1950-х за немногочисленными ЭВМ выстраивалась очередь из представителей вузов, НИИ и конструкторских бюро. Нуждался в вычислительной машине и МГУ. В главном здании университета на Воробьёвых горах должна была появиться разработанная в лаборатории Исаака Брука М-2, но из-за ряда накладок этого не произошло.

Академик Сергей Соболев, руководивший кафедрой вычислительной математики механико-математического факультета МГУ, решил, что сотрудникам и студентам вуза по силам создать ЭВМ самостоятельно. Коллектив разработчиков из 20 человек возглавил молодой радиотехник и математик Николай Брусенцов.

Коллектив проблемной лаборатории ЭВМ НИВЦ МГУ. В первом ряду в центре — Николай Брусенцов
Коллектив проблемной лаборатории ЭВМ НИВЦ МГУ. В первом ряду в центре — Николай Брусенцов

Именно Брусенцову принадлежит смелая идея сделать машину троичной. 1950-е годы ещё были временем активных поисков в области вычислительной техники. Бок о бок работали аналоговые и цифровые вычислительные машины, а цифровые не были похожи одна на другую. Так что выбор в пользу непривычной системы счисления был вполне в духе того времени.

Конечно, для этого имелись и объективные причины. Из целочисленных систем счисления троичная является самой экономной. Что это значит? Представьте, что у вас есть ограниченное количество карточек, на которых вы можете написать разные цифры. В случае троичной системы вы сможете с помощью одного и того же набора карточек представить больше всего чисел. Так что вместо бита — мельчайшей единицы информации в двоичном компьютере — рациональнее использовать трит.

Как же выглядит счёт в троичной системе? Сначала идёт 0, затем 1, а потом… 2? Можно было бы сделать и так, но создатели «Сетуни» поступили по-другому. Для своей машины они выбрали симметричную троичную систему счисления. В ней использовались не 0, 1 и 2, а –1, 0 и 1. Наличие 1 в тех или иных разрядах увеличивало общую величину числа, а наличие –1 — уменьшало. Представьте себе весы, где вы можете ставить гирьки на обе чаши — как добавляя к итоговым показаниям, так и отнимая от них.

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

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

Со школьных уроков информатики мы знаем, что компьютеры работают в двоичном коде из нулей и единиц.-3

Но не стоит думать, будто троичный компьютер может делать что-то такое, чего принципиально не мог бы двоичный.

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

С другой стороны, Брусенцов считал, что:

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

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

С 1960 по 1965 год Казанский завод математических машин выпустил 47 экземпляров «Сетуни». Больше никто в мире серийно троичные компьютеры не строил. Во-первых, «Сетунь» сильно отличалась от других ЭВМ своего времени — а ведь в те годы как раз наметился курс на унификацию компьютеров и возможность свободного переноса программ между ними.

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

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

И третья причина — хотя не факт, что последняя по значимости, — административная. «Сетунь» по сути была инициативной разработкой, за которой не стоял крупный научный институт или завод. Некому оказалось «продавливать» решения о дальнейшей разработке подобных компьютеров.

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

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

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

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

У вас есть вопрос, связанный с устройством мира или человека, с историей науки и техники? Задайте его в комментариях или пришлите на почту question@polytech.one