Плачевное состояние советской вычислительной техники сегодня, как говорится, налицо. Окидывая беглым взглядом эту некогда славную империю, родину знаменитых БЭСМов, давшую миру столько выдающихся инженеров - специалистов в компьютерной области, видишь лишь дым пожарища. Все сгорело!..
Нет, где-то вроде еще теплится жизнь. Вот остатки НИЦЭВТ под флагом IBM, вот ИНЭУМ, тоже еще живой... И все же это погорельцы. Однако, как было ясно еще Грибоедову, и дым отечества нам сладок и приятен. Бросим еще один взгляд на родные пепелища. Если и не утешимся, то по крайней мере ответим на кое-какие вопросы. Например: была ли у нас альтернатива западному пути в компьютеростроении, как была она в космонавтике и оборонной промышленности? Или для нас неизбежным было копирование IBM, как в политике и экономике единственным выходом оказалась западная либерализация? А может быть либерализация 90-х годов стала неизбежной после всеобщего поворота к архитектуре IBM в конце 60-х годов?
Очерк первый: ИТМ и ВТ. Машины 1 и 2 поколений
Подпись к рисунку: Многие принципы структурной организации БЭСМ-6 были революционными для своего времени и предвосхищали архитектурные особенности машин третьего поколения. "Генеология" вычислительной техники в СССР.
Школа Лебедева: высокопроизводительные ЭВМ
В первые послевоенные годы Сергей Александрович Лебедев был директором Института электротехники АН Украины и по совместительству руководил лабораторией Института точной механики и вычислительной техники АН СССР. В этих научных организациях и была начата разработка первых действующих ЭВМ. Нашим ученым было известно о создании в США машины ENIAC - первой в мире ЭВМ с электронными лампами в качестве элементной базы и автоматическим программным управлением. В 1948-49 годов в Англии появились вычислительные машины с хранимыми в памяти программами. Сведения о разработках на Западе поступали отрывочные, и, естественно, документация по первым ЭВМ была недоступна нашим специалистам.
Лебедев начал работу над своей машиной в конце 1948 года. Разработка велась под Киевом, в секретной лаборатории в местечке Феофания. Независимо от Джона фон Неймана Лебедев выдвинул, обосновал и реализовал в первой советской машине принципы построения ЭВМ с хранимой в памяти программой. Малая электронная счетная машина (МЭСМ) - так называлось детище Лебедева и сотрудников его лаборатории - занимала целое крыло двухэтажного здания и состояла из 6 тысяч электронных ламп. Ее проектирование, монтаж и отладка были выполнены в рекордно быстрый срок - за 2 года, силами всего лишь 12 научных сотрудников и 15 техников. Те, кто создавал первые вычислительные машины, были одержимы своей работой, и это вполне объяснимо. Несмотря на то, что МЭСМ по существу была лишь макетом действующей машины, она сразу нашла своих пользователей: к первой ЭВМ выстраивалась очередь киевских и московских математиков, задачи которых требовали использования быстродействующего вычислителя.
В своей первой машине Лебедев реализовал основополагающие принципы построения компьютеров, такие как:
наличие арифметических устройств, памяти, устройств ввода/вывода и управления; кодирование и хранение программы в памяти, подобно числам; двоичная система счисления для кодирования чисел и команд; автоматическое выполнение вычислений на основе хранимой программы; наличие как арифметических, так и логических операций; иерархический принцип построения памяти; использование численных методов для реализации вычислений.
После Малой электронной машины была создана и первая Большая - БЭСМ-1, над которой С.И. Лебедев работал уже в Москве, в ИТМ и ВТ АН СССР. В 1953 году, после сдачи новой ЭВМ в эксплуатацию, ее создатель стал действительным членом АН СССР и директором института, который был в то время средоточием научной мысли в области вычислительной техники.
Машины второго поколения. БЭСМ-6
В 1948 году американскими учеными был создан полупроводниковый транзистор, который стал использоваться в качестве элементной базы ЭВМ. Это изобретение позволило разработать машины значительно меньших габаритов и энергопотребления и гораздо более высокой производительности и надежности при меньшей стоимости. Для машин второго поколения тем более актуальной становилась задача автоматизации программирования, поскольку увеличивался разрыв между временем на разработку программ и непосредственно временем счета. Второй этап развития вычислительной техники конца 50-х - начала 60-х годов характеризуется созданием развитых языков программирования (Алгол, Фортран, Кобол) и освоением процесса автоматизации управления потоком задач с помощью самой ЭВМ, то есть разработкой операционных систем. Первые ОС автоматизировали работу пользователя по выполнению задания, а затем были созданы средства ввода нескольких заданий сразу (пакета заданий) и распределения между ними вычислительных ресурсов. Появился мультипрограммный режим обработки данных.
Если говорить в общих чертах о структурных изменениях машин второго поколения, то это, прежде всего, появление возможности совмещения операций ввода/вывода с вычислениями в центральном процессоре, увеличение объема оперативной и внешней памяти, использование алфавитно-цифровых устройств для ввода и вывода данных. "Открытый" режим использования машин первого поколения сменился "закрытым", при котором программист уже не допускался в машинный зал, а сдавал свою программу на алгоритмическом языке оператору ЭВМ, который и занимался ее дальнейшим пропуском на машине.
Компьютеры этого времени становились более доступными, расширялась область их применения и наряду с задачами вычислительными появлялись задачи, связанные с обработкой текстовой информации. Их решение стало возможным благодаря появлению команд, оперирующих символами. Тогда же, кстати, появился восьмиразрядный байт, байтовая струтктура ОП, более удобная для работы с текстами. Машины первого поколения имели гораздо большую разрядность, например, в БЭСМ-1 было 39 разрядов.
К концу 50-х годов советская электронная промышленность освоила и начала серийный выпуск транзисторов. Таким образом, появилась возможность создания ЭВМ на полупроводниковой элементной базе. Ярчайший представитель советских ЭВМ второго поколения - БЭСМ-6, вершина научного творчества С.А. Лебедева и его коллег. Рассказать об этой машине мы попросили чл.-кор. РАН Геннадия Георгиевича Рябова, директора ИТМиВТ, который много лет работал с Лебедевым и знает о легендарной БЭСМ-6 практически все. По его словам, при разработке этой машины с самого начала была задана высокая планка - приблизиться к производительности в миллион одноадресных операций в секунду. И это высочайшее на тот момент быстродействие было достигнуто.
Однако не только, и даже не столько высокой производительностью отличается эта машина. Многие принципы ее структурной организации были революционными для своего времени и, по существу, предвосхищали архитектурные особенности машин третьего поколения.
Многопроцессорные вычислительные комплексы "Эльбрус"
В дальнейшем ИТМиВТ продолжил работы по созданию суперЭВМ, разработав семейство высокопроизводительных машин "Эльбрус". Этот проект был начат еще Лебедевым, а после его смерти работу и институт возглавил ученик и соратник ученого Всеволод Сергеевич Бурцев. В конце 60-х в стране были начаты работы по созданию единой серии ЭВМ общего назначения, о чем мы подробнее поговорим позже. Надо сказать, что С.А.Лебедеву предлагали возглавить этот масштабный проект, однако академик предпочел развивать линию вычислительных систем сверхвысокой производительности. Разработка таких "предельных" машин имела определенные отличия от создания универсальных ЭВМ, поскольку здесь предъявлялись максимальные требования и к архитектуре, и к элементной базе, и к конструкции вычислительной системы.
Говоря об "Эльбрусах", нам придется несколько забежать вперед, поскольку эти ЭВМ относятся даже не к третьему, а к четвертому поколению вычислительной техники. В работе над "Эльбрусами" и ряде предшествующих им разработок института во главу угла ставились вопросы эффективной реализации отказоустойчивости и безостановочной работы системы. Поэтому в них появляются такие особенности, как многопроцессорность и связанные с ней средства распараллеливания ветвей задачи.
Многопроцессорный вычислительный комплекс Эльбрус-1, выпущенный в 1979 году, включал 10 процессоров и базировался на схемах средней интеграции. В этой машине советские ученые опередили американцев, создав симмеричную многопроцессорную систему с общей памятью. По принципам построения система команд ЦП "Эльбрусов" близка системе команд машин компании Burroughs, считающейся нетрадиционной. Машина Эльбрус-1 обеспечивала быстродействие от 1,5 млн. до 10 млн. оп/с, а Эльбрус-2 - более 100 млн. оп/с.
Эльбрус-2, работа над которым была завершена в 1985 году, также представлял собой симметричный многопроцессосрный вычислительный комплекс из 10 суперскалярных процессоров на матричных полузаказных БИС, которые выпускались в Зеленограде. Серийное производство машин такой сложности потребовало срочного развертывания систем автоматизации проектирования ЭВМ, и эта задача была решена под руководством Г.Г.Рябова настолько успешно, что ее авторы были удостоены Государственной премии.
"Эльбрусы" вообще несли в себе ряд революционных новшеств. Суперскалярность процессорной обработки, симметричная многопроцессорная архитектура с общей памятью, реализация защищенного программирования с аппаратными типами данных - все эти возможности появились в отечественных машинах раньше, чем на западе. Г.Г.Рябов особо выделил создание единой операционной системы для многопроцессорных комплексов, которым руководил Борис Арташесович Бабаян, в свое время отвечавший за разработку системного программного обеспечения БЭСМ-6. Одной из важнейших задач этой ОС было управление параллельно выполняющимися процессами и их синхронизация.
Воспоминания Дональда Кнута об Андрее Ершове
Андрей Ершов на конференции Algorуthms in Modern Mathematics and Computer Science, СССР, Ургенч, 1979 год Редакторы попросили меня записать некоторые из моих личных воспоминаний об Андрее Ершове. Хотя мы с Андреем жили на разных концах Земли и нас разделяло почти 12 часовых поясов, его жизнь оказала на мою значительное положительное влияние.
Это началось еще когда я был студентом последнего курса института Case Institute of Technology. Тогда только появилась книга Андрея "Программирование для БЭСМ", и мы, группа студентов, смогли убедить преподавателя русского языка включить ее в курс в качестве одного из двух сборников текстов для изучения научной лексики. Для нас это был замечательный опыт работы, поскольку многие технические компьютерные термины нельзя было найти в наших словарях, и даже преподаватель некоторые из них раньше вообще не слышал! (Выполненный Недлером перевод на английский язык тогда еще не был издан.) Мы почувствовали, что видим "настоящий" русский язык в том виде, в каком он действительно используется в науке; книга произвела на нас намного более сильное впечатление, чем второй текст, в котором говорилось о спутниках и исследовании космоса, но на очень примитивном уровне.
Очерк второй: Школа Б.И. Рамеева, универсальные ЭВМ
Башир Искандарович Рамеев
Башир Искандарович Рамеев начинал свою научную деятельность в области вычислительной техники в Энергетическом институте АН СССР (ЭНИН) под руководством член-корреспондента Академии наук И.С.Брука. Летом 1948 года молодой инженер и уже маститый ученый выступили соавторами оригинального проекта под названием «Автматическая цифровая электронная машина». Это был первый в стране проект цифровой ЭВМ с жестким программным управлением, завершенный за несколько месяцев до начала работ над МЭСМ.
ЕС ЭВМ: Машины третьего поколения
В 60-е годы с началом промышленного выпуска интегральных схем в мировой вычислительной технике произошел переход к машинам на новой элементной базе, что формально определяется как переход к третьему поколению ЭВМ. Однако более важной характеристикой машин на данном этапе является то, что они представляли собой семейства программно-совместимых систем, различающихся по производительности, но с общей архитектурой. Собственно, именно в эти годы с появлением семейства машин IBM 360 и возникло понятие компьютерной архитектуры, которое символизировало весь комплекс аппаратных и программных средств для решения пользовательских задач. Говоря об архитектуре, мы, как правило, не имеем в виду способы выполнения тех или иных функций или параметры и техническую организацию определенных устройств, входящих в состав вычислительной системы. У машин одного семейства они могут быть совершенно различны, однако общими будут системы команд, способы организации взаимосвязи между модулями и с внешними устройствами, а также матобеспечение. На предыдущем этапе развития вычислительной техники как за рубежом, так и у нас, существовало множество машин с примерно одинаковыми вычислительными возможностями, но абсолютно разной архитектурой.
В машинах третьего поколения разрабатывалась более гибкая система прерываний, позволяющая синхронизировать работу центрального процессора, процессоров ввода/вывода и должным образом реагировать на аварийные ситуации в программах пользователя. Мультипрограммный режим работы компьютера требовал создания мощных средств защиты памяти. Создавались механизмы динамического распределения памяти, совершенствовались операционные системы.
Использование новой элементной базы позволило существенно повысить быстродействие и объем оперативной памяти нового поколения машин. Значительно расширилась номенклатура внешних устройств – появились накопители на сменных магнитных дисках, алфавитно-цифровые и графические дисплеи, графопостроители и т.д.
Переход к использованию машин третьего поколения связан не только с появлением интегральных схем, но и с осознанием необходимости широкого применения вычислительной техники помимо научных расчетов в решении экономических задач, для реализации автоматизированных систем управления различного назначения. На западе уже появлялись и приобретали большую популярность малые ЭВМ для использования в коммерческих целях. Предпринимались попытки реализовать подобные системы и у нас (машины «Эра», «Минск-23»), но широкого распространения они не получили, поскольку в СССР спрос на объективную экономическую информацию был невысок. Тем не менее именно в тот момент руководство страны изменило свою позицию по отношению к вычислительной технике. Период отрицания кибернетики как лженауки остался позади.