Коллектив Авторов - Цифровой журнал «Компьютерра» № 101
- То есть в машины тогда сразу ставили запасные элементы на случай неисправности?
- Да, поскольку часть элементов была бракованная, то один из них мог сработать, а второй — нет. Так вот, через какое-то время из-за ссоры в верхах университету отказались продавать машину. Сказали: «Разбирайтесь сами, покупайте в другом месте». В итоге в МГУ её решили разработать собственными силами.
У Николая Петровича уже было представление о том, как это делается и что должно получиться. Он обратил внимание на бесполезное удвоение элементов и попробовал реализовать троичные элементы. В результате количество элементов сократилось в семь раз по сравнению с тем, что он видел в КБ. При поддержке академика Соболева решили попробовать реализовать многозначную, полностью троичную машину — «Сетунь».
Конструкторские работы продолжались до 1957 года, и в 1958-59 годах «Сетунь» была запущена. Машина получилась, во-первых, на удивление небольшой, во-вторых, дешёвой, что потом сыграло с ней злую шутку. К тому же она заметно отличалась от всех остальных ЭВМ того времени, поскольку была троичной. Тем не менее, когда опытный образец показали на ВДНХ, он получил приз. Пошли разговоры о серийном производстве. В 1960-61 году на Казанском заводе вычислительных машин начали собирать «Сетунь».
- Тогда и появились те самые пятьдесят экземпляров?
- Да. Их строили очень долго, не больше десяти штук в год. В основном «Сетунь» расходилась по небольшим инженерным КБ, бюро и университетам. Насколько мне известно, одна из них стояла в академии Жуковского в Москве: с её помощью учили программированию и вели расчёты.
- И писали для этого собственный софт?
- Да. В то время это было нормально. Каждый получал машину практически безо всего и самостоятельно решал свои задачи.
- Как примерно выглядел этот агрегат?
- Он был относительно невелик — занимал площадь небольшой комнаты. Четыре небольших шкафа и две стойки: на одной пульт с индикаторами, а на другой — электрическая пишущая машинка, с помощью которой происходил набор данных. Фактически что-то вроде терминала: вводишь текст, и на бумаге остается всё, что набрал.
- Возможно ли описать производительность «Сетуни» в современных терминах?
- В современных получается совсем уж скромно — порядка двадцати тысяч операций в секунду. В своё время она попадала в класс малых машин, не особо требовательных к скорости вычислений.
После запуска «Сетуни» в производство проводились семинары по программированию, которые послужили, наверное, отправной точкой для большинства других семинаров по вычислительной технике — как московских, так и новосибирских. Результатом этих семинаров стал ежегодник, в котором публиковались программы — включая исходный код и подробное описание принципов работы, проблем и задач, которые эта программа решала.
- Какие же преимущества давала троичная логика?
- Двоичная логика по своей сути представляет собой сильно урезанную формальную логику. Из-за своих ограничений она не позволяет произвести некоторые действия. Либо позволяет, но неэкономно, и придётся прилагать значительно больше сил. Впрочем, в первой «Сетуни» самой по себе троичной логики практически не было, а применялось в основном троичное представление данных. Логических же операций как таковых в системе команд, по-моему, не имелось вовсе.
- То есть это была исключительно счётная машина?
- Да, она создавалась именно для выполнения расчётов. А вот в первом варианте «Сетуни-70» уже были некоторые средства для выполнения логических операций.
- «Сетунь-70» начала разрабатываться сразу, как только первая «Сетунь» была закончена?
- Нет. В 1965 году был расцвет первой «Сетуни», когда она производилась, продавалась, поставлялась в университеты и КБ. Ближе к семидесятому году, к столетнему юбилею Ленина, всем институтам предлагали показать свои достижения. Коллектив Николая Петровича решил сделать следующую модель «Сетуни», тоже троичную. ЭВМ назвали «Сетунь-70». Работу начали в 1968 году. Сначала был сделан один вариант и нормально запущен, но потом пришла мысль чуть-чуть поменять архитектуру и лучше приспособить её для стекового программирования, которое сейчас больше известно как структурное. Идею структурного программирования предложил Дейкстра, и «Сетунь-70» прекрасно подошла для такого подхода.
- И после этого появился единственный опытный экземпляр?
- Да. Его построили и испытали, но в серию эти компьютеры не пошли, потому что к тому времени сложилась нехорошая ситуация вокруг первой «Сетуни». Как уже было сказано, машина получилась очень дешёвой, поэтому её просто невыгодно было производить. Да и производительность к тому времени уже была не того уровня, который требовался. К тому же тогда началось распространение полностью полупроводниковых машин, на фоне которых ферритовые катушки «Сетуни» смотрелись совсем несерьёзно.
- Были ли другие исследования, связанные с троичной логикой?
- В семидесятых годах, если не ошибаюсь, в Штатах была сделана попытка построить на большой двоичной ЭВМ эмулируемую троичную ЭВМ для того, чтобы оценить эффективность. По результатам работы опубликовали три документа: два из них можно найти в Сети, а третий неуловим — название книги есть, но найти её нереально. Известно, что выводы были положительными, но всё уперлось в то, что как раз тогда происходил переход на полупроводниковую элементную базу. Реализовать на транзисторах троичную логику гораздо сложнее. В принципе, это и мешает появлению троичных систем. Сейчас они если и существуют, то не распространены.
- Выходит, виноваты транзисторы?
- Да. При реализации троичной логики на транзисторах требуется больше элементов, и на первый взгляд кажется, что это не так эффективно. Но здесь вот какая особенность: чем больше троичных элементов добавляешь, тем меньше соединений требуется. К тому же в определённый момент количество элементов начинает расти нелинейно. Когда число элементов переваливает некоторый порог, для увеличения сложности троичного компьютера требуется всё меньше и меньше элементов. Там, где двоичному компьютеру приходится удваивать количество элементов, троичному достаточно увеличить количество элементов только в полтора раза, потом в 1,3 раза и так далее.
- Существуют ли троичные машины, сопоставимые с «Сетунью-70»?
- Насколько мне известно, нет. Алгоритмов же написано много. Есть множество патентов как на электронику, так и на алгоритмы, которые упоминают и применяют в той или иной степени как классическое троичное представление данных (то есть смещённое от нуля — «один» и «два»), так и уравновешенное — «минус один», «ноль», «плюс один». Но я не слышал, чтобы кто-то пытался их серьёзно применять на практике. Известно, что студенческие коллективы предпринимали попытки построить подобный компьютер в Штатах, во Франции и в Новой Зеландии. В Испании построили троичный процессор с небольшим количеством памяти, но сейчас о нём уже ничего не узнать, кроме названия. Это сделали лет восемь назад, были публикации, но потом всё это пропало.
Троичных вычислительных машин, по-моему, никто не делает, полнофункциональных процессоров — тоже. При этом в области обработки цифровых сигналов широко применяются знакоразрядные системы исчисления, которые фактически эмулируют уравновешенное троичное представление на двоичных процессорах. То есть берутся два бита, один из них означает знак, а четвёртое состояние соответственно либо не используется, либо используется в отладочных целях.
- Зато у вас есть два эмулятора «Сетуни».
- Один есть и доступен уже года три. Он эмулирует первую «Сетунь», ту, которую разработали в 1959 году. Эмулятор интересно устроен — в виде веб-приложения: на страничку заходишь, там перед тобой фактически один в один модель панели той самой «Сетуни». Эмулятор называется «Сетунь ВС». Можно двигать переключатели и всякие ползунки, запускать машину на счёт, переключать режимы. Но для освоения придётся прочесть книжку (которая есть в интернете, кстати) «Малая цифровая вычислительная машина Сетунь».
Второй эмулятор — это уже попытка эмулировать «Сетунь-70». Пока он не подходит для посторонних: тот, кто знает, что делает, может собрать и запустить его, а все остальные, скорее всего, не разберутся. С помощью этого симулятора мы надеемся рано или поздно получить возможность запускать программы для «Сетуни-70», которые сохранились в распечатках, на перфолентах и в других источниках.