Разработчики «Эльбруса» выложили в открытый доступ систему команд процессора

Разработчики «Эльбруса» выложили в открытый доступ систему команд процессора

08.06.2020      17531

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

Любое использование

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

Руководство по разработке под платформу «Эльбруса» выложено на официальном сайте МЦСТ. Оно распространяется по лицензии Creative Commons (CC-BY 4.0), которая позволяет сторонним разработкам использовать и изменять продукт, в том числе и для коммерческих целей. Обязательно лишь указание авторов исходников. 

Подробности документации

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

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

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

Об архитектуре

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

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



Источник: https://infostart.ru/journal/news/tekhnologii/razrabotchiki-elbrusa-vylozhili-v-otkrytyy-dostup-sistemu-komand-protsessora_1247819/
Автор:
Александр Вашкевич Аналитик


Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. starik-2005 2527 08.06.20 14:32 Сейчас в теме
Они что, выложили в открытый доступ систему команд? Аттракцион невиданной щедрости! ))))

ЗЫ: У всех производителей процессоров это в открытом доступе, иначе бы под них никто не стал бы писать софт - как его писать без документации?
2. burmsergey 12 08.06.20 17:30 Сейчас в теме
(1) В публикации неточное введение. Поэтому если прочитать только его (первые два предложения), то формируется оценка типа "аттракцион".
На самом деле по указанной ссылке расположено нечто большее: руководство по эффективному программированию на платформе «Эльбрус».
А описание системы команд занимает в нём только одну главу из 10.
4. starik-2005 2527 09.06.20 00:28 Сейчас в теме
(2)
руководство по эффективному программированию
На сайте Интела и AMD даже компиляторы для С/С++ свои выложены и очень много документации об оптимизации. Плюс библиотеки с оптимизированной математикой.

Создатели Эльбруса что-то втирали на счет того, что если все правильно написать, то компилятор может из этого сделать хорошо распаралелленый код, но мы то знаем, что не все в этом мире хорошо параллелится. Более того, распараллелится все по количеству ядер. Что там может быстрее работать, чем на других процессорах с более высокой частотой и IPC? Ну только если воткнули пару команд для шифрования ГОСТ - так это аппаратная штука, а не программная.

Ну ладно, давайте посмотрим руководство.

1. Работа с платформой.

Ну тут ассемблер и дизасемблер элементарных функций на С++ с указанием номера такта выполнения и механикой оптимизации. Так-то прикольно: в системе куча наборов регистров - 16 общих, 16 глобальных и 16 специальных.Регистров мало не бывает - это точно. Ну и оптимизация адресным выравниванием и помещение "широкой" команды в конвейер для однотактового (суперскалярного параллельного) выполнения. Что-то ноу-хау я тут не вижу - все процы давно уже так делают, а еще предсказывают ветвление и прочие штуки, иногда играющие плохую шутку с возможностью вытащить пару чужих байт (уязвимости типа спектра spectre). В общем -О0 .. -О4 - тоже нового ничего нет.
Ну или вот, банальное:
Обратите внимание, что в результате оптимизаций в режиме -O3 вызов был заменён на:
И что было заменено? Вызов процедуры на инлайн-код. Тоже ничего нового - это все было в самых древних компиляторах, полагаю.

В принципе эти все "широкие команды" - это основной признак архитектуры АРМ, суть которой была в том, что ну очень много команд на все случаи жизни? прибавил и перешел, умножил и перешел, если в результате больше/меньше/равно. Предположу, что ноги оттуда растут, но за дополнительные регистры - да, спасибо, полезно иногда...

Вообще, архитектура интересная, но память-то медленная - те же нейронки упрутся в ее производительность и кучей регистров горю не поможешь. Не увидел команд для 128-256-512 бит, может дальше будут.

2. Повышение производительности.
Один из известных ресурсов повышения производительности - выявление и использование параллелизма на уровне элементарных операций (устоявшийся термин ILP = Instruction-Level Parallelism).
Для АПП «Эльбрус» параллелизм выражается в машинном коде явным образом в виде Широких Команд (ШК), а задача обнаружения и эффективного использования ILP возлагается на компилятор
- этот принцип характерен для всех известных процессоров VLIW


VLIW также получила хорошее распространение на рынке GPU, так, видеопроцессоры AMD/ATI Radeon начиная с R600 и до Northern Islands включительно имеют VLIW-архитектуру.[8][9] Начиная с Southern Islands (первый квартал 2012) компания AMD/ATI отошла от подхода VLIW[10]


Т.е. тут у нас очень широкие команды, которые упаковываются в один процессорный такт, если не работают с памятью, которую придется ждать (если не в кеше). Но на сколько они щироки? Большинство современных процессоров суперскалярны и умеют любой код таким образом параллелить, есть такая штука, как SMT(АМД) - симуляция многопоточности на одном ядре. У Интела это называется Hyper Threading. Технология реализует на конвейере одного ядра одновременно выполняются команд разных потоков, сгруппированных специальным сложным аппаратным механизмом процессора. Для Эльбруса компилятор произведет такую оптимизацию и в некоторых случаях создаст "широкую команду", которая за такт пару-тройку инструкций, сгруппированных в этой команде, выполнит. В общем обычный софт будет работать на Эльбрусе долго и упорно, т.к. процессор неспособен ни ветвления предсказать, ни команды как-то иначе, чем это сделано в момент генерации машинного кода, сгруппировать. Именно по-этому от данной технологии в самых современных архитектурах давно отказались, т.к. сложно всем угодить и иметь в пакете код, оптимизированный для разных процессоров - пусть процессор сам его поймет и максимально хорошо выполнит.

Дальше там дана интересная таблица задержек на операциях с целыми и вещественными числами (не маленькая), выборки данных из кеша 1-3-го уровня (до 40 тактов) и чтения из памяти (в районе 100 тактов, что на 400-800 МГц весьма и весьма долго). Как я понял, никакого спекулятивного чтения из памяти, никакого предсказания ветвлений в этом процессоре нет. Все, что компилятор не оптимизирует, будет выполняться не быстро.


Основное, что нужно понять здесь, так это то, что такое этот пресловутый параллелизм. А это просто группировка команд для быстрого выполнения в широкую команду. Это та самая суперскалярность. Но если современные процессоры Intel и AMD умеют динамически перестраивать инструкции х86 в оптимальную последовательность одновременного выполнения, то Эльбрус тут без оптимизирующей компиляции "даст маху", ибо неспособен ни на что подобное. Ну и при частоте в 10 раз медленнее конкурентов даже четыре инструкции за такт будет выполняться в два с половиной раза дольше, чем одна инструкция за такт вообще никак не оптимизированного кода на Intel или AMD.
Serega-artem; akim2040; +2 Ответить
3. Perfolenta 197 08.06.20 18:52 Сейчас в теме
(1) про систему команд они давно говорили, что как только основной заказчик в лице гос.органов разрешит, так сразу и опубликуют... а до этого, несколько лет, её можно было получить по специальному запросу...
а ПО можно было давно писать на С, С++ и многих других языках, что многие и делали...
Оставьте свое сообщение

См. также

Российская ОС «Аврора» получила крупное обновление до версии 4.0

Новость ОС ИТ-новость Мобильные приложения Новости компаний

Компания «Открытая мобильная платформа» выпустила мобильную операционную систему «Аврора» 4.0. Релиз включает более 300 улучшений, из них 40 – важные нововведения.

вчера в 15:47    6966    VKuser24342747    1       

Российские банки запустили систему переводов без номера телефона и карты

Новость Банки Безопасность ИТ-новость

Новая технология позволяет клиентам банков переводить деньги на ближайшие устройства при помощи Bluetooth и AirDrop без указания реквизитов карты или счета, а также телефонного номера.

02.12.2021    5232    VKuser24342747    3       

Сотрудники Минцифры протестируют сервисы VK для госслужащих

Новость ИТ-новость Минкомсвязь Цифровая экономика

Компания VK разработала набор приложений для автоматизации работы госслужащих. Первыми получат возможность опробовать мессенджер, файлообменник, почту и другие сервисы чиновники из Минцифры.

02.12.2021    6610    VKuser24342747    0       

Лаборатория Касперского представила бесплатную ОС

Новость ОС Безопасность ИТ-новость Новости компаний

«Лаборатория Касперского» выпустила собственную операционную систему. На базе KasperskyOS можно создать решения, которые защищены от многих видов кибератак.

01.12.2021    6009    user1015646    1       

«Яндекс» представил сервис для сканирования документов

Новость ИТ-новость Новости компаний Яндекс

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

01.12.2021    6864    VKuser24342747    1       

OpenAI открывает доступ к API GPT-3

Новость Искусственный интеллект ИТ-новость Новости компаний

Компания OpenAI предоставила доступ к API (прикладному программному интерфейсу) алгоритмов обработки естественного языка GPT-3. Это открывает новые возможности для экспериментов с умными системами, которые могут имитировать человеческие возможности – например, писать стихи или отвечать на вопросы.

29.11.2021    4825    user1015646    0       

Компания JetBrains представила легковесный редактор Fleet

Новость ИТ-новость Новости компаний

Разработчики нового продукта пообещали своим пользователям поддержку инструментов коллективной разработки, удаленный доступ к проектам, а также возможность трансформации редактора в полноценную IDE.

29.11.2021    5099    ЕленаЧерепнева    8       

Разработчики Astra Linux создали аналог Microsoft Active Directory

Новость Linux Безопасность Импортозамещение ИТ-новость Новости компаний

Группа компаний «Астра» представила службу ALD Pro, которая замещает в российской ОС Astra Linux решение Microsoft Active Directory. Поддержку этой функции от системы часто требуют госзаказчики.

29.11.2021    6009    VKuser24342747    1       

Специальный алгоритм очистит данные переписи населения

Новость Искусственный интеллект ИТ-новость

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

26.11.2021    6072    VKuser24342747    0       

В офисах Google появились универсальные роботы

Новость Автоматизация ИТ-новость Новости компаний

Офисы Google в Маунтин Вью, штат Калифорния, теперь станут гораздо чище. К уборке привлекли универсальных роботов, разработанных X Company, которая, как и поисковый гигант, входит в состав холдинга Alphabet.

25.11.2021    5814    user1015646    2       

Вышло крупное обновление для TypeScript с автодополнением кода

Новость ИТ-новость Языки программирования

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

24.11.2021    9260    VKuser24342747    4       

GitHub назвал три ключевых тренда в разработке за 2021 год

Новость GitHub Аналитика ИТ-новость

GitHub провел традиционное ежегодное исследование Octoverse, чтобы определить основные направления развития ИТ-индустрии. В 2021 году актуальными стали вопросы быстрого написания кода и подготовки документации.

24.11.2021    9443    VKuser24342747    0       

Рособрнадзор прекратит использовать Windows при проведении ЕГЭ

Новость Импортозамещение ИТ-новость

Единый государственный экзамен к концу 2024 года будет проходить без использования ОС Windows во всех местах, где можно сдать тестирование. Вместо нее будет установлена российская система.

23.11.2021    6533    VKuser24342747    5       

Google выпустил версию браузера Chrome 96

Новость Интернет ИТ-новость Новости компаний

Новая актуальная версия Google Chrome 96 получила расширение инструментов для веб-разработчиков и экспериментальные функции в мобильной версии.

23.11.2021    5834    VKuser24342747    1       

Через Госуслуги компании подтвердили 13,3 млн корпоративных SIM-карт

Новость Безопасность ИТ-новость Телекоммуникации

Министерство цифрового развития сообщило, что компании соблюдают новые требования закона «О связи» и уже зарегистрировали на портале госуслуг 13,3 млн рабочих SIM-карт.

22.11.2021    7857    VKuser24342747    1       

Visual Studio 2022 и .NET 6: что нового

Новость ИТ-новость Новости компаний Языки программирования

Microsoft выпустила свежий релиз одной из самых популярных сред разработки. Вместе с Visual Studio 2022 представили обновленную платформу .NET 6.

22.11.2021    9599    user1015646    0       

Программист разработал поисковую систему без слежки за пользователями

Новость Безопасность Интернет ИТ-новость

Бывший разработчик из компании Salesforce Ричард Сокер открыл публичный доступ к своему поисковому сервису You. В нем нет никаких трекеров личных данных и рекламных материалов.

18.11.2021    6395    VKuser24342747    3       

«Сбер» обучил нейросеть ruGPT-3 генерировать программный код

Новость Искусственный интеллект ИТ-новость Новости компаний

Новая функция самой большой генеративной AI-модели для русского языка получила название JARVIS. Сейчас сервис способен работать с языками программирования Java, Python и JavaScript.

18.11.2021    6371    VKuser24342747    2       

Университет Иннополис создал уникальный российский индустриальный блокчейн

Новость Блокчейн ИТ-новость

В России разработан блокчейн InnoChain, который предназначен для использования в закрытых сетях. С его помощью можно подписывать договоры и планировать объемы продаж.

17.11.2021    6912    VKuser24342747    0       

В Dropbox появились «автоматизированные папки» и новая система тегов

Новость ИТ-новость Облачные технологии

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

17.11.2021    6619    SKravchenko    1       

Microsoft выпустит платформу Defender for Business

Новость ИТ-новость Новости компаний

Microsoft Defender for Business станет частью комплексного решения Microsoft 365 Business Premium, которое объединяет Microsoft Teams и Office 365 с основными инструментами безопасности для малого и среднего бизнеса.

16.11.2021    4445    SKravchenko    0       

Adobe Photoshop и Illustrator стали доступны онлайн

Новость

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

11.11.2021    5586    user1015646    0       

Что нового в SQL Server 2022

Новость СУБД MS SQL ИТ-новость Новости компаний

Microsoft на ежегодной конференции Microsoft Ignite анонсировала предварительную версию SQL Server 2022 – теперь СУБД включает интеграцию с базой Azure SQL, службой аналитики Azure Synapse Analytics и платформой управления данными Azure Purview.

11.11.2021    10644    SKravchenko    0       

«Сбер» представил нейросеть для генерации картинок по описанию

Новость Искусственный интеллект ИТ-новость

Сервис ruDALL-E способен генерировать изображения с нуля по текстовому описанию на русском языке. Авторы полагают, что модель будет полезна для создания рекламного, архитектурного и промышленного дизайна.

11.11.2021    7006    VKuser24342747    10       

Правительство собирается определить главный российский процессор

Новость Импортозамещение ИТ-новость

Минцифры и Минпромторг намерены выбрать приоритетную российскую микропроцессорную платформу. Разработчики отечественного ПО будут обязаны поддерживать ее.

10.11.2021    6411    VKuser24342747    4