“.. our goal is grander: just as Linux has become the standard OS for most computing devices, we envision RISC-V becoming the standard ISA for all computing devices.”
Please note the use of ‘the standard’ (ie singular) rather than ‘a standard’.
Rather than make this a binary question as to whether you agree with this or not, I thought it would be worth broadening the options out a bit and asking it in the context of a specific timeframe.
Please vote in the poll and share your thoughts in the comments thread.
Even after over 30 years Linux is neither a standard nor the most popular. I use a given distribution as my daily driver, but there is software made for other distributions that I can't run on mine. RISC-V has never been guided by the needs of a market, and so I think ARM will continue to be the Windows of ISAs. RISC-V doesn't offer anything above ARM other than license cost, and most companies will bear the license cost for the support, peripherals (bus, etc.), implementation help around the CPU as well as the tooling and community, which RISC-V still lacks. So I believe it will gain popularity, and may even find some niches where it will dominate, but it will always be niche.
Linux is the most popular OS by far. Versions of Linux are all over the place: Android devices, embedded space, all kinds of smaller machines, server space, supercomputers - all of that is absolutely dominated by Linux.
And desktop space, which you are most likely talking about, just doesn't have the need for open standard OS, unfortunately. It's the industry that needs to pour resources into it, and apart from Valve and RedHat, I don't see too many parties interested in investing in desktop Linux.
So, to follow this Linux analogy: RISC-V is already unifying superdiversified spaces (microcontrollers), embedded, specialized stuff... The secret here is that almost nobody in the industry is tied to a particular ISA. And I don't see why RISC-V can't eventually start eating the giant's pie. I suspect it already does.
20 years is a long time, the span from 6502 to Pentium 4.
I chose "the standard," but I wish to caveat a bit. I think it will be the standard for new projects going forward. You can already see people moving in that direction today; the currently limiting factor is the immaturity of the implementations.
Further questions:
- what subset of RISC-V? It's not an ISA so much as building blocks to produce your own ISA.
- will ARM ever get past the denial stage? For ARM to remain viable for new projects, they'll need to give licensees more freedom and open up in other ways. It's not yet too late, but at some point the licensees will just do their own thing with RISC-V.
I suspect that for an ISA to "take over" it must be *better* and not just open. We've had several open 32/64-bit RISC ISAs (SPARC, OpenRisc, etc). Unless an ISA enables a radically different implementation (as does, say, a GPU ISA) then it's just another CPU ISA. Folks using GPUs don't think of the ISA, they don't care and probably even don't know if it changes, as long as it enables high performance. They think at a higher level -- C code with hints for parallelism and libraries libraries libraries. I suspect CPU users are also caring less about ISA, with an ever growing percentage of CPU happening in the Cloud, whose operators have the incentive and the ability to switch ISAs if/when a CPU *implementation* warrants it ... which explains why ARM has the interest of Cloud folks (their ability to switch) while not having taken over from x86 (the CPUs don't warrant it). Heck Apple even switches ISA every few years in their Macs (68K->PowerPC->x86->ARM!!!) and just deals with a few years of transition via emulation and fat binaries and such. So it's not like ARM is secure even in the iPhone if some new ISA enabled significant power savings or performance. If someone comes up with a CPU *implementation* that pulls some significant perf/power out of a hat, everyone will flock to it, regardless of the ISA. Like they did with GPUs. But if there isn't a significant improvement, they won't bother switching from whatever they are using. RISC-V needs to show some PPA advantage. I don't think drawing parallels vs Linux is easy because chips have huge inherent cost and an open vs closed CPU is hardly a blip, but, I would argue that even Linux won (where it did, anyway) not because it was open or free, but because it was BETTER. If a license for Windows CE or VxWorks or Solaris or whatever actually got you a faster, more stable, easier to use OS, people would've kept using those. I'm not ignorant of the fact that Linux's openness was key to making it better ... my point is that it had to be better, and I'm not clear how RISC-V enables a better CPU than ARM or x86.
The effort and time required to verify the design of a RISC CPU, that would run applications at exactly the same speed (wall-clock time) as a CISC CPU, is larger than the effort and time required to verify the design of the CISC CPU. The OoO (out-of-order) logic of the RISC CPU is, by definition/necessity, larger than OoO logic of the CISC CPU if application performance is the same.
There should have been a “superseded” option. I realize its an extensible architecture so it can supersede itself. But it can’t become radically different. 20 years is a long time. We are overdue a fundamental paradigm shift in how we think about the overall computing architecture. Humans may no longer be creating, understanding or giving cute names to ISAs by 2043.
Even after over 30 years Linux is neither a standard nor the most popular. I use a given distribution as my daily driver, but there is software made for other distributions that I can't run on mine. RISC-V has never been guided by the needs of a market, and so I think ARM will continue to be the Windows of ISAs. RISC-V doesn't offer anything above ARM other than license cost, and most companies will bear the license cost for the support, peripherals (bus, etc.), implementation help around the CPU as well as the tooling and community, which RISC-V still lacks. So I believe it will gain popularity, and may even find some niches where it will dominate, but it will always be niche.
Linux is the most popular OS by far. Versions of Linux are all over the place: Android devices, embedded space, all kinds of smaller machines, server space, supercomputers - all of that is absolutely dominated by Linux.
And desktop space, which you are most likely talking about, just doesn't have the need for open standard OS, unfortunately. It's the industry that needs to pour resources into it, and apart from Valve and RedHat, I don't see too many parties interested in investing in desktop Linux.
So, to follow this Linux analogy: RISC-V is already unifying superdiversified spaces (microcontrollers), embedded, specialized stuff... The secret here is that almost nobody in the industry is tied to a particular ISA. And I don't see why RISC-V can't eventually start eating the giant's pie. I suspect it already does.
Was tempted to go for "Not standard but most popular ISA" but realism held me back. Incumbency is powerful and there are many barriers to change.
20 years is a long time, the span from 6502 to Pentium 4.
I chose "the standard," but I wish to caveat a bit. I think it will be the standard for new projects going forward. You can already see people moving in that direction today; the currently limiting factor is the immaturity of the implementations.
Further questions:
- what subset of RISC-V? It's not an ISA so much as building blocks to produce your own ISA.
- will ARM ever get past the denial stage? For ARM to remain viable for new projects, they'll need to give licensees more freedom and open up in other ways. It's not yet too late, but at some point the licensees will just do their own thing with RISC-V.
I think ARM is out of the denial stage. They worked with Apple on custom ISA extensions (https://bytecellar.com/2022/11/16/a-secret-apple-silicon-extension-to-accommodate-an-intel-8080-artifact/) and Armv8-M ISA has custom instructions (in part to placate customers and fend off RISC-V).
I suspect that for an ISA to "take over" it must be *better* and not just open. We've had several open 32/64-bit RISC ISAs (SPARC, OpenRisc, etc). Unless an ISA enables a radically different implementation (as does, say, a GPU ISA) then it's just another CPU ISA. Folks using GPUs don't think of the ISA, they don't care and probably even don't know if it changes, as long as it enables high performance. They think at a higher level -- C code with hints for parallelism and libraries libraries libraries. I suspect CPU users are also caring less about ISA, with an ever growing percentage of CPU happening in the Cloud, whose operators have the incentive and the ability to switch ISAs if/when a CPU *implementation* warrants it ... which explains why ARM has the interest of Cloud folks (their ability to switch) while not having taken over from x86 (the CPUs don't warrant it). Heck Apple even switches ISA every few years in their Macs (68K->PowerPC->x86->ARM!!!) and just deals with a few years of transition via emulation and fat binaries and such. So it's not like ARM is secure even in the iPhone if some new ISA enabled significant power savings or performance. If someone comes up with a CPU *implementation* that pulls some significant perf/power out of a hat, everyone will flock to it, regardless of the ISA. Like they did with GPUs. But if there isn't a significant improvement, they won't bother switching from whatever they are using. RISC-V needs to show some PPA advantage. I don't think drawing parallels vs Linux is easy because chips have huge inherent cost and an open vs closed CPU is hardly a blip, but, I would argue that even Linux won (where it did, anyway) not because it was open or free, but because it was BETTER. If a license for Windows CE or VxWorks or Solaris or whatever actually got you a faster, more stable, easier to use OS, people would've kept using those. I'm not ignorant of the fact that Linux's openness was key to making it better ... my point is that it had to be better, and I'm not clear how RISC-V enables a better CPU than ARM or x86.
The effort and time required to verify the design of a RISC CPU, that would run applications at exactly the same speed (wall-clock time) as a CISC CPU, is larger than the effort and time required to verify the design of the CISC CPU. The OoO (out-of-order) logic of the RISC CPU is, by definition/necessity, larger than OoO logic of the CISC CPU if application performance is the same.
There should have been a “superseded” option. I realize its an extensible architecture so it can supersede itself. But it can’t become radically different. 20 years is a long time. We are overdue a fundamental paradigm shift in how we think about the overall computing architecture. Humans may no longer be creating, understanding or giving cute names to ISAs by 2043.