.. _isa_overview: Nuclei RISC-V Instruction Set Overview ====================================== RISC-V ISA Modules supported by Nuclei Core ------------------------------------------- Nuclei processor core follows the RISC-V instruction set standard (riscv-spec-v2.2.pdf), user can easily get the original copy (riscv-spec-v2.2.pdf) from |nuclei_user_center| or from other public channels. RISC-V is the configurable modular instruction set. Nuclei processor core support the following instruction set modules: - RV32E: 32bits architecture, with 16 general purpose registers - RV32I: 32bits architecture, with 32 general purpose registers - RV64I: 64bits architecture, with 32 general purpose registers - M: Integer Multiplication and Division instructions - C: Compressed Instructions as 16bits Encoding to reduce code size - A: Atomic Instructions - F: Single-Precision Floating-Point Instructions - D: Double-Precision Floating-Point Instructions - P: Packed-SIMD Instructions According to the naming rule from RISC-V standard, the above mentioned instruction set module can be combined, e.g., RV32IMAC, RV32IMFC, RV32IMAFDC, RV32IMAFDCP, etc. RISC-V standard also use the abbreviation G for the IMAFD combination, hence, RV32IMAFDC or RV64IMAFDC can be also abbreviated as RV32GC or RV64GC. Nuclei Processor Core Classes: N, NX and UX ------------------------------------------- To differentiate the IP products with different positions, Nuclei divide the core products into 3 classes: - Nuclei N class: support RV32I or RV32E, for the 32bits microcontroller applications. - Nuclei N100 series core only support RV32E. .. note:: * N100 is an extremely tiny-area core, which is not following the architectural spec in this document. * N100 has its own dedicated architectural spec. Please visit `N100 Product`_ for more information. - Nuclei N200 series core can be configured to support RV32E or RV32I. - Nuclei N300, N600, N900 series core only support RV32I. - Nuclei NX class: support RV64I without MMU, for the 64bits microcontroller applications. - Nuclei UX class: support RV64I with MMU, for the 64bits Linux capable applications. - The MMU can also be turned off by software, in this mode, UX class core can also work as microcontroller, i.e., Nuclei UX class core is downward-compatible to Nuclei NX class core. .. _N100 Product: http://www.nucleisys.com/product.php?site=n100