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

05 June 2020

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

Впервые в открытом доступе

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

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

Документация по работе с отечественной микропроцессорной платформой уже доступна на сайте компании и представлена под открытой лицензией Creative Commons (CC-BY 4.0), которая позволяет сторонним пользователям свободно перерабатывать, развивать, вносить исправления и распространять продукт, в том числе, в коммерческих целях, но при соблюдении обязательного условия указания автора исходной работы. Документы доступны для скачивания в форматах HTML и PDF.

«Эльбрус» по открытой лицензии

Представленное МЦСТ руководство по программированию для платформы «Эльбрус» применимо с любой операционной системой на базе Linux. В него вошли материалы по адаптации имеющегося кода к «Эльбрусам» для корректной работы ПО, описание приемов компиляции программ, примеры ассемблера и отладки.

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

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

Для тех, кто планирует писать архитектурно-зависимый код, в руководстве представлен подробный справочный блок с детальным описанием интерфейсных программных соглашений и команд микропроцессора.

В документации представлены описания и характеристики актуальных на сегодняшний день моделей микропроцессоров «Эльбрус», включая 4-ядерный «Эльбрус-4C», 8-ядерные «Эльбрус-8C» и «Эльбрус-8CB». Есть описание разницы исполнения команд скалярными и суперскалярными процессорами, с подробным разъяснением конвейеризации и параллельной группировки в процессе исполнения команд.

В описании архитектуры «Эльбрус» подробно описан принцип использования «очень длинных машинных команд» (VLIW), специфика применения компилятора процессора для анализа зависимостей и оптимизации порядка исполнения операций и другие отличия от «традиционных» процессоров с архитектурой RISC/CISC.

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

Успехи современных процессоров «Эльбрус»

В феврале 2020 г. CNews рассказал об итогах сравнительного тестирования производительности 8-ядерных процессоров «Эльбрус-8C» с тактовой частотой 1,3 ГГц, производимого с соблюдением норм техпроцесса 28 нм и способного выполнять до 25 операций за такт в каждом ядре, или до 250 млрд операций с плавающей запятой в секунду.

Для исследования были использованы ресурсы тематического проекта RakeSearch Карельского научного центра Российской академии наук. По итогам тестов выяснилось, что скорость однопоточных вычислений на «Эльбрус-8C» проигрывает современным процессорам для настольных ПК в два-четыре раза, но в то же время при сравнении с серверными процессорами разрыв уменьшается до полутора-двух раз.

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

В случае с десктопными процессорами в системе может быть только один процессор, в серверных системах на Xeon E5 — до двух CPU, но в случае с «Эльбрус-8С» в сервер можно поставить до четырех процессоров. Это существенно уменьшает отставание в ситуации, когда у Xeon E5-2683 v3, выпущенного в 2014 г., на один сокет приходится 14 ядер (и 28 потоков), а у «Эльбруса» — восемь. Двусокетной машине с 28 ядрами уже сейчас можно сопоставить машину на «Эльбрусе» с 32, заключил автор исследования.

В мае 2019 г. CNews также сообщил о том, что силами Институтом электронных управляющих машин им. И. С. Брука» (ИНЭУМ, входит в концерн «Автоматика» госкорпорации Ростех) и системного интегратора Группы РСК был создан первый в России суперкомпьютер на базе отечественных 8-ядерных процессоров «Эльбрус-8С».

Суперкомпьютер для большей энергоэффективности получил охлаждение горячей водой и при необходимости может задействовать интерконнект «Ангара» отечественной разработки. Суперкомпьютер обладает высокой удельной вычислительной плотностью: при необходимости в одну стойку может уместиться 153 blade-сервера с четырьмя процессорами «Эльбрус-8С» каждый. В итоге пиковая производительность на один сервер составляет 0,5 Терафлопс, а производительность одной стойки достигает 75 Терафлопс.

МЦСТ сохранит архитектуру SPARC

Ранее, рассуждая о перспективах развития компании в обозримом будущем, заместитель гендиректора МЦСТ по маркетингу Константин Трушкин сообщил CNews о том, что компания не намерена отказываться от разработки архитектуры SPARC, альтернативной «Эльбрусам». На базе архитектуры SPARC, в частности, выполнены процессоры МЦСТ R-1000 и МЦСТ R-2000. Второй из этих чипов увидел свет в начале 2018 г. и предположительно будет востребован в телеком-оборудовании. В МЦСТ наработки на SPARC считают истинно своими, хотя и признают, что система команд в них лицензированная.

Архитектура SPARC (Scalable Processor Architecture — масштабируемая архитектура процессора) была разработана в середине 1980 гг. компанией Sun Microsystems, но спустя несколько лет ее спецификации стали общим достоянием. С 1989 г. развитием архитектуры занимается независимая некоммерческая организация SPARC International, продающая разработчикам лицензии на ее модификации.

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

В МЦСТ отмечают недостаток что ресурсов для развития обеих архитектур, однако намерены продолжать развитие линейки SPARC, поскольку на рынке эта архитектура востребована, у компании есть специалисты в области архитектуры SPARC, и имеются определенные успехи в этой области.

Source
Related news
Game software working group to be established in Russia — expert
Sberbank has no critical dependencies on Western suppliers — CEO
Number of Russia’s IT industry employees rises by 12% in 2022