RISC-V este un ISA (instruction set architecture) liber/deschis care permite o noua era de inovare-procesor printr-o colaborare deschisa. Nascut în mediul academic si de cercetare, RISC-V ISA ofera un nou nivel de software liber, extensibil de arhitectura hardware. RISC-V ISA a fost initial dezvoltat în Departamentului EECS de la Universitatea din California, Berkeley. Fundatia RISC-V cuprinde mai mult de 100 de organizatii membre.
SiFive (fondat de creatorii arhitecturii RISC-V, ca o reactie la escaladarea costurilor procesoarelor conventionale) anunta o platforma SoC open-source bazat pe RISC-V si arhitecturi NVDLA.
- RISC-V este o arhitectura set de instructiuni (ISA) , cum ar fi x86 sau arhitectura ARM ce este open source.
- NVDLA (NVIDIA Deep Learning Accelerator), este un accelerator proiectat special pentru a utiliza arhitectura modulara. Arhitectura NVDLA poate fi programata în doua moduri de functionare: modul independent, si modul de condensat.
Sunt 3 arhitecturi open source mai cunoscute:
- OpenSparc este o implementare open source multi-core a SUN UltraSPARC, procesoare pe 64 de biti, licentiat sub GPLv2.
- Amber este un procesor compatibil ARMv2, licentiat LGPL
- OpenRISC - arhitectura pe 64-bit, open source RISC, licentiat sub LGPL.
Termenul „RISC“ dateaza din 1980. Academicienii a creat instructiunea RISC set DLX la prima editie a Computer Architecture: A Quantitative Approach în 1990. RISC este "fully supported" cu GCC si Linux . Are putine implementari comerciale
De asemenea, exista mai multe procesoare open source concepute pentru scopuri diferite. Aici puteti gasi o comparatie de procesoare open source:
Processor | Architecture | FPU | OS | MMU | HW Multi-threaded | Multi/Many-core/GPU | Prototype Core Count | NoC | HDL | Back-end Scripts | Licenta |
---|---|---|---|---|---|---|---|---|---|---|---|
aeMB | 32b MicroBlaze | N | Y | N | Y | No | - | N | Verilog | N | LGPL v3 |
AltOr32 | 32b ORBIS | N | Y | N | N | No | - | N | Verilog | N | LGPL v3 |
Amber | 32b ARM v2a | N | Y | N | N | No | - | N | Verilog | N | LGPL |
Ariane | 64b RISC-V | N | Y | N | N | Manycore | FPGA/1, ASIC/1 | N | SysVerilog | N | Solderpad |
BERI | 64b MIPS/CHERI | Y | Y | Y | Y (BERI2) | Multicore | FPGA/4 | N | Bluespec | N | BERI HW-SW |
CPU86 | 16b x86 | N | Y | N | N | No | - | N | VHDL | N | GPL |
LatticeMico32 | 32b LatticeMico32 | N | Y | N | N | No | - | N | Verilog | N | GPL |
LEON 3 | 32b SPARC V8 | Y ($) | Y | Y | N | SMP/AMP | - | N | VHDL | N | GPL |
MIAOW GPGPU | AMD Southern Islands | Y | N | N | Y | GPU | FPGA/1 | Y | Verilog | N | BSD 3-Clause & GPL v2 |
MIPS32 r1 | 32b MIPS32 r1 | N | Y | N | Y | No | - | N | Verilog | N | LGPL v3 |
openMSP430 | 16b MSP430 | N | Y (RTOS) | N | N | SMP | FPGA/2, ASIC/3 | N | Verilog | Y (Synth.) | BSD |
OpenPiton | 64b SPARC V9 | Y | Y | Y | Y | Manycore | FPGA/4, ASIC/25 | Y | Verilog | Y | BSD 3-Clause & GPL v2 |
OpenRISC | 32b/64b ORBIS | Y | Y | Y | N | No | - | N | Verilog | N | LGPL |
OpenScale | 32b MicroBlaze | N | Y (RTOS) | N | N | Manycore | FPGA/6 | Y | VHDL | N | GPL v3 |
OpenSPARC T1/T2 | 64b SPARC V9 | Y | Y | Y | Y | Multicore | ASIC/8 | N | Verilog | N | GPL v2 |
pAVR | 8b AVR | N | N | N | N | No | - | N | VHDL | N | GPL v2 |
PULP-RI5CY | 32b RISC-V | Y | Y (RTOS) | N | N | Manycore | FPGA/64, ASIC/9 | N | SysVerilog | N | Solderpad |
RISC-V Boom | 64b RISC-V | Y | Y | Y | N | Manycore | FPGA/1 | Y | Chisel | Y | BSD 3-Clause |
RISC-V Rocket | 64b RISC-V | Y | Y | Y | N | Manycore | ASIC/2 | Y | Chisel | Y | BSD 3-Clause |
SecretBlaze | 32b MicroBlaze | N | N | N | N | No | - | N | VHDL | N | GPL v3 |
Simply RISC S1 | 64b SPARC V9 | Y | Y | Y | N | No | - | N | Verilog | N | GPL v2 |
XUM | 32b MIPS32 r2 | N | Y | N | Y | Manycore | FPGA/8 | Y | Verilog | N | LGPL v3 |
Zeroriscy | 32b RISC-V | N | Y (RTOS) | N | N | Manycore | FPGA/1, ASIC/1 | N | SysVerilog | N | Solderpad |
Zet | 16b x86 | N | Y | N | N | No | - | N | Verilog | N | GPL v3 |
ZPU | 32b MIPS | N | Y | N | N | No | - | N | VHDL | N | FreeBSD & GPL |