Где производят эльбрус. Почему бы нам не сопоставить информацию о всей линейке процессоров Эльбрус? Интересно ведь. Российские процессоры Эльбрус в сравнении с Intel

Прочие модели 08.05.2019
Прочие модели

Восьмиядерный процессор «Эльбрус-8С», выпускаемый по технологическому процессу 28 нм, был представлен на четвёртой конференции «ИТ на службе оборонно-промышленного комплекса». Крупнейшее специализированное мероприятие, объединяющее разработчиков и ИТ-специалистов ВПК, началось вчера в г. Иннополис (Республика Татарстан) и продлится до 29 мая.

О завершающем этапе работ по созданию отечественного микропроцессора на новом для России техпроцессе объявил Александр Якунин – генеральный директор «Объединенной приборостроительной корпорации», входящей в «Ростех».

«Прорывной результат достигнут в рамках проекта «Байкал», который мы ведем совместно с компанией «Т-Платформы», – пояснил Александр Якунин. – Только что выпущен первый инженерный образец процессора «Байкал-Т» с революционным для России техпроцессом 28 нм.

Следующей российской разработкой будет новое поколение процессоров «Эльбрус» на таком же техпроцессе. Его создание вышло на завершающую стадию, очередной инженерный выпуск сейчас проходит тестирование».

Разработку «Эльбрус-8С» ведёт Институт электронных управляющих машин (ИНЭУМ) имени И. С. Брука при участии компании МЦСТ. Его характеристики выглядят так:

  • площадь кристалла 350 кв. мм;
  • восемь идентичных процессорных ядер без гипертрединга;
  • кэш второго уровня 512 KB на ядро;
  • кэш третьего уровня – общий, 16 МБ;
  • собственная архитектура «Эльбрус», разработанная в ЗАО «МЦСТ»;
  • система команд с векторными ускорителями и инструкциями для ускорения математических расчётов, шифрования и обработки сигналов. Они не выделяются в отдельные расширения, а предусмотрены изначально;
  • система оптимизирующей двоичной трансляции кода обеспечивает совместимость с архитектурами x86 / x86-64 при лицензионной независимости от Intel и достижении производительности на уровне 80% от нативной;
  • возможность прямого исполнения команд без двоичной трансляции в двадцати дистрибутивах ОС и свыше тысячи популярных приложений (список быстро пополняется);
  • встроенные механизмы защиты от запуска вредоносного кода: структурированная память с доступом к объектам через дескрипторы и контекстной защитой по языковым областям видимости; определение нарушения границ объекта (переполнения буфера), использования неинициализированных данных и опасных отклонений от стандартов программирования.
  • поддержка четырёх слотов памяти стандарта PC3‑12800 (DIMM DDR3-1600);
  • исполнение 30 операций за такт;
  • тактовая частота 1.3 ГГц – планируемый частотный потолок, при котором возможна стопроцентная загрузка всех восьми ядер неограниченно долгое время в стандартных условиях. Для работы в неблагоприятных (и особенно – полевых) условиях эксплуатации для защиты от перегрева будет реализована схема автоматического снижения частоты (аналог throttling) и (временное) программное отключение отдельных ядер средствами операционной системы;
  • пиковая производительность 250 Гфлопс на вычислениях с плавающей запятой одинарной точности (FP32) при полной загрузке всех блоков FPU;
  • рассеиваемая мощность на уровне 60 – 90 Вт (расчётные показатели);
  • процессор распаивается прямо на плате, что позволяет снизить затраты на корпусировку чипов и их отбраковку.

Работать «Эльбрус-8С» будет в паре с контроллером периферийных интерфейсов отечественной разработки – КПИ-2.

В этой микросхеме, пока выпускаемой по технологическому процессу 65 нм, реализована поддержка 20 линий шины PCI-Express 2.0 (8+8+4), трёх гигабитных сетевых контроллеров Ethernet, восьми портов SATA v.3.0 и восьми портов USB 2.0. Скорость обмена данными с процессором у КПИ-2 составляет 16 Гбайт/с.

Помимо поддержки основных интерфейсов она содержит встроенный контроллер SPMC, обеспечивающий энергосберегающие функции, а также контроллер прерываний.

Аппаратная часть взаимодействует с операционной системой через собственный микрокод BIOS. Возможна работа с дистрибутивами Linux, FreeBSD, QNX, Windows XP, но для ответственных сфер применения рекомендуется ОС «Эльбрус» на базе ядра Linux 2.6.33. Коллективом МЦСТ проделана огромная работа по созданию ОС реального времени с собственными механизмами обработки прерываний, синхронизации, управления памятью и поддержки тегированных вычислений. Всё это направлено на раскрытие потенциала архитектуры отечественного процессора и защиты от распространённых эксплоитов.

Оптимизация кода программ с учётом архитектуры «Эльбрус» достигается за счёт применения специализированных средств разработки: оптимизирующих компиляторов с языков C и C++, Фортран и Java, отладчики, средства и библиотеки для распараллеливания вычислений. Среди последних возможно использование интерфейса передачи сообщений между процессами (MPI) и открытого стандарта OpenMP.


Развитие процессоров “Эльбрус”.

Уже создаются служебные программы и вспомогательные компоненты, оптимизированные для выполнения на процессорах «Эльбрус». Это утилиты, сервисы, библиотеки общего назначения, поддержка баз данных, графическая подсистема (на базе Xorg, GTK+ и Qt), средства для работы с сетью и периферийными устройствами.

Первоочередная задача – выполнить импортозамещение на ключевых объектах ВПК и стратегически важных объектах российской инфраструктуры. «Компьютерра» уже о технической возможности создать троянскую закладку аппаратного уровня в процессорах Intel архитектуры Ivy Bridge, которую исключительно сложно обнаружить. Эта работа исследователей проводилась на базе университета штата Массачусетс и позиционировалась как доказательство концепции – подобные закладки можно создавать и в других процессорах.

«Применение техники с зарубежными ключевыми компонентами создает большие угрозы в критически важных для страны сферах управления и производства, – отмечает Александр Якунин. – Прежде всего, с точки зрения защиты данных и скрытых возможностей влияния на работу оборудования извне»

Государственные испытания процессора «Эльбрус-8С» назначены на конец этого года. В случае их успешного прохождения серийный выпуск начнётся уже в 2016 году. Пока речь идёт скорее о мелкосерийном производстве на уровне порядка 50 тысяч процессоров в год, но это уже огромный шаг для российской микроэлектроники.

«В конце этого – начале следующего года «Т-Платформы» должны завершить работу над новым процессором «Байкал-М», а в 2018 году мы планируем представить «Эльбрус-16С» на той же технологии 28 Нм, с частотой 1,5 ГГц и производительностью уже свыше 512 ГФлопс», – озвучивает ближайшие планы Александр Якунин. Уже известно, что следующий процессор «Эльбрус» будет исполнять 50 операций за такт. Его расчётная производительность будет выше, чем у «Эльбрус-8С» в 2,5 раза.

В статье использованы материалы ОАО “Объединенная приборостроительная корпорация”.

В умах подавляющего большинства обывателей прочно укоренилась мысль о том, что в области проектирования вычислительной техники наша страна играет роль безнадёжного аутсайдера. США, Европа, и, быть может, Китай – вот лидеры производства современных микропроцессоров и систем. Однако это не совсем верно: как подтверждают факты, собственные разработки у нас тоже имеются, и они не только приближаются по определённым параметрам к новейшим достижениям полупроводниковых технологий, но кое в чём их даже превосходят. Насколько продвинулась отечественная наука в этой области и скоро ли можно будет увидеть на прилавках магазинов российский процессор , мы и расскажем в нашем обзоре.

Как всё начиналось

Наверняка многие слышали о том, что во времена Сталина кибернетика была объявлена лженаукой. Гораздо меньше людей знают о том, что кибернетика и вычислительная техника – это отнюдь не одно и то же. Как раз последняя развивалась в то время очень активно, а в 1948 году Постановлением Совета Министров СССР №2369 для этой цели был создан Институт точной механики и вычислительной техники, получивший впоследствии имя Сергея Алексеевича Лебедева. Сам Сергей Алексеевич был приглашён в институт в 1950 году для разработки одной из первых отечественных ЭВМ БЭСМ-1.

А вот с приходом к власти Никиты Сергеевича, развенчавшего «культ Сталина», был взят курс на копирование зарубежных достижений в этой области. Тем не менее, разработка своих систем продолжалась, и в 1969 году, в связи с необходимостью оснащения стратегических систем специального назначения высокопроизводительной вычислительной техникой, родилась идея архитектурной линии «Эльбрус». Под руководством Всеволода Сергеевича Бурцева, ставшего впоследствии академиком Российской Академии Наук, созданный многопроцессорный вычислительный комплекс (МВК) «Эльбрус-1» был предъявлен государственной комиссии и в 1979 году прошёл государственные испытания. Он был спроектирован на основе микросхем TTL-логики и включал в себя 10 процессоров с суммарной производительностью 15 млн. операций в секунду (15 Мфлопс). На тот момент это была великолепная машина: впервые в мире применялась суперскалярная архитектура, позволявшая параллельно отрабатывать несколько машинных команд. Наряду с центральным процессором имелись специализированные: для обмена данными с внешними устройствами, для быстрого преобразования Фурье, для эмуляции команд БЭСМ-6 и для решения целого ряда специальных задач. Объем оперативной памяти достигал солидного объёма в 64 МБ.

Чтобы воспользоваться всеми достоинствами оригинальной архитектуры и системы команд МВК, несколько институтов разрабатывали для него не только операционную систему, но и языки программирования высокого уровня. А шестью годами позже, в 1985 году, в серийное производство был запущен «Эльбрус-2», который представлял собой незначительно модернизированный с точки зрения схемотехники «Эльбрус-1», переведенный на новую элементную базу микросхем ЭСЛ-технологии серии «ИС-100». Этот МВК уже достигал производительности в 125 Мфлопс. МВК строился по модульному принципу, с учётом обеспечения надёжности. Благодаря своему быстродействию и отказоустойчивости, он в течение многих лет использовался в центральных объектах стратегических систем страны. Всего было выпущено 30 экземпляров МВК «Эльбрус-2».

Следующим этапом развития серии стал проект МВК «Эльбрус-3». Руководил им член-корреспондент Академии наук СССР Борис Арташесович Бабаян. Он предложил передовую архитектурную реализацию концепции широкого командного слова. Опытный образец машины изготовили в 1990 году, но её отладка не была завершена по причине прекращения финансирования проекта из-за экономических проблем того периода.

Технологии «SPARC»

Дальнейшее продолжение развития линии «Эльбрус» связано с ТОО «Московский центр SPARC-технологий», сформировавшимся в 1992 году и впоследствии переименованным в ЗАО «МЦСТ». Старшее поколение, знакомое с микропроцессорами с 90-х годов прошлого века, хорошо помнят процессоры семейства SPARC, выпускавшиеся компанией «Sun Microsystems». В то время это была весьма популярная платформа в среде, как это принято сейчас говорить, корпоративных заказчиков. Компания занималась созданием промышленных систем на основе архитектуры SPARC v8, как для зарубежных, так и для отечественных заказчиков. Знакомство с этим направлением помогло МЦСТ как получить опыт для развития собственной архитектуры процессора «Эльбрус» (называвшейся в то время «архитектура E2k»), так и просто пережить период экономических трудностей, сохранив свой уникальный коллектив.

Как следствие работы с новой архитектурой, в 2001 году у МЦСТ появился первый микропроцессор собственной разработки, названный R150. Он выпускался по довольно грубому техпроцессу с нормами литографии 350 нм, что делало его достаточно дешёвым и пригодным для производства на большинстве существующего оборудования. В то же время, его характеристики были вполне конкурентоспособными: при общей потребляемой мощности 5 Вт его единственное ядро могло работать на частоте 150 МГц, обеспечивая производительность порядка 150 Мфлопс. А всего лишь через 3 года увидел свет следующий чип – R500, выпускающийся уже по нормам 130 нм, что заметно повысило его эффективность. Работая на частоте 500 МГц, он обладал производительностью в 500 Мфлопс при потребляемой мощности 1 Вт! А ещё через 3 года, в 2007 году, появился очередной продукт эволюции процессоров семейства SPARC – R500S, содержащий уже два ядра с общей производительностью 1 Гфлопс.

Заметим, что хотя эта архитектура принадлежит к категории RISC и принципиально несовместима с архитектурой Intel x86, при использовании её для промышленных применений это не представляет серьёзной проблемы: всё равно разработка аппаратуры, да и программного обеспечения, ведётся в большинстве случаев «с нуля» под нужды конкретного заказчика, так что потенциальная совместимость с существующим ПО не приносит обычно никакой выгоды.

Процессоры серии «Эльбрус»

Несмотря на активную работу с архитектурой SPARC, развитие собственного направления было продолжено. В 2000 году было утверждено ТЗ на вычислительный комплекс «Эльбрус-3М1» и микропроцессор «Эльбрус», а через 7 лет, в 2007 году, были проведены первые государственные испытания. Работоспособность отечественной архитектуры «Эльбрус» была полностью подтверждена. Он обладал следующими характеристиками: техпроцесс – 130 нм, одно ядро, работающее на частоте 300 МГц, потребляемая мощность 6 Вт, производительность 4,8 Гфлопс.

В 2009 году прошла сертификацию операционная система «Эльбрус», созданная на базе ядра Linux 2.6.33. Была проделана фундаментальная работа по преобразованию ОС Linux в операционную систему, поддерживающую режим работы в жёстком реальном времени, а также написано множество специализированных библиотек. Заметную помощь ЗАО «МЦСТ» в создании ПО и проектировании вычислительных модулей с 2006 года оказывает коллектив открытого акционерного общества «Институт электронных управляющих машин имени И. С. Брука» (ОАО «ИНЭУМ им. И. С. Брука»), непосредственно участвующий в разработках.

Первый серийно выпускаемый микропроцессор «Эльбрус-S», производимый по технологическим нормам 90 нм, и контроллер периферийных интерфейсов (КПИ) для него прошли испытания в 2010 году. Он тоже имел всего одно ядро, но мог работать на частоте в 500 МГц, выдавая производительность 8 Гфлопс, но и рассеивал заметно большую мощность – до 20 Вт. Для сравнения заметим, что такую же производительность имел в своё время процессор AMD Athlon 64, работающий на частоте 2,2 ГГц.

Всего лишь годом позже, в 2011-м, было начато производство кристалла следующего поколения – «Эльбрус-2С+», при тех же технологических нормах – 90 нм – имеющего заметно большую производительность в целых 28 Гфлопс (что соответствует уровню примерно посередине между Intel Core 2 Duo и Intel Core i3). Такой прорыв оказался возможен за счёт наличия четырёх дополнительных ядер встроенного сопроцессора, предназначенного для цифровой обработки сигналов (DSP), и двух основных ядер, тактовая частота которых составила те же 500 МГц. Справедливости ради заметим, что из-за некоторой трудоёмкости программирования встроенного DSP он не снискал большой популярности, поэтому в модели следующего поколения от него решено было отказаться.

А что же происходит в настоящее время? Сейчас, в 2014 году, МЦСТ выпускает самую совершенную модель – «Эльбрус-4С», выполненный по технологии 65 нм и работающий на частоте 800 МГц. Благодаря наличию четырёх ядер с двумя мегабайтами кеш-памяти на каждое ядро, он обеспечивает внушительную производительность 50 Гфлопс, вплотную приближаясь к Intel Core i7-975 Extreme Edition (53 Гфлопс). Его потребляемая мощность при этом заметно скромнее и составляет всего 45 Вт. Серийное производство пока не начато, но уже существуют опытные образцы. А так как дефицитное оборудование для этого не требуется – благодаря «крупному» техпроцессу достаточно любой из множества широко доступных фабрик, то этот момент не за горами.

Итак, мы вкратце рассмотрели номенклатуру и историю создания отечественных процессоров. Насколько же они конкурентоспособны? Какие у них отличия от продукции AMD/Intel, достоинства и недостатки? Какие применения находят эти уникальные изделия? И, наконец, можно ли запустить на «Эльбрусе» ОС Windows? Ответы на эти вопросы, а также тесты производительности, последуют во второй части этой статьи, которая появится на нашем сайте в ближайшие дни.

Технические характеристики процессоров, выпускаемых ЗАО «МЦСТ»

Архитектура SPARC R150 R500 R500S R1000
Год выпуска 2001 2004 2007 2011
Техпроцесс, нм 350 130 130 90
Архитектура SPARC v8 SPARC v8 SPARC v8 SPARC v9, VIS1, VIS2
Количество ядер 1 1 2 4
Тактовая частота, МГц 150 500 500 1000
0,15 0,5 1 16
0,15 0,5 1 8
Потребляемая мощность, Вт 5 1 5 15
Команд на 1 такт 1 1 1 2
Кеш уровня 2, МБ 0* 0** 0,5 2
0,4 0,8 2,6 6,4
Площадь кристалла, мм? 100 25 81 128
Число транзисторов, млн 2,8 5 51 180
Число слоёв металла 4 8 8 10
Тип корпуса BGA 480 BGA 376 HFCBGA 900 HFCBGA 1156
с общей памятью 1 4 2 16
3
Пропускная способность канала ccLVDS, Гбайт/с 4
1,3 2
до 4 до 4
Южный мост встроенный КПИ
Архитектура Эльбрус Эльбрус Эльбрус-S Эльбрус-2C+ Эльбрус-4C
Год выпуска 2005 2010 2011 2014
Техпроцесс, нм 130 90 90 65
Архитектура Эльбрус Эльбрус Эльбрус, ElCore9 Эльбрус
Количество ядер 1 1 2 (+4 DSP) 4
Тактовая частота, МГц 300 500 500 800
Производительность (32 бита), Гфлопс 4,8 8 28 50
Производительность (64 бита), Гфлопс 2,4 4 8 25
Потребляемая мощность, Вт 6 20 25 45
Команд на 1 такт 23 23 23 23
Кеш уровня 2, МБ 0,25 2 2 8
Тип встроенного контроллера памяти DDR2-500 DDR2-800 DDR3-1600
Количество каналов обмена с памятью 1 1 3
Пропускная способность шины памяти, Гбайт/с 4,8 8 12,8 38,4
Площадь кристалла, мм? 189 142 289 380
Число транзисторов, млн 75,8 218 368 986
Число слоёв металла 8 9 9 9
Тип корпуса HFCBGA 900 HFCBGA 1156 HFCBGA 1296 HFCBGA 1600

Максимальное число ядер в системе

с общей памятью (прямое соединение)

2 4 8 16

Максимальное число ядер в системе

с общей памятью (через чип-коммутатор)

16 32 64
Каналы межпроцессорного обмена ccLVDS 3 3 3
Пропускная способность одного канала ccLVDS, Гбайт/с 4 4 12
Пропускная способность канала ioLVDS, Гбайт/с 2 2 4
Комплексирование машин через каналы RDMA до 2 до 4 до 4 до 4
Пропускная способность канала ввода-вывода/RemoteDMA, Гбайт/с 2 2 2 4
Южный мост на базе FPGA КПИ КПИ КПИ

* возможно подключение внешней кеш-памяти объёмом до 1 МБ

** возможно подключение внешней кеш-памяти объёмом до 4 МБ

RISC, CISC, и всякое такое

Все выпускаемые сегодня процессоры делятся на два больших класса: процессоры с сокращённым набором команд, или RISC (Reduced Instruction Set Computing), и процессоры с полным набором команд, или CISC (Complete Instruction Set Computing). Набор команд первых из них отличается аскетичностью, сами команды однотипны и выполняются за небольшое фиксированное время, что позволяет эффективнее наращивать тактовую частоту. Зато в CISC-системе команды более универсальны, что несколько упрощает написание программного кода.

С точки зрения программиста, все x86-совместимые процессоры являются CISC-процессорами, но на самом деле, их современные модели спроектированы на основе RISC-ядра. Выполнение CISC-команд эмулируется аппаратурой процессора путём их преобразования «на лету» в команды RISC-ядра с помощью специального блока декодирования инструкций и микропрограммы-транслятора.. Такой подход позволяет повысить эффективность работы при сохранении совместимости, а также позволяет исправлять некоторые ошибки проектирования уже после выпуска чипа в серийное производство. Это достигается путём изменения кода микропрограммы-транслятора, обычно выполняемого средствами BIOS той системной платы, куда установлен процессор (именно об этом идёт речь, когда производители выпускают модификации BIOS, «совместимые с процессором таким-то»: то есть, в него внесена модифицированная версия микропрограммы для этой модели процессора, исправляющая некоторые ошибки, тогда как сам процессор будет прекрасно работать и на «несовместимом» BIOS’е).

Когда программист или компилятор создаёт программу в виде последовательности ассемблерных инструкций, то подразумевается, что они будут исполняться последовательно, одна за другой, и исполнение каждой инструкции полностью завершается перед запуском на исполнение следующей инструкции. Так устроены системы команд всех RISC и CISC процессоров. Первые модели процессоров были способны выполнять не больше одной инструкции за один такт, и это ограничение не создавало неудобств. Но со временем технология позволила делать всё более сложные чипы, и тогда для увеличения производительности стали «учить» процессор выполнять по нескольку инструкций за такт. Это свойство называется суперскалярностью. Но есть проблема: нельзя просто так запускать параллельно несколько операций, потому что среди них могут быть зависимости. Например, одна инструкция читает число из памяти в регистр, а следующая – инкрементирует полученное значение в регистре. Их можно запускать только последовательно, но в самих инструкциях нет информации об их взаимозависимости. Поэтому нужна специальная и сложная аппаратура, детектирующая зависимости и гарантирующая корректность исполнения инструкций «вне очереди». Все современные x86-совместимые микропроцессоры – суперскалярные. Например, самые современные чипы на архитектуре Haswell выполняют до восьми операций за такт. Но объём аппаратуры анализа зависимостей для такого числа операций весьма велик, и поэтому чипы получаются сложными и «горячими».

Заметим, что речь идёт именно о микрооперациях RISC-ядра, а вовсе не об инструкциях x86, да ещё и на их вид наложены некоторые ограничения (например, арифметических операций и операций с памятью может быть не более половины от этого числа).

Процессоры архитектуры «Эльбрус» построена по принципу VLIW, или очень широкого командного слова (Very Large Instruction Word). Этот подход можно считать разновидностью RISC – коротких команд с фиксированным временем выполнения, с тем отличием, что каждая команда содержит не одну, а много элементарных операций (вплоть до 23-х). Загрузить такой широкий конвейер на 100% непросто, поэтому разработчики переложили выделение зависимостей и оптимизацию порядка выполнения команд на плечи компилятора. И в самом деле: компилятор, запускающийся на этапе перевода программы, написанной на языке высокого уровня (или ассемблере), в машинные коды, обладает гораздо большими ресурсами, а также большим доступным временем (в разумных пределах, конечно), поэтому эффективность его работы может быть выше, чем у аппаратного блока анализа зависимостей. Используя алгоритмы, имеющие много независимых операций (и поэтому хорошо поддающиеся оптимизации), программист может получить производительность, заметно превосходящую предел возможностей процессора AMD/Intel, работающего на той же частоте. Кристалл процессора в результате получается проще и надёжнее, и потребляет меньшую мощность.

x86-совместимость «в нагрузку»

Объём написанного на сегодня кода в среде x86 столь велик, что игнорировать его не может себе позволить ни один, даже самый крупный, производитель процессоров. Компания Intel однажды смогла «провернуть» такой фокус, отказавшись от аппаратной поддержки процессоров 8080 и перейдя на новую на тот момент архитектуру 386, но суммарный объём существующего кода был тогда на несколько порядков меньше. Повторить этот смертельный трюк вряд ли удастся кому-либо в обозримом будущем, удел смельчака – узкоспециализированная ниша, занять которую он обречён в этом случае (ARM-процессоры, доминирующие на смартфонах, лучшее тому подтверждение).

Основной средой выполнения прикладных программ на системе «Эльбрус» служит ОС «Эльбрус» (кто бы мог подумать!), являющаяся доработанной разновидностью ОС Linux с ядром 2.6.33, скомпилированной целиком из общедоступных исходников. Заметим, что хотя это ядро является достаточно старым, оно поддерживает работу подавляющего большинства современных библиотек, и несмотря на это, идёт полным ходом адаптация для ОС нового ядра 3.10.

Чтобы обеспечить работу существующих приложений на процессоре «Эльбрус», применяется механизм двоичной трансляции (другое его название – «битовый компилятор»). Он существует в двух вариантах: уровня системы и уровня приложений. Первый из них начинает работу сразу после включения питания, с загрузкой в память компактного транслятора, хранящегося в микросхеме флеш-памяти, расположенной на системной плате. При этом для всех загружаемых позже программ, включая ОС, процессор становится неотличим от любого x86-совместимого процессора, позволяя запускать хоть Windows, хоть Mac OS, хоть Linux, или любую другую операционную систему, например, такую экзотическую, как Колибри ОС, или IBM OS/2.

Такая совместимость достигается ценой некоторого снижения производительности, которая в режиме двоичной трансляции уменьшается примерно на 30% (справедливости ради заметим, что в текущей версии транслятора для процессора "Эльбрус-2С+" «гостевой» ОС доступно всего лишь одно ядро, но в новой версии, для "Эльбрус-4С", этот недостаток исправлен). Разумеется, все специфические особенности процессора, о которых мы ещё расскажем, будут при этом недоступны.

Существует и другая разновидность битового транслятора - уровня приложений. При этом процессор стартует в нативном режиме, и на нём запускается ОС «Эльбрус» (или другая ОС, скомпилированная в кодах Эльбрус), а после её загрузки запускается специальное приложение-эмулятор, позволяющее, одновременно с нативными, запускать и x86-совместимые приложения (наподобие среды Wine в Linux). «Родные» приложения работают при этом в комфортной для себя среде, имея доступ ко всем возможностям и 100% вычислительной мощности ЦП, а «гостевые» обладают полной иллюзией запуска в среде x86, за исключением доступности системного вызова ptrace.

Процессор «Эльбрус-2С+» поддерживает битовую трансляцию только 32-разрядных кодов x86 и выполняет их на одном ядре, в то время как «Эльбрус-4С» может транслировать и 64-битные команды и поддерживает трансляцию многопоточных приложений (т.е. использующих несколько ядер процессора после трансляции).

Чем ещё интересен «Эльбрус»

Внутри процессор «Эльбрус» устроен следующим образом. Имеется 6 каналов исполнения операций, работающих параллельно, при этом до четырёх каналов могут быть использованы для чтения из памяти и до двух – для записи в память. Во всех шести каналах можно исполнять целочисленные арифметико-логические операции, в четырёх – операции с плавающей запятой. Каждый такт процессор может запустить по одной операции в каждый канал. У Эльбруса универсальный регистровый файл из 256 84-разрядных регистров; при этом есть отдельный регистровый файл для предикатов (однобитных значений) на 32 регистра. Имеется аппаратная поддержка циклов, в том числе с конвейеризацией, что повышает эффективность использования ресурсов процессора. Интересной особенностью Эльбруса является программируемое асинхронное устройство предварительной подкачки данных. У него есть встроенный буфер объемом 4 кБ для сокрытия задержек от доступа к памяти, и оно не задействует каналы исполнения операций, что позволяет освободить их для вычислний. Поддержка спекулятивных и условных (предикатированных) вычислений позволяет уменьшить число переходов и параллельно исполнять несколько ветвей программы. Широкая команда может при максимальном заполнении задавать в одном такте до 23-х операций (и более 33-х операций при упаковке операндов в векторные команды).

Чтобы более эффективно использовать возможности аппаратуры процессора, в компилятор введена поддержка Intrinsic-функций (это специальные аппаратно-зависимые функции, заменяющие отдельные ассемблерные инструкции и позволяющие избавиться от inline-ассемблера, т.к. его использование часто нежелательно или невозможно).

Также «Эльбрус» имеет несколько уникальных особенностей, выгодно отличающих его от зарубежных аналогов. Одна из них - специальное оборудование для работы в составе многопроцессорных систем. Это контроллер межъядерных взаимодействий и контроллер запросов MAU, передающий запросы от каждого из ядер в системный коммутатор, и контроллер когерентных сообщений, анализирующий запросы от коммутатора и передающий их нужным ядрам. В свою очередь, системный коммутатор осуществляет обслуживание абонентов согласно политике приоритетов, обеспечивая максимально возможную загрузку межпроцессорных линков, и независимость пакетных потоков между различными парами абонентов и независимость потоков командных пакетов различного типа друг от друга. Каждый кристалл имеет три канала межпроцессорного обмена, а также возможность работать в многопроцессорной системе с общей памятью – до четырёх процессоров «Эльбрус-4С» в одной системе без дополнительных схем, и до шестнадцати – с помощью выделенного чипа-коммутатора.

Обслуживание внешних интерфейсов организовано «классическим» способом – с помощью Контроллера Периферийных Интерфейсов (КПИ), играющего роль «южного моста». Он соединяется с процессором по выделенной шине с пропускной способностью 2 Гбит/с в каждую сторону и предоставляет как привычные всем PC-интерфейсы, так и специализированные интерфейсы для промышленного применения.

Технические характеристики КПИ

Год начала производства 2010
Техпроцесс, нм 130
Тактовая частота, МГц 250
Пропускная способность шины связи с процессором, Гбайт/с 2
Подсистема управления прерываниями 2 PIC + 1 IO_PIC
Таймеры системный, сторожевой
Число транзисторов, млн 30
Площадь кристалла, мм? 112
Корпус HFCBGA-1156
Потребляемая мощность, Вт 6
Диапазон рабочих температур, °С –60…+85
Наработка на отказ, ч > 100000
Интерфейсы
PCI-Express (версии 1.0a) 8 линий
PCI (версии 2.3) 32/64 бита, частота 33/66 МГц
Ethernet (1 Гбит/с) 1 порт
SATA 2.0 4 порта
IDE (PATA-100) 2 порта по 2 устройства
USB 2.0 2 порта
AC-97 2-канальное стерео
RS-232/485 2 порта
IEEE-1284 (с поддержкой DMA) 1 порт
Программируемые универсальные входы-выходы GPIO 16 сигналов
I?C 4 канала
SPI 4 устройства

Безопасность превыше всего

Но самой важной особенностью процессора «Эльбрус» является обеспечение безопасности. Мы не будем вдаваться в подробности «бэкдоров» систем на основе Intel, благо что на эту тему есть что почитать на просторах Сети. В частности, не секрет, что некоторые системы могут оснащаться супервизором на основе BIOS, позволяющим осуществлять удалённые контроль и управление компьютером через сеть, а также перехват произвольных данных. Причём не только работа, но и само наличие такого супервизора не поддаются определению практически никакими современными средствами, так как его функционирование осуществляется на уровне микрокодов RISC-ядра (см. выше о том, как устроен современный микропроцессор). Если ПК приобретается для домашнего применения, подобными проблемами можно не «заморачиваться» – вас, как того самого «неуловимого Джо», защищает факт несущественности ваших данных, которые просто никому не нужны. Но даже в этом случае будет обидно, если кто-то за океаном нажмёт некую «красную кнопку», после чего ваш ПК превратится в бесполезную груду железа. Да и возможное эмбарго на поставку даже таких, «дырявых» кристаллов со стороны стран Европы и США может существенно усложнить жизнь отечественным сборщикам ПК, а значит, и нам с вами. Учитывая текущее обострение внешнеполитической ситуации, подобный сценарий не представляется таким уж невероятным. А вот если вы собираете сеть для управления атомной электростанцией, или хотя бы металлургическим заводом, то даже самую малую возможность подобного развития событий желательно исключить в принципе. Конструируя парк ПК на основе «Эльбрус», заказчик получает всю техническую документацию, по которой можно проконтролировать отсутствие нежелательных модулей, и исходные тексты всего программного обеспечения, начиная от ОС, драйверов, и до приложений прикладного уровня. Помимо этого, существуют отдельные аппаратные средства управлением безопасностью. Всем уже набили оскомину сообщения о брешах в системе Windows и прикладных программах (последние, впрочем, не сильно афишируются). Наиболее частая причина – ошибки переполнения буфера, позволяющие злоумышленнику запустить на атакуемой системе произвольный код. Причина кроется в общей памяти, позволяющей хранить и данные, и код. Конечно, попытки решить проблему предпринимаются, например, такие, как широко разрекламированный Execute Disable Bit в процессорах Intel (или его аналог – No eXecute Bit в процессорах AMD), но даже эта защита обходится «на раз-два» (кому интересно – вновь обращаемся к Интернету). А неразделяемый стек – вообще ахиллесова пята всех AMD/Intel систем. Вариант, предложенный МЦСТ, – защищённый режим исполнения программ. Работа в нём происходит только с инициализированными данными, все обращения в память проверяются на принадлежность к допустимому диапазону адресов, обеспечивается межмодульная защита. Для поддержки такого режима имеется компилятор C/C++ и библиотека runtime (libc). В этом режиме обнаруживается более 98% ошибок времени выполнения, которые не удаётся диагностировать другими способами. Это позволяет не только создавать устойчивый ко взлому код, но и заметно облегчает написание любых программ, поскольку многие ошибки программирования, которые в ином случае остались бы незамеченными и привели бы к нестабильной работе программы, здесь обнаруживают себя на уровне аппаратуры и вызывают прерывание. Некоторым недостатком защищённого режима является снижение производительности примерно на 20%, что в отдельных случаях может быть нежелательно. Есть и другая проблема: практически весь существующий в среде open source код написан так, что использует приёмы программирования, не регламентированные стандартом языка Си. Поэтому запустить ядро ОС или приложения типа LibreOffice полностью в защищённом режиме пока что невозможно – и из-за стиля программирования, и из-за наличия в коде скрытых ошибок, которые придётся исправлять. Но можно запускать в защищённом режиме отдельные небольшие программы, наиболее критичные с точки зрения информационной безопасности, и они будут работать со стопроцентной надёжностью. Даже в обычном, «незащищённом» режиме работы «Эльбруса», надёжность системы ко взлому значительно повышается, поскольку стек связующей информации (цепочка адресов возврата при процедурных вызовах) отделен в нём от стека пользовательских данных и недоступен из программного кода. Это заметно затрудняет такой популярный вид атаки, как подмена адреса возврата.

Модули на микропроцессорах «Эльбрус»

В настоящее время ЗАО «МЦСТ» выпускает несколько готовых модулей на основе процессоров R1000 архитектуры SPARC, а также серию модулей на основе «Эльбрус». Каждый из модулей изготовлен в виде системной платы с набором необходимых внешних интерфейсов, по сути представляя собой готовый компьютер, требующий лишь подключения источника питания и накопителей для хранения данных, да и то не всегда (зачастую флеш-диск достаточного объёма распаян прямо на плате). Он выполнен в стандартном форм-факторе потребительского либо промышленного стандарта, и устанавливается в корпус заказчика. В настоящее время модули комплектуются процессорами «Эльбрус-2С+», а с началом серийного выпуска «Эльбрус-4С» элементная база будет обновлена.

В каталоге компании «МЦСТ» представлены следующие модули: МВКУБ/С, МВК/U, Монокуб, КУБ-COM, МВ3S/C-К. Первый из них содержит два процессора, остальные - один. Каждый модуль оснащён картой CompactFlash, использующейся либо для хранения системы двоичной трансляции, либо для установки ОС, причём последний из перечисленных модулей содержит также дополнительный SSD-диск стандарта mSATA. Пусть вас не вводит в заблуждение слово «куб» в названиях некоторых из них: форм-фактор конструктивного исполнения - Compact PCI, COM Express type 2 и mini-ITX, напоминающие в лучшем случае прямоугольный параллелепипед, а слово «куб» выбрано, видимо, только «для красоты». Ещё один модуль, МВ3С2/C, не содержит процессора, а предоставляет лишь набор периферийных интерфейсов. Заметим, что интерфейсных модулей существует большое множество, но мы не стали перечислять их все для экономии места.

Вычислительные комплексы

Этим научным термином в компании «МЦСТ» называют любые законченные компьютеры на основе процессора «Эльбрус», от ноутбука и до мощного сервера. Да, вы не ослышались: ноутбук на этом кристалле уже выпускается и носит гордое название «Носимый терминал НТ-ЭльбрусS». Конечно, ему пока ещё далеко по изяществу до Macbook Air, своим брутальным видом он напоминает, скорее, защищённые ноутбуки фирмы Panasonic или аналогичные.

НТ-ЭльбрусS

Характеристики «НТ-ЭльбрусS» достаточно скромные, но вполне достаточные для запуска «офиса» и подобных программ. А вот прочность конструкции находится на высоком уровне: аппарат не только способен нормально работать в широком диапазоне температуры (от -10 до +55°С) и влажности (вплоть до полного погружения под воду до глубины 1 м), но и вибрации, ударных нагрузках (вплоть до падения на бетон с высоты 0,75 м).

Полезным может оказаться и наличие универсального приёмника сигналов спутниковой навигации (ГЛОНАСС/GPS), а при необходимости может быть установлен адаптер Wi-Fi. Вот разве что разрешения экрана - 1024 на 768 точек - маловато для комфортной работы, да и батарею можно было бы поставить помощнее, так как заряда штатной хватает всего на 1 час.

Монокуб-РС

Другой ВК - «Монокуб-PC» - вполне сопоставим с недорогим офисным ПК, да и по размерам весьма похож на него. 4 ГБ оперативной памяти и 500 ГБ жёсткого диска, разумеется, могут быть заменены на другие стандартные компоненты нужного объёма, благо что интерфейсы внутри самые что ни на есть общедоступные: слоты DDR2 и разъёмы SATA II (правда, DDR2 смотрится в наши дни некоторым анахронизмом, да и по цене уже проигрывает DDR3). К нему подключается любой стандартный монитор с коннектором VGA или DVI, а также клавиатура и мышь. Лишь наличие интерфейсов GPIO слегка намекает нам на то, что перед нами не обычный офисный ПК, а изделие для лабораторно-промышленного применения.

КМ4-Эльбрус

Ещё одна традиционная компоновка - моноблок КМ4-Эльбрус, или конструкция «всё-в-одном». Это ПК, собранный в общем корпусе с монитором. Его экран обладает уже вполне достойным разрешением 1600 на 900 точек, более того, он сенсорный! Корпус, правда, несколько толстоват, но по большому счёту, малая толщина его - лишь дань моде. На рабочий стол он впишется вполне нормально, а при желании к нему можно без дополнительных средств подключить второй монитор, с разрешением вплоть до 1920 на 1440.

Экспериментальный 4-процессорный сервер на базе процессора Эльбрус-4С

И ещё один ВК, «Эльбрус-3С», является мощным модульным сервером с 16-ю процессорами (4 процессорных модуля по 4 процессора), 128 ГБ ОЗУ, встроенным коммутатором Gigabit Ethernet и оптическим контроллером сети. Он рассчитан на высокопроизводительные вычисления, а благодаря модульной конструкции, его конфигурация может сильно различаться, в зависимости от требований заказчика.

Вычислительные комплексы на основе микропроцессоров «Эльбрус»

Тесты, тесты, тесты

Наверняка многим из вас не терпится узнать, на что способны новые кристаллы в плане производительности? Есть ли у новой архитектуры преимущества в реальных задачах? Чтобы выяснить это, мы подготовили три «боевых» теста: архивацию и распаковку архиватором 7-zip, обработку видеосигнала цифровым фильтром, и шифрование информации по алгоритму ГОСТ. Такой выбор задач был сделан отчасти из-за того, что все они реализованы в виде приложений для ОС Linux, способной функционировать как на процессорах Эльбрус, так и на чипах производства Intel, что позволяет провести сравнительный анализ, а отчасти потому, что эти задачи входят в число наиболее типичных применений разработанных ВК (не забываем, что основными заказчиками оных являются различные предприятия). Характеристики тестовых стендов

Характеристики тестовых стендов приведены в таблице. Отметим лишь, что в день тестирования сервер на четырёх процессорах «Эльбрус-4С» с частотой 800 МГц оказался занят, и нам предложили такой же, работающий на частоте 700 МГц, что несколько повлияло на результаты. В принципе, ничто не мешает пересчитать их, умножив или разделив на 8/7, так как производительность сервера линейно зависит от частоты. Также следует иметь в виду, что все тесты выполнялись в однопоточном режиме; для хорошо распараллеливаемых задач, а к ним принадлежат все упомянутые тесты, с ростом числа задействованных ядер производительность будет возрастать практически линейно. Соперником наших героев, а также точкой отсчёта, послужил сервер на процессоре Intel Core i7-2600, работающем на частоте 3400 МГц.

Коммуникационными портами компьютеры "Эльбрус" не обделены

Первый тест, архивация по алгоритму 7-zip, является, пожалуй, антипримером, с точки зрения демонстрации эффективности отечественной архитектуры. Алгоритм 7-zip довольно сложен и плохо поддаётся оптимизации, поэтому общая скорость упаковки, измеряемая в мегабайтах в секунду (т.е. чем лучше производительность, тем больше числа), почти точно пропорциональна тактовой частоте, которая у российских кристаллов сильно уступает продукции лидера мирового процессоростроения. При распаковке ситуация чуть лучше: в самом деле, если частоты Core i7 и «Эльбрус-2С+» различаются в 3400/500=6,8 раза, то результаты теста лишь в 33,437/6,296=5,31 раза, что говорит о том, что работая на той же частоте, что и процессор Intel, «Эльбрус» смог бы его обойти!

С фильтрацией видеосигнала наш кристалл справляется лучше. Недаром эта область являлась одной из профильных при его разработке. Но не следует полагать, что тут задействованы дополнительные ядра встроенного DSP - так было бы «нечестно» по отношению к сопернику, поэтому тестовая программа использует только ядра общего назначения. Здесь «Эльбрус-2С+» медленнее лишь в 2,5 раза (тест измеряет время выполнения одной и той же задачи, так что здесь лучшей производительности соответствует меньшее число). «Эльбрус-4С» практически подобен своему собрату, выдавая результат во столько раз лучше него, во сколько раз различаются их тактовые частоты).

Но самый выигрышный результат оказался при шифровании по алгоритму ГОСТ, недаром он тоже разрабатывался нашими специалистами. Здесь «Эльбрус-2С+» выполнил задачу на 30% быстрее, несмотря на почти семикратную разницу в частоте, а «Эльбрус-4С» - почти в 2 раза быстрее! Что говорит о том, что эффективность отечественной архитектуры на подобных задачах лучше почти в 9 раз. Подробности можно лицезреть на скриншотах окна терминала. Не удивляйтесь, увидев неожиданное сообщение cpuinfo о странном процессоре «Эльбрус-2S»: именно так планировалось ранее назвать новый четырёхъядерный чип, но в последний момент он был переименован с целью отображения в названии количества ядер. Это же «старое» название можно прочесть и на фотографии крышки корпуса кристалла, массово отштампованной до этого момента.

Сравнительные результаты тестирования микропроцессоров

Вперёд, к светлому будущему?

Итак, всё выглядит не так уж и плохо? И да, и нет. Несмотря на успешный старт, у МЦСТ осталась ещё масса нерешённых проблем. Главная из них - поиск производственных мощностей для выпуска чипов. Пока «Эльбрус-2С+» производится на фабриках партнёров из Юго-Восточной Азии, что не очень-то вписывается в картину России, как независимой интеллектуальной державы. К тому же для изготовления нового чипа, «Эльбрус-4С», требуется более «тонкий» процесс с нормами литографии 65 нм. Однако, перечитывая новости прессы, можно заметить, что зеленоградский завод полупроводниковых компонентов «Микрон» не так давно разработал новую для России технологию – как раз 65 нм – и закупает под нее дополнительное оборудование в свою производственную линию. Очевидно, что именно туда планируется перенести производство «Эльбрус», но «гладко бывает только на бумаге»: чтобы запустить линию и наладить серийное производство, как правило, требуется не меньше двух лет, а то и заметно больше. К чести предприятия "Микрон" стоит отметить, что задача освоения нового технологического процесса - дело далеко не тривиальное (о том, как организовано производство процессоров мы расскажем в рамках отдельного репортажа).

Вторая актуальная проблема - рост тактовой частоты. Чтобы на равных конкурировать с мировыми производителями, неплохо бы поднять её хотя бы вдвое, а лучше впятеро. Казалось бы, этого можно достичь дальнейшим уменьшением норм техпроцесса, но не всё так просто. Сменив легковушке 100-сильный двигатель на 1000 л.с., не увеличить скорость со 150 до 1500 км/ч. Необходима существенная переработка топологии под новую частоту, отладка, тесты... Да и возможности производства в нашей стране на таких линиях пока призрачны. Проще линейно наращивать количество ядер, добавив кеш-памяти и слегка повышая частоту (по мере оптимизации внутренних узлов). Примерно так и сконструирован «Эльбрус-8С», разработка которого уже идёт полным ходом и должна завершиться в будущем году. Помимо повышения частоты до 1,3 ГГц, в нём вдвое (по сравнению с «Эльбрусом-4С») увеличено количество ядер, и во столько же раз - кеш-памяти, но не только: количество вычислительных устройств с плавающей запятой также возросло с 4-х до 6-ти, что дополнительно позволит выжать из него чуточку мощности, доведя итоговую производительность до впечатляющей цифры в 250 Гфлопс. Правда, уменьшение норм техпроцесса всё же планируется, что позволит сохранить или даже уменьшить при этом суммарное тепловыделение кристалла.

А что же дальше? Увидим ли мы когда-нибудь на прилавках обилие полностью, на 100%, отечественных ПК? Если и увидим, то очень не скоро. Несмотря на некоторые явные преимущества, по соотношению главных потребительских качеств «производительность/цена» наш «Эльбрус» всё ещё проигрывает конкурентам, а доплачивать за сомнительные преимущества в виде защищённого режима или эффективного шифрования массовый потребитель вряд ли захочет. Другое дело - корпоративный клиент, для которого надёжность работы и наличие полной документации является определяющим критерием. А так как всё равно в большинстве случаев систему для него придётся разрабатывать «под заказ», то здесь отечественный производитель может даже предложить более выгодную цену, чем зарубежный партнёр. Поэтому клиентов у МЦСТ пока хватает.

Что ж, пожелаем им удачи! И будем надеяться на то, что наша страна снова станет «супердержавой», как это уже было не раз.

Вчера прочитала пару статей о том, что 75% наемных работников в России находятся у черты бедности. И, знаете ли, поверила. Потому что вроде бы серьезные издания. И ссылаются на Росстат, на ведущего сотрудника соответствующего НИИ Любовь Уманец.* Ссылка на статьюИ со вчерашнего дня эта ужасающая для нашей страны статистика не выходит у меня из головыДанные... Число контрактников в армии России впервые превысило число призывников
Важнейший перелом, если верить заявлению министра обороны Сергея Шойгу, произошел в отношении российского общества к армии. Число контрактников впервые превысило число призывников, а главное – иссяк поток бегущих из вооруженных сил. Наоборот, армия не может взять в свои ряды всех желающих. К 1 декабря Минобороны выполнит требование верховного...
Новейший танк России «Армата»
Само слово «армата» происходит от латинского arma («оружие»). Так в XIV веке на Руси называли примитивные пушки. Однако надо понимать, что шифры ОКР очень часто не несут никакой смысловой нагрузки. В именах нового оружия можно встретить и название садового вредителя, досаждающего на даче ответственному за выбор шифра офицеру, и драгоценных камней, и рек, цветов, и...

Вокруг Эльбруса ходит много мифов. Вы можете встретить их в комментариях к любому посту или статье про Эльбрус. Основные категории мифов можно свести к трем вопросам:

1. Является ли Эльбрус отечественным? Отечественный значит безопасный?
2. Какова производительность? Насколько «современен» компьютер на базе Эльбрус.
3. Сколько он стоит?

Каждый вопрос имеет два противоположных ответа. От «китайское купленное» до «все наше». От «мой телефон быстрее» до «еще немножко и обгоним Интел».

Хотелось бы прояснить откуда растут уши всех этих мифов. Причина по большому счету одна: компания МЦСТ - их закрытость, молчаливость и, в худших традициях российской действительности, склонность к завышению и легкому привиранию. При подготовке этой статьи я столкнулся с тем, что вся информация на новостных и железных ресурсах крутится вокруг скупых пресс-релизов МЦСТ. Новую информацию «сверху» найти очень сложно. Надо рыть, читать между строк и копать еще глубже. Само МЦСТ на электронные письма и заказы не отвечает. Найти на сайте контакты - попробуйте!

Бравурные речи «пятилетку в три дня», как и рассказы про «догоним и перегоним» идут оттуда же. Достаточно перечитать пресс-релизы за 2013-2015 год. Сейчас у нас должно быть серийное производство новейших компьютеров на базе Эльбрус-16С. Вы его видите? И я нет!

Про хитрости с технологическими процессами производства можно прочитать в этой статье на Хабре.

Чтобы уйти от абстракции и развенчивать мифы чем-то конкретным, возьмем АРМ (Автоматизированное Рабочее Место) Эльбрус-401. Этот компьютер выпускается мелкосерийно. Даже, кажется, доступен для заказа на сайте. Формально.
Характеристики взяты с официального сайта.

Параметр Значение
Микропроцессор Эльбрус-4С (1891ВМ8Я)
Количество процессоров 1
Рабочая тактовая частота процессора, Мгц 800
Пиковая производительность, Гфлопс 50
Оперативная память, Гбайт 24 (до 96), поддержка коррекции ошибок (ЕСС)
Видеоподсистема Интегрированная видеокарта на основе СБИС Silicon Motion SM718
Поддерживает 2D ускорение, масштабирование видео
16 МБ видеопамяти, подключение к шине PCI
Выход VGA, DVI Разрешение до 1920 x 1080
3D видеокарта AMD Radeon серии 6000
Подключение к шине PCI Express
Дисковая подсистема Жесткий диск SATA 2.0 1000 ГБ, 3.5" (до 2 дисков)
Разъем для карты CompactFlash на плате
mSATA диск на плате ёмкостью 120 ГБ
Встроенный привод DVD-RW привод. Поддержка двухслойных дисков
Сетевые интерфейсы Поддержка работы при скоростях передачи данных в 10/100/1000 Мбит/с
Звук Интегрированная звуковая карта AC-97 (стерео)
Порты ввода/вывода USB 2.0: 4 разъема на задней панели, 2 разъема на передней панели. 2 внутренних порта на материнской плате
1 разъем Gigabit Ethernet (10/100/1000 Mb/s)
1 выход DVI+VGA (совмещенный). Возможно подключение двух мониторов через переходник (в комплекте)
1 порт RS-232 внешний, 1 порт RS-232 внутренний
разъёмы для подключения аудио (вход/выход, стерео)

Происхождение

Итак, насколько отечественный и безопасный получился компьютер?

Наиболее отечественным получился процессор. Его архитектура и результирующие блоки - полностью отечественная разработка. Рассчитывался и эмулировался он на FPGA Stratix V. Скорее всего, на ПО Quartus.

Сейчас одна микросхема EP2S180 стоит около 8К$. Так что стоимость только микросхем FPGA в прототипе превышает 50К$.
Для прототипирования процессора Эльбрус-4C+ потребовалась уже 21 микросхема Altera Stratix IV EP4SE820 и с суммарным объемом в 100 млн. вентилей (хотя сам МЦСТ приводит цифру в 750 млн) и стоимостью около 200К$. При этом рабочая частота прототипа 9 Мгц.

Первый нюанс: какие Гигафлопсы приведены? Теоретические, по тесту LINPACK? Информации нет.

Второй. Есть маленькая хитрость: если посмотреть на архитектуру, то мы увидим, что в ядре есть DSP процессор. В характеристиках прошлой версии процессора четко указывалось, что суммарная производительность состоит из Гигафлопсов основного ядра плюс ядро DSP. Например можно по сравнивать Описания на сайте МЦСТ Монокуб на базе процессора Эльбрус-2С+ и Сам процессор .

Но в реальных повседневных приложениях от DSP процессора мало толку. Они будут хороши при обработке сигналов и шифровании.

Здесь мы опять утыкаемся в проблему закрытости. Если у кого и есть в наличии АРМ, то тесты он не проводит, либо результаты не выкладывает.

Но вернемся к главному вопросу, производительность в реальных приложениях и повседневной работе. Единственные тесты, которые мне удалось отыскать на эту тему, есть у Cnews. Тесты и их результаты целиком можно посмотреть по ссылке .

Кому лень ходить, суть такова. Берется Intel Core i7-2600 (3,4 ГГц) и Эльбрус-4С. Меня заинтересовали следующие.

Получается, что единственные «реальные» тесты с 7z архивом показывают, что АРМ серьезно проигрывает. Не как должно быть по Гигафлопсам, всего в два раза, а в 5,5 раз на сжатии и почти в 4 раза на распаковке (я считал по MIPS, потому что памяти различны). Кстати, смешат выводы и попытки «натянуть сову на глобус». Такое ощущение, что ресурсу дали Эльбрус с условием написания положительного отзыва.

Все привыкли к тому, что на рынке микропроцессоров балом правят три крупных американских производителя: Intel, AMD и IBM. Это действительно так! Однако это не означает, что микропроцессоры больше никто не производит. Как правило, в большинстве развитых стран есть собственные «государственные» производители интегральных схем. Не стоит думать, что они пытаются каким-то образом составить конкуренцию «большой тройке» - вовсе нет. Причина локальной разработки и производства процессоров кроется несколько в другом, а именно в необходимости выпуска собственных решений для оборонной отрасли, где использование иностранной электронной базы запрещается из соображений национальной безопасности.

Само собой, ситуация характерна и для России. Главным отечественным решением являются процессоры на базе архитектуры «Эльбрус», разработкой которых занимается компания МЦСТ. В конце апреля был анонсирован скорый выход четырехъядерной модели «Эльбрус-4С», о которой и пойдет речь в сегодняшнем материале.

Однако для начала мы вернемся в прошлое и взглянем, как зарождалась архитектура «Эльбрус».

Процессор «Эльбрус» производства МЦСТ

История

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

Всеволод Бурцев - человек, стоящий у истоков архитектуры «Эльбрус»

Выпуск первого поколения компьютеров с архитектурой «Эльбрус» состоялся в 1980 году. Их особенностью являлась масштабируемая архитектура: они поддерживали параллельную работу до 10 процессоров одновременно. Объем оперативной памяти составлял 64 Мбайт (или 2 20 машинных слов), а быстродействие такого компьютера достигало отметки в 12 миллионов операций в секунду.

Компьютер «Эльбрус»

Однако главной инновацией «Эльбруса» была его суперскалярная архитектура - в компьютерах она применялась впервые. Как выяснилось позднее, на то время компания IBM уже имела некоторые разработки в этой области, однако довести суперскалярную архитектуру до массовых решений по разным причинам они так и не смогли. Поэтому американские производители начали использовать суперскалярную архитектуру лишь в 1990-х годах. Первыми массовыми устройствами с такой архитектурой стали процессоры Intel Pentium.

Процессор Pentium стал первой разработкой Intel, использующей суперскалярную архитектуру

Спустя пять лет после выхода первого поколения процессоров завершилась разработка компьютера «Эльбрус-2». Архитектурно он несильно отличались от «Эльбрус-1», однако в них применялась другая элементная база, что позволило поднять производительность новых процессоров более чем в 10 раз - до 125 млн операций в секунду. Также был увеличен объем оперативной памяти компьютера: с 64 Мбайт до 144 Мбайт, а пропускная способность каналов ввода/вывода составила 120 Мбайт/с.

«Эльбрус-2», как и его предшественник, был предназначен для использования в оборонной отрасли. В итоге компьютер эксплуатировался в Центре управления космическими полетами, а также в ядерных исследовательских центрах в Арзамасе-16 и Челябинске-70. Помимо этого, существовала и другая версия «Эльбрус-2», оптимизированная под более простые задачи. Она носила название «Эльбрус 1-КБ» и пришла на смену устаревающей системе БЭСМ-6, которая к тому времени использовалась уже на протяжении двух десятков лет. Разработчики сохранили программную совместимость между «Эльбрус 1-КБ» и БЭСМ-6, поэтому переход на новые компьютеры оказался вполне безболезненным.

Компьютер «Эльбрус-2»

После успешного выпуска «Эльбрус-2» полным ходом шла разработка нового компьютера, который ожидаемо получил название «Эльбрус-3». В третьем поколение устройств планировалось огромное количество архитектурных изменений. Разработчики из ИТМиВТ именовали новую архитектуру «постсуперскалярной». Данный принцип лежал в основе архитектуры будущих процессоров Intel Itanium. Поэтому, как бы это странно ни звучало, но отечественные инженеры вновь в плане внедрения инноваций опережали своих западных коллег.

Однако дальше проектирования дело не дошло. В 1994 году был создан тестовый образец процессора «Эльбрус-3», но серийное производство так и не было налажено по достаточно глупой причине: устройство оказалось совсем не востребованным. Спустя 6 лет уже инженеры компании МЦСТ пытались воплотить в жизнь идеи «Эльбрус-3» в новом процессоре «Эльбрус-2000» (также известного как Е2К), который теоретически мог стать конкурентом анонсированному процессору Intel Itanium. Однако массовое производство «Эльбруса-2000» требовали значительных финансовых вливаний, а найти инвестора разработчикам так и не удалось.

Создание МЦСТ и ее разработки

Стоит сделать небольшое отступление и сказать пару слов о МЦСТ, которая со времен «Эльбрус-3» и занимается разработкой подобных решений. Компания была основана 2 марта 1992 года как Товарищество с ограниченной ответственностью (ТОО) «Московский центр SPARC-технологий» (МЦSТ). Наличие аббревиатуры SPARC в названии связано с тем, что на тот момент компания МЦСТ рассматривала в качестве основного партнера американскую корпорацию Sun Microsystems, которая продвигала свои вычислительные машины с архитектурой SPARC. И наличие этой аббревиатуры в названии предоставляло ей существенные льготы при сотрудничестве. Например, МЦСТ получила доступ к передовым технологиям проектирования микропроцессорной техники, операционным системам, системам программирования и другим технологиям. На период развития компании это было очень существенной поддержкой. И если поначалу компания работала в тесном сотрудничестве с такими гигантами, как Sun Microsystems, Avanti, Compass, Synopsys, то вскоре инженеры МЦСТ, набравшись опыта, полностью переключились на разработку устройств по государственным заказам.

Система со SPARC-процессором МЦСТ R500

Вплоть до 2007 года МЦСТ выпускала лишь микропроцессоры с архитектурой SPARC и вычислительные системы на их базе. Собственная архитектура «Эльбрус» отошла на второй план. В период с 1997 по 2007 годы были выпущены четыре SPARC-микропроцессора: МЦСТ-R100, МЦСТ-R150, МЦСТ-R500 и МЦСТ-R500S. Также увидел свет и вычислительный комплекс «Эльбрус-90микро». Несмотря на свое название, к данной архитектуре система не имела никакого отношения.

Лишь в 2005 году возобновилась работа над архитектурой «Эльбрус», основанной на микроархитектуре VLIW (Very Long Instruction Word). А уже в 2007 году был представлен одноименный процессор. Его основные характеристики мы собрали в таблицу, которую вы можете увидеть снизу.

Технологический процесс 0,13 мкм
Рабочая тактовая частота 300 МГц
Пиковая производительность 64 разряда, GIPS/GFLOPS - 6,67/2,4 32 разряда, GIPS/GFLOPS - 9,5/4,8 16-8 GIPS - 12,2–22,6
64 Кбайт
64 Кбайт
Кэш-память 2-го уровня 256 Кбайт
9,6 Гбайт/с
4,8 Гбайт/с
Размеры кристалла 15,0х12,6
Количество транзисторов 75,8 млн
Рассеиваемая мощность 6 Вт

Конечно, для 2007 года характеристики чипа были более чем скромные - он ни в коем случае не составлял конкуренции современным процессорам, например, поколению Intel Conroe, представленному в 2006 году. «Эльбрус» уступал им по всем параметрам. Процессор выпускался по устаревшим 130-нм технологическим нормам, тогда как Intel и AMD уже освоили 65-нм техпроцесс. Как ни странно, но производство процессора было доверено тайваньской компании TSMC. Странно потому, что «камень» предназначался для использования в «оборонке», а производство на сторонних мощностях, таким образом, напрямую влияло на безопасность системы из-за возможных «закладок».

Процессор «Эльбрус»

Что касается скорости работы «Эльбруса», то его пиковая производительность в 64-разрядном режиме составляла 2,4 ГФЛОПС. Для сравнения: пиковая производительность бюджетного двухъядерного процессора Intel Core 2 Duo E4300 с актуальной на то время архитектурой Conroe и тактовой частотой 1,8 ГГц составляла 14,4 ГФЛОПС, то есть в 6 раз больше! Поэтому вы можете представить, насколько медленным был «Эльбрус» для 2007 года. Тем не менее, для оборонной отрасли производительности процессора было вполне достаточно, поэтому на его основе была создана вычислительная система «Эльбрус-3М1».

Вычислительный комплекс «Эльбрус-3М1»

Комплекс «Эльбрус-3М1» поставлялся с защищенной операционной системой МСВС-Э (Мобильная система Вооруженных Сил), в основе которой лежит Linux версии 2.6.14. Кроме этого компьютер оснащался пакетом тестовых и диагностических программ, а также был обратно совместим со старыми вычислительными комплексами «Эльбрус-1» и «Эльбрус-2». По уровню производительности «Эльбрус-3М1» был сопоставим с системой на базе Pentium III с тактовой частотой 500 МГц. Было проведено сравнительное тестирование в режиме совместимости с платформой x86, и «Эльбрус-3М1» превзошел в скорости процессор Intel. Помимо этого, проводилось тестирование и в «родной» платформе для системы МЦСТ. В таком режиме производительность «Эльбрус-3М1» находилась на уровне с конфигурацией на базе процессора Intel Pentium 4 с частотой 2000 МГц. Для оборонной отрасли такого уровня производительности было более чем достаточно.

Следующим этапом развития архитектуры стала система на кристалле «Эльбрус-S», выпущенная в 2010 году. Для удобства сравнения мы свели все основные характеристики процессора в следующую таблицу.

Технологический процесс 0,09 мкм
Рабочая тактовая частота 500 МГц
Пиковая производительность 64 разряда, GFLOPS - 4 32 разряда, GFLOPS - 8
Кэш-память команд 1-го уровня 64 Кбайт
Кэш-память данных 1-го уровня 64 Кбайт
Кэш-память 2-го уровня 2 Мбайт
Пропускная способность шин связи с кэш памятью 16 Гбайт/с
Пропускная способность шин связи с оперативной памятью 8 Гбайт/с
Площадь кристалла 142 мм2
Количество транзисторов 218 млн
Рассеиваемая мощность 13 Вт - типовая, 20 Вт - максимальная

Характеристики нового процессора были улучшены в сравнении с «Эльбрусом». Прежде всего стоит отметить, что производство «Эльбрус-S» было переведено на 90-нм технологические «рельсы». Пускай в 2010 году Intel и AMD уже производили процессоры по тонкому 32-нм техпроцессу, но для отечественного устройства этот переход стал значительным шагом вперед. Тактовая частота «Эльбрус-S» составляла 500 МГц, что на 200 МГц выше, чем у «Эльбруса». Выросла и пиковая производительность: до 4 и 8 ГФЛОПС в 64-разрядном и 32-разрядном режимах соответственно. Увеличился и объем кэш-памяти второго уровня - до 2 Мбайт. Да и сам чип стал сложнее: количество транзисторов в сравнении с предшественником выросло почти в три раза.

Процессор «Эльбрус-S»

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

Технологический процесс, нм 130
Тактовая частота, МГц 250
Последовательная шина связи с процессором, пропускная способность, Гбайт/с 2
Контроллер PCI-Express версии 1.0a 8 линий
Контроллер PCI версии 2.3 32/64 бита, частота 33/66 МГц
Контроллер Ethernet 1 Гбит/с 1 порт
Контроллер SATA 2.0 4 порта
Контроллер IDE PATA-100, 2 порта по 2 устройства
Контроллер USB 2.0 2 порта
Контроллер звукового интерфейса AC-97 2-канальное стерео
Контроллер последовательного интерфейса RS-232/485 2 порта
Контроллер параллельного интерфейса IEEE-1284 с поддержкой DMA 1 порт
Контроллер программируемых универсальных входов-выходов GPIO 16 сигналов
Интерфейс I2C 4 канала
Число транзисторов, млн 30
Потребляемая мощность, Вт 6

Спустя год было налажено производство следующего поколения процессоров под названием «Эльбрус-2С+». В своих пресс-релизах компания МЦСТ указывала шестиядерную архитектуру. Однако это совсем не так! «Эльбрус-2С+», по сути, является двухъядерной моделью. Он обладает двумя модулями архитектуры «Эльбрус», но также имеет и четыре ядра цифровых сигнальных процессоров (DSP) фирмы «Элвис». Помимо этого, кристалл претерпел множество изменений. Так, объем кэш-памяти второго уровня каждого из ядер составляет 1 Мбайт. Была добавлена поддержка памяти DDR2 с эффективной частотой 800 МГц, а также дополнительный канал ввода/вывода, посредством которого можно подключить еще один КПИ.

Двухъядерный процессор «Эльбрус-2С+»

Для процессора была реализована версия компилятора языка C, которая позволяет генерировать код для ядер DSP и обеспечивать эффективное взаимодействие основной программы, исполняющейся на ядрах CPU, а также процедур, исполняющихся на DSP. Забегая чуть вперед, скажем, что программировать под ядра DSP было сравнительно трудно, поэтому в следующем поколении процессоров инженеры МЦСТ от них отказались вовсе. В результате внесенных изменений производительность процессоров значительно возросла и уже составляла 28 ГФЛОПС в 32-разрядном режиме. Если сравнивать быстродействие «Эльбрус-2С+» с процессорами Intel, то отечественная разработка окажется чуть выше по скорости, чем решения Intel Core 2 Duo.

Технологический процесс 0,09 мкм
Рабочая тактовая частота 500 МГц
Число ядер архитектуры Эльбрус Число ядер DSP (Elcore-09) 2 4
Пиковая производительность (ядра CPU + ядра DSP) 64 разряда, GFLOPS –­ 8+0 32 разряда, GFLOPS – 16+12
Кэш-память команд 1-го уровня 64 Кбайт
Кэш-память данных 1-го уровня 64 Кбайт
Кэш-память 2-го уровня 1 Мбайт
Встроенная память DSP (на ядро DSP) 128 Кбайт
Пропускная способность шин связи с кэш памятью 16 Гбайт/с
Пропускная способность шин связи с оперативной памятью 12,8 Гбайт/с
Площадь кристалла 289 мм2
Количество транзисторов 368 млн
Рассеиваемая мощность 25 Вт

Производительность процессора можно примерно оценить по следующим диаграммам.

Результаты тестирования в пакете SPEC2000 FP

Результаты тестирования в пакете SPEC2000 Int

Помимо «Эльбрус-2С+», в тестировании участвовали процессоры Intel Pentium-M ULV (1 ГГц, кэш-память 1 Мбайт, 2х DDR-266) и Intel Atom D510 (1,66 ГГц, кэш-память 1 Мбайт, DDR2-800), а также еще один процессор компании МЦСТ - R1000. В качестве тестового программного обеспечения был выбран пакет SPEC2000. Как видно из диаграмм, в режиме FP производительность «Эльбрус-2С+» находится на заметно более высоком уровне, нежели у конкурентов. В режиме Int ситуация выравнивается, и зачастую производительность всех процессоров находится на одном уровне, хотя местами отечественные решения откровенно «проседают».

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

И вот в апреле 2014 года компания МЦСТ представила свою следующую разработку - четырехъядерные процессоры «Эльбрус-4С».

Архитектура процессоров «Эльбрус-4С»

Прежде чем мы начнем подробное изучение архитектуры новых процессоров «Эльбрус-4С», необходимо уделить немного внимания современной архитектуре в целом. Как вам известно, все интегральные решения можно разделить на две большие группы: CISC (Complex Instruction Set Computer) и RISC (Reduced Instruction Set Computer). Уже из названий становится понятно, что CISC-процессоры работают со сложными инструкциями, а RISC - с упрощенными. Сложность инструкций для первой категории заключается в том, что их длина не ограничена. Вдобавок к этому они могут содержать сразу несколько арифметических действий. До начала 1980-х абсолютно все процессоры имели CISC-архитектуру, однако тогдашние исследования компании IBM показали, что сложные инструкции далеко не всегда обрабатываются быстрее, чем последовательность элементарных операций, соответствующая такой сложной инструкции. Так появилась архитектура RISC, предусматривающая использование упрощенных команд.

Примером CISC-архитектуры могут считаться все x86-совместимые процессоры, однако это не совсем так. Работа таких решений базируется на ядре типа RISC. Каждый x86-процессор имеет специальный блок декодирования инструкций, который преобразует CISC-команды в RISC-инструкции.

При этом процессоры x86 являются суперскалярными. Это означает, что за один такт процессор может обрабатывать сразу несколько инструкций. В далеком прошлом процессоры не обладали суперскалярностью и исполняли за такт лишь одну операцию. Тогда это не создавало проблем. Но со временем от CPU требовалась всё более высокая производительность, да и технологические возможности позволяли создавать более сложные системы. Поэтому суперскалярность стала неотъемлемой частью процессорных архитектур. Главной проблемой суперскалярности считается то, что нельзя так просто исполнять несколько операций параллельно, поскольку между ними могут существовать зависимости. Для наглядности тут можно провести параллель с программированием: нельзя запустить на исполнение сразу две функции, если одна из них использует результирующее значение другой. Поэтому в суперскалярных процессорах есть специальная аппаратура, которая анализирует зависимости между операциями и принимает решение об очередности их исполнения.

Принцип работы архитектуры «Эльбрус»

Что касается процессоров «Эльбрус», то они базируются на архитектуре VLIW. По большому счету VLIW является развитием RISC-архитектуры и суперскалярности. Особенностью VLIW является то, что в каждой команде может содержаться до 23 элементарных операций, которые должны исполняться параллельно. При этом задача распараллеливания возлагается на компилятор, в отличие от традиционных суперскалярных архитектур, где за распараллеливание отвечают аппаратные блоки процессора. Эффективность такого метода действительно выше. Компилятор способен анализировать исходный код гораздо тщательнее, чем аппаратура RISC/CISC-процессора, и находить больше независимых операций. Поэтому в архитектуре «Эльбрус» больше параллельно работающих исполнительных устройств, чем в традиционных решениях. На многих алгоритмах она демонстрирует более высокую скорость. Кроме этого, не будем забывать, что в случае использования компилятора для распараллеливания операций отпадает надобность в специальных аппаратных блоках процессора, а это делает устройство кристалла более простым и надежным.

Принцип работы процессора «Эльбрус»

Среди других особенностей архитектуры «Эльбрус» инженеры МЦСТ выделяют следующие:

  • 6 каналов арифметико-логических устройств (АЛУ), работающих параллельно;
  • регистровый файл из 256 84-разрядных регистров;
  • аппаратная поддержка циклов, в том числе с конвейеризацией. Повышает эффективность использования ресурсов процессора;
  • программируемое асинхронное устройство предварительной подкачки данных с отдельными каналами считывания. Позволяет скрыть задержки от доступа к памяти и полнее использовать АЛУ;
  • поддержка спекулятивных вычислений и однобитовых предикатов. Позволяет уменьшить число переходов и параллельно исполнять несколько ветвей программы;
  • широкая команда, способная при максимальном заполнении задать в одном такте до 23 операций (более 33 операций при упаковке операндов в векторные команды).

Конечно, не забыли разработчики и о режиме x86-совместимости. Для этого в архитектуре была реализована система динамической трансляции двоичных кодов x86 в коды процессора «Эльбрус». Если говорить простым языком, то система трансляции создает виртуальную машину, в которой работает гостевая операционная система для этой разрядности. По словам разработчиков, на платформе «Эльбрус» в режиме эмуляции платформы x86 удалось запустить более 20 операционных систем (в том числе несколько версий Windows) и сотни приложений.

Разработчики МЦСТ в целях повышения безопасности пошли иным путем. Процессоры «Эльбрус-4С» поддерживают так называемое защищенное исполнение программ. Его суть заключается в том, чтобы гарантировать работу приложения только с инициализированными данными, проверять все обращения в память на принадлежность к допустимому диапазону адресов, обеспечивать межмодульную защиту (например, защищать вызывающее ПО от ошибки в библиотеке). Эти проверки осуществляются аппаратно.

Тут же стоит отметить и другую интересную функцию безопасности новых процессоров. В кристаллах «Эльбрус-4С» стек связующей информации (цепочка адресов возврата при процедурных вызовах) отделен от стека пользовательских данных и недоступен для таких вирусных атак, как подмена адреса возврата. При этом разработчики подчеркивают, что на сегодняшний день вирусов для платформы «Эльбрус» попросту не существует.

Технические характеристики «Эльбрус-4С»

В сравнении со своим предшественником процессор «Эльбрус-4С» сделал значительный шаг вперед. Помимо увеличения количества ядер до четырех, он получил множество других улучшений.

Технологический процесс 65 нм
Рабочая тактовая частота 800 МГц
Число ядер архитектуры Эльбрус 4
Пиковая производительность 64 разряда, GFLOPS –­ 25 32 разряда, GFLOPS – 50
Кэш-память команд 1-го уровня 128 Кбайт
Кэш-память данных 1-го уровня 64 Кбайт
Кэш-память 2-го уровня 8 Мбайт
Организация оперативной памяти До 3 каналов DDR3-1600 ECC
Пропускная способность каналов оперативной памяти 38,4 Гбайт/с
Каналы межпроцессорного обмена 3, дуплексные
Пропускная способность каждого канала межпроцессорного обмена 12 Гбайт/с
Площадь кристалла 380 мм2
Количество транзисторов 986 млн
Рассеиваемая мощность До 60 Вт

Прежде всего нужно отметить, что производство процессора было переведено на 65-нм техпроцесс. Тактовая частота CPU возросла до 800 МГц. Удвоился объем кэш-памяти команд первого уровня, теперь он составляет 128 Кбайт. А объем кэш-памяти второго уровня составляет 8 Мбайт (против 1 Мбайт у «Эльбрус-2С+»). Также значительно выросла пропускная способность каналов оперативной памяти. Эти изменения позволили добиться внушительной прибавки производительности новых процессоров. Так, в 64-разрядном режиме пиковая производительность составляет 25 ГФЛОПС, что более чем в три раза выше, чем показатель «Эльбрус-2С+». В 32-разрядном режиме производительность достигла отметки 50 ГФЛОПС. Вместе с тем возросла и сложность кристалла. «Эльбрус-4С» содержит 986 млн транзисторов, а его полезная площадь составляет 380 мм 2 .

Ближайшее будущее процессоров «Эльбрус»

Компания МЦСТ ни в коем случае не планирует снижать темпы разработки и выпуска новых решений. На 2015 год уже запланирован анонс восьмиядерного 28-нм процессора «Эльбрус-8С». Кристалл оснастят 4 Мбайт кэш-памяти второго уровня и 16 Мбайт кэш-памяти третьего уровня, а его тактовая частота составит 1300 МГц. При этом пиковая производительность достигнет отметки 250 ГФЛОПС. Планируется, что «Эльбрус-8С» будет работать в связке с контроллером периферийных устройств второго поколения (КПИ-2), который будет отличаться увеличенной до 16 Гбайт/с пропускной способностью.

Однако 8-ядерный чип является не единственным находящимся в разработке процессором МЦСТ. Компания также «допиливает» экономичный «одноголовый» чип «Эльбрус-1С+», предназначенный для использования в ноутбуках, терминалах и промышленной автоматике. Его отличительной особенностью является наличие встроенного видеоядра с поддержкой аппаратного ускорения 3D-видео. Процессор будет выпускаться в соответствии с 40-нм технологическими нормами. Производительность ядра составит около 24 ГФЛОПС, а встроенного видео - около 28 ГФЛОПС. «Эльбрус-1С+» также будет совместим с новым «южным мостом» КПИ-2, а его энергопотребление составит не более 10 Вт. Выпуск этого процессора также запланирован на 2015 год.

Заключение

Подробное изучение архитектуры процессора «Эльбрус-4С» оставило после себя двоякое впечатление. С одной стороны, не будем лукавить, по многим параметрам она является устаревшей и значительно отстает от продукции AMD и Intel. С другой стороны, отечественная электроника уже давно находится в периоде застоя, поэтому было бы глупо ожидать, что в такой ситуации процессоры МЦСТ смогут составить хоть какую-то конкуренцию западным разработкам. И здесь главное понимать, что предпринимаются реальные попытки возродить отечественную индустрию электроники. В такой ситуации выпуск «Эльбрус-4С» - очень большой шаг вперед. Тем более, что в архитектуре реализовано несколько очень интересных технологий, а со своими задачами в оборонной отрасли он справляется более чем уверенно.

У компании МЦСТ большие планы на будущее. Это и выпуск процессоров «Эльбрус-8С», и «Эльбрус-1С+». Так что следующий год во многом покажет, насколько конкурентоспособной окажется российская отрасль микроэлектроники.

Эльбрус Бабаяна и Pentium Пентковского

Перспективный микропроцессор E2k (Эльбрус-2000), разрабатываемый российской компанией Эльбрус, получил широкую известность лишь недавно, после статьи Кита Дифендорффа "Русские Идут" в февральском выпуске ведущего западного издания в области микропроцессорных архитектур "Microprocessor Report".

Основные тезисы статьи:

  • новый процессор должен показывать в 3-5 раз более высокую производительность, потреблять меньше электроэнергии и быть дешевле в производстве, чем Intel Merced;
  • команда Эльбрус имеет достаточно хорошую репутацию и опыт, чтобы действительно выпустить такой процессор;
  • компьютеры Эльбрус, реализующие основные современные архитектурные принципы, начали выпускаться задолго до того, как идеи на эту тему начали только обсуждаться на Западе;
  • процессор Эльбрус-3 был изготовлен в 1991 году по очень старой, даже по тем временам, кристальной технологии, но по производительности в два раза превосходил Cray.;
  • технологические новшества E2K столь же впечатляющи, как и архитектурные: E2K реализует лучшую схемотехнику, чем та, которая используется в рекордсмене последнего времени, процессоре Alpha 21264;
  • КМОП технология E2K с низким энергопотреблением позволит в ближайшие 2-3 года иметь "суперкомпьютер в карманном электронном блокноте ";
  • в области компиляторов команда Эльбрус не менее квалифицирована, чем в разработке архитектуры или электронном проектировании: распараллеливающий компилятор E2K в настоящее время достигает показателя 10-ти операций за такт, что почти в три раза выше, чем лучший в отрасли компилятор Alpha;
  • в режиме интерпретации E2K исполняет код микропроцессоров Intel и Sun всего на 10-30% медленнее, чем свой собственный (для сравнения, пакет FX!32, исполняющий код процессоров Intel на компьютерах Alpha, замедляет исполнение в 3 раза); при этом E2K позволяет достичь 100% двоичной совместимости для любых кодов процессоров Intel для любой операционной системы, что выгодно отличает E2K от того же FX!32;
  • важным свойством E2k является "непробиваемая" защита исполняемых кодов и данных от вирусов; развитие подобного направления оборвалось на Западе вместе с провалом микропроцессора Intel 432.

О том, что в России разрабатывается процессор, по своим возможностям потенциально превосходящий Merced, поведали средства массовой информации всего мира. В Internet не стихают обсуждения этой темы. Об Эльбрус E2k очень высоко отзываются многие признанные Западные специалисты по микропроцессорам. По их мнению, в российский микропроцессор заложены уникальные идеи с большим будущим.

В начале этого года Эльбрус завершил логическое проектирование процессора и все системное программное обеспечение. На точной модели E2k были получены оценки производительности. Теперь предстоит завершающий этап — перенос архитектуры на кристалл.

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

Эльбрус

С именем Эльбрус связана история всей мировой вычислительной отрасли. Компания Эльбрус была образована на базе ИТМиВТ имени С.А. Лебедева (Института Точной Механики и Вычислительной Техники, коллектив которого на протяжении более 40 лет разрабатывал суперкомпьютеры для оборонных систем Советского Союза). В процессоре E2k воплощены и развиваются идеи российского суперкомпьютера Эльбрус-3, построенного в 1991г. Сегодня архитектуру Эльбрус-3 принято относить к EPIC (Explicitly Parallel Instruction Computing — вычисления с явным параллелизмом команд).

По словам Бориса Арташесовича Бабаяна, главного архитектора суперкомпьютеров линии Эльбрус, суперскалярная архитектура была изобретена в России: "В 1978-ом году мы сделали первую суперскалярную машину, Эльбрус-1. Сейчас на Западе делают суперскаляры только такой архитектуры. Первый суперскаляр на Западе появился в 92-ом году, наш в 78-ом. Причем тот вариант суперскаляра, который сделали мы, аналогичен Pentium Pro, который Intel сделал в 95-ом году ".

Подтверждают историческое первенство Эльбрус и в Америке. В той же статье из Microprocessor Report Кит Дифендорфф, разработчик Motorola 88110, одного из первых западных суперскалярных процессоров, пишет: "В 1978 году, почти на 15 лет раньше, чем появились первые западные суперскалярные процессоры, в Эльбрус-1 использовался процессор, с выдачей двух команд за один такт, изменением порядка исполнения команд, переименованием регистров и исполнением по предположению ".

В 1991г в Эльбрус (тогда еще ИТМиВТ) побывал г-н Розенбладт (Peter Rosenbladt) из фирмы Hewlett-Packard, и получил исчерпывающую документацию на Эльбрус-3. Позже выяснилось, что именно тогда HP начала проект, приведший к совместной с Intel разработке EPIC-процессора Merced. Его архитектура очень схожа с Эльбрус-3, а отличия в основном связаны с упрощениями сделанными в микропроцессоре от Intel.

По словам Б.А. Бабаяна, Петер Розенбладт предлагал сотрудничество с HP. Но Бабаян выбрал Sun (первая встреча с руководством Sun состоялась еще в 1989г). И в 1991г с Sun был заключен контракт. От официальных представителей Sun известно, что Эльбрус принимал участие в разработке микропроцессора UltraSPARC, оптимизирующих компиляторов, операционных систем (в том числе Solaris), инструментария Java, библиотек мультимедиа.

Первоначально проект E2k финансировался фирмой Sun. Сейчас проект полностью независим, вся интеллектуальная собственность на него принадлежит Эльбрус и защищена примерно 70-ю патентами США. Б.А. Бабаян поясняет "Если бы мы и дальше работали с Sun в этой области, то все принадлежало бы Sun. Хотя 90% работы было выполнено еще до появления Sun ".

В Sun с 1992 по 1995 Эльбрус работал вместе с известным микропроцессорным архитектором Дэйвом Дитцелом. Как рассказывает Б.А. Бабаян, "Потом Дэйв образовал собственную фирму — Transmeta и начал работать над машиной, очень похожей на нашу. Мы по-прежнему поддерживаем с Дитцелом тесные контакты. Да и он очень хочет с нами сотрудничать ". Про будущий продукт Transmeta пока известно мало. Известно, что это VLIW/EPIC микропроцессор с низким энергопотреблением, двоичная совместимость с x86 обеспечивается динамической трансляцией объектного кода.

А совсем недавно я выяснил, что разработки Эльбрус имеют непосредственное отношение и к самым распространенным сейчас универсальным микропроцессорам — семейству x86 фирмы Intel.

Пентиум

Отечественные суперкомпьютерные ноу-хау реализованы в микропроцессорах Pentium. Бывший сотрудник ИТМиВТ Владимир Пентковский в настоящее время является ведущим разработчиком микропроцессоров фирмы Intel. Вместе с Пентковским в Intel попали огромный опыт и совершенные технологии, разработанные в ИТМиВТ. По словам Кита Дифендорффа, компьютеры Эльбрус, в которых реализованы основные принципы современных архитектур, такие как SMP, суперскалярная и EPIC архитектуры, начали выпускаться задолго до того, как идеи на эту тему начали только обсуждаться на Западе.

Все системное программное обеспечение Эльбрус-1 и Эльбрус-2 было создано с использованием языка программирования высокого уровня Эль-76, а не традиционного ассемблера. Эль-76 напоминает язык Algol-68, принципиальное отличие, пожалуй, состоит в динамическом связывании типов в Эль-76, которое поддержано на аппаратном уровне. Эль-76 является одновременно языком прикладного программирования, управления заданиями, системного программирования. Ассемблер в Эльбрус не использовался — только высокоуровневое программирование. Эль-76 перед исполнением переводился в байткод на манер Java. Этот байткод "на ходу" аппаратно транслировался в простые машинные команды.

В ИТМиВТ Владимир Пентковский принимал участие в разработке суперкомпьютеров Эльбрус-1 (1978) и Эльбрус-2 (1984). В 1986 году он возглавил проект 32-разрядного микропроцессора Эль-90. К 1987 году логический дизайн будущего микропроцессора был завершен, а в 1990г произведены первые прототипы. В Эль-90 сочетались концепция RISC и архитектура Эльбрус-2.

Основные характеристики Эль-90:

  • выдача до трех команд за такт
  • 32-разрядная архитектура
  • упрощенный набор команд (по сравнению с Эльбрус-2), большинство команд исполняются за один такт
  • аппаратная поддержка языков программирования высокого уровня
  • исполнение по предположению
  • изменение порядка исполнения команд
  • предсказание ветвлений
  • переименование регистров
  • раздельные кэши команд и данных по 32KB
  • конвейеризованное устройство вещественной арифметики
  • поддержка мультипроцессорности (до 10 процессоров)
  • режим "сверхнадежных вычислений" (несколько процессоров независимо производят вычисления и сравнивают результаты, а если результаты расходятся, считают заново). Этот режим требовался, потому что используемая в Эльбрус элементная база была недостаточно надежной для некоторых военных приложений.

В 1990г Пентковский начал работу над Эль-91С, последователем Эль-90. Но после изменения в России политической и экономической системы, финансирование разработки прекратилось. На период с 1991 по 1999 год Пентковский теряется из нашего поля зрения. Вновь его имя появляется в Intel Technology Journal. Согласно приложению "биографии разработчиков" к статье, посвященной архитектуре микропроцессора Pentium III (http://developer.intel.com/technology/itj/q21999/articles/art_2who.htm#pentkovski), Владимир Пентковский является главным архитектором Pentium III.

Хочется также напомнить, что в 1993 году Intel представила свой принципиально новый 32-разрядный процессор Pentium. Вот некоторые из его характеристик:

  • декодер команд Pentium заменяет команды x86 простыми RISC-подобными, которые процессор способен эффективно обрабатывать
  • суперскалярная архитектура с выдачей до двух команд за такт
  • предсказание ветвлений
  • раздельные кэши команд и данных
  • конвейеризованный блок операций с вещественными числами
  • поддержка многоуровневой иерархии памяти, кэш первого и второго уровня
  • поддержка мультипроцессорности (2 процессора)
  • поддержка отладки, мониторинг производительности
  • режим "сверхнадежных вычислений" — два процессора Pentium независимо производят вычисления и сравнивают результаты — если результаты расходятся, считают по-новому.

Не правда ли, между Pentium и Эль-90 очень много общего?

Может статься, что процессор Pentium назван по фамилии своего разработчика Владимира Пентковского. Действительно, в 1995 году фирма Intel выпустила более совершенный процессор Pentium Pro, который уже вплотную приблизился по своим возможностям к Российскому микропроцессору 1990 года. В Pentium Pro был улучшен декодер команд x86, совершенствовано суперскалярное ядро, добавлено исполнение по предположению, изменение порядка исполнения команд, переименование регистров, улучшен блок операций с вещественными числами.

Сегодня предыдущий начальник Пентковского, Борис Бабаян, намерен противопоставить Intel новейшу разработку компании Эльбрус, процессор E2k.

E2k

Микропроцессор Эльбрус E2k с архитектурой EPIC разрабатывает отечественная компания Эльбрус Интернэшнл (www.elbrus.ru). Руководит проектом член-корреспондент РАН Б.А. Бабаян. Серийное производство начнется в 2001 году, при условии достаточного финансирования. Можно предположить, что в начале 2000г будет реализован прототип E2k. Причем возможно, что он будет произведен на мини-заводе в Москве. Сейчас процессор существует в виде описания на специализированном языке Verilog, такое описание является финальным этапом логического проектирования, на следующем этапе Verilog-описание переносят на кристалл. Уже готов весь набор системного программного обеспечения E2k. Он включает в себя распараллеливающий компилятор и двоичный транслятор кода x86. Примерно два года назад Эльбрус демонстрировал исполнение MS Windows 95 и игры MS FlightSimulator на рабочей станции Sun с процессором UltraSPARC. По всем показателям Эльбрус E2k должен превзойти американские разработки. Е2k будет иметь более высокую производительность при меньшем энергопотреблении и меньших размерах кристалла. При этом программной двоичной трансляцией обеспечивается полная совместимость с кодом x86 почти без потерь производительности по сравнению с собственным кодом E2k. Кстати, языки программирования C и C++ со статическими типами на E2k могут обрести новые интересные свойства — аппаратно поддержанные динамику типов и контекстную защиту.

Российской разработкой заинтересовалась корпорация Microsoft, для операционных систем которой, вероятно, очень бы пригодилась производительность E2k. Легенда компьютерного мира Гордон Бэлл (Gordon Bell), который, работая в DEC, создавал компьютеры линий PDP и VAX, а сейчас возглавляет исследовательское подразделение Microsoft (Telepresence Research Group), популяризирует проект Эльбрус E2k на международных конференциях.

Его лекция с названием "Следующее десятилетие супервычислений" (The Next Ten Years in Supercomputing) 26 мая 1999 г открывала Международный Симпозиум по Высокопроизводительным Вычислениям (International Symposium on High Performance Computing) в Японии, а 10 июня — четырнадцатую Манхеймовскую Конференцию по Суперкомпьютерам (Mannheim Supercomputer Conference) в Германии. Оба раза доктор Бэлл часть лекции посвятил рассказу о E2k. В слайде под названием "Russian Elbrus E2K" он приводит таблицу, где оценивает E2k и Merced. Причем сравнение свидетельствует явно не в пользу детища Intel.

Ниже приведена таблица из доклада Гордона Бэлла.

Микропроцессор E2K Merced
Тактовая частота, ГГц 1.2 0.8
Производительность, SPECint95 / SPECfp95 135 / 350 45 / 70
Размер кристалла, мм 2 126 300
Энергопотребление, Ватт 35 60
Пропускная способность шины, Гбайт/сек 15 н/д
Кэши (Кбайт) 64 / 256 н/д
Пиковая производительность, GFLOPS 10.2 н/д
Планируемое время начала поставок 4-ый квартал 2001г н/д

Гордон Бэлл (www.research.microsoft.com/users/gbell/bio.htm) является не только высокопоставленным сотрудником Microsoft, но и влиятельным в компьютерном мире консультантом и предпринимателем. Он создал несколько частных фирм, занимающихся разработкой перспективных технологий.

Заключение

Проект Эльбрус E2k уже имеет научный и технический вес — ведь разработано много новых интересных архитектурных решений, созданы совершенные компиляторы нового поколения. А еще E2k означает, что в России сохранились специалисты высшего класса. Профессор Б.А. Бабаян и другие сотрудники Эльбрус преподают в российских вузах, следовательно, специалистов еще прибавится.

Поэтому мне кажется, что проект уже удался, вне зависимости от реализации в железе. Хотя, наверно, Эльбрус со мной не согласится по части реализации — и реализует.



Рекомендуем почитать

Наверх