Жертва плановой экономики. Расцвет и закат советской компьютерной эпохи, ч. 1
При мысли о Москве шестидесятых живо представляется бессмертный Шурик с его машиной времени. Очереди за колбасой, черно-белые фотографии из родительского чемодана, поток разноцветных «Волг» на улицах города… Но свои компьютерные гении в стране были уже тогда. В это сложно поверить, однако в конце 70-х в СССР существовали вычислительные машины, превосходившие по мощности любые аналоги того времени. А дальше последовала череда событий, загнавшая всю нашу компьютерную отрасль в тупик.
Историки до сих пор не могут прийти к единому заключению, что же привело к катастрофе: издержки экономической системы, изоляция от остального мира, несовершенство элементной базы, саботаж на правительственном уровне? Повернись история иначе — весь мир сейчас мог бы использовать абстрактную многоядерную « Электронику-235м », так и не узнав про Intel и AMD. Но этого не случилось.
Расцвет
В середине 40-х годов в США был представлен документ под названием «Архитектура фон Неймана». В нем великий физик и математик Джон фон Нейман (John von Neumann) описал вычислительную систему, в которой процессорный модуль отделен от устройства хранения данных. Вскоре был создан, а затем и усовершенствован первый американский компьютер ENIAC. Его установили в Университете штата Пенсильвания, США, и начали использовать для обработки научных задач. Тогда же в Англии появились первые управляемые программами компьютеры.
Тем временем в строжайшем секрете началась работа над первой советской вычислительной машиной. Ученым уже было известно, что американские и британские коллеги достигли определенных успехов, но холодная война наложила свои ограничения — исследования заморских умов нашим конструкторам были недоступны. А раз так, до всего пришлось доходить своим умом.
В конце 1948 года рядом с Киевом, в живописном местечке под названием Феофания, трудилась команда под руководством мэтра советского компьютеростроения Сергея Лебедева. В первые послевоенные годы он работал директором Института электротехники Академии наук Украины, а также руководил лабораторией Института точной механики и вычислительной техники Академии наук СССР (ИТМиВТ). Перу Лебедева принадлежит формулировка принципов архитектуры электронных вычислительных машин — тут он опоздал на два года, но справился с задачей не хуже своего заокеанского коллеги. Примерно в то же время по приказу Иосифа Сталина начало работу Специальное конструкторское бюро №245 (СКБ-245). Управление им взял на себя Михаил Лесечко.
Принципы ЭВМ от Лебедева
В статье мы говорили о постулатах, сформулированных С.А. Лебедевым во время разработки первой вычислительной системы. По мнению академика, ЭВМ должна была соответствовать следующим параметрам:
— Наличие арифметических устройств, памяти, устройств ввода/вывода и управления.
— Кодирование и хранение программы в памяти, подобно числам.
— Двоичная система счисления для кодирования чисел и команд.
— Автоматическое выполнение вычислений на основе хранимой программы.
— Наличие как арифметических, так и логических операций.
— Иерархический принцип построения памяти.
— Использование численных методов для реализации вычислений.
Маленькая революция
Результатом двухлетнего труда команды Лебедева стала малая электронная счетная машина (МЭСМ). Это был первый советский компьютер на основе 6 тыс. электровакуумных ламп. Система предопределила архитектуру нескольких следующих поколений ЭВМ — по современным меркам, всего лишь больших калькуляторов. Разработку, проектирование и сборку МЭСМ осуществляли 12 исследователей и несколько техников.
Малая счетная машина занимала площадь порядка 60 кв. м — это целое крыло двухэтажного здания бывшего монастыря в Феофании! В теории система могла производить 3000 операций в секунду, по факту же это был всего лишь макет. На его основе разработчики собирались исследовать принципы построения ЭВМ, ведь ранее таких устройств не существовало как класса. Тем не менее МЭСМ быстро начали использовать по назначению — математики со всего СССР выстраивались в очередь, чтобы получить доступ к быстрым машинным расчетам.
В перерыве между появлением новых версий больших вычислительных систем появилась первая малогабаритная советская ЭВМ М-1. За ее разработку отвечал ученый Исаак Брук, представитель совершенно иной школы разработчиков. Новая система занимала комнату площадью 12 кв. м, это совсем немного по сравнению с исполинской МЭСМ, однако производительность компьютера оказалась куда ниже — всего 20 операций в секунду. Но это не помешало нагрузить систему расчетом ядерных исследований. В дальнейшем альтернативная школа Брука еще на раз проявит себя.
Больше — значит лучше
Перед тем как начать работу над следующим проектом, Лебедев переехал в Москву и занял пост директора Института точной механики и вычислительной техники (ИТМиВТ). Закипела работа над первой большой электронной счетной машиной (БЭСМ-1). Компьютер был готов и сдан в эксплуатацию в 1953 году. Одновременно с БЭСМ-1 свою первую разработку представило СКБ-245. Система получила название « Стрела ». Обе ЭВМ использовали электровакуумные лампы, но у конструкторского бюро было преимущество — щедрое финансирование. В основу «Стрелы» легла разработанная по новой технологии память, тогда как в первом поколении БЭСМ-1 пришлось использовать память на базе ртутных трубок. Этот недостаток исправили в 1954 году. Тогда производительность компьютера достигла 8000 операций в секунду — таким образом, БЭСМ-1 сравнялась с лучшими системами в мире.
Судя по всему, уже в то время правительство недооценивало компьютерную отрасль, иначе средств выделялось бы больше. Академику Лебедеву стоило больших трудов доказать, что развитие компьютерной индустрии в СССР необходимо, — изначально новое направление причислили к буржуазным лженаукам.
Примерно в то же время школа И.С. Брука представила усовершенствованную версию М-1 — производительность системы увеличили с 20 до 3000 операций в секунду и назвали М-2. Машину сразу взяли в оборот различные научные институты (атомная энергетика, теоретическая и экспериментальная физика, погода) и конструкторские фирмы. Несколькими годами позже на ВДНХ проводилась промышленная выставка, и в качестве одного из экспонатов был выставлен пульт управления М-2, подключенный к удаленным вычислительным блокам при помощи телефонного кабеля. Во время первой демонстрации стенд с системой привлек немало посетителей выставки.
Но именно «Стрела» и БЭСМ-1 легли в основу вычислительного центра всея АН СССР. В первую очередь компьютеры задействовали в военных целях — для изучения термоядерных реакций, расчета баллистических траекторий ракет и так далее. В 1956 году Лебедев выступил с докладом на конференции в западногерманском городе Дармштадте. Академик устроил переполох, рассказав миру о том, что в СССР действует сверхбыстрая ЭВМ — оказалось, что в Европе БЭСМ-1 не было равных.
Дальнейшее развитие вычислительных систем на протяжении нескольких лет было эволюционным. В 1958 году на арену вышла система БЭСМ-2 с внешней памятью на основе ферритовых сердечников и увеличенным набором исходных команд. Впервые ЭВМ подготовили к серийному производству (до этого большая часть систем существовала в единичном экземпляре).
В 1959 году ИТМиВТ совместно с СКБ-245 представили компьютер М-20. Руководил разработкой все тот же Сергей Лебедев. Несмотря на старую элементную базу с вакуумными лампами и полупроводниковыми диодами, система выдавала производительность на уровне 20 тыс. операций в секунду. Разработчики добавили в память несколько новых логических команд, стала возможной работа процессора во время вывода уже обработанных данных на печать. Раньше блоки машин простаивали до получения зеленого сигнала. По странному стечению обстоятельств было построено ровно 20 экземпляров ЭВМ М-20.
Уже к тому времени стало понятно, что дальше так продолжаться не может — общение с компьютером и написание программ занимали слишком много времени. Еще бы, ведь процесс решения задачи на ЭВМ выглядел следующим образом: разработчик программы интерпретировал задачу в машинных кодах, записывал ее на перфокарте, вводил в память компьютера и вручную управлял ее выполнением. Скорость решения напрямую зависела от подготовленности программиста — он должен был быстро реагировать на сбои, ошибки, отлично ориентироваться в переключателях пульта управления. Ах да, мы совсем забыли пояснить: в комплектациях первых ЭВМ не было ни мониторов, ни клавиатур с мышками, информация об ошибках и сбоях выводилась при помощи лампочек.
Был нужен прикладной язык, который бы позволил избежать общения с блоками компьютера напрямую. Первые попытки реализовать системный язык программирования Лебедев предпринял еще при разработке М-20 — машина понимала наглядные и интуитивные команды, мнемокоды. Это существенно расширило круг специалистов, способных взаимодействовать с компьютером.
Но все это полумеры, нужно было что-то новое, тем более что американская компьютерная промышленность набирала обороты.
Сияние!
Жизнь электровакуумных ламп в качестве основных элементов вычислительного блока подходила к концу — еще в конце 40-х американцы придумали полупроводниковый транзистор. Новый элемент позволил существенно уменьшить размеры компьютеров, снизить тепловыделение и энергопотребление, повысить производительность.
Здесь отечественная промышленность немного отстала от Запада — производство транзисторов в промышленных масштабах началось только в конце 50-х. Производители ЭВМ продолжали совершенствовать уже существующие модели. Были созданы модификации М-20 — М-40 с производительностью до 40 тыс. операций в секунду для систем противоракетной обороны, сверхмощная М-50 с двумя итерациями на скорости 50 тыс. и 500 тыс. операций в секунду. Наконец, во второй половине 60-х свет увидели БЭСМ-3А и БЭСМ-4 на основе транзисторов. Один из основных трендов в области компьютеростроения того времени — разработка высокоуровневых языков программирования и операционных систем — нашли применение в БЭСМ-4. Специально для этой ЭВМ Факультет кибернетики и вычислительной математики МГУ разработал ОС БЭСМ-МГУ с полноценной обработкой прерывания.
Но все это были еще цветочки. В 1968-м на Московском заводе счетно-аналитических машин (САМ) началось производство супер-ЭВМ БЭСМ-6. Полностью новый компьютер на основе транзисторов и интегральных схем был разработан под руководством С.А. Лебедева, В.А. Мельникова и Л.Н. Королева. При его разработке была поставлена серьезная задача — достичь производительности порядка 1 000 000 операций в секунду (1 мегафлоп). И ведь справились!
При ближайшем рассмотрении оказалось, что БЭСМ-6 сильно опередила свое время, став вторым поколением ЭВМ. Она вобрала в себя много оригинальных идей. Систем подобного класса в мире не было и в помине. Чем же так примечательна БЭСМ-6?
Одно из основных отличий и главных новшеств — лебедевская водопроводная структура процессора, позволяющая совмещать обработку различных команд на разных стадиях их выполнения. Уже позже западные коллеги придумали для этого метода термин «конвейер» (все процессоры на сегодняшний день используют конвейерную архитектуру). Отныне к разным блокам памяти можно было обращаться одновременно, появился прообраз кэш-памяти — сверхбыстрое устройство хранения часто используемых данных и команд. Все эти улучшения вкупе обеспечили качественный скачок производительности.
Коллеги и современники называют Лебедева настоящим гением — при всей сложности собранной системы он сумел отсечь все ненужное, оставив самые необходимые блоки. В период с 1968 по 1987 года было выпущено порядка 350 машин БЭСМ-6, которые использовали в самых разных отраслях. Так, например, системы БЭСМ-6 просчитывали « Союз-Аполлон » — экспериментальный полет советского космического корабля « Союз-19 » и американского « Аполлона ». При этом наш компьютер справился с обработкой данных по траектории полета всего за 1 минуту, тогда как американскому аналогу на это потребовалось 30.
Важной особенностью БЭСМ-6 принято считать программное обеспечение — впервые с момента появления отрасли компьютеры начали поставлять в паре с необходимым софтом прямо с завода. Для БЭСМ-6 была разработана полноценная операционная система, над ней трудились лучшие советские умы из Института прикладной математики АН СССР, Вычислительного центра Академии наук и Московского государственного университета.
Нагляднее всего успешность архитектуры демонстрирует срок эксплуатации — последнюю БЭСМ-6 демонтировали в 1995 году, после 25-летней службы. Едва ли какой-нибудь суперкомпьютер в мире может похвастать таким долголетием.
Батарейки в комплект не входят
В следующем выпуске мы продолжим рассказ и узнаем, что случилось дальше. Поволноваться придется сполна — впереди нас ждет закат компьютерной эпохи СССР.
Немного из физики
Перед тем, как компьютерная индустрия перешла на использование полупроводниковых транзисторов, РС производили на базе электровакуумных трубок.
Также как и транзисторы, лампы пропускали ток через себя — отличалась структура, внешний вид, но принцип работы оставался схожим. Недостатки электронных ламп в конструкции вычислительных систем проявили себя сразу же: они потребляли очень много энергии, сильно грелись и часто выходили из строя. Шутка ли, для питания первых ЭВМ требовалась целая электростанция, а для охлаждения использовали мощные вентиляторы.
Транзистор — это трехэлектродный полупроводниковый прибор, в котором ток в цепи двух электродов управляется третьим электродом. Транзистор появился в США в 1948 году, в СССР их выпуск освоили лишь к концу пятидесятых.
Для хранения информации ученые того времени использовали ртутные трубки (память на линиях задержки), позже — ферритовые сердечники. Обе технологии давно канули в лету, но в рамках нашего исследования о них следует рассказать подробнее.
Ртутные трубки начали применять в радарах во время Второй мировой войны. Память на основе этой техники включала трубку, заполненную ртутью, и пьезокристаллический преобразователь на одном из концов. При получении сигнала преобразователь генерировал импульс, который создавал небольшие колебания ртути. Каждое колебание быстро передавалось на другой конец трубки, где другой пьезокристалл его инвертировал и передавал на экран. Обычно в линиях задержки перемещалось множество импульсов одновременно, компьютеру для нахождения искомого одиночного бита приходилось отсчитывать импульсы, сравнивая их с синхроимпульсами. Прямо скажем, не ахти какое решение.
Память на основе ферритовых сердечников использовали для длительного хранения информации (до месяца). Конструкция включала тор из специальных материалов и ферритов, с двух сторон обмотанных проводами (необходимо для чтения и записи). Концепция хранения битов была намного проще, чем в ртутных трубках: один из подключенных проводов намагничивал ферритовый сердечник. Вот вам и бит данных. Память работала медленно и неэффективно — на перемагничивание требовалось время и много энергии. В дальнейшем ферритовые сердечники заменила полупроводниковая память.