A Big Week for RISC-V
eetimes.com
eetimes.com
You have to compare it to open source. Why are so many open source projects so popular? It's not the cost, corporations don't mind paying. It's the freedom to go in whatever direction any person wants to go without restriction that produces innovative software.
The comparable model for RISC-V is Linux and Redhat (et al), and on that basis it will win like Linux won. That combined with a clean and simple design.
First, you can see from a recent HN post that an electric toothbrush contains a 32-bit ARM CPU. If you've built any hardware you'll know that your BOM is king, and you try to squeeze that on the back of your OEMs. So Philips isn't paying much for that CPU and the CPU vendor (who could be Philips) would choose a different CPU if the royalty payment was too high.
By taking a tiny bite out of a huge number of parts ARM both spreads out its risk (the parts are ubiquitous) and starves the market of oxygen: there just isn't enough revenue for many or any competitors to get started. They'd have to lose money for years, or even decades, to get to the break even point.
And don't forget what ubiquity means: that phone doesn't have an ARM CPU: there is ARM logic in all sorts of devices inside the phone, from the baseband processor to probably integrated logic in the camera (even if the CPU has ISP logic) to USB PHYs to who knows what. With a few pennies or less on each one. Those headline CPUs may have the highest royalty rate for all we know.
The real question is why Apple uses ARM. Yes they have a longstanding history back to the founding of ARM but they are masters of cutting their BOM. They have an architectural license, and have their own microarchitecture. They make their own toolchain soup to nuts. They don't have to worry about compatibility with anyone outside their ecosystem. So why bother to pay anything to ARM?
I've been asking around and the best (and consensus) theory I've been able to get is patents. That architectural license would presumably contain rights to all of ARM's patents.
If that theory is correct, that's a huge threat to RISC V. I doubt ARM would ue, or even threaten to sue any RISC V user now: they'd look like Goliath beating up David. But once RISC V starts to get noticeable traction, and especially if ARM is a public company, patent licensing will start to matter. Their smartest strategy would be to pull a Microsoft and force companies to simply pay ARM a royalty for every RISC V they ship.
Note: I'm a fan of the RISC V and not particularly a fan of ARM. But I recognize that ARM has played the long game quite well.
Apple has had access to all Arm’s IP - eg for example on big.LITTLE. Isn’t it right that Apple (market cap around $3tn) actually pays for that IP if they want to use it on another ISA?
Also maybe Apple has decided that Aarch64 is a better choice for their higher end CPUs and it’s worth the extra cost? That would surely outweigh any consideration in terms of cost given how small a part of the BOM this is.
Yes, this is my point: there’s little reason to change if you’d just have to keep paying the same.
> Also maybe Apple has decided that Aarch64 is a better choice…
Remember that Apple has a full architecture license and their microarchitecture is their own. Their parts don’t really look like anybody else’s except having mostly the same instruction set. I really don’t think the ISA itself would be anything they would spend any time thinking about either way — other factors dominate.
Apple would deserve to be sued if they tried to take Arm's IP that they've had access to for years and apply it to another ISA for free. Doesn't have any read across for a RISC-V designer that doesn't have access to / isn't using that IP.
1: given that apple has their own architecture that happens to implement some of the ARM ISAs, what are they really paying for with their license? The conjecture is: primarily patents. ARM supplies a lot of tooling but I doubt much of that is usable in Apple’s environment, except some of the most surface stuff (ISA conformance, perhaps). At this point I doubt there’s a lot of ARM IP in apple’s parts except for the copyrights on the ISA and patents, which anyone can read.
2: patents can apply to other MPU vendors/developers even if they don’t read them. In fact the “best” (i.e. most horrible) way to enforce them is to wait until vendor gets enough traction and then demand a license be purchased.
2. Of course, that's just how patents work. But there is no evidence that Arm is doing this.
Overall, I don't agree with the sense that Arm is an overhead for Apple that if it weren't for those pesky patents they would cast aside and cut their costs. I think it's more complex than.
The industry ( Smartphone ) uses ARM and that benefited Apple enormously. All the open source software that apple deploy and uses inside iOS as well as LLVM compiler tool chain. Apple benefited these R&D in value are being spent from Android as well. Instead of Apple being the sold owner and maintainer of its own ISA.
At the end of the day ISA doesn't really matter from Apple's POV. It make less sense now when Apple now has an array of their own ARM implementation to choose from. Since they dont need to pay per unit it makes very little sense to switch.
Unless you are into very specific usage.
The effort to design their own instruction set (including all the tooling) would not be trivial, but probably not enormous for them given their scale. And given their scale, their license must be cheaper than the cost of that activity, because you know Cook would pay it if it would save them enough down the road.
Both are something Arm can adjust at any point and is in the process of adjusting post-Nvidia-collapse. All it is going to take is for Arm to stand up a review process to deal with the problem gracefully.
How long does it take until we have server-side Ubuntu Linux and staple applications like PostgreSQL humming nicely on RISC-V? It does not matter if RISC-V has less ported software today, as long as there is clear roadmap when this advantage of ARM will be gone.
● postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vend>
Active: active (running) since Sun 2022-02-13 06:56:50 EST; 1s ago
Process: 1861715 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgres>
Main PID: 1861722 (postmaster)
Tasks: 8 (limit: 9510)
Memory: 15.6M
CPU: 262ms
CGroup: /system.slice/postgresql.service
├─1861722 /usr/bin/postmaster -D /var/lib/pgsql/data
├─1861746 postgres: logger
├─1861752 postgres: checkpointer
├─1861753 postgres: background writer
├─1861754 postgres: walwriter
├─1861755 postgres: autovacuum launcher
├─1861756 postgres: stats collector
└─1861757 postgres: logical replication launcher
Feb 13 06:56:50 five systemd[1]: Starting PostgreSQL database >
Feb 13 06:56:50 five postmaster[1861722]: 2022-02-13 06:56:50.>
Feb 13 06:56:50 five postmaster[1861722]: 2022-02-13 06:56:50.>
Feb 13 06:56:50 five postmaster[1861722]: 2022-02-13 06:56:50.>
Feb 13 06:56:50 five postmaster[1861722]: 2022-02-13 06:56:50.>
The biggest problem I had was remembering the name of the Fedora PostgreSQL package and that I had to initdb before starting the service. If the Arm CEO really believes software compatibility/availability is Arm's moat then I'm afraid he's in for a big shock.Any idea whether distros are planning to move towards the upcoming RVA22 profile or are they going to remain on GC?
https://www.cnx-software.com/2022/02/13/arm-or-risc-v-mangop...
https://www.cnx-software.com/2021/12/30/sipeed-lichee-rv-ris...
There are also the expensive dev boards from SiFive as well as the softcores from zepan. I think Alibaba and Rockchip will be available soon as well
Jean-Luc's website is great for tracking this space:
The growth of RISC-V will come from the innovation that the freedom allows. Literally anyone looking to design their own core from scratch will consider RISC-V and many have chosen it (Rivos, Tenstorrent, Esperanto Technologies, Alibaba, and many others I forgot).
EDIT: typos
- 2 x HiFive Unleashed
- 2 x HiFive Unmatched
and on the shelf:
- Beagle V Beta (they decided not to proceed)
- PolarFire
- various FPGA-based RISC-V impls, notably a Lattice running PicoRV32
my understanding is that would be a gamechanger because many people would be exposed to it. right?
There was a run of ~ 5 million AllWinner chips and Beagle packaged one into a board which I have, which would have sold for sub $200, but they decided not to pursue the idea.
Debian is almost entirely ported to RISC-V and it's been the biggest early adopter.
96% of the packages are ported: https://wiki.debian.org/RISC-V#Progress
What is missing is powerful and inexpensive CPUs. (Easier said than done)
Edit: I am mistaken, thanks everyone for educating me.
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1dSee AMD's SSE5 vs Intel's SSE4 conflict in x86 - both have instructions that the other doesn't have, and some that both have, and, from what I understand, even the instruction formats conflict.
One cannot easily make an x86 extension because there are approximately ~3 entities on the planet allowed to make x86 extensions.
I wouldn't be surprised if Sony/Microsoft did too for their consoles.
It's doable if you have enough money to get AMD or VIA to make you a one-off.
There is the idea of profiles, i.e. a single nice name for a group of extensions so that there's something one could provide a precompiled binary for, but I don't know what, if any, are RISC-V's plans for that.
Profiles. See RVA22.
It'll likely work much the same way for RISC-V, eg. in Fedora we require that the C (compressed) extension is supported, otherwise the distro won't boot, and things like the vector extension will probably be used only by specialized math libraries and the like.
It's a problem that already exists right now.
If you compile code on a machine with SSE or AVX and run it on an old Pentium, does it crash?
I had a fun bug once running ARM code that had some NEON in it and it would crashed on Scaleway's VPS bc their servers ran chips that didn't have NEON implemented
This doesn’t make sense, though. If you have something in your instruction stream that you don’t understand, it would be insane to do anything but fault immediately, unless the instruction is some sort of optional feature such as a hint or security mechanism where there is no real behavior associated with it. I mean ARM has this “capability” too by virtue of a fixed length instruction set but it doesn’t do anything with this like you’re describing.
Yes. Or it leaves them unused on the machine with avx.
For short runs of instructions, the overhead of fallback selection is larger than the overhead of using the least common denominator. For large functions, fallback selection is done by selecting specific functions after benchmarking.
Things like OpenJDK, pixman, nss, ffmpeg.
To this day writing ARM lambdas on AWS has its own gotchas.
Idk, I think their CEO has a point, it's just that it might be a short lived one given how much money Chinese companies are throwing at risc V.
The good news is even if the CPU is weird the C compiler is likely to be clang and the OS is likely to be some Linux/glibc variant. A lot of the old porting challenges had to do with OS and compiler differences.
Even today, getting random debian packages running on a raspberry pi, I've hit issues of SIGILL due to packages being compiled with the wrong compiler for my CPU...
Edit: Tesla lies in their marketing, the industry is sexist, Rust is overhyped, Wayland still isn't very usable. If I'm gonna get downvotes, I might as well go big.
There have been non-Sun/Oracle CPUs available since the 1990s. Fujitsu sells entire product lines on them (and there's a Top 500 cluster built around SPARC.)
This also included the 'BIOS' (IEEE 1275-1994):
* https://en.wikipedia.org/wiki/Open_Firmware
And accessory bus (IEEE 1496-1993):
RISC-V is very well thought out when it comes to scaling from the smaller MCU cores to the largest supercomputer CPUs. With a coming revision the code density with the compressed extension is even better than ARM Thumb, while being better designed than Thumb (no mode switching)
I'd love to read about this revision and understand how it achieves that improvement. Do you have a link handy?
Vectoring being one of the best features.
Actually only long after RISC-V both OpenPower and MIPS opened up more.
The only thing that was actually open was SPARCv8 and that had a number of limitations that the creates of RISC-V didn't want. And Oracle had closed it up again after that.
OpenRISC was more a chip, not really an ISA design. And it wasn't 64 Bit when RISC-V started either.
And RISC-V also does a number of new things and removes some other things.
All of this has been extensively written about by the creators of RISC-V, you could just go read it.
But just playing architecture game is hard. You need some reasons like lower power … for it to play.
I agree with everything else but RV is actually a big improvement over OpenPower and many other ISAs.
Million, really? Off by a factor of 1,000?
At this moment, the relevant information about Arm is that it competes with x86. RISC-V is no more relevant than Elbrus, though obviously that's going to change.
Not very competitive when the only company that can license ARM cores to third parties is ARM itself.
If you had a second Arm selling licensed cores against Arm v1 would competition result in better cores? Maybe but it’s equally likely that it would make it harder for either company to compete for talent against Apple and Qualcomm.
How does that even matter? You cannot license Apple's leading ARM cores.
Maybe there will be a better / cheaper RISC-V equivalent of an A75 say but I'm honestly not that bothered.
No. There, you are wrong. Maybe this is something that you are worried about?
What I was "trying to say" is that a company that needs a core now has at least these two options: License an ARM chip from ARM, license a RISC-V chip from somebody else.
Somebody else there means the tens of vendors that are licensing their cores. A RISC-V core there would be one among the hundreds available. These numbers are growing every month.
Picking ARM means you're stuck with ARM. Maybe you already are using ARM, and remaining there while keeping an eye on the market is your choice for now.
Picking RISC-V means you're free to pick from a variety of vendors, and switch vendors anytime you wish. Some cores are even OSHW licensed, which means free as long as you don't need something better/not at your own risk. The point is not being stuck, thanks to RISC-V compliance.
It is not surprising ARM is worried about this. They're doing PR trying to present their advantages and throw in FUD against RISC-V.
If I recall correctly, some things were planned to be open sourced.
Intel has more money to put into chip design. They already have all the IP and patents for the non-RISCV parts of the chip and chipset. They could literally design a drop-in replacement in their current motherboards and go straight to market years before all this stuff gets tested and shipped by the competition.
Just as important, they have the business connections and reputation of delivering. Those may be less tangible, but the best chip in the world doesn't mean anything if you can't move it to customers.
They seem very strongly positioned even if they never have any input into the ISA itself.
So yes, they might be interested in helping RISC-V in order to hurt Arm on the low end, but I'm sure they're not looking forward to RV eating a chunk of the x86 market.
X2 is quite a bit faster per clock than every x86 (except maybe golden cove).
It's only a matter of time before these start flowing into the high-end market and disrupt. Jim Keller is currently overseeing a 6-issue RISC-V core (same width as Intel's latest/greatest golden cove chip) that will allegedly be open-sourced too.
This is a very dangerous situation for them.
It seems better to milk x86 for all it's worth while leveraging RISC-V for all it's worth. If they can offer custom x86 compatibility with their RISC-V designs, that's just one more way to ensure they cut out the rest of the market and keep their lead.
A move like that could just as easily push ARM to go all in on servers and desktops and harm Intel even more.
Seriously though the key issue now is does Arm have resources to invest in better designs - weaken cashflow and that’s in doubt.