From WikiChip
Difference between revisions of "risc-v/standard extensions"
(Created page with "{{risc-v title|Standard Extensions}}{{risc-v isa main}} RISC-V has standardized a series of '''standard extensions''' beyond the integer base instructions which can be impleme...") |
|||
Line 1: | Line 1: | ||
{{risc-v title|Standard Extensions}}{{risc-v isa main}} | {{risc-v title|Standard Extensions}}{{risc-v isa main}} | ||
− | 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. | + | 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 == | ||
+ | By default, only the {{risc-v|integer base|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 {{risc-v|integer base|core ISA}}. Extensions can be implemented and omitted as desired. Those extensions are: | ||
+ | |||
+ | * '''{{risc-v|M}}''' - Integer multiplication and division instructions | ||
+ | * '''{{risc-v|A}}''' - Atomic instructions | ||
+ | * '''{{risc-v|F}}''' - Single-precision floating-point instructions | ||
+ | * '''{{risc-v|D}}''' - Double-precision floating-point instructions | ||
+ | * '''{{risc-v|Q}}''' - Quad-precision floating-point instructions | ||
+ | * '''{{risc-v|L}}''' - Decimal floating point instructions | ||
+ | * '''{{risc-v|C}}''' - Compressed instructions | ||
+ | * '''{{risc-v|B}}''' - Bit manipulation instructions | ||
+ | * '''{{risc-v|J}}''' - Dynamically translated languages | ||
+ | * '''{{risc-v|T}}''' - Transactional Memory instructions | ||
+ | * '''{{risc-v|P}}''' - Packed-SIMD instructions | ||
+ | * '''{{risc-v|V}}''' - Vector operations instructions | ||
+ | * '''{{risc-v|N}}''' - User-level interrupt instructions |
Revision as of 23:33, 11 December 2017
RISC-V
Instruction Set Architecture
Instruction Set Architecture
General
Base Variants(base)
Standard Extensions(all)
Topics
- Foundation
- Non-Standard Extensions
- Addressing Modes
- Registers
- Assembly
- Interrupts
- Microarchitectures
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
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. Extensions can be implemented and omitted as desired. Those extensions are:
- M - Integer multiplication and division instructions
- A - Atomic instructions
- F - Single-precision floating-point instructions
- D - Double-precision floating-point instructions
- Q - Quad-precision floating-point instructions
- L - Decimal floating point instructions
- C - Compressed instructions
- B - Bit manipulation instructions
- J - Dynamically translated languages
- T - Transactional Memory instructions
- P - Packed-SIMD instructions
- V - Vector operations instructions
- N - User-level interrupt instructions