Математика и Computer Science

Высоты «Эльбруса»: от 64 мегабайт до 10 килограмм

Чем занимались компьютерные разработчики в СССР, пока Возняк придумывал Apple

© Александр Гращенков/РИА Новости

Кто и зачем создавал советские компьютеры «Эльбрус», где нам удавалось обогнать США, что эмигрант из России сделал для разработки процессора Pentium-III и причем тут десятикилограммовый ноутбук с батареей на один час, читайте в материале Indicator.Ru.

Кто и зачем создавал советские компьютеры «Эльбрус», где нам удавалось обогнать США, что эмигрант из России сделал для разработки процессора Pentium-III и причем тут десятикилограммовый ноутбук с батареей на один час, читайте в материале Indicator.Ru.

Много шума из-под воды

В 2015 году по Интернету прокатилась волна издевок. Писали, что Россия выпустила первый ноутбук. К постам прикладывались фотографии металлического десятикилограммового «чемодана» с резиновыми накладками по углам и резиновой же клавиатурой. Насмешки у интернет-пользователей вызывали характеристики «шайтан-машины»: разрешение экрана 1024×768, способность работать без подзарядки один час, четырехъядерный процессор с тактовой частотой 800 МГц и… стоимость в 150 000 рублей. Неужели вот оно – импортозамещение, которое мы заслужили?

Фотография «первого российского ноутбука» в Facebook блогера Владимира Ефимова, которая и вызвала весь переполох

© Владимир Ефимов/Facebook

Новость оказалась фейком – ноутбук (точнее, носимый терминал «НТ-ЭльбрусS») вышел еще в 2012 году и в свободную продажу не поступал. Его приведенные в посте характеристики – правда, однако создан он для эксплуатации в самых суровых условиях. Устрашающий на вид агрегат легко выдерживает падение на бетон с высоты 75 сантиметров, включается после часа нахождения под водой. Ему не страшен шестидесятиградусный разброс температур, а заявленный срок службы – 12 лет. Работает он на собственной операционной системе «Эльбрус» (на основе Linux), может работать и на Windows (правда, теряя при этом 20% производительности).

«Его работа гарантируется, даже если в 50-градусную жару подплыть к противнику под водой и обезвредить его ударом этого ноутбука по голове», – шутит сотрудник МЦСТ (производителей этого носимого терминала и других «Эльбрусов»). Но шутки шутками, а кто и зачем создал эти необычные машины? Оказывается, их история уходит корнями гораздо дальше, чем история создавшей их фирмы, основанной в 1992 году.

«Эль-Берроуз» и спор о суперскалярности

Итак, на дворе начало 1970-х, и перед программистами СССР стоит амбициозная задача – создать компьютер, выполняющий 100 миллионов операций в секунду. Разработки возглавил Всеволод Бурцев, который позднее сменит Сергея Лебедева на посту руководителя Института точной механики и вычислительной техники (ИТМиВТ). Второй любимый ученик и последователь Лебедева в ИТМиВТ, Владимир Мельников, возглавил в этом институте еще одну лабораторию.

Первый «Эльбрус» с оперативной памятью в 64 Мб, способностью поддерживать работу до 10 процессоров и дополнительно к этому – четырех процессоров ввода-вывода, обладавших собственной памятью, прошел государственные испытания в 1980 году. В новом аппарате использовали интегральные микросхемы, появление которых ознаменовало рождение третьего поколения ЭВМ.

У нас «Эльбрус-1» считается первым компьютером с суперскалярной архитектурой, хотя за рубежом лавры принадлежат вышедшему на десять лет раньше CDC 6600, детищу талантливого американского инженера Сеймура Крэя. Однако в «Эльбрусе-1» узлы (дополнительные функциональные модули в ядрах процессора) были конвейеризированы, то есть инструкции выполнялись параллельно, в порядке готовности к исполнению, а не в том порядке, который диктовал машинный код. Конвейеризация считается «продвинутой» чертой компьютерной эволюции, которая сохранилась в суперскалярных микропроцессорах и сегодня. Однако за десятилетие между CDC 6600 и первым «Эльбрусом» было еще несколько моделей в линейках CDC и IBM/360, где в разной мере применялся принцип конвейеризации узлов, так что споры о пальме первенства не умолкают до сих пор.

Но мы остановимся на том, что «Эльбрус» стал одним из первых коммерчески доступных компьютеров с этим типом архитектуры. На картинке ниже схематично показано, как суперскалярный процессор выполняет две операции за один такт:

Узлы процессора: IF (англ. instruction fetch) – получения инструкции; ID (англ. instruction decode) – раскодирования инструкции; EX (англ. execute) – выполнения инструкции; MEM (англ. memory access) – доступа к памяти; WB (англ. register write back) – записи в регистр. Обозначения: i — номер инструкции; t — время в тактах

© Amit6/Wikimedia Commons

Массовое зарубежное производство компьютеров с суперскалярной архитектурой начнется только в 1990-х годах, после микропроцессоров Pentium. Есть любопытная легенда, что их назвали в честь Владимира Пентковского – советского ученого, незадолго до этого переехавшего в США и поступившего на работу в Intel (там он создал векторное расширение команд SSE – дополнительный набор инструкций процессора, который был реализован в Pentium-III). Однако, скорее всего, название пошло от древнегреческого πέντε (пять), а дать его пришлось для регистрации торговой марки, так как предыдущие процессоры, 386 и 486, слишком уж открыто копировали конкуренты.

Семейство процессоров Pentium-1

© Konstantin Lanzet/Wikimedia Commons

Пентковский в повествовании об «Эльбрусе» появился не просто так: именно он разработал высокоуровневый язык программирования «Эль-76» на основе русских слов. Язык относился к типу Алгол (сокращение от английского algorithmic language) и был похож на Алгол-68, который в то время использовался в компьютере B5000 фирмы Burroughs Corporation. Поэтому пользователи в шутку прозвали систему «Эль-Берроуз».

Боливар не вытянет двоих

Переходным звеном между «Эльбрусом-1» и «Эльбрусом-2» стал «Эльбрус 1-К-2» (где буква «К» означает «комплектация»). Это был интересный конструкт, который получился при внедрении в «Эльбрус-1» специального вычислителя, чтобы интегрировать его с БЭСМ-6 – очень распространенной в советских научных организациях ЭВМ второго поколения. Такой реверанс на два поколения назад может показаться странным, но, если вспомнить, что «Эльбрусы» делали в основном для обороны, можно понять, насколько срочно нужно было создать «мост» между БЭСМ-6 и новыми суперкомпьютерами. И вот на исходе восьмидесятых «Эльбрус 1-К-2» и похожий на него «Эльбрус-Б» наконец сменили устаревшие БЭСМ-6.

Вот что рассказал об истории их появления Николай Томилин, заведующий отделом «Операционных систем» Института системного программирования РАН: «Параллельно с "Эльбрусом" (его создавали в лаборатории под руководством Всеволода Бурцева, который стал директором института) шла разработка машины БЭСМ-10 (а ее уже делал Мельников). Бурцев – прекрасный инженер, великолепный, но с точки зрения вопросов технической политики и взаимодействия с другими организациями не всегда был успешен. Ему предлагалось вести обе разработки, и даже замминистра Николай Горшков выступал на эту тему в ИТМиВТ. К этому имели серьезное отношение два ведущих министерства – Министерство радиопромышленности, которому подчинялся ИТМиВТ (по документам он подчинялся Академии наук, по делам и деньгам – министерству), и Министерство среднего машиностроения. Министр Петр Плешаков поддерживал Всеволода Бурцева, на что Бурцев говорил, что Боливар не потянет двоих. А Министерство среднего машиностроения (с министром Ефимом Славским) поддерживало разработку БЭСМ-10. Знаменитый академик Юлий Харитон из Ядерного центра Приуралья тоже поддерживал. В народе говорят, что у МРП возникли сложности, и Славского Плешаков попросил не настаивать. Поскольку такие крупные силы между собой договорились, разработку БЭСМ-10 решили прекратить. Это слух, но существенно разносимый, а слухи тоже неслучайно появляются».

Николай Томилин выступает на закрытии Летней суперкомпьютерной академии в 2016 году

© Гордеев И.И./Wikimedia Commons

«Одним из аргументов БЭСМ-10 было и то, что у нее был и процессор, исполнявший и систему команд от БЭСМ-6, – продолжает Томилин. – Обеспечение БЭСМ-6 было – чуть ли не половина всего обеспечения фирмы IBM. Всем миром, всем Советским Союзом она готовилась. Поэтому надо было эти наработки и дальше использовать, не потерять. Но в итоге был задуман и выполнен "Эльбрус-1-К-2". Он был уже на интегральных схемах, из-за чего эту серию называли "интегральной БЭСМ-6". И в Центре управления полетами она стояла, и к нам в Калининград, на нашу разработку СС-БИС, она привозилась. "Эльбрус-К-Б" – более совершенная машина, но и там система БЭСМ-6 работала. Сделано это тоже инженерными силами ИТМиВТ (Марк Тяпкин), программное обеспечение как у БЭСМ-6, операционная система Владимира Тюрина. Они появились, чтобы противостоять возможной БЭСМ-10. Сначала машину называли СВС – спецпроцессор вычислительной системы (имелась в виду вычислительная система "Эльбрус"), потом расшифровку забыли, и в фольклоре появился вариант "система, воспроизводящая систему"».

Привет из второго поколения

Несмотря на новшества, желаемого быстродействия добиться не удалось: «Эльбрус-1» мог совершать менее 15 миллионов операций в секунду. Однако в «Эльбрусе-2» вместо микропроцессоров на основе ТТЛ (транзисторно-транзисторной логики), которые, нагревшись, не могли работать дальше, пока не остынут, использовали новую элементную базу – микропроцессоры на ЭСЛ (эмиттерно-связанной логике). Новая элементная база работала в большем диапазоне температур и не требовала дополнительного времени на охлаждение. Похожий подход использовался в американской серии Motorola 10000. В итоге, во-первых, «Эльбрус-2» уместился в трех шкафах, во-вторых, он смог производить 125 млн операций в секунду.

Запущенный в серийное производство в 1985 году, «Эльбрус-2» унаследовал архитектуру своего предшественника и совместимость с БЭСМ-6, но при этом мог похвастаться объемом оперативной памяти 144 Мб. Если «Эльбрус-1» применялся в Центре контроля космического пространства и ПРО, то «Эльбрус-2» специально разрабатывался с оглядкой на ПРО второго поколения. Тестировались компоненты «Эльбрусов» в Институте проблем кибернетики АН СССР (в будущем на его основе создадут Институт системного программирования): компьютеры должны были быть надежными, чтобы им можно было доверить самые важные стратегические системы. Около 200 машин такого типа нашли применение на секретных военных объектах, часть работала в ЦУП. Работал свой «Эльбрус-2» и в усеченной пирамиде под Софрино – в Центре обработки информации системы противоракетной обороны Москвы.

ДОН-2Н

© Yuriy Shipilov/Wikimedia Commons

Но были у него и недостатки: новая элементная база «Эльбруса-2», позволявшая работать быстрее, требовала больше мощности и нуждалась в отведении тепла, и суперкомпьютер требовалось охлаждать при помощи циркулирующей воды.

«Но пораженья от победы ты сам не должен отличать»

Следующим уровнем стал суперкомпьютер «Эльбрус-3», основанный на совершенно новой архитектуре ELBRUS, которую разработчики назвали «постсуперскалярным подходом» (и которой только в середине дев яностых начнут заниматься Intel, Transmeta и HP). Он прошел все тесты, но единственный рабочий экземпляр, построенный в 1994 году, оказался не нужен никому в новорожденной полуголодной стране.

Модульный конвейерный процессор «Эльбрус-3-1», способный сочетать до четырех потока команд и подключать процессоры с разной специализацией

© Koshmarov/Wikimedia Commons

Но дело не было заброшено: большие надежды возлагались на прямой потомок архитектуры «Эльбруса-3», процессор «Эльбрус-2000» (в народе известный как E2k). Слухи о разработке постсуперскалярного процессора, который, по расчетам компании-производителя, должен был оставить далеко позади разработки Intel, разошлись и в России, и за рубежом. Благодаря архитектуре ELBRUS удалось достичь очень глубокого распараллеливания процессов, выполняя 25 тактов команд одновременно. Однако пока что известны лишь выпущенные упрощенные варианты, которые используются все там же – в линейке «Эльбрусов» в операторских комплексах и системах ПРО, иногда – в крупной индустрии. Теперь создатели суперкомпьютеров стали делать ноутбуки и моноблоки, но все также для корпоративных и государственных нужд.

В итоге поставленные в СССР цели догнать и перегнать Intel и других западных конкурентов блестящими победами не увенчались: догнать не раз удавалось, перегнать – лишь в нескольких случаях. В 1990-е, когда, казалось, наша компьютерная техника вот-вот выйдет на новый виток, помешали перебои с государственным финансированием, а прибыли с рынка практически не было, так как приоритеты в предыдущие полвека были расставлены явно не в пользу персональных компьютеров.

Несмотря на это, производители «Эльбрусов» не думают отчаиваться. Кроме уже упомянутого «чемодана» МЦСТ производит различные модули на основе своих микропроцессоров. Сравнение компьютеров на четырех процессорах «Эльбрус-4С» (тактовая частота – по 700 МГц каждый) с четырехъядерным Intel Core i7-2600 (тактовая частота – 3400 МГц) показало, что отечественный проигрывает в скорости сжатия и распаковки файлов 7-zip в 5-6 раз, а в цифровой фильтрации сигнала – в 2,5 раза. Но если бы наша тактовая частота была такой же, как у конкурента, российская архитектура оказалась бы в девять раз выгоднее. Будет ли реализован этот скрытый потенциал, остается только гадать.

Понравился материал? Добавьте Indicator.Ru в «Мои источники» Яндекс.Новостей и читайте нас чаще.

Подписывайтесь на Indicator.Ru в соцсетях: Facebook, ВКонтакте, Twitter, Telegram, Одноклассники.