Троичный компьютер: Да, нет, может быть: Логика. "Сетунь" - единственный серийный троичный компьютер Троичная эвм сетунь

Троичный компьютер: Да, нет, может быть: Логика. "Сетунь" - единственный серийный троичный компьютер Троичная эвм сетунь

10.09.2021

Информация, которой оперирует компьютер, так или иначе раскладывается на единицы и нули — графика, музыка, тексты, алгоритмы программ. Все просто и понятно: «включено» — «выключено», «есть сигнал» — «нет сигнала». Либо« истина», либо« ложь» — двоичная логика. А между тем еще в 1961-м, в год первого полета человека в космос, в Советском Союзе наладили производство необычных вычислительных машин, оперировавших не двоичной, а троичной логикой

«Лишняя» переменная Недвухзначность логики восходит к основоположнику первой законченной логической теории — Аристотелю, который между утверждением и антиутверждением помещал третье «привходящее» — «может да, а может нет». В последующем развитии логика была упрощена за счет отказа от этого третьего состояния и в таком виде оказалась необычайно живучей, несмотря на свое несоответствие нечеткой, не всегда раскладывающейся на «да» и «нет» действительности. В разные века «расширить» логику пытались Оккам, Лейбниц, Гегель, Кэрролл и некоторые другие мыслители, в конечном же виде трехзначную логику разработал в начале XX века польский ученый Ян Лукасевич.


«Сетунь» Несмотря на то что впоследствии команда Брусенцова разработала вторую модель «Сетунь-70», а в США в 1970-х годах шла работа над аналогичной ЭВМ Ternac, «Сетунь» осталась единственным в истории троичным компьютером, производившимся серийно.

В принципе, у троичной системы счисления было не меньше шансов, чем у двоичной. Кто знает, по какому пути развития пошел бы технический прогресс, если бы «трайты» одержали победу над «байтами». Как выглядели бы современные смартфоны или GPS-навигаторы, как отразилось бы значение «может быть» на их быстродействии? Сложно сказать. Мы проанализируем этот вопрос, а вам предоставим возможность сделать выводы самостоятельно.

Машина Фоулера

Справедливости ради сразу следует заметить: первую вычислительную машину с троичной системой счисления задолго до советских конструкторов построил английский изобретатель-самоучка Томас Фоулер в далеком 1840 году. Его машина была механической и полностью деревянной.

Томас Фоулер работал банковским служащим и по роду деятельности был вынужден производить сложные вычисления. Чтобы облегчить и ускорить свою работу, он сделал таблицы для счета степенями двойки и тройки, а позже опубликовал эти таблицы в виде брошюры.

Затем он пошел дальше, решив полностью автоматизировать расчеты по таблицам, и построил счетную машину. Английская патентная система того времени была несовершенна, предыдущее изобретение Фоулера (термосифон для систем парового отопления) было скопировано с минимальными изменениями и запатентовано множеством недобросовестных «изобретателей», поэтому, опасаясь, что его идею снова могут украсть, он решил изготовить машину в единственном экземпляре и — из дерева. Так как дерево — материал ненадежный, для обеспечения достаточной точности вычислений Фоулеру пришлось сделать машину весьма громоздкой, около 2 м в длину. Впрочем, как писал сам изобретатель в сопроводительной записке, отправляя машину в Лондонский королевский колледж, «если бы ее можно было изготовить из металла, она бы оказалась не больше пишущей машинки».

Машина Фоулера была проста, эффективна и использовала новаторский подход: вместо десятичной системы счисления оперировала «триадами», то есть степенями тройки. К сожалению, замечательное изобретение так и осталось незамеченным, оригинал машины не сохранился до наших времен, и о ее устройстве известно только из сочинения Фоулера-младшего, написавшего биографию отца.

Первые советские опыты

О практическом использовании троичной системы счисления забыли более чем на сто лет. Следующими, кто вернулся к этой идее, были инженеры с кафедры вычислительной математики механико-математического факультета МГУ.

Все началось в 1954 году: кафедре должны были передать электронно-вычислительную машину М-2, но не сложилось. А машину-то ждали, готовились ее устанавливать и налаживать, с нею связывались определенные ожидания и планы. И кто-то предложил: давайте построим свою.

Взяли — и построили, благо в то время в МГУ существовали некоторые теоретические наработки. Руководителем группы, осуществлявшей проектирование и изготовление машины, был назначен Николай Петрович Брусенцов. Задача была такая: сделать машину предельно простой и недорогой (потому что никакого специального финансирования у проекта не было). Поначалу собирались делать двоичную ЭВМ, но позже — как раз из соображений экономичности и простоты архитектуры — пришли к решению, что она будет троичной, использующей «естественный» троичный симметричный код, простейший из симметричных кодов.

К концу 1958 года был закончен первый экземпляр машины, которой дали имя «Сетунь» — по названию московской речки. «Сетунь» была относительно невелика для вычислительных машин того поколения и занимала площадь 25−30 м2. Благодаря своей изящной архитектуре она была способна выполнять 2000−4500 операций в секунду, обладала оперативной памятью в 162 девятитритных ячейки и запоминающим устройством на магнитном барабане емкостью 36−72 страницы по 54 ячейки каждая. Машинных команд было всего 27 (причем три так и остались невостребованными), благодаря чему программный код получался весьма экономным; программирование непосредственно в машинных кодах было настолько простым, что для «Сетуни» даже не разрабатывали свой ассемблер. Данные вводили в машину с перфоленты, результаты выводились на телетайп (причем, что любопытно, отрицательные цифры печатались как обычные, но перевернутые кверху ногами). При эксплуатации машина показывала 95−98% полезного времени (расходуемого на решение задач, а не на поиск неисправностей и устранение неполадок), а в те времена очень хорошим результатом считалось, если машина могла дать хотя бы 60%.

На межведомственных испытаниях 1960 года машину признали пригодной для массового использования в КБ, лабораториях и вузах, последовало распоряжение о серийном выпуске «Сетуни» на Казанском заводе математических машин. С 1961 по 1965 год было построено 50 экземпляров, которые работали по всей стране. Затем производство свернули. Почему перестали выпускать «Сетунь», если она успешно использовалась всюду от Калининграда до Якутска? Одна из возможных причин в том, что компьютер оказался слишком дешевым в производстве и потому невыгодным для завода. Другая причина- косность бюрократических структур, противодействие ощущалось на каждом из этапов.

Впоследствии Николай Брусенцов и Евгений Жоголев разработали более современную версию машины, использовавшую те же принципы троичности, — «Сетунь-70″, но она так и не пошла в серийное производство, единственный опытный образец работал в МГУ до 1987 года.

Трехзначная логика

Двухзначная математическая логика, которая повсеместно царит в мире компьютерной и прочей «интеллектуальной» техники, по мнению создателя троичного компьютера Николая Брусенцова, не соответствует здравому смыслу: «закон исключенного третьего» отрезает иные заключения, кроме «истины» и «не-истины», а между тем процесс познания реальности человеком отнюдь не сводится к дихотомии «да/нет». Поэтому, утверждает Брусенцов, чтобы стать интеллектуальным, компьютеру следует быть троичным.

Трехзначная логика отличается от двухзначной тем, что кроме значений «истина» и «ложь» существует третье, которое понимается как «не определено», «нейтрально» или «может быть». При этом сохраняется совместимость с двухзначной логикой — логические операции с «известными» значениями дают те же результаты.

Логике, оперирующей тремя значениями, естественным образом соответствует троичная система счисления — троичная симметричная, если говорить точнее, простейшая из симметричных систем. К этой системе впервые обратился Фибоначчи для решения своей «задачи о гирях».

В троичной симметричной системе используются цифры: -1, 0 и 1 (или, как их еще обозначают, -, 0 и +). Преимущества ее как симметричной системы состоят в том, что, во‑первых, не нужно как-то особо отмечать знак числа — число отрицательно, если его ведущий разряд отрицателен, и наоборот, а инвертирование (смена знака) числа производится путем инвертирования всех его разрядов; во‑вторых, округление здесь не требует каких-то специальных правил и производится простым обнулением младших разрядов.

Кроме того, из всех позиционных систем счисления троичная наиболее экономична — в ней можно записать большее количество чисел, нежели в любой другой системе, при равном количестве используемых знаков: так, например, в десятичной системе, чтобы представить числа от 0 до 999, потребуется 30 знаков (три разряда, десять возможных значений для каждого), в двоичной системе теми же тридцатью знаками можно закодировать числа в диапазоне от 0 до 32767, а в троичной — от 0 до 59048. Самой экономичной была бы система счисления с основанием, равным числу Эйлера (e = 2,718…), и 3 — наиболее близкое к нему целое.

Если в привычных нам двоичных компьютерах информация измеряется в битах и байтах, то компьютеры на троичной системе счисления оперируют новыми единицами: тритами и трайтами. Трит — это один троичный разряд; подобно тому, как бит может принимать значения 0 и 1 («ложь» и"истина»), трит может быть (+), (0) или (-) (то есть «истина», «неизвестно» или «ложь»).

Один трайт традиционно (так было на «Сетуни») равен шести тритам и может принимать 729 различных значений (байт — только 256). Впрочем, возможно, в будущем трайты станут 9- или 27-разрядными, что естественнее, так как это степени тройки.

Настоящее и будущее троичных компьютеров

После «Сетуни» было несколько экспериментальных проектов, осуществлявшихся энтузиастами (таких, например, как американские Ternac и TCA2), однако это были либо весьма несовершенные машины, далекие от двоичных аналогов, либо и вовсе программные эмуляции на двоичном «железе».

Основная причина состоит в том, что использование в компьютерах троичных элементов пока не дает никаких существенных преимуществ перед двоичными: выпуск последних налажен массово, они проще и дешевле по себестоимости. Даже будь сейчас построен троичный компьютер, недорогой и по своим характеристикам сравнимый с двоичными, он должен быть полностью совместим с ними. Уже разработчики «Сетуни-70» столкнулись с необходимостью обеспечить совместимость: чтобы обмениваться информацией с другими университетскими машинами, пришлось добавить возможность читать с перфолент двоичные данные и при выводе также конвертировать данные в двоичный формат.

Однако нельзя сказать, что троичный принцип в компьютеростроении — это безнадежный анахронизм. В последнее десятилетие возникла необходимость в поиске новых компьютерных технологий, и некоторые из этих технологий лежат в области троичности.

Одно из таких исследовательских направлений — поиск альтернативных способов увеличения производительности процессоров. Каждые 24 месяца число транзисторов в кристалле процессора увеличивается примерно вдвое — эта тенденция известна как «закон Мура», и вечно продолжаться она не может: масштабы элементов и связей можно измерить в нанометрах, и очень скоро разработчики столкнутся с целым рядом технических сложностей. Кроме того, есть и экономические соображения — чем меньше, тем дороже разработки и производство. И с какого-то момента окажется дешевле поискать альтернативные способы делать процессоры мощнее, нежели продолжать гонку за нанометрами, — обратиться к технологиям, от которых раньше отказывались как от нерентабельных. Переход от однородных кремниевых структур к гетеропереходным проводникам, состоящим из слоев различных сред и способным генерировать несколько уровней сигнала вместо привычных «есть» и «нет», — это возможность повысить интенсивность обработки информации без увеличения количества элементов (и дальнейшего уменьшения их размеров). При этом от двухзначной логики придется перейти к многозначным — трехзначной, четырехзначной и т. д.

Другое направление, также нацеленное на увеличение производительности, — разработки в области асинхронных процессоров. Известно, что обеспечение синхронности процессов в современных компьютерах изрядно усложняет архитектуру и расходует процессорные ресурсы — до половины всех транзисторов в чипе работает на обеспечение этой самой синхронности. Компания Theseus Logic предлагает использовать «расширенную двоичную» (фактически — троичную) логику, где помимо обычных значений «истина» и «ложь» есть отдельный сигнал «NULL», который используется для самосинхронизации процессов. В этом же направлении работают еще несколько исследовательских групп.

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


Tertium datur: другие компьютеры

Полвека назад на эволюционном древе вычислительной техники появилась особая ветвь - ЭВМ, в основе которых лежала логика, отличающаяся от двоичной. Их разработали в МГУ.

"Наука умеет много гитик". Это карточное высказывание как нельзя лучше подходит к истории разработки троичных компьютеров "Сетунь". Хотя бы потому, что, создавая их, разработчики смело шагнули с истоптанной веками дороги традиционной математической логики на малоизученные тропинки логики многозначной. Или потому, что советскому троичному компьютеру пришлось столкнуться со множеством препон и преодолеть их, постоянно доказывая свою жизнеспособность.

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

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


Появление ЭВМ "Сетунь"

Рассказывать историю разработки компьютера "Сетунь" легко и сложно одновременно. Легко, потому что у неё, как у большинства историй появления новых технологий, есть главный герой. Человек, который своим упорством и трудолюбием делает эти технологии возможными. Генератор идей, погрузившийся в проблему с головой.

В истории ЭВМ "Сетунь" главный герой - это Николай Петрович Брусенцов, главный конструктор троичного компьютера.

Николай Петрович Брусенцов

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

Началась история "Сетуни" в 1952 году, в специальном конструкторском бюро Московского государственного университета, куда по распределению попал выпускник МЭИ Николай Брусенцов. В теории бюро должно было совершенствовать техническое оснащение учебного процесса, на практике же оно зачастую решало совершенно другие задачи, выполняя заказы для сторонних НИИ и производств. Молодого инженера Брусенцова такое положение дел совершенно не радовало, поэтому он с энтузиазмом принял предложение заведующего кафедрой вычислительной математики механико-математического факультета МГУ академика Соболева участвовать в получении, установке и настройке вычислительной машины "М-2", разрабатываемой лабораторией электросистем его альма-матер под руководством Исаака Семёновича Брука. Сергей Львович Соболев прекрасно понимал перспективы применения цифровых ЭВМ в учебной и научной деятельности МГУ и изо всех сил способствовал появлению в университете собственного вычислительного центра.

Однокурсники Брусенцова, работавшие в лаборатории Брука, на всю жизнь "заразили" Николая Петровича цифровыми ЭВМ.

История, однако, по-своему распорядилась судьбой "М-2". Машина так и не попала в стены МГУ, несмотря на то что довольно активно использовалась его учёными. Всё потому, что в баталиях научных школ, зарождающейся тогда области вычислительной техники, академик Соболев поддержал направление высокопроизводительных компьютеров Сергея Алексеевича Лебедева, а не малых ЭВМ Брука.

Именно благодаря этому конфликту интересов Соболев принял решение о разработке в МГУ собственной малой ЭВМ, способной решать насущные вузовские проблемы.

Увлечённость Николая Брусенцова компьютерами помогла ему попасть в отдел электроники вычислительного центра МГУ, перед которым и была поставлена задача разработать новую ЭВМ. В поисках элементной базы, наиболее приемлемой по соотношению надёжности, производительности и цены, инженера Брусенцова откомандировали в лабораторию электромоделирования Льва Израильевича Гутенмахера при Институте точной механики и вычислительной техники Академии наук СССР, где в 1954 году была разработана безламповая ЭВМ "ЛЭМ-1". В качестве схемотехнической единицы "ЛЭМ-1" инженеры лаборатории Гутенмахера использовали трёхфазные феррит-диодные логические элементы - уникальную комбинацию запоминающих ячеек на базе ферритовых колец и полупроводниковых диодов. В этих логических элементах ферритовые кольца играли роль сердечников трансформатора и служили для хранения единиц и нолей - базовых компонентов двоичной логики, а диоды использовались в качестве вентилей в цепях связи между ними.

Типовым элементом "ЛЭМ-1" был феррит-диодный регистр сдвига, состоящий из трёх ферритовых колец: входного (записывающего), канального (считывающего, тактового) и выходного (связывающего регистр с последующими элементами).

Феррит-диодные логические элементы

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

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

Вот так модернизация несовершенной элементной базы "ЛЭМ-1" способствовала появлению феррит-диодного логического элемента, который мог параллельно передавать две не совпадающие по времени последовательности сигналов - основу троичного кода.

Троичная логика против двоичной

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

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

Почему именно двоичная логика стала базой современных ЭВМ? Ответ представляется очевидным. Исторически математическая логика опиралась на идею "третьего не дано", сводя процесс логических умозаключений к бинарным решениям.

Эта догма классической логики обязана рождением принципу бивалентности логических суждений, введённому яростным стоиком Хризиппом и поддерживаемому авторитетом Аристотеля. "Фундаментом диалектики служит тезис, что всякое высказывание (то, что называют "аксиомой") или истинно, или ложно", - говорил Цицерон.

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

Давайте взвесим на обычных рычажных весах два предмета А и В. Весы с лёгкостью позволят определить нам две противоположности: вес А > В и вес А < В. Но разве это всё? А как же А = В? Выходит, задача о весе А и В имеет три решения. Именно так.

Обычные рычажные весы могут отлично работать в качестве троичного логического элемента

Так же как третье решение имеет исход футбольного матча (ничья), нейтралитет Швейцарии (третья сторона) и неопределённое "может быть", полученное в ответ на конкретный вопрос.

Превратив рычажные весы в двоичный прибор, мы столкнёмся с неопределённостью A В, разрешить которую можно, только поменяв взвешиваемые А и В местами, то есть выполнив лишнюю операцию.

Установив фиксатор под одним из рычагов, весы можно превратить в бинарный логический элемент со всеми присущими ему недостатками.

Логику повседневной жизни сложно впихнуть в чёрно-белую картину бивалентности - это осознавали многие мыслители. В результате на свет появились неклассические логики, отказавшиеся от закона исключённого третьего. Один из первых вариантов многозначной логики в двадцатых годах прошлого столетия разработал польский учёный Ян Лукасевич. В его трёхзначной логике кроме полярных "да" и "нет" появилось значение "возможно". Трёхзначные логические высказывания Лукасевича допускали отсутствие непротиворечивости и назывались модальными. Помните консилиум в сказке о Буратино? "Пациент скорее жив, чем мёртв". "Скорее жив" и есть модальное логическое высказывание.

В вычислительной технике безупречность булевой алгебры начинает давать сбои при работе с отрицательными значениями. Ведь для представления отрицательного числа в бинарном виде нужно ввести дополнительный бит. То самое "третье", с помощью которого можно определить знак числа в двоичном коде. О том, что такое кодирование является нетрадиционным, говорит его даже название - дополнительный код. Получается, что для простоты реализации в ЭВМ операций для положительных и отрицательных чисел их разработчики сознательно отошли от двоичной логики в пользу того самого "исключенного третьего".

Двоичный алгоритм проверки знака переменной Х не оптимален, в то время как в троичном алгоритме проверка выполняется с помощью всего одной операции.

Ещё один недостаток двоичной логики - тот факт, что без дополнительных "костылей" в ней не реализовать основное логическое выражение - следование.

Попытка реализовать трёхзначность следования силами двузначной логики привела к тому, что это логическое выражение фактически подменили материальной импликацией. В вычислительных алгоритмах этот фокус сработал, а вот попытка реализации на компьютере вывода умозаключений провалилась. Подмена следования двузначной материальной импликацией ограничивает "интеллектуальность" ЭВМ. Человек с его способностью быстро перейти от двоичной логики к троичной, соглашаясь в нужный момент на "ничью", оказался намного гибче компьютера.

А что если логику компьютера изначально сделать троичной? Так рассуждал Николай Петрович Брусенцов, представляя осенью 1956 года на семинаре, посвящённом разработке МГУшной ЭВМ, магнитный усилитель с питанием импульсами тока - тот самый, модифицированный им феррит-диодный регистр. Его ключевой особенностью было формирование тройки значений: 1, 0 и -1 - идеальный вариант цифрового элемента, работающего с троичной логикой.

Николай Петрович Брусенцов рассказал в интервью "Компьютерре" о преимуществах троичной логики: "Люди настолько "околпачены" законом исключённого третьего, что не в состоянии понять, как всё обстоит на самом деле. На самом же деле двоичная логика совершенно не подходит даже для описания основного логического выражения - следования. При попытке описания в двоичной логике нормальной дизъюнктивной формы следования оно превращается либо в тождество, либо в пресловутую материальную импликацию.

Математик С.К. Клини и его книга "Математическая логика" в своё время оказали такое влияние на этот раздел математики, что сегодня практически ни в одном учебнике математической логики не найти отношения следования. Ссылаясь на Аристотеля, Клини заменил следование на материальную импликацию ("Два проще, а потому и полезней"). Логики, конечно, признают, что материальная импликация в постановке Клини - отношение, не имеющее смысла.

Дело в том, что все логики пытаются выразить отношение следования, используя закон исключённого третьего, а такого закона в природе нет, потому что отношение следования трёхзначное..."

"...Недостаток двоичной логики мы обнаружили, когда попытались научить компьютер делать умозаключения. Оказалось, что с использованием двузначной логики это невозможно. Люди, делая умозаключения, выходят из положения, убирая в нужный момент двоичную логику и используя отношение следования, а значит - трёхзначную логику".

Триты и трайты

Три вида сигналов, формируемые базовым элементом будущего троичного компьютера, его создатели назвали тритом. Если принять бит за меру количества информации, то информационная ёмкость трита будет равна примерно 1,5. А это значит, что при прочих равных условиях троичный компьютер обрабатывает в единицу времени больше информации, чем двоичный.

Минимальной адресуемой единицей памяти проектируемого троичного компьютера стал трайт, равный шести тритам и принимающий значения от -364 до 364. Работа с диапазоном отрицательных значений - особенность, отличающая трайт от двоичного байта, значения которого распространяются от 0 до 255.

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

Уникальная особенность троичного кода, применяемого в "Сетуни", связана с его симметричностью - распространением значений как в положительную, так и в отрицательную область. Благодаря симметричности в троичном компьютере отрицательные числа представлялись естественным путём - без хитроумных манипуляций с дополнительным кодом.

Уже одна эта особенность существенно упростила как систему команд "Сетуни", так и её архитектуру.

Блок-схема компьютера "Сетунь"

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

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

Сумматор

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

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

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

"Нам видеть её и знать не надо"

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

Однако простота и естественность работы с "Сетунью", обусловленная применением в ней троичной логики, снискала добрую славу. На варианте компьютера, установленном в вычислительном центре МГУ, решались экономические задачи, велись метеорологические расчёты, обрабатывались самые разнообразные статистические данные.

Попытка запустить массовое производство "Сетуни" не просто не увенчалась успехом, а чуть было не закончилась закрытием проекта. На тщательно сделанный и оттестированный образец "Сетуни", установленный на выставке научно-технических достижений вузов, высокое руководство не обратило никакого внимания.

Реализации первого варианта "Сетуни" (1958 год) и экземпляр, демонстрировавшийся на ВДНХ в 1961 году

Более того, проект "Сетунь" попал под закрытие в рамках наведения порядка в разнообразном парке советских ЭВМ того времени. Один из членов государственного радиотехнического комитета (ГКРЭ), всеми уважаемый директор конструкторского бюро, отмахнулся от "Сетуни" фразой: "Нам видеть её и знать не надо. Покажите бумагу с авторитетными подписями и печатями". Только благодаря вмешательству академика Соболева межведомственная комиссия ГКРЭ летом 1960 года провела тщательные недельные испытания троичного компьютера, в результате которых признала "Сетунь" "первым действующим образцом универсальной вычислительной машины на безламповых элементах, создание которой является определённым достижением в вычислительной технике". Ни больше ни меньше.

Серийное производство троичного компьютера навязали Казанскому заводу математических машин, хотя Брусенцов с командой разработчиков получал предложения от других производителей, в том числе и из-за рубежа.

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

Бригада разработчиков "Сетуни" фактически поселилась на заводе, занимаясь постоянной отладкой серийных машин.

Дружный коллектив разработчиков "Сетуни"

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

"Сетунь-70"

Идеи, заложенные в архитектуру первого троичного компьютера и реализованные в "Сетуни", оказались настолько удачными, что в 1967 году было принято решение выпустить её модифицированную версию.

Наряду с аппаратными улучшениями (увеличение объёма оперативной памяти, реализация системы прерываний, уменьшение потребляемой мощности и размеров ЭВМ), важнейшим нововведением стала реализация двухстековой архитектуры.

Выпущенный в 1970 году вариант обновлённого троичного компьютера получил название "Сетунь-70".

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

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

Академик Соболев постоянно курировал проект троичного компьютера, используя свой авторитет в случае бюрократических препон и проволочек

Подобная реализация архитектуры "Сетуни-70" была неслучайной. Применение стеков и разработка операций в нотации ПОЛИЗ предполагали внедрение в процесс разработки программ идей структурированного программирования, концепция которого была предложена Эдсгером Дейкстрой. Структурированный подход существенно экономил время на разработку и отладку сложных программ, разбивая их на ряд структурных единиц, с каждой из которых можно было работать как с независимым объектом.

Специально для реализации этой идеи разрабатывалась среда ДССП (Диалоговая система структурированного программирования) - прообраз нынешних интегрированных сред программирования.

К сожалению, как следует обкатать идеи, реализованные в "Сетуни-70", не получилось. Очередная волна бюрократических зачисток, направленная на искоренение в вузах проектов разработки собственных ЭВМ, привела к тому, что "Сетунь-70" переселилась на чердак студенческого общежития в главном корпусе МГУ.

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

Так "Сетунь-70" превратилась в электронного учителя и экзаменатора, а её ведущий системный программист Хосе Рамиль Альварес стал разработчиком программно-аппаратного комплекса "Наставник" - уникальной в своем роде обучающей среды.

Хосе Рамиль Альварес рассказывает: "После того как нашей лаборатории запретили заниматься компьютерами, профессор МВТУ имени Баумана Анисимов предложил Николаю Петровичу Брусенцову заняться применением компьютеров в обучении, чтобы, как он выразился, "никто не сказал, что мы этого не можем". Вот тогда Николай Петрович предложил мне перейти к нему для развития идей программированного обучения. До этого я занимался эмуляцией команд "Сетуни-70" на "Сетуни" для отладки макропрограмм системы ДССП.

С самого начала нашей работы Николай Петрович сказал, что "Наставник" не пойдёт в серию, как из-за дешевизны производства, так и из-за того, что система не позволяла халтурить ни ученику, ни преподавателю...

Однажды к Николаю Петровичу пришёл академик Бахвалов и сказал, что ему необходимо ехать в командировку, а у него в это время должен быть коллоквиум по численным методам. Нельзя ли для его проведения использовать "Наставник"? Мы рассказали ему идею системы, Бахвалов сделал шаблоны заданий, и коллоквиум успешно прошёл. Позже, во время пересдачи тестов, мы с Бахваловым наблюдали, как один студент сел за тот же терминал "Наставника", что и в прошлый раз, думая, что ему попадутся те же самые вопросы. Я пояснил, что вопросы выбираются случайным образом. Бахвалов спросил, какой алгоритм используется в качестве генератора случайных чисел. "Всё очень просто, - ответил я, - алгоритм подсчитывает число нажатий на клавиши терминалов во всём дисплейном классе. А это всякий раз случайное число..."

В 1974 году компьютерный класс на базе "Сетуни-70" с подключёнными к ней двадцатью семью терминалами принял первых учеников - сто пятьдесят студентов, изучающих курс численного анализа. В дальнейшем был реализован курс обучения языку Фортран.

Терминал системы "Наставник"

Руководство по эксплуатации "Наставника"

Архивы результатов тестирования студентов

Программные и аппаратные решения "Наставника", успешно проверенные на базе "Сетуни-70", позволили позже реализовать эту обучающую среду на базе ЭВМ ДВК-2М. В таком модифицированном виде "Наставник" функционирует в МГУ до сих пор.

Есть ли шанс у троичной логики?

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

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

Кроме того, разработчики микропроцессорной техники всё чаще заглядываются на многозначные логики, в частности на их троичную реализацию. Такие компании, как IBM, Motorola и Texas Instruments, ведут исследования с кремниево-германиевыми сплавами (SiGe), в рамках которых можно реализовать цифровые интегральные схемы, работающие с тремя и более уровнями сигнала.

С позиций реализации компьютер с шестнадцатиразрядной шиной обеспечивает поддержку 216 (65536) адресов памяти, в то время как троичный компьютер аналогичной разрядности поддерживает 316 - около сорока трёх миллионов адресов. Есть над чем задуматься, учитывая более простую работу троичной логики с отрицательными значениями, что также существенно упростит архитектуру микропроцессоров.

Остаётся надеяться, что души "Сетуни" и "Сетуни-70" обретут троичное бессмертие не только в программных эмуляторах, но и в будущих поколениях компьютеров, которые не будут знать, что "третьего не дано".

«Сетунь» представляет собой малую ЭВМ, построенную на принципах троичной логики, другими словами это троичный компьютер. Она была разработана в 1959 году в стенах вычислительного центра Московского государственного университета. Этот уникальный троичный компьютер, практически не имеет аналогов не только в данный момент времени, но и вообще в истории вычислительной техники.

Для начала разберёмся, что же такое троичный компьютер, коим, как уже было сказано, является рассматриваемая модель «Сетунь». Такое название получил специализированный компьютер, который построен на логических элементах и узлах двух типов – как на классических двоичных, так и уникальных в своём роде троичных. Понятно, что он использует в своей работе соответственные системы счисления, логики и алгоритмы работы – двоичные и троичные.

Из истории вычислительной техники известно, что вначале число разрядов в машинном слове определялось разными конструкторами по разному, почти произвольно. Сам байт первоначально был шестью двоичными разрядами, но шестиразрядный байт не прижился, так как был слабо связан с двоичной системой (6 слабо связано с двоичной системой). 8 разрядов являются 3-ей степенью двойки, то есть лучше связаны с двоичной системой, поэтому позже от шестиразрядного байта перешли к восьмиразрядному байту, но и эта система не совершенна из-за некратной двум 3-ей степени двойки, 4-я степень двойки лучше связана с двоичной системой счисления.

Более совершенным рядом в двоичной системе является ряд 2, 4, 16, 256, … , но из-за аппаратных трудностей сразу от 4-х разрядов к 16-ти перейти было трудно, поэтому появились 8-ми разрядные ЭВМ, как предшественники 16-ти разрядных ЭВМ. В настоящее время из-за аппаратных трудностей 32-х, 64-х и 128-ми разрядные ЭВМ являются предшественниками 256-ти разрядных ЭВМ.

Можно выделить следующие основные этапы развития троичного компьютера:
- в период с середины 12-13 веков Фибоначчи смог доказать, что троичная система счисления может быть более экономичной по сравнению с двоичной – в случае, когда при условном взвешивании можно класть гири не на одну чашу весов, а на обе;
- в 1840 году появилась первая троичная вычислительная машина, ставшая вообще одной из первых механических вычислительных машин;
- в период с 1956 по 1958 годы Н.П. Брусенцов создал первый троичный компьютер серийного производства – ту самую «Сетунь»;
- позднее, в 1970 году, Брусенцов выпустил вторую версию своего детища, получившего имя «Сетунь-70»;
- долгое время данное направление не имело практически никакого развития, однако, в 2008 году была построена трёхтритная цифровая компьютерная система TCA2, которая, в отличие от «Сетуни», работала не на ферритдиодных магнитных усилителях переменного тока, а на интегральных транзисторах. Но это уже, как говорится, совсем другая история.

Руководитель проекта - Н. П. Брусенцов, основные разработчики: Е. А. Жоголев, В. В. Веригин, С. П. Маслов, А. М. Тишулина. Разработка машины была предпринята по инициативе и осуществлялась при активном участии виднейшего советского математика С. Л. Соболева.

Казанским заводом Математических машин было произведено 50 компьютеров Сетунь, 30 из них использовались в университетах СССР.

Автор «Сетуни» на основе обычной двоичной ферритодиодной ячейки Гутенмахера разработал её уникальный троичный аналог, работа которого была построена на двухбитном троичном коде. Всё это выглядело следующим образом – один трит (так называется единица измерения в данном случае) записывается в два двоичных разряда.

Помимо трита, в троичной логике, используемой «Сетуньей», аналогично двоичной системе, в которой есть бит и байт, применяется термин «трайт», являющийся минимальной непосредственно адресуемой единицей главной памяти «Сетуни», равный шести тритам, что примерно равен девяти с половиной битов. Таким образом, получается, что трайт чуть больше привычной единицы измерения двоичной системы байта. Два трайта равны 19 битам, три трайта – почти 29 битам и т.д. Он может принимать значения в довольно широком диапазоне – от -364 до 364.

Число разрядов процессора — 9 тритов.
Тактовая частота процессора — 200 кГц.

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

Стоит отметить забавный факт – отрицательные троичные и девятеричные цифры, выводимые на «Сетуни» на печать, отображались перевёрнутыми «вверх ногами», то есть повёрнутыми на 180 градусов.

Основные преимущества, которые имеют троичные компьютеры по отношению к двоичным:
1) во-первых, троичная система обладает наибольшей плотностью записи информации среди всех существующих целочисленных систем счисления. Из данного факта следует, что при прочих равных условиях троичные компьютеры будут иметь превосходящую удельную ёмкость памяти и удельную производительность процессора по сравнению с двоичными аналогами;
2) троичные компьютеры лучше приспособлены к троичным алгоритмам, которые работают быстрее двоичных алгоритмов;
3) при этом троичные компьютеры способны делать практически всё, что делают их двоичные коллеги, поскольку двоичная логика является центральным подмножеством троичной;
4) процесс накопления ошибки округления на троичных компьютерах также идёт гораздо медленнее, поскольку округление в троичной системе происходит путём отбрасывания лишних разрядов.

Говоря о будущем таких машин, как «Сетунь» (то есть троичных компьютеров), известный американский учёный Дональд Кнут, отмечал, что они занимают очень мало место в отрасли вычислительной техники, что объясняется массовым засильем двоичных компонентов, производимых в огромных количествах. Но, поскольку троичная логика гораздо эффектнее, а главное, эффективнее двоичной, не исключено, что в недалёком будущем к ней вернутся.

На данный момент вполне реальным выглядит вариант использования троичного компьютера в сочетании с волоконной оптикой, имеющий три заданных значения: 0, соответствующий состоянию Выключено, 1 – состояние Низкий и 2 – состояние Высокий.

Вот есть такой разговор с создателем этого компьютера от автора Д.Г. Румянцева:

Дмитрий Румянцев: Так, собственно, почему троичная машина?

Николай Брусенцов: Тогда задача была очень простая: мы должны были для МГУ получить машину М-2, которую сделали в лаборатории Брука. Но получилась неувязочка. На выборах академиков Сергей Львович Соболев - наш руководитель - проголосовал не за Брука, а за Лебедева. Брук обиделся и машину не дал. Я пришел к Соболеву и спросил: чем же я теперь буду заниматься? Он мне отвечает: „А давайте свою машину сделаем”. Это было в конце 1955 года.

В то время транзисторы были еще недоступны, но было ясно, что машина не должна быть ламповой. Лампы имеют короткий срок службы, и машины на ламповой базе большую часть времени простаивали, потому что их вечно чинили. Ламповая машина работала в лучшем случае в течение нескольких часов, потом нужно было искать очередную неисправность. Юлий Израилевич Гутенмахер строил машину ЛЭМ-1 на феррит-диодных элементах. Мне пришла в голову мысль, что раз транзисторов нет, то можно попытаться делать ЭВМ на этих элементах. Соболев, которого все очень уважали, договорился, чтобы я побывал на стажировке у Гутенмахера. Я все детально изучил. Поскольку по образованию я радиоинженер, то сразу увидел: не все нужно делать так, как делают они. Главное, что я увидел: они используют пару сердечников под каждый бит - рабочий и компенсационный. И мне пришла в голову идея: а что, если заставить компенсационный сердечник работать. Тогда каждая ячейка становится трехзначной. В результате получилось, что в «Сетуни» количество сердечников было в семь раз меньше, чем в ЛЭМ-1. При этом «Сетунь» имела почти вдвое большую разрядность.

Тогда в МГУ как раз собирались получать большую машину «Стрела», создали вычислительный центр. Сергей Львович предусмотрел в нем отдел электроники - мой отдел. И мы должны были создать машину с нуля. Условия такие: машина должна быть небольшой, надежной, простой в освоении и использовании - короче, машина широкого назначения, для учебных заведений, лабораторий и т. п. Когда я выяснил, что можно воспользоваться троичной системой счисления, я сказал об этом Сергею Львовичу. Он полностью все одобрил. Уверен, что другой на его месте сказал бы: „Да ты что, все делают двоичные, а ты куда?”

Дмитрий Румянцев: Он фактически дал полный карт-бланш?

Николай Брусенцов: Да. В нашей лаборатории никогда не работало более двух десятков человек, считая девочек, которые мотали сердечники. А в начале у меня вообще было три-четыре сотрудника. Я должен сказать: для того, чтобы разрабатывать компьютеры, совершенно не нужны тысячные институты. Мы работали в компании с нашим программистским отделом, который возглавлял Е.А. Жоголев. То, что затем получило название “архитектура машины”, создавалось нами вместе. Он предлагал программистские идеи, а я думал, насколько их можно реализовать на аппаратном уровне. В конечном итоге мы создали всего 24 машинных команды. Многие до сих пор в это не верят. И в дальнейшем архитектура «Сетуни» не подверглась никаким изменениям. Все серийные машины были архитектурно точно такими же, ну, может, слегка адаптированы под производство. Начав в 1956 году, мы уже через два с половиной года, в 1958 году, сделали образец, который работал. И вот тут-то началось нечто несуразное.

Осенью 1959 года нас пригласили на Коллегию Государственного Комитета Радиоэлектроники - ГКРЭ. И там мы узнали, что наша машина не нужна. И Госплан, и ВСНХ заняли отрицательную позицию. На Коллегии нас записали в черный список закрываемых разработок. Мы никогда никаких дополнительных денег на создание машины ни копейки не получали. Мы работали только за зарплату здесь, в МГУ. Использовали оборудование, списываемое заводами при снятии изделий с производства. Тем не менее, ради экономии средств нас решили закрыть.

Дмитрий Румянцев: Но какое-то объяснение этому должно быть?

Николай Брусенцов: Соболев спросил: „А вы хотя бы видели эту машину, ведь она уже существует?” Директор СКБ-245 В.В. Александров ответил: „Нам не надо ни видеть, ни знать - должна быть авторитетная бумага с печатями и подписями”. После Коллегии Сергей Львович пошел в ЦК КПСС. Уже вечером к нам приехал сотрудник отдела ЦК Ф.К. Кочетов и привез с собой М.К. Сулима - начальника восьмого управления ГКРЭ. «Сетунь» нормально работала и производила необыкновенно хорошее впечатление. Обычно ведь как было: на выставке стоят машины, а сзади люди в белых халатах что-то там налаживают. У нас все работало как часы. Ну, понятно, после этого закрывать нас не стали, ведь машина уже сделана. Было принято решение провести ее межведомственные испытания. Испытания были проведены в апреле 1960 г. На них «Сетунь» показала 95% полезного времени. А в то время, если машина показывала 60%, это считалось очень хорошим результатом.

Дмитрий Румянцев: А что значит термин “полезное время”?

Николай Брусенцов: Вы включаете машину, прогоняете тесты, начинаете решать задачу, происходит сбой, все повторяете. И так до тех пор, пока задача не будет решена. Полезное время - это все то время, которое машина занята решением задач, а не тестово-наладочными работами.

После этих испытаний было принято постановление Совмина об организации серийного производства. Мы не очень удачно выбрали Казанский завод, лучше бы Астраханский. Астраханцы потом взялись делать элементы к этой машине и делали их превосходно. Элемент стоил 3,5 руб. Конечно, никаких высоких технологий там не было. ЭВМ «Сетунь» выпускали по 10-12 штук в год, то есть вроде бы выполняется постановление Совмина СССР, а на самом деле - нет. Притом, что было очень много заявок не только внутри страны, но и из-за рубежа. Во-первых, разумеется, из соцстран, но также и из таких стран, как США и Англия, где разработчикам было очень интересно посмотреть, что это за троичная штука.

Дмитрий Румянцев: Американский аналог «Сетуни» - это PDP-8, на которой тинэйджер Билл Гейтс составлял свои первые программы?

Николай Брусенцов: Да. Кстати, интересно сравнить «Сетунь» и PDP-8. Процессор PDP-8 - восьмибитный. У «Сетуни» процессор в пересчете на биты был 30-битным. PDP-8 стоила 20 тысяч долларов без всякой периферии, только один процессорный блок. Считалось, что это рекордно низкая цена. «Сетунь» стоила 27,5 тысяч рублей со всей периферией. Чехи считали, что могли хорошо продавать «Сетунь» в соответствии с рыночными ценами и получать порядка полумиллиона долларов прибыли с каждой машины. По их приглашению я ездил в Чехословакию, мне показали завод, который планировалось использовать для производства машины «Сетунь», - «Зброевка Яна Швермы». Этот завод, кстати, во время войны делал самые лучшие пушки для немецкой армии, вроде нашей ЗИС-3. Завод меня просто восхитил. Они уже приготовили для «Сетуни» магнитные барабаны, печатающее устройство, устройство ввода. В общем, все было готово для производства «Сетуни». И они мне задают вопрос: „Ну, когда же, наконец, мы получим документацию? Нам обещали еще в декабре, а ее до сих пор нет”. А я молиться готов был на такой завод - настоящая высокая культура производства.

Когда я вернулся в СССР, меня вызвал референт Косыгина и попросил передать чешским товарищам, как тогда говорилось, что документацию на «Сетунь» они получат сразу после освоения крупносерийного производства этой машины в Советском Союзе. Но какое к черту крупносерийное производство, когда принимались все возможные меры, чтобы заморозить «Сетунь». Понятно, что тут не обошлось без ГКРЭ. Тот же самый Сулим был заместителем главного конструктора М-20. А с М-20 в КБ провозились 2,5 года, прежде чем передать ее на завод. Для «Сетуни» никакого КБ не дали - завод указан, езжайте и выпускайте. Хорошо В.М. Глушков предложил свое КБ за символическую плату в сто тысяч рублей, чтобы выпустить конструкторскую документацию.

Дмитрий Румянцев: Сто тысяч рублей - это символическая плата?

Николай Брусенцов: Ну конечно! Те 2,5 года, которые в КБ разрабатывали М-20, обошлись в десятки миллионов рублей. Что такое КБ того времени? Это несколько сот человек с высокой оплатой по первой категории и т. д. Позднее я узнал, что чехам говорили: все равно мы эту машину снимем с производства, так что вы ее не заказывайте. Вот так все и закончилось с «Сетунью». В начале 70-х нас из главного корпуса ВЦ переселили на чердак. «Сетунь», несмотря на то, что она была полностью исправной и загруженной задачами, через пару лет была уничтожена - ее разрезали и выкинули на свалку.

Дмитрий Румянцев: А «Сетунь-70»?

Николай Брусенцов: К 100-летию со дня рождения Ленина все должны были делать всякие производственные подарки. Разумеется, и мы взяли обязательство к этой дате сделать «Сетунь-70». Но это уже совсем другая машина. Это была стековая машина, вроде наших «Эльбрусов». Но у «Эльбруса» был всего один стек - стек операндов. У PDP-11 также был всего один стек - процедурный. А «Сетунь-70» имела два стека - команд и операндов. Надо сказать, что эти стеки мы сделали независимо от PDP-11, которая появилась позднее. Когда Дейкстра выступил с идеей структурного программирования, мы увидели, что сделали машину как раз для реализации его идеи. Программирование на «Сетунь-70» было даже не структурированное, а структурирующее. Программы получались легко читаемыми и осваиваемыми, легко модифицированными. Главное, что программы не подвергались отладке, а делалась так называемая контрольная сборка. После того как программу сверху вниз написали, ее проходили снизу вверх. В хороших КБ всегда так делается - типичный конструкторский прием. После этого программа оказывается, как правило, безошибочной. Позднее «Сетунь-70» была эмулирована на двоичных машинах в форме диалоговой системы структурного программирования ДССП.

Дмитрий Румянцев: И все-таки, Николай Петрович, кому мешала «Сетунь»?

Николай Брусенцов: Людям с косным мышлением, которые, тем не менее, занимали высокие руководящие посты. Как показала практика, «Сетунь» была работоспособна без всякого сервиса. Те, кто душил ЭВМ «Сетунь», раскидали ее по всей стране.

Дмитрий Румянцев: А смысл?

Николай Брусенцов: Видимо, для того, чтобы удаленность от сервисного центра и разброс климатических зон максимально выявили конструктивные недочеты. Но вся штука в том, что их практически не было. «Сетунь» была очень простой машиной. Я, как инженер, считаю, что простота вещи - это главное ее качество. В природе все то, что удалось ей выработать в простой форме, оказывается самым надежным, самым устойчивым. География обитания «Сетуни»: Якутск, Иркутск, Красноярск, Душанбе, Ашхабад, Махачкала, Калининград и т. д. Причем часто она попадала к людям, которые впервые видели цифровую технику. И несмотря на это, практически всюду машина нашла существенное применение. В Якутске «Сетунь» была в астрофизическом институте. У них была какая-то сложная задача, которую они в течение двух лет не могли поставить на большой машине «Урал-2». Потом кто-то сказал: „Давайте попробуем на «Сетуни»”. Все решили, что это шутка. Однако через полтора месяца задача была решена. Дело в том, что «Сетунь» была естественной машиной. Там нет этого идиотского дополнительного кода для отрицательных чисел. И положительные, и отрицательные числа задаются естественно. Потом всего 24 команды. Освоить такую машину и программировать в машинном коде было ничуть не сложнее, чем, скажем, осваивать «Алгол» или «Фортран».

Дмитрий Румянцев: Но программист фактически должен был работать в пространстве трехзначной логики?

Николай Брусенцов: А что значит трехзначная логика? Знак числа - это какая функция? Трехзначная! Число может быть положительным, отрицательным, а может быть равным нулю. Это совершенно естественно, и это понятней, чем то, что мы имеем в двоичных машинах, когда, чтобы разобраться, какого знака результат, нужно сделать два шага. Но, строго говоря, в самой «Сетуни» логическая часть была не особенно развита. Правда, та трехзначная логика, которая была в «Сетуни», с избытком покрывала то, что было в двоичных машинах. Но аристотелевских суждений там, конечно, не было. Мы в то время собственно логикой не занимались. Я уже после создания «Сетуни» стал понимать, что логику как таковую не знаю, стал читать книги. Оказалось, что у меня были предшественники. И у них, кстати, путь тоже не был устлан розами. Еще в XIII веке был такой Раймунд Луллий (1235-1315 гг.). Он создал логическую машину, правда, на бумаге, в виде круговых диаграмм с секторами. Эта машина была троичной. Этого Луллия забили камнями. Был Вильям Оккам, он тоже предложил трехзначную логику, значительно более реальную, чем та, которую изобрел Ян Лукасевич в 1920 году. Далее всех продвинулся Льюис Кэрролл. Он нигде не говорит, что у него трехзначная логика. Но диаграммы Кэрролла из его «Символической логики», кроме красных и белых фишек, допускают еще пустые клетки. Это и есть трехзначная логика. Кэрролл на Аристотеля не ссылается и свою силлогистику создал как реализацию логики естественного языка. Поразительно, что Гарднер - популяризатор информатики - охарактеризовал Кэрролла посредственным логиком и посредственным математиком. И это притом, что Кэрролл в сущности создал систему - у него были очень незначительные неувязки, - решающую задачу, над которой бились логики последних полутора столетий.

Дмитрий Румянцев: Николай Петрович, я получал письма, в которых читатели интересовались, как именно удалось реализовать троичный компьютер? Было даже письмо, где автор выразил сомнение в том, что такой компьютер когда-нибудь существовал.

Николай Брусенцов: Буквально на днях я получил письмо из США, где также спрашивают, как удалось реализовать троичную логику? К нам постоянно приходят по e-mail письма с запросами. Надо сказать, что наибольший интерес проявляют такие страны, как Бангладеш, Пакистан, Индия. У меня такое ощущение, что там сейчас главный центр компьютерного развития. Но на сегодня все попытки повторить троичную машину не удаются. Причина не технологическая - все-таки по сравнению с тем периодом технологии ушли далеко вперед. Дело в другом: людям, оболваненным двузначной логикой, войти в трехзначную логику не дано. По традиции считается, что та логика, которую мы сегодня исповедуем, - аристотелевская логика. Это совершенно неверно. Дело в том, что аристотелевская логика трехзначная. Естественно, что трехзначная логика в двузначную вписаться не может. Конечно, можно симулировать: парами битов задать триты, но не в этом дело.

Та логика, которую сегодня называют математической, основана на нелепости. Допустил ее Гильберт. В его совместной с Аккерманом книге «Основы теоретической логики» сказано так: „Мы отклоняемся от Аристотеля в истолковании суждения “Все А суть В”. По Аристотелю, это суждение может быть истинным, то есть выполняется только лишь в случае, когда существуют какие-то А. Мы считаем это нецелесообразным”. Что в результате получилось? В результате получилось то, что выполняется “Все А суть В” и в то же время не выполняется “Некоторые А суть В”. Это нелепость! Вместо аристотелевского следования, которое во всех естественных языках выражается словами “Все А суть В”, - и Аристотель очень точно это в своей системе воспроизвел, - они подсунули так называемую материальную импликацию. Дело в том, что суждение “Все А суть В” у Аристотеля трехзначно, в двузначной логике оно не выразимо. В результате возникли так называемые парадоксы материальной импликации, с которыми вот уже сто лет как логики пытаются справиться.

В 1918 году Кэрролл предложил строгую импликацию, потом Аккерман разработал исчисление сильной импликации, была предложена релевантная импликация, и, тем не менее, логика остается без естественного содержательного следования. То есть то, что называется следованием логике, не соответствует тому, как мы это понимаем. Обычно говорят: не соответствует нашей интуиции. Но это очень мягко сказано. На самом деле оно не соответствует не интуиции, а тому, как вещи связаны между собой в том мире, в котором мы живем.

Аристотель не признавал закона исключенного третьего. Даже речи о нем не было. Гильберт считал, что аристотелевское понимание суждения “Все А суть В” не нужно принимать, потому что это неприемлемо с точки зрения математических применений. А абсурд приемлем? Вся история говорит о том, что этот абсурд существует.

Вот почему столько раз тщетно логику пытались ввести в школы? Казалось бы, ведь числовую алгебру уже даже в начальной школе осваивают, а булеву алгебру освоить не могут. Дело в том, что двузначная логика противоестественна. Вместо того чтобы изучение логики развивало интеллект человека, оно его подавляет. У нас в МГУ на философском факультете, да и на нашем факультете, изучают математическую логику, и что вы думаете - люди от этого становятся умнее? Они вызубривают доказательства теорем, сдают экзамены и все.

Единственное адекватное применение двузначной логики - двоичные цифровые схемы. Но это особый мир двоичных компьютеров, и только в нем эти правила работают, не требуя понимания. Я поинтересовался у студентов: что такое конъюнкция? А мне в ответ: да это такая табличка, в которой единичка и три нуля… Ну, а по смыслу что это такое? Переведите на русский язык латинское слово “конъюнкция”. Никто не может. То есть эту логику усваивают чисто формально, в точном соответствии с ее названием - формальная логика. При синтезе схем возможности ограничены. Минимизировать произвольную схему наука не в состоянии. В трехзначной логике минимизация осуществляется, а в двузначной универсального алгоритма нет.

Я бы эту проблему сформулировал так: если мы хотим обрести нормальное мышление, мы должны уйти из двузначного мира и освоить трехзначную логику в том виде, как ее создал Аристотель. Не совсем, конечно, так. Не нужны его фигуры. Все это сегодня с помощью алгебры можно будет изящно изложить и легко воспринимать. Но важно понимать, что, кроме ДА и НЕТ, есть еще и НЕ-ДА и НЕ-НЕТ.

Сейчас двузначную логику в школу ввести удалось под названием “информатика”. Я должен сказать, что после этого школа уже не будет воспитывать таких людей, как наши ученые прошлого века. Почему в то время было так много творческих ученых? Где-то в 1936 году в образовании был примерно такой же бедлам, как наступил сейчас в России. Потом, по-видимому, сам Сталин обратил на это внимание. Кстати, Сталин был поразительно трудолюбивым в плане обучения человеком. Сохранилось его письмо к жене, в котором он, находясь на отдыхе, просит ее прислать ему учебник по электротехнике. Он понимал, что все нужно знать “в натуре”, а не в виде каких-то теоретических схем. Тогда в школу были возвращены учебники Киселева по алгебре и геометрии. Киселевские учебники - это евклидова математика. А Евклид - это математик с философией Аристотеля, и, судя по всему, он Аристотеля понимал верно. Если мы не хотим в школах воспитывать людей с рефлексами бюрократов и формалистов, то должны заменить двузначную логику трехзначной диалектической логикой Аристотеля.

Дмитрий Румянцев: Николай Петрович, вы создали уникальный компьютер, который, возможно, опередил время. Но всю свою жизнь вынуждены были преодолевать невероятное сопротивление, косность бюрократической машины и видеть, как ваше детище уничтожается. С другой стороны, скажем, в США, тот же Стив Джобе, который в гараже сделал свою первую и довольно убогую персоналку, сегодня мультимиллионер. По-человечески вам не обидно?

Николай Брусенцов: Да нет. Я понимаю, что, увы, так устроено человечество. И, в общем, оно обречено, если ничего не изменится. К сожалению, все попытки как-то исправить ситуацию, сделать ее более соответствующей естественному порядку вещей проваливаются. Давайте посмотрим: действительно ли мы так много имеем от того, что компьютеризировали этот мир. Теперь компьютеры везде. Причем система устроена таким образом, что каждые три-четыре года нужно покупать новый компьютер и новый софт. Но почему? Да потому, что в самом начале заложены неверные принципы. Если вы в основу заложите простые, естественные принципы, то и все развитие происходит просто, логично, естественно. Я не обижен судьбой. Не в деньгах счастье, тем более не в миллиардах. Когда все сведено к деньгам, жизнь людей утрачивает смысл, становится абсурдом. На войне не могло быть радости от того, что грохнувший вблизи разрыв сразил не тебя, а находящегося рядом твоего товарища. Радостью, счастьем было наше духовное единство. То труднейшее, отмеченное беспросветностью утрат и страданий время озарено вместе с тем не ярким, но вечным светом бескорыстного согласия людей. „Но только крепче мы дружили под перекрестным артогнем”. Похоже, что такое согласие возникает у людей, объединенных общностью цели, увлеченных реализацией рациональной идеи.

Биографические данные Николая Брусенцова

Брусенцов Николай Петрович родился в 1925 году на Украине, в городе Каменское (Днепродзержинск).
Во время войны с семьей был в эвакуации.
Поступил в находящуюся в Свердловске Киевскую консерваторию на факультет народных инструментов.
В феврале 1943 года призван в армию, направлен на свердловские курсы радистов.
Через полгода направлен радистом в артиллерийский полк, в отделение разведки.
В одном из боев разорвавшийся рядом снаряд убил двоих его товарищей и офицера, сам Н. П. Брусенцов не пострадал. Награжден медалью «За Отвагу» и Орденом Красной Звезды.
После войны вернулся в Днепродзержинск, работал на заводе.
В 1948 году поступил на радиотехнический факультет Московского энергетического института.
На последнем курсе МЭИ составил таблицы дифракции на эллиптическом цилиндре,
которые сегодня известны как таблицы Брусенцова.
После окончания института в 1953 году был направлен на работу в СКВ МГУ.
В 1956-58 гг. с группой единомышленников создал в МГУ единственную в мире
троичную ЭВМ «Сетунь», получившую название по имени протекавшей рядом речки.
В 1970 году создал новую машину «Сетунь-70»,
также имевшую ряд конструктивных новаций.
В настоящее время работает заведующим лаборатории ЭВМ
на Факультете Вычислительной математики и кибернетики МГУ им. М.В. Ломоносова.

И еще немного о старых компьютерах: или вот , а знаете как раньше выглядел ? А вот кому интересна Оригинал статьи находится на сайте ИнфоГлаз.рф Ссылка на статью, с которой сделана эта копия -

Tertium datur: другие компьютеры Полвека назад на эволюционном древе вычислительной техники появилась особая ветвь - ЭВМ, в основе которых лежала логика, отличающаяся от двоичной. Их разработали в МГУ. Автор: Евгений Лебеденко, Mobi.ru | Раздел: Статьи | Дата: 29 декабря 2011 года "Наука умеет много гитик". Это карточное высказывание как нельзя лучше подходит к истории разработки троичных компьютеров "Сетунь". Хотя бы потому, что, создавая их, разработчики смело шагнули с истоптанной веками дороги традиционной математической логики на малоизученные тропинки логики многозначной. Или потому, что советскому троичному компьютеру пришлось столкнуться со множеством препон и преодолеть их, постоянно доказывая свою жизнеспособность.
Один факт остаётся по-настоящему непреложным: в начале шестидесятых годов прошлого столетия на эволюционном древе вычислительной техники появилась особая ветвь - ЭВМ, в основе которой лежала логика, отличающаяся от бинарной. Даже сегодня, спустя полвека с момента рождения троичного компьютера, ветвь эта выглядит эдаким вавиловским гибридом, несколько неуместным на фоне достижений двоичной электроники. Но это обманчивое впечатление. "Сетунь" - не тупиковое направление, а первый пробный шаг учёных и инженеров на пути преодоления несовершенств компьютеров, сделанных по "принципу исключённого третьего". И уже одно это - великий вклад в развитие вычислительной техники. Появление ЭВМ "Сетунь" Рассказывать историю разработки компьютера "Сетунь" легко и сложно одновременно. Легко, потому что у неё, как у большинства историй появления новых технологий, есть главный герой. Человек, который своим упорством и трудолюбием делает эти технологии возможными. Генератор идей, погрузившийся в проблему с головой. В истории ЭВМ "Сетунь" главный герой - это Николай Петрович Брусенцов, главный конструктор троичного компьютера.
Николай Петрович Брусенцов И именно это делает рассказ о появлении "Сетуни" сложным, поскольку промежуток от первоначального замысла до его воплощения в "железе" наполнен множеством разных людей и событий. Началась история "Сетуни" в 1952 году, в специальном конструкторском бюро Московского государственного университета, куда по распределению попал выпускник МЭИ Николай Брусенцов. В теории бюро должно было совершенствовать техническое оснащение учебного процесса, на практике же оно зачастую решало совершенно другие задачи, выполняя заказы для сторонних НИИ и производств. Молодого инженера Брусенцова такое положение дел совершенно не радовало, поэтому он с энтузиазмом принял предложение заведующего кафедрой вычислительной математики механико-математического факультета МГУ академика Соболева участвовать в получении, установке и настройке вычислительной машины "М-2", разрабатываемой лабораторией электросистем его альма-матер под руководством Исаака Семёновича Брука. Сергей Львович Соболев прекрасно понимал перспективы применения цифровых ЭВМ в учебной и научной деятельности МГУ и изо всех сил способствовал появлению в университете собственного вычислительного центра. Однокурсники Брусенцова, работавшие в лаборатории Брука, на всю жизнь "заразили" Николая Петровича цифровыми ЭВМ. История, однако, по-своему распорядилась судьбой "М-2". Машина так и не попала в стены МГУ, несмотря на то что довольно активно использовалась его учёными. Всё потому, что в баталиях научных школ, зарождающейся тогда области вычислительной техники, академик Соболев поддержал направление высокопроизводительных компьютеров Сергея Алексеевича Лебедева, а не малых ЭВМ Брука. Именно благодаря этому конфликту интересов Соболев принял решение о разработке в МГУ собственной малой ЭВМ, способной решать насущные вузовские проблемы. Увлечённость Николая Брусенцова компьютерами помогла ему попасть в отдел электроники вычислительного центра МГУ, перед которым и была поставлена задача разработать новую ЭВМ. В поисках элементной базы, наиболее приемлемой по соотношению надёжности, производительности и цены, инженера Брусенцова откомандировали в лабораторию электромоделирования Льва Израильевича Гутенмахера при Институте точной механики и вычислительной техники Академии наук СССР, где в 1954 году была разработана безламповая ЭВМ "ЛЭМ-1". В качестве схемотехнической единицы "ЛЭМ-1" инженеры лаборатории Гутенмахера использовали трёхфазные феррит-диодные логические элементы - уникальную комбинацию запоминающих ячеек на базе ферритовых колец и полупроводниковых диодов. В этих логических элементах ферритовые кольца играли роль сердечников трансформатора и служили для хранения единиц и нолей - базовых компонентов двоичной логики, а диоды использовались в качестве вентилей в цепях связи между ними. Типовым элементом "ЛЭМ-1" был феррит-диодный регистр сдвига, состоящий из трёх ферритовых колец: входного (записывающего), канального (считывающего, тактового) и выходного (связывающего регистр с последующими элементами).

Феррит-диодные логические элементы Эта достаточно элегантная схема феррит-диодного регистра усложнялась за счёт включения в её состав дополнительных компенсирующих сердечников, устраняющих импульсы помехи в выходном ферритовом кольце. Вызванная неидеальностью петли гистерезиса ферритовых колец, эта помеха могла, при повышении рабочей температуры, достигнуть уровня сигнала. Николаю Брусенцову было очевидно, что подобная схема далека от идеала. Поэтому он предложил её усовершенствовать, введя в цепь рабочих сердечников постоянное напряжение, которое запирало диод. Это решение исключало появление помехи, а значит, не требовало использования компенсирующих магнитных колец. Их теперь можно было применить в качестве второй пары рабочих сердечников, функционирующих встречно основной рабочей паре. Вот так модернизация несовершенной элементной базы "ЛЭМ-1" способствовала появлению феррит-диодного логического элемента, который мог параллельно передавать две не совпадающие по времени последовательности сигналов - основу троичного кода. Троичная логика против двоичной Бинарная логика, являющаяся основой современной вычислительной техники, воспринимается сегодня как некая аксиома, истинность которой не подвергается сомнению. И действительно, кодирование информации с помощью наличия или отсутствия сигнала кажется самым подходящим способом реализации цифровых систем. Но так ли это? Правила работы компьютеров определяют люди. Использование двоичной логики в вычислительном процессе - не закон природы, а сознательное решение, которое кто-то когда-то принял, потому что оно удовлетворяло разработчиков компьютеров, программистов и пользователей, решающих свои задачи. Почему именно двоичная логика стала базой современных ЭВМ? Ответ представляется очевидным. Исторически математическая логика опиралась на идею "третьего не дано", сводя процесс логических умозаключений к бинарным решениям. Эта догма классической логики обязана рождением принципу бивалентности логических суждений, введённому яростным стоиком Хризиппом и поддерживаемому авторитетом Аристотеля. "Фундаментом диалектики служит тезис, что всякое высказывание (то, что называют "аксиомой") или истинно, или ложно", - говорил Цицерон. Простота бивалентности действительно неплохо описывает логические реалии жизни. Стоит вспомнить семафоры, пешеходные переходы и тумблеры "вкл-выкл". Бинарность неплохо управляет повседневностью. Давайте взвесим на обычных рычажных весах два предмета А и В. Весы с лёгкостью позволят определить нам две противоположности: вес А > В и вес А < В. Но разве это всё? А как же А = В? Выходит, задача о весе А и В имеет три решения. Именно так.
Обычные рычажные весы могут отлично работать в качестве троичного логического элемента Так же как третье решение имеет исход футбольного матча (ничья), нейтралитет Швейцарии (третья сторона) и неопределённое "может быть", полученное в ответ на конкретный вопрос. Превратив рычажные весы в двоичный прибор, мы столкнёмся с неопределённостью A © В, разрешить которую можно, только поменяв взвешиваемые А и В местами, то есть выполнив лишнюю операцию.
Установив фиксатор под одним из рычагов, весы можно превратить в бинарный логический элемент со всеми присущими ему недостатками. Логику повседневной жизни сложно впихнуть в чёрно-белую картину бивалентности - это осознавали многие мыслители. В результате на свет появились неклассические логики, отказавшиеся от закона исключённого третьего. Один из первых вариантов многозначной логики в двадцатых годах прошлого столетия разработал польский учёный Ян Лукасевич. В его трёхзначной логике кроме полярных "да" и "нет" появилось значение "возможно". Трёхзначные логические высказывания Лукасевича допускали отсутствие непротиворечивости и назывались модальными. Помните консилиум в сказке о Буратино? "Пациент скорее жив, чем мёртв". "Скорее жив" и есть модальное логическое высказывание. Автор приключений Алисы Льюис Кэрролл разработал трёхзначную алгебру, применив третью характеристику объекта - "несущественность" наряду с "существованием" и "несуществованием". В вычислительной технике безупречность булевой алгебры начинает давать сбои при работе с отрицательными значениями. Ведь для представления отрицательного числа в бинарном виде нужно ввести дополнительный бит. То самое "третье", с помощью которого можно определить знак числа в двоичном коде. О том, что такое кодирование является нетрадиционным, говорит его даже название - дополнительный код. Получается, что для простоты реализации в ЭВМ операций для положительных и отрицательных чисел их разработчики сознательно отошли от двоичной логики в пользу того самого "исключенного третьего".
Двоичный алгоритм проверки знака переменной Х не оптимален, в то время как в троичном алгоритме проверка выполняется с помощью всего одной операции. Ещё один недостаток двоичной логики - тот факт, что без дополнительных "костылей" в ней не реализовать основное логическое выражение - следование. Попытка реализовать трёхзначность следования силами двузначной логики привела к тому, что это логическое выражение фактически подменили материальной импликацией. В вычислительных алгоритмах этот фокус сработал, а вот попытка реализации на компьютере вывода умозаключений провалилась. Подмена следования двузначной материальной импликацией ограничивает "интеллектуальность" ЭВМ. Человек с его способностью быстро перейти от двоичной логики к троичной, соглашаясь в нужный момент на "ничью", оказался намного гибче компьютера. А что если логику компьютера изначально сделать троичной? Так рассуждал Николай Петрович Брусенцов, представляя осенью 1956 года на семинаре, посвящённом разработке МГУшной ЭВМ, магнитный усилитель с питанием импульсами тока - тот самый, модифицированный им феррит-диодный регистр. Его ключевой особенностью было формирование тройки значений: 1, 0 и -1 - идеальный вариант цифрового элемента, работающего с троичной логикой. Николай Петрович Брусенцов рассказал в интервью "Компьютерре" о преимуществах троичной логики: "Люди настолько "околпачены" законом исключённого третьего, что не в состоянии понять, как всё обстоит на самом деле. На самом же деле двоичная логика совершенно не подходит даже для описания основного логического выражения - следования. При попытке описания в двоичной логике нормальной дизъюнктивной формы следования оно превращается либо в тождество, либо в пресловутую материальную импликацию. Математик С.К. Клини и его книга "Математическая логика" в своё время оказали такое влияние на этот раздел математики, что сегодня практически ни в одном учебнике математической логики не найти отношения следования. Ссылаясь на Аристотеля, Клини заменил следование на материальную импликацию ("Два проще, а потому и полезней"). Логики, конечно, признают, что материальная импликация в постановке Клини - отношение, не имеющее смысла. Дело в том, что все логики пытаются выразить отношение следования, используя закон исключённого третьего, а такого закона в природе нет, потому что отношение следования трёхзначное..." "...Недостаток двоичной логики мы обнаружили, когда попытались научить компьютер делать умозаключения. Оказалось, что с использованием двузначной логики это невозможно. Люди, делая умозаключения, выходят из положения, убирая в нужный момент двоичную логику и используя отношение следования, а значит - трёхзначную логику". Триты и трайты Три вида сигналов, формируемые базовым элементом будущего троичного компьютера, его создатели назвали тритом. Если принять бит за меру количества информации, то информационная ёмкость трита будет равна примерно 1,5. А это значит, что при прочих равных условиях троичный компьютер обрабатывает в единицу времени больше информации, чем двоичный. Минимальной адресуемой единицей памяти проектируемого троичного компьютера стал трайт, равный шести тритам и принимающий значения от -364 до 364. Работа с диапазоном отрицательных значений - особенность, отличающая трайт от двоичного байта, значения которого распространяются от 0 до 255.
Информационная ёмкость трайта такова, что с его помощью легко можно закодировать все заглавные и строчные символы русского и латинского алфавитов, математические и служебные символы. Уникальная особенность троичного кода, применяемого в "Сетуни", связана с его симметричностью - распространением значений как в положительную, так и в отрицательную область. Благодаря симметричности в троичном компьютере отрицательные числа представлялись естественным путём - без хитроумных манипуляций с дополнительным кодом. Уже одна эта особенность существенно упростила как систему команд "Сетуни", так и её архитектуру.

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

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

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

Программист и пользователь первого варианта "Сетуни" общался с ней с помощью рулонного телетайпа. Позднее для ввода данных стали применять фотоэлектрические перфоратор и считыватель с перфоленты, а для вывода - электроуправляемую печатную машинку. "Нам видеть её и знать не надо" По своим возможностям "Сетунь" относилась к малым ЭВМ. Иначе быть и не могло: троичный компьютер задумывался как университетская ЭВМ, обеспечивающая поддержку учебного процесса и научных изысканий вуза. Однако простота и естественность работы с "Сетунью", обусловленная применением в ней троичной логики, снискала добрую славу. На варианте компьютера, установленном в вычислительном центре МГУ, решались экономические задачи, велись метеорологические расчёты, обрабатывались самые разнообразные статистические данные. Попытка запустить массовое производство "Сетуни" не просто не увенчалась успехом, а чуть было не закончилась закрытием проекта. На тщательно сделанный и оттестированный образец "Сетуни", установленный на выставке научно-технических достижений вузов, высокое руководство не обратило никакого внимания.

Реализации первого варианта "Сетуни" (1958 год) и экземпляр, демонстрировавшийся на ВДНХ в 1961 году Более того, проект "Сетунь" попал под закрытие в рамках наведения порядка в разнообразном парке советских ЭВМ того времени. Один из членов государственного радиотехнического комитета (ГКРЭ), всеми уважаемый директор конструкторского бюро, отмахнулся от "Сетуни" фразой: "Нам видеть её и знать не надо. Покажите бумагу с авторитетными подписями и печатями". Только благодаря вмешательству академика Соболева межведомственная комиссия ГКРЭ летом 1960 года провела тщательные недельные испытания троичного компьютера, в результате которых признала "Сетунь" "первым действующим образцом универсальной вычислительной машины на безламповых элементах, создание которой является определённым достижением в вычислительной технике". Ни больше ни меньше. Серийное производство троичного компьютера навязали Казанскому заводу математических машин, хотя Брусенцов с командой разработчиков получал предложения от других производителей, в том числе и из-за рубежа. Казанские инженеры, не вдохновлённые низкой стоимостью "Сетуни" (27 500 рублей), не горели желанием выпускать её серийные образцы в запланированные сроки. При том, что феррит-диодные усилители, базовые элементы троичного компьютера, поставляли в Казань с Астраханского завода электронной аппаратуры, они стоили всего три рубля пятьдесят копеек. Более того, своими "инженерными" изысканиями казанские производители так и норовили внести в отлаженную конструкцию троичного компьютера модификации, приводившие к его неработоспособности. Бригада разработчиков "Сетуни" фактически поселилась на заводе, занимаясь постоянной отладкой серийных машин.

Дружный коллектив разработчиков "Сетуни" Несмотря на все препоны, к 1965 году завод произвёл и реализовал пятьдесят экземпляров "Сетуни". Промышленные образцы компьютера заработали по всей стране - в военно-воздушной академии имени Жуковского и в одесском НИИ "Пищепромавтоматика", в якутском институте космофизических исследований и ведущих московских вузах. И везде "Сетуни" зарекомендовали себя исключительно надёжными и простыми в освоении и эксплуатации машинами. Так, первый вариант "Сетуни", собранный для вычислительного центра МГУ, безотказно трудился более пятнадцати лет. "Сетунь-70" Идеи, заложенные в архитектуру первого троичного компьютера и реализованные в "Сетуни", оказались настолько удачными, что в 1967 году было принято решение выпустить её модифицированную версию. Наряду с аппаратными улучшениями (увеличение объёма оперативной памяти, реализация системы прерываний, уменьшение потребляемой мощности и размеров ЭВМ), важнейшим нововведением стала реализация двухстековой архитектуры. Выпущенный в 1970 году вариант обновлённого троичного компьютера получил название "Сетунь-70".



Стремление к реализации более продуманного и компактного представления программ привело разработчиков "Сетуни-70" к идее отказа от традиционного машинного кода и использования в качестве машинного языка обратной польской записи (ПОЛИЗ). Стандартные машинные команды, состоящие из кода операции и адреса операнда были заменены на трайты операций и операндов. Применение обратной польской записи и обусловило стековую архитектуру "Сетуни-70". В первом стеке адресные трайты управляют передачей данных из оперативной памяти в стек, а операционные трайты - преобразованием данных и возвращением результата из стека в оперативную память. При этом, как и положено при стековой обработке, эти операции выполняются над данными в вершине стека и нижележащими данными. Пятьдесят четыре операции были реализованы аппаратно. Из них половина была операциями общего пользования, а оставшиеся двадцать семь были служебными и не могли выполняться в пользовательском режиме. Кроме аппаратных операций "Сетунь-70" поддерживала работу с двадцатью семью макрооперациями - подпрограммами, создаваемыми пользователем и по мере надобности вызываемыми из оперативной памяти. Для работы с макрооперациями использовался второй (системный) стек ЭВМ.
Академик Соболев постоянно курировал проект троичного компьютера, используя свой авторитет в случае бюрократических препон и проволочек Подобная реализация архитектуры "Сетуни-70" была неслучайной. Применение стеков и разработка операций в нотации ПОЛИЗ предполагали внедрение в процесс разработки программ идей структурированного программирования, концепция которого была предложена Эдсгером Дейкстрой. Структурированный подход существенно экономил время на разработку и отладку сложных программ, разбивая их на ряд структурных единиц, с каждой из которых можно было работать как с независимым объектом. Специально для реализации этой идеи разрабатывалась среда ДССП (Диалоговая система структурированного программирования) - прообраз нынешних интегрированных сред программирования. К сожалению, как следует обкатать идеи, реализованные в "Сетуни-70", не получилось. Очередная волна бюрократических зачисток, направленная на искоренение в вузах проектов разработки собственных ЭВМ, привела к тому, что "Сетунь-70" переселилась на чердак студенческого общежития в главном корпусе МГУ. Возможно, её судьба была бы аналогична судьбе первой "Сетуни", варварски уничтоженной после многолетнего труда, если бы не научно-исследовательская работа "Разработка автоматизированной обучающей системы на базе малой цифровой машины". Так "Сетунь-70" превратилась в электронного учителя и экзаменатора, а её ведущий системный программист Хосе Рамиль Альварес стал разработчиком программно-аппаратного комплекса "Наставник" - уникальной в своем роде обучающей среды. Хосе Рамиль Альварес рассказывает: "После того как нашей лаборатории запретили заниматься компьютерами, профессор МВТУ имени Баумана Анисимов предложил Николаю Петровичу Брусенцову заняться применением компьютеров в обучении, чтобы, как он выразился, "никто не сказал, что мы этого не можем". Вот тогда Николай Петрович предложил мне перейти к нему для развития идей программированного обучения. До этого я занимался эмуляцией команд "Сетуни-70" на "Сетуни" для отладки макропрограмм системы ДССП. С самого начала нашей работы Николай Петрович сказал, что "Наставник" не пойдёт в серию, как из-за дешевизны производства, так и из-за того, что система не позволяла халтурить ни ученику, ни преподавателю... ...Однажды к Николаю Петровичу пришёл академик Бахвалов и сказал, что ему необходимо ехать в командировку, а у него в это время должен быть коллоквиум по численным методам. Нельзя ли для его проведения использовать "Наставник"? Мы рассказали ему идею системы, Бахвалов сделал шаблоны заданий, и коллоквиум успешно прошёл. Позже, во время пересдачи тестов, мы с Бахваловым наблюдали, как один студент сел за тот же терминал "Наставника", что и в прошлый раз, думая, что ему попадутся те же самые вопросы. Я пояснил, что вопросы выбираются случайным образом. Бахвалов спросил, какой алгоритм используется в качестве генератора случайных чисел. "Всё очень просто, - ответил я, - алгоритм подсчитывает число нажатий на клавиши терминалов во всём дисплейном классе. А это всякий раз случайное число..." В 1974 году компьютерный класс на базе "Сетуни-70" с подключёнными к ней двадцатью семью терминалами принял первых учеников - сто пятьдесят студентов, изучающих курс численного анализа. В дальнейшем был реализован курс обучения языку Фортран.

Терминал системы "Наставник"

Руководство по эксплуатации "Наставника"

Архивы результатов тестирования студентов Программные и аппаратные решения "Наставника", успешно проверенные на базе "Сетуни-70", позволили позже реализовать эту обучающую среду на базе ЭВМ ДВК-2М. В таком модифицированном виде "Наставник" функционирует в МГУ до сих пор. Есть ли шанс у троичной логики? Конечно, разработку троичных компьютеров "Сетунь" можно считать случайным выбросом среди гладкого графика развития двоичной цифровой логики. Однако это слишком упрощённое представление. Троичная логика находит всё более широкое применение в области телекоммуникаций. Нынешнее поколение высокоскоростных модемов вместо применяемого ранее двухчастотного способа передачи данных применяет трёхчастотный, полосу частот в котором формируют два троичных трёхчастотных генератора, которые за один такт способны передать девять кодов. Кроме того, разработчики микропроцессорной техники всё чаще заглядываются на многозначные логики, в частности на их троичную реализацию. Такие компании, как IBM, Motorola и Texas Instruments, ведут исследования с кремниево-германиевыми сплавами (SiGe), в рамках которых можно реализовать цифровые интегральные схемы, работающие с тремя и более уровнями сигнала. С позиций реализации компьютер с шестнадцатиразрядной шиной обеспечивает поддержку 216 (65536) адресов памяти, в то время как троичный компьютер аналогичной разрядности поддерживает 316 - около сорока трёх миллионов адресов. Есть над чем задуматься, учитывая более простую работу троичной логики с отрицательными значениями, что также существенно упростит архитектуру микропроцессоров. Остаётся надеяться, что души "Сетуни" и "Сетуни-70" обретут троичное бессмертие не только в программных эмуляторах, но и в будущих поколениях компьютеров, которые не будут знать, что "третьего не дано". Читайте также: Александр Самсонов о троичной логике и сетевой археологии. Энтузиаст, пытающийся возродить "Сетунь-70" в виде программного эмулятора, рассказал "Компьютерре" о малоизвестной истории "Сетуни" и практических преимуществах троичной логики. ДОБАВКА из другого источника. В 1965 году "Сетунь" была снята с производства, а сам проект - практически свёрнут. Однако о машине вспомнили к 100-летию со дня рождения Ленина - тогда было принято делать "родине и партии" всякого рода "производственные подарки". Коллектив ВЦ МГУ взял обязательство к этой дате разработать "Сетунь-70". Это, впрочем, оказалась уже фактически другая машина. Новая ЭВМ основывалась на стековом принципе, по аналогии с уже разрабатывавшимся тогда "Эльбрусом". Однако "Эльбрус" имел лишь один стек - стек операндов. Его более поздний конкурент - американский компьютер PDP-11 - также имел один стек - процедурный. "Сетунь-70" заметно опередила своё время, так как изначально имела два стека - команд и операндов. В техническом отношении "Сетунь-70" была намного совершеннее "Сетуни". Так, реализация однопроводной передачи трёхзначных сигналов позволила почти вдвое уменьшить число электрических соединений; логические элементы стали проще, миниатюрней и при большей релейности потребляли в 2,5 раза меньше энергии. Также были значительно улучшены параметры троичной памяти и магнитной записи троичного кода. Дальнейшее развитие получила пороговая техника осуществления операций трёхзначной логики. Разработанная применительно к электромагнитным средствам, эта техника была переносима и на полупроводниковые элементы, например, типа И2Л. Примерно тогда же появились разработки в области структурного программирования и обнаружилось, что "Сетунь-70" лучше всех других ЭВМ подходит для реализации этой идеи. По словам разработчиков, "программирование на "Сетунь-70" было даже не структурированное, а структурирующее. Программы получались легко читаемыми и осваиваемыми, легко модифицированными. Эти программы не подвергались отладке, а делалась так называемая контрольная сборка. После того, как программу сверху вниз написали, её проходили снизу вверх. После этого программа оказывалась, как правило, безошибочной". Интересный момент: принято считать, что в некоторой степени американским аналогом "Сетуни" был компьютер PDP-8, известный многим по биографии Билла Гейтса. Но всё же сравнивать "Сетунь" и PDP-8 достаточно сложно. Процессор PDP-8 был восьмибитный, а в "Сетуни" процессор (в пересчёте на биты) был 30-битным. PDP-8 стоила $20 тыс. без периферии, и эта цена считалась рекордно низкой. "Сетунь" стоила 27,5 тысяч советских рублей со всей периферией.

Н.П. Брусенцов, Рамиль Альварес Хосе

В начале 1956 г. по инициативе академика С.Л. Соболева, заведующего кафедрой вычислительной математики на механико-математическом факультете Московского университета, в вычислительном центре МГУ был учрежден отдел электроники и стал работать семинар с целью создать практичный образец цифровой вычислительной машины, предназначенной для использования в вузах, а также в лабораториях и конструкторских бюро промышленных предприятий. Требовалось разработать малую ЭВМ, простую в освоении и применениях, надежную, недорогую и вместе с тем эффективную в широком спектре задач.

Обстоятельное изучение в течение года имевшихся в то время вычислительных машин и технических возможностей их реализации привело к нестандартному решению употребить в создаваемой машине не двоичный, а троичный симметричный код, реализовав ту самую уравновешенную систему счисления, которую Д. Кнут двадцать лет спустя назовет быть может, самой изящной и как затем стало известно, достоинства которой были выявлены К. Шенноном в 1950 г. 121.

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

Троичная ЭВМ “Сетунь” , опытный образец которой разработали, смонтировали и к концу 1958 г. ввели в эксплуатацию сотрудники отдела электроники, как показал опыт ее освоения, программного оснащения и многообразных практических применений, с исчерпывающей полнотой удовлетворяла всем предусмотренным заданием на ее разработку требованиям. Этот успех, с учетом того, что разработка троичной ЭВМ предпринималась впервые, проводилась немногочисленным коллективом начинающих сотрудников (8 выпускников МЭИ и МГУ, 12 техников и лаборантов) и была выполнена в короткий срок, явно свидетельствует о благодатности троичной цифровой техники. Ценой усложнения по сравнению с двоичными элементов памяти и элементарных операций достигается существенное упрощение и, главное, естественность архитектуры троичных устройств.

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

По результатам этих испытаний “Сетунь” была признана первым действующим образцом универсальной вычислительной машины на безламповых элементах, которому свойственны “высокая производительность, достаточная надежность, малые габариты и простота технического обслуживания”. По рекомендации Междуведомственной комиссии Совет Министров СССР принял постановление о серийном производстве “Сетуни” на Казанском заводе математических машин. Но почему-то троичный компьютер пришелся не по нраву чиновникам радиоэлектронного ведомства: они не обеспечили разработку серийного образца машины, а после того как он все-таки был осуществлен с использованием конструктивов выпускавшейся заводом машины М-20, не содействовали наращиванию выпуска в соответствии с растущим числом заказов, в частности из-за рубежа, а наоборот, жестко ограничивали выпуск, отклоняя заказы, и в 1965 г. полностью прекратили, причем воспрепятствовали освоению машины в ЧССР, планировавшей ее крупносерийное производство. Поводом для этой странной политики могла быть рекордно низкая цена “Сетуни” - 27,5 тыс., рублей, обусловленная бездефектным производством ее магнитных цифровых элементов на Астраханском заводе ЭА и ЭП, по 3 руб. 50 коп. за элемент (в машине было около 2 тыс., элементов). Существенно то, что электромагнитные элементы “Сетуни” позволили осуществить пороговую реализацию трехзначной логики на редкость экономно, естественно и надежно. Опытный образец машины за 17 лет эксплуатации в ВЦ МГУ, после замены на первом году трех элементов с дефектными деталями, не потребовал никакого ремонта внутренних устройств и был уничтожен в состоянии полной работоспособности. Серийные машины устойчиво функционировали в различных климатических зонах от Одессы и Ашхабада до Якутска и Красноярска при отсутствии какого-либо сервиса и запчастей.

Благодаря простоте и естественности архитектуры, а также рационально построенной системе программирования, включающей интерпретирующие системы: ИП-2 (плавающая запятая, 8 десятичных знаков), ИП-3 (плавающая запятая, 6 десятичных знаков), ИП-4 (комплексные числа, 8 десятичных знаков), ИП-5 (плавающая запятая, 12 десятичных знаков), автокод ПОЛИЗ с операционной системой и библиотекой стандартных подпрограмм (плавающая запятая, 6 десятичных знаков), машины “Сетунь” успешно осваивались пользователями в вузах, на промышленных предприятиях и в НИИ, оказываясь эффективным средством решения практически значимых задач в самых различных областях, от научно-исследовательского моделирования и конструкторских расчетов до прогноза погоды и оптимизации управления предприятием . На семинарах пользователей вычислительных машин “Сетунь”, проведенных в МГУ (1965), на Людиновском тепловозостроительном заводе (1968), в Иркутском политехническом институте (1969) были представлены десятки сообщений о результативных народнохозяйственных применениях этих машин. “Сетунь”, благодаря естественности троичного симметричного кода, оказалась поистине универсальным, несложно программируемым и весьма эффективным вычислительным инструментом, положительно зарекомендовавшим себя, в частности, как техническое средство обучения вычислительной математике более чем в тридцати вузах. А в Военно-воздушной инженерной академии им. Жуковского именно на “Сетуни” была впервые реализована автоматизированная система компьютерного обучения .

Троичная система счисления основана на том же позиционном принципе кодирования чисел, что и принятая в современных компьютерах двоичная система, однако вес i -й позиции (разряда) в ней равен не 2 i , а 3 i . При этом сами разряды не двухзначны (не биты), а трехзначны (триты) - помимо 0 и 1 допускают третье значение, которым в симметричной системе служит -1, благодаря чему единообразно представимы как положительные, так и отрицательные числа. Значение n -тритного целого числа N определяется аналогично значению n -битного:

где а i ∈ {1, 0, -1} - значение цифры i -го разряда.

Цифры в троичной симметричной системе целесообразно обозначать их знаками, т.е. вместо 1, 0, -1 писать +, 0, -. Например, десятичные числа 13, 7, 6, -6 в такой троичной записи будут: 13 = +++, 7 = +-+, б = +-0, -6 = -+0. Изменение знака числа в симметричном коде равносильно потритной инверсии, т.е. взаимозамене всех “+” на “-” и всех “-” на “+”. Операции сложения и умножения в троичном симметричном коде определены таблицами:

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

Машина “Сетунь” может быть охарактеризована как одноадресная, последовательного действия, с 9-тритным кодом команды, 18-тритными регистрами сумматора S и множителя R , 5-тритными индекс-регистром модификации адреса F и счетчиком-указателем выполняемых команд C , а также однобитным указателем знака результата ? , управляющим условными переходами.

Оперативная память - 162 9-тритных ячейки - разделена на 3 страницы по 54 ячейки для постраничного обмена с основной памятью - магнитным барабаном емкостью 36 либо 72 страницы. Считывание и запись в оперативную память возможны 18-тритными и 9-тритными словами, причем 9-тритное слово соответствует старшей половине 18-тритного в регистрах S и R . Содержимое этих регистров интерпретируется как число с фиксированной после второго из старших разрядов запятой, т.е. по модулю оно меньше 4,5. При вычислениях с плавающей запятой мантисса М нормализованного числа удовлетворяет условию 0,5 < |М| <1,5, а порядок представлен отдельным 5-тритным словом, интерпретируемым как целое со знаком.

Страничная двухступенная структура памяти с пословной адресацией в пределах трех страниц ОЗУ, обходящейся 5-тритными адресами и соответственно 9-тритными командами, обусловила необыкновенную компактность программ и вместе с тем высокое быстродействие машины, несмотря на то, что в интерпретирующих системах магнитный барабан функционирует как оперативная память.

В 1967-1969 гг. на основе опыта создания и практических применений машины “Сетунь” разработана усовершенствованная троичная цифровая машина “Сетунь 70”, опытный образец которой вступил в строй в апреле 1970 г. Это была машина нетрадиционной двухстековой архитектуры, ориентированной на обеспечение благоприятных условий дальнейшего развития ее возможностей методом интерпретирующих систем .

Принятие арифметического стека (стека 18-тритных операндов) обусловлено использованием в качестве машинного языка так называемой польской инверсной записи программ (ПОЛИЗ), положительно зарекомендовавшей себя в одноименном интерпретаторе на “Сетуни”. ПОЛИЗ-программа состоит не из команд той или иной адресности, а является последовательностью коротких слов - 6-тритных трайтов (троичных байтов). Как элемент программы трайт может быть либо адресным, либо операционным. Адресный трайт либо используется в качестве операнда предшествующим операционным, либо воспринимается как предписание заслать в стек операндов из оперативной памяти адресуемое слово от одного до трех трайтов. В оперативной памяти всего 9 страниц по 81 трайту, причем открыты для доступа в данный момент три страницы, номера которых указаны в так называемых “регистрах приписки”.

Операционный трайт указывает операции, а вернее процедуры, выполняемые над стеком операндов, а также над регистрами процессора. Всего предусмотрена 81 операция - 27 основных, 27 служебных и 27 программируемых пользователем.

Второй (системный) стек, содержащий адреса возврата при обработке прерываний и при выполнении вложенных подпрограмм, позволил успешно реализовать на “Сетуни 70” идею структурированного программирования Э. Дейкстры, введя операции вызова подпрограммы, вызова по условию и циклического выполнения подпрограмм. Осуществленное таким образом процедурное структурированное программирование на практике подтвердило заявленные Дейкстрой преимущества его метода: трудоемкость создания программ сократилась в 5-7 раз, благодаря исключению традиционной отладки тестированием на конкретных примерах, причем программы обрели надлежащую надежность, упорядоченность, понятность и модифицируемость. В дальнейшем эти особенности архитектуры “Сетуни 70” послужили основой диалоговой системы структурированного программирования ДССП, реализованной на машинах серии ДВК и на последующих персональных компьютерах .

К сожалению, дальнейшее развитие заложенных в “Сетуни 70” возможностей путем разработки ее программного оснащения было административным порядком прекращено. Пришлось переориентироваться на компьютеризацию обучения. “Сетунь 70” стала основой для разработки и реализации автоматизированной системы обучения “Наставник” , воплотившей принципы “Великой дидактики” Яна Амоса Коменского. Назначение компьютера в этой системе не “электронное перелистывание страниц” и не мультимедийные эффекты, а отслеживание верности понимания учащимся того, чему он учится, своевременное преодоление заблуждений и обеспечение путем обоснованно назначаемых упражнений реального овладения предметом обучения. Вместе с тем компьютер протоколирует ход занятия, предоставляя разработчику учебного материала возможность оценивать эффективность используемых дидактических приемов и совершенствовать их.

Учебный материал в “Наставнике” предоставляется учащимся в печатном виде с пронумерованными секциями, абзацами, упражнениями и справками к ошибочным ответам, благодаря чему при помощи простейшего терминала с цифровой клавиатурой и калькуляторным индикатором компьютер без гипертекстового дисплея легко и безвредно взаимодействует с обучаемым, придавая книге недостающую ей способность диалога с читателем. Создание учебных материалов для “Наставника” не связано с программированием компьютера, и, как показала практика, разработка вполне удовлетворительных пособий по математике, физике, английскому языку и другим предметам посильна школьным учителям. Дидактическая эффективность этой немудреной системы оказалась на редкость высокой. Так, курс “Базисный Фортран” студенты факультета ВМК МГУ проходили в “Наставнике” за 10-15 часов, студенты экономического факультета - за 15-20 часов, показывая затем в практикуме более совершенное умение программировать на Фортране, чем после обычного семестрового курса.

Реализованный в “Наставнике” принцип “книга-компьютер” обусловил оптимальное использование компьютера как средства обучения практически во всех отношениях: необходимая аппаратура (микрокомпьютер и подключенные к нему 3-4 десятка терминалов, подобных простейшему калькулятору) предельно дешева, надежна и легко осваивается как учащимися, так и преподавателями, работа в режиме диалога с книгой неутомительна, увлекательна и при надлежащей организации изложения гарантирует быстрое и полноценное усвоение изучаемого предмета. Применение системы в МГУ, МАИ, ВИА им. Куйбышева, в средней школе и для профессионального обучения на ЗИЛе подтвердили ее высокую эффективность в широком спектре предметов и уровней обучения. Вместе с тем “Наставник” уже более 30 лет постоянно используется на факультете ВМиК для автоматизированного проведения контрольных работ, а также тестирования поступивших на факультет, определяющего уровень владения английским языком для комплектования однородных учебных групп.

Однако при, казалось бы, насущной потребности действенного усовершенствования процесса обучения в наш информационный век “Наставник” не был востребован. По-видимому, слишком прост и дешев, да и какая же это компьютерная система - без дисплея, мышки и гипертекста. Ведь ИТ-оснащенность учебного процесса все еще принято оценивать не по уровню и качеству обучения, а по количеству и мощности вовлеченных в него компьютеров.

Система команд машины “Сетунь”

Литература

  1. Shаnnonc. Е.А Symmetrical notation for numbers. - “The American Mathematical Monthly”, 1950, 57, N 2, р, 90 - 93,
  2. Reid J.B. Letter to the editor. - “Comm. ACM”, 1960, 3, N 3, р. А12 - A13.
  3. Howden Р.F. Weigh-counting technique is faster then binary. - “Electronics”, 1974, 48, N 24, р. 121 - 122.
  4. Байцер Б. Архитектура вычислительных комплексов , т. 1. М., “Мир”, 1974.
  5. Proceedings of the Sixth International Symposium on Multiple-Valued Logic , Мау 25 - 28 1976. IEEE Press, 1976.
  6. Croisier А. Introduction to pseudoternary transmission codes. - “IBM Journal of Research and Development”, 1970, 14, N 4, р. 354 - 367.
  7. Брусенцов Н.П. Электромагнитные цифровые устройства с однопроводной передачей трехзначных сигналов. - В кн.: Магнитные элементы автоматики и вычислительной техники. XIV Всесоюзное совещание (Москва, сентябрь 1972 г.). М., “Наука”, 1972, с. 242 - 244.
  8. Аристотель. 06 истолковании. СПб., 1891.
  9. Брусенцов Н.П. Диаграммы Льюиса Кэррола и аристотелева силлогистика. - В кн.: Вычислительная техника и вопросы кибернетики, вып. 13. Изд-во МГУ, 1976, с. 164-182.
  10. Introduction to programming. PDP-8 handbook series. Digital Equipment Corporation, 1972.

Материалы международной конференции SORUCOM 2006 (3-7 июля 2006 года)
Развитие вычислительной техники в России и странах бывшего СССС: история и перспективы
Статья помещена в музей 31.10.2007 с разрешения автора



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows