Top
Best
New

Posted by Narishma 5 hours ago

A 3rd World Embedded Engineer Responds to "RISC-V They Should Have Known Better"(rvembedded.com)
197 points | 111 commentspage 2
Ericson2314 2 hours ago|
My perspective using Nix is that it's hardly worth standardizing ISAs. Recompiling software is easy and we should have a Cambrian explosion of different designs.

This is especially good if one scopes out a family of ISAs that are ABI compatible such that one can compile down to a semi-pre-optimized portable IR, and just do the last bit per ISA.

mshockwave 1 hour ago||
I disagree, compiler optimization and software ecosystem in general already take a really really really long time to build, and I think it'll take longer without a standardized low-level binary interface i.e. ISA to enable rapid distribution.

And the approach you mentioned here:

> a family of ISAs that are ABI compatible such that one can compile down to a semi-pre-optimized portable IR, and just do the last bit per ISA

I think this is basically WebAssembly and PTX, and one may argue, Java bytecode. Yet look at how much efforts and time it took for WASM runtimes and JVMs to actually produce performant machine code (the "last bit per ISA" you mentioned) for just a couple of architectures! (e.g. X86 and ARM). And I wouldn't surprised if NVIDIA pour even more money on building optimization pipeline from PTX to each of their different uArchs.

ip26 2 hours ago|||
What exactly does a bespoke ISA buy you? What will justify hundreds of engineers writing a new good one & working through the compiler support?

I bet it would be pretty easy for a user to interoperate between 67 different drafts of the HTTP spec once they were all written, validated, and library implementations coded. But what would that Cambrian explosion of API revs actually get you?

kelnos 1 hour ago||
An explosion of ISAs means the available talent for writing optimizing compilers will be stretched much more thinly. Unpopular ISAs will have slow, buggy codegen, and the popular ones will suffer somewhat, too.
kqr2 4 hours ago||
Original HN discussion referenced:https://news.ycombinator.com/item?id=49298035
moomin 4 hours ago||
Absolutely hugged to death.
urbnspacecowboy 4 hours ago||
Archived copy: https://web.archive.org/web/20260816073823/https://rvembedde...
deadbunny 3 hours ago||
503 for me. So good they crashed the IA
Kwpolska 2 hours ago|||
Nah, that's just Internet Archive being Internet Archive.
AlienRobot 3 hours ago|||
We'll need an archived copy of the archived copy.
201984 2 hours ago|||
https://archive.ph/9FaRC
ksec 3 hours ago||
> Request Limit: 500 per minute

I mean that is not even 10 page view per second. We are not living in 2006. Actually even in 2006 Apache with static page would have been able to handle that on a small VPS. And that is excluding CDN.

garbageweb 1 hour ago||
You have exceeded the allowed number of requests.

Your Requests: 500 Request Limit: 500 per minute

garbageweb 1 hour ago||
You have exceeded the allowed number of requests.

Your Requests: 500 Request Limit: 500 per minute

with no vpn

initramfs 2 hours ago||
"Now price the same journey on the other side, forget x86-64 and that duopoly, patent minefield, with multi-thousand dollar debug probes; we'll take a look at ARM."

The 386 and 486 patent should have expired more than 20 years ago. No one tried to open source it. https://github.com/EI2030/Low-power-E-Paper-OS/blob/master/0... There were many companies that had clones in the early 90s, and I wonder whether any of them still have the rights to manufacture them.

" That is a better reason than elegance. and I want to tell Mr Grinberg, that the word priviledge he tosses around in his article also extends beyond the ISA depending on where you are in the world."

Grinberg is an emigre from Ukraine, which isn't the most privileged place in the world. In fact his research articles go deeper than the average software developer in Silicon Valley.

Conan_Kudo 2 hours ago||
There are 386 and 486 open source reimplementations in Verilog (see z386 and z486). As far as I know, existing commercial 386/486 chips still manufactured (yes they exist!) are descendants of Cyrix work, not Intel or AMD. Consequently, VIA may be contractually holding those back rather than Intel/AMD doing anything there.
initramfs 2 hours ago||
Thanks for that information! I have been interested in getting x86 produced in smaller nanometer (e.g. <32nm). My project: https://ei2030.github.io/FemtoTX/#about

Edit: It also appears Nvidia might also have an x86 license: https://www.nvidia.com/en-us/drivers/uli-m6117c/

Also, https://www.tomshardware.com/pc-components/cpus/intel-licens... (Caveat: The startup is acquainted with the Intel CEO, so it's rare for them to grant the x86 license to non-buddies.)

"Intel provided Rosaic access to an unknown Atom-class core, which enables the company to build its own custom processors based on x86 general-purpose cores, according to the report. The renowned chipmaker plans to ship Rosaic register-transfer level (RTL) code for the Atom processor core, which will let the startup build its custom system-on-chip (SoC) both at Intel Foundry and elsewhere."

What's interesting is that a startup with limited funds would most likely seek a 32-bit x86 license if a) they don't need more than 4GB of RAM, and b), if they don't want to pay AMD for the 64 bit license add-on. :)

Conan_Kudo 2 hours ago||
I'll also point out that we've always had better starting points for open source high performance cores. SPARC and POWER both have open ISAs and open-source cores with useful performance. The UltraSPARC T1 and T2 processors were open sourced under the OpenSPARC project. POWER has the OpenPOWER project governing the Power ISA, and IBM itself created Microwatt, Chiselwatt, and the A2I/A2O cores as open source that people can build their own PowerPC systems from.

OpenFirmware came out of OpenSPARC and is also used by POWER too. Parts of it are used in ARM and RISC-V today (mostly DeviceTree, though arguably quite badly).

Nobody actually wants to make good cores for cheap. Nobody wants to make compatible systems unless forced to. That's why ARM and RISC-V are fragmented messes.

initramfs 2 hours ago||
True, and the only reason I'm partial to x86 and even some older ARMv cores is that there is a huge existing software ecosystem already available, reducing the need to develop new bootloaders and ports, as coding hours aren't free. CISC cores are treated as if they are a dirty word, but are more versatile for covering various applications.
Conan_Kudo 2 hours ago||
PowerPC at least still has a living ecosystem, even from the bootloader level. GRUB can boot from an OpenFirmware system. There's also yaboot if you hate yourself. ;)

I would personally love to see more Power Systems based projects. Everything is out there, just someone has to want to do something with it.

Fedora Linux even fully supports POWER8+ little-endian systems, and Fedora KDE offers a live ISO you can install on something like a Talos Workstation.

initramfs 1 hour ago||
There have been some PowerISA implementations, https://libre-soc.org/openpower/ although libre project had a major setback a few years ago:

https://lists.libre-soc.org/pipermail/libre-soc-dev/2024-Sep...

BirAdam 1 hour ago|||
There’s Vortex86 and VIA. VIA’s rights came from Cyrix, and this is where Zhaoxin‘s rights come from.
initramfs 1 hour ago||
Thanks for supplying the chain of licensure!
justsomehnguy 1 hour ago||
> There were many companies that had clones in the early 90s, and I wonder whether any of them still have the rights to manufacture them.

To do that they, at least, should still exist. For most of them this is not the case.

msephton 3 hours ago||
This is the sort of content I endure this place for. Thanks for posting.
topspin 1 hour ago||
Beautiful.

I read the "They Should Have Known Better" article and forgot it. I've seen this before. I know it's hot air and does not matter, and I can't afford to worry about things that don't matter.

When I say I've seen this before, I'm talking about ancient history: controversies so old and so laughable that they've been forgotten. When, for example, AMD handed the world AMD64/X86_64, the same things were said: fragmentation, legacy+flawed ISA, etc. That has not aged well, and "They Should Have Known Better" won't either.

The "fragmentation" argument has no merit. The jumble of extension names and profiles in RISC-V are, in fact, direct evidence that RISC-V is succeeding: it's the RISC-V ecosystem aggressively, collaboratively and successfully tackling pain points and solving them. This is what RISC-V is supposed to be doing, and it's doing it, and empires are being built on it.

Take this part: "The existence of CLIC and various proprietary 'fast IRQ' / auto-stacking extensions is an additional indictment."

CLIC is miraculous. It's an advanced embedded interrupt controller, and it's wonderful: it brings the equivalent of ARM's NVIC to RISC-V, except better. You can implement an extremely efficient scheduler that guarantees deadlock-free concurrency: bare-metal, real-time, hardware-accelerated "Fearless Concurrency," on an MCU with no RTOS![1] Its appeal is so great that, despite still being a draft spec, the leading RISC-V MCU designers are adopting it. Espressif's ESP32-S31 has it, for example. The chaotic emergence of this awesome thing is what is condemned as an "indictment."

Speaking of ESP32-S31, it's going to be a monster when silicon becomes available in quantity. This RV Embedded writing mentions MMUs a lot. Guess what? The S31 has an Sv32 MMU. It can run Linux. Not μClinux. Real Linux. It's already been done twice (that I know of) on the Espressif eval boards. People like Armstrong Subero are going to change the world with it.

That's the froth of RISC-V. The ground is shaking, and the peanut gallery of ISA wizards has no power over it. In a few years, after RISC-V has lain waste to our world of proprietary ISAs and Western IP regime rent seeking, "They Should Have Known Better" will look as silly to everyone as it already looks to me.

[1] https://rtic.rs/2/book/en/

ploxiln 2 hours ago||
This blog post is very defensive and argumentative, which I guess is fair considering Dmitry's post is similarly inflammatory, but most of it was really not convincing:

> Simply put, the things a high-end CPU needs are diametrically opposed to the things a small cost-saving microcontroller core needs.

> The conclusion he draws is that no single ISA can serve both ends, and that RISC-V fans are fooling themselves, in theory the premise is true. The conclusion does not follow, and I can show you why from three parts sitting on my desk as we speak.

> CH32V003. This is the cheap "RV32EC" with sixteen registers, no multiplier, no divider, machine mode only,

> CH32H417. A dual core MCU that is unmatched in performance to price point and is at the higher end of the MCU line

> Baochip. A VexRISC-V with an MMU built around a stack thats open from silicon to os Baochip-1x: A Mostly-Open, 22nm SoC for High Assurance Applications

Uh, which one of these is a datacenter server cpu? Or a workstation cpu? Or at least a developer laptop cpu? How about a Raspberry Pi 4 level SBC (supporting latest ubuntu and fedora releases, driving a display that runs a browser and plays video ...)

There's a lot of angry indignation but it seems obvious that Dmitry is quite right about this.

But I found this is where this blog post starts making a lot of sense:

> Has anyone tried adding an MMU to a Cortex-M? The physical tradeoffs are real, the difference is that with RISC-V, the ISA owner does not decide for you where that boundary must be drawn. If you want virtual memory on ARM you license a Cortex-A instead, which is a different core family, a different profile, a different negotiation, and a different royalty.

> Compare what happened with Baochip. The RISC-V privileged specification defines supervisor mode and Sv32 paging as optional things an implementation may provide. VexRISC-V is an open core, somebody added an MMU to it. bunnie built a chip around it and runs a microkernel with real process isolation on it

Yeah, that is a good point. We're still in the low-end specialty realm, but that is real interesting advantage for RISC-V, a good reason for it to exist.

As for shipping to Trinidad and Tobago ... this post is trying too hard to turn this into moral issue, but it seems a bit random (OrangePi cost $30 and shipped free? you can also get arm-based and stuff from the same places), and the vast majority of people don't live on semi-remote islands, it doesn't make sense to consider this kind of accessibility above all else, and it's strange to blame Dmitry for not thinking of you here.

ckot56 2 hours ago|
I have no idea what's going on here, but the title alone gave me second-hand engineering stress. Solid post.
More comments...