| ISA | Description |
|---|---|
| RV32I | Provide 32-bit address spaces. |
| RV64I | Provide 64-bit address spaces. |
| RV32E | A variant of the RV32I base instruction set, which has half the number of integer registers. |
| RV128I | Provide a flat 128-bit address space. |
Each base integer ISA can be extended with one or more optional instruction-set extensions, and RISC-V foundation divides each RISC-V instruction-set encoding space (and related encoding spaces such as the CSRs) into three disjoint categories:
Table 1. Standard Extensions
| Symbol | Name | Description |
|---|---|---|
I | Base integer ISA | Contains integer computational instructions, integer loads, integer stores, and control- flow instructions. |
M | Integer multiplication and division extension | Adds instructions to multiply and divide values held in the integer registers |
A | Atomic instruction extension | Adds instructions that atomically read, modify, and write memory for inter-processor synchronization. |
F | Single-precision floating-point extension | Aadds floating-point registers, single-precision computational instructions, and single-precision loads and stores. |
D | Double-precision floating-point extension | Expands the floating-point registers, and adds double-precision computational instructions, loads, and stores. |
C | Compressed instruction extension | Provides narrower 16-bit forms of common instructions |
IALIGN ILEN IALIGN.Table 2. Instruction-length encoding convention
| Length(bit) | Convention |
|---|---|
| 16 | bits [1:0] equal to 00, 01, or 10. |
| 32 | bits [1:0] equal to 11. |
| 48 | bits [5:0] equal to 011111. |
| 64 | bits [6:0] equal to 0111111. |
| [80, 176] | - bits [14:12] giving the number of 16-bit words in addition to the first 5×16-bit words. - bits[6:0] equal to 1111111. |
| >= 192 (Reserved) | bits [14:12] equal to 111', bits [6:0] equal to 1111111''. |
Figure 1. RISC-V instruction length encoding