"Сетунь"

История компьютера на основе троичной логики

Популярная тема околокомпьютерных (и не только) анекдотов - некая троичная женская логика, построенная по принципу "да - нет - может быть". И мало кто из рассказчиков таких анекдотов знает, что троичная логика реально существует и применяется в прикладной математике. Более того, существовал и весьма эффективный по тем временам компьютер, основанный на троичной логике. Создан он был в Советском Союзе в те годы, когда компьютеры именовались электронно-вычислительными машинами, а информатика - кибернетикой.

В конце 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", имевшую ряд конструктивных новаций. В настоящее время - заведующий лаборатории ЭВМ на Факультете вычислительной математики и кибернетики МГУ.

Версия для печатиВерсия для печати

Номер: 

14 за 2009 год

Рубрика: 

Вчера
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

Аватар пользователя Беларус
Николай Петрович Брусенцов развил очень важное направление. Троичная логика фундаментально предусматривает компромиссные решения.

А первую систему многозначной логики — трехзначную логику разработал Лукасевич. В качестве третьего логического значения было введено значение, выражаемое словами «вероятно», «нейтрально». О каждом высказывании в системе Лукасевича можно сказать: оно либо истинно, либо ложно, либо нейтрально.

Аватар пользователя Savely
Хм,почему-то банально не сказана ключевая фраза, которая должна быть сказана при упоминании "троичная логика"...
Аватар пользователя Николай Шевченко
10 марта 2009 года нами получен патент на «многофункциональный модуль» (http://www.bio-net.by.ru/public/pat_doc_2348976.pdf)

- элемент многопороговой (многозначной) логики. Прототипом был элемент, предложенный Ю.Л. Иваськив из НИИ кибернетики им. Глушкова (Украина). В отличие от прототипа, реализованного на цифровых элементах двоичной логики, наш логический элемент является аналоговым. Это распределенная система ИФАПЧ (импульсной фазовой автоподстройки частоты) нескольких (2 и более) импульсных автогенераторов. Такая система реализует многопороговую функцию «отображение окружности», центральная часть которого (исключая конечные пороги 0 и 1) представляет собой функцию - непрерывный аналог троичного Канторового множества – «распределение меры». Таким образом, можно утверждать, что наш элемент многозначной логики в основе своей является троичным.

Такой двухвходовой элемент может принимать 42 значения (порогов синхронизации), троичный -73. Максимальное число порогов достигается при реализации именно 3х входового элемента. Здесь число входов равно числу автогенераторов в ансамбле взаимно синхронизирующихся автогенераторов. При этом результат логической обработки – выход элемента – является спектр электромагнитного излучения ансамбля. Детально особенности функционирования приведены в описании патента. Так что, в нашем изобретении идеи Николая Петровича получают дальнейшее диалектическое развитие!

Аватар пользователя Беларус
Да, в общем мне тут хотя бы успеть с троичной логикой нормально разобраться. IMHO, важно проводить глубокие фундаментальные исследования. Булевая алгебра - это как бы стандарт, а про троичную - источников немного (только отечественные статьи Брусенцова).

Ещё как-то занимался исследованием комплексных чисел и логических правил вычисления знаков операций. Очень интересные выводы получаются.

Аватар пользователя mike
Троичная система счисления, в которой работала "Сетунь", и троичная логика (не в смысле тристабильности элементов, на которых была построена эта машина) -- не одно и то же, и вообще это различные понятия, что автору следовало бы знать, т.к. по его логике выходит, что десятичная система счисления основана на десятичной логике. :)
Аватар пользователя Беларус
Кстати, вот ещё интересные отрывки из статьи Николая Петровича Брусенцова по этой теме.

Источник: http://www.computer-museum.ru/histussr/12-1.htm

"Троичное ветвление по знаку величины Х описано заданием единственной трехзначной операции sign(Х) и выполняется за один шаг, в то время как такое же ветвление, осуществляемое средствами двузначной логики, связано с необходимостью двух операций и выполняется, вообще говоря, за два шага. Нетрудно построить аналогичную схему ветвления в зависимости от отношений, которыми могут быть связаны две величины: Х>У, Х=У, X<Y.

В жизни трехзначные отношения, укладывающиеся в данную схему, встречаются очень часто. Например:

увеличить - не изменять - уменьшить,

вперед - стой - назад,

избыток - норма - недостаток,

выигрывает А - ничья - выигрывает В,

дружественный - нейтральный - враждебный,

и т. п."

"Современная цифровая техника основана на двузначных сигналах и двухстабильных элементах памяти - это двоичная цифровая техника. Объекты, принимающие более чем два значения, реализуются в ней как совокупности двузначных элементов (битов). Например, десятичные цифры представляются четверками битов, символы алфавита, включаюшего буквы, цифры и некоторые другие знаки, - восьмерками битов (байтами).

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

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

Троичная цифровая техника базируется на трехзначных сигналах и трехстабильных элементах памяти (тритах). Объекты, принимающие более чем три значения, реализуются в ней как совокупности тритов. Операции над этими объектами осуществляются как последовательности операций трехзначной (троичной) логики. Аналогом байта служит шестерка тритов - трайт. Двузначные объекты и операции над ними содержатся в троичной технике как вырождения тритов и операций трехзначной (троичной) логики."

"Одним из барьеров, сдерживающих развитие и распространение троичной техники, является неверное представление о необычности и трудной постижимости трехзначной логики. Современная формальная логика (как традиционная, так и математическая) основана на принципе двузначности."

Аватар пользователя mike
Беларус, Бруснецов, потрясённый тем, что его труды отвергнуты, зафилософствовался. Всё проще. Вот правила 3-значной логики.

Сложение. ИСТИНА, если хотя бы одно из слагаемых ИСТИНА. НЕОПРЕДЕЛЁННОСТЬ, если среди ЛЖИ есть хотя бы одна НЕОПРЕДЕЛЁННОСТЬ. ЛОЖЬ, если все слагаемые ЛОЖЬ.

Умножение. ЛОЖЬ, если среди сомножителей хотя бы одна ЛОЖЬ. ИСТИНА, если все сомножители ИСТИНА. НЕОПРЕДЕЛЁННОСТЬ, если среди ИСТИН есть хотя бы одна НЕОПРЕДЕЛЁННОСТЬ.

Отрицание. Отрицание ИСТИНЫ есть ЛОЖЬ и наоборот. Отрицание НЕОПРЕДЕЛЁННОСТИ суть она же. Правило дe-Моргана применимо и к 3-х-значной логике. Всё остальное типа "импликации" и т.д. вытекают из этих правил. Кстати, мало кто задумывается, что именно благодаря 3-значной логике работают шины (т.н. "басы") во всех современных компах. :)

Аватар пользователя Фидошник
Майк, мнится мне, ты сам себе противоречишь...
Аватар пользователя mike
>мнится мне, ты сам себе противоречишь...

Да? Возможно, я пьющий. Устрани неопределённость, плз.

В жизни мы руководствуемся многозначной логикой, сами того не подозревая, в частности, 3-значной и редко 2-значной. Любопытно, что умножение интерпретируется последовательным движением к цели, а сложение параллельным. Умножение: некто обязательно достигнет цели, если его путь состоит из истин, обязательно не достигнет её, если его пути точно есть непреодолимые препятствия, и неизвестно, достигнет ли он её, если на его пути, кроме истин, есть неизвестные препятствия.

Путь на Голгофу...

Аватар пользователя mike
Пример 4-х-значной логики: да, нет, никогда, возможно. Правило де-Моргана, кстати, выполняется!

А вот задачка с многозначной логикой. Итак, продаются компы.

1.С WiFi - десктопы или с компортом.

2.Без компорта - или буки, или без USB.

3.Компы с WiFi плюс десктопы имеют USB.

4.Все буки снабжены или WiFi, или USB.

5.Среди компов с USB нет десктопов с компортом, но без WiFi.

Спрашивается: комп c WiFi имеет или нет ещё и USB?

:)

Страницы