Компьютеры на троичной логике.

Все началось в 1954 году, с кафедры вычислительной математики механико-математического факультета МГУ. Кафедре должны были передать электронно-вычислительную машину М-2, но не сложилось. А машину-то ждали, готовились ее устанавливать и налаживать, с нею связывались определенные ожидания и планы. И кто-то предложил: давайте построим свою.

Взяли – и построили, благо в то время в МГУ существовали некоторые теоретические наработки. Руководителем группы, осуществлявшей проектирование и изготовление машины, был назначен Николай Петрович Брусенцов. Задача была такая: сделать машину предельно простой и недорогой (потому что никакого специального финансирования у проекта не было). Поначалу собирались делать двоичную ЭВМ, но позже – как раз из соображений экономичности и простоты архитектуры – пришли крешению, что она будет троичной, использующей «естественный» троичный симметричный код, простейший из симметричных кодов.

К концу 1958 года был закончен первый экземпляр машины, которой дали имя «Сетунь» – по названию московской речки. «Сетунь» была относительно невелика для вычислительных машин того поколения и занимала площадь 25–30 м2. Благодаря своей изящной архитектуре она была способна выполнять 2000–4500 операций в секунду, обладала оперативной памятью в 162 девятитритных ячейки и запоминающим устройством на магнитном барабане емкостью 36–72 страницы по 54 ячейки каждая. Машинных команд было всего 27 (причем три так и остались невостребованными), благодаря чему программный код получался весьма экономным; программирование непосредственно в машинных кодах было настолько простым, что для «Сетуни» даже не разрабатывали свой ассемблер. Данные вводили в машину с перфоленты, результаты выводились на телетайп (причем, что любопытно, отрицательные цифры печатались как обычные, но перевернутые кверху ногами). При эксплуатации машина показывала 95–98% полезного времени (расходуемого на решение задач, а не на поиск неисправностей и устранение неполадок), а в те времена очень хорошим результатом считалось, если машина могла дать хотя бы 60%.

На межведомственных испытаниях 1960 года машину признали пригодной для массового использования в КБ, лабораториях и вузах, последовало распоряжение о серийном выпуске «Сетуни» на Казанском заводе математических машин. С 1961 по 1965 год было построено 50 экземпляров, которые работали по всей стране. Затем производство свернули. Почему перестали выпускать «Сетунь», если она успешно использовалась всюду от Калининграда до Якутска? Одна из возможных причин в том, что компьютер оказался слишком дешевым в производстве и потому невыгодным для завода. Другая причина– косность бюрократических структур, противодействие ощущалось на каждом из этапов.



Впоследствии Николай Брусенцов и Евгений Жоголев разработали более современную версию машины, использовавшую те же принципы троичности, – «Сетунь-70», но она так и не пошла в серийное производство, единственный опытный образец работал в МГУ до 1987 года.

...

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

Одно из таких исследовательских направлений – поиск альтернативных способов увеличения производительности процессоров. Каждые 18 месяцев число транзисторов в кристалле процессора увеличивается примерно вдвое – эта тенденция известна как «закон Мура», и вечно продолжаться она не может: масштабы элементов и связей можно измерить в нанометрах, и очень скоро разработчики столкнутся с целым рядом технических сложностей. Кроме того, есть и экономические соображения – чем меньше, тем дороже разработки и производство. И с какого-то момента окажется дешевле поискать альтернативные способы делать процессоры мощнее, нежели продолжать гонку за нанометрами, – обратиться к технологиям, от которых раньше отказывались как от нерентабельных. Переход от однородных кремниевых структур к гетеропереходным проводникам, состоящим из слоев различных сред и способным генерировать несколько уровней сигнала вместо привычных «есть» и «нет», – это возможность повысить интенсивность обработки информации без увеличения количества элементов (и дальнейшего уменьшения их размеров). При этом от двухзначной логики придется перейти кмногозначным – трехзначной, четырехзначной и т.д.
Другое направление, также нацеленное на увеличение производительности, – разработки в области асинхронных процессоров. Известно, что обеспечение синхронности процессов в современных компьютерах изрядно усложняет архитектуру и расходует процессорные ресурсы – до половины всех транзисторов в чипе работает на обеспечение этой самой синхронности. Компания Theseus Logic предлагает использовать «расширенную двоичную» (фактически – троичную) логику, где помимо обычных значений «истина» и «ложь» есть отдельный сигнал «NULL», который используется для самосинхронизации процессов. В этом же направлении работают еще несколько исследовательских групп.

Есть и более фантастические направления, где оправдано использование трехзначной логики: оптические и квантовые компьютеры.

 

P.S. А ведь могли быть впереди, если бы не начали тырить и копировать западные образцы...