Завкафедрой системного программирования Матмеха СПбГУ, профессор, доктор физмат наук, президент компании «Ланит-Терком» Андрей Николаевич Терехов — о том, как делал первый в СССР транслятор языков Алгол 68 и Ада, о силе обкома КПСС и рождении «Самсона», который никогда не ломался.
Начало
— Мой отец попал под знаменитое хрущевское сокращение в 1960 году. Миллион двести тысяч человек одномоментно уволили из армии. В это время он, инженер-полковник, был замом командира авиационного корпуса в Крыму по особой части самолета — так тогда называли самолетную электронику. Но поскольку он родом из Ленинграда, здесь жили мать и сестра, он за три месяца получил квартиру. Так в 1960-м я оказался в Ленинграде. До этого много поездил по стране, а родился в Азербайджане.
Андрей Терехов, Прикарпатье, 1960-е годы
В учебе я не особо выделялся, но моя учительница математики посоветовала после 8 класса поступить в математическую школу — 157-ю. Она и сейчас стоит у Смольного, а тогда была просто знаменитой. Школа Академии педнаук, она даже ГорОНО не подчинялась. И я на пятом автобусе от кольца до кольца ездил каждый день из Невского района к Смольному и обратно.
Гимназия №157 с 1999 года носит имя принцессы Евгении Ольденбургской. С 1968 по 1973 г. школа была официальной экспериментальной площадкой АПН СССР
В школе у нас были две машины «Урал»-1, и получилось так, что я к тому времени уже умел на них программировать. В армии отец работал в основном на аналоговой технике, а на гражданке столкнулся с цифровой. В 46 лет разобраться во всех перипетиях цифровой логики ему было сложно. Он купил книгу Китова и Криницкого (Китов А. И., Криницкий Н. А. «Электронные цифровые машины и программирование», Москва, 1959 г. — Прим. ред.), сунул мне в нос и сказал: «Читай! Будешь потом толковать». Я попытался взбрыкнуть, получил подзатыльник. Папа-полковник — воспитатель жесткий, но он хорошо в меня все вбил. Когда я к своим детям попытался применить такие же методы, жена, как тигрица, кинулась: «Не тронь!» Поэтому мои дети программируют хуже меня.
Перворазрядник
Окончив 10 класс, я получил первый разряд программиста, самый маленький. В 1966-м одновременно выпустились 10-й и 11-й классы. Одиннадцатиклассникам давали третий разряд, это намного выше моего первого. Но нос я задрал и провалил экзамен на Матмех. За сочинение получил 3 балла — неправильно написал слово привилегия. Тема по роману Шолохова называлась «Борьба с врагами советской власти» — как-то так.
Поступил на вечерний. Долго не мог устроиться на работу, потому что лет было мало, а программисты тогда трудились в основном в секретных компаниях. И все же я сумел попасть в «Ленэлектронмаш». Сначала был мальчиком на побегушках, но буквально через неделю начальник вычислительного центра Борис Иванович Зубарев увидел мой разряд. Оказалось, я там единственный дипломированный специалист по программированию, все остальные — чайники. И меня сделали руководителем группы служебного программирования — так тогда называлось системное программирование. Мой стаж системного программиста — больше полувека.
НТПО «Ленэлектронмаш» было создано в 1965 году для централизации разработки и внедрения систем управления на ленинградских предприятиях. Его главный ВЦ был расположен в здании бывшего Императорского училища правоведения имени принца Петра Ольденбургского
В «Ленэлектронмаше» была машина «Минск»-22 и даже не одна. Я на ней работал, и руководил четырьмя подчиненными, которые были на 10 лет старше меня. Сначала смущался, потом как-то привык. Оказалось, команда — это даже хорошо. Мне коньяк не продавали, а им — пожалуйста.
Когда на вечернем я с отличием окончил первый курс, меня автоматически перевели на дневное, даже не спросив. Но в «Ленэлектронмаше» оставили на полную ставку, хотя это было нарушением закона. Я еще лет пять работал руководителем группы служебного программирования, даже когда Матмех окончил.
«Минск»-22, иллюстрация 1965 года
Забавная история произошла на распределении. Оно в те годы было довольно жестким, не выполнишь — могли в тюрьму посадить. Государство платило за обучение, а значит, ты должен был отработать. Мне предложили стать начальником отдела Управления статистики с окладом 250 рублей. Каково же было изумление комиссии, когда я отказался. «А куда пойдете?» — спрашивают. «Поройтесь!» — отвечаю. Порылись и нашли направление в ВЦ ЛГУ с окладом 105 рублей. Меня это устроило. Председатель комиссии: «Как? Там 250 рублей, а тут 105!» — «Ничего страшного. Туда я не хочу».
Андрей Терехов принимает воинскую присягу. 1970 год
Дело в том, что в Управлении статистики я халтурил, работу эту знал и коров считать не хотел, а в ЛГУ все-таки наука. Тем более что и здесь я тоже работал с третьего курса — вообще тогда в шести местах программировал.
Университет
Моим научным руководителем был знаменитый ученый Григорий Самуилович Цейтин — один из основателей теории сложности алгоритмов. И вот он принес к нам в группу, которая тогда называлась «Лаборатория системного программирования», идею реализовывать Алгол 68. Честно сказал, что это самый трудный язык программирования в мире, пытался нас напугать. Но мы были молодые, нахальные. Стали делать.
Работали много лет, книжку написали «Алгол 68: методы реализации», там больше половины — мой текст. Когда начинали, с нами были доктор наук, 5 кандидатов и 15 студентов. Потом оказалось, что мы делаем транслятор для ЕС ЭВМ, которая тогда еще не была создана. Но были две ворованные айбиэмихи — настоящие, оригинальные — в НИЦЭВТ в Москве. Продажа в СССР современной техники была строго запрещена американскими законами. Но, как в одном еврейском анекдоте, «трудно было, но сумели».
Здание НИЦЭВТ на Варшавском шоссе — самое длинное в Москве — известно как «лежачий небоскреб»
Две машины купили, стояли они на Варшавском шоссе, и вот мы, молодежь, туда ездили. Время нам давали ночами, потому что днем работают только москвичи, а ночью — все остальные. Мы жили в гостинице НИЦЭВТ, в которой останавливались также иностранцы — чехи, венгры, немцы. Горничные были абсолютно уверены, что мы бандиты, потому что ночью отсутствуем, а днем спим и всегда табличка «не беспокоить». Потом познакомились, как-то объяснились, но поначалу они смотрели на нас с ужасом. Что за люди, которые каждый вечер куда-то уходят? Зато мы насобачились работать на IBM 360, и когда появились ЕС ЭВМ, были уже корифеями, нам все в рот смотрели.
Работа ночью имеет свои преимущества. За тобой никто не следит. Вот стоит АЦПУ — алфавитно-цифровое печатное устройство советское, а рядом — американское. Наше все время ломается, американское почему-то нет. Мы тихой сапой кабель раз — и работаем всю ночь на хорошем американском, а утром переключаем обратно. Днем бы нам никто не дал этого сделать. И так во всем — наловчились работать. Я до сих пор помню систему команд, операционную систему. Думаю, и сегодня могу на ней программировать. Потому что мейнфре́йм практически не изменился, то есть Job Control Language, система команд, трансляторы — я слежу по курсовым своих студентов и все узнаю через полвека.
Андрей Терехов в походе, 1975 год
В общем, сделали мы первый в СССР транслятор с Алгол 68. Потом я из Венгрии, где три месяца читал лекции, привез описание стандарта министерства обороны США — язык Ада. И мы сделали первый в СССР транслятор с языка Ада тоже. Потом еще занимались языками искусственного интеллекта, но это отдельная история.
Оборонный заказ
Перелом в моей судьбе произошел в конце 1980 года. Оборонный отдел Обкома партии обратился в Университет за помощью в освоении цифровой вычислительной техники. Не только мой отец не мог понять, как это работает, хотя прошло уже 20 лет. Они работали не просто архаично, а как-то по-древнему, совершенно на коленке. На тумблерах, в двоичных кодах, на перфокартах.
Был такой знаменитый заказ «Кавказ»-1 — правительственная междугородная связь. Тогда это было совершенно секретно, сейчас уже опубликовано. Его делали 15 лет, не могли закончить и вот поручили нам помогать. Там сменили главного конструктора, куча людей работала. Мы добились технологического прорыва и через два года с нашей помощью заказ сдали. Правда, за 17 лет он уже безнадежно устарел.
С сыном. Конец 1970-х — начало 1980-х
Вообще я пытался сохранить девственность и не лезть в секретные заказы. Как университетский человек, время от времени я ездил за границу, а если работать на кагэбэшников, тебе устроят карантин, и ты ничего больше не увидишь. Но пришлось свою позицию изменить. Новые задачи, новые требования, новые ресурсы. Мы получили 27 млн рублей при курсе доллара 60 копеек, сделали технологию «Звезда» и внедрили ее в КГБ.
Нужна она была для того, чтобы документацию делать на машинном носителе, а не на бумаге, чтобы работать на языках высокого уровня, а не на ассемблере, как все военные работали. Что такое редактор связи, они не знали. В общем, кошмар, страшно вспоминать. Я получил в свое управление 300 человек, нас стали звать яйцеголовыми. Меня пытались побить несколько раз, но у меня первый разряд по баскетболу и вообще плечи достаточно широкие. Отбился.
Спустя много лет я рассказывал эту историю своим студентам и называл фамилии людей, которые мне особо досаждали. Встала девочка: «Андрей Николаевич, вы сейчас рассказываете про мою маму». Я смутился: «Извини». А через неделю она приходит: «Мама передавала вам привет. Считает, что вы были правы, а они все козлихи». Я: «Хорошо», но с тех пор фамилий не называю.
Тягостные воспоминания, и самое противное, мы работали на вонючих военных машинах. УК1010, СУВК СС, СУВК СМ. «Нева», сделанная в Киеве — самая отвратительная. Все они выдерживали тряску, сушку, броски напряжения. Хорошее железо, только для них нельзя было программировать.
Вот «Нева», например. Для нее руками-то невозможно программировать, а делать транслятор вообще сдохнешь. Мы сделали штук 15-20 кросс-трансляторов — это был элемент нашей технологии, чтобы уйти от этих военных машин. Работаем на ЕС ЭВМ, потом перегружаем кросс-транслятором в код другой машины, переходим на нее. Это тоже было большим продвижением, которое мы внесли.
Работали мы в «Красной заре», «Ленинце», «Океанприборе», «Авроре» — во всех предприятиях «девятки» (в Советском Союзе девять оборонных министерств было). Я был инструктором оборонного отдела Обкома партии, у меня был «вездеход» — пропуск в Смольный и в любое оборонное предприятие без всяких справок — показываешь и идешь. А в Ленинграде таких предприятий было до фига — наш город вообще считался столицей оборонной промышленности. Начальник оборонного отдела мог, например, вызвать союзного министра и отчитать. Я видел.
Обком партии — сила страшная была. Романов, член политбюро, запустил программу «Интенсификация 90». Я много раз слышал его выступления, что «в Ленинграде было две революции, совершим же третью — технологическую». Кстати, очень разумный мужик был, когда его Горбачев скинул, мы расстраивались. Эта «Интенсификация 90» — крутая программа, в нее вбухали много денег и очень много чего сделали. Последний завод Советского Союза со станками с числовым программным управлением создали за деньги «Интенсификации 90», здесь недалеко — в Сосновой Поляне. Я участвовал в его оснащении. Сейчас я настоящий капиталист, довольно много денег зарабатываю, дивиденды получаю, но все-таки признаю, что коммунистическая партия была движущей силой. Потом все разломали и никакой замещающей силы не сделали.
К приезду Михаила Горбачева в 1987 году в павильон «Интенсификации 90» превратили так и не открытый зал аттракционов в Калининском районе Ленинграда
В 1984 году в Москве состоялась выставка «ЭВМ в Советской армии». Я, естественно, приехал. Там было представлено более 200 типов ЭВМ, не считая мелких брызгов. А что такое 200 ЭВМ? Это 200 операционных систем, 200 комплектов ЗИП — запасных изделий и приборов. Иными словами, расточительство. В Америке тогда была одна стандартная оборонная машина — Interdata 8/32. Одна! И один базовый язык — Ада. А у богатого Советского Союза 200 машин, и попробуй кому-нибудь возрази. Я несколько раз выступал в оборонном отделе ЦК КПСС в Москве: «Давайте сделаем одну машину». «Андрей, не лезь», — отвечали мне вежливо, но твердо.
Была «Броня» — базовая телефонная станция Советской армии. В ней три машины разных. Одна для коммутации, другая для управления сетью, третья для работы с оператором. С разными системами команд, с разными операционными системами, три комплекта офицеров надо, чтобы обслуживали. Тысяча номеров всего-то — маленькая станция! Три ЭВМ — куда это годится? И когда я пытался ругаться, мне снова говорили: не лезь.
«Эльбрус»
В это время уже была советская машина «Эльбрус». С ней я знаком с 1974 года. Через друзей туда вошел — секретная машина, ПВО страны. Ее рассекретили только в 1982-м. И она не ворованная — оригинальная. Я хорошо знаю всех людей, которые ее разрабатывали в ИТМиВТ — институте точной механики и вычислительной техники.
Я там часто бывал, один раз даже в драку влез в коридоре. Вижу — стоят три парня каких-то и говорят: «Пиплайн, пиплайн» (pipeline). Мне бы мимо пройти, но я остановился: «Коллеги, надо говорить не пиплайн — это вообще похабное слово, как пип-шоу в Гамбурге. Надо говорить пайплайн, а еще лучше — водопровод. Это ваш директор придумал, академик Лебедев. Причем придумал и опубликовал в Америке. Пайплайн — это перевод с русского на английский, а не наоборот. Не так много американских терминов, которые переведены с русского». Они на меня с кулаками. Я, конечно, отбился, прибежал к Бабаяну: «Борис Арташесович, тут у тебя люди не знают, кто такой Лебедев». А это институт имени Лебедева. Решили парней найти, но они уже ушли.
Андрей Терехов читает лекцию на Матмехе ЛГУ, 1980-е гг.
У «Эльбруса» было серьезное ограничение. Хотя эта машина для ПВО, а потом для ПРО, использовать можно было только советскую элементную базу. Как известно, советские микросхемы — самые большие микросхемы в мире, поэтому у «Эльбруса» все платы были двойными. Одна плата — гетинакс, где стоят собственно микросхемы, а под ней медная плата для отвода тепла. Она втыкалась в трубу, по которой текла дистиллированная вода — для охлаждения. Но грелась она отчаянно. Иными словами, из советской элементной базы пытались выжать то, чего выжать нельзя. Это было за пределами технологических возможностей страны.
Мы сделали огромный пакет программ, интерпретатор автокода «Эльбрус», на котором сильно прославились. Машина, как всегда, лет на 6 задержалась с выпуском, и долгие годы все программы для «Эльбруса» делались на ЕС ЭВМ на нашем интерпретаторе, по всему Советскому Союзу.
Тогда деньгами расплачиваться было нельзя — могли посадить. Но можно было получить «борзыми щенками». Коля Фоминых, мой подчиненный и ученик, съездит в главный военно-морской штаб, почитает им лекции, научит пользоваться автокодом и привезет бумажку на получение еще одной ЕС ЭВМ. В результате лаборатория системного программирования, которой я к тому времени уже командовал, была богаче, чем вычислительный центр всего Университета.
На меня пальцем показывали — хапуга! Жалобы писали в партком, мол, я сливки собираю с Матмеха, лучшие студенты идут ко мне. Да, но у меня лучшая лаборатория на факультете! «Ты этих лучших студентов приманиваешь техникой, дисплеями», — говорят мне на разборе полетов. «У меня нет папы-миллионера. Как могу, так и приманиваю. Соревнуйтесь!», — отвечаю. Секретарь парткома спрашивает потом: «Что мне написать?» Говорю: «С кандидатом наук Тереховым проведена разъяснительная работа». «Хорошо», — записали и разошлись.
Руководитель лаборатории
«Эльбрус» мы очень любили. Наш завкафедрой Лавров, который когда-то работал в институте Королева и рассчитывал траекторию полета Гагарина, называл ЕС ЭВМ «цельносоздранной» машиной. Она ворованная, а «Эльбрус» — оригинальная. И весь Матмех, все лаборатории за 3 млн рублей (огромные деньги!) делали пакеты прикладных программ для этой новой голой машины. Я процессом руководил.
Как я стал руководителем лаборатории системного программирования? Когда по ночам пришлось работать на ЕС ЭВМ, все старшие товарищи куда-то разбежались. Никто не захотел ездить в Москву, и поэтому к 1971 году я как-то неожиданно стал руководителем всей темы. Коллеги: «Ты что, подсидел?» Да никого я не подсиживал! Когда надо писать статьи и книги, все хотят, а когда ездить в Москву отлаживаться, исчезают. Отладка — тягостный труд. Огромный транслятор, куча людей — их надо стыковать. У всех свои характеры, свой стиль написания. И вот к моменту окончания транслятора получилось, что я на безрыбье сам раком стал. Борис Константинович Мартыненко ушел на кафедру — там не 260 рублей платили, а 420. Он рассчитывал, что директор НИИ Георгий Петрович Самосюк оставит его и руководителем лаборатории тоже. Но тот сказал нет — ушел так ушел. «А кто будет руководителем?» — «А вон Терехов есть». К тому моменту я уже ходил на все совещания, добился того, чтобы сотрудникам платили премии. Оказалось, что они были предусмотрены, но начальнику было лень писать обоснование. Я и сегодня знаю людей, которые палец о палец не ударят, чтобы получить лишние 100 тысяч. Это свойство человеческой натуры. Кто-то шевелится и пытается что-то заработать, а кто-то сидит на попе ровно и считает, что так и надо.
Прушник
Когда в 1980 году оборонный отдел обратился к ректору Алесковскому, я уже руководил лабораторией. Пытался артачиться: не хочу с военными работать. Алесковский: «Молодой человек, вы можете стать не сотрудником университета». Я: «Хорошо». Думал, что непруха, что меня подставили, а потом понял, что работа с военными — огромная удача в моей жизни. Потому что новые задачи, новые требования, новые материальные условия. Мы стали жить намного лучше, чем раньше и занимались намного более интересными делами с существенно более высокими требованиями. Для нас это был своего рода прыжок в будущее, и после перестройки это мне сильно помогло. Военный опыт, организация коллектива. Одно дело, когда у тебя 15 сотрудников университета в лаборатории, у всех глаза горят, никого подгонять не надо. А тут — 300 человек, самые разные и пакостники в том числе.
Первую кагэбэшную сдачу я завалил. Потому что какая-то сволочь сперла одну перфокарточку. Надеялась, что меня выгонят — некоторые подчиненные меня сильно не любили. Представьте: 300 человек, сидя на проспекте Карла Маркса, получают зарплату, как на севере. Им платили больше, чем мне как кандидату наук. И тут мы приходим со своими задачами. В общем, обстановка была неприятной, и кто-то напакостил.
Но они не знали, что я прушник. Мне всегда везет. Принимал работу генерал Терехов, Юрий Федорович. Первые полчаса он выяснял, родственники мы или нет (нет). Он и сейчас жив-здоров, иногда мне приветы передает. Терехов рассказал, откуда происходит наша фамилия. Когда в 1861 году отменили крепостное право, фамилии крестьянам стали давать по именам отцов. Иван — Иванов и так далее. От имени Терентий по всей России пошла фамилия Терентьев и только в одной Рязанской губернии — Терехов. Так что все Тереховы происходят оттуда.
Генерал, конечно, меня не уволил, но сказал: «Андрей, наведи порядок». До этого, когда мне предлагали следить за людьми — кто сколько отсутствовал, курил — я гневно это отвергал.
Говорил, что это все шпионские штучки, а я — человек университетский. Думал, что все люди вокруг приличные, а оказалось, что это далеко не так. И когда неприятность случилась, я вспомнил, поговорку отца: «Не тот дурак, кто ошибается, а тот, кто повторяет ошибки». Я сделал архивы с контролируемым доступом, сильную парольную защиту. Все эти колоды перфокарт переписал на ленты, и уже больше никто не мог пролезть туда, чтобы повторить свою пакость. Научился я и увольнять. До этого за 20 лет не уволил ни одного человека, а тут — целыми отделами.
За то, что мы много сделали для «Эльбруса», нам дали фонд на получение этой машины — другим способом ее было не получить. Я был очень горд, потому что это самая мощная машина в СССР. Помещение — зал 500 метров, градирня — бетонный пруд для хранения воды. Выкопали, все сделали. Потом два наших инженера съездили в Москву на завод счетно-аналитических машин, где «Эльбрусы» делались, и вернувшись, сказали: «Мы сопровождать такую машину не можем». Оказалось, к обслуживанию предъявляются какие-то дикие требования. Точных цифр не помню, но по влажности, например, если чуть более сухой воздух, будут проскакивать искры, и платы сгорят. Если чуть более влажный, появятся капельки, которые попадут на раскаленную плату, и она тоже сгорит. То есть «Эльбрус» можно эксплуатировать, если у тебя есть полк солдат. В условиях Ленинградского университета это немыслимо. Я пытался орать, махать кулаками. Представляете, какая это честь — быть единственной открытой организацией в СССР, у которой есть «Эльбрус»! Я ее заработал. Но потом, разобравшись, мы все поняли и отказались от поставки.
Per rectum ad astra
Для меня этот удар был страшным, но полезным. Пришло понимание, что спасение утопающих — дело рук самих утопающих. Решили сделать машину для себя, математики для математиков, для трансляторщиков.
К этому времени было уже довольно много машин, ориентированных на языки высокого уровня, и мы хотели именно такую. Но задача крайне непростая. Например, мы боялись, что сделаем еще один «Эльбрус» с водяным охлаждением. Зачем? Пытались сделать спецуху, то есть только для коммутации. Но вспомнили про «Броню» с тремя ЭВМ и тоже решили от этой идеи отказаться. В общем, довольно долго мы не могли ни на что решиться, от меня даже два человека ушли — мои ученики, можно сказать, выкормыши. Сказали: «Андрей, ты тянешь нас куда-то не туда». Написали на бумаге по-латински per rectum ad astra, вручили ее мне и уволились. Перефразировали «через тернии к звездам» — «через ж… у к звездам». Мол, неправильно я руковожу коллективом. Бумага сохранилась, время от времени читаю ее, когда тяжело.
Андрей Терехов передает знания. 1986 год
Потом все-таки идея пришла — я же прушник. Мы ограничили не область применения, а область входных языков. Есть понятие статических АЯВУ — алгоритмические языки высокого уровня. Алгол 68, Модула 2, Ада. Был такой язык программирования CHILL — стандарт для МККТТ (международный консультативный комитет по телеграфии и телефонии). И оказалось, что если ограничить входные языки, только в области статических языков с полным типовым контролем, можно часть функций унести в транслятор. И тогда аппаратура упрощается. Так родился «Самсон» — наша машина, оригинальная, с оригинальной системой команд.
«Самсон»
Был такой знаменитый случай. В Питере сделали машину с гибкой динамической архитектурой. Куча «молотилок», логических элементов. Получили еэсовский номер, обещали 10 млн операций в секунду. На тестах она эти 10 млн давала, а на реальных программах — нет. То есть, как у тех военных машин: все хорошо, только программировать нельзя. Я у одного из авторов был оппонентом на докторской, хотел шпильку вставить, а затем подумал: люди старались, работали. Но только инженеры могут сначала спаять, а потом подумать, как это использовать. Математики так не делают.
Расскажу любимый анекдот. Читает лектор в колхозе лекцию про построение коммунизма. Бабушка спрашивает: «А кто придумал коммунизм — ученые, или коммунисты?» — «Коммунисты». — «Вот и я так думаю. Ученые бы сначала на собаках попробовали». Так вот, этот анекдот — про историю вычислительной техники. Инженеры сразу паяют, а математики сначала делают модель.
«Самсон» в виде математической модели просуществовал два года. Ее написала моя дочь Карина — студентка первого курса, будущий доктор Оксфорда. К тому времени уже был кагэбэшный заказ — хотели машину «Самсон», которой еще не было, чтобы поставить станцию «Фобос-К» на смену «Кавказу»-1 — правительственную междугородку. В одном заказе мы делали и машину, и станцию. Раз в квартал приезжали три полковника кагэбэшных, принимали этап. И вот очередной визит, я говорю: «Моя студентка будет вам сдавать эту тему». И ушел. Через два часа возвращаюсь — 16-летняя Карина с красными пятнами на щеках спорит с ними: «Как это не может быть автоматов с нулевым состоянием!» Они: «Да успокойся, девочка, успокойся!»
УВК «Самсон». Базовая ЭВМ ракетных войск стратегиеского назначения РФ
С военными заказчиками, если не выпьешь, ничего не подпишут. Сидим, выпиваем. «Так это моя дочка!», — говорю. Они: «А что сразу не сказал?» — «Тогда бы эксперимент не был чистым. Сдала? Сдала. Вы подписали? Подписали. Теперь могу сказать».
Каждый вечер мы с Кариной проводили так: она гоняла тесты на интерпретаторе, потом давала мне распечатку по частоте использования команд. Интересовали нас только те, которые часто используются. Мы с ней новые команды вводили, склеивали. Два года игрались на этом интерпретаторе, изучали командочки и думали, как бы их переконфигурировать, чтобы хотя бы пару тактов выиграть.
Когда мы наконец зафиксировались, нашли инженеров. К тому времени все RISC-машины имели одинаковую длину команд, а мне это страшно не нравилось. Память дорогая, да и зачем? Самая частая команда «читать укороченная» — 1 байт. Большинство команд — 2 байта. Есть по 4 байта. Зачем все делать одинаково? Инженеры говорили, что так нельзя. Водопровод надо делать, чтобы все команды были 32 бита: «Весь мир так делает». Я говорю: «Чихать, что делает весь мир. Вы сделайте, как я прошу». Они упрямились. И тут мне из Крыма привезли подарок — 3 бутылки портвейна. Сели у меня на балконе, распили: «Ладно, сделаем тебе водопровод». И сделали, как я хотел: 1, 2, 4 байта и так далее. То есть у нас очень короткий код.
Помощь из Болгарии
Когда сделали «Самсон», стали мы с моим шефом Владимиром Петровичем Морозовым, капитаном первого ранга и профессором, ездить по заводам СССР, где производят ЭВМ. На каждом нас спрашивали: «Что было прототипом?» — «Ничего, это мы сами придумали». — «До свидания». Даже звонки из ЦК КПСС не помогали. Время было такое — все делали только ворованные машины, нас отшвыривали. Но мне ж всегда везет. Я попал в состав делегации обкома партии в Болгарию, в город-побратим Пловдив. 27 человек, я — единственный беспартийный. Там познакомился с Бисером Димитровым — тезкой знаменитого певца. Этот мужик окончил какой-то американский университет, работал в IBM, а потом вернулся в Болгарию и стал директором завода «Оргтехника». Мы с ним подружились, и я ему идею оригинального компьютера втюхал. Завод сделал 100 компьютеров бесплатно как подарок к 70-летию Советской власти, ведь болгарская коммунистическая партия — лучший друг КПСС. За год я съездил в Болгарию 17 раз. У Бисера были свои каналы, он мог иностранные микросхемы покупать где-то в юго-восточной Азии — тайваньские, корейские…
Болгарский завод «Оргтехника» был хорошо известен в СССР, в частности, благодаря калькуляторам Elka, которые в городе Селистре производили со второй половины 1960-х гг.
Торжественную сдачу назначили на 5 ноября 1987 года — накануне 70-летия Советской власти. Приехали члены нашего и болгарского политбюро. Дорога перед университетом была вся уставлена членовозами, как тогда называли «Чайки» партийных руководителей. Но еще за несколько часов до этого наша машина не работала. Мы уже трое суток не спали, я ректора послал подальше — под руку подвернулся.
Члены политбюро должны приехать в два. В час у нас еще ничего не готово. В этот момент Бисер притащил какой-то хороший западный осциллограф. Мы посмотрели и увидели на нем помеху, пичок, который на советском осциллографе не был виден. Инженеры тут же припаяли какой-то конденсатор, пичок пропал, и машина заработала. Один тест мы прогнали — сортировка пузырьком. Я трясся: вдруг кто из Политбюро попросит еще какой тест показать, а у меня его нет. Но никто не попросил, они в этом не понимали ни фига. Только покачали головами: «Надо же какая машина! И правда, вы все сами придумали? Ничего американского нет?»
Потом мы «Самсон» долго доводили, многоэтапно сдавали военпредам, и в 1992 году министр обороны Грачев принял его на вооружение РВСН (ракетные войска стратегического назначения — Прим. ред.). Не именно эту болгарскую машину, а выпущенную в НПО «Импульс». Троированный комплекс. Говорят, его до сих пор делают на моторном заводе в Ижевске. Сказал воякам: «Такая хорошая машина — и на моторном заводе». «Успокойтесь, — говорят. — На Ижевском моторном заводе моторов не делают и никогда не делали».
После этого мы создали еще одну машину, она называется ОВК — отказоустойчивый вычислительный комплекс. Рабочее место дежурного генерала в Генштабе. Я никогда не был в Генштабе и, наверное, никогда не буду, но еще один экземпляр стоит у нас. Если что-то у военных сломается, будем чинить. Но троированные комплексы не ломаются. Я любил в конце дня распечатывать статистику сбоев. За 20 лет у «Самсона» не было ни одной полной перезагрузки операционной системы. Троированный комплекс — это три процессора, три блока памяти, три входных мажоритара и три выходных. Машина сама отличает сбой от отказа, сама говорит, какой блок отказал, а весь ремонт сводится к замене одной платы, причем без перезагрузки операционной системы. Можно сколько угодно говорить, что американское лучше. Я скажу то, что есть: наша машина никогда не ломается.
Продолжение следует.