UP: Сто тысяч рублей — это символическая плата?
Н. Б.: Ну конечно! Те 2,5 года, которые в КБ разрабатывали М-20, обошлись в десятки миллионов рублей. Что такое КБ того времени? Это несколько сот человек с высокой оплатой по первой категории и т. д. Позднее я узнал, что чехам говорили: все равно мы эту машину снимем с производства, так что вы ее не заказывайте. Вот так все и закончилось с «Сетунью». В начале 70-х нас из главного корпуса ВЦ переселили на чердак. «Сетунь», несмотря на то, что она была полностью исправной и загруженной задачами, через пару лет была уничтожена — ее разрезали и выкинули на свалку.
В 1961–1968 годах на основе опыта «Сетуни» Брусенцов вместе с Жоголевым разработали архитектуру новой машины, названной затем «Сетунь-70». Алгоритм ее функционирования был с исчерпывающей полнотой записан на несколько расширенном «Алголе-60» (за рубежом подобное делали затем на специально изобретаемых языках описания архитектуры, например, на ISP). Это описание заведующий ВЦ МГУ И. С. Березин утвердил в 1968 году в качестве ТЗ на машину. Оно задавало инженерам предписание того, какую машину надлежит сделать, а программисты имели точное до битов описание, позволявшее заблаговременно создавать для нее программное оснащение, готовить эмуляторы ее архитектуры на имевшихся машинах и т. д. Было намечено, что к 1970 году лаборатория Брусенцова создаст действующий образец, а отдел Жоголева — систему программного обеспечения. «Сроки были в обрез, но в апреле 1970 г. образец уже действовал, — писал Н. П. Брусенцов. — Работал он на тестах, которые мне пришлось написать самому, потому что Жоголев не сделал по своей части буквально ничего. Он увлекся другой работой в сотрудничестве с Дубной. Машину мы все же „оседлали“, помог программист из команды Жоголева — Рамиль Альварес Хосе, а еще через год, „слегка“ модернизировав „Сетунь-70“, сделали ее машиной структурированного программирования [73] Об этом подробно см. статью Н. П. Брусенцова и др. в сборнике «Вычислительная техника и вопросы кибернетики», вып. 15. МГУ, 1978; там же — о преимуществах троичности. — Прим. авт.
.
Машина задумана так, что обеспечивалась эффективная возможность ее программного развития. Теперь это называют RISC-архитектурой. Троичность в ней играет ключевую роль. Команд в традиционном понимании нет — они виртуально складываются из слогов (слоги-адреса, слоги-операции, длина слога — 6 тритов, иначе; трайт — троичный аналог байта). Длина и адресность команд варьируются по необходимости, начиная с нульадресной. На самом деле программист не думает о командах, а пишет в постфиксной форме (ПОЛИЗ) выражения, задающие вычисления над стеком операндов. Для процессора эти алгебраические выражения являются готовой программой, но алгебра дополнена операциями тестирования, управления, ввода-вывода. Пользователь может пополнять набор слогов своими операциями и вводить (определять) постфиксные процедуры, использование которых практически не снижает быстродействия, но обеспечивает идеальные условия для структурированного программирования — то, чего не обеспечил Э. Дейкстра, провозглашая великую идею. Результат — трудоемкость программ уменьшилась в 5–10 раз при небывалой надежности, понятности, модифицируемости и т. п., а также компактности и скорости. Это действительно совершенная архитектура, и к ней всё равно придут».
Из интервью Н. П. Брусенцова журналу «Upgrade»:
UP: А «Сетунь-70»?
Н. Б.: К 100-летию со дня рождения Ленина все должны были делать всякие производственные подарки. Разумеется, и мы взяли обязательство к этой дате сделать «Сетунь-70». Но это уже совсем другая машина. Это была стековая машина, вроде наших «Эльбрусов». Но у «Эльбруса» был всего один стек — стек операндов. У PDP-11 также был всего один стек — процедурный. А «Сетунь-70» имела два стека — команд и операндов. Надо сказать, что эти стеки мы сделали независимо от PDP-11, которая появилась позднее. Когда Дейкстра выступил с идеей структурного программирования, мы увидели, что сделали машину как раз для реализации его идеи. Программирование на «Сетунь-70» было даже не структурированное, а структурирующее. Программы получались легко читаемыми и осваиваемыми, легко модифицированными. Главное, что программы не подвергались отладке, а делалась так называемая контрольная сборка. После того как программу сверху вниз написали, ее проходили снизу вверх. В хороших КБ всегда так делается — типичный конструкторский прием. После этого программа оказывается, как правило, безошибочной. Позднее «Сетунь-70» была эмулирована на двоичных машинах в форме диалоговой системы структурного программирования ДССП.
Читать дальше
Конец ознакомительного отрывка
Купить книгу