What is RISC-V and why it matters to Canonical
91 points
2 days ago
| 6 comments
| ubuntu.com
| HN
storus
2 hours ago
[-]
Will RISC-V end up with the same (or even worse) platform fragmentation as ARM? Because of absence of any common platform standard we have phones that are only good for landfill once their support lifetime is up, drivers never getting upstreamed to Linux kernel (or upstreaming not even possible due to completely quixotic platforms and boot protocols each manufacturer creates). RISC-V allows even higher fragmentation in the portions of instruction sets each CPU supports, e.g. one manufacturer might decide MUL/DIV are not needed for their CPU etc. ("M" extension).
reply
hajile
2 hours ago
[-]
RVA23 is the standard target for compilers now. If you support newer stuff, it’ll take a while before software catches up (just like SVE in ARM or AVX in x86).

If you try to make your own extensions, the standard compiler flags won’t be supporting it and it’ll probably be limited to your own software. If it’s actually good, you’ll have to get everyone on board with a shared, open design, then get it added to a future RVA standard.

reply
storus
1 hour ago
[-]
Thanks, that however addresses only a part of the problem. ARM is also suffering from no boot/initialization standard where each manufacturer does it their own way instead of what PC had with BIOS or UEFI, making ARM devices incompatible with each other. I believe the same holds with RISC-V.
reply
Findecanor
1 hour ago
[-]
There is a RISC-V Server Platform Spec [0] on the way supposed to standardise SBI, UEFI and ACPI for server chips, and it is expected to be ratified next month. (I have not read it myself yet)

[0]: https://github.com/riscv-non-isa/riscv-server-platform

reply
hajile
1 hour ago
[-]
There has been concerted effort to start working on these kinds of standards, but it takes time to develop and reach a consensus.

Some stuff like BRS (Boot and Runtime Services Specification)and SBI (Supervisor Binary Interface) already exist.

reply
indolering
2 hours ago
[-]
The answer is unequivocally yes: RISC-V is designed to be customizable and a vendor can put whatever they like into a given CPU. That being said, profiles and platform specs are designed to limit fragmentation. The modular design and core essential ISA also makes fat binaries much more straight-forward to implement than other ISAs.
reply
hajile
1 hour ago
[-]
You can choose to develop proprietary extensions, but who’s going to use them?

A great case study is the companies that implemented the pre-release vector standard in their chips.

The final version is different in a few key ways. Despite substantial similarities to the ratified version, very few people are coding SIMD for those chips.

If a proprietary extension does something actually useful to everyone, it’ll either be turned into an open standard or a new open standard will be created to replace it. In either case, it isn’t an issue.

The only place I see proprietary extensions surviving is in the embedded space where they already do this kind of stuff, but even that seems to be the exception with the RISCV chips I’ve seen. Using standard compilers and tooling instead of a crappy custom toolchain (probably built on an old version of Eclipse) is just nicer (And cheaper for chip makers).

reply
ddtaylor
3 hours ago
[-]
I stopped listening to what Canonical says. They often get involved in things and disturb the ecosystem then abandon stuff or dig a "not invented here" hole.

Unity, Bazaar, Mir, Upstart, Snap, etc.

All of them had existing well established projects they attempted to uproot for no purpose other than Canonical wanted more control but they can't actually operate or maintain that control.

reply
justinclift
2 hours ago
[-]
reply
duskwuff
2 hours ago
[-]
Or ansible/chef/etc -> Juju. There's a lot of NIH to pick from at Canonical.
reply
loloquwowndueo
1 hour ago
[-]
The project bzr was trying to uproot may not be the one you’re thinking of. First release of Bzr predates git by about a month.
reply
Redoubts
1 hour ago
[-]
In a way it's really sad how many swings and misses Canonical has taken in its history.
reply
unethical_ban
3 hours ago
[-]
Not sure on the timelines, but snap, upstart and Mir were all attempts at evolving Linux ecosystem that lost to RedHat-backed systems. Unity was legit abandoned, and bazaar... Not sure what they were trying to solve there with git and forges already existing.
reply
foresto
58 minutes ago
[-]
> bazaar... Not sure what they were trying to solve there with git and forges already existing.

You are mistaken here. Bazaar, Mercurial, and Git appeared at about the same time, and I think Bazaar was released first.

IIRC, Bazaar tried to distinguish itself by handling renames better than other version control systems. In practice, this turned out not to be very important to most people.

(Tangent: It wasn't clear at the time whether Mercurial or Git was the better pick. Their internal design was very similar. Mercurial offered a more pleasant user interface, superior cross-platform support, and a third advantage that I'm forgetting at the moment. Git had unbeatable author recognition. Eventually, Git's improved Windows support and the arrival of GitHub sealed its victory in the popularity contest. But all of that came to pass well after Bazaar was released.)

reply
ddtaylor
1 hour ago
[-]
Wayland was created in 2008. Mir was created in 2013.

Bazaar and Git were created around the exact same time.

Unity was abandoned after a failed attempt to circumvent Gnome 3. I was actually involved with the development of Compiz and they hired Sam to work on Unity, as he was one of the masterminds behind Compiz, but again they just didn't have the vision or execution to make it work.

reply
loloquwowndueo
1 hour ago
[-]
> Not sure what they were trying to solve there with git and forges already existing.

What?

Bzr predates git (by a few days but still). Launchpad predated GitHub by a lot. canonical just played those cards horribly and lost.

reply
maxloh
1 hour ago
[-]
Snap is definitely not abandoned.
reply
esperent
1 hour ago
[-]
Sadly
reply
sharts
1 hour ago
[-]
It’s canonically fucked
reply
ljhsiung
3 hours ago
[-]
> Enabling new business models

This is true, but only for the bigger players. The nature of hardware still fundamentally favors scale and centralization. Every hyper-scalar eventually gets to a size that developing in-house CPU talent is just straight up better (Qcom and Ventana + Nuvia, Meta and Rivos, Google's been building their own team, Nvidia and Vera-Rubin, God help Microsoft though). This does not bode well for RISC-V companies, who are just being used as a stepping stone. See Anthropic, who does currently license but is rumored to develop their own in-house talent [1].

> Extensibility powers technology innovation

>> While this flexibility could cause problems for the software ecosystem...

"While" is doing some incredible heavy lifting. It is not enough to be able to run Ubuntu, as may be sufficient for embedded applications, but to also be fast. Thusly, there are many hardcoded software optimizations just for a CPU, let alone ARM or x86. For RISC-V? Good luck coding up every permutation of an extension that exists, and even if it's lumped as RVA23, good luck parsing through 100 different "performance optimization manuals" from 100 different companies.

> How mature is the software ecosystem?

10 years ago, when RISC-V was invented, the founders said 20 years. 10 years later, I say 30 years.

The nature of hardware as well, is that the competition (ARM) is not stationary as well. The reason for ARM's dominance now is the failure of Intel, and the strong-arming of Apple.

I have worked in and on RISC-V chips for a number of years, and while I am still a believer that it is the theoretical end state, my estimates just feel like they're getting longer and longer.

[1]: https://www.reuters.com/business/anthropic-weighs-building-i...

reply
stuxnet79
4 hours ago
[-]
Not my area of expertise but what exactly is the difference between RISC-V and Power PC? Didn't Power-PC get a good run in the 90s and 2000s? Just wondering why there's renewed interest in RISC-like architectures when industry already had a good exploration of that area.
reply
invalidator
2 hours ago
[-]
The interest is BECAUSE it's well explored territory. The concept is proven and works fine.

On the low end where RISC-V currently lives, simplicity is a virtue.

On the high end, RISC isn't inherently bad; it just couldn't keep up on with the massive R&D investment on the x86 side. It can go fast if you sink some money into it like Apple, Qualcomm, etc have done with ARM.

reply
Joker_vD
2 hours ago
[-]
Ah, PowerPC. For a RISC processor it surely had a lot of instructions, most of them quite peculiar. But hey, it had fixed-length instruction encoding and couldn't address memory in instructions other than "explicit memory load/store", so it was RISC, right?
reply
bobmcnamara
36 minutes ago
[-]
Also load/store backwards, but no reverse the register instructions
reply
Chyzwar
4 hours ago
[-]
It is Chinese companies looking for ARM alternative that push this otherwise mediocre ISA.

It is possible that ARM based CPUs will start eating x86 market slowly. See snapdragon X2 and upcoming Nvidia CPU. Maybe in 10 years new computers will be ARM based and a lot of IoT will run on risc-5.

reply
topspin
4 hours ago
[-]
"It is Chinese companies looking for ARM alternative"

The V in RISC-V represents iteration of the ISA, over the last 46 years, most of which occurred in the US, mainly at Berkeley.

reply
aappleby
4 hours ago
[-]
Why "mediocre"? I've written production assembly language for a half-dozen different processor architectures and RISC-V is my favorite by far.
reply
mikestorrent
3 hours ago
[-]
You should write an article on that explaining why you like it to the common man
reply
bobmcnamara
35 minutes ago
[-]
Really? Didn't China pirate the entire ARM China company and start spamming cores like Star1
reply
mikestorrent
3 hours ago
[-]
x86_64 machines are RISC under the hood and have been for ages, I believe; microcode is translating your x64 instructions to risc instructions that run on the real CPU, or something akin to that. RISC never died, CISC did, but is still presented as the front-facing ISA because of compatibility.
reply
wk_end
2 hours ago
[-]
That's a common factoid that's bandied about but it's not really accurate, or at least overstated.

To start, modern x86 chips are more hard-wired than you might think; certain very complex operations are microcoded, but the bulk of common instructions aren't (they decode to single micro-ops), including ones that are quite CISC-y.

Micro-ops also aren't really "RISC" instructions that look anything like most typical RISC ISAs. The exact structure of the microcode is secret, but for an example, the Pentium Pro uses 118-bit micro-ops when most contemporary RISCs were fixed at 32. Most microcoded CPUs, anyway, have microcodes that are in some sense simpler than the user-facing ISA but also far lower-level and more tied to the microarchitecture.

But I think most importantly, this idea itself - that a microcoded CISC chip isn't truly CISC, but just RISC in disguise - is kind of confused, or even backwards. We've had microcoded CPUs since the 50s; the idea predates RISC. All the classic CISC examples (8086, 68000, VAX-11) are microcoded. The key idea behind RISC, arguably, was just to get rid of the friendly user-facing ISA layer and just expose the microarchitecture, since you didn't need to be friendly if the compiler could deal with ugliness - this then turned out to be a bad idea (e.g. branch delay slots) that was backtracked on, and you could argue instead that RISC chips have thus actually become more CISC-y! A chip with a CISC ISA and a simpler microcode underneath isn't secretly a RISC chip...it's just a CISC chip. The definition of a CISC chip is to have a CISC layer on top, regardless of the implementation underneath; the definition of a RISC chip is to not have a CISC layer on top.

reply
mikestorrent
1 hour ago
[-]
Thanks for the detail, that's very clarifying
reply
samsartor
2 hours ago
[-]
I think that this is something of a misunderstanding. There isn't a litteral RISC processor inside the x86 processor with a tiny little compiler sitting in the middle. Its more that the out-of-order execution model breaks up instructions into μops so that the μops can separately queue at the core's dozens of ALUs, multiple load/store units, virtual->physical address translation units, etc. The units all work together in parallel to chug through the incoming instructions. High-performance RISC-V processors do exactly the same thing, despite already being "RISC".
reply
mcdow
5 hours ago
[-]
I’m looking forward to using a RISC-V computer in 20 years
reply
aappleby
3 hours ago
[-]
You're probably already using a RISC-V computer, it's just embedded as a supervisor in some other gadget (or vehicle) you own.
reply
themafia
1 hour ago
[-]
I look forward to running my _own_ software on a RISC-V computer.
reply
3abiton
4 hours ago
[-]
While its current performance is not competitive, there are currently interesting options. I got the orange pi riscv version, mainly to test riscv while it's slow compared to other arm socs, it's still better than I expected. There are even risc v TPUs now.
reply
ninth_ant
4 hours ago
[-]
This underestimates the will of governments and companies Europe and especially China to reduce their dependency on US-controlled technology.
reply
wk_end
3 hours ago
[-]
ARM isn't US controlled, is it? British and also now Japanese since it's owned by SoftBank.

Meanwhile, wouldn't China be more heavily invested in Longsoon?

reply
hajile
2 hours ago
[-]
ARM is British (America’s closest ally) and proprietary. If you’re swapping, just eliminate the risk and cost entirely.

LoongArch is 32-bit instructions only. This means no MCUs due to poor code density. That forces them into RISCV anyway at which point, you might as well pour all your money and dev time into one ISA instead of two. RISCV has way more worldwide investment meaning LoongArch looks like a losing horse in the long term when it comes to software.

reply
gggmaster
5 minutes ago
[-]
Quite the contrary, the fragmented ecosystem is holding RISC-V back.

There are currently 3 variants of LoongArch ISA. The reduced 32-bit version targets MCUs. And LoongArch64 ATX/MATX motherboards with UEFI support is readily available. This makes it far more easier to develop with LoongArch.

reply
Tostino
4 hours ago
[-]
I hope our complacent companies get a shot of competition.
reply
bityard
3 hours ago
[-]
I already have one! (But it's technically a soldering iron...)
reply
IshKebab
3 hours ago
[-]
I think 10 years is a more realistic estimate. Probably first in servers and Android phones.
reply
ThatMedicIsASpy
1 hour ago
[-]
They are everywhere already in microcontrollers like ESP32.
reply
znpy
5 hours ago
[-]
unironically, this.

i've been hearing about arm computer for almost twenty years and only just recently general-purpose decently-priced arm laptops have been released (qualcomm laptops, the macbook neo).

and arm desktop are still not a thing, in practice.

reply
Joker_vD
5 hours ago
[-]
Well, Apple M1/M2/etc. are, technically, ARMv8, and they're available as desktops.
reply
Joeboy
5 hours ago
[-]
Also the Acorn Archimedes is, technically, an ARM / RISC desktop.
reply
bluebarbet
3 hours ago
[-]
Distant memories of a 1980s London classroom.
reply
heresie-dabord
2 hours ago
[-]
> arm desktop are still not a thing

The desktop market is not the only product space anymore.

Apple has had brilliant success with its ARM processors, proving that ARM is more than capable. Before Apple's switch, Chromebooks had been using ARM since 2011.

Android is the dominant operating system in mobile and most Android devices use the ARM platform. Many of these devices have desktop capability -- they are a viable convergence platform.

reply
andai
5 hours ago
[-]
I think the Surface Laptops (2018?) count, and arguably the previous models (2012+) sorta-kinda count (tablet + keyboard).

Side note: It's kinda funny to me that "the keyboard is detachable, the screen is glass and you can touch/write on it" makes it "lesser" than a laptop rather than being an upgrade.

But yeah, definitely happy to see more in this space. Now we just need e-Paper laptops to take off as well :)

reply
mavhc
4 hours ago
[-]
reply
wg0
3 hours ago
[-]
Donald Trump might make it five.
reply
Animats
4 hours ago
[-]
Huh? that link returned:

    Your submission was sent successfully! Close

    Thank you for contacting us. A member of our team will be in touch shortly. Close

    You have successfully unsubscribed! Close

    Thank you for signing up for our newsletter!
    In these regular emails you will find the latest updates about Ubuntu 
    and upcoming events where you can meet our team. Close

    Your preferences have been successfully updated. Close notification

    Please try again or file a bug report. Close
reply
shakna
4 hours ago
[-]
There's an email signup box on the right side on desktop, or bottom of the page on mobile. Maybe you somehow managed to hit it, or see it during some component update.
reply