Ракетный щит СССР

от автора

Это интервью я записал в 2014 году. Так получилось (и это моя вина), что сразу до материала не дошли руки, потом были другие дела и, в общем, запись потерялась. Недавно я, разгребая старые архивы, нашёл её в закромах Родины, и вот — дело 12-летней давности завершено.

Мой визави Анатолий Степанович Глушко — один из создателей софтверной части системы противоракетной защиты Советского Союза.

Я даю текст интервью практически необработанным, с минимальными исправлениями. Интервью было несколько спонтанным, но, мне кажется, оно представляет изрядный интерес.


ДЗ: Если я правильно помню, вы имели отношение к разработке ракетно‑ядерного щита Советского Союза.

АГ: Да, который служит до сих пор, хотя уже 20 лет прошло, как он в строю.

ДЗ: То есть созданные вами системы (СПРН) до сих пор работают?

АГ: Да.

ДЗ: Если я правильно помню, у вас были компьютеры на базе диодно‑транзисторной логики, микросхем серии К217?

АГ: Да, это были небольшой интеграции микросхемы, первые, можно сказать, интегральные схемы в Союзе серийные [1]. Не очень большие, но, несмотря на это, уже интегральные схемы. Тем не менее компьютер М10 занимал на 3-х этажах примерно по 500 квадратных метров площади, да, 3 этажа занимала машина.

Это сами эти шкафы и пульт управления — один этаж, под ним кабельная — соединения, кабели 512-жильные. Ну, это 512 основных, ещё там контрольные были. Такие кабели связывали все эти шкафы, а под ними ещё этаж был воздуходувка — кондиционер.

И градирня на улице

ДЗ: Градирня даже?

АГ: Да! Воздух охлаждался водой, а потом поступал в шкафы. Ну, а в акте о вводе в эксплуатацию этого компьютера, 75 или 76 года, сейчас уж не помню, с гордостью было написано: «Самая мощная в мире по потребляемой электроэнергии».

ДЗ: Говорят, у неё была какая‑то довольно серьёзная оперативная память для того времени.

АГ: Нет, не очень. Так, 128К оперативной, 128К двухбайтовых слов — 256 килобайт.

ДЗ: Довольно типично, но я в прессе видел утверждение, что 5 мегабайт была память этой машины.

АГ: Нет, это общая память, была ещё память второго уровня, так называемая «большая память». Такая же оперативная, но не прямого доступа.

ДЗ: А как доступ к ней организовывался, или это был обмен?

АГ: Обмен через канал, обмен страницами. А кроме этого ещё были диски. Помните, эти многоэтажные такие?

ДЗ: 29 мегабайт. Конечно, помню. Я их тоже ещё застал.

АГ: И даже лентопротяжки были, но ими уже не очень пользуются. Очень редко. Там архивы держали больше, потому что у дисков ёмкость невелика была. И 256 килобайт постоянная так называемая память, то есть перезаписываемая специальным устройством.

ДЗ: А как она была устроена?

АГ: Технически это были блоки. Первый вариант был — ёмкостная память. В буквальном смысле набирались такие «перфокарты» из металлической, толстой металлической фольги, прочная достаточно, не мялась. Бериллиевая бронза причём на это шла. И специальный перфоратор для неё, который дырки колотил в ней.

ДЗ: А что в ней хранилось?

АГ: Программы. То есть памятью программ была эта постоянная память.

ДЗ: То есть машина не загружалась с диска, а работала прямо из ПЗУ, да?

АГ: Да, ПЗУ — это постоянная память. На неё никакие воздействия внешние, электромагнитные и так далее не могли повлиять. Импульс по проводам может проскочить, вызвать помехи, но когда воздействие кончится — всё будет на месте, никуда не денется.

ДЗ: То есть антирадиационная защита такая?

АГ: Антиэлектромагнитная, так скажем.

ДЗ: Имелось ввиду, что ядерный взрыв имеет составляющую, которая, на обычных типах носителей разрушает…

АГ: Да, тут можно стереть информацию только механически разломав саму машину. Ну, потом следующий вариант был уже чуть‑чуть попроще, уже не ёмкостная это была, а уже, так сказать, полупостоянная. Надо было вынуть блок, конструктив, из шкафа, установить в специальное устройство записи и там уже записывать, но это другие токи и так далее. Т.е. «полупостоянная» в смысле «перезаписываемая» память, когда блок в работе, в машине, изменение информации, данных в нём, было невозможно.

ДЗ: Какая была физика этой памяти?

АГ: Ферритовая память.

ДЗ: Ферритовая, все‑таки перезаписываемая. Нужно было ещё ПЗУ, которое буквально «шилась».

АГ: Ну это, это уж совсем давно было, такую я тоже видел,

ДЗ: К слову сказать, когда вы запускали свою систему, какая‑то другая система, более старая, уже работала?

АГ: Я участвовал в работе и с той, и с другой.

ДЗ: И на чём старая была сделана?

АГ: На транзисторах. Полупроводниковая элементарная база.

ДЗ: Какая машина?

АГ: «Новая», М10, индекс имела 5Э66. А те были 5Э90, 5Э50.

ДЗ: Тоже М10?

АГ: Нет. Те машинки были поколения БЭСМ-6.

ДЗ: Поколение БЭСМ-6. Понятно. То есть это собственно система команд БЭСМ-6?

АГ: Нет, просто элементная база примерно как у БЭСМ-6 первых выпусков.

ДЗ: П416?

АГ: Ну, я не электронщик, я изначально программист по образованию

ДЗ: Редкий случай, кстати говоря, когда программист по образованию работает программистом.

АГ: Да, программист по образованию, первая моя программа была создана, когда я обучался программированию на машине типа М20, с памятью 4000 слов, и она была 45-разрядная.

ДЗ: Это была очень типичная такая разрядность для военных машин.

АГ: Ламповая ещё!

ДЗ: Именно 45 разрядов почему‑то. И у нас, и у американцев была вот такая прямо классическая разрядность.

АГ: Я думаю — для числовых вычислений, необходимая точность представления.

ДЗ: Ну, да, 64 было не по карману, а 32 не хватало.

АГ: Ну, дело, может быть, даже не в том, что 64 не по карману, это был оптимум. То есть, этого хватало.

ДЗ: Ну да, собственно, это та точка, в которой достигался оптимум.

АГ: А у БЭСМ 6, если помните, было 48.

ДЗ: 48, да. Чуть‑чуть удобнее.

АГ: Там уже нарезание на байты.

ДЗ: Правильно ли я понимаю, что существовала сеть, связывающая собственно, радары с вычислительными машинами?

АГ: На радиолокационных станциях были свои компьютеры, специализированные, которые производили первичную обработку информации с радара, его сигнала — импульсов, которые преобразовывали их в некую числовую последовательность.

ДЗ: А что у них было на выходе? Какая информация доходила до вас?

АГ: От радарных станций до нас доходила координатная информация.

ДЗ: В какой системе координат?

АГ: Этого вот не знаю, мы занимались операционной системой, а не самой «боевой программой».

ДЗ: Питерская система координат, по‑моему, наша, аналог WGS 84, широта долгота, короче. [dz — вероятно, Пулково-42, она же СК-42]

АГ: Широта, долгота, высота.

ДЗ: И станции конвертировали данные сигнала радара в некий промежуточный код…

АГ: Там была привязка к координатам местности, в которой каждая станция работала, и дальше передавали нам. Соответственно, там, либо у нас здесь, переводили это в единую систему, привязывали к центру, но я баллистической обработкой не занимался, знаю что так как‑то.

ДЗ: Понятно, баллистическая обработка: получали координаты от радарных станций и интерполировали.

АГ: Да, станция же несколько засечек делала, она давала ряд их. По каждой из целей, то есть сопровождала их какое‑то время.

ДЗ: Выделяла и сопровождала цели.

АГ: Да. На входе в зону видимости. И на выходе ещё подтверждала. То есть она цель сопровождала самостоятельно, на входе и до конца, до выхода, а нам выдавали несколько замеров, и потом на выходе уточняющие.

ДЗ: И по ним строилась траектория.

АГ: По ним строились траектории, оценивалось, что это — спутник летает или что‑то ещё.

ДЗ: Спутники она тоже видела?

АГ: Да. У нас был контроль за всеми спутниками, постоянно отслеживали, тогда около 5000 болталось по орбитам, они все классифицировались. Спутник это или не спутник, собирается он падать на Землю, на нашу территорию или не собирается?

ДЗ: То есть просто отслеживалось попадание в финальной точке траектории в территорию с очертаниями Советского Cоюза?

АГ: Ну, не только и союзников тоже.

ДЗ: Да, а кто входил в число союзников?

АГ: Варшавский договор и плюс какая‑то зона вдоль границы.

ДЗ: А как была устроена система связи между радарами и вычислительными комплексами?

АГ: Проводные линии, дублированные.

ДЗ: Не оптика?

АГ: Оптики тогда ещё не было. Да ёщё на такие расстояния — тысячи километров. У нас же станции по всему периметру стояли, на западе, и на востоке, и на юге, и на севере. Так что это проводные линии связи.

ДЗ: Симплексные?

АГ: Цифровые, дуплексные, два канала, туда и обратно. Ну, и задублированы они были, по крайней мере трехкратно. Проложены были по совершенно разным маршрутам.

ДЗ: Наверное, все равно вдоль железных дорог проходило.

АГ: Этого не знаю, не думаю, вдоль железных дорог, напрямую, скорее всего, через тайгу. Вы поездите по Подмосковью, по лесам, походите, сколько там этих «не копать, кабель»!

АГ: Я в этих делах не очень разбираюсь, потому что вначале я занимался разработкой того, что тогда называлось, «автоматизацией программирования». До этого программы на эти машины — 5Э50, 5Э51, 5Э73, 5Э79, предшественники М-10, предыдущее поколение, транзисторные — писали прямо в кодах команд, в восьмеричной кодировке. Точнее практически даже в двоичной.

АГ: Вот я сначала попал в это дело, задумался. Мир уже Алгол знает, Фортран знает. А тут, понимаешь, в циферках пишут. Предложил хотя бы ассемблер сделать. Ну, вот я их и изготовил четыре штуки. Сочинил сам языки для каждого из них, и, соответственно, компиляторы. С какими‑то средствами отладки.

ДЗ: А какие средства отладки были?

АГ: В процессе компиляции текст анализировал с точки зрения формальной — с ошибкой или без.

ДЗ: Ну, это понятно.

АГ: Соответствующая диагностика выдавалась. Программы были либо на перфолентах, либо на перфокартах, там по‑разному на разных машинах был сделан первичный ввод текста, кода программы. Я сделал компилятор сразу со встроенным редактором, чтобы можно было вносить исправления, просто добавляя код на этом носителе.

ДЗ: Исправляющие карты, которые там в конце добавлялись, корректировали какой‑то фрагмент программы?

АГ: Да, корректировали текст. Там, где ввод был на перфокартах, там все‑таки в принципе можно было карточку «выдернуть» и вставить замену,

ДЗ: А с лентой сложнее…

АГ: А с лентой вообще сложнее — её надо полностью перевыводить, а там такими бобинами накручивали!

ДЗ: То есть работа программиста была — сесть за механический перфоратор, то есть электрический…

АГ: Нет, перфоленты машинистки били.

ДЗ: То есть программисты писали на бумаге, отдавали машинисткам, и те набивали перфокарточки и перфоленточки. Эту часть истории я совсем уже пропустил. При мне перфокарты присутствовали в основном как материал для сворачивания пепельниц таких аккуратных.

АГ: Ну да, всё это так было, на тех машинах никаких операционных систем не было, ничего такого. Там была программа‑монолит. А вот М-10 — машинка уже большая, объём программ тоже возрастал. То есть такой монолит сделать было просто проблемно, я думаю, поэтому уже какое‑то структурирование программы пошло, операционная система. Ну, вот я как раз участвовал.

ДЗ: Я правильно понимаю, что была какая‑то штатная операционная система…

АГ: Не было.

ДЗ: То есть вы просто делали её полностью? Там был какой‑нибудь монитор, наверное?

АГ: Нет. Единственное, что там было — это аппаратный интерпретатор, ну, точнее, компилятор все‑таки. Входной текст, там уже не в циферках писали, а некий мнемокод.

ДЗ: То есть был встроенный ассемблер?

АГ: Это был даже не ассемблер, потому что адресная часть отсутствовала.

ДЗ: Нужно было в абсолютные адреса писать?

АГ: Да, соображать, распределять вручную. Сделали ассемблер на основе этого мнемокода, сделали компилятор. И после этого занялся разработкой. Группой, конечно, не один. Занялись мы разработкой операционной системы. Вообще говоря, наверное, впервые в Союзе.

ДЗ: Это какой год был?

АГ: Это год был 72-й.

ДЗ: А какие ставились задачи перед операционной системой?

АГ: Управлять основной программой, уже модульной. Она должна была решать много задач, не только баллистические вычисления. Ещё и отображение, картинки выдавать.. Формировать их на основе данных программы обнаружения.

ДЗ: А картинки как рисовали, какое выходное устройство было?

АГ: Табло такие были, где, например, карта нарисована. А вокруг, на краях, были «окошки», в которых цифры отображались. И подписи вроде «Атакуют» или «Атака». Отсюда 150, отсюда 300 — число целей,

ДЗ: То есть реально предполагалось использование во время войны?

АГ: Да, это было табло командного пункта, и в генштабе также была выдача информации в режиме реального времени.

ДЗ: В реальном времени?

АГ: В реальном времени, и на довольно большие расстояния, по крайней мере, сотни километров.

ДЗ: Какие‑то модемы были? Шкафчики такие?

АГ: Нет, не шкафчик, специализированные машинки. Именно для передачи всех этих специфических данных, с повышенной надёжностью и всем таким прочим.

ДЗ: Если я правильно помню, у вас же система была фактически кластером из 6 компьютеров?

АГ: Ну это была вторая версия, 1-я была из трёх, тех, где ещё память с пластинами, на первом объекте. На втором, вторая редакция, так сказать, там уже 6 поставили. На версии с тремя машинами реального распределения задач не было, там были основная машина, горячий резерв, холодный резерв. То есть работала одна фактически, а вторая включалась по необходимости. Горячий резерв работал параллельно с основной на тех же данных абсолютно, с параллельным входом. И самостоятельно вырабатывала всю выходную информацию. Но эта информация никуда не шла.

ДЗ: А кто принимал решение о переходе на резерв? Люди?

АГ: Я! Точнее мой автомат.

ДЗ: Все‑таки была какая‑то система, которая принимала это решение?

АГ: Программа управления резервированием.

ДЗ: Собственно операционная система?

АГ: Одна из её функций.

ДЗ: Была какая‑то между ними связь? Как они принимали решение, и как включалось резервирование?

АГ: Решение — по принципу колхозного собрания.

ДЗ: Мажоритарно?

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

АГ: ..Но никогда не достигалось. То есть внешнего наблюдателя, который бы решал, что вот ты сейчас правильно работаешь, ты будь основной, а ты — резервной — не было. Они между собой сами решали. Вот эту программку как раз лично я делал.

ДЗ: На самом деле интересно, как принималось решение о том, что данная машина считает себя неправой?

АГ: Там в основной цикл работы, боевой, был включён отсчёт тестовых данных, по которым результат известен, самотестирование. То есть она не выдавала информацию вовне до тех пор, пока она не пройдёт самотест. Если его результаты положительные, то выдача происходит, если нет, она уступает дорогу следующей, ну а если нет никого, продолжает работать, и такой вариант был.

ДЗ: То есть, если нет замены, то она все равно остаётся в строю?

АГ: Что делать…

ДЗ: Лучше, чем ничего. Это 3 машины так разделялись, а функциональное разделение было?

АГ: Когда стало 6 машин, то задачу поделили для скорости между ними, это были 3 пары.

ДЗ: Понятно. То есть они были жёстко связаны попарно?

АГ: Нет, не жёстко…

ДЗ: То есть эта система выбора резерва работала на каждом слое, и, в принципе, могла дать конфигурацию 1-2-3…

АГ: Это было такое моё, как говорится, «ноу хау».

ДЗ: А связь между компьютерами как реализовывалась?

АГ: Связь мы не смогли наладить. В принципе предусматривался обмен между компьютерами довольно‑таки скоростной, но он так и не заработал.

ДЗ: А как же вот эта вот система управления резервами действовала?

АГ: Там иерархия была выстроена изначально: первый, второй, третий, по мере ввода в действие. И был некий «прибамбасик», передающий сигнал «Я не старший». А дальше, раз я не могу быть первым, основным — уступаю дорогу, второй выходит.

ДЗ: То есть это была специализированная электроника, которая была прямо жёстко запаяна в эти компьютеры? А связь‑то, обмен сигналами?

АГ: Сигнал программа вырабатывала, а сигналы там были 3 бита. Вот этими 3 битами управлялось подключение к выходу или отключение от выхода — чисто релейное.

Выдаётся состояние, установленное программой — если я главный, то я и принимаю данные, и обрабатываю их и выдаю результат обработки. Если я не главный, то я данные принимаю, обрабатываю, но результат у меня от меня никуда не уходит.

ДЗ: Вот так да, релейное подключение? Все по рабоче‑крестьянски?

АГ: А что делать?

Такое вот резервирование, управление конфигурацией 6-ти‑машинного комплекса, от которого сейчас [2014 г. — dz], наверное, уже 2 машины остались действующих.

Заводы 20 лет запчастей уже не делают. Да и заводов этих, по‑моему, уже нет. Ну, поэтому путём разбора на детали, на замену, силами обслуживающего персонала стали ремонтировать.

ДЗ: Ну, не может быть, чтобы осталось там реально 2 машины…

АГ: За 20-то лет?

ДЗ: Ну а нельзя это перенести на какие‑то более современные компьютеры?

АГ: До сих пор пытаются перенести. [2014 год! — dz]

ДЗ: Казалось бы, компьютер такого уровня можно виртуализировать.

АГ: Можно, но даже и не обязательно. Алгоритмы все описаны…

ДЗ: Да, алгоритмы описаны, но это другой масштаб бедствия, переписывать, это ещё и тестирование…

АГ: Компьютеры, языки сейчас другие, это же не на ассемблере писать.

ДЗ: С другой стороны можно виртуализировать компьютер, просто повторить это дело, можно запустить на современной платформе.

АГ: В девяностых годах начались попытки разработать эту систему на более современной базе. Тот же НИИВК, который делал М10, планировал, сохраняя её архитектуру, логическую архитектуру, воспроизвести её на новой элементной базе. Но так и ничего не получилось. Люди разошлись, специалистов, кто бы мог это сделать, практически не осталось.

Я и то со своей той работы («Вымпел») забрал трудовую книжку в 2003 году. А на объект последний раз ездил в 1997 году. Устранил ошибочку, которая сидела как раз в алгоритме управления резервированием. Сидела изначально, что приводило к синхронному отказу всех машин одновременно. Долго‑долго я в это не верил, хотя мне военные с эксплуатации это подтверждали — происходит такое, раз в год, два раза в год. Я смотрел в эти тексты, смотрел, потом меня осенило. И вот в 97 году съездил, поменял местами 2 бита в программе.

ДЗ: Сколько, получается, лет эта ошибка прожила?

АГ: Ну, если считать с 76-го — по крайней мере 20 лет.

АГ: Раз или два раза в год это проявлялось. Ну, а к чему это приводило? Комплекс синхронно уходил на перезапуск. Все машины — перезапуск! — начинают «жить сначала».

ДЗ: А они быстро перезапускаются?

АГ: Порядка 40 секунд.

ДЗ: 40 секунд много. За это время даже и прилететь что‑нибудь может…

АГ: Ну, далеко пролететь не может, но неприятно. Правда, там было сохранение предыдущего состояния, той самой так называемой большой четырёхмегабайтной памяти.

ДЗ: Не с нуля стартовала?

АГ: Да, стартовала не с нуля. И, конечно, если в этот момент данные приходили, то они терялись, естественно, пропадали, потому что их никто не принимал и не обрабатывал.

ДЗ: Этот комплекс, о котором Вы рассказывали, не единственный, есть какие‑то ещё другие, стоящие в других местах?

АГ: Комплекс из 6 машин дублировал тот, который был из 3-х.

ДЗ: То есть 2 всего на страну.

АГ: Это центральный командный пункт, основной, и запасной.

ДЗ: А в самолёте?

АГ: Я не знаю, что в самолёте.

ДЗ: Понятно. Ну ладно, не будем.

АГ: Серьёзно, я не знаю, что в самолёте. Наша система так и называлась — система предупреждения о ракетном нападении. То есть только баллистические цели со скоростью от 4 или 5 километров в секунду. Поэтому все остальное, другие цели, к нам не имели отношения.

[ Ну а дальше ] мы потеряли станцию в Карпатах, Украина отделилась, и потеряли,

ДЗ: Она отделилась, и станция вышла из системы?

АГ: Не сразу, какое‑то время работала, но в итоге потеряли, как и в Риге. Вместо них поставили в Белоруссии, другого совершенно поколения станции, чем те, что были. У давнишних дальность обнаружения была 2–3 тысячи километров, у этой — 6 тысяч.

ДЗ: 6 тысяч километров при…

АГ: При 6 километрах в секунду — 1000 секунд.

ДЗ: 1000 секунд…

Это немного на самом деле

АГ: Это и есть подлётное время.

Но в эти подробности особо не вникал никогда. Я как системный программист занимался операционной системой.

ДЗ: А правда, что был какой‑то эпизод с первым срабатыванием системы, когда она ещё не была поставлена на боевое дежурство, но тестировалась и выдала сигнал тревоги?

АГ: Было такое, но система была уже на дежурстве, за что я пострадал совершенно незаслуженно. Ведь система постоянно дорабатывалась, и в части операционной системы, и функциональной части («боевой программы» ВАН), и что там функциональные модули вычисляют — это не моё дело. И вот, соответственно, какие‑то там изменения в алгоритмах «боевых» модулей. Это была попытка, которая, кстати, так до сих пор не увенчалась успехом, интегрировать в эту систему «космический глаз» — получение данных с орбитальных аппаратов, со спутников.

АГ: Там было два канала, визуальный канал, транслирующий телевизионный сигнал на экран для человека и цифровой, который должен был идти вот к нам. И вот в течение многолетних, лет пятнадцать буквально, испытаний стало понятно, что в каждом сообщении информация, что они что‑то видят. По каким‑то критериям, я в это не вникал, каждой цели, которую засекли, присваивался вес опасности. И вот вес опасности для данных с этих спутников в конце концов поставили ноль.

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

А какая в этом трудность? Трудность в том, что гроза была, в районе базы стратегических сил противника. Что светит — гроза или старт? Не очень‑то и различишь.

АГ: Ну а машина имеет ту самую «большую память», хранит там данные, которые может использовать при перезапуске, они сохраняются. А расчёт после той отладки с «космическим глазом», эту память не почистил, нарушил инструкцию. И запустили компьютер, который был после работ, ввели в состав комплекса, а у них опять же по инструкции, вновь введённый компьютер проверяют. Сначала резерв 2 очереди, потом резерв 1 очереди, а потом он становится главным, и они проверяют, есть ли у него связь по выдаче. Ну вот, его быстренько, быстренько вывели в основные, и он выдал эту информацию накопленную.

ДЗ: Недостоверную, которая прилетела со спутника…

АГ: Да. Выдал в генштаб: «Массовый старт с территории США».

ДЗ: Прекрасно! И что было дальше?

АГ: Я не знаю, что сделали с расчётом, который нарушил инструкцию, не почистил память перед запуском. А я в это время какими‑то другими делами занимался и был там рядом. Расчет наказали, понятно. Может кого‑то вообще из Подмосковья отправили. Как известно, дальше Кушки не пошлют. Может, и в Кушку кого отправили.

Но должна быть и ещё реакция, наказать кого‑то, как тогда говорилось, «от промышленности». Вызывает меня главный конструктор и говорит: «Ты уж извини. Надо кого‑то наказать. Кроме тебя там никого не было, из понимающих». Я говорю: «Да я же не там работал, я же совсем другими делами занимался, за что меня‑то? Ну ладно…»

ДЗ: За компанию.

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

ДЗ: Понятно, молодцы, вывернулись.

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

ДЗ: А что же генштаб‑то? как отреагировал?

АГ: Дежурный генерал в генштабе отреагировал правильно, он перезвонил.

ДЗ: Вам? Или в Америку? Мол, это вы тут стреляли?

АГ: Нет конечно, на этот конкретно командный пункт:

— Это что там у вас действительно пуск?

— (Аааа!) Залипла информация, только что проводились работы по тестированию!

После этого, естественно, сделали доработку.

ДЗ: Со стиранием памяти?

АГ: Нет, не со стиранием памяти. Но, тестовая информация, приходящая по каналам (потому что мы проверяли тесты, в том числе и каналы связи)…

ДЗ: Ну конечно, да. Маркировалась как именно тест.

АГ: Да, именно специальный признак ввели, что это тест. И когда обрабатывалась вся эта картинка, она тоже была подсвечена — «Тест».

Как говорится — это жизнь, заранее всего не придумаешь.

ДЗ: Да. А что ещё входило в ведение операционной системы? Какая‑то дисковая подсистема, какие‑то драйвера в современном понимании существовали?

АГ: Драйвера были полу‑аппаратно реализованы, в аппаратном диспетчере каналов компьютера, микропрограммные, со вшитыми алгоритмами работы с каждым из абонентов. У него, диспетчера каналов, была собственная память, а на уровне операционной системы данные можно было выгрузить из его памяти и в нужное место модулем обработки.

АГ: Перекидывались страницы целиком, память диспетчера каналов была ограниченной.

И я хочу сказать, что система показала большую надёжность, не считая вот этих 40 секундных интервалов, когда синхронно комплекс у меня вылетал.

ДЗ: Двадцать лет проработала система…

АГ: Если возвращаться к той ошибке, 2 бита переставил, и это все кончилось. В постоянной этой памяти заполненной. То есть ни заплатки никакой, ничего сверх того. Я смотрел, смотрел, и, наконец до меня дошло. А там дело было в том, что в этом компьютере было так: выработка условия, отрицательный или положительный результат получен при вычитании двух аргументов, зависела от используемых регистров. При вычитании (а‑c) записывался в отрицательный результат, (c‑f) — в положительный. А мне нужно было определить, больше равно нуля или меньше, то есть строго отрицательно, и у меня нуль попадал в строго отрицательные. Вот это и переставил местами.

ДЗ: Очень «популярная», первая из совершенно классических ошибок!

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

АГ: Нет — с одной стороны. С другой стороны, я всю комплексную боевую программу, как она у нас называлась, собственно и «собирал», «навешивал», на операционную систему все функциональные модули, которые и реализовывали общий алгоритм, а ОС устанавливала взаимосвязи, управление очерёдностью и так далее.

ДЗ: У вас не было какой‑то защиты адресных пространств. Это все работало в одном адресном пространстве?

АГ: Защита была.

ДЗ: То есть ядро операционной системы работало в недоступном для прикладного кода пространстве адресов?

АГ: Да, это было.

ДЗ: И системные вызовы существовали какие‑то?

АГ: Да совершенно верно. Сигналы прерывания обрабатывались, так весь процесс организовывался.

ДЗ: Переключение контекста?

АГ: По прерыванию. Например, от диспетчера каналов, что у него какой‑то абонент информацию дал, от таймеров всяких нескольких видов, от часов.

ДЗ: То есть было понятие процесса?

АГ: Да, конечно, переключение между ними по прерываниям, Вот, например основной процесс и тестовый процесс, который имеет всю ту же самую структуру, программы те же, но работают, по тестовым данным. В каждом цикле, в своё время, основной расчет прошёл, после этого тестовый расчет. Если тестовый, правильный, значит, можно верить основному.

ДЗ: Но параллельно они не работают?

АГ: Нет, параллельности там как таковой нет. Там были параллельные вычисления, векторные вычисления, арифметика в машине была векторная.

ДЗ: А понятие процесса в сегодняшнем смысле, переключение по прерыванию между двумя контекстами, такого не было?

АГ: Было и ядро операционной системы, и процессы, в том числе системные, по каждому сигналу запускался какой‑то процесс, кратковременный или длительный, и отрабатывал, с учётом приоритетности этих процессов…

ДЗ: То есть это была такая жёсткая приоритетная схема, при которой у каждого был прописан свой приоритет. И если он был готов к исполнению, то, безусловно, запускался на исполнение?

АГ: Да, соответственно, все эти адресные пространства, все это сохранялось, восстанавливалось и так далее.

ДЗ: А обмен данными между процессами и ядром как был устроен?

АГ: Что нужно ядру, то оно имело в своей области памяти.

ДЗ: Жёсткое разделение на области памяти?

АГ: Да, это все было там достаточно жёстко разделено.

Конечно, система была конкретно «заточена» под выполнение основной задачи, «боевой программы», но она же упрощала отладку, отлаживались отдельные модули и процессы, были отладочные режимы самой программы, то есть у неё в технологическом плане положительный побочный эффект был.

ДЗ: То есть ОС была и средой разработки?

АГ: Да, и средой разработки.

ДЗ: А какое‑то пошаговое исполнение программы было?

АГ: И это было.

ДЗ: То есть средствами операционной системы и реализовывалось, были какие‑то контрольные точки, и можно было, делать остановы и смотреть промежуточные результаты?.

АГ: Да. И можно сказать, в отечественной практике впервые. Здесь мы были первыми.

ДЗ: Начали вы разработку в 1975 году?

АГ: Нет, мы начали её в 1972 году.

АГ: Если совсем с начала, то где‑то в районе 70-го или 71-го года я участвовал в выборе того компьютера, который должен быть поставлен в систему СПРН.

ДЗ: А на боевое дежурство она когда встала?

АГ: На боевое мы сдали её официально уже в 1976 году.

ДЗ: Тоже, в общем, довольно давно, но я почему то почему‑то думал, что в 1982-м.

АГ: Нет, у меня первый орден 76-го года.

ДЗ: То есть, это была машина для своего времени, и своих задач довольно хорошая?

АГ: Про неё у меня есть такой исторический анекдот. Значит, когда в 75-м году при Брежневе пошла эта так называемая разрядка напряжённости, то с американцами договорились об обмене научными кадрами, взаимный обмен, стажировки… Кто‑то приезжал в Союз, какие‑то институты, академические университеты, кто‑то ездил туда…

ДЗ: Но не военные…

АГ: Нет, конечно, не военные. Ну, у нас это понятно, что разделить было очень сложно. Но были товарищи, том числе, например, от Института проблем механики, но, наверное, они‑то как раз числились от Гидрометцентра.

ДЗ: Неожиданно.

АГ: От Гидрометцентра, там же тоже, как бы воздушные потоки.

ДЗ: Вообще, да, что‑то общее есть.

АГ: И вот, получили люди доступ ко второму экземпляру Крея. Вы знаете такую машину?

ДЗ: Ну как же.

АГ: Первый экземпляр, как известно, купил Уолт Дисней.

ДЗ: Серьёзно? Я не знал…

АГ: Да. Первый экземпляр Крея купила фирма Уолта Диснея для рисования мультиков. Для анимации.

А второй экземпляр был уже поставлен в NASA в исследовательский технологический институт. Всего их было несколько десятков экземпляров построено.

ДЗ: Всегда считал, что суперкомпьютеры — это для погоды и ядерных испытаний.

АГ: Про ядерные испытания я не могу судить, но по сложности задач это так, скорее всего.

ДЗ: Погода, пожалуй, сложнее даже.

АГ: Погода сложнее, ядерные испытания обслуживали на МАРКЕ 1М и на БЭСМ-1.

ДЗ: Да, а с погодой не справлялась. Там все гораздо сложнее.

АГ: Как я понимаю, до сих пор не справляется. Вы знаете, что это — МАРК 1 и БЭСМ-1?

ДЗ: Знаю, конечно.

АГ: Марк 1, как известно, 1947-го года машинка.

ДЗ: Ламповая.

АГ: Ламповая, естественно, самая первая в мире ЭВМ. А БЭСМ 1 — 1949-го года, машинка первая в СССР. То есть ненадолго отстали. Использовалась для управления реактором там в Обнинске.

ДЗ: Обнинский — это же был энерго‑реактор, электростанция?

АГ: Да. Но существовала не только электростанция, были и оружейные реакторы, которыми тоже надо было управлять. Не в Обнинске, может быть, где‑то на Урале, скорее всего.

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

ДЗ: То есть, крыла

АГ: Это его диссертация так называлась. Сам он не ездил, а вот по его заданию там считали на Крее, в Калифорнии. В 81 году при президенте Картере что‑то отношения испортились, и всех наших стажёров оттуда «попросили». А задачи‑то решать надо. Вот академик Ишлинский из Института проблем механики, обратился к другому члену академии, конструктору М10 за помощью. ЕС в это время уже была, но не справлялась.

ДЗ: Ну, она не для этого была создана.

АГ: Нет, там были разные ряды, целое семейство

ДЗ: Однако, векторных вычислений не было.

АГ: Векторных вычислений не было. И вот, конструктор М10 говорит — моя машина справится, хоть она по характеристикам слабее, чем даже верхняя модель ЕС, но за счёт векторности она справится. Тут же дал команду разработать компилятор для Фортрана, сами задачи эти были написаны на Фортране. М-10 как раз рассекретили, и брат меня спрашивает, как, мол, справится? Я говорю: да. И в это же время завод, выпустил никуда пока не установленный экземпляр компьютера. Академик начинает договариваться, чтобы ему отдали этот компьютер под его задачи. Брат спрашивает, как оно «из себя»? Я говорю: «Ну как, 500 квадратных метров в 3 этажах». Ну, это, говорит, как‑нибудь ужмёмся в институте и выделим. Я: «А ещё градирня для охлаждения, отдельно стоящая на улице». А это уже строительство, а строительство у нас не раньше как в следующей пятилетке. Тут можно не сомневаться.

АГ: И пошли по другому пути — в Минске, на заводе производящем ЕС, его конструкторском бюро, заказали спецвычислитель к ЕС, старшей модели 50 или 60.

ДЗ: То есть векторный процессор.

АГ: Процессор специальный, да. Ну, по техническому заданию специально для этих задач. И он занял в институте угол в комнате, ЕС у них уже была, то есть ещё один шкафчик и все.

Ну, это уже было другое время, уже другая элементная база, естественно. То есть это было уже в восьмидесятые годы.

ДЗ: Была же идея поставить в серийный компьютер процессор, совместимый с М10?

АГ: Ну, это только идея. Система команд. Сама М10, на самом деле — разработка практически полностью оригинальная. Ну, система команд, логическая структура была позаимствована. Была такая у американцев машина Соломон, там где‑то шестидесятых годах. Вот это позаимствовали.

ДЗ: Заимствовали почему?

АГ: У нас же такая вся политика была со времён товарища Сталина.

ДЗ: То есть осознанное правило — заимствовать?

АГ: В Советском союзе не принято было запускать проекты с рискованным исходом. Исход должен быть однозначным.

Поэтому, когда кто‑то выходил с предложением в ту же самую ВПК (Военно‑ промышленная комиссия ЦК КПСС), первый вопрос был:

— «Гады это делают?»

— «Гады ещё не делают.»

— «И мы не будем.»

А потом, когда разведка доносит, что гады там уже что‑то сделали, тогда: «Ребята, давайте догоняйте, перегоняйте!» В данном случае была поставлена задача создать ПРО, я занимался сначала собственно противоракетной обороной, разработкой самих противоракет, управления ими, системой управления ими, то есть стрельбовых комплексов. Для сбития этих самых баллистических целей,

ДЗ: Они, комплексы ПРО, по идее, должны были от вашей системы обнаружения получать координаты и целеуказания?

АГ: Мы им туда выдавали целеуказания, да система выдавала, не только оповещения, но и целеуказания.

ДЗ: Получается, что вы поучаствовали, в общем, во всех элементах противоракетной обороны.

АГ: Я начинал с ПРО, да, потом отделилась уже конкретно СПРН, как отдельная система, взаимодействующая с собственно ПРО. Но у неё, СПРН свои задачи постоянные. А там что — там тревога прозвучала, прибежали, ракету изготовили в боевое положение и стрельнули. Если есть во что.

ДЗ: Но наводилась она вот по вашему целеуказанию?

АГ: Это уже потом. Когда я начинал там, локатор при ракете, он сам находил, обнаруживал цель, запуск, и она дальше наводилась уже.

ДЗ: А что, был канал связи с ракетой?

АГ: Конечно, да, управление было с земли сначала. Это уж потом пошли всякие самонаводящиеся ракеты.

ДЗ: С земли излучали какой‑то сигнал?

АГ: Да, да. Уже потом появилось самонаведение — изначально на земле её нацелили, она цель захватила, и пошла сама за ней гоняться. А до этого было вот активное наведение с земли. Я участвовал и в этих делах в своё время.

ДЗ: А про сегодняшнее [Интервью от 2014 года.] состояние дел вы можете рассказать?

АГ: Нет, я совсем уже никак не интересуюсь этим десять лет.

Вроде бы ну, занимаются этим они там, все это тоже испытывают. Была, насколько знаю, попытка всё это буквально на персональных компьютерах сделать.

ДЗ: С другой стороны, если это было возможно сделать на тех машинах, на современных персоналках совсем нетрудно.

АГ: Можно, но они же покупные.

ДЗ: Это конечно, но, с другой стороны, Эльбрусы производятся.

АГ: Все‑таки вышли на производство?

ДЗ: Производятся. Я их реально видел своими глазами.

АГ: Ну, я повторюсь, я не электронщик.

ДЗ: Производятся серийные эльбрусовские машины, они у нас на сегодня есть.

АГ: Когда я ещё в 2003 году увольнялся, речь шла все ещё о Эльбрусе 90. То есть о заделе 90 года.

ДЗ: Сейчас Эльбрус 2К конечно.

АГ: Попытка сделать это на персоналках, она упиралась ещё в вопрос — а вдруг там закладки?

ДЗ: Конечно, ну, этим тоже занимаются.

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

ДЗ: Неожиданное направление…

АГ: Началось это в 96 году. Нечаянно я попал в эту организацию, пригласили меня в компанию, они там начали в этот момент этим заниматься. Мы довели её до промышленного, что называется, применения в масштабах всей России. И орденов там пока за это не дали. И даже более того, когда мы систему поставили в 70 областях, из сколько? 80? А дальше? Это только в областные центры, а она везде должна быть. 70 станций установили, дальше нужны периферийные. А их 700. Это нацпроект, огромные деньги. Ну, нас выкинули.

ДЗ: Это, к сожалению, знакомо. Я ещё к парочке вопросов вернусь, вопрос чуть в сторону.

Об этом сейчас много говорят и переживают, и расстраиваются — что была советская промышленность, которая делала компьютеры, и было принято решение, грубо говоря, её уничтожить и перейти на копирование, то есть на ЕС ЭВМ. Можно было этого избежать или нельзя было?

АГ: Выпуск ЕС ЭВМ начался, где‑то в 75 году примерно. Первые начали выпускаться уже, ещё малые.

ДЗ: ЕС1033

АГ: Да, сначала там 30-я модель, потом 40, а 33 — это уже модификации по элементной базе. В основном, вот до этого момента компьютеров в народном хозяйстве не было.

ДЗ: А как же Минск 32?

АГ: Не было его в народном хозяйстве, он там был в ЦСУ и ещё где‑то и все.

ДЗ: Серийно, массово выпускался.

АГ: Ну, какие это массы? Это 10 штук в год, допустим, это масса, что ли? [3]

ДЗ: А почему ЕС получалось сделать больше?

АГ: Для выпуска ЕС завод специальный построили.

ДЗ: Можно было построить завод для Минска 32, или, скажем, для БЭСМ…

АГ: А это уже то же самое — догоняем. И самим изобретать не дают, берём себе готовое, то есть апробированное, проверенное, и тиражируем для народного хозяйства. Уже не только в Госплан СССР, но уже и в облплан ставим, а для областей, опять же 80 надо было, и на это много лет ушло, ну и в другие отрасли. А тут появились уже и АСУ всякие, понимание, что надо делать. А для этого нужны компьютеры. Ну и выбрано было вот кем‑то, кто там выбирал — не знаю. Вот, скажем, М10 я выбирал, точно знаю, что благодаря мне она в эту систему вошла. Там, правда, выбирать было особо не из чего. Это были ещё только проекты. Проект М10. Проект, как она тогда называлась, К300 машина на остаточных классах, зеленоградская.

Я в 68 году закончил университет, а в 70 году я написал отчёт с рекомендациями, что К300 не годится.

ДЗ: Почему?

АГ: Что значит «в остаточных классах»? Там, например, число изображалось в виде остатков от деления на несколько оснований, да ещё в троичной системе.

ДЗ: Очень небанальное представление.

АГ: Очень небанальное. Там, при выходе из строя какого‑то узла снижалась точность вычислений, но сами вычисления могли продолжаться. Вот её как раз на локационные станции и поставили, а конструктив там такой же заложен был, что там иголкой именно надо было шить программы, то есть ферритовые эти кольца прошивать. При этом память для программ, и оперативная память для чисел имели совершенно разные логические конструкции. Отладив программу в оперативной памяти, для того, чтобы её перевести в постоянную, её опять переписывать надо. А там как проверять постоянно? В общем, процесс программирования, был бы бесконечный, поэтому для достаточно маленькой программки, локационной, для обработки, которая занимает десяток килобайт, ну, пусть даже пять десятков килобайт — это приемлемо. Там структура простая абсолютно линейная, программировать ещё как‑то можно было, хотя трудоёмкость огромная. Я это увидел ещё вот молодым специалистом, что это невозможно.

ДЗ: Значит, это то, что называется гарвардская модель. Фон‑неймановская — при которой программная память и память данных едины, а это гарвардская, при которой программная память и память данных различны.

АГ: В М10 память программ тоже постоянная, но структура то одинаковая, логика одинаковая.

ДЗ: И она могла исполнять программы динамически из оперативки.

АГ: Да, конечно.

ДЗ: Можно было отладить из оперативки и перенести.

АГ: Положил программу, задал базовый адрес, и она работает от базового адреса.

ДЗ: То есть её можно было, не меняя кода программы, перенести, сменить базовый адрес. И она поехала.

АГ: И она поехала.

ДЗ: Ну, это уже почти современная.

АГ: Вполне модерн, шик‑модерн. Вот после это я выбрал эту машину. И дальше уже все согласилась.

ДЗ: Было два варианта?

АГ: Нет, там была ещё какая‑то, но та совсем не котировалась. Уже не помню даже, три варианта было возможно. То есть эта вот К300, Карцева разработка, Лебедевского института развитие.

ДЗ: БЭСМ?

АГ: Да, БЭСМ 10, что‑то такое. [2]

ДЗ: От БЭСМ 10 вы отказались?

АГ: Да. В пользу векторности, тактовая частота, такая же, а производительность в разы больше.

ДЗ: В разы. А вы реально понимали, что ваш класс задач позволяет эту векторность использовать?

АГ: Конечно. Тот же алгоритм баллистики один, а целей много.

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

АГ: Да, причём даже возможно большое распараллеливание. Вначале динамическая подготовка, то есть формирование векторов. От каждого из каналов данные пришли, из них вектор сформировали. И он пошёл считаться, при времени такта 1,3 микросекунды, до 700 000 операций в секунду.

ДЗ: 700 000 операций в секунду понятнее, чем длительность такта или тактовая частота.

ДЗ: 16-тикомпонентный вектор, огромный просто, ну, даже для современных вычислителей. [2014г.]

АГ: Ну, 16-компонентный использовать можно было не всегда, там числа маленькие. А вот 8-компонентный — это уже нормально подходит. И там можно было 16 компонентов, 8, 4 компонента — с удвоенной точностью.

АГ: Вот ещё вспомнилось. Я дома, вдруг звонок. Смотрю, в глазок. Двое в шинелях стоят с автоматами.

Первая мысль какая была — неужели где‑то че‑то болтанул и за мной пришли? Хотя это уже был 77–78 год, где‑то так, то есть система уже 3 года в строю, а мы её дорабатывали. Я, спрашиваю, кто там? А они по фамилии — такой здесь живёт? Ну ладно, ну а куда деваться?

ДЗ: Ну да. Не побежишь,

АГ: Этаж не первый.

‑ А в чем дело? 
— Мы, говорят, вот оттуда, у нас там авария.

Ну, открываю дверь, один говорит, уже 12 часов отремонтировать не могут своими силами, нужна ваша помощь. Машина у подъезда. Был такой тогда сигнал «Земля», сбор разработчиков такой. 70 километров от Москвы, через час приехали, за это время и начальник приехал, его тоже подняли к телефону, но он своего водителя вызвал и на своей машине приехал следом осуществлять руководство.

Там случавшаяся ситуация. То есть тесты идут, машина работает, а программа не работает, не исполняется. Ну, где‑то часа через три нашёл причину. «Подвесил» им эту ошибку на осциллограф, увидели.

То есть определил конкретно, до блока. Там дальше уже конкретный блок заменили, все пошло. Ввели в срок. И что вы думаете? Это где‑то уже середина дня, 8 марта, у меня жена не поздравленная и без завтрака в постель. Ну, говорю, обратно можно хотя бы до электрички доставить? Нет, пешком.

ДЗ: Нормально…

АГ: До рейсового автобуса пошёл, который там, где‑то в двух километрах проходил. Когда туда надо, так машину прислали к подъезду, а когда обратно, вот такое отношение.

ДЗ: А машина была тезовая, то есть, как они блоки меняли?

АГ: Блоки заменяемые, но конструктив был другой, ТЭЗы — это были у ЕС, типовой элемент замены, если помните, небольшого размера и толщины и весит немного, да? Ну, не больше килограмма точно, а то и грамм 200–300. А блок М10 — это 32 кг.

ДЗ: Ничего себе.

АГ: И вот когда память была с ещё пластинами, это и был «ящик» 32 кг, немаленького размера. И был там разработчик из института НИИВК, в самом начале, когда разработчики ввод машины сопровождали, до сдачи. Он ростом был, ну, 1.55 м, а шкаф высотой 2 метра. То есть он не доставал даже до 4 ряда, вытянутой рукой, пальцами низа верхнего ряда доставал. Так вот, эти 32 кг он туда закинул. Шкаф, двери открываются, внутри рама, и вот он, одной рукой держась за стойку этого шкафа, конструктивную, встав на порожек, второй рукой, он эти 32 килограмма поднимал. Можно было сразу идти гири жать.

ДЗ: Ему зачем, он этими блоками вместо этих гирь накачался.

АГ: Сейчас, конечно, попроще. И такие, и такие моменты были…


Отдельная благодарность за организацию процесса и оцифровку звука Андрею Власенко, без него этого интервью бы не случилось.

[1] — серия К217, ДТЛ, не самые первые Советские серийные микросхемы, до них выпускались микросхемы РТЛ — резисторно‑транзисторной логики. На эту тему есть масса информации на сайте 155la3.ru

[2] — см. также https://1500py470.livejournal.com/403284.html

[3] — Машин Минск-32 выпускалось куда больше. Общий объём выпуска оценивается в 3000 экземпляров. Если учесть, что в 80-х её уже снимали с эксплуатации, в год их выпускали никак не десятки, а, скорее, сотни.

ссылка на оригинал статьи https://habr.com/ru/articles/1023600/