News for hackers. Stuff that matters.
Re:Minimax: A Compressed-First, Microcoded RISC-V CPU by gsmecher on Tuesday November 01, 2022 @11:41AM (#33422718)
RISC-V's compressed instruction (RVC) extension is intended as an add-on to the regular, 32-bit instruction set, not a replacement or competitor. Its designers intended RVC instructions to be expanded into regular 32-bit RV32I equivalents via a pre-decoder.

What happens if we explicitly architect a RISC-V CPU to execute RVC instructions, and "mop up" any RV32I instructions that aren't convenient via a microcode layer? What architectural optimizations are unlocked as a result?

"Minimax" is an experimental RISC-V implementation intended to establish if an RVC-optimized CPU is, in practice, any simpler than an ordinary RV32I core with pre-decoder. While it passes a modest test suite, you should not use it without caution. (There are a large number of excellent, open source, "little" RISC-V implementations you should probably use reach for first.)

Re:Minimax: A Compressed-First, Microcoded RISC-V CPU by thrtythreeforty on Tuesday November 01, 2022 @02:02PM (#33424924)
This is very impressive, especially the performance per LUT! Did I overlook frequency spec on a given target or did you not specify?

Will the execute stage pipeline effectively to reach higher f_max? (Of course there will be a small logic penalty, and a larger FF penalty, but the core is small enough that it would probably be tolerable.) Or is the core's whole architecture predicated on a two stage design?

Re:Minimax: A Compressed-First, Microcoded RISC-V CPU by gsmecher on Tuesday November 01, 2022 @02:32PM (#33425391)
This core is targeted at "smaller-is-better" applications with few actual instruction-throughput requirements. If it reaches 200 MHz on a Xilinx KU060, I will be delighted. (That specific clock frequency on that specific part carries heavy hints about what this core is intended for.)

With that in mind: the single instruction-per-clock design is for simplicity's sake, not performance's sake. If the execution stage were pipelined, it'd be a different core. If performance is the goal, I'd start by ripping out some of the details that distinguish this core from other (excellent) RISC-V cores.

Re:Minimax: A Compressed-First, Microcoded RISC-V CPU by varispeed on Tuesday November 01, 2022 @02:48PM (#33425675)
KU060 costs a nice sum of £4,529.10 on Mouser (out of stock of course)
Re:Minimax: A Compressed-First, Microcoded RISC-V CPU by Teknoman117 on Tuesday November 01, 2022 @03:18PM (#33426047)
> out of stock of course

I picked probably the worst time imaginable to get into FPGAs. All of my "higher" end stuff is repurposed mining hardware...

Re:Minimax: A Compressed-First, Microcoded RISC-V CPU by alex7o on Tuesday November 01, 2022 @08:54PM (#33430066)
That is actually a good time, because some of it can get super expensive. Also the mining ones just end up in landfills if nobody buys them.
Re:Minimax: A Compressed-First, Microcoded RISC-V CPU by speed_spread on Tuesday November 01, 2022 @09:16PM (#33430248)
Mining landfills is the way. Future generations will not believe how much magic we threw away.
Re:Minimax: A Compressed-First, Microcoded RISC-V CPU by wildzzz on Wednesday November 02, 2022 @09:44AM (#33435634)
A fully space-qualified version is something like $150k.
Re:Minimax: A Compressed-First, Microcoded RISC-V CPU by gaudat on Tuesday November 01, 2022 @02:55PM (#33425777)
Poor man's Tile64?
Re:Minimax: A Compressed-First, Microcoded RISC-V CPU by thatcherc on Tuesday November 01, 2022 @03:09PM (#33425931)
> 200 MHz on a Xilinx KU060

> (That specific clock frequency on that specific part carries heavy hints about what this core is intended for.)

Fun clue! Looks like the Xilinx KU060 is a rad-hard FPGA for space applications. Does anyone know what 200 MHz might imply? Comms maybe?

Re:Minimax: A Compressed-First, Microcoded RISC-V CPU by tomcam on Tuesday November 01, 2022 @02:36PM (#33425461)
> RISC-V's compressed instruction (RVC) extension is intended as an add-on

Doesn’t it make this… an IISC? Increased instruction set? Asking for a friend

Re:Minimax: A Compressed-First, Microcoded RISC-V CPU by znwu on Tuesday November 01, 2022 @03:31PM (#33426239)
RISC no longer has the clear border as it had 30 years ago. Nowadays RISC just means an ISA has most of the following points: 1. Load/Store architecture 2. Fixed-length instructions or few length variations. 3. Highly uniform instruction encoding. 4. Mostly single-operation instructions.

These four points all have direct benefits on hardware design. And compressed ISA like RVC and Thumb checks them all.

On the contrary, "fewer instruction types", "orthognoal instructions" never had any real benefit beyond perceptual aesthetics, so as a result they are long abandoned.