Борис Малиновский - Информационные технологии в СССР. Создатели советской вычислительной техники
Машина задумана так, что обеспечивалась эффективная возможность ее программного развития. Теперь это называют RISC-архитектурой. Троичность в ней играет ключевую роль. Команд в традиционном понимании нет — они виртуально складываются из слогов (слоги-адреса, слоги-операции, длина слога — 6 тритов, иначе; трайт — троичный аналог байта). Длина и адресность команд варьируются по необходимости, начиная с нульадресной. На самом деле программист не думает о командах, а пишет в постфиксной форме (ПОЛИЗ) выражения, задающие вычисления над стеком операндов. Для процессора эти алгебраические выражения являются готовой программой, но алгебра дополнена операциями тестирования, управления, ввода-вывода. Пользователь может пополнять набор слогов своими операциями и вводить (определять) постфиксные процедуры, использование которых практически не снижает быстродействия, но обеспечивает идеальные условия для структурированного программирования — то, чего не обеспечил Э. Дейкстра, провозглашая великую идею. Результат — трудоемкость программ уменьшилась в 5–10 раз при небывалой надежности, понятности, модифицируемости и т. п., а также компактности и скорости. Это действительно совершенная архитектура, и к ней всё равно придут».
Из интервью Н. П. Брусенцова журналу «Upgrade»:
UP: А «Сетунь-70»?
Н. Б.: К 100-летию со дня рождения Ленина все должны были делать всякие производственные подарки. Разумеется, и мы взяли обязательство к этой дате сделать «Сетунь-70». Но это уже совсем другая машина. Это была стековая машина, вроде наших «Эльбрусов». Но у «Эльбруса» был всего один стек — стек операндов. У PDP-11 также был всего один стек — процедурный. А «Сетунь-70» имела два стека — команд и операндов. Надо сказать, что эти стеки мы сделали независимо от PDP-11, которая появилась позднее. Когда Дейкстра выступил с идеей структурного программирования, мы увидели, что сделали машину как раз для реализации его идеи. Программирование на «Сетунь-70» было даже не структурированное, а структурирующее. Программы получались легко читаемыми и осваиваемыми, легко модифицированными. Главное, что программы не подвергались отладке, а делалась так называемая контрольная сборка. После того как программу сверху вниз написали, ее проходили снизу вверх. В хороших КБ всегда так делается — типичный конструкторский прием. После этого программа оказывается, как правило, безошибочной. Позднее «Сетунь-70» была эмулирована на двоичных машинах в форме диалоговой системы структурного программирования ДССП.
К сожалению, лаборатория Н. П. Брусенцова после создания машины «Сетунь-70» была лишена возможности, а точнее — права заниматься разработкой компьютеров и выселена из помещений ВЦ МГУ на чердак студенческого общежития, лишенный дневного света. Создание ЭВМ — не дело университетской науки, так полагало новое начальство. Первое детище Брусенцова — машина «Сетунь» (экспериментальный образец, проработавший безотказно 17 лет) была варварски уничтожена, — ее разрезали на куски и выбросили на свалку. «Сетунь-70» сотрудники лаборатории забрали на чердак и там на ее основе создали «Наставник» — систему обучения с помощью компьютера. «Наставником» занялись по рекомендации Б. В. Анисимова, который был тогда заместителем председателя НТС Министерства высшего образования СССР. Выслушав Брусенцова, он сказал ему: «Займитесь обучением с помощью компьютера, этого никто не запретит».
ЭВМ «Сетунь-70»
«Мне, конечно, было горько от того, что нас не поняли, но затем я увидел, что это нормальное положение в человеческом обществе, и что я еще легко отделался, — с горьким юмором написал Брусенцов. — А вот Уильям Оккам, проповедовавший трехзначную логику в XIII веке, с большим трудом избежал костра и всю жизнь прожил изгоем. Другой пример — Льюис Кэррол, которому только под личиной детской сказки удалось внедрить его замечательные находки в логике, а ведь эта наука до сих пор их замалчивает и делает вид, что никакого Кэррола не было и нет. Последний пример, показывающий, что и в наши дни дело обстоит так же (если не хуже), — Э. Дейкстра, открывший (в который раз!) идеи структурирования. Сколько было шума — конференция НАТО, сотни статей и десятки монографий, „структурированная революция“ бушевала едва ли не 20 лет, а теперь опять все так, будто ничего и не было.
Полноценная информатика не может ограничиться общепринятой сегодня по техническим причинам двоичной системой — основа должна быть троичной. Как-то я встретился с Глушковым и попытался поговорить об этом. Как истинный алгебраист Глушков сказал тогда, что вопрос о том, включать пустое или не включать, давно решен: включать! Но в действительности все не так просто. Современные математики, в особенности Н. Бурбаки, в самом деле считают, что Аристотель не знал „пустого“, поэтому его логика несовместима с математической логикой и математикой вообще. Если бы они почитали Аристотеля, то могли бы узнать, что именно им введено не только это понятие, но и буквенные обозначения переменных и прочих абстрактных сущностей, которыми кормится современная математика, не всегда осознавая их смысл. Оказалось, что Аристотель за 2300 лет до появления компьютеров и расхожего теперь термина „информатика“ не только заложил достоверные основы этой науки (у него это называлось „аналитика“, „диалектика“, „топика“, „первая философия“), но и поразительно эффективно применил ее методы к исследованию таких областей, как этика, поэтика, психология, политика, о чем мы со своими ЭВМ пока и мечтать боимся.
Отдельные примеры алгебраизации (достоверной) аристотелевской логики я опубликовал в виде статей „Диаграммы Льюиса Кэррола и аристотелева силлогистика“ (1977 г.), „Полная система категорических силлогизмов Аристотеля“ (1982 г.).
У меня налицо убедительные доказательства верности открытого пути. С какой лег-костью была создана „Сетунь“, как просто ее осваивали и продуктивно применяли пользователи во всех областях, и как они плевались, когда пришлось переходить на двоичные машины. Наивысшее достижение сегодня — RISC-архитектура — машины с сокращенным набором команд (типично — 150 команд), но где им до „Сетуни“, у которой 24 команды обеспечивали полную универсальность и несвойственные RISC эффективность и удобство программирования! Истинный RISC может быть только троичным.
В сущности мы его уже сделали, это „Сетунь-70“ — машина, в которой неизвестные в то время (1966–1968 гг.) RISC-идеи счастливо соединились с преимуществами трехзначной логики, троичного кода и структурированного программирования Э. Дейкстры, реализованного как наиболее совершенная и эффективная его форма — процедурное программирование в условиях двухстековой архитектуры. Впоследствии на этой основе была создана реализуемая на имевшихся двоичных машинах диалоговая система структурированного программирования ДССП, а в ней множество высокоэффективных, надежных и поразительно компактных продуктов, таких как „Наставник“, кросс-системы программирования микрокомпьютеров, системы разработки технических средств на базе однокристальных микропроцессоров, системы обработки текстов, управления роботами-манипуляторами, медицинский мониторинг и многое другое.
(adsbygoogle = window.adsbygoogle || []).push({});