Материал: Malinovsky_Essay_unique_rus

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Как собирали первый экземпляр "Сетуни"? Во-первых, троичная машина оказалась намного регулярней и гармоничней, чем двоичные, поэтому проектирование ее не было мучительным и в проекте практически не было ошибок. На последнем этапе исправления потребовала только схема нормализации, а все прочее пошло сходу. Во-вторых, логические пороговые элементы были в такой степени отработаны и исследованы на физическом уровне, что дальнейшее построение из них устройств производилось по четко установленным правилам, не затрагивая более вопросов технической реализации. В-третьих, требования к существенным характеристикам всех деталей, элементов, узлов и блоков были четко определены и строго контролировались на соответствующих этапах изготовления при помощи специально разработанных для этого стендов, сравнительно простых, но проверяющих именно те параметры, от которых зависела правильность и надежность функционирования. Все это вместе создало условия, в которых ошибки своевременно устранялись на самых ранних стадиях, а необходимость переделок была сведена к минимуму. Работа была проделана в короткие сроки и необыкновенно малыми силами. Осенью 1956 г., когда возникла идея троичного кода, в лаборатории было, кроме меня самого, два выпускника физфака МГУ (С.П. Маслов и В.В. Веригин), два выпускника факультета ЭВПФ МЭИ (В.С. Березин и Б.Я. Фельдман) и 5 техников или лаборантов, в большинстве подготовленных мной из учившихся до того специальностям электрика или механика. К концу 1958 г, когда машина стала функционировать, число сотрудников лаборатории приближалось к 20. Механические работы по изготовлению блоков, стоек, а также плат, на которых монтировались элементы, выполнялись по нашим эскизам в мастерской ВЦ и отчасти в мастерских физического факультета. Кроме того, первый вариант ЗУ на магнитном барабане был разработан по нашим спецификациям отделом Л.С. Легезо, работавшим в тесном контакте с нами. Впоследствии это устройство с несерийным барабаном на базе гироскопа с ламповой электроникой было заменено магнитно-полупроводниковым блоком с барабаном от машины "Урал".

Производственный процесс был организован так. Все мы работали в одной комнате площадью около 60 кв. м , уставленной лабораторными столами, на которых находились полученные по протекции Соболева списанные осциллографы ИО-3 и источники питания УИП-1. Все прочее проектировали и строили сами - стенды для исследования и сортировки ферритов, диодов, проверки ячеек, блоков. Рабочий день начинался "зарядкой": каждый сотрудник лаборатории, не исключая заведующего, получал пять ферритовых сердечников диаметром три миллиметра, предварительно проверенных на стенде, и при помощи обычной иголки наматывал на каждый пятьдесят два витка обмотки. Затем эти сердечники использовались лаборантами и техниками, которые наматывали на них обмотку питания и управляющие обмотки с меньшим числом витков (5 и 12 соответственно), монтировали ячейку на плате, припаивали диоды, проверяли кондиционность параметров, проставляли маркировку и личное клеймо контролера. Затем ячейки устанавливались в блоках (до 15 штук), и производился монтаж сигнальных и питающих проводов по монтажной схеме. Далее на стенде проверялась выполняемая блочком логическая функция (сумматор, дешифратор, распределитель управляющих импульсов того или иного типа...). Блочки устанавливались в блок, и проверялись функции, выполняемые блоком. Наконец, блоки устанавливались в стойку, выполнялся и проверялся межблочный монтаж жгутов. После этого, как правило, все работало, а если что-то не так, то обнаружить и исправить было сравнительно легко.

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

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

Желания наладить крупносерийное производство у завода не было, выпускали по 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, +), также в виде трехзначных операций конъюнкции и дизъюнкции, существенно ускоряющих принятие решений.

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

Тяготы войны и напряженная работа без достаточного отдыха сказались на здоровье: в конце семидесятых годов Н.П. Брусенцов тяжело заболел.

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

Прав или не прав Н.П. Брусенцов - покажет время. Со своей стороны приведу лишь один факт. В декабре 1993 г. я встретился с известным специалистом в области компьютерной науки профессором С.В. Клименко, работающим в вычислительном центре Института физики высоких энергий (г. Протвино Московской области). Ученый только что возвратился из США, где по просьбе американской стороны прочитал небольшой курс лекций по истории развития компьютерной науки и техники в Советском Союзе. На мой вопрос - о чем и о ком спрашивали его американские слушатели, он ответил: "Почему-то только о Брусенцове и его машине "Сетунь".

Мы же по-прежнему считаем - нет пророков в своем отечестве! А может, интерес американцев к троичной ЭВМ и ее творцу не случаен?..

В настоящее время Николай Петрович Брусенцов заведует лабораторией ЭВМ факультета вычислительной математики и кибернетики Московского государственного университета им. М.В. Ломоносова. Основными направлениями его научной деятельности являются: архитектура цифровых машин, автоматизированные системы обучения, системы программирования для мини- и микрокомпьютеров. ЭВМ "Сетунь-70" до сих пор успешно используется в учебном процессе в Московском университете. Н.П. Брусенцов является научным руководителем тем, связанных с созданием микрокомпьютерных обучающих систем и систем программирования. Им опубликовано более 100 научных работ, в том числе монографии "Малая цифровая вычислительная машина "Сетунь" (1965 г.), "Миникомпьютеры" (1979 г.), "Микрокомпьютеры" (1985 г.), учебное пособие "Базисный Фортран" (1982 г.). Он имеет 11 авторских свидетельств на изобретения. Награжден орденом "Знак Почета", Большой золотой медалью ВДНХ СССР. Лауреат премии Совета Министров СССР.

Основоположник нетрадиционной компьютерной арифметики

Израиль Яковлевич Акушский родился 30 июля 1911 г. в Днепропетровске в семье главного раввина города, ставшего после революции учителем.

Еще обучаясь в Московском государственном университете, начал работать вычислителем в Научно-исследовательском институте математики и механики МГУ.

Его наставником был Л.А. Люстерник, создатель функционального анализа, работавший в Математическом институте им. В.С. Стеклова АН СССР. В то время техника вычислений мало кого интересовала, Люстерник был скорее исключением. Однако благодаря надвигавшейся войне это направление в математике стало быстро развиваться. Математическому институту, куда в 1936 г. перешел на работу Акушский (на должность младшего научного сотрудника), была поручена разработка таблиц стрельбы для артиллерийских орудий и навигационных таблиц для военной авиации. С этой целью в 1939 году в институте была создана первая в стране вычислительная лаборатория, руководителем которой и был назначен Акушский. Объем вычислений намечался по тем временам грандиозный, и, естественно, возник вопрос - на чем считать, чтобы вовремя справиться с заданиями. В те годы для этих целей использовались арифмометры, счеты, логарифмические линейки. Выпуск счетно-перфорационных машин в стране только начинался. Между тем в США фирма IBM уже выпускала надежную технику. В 1940 г. она привезла в Москву и выставила в Политехническом музее комплект счетно-аналитических машин. Фирма производимые ею машины не продавала, а только сдавала в аренду, поэтому купить их не было никакой возможности. В результате неимоверных усилий Акушского комплект машин из Политехнического музея был перебазирован в Математический институт, где и поступил в распоряжение вычислительной лаборатории, ставшей таким образом первой лабораторией механизированного счета - зародышем будущих вычислительных центров. "В 1942 г. фирма IBM попросила Политехнический музей вернуть машины в США, - вспоминает И.Я. Акушский. - Естественно, руководство музея переслало этот запрос Математическому институту. Мне предстояло подготовить ответ. Разумеется, о возвращении машин не могло было и речи - это лишило бы институт возможности выполнения ряда важных оборонных заданий.

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

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

С началом войны большая часть института была эвакуирована, но часть сотрудников, в том числе и Акушский, оставалась в Москве, работая на армию. Считали штурманские таблицы для авиации. Не раз в институт приезжал М.М. Громов, сподвижник легендарного Чкалова и шел прямо к И.Я. Акушскому за очередными результатами. На предложение зайти к руководству, смеясь, отвечал, что руководства у него и своего достаточно, а сюда он приехал по делу к Акушскому. Иногда он забирал его с собой в краткосрочные командировки. Встревоженной жене Громов обещал вернуть мужа в целости и сохранности, потом они ехали на аэродром, за несколько часов оказывались где-нибудь в Саратове, где выполнялась очередная срочная работа. Акушский консультировал или проверял работу вычислителей, и к утру возвращались в Москву.

Но бывали и другие ситуации. Однажды ночью Акушского забрали на Лубянку. Там же оказался и начальник его отдела. Разговаривали с ними сухо и официально: "По вашим методикам составлялись штурманские таблицы для полетов авиации?" - "Да". - "Несколько дней назад на Дальнем Востоке из полета не вернулся самолет, выполнявший особое задание. Связь с ним потеряна, если его не найдут, вы будете отвечать по законам военного времени!". Когда удалось справиться с нервами, Акушский переспросил: "На Дальнем Востоке?" - "Да". - "Скорее всего, штурман самолета не учел факт перехода за 180-й меридиан, где поправки надо брать с противоположным знаком! Есть какие-либо данные об их маршруте?" Когда такие данные были предоставлены, он рассчитал траекторию возможного движения самолета. По этим данным нашли остатки самолета, и сотрудников института с извинениями отпустили.