История вычислительной техники в лицах
Шрифт:
Внутри лаборатории функции распределялись так. Запоминающими устройствами занимались СП. Маслов и В.В. Веригин, к которым позднее подключилась поступившая к нам Н.С. Карцева (жена М.А. Карцева, окончившая вместе с ним наш РТФ МЭИ); управлением внешних устройств занималась А.М. Тишулина, выпускница ЭВПФ МЭИ. выполнившая в нашей лаборатории дипломную работу по созданию устройства быстрого умножения. Дипломники из МЭИ, МВТУ, МИФИ, МИЭМ, Лесотехнического института и др. работали в лаборатории регулярно и немало делали, надеюсь, не без пользы для себя. В.П. Розин, окончивший физфак МГУ по ядерной физике, достался нам в качестве лаборанта, которому не находилось применения, однако он явился для меня надежной опорой в ответственнейшем деле бездефектного изготовления элементов, включая отбраковку ферритовых сердечников и дирдов".
Постановлением Совмина СССР серийное производство ЭВМ "Сетунь" было поручено Казанскому заводу математических машин. Первый
ЭВМ "Сетунь". Промышленный образец
Желания наладить крупносерийное производство у завода не было, выпускали по 15-20 машин в год. Вскоре и от этого отказались: "Сетунь" поставляли за 27,5 тыс. руб., так что смысла отстаивать ее не было - слишком дешева. Тот факт, что машины надежно и продуктивно работали во всех климатических зонах от Калининграда до Магадана и от Одессы и Ашхабада до Новосибирска и Якутска, причем, без какого-либо сервиса и, по существу, без запасных частей, говорит сам за себя. Казанский завод выпустил 50 ЭВМ "Сетунь", 30 из них работали в высших учебных заведениях СССР.
К машине проявили значительный интерес за рубежом. Внешторг получил заявки из ряда стран Европы, не говоря уж о соцстранах Но ни одна из них не была реализована.
В 1961-1968 гг. на основе опыта "Сетуни" Брусенцов вместе с Жоголевым разработали архитектуру новой машины, названной затем "Сетунь-70". Алгоритм ее функционирования был с исчерпывающей полнотой записан на несколько расширенном "Алголе-60" (за рубежом подобное делали затем на специально изобретаемых языках описания архитектуры, например, на ISP). Это описание заведующий ВЦ МГУ И.С. Березин утвердил в 1968 г. в качестве ТЗ на машину. Оно задавало инженерам предписание того, какую машину надлежит сделать, а программисты имели точное до битов описание, позволявшее заблаговременно создавать для нее программное оснащение, готовить эмуляторы ее архитектуры на имевшихся машинах и т.д. Было намечено, что к 1970 г лаборатория Брусенцова создаст действующий образец, а отдел Жоголева - систему программного обеспечения. "Сроки были в обрез, но в апреле 1970 г. образец уже действовал, - писал Н.П. Брусенцов. Работал он на тестах, которые мне пришлось написать самому, потому что Жоголев не сделал по своей части буквально ничего. Он увлекся другой работой в сотрудничестве с Дубной. Машину мы все же "оседлали", помог программист из команды Жоголева - Рамиль Альварес Хосе, а еще через год, "слегка" модернизировав "Сетунь-70", сделали ее машиной структурированного программирования. (Об этом подробно см. статью Н.П. Брусенцова и др. в сборнике "Вычислительная техника и вопросы кибернетики" вып. 15. МГУ, 1978; там же - о преимуществах троичности.
– Прим. авт.).
Машина задумана так, что обеспечивалась эффективная возможность ее программного развития. Теперь это называют RISC-архитектурой. Троичность в ней играет ключевую роль. Команд в традиционном понимании нет - они виртуально складываются из слогов (слоги-адреса, слоги-операции, длина слога - 6 тритов, иначе; трайт - троичный аналог байта). Длина и адресность команд варьируются по необходимости, начиная с нульадресной. На самом деле программист не думает о командах, а пишет в постфиксной форме (ПОЛИЗ) выражения, задающие вычисления над стеком операндоа Для процессора эти алгебраические выражения являются готовой программой, но алгебра дополнена операциями тестирования, управления, ввода-вывода. Пользователь может пополнять набор слогов своими операциями и вводить (определять) постфиксные процедуры, использование которых практически не снижает быстродействия, но обеспечивает идеальные условия для структурированного программирования - то, чего не обеспечил Э. Дейкстра, провозглашая великую идею. Результат - трудоемкость программ уменьшилась в 5-10 раз при небывалой надежности, понятности, модифицируемости и т.п, а также компактности и скорости. Это действительно совершенная архитектура и к ней все равно придут".
К сожалению, лаборатория Н.П. Брусенцова после создания машины "Сетунь-70" была лишена возможности, а точнее - права заниматься разработкой компьютеров и выселена из помещений ВЦ МГУ на чердак студенческого общежития, лишенный дневного света. Создание ЭВМ - не дело университетской науки, так полагало новое начальство. Первое детище Брусенцова - машина "Сетунь" (экспериментальный
образец, проработавший безотказно 17 лет) была варварски уничтожена, - ее разрезали на куски и выбросили на свалку. "Сетунь-70" сотрудники лаборатории забрали на чердак и там на ее основе создали "Наставник" - систему обучения с помощью компьютера. "Наставником" занялись по рекомендации Б.В. Анисимова, который был тогда заместителем председателя НТС Министерства высшего образования СССР. Выслушав Брусенцова, он сказал ему: "Займитесь обучением с помощью компьютера, этого никто не запретит"."Мне, конечно, было горько от того, что нас не поняли, но затем я увидел, что это нормальное положение в человеческом обществе, и что я еще легко отделался, - с горьким юмором написал Брусенцов.
– А вот Уильям Оккам, проповедовавший трехзначную логику в XIII веке, с большим трудом избежал костра и всю жизнь прожил изгоем. Другой пример - Льюис Кэррол, которому только под личиной детской сказки удалось внедрить его замечательные находки в логике, а ведь эта наука до сих пор их замалчивает и делает вид, что никакого Кэррола не было и нет. Последний пример, показывающий, что и в наши дни дело обстоит так же (если не хуже), - Э. Дейкстра, открывший (в который раз!) идеи структурирования. Сколько было шума - конференция НАТО, сотни статей и десятки монографий, "структурированная революция" бушевала едва ли не 20 лет, а теперь опять все так, будто ничего и не было.
Полноценная информатика не может ограничиться общепринятой сегодня по техническим причинам двоичной системой - основа должна быть троичной. Как-то я встретился с Глушковым и попытался поговорить об этом. Как истинный алгебраист Глушков сказал тогда, что вопрос о том, включать пустое или не включать, давно решен: включать! Но в действительности все не так просто. Современные математики, в особенности Н. Бурбаки, в самом деле считают, что Аристотель не знал "пустого", поэтому его логика несовместима с математической логикой и математикой вообще. Если бы они почитали Аристотеля, то могли бы узнать, что именно им введено не только это понятие, но и буквенные обозначения переменных и прочих абстрактных сущностей, которыми кормится современная математика, не всегда осознавая их смысл. Оказалось, что Аристотель за 2300 лет до появления компьютеров и расхожего теперь термина "информатика" не только заложил достоверные основы этой науки (у него это называлось "аналитика", "диалектика", "топика", "первая философия"), но и поразительно эффективно применил ее методы к исследованию таких областей как этика, поэтика, психология, политика, о чем мы со своими ЭВМ пока и мечтать боимся.
Отдельные примеры алгебраизации (достоверной) аристотелевской логики я опубликовал в виде статей "Диаграммы Льюиса Кэррола и аристотелева силлогистика" (1977 г.), "Полная система категорических силллогизмов Аристотеля" (1982 г.).
У меня налицо убедительные доказательства верности открытого пути. С какой легкостью была создана "Сетунь", как просто ее осваивали и продуктивно применяли пользователи во всех областях, и как они плевались, когда пришлось переходить на двоичные машины. Наивысшее достижение сегодня - RISC-архитектура - машины с сокращенным набором команд (типично - 150 команд), но где им до "Сетуни", у которой 24 команды обеспечивали полную универсальность и несвойственные RISC эффективность и удобство программирования! Истинный RISC может быть только троичным.
В сущности мы его уже сделали, это "Сетунь-70" - машина, в которой неизвестные в то время (1966-1968 гг.) RISC- идеи счастливо соединились с преимуществами трехзначной логики, троичного кода и структурированного программирования Э. Дейкстры, реализованного как наиболее совершенная и эффективная его форма - процедурное программирование в условиях двухстековой архитектуры. Впоследствии на этой основе была создана реализуемая на имевшихся двоичных машинах диалоговая система структурированного программирования ДССП, а в ней множество высокоэффективных, надежных и поразительно компактных продуктов, таких как "Наставник", кросс-системы программирования микрокомпьютеров, системы разработки технических средств на базе однокристальных микропроцессоров, системы обработки текстов, управления роботами-манипуляторами, медицинский мониторинг и многое другое.
Сейчас мы развиваем ДССП в "процедурный ЛИСП". Известно, что ЛИСП единственный язык, на котором можно сделать все: от управления простейшими системами до проблем искусственного интеллекта и логического программирования. Но ЛИСП с его функциональным программированием и списковыми структурами программ и данных - это магия, доступная немногим. Мы обеспечим те же (и больше) возможности, но без магии, К сожалению, приходится делать это не на троичной машине и полного совершенства достичь не удается, но и в двоичной среде многое можно значительно упростить и улучшить. Правда, отдельные фрагменты трехзначной логики используются в двоичной ДСПП как логика знаков чисел (-, 0, +), также в виде трехзначных операций коныонкции и дизъюнкции, существенно ускоряющих принятие решений.