From WikiChip
Standard Extensions - RISC-V
< risc-v

RISC-V
Instruction Set Architecture
General
Base Variants(base)
Standard Extensions(all)
Topics

v · d · e

RISC-V has standardized a series of standard extensions beyond the integer base instructions which can be implemented or omitted as desired depending on the design goals (e.g. energy/area/performance/storage goals).

Overview[edit]

By default, only the core ISA must be implemented presenting great opportunity for area and energy optimization. However, additional functionality is sometimes desired. RISC-V comes with a series of standard extensions that enable additional functionality beyond the core ISA such as floating point and operations and bit manipulation. Extensions can be implemented and omitted as desired. Those extensions are:

  • A - Atomic instructions
  • B - Bit manipulation instructions
  • C - Compressed instructions
  • D - Double-precision floating-point instructions
  • E - Embedded applications, resource-constrained subset
  • F - Single-precision floating-point instructions
  • G - General (I + M + A + F + D)
  • I - Integer base instructions
  • J - Dynamically translated languages
  • L - Decimal floating point instructions
  • M - Integer multiplication and division instructions
  • N - User-level interrupt instructions
  • P - Packed-SIMD instructions
  • Q - Quad-precision floating-point instructions
  • T - Transactional Memory instructions
  • V - Vector operations instructions

Naming Convention[edit]

RISC-V defines an exact order that must be used to define the RISC-V ISA subset:

RV [32, 64, 128] I, M, A, F, D, G, Q, L, C, B, J, T, P, V, N

For example, RV32IMAFDQC is legal, whereas RV32IMAFDCQ is not.