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


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

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

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

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

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

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

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

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

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

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

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

Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *