Re:Major Changes at RISC-V Designer SiFive
by KingLancelot on Tuesday October 24, 2023 @10:00AM
(#37999287)
Why not treat it like Unicode does and just have two marker instructions before and after the compressed ones?
Start compressed instructions <size>
Compressed instructions
End compressed instructions <size>
Re:Major Changes at RISC-V Designer SiFive
by _a_a_a_ on Tuesday October 24, 2023 @10:31AM
(#37999684)
If I understand you correctly, the guy I'm responding to is proposing allowing the mixing of different sized instructions. Your suggestion effectively says "I'm starting a run of compressed instructions/I'm finishing a run of compressed instructions" which is a different proposition. Just my take though.
Which Unicode encoding are you talking about? It sounds a bit like you're talking about UTF-16 conjugate pairs, but that's not how those work. It's not how UTF-8 or UTF-32 work. So, which encoding is this?
Re:Major Changes at RISC-V Designer SiFive
by TanjB on Tuesday October 24, 2023 @12:06PM
(#38001148)
Interesting idea. Effectively moving the extra decode stage in front of the Icache, making the Icache a bit like a CISC trace/microOp cache. On a 512b line you would add 32 bits to mark the instruction boundaries. At which point you start to wonder if there is anything else worth adding that simplifies the later decode chain. And if the roughly 5% adder to Icache size (figuring less than 1/16th since a lot of shared overhead) is worth it.
Why not? as I said, so you can have full-length instructions!
And you can store it together in the same fetchable unit - the cache line (my option 2)