
БЭСМ-6
В. Н. Лаут, д.т.н.
Одной из наиболее удачных разработок Института была ЭВМ БЭСМ-б — универсальная машина с производительностью около одного млн.оп./с. Опытный образец БЭСМ-б был установлен в Вычислительном центре АН СССР и принят Госкомиссией в 1967 г.
Работы по созданию БЭСМ-6 начались еще в 1959 г. в Лаборатории I под руководством Главного конструктора академика С.А.Лебедева.
К концу 50-х годов уровень развития электроники уже позволял думать о создании элементной базы для вычислительной машины с использованием только полупроводниковых приборов. В 1958 г. была запущена в производство ЭВМ М-20, последняя из универсальных машин на лампах, разработанная в Институте.
Интегральных схем в то время еще не было. Промышленность выпускала дискретные германиевые диоды и триоды с весьма плохими характеристиками. Можно ли на них было разработать элементы для высокопроизводительной машины? Ведь быстродействие ЭВМ определяется в первую очередь ее логическими элементами.
К этому времени в специальной литературе появилось много сообщений об использовании в качестве основы для схем быстродействующей логики туннельных диодов. Эти диоды имели малые времена переключения, во много раз лучшие, чем у транзисторов. Однако элементы на туннельных диодах получились с плохой нагрузочной способностью, что приводило к усложнению схем машины, и довольно быстро мы от них отказались.
Трудность с использованием транзисторов заключалась в том, что в режиме насыщения они работали очень медленно, а логические элементы с ненасыщенными триодами получались сложными из-за необходимости согласования уровней входных и выходных сигналов. И не только сложными, но и ненадежными. Некоторое время мы не видели выхода из тупика. Но тут возникла абсолютно новая идея, никогда и нигде ранее не описанная, по крайней мере, для элементов вычислительной техники. По-моему, первым ее высказал А.А.Соколов.
Суть идеи заключалась в том, чтобы в известный элемент «токовый переключатель» ввести автономный источник питания, гальванически не связанный с другими цепями питания. Например, для этой цели можно было бы использовать миниатюрную батарейку от электронных часов. Включение батарейки между коллектором транзистора и коллекторной нагрузкой (резистором) делало переключатель элементом с согласованными уровнями входных и выходных сигналов, причем к автономному источнику питания не предъявлялось особенно сложных требований. Конечно, батарейку ставить было нельзя, так как она со временем разрядится, поэтому в реальной схеме ее заменил крошечный выпрямитель, состоящий из миниатюрного трансформатора на ферритовом кольце, двух полупроводниковых диодов и конденсатора. Назвали эти выпрямители «подвешенными источниками питания» (ПИП).
Парафазные выходы переключателей тока, снабженные эмиттерными повторителями, могли работать на входы логических схем «И», «ИЛИ». Вырисовывалась такая схемотехника: пассивная комбинаторная логика на диодно-резисторных компонентах подключалась к входам усилительных активных элементов, выходы которых, в свою очередь, соединялись с входами комбинаторных схем и т.д. Таким образом, электронное тело машины выглядело как слоеный пирог: слои диодных логических схем перемежались слоями усилителей на переключателях тока. Такая структура очень подходила для осуществления другой чрезвычайно мощной идеи — «конвейерной работы». Для этого на вход усилителей, выполняющих функции триггеров, завели еще сигналы синхронизации. Конвейерная схемотехника с легкой руки Сергея Алексеевича Лебедева стала называться у нас «водопроводом». БЭСМ-6 стала первой советской машиной, в которой использовалась конвейерная работа. Темп конвейера, определяемый частотой сигналов синхронизации, в БЭСМ-6 был равен 10 МГц.
Итак, была разработана совершенно новая система логических элементов, позволяющая выжать максимум быстродействия из имеющихся не слишком качественных отечественных транзисторов и диодов.
Затем возникла необходимость в разработке конструкции такой машины, чтобы не потерять потенциального быстродействия логических элементов, а также технологичной и удобной в эксплуатации.
В 50-х годах еще не было многослойных печатных плат, широко используемых в конструкциях современных ЭВМ. В БЭСМ-6 печатные платы (двусторонние) применялись только в ячейках (ТЭЗах), которые были двух типов: с активными элементами-триггерами и пассивными комбинаторными схемами. Активные ячейки имели на торцах световые индикаторы и устанавливались с лицевой стороны стоек, образуя своеобразное световое табло, с тыльной стороны стоек размещались пассивные ячейки. Объемные объединительные панели имели разъемы с двух сторон, а проводные связи проходили внутри между разъемами по кратчайшему пути. Это была необычная конструкция. Она уменьшала размеры машины, а, следовательно, и времена пробега сигналов.
Быстродействующая элементная база и удачная конструкция явились основой для достижения высокой производительности ЭВМ. Наибольшая заслуга в разработке новых идей в этой области принадлежит А.А.Соколову, М.В.Тяпкину, В. В. Жуковскому.
Впервые в наших машинах в БЭСМ-6 была применена «расслоенная» оперативная память, она состояла из 8 независимо работающих устройств емкостью 4К слов каждое.
Расслоение памяти повышало темп обмена информацией между памятью и другими устройствами машины, что увеличивало ее производительность. Память была магнитная, на ферритовых сердечниках диаметром 2 мм. Эти сердечники марки 2 ВТ были разработаны и внедрены в серийное производство коллективом Лаборатории 3, руководимой В.В.Бардижем. Кроме технологических проблем изготовления, были решены и вопросы автоматической проверки сердечников.
Накопитель собирался из матриц емкостью 4К сердечников, каждый из которых пронизывался четырьмя тонкими проволочками; в то время прошивка матриц производилась вручную и только через много лет эта нелегкая работа была автоматизирована.
В ходе разработки памяти пришлось решить ряд сложных технических проблем: коммутация больших импульсных токов, стабилизация их амплитуд, снижение помех в цепях питания, автоматизация проверки прошитых матриц и множество других. Основной вклад в эту работу внесли руководитель разработки А.С.Федоров, а также В.В.Калашников, Д.Ф.Шапошников, М.П.Сычева, Д.Г.Штильман.
Центральное ядро машины состояло из четырех стоящих рядом стоек, развернутых в плане на 150 градусов друг к другу. Человеку, находящемуся внутри «подковы», были видны световые индикаторы всех стоек, на уровне обычного стола каждая стойка имела наклонную консоль с клавиатурой, и совокупность этих четырех консолей образовывала пульт управления машиной.
В состав ядра входили арифметическое устройство, устройство управления, регистры сверхоперативной памяти, управление внешними устройствами.
Кроме основного ядра и 8 стоек памяти, в БЭСМ-6 входили: шкафы питания, контроллер управления внешними устройствами, магнитные барабаны со своим устройством управления, магнитофоны, алфавитно-цифровая печатающая машина, настольная печатающая машинка, комплекты оборудования для ввода и вывода на перфокартах и перфолентах, телетайпы.
В системе питания использовались источники с электронными линейными регуляторами выходного напряжения, величину которого можно было изменять командами машины. Программное изменение питающих напряжений позволяло более глубоко проверять ЭВМ на тестовых программах, разработку системы питания возглавлял О.К.Щербаков.
Все конструкторские работы проводились в отделах, руководимых А.А.Грызловым и Г.И.Шлосбергом. На ранней стадии работы активное участие в разработке конструкции принимал О.Я.Васильев.
В годы разработки БЭСМ-б магнитных дисков еще не было, поэтому большое значение придавалось надежности работы с магнитной лентой. Ю.В.Никишиным был разработан лентопротяжный механизм для ленты шириной 19,05 мм с вакуумными карманами, обеспечивающими малый выбег ленты при останове, что необходимо для старт-стопного режима. Раздельные головки для записи и считывания делали возможным контроль качества записи в процессе выполнения команды записи. Большое участие в этой работе, особенно на завершающем этапе — доводке конструкции, принимал М.В.Тяпкин.
Выпускавшаяся в то время магнитная пленка была неважного качества, множество дефектов магнитного покрытия приводило к большому количеству ошибок при считывании. Практически в каждой зоне (массив на ленте информационным объемом в одну страницу) возникало несколько ошибок. Помочь могло только введение избыточности в записываемую информацию. Наиболее просто это можно было бы осуществить дублированием зоны, то есть дважды записывать каждую зону, теряя, естественно, в емкости бобины. Алгоритм исправления ошибок заключался в наложении в оперативной памяти кодов, считанных из двух зон, при этом вместо байтов с неправильной четностью писались нули. В систему команд была введена операция «запись с наложением». Конечно, выбран был не лучший способ повышения надежности, но «заплаты» были и, по-видимому, будут во всех разработках.
Следует отметить, что в БЭСМ-б было заложено множество новых архитектурных, схемотехнических и конструкторских решений, некоторые из них больше нигде не применялись, другие появились в ЭВМ следующих поколений. Кроме уже названных идей по элементной базе и конструкции, стоит перечислить оригинальные идеи:
страничная организация памяти;
виртуальная память с аппаратным перекодированием программных адресов в физические;
аппаратная защита памяти;
быстрая регистровая память с автоматическим вытеснением наиболее «старой» информации в оперативную память;
отдельная регистровая память для хранения индексов (номеров элементов массивов);
быстрые алгоритмы выполнения операции умножения и деления (за один такт синхронизации умножение на 4 цифры множителя, вычисление 4-х цифр частного);
сумматор без цепей сквозного переноса, представляющий результат сложения в виде двухрядного кода (поразрядных сумм и переносов) и оперирующий с входным трехрядным кодом (новый операнд и двухрядный результат предыдущего сложения);
отдельный сумматор для вычисления адресов команд;
совмещенное выполнение различных фаз нескольких последовательных команд (конвейерный режим);
наличие в системе команд макрокоманд (например, вычисление квадратного корня, натурального логарифма и др.).
Этот перечень легко можно было бы продолжить. Большая часть из основополагающих идей при создании машины была предложена С.А.Лебедевым, А.А.Соколовым, М.В.Тяпкиным, В.И.Смирновым, Л.А.Заком. Очень много творческого труда внесли О.А.Большаков, В.Л.Ли, А.В.Аваев, И.Д.Визун, М.А.Головина, А.Ф.Жиров, Ю.Н.Знаменский, В.И.Новизенцев, Ю.И.Митропольский, В.С.Чехлов, В.Г.Командровский и др.
Математическое обеспечение БЭСМ-6 разрабатывалось под руководством Л.Н.Королева. В то время термин «операционная система» еще не применялся, управляющая программа называлась вначале «супервизор», затем «диспетчер». Правой рукой Л.Н.Королева по разработке диспетчера был А.Н.Томилин и, естественно, разработка аппаратуры машины велась в тесном контакте с этими программистами, которыми были предложены также некоторые особенности архитектуры. Среди участников создания МО для БЭСМ-6 следует отметить работу тогда молодых программистов М.Г.Чайковского и В.П.Иванникова.
В 1964 г. в Институте был собран макетный образец БЭСМ-6. Он имел всего один «куб» ферритовой памяти, в логических элементах использовались медленные транзисторы, уже много лет выпускавшиеся промышленностью, но его отладка и прогон тестовых программ подтвердили правильность основных решений и помогли выявить слабые места проекта.
В 1966 г. опытный образец машины, имевший оперативную память половинной емкости (4 куба вместо 8), но на современных транзисторах и диодах, работающий на проектной частоте синхронизации, уже был в основном отлажен и осенью на нем были проведены заводские испытания, а в мае 1967 г. завершились государственные испытания. Математическое обеспечение БЭСМ-6 непрерывно совершенствовалось, уже осенью 1968 г. состоялось испытание нового комплекта МО. В его составе были диспетчер Д-68, трансляторы с языков АЛГОЛ и ФОРТРАН.
В дальнейшем появились другие, более совершенные операционные системы для этой машины, разработанные коллективами программистов предприятий-пользователей БЭСМ-6.
К началу серийного производства БЭСМ-6 эта машина была одной из лучших ЭВМ не только в нашей стране, но и в мире. В конце 60-х годов еще не использовался термин «супер-ЭВМ», но БЭСМ-6 в свое время вполне могла бы претендовать на это определение.
БЭСМ-6 стала основной машиной многих крупных вычислительных центров страны. Она продолжала совершенствоваться, со временем емкость ее оперативной памяти возросла в 4 раза, в состав машины были введены магнитные диски и некоторые другие внешние устройства из серии ЕС ЭВМ.
С использованием конструктивных и схемотехнических решений БЭСМ-6 была создана многопроцессорная система переменной структуры. Ее основное назначение — использование совместно с БЭСМ-6 в космических центрах. Ряд космических программ, в том числе совместный полет «Союз-Аполлон», осуществлялись с применением этих вычислительных комплексов.
Архитектура и сочетание параметров БЭСМ оказались удачными: ее выпуск продолжался более 15 лет, а эксплуатация свыше двух десятилетий. В 80-х годах в Институте была разработана «интегральная БЭСМ» — машина 3-го поколения на интегральных схемах, совместимая с БЭСМ-6. Этому способствовало накопление огромного объема программного багажа, облегчающего трудоемкость решения новых задач на БЭСМ-6.
За создание БЭСМ-6 группе участников разработки во главе с Сергеем Алексеевичем Лебедевым была присуждена Государственная премия СССР.