Организация RISC-V International, ответственная за определение архитектуры набора инструкций RISC-V, разработала дорожную карту для улучшения низкоуровневого ПО, чтобы повысить его привлекательность для разработчиков аппаратного и программного обеспечения, сообщает портал The New Stack.
Процессорная Open Source-архитектура RISC-V — своего рода «Linux мира чипов» — имеет ряд именитых сторонников, включая Intel, AMD и Nvidia. Ее также поддерживают такие компании, как Google и Alibaba. Кроме того, чипы на базе этой архитектуры разрабатывают российские и китайские компании, которые имеют ограниченный доступ к самым современным чипам x86.
Но поддержка RISC-V с точки зрения ПО еще далека от зрелости.
Архитектура RISC-V свободно лицензируется, и компании-разработчики чипов могут брать Open Source-дизайн и подстраивать его под конкретные нужды. Она является бесплатной альтернативой таким архитектурам, как x86 и ARM, за которые потребители должны платить лицензионные отчисления или роялти. В целом RISC-V рассматривается как открытый аппаратный эквивалент Linux.
Сегодня доступны компьютеры с чипами RISC-V, разработанными рядом компаний, например SiFive. Примечательно, что Intel выделила 1 млрд. долл. на разработку и производство чипов, включая не только ARM и x86, но и RISC-V, а также сотрудничает с Барселонским суперкомпьютерным центром для создания суперкомпьютерного чипа RISC-V.
Архитектура RISC-V является модульной, с базовым дизайном, вокруг которого могут быть развернуты различные модули. RISC-V International добавляет к своей архитектуре новые спецификации, а также рассматривает возможность стандартизации пользовательских спецификаций, разработанных компаниями-участниками. Цель состоит в том, чтобы уменьшить фрагментацию — проблему, которая предопределила судьбу архитектуры MIPS.
«Мы собираемся ратифицировать четыре спецификации, которые появятся в этом квартале», — рассказал Марк Химельштейн, технический директор RISC-V International.
Наиболее важной спецификацией является RISC-V для SBI, которая представляет собой скорее слой гипервизора, помогающий ядру ОС общаться с аппаратной платформой. Это интерфейс между ОС, гипервизорами и встроенным ПО. Спецификация RISC-V для SBI определяет архитектуру микропрограммного уровня между аппаратной платформой и ядром ОС, используя двоичный интерфейс приложений в режиме супервизора (S-режим или VS-режим).
Спецификация представляет собой код машинного уровня для доступа к различной конфигурационной информации и выполнения нечастых действий в системах.
«Здесь изначально применили метод абстрагирования, чтобы не оказаться в 1500 местах. Сейчас это также стало очень важно для безопасности, чтобы только этот уровень действительно имел к ней доступ», — пояснил Химельштейн.
По его словам, RISC-V International сделала пробный вариант этой спецификации, запустила его на симуляторах и смотрит на все это с энтузиазмом.
Вторая спецификация, которая будет ратифицирована, включает протоколы RISC-V Unified Extensible Firmware Interface (UEFI) Protocols, которые представляют собой интерфейсы загрузки, подобные тем, что используются в существующих системах на Linux и Windows.
«Существует проект UEFI, и мы очень тесно сотрудничали с ними, чтобы наши изменения прошли проверку, а затем они благословили их. Это один из тех маленьких фрагментов, которые нужны экосистеме», — отметил Химельштейн.
В этом году RISC-V International также планирует ввести «профили», которые представляют собой наборы стандартизированных инструкций для различных приложений. Химельштейн надеется, что профили позволят сократить усилия по разработке ПО, заставив аппаратное обеспечение иметь ограниченный набор вещей, которые работают вместе.
В профилях есть список инструкций под такими названиями, как RVA20, которые представляют собой уровни приложений. Эти инструкции передаются компилятору, он получает флаг и помечает двоичный файл. ОС может пойти и проверить, может ли она запустить этот двоичный файл, или ответить, что она не поддерживает профиль и не может запустить этот двоичный файл.
«Это способ убедиться в том, что все вещи собраны вместе. Тогда дистрибутивам не придется делать дальнейшие шаги и обрабатывать конкретные варианты каждого отдельного поставщика. Вендорам это нравится, потому что мы, сообщество, несем основную нагрузку по продвижению экосистемы ПО для поддержки таких вещей», — сказал Химельштейн.