Л.Н. Королёв, В.А. Мельников
О ЭВМ БЭСМ-6
Исходный вариант статьи был опубликован в 1976 году в журнале ВЫЧИСЛИТЕЛЬНЫЕ СРЕДСТВА И ВСПОМОГАТЕЛЬНОЕ ОБОРУДОВАНИЕ СИСТЕМ в связи с десятилетием ввода в эксплуатацию машины БЭСМ-6. В публикуемом ниже варианте Л.Н. Королёвым внесены некоторые изменения в первоначальный текст, состоящие в замене настоящих времен глаголов на прошедшие и в добавлении нескольких фраз эмоционального содержания, навеянных современным временем. Эти редакторские правки сделаны для того, чтобы статья стала более удобочитаемой сегодня.
В 2002 году, в год столетия со дня рождения патриарха отечественной вычислительной техники, академика Сергея Алексеевича Лебедева, исполнилось 36 лет со дня ввода в эксплуатацию машины БЭСМ-6, созданной под его руководством и при его непосредственном участии.
Трудно переоценить то значение и то влияние на развитие вычислительной техники, на развитие других областей научно-технического прогресса в нашей стране, которое имело создание этой высокопроизводительной, оригинальной по архитектуре и структуре отечественной вычислительной машины.
Во второй половине ушедшего столетия основу вычислительных средств большинства крупных вычислительных центров нашей страны составляли машины БЭСМ-6. Сфера их использования превзошла самые смелые прогнозы ее разработчиков. Первоначально предполагалось, что небольшая серия БЭСМ-6 будет использована для решения крупных научных задач в нескольких крупных научных институтах Советского Союза, таких как Институт прикладной математики АН СССР и центры ядерных исследований. Реально эта машина нашла самое широкое применение.
На основе БЭСМ-6 были созданы центры коллективного пользования, на ее основе были организованы центры управления в реальном масштабе времени, координационно-вычислительные центры, системы телеобработки и т.д. Машина БЭСМ-6 широко использовались как инструментальная машина в системах проектирования, для разработки математического обеспечения новых ЭВМ, для моделирования сложнейших физических процессов и процессов управления.
Успех БЭСМ-6 определялся не только тем, что для решения перечисленных выше задач требовалось высокое быстродействие, которым эта машина обладала, но и тем, что принятые при ее создании принципиальные решения предвосхитили то, что в архитектурах современных процессоров считается важными достижениями и достоинствами.
Чтобы не быть голословными, назовем следующие принципиальные особенности архитектуры БЭСМ-6:
- магистральный, или, как в свое время (1964 г.) назвал его академик С.А. Лебедев, «водопроводный» принцип организации управления, с помощью которого достигается глубокий внутренний параллелизм обработки потока команд и движения операндов (на современном языке это называется конвейерной обработкой потока команд; глубина конвейера составляла 14 стадий);
- впервые осуществленный в БЭСМ-6 принцип использования ассоциативной памяти на сверхбыстрых регистрах с логикой управления, позволяющей аппаратно экономить число обращений к ферритовой памяти и тем самым осуществлять локальную оптимизацию в динамике счета (это явилось прообразом кэш-памяти для данных – неотъемлемой части процессоров новых поколений);
- «расслоение» оперативной памяти, что позволяет осуществить одновременное обращение из нескольких устройств машины к разным блокам памяти;
- принцип страничной организации виртуальной памяти и разработанные на его основе механизмы защиты памяти по числам и командам, что дало возможность осуществлять динамическое распределение оперативной памяти в процессе вычислений; аппаратный механизм преобразования виртуального («математического») адреса в физический адрес;
- использование индексных регистров для базирования и модификации адресов позволило строить свободно перемещаемые программы и вложенные процедуры;
- развитая система прерываний и индикации состояния внешних и внутренних устройств машины, контроль передачи данных между оперативной памятью и центральным устройством машины, между оперативной и внешней памятью позволили достаточно хорошо вести диагностику работы аппаратуры;
- возможность одновременной работы парка устройств ввода-вывода и внешних запоминающих устройств на фоне работы центрального процессора.
Сейчас эти особенности БЭСМ-6, возможно, кажутся не столь удивительными. Развитые ЭВМ сегодняшнего дня в той или иной степени обязаны обладать перечисленными характеристиками. Но идеи такой организации были предложены и воплощены в БЭСМ-6 намного раньше времени их широкой реализации в будущих машинах.
Четко выраженное в БЭСМ-6 разделение виртуальной и физической памяти, наличие нескольких параллельно работающих каналов обмена между оперативной и внешней памятью позволило наращивать оперативную память этой машины и объемы внешних запоминающих устройств (быстрых магнитных барабанов, магнитных дисков и магнитных лент).
Перечисленные характеристики позволили машине БЭСМ-6 рекордно долгое время, вплоть до начала 80-х годов прошлого столетия, оставаться одной из наиболее мощных и высокоразвитых вычислительных систем нашей страны. При всем этом БЭСМ-6 обладала рекордным коэффициентом отношения быстродействия к стоимости вычислений, так как при ее проектировании и конструировании учитывались вопросы технологии производства, серийного выпуска и стоимости эксплуатации машины.
В этом еще раз сказался замечательный стиль творчества академика С.А. Лебедева - стиль сочетания смелого творческого полета мысли, научной принципиальности н одновременного видения условий реализации, возможностей технологии, путей наискорейшего внедрения научных достижений в производство.
В смысле такого подхода к разработке машина БЭСМ-6 является развитием семейства ЭВМ БЭСМ-1, БЭСМ-2, М-20 и его преемников БЭСМ-ЗМ и БЭСМ-4, созданных под руководством С.А. Лебедева. Архитектуру и структуру этих машин отличает концептуальная целостность, прозрачность построения и изящные инженерные решения. Наиболее полно это проявилось в БЭСМ-6. Несмотря на то, что эта машина является сложной вычислительной системой, механизмы функционирования ее устройств, их функциональные связи легко понимаются, четко интерпретируются, и, следовательно, наладка и эксплуатация машины БЭСМ-6 переставала быть проблемой.
Общеизвестна высокая надежность по критериям того времени этой машины. Время наработки на отказ достигает нескольких сотен часов.
Гениальность академика С.А. Лебедева как инженера состояла в том, что он ставил цель с учетом перспективы развития структуры будущей машины, умел правильно выбрать технические средства для ее реализации применительно к возможностям отечественной промышленности. Была предложена элементная база и конструкция, которая могла быть реально освоена в заданное время. Схемотехника машины БЭСМ-6 по тем временам была совершенно новой, принцип разделения сложной логики, построенной на диодных блоках, и достаточно однотипной усилительной части обеспечил машине новое качество в смысле простоты ее создания.
Высокая надежность машины БЭСМ-6 и её быстродействие в первую очередь определяются высокочастотной системой элементов и оригинальной конструкцией. Впервые в СССР была достигнута тактовая частота машины 10 МГц, в то время как машины, разрабатываемые на тех же диодах и транзисторах, имели тактовую частоту 4 - 6 МГц. Надежность БЭСМ-6 в значительной степени обеспечивалась большим запасом мощности основных элементов (диоды и транзисторы нагружены па 25-40% от допустимого номинала).
Все схемы машины БЭСМ-6 записаны формулами булевой алгебры. Это составляет основу се эксплуатационной и наладочной документации. В руках инженеров-наладчиков мы не видим полотен схем электрических соединений - в их руках тетрадки с формулами, компактно и точно описывающими функционирование устройств ЭВМ.
Принципиальное значение перехода на такой уровень описания машины состоит не только в том, что это прямое и успешное внедрение математического формализма в повседневную инженерную практику, но и в том, что это открыло широкие возможности автоматизации проектирования и подготовки монтажной и производственной документации с помощью ЭВМ. Такая возможность была использована при проектировании и внедрена в производственный процесс. Этот опыт схемотехники может быть взят на вооружение при создании машин новых поколений. Рост логической сложности отдельных устройств, модулей и агрегатов современных машин настоятельно потребовал формализации их описания.
Второй важный, с нашей точки зрения, момент, на котором следует остановить внимание, состоит в проблеме использования отечественного и зарубежного опыта при создании новых ЭВМ. Машина БЭСМ-6 не является копией какой-либо отечественной или зарубежной установки ни по системе команд, ни по внутренней структурной организации. Но при ее создании и проектировании был изучен и проанализирован опыт создания ЭВМ высокой производительности, накопленный к тому времени. Из этого опыта было взято на вооружение то, что соответствовало целям, поставленным при разработке этой машины. Принятые решения были всесторонне, комплексно обоснованы.
К разработчикам БЭСМ-6 в свое время обращались с вопросами типа: а почему вы это сделали не так, как оно сделано, например, в машинах фирм IBM, СDС? Мы далеки от того, чтобы критиковать задававших подобные вопросы с позиций патриотизма или с других эмоциональных позиций. Техника есть техника, и ее нужно делать наиболее разумным способом.
При разработке машины БЭСМ-6 по инициативе С.А. Лебедева было проведено детальное моделирование, определившее ее структурные характеристики, на классе тех задач, для решения которых машина была предназначена. Результаты этого моделирования дают обоснованные ответы на большинство такого рода вопросов. Характер предназначенных для решения задач в ряде случаев позволял принимать более простые структурные решения, в ряде случаев требовал создания сложных схем, не имевших аналога в опыте разработки вычислительной техники.
Как нам кажется, принцип обоснованности принятых решений не потерял своего значения и по сей день. Этот принцип требует творческого, научного подхода, которым в полной мере обладал С.А. Лебедев.
Поясним сказанное на одном примере, связанном с организацией управления работой внешних запоминающих и вводных-выводных устройств БЭСМ-6. Способ сопряжения внешних устройств, принятый в машине БЭСМ-6, подвергался наибольшим нападкам со стороны критиков этой машины. Действительно, подключение всякого нового устройства требует определенных инженерных доработок в устройстве управления внешними устройствами, и пользователь, сумевший заполучить в свои руки какое-либо «нестандартное» устройство, испытывает большие затруднения с его подсоединением.
Кажется, что такому решению нет оправданий, тем более, что к моменту разработки БЭСМ-6 фирмой IBM был реализован стандартный интерфейс, снимавший в значительной степени проблему подключения новых устройств и замену одних другими.
Но если внимательно подумать или просто сравнить по стоимости и объему оборудование, необходимое для реализации сопряжения с внешними устройствам в том и другом случае, то решения, принятые в БЭСМ-6, могут оказаться не столь плохими. В самом деле, каждое внешнее устройство для обеспечения стандартного сопряжения имеет в своем составе контроллер или подключено к этому весьма дорогому и сложному устройству, обеспечивающему стандартный выход на мультиплексный или селекторный каналы. Если просуммировать затраты на дополнительное оборудование и занимаемые им площади, необходимые при подключении устройств по стандартному интерфейсу, то окажется, что система БЭСМ-6 многократно экономнее. Иными словами, централизованное устройство управления БЭСМ-6 в несколько раз дешевле, чем стоимость контроллеров стандартного набора внешних запоминающих и вводных/выводных устройств машин аналогичного класса.
Впрочем, в ряде моделей машин IBM был введен так называемый интегрированный адаптер файла, позволяющий подключить к вычислительной машине дисковое запоминающее устройство без использования стандартного канала и контроллера. В этом факте можно усмотреть некоторую аналогию с рациональным способом подключения устройств, принятым в БЭСМ-6.
Не следует понимать приведенный пример как мнение авторов, касающееся перспектив распределения электронного оборудования по элементам системы. Развитие технологии производства микропроцессоров, удешевление электроники требует принятия иных решений и в принципе делает более рентабельным усложнение логических функций периферии. Это потребует пересмотра сложившегося к настоящему времени и названного стандартным интерфейса между периферией и центральным устройством, потребует творческого подхода и принятия новых решений, обоснованных предыдущим опытом и правильно выбранными целями.
Вернувшись к машине БЭСМ-6, уместно сообщить здесь, что в состав ее внешних устройств были включены стандартные магнитные диски, стандартные магнитные ленты, алфавитно-цифровые дисплеи, новейшие печатающие устройства, т.е. усилиями завода-изготовителя преодолены трудности, отмеченные в вышеприведенном примере, и машина была снабжена парком современных внешних устройств.
Говоря о наследии С.А. Лебедева, которое должно быть взято на вооружение в перспективных разработках, нельзя не сказать о той атмосфере коллективизма и творческого воодушевления, которое умел создавать вокруг себя Сергей Алексеевич. Машины, а тем более такие сложные, как ЭВМ, делаются большими коллективами людей. С.А. Лебедев умел показать каждому значимость его усилий, умел поощрять творческую инициативу, оставаясь при этом принципиально требовательным. Он считал и неоднократно подчеркивал, что лучшая школа для специалиста - это участие в конкретных разработках, и не боялся привлекать к самым серьезным проектам молодежь, не боялся, что очень и очень важно, полагаться на своих учеников, доверяя их чувству ответственности и, тем самым, воспитывая это чувство.
В подтверждение тезиса, высказанного в начале статьи, об огромном влиянии, которое оказало создание машины БЭСМ-6 на развитие различных областей науки и техники, особо следует сказать о ее роли в развитии работ в области математического обеспечения.
Прежде всего, назначение этой машины, ее архитектурные и структурные особенности, отвечающие современным идеям, потребовали создания соответствующей операционной системы и системы программирования, т.е. потребовали создания математического обеспечения, удовлетворяющего требованиям пользователя. Это требование, возникшее из существа дела, было подкреплено некоторыми административными мерами: БЭСМ-6 стала первой отечественной вычислительной машиной, которая была принята государственной комиссией как система аппаратных средств совместно с ее математическим обеспечением. Она и поставлялась затем потребителям вместе с программным обеспечением.
Без особого преувеличения можно сказать, что работы по исследованию и разработке операционных систем, стратегий распределения ресурсов и планирования вычислений широким фронтом в нашей стране начались с появлением БЭСМ-6. Это и понятно. Первые машины БЭСМ-6 предназначались для установки в центрах, обладавших наиболее сильными коллективами специалистов в области программирования и использования вычислительных машин: ВЦ АН СССР, ВЦ МГУ, ИПМ АН СССР, ОИЯИ, ИК АН УССР, СО АН СССР и др.
Появилась возможность реализовать многие созревшие к тому времени идеи на машине, обладавшей аппаратными возможностями для организации мультипрограммирования, режима разделения времени, аппаратными средствами интерпретации стекового способа обращения к памяти.
Коллективными усилиями советских программистов уже к 1968 г. была создана система математического обеспечения, включавшая в свой состав операционную систему пакетной обработки, трансляторы с машинно-ориентированных языков и с универсальных языков АЛГОЛ-60 и ФОРТРАН.
На протяжении всего времени существования машины БЭСМ-6 её математическое обеспечение непрерывно совершенствовалось, и по качеству, объему и возможностям не уступало математическому обеспечению лучших отечественных и зарубежных серийных ЭВМ того времени. Основания к такому суждению дает перечень элементов, входящих в состав математического обеспечения БЭСМ-6. Для универсальных языков программирования АЛГОЛ-60, ФОРТРАН, ЛИСП использовалось несколько вариантов трансляторов, генерирующих программы разной степени эффективности, в том числе оптимизирующие трансляторы с языков АЛГОЛ-60 и ФОРТРАН и компилятор с языка ЛИСП. В состав программных средств машины БЭСМ-6 входил спектр проблемно-ориентированных языков СИМУЛА-67, ГРАФОР, ГРАФАЛ, язык типа ЕРSILОN и ряд других языков, более узко специализированных. Пошаговые трансляторы с некоторых других языков использовались для построения диалоговых систем.
В состав математического обеспечения БЭСМ-6 входили системы, обеспечивающие режим мпогопультового доступа к машине с удаленных терминалов. К ним относится система ПУЛЬТ, обеспечивающая отладку программ в терминах входного языка; система МУЛЬТИДОСТУП, обеспечивающая связь задачи пользователя с терминалами; система ДИМОН (диалоговый монитор), используемая для многих целей, в том числе для редактирования файлов и запуска задач в решение с удаленных пультов.
В состав математического обеспечения БЭСМ-6 входят системы управления заданиями и системы управления данными, дающие в руки программиста средство высокого логического уровня. Эти средства развиты на основе двух широко используемых, дополняющих друг друга операционных систем: ДИСПАК и ДУБНА (ДД), имеющих несколько разную ориентацию.
ОС ДИСПАК предназначена главным образом для управления режимом пакетной и дистанционной пакетной обработки, ОС ДУБНА — фортранно-ориентированная операционная система, используемая и развиваемая в центрах обработки данных физического эксперимента. Родоначальником этих двух ОС явилась первая операционная система Д-68. Обе операционные системы ДИСПАК и ДД сохраняли преемственность в отношении своего родоначальника.
Для БЭСМ-6 разработано несколько ОС, обеспечивших реализацию параллельных процессов в задачах и использование машины в системах реального времени и в многомашинных вычислительных комплексах (НД-70, ОС ИПМ, ДИСПАК).
В библиотеках машины БЭСМ-6 содержатся пакеты прикладных задач, с помощью которых были решены задачи наиболее передовых направлений научно-технического прогресса. Накоплен огромный фонд программ пользователей и опыт его эксплуатации. Можно вполне определенно сказать, что на базе БЭСМ-6 создан «золотой фонд» программного обеспечения, значение которого трудно переоценить.
В области создания математического обеспечения велика роль С.А. Лебедева. По его инициативе в Институте точной механики и вычислительной техники была создана сильная по своему составу лаборатория математического обеспечения, и математики-программисты являлись полноправными участниками разработки структуры и архитектуры этой машины. Академик С.А. Лебедев одним из первых понял значение совместной работы математиков и инженеров по созданию вычислительных систем и воплотил в жизнь это необходимое и продуктивное сотрудничество. Значение этого особенно четко вырисовывается сегодня, когда все более и более становится очевидным, что создание эффективных вычислительных средств перерастает из проблемы инженерно-технологической в проблему в большей степени математическую, проблему, которую можно решить только комплексными усилиями инженеров и математиков.
Приведенный выше внушительный и далеко не полный перечень возможностей и средств математического обеспечения БЭСМ-6 сделан авторами не в целях рекламы - она излишня, а для того, чтобы подчеркнуть следующую, на наш взгляд, важную мысль. Математическое обеспечение БЭСМ-6 создано усилиями специалистов Советского Союза и специалистов социалистических стран. Как известно, тот, кто держит в своих руках математическое обеспечение, держит в своих руках ключевые позиции в деле эффективного использования вычислительной техники в наиболее важных, решающих областях научно-технического прогресса.
Не потому ли именно на плечи БЭСМ-6 легли наиболее ответственные задачи, от сопровождения космических кораблей в международной программе ЭПАС, до проектирования разработки нефтяных месторождений с прямой экономией, исчисляемой сотнями миллионов рублей. И надо прямо сказать, что эта машина Главного конструктора академика С.А. Лебедева с честью справлялась с ответственными обязанностями в течение двадцати лет.
У читателя может возникнуть вопрос, имеет ли смысл говорить столь много хороших слов о машине, построенной на элементной базе второго поколения, в то время, когда произошел невероятный скачок перехода к вычислительным системам шестого поколения, построенным на сверхбольших интегральных схемах с тактовой частотой, превосходящей несколько Ггерц, с числом активных логических элементов на одном кристалле, приближающимся к сотне миллионов. Нам кажется, что говорить о БЭСМ-6 и ее главном конструкторе академике С.А. Лебедеве имеет смысл именно сейчас не только для того, чтобы отдать должное создателю лучших отечественных машин прошлого поколения, но, главным образом, для того, чтобы дать пищу для размышления о будущем вычислительной техники в нашей стране.
Хотелось бы обратить внимание на ряд проблем ее развития...
Известна расхожая фраза пессимистов о том, что в развитии вычислительной техники мы отстали навсегда. Трудно сейчас опровергать этот тезис с учетом состояния развития отечественной элементной микроэлектронной базы. Но это совсем не так с точки зрения разработки новых архитектурных принципов построения вычислительных систем.
Вычислительная техника была, есть и будет наиболее бурно развивающимся направлением научно-технического прогресса. Идет непрерывное обновление идей, появление новых проблем, требующих своего решения. Речь идет не о замкнутых научных или технических проблемах, связанных с решением отдельных пусть и очень важных задач. Речь идет о проблемах комплексных, затрагивающих целый круг вопросов, связанных не только с индустрией производства, но и с глобальными целями использования объединенного в неразрывное целое мира компьютеров, архитектурной поддержкой математического обеспечения, то есть об обширном круге вопросов взаимоотношения человека с машиной, вплоть до вопросов, если угодно, социологических.
В этой ситуации особое значение приобретает широта взглядов, направленность разработок, умение находить правильное и оптимальное в сложившихся реальных условиях решение, учитывающее перспективы развития «компьютерного социума». Необходимо уметь дать четкий ответ на вопрос, для каких целей, для решения каких перспективных задач разрабатывается та или иная архитектура системы, тот или иной модуль вычислительных средств. Важно умение достигать наиболее экономным путем поставленную цель с детальным учетом обозначившихся возможностей. Вот то, что должно быть взято на вооружение из опыта разработки БЭСМ-6, из арсенала высочайших человеческих черт, глубокой научной методологии, оптимального подхода к реализации идей, всего того, чем был в полной мере наделен академик Сергей Алексеевич Лебедев.