Русский процессор Эльбрус: возможности и реалии

Apr 22, 2014 10:43

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

Компания ЗАО МЦСТ сообщила об успешном завершении всего цикла испытаний нового процессора Эльбрус-4С (рабочее название - Эльбрус-2S), который теперь готов к серийному производству. Эльбрус-4С - самый мощный 64-битный универсальный микропроцессор в портфеле компании. Он включает 4 ядра, работающих на частоте 800 МГц, и поддерживает работу с тремя каналами памяти DDR3-1600. Также поддерживается объединение до 4 чипов в многопроцессорную систему с общей памятью. Производится решение с соблюдением 65-нм технологических норм, а среднее энергопотребление чипа составляет 45 ватт.





Эльбрус-4С развивает разработанную в МЦСТ линейку чипов Эльбрус. За один такт каждое ядро нового процессора может исполнять до 23 операций (для процессоров типа RISC, например, этот показатель в несколько раз ниже). Пиковая теоретическая производительность четырёх ядер в операциях с плавающей запятой составляет около 50 гигафлопс одинарной точности и 25 гигафлопс двойной точности.

По сравнению с Эльбрус-2С+ в архитектуру нового процессора были внесены следующие существенные улучшения: аппаратная поддержка двоичной трансляции 64-разрядных кодов Intel и AMD, поддержка двоичной трансляции в многопоточном режиме, увеличен объём кеш-памяти. Также можно упомянуть поддержку стандарта оперативной памяти DDR3-1600, увеличение каналов памяти и повышение эффективности работы в многопроцессорных системах.



В МЦСТ также создан сервер, содержащий четыре процессора Эльбрус-4С и два южных моста КПИ. Основной платформой для процессора является ОС Эльбрус, построенная на основе Linux 2.6.33. В её состав входят менеджер пакетов и более 3 тысяч программных пакетов из состава дистрибутива Debian 5.0. Имеется полный набор инструментов разработчика.

Новые продукты ЗАО МЦСТ позволят заменить импортные вычислительные систем там, где этого требуют соображения информационной безопасности и технологической независимости. В разработке процессора Эльбрус-4С, сервера на его основе и программного обеспечения принимали участие сотрудники ОАО ИНЭУМ им. И.С. Брука.
Краткое описание архитектуры Эльбрус
Работы над архитектурой «Эльбрус» начались в 1986 г. в коллективе Института точной механики и вычислительной техники (ИТМ и ВТ) им. С.А. Лебедева, в котором до этого были созданы советские высокопроизводительные комплексы «Эльбрус-1» и «Эльбрус-2». Разработка вычислительного комплекса «Эльбрус-3», которая велась под руководством Б.А. Бабаяна, была завершена в 1991 г. В этом вычислительном комплексе впервые были воплощены в жизнь идеи явного управления параллелизмом операций с помощью компилятора.

Начавшиеся с 1992 г. экономические изменения в России не позволили разработчикам «Эльбруса-3» завершить наладку комплекса. В том же 1992 г. коллектив разработчиков машин семейства «Эльбрус» выделился в компанию ЗАО «МЦСТ» и начал вести работы над микропроцессорной реализацией архитектуры «Эльбрус».

Архитектура «Эльбрус» - оригинальная российская разработка. Ключевые черты архитектуры «Эльбрус» - энергоэффективность и высокая производительность, достигаемые при помощи задания явного параллелизма операций.

Ключевые особенности архитектуры Эльбрус



В традиционных архитектурах типа RISC или CISC (х86, PowerPC, SPARC, MIPS, ARM), на вход процессора поступает поток инструкций, которые рассчитаны на последовательное исполнение. Процессор может детектировать независимые операции и запускать их параллельно (суперскалярность) и даже менять их порядок (внеочередное исполнение). Однако динамический анализ зависимостей и поддержка внеочередного исполнения имеет свои ограничения: лучшие современные процессоры способны анализировать и запускать до 4-х команд за такт. Кроме того, соответствующие блоки внутри процессора потребляют заметное количество энергии.

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

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

Возможности архитектуры Эльбрус:

6 каналов арифметико-логических устройств (АЛУ), работающих параллельно.

Регистровый файл из 256 84-разрядных регистров.

Аппаратная поддержка циклов, в том числе с конвейеризацией. Повышает эффективность использования ресурсов процессора.

Программируемое асинхронное устройство предварительной подкачки данных с отдельными каналами считывания. Позволяет скрыть задержки от доступа к памяти и полнее использовать АЛУ.

Поддержка спекулятивных вычислений и однобитовых предикатов. Позволяет уменьшить число переходов и параллельно исполнять несколько ветвей программы.

Широкая команда, способная при максимальном заполнении задать в одном такте до 23 операций (более 33 операций при упаковке операндов в векторные команды).



Производительность на реальных задачах:

Ниже приведена производительность процессора Эльбрус-2С+ на задачах из пакета SPEC2000 по сравнению с процессорами Intel Pentium-M ULV (1ГГц, кэш-память 1М, 2хDDR-266) и Intel Atom D510 (1,66 ГГц, кэш-память 1М, DDR2-800).





Данные для Intel Pentium-M ULV получены с сайта spec.org, компилятор ICC 9.1. Для замера производительности процессора Intel Atom D510 использовалась собственная сборка тестов SPEC силами сотрудников МЦСТ.

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

Эмуляция архитектуры х86



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

Защищенный режим исполнения программ

Одна из самых интересных идей, унаследованных от архитектур Эльбрус-1 и Эльбрус-2 - это так называемое защищенное исполнение программ. Его суть заключается в том, чтобы гарантировать работу программы только с инициализированными данными, проверять все обращения в память на принадлежность к допустимому диапазону адресов, обеспечивать межмодульную защиту (например, защищать вызывающую программу от ошибки в библиотеке). Все эти проверки осуществляются аппаратно. Для защищенного режима имеется полноценный компилятор С/С++ и библиотека run-time поддержки.

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


программы, компьютеры, российская наука, новости хай-тэк

Previous post Next post
Up