"Сетунь"
История компьютера на основе троичной логики
Популярная тема околокомпьютерных (и не только) анекдотов - некая
троичная женская логика, построенная по принципу "да - нет - может быть". И
мало кто из рассказчиков таких анекдотов знает, что троичная логика реально
существует и применяется в прикладной математике. Более того, существовал и
весьма эффективный по тем временам компьютер, основанный на троичной логике.
Создан он был в Советском Союзе в те годы, когда компьютеры именовались
электронно-вычислительными машинами, а информатика - кибернетикой.В конце 1955 года в МГУ планировалось установить большую ЭВМ "Стрела".
Специально для неё в университете был создан вычислительный центр с
собственным отделом электроники, который возглавил Николай Брусенцов. Тогда же
было решено создать "с нуля" и собственную ЭВМ - более "скромную", дешёвую,
надёжную и лёгкую в производстве и в использовании. Такая ЭВМ была
востребована в учебных заведениях, НИИ, лабораториях и т.д.В то время транзисторы были ещё недоступны. Но разработчики понимали, что
время ламповых ЭВМ проходит. Машины на ламповой базе значительную часть
времени простаивали - инженеры заменяли лампы, имевшие тогда очень короткий
срок службы. Достаточно сказать, что типичная ламповая ЭВМ тех лет работала в
лучшем случае несколько часов подряд - а потом останавливалась на очередной
ремонт и переналадку.Тогда Николаю Брусенцову пришла мысль сделать ЭВМ на феррит-диодных элементах.
В то время в похожих машинах под каждый бит использовалась пара сердечников -
рабочий и компенсационный. Брусенцов догадался задействовать компенсационный
сердечник в вычислениях. Таким образом каждая ячейка становилась трёхзначной.
В итоге получилось так, что в "Сетуни" количество сердечников было в семь раз
меньшим, чем в компьютере ЛЭМ-1, но при этом "Сетунь" имела почти вдвое
большую разрядность.Тогда же создавалась архитектура машины (хотя самого понятия "архитектура ЭВМ"
ещё не существовало). В конечном итоге всё удалось свести к 24 машинным
командам, и в дальнейшем архитектура "Сетуни" не подверглась никаким
изменениям. Рабочий прототип "Сетуни" появился в 1958 году. В апреле 1960 года
прошли межведомственные испытания, на которых "Сетунь" показала 95% полезного
времени (то есть занятого решением задач, а не тестово-наладочными работами).
Для сравнения: в то время если машина показывала 60%, это считалось очень
хорошим результатом.После испытаний появилось постановление Совмина СССР об организации серийного
производства, для которого был выбран Казанский завод. ЭВМ "Сетунь" выпускали
по 10-12 штук в год, но эта цифра даже частично не покрывала поступающие на
машину заявки.При всех своих преимуществах "Сетунь" была очень простой машиной. Правда, её
программисты фактически должны были работать в пространстве трёхзначной
логики. Позднее сам Брусенцов в одном из интервью рассказывал: "Дело в том,
что "Сетунь" была естественной машиной. Там нет этого идиотского
дополнительного кода для отрицательных чисел. И положительные, и отрицательные
числа задаются естественно. Потом всего 24 команды. Освоить такую машину и
программировать в машинном коде было ничуть не сложнее, чем, скажем, осваивать
"Алгол" или "Фортран". Строго говоря, в самой "Сетуни" логическая часть была
не особенно развита. Правда, та трёхзначная логика, которая была в "Сетуни", с
избытком покрывала то, что было в двоичных машинах. Но аристотелевских
суждений там, конечно, не было. Мы в то время собственно логикой не
занимались. Я уже после создания "Сетуни" стал понимать, что логику как
таковую не знаю, стал читать книги. Оказалось, что у меня были
предшественники. И у них, кстати, путь тоже не был устлан розами".В 1965 году "Сетунь" была снята с производства, а сам проект - практически
свёрнут. Однако о машине вспомнили к 100-летию со дня рождения Ленина - тогда
было принято делать "родине и партии" всякого рода "производственные подарки".
Коллектив ВЦ МГУ взял обязательство к этой дате разработать "Сетунь-70". Это,
впрочем, оказалась уже фактически другая машина. Новая ЭВМ основывалась на
стековом принципе, по аналогии с уже разрабатывавшимся тогда "Эльбрусом".
Однако "Эльбрус" имел лишь один стек - стек операндов. Его более поздний
конкурент - американский компьютер PDP-11 - также имел один стек -
процедурный. "Сетунь-70" заметно опередила своё время, так как изначально
имела два стека - команд и операндов.В техническом отношении "Сетунь-70" была намного совершеннее "Сетуни". Так,
реализация однопроводной передачи трёхзначных сигналов позволила почти вдвое
уменьшить число электрических соединений; логические элементы стали проще,
миниатюрней и при большей релейности потребляли в 2,5 раза меньше энергии.
Также были значительно улучшены параметры троичной памяти и магнитной записи
троичного кода. Дальнейшее развитие получила пороговая техника осуществления
операций трёхзначной логики. Разработанная применительно к электромагнитным
средствам, эта техника была переносима и на полупроводниковые элементы,
например, типа И2Л.Примерно тогда же появились разработки в области структурного программирования
и обнаружилось, что "Сетунь-70" лучше всех других ЭВМ подходит для реализации
этой идеи. По словам разработчиков, "программирование на "Сетунь-70" было даже
не структурированное, а структурирующее. Программы получались легко читаемыми
и осваиваемыми, легко модифицированными. Эти программы не подвергались
отладке, а делалась так называемая контрольная сборка. После того, как
программу сверху вниз написали, её проходили снизу вверх. После этого
программа оказывалась, как правило, безошибочной".Интересный момент: принято считать, что в некоторой степени американским
аналогом "Сетуни" был компьютер PDP-8, известный многим по биографии Билла
Гейтса. Но всё же сравнивать "Сетунь" и PDP-8 достаточно сложно. Процессор
PDP-8 был восьмибитный, а в "Сетуни" процессор (в пересчёте на биты) был
30-битным. PDP-8 стоила $20 тыс. без периферии, и эта цена считалась рекордно
низкой. "Сетунь" стоила 27,5 тысяч советских рублей со всей периферией.
ссылки:
https://www.kv.by/index2009141801.htm