История компьютера на основе троичной логики
Популярная тема околокомпьютерных (и не только) анекдотов - некая троичная женская логика, построенная по принципу "да - нет - может быть". И мало кто из рассказчиков таких анекдотов знает, что троичная логика реально существует и применяется в прикладной математике. Более того, существовал и весьма эффективный по тем временам компьютер, основанный на троичной логике. Создан он был в Советском Союзе в те годы, когда компьютеры именовались электронно-вычислительными машинами, а информатика - кибернетикой.
В конце 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 тысяч советских рублей со всей периферией.
Виктор ДЕМИДОВ
Справка "КВ"
"Сетунь" - малая ЭВМ на основе троичной логики, разработанная в вычислительном центре Московского государственного университета в 1959. Руководитель проекта - Николай Петрович Брусенцов, основные разработчики: Е.А. Жоголев, В.В. Веригин, С.П. Маслов, А.М. Тишулина. ЭВМ названа по имени протекавшей рядом с МГУ речки.
Окончание разработки: 1959 год, начало выпуска: 1961 год, прекращение выпуска: 1965 год. Всего выпущено 50 машин (30 из них использовались в университетах СССР). Заводская цена: 27,5 тыс. рублей.
Завод-изготовитель: Казанский завод математических машин Минрадиопрома СССР. Изготовитель логических элементов - Астраханский завод электронной аппаратуры и электронных приборов. Изготовитель магнитных барабанов - Пензенский завод ЭВМ. Изготовитель печатающего устройства - Московский завод пишущих машин.
Характеристики:
- 27 команд (3 зарезервированы)
- Оперативная память - 162 9-тритных ячейки
- Основная память - магнитный барабан ёмкостью 36 либо 72 страницы (страница - 54 ячейки).
- Средняя оперативная скорость машины - 2000-4500 операций в секунду
- Тактовая частота - 200 кГц
- Потребляемая мощность - 2,5 кВА
- Площадь для размещения - 25-30 кв.м.
- Рабочий диапазон температур - 15-30°С
Брусенцов Николай
Петрович родился в 1925 году в
Украине, в городе Днепродзержинск.
В феврале 1943 года призван в армию,
направлен на курсы радистов. Через
полгода направлен радистом в
артиллерийский полк, в отделение
разведки. Награждён медалью "За
Отвагу" и Орденом Красной звезды.
После войны вернулся в
Днепродзержинск, работал на заводе.
В 1948 году поступил на
радиотехнический факультет
Московского энергетического
института.
На последнем курсе МЭИ составил таблицы дифракции на эллиптическом цилиндре, сегодня известные как таблицы Брусенцова. После окончания института в 1953 году направлен на работу в СКВ МГУ. В 1956-58 годах с группой единомышленников создал в МГУ единственную в мире троичную ЭВМ "Сетунь". В 1970-м создал новую машину "Сетунь-70", имевшую ряд конструктивных новаций. В настоящее время - заведующий лаборатории ЭВМ на Факультете вычислительной математики и кибернетики МГУ.
Комментарии
Страницы
Логику открыть нельзя. Ее можно только придумать (то есть изобрести).
Число логик, которые можно придумать, ничем не ограничено.
Кавычек не видишь? Задачку лучше реши.
А вот вам 5-значная логика: <да, нет, никогда, иногда, не_знаю>. :)
А пойду-ка я отхлебну, пока жена спит... Логика!
некая система мониторинга, работающая только на одно состояние "некий факт зафиксирован" на выходе???
нет.
Страницы