RISC-V: архитектура, перспективы, Java-порт

Что такое RISC-V и когда появится Java-порт?


Май 18, 2022


Самые популярные процессорные архитектуры на сегодняшний день — x86 и ARM. Но не так давно у них появился конкурент — RISC-V. «Разве это не то же самое, что ARM? Архитектура-то одна», скажете вы.

Нет, у данной модели архитектуры есть отличительные характеристики, которые позволили проекту, созданному группой инженеров в университетской лаборатории, быстро превратиться в процветающую платформу, поддерживаемую такими глобальными игроками, как Google, Alibaba, Huawei и даже Intel.

В чем же секрет успеха RISC-V? читайте в нашей статье! Или забронируйте бесплатную консультацию с инженером BellSoft, который поможет вам разобраться в данном вопросе.

Содержание

  1. История и архитектура процессора RISC-V
  2. Чем хорош процессор RISC-V
    1. RISC и CISC
    2. Опенсорсная природа RISC-V
    3. Внедрение RISC-V в разных отраслях
  3. RISC-V против ARM
  4. Потенциал RISC-V в разработке российского ПО
  5. RISC-V и Java
  6. Заключение

История и архитектура процессора RISC-V

RISC-V — это опенсорсная архитектура набора команд (ISA), основанная на концепции компьютера с сокращенным набором команд (RISC). ISA — это абстрактная модель компьютера, определяющая инструкции, т.е. базовые операции с описанием их применения. Эти инструкции служат каналом коммуникации между аппаратным обеспечением и ПО. RISC-V включает в себя 47 базовых инструкций, при этом к ним можно добавить дополнительные расширения.

В 2010 г. в Калифорнийском университете в Беркли группа инженеров под руководством Крсте Асановича и Дэвида Паттерсона создала проект RISC-V. В 2015 г. был основан Фонд RISC-V с целью продвижения новой архитектуры среди коммерческих пользователей, при этом авторы проекта передали права на нее Фонду. Позже Фонд RISC-V были переименован в Международный фонд RISC-V (RISC-V International). Проект стремительно завоевал популярность у исследователей и ИТ-компаний по всему миру, и сейчас эта некоммерческая организация насчитывает более двух тысяч членов и партнеров в лице Google, IBM, NVIDIA, Western Digital и других крупных компаний. В 2018 г. организация объявила о сотрудничестве с Linux Foundation. Но абсолютной сенсацией стало в 2022 г. заявление Intel о присоединении к RISC-V International и инвестировании одного миллиарда долл. США в экосистему RISC-V (статья на английском языке). На данный момент это самое крупное вложение в проект.

Итак, на чем основаны прогнозы блестящего будущего проекта? Давайте узнаем!

Чем хорош процессор RISC-V

RISC и CISC

Почему RISC-V можно смело назвать революционной технологией? Чтобы это понять, нужно сначала отметить, что изначально существовали два типа микропроцессорной архитектуры: RISC и CISC (компьютер с комплексным набором команд). В CISC один набор инструкций выполняет несколько низкоуровневых операций (загрузка, оценка, хранение данных). Следовательно, программа использует меньше специализированных инструкций, но количество тактовых циклов на выполнение одной инструкции возрастает. Типичным примером CISC-архитектуры является x86. В RISC, с другой стороны, используется небольшой кастомизированный набор инструкций, поэтому программа использует больше инструкций, но при этом каждая инструкция выполняется за один тактовый цикл. Выполнение нескольких одноцикловых инструкций занимает меньше времени, что способствует повышению производительности CPU. Кроме того, пайплайнинг на RISC гораздо эффективнее, так как изначально подразумевалось, что каждая инструкция будет выполняться за одинаковый промежуток времени. Это не всегда осуществимо в случае сложных инструкций, но исходная концепция вполне успешно воплощается в более простом аппаратном обеспечении. Наконец, разрабатывать RISC-процессоры проще и дешевле благодаря упрощенным наборам инструкций и маленьким микросхемам.

Чистые архитектуры RISC и CISC ушли в прошлое. Сейчас все архитектуры RISC-подобные, даже x86: в них CISC преобразуется в RISC-подобные микрооперации.

Опенсорсная природа RISC-V

Разница между CISC и RISC ясна, но что такое RISC-V? Это просто красивое название для RISC? Не совсем. RISC-V — это открытая и свободная модель архитектуры. Подход к проектированию RISC-V основывается на принципах разработки продуктов с отрытым исходным кодом:

  • Модульная архитектура: разработчики используют только нужные модули для создания любого устройства, от компактных встроенных систем до мощных компьютеров.
  • Не нужно платить лицензионный сбор за использование RISC-V в исследованиях и разработке, благодаря чему любой энтузиаст может внести вклад в улучшение микропроцессора. Такая концепция стимулирует инновации.
  • Снижаются расходы на разработку, сокращается срок вывода продукта на рынок. Повторное использование опенсорсной интеллектуальной собственности обеспечивает быструю и выгодную разработку ПО и аппаратного обеспечения.

Внедрение RISC-V в разных отраслях

Согласно исследованию RISC-V, проведенному Semico (источник на английском языке), ежегодный прирост на рынке ядер RISC-V достигнет 160% к 2025 г. Распространение RISC-V набирает обороты, поскольку каждый год все больше отраслей внедряют эти микропроцессоры. Благодаря модульности, высокой производительности и масштабируемости, их теперь можно встретить в любом устройстве и области, включая:

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

Этот перечень доказывает, что RISC-V является рабочей альтернативой привычным ARM и x86. RISC-V International организует для своих членов онлайн-обучение, университетские лаборатории, мероприятия для разработчиков и компаний, торговые онлайн-площадки, а также предоставляет сюиты тестов на совместимость. Таким образом, RISC-V — это не просто архитектура, это процветающая экосистема, которая по прогнозам задаст направление ИТ-инновациям на ближайшие десятилетия благодаря открытому сотрудничеству всех заинтересованных лиц (источник на английском языке).

RISC-V против ARM

В отличие от x86, RISC-V и ARM основаны на RISC-архитектуре. Следует отметить, что начиная с версии ARMv8-A существует еще AArch64, 64-битное расширение ARM-архитектуры. Хотя архитектура ARM сохраняет лидирующее положение на рынке RISC-процессоров, RISC-V составляет ей серьезную конкуренцию. В таблице ниже приведены основные различия обеих архитектур.

ARM RISC-V
Бизнес-модель Архитектура ARM основана на модели патентованной интеллектуальной собственности. Это значит, что за использование процессора ARM в устройстве нужно платить лицензионный сбор. Архитектура RISC-V свободная и открытая, любой может использовать ее для исследований и разработки без внесения лицензионных платежей или нарушения прав на использование патента.
Экосистема Так как ARM появилась в 1980-х гг., она отличается обширным сообществом, большим количеством библиотек и широким диапазоном поддерживаемого ПО. RISC-V — относительно новая технология со стремительно растущим сообществом и техподдержкой.
Энергопотребление По результатам тестов среднее энергопотребление ARM составляет примерно 36,8 мВт. Те же тесты показали, что в определенных случаях RISC-V потребляет в три раза меньше энергии, чем ARM.
Кастомизация В ARM недавно появились стандартизированные инструкции для кастомных сопроцессоров: набор инструкций определен, но его имплементацию можно менять. Это похоже на то, как работают интерфейсы в Java. RISC-V включает в себя набор базовых инструкций и позволяет инженерам использовать стандартизированные или кастомные расширения, необходимые для их задач.
Сравнение RISC-V и ARM

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

Потенциал RISC-V в разработке российского ПО

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

RISC-V и Java

BellSoft, будучи одним из ключевых контрибьюторов OpenJDK, поддерживает концепцию опенсорса. Этот подход уже зарекомендовал себя, сделав Java одним из самых популярных, безопасных и быстро развивающихся языков программирования. Мы ожидаем, что RISC-V ждет такое же блестящее будущее. Сообщество OpenJDK разделяет наш оптимизм и работает над Java-портом для Linux/RISC-V в рамках проекта RISC-V (страница на английском языке). Порт появится уже в следующем релизе, JDK 19 (JEP422). Этот порт был разработан инженерами компании Huawei. Он был завершен и опубликован в ее репозитории еще в мае 2021 г., а затем стал основой текущего проекта RISC-V.

Порт будет поддерживать 64-битную конфигурацию RISC-V общего назначения (RV64GV). Данная конфигурация включает в себя полезные наборы инструкций для реализации работы типов Java: векторные операции, целочисленные арифметические операции и операции с плавающей точкой и т.д. Также порт включает несколько подсистем HotSpot:

  • интерпретатор шаблонов;
  • JIT-компилятор C1 (серверный);
  • JIT-компилятор C2 (клиентский);
  • все текущие стандартные сборщики мусора, включая ZGC и Shenandoah.

Кроме того, будет добавлена экспериментальная поддержка следующих расширений: RVV, RVC, Zba и Zbb. Их нужно явно указать в JVM посредством

  • -XX:+UseRVV
  • -XX:+UseRVC
  • -XX:+UseZba
  • -XX:+UseZbb

Java-порт будет преимуществом для обеих экосистем, так как диапазон аппаратного обеспечения на RISC-V быстро расширяется, что ведет к повышенному спросу на совместимое ПО. Вдобавок все вендоры OpenJDK будут принимать участие в портировании будущих изменений Java на эту модель ISA.

Мы в BellSoft также верим в светлое будущее Risc-V и планируем создать версию нашего Java-рантайма Axiom JDK, оптимизированную для этой архитектуры.

Заключение

Как оказалось, у RISC-V и Java много общего. Опенсорсный подход к их разработке открывает путь к инновациям, создаваемым всем сообществом в духе сотрудничества. А это значит, что в будущем мы можем ожидать появления интересных и мощных решений, сочетающих в себе обе технологии.

Author image

Дмитрий Чуйко

Старший инженер по производительности БЕЛЛСОФТ

 Twitter

ООО БЕЛЛСОФТ info@axiomjdk.ru ООО БЕЛЛСОФТ logo Axiom Committed to Freedom 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 ООО БЕЛЛСОФТ 199 Obvodnogo Kanala Emb. 190020 St. Petersburg RU +7 812-336-35-67 ООО БЕЛЛСОФТ 111 North Market Street, Suite 300 CA 95113 San Jose US +1 702 213-59-59