В 1959 году завершилась разработка в стенах МГУ уникальной троичной ЭВМ «Сетунь»
Всем известно, что в компьютерах для вычислений и представления информации используется двоичная система, в соответствии с которой единица данных, байт, представляет собой последовательность нулей и единиц. Но многие ли знают о том, что в Советском Союзе была создана и несколько лет успешно работала троичная машина. Речь идет об ЭВМ «Сетунь», разработка которой завершилась в 1959 году в стенах МГУ. Ее главный конструктор — Николай Петрович Брусенцов.
Опытный образец ЭВМ «Сетунь и ее создатель Николай Петрович Брусенцов, 1959 год |
Брусенцов начал работу в Московском университете в 1953 году, сразу после окончания МЭИ. Вначале занимался разовыми работами в только что созданном СКБ при МГУ. Благодаря знакомству с сотрудником Брука, Николай Петрович смог увидеть работающую машину М-2, недавно законченную в этой лаборатории. Это предопределило его дальнейшую научную судьбу.
Возглавлявший в те годы кафедру вычислительной математики мехмата МГУ Сергей Львович Соболев намеревался заполучить М-2 в университет. Но по стечению обстоятельств машина в МГУ не попала. Соболев же загорелся идеей разработки малой ЭВМ специально для использования в учебных заведениях. Для этого при только еще организующемся ВЦ МГУ открывается специальная проблемная лаборатория, а при ней — семинар, где первые университетские программисты — Шура-Бура, Семендяев, Жоголев и, конечно, сам Соболев — искали пути к созданию малогабаритной, надежной, простой в использовании и недорогой машины. Брусенцов, который также по инициативе Соболева был переведен на мехмат, включился в работу семинара.
Один из основных обсуждавшихся вопросов — на какой элементой базе строить машину. Ламповые машины уже тогда казались чересчур громоздкими и энергоемкими, их эксплуатация и обслуживание требовали значительных усилий. Полупроводниковые транзисторы только начинали появляться и были слишком ненадежны. Остановились на магнитных элементах. 23 апреля 1956 года состоялось заседание семинара, участники которого приняли окончательное решение о разработке малой ЭВМ на магнитных логических элементах (пока речь идет о машине с двоичным представлением данных), сформулированы технические требования и назначен руководитель разработки — Брусенцов. Он же и единственный исполнитель.
К этому времени уже существовала машина, полностью выполненная на магнитных элементах, — в ИТМиВТ, в лаборатории Гутенмахера. За несколько лет до того именно Гутенмахер должен был стать основным разработчиком ЭВМ в СКБ-245, причем планировалось делать машину на разработанных им феррит-диодных элементах. Однако с приходом в СКБ Рамеева работа была переориентирована на электронные лампы, и в результате появилась ЭВМ «Стрела», о которой мы уже рассказывали. Гутенмахер же закончил свою машину в ИТМиВТ, где она и работала. Машина была низкой производительности, с большим количеством недостатков, особенно в отношении электротехники. Поскольку новую университетскую ЭВМ решено было строить на магнитных элементах, Брусенцова по протекции Соболева допустили в окутанную атмосферой большой секретности лабораторию Гутенмахера на стажировку.
Размышления о том, как устранить многочисленные проблемы этой машины, неожиданно привели его к мысли об использовании троичной системы счисления. Вот что пишет он сам: «Оказалось, что эти элементы не только весьма удобны для построения троичных цифровых устройств. Троичные устройства получаются существенно более экономными в отношении количества оборудования и потребляемой мощности, более быстрыми и структурно более простыми, чем двоичные устройства, реализованные на тех же элементах».
Соболев поддержал замысел Брусенцова — создать троичную ЭВМ. Штат лаборатории увеличился до 20 человек, которые собственными руками изготовили опытный образец машины (он эксплуатировался в МГУ 15 лет). Наладка была выполнена очень быстро — за десять дней. Назвать новую ЭВМ решили по имени речки, протекавшей недалеко от университета — «Сетунь».
Наверно, такая необычная машина могла родиться только в университетских стенах. В троичной цифровой технике используются трехзначные сигналы и трехстабильные элементы памяти (трит). Аналог байта — трайт (шестерка тритов). Очевидно, что по сравнению с двоичной машиной в троичной элементы усложняются, но зато удается упростить создаваемые из них структуры и увеличить скорость обработки данных. Своей простотой и практичностью «Сетунь» обязана представлению чисел и команд в симметричном коде — (-1,0,1). По существу, у университетских разработчиков получился первый RISC-компьютер: длина машинного слова — 9 тритов, всего 24 команды, при этом удавалось с большой эффективностью реализовать разнообразные алгоритмы. На «Сетуни» решались задачи: математического моделирования в физике и химии, оптимизации управления производством, краткосрочных прогнозов погоды, конструкторских расчетов, компьютерного обучения, автоматизированной обработки экспериментальных данных и т. д.
Еще одной особенностью машины была страничная двухуровневая организация памяти. Магнитный барабан, позаимствованный у ЭВМ «Урал», был связан с быстрой оперативной памятью постраничным обменом. Таким образом получался своего рода кэш, который способствовал повышению производительности машины.
Брусенцов стремился опровергнуть миф о трудной постижимости, даже некой мистичности трехзначной логики, на которой основывается работа «Сетуни». Миф этот берет начало в средних веках, когда проповедовавшего идеи трехзначной логики Уильяма Оккама чуть не сожгли на костре. Себе в союзники Брусенцов берет Аристотеля и Льюиса Кэрролла, также развивавших принципы трехзначной логики. На самом деле в жизни очень многие вопросы предполагают тройственный ответ: да — нет — может быть, поэтому трехзначная логика вполне адекватна действительности, и, может быть, как форма мышления даже более удобна и привычна для людей, чем логика двузначная.
Однако, несмотря на очевидные плюсы нетрадиционной машины, зеленой улицы ей не дали. «Сетунь» выпускалась серийно в Казани, но небольшими партиями, по 15-20 машин в год без большого энтузиазма со стороны производственников. За пять лет было выпущено 50 машин, 30 из них стояли в высших учебных заведениях. «Сетунь» действительно оказалась надежной — практически без всякого сервиса она работала и в Калининграде, и в Магадане.
Брусенцов развил свои идеи в новой машине «Сетунь-70», которая была закончена в 1968 году. Убежденный в том, что «истинный RISC может быть только троичным» (хотя в те годы эта терминология еще не употреблялась), он создал машину, в которой объединил принципы эффективной архитектуры на минимальном наборе команд, трехзначную логику, троичный код и идеи структурного программирования. Но после завершения работ над «Сетунью-70» лаборатория Брусенцова была вынуждена прекратить разработки ЭВМ, фактически изгнана из МГУ. Тем не менее на новой машине удалось сделать систему «Наставник», которая использовалась в процессе обучения студентов с помощью компьютера.