4 ms·
RISC-V doesn't offer the same advantage over ARM that ARM has over x86, so that's unlikely to happen.
by acegopher 5y ago
RISC-V doesn't offer the same advantage over ARM that ARM has over x86, so that's unlikely to happen.
- edrxty 5y agoI work with RISC-V, it has a lot of features that are not yet well explored. In particular the instruction set extension mechanism is extremely robust and capable, allowing much more FPGA fabric integration that you currently see on ARM devices. As we move towards more programmable logic it'll be a massive advantage going forward.
- AgentOrange1234 5y agoThat sounds really interesting — what makes RISC-V better than ARM for this?
- edrxty 5y agoPartly the design of the core, partly the open source nature. Speaking from experience, it's really hard to push the envelope with ARM chips as they refuse to license them for FPGA deployments so there's not a lot of work being done there.
- varispeed 5y agoWhat stops anyone from implementing ARM ISA on FPGA? If you think of an ISA like an API - that's something that is not copyrightable, so in theory anyone could do ARM on FPGA. So I am guessing that nobody wants to bear the cost of such development and also risking potential lawsuit?
- edrxty 5y agoYeah, that's pretty much it. There's no real upside and you risk a lawsuit. There are plenty of other ISAs that will work and are licensable for FPGA development
- floatboth 5y agoAt the same time, the software world hates hardware fragmentation, so ISA extensions are the opposite of desired. RISC-V likely will dominate in microcontrollers and specialized/embedded devices. But in general purpose computers? Highly doubt it. Arm has a giant first mover advantage there now. Great momentum, excellent ecosystem. AWS Graviton2 basically sealed the deal.
- edrxty 5y agoThis is the really cool part, the ability to add custom instructions are part of the spec which makes them work through standard compilers. Any compiler that can build a RISC-V program can handle the custom instructions as inline assembly so all one needs to do is write a library to abstract them. Obviously you don't have the off-the-shelf ability for the compiler to insert the instructions automatically, but this is rarely the goal for small-to-medium projects. Example: https://nitish2112.github.io/post/adding-instruction-riscv/ https://nitish2112.github.io/post/adding-instruction-riscv/
- saagarjha 5y agoI don’t think the claim was that tooling could not handle these custom instructions; I think the claim was that nobody wants custom instructions in cross-platform software.