Next week's news
...US government bans exports of Linux to China.
The United States Department of Commerce is reportedly considering lawmakers' calls to make it harder for China to use the RISC-V instruction set architecture (ISA). RISC-V is permissively licensed – developers can access the ISA for free and use it to create proprietary or open source implementations for commercial or other …
Loongarch is not RISC-V. It’s built along similar design principles as MIPS and RISC-V (and the older Longsoon ISA was a direct MIPS copy). Absolutely no one can stop them doing that but it also misses out on the key advantage of RISC-V — the software interoperability.
These US lawmakers don’t know the first thing about computers.
US lawmakers also thought bankrupt farmers whose pigs had all been slaughtered to combat the spread of swine flu were committing a trade war by not buying animal feed (soybeans) for animals which no longer existed
Which is largely why we're in this ecalated situation to start with
Unless the RISC-V guiding body and design teams/committees are American, the American government can take a flying leap with the penchant for trying to dictate terms and policies to the world at large.
World clowns more than world police, a perpetual laughing stock over the recent years that turns tail and runs when the going gets tough or the threats become serious and long-term.
For crying out loud, you've got a completely delusional man out of touch with realities of law and the constitution he swore to defend being held up as a serious candidate to run the country! Who's next? Charles Manson?
Some of those bodies are American, but it won't do much good. The stuff China needs to develop chips around an ISA are public, as in I can just download them from the internet and they already have. I don't think China would respect or even acknowledge a legal term saying they're not to do that. Politicians, as expected, have no understanding of what actions are possible or even what the things they say mean. I'm pretty sure that this request came from politicians reading an article that said something along the lines that "China may turn to instruction sets like RISC-V" and just assumed that they could do something to prevent that from happening, not bothering to understand what any of those big words mean.
At most, they could prevent US-Chinese joint efforts to develop a chip. There probably are some, but it's not going to have a big effect if they move all their operations to one of the two countries.
The sentence was referring to this earlier one from the same paragraph:
"At most, they could prevent US-Chinese joint efforts to develop a chip."
In a US-Chinese joint effort, there are at least two countries and no guarantee that there is a third, and if there was a third, it would be unaffected. The venture would simply have to remove either its American or Chinese participant. Other countries would not change this.
It's not as simple as that. The US has quite considerable power over the way that businesses do business.
If there is a non-US company that the US government wants to sanction, they start with the financial systems. Firstly, they order all US homed financial institutions (such as Visa and Mastercard and all the US banks) to not do business with the company. They then put pressure on all of the other payment clearance operations (such as Swift) to also not do business.
They then widen this by saying that no US company can do business with any non-US company that is doing business with the target company, and put similar payment processing bans on these as well.
It's amazing how much pressure not being able to process any financial transactions puts a company under. Compare this with the fear that the US ITAR regulations can give non-US companies, and you can see the reach of US power.
Until non-US payment processing systems are widely used, the US will continue to have this power. The problem from the US's perspective is that continued sanctions against Russia, China et. al. is making these countries realise that they can exist without US payment systems, and we will see organisations like China UnionPay and also the various crypto currencies increase in reach.
RISC-V isn't a "business" you can pin down. It's a distributed global organization with many participants and players. The Americans wouldn't have to "sanction a business", but a whole raft of businesses and individuals from around the globe, including many that are in rather friendly countries that wouldn't take too kindly to such heavy handed behaviour by them.
RISC-V as a concept may not be, but RISC-V International definitely is. I was directly commenting on their moving to Switzerland, pointing out that they weren't completely clear of the US's reach.
I know that the instruction set definition is free, but the body that co-ordinates the development of the instruction set and any extensions plays a part in keeping it together as a coherent community. Sanctioning them may harm the overall community of RISC-V developers, weakening it as a potential to rival US designs, and reducing it's effectiveness as an alternative processor that China can use.
"reducing it's effectiveness as an alternative processor that China can use."
Since they have a large local market, are they worried if their version evolves in a different way to the rest of the world? I am sure other external users would not find it a problem either?
That's the problem with soft power. Its not just small scale informal payments -- its the whole BRICS organization (this group is bigger than the G7) and CBDCs, digital currency, that easily allows direct international settlements which not only bypasses US control but also denies the percentage of each transaction that's a significant part of American invisible earnings.
The interesting concept here is whether this is undemocratic? There is no independent oversight in doing this - and explains very well as to why BRICS is making such gains outside the US circle.
I particularly enjoyed reading about Blinken's visit to China, demanding that they not sell potential dual use items to Russia, whilst they directly arm Ukraine and Israel and see no hypocrisy in doing so.
Given how bad the relations are between China and the US are, I'm wondering what Blinken can threaten China with - "be careful - if you don't do what we want we will ..... ban you from existing?"
Both sides have nuclear weapons - and China can now aim them from a direction the US does not expect them.
"The US has quite considerable power over the way that businesses do business."
Until sufficient non-USA countries have had enough and send a collective FU in response
The treatment of "allies" during COVID's early days was a huge wakeup call to many and there are long term works to decrease/remove American influence/control in many jurisdictions worldwide
I suspect that if China's SINAP TMSR projects prove viable (RIP Lester, he was right) then the USD energy hegemony will be destroyed within a decade
" The problem from the US's perspective is that continued sanctions "
Are encouraging development of independent _everything_ (semiconductors, logistics systems, financial systems)
It's hardly the first time this has happened and the USA was one of the first countries to undertake such an initiative 200 years ago in response to European moves
"Unless the RISC-V guiding body and design teams/committees are American, the American government can take a flying leap with the penchant for trying to dictate terms and policies to the world at large."
The governing body anticipated something like this some time ago. It's now based in Switzerland.
So, first of all, RISC-V is shit. The vast majority of the capabilities of a CPU come from a unified ecosystem. Instruction sets are just a compatibility layer, but if you want a high performance system, the compilers, operating systems bus architectures, memory architectures, and the CPU cores have to be designed almost as a single component. This is why code compiled for a specific AMD CPU performs substantially better than code compiled just for x64. It’s also one of the key reasons Apple ARM chips perform so well compared to other ARM chips, Apple tunes the tools to the CPU.
RISC-V is sexy because you can design a CPU to the spec and get a generic set of tools which work on it. But code will never be nearly as efficient as an across the board design.
If someone were to ask, what would it take to build an alternative to RISC-V, the answer would be “buy a CPU architecture book, design an instruction set, the build a binutils and gcc (or llvm) for the architecture and port an OS. This is shockingly easy to do. You don’t need the US to be involved and honestly, the only reason most projects like this fail is because they lack momentum.
China could very easily make their own ISA. If you want to cut them off; the big hit would be attempting to limit their access to FPGAs which oils take substantially longer to recover from than even semiconductor limitations.
I think this bit answers your concerns on RISC-V performance...
This is why code compiled for a specific AMD CPU performs substantially better than code compiled just for x64.
So design RISC-V compatible CPUs to get things that work across the board, but also make a compiler that optimizes for your specific CPUs for anyone who really wants the extra performance.
As you say "Instruction sets are just a compatibility layer, but if you want a high performance system, the compilers, operating systems bus architectures, memory architectures, and the CPU cores have to be designed almost as a single component". I agree.
So, how then is RISC-V shit, given that people capable of building a high performance system, compilers, operating systems, bus architectures, memory architectures, and CPU cores using, say, x86 or Arm ISAs are equally capable of doing the same with the RISC-V ISA.
A concrete example is Qualcomm, who bought Nuvia for their high performance Arm core, then we told (and sued) by Arm saying they're not allowed to use it. Qualcomm have as much as admitted that they are converting that Nuvia core design to run the RISC-V ISA instead.
> what would it take to build an alternative to RISC-V, the answer would be “buy a CPU architecture book, design an instruction set, the build a binutils and gcc (or llvm) for the architecture and port an OS. This is shockingly easy to do.
It's easy to do as a toy. It's not at all easy to design an ISA that doesn't suck, and it costs literally billions to build a production-quality software ecosystem around it.
<quote>...it costs literally billions to build a production-quality software ecosystem around it.</quote>
Nah, this is fantasy land where designing and building an entire ISA and systems ecosystem is as "easy" as "reading a book". It costs nothing to build software in this fantasy land where gung-ho open source coders abandon everything they're doing to help out the fantasy project.
> This is why code compiled for a specific AMD CPU performs substantially better than code compiled just for x64.
So what are the differences going to between a specific AMD[1] CPU versus any old generic x64? Answer: extra interesting additional hardware units and their associated extra instructions, plus differences in precise timings of opcodes in the generic portion.
So what are the differences going to between a specific RISC-V CPU versus any old generic RISC-V? Answer: extra interesting additional hardware units and their associated extra instructions, plus differences in precise timings of opcodes in the generic portion.
As you point out, compiler writers know how to cope with the variants in the x64 to optimise for a specific CPU (we can even generate code that selects the best paths at run time, depending upon the, after reading the processor abilities register) - and exactly the same techniques work for optimising for variants of RISC-V, ARM or any of the myriad other CPU architectures that have been widely used and even those that have just played with as an exercise.
GCC and LLVM are both very capable compilers *and* have plenty of published material (in books, taught courses, blogs - oh, and the complete open source code) on how they work and how to port them.[2]
It is still a specialised area, of course, but with a bit of concentration any RISC-V company can come up with an optimised toolset.[3]
[1] or a specific Intel CPU, of course.
[2] Not to mention the wealth of knowledge on how to build compilers from scratch, if you happen to have a few thousand man hours to dedicate to creating a new toolchain [3]
[3] especially if you happen to have a government that can drop very heavy hints about how good it would be if everyone got together to work on a communal project for all the bits every implementation has in common (like optimising across a table of opcode timings, irrespective of the precise contents of that table per variant device).
>So, first of all, RISC-V is shit.
So was ARM when it was first used. It was pitched as small core that was intended to go into ASICs to do menial tasks like handling user controls and displays. Attempts to use it for anything else failed spectacularly because the architecture assumed a large ecosystem of coprocessors, standalone its performance was miserable.
ARM has evolved significantly since these ARM5 days. Its now ubiquitous because of the build/buy tradeoff -- there's no incentive to build an alternative ecosystem except for academic interest, at least there wasn't until we gave people an need for an alternative, 'open', architecture. So money's flooding into RISC-V and given that the fundamental design is similar to MIPS I'd expect it to match or even exceed these processors. If you're unfamiliar with MIPS then, put simply, they're 'Damn Fast', they just don't have all the bells and whistles that you expect on a modern processor.
If I were to look deep into my crystal ball I'd say "Keep an eye on that ARM stock.....its had a good run but its business is jeopardy". (As for x86 -- its been "last year's technology" for decades -- if Microsoft doesn't stop with the "we own your PC" business then they're giving people incentive to gradually move to alternatives, and with Win WinTel is toast.)
>>So, first of all, RISC-V is shit.
>So was ARM when it was first used. It was pitched as small core that was intended to go into ASICs to do menial tasks like handling user controls and displays.
> Attempts to use it for anything else failed spectacularly because the architecture assumed a large ecosystem of coprocessors, standalone its performance was miserable.
Shows how much you know on the subject.
The first ARM chip powered the first 32 bit desktop computer (Acorn Archimedes) which had better performance than the x86 of the day, later chips powered the first PDA powerful enough to do handwriting recognition (Apple Newton). After ARM concentrated on low power, DEC leant their Alpha technology to create the StrongARM which was faster than the contemporary Pentiums for a short while, but kicked off the PDA market, which lead to the creation of smartphones.
> The first ARM chip powered the first 32 bit desktop computer (Acorn Archimedes)
No. The Archimedes was released in June 1987, by which time the Apple Lisa had been out for 4 1/2 years and the Mac for 3 1/2 years. Both of those are desktop computers with a 32 bit ISA, though implemented with a 16 bit ALU (32 bit instructions took longer) and 16 bit memory bus. But the Mac II was out in March 1987, fully 32 bit in all respects, and three months before the Archimedes.
Even the Compaq Deskpro 386 was out in September 1986, nine months before the Archimedes.
Yes, the Archimedes was fast. At 8 MHz it was a little faster than the 16 MHz 80386 and 68020, due to the better pipelining, allowing 1 instruction per clock cycle on code that worked in registers (no RAM access) and didn't branch, while the 386 and 020 needed on average about 4 clock cycles per instruction. The 68020 also had a small (256 byte) instruction cache, which helped loops. The other two had no caches at all.
The direction of this is to discourage any US citizen (or prior holders of US citizenship) and any resident of nations like the UK, AU, NZ from involvement in any project that could be even remotely be captured these proposed laws or regulations. Most of us would prefer not to be stuck on remand in some stinking butt buggering US gaol for years awaiting an eventual decision that the original legislation was unconstitutional which wouldn't neccessarily help foreign nationals rendered into the US. Equal protection of the law always has been a bit selective like Orwell's pigs.
The people of the US should understand that the small part of the planet that doesn't actually hate you, is grateful for your assistance and prepared to work with you for our common good but do not expect respect for any of part of your political and judicial systems, your values or much of your culture, and to be honest I do not thinks anyone apart the delusional actually likes any part of the US taken as whole.
"The Commerce Department says it will tread carefully to avoid harming US companies that are part of international groups working on RISC-V"
- Reuters
It's hard to see any action they can take without it backfiring / shooting themselves in the foot / cutting off their own noses to spite thir face / harming their own economy, rather than their opponent's.
Board or the body of RISC-V have a 13 directors, 11 is from China !!
Moreover, pity US, few years ago try to buy a RISC-V, to be precise, Intel. In the same time they take of ARM thru SoftBank Japan, now the owner. OpenSource suddenly is not open, it's a private, only to hinder the China tech unstoppable rise. So lame, they ruin the freedom of the whole Net too.
Only Me !, stance is for losers as always, we all know that well, pity.
A kidnapping a daughter of your opponent, cos you're losing a G tech race, is a bottom of all bottoms, an eternal shame !
Its actually rather ironic. The US prides itself on being based on the idea that a written Constitution is unassailable -- you could wipe out the entire federal government apparatus and the country would still carry on just fine (many would say it might even work better.....). RISC-V is also just an idea. You can ban specific instances of it but you cant ban the knowledge.
(This is what happens when you fill your legislatures with lawyers and similar wordsmiths. They think that just by passing laws that they make things happen. They've lost the thread about what government is and how it works.)
Revenge of the olds -- some old coots who don't know what open source is or how it works, don't understand chip manufacturing and how it works, and don't understand how chip design works either, think in Congress-fantasy-land that they'll have "open source, but excluding countries we don't like at the moment." And that somehow these companies that are ALREADY making MIPS CPUs can't figure out how to build a RISC-V CPU on their own.
(The reasons I mention MIPS specifically are two-fold... first because of the companies there already making them, including modifying the designs... for instance, there was a ridiuclous patent over the divide instruction so they made MIPS minus the divide instruction, since it was trivial to have gcc and llvm implement "MIPS minus one instruction". Second, MIPS is also a RISC design, so they specifically have experience with RISC CPUs, and the RISC-V instruction set has been kept as minimal as possible, it's smaller than the instruction set in MIPS, and designed to keep the instruction decoder and so on simple for simple FPGA designs.. which would also make for simple designs when being burned/etched into a die.)
I just wanted to comment on the "software ecosystem" comments.
Yes, getting a really great one like Nvidia has (with CUDA, and all sorts of optimizers, and toolkits, and profilers), or ARM has loads of tools, Intel has a pretty healthy collection of toolkits on their own too. That costs a lot of money. (And that's of course not counting the large amounts of x86/x86-64 and ARM software from 3rd parties. I think it's pretty clear if you're stuck on Windows you're not going to be running your stuff on a RISC-V system any time soon.)
But, on the flip side, gcc and llvm both are designed so you list the instructions your CPU supports, data size and alignment requirements, instruction timings (to help the optimizing compiler), any restrictions (like if running some instructin back-to-back causes stalls, or if it's one of those CPUs like older MIPS where running certain instructions back-to-back would not stall, it had undefined behavior instead...) The kernel lets you bring it up on a new CPU relatively painlessly. Things like video decoding/encoding, ffmpeg etc. have hand-optimized assembly for some functionality, but already have that for x86/x86-64 (MMX through AVX512), ARM (NEON), PowerPC/POWER (Altivec), Alpha (I don't recall what they called it), along with slower C code in case none of those work. So if a RISC-V design ever gains instructions for this type of thing these programs have a clean method of adding in new code to accelerate this stuff on additional types of CPUs.
I used Gentoo back when they added some new architectures; they'd get the compiler and kernel going within weeks (on a volunteer basis, not someone trying it full-time), and they'd find they had about 85-90% package coverage on the oddest architectures (like PA-RISC or M68K), and they've hit 98% coverage on some non-Intel architectures. The beauty of Linux distros being mostly open source software in this case is you can bring it up on a new system and have what appears to be a totally ordinary Linux desktop (let alone using it for server or embedded use.)
I recall reading when Google was looking into just any CPU that is more power-efficient (various AMD/Intel models, ARM, MIPS, PowerPC..they found the modern IBM POWER chips to be qutie efficient actually... and indeed RISC-V), they commented they could get their full software stack compiled, up and running, pass it's self tests and be doing workload for their "cloud" within a day.
In summary, it does cost big bucks to build up a large set of tools like Intel, Nvidia, and ARM holdings have. But if, as a vendor, you just want a board support package (BSP)? (A BSP is a bootloader, and these days either a simple Linux distro, or one of those real time OSes like VXworks or the like; when Windows CE was a thing you'd often have a Windows CE BSP too.) The cost to produce this, and have almost the entire Linux ecosystem's worth of software to install on that BSP, that's much less difficult and costly.
"Surprisingly, RISC-V chips are known to be a generational 1.5 times ahead of existing ARM chips, when it comes to deployment requirements of AI algorithm models, which further fuels the adoption for it."
https://wccftech.com/chinese-startup-unveils-first-risc-v-based-ai-cpu-powers-k1-domestic-laptop/