RISC-V

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску
Не следует путать сRISC-5 — системой команд виртуальной машиныНиклауса Вирта, разработанной вETH Цюрих для языков семейства Паскаль/Модула/Оберон и операционной системыОберон.
RISC-V
Изображение логотипа
РазработчикАссоциация RISC-V, инициатор разработки —Калифорнийский университет в Беркли
Разрядность32 бита, 64 бита,
Представлена2010
Версии20191213 (unprivileged),
20190608 (privileged)
АрхитектураRISC-подобная
ТипРегистр-регистр
Кодирование СКФиксированный размер командного слова — 32 бита
Реализация переходовОдновременное сравнение и переход
Порядок байтовLittle-endian
Размер страницы4 KiB
Расширенияот A до Z, комбинации стандартизируются профилями
Открытая?Да
Регистры
Общего назначения

32, включая x0 всегда равный нулю,

(16 — только в расширении E и, условно, в C)
Вещественные32 (расширения F, D, Q)
SIMD32 отдельных регистра от 32 до 2048 бит каждый в векторном расширении V и матричном расширении IME, блок матричных регистров в AME
Предикатныенет
ВсегоРегистры статусов, управления, счётчиков и таймеров, регистры реального времени
Логотип Викисклада Медиафайлы на Викискладе

RISC-V (читается как риск-пять) —система команд с открытым общественным стандартом на правила двоичного кодирования инструкций для управления вычислительными машинами[1].

Применяется для разработкисистемного ПО и конструированияпроцессорных архитектур любого назначения, например дляцентральных микропроцессоров имикроконтроллеров (периферийных процессоров). Описания правил кодирования машинных инструкций в RISC-V свободно доступны и бесплатны для изучения и использования в разработке ПО и при проектировании открытых или закрытых вычислительных ядер дляСнК непосредственно вкремнии или для конфигурированияПЛИС.

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

Содержание

История

[править |править код]

Идея проектирования открытой и расширяемой системы команд для процессоров с применениемRISC подхода появилась в 2010 году как продолжение исследований по изучению вычислительных систем вКалифорнийском университете Беркли в США, при непосредственном участии профессораДэвида Паттерсона[2][3] — обладателя премии Тьюринга и одного из авторов концепций RISC. Именование новой системы команд следует исторической линейке проектов — RISC-I/RISC-II (1981), RISC-III/SOAR (1984) и RISC-IV/SPUR (1988).[4]

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

В 2015 году для развития, стандартизации и продвижения RISC-V создан международныйфонд RISC-V[5] иассоциация RISC-V со штаб-квартирой в Цюрихе[6] в Швейцарии, с более чем 4500 членами из 70 стран по состоянию на 2025 год[7]. С 2018 года фонд RISC-V работает в партнёрстве сThe Linux Foundation[8]. В руководство и технические комитеты входят компании из разных стран, в том числе русские разработчики процессорных ядер Syntacore[9] и CloudBEAR, а также разработчики системного программного обеспечения Альт Линукс иАстра Линукс[10]. В России процессоры с системой команд RISC-V проектируют и выпускают компанииМикрон[11], Прогресс[12],Миландр[13],НИИЭТ[14], Союз[15],Байкал Электроникс[16] и другие.

В феврале 2022 года компанияIntel объявила[17] об инвестировании в развитие RISC-V одного миллиарда долларов и вошла в состав руководства RISC-V. В сентябре 2022 года в России образованАльянс RISC-V[18][19]. По состоянию на декабрь 2022 года 13 из 25 мест в совете директоров RISC-V занимают китайские компании и организации, ведущую роль из которых занимаетКитайская академия наук.

RISC-V добавлен в ядроLinux 5.17 в 2022 году вместе с егоинструментальной цепочкой сборки[20]. ВАльт Линукс[21] иopenSUSE поддержка RISC-V развивается с 2018 года. В 2023 году RISC-V включен в качестве официальной архитектуры дистрибутиваDebianЛинукс под названием riscv64[22]. Дистрибутивы ЛинуксFedora иGentoo также поддерживает RISC-V в качестве альтернативной архитектуры с 2025 года. ОС из линейки BSD (openBSD,NetBSD,FreeBSD) так же поддерживают порт[23] на RISC-V.

Базовый набор команд

[править |править код]
Набор команд RV32IMAC

Спецификация стандарта[24] определяет 32 базовых регистра и 40 кодов машинных инструкций в RV32I или 52 кода в RV64I. Аббревиатура RV32I расшифровывается какRV — RISC-V, 32-разрядная (в RV64I — 64-разрядная), I (от Integer) — кодирование команд сцелочисленной арифметикой. Длина машинных инструкций фиксированная — 32 бита.

Основные расширения для дополнения базовых наборов команд:

  • M — целочисленное умножение и деление.
  • A — атомарные операции с памятью.
  • F и D — дополнительные 32 регистра и инструкции для операций с плавающей точкой одинарной (Float) и двойной (Double) точности.
  • C — сжатый формат команд длиной 16 бит, кодирование инструкций реализовано как подмножество RV32I/RV64I и предназначено для удвоения плотности упаковки в машинном слове наиболее востребованных стандартных инструкций.

Обозначение RV32IMAC расшифровывается как система команд RISC-V 32-разрядная с расширением M, А и С.

Базовый набор команд RV32Е для встраиваемых систем совпадает по кодированию и набору инструкции с RV32I, но содержит только 16 регистров. Применяется, например, в ядрах простых недорогих микроконтроллеров.

RV128I — планируемый базовый набор для 128-разрядных операций. Предусмотрен стандартом как резерв кодов машинных инструкций под реализацию в будущем.

Наиболее частые в использовании и доказанные в применении комбинации базовых инструкций в комплекте с расширениями стандартизированы в профили:

  • начально заданный профиль G в описании RISC-V 2016 года[4], который включает группу из 98 команд в составе IMAFD и в дальнейшем дополнен уточняющими расширениями Zicsr и Zifence
  • профили RVI20, RVA20, RVA22 имеют версию 1.0 по состоянию на март 2023 года[25]
  • профили RVA23 и RVB23 имеют версию 1.0 по состоянию на октябрь 2024 года. RVA23U64 делает векторное расширение V обязательным (было опциональным для RVA22U64)[26]

Архитектурные особенности системы команд

[править |править код]

В базовые наборы входят инструкции условной и безусловной передачи управления/ветвления, минимальный набор целочисленных арифметических/битовых операций на регистрах, операций с памятью (load/store), а также небольшое число служебных инструкций.

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

Базовые наборы используют следующий набор регистров: специальный регистр x0 (zero, всегда равный нулю), 31 целочисленный регистр общего назначения (x1 — x31), регистр счётчика команд (PC, доступен только косвенно), а также набор служебных регистров CSR (Control and Status Registers, всего может быть адресовано до 4096 таких регистра).

Для встраиваемых применений может использоваться вариант архитектуры RV32E (Embedded) с сокращённым набором регистров общего назначения (первые 16 — x0-x15). Уменьшение количества регистров позволяет не только экономить аппаратные ресурсы, но и сократить затраты памяти и времени на сохранение/восстановление регистров при переключениях контекста.

При одинаковой кодировке инструкций в RISC-V предусмотрены реализации архитектур с 32-, 64- и 128-битными регистрами общего назначения и операциями (RV32I, RV64I и RV128I, соответственно).

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

Нет операций над частями регистров, нет каких-либо выделенных «регистровых пар».

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

Целочисленная арифметика расширенной точности (большей, чем разрядность регистра) должна явно использовать операции вычисления старших битов результата. Например, для получения старших битов произведения регистра на регистр имеются специальные инструкции.

Размер операнда может отличаться от размера регистра только в операциях с памятью. Транзакции к памяти осуществляются блоками, размер в байтах которых должен быть целой неотрицательной степенью 2, от одного байта до размера регистра включительно. Операнд в памяти должен иметь «естественное выравнивание» (адрес кратен размеру операнда).

Архитектура использует только модельlittle-endian — первый байт операнда в памяти соответствует младшим битам значений регистрового операнда.

Для пары инструкций сохранения/загрузки регистра операнд в памяти определяется размером регистра выбранной архитектуры, а не кодировкой инструкции (код инструкции один и тот же для RV32I, RV64I и RV128I, но размер операндов 4, 8 и 16 байт соответственно), что соответствует размерууказателя.

Для меньших, чем размер регистра, размеров операндов в памяти, имеются отдельные инструкции загрузки/сохранения младших битов регистра, в том числе для загрузки из памяти в регистр есть парные варианты инструкций, которые позволяют трактовать загружаемое значение как со знаком (старшим знаковым битом значения из памяти заполняются старшие биты регистра) или без знака (старшие биты регистра устанавливаются в 0).

Инструкции базового набора имеют длину 32 бита с выравниванием на границу 32-битного слова, но в общем формате предусмотрены инструкции различной длины (стандартно — от 16 до 192 бит с шагом в 16 бит) с выравниванием на границу 16-битного слова. Полная длина инструкции декодируется унифицированным способом из её первого 16-битного слова.

Операции умножения, деления и вычисления остатка не входят в минимальный набор инструкций, а выделены в отдельное расширение (M — Multiply extension). Имеется ряд доводов в пользу разделения и данного набора на два отдельных (умножение и деление).

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

Спецификацией RISC-V предусмотрено несколько областей в пространстве кодировок инструкций для пользовательских «X-расширений» архитектуры, которые поддерживаются на уровне ассемблера, как группы инструкций custom0 и custom1.

Базовые системы команд и расширения

[править |править код]
СокращениеНаименованиеВерсияСтатусКоличество команд
Базовые системы команд
RV32IКоманды с целочисленными операндами и регистрами шириной 32-бита2.1Стандарт40
RV32EСовпадает RV32I, но есть только 16 регистров (дляembedded)2.0Стандарт40
RV64IКоманды с целочисленными операндами и регистрами шириной 64-бита2.1Стандарт52
RV64EСовпадает с RV64I, но но есть только 16 регистров (для embedded)2.0Стандарт52
RV128IКоманды с целочисленными операндами, 128-битный (зарезервировано)1.7Проект64
RVWMOБазовая модель согласованности памяти2.0Стандарт
Расширения базовой системы команд
MЦелочисленное умножение и деление (Integer Multiplication and Division)2.0Стандарт8 (RV32), 13 (RV64)
AАтомарные операции (Atomic Instructions)2.1Стандарт11 (RV32), 22 (RV64)
FАрифметические операции с плавающей запятой над числами одинарной точности (Single-Precision Floating-Point)2.2Стандарт26 (RV32), 30 (RV64)
DАрифметические операции с плавающей запятой над числами двойной точности (Double-Precision Floating-Point)2.2Стандарт26 (RV32), 32 (RV64)
QАрифметические операции с плавающей запятой над числами четверной точности2.2Стандарт28 (RV32), 32 (RV64)
CСжатые до 16 бит коды команд (Compressed Instructions)2.2Стандарт40
CountersИнструкции для счетчиков производительности и таймеров — наборыZicntr иZihpm2.0Проект
LАрифметические операции над десятичными числами с плавающей запятой (Decimal Floating-Point)0.0Проект
BБитовые операции (Bit Manipulation)1.0Стандарт29 (RV32), 41 (RV64)
NПоддержка прерываний на уровне пользовательского режима1.1Проект
JДвоичная трансляция и поддержкадинамической компиляции (Dynamically Translated Languages)0.0Проект
TТранзакционная память (Transactional Memory)0.0Проект
PКороткиеSIMD-операции (Packed-SIMD Instructions)0.9.10Проект
VВекторные расширения (Vector Operations)1.0Стандарт187
ZkСкалярная криптография1.0.1Стандарт49
ZicsrИнструкции для работы с регистрами состояния и конфигурации ядра (Control and Status Register (CSR) Instructions)2.0Стандарт6
ZicondУсловное выполнение инструкций1.0Стандарт
ZifenceiИнструкции синхронизации потоков команд и данных (Instruction-Fetch Fence)2.0Стандарт1
ZihintpausePause Hint2.0Стандарт
ZihintntlNon-Temporal Locality Hints0.3Проект
ZamРасширение для смещённых атомарных операций (Extension for Misaligned Atomics)0.1Проект
ZfhРасширения для вычислений с плавающей точкой половинной точности (Extensions for Half-Precision Floating-Point)1.0Стандарт
ZfhminРасширения для вычислений с плавающей точкой половинной точности (Extensions for Half-Precision Floating-Point)1.0Стандарт
ZfinxСтандартные расширения для работы с плавающей точкой в целочисленных регистрах1.0Стандарт
ZdinxСтандартные расширения для работы с плавающей точкой в целочисленных регистрах1.0Стандарт
ZhinxСтандартные расширения для работы с плавающей точкой в целочисленных регистрах1.0Стандарт
ZhinxminСтандартные расширения для работы с плавающей точкой в целочисленных регистрах1.0Стандарт
ZtsoРасширение для модели согласованности памяти RVTSO (Extension for Total Store Ordering)0.1Проект
G=IMAFD Zicsr Zifencei Обобщенное/сокращёное обозначение для набора расширенийн/дн/д
Наборы команд для привилегированных режимов
Machine ISAИнструкции аппаратного уровня1.12Стандарт
Supervisor ISAИнструкции уровня супервизора1.12Стандарт4
Svnapot Extension(Extension for NAPOT Translation Contiguity)1.0Стандарт
Svpbmt Extension(Extension for Page-Based Memory Types)1.0Стандарт
Svinval Extension(Extension for Fine-Grained Address-Translation Cache Invalidation)1.0Стандарт
Hypervisor ISAИнструкции уровня гипервизора1.0Стандарт15

В 32-битных микроконтроллерах и для других встраиваемых применений используется набор RV32EC. В 64-битных процессорах может быть набор групп RV64GC, то же самое в полной записи — RV64IMAFDC.

Форматы машинных команд

[править |править код]
Схемы кодирования 32-битных машинных команд в RISC-V(признаки — младшие биты всегда «11» и 2-4 биты ≠̸ «111»)
Тип313029282726252423222120191817161514131211109876543210
Сохранение±но[10:5]исх2исх1оп3но[4:0]код операции11
Ветвление±но[10:5]исх2исх1оп3но[4:1][11]код операции11
Регистр/регистроп7исх2исх1оп3назнкод операции11
Короткий операнд±но[10:0]исх1оп3назнкод операции11
Длинный операнд±но[30:12]назнкод операции11
Переход±но[10:1][11]но[19:12]назнкод операции11
± — знак непосредственного операнда (0 плюс/1 минус)

но — значение непосредственного операнда с номерами бит в кодировке значения

исх1 — номер регистра, в котором находится первый операнд

исх2 — номер регистра, в котором находится второй операнд

назн — номер регистра, в который будет записан результат

оп3/оп7 — уточняющийкод операции.с размером в битах

Схемы кодирования 16-битных машинных команд в RISC-V(используется только в расширении С — сжатые команды, младшие биты ≠̸ «11»)
Тип1514131211109876543210
Регистр/регистроп4назн/исх1исх2оп2
Короткий операндоп3ноназн/исх1нооп2
Загрузка/сохранение [х2]оп3ноисх2оп2
Длинный операндоп3ноназн*оп2
Загрузка [регистр]оп3ноисх1*ноназн*оп2
Сохранение [регистр]оп3ноисх1*ноисх2*оп2
Арифметическиеоп6назн*/исх1*оп2исх2*оп2
Ветвление/арифм.оп3ноназн*/исх1*нооп2
Переходоп3нооп2
но — значение непосредственного операнда с номерами бит в кодировке значения

исх1 — номер регистра, в котором находится первый операнд

исх2 — номер регистра, в котором находится второй операнд

назн — номер регистра, в который будет записан результат

оп —код операции.с размером в битах

* — особые значения кодов в соответствии с требованиями кодирования в С-расширении

Регистры

[править |править код]

RISC-V имеет 32 (или 16 для встраиваемых применений) целочисленных регистра. При реализации вещественных групп команд есть дополнительно 32 вещественных регистра.

Рассматривается вариант включения в стандарт дополнительного набора из 32 векторных регистров с вариативной длиной обрабатываемых значений, длина которых указывается в CSR vlenb[27].

Для операций над числами в бинарных форматах плавающей запятой используется набор дополнительных 32 регистров FPU (Floating Point Unit), которые совместно используются расширениями базового набора инструкций для трёх вариантов точности: одинарной — 32 бита (F extension), двойной — 64 бита (D — Double precision extension), а также четверной — 128 бит (Q — Quadruple precision extension).

Имена регистров в системе команд и соглашения о псевдонимах в EABI и psABI
Имя регистра

в RISC-V

Имя

в EABI

Имя

в psABI

Описание

в psABI

Кто сохраняет

в psABI

32целочисленных регистра
x0zerozeroВсегда ноль
x1raraАдрес возврата (return address)Вызывающий
x2spspУказатель стека (stack pointer)Вызываемый
x3gpgpГлобальный указатель (global pointer)
x4tptpПотоковый указатель (thread pointer)
x5t0t0Temporary / альтернативный адрес возвратаВызывающий
x6s3t1TemporaryВызывающий
x7s4t2TemporaryВызывающий
x8s0/fps0/fpSaved register / frame pointerВызываемый
x9s1s1Saved registerВызываемый
x10a0a0Аргумент (argument) / возвращаемое значениеВызывающий
x11a1a1Аргумент (argument) / возвращаемое значениеВызывающий
x12a2a2Аргумент (argument)Вызывающий
x13a3a3Аргумент (argument)Вызывающий
x14s2a4Аргумент (argument)Вызывающий
x15t1a5Аргумент (argument)Вызывающий
x16s5a6Аргумент (argument)Вызывающий
x17s6a7Аргумент (argument)Вызывающий
x18-27s7-16s2-11Saved registerВызываемый
x28-31s17-31t3-6TemporaryВызывающий
32 дополнительных регистра сплавающей точкой
f0-7ft0-7Floating-point temporariesВызывающий
f8-9fs0-1Floating-point saved registersВызываемый
f10-11fa0-1Floating-point arguments/return valuesВызывающий
f12-17fa2-7Floating-point argumentsВызывающий
f18-27fs2-11Floating-point saved registersВызываемый
f28-31ft8-11Floating-point temporariesВызывающий

Вызовы подпрограмм, переходы и ветвления

[править |править код]
Пазлинка и перо
Этопустой раздел, которыйещёне написан.
Здесь может располагатьсяотдельный раздел. Помогите Википедии, написав его.(17 августа 2021)

Арифметические и логические наборы команд

[править |править код]
Пазлинка и перо
Этопустой раздел, которыйещёне написан.
Здесь может располагатьсяотдельный раздел. Помогите Википедии, написав его.(17 августа 2021)

Атомарные операции с памятью

[править |править код]
Пазлинка и перо
Этопустой раздел, которыйещёне написан.
Здесь может располагатьсяотдельный раздел. Помогите Википедии, написав его.(17 августа 2021)

Сокращённые команды

[править |править код]
Пазлинка и перо
Этопустой раздел, которыйещёне написан.
Здесь может располагатьсяотдельный раздел. Помогите Википедии, написав его.(17 августа 2021)

Команды для встраиваемых применений

[править |править код]
Пазлинка и перо
Этопустой раздел, которыйещёне написан.
Здесь может располагатьсяотдельный раздел. Помогите Википедии, написав его.(17 августа 2021)

Привилегированные наборы команд

[править |править код]
Пазлинка и перо
Этопустой раздел, которыйещёне написан.
Здесь может располагатьсяотдельный раздел. Помогите Википедии, написав его.(17 августа 2021)

Битовые операции

[править |править код]
Пазлинка и перо
Этопустой раздел, которыйещёне написан.
Здесь может располагатьсяотдельный раздел. Помогите Википедии, написав его.(17 августа 2021)

Компактный набор команд для SIMD

[править |править код]
Пазлинка и перо
Этопустой раздел, которыйещёне написан.
Здесь может располагатьсяотдельный раздел. Помогите Википедии, написав его.(17 августа 2021)

Операции с векторами

[править |править код]
Пазлинка и перо
Этопустой раздел, которыйещёне написан.
Здесь может располагатьсяотдельный раздел. Помогите Википедии, написав его.(17 августа 2021)

Команды для отладки

[править |править код]
Пазлинка и перо
Этопустой раздел, которыйещёне написан.
Здесь может располагатьсяотдельный раздел. Помогите Википедии, написав его.(17 августа 2021)

Реализации

[править |править код]

В рамках проекта создано и опубликовано под свободной лицензией шесть дизайнов микропроцессоров с архитектурой RISC-V: генератор 64-разрядных Rocket (7 октября 2014[28][29]) и пять упрощённых учебных ядер «Sodor» с различными микроархитектурами.

Также опубликовано несколько симуляторов (включая qemu и ANGEL — JavaScript-симулятор, работающий в браузере), компиляторов (LLVM, GCC), вариант ядра Linux для работы на RISC-V и компилятор дизайнов Chisel, который позволяет получатьVerilog-код. Также опубликованы верификационные тесты[30].

Некоммерческая организацияlowRISC планирует созданиесистемы на кристалле на базе 64-битного ядра Rocket RISC-V с последующим массовым производством чипов[31][32].

На конференции RISC-V Workshop 2017 стало известно, что компания Esperanto Technologies разрабатывает 64-битный высокопроизводительный процессор общего назначения на системе команд RISC-V сгетерогенной архитектурой с высокой степенью параллелизма (напоминающий по строению процессорCell), который в максимальной конфигурации будет содержать 16 ядер «ET-Maxion» (представляют собой конвейеры с неупорядоченным выполнением команд и работающие с данными с плавающей запятой) и 4096 ядер «ET-Minion» (конвейеры с последовательным выполнением команд и блоком свекторными вычислениями в каждом ядре)[33].

КомпанияWestern Digital заявила, что в партнёрстве с компанией Esperanto она повысит текущий статус процессорной архитектуры RISC-V с уровня микроконтроллеров до уровня высокопроизводительных решений и создаст вычислительную архитектуру нового поколения для обработки «больших данных»[34], а также экосистему быстрого доступа к данным — речь идёт о создании специализированных RISC-V-ядер для построения архитектуры «процессор в памяти» (processor-in-memory)[35].

Популярные и недорогие микроконтроллеры серииESP32 выпускаются с архитектурой RISC-V, например, серииESP32-C,ESP32-H иESP32-P.

Процессорные ядра

[править |править код]

Ряд компаний предлагает готовые сложно-функциональные блоки (англ.IP-cores) вычислительных ядер с системой команд RISC-V для проектирования топологии микропроцессоров или использования для прошивки ПЛИС, среди них:

  • ECHX1 — компанияWestern Digital (США),
  • Rocket — Калифорнийский университет в Беркли и компанияSiFive (США),
  • ORCA — компания Vectorblox (Канада),
  • PULPino — Высшая техническая школа Цюриха (Швейцария) и Болонский университет (Италия),
  • Hummingbird E200 — компания Nuclei System Technology (Китай),
  • AndeStar V5 — компания Andes Technology (Тайвань)[36]),
  • Shakti — Индийский технологический институт в Мадрасе (Индия),
  • BM-310, BI-350, BI-651, BI-671 — компанияКлаудбеар (Россия),
  • Семейство SCR1-SCR7 компанииСинтакор (Россия)[37].

Процессоры

[править |править код]

Список серийных процессоров с системой команд RISC-V, выполненных на кремнии в форматесистемы на кристалле.

Микропроцессоры, выпущенные до 2021 года:

Микропроцессоры, выпущенные в 2017—2019 годах:

  • Western Digital: SweRV Core (32 бита, 2 ядра, 1,8 ГГц, 28 нм)[46][47]
  • SiFive: FE310 (32 бита, 1 ядро, 870 МГц — 28 нм, 370 МГц — 55 нм)[38][39]
  • Kendryte: K210 (64 бита, 2 ядра +нейроускоритель, 600 МГц, 28 нм, 500 мВт)[48][49][50]
  • GreenWaves: GAP8 (32 бита, 8+1 ядро +нейроускоритель, 250 МГц, 55 нм, 100 мВт)[51]
  • NXP: RV32M1 (32 бита, 2 гибридных ядра ARM-M4F/RISC-V + ARM-M0+/RISC-V, 48-72 МГц)[52]
  • WCH: CH572 (60 МГц, корпус QFN28)[53] контроллер BLE + Zigbee + USB + Ethernet + Touchkey
  • HUAMI: MHS001 Huangshan № 1 (4 ядра, нейроускоритель, 55 нм, 240 МГц)[54] энергоэффективный процессор для носимых устройств и IoT
  • GigaDevice: GD32VF103 (1 ядро, 32 бита, 108 МГц,ОЗУ до 32 кБ,ПЗУ до 128 кБ)[55][56] микроконтроллер (не путать с семейством GD32F103).
  • FADU: Annapurna FC3081/FC3082 (64 бита, многоядерный, 7 нм, 1,7 Вт)[57][58][59] контроллер для NVMe SSD
  • BitMain: Sophon Edge TPU BM1880 (64 бита, 1 ядро RV64GC 1 ГГц + 2 ядра ARM A53 1,5 ГГц, 2,5 Вт) нейроускоритель 1 TOPS на INT8 для IoT и краевых вычислений[60][61]
  • Текон: Дружба (32 бита, 1 ядро, 250 МГц, 28 нм, 0,5 Вт)[62][63]

Микропроцессоры, выпущенные в 2020 году:

  • ONiO: ONiO.zero (16/32 бита, 1 кБ ПЗУ, 2 кБ ОЗУ, 8/16/32 кБППЗУ, 1-24 МГц, 0,36-1,44 Вт, встроенный радиоэлектро генератор на 800/900/1800/1900/2400 МГц) BLE, 802.15.4 UWB[64][65]
  • WCH: CH32V103 (32 бита, 10/20КБ ОЗУ, 32/64 КБППЗУ, до 80 МГц, корпуса LQFP48, QFN48 или LQFP64)[66] универсальный контроллер с USB 2.0, SPI, I2C, GPIO, USART, TouchKey, RTC, TIM, ADC
  • Миландр: К1986ВК025 (32-битное ядро BМ-310S CloudBEAR, ОЗУ 112 Кбайт, ППЗУ 256+8 Кбайт, ПЗУ 16 Кбайт, 60 МГц, 90 нмфабрика TSMC, 7 каналов 24-битных метрологических АЦП, сопроцессоров для шифров «Кузнечик», «Магма» иAES, корпус QFN88 10 х 10 мм)
  • Espressif: ESP32-C3 (32-битное ядро RV32IMC, 400 Кбайт SRAM, 384 Кбайт ПЗУ, 160 МГц, Wi-Fi, Bluetooth LE 5.0, по контактам совместим сESP8266)[67]
  • Bouffalo Lab: BL602 и BL604 (32-битный, динамическая частота от 1 МГц до 192 МГц, 276 КБ SRAM, 128 КБ ПЗУ, Wi-Fi, Bluetooth LE)[68]
  • Cmsemicon: ANT32RV56xx (ядро RV32EC, 48 МГц, 32+8 Кбайт SRAM, 64 Кбайт)[69]

Микропроцессоры, выпущенные в 2021 году:

  • Микрон (Россия): MIK32 (32-битное RV32IMC ядро SCR1 Syntacore, 1-32 МГц, фабрикаМикрон, ОЗУ 16 КБ, ППЗУ 8 КБ, 64 входа/выхода, АЦП 12 бит 8 каналов до 1 МГц;, ЦАП 12 бит 4 канала до 1 МГц, криптография ГОСТ Р 34.12-2015 «Магма», «Кузнечик» иAES 128). Технологические нормы 180 нм.[70][71]
  • ПереходESP32 на чипы с RISC-V ядрами (ESP32-C иESP32-H), в 2022 году компанияEspressif Systems сообщила о переходе всех своих линеек чипов на архитектуру RISC-V[72]

См. также

[править |править код]
  • xv6 — учебная операционная система, разработанная в Массачусетском технологическом институте, поддерживающая архитектуру RISC-V
  • ARM — семейство лицензируемых 32-битных и 64-битных микропроцессорных ядер разработки компанииARM Limited
  • OpenPOWER — коллаборация вокруг архитектурыIBM Power, основанная в 2013 году IBM, Google, Mellanox, NVIDIA
  • OpenSPARC — свободная (GPL) реализация архитектуры SPARC V9 от 2005 года
  • OpenRISC — свободная архитектура 2000 года с GPL-реализацией or1k
  • LEON — свободные реализации (GPL, LGPL) архитектуры SPARC V8, появившиеся в 1997 году
  • MIPS (MIPS Open) — наборы команд и архитектура, имеющие свободную лицензию на некоторые наборы команд с конца 2018 до конца 2019 года[73]

Примечания

[править |править код]
  1. Frequently-asked questions.  RISC-V. Regents of the University of California. Дата обращения: 25 августа 2014. Архивировано изоригинала 19 февраля 2016 года.
  2. Создатель RISC продвигает open source микросхемы. Xakep.ru. 21 августа 2014.Архивировано 24 августа 2014. Дата обращения: 26 августа 2014.
  3. Contributors . riscv.org. Regents of the University of California. Дата обращения: 25 августа 2014. Архивировано изоригинала 20 августа 2014 года.
  4. 12RISC-V Geneology | EECS at UC Berkeley . www2.eecs.berkeley.edu. Дата обращения: 23 августа 2025.
  5. History — RISC-V International . Дата обращения: 18 апреля 2020. Архивировано 15 апреля 2020 года.
  6. Архивированная копия . Дата обращения: 18 апреля 2020. Архивировано 4 мая 2020 года.
  7. About RISC-V (амер. англ.). RISC-V International. Дата обращения: 23 декабря 2025.
  8. The Linux Foundation and RISC-V Foundation Announce Joint Collaboration to Enable a New Era of Open Architecture - Linux Foundation (англ.). www.linuxfoundation.org. Дата обращения: 9 апреля 2023. Архивировано 9 апреля 2023 года.
  9. Kim McMahon. RISC-V Founding Member, Syntacore, Upgrades to Premier Level Membership (амер. англ.). RISC-V International (7 декабря 2021). Дата обращения: 10 февраля 2022. Архивировано 10 февраля 2022 года.
  10. Members – RISC-V International (амер. англ.). Дата обращения: 21 сентября 2023. Архивировано 26 апреля 2021 года.
  11. Микроконтроллеры АО "Микрон" . mikron.ru. Дата обращения: 7 марта 2025.
  12. НИИМА «Прогресс» разработал первый отечественный RISC-V микроконтроллер MIK32 АМУР . i-progress.tech. Дата обращения: 7 марта 2025.
  13. Milandr . www.milandr.com. Дата обращения: 7 марта 2025.
  14. К1921ВГ015  (рус.). АО «НИИЭТ». Дата обращения: 7 марта 2025.
  15. 5400ВК035 32-разрядный контроллер RISC-V (RV32F) | АО «Дизайн Центр «Союз» . dcsoyuz.ru. Дата обращения: 7 марта 2025.
  16. «Байкал Электроникс» начала выпуск микроконтроллеров BE-U1000 на базе RISC-V  (рус.). ServerNews - все из мира больших мощностей. Дата обращения: 23 августа 2025.
  17. Karl Freund. Intel Creates $1B Innovation Fund To Grow RISC-V Market (And Attract New Foundry Customers) (англ.). Forbes. Дата обращения: 10 февраля 2022. Архивировано 9 февраля 2022 года.
  18. Альянс разработчиков на микроархитектуре RISC-V возглавила экс-топ-менеджер "Мегафона"  (рус.). Interfax.ru. Дата обращения: 15 октября 2022. Архивировано 15 октября 2022 года.
  19. riscv-alliance.ru . Дата обращения: 27 января 2023. Архивировано 27 января 2023 года.
  20. Linux 5.17 Adds Support For "The First Usable, Low-Cost RISC-V Platform" (англ.). www.phoronix.com. Дата обращения: 10 мая 2025.
  21. Ports/riscv64 — ALT Linux Wiki . wiki.altlinux.ru. Дата обращения: 10 мая 2025.
  22. RISC-V - Debian Wiki . wiki.debian.org. Дата обращения: 10 мая 2025.
  23. OpenBSD/riscv64 . www.openbsd.org. Дата обращения: 10 мая 2025.
  24. RISC-V Technical Specifications - Home - RISC-V Tech Hub . lf-riscv.atlassian.net. Дата обращения: 10 мая 2025.
  25. riscv-profiles/src/profiles.adoc at main · riscv/riscv-profiles (англ.). GitHub. Дата обращения: 10 мая 2025.
  26. riscv-profiles/src/rva23-profile.adoc at main · riscv/riscv-profiles (англ.). GitHub. Дата обращения: 10 мая 2025.
  27. GitHub — riscv/riscv-v-spec: Working draft of the proposed RISC-V V vector extension . Дата обращения: 18 апреля 2020. Архивировано 31 октября 2019 года.
  28. Launching the Open-Source Rocket Chip Generator! | RISC-V BLOG.Архивировано 15 октября 2014 года.
  29. ucb-bar/rocket-chip · GitHub.  Дата обращения: 11 октября 2014. Архивировано 3 апреля 2015 года.
  30. Downloads . RISC-V. Regents of the University of California. Дата обращения: 25 августа 2014. Архивировано изоригинала 23 января 2016 года.
  31. lowRISC: Open to the Core . lowRISC. Дата обращения: 25 августа 2014. Архивировано 19 августа 2014 года.
  32. Project aims to build a «fully open» SoC and dev boardАрхивная копия от 19 августа 2014 наWayback Machine, Eric Brown // LinuxGizmos, 14 августа 2014
  33. Ветеран Transmeta возвращается на рынок процессоров с архитектурой RISC-V . 3DNews (29 ноября 2017). Дата обращения: 30 ноября 2017. Архивировано 1 декабря 2017 года.
  34. Western Digital включается в гонку за процессорными архитектурами . 3DNews (29 ноября 2017). Дата обращения: 30 ноября 2017. Архивировано 29 ноября 2017 года.
  35. Western Digital инвестировала в разработчика «процессора в памяти» . 3DNews (20 сентября 2017). Дата обращения: 30 ноября 2017. Архивировано 1 декабря 2017 года.
  36. Andes Technology forms a Multinational Alliance with ASIC Design Service Companies to Provide RISC-V Total Solutions | XtremeEDA . Дата обращения: 23 августа 2018. Архивировано 23 августа 2018 года.
  37. Отечественные микропроцессоры. Были! Есть. Будут?.3dnews. 9 августа 2018.Архивировано 17 ноября 2018. Дата обращения: 17 ноября 2018.
  38. 12Архивированная копия . Дата обращения: 1 сентября 2018. Архивировано 1 сентября 2018 года.
  39. 12SiFive: Первый в мире разработчик процессоров RISC-V на заказ . Дата обращения: 1 сентября 2018. Архивировано 1 сентября 2018 года.
  40. SiFive Introduces HiFive Unleashed RISC-V Linux Development Board (Crowdfunding) . Дата обращения: 1 сентября 2018. Архивировано 28 августа 2018 года.
  41. HiFive1 | Crowd Supply . Дата обращения: 1 сентября 2018. Архивировано 1 сентября 2018 года.
  42. Alibaba представила свой первый процессор | Компьютерра . Дата обращения: 27 июля 2019. Архивировано 27 июля 2019 года.
  43. 阿里平头哥发布"最强"RISC-V处理器玄铁910-电子工程专辑 . Дата обращения: 27 июля 2019. Архивировано 27 июля 2019 года.
  44. Архивированная копия . Дата обращения: 27 июля 2019. Архивировано 27 июля 2019 года.
  45. Архивированная копия . Дата обращения: 27 июля 2019. Архивировано 29 апреля 2020 года.
  46. Western Digital представила процессор SweRV Core для ускорителей по обработке данных / ServerNewsАрхивная копия от 5 декабря 2018 наWayback Machine 05.12.2018
  47. https://blog.westerndigital.com/risc-v-swerv-core-open-source/Архивная копия от 23 августа 2019 наWayback Machine —https://github.com/westerndigitalcorporation/swerv_eh1Архивная копия от 16 мая 2019 наWayback Machine
  48. New Part Day: The RISC-V Chip With Built-In Neural Networks | Hackaday . Дата обращения: 16 октября 2018. Архивировано 17 октября 2018 года.
  49. 矿机巨头的转型之始?嘉楠耘智发布首款AI芯片Kendryte_区块链_金色财经 . Дата обращения: 16 октября 2018. Архивировано 17 октября 2018 года.
  50. kendryte-doc-datasheet/003.md at master · kendryte/kendryte-doc-datasheet · GitHub . Дата обращения: 16 октября 2018. Архивировано 9 апреля 2019 года.
  51. GreenWaves GAP8 is a Low Power RISC-V IoT Processor Optimized for Artificial Intelligence Applications . Дата обращения: 23 августа 2018. Архивировано 28 августа 2018 года.
  52. CRU: Free RISC-V Boards, Security in the FOSSi Era, and More . Дата обращения: 26 января 2019. Архивировано 26 января 2019 года.
  53. WCH CH572 — это RISC-V MCU с возможностью подключения Bluetooth LE — CNXSoft- новости Android-приставок и встраиваемых систем . Дата обращения: 16 марта 2022. Архивировано 4 августа 2020 года.
  54. Huami’s Amazfit Debuts at MWC, Opening a New Chapter in Global Expansion | Markets Insider . Дата обращения: 25 мая 2019. Архивировано 25 мая 2019 года.
  55. GigaDevice выпускает микроконтроллер GD32V RISC-V и платы для разработки — CNXSoft- новости Android-приставок и встраиваемых систем . Дата обращения: 16 марта 2022. Архивировано 4 августа 2020 года.
  56. 首款基于 RISC-V 的 32 位通用单片机出现 — 硬件 — cnBeta.COM . Дата обращения: 24 августа 2019. Архивировано 24 августа 2019 года.
  57. Архивированная копия . Дата обращения: 19 марта 2019. Архивировано изоригинала 23 декабря 2018 года.
  58. FADU Introduces SSD Controller and Bravo Series Enterprise SSD Deliver Maximum IOPS/Watt
  59. FADU Launches Industry Leading SSD Solutions Powered by SiFive RISC-V Core IP . Дата обращения: 19 марта 2019. Архивировано 17 апреля 2019 года.
  60. Sophon Edge AI platform with RISC-V Processor — YouTube . Дата обращения: 20 октября 2019. Архивировано 31 августа 2019 года.
  61. Особенности платы для разработки 96Boards AI Sophon Edge с SoC Bitmain BM1880 ASIC — CNXSoft- новости Android-приставок и встраиваемых систем . Дата обращения: 16 марта 2022. Архивировано 4 августа 2020 года.
  62. Микросхема «Дружба» от компании «Текон» . Дата обращения: 26 марта 2020. Архивировано 26 марта 2020 года.
  63. Микросхемы . Дата обращения: 26 марта 2020. Архивировано 26 марта 2020 года.
  64. ONiO.zero предлагает микроконтроллер RISC-V, который работает без батареи — CNXSoft- новости Android-приставок и встраиваемых систем . Дата обращения: 16 марта 2022. Архивировано 3 августа 2020 года.
  65. ONiO.zero Offers Up to 24MHz of RISC-V Microcontroller Performance on Nothing But Harvested Energy — Hackster.io . Дата обращения: 12 января 2020. Архивировано 12 января 2020 года.
  66. WCH CH32V103 универсальный RISC-V MCU предлагает альтернативу микроконтроллеру RISC-V GD32V — CNXSoft- новости Android-приставок и встраиваемых систем . Дата обращения: 16 марта 2022. Архивировано 16 июня 2020 года.
  67. Процессор ESP32-C3 WiFi и BLE RISC-V по контактам совместим с ESP8266 — CNXSoft- новости Android-приставок и встраиваемых систем . Дата обращения: 17 декабря 2020. Архивировано 29 ноября 2020 года.
  68. BL602/BL604 RISC-V WiFi и Bluetooth 5.0 LE SoC будут продаваться по цене ESP8266 — CNXSoft- новости Android-приставок и встраиваемых систем . Дата обращения: 17 декабря 2020. Архивировано 1 марта 2021 года.
  69. Cmsemicon ANT32RV56xx is a RISC-V microcontroller for wireless charging . Дата обращения: 17 декабря 2020. Архивировано 17 декабря 2020 года.
  70. Каталог продукции компании ПАО «Микрон» . Дата обращения: 30 марта 2021. Архивировано 20 апреля 2021 года.
  71. RISC-V микроконтроллер MIK32 . www.mcu.mikron.ru. Дата обращения: 2 июля 2021. Архивировано 2 июля 2021 года.
  72. Flaherty, Nick. Espressif moves exclusively to RISC-V (амер. англ.). eeNews Europe (2 мая 2022). Дата обращения: 19 декабря 2023. Архивировано 19 декабря 2023 года.
  73. MIPS Goes Open Source | EE Times . Дата обращения: 27 января 2019. Архивировано 2 августа 2019 года.

Литература

[править |править код]

Ссылки

[править |править код]
Перейти к шаблону «External links»
Ссылки на внешние ресурсы
Перейти к шаблону «Внешние ссылки» Перейти к элементу Викиданных
  В социальных сетях
Фото, видео и аудио
Словари и энциклопедии
Перейти к шаблону «Технологии CPU»
Технологии цифровыхпроцессоров
Архитектура
Архитектура набора команд
Машинное слово
Параллелизм
Конвейер
Уровни
Потоки
Классификация Флинна
Реализации
Компоненты
Управление питанием
Перейти к шаблону «RISC-based processor architectures»
Процессорные архитектуры на базеRISC-технологий
Перейти к шаблону «Микроконтроллеры»
Архитектура
8 бит
16 бит
32 бита
Микросхемы фирмы ST в DIP14 корпусе
Производители
Компоненты
Периферия
Интерфейсы
ОС
Программирование
Перейти к шаблону «Микропроцессоры России»
«Миландр»
«Байкал Электроникс»
НПЦ «ЭЛВИС»
«ЭЛВИС-НеоТек»
НИИСИ
Юникор микросистемы
Ангстрем
НИИМА «Прогресс»
НТЦ «Модуль»
МЦСТ
Технофорт
«Мультиклет»
КМ211
MALT system
Syntacore
CloudBEAR
Источник —https://ru.wikipedia.org/w/index.php?title=RISC-V&oldid=151565435
Категории:
Скрытые категории: