ОКО ПЛАНЕТЫ > Новости науки и техники > Обзор российского 4-ядерного процессора Эльбрус-4С

Обзор российского 4-ядерного процессора Эльбрус-4С


10-06-2015, 09:58. Разместил: Редакция ОКО ПЛАНЕТЫ

Обзор российского 4-ядерного процессора Эльбрус-4С. Часть 1: история создания

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

Автор: Владимир Иванов

 

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

Наверняка многие слышали о том, что во времена Сталина кибернетика была объявлена лженаукой. Гораздо меньше людей знают о том, что кибернетика и вычислительная техника – это отнюдь не одно и то же. Как раз последняя развивалась в то время очень активно, а в 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? Ответы на эти вопросы, а также тесты производительности, последуют во второй части этой статьи, которая появится на нашем сайте в ближайшие дни.

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

 

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

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

Источник: http://zoom.cnews.ru/publication/item/51620/3

 

Обзор российского 4-ядерного процессора Эльбрус-4С. Часть 2: архитектура

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

Автор: Владимир Иванов

 

 

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-интерфейсы, так и специализированные интерфейсы для промышленного применения.

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

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

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

Помимо этого, существуют отдельные аппаратные средства управлением безопасностью. Всем уже набили оскомину сообщения о брешах в системе Windows и прикладных программах (последние, впрочем, не сильно афишируются). Наиболее частая причина – ошибки переполнения буфера, позволяющие злоумышленнику запустить на атакуемой системе произвольный код. Причина кроется в общей памяти, позволяющей хранить и данные, и код. Конечно, попытки решить проблему предпринимаются, например, такие, как широко разрекламированный Execute Disable Bit в процессорах Intel (или его аналог – No eXecute Bit в процессорах AMD), но даже эта защита обходится «на раз-два» (кому интересно – вновь обращаемся к Интернету). А неразделяемый стек – вообще ахиллесова пята всех AMD/Intel систем.

Вариант, предложенный МЦСТ, – защищённый режим исполнения программ. Работа в нём происходит только с инициализированными данными, все обращения в память проверяются на принадлежность к допустимому диапазону адресов, обеспечивается межмодульная защита. Для поддержки такого режима имеется компилятор C/C++ и библиотека runtime (libc). В этом режиме обнаруживается более 98% ошибок времени выполнения, которые не удаётся диагностировать другими способами. Это позволяет не только создавать устойчивый ко взлому код, но и заметно облегчает написание любых программ, поскольку многие ошибки программирования, которые в ином случае остались бы незамеченными и привели бы к нестабильной работе программы, здесь обнаруживают себя на уровне аппаратуры и вызывают прерывание.

Некоторым недостатком защищённого режима является снижение производительности примерно на 20%, что в отдельных случаях может быть нежелательно. Есть и другая проблема: практически весь существующий в среде open source код написан так, что использует приёмы программирования, не регламентированные стандартом языка Си. Поэтому запустить ядро ОС или приложения типа LibreOffice полностью в защищённом режиме пока что невозможно – и из-за стиля программирования, и из-за наличия в коде скрытых ошибок, которые придётся исправлять. Но можно запускать в защищённом режиме отдельные небольшие программы, наиболее критичные с точки зрения информационной безопасности, и они будут работать со стопроцентной надёжностью.

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

Окончание следует

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

 

Источник: http://zoom.cnews.ru/publication/item/51720/1

 

Обзор российского 4-ядерного процессора Эльбрус-4С. Часть 3: тесты, сравнение с Intel

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

Автор: Владимир Иванов

Часть 1: http://cont.ws/post/92016

Часть 2: http://cont.ws/post/92508

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

В настоящее время ЗАО «МЦСТ» выпускает несколько готовых модулей на основе процессоров 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%, отечественных ПК? Если и увидим, то очень не скоро. Несмотря на некоторые явные преимущества, по соотношению главных потребительских качеств «производительность/цена» наш «Эльбрус» всё ещё проигрывает конкурентам, а доплачивать за сомнительные преимущества в виде защищённого режима или эффективного шифрования массовый потребитель вряд ли захочет. Другое дело — корпоративный клиент, для которого надёжность работы и наличие полной документации является определяющим критерием. А так как всё равно в большинстве случаев систему для него придётся разрабатывать «под заказ», то здесь отечественный производитель может даже предложить более выгодную цену, чем зарубежный партнёр. Поэтому клиентов у МЦСТ пока хватает.

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

Источник: http://zoom.cnews.ru/publication/item/51820/1

 

Дополнение

Перед Новым Годом сотрудники МЦСТ решили протестировать работу обновлённой графической подсистемы платформы Эльбрус, поддерживающей аппаратное 3D ускорение. Для этого решили немного поиграть.

Для теста был выбран RBDOOM3-BFG - вариант игры Doom3 с открытым исходным кодом. В качестве игровой платформы выбрали экспериментальную однопроцессорную материнскую плату с процессором Эльбрус-4С, работающем на частоте 720 МГц, с 12-ю гигабайтами оперативной памяти DDR3.

Главной целью тестирования был стек драйверов с открытым исходным кодом, реализующий стандарт OpenGL 3.3.

Установили мощную видеокарту AMD Radeon HD 6970 c двумя гигабайтами видеопамяти.

Кроссплатформенный проект RBDOOM3-BFG представляет из себя улучшенный вариант широко известной игры Doom3, модифицированный для работы под Linux (ведущий разработчик проекта - Роберт Бекебанс). Оригинальная игра Doom3 вышла в 2004 году и на тот момент предъявляла очень высокие требования к аппаратуре, редакция Doom3 BFG вышла в 2012 году.

Мы скомпилировали исходные коды игры в "родную" систему команд архитектуры Эльбрус. Отметим, что в них активно используется векторное расширение набора команд SSE2, оформленные в виде интринсиков (то есть псевдофункций на

языке Си). Это позволило проверить эффективность работы нашего компилятора с интринсиками и уровень его совместимости с компилятором GCC.

Звуковую карту использовали штатную, встроенную в южный мост КПИ. Использовалась операционная система Эльбрус с ядром Linux 2.6.33.

Игра использует все 4 ядра процессора. Для демонстрации возможностей системы мы выставили разрешение FullHD (1920 на 1080 точек).


Вернуться назад