В электронных схемах БЭСМ-6 использовано 60 тыс. германиевых транзисторов и 180 тыс. полупроводников-диодов, общая тактовая частота — 10 МГц, быстродействие — 1 млн операций с плавающей запятой в секунду. Для сравнения — в мультипроцессорной CDC 6600 (1964 год) примерно в 6 тыс. типовых модулей было упаковано около 400 тыс. транзисторов, причем более прогрессивных, чем в БЭСМ-6 — кремниевых, с временем переключения около 5 нс (хотя основная тактовая частота в этой машине была такой же, как в БЭСМ — 10 МГц) [1.17]. И все-таки CDC 6600 не превышал БЭСМ-6 по производительности. Вот что значит продуманная и тщательно оптимизированная архитектура!
Участники разработки БЭСМ-6 в день награждения Государственной премией СССР, 1969 год. Третий слева — В. А. Мельников, за ним — А. А. Соколов, второй справа — С. А. Лебедев
Типовые германиевые советские транзисторы начала 1960-х годов (например, такие, как импульсные П-16 или высокочастотные П-416) имели время переключения в единицы микросекунд. Чтобы заставить их работать на частотах порядка тактовой частоты БЭСМ-6, разработчикам приходилось идти на ухищрения. Участник разработки В. Н. Лаут вспоминает [18.1]:
«Трудность с использованием транзисторов заключалась в том, что в режиме насыщения они работали очень медленно, а логические элементы с ненасыщенными триодами получались сложными из-за необходимости согласования уровней входных и выходных сигналов. И не только сложными, но и ненадежными. Некоторое время мы не видели выхода из тупика. Но тут возникла абсолютно новая идея, никогда и нигде ранее не описанная, по крайней мере, для элементов вычислительной техники. По-моему, первым ее высказал А. А. Соколов.
Суть идеи заключалась в том, чтобы в известный элемент „токовый переключатель“ ввести автономный источник питания, гальванически не связанный с другими цепями питания. Например, для этой цели можно было бы использовать миниатюрную батарейку от электронных часов. Включение батарейки между коллектором транзистора и коллекторной нагрузкой (резистором) делало переключатель элементом с согласованными уровнями входных и выходных сигналов, причем к автономному источнику питания не предъявлялось особенно сложных требований. Конечно, батарейку ставить было нельзя, так как она со временем разрядится, поэтому в реальной схеме ее заменил крошечный выпрямитель, состоящий из миниатюрного трансформатора на ферритовом кольце, двух полупроводниковых диодов и конденсатора. Назвали эти выпрямители „подвешенными источниками питания“ (ПИП)».
Участники разработки В. А. Иванов (слева), В. М. Семешкин и генеральный конструктор С. А. Лебедев на фоне БЭСМ-6
БЭСМ выпускалась московским заводом САМ в течение девятнадцати лет, с 1968 по 1987 год. В 1975 году совместным полетом «Союз — Аполлон» управляли с помощью вычислительного комплекса АС-6, в состав которого входила БЭСМ-6, причем информация обрабатывалась почти на полчаса раньше, чем у коллег в США. На БЭСМ-6 появились первые полноценные операционные системы, мощные трансляторы, ценнейшая библиотека численных методов. Основные участники разработки БЭСМ-6 (С. А. Лебедев, В. А. Мельников, Л. Н. Королев, Л. А. Зак, В. Н. Лаут, А. А. Соколов, В. И. Смирнов, А. Н. Томилин, М. В. Тяпкин, В. Я. Семешкин, В. А. Иванов) в 1969 году получили Государственную премию.
БЭСМ-6 и западные разработки
Существует (и периодически реанимируется) миф о том, что БЭСМ-6 была скопирована с первого американского коммерчески успешного полупроводникового компьютера CDC 1604, разработанного в 1960 году Сеймуром Креем. Миф базируется на совпадении некоторых технических характеристик: числа двоичных разрядов для представления числа (48), разрядности адреса (15), числа регистров общего назначения (1) и т. п., а также на том факте, что разработчикам, адаптировавшим транслятор языка «Фортран» для БЭСМ-6, была поставлена задача обеспечения полной совместимости с CDC 1604. Однако прямое сопоставление характеристик не оставляет от этой версии камня на камне: набор и формат команд у этих машин полностью различен, не совпадает представление чисел, в БЭСМ-6 (как и во всем семействе БЭСМ) отсутствует целочисленная арифметика, имеющаяся в CDC 1604, и т. д. Зато в отличие от CDC, БЭСМ-6 имела виртуальную память, режимы пользователя и супервизора, механизмы защиты памяти, кэш-память и многие другие преимущества. На Западе признают, что БЭСМ-6 — оригинальная советская разработка: в англоязычной статье «Википедии» о CDC 1604 написано по поводу БЭСМ-6 следующее: «BESM-6 computer, which entered production in 1968, was designed to be somewhat software compatible with the CDC 1604, but it ran 10 times faster and had additional registers» («Компьютер БЭСМ-6, который выпускался, начиная с 1968 года, был спроектирован так, чтобы некоторые программы были совместимы с CDC 1604, однако он был в 10 раз быстрее и имел дополнительные регистры»).
Генеральные конструкторы советских ЭВМ в США знакомятся с компьютерами IBM, 1959 год. Третий справа — Сергей Алексеевич Лебедев, далее по порядку Виктор Михайлович Глушков и Юрий Яковлевич Базилевский
Разумеется, и сам Лебедев, и его сотрудники внимательно следили за западными разработками. Более того, западные источники были часто более доступны, чем отечественные. Владимир Иванович Смирнов, один из разработчиков БЭСМ-6, вспоминал, что в начале работ над машиной он вместе со своими коллегами внимательно следил за всей поступающей литературой, и больше всего ценной информации почерпнул из иностранных источников, а не отечественных, многие из которых несли на себе гриф «секретно». Однако точно известно, что ключевые идеи (такие, как «водопроводный» принцип) наши разработчики, включая и С. А. Лебедева, выдвинули совершенно самостоятельно: у них не было ни возможностей, ни необходимости в копировании.
В 1992 году Россию посетил известный историк, куратор лондонского научного музея Дорон Свейд, много сделавший для сохранения памяти о компьютерных пионерах. Он приехал специально с целью приобретения БЭСМ-6 для музея. Публикация его заметок[16] об этом посещении предваряется словами, что «пресловутое технологическое превосходство США в период холодной войны было в значительной степени мифом». Свейд пишет о БЭСМ-6: «детальное изучение этого мощного советского суперкомпьютера, возможно, поможет нам вернуться к утверждениям времен холодной войны о якобы отставании российских технологий, и развеять или подтвердить некоторые мифы о технологических достижениях новых союзников».
Титульный лист брошюры С. А. Лебедева «Электронные вычислительные машины» с посвящением жене
Ближайший конкурент БЭСМ-6, знаменитый CDC 660 °Cеймура Крея, построенный в 1964 году, обладал сравнимой производительностью в 1 млн операций с плавающей точкой в секунду, а в Европе БЭСМ-6 в течение нескольких лет оставалась самой быстрой машиной (точно так же, как БЭСМ-1 десятилетием ранее). БЭСМ-6 приобрела настолько широкую известность, что у многих наших современников даже заслонила все остальные достижения советской компьютерной техники. Сравнивая количество произведенных БЭСМ-6 за почти двадцать лет ее выпуска (355 штук за 1968–1987 годы) с 10–15 тысячами ежегодно продаваемых в 1960-е годы компьютеров одной только IBM, гарантированно приходишь к выводу об устрашающем отставании СССР в этой области. Уместно, однако, напомнить, что БЭСМ-6 — далеко не единственная советская модель, и представляет собой суперкомпьютер с экстремальной по тем временам производительностью. В настоящее время рекордные по производительности машины строят в индивидуальном порядке (собирая их из типовых «ширпотребовских» компонентов), а в те времена их выпускали серийно, но «суперов» никогда не производилось много. Так, CDC 6600 за пять лет его выпуска (1964–1969) было произведено около ста штук, что вполне сравнимо с количеством БЭСМ-6 в расчете на пятилетний период.
Однако за эти два десятилетия западные машины, разумеется, ушли далеко вперед, и двадцать лет выпуска БЭСМ-6 лишь свидетельствует об общем отставании производства компьютерной техники в СССР. Всех гражданских (точнее — двойного назначения) моделей второго поколения — «Минсков», «Уралов» и БЭСМ, за все время их производства в сумме было выпущено около 5500 штук[17], что свидетельствует о наличии в СССР довольно развитой компьютерной отрасли, но, конечно, не сравнимо с теми десятками тысяч ЭВМ, которые ежегодно выпускались на Западе.
Поворот кругом
Потому уже в конце 1960-х встал вопрос о преодолении общего отставания в компьютерной технике от Запада. Дело было даже не в количестве. К середине 1960-х годов в СССР выпускалось более десятка различных типов вычислительных машин, не имеющих ничего общего ни по программному обеспечению, ни по аппаратным особенностям и даже по внешним интерфейсам. АЦПУ или устройства памяти от машин типа «Минск» нельзя было подключить к «Уралам» и наоборот, не говоря уж о зарубежном оборудовании. В серии «Минск» был принят семибитный байт, в БЭСМ — шестибитный, единой кодировки символов не существовало. Надо было как-то разбираться с этим зоопарком. С сегодняшней точки зрения мы можем констатировать, что к шестидесятым годам в СССР была создана довольно передовая компьютерная отрасль, но звание «индустрии» ей еще предстояло заслужить.
В этой обстановке весь конец 1960-х годов прошел в спорах о дальнейшей ориентации строительства компьютеров. В результате было принято, вероятно, наихудшее из возможных решение о переориентации всей отрасли на копирование стремительно устаревающей техники фирмы IBM. Подробнее об истории с принятием решения о копировании IBM/360 рассказывается в очерке Б. Н. Малиновского о Башире Искандаровиче Рамееве, помещенном в этой книге, здесь мы лишь добавим несколько слов.
С. А. Лебедев и М. А. Лаврентьев на даче в Луцино, 1 мая 1963 года