RISC-V разработан для поддержки обширной настройки и специализации.Каждый базовый набор команд характеризуется шириной регистров и соответствующим размером адресного пространства пользователя.Существует два базовых варианта, RV32I и RV64I, где I обозначает целое число ISA.
Базовое целое число ISA может быть подмножество аппаратной реализацией, но затем должны использоваться ловушки кода операции и программная эмуляция на уровне супервизора.реализовать функциональность, не обеспеченную оборудованием.
Хотя 64-разрядные адресные пространства являются требованием для более крупных систем, 32-разрядные адресные пространства могут быть достаточными для многих встроенных и клиентских устройств на десятилетия вперед, и будет желательно снизить трафик памяти и энергопотребление.Кроме того, 32-разрядные адресные пространства достаточны для образовательных целей.В конечном итоге может потребоваться большее плоское 128-битное адресное пространство, чтобы мы могли быть размещены в рамках RISC-V ISA.
Базовое целочисленное ISA может быть расширено одним или несколькими дополнительными расширениями набора команд, однако базовые целочисленные инструкции не могут быть переопределены.Расширения набора команд RISC-V подразделяются на стандартные и нестандартные.Стандартные расширения должны быть в целом полезными и не должны конфликтовать с другими стандартными расширениями.
Нестандартные расширения могут быть узкоспециализированными или могут конфликтовать с другими стандартными или нестандартными расширениями.
Расширения с набором инструкций могут обеспечивать несколько различную функциональность в зависимости от ширины набора базовых целочисленных инструкций.Соглашение об именах для базовых команд RISC-V и расширений набора команд, для поддержки более общей разработки программного обеспечения, определен набор стандартных расширений, чтобы обеспечить целочисленное умножение / деление, атомарные операции и арифметику с плавающей точкой одинарной и двойной точности.Metic.
Базовое целочисленное ISA называется «I» (с префиксом RV32 или RV64 в зависимости от ширины целочисленного регистра) и содержит целочисленные вычислительные инструкции, целочисленные загрузки, целочисленные хранилища и инструкции потока управления, и является обязательным длявсе реализации RISC-V.
Стандартное расширение для умножения и деления целых чисел называется «M» и добавляет инструкции для умножения и деления значений, хранящихся в целочисленных регистрах.
Стандартное атомарное расширение команд, обозначаемое «A», добавляет инструкции, которые атомарно читают, изменяют и записывают память для межпроцессорной синхронизации.Стандартное расширение с плавающей запятой одинарной точности, обозначаемое «F», добавляет регистры с плавающей запятой, вычислительные инструкции одинарной точности, а также загрузки и сохранения одинарной точности.Стандартное расширение с плавающей запятой двойной точности, обозначаемое «D», расширяет регистры с плавающей запятой и добавляет вычислительные инструкции с двойной точностью, загружает и хранит.
Справочник - RISC-V Руководство по ISA