Live data from Hacker News

What is RISC-V and why it matters to Canonical

ubuntu.com

111–120 of 129 posts

Re: What is RISC-V and why it matters to Canonical

#111

Earlier quoted context omitted.

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.

Similarly upstart, from 2006, widely deployed before Redhat brought in systemd. And got dropped when Debian decided to go with systemd. Surprising how this gets misremembered given the hate systemd initially received.

I remember it well. At least Canonical also jumped on the systemd bandwagon when upstream (Debian) made a choice, instead of dragging upstart on, like it has done with countless other projects that are past their time (juju looking at you)

Re: What is RISC-V and why it matters to Canonical

#112

Earlier quoted context omitted.

You're probably already using a RISC-V computer, it's just embedded as a supervisor in some other gadget (or vehicle) you own.

I look forward to running my _own_ software on a RISC-V computer.

I already do: https://www.espressif.com/en/products/socs/esp32-c3

The tool chains that Espressif seem to work pretty well with these as well as their earlier (some sort of RISC) processors. I have had some code, however, that did not produce desired results until I upgraded the toolchain.

The other issue I've run into is that some cell phone battery packs that work well with Raspberry Pis won't stay on with the RISC-V ESPs because they draw so little power the battery pack doesn't detect the load.

Re: What is RISC-V and why it matters to Canonical

#113
post #39

Earlier quoted context omitted.

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 i…

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.

What evidence do you have that RISC-V is being held back by fragmentation?

Every upcoming general purpose RISC-V core I'm aware of is targeting RVA23. That's even less fragmentation than x86 has.

Meanwhile, I don't know of ANY third-party chip designs using LoongArch, so asserting no fragmentation seems to be misrepresenting the situation a bit.

Re: What is RISC-V and why it matters to Canonical

#114
post #31

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…

PC/x86 was an extreme outlier, sadly, and it was because of Microsoft/Intel business model. The architecture details was historically mostly decided on by Wintel, yet the system integration was done by many vendors, whose best interest was to stay as compatible as possible. Its unlikely that another platform would be able to reach this state, the PC architecturing was subsidized from the M$ software monopoly that nob…

> Its unlikely that another platform would be able to reach this state...

Is this really true? The computer ecosystem is more open now than ever. The original PC BIOS (which PC-compatible manufacturers needed to implement) was never an open, documented standard. It was a proprietary, closed system made by IBM. It's pretty fair to say that IBM didn't anticipate a PC/x86 ecosystem developing around their product. They even sued companies who made their own compatible BIOSes (like Corona). Intel didn't really have much to do with the success of the product at that point in time either, much less Microsoft.

In contrast, every widely-used modern system for hardware abstraction (UEFI/ACPI/DeviceTree/OpenSBI/etc) are open, royalty-free standards that anyone can use. Their implementation in ARM is newer, and inconsistent, but that's only because of how hugely diverse the ARM ecosystem is.

Re: What is RISC-V and why it matters to Canonical

#115
post #113

Earlier quoted context omitted.

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.

What evidence do you have that RISC-V is being held back by fragmentation? Every upcoming general purpose RISC-V core I'm aware of is targeting RVA23. That's even less fragmentation than x86 has. Meanwhile, I don't know of ANY third-party chip designs using LoongArch, so asserting no fragmentation seems to be misrepresenting the situation a bit.

That's good news. Hopefully there will be more affordable replacements for x86 PCs.

Re: What is RISC-V and why it matters to Canonical

#116
post #87

Earlier quoted context omitted.

You should write an article on that explaining why you like it to the common man

Silly opinion that has no relevance to building competitive CPUs, but I like that RISC-V is modular and you can pick and choose which extensions to adopt. Makes writing a simulator so easy (just have to focus on RV32I to get started), and also makes RISC-V a great bytecode alternative for a homegrown register-based virtual machine: chances are RV32I covers all the operations you will need on any Turing-complete VM. N…

When ARM moved to 64-bit the ISA was much more substantially reworked than for AMD's x86-64 transition (which mainly added modes and repurposed INCrement and DECrement to provide the REX prefix which provides a 64-bit size specification and one additional bit for register name specifiers; obviously the page table format also changed). I am not particularly familiar with AArch64, but I got the impression that the main retained cruft from 32-bit ARM was condition codes and the tradeoffs of providing condition codes would lead some not to consider such cruft. The use of four bits for almost every instruction to support predication was eliminated — which was a major cruft point for 32-bit ARM — and the legacy of shift and perform ALU operation orientation of the original ARM (which had timing slack from the slowness of instruction fetch) was de-emphasized.

AArch64 is accumulating cruft, perhaps particularly with respect to SIMD, but it is less crufty than x86-64.

ISA modularity/diversity can be useful for embedded systems, where the software is really firmware. If one is going to have to provide a diversity of compilation targets via either a common distribution format that is compiled to the local machine code or an app store that receives a software format that can be compiled to diverse, the best distribution format (to users or the app store) is likely to be significantly different than an encoding best for direct execution.

Some optional features can be hidden by system libraries (particularly when the main use of the feature is suitable for a separate accelerator). E.g., an instruction that performs a round of AES encryption could be hidden behind an encryption library. However, some uses of an AES instruction involve a very short "message" for which library overhead would be excessive or for which good enough software alternatives would be faster than actual AES.

Indexed memory accesses and conditional select/move, for example, are not really suitable to system libraries (or trapping to software even with a very fast trap handler).

ISA scaling is not necessarily a good design feature. An ISA optimized for the market targeted by ARM M Profile is unlikely to be optimal for future 16-wide decode high performance processors. E.g., if a context only has 16 registers, using 5-bit register specifiers is suboptimal even though it allows software to be "upward compatible" with a 32-register design.

Re: What is RISC-V and why it matters to Canonical

#117
post #61
post #31

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…

> Will RISC-V end up with the same (or even worse) platform fragmentation as ARM? Sadly, yes. RISC-V vendors are repeating literally every single mistake that the ARM ecosystem made and then making even dumber ones.

Please elaborate.

Re: What is RISC-V and why it matters to Canonical

#118

Earlier quoted context omitted.

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.

Similarly upstart, from 2006, widely deployed before Redhat brought in systemd. And got dropped when Debian decided to go with systemd. Surprising how this gets misremembered given the hate systemd initially received.

People also forget or don't realize that before systemd Redhat shipped and supported upstart in RHEL too.

Re: What is RISC-V and why it matters to Canonical

#119
post #114

Earlier quoted context omitted.

PC/x86 was an extreme outlier, sadly, and it was because of Microsoft/Intel business model. The architecture details was historically mostly decided on by Wintel, yet the system integration was done by many vendors, whose best interest was to stay as compatible as possible. Its unlikely that another platform would be able to reach this state, the PC architecturing was subsidized from the M$ software monopoly that nob…

> Its unlikely that another platform would be able to reach this state... Is this really true? The computer ecosystem is more open now than ever. The original PC BIOS (which PC-compatible manufacturers needed to implement) was never an open, documented standard. It was a proprietary, closed system made by IBM. It's pretty fair to say that IBM didn't anticipate a PC/x86 ecosystem developing around their product. They…

The early PC era was a mess, and that's not the period I'm talking about. IBM was clearly not up to the task and Intel didn't care much yet, but Microsoft certainty did a lot for compatibility from the start (i. e. DOS abstracted away a lot of BIOS routines, so it would be easy to port MS-DOS to a non-IBM x86). But after IBM revealed MCA to show just exactly how much do they care about compatibility and platform openness, Intel realized they are missing out and cleaned up the MCA/EISA/VLB mess with PCI. Then Microsoft and Intel jointly released APM 1992 (which was clearly not enough), and then ACPI in 1996 (which is a total dumpster fire, but a sufficiently functional dumpster fire). I. e. ACPI and UEFI are exactly the product of the monopoly. M$/Intel profited from the abundance of cheapo white boxes, so it was in their best interest to come up with a standard even DELL can implement. The fact that AMD is going to implement the ACPI too wasn't much bother for Intel - they were so dominant that they could afford not to care.

On the other hand, ARM sells the cores to SoC vendors (and doesn't care much what becomes of it), SoC vendors ducktape the ARM cores to a bunch of Synopsys peripherals and sell the resulting SoCs to smartphone and car makers (and doesn't care much for the product). System integrators throw Android on top and sell it to the customers. Then Google, who get all the cream via Play, hides all the mess behind a thousand layers of Java abstractions.

DeviceTree is an offshot of Sun's OpenFirmware (and it leaves out all the hard stuff - OpenFirmware had Forth, DeviceTree expects the kernel to support every single brand of fan switch). OpenSBI is a disaster. I'm sorry, but what kind of bright mind came up with the idea of hiding damn *timer* behind a privilege switch? Timers were enough of a pain point on x86 already, then it settled on userspace-accesable RDTSC. RISC-V SBI? Reproducing x86 one stupid decision at a time.

Re: What is RISC-V and why it matters to Canonical

#120
post #114

Earlier quoted context omitted.

PC/x86 was an extreme outlier, sadly, and it was because of Microsoft/Intel business model. The architecture details was historically mostly decided on by Wintel, yet the system integration was done by many vendors, whose best interest was to stay as compatible as possible. Its unlikely that another platform would be able to reach this state, the PC architecturing was subsidized from the M$ software monopoly that nob…

> Its unlikely that another platform would be able to reach this state... Is this really true? The computer ecosystem is more open now than ever. The original PC BIOS (which PC-compatible manufacturers needed to implement) was never an open, documented standard. It was a proprietary, closed system made by IBM. It's pretty fair to say that IBM didn't anticipate a PC/x86 ecosystem developing around their product. They…

> Is this really true?

I think the issue is that desktop and server computing are “open” in the sense that you have full control over the software you run on them. So people interpret the dominant desktop and server platform architecture (the world of x86-64) as being open.

The embedded world is mostly closed, you are meant to run the software your hardware comes with. The platform’s popular there are considered less open (ARM and RISC-V).

Mobile devices like phones and tablets are historically closed devices, regardless of ISA. They are generally getting more closed in the name of security.

It is not the ISA that is “open” but the industry.

That said, in RISC-V, there is a sub-current of openness. I do not think that will overcome the industry tendencies in general, but there will be a small cadre of folks trying to create an open presence in every niche. The good news is that there is nothing to stop them. They will succeed eventually.

Post reply on HN