Информационные технологии в СССР — страница 63 из 81

пришлось сдавать на заводе, потому что заводские начальники при помощи присланной из Минрадиопрома комиссии пытались доказать, что машина (принятая Межведомственной комиссией и успешно работающая на ВДНХ) неработоспособна и не годится для производства. «Пришлось собственными руками привести заводской (второй) образец в соответствие с нашей документацией, — вспоминает Брусенцов. — И на испытаниях он показал 98 % полезного времени при единственном отказе (пробился диод на телетайпе), а также солидный запас по сравнению с ТУ по климатике и вариациях напряжения сети. 30.11.61 г. директор завода вынужден был подписать акт, положивший конец его стараниям похоронить неугодную машину».

Желания наладить крупносерийное производство у завода не было, выпускали по 15–20 машин и год. Вскоре и от этого отказались: «Сетунь» поставляли за 27,5 тыс. руб., так что смысла отстаивать ее не было — слишком дешева. Тот факт, что машины надежно и продуктивно работали во всех климатических зонах от Калининграда до Магадана и от Одессы и Ашхабада до Новосибирска и Якутска, причем, без какого-либо сервиса и, по существу, без запасных частей, говорит сам за себя. Казанский завод выпустил 50 ЭВМ «Сетунь», 30 из них работали в высших учебных заведениях СССР.

ЭВМ «Сетунь», серийный образец. ВДНХ, 1961 год


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

Из интервью Н. П. Брусенцова журналу «Upgrade»:

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

Н. Б.: Да. Кстати, интересно сравнить «Сетунь» и PDP-8. Процессор PDP-8 — восьмибитный. У «Сетуни» процессор в пересчете на биты был 30-битным. PDP-8 стоила 20 тысяч долларов без всякой периферии[72], только один процессорный блок. Считалось, что это рекордно низкая цена.

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

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

UP: Сто тысяч рублей — это символическая плата?

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

В 1961–1968 годах на основе опыта «Сетуни» Брусенцов вместе с Жоголевым разработали архитектуру новой машины, названной затем «Сетунь-70». Алгоритм ее функционирования был с исчерпывающей полнотой записан на несколько расширенном «Алголе-60» (за рубежом подобное делали затем на специально изобретаемых языках описания архитектуры, например, на ISP). Это описание заведующий ВЦ МГУ И. С. Березин утвердил в 1968 году в качестве ТЗ на машину. Оно задавало инженерам предписание того, какую машину надлежит сделать, а программисты имели точное до битов описание, позволявшее заблаговременно создавать для нее программное оснащение, готовить эмуляторы ее архитектуры на имевшихся машинах и т. д. Было намечено, что к 1970 году лаборатория Брусенцова создаст действующий образец, а отдел Жоголева — систему программного обеспечения. «Сроки были в обрез, но в апреле 1970 г. образец уже действовал, — писал Н. П. Брусенцов. — Работал он на тестах, которые мне пришлось написать самому, потому что Жоголев не сделал по своей части буквально ничего. Он увлекся другой работой в сотрудничестве с Дубной. Машину мы все же „оседлали“, помог программист из команды Жоголева — Рамиль Альварес Хосе, а еще через год, „слегка“ модернизировав „Сетунь-70“, сделали ее машиной структурированного программирования[73].

Машина задумана так, что обеспечивалась эффективная возможность ее программного развития. Теперь это называют RISC-архитектурой. Троичность в ней играет ключевую роль. Команд в традиционном понимании нет — они виртуально складываются из слогов (слоги-адреса, слоги-операции, длина слога — 6 тритов, иначе; трайт — троичный аналог байта). Длина и адресность команд варьируются по необходимости, начиная с нульадресной. На самом деле программист не думает о командах, а пишет в постфиксной форме (ПОЛИЗ) выражения, задающие вычисления над стеком операндов. Для процессора эти алгебраические выражения являются готовой программой, но алгебра дополнена операциями тестирования, управления, ввода-вывода. Пользователь может пополнять набор слогов своими операциями и вводить (определять) постфиксные процедуры, использование которых практически не снижает быстродействия, но обеспечивает идеальные условия для структурированного программирования — то, чего не обеспечил Э. Дейкстра, провозглашая великую идею. Результат — трудоемкость программ уменьшилась в 5–10 раз при небывалой надежности, понятности, модифицируемости и т. п., а также компактности и скорости. Это действительно совершенная архитектура, и к ней всё равно придут».

Из интервью Н. П. Брусенцова журналу «Upgrade»:

UP: А «Сетунь-70»?

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

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

ЭВМ «Сетунь-70»


«Мне, конечно, было горько от того, что нас не поняли, но затем я увидел, что это нормальное положение в человеческом обществе, и что я еще легко отделался, — с горьким юмором написал Брусенцов. — А вот Уильям Оккам, проповедовавший трехзначную логику в XIII веке, с большим трудом избежал костра и всю жизнь прожил изгоем. Другой пример — Льюис Кэррол, которому только под личиной детской сказки удалось внедрить его замечательные находки в логике, а ведь эта наука до сих пор их замалчивает и делает вид, что никакого Кэррола не было и нет. Последний пример, показывающий, что и в наши дни дело обстоит так же (если не хуже), — Э. Дейкстра, открывший (в который раз!) идеи структурирования. Сколько было шума — конференция НАТО, сотни статей и десятки монографий, „структурированная революция“ бушевала едва ли не 20 лет, а теперь опять все так, будто ничего и не было.

Полноценная информатика не может ограничиться общепринятой сегодня по техническим причинам двоичной системой — основа должна быть троичной. Как-то я встретился с Глушковым и попытался поговорить об этом. Как истинный алгебраист Глушков сказал тогда, что вопрос о том, включать пустое или не включать, давно решен: включать! Но в действительности все не так просто. Современные математики, в особенности Н. Бурбаки, в самом деле считают, что Аристотель не знал „пустого“, поэтому его логика несовместима с математической логикой и математикой вообще. Если бы они почитали Аристотеля, то могли бы узнать, что именно им введено не только это понятие, но и буквенные обозначения переменных и прочих абстрактных сущностей, которыми кормится современная математика, не всегда осознавая их смысл. Оказалось, что Аристотель за 2300 лет до появления компьютеров и расхожего теперь термина „информатика“ не только заложил достоверные основы этой науки (у него это называлось „аналитика“, „диалектика“, „топика“, „первая философия“), но и поразительно эффективно применил ее методы к исследованию таких областей, как этика, поэтика, психология, политика, о чем мы со своими ЭВМ пока и мечтать боимся.