|
|
|
|
|
by joachimma
1006 days ago
|
|
Anyone have some insight into why RISC-V seems to be getting traction? Has there not been prior attempts to make an open source cpu? Is there a lot of skill in making the ISA? It seems to me (naively) that most talented EE students could probably come up with their own ISA, or is there some "magic" in the RISC-V one? I assume that there are a reference implementations in VHDL/Verilog and Cadence and good support in compilers. Is this what pushed through, where others failed? |
|
A number of open source RISC-V CPU core implementations do exist -- including the THead C910, currently the highest performance RISC-V CPU you can buy at retail, used in the quad core TH1520 chip (Sipeed Lichee Pi 4A, BeagleBoard Ahead, Milk-V Meles, Roma laptop) and 64 core SG2042 chip (Milk-V Pioneer, an as yet unnamed dual socket board from PerfXLab, others coming soon). But there is no requirement to make RISC-V core open source.
There have certainly been other attempts to create an open ISA or CPU, either from scratch or else relicensing a previously proprietary design.
The problems with them which caused the RISC-V guys to make something new rather than use something existing included:
- unsuitable license e.g. GPL
- 32 bit only (OpenRISC, SPARC)
- all the opcode space already used, no room for future extension
- poor code density or other ISA problems e.g. delay slots
A number of existing ISAs have been made more open since RISC-V was developed, including POWER and MIPS, but have been basically too late and also simply too restrictive and even not irrevocably open e.g. MIPSOPen which was not all that open and was re-closed after just six months (and MIPS make RISC-V now).
It's true that it's very easy to make up your own ISA, but it's hard to get it to be both good and also not similar enough to something else to get you sued.
And once you have your own ISA where does the software come from? Making or porting compilers and operating systems and everything is a task many orders of magnitude larger than designing an ISA or CPU core.