What is RISC-V, and why we're unlocking its potential
qualcomm.com
qualcomm.com
Coz we don't want to pay for licensing
> and what’s in it for you
The fun of porting and/or testing everything! Aren't you happy ?
Oh, and we will not upstream our drivers as usual so your devices will be landfill after 4 years as usual
This is not genuine argument. Check the sources at kernel.org and you will see tons of Qualcomm drivers upstreamed by Qualcomm.
Did Qualcomm do a bad job w upstreaming, for years? yes, they did. Are they improving? yes, IMO they are.
disclaimer: Qualcomm employee.
"Linux 6.2 Expands Support For More Qualcomm Snapdragon SoCs, Apple M1 Pro/Ultra/Max"
https://www.phoronix.com/news/Linux-6.2-Arm-SoC-Updates
"Qualcomm Snapdragon 8 Gen 2 Patches Already Surfacing For The Linux Kernel" https://www.phoronix.com/news/Snapdragon-8-Gen-2-Linux
"Qualcomm Snapdragon 8 Gen 1 Sees Timely Support With The Mainline Linux 5.17 Kernel"
Stock android? Yes, perhaps. Some functionality from devices is provided via closed firmware blobs that you'll need too. I'm thinking of the modem or other DSPs at least. However I suppose that projects like LineageOS just harvest those from working phones?
I know one developer at Qualcomm who uses Linux on their Snapdragon laptop.
IMO the blobs aren't very objectionable while still not ideal. Would I prefer to have the source to software running on all the peripherals? Sure, I would. But once you're programming on the peripherals it narrows significantly the audience who's interested and capable at changing behavior or making fixes.
I could be wrong but I think this is actually somewhat common.
This talk is a great overview of where things are going...
> Oh, and we will not upstream our drivers as usual so your devices will be landfill after 4 years as usual
C'mon, it won't be that similar to ARM.
Then the ISA is an open standard... it only needs to be done once, and it doesn't matter who it is that gets it done.
It started literally falling apart in 6 months. One of the usb ports stopped working, the disc tray was stuck, the bottom left of the trackpad was sunken in, and the whole laptop felt cheap and was plastic. A ton of flex in the whole thing.
The worst experience I had with an aluminum mac was dropping it while open and having the screen shatter.
It's a shame that IBM sold its PC business to Lenovo. Maybe it's just the model I have, but Lenovo's ThinkPads feel so much worse in quality than IBM's ThinkPads. I probably won't get another one when the time comes to replace mine.
That said, I'll consider a Framework or Starbook next time because even T series Thinkpads are getting thinner and bendier and the keyboards lower and worse.
There's a bunch of other series that are newer, consumer-oriented and do not share the body or traits that the Thinkpad series is reputable for.
That said, if I was in the market for a laptop today, I'd look at Framework.
An x395 bought in 2019 is my daily driver. It's as new.
The M2 Air is astonishingly light, while being made of metal, as opposed to the ThinkPad's (cheap imo, but subject to debate) plastic. Don't see what the argument is.
My point isn't that Airs are bad, but that they're not ideal for some tasks and saying any machine is "the best" without mentioning what you're using it for is less useful of a statement than you might think it is.
Thinkpads basically look the same for 10+ years.
But for me, the worst part is the non-choice. In the PC world, you can choose 10000 different PCs.
Again, I really admire the M1/M2, and the quality of apple products. But I returned an M1 on my previous job because of what I said above, and went to a ThinkPad X1 Carbon.
Apple is a bit like a pre-curated menu.
That's probably why ARM is suing them, they potentially could create designs that make ARM's designs obsolete and are likely to take ARM's market (unlike Apple).
ARM suing them was simply because they are using a contract tailored for Server market and using it in Smartphone.
Either way, it's bad when the ISA owner is limiting what you can develop to suit its own profits. This is the problem RISC-V solves.
It looks like Apple's biggest lead is the TSMC node advantage and their ARM license. And they're not the only ones with access to TSMC fabs and ARM specifications...
That max wattage of the 3080 laptop variant (just the GPU) is ~5x of Apple's CPU and GPU combined.
For reference, I'm using OpenCL and raster benchmarks from Blender to draw my comparison. Seems like the fairest common ground: https://browser.geekbench.com/opencl-benchmarks https://opendata.blender.org/benchmarks/query/?group_by=devi...
In other words, if like me, you roll your eyes every time apple announces some "innovative" new feature other platforms have had for years, just let the fans have their moment.
Nobody is going to give the secret sauce for free. Also these AI/ML use cases are just some marketing bs, not really grounded by anything really.
There are plenty of ISAs you can find freely available today (Open sparc anyone?). The problem is fragmentation…
> This open ISA provides designers and developers with greater control over their computing environments, allowing them to fine-tune their systems without relying on third parties or incurring additional license fees associated with proprietary architectures.
Here's an interesting take on what someone thinks "open source" means in this context: gjsman-1000 wrote: Open source refers solely to the software side of things in these groups and types of projects. Thus, all of the drivers and software you need to use the SiFive is open source and thus you can say it is an open source design. However, it is not an "open hardware" design in that the IP used to design the chip is not released. https://news.ycombinator.com/item?id=25762114
I personally don't think of closed chip designs with open software and specifications as open source chips. That would be like saying Intel and AMD x86s are open source. Though to be fair to those companies, their CPU programming models are much more open than their FPGA programming models, which requires proprietary software and secret specifications to program them at all.
x000 10xx custom-0
x010 10xx custom-1
x101 10xx custom-2
x111 10xx custom-3
[*] Where "bottom byte" is actually the first byte since instructions are always stored little endian.Edit: To be clear and avoid confusion, RISC-V has two sorts of extensions, the custom vendor-specific extension space that I'm talking about here, and the RVI standard extensions which I'm not talking about.
the question arises: can such extensions be patented?
we've seen already that APIs cannot get patented (see the Oracle vs Google litigation).
If Qualcomm was to develop a set of extension, but other players in the risc-v space could implement some equivalent that's ISA/binary compatible... I wouldn't see any issue with that.
Am I being too optimistic ?
But even then working around custom extensions is a lot easier than a whole ISA. Short of patents you can always reimplement them. No one can copyright instruction code numbers.
As the parent alluded to, if there is a problem in the Android ecosystem you will almost certainly find either Qualcomm or Google in the middle of it.
ISA is the least important part in CPU. The hard part is having all drivers for the peripherals given chip has and knowing most of the chinese vendors it's straight to landfill after few years unless something becomes so popular community RE it.
It is essential though, so it's an important step towards having entirely open CPUs
If "open" ISA comes with a bunch of blobs it's essentially exactly same situation as using ARM chip.
Well you’re not really holding off judgment then! It’s also a terrible idea to let big customers breach their contracts but as you say we haven’t seen the contracts concerned.
And I stand by that. Leave aside who is right, because we don’t know. We do know that Qualcomm sent them ~$270m last fiscal year and ARM is pushing them away. The case is over “tens of millions” in Qualcomm’s telling, so it’s not even that much money ARM is seeking, and it is risky. They have a huge mess with the ARM China joint venture that is not done unfolding IMO, and they have chosen that same moment to sue their second biggest customer, who is about to bring ARM chips to Windows PCs in a real way. ARM “winning” this case looks like losing to me.
In any event, I think they settle before it gets to trial next year, because the potential for embarrassment in discovery for both parties is too great, the sum in question is too small, and both companies should want to see those ARM Windows PCs.
I'm sorry, this is once again a very one sided portrayal of this case. Qualcomm is utterly reliant on Arm's technology and if - as you admit is a possibility - Qualcomm has materially breached its licenses in a way that is detrimental to Arm's interests, Arm is supposed to say 'fine, please go ahead'? Of course not!
People sometimes think they are very clever and read way too much between the lines.
If by "fragmentation" you mean lack of industry-wide support, then you've answered your own question as to why RISC-V. Most Debian packages can run on it. There is even an Android port to RISC-V. Outside x86 and ARM, the next best supported ISA is RISC-V.
Unrelated: why do they call the instruction set an architecture or ISA?
Very strictly speaking, to the point where it's true but irrelevant.
RISC-V does have specifications for memory models: RVWMO and Ztso. They are both ratified.
In the early days of all of mainframes, minicomputers, and microprocessors companies slapped some hardware design together and then made un an instruction set for it. When the same company made a better, faster, shinier computer a few years later the hardware was completely different and the instruction set was completely different and everyone had to rewrite their software.
One of the best-known examples is the Intel 4004, 8008, 8080, 8086 and so on. None of them can run software for either later or earlier chips. Intel was reasonably good at making it not too hard to rewrite old software, but it still had to be done.
An Instruction Set ARCHITECTURE is an instruction set that is designed from the outset to be independent of any particular hardware implementation of it, and it is intended to make and sell machines over a long period of time that can all run the same software.
Not only that, but with, for example, the IBM System/360 introduced in 1964 they announced six different machines (Models 30, 40, 50, 60, 62, and 70) on the same day, with about a 20:1 "commercial" performance ratio (90:1 for "scientific" use) and a similar range of monthly rental costs (IBM didn't sell them outright).
RISC-V is similarly deliberately an Instruction Set Architecture, that works well with a very wide range of implementation techniques and cost/size, all of which can run exactly the same software (at least if it sticks to RV32I / RV64I).
The advantage of moving to RISC-V is that no one owns it and you can always leave your IP vendor for another one. Because RISC-V is an attractive ISA it's having an anti-fragmentation effect, creating a popular standard and an industry around it.
Hmmm this is the same Qualcomm that had an Arm architecture license for years and ended up using off the shelf Arm cores?
The trial was set to begin on the 23rd. Not sure what the date is now. But you can see depositions being taken in August [1].
[1] https://www.courtlistener.com/docket/64938776/arm-ltd-v-qual...
The point being that they wanted the rights Nuvia had but without the obligations that Nuvia license implies - most specifically on fees.
And yes they have an architecture license but no the lawsuit is still open.
8, 16, 32, 64 bit mov + add + sub + load + store. and/or/not/xor, blah blah blah
obviously it gets way more complex.
just curious “unlocking its potential”
i thought the primary benefit of risc-v is how easy it is to implement since it never gets into the more complex messiness that’s modern x86_64 and all of its extensions
RISC-V is permissionless, you just grab the specs and start implementing (or more likely, grab a free core off Github and start modifying it). So that's the difference here.
For extensions, RISC-V supports those in a somewhat more structured way. There's both an open process for ratifying standard extensions, and a reserved space for your own custom extensions.
Copyrights cover documentation, and may cover the names of instructions. But creating something that's interoperable with x86, and doesn't violate those copyrights, should be considered fair use. In the same line of copyrighted APIs vs. competing implementations of said APIs. Basically: make cpu that eats binary code of >20y old x86 cpu, use new names for instructions, and write your own documentation.
But of course recent, high performance x86 cpus are still covered by many patents.
So what's legal are competing implementations of x86 cpus released ~20y ago, not using performance enhancing technology covered by still-valid patents. To do what? No market for those.
Not to mention Intel & AMD have legal teams that could make the going tough for anyone trying to do so. Even if legally allowed.
A big advantage for RISC-V is being a clean slate ISA, meaning its design takes into account many issues that were bolted on ad-hoc in other ISAs (32/64 bit, extensions, virtualization, compact instructions, etc).
And being a modular design, you don't pay the power/area cost if you just need a simple core.
Whether it's a universal good for the consumer or not is unclear. We could end up with significant fragmentation. But the compelling aspect of RISC-V is that companies can spin up their own cores to do all sorts of things without a lot of hassle with licensing. Either by writing one's own core or using an existing off the shelf one, and then tacking on whatever extensions or customizations that make sense for them
And thinking here far beyond what most people think of when they think of in regards to processors (phones, computers) but the fact that ARM cores are in practically everything these days from the MCU to the MPU level. Everything from light bulbs and ceiling fans to COVID tests to garage door openers to christmas lights or toys to drive and memory controllers to laptops and phones.
Think of all that diversity, and now consider what advantages a manufacturer can get by being able to roll up whatever they want, but still be able to use a common standard compiler suite, verification tools, skill set, etc.
RISC-V is the future, or at least a future. No doubt ARM and x86 will exist alongside basically forever, but RISC-V I think has crossed the point where it was a "maybe will be something" to a "it's happening" moment.
A really good introduction to RISC-V is designed, and why it is the way it is, by the original authors.
It left me with a very positive view of RISC-V, as well as reasonable knowledge of the ISA and ABI, which has since proven useful while writing/debugging assembly on the architecture.
But yeah modern IP laws are clown cart of idiocy that try to kill competing on good product alone at every possible corner