6 ms·
Can someone explain what all the fuss around RISC-V is about?
by NeutralForceUsr 4y ago
Can someone explain what all the fuss around RISC-V is about?
- haunter 4y agox86 is the past, but ARM is proprietary. RISC-V is the open source answer (there is SPARC but it's much older and never gained enough traction + Power/PowerPC became open source too but it's also not a modern ISA)
- unixgoddess 4y agowhat about AMD? wasn't it gaining traction?
- arcanemachiner 4y agoAMD uses x86.
- bluGill 4y agoAMD had their own non-x86 instruction set once upon a time. I remember using it in the mid-90s in some embedded thing it worked, but as a developer once there is a compiler all instruction sets are hidden so I can't comment.
- therealcamino 4y agoMaybe the 29000 is the one you're thinking of? https://en.m.wikipedia.org/wiki/AMD_Am29000 https://en.m.wikipedia.org/wiki/AMD_Am29000 The article says it got designed in to a bunch of laser printers, but not which ones. There were a bunch of RISC designs floating around then. The ones still relatively familiar are those that were being used as workstation CPUs -- SPARC, MIPS, POWER/PowerPC, DEC Alpha. But there were also the 29k, the Motorola 88000, and Intel i860. Probably others I'm not remembering.
- haunter 4y agoIf you mean amd64 it's the 64 bit extension of the x86 instruction set. It's just named after AMD because they were the ones introducing it while Intel was instead working on the arguably failed brand new 64 bit-only Itanium architecture. In the end they "went back" and picked up amd64 too that's why multiple names exist: x64, x86_64, amd64.
- unixgoddess 4y agothanks, TIL
- ghaff 4y agoAnd there were/are some differences between AMD and Intel 64-bit x86 once you get into the details (and indeed between various extensions on a given microarchitecture). x86_64 (or x86-64), ugly as it is, is probably the best way to refer to specifically 64-bit x86 at a non-vendor-specific level. Just x86 works for a lot of purposes too.
- ghaff 4y agoTo be precise, RISC-V is an open architecture. (Which the hope is will be more successful than cases where the implementation was mostly take it or leave it open implementations/models.)
- Steltek 4y ago> RISC-V is the open source answer This particular CPU is not open source.
- classichasclass 4y agoWhat makes an ISA "modern" and why are ISAs that aren't, bad per se?
- Pet_Ant 4y agoThey have many op codes that bloat the instruction set, that need to be broken apart to fit into a multi-scalar design. This is over head that takes of silicon space. This is especially painful with multi-core designs since each core needs this. They may have memory models that make guarantees that are insignificantly secure or impede optimisation. There is something about condition codes vs explicit checks that made speculative execution difficult. I don't recall the details about this one.
- classichasclass 4y agoI don't dispute that legacy cruft is a problem, but I don't see how "not modern" (which still isn't defined) necessarily means legacy cruft. ARM or MIPS aren't especially recent in ISA terms, but I think most would agree each has less cruft in it than x86, for example.
- brucehoult 4y agoLess than x86, certainly. That's a low bar. MIPS has cruft in things such as architectural load and branch delay slots. Helped in the first, simple, implementation but just (worse than) useless baggage after that. Instructions that trap on overflow too. Helped on some programs on simple implementations, but on an OoO implementation just the mere existence vastly complicates the pipeline even if programs don't use them. With Arm, the bitmapped arbitrary set of registers load/store/push/pop is cruft that helped the first simple implementations (especially ones without icache). Same with the predication on every instruction. It uses a ton of instruction encoding space, doesn't get used much outside of conditional branches, and in modern implementations branch prediction is usually so good that you don't want to predicate instructions -- certainly not several in a row. Arm is deprecating IT* predication in Thumb2 now also. Also PC as a general register is harmful to modern implementations. ANY instruction with r15 as the destination can change control flow -- load, add, xor .. whatever. At least you can tell at instruction decode time, but it needs both opcode and dst register to tell. Aarch64 fixes most of the traditional Arm cruft (everything mentioned above) and is a pretty good ISA. The main faults are that it still has condition codes (no other high performance ISA designed after 1990 does), insistence on the purity of 4-byte instructions only (Thumb2 showed that the benefit is well worth the small cost), and just the simple fact that there is TOO MUCH of it and no subsets allowed, making it impractical for small CPUs e.g. microcontrollers.
- genmud 4y agoThe instruction set architecture (ISA), is open source, which means there is a minimum amount of instructions (think assembly instructions) that people can use to target/implement the functionality of that CPU architecture, similar to x86, x64, ARM or POWER. The big thing that is different than other "open" ISAs in the past is that there is an open specification / standard that isn't encumbered by restrictive licensing or patents. This allows software (think compilers) and hardware designers to target the ISA without fears of getting sued for using the ISA or having to have restrictive licenses. It can also be simple to implement, but there are commercial, highly performant cores available too, for example, sifive.
- Steltek 4y agoPeople get excited because "it's open source". Except it's really not as only the instruction set is "open source" and even that doesn't really mean much as interfaces have dubious copyright protection. Still, it promises a cheaper alternative to ARM because of the theoretical reduced licensing costs from the trademark name. The other salient is political: ARM, x86, etc are Western aligned while RISC-V is attractively nonaligned. ARM's government mandated Chinese subsidiary went rogue against ARM itself which endangers the use of ARM chips in China. RISC-V hedges against this risk for China.
- HopenHeyHi 4y agoI don't care about licensing costs just the final total cost. And I absolutely don't care that it is "politically nonaligned", bah. I care because David Patterson is a badass who was right about everything. :)
- viraptor 4y ago> And I absolutely don't care that it is "politically nonaligned", bah. You don't until you do. Like all the corps which need to replace the Huawei tech unexpectedly.
- HopenHeyHi 4y ago[flagged]
- abeyer 4y ago> because "it's open source". Except it's really not as only the instruction set is "open source" There are multiple cores available under permissive licenses all the way through to ASIC or FPGA implementation. There is also quite a bit of academic research happening now, which may not be formally open source but is shared and published. > even that doesn't really mean much as interfaces have dubious copyright protection There's a big difference between "given a license to use this" and "might not get sued, or at least might win if we do, if we use this without permission."
- cfiggers 4y agoBasically, all the same arguments you've heard in favor of open source in general. Today, board developers have to pay if they want to license ARM. And with recent developments coming out of ARM, the price to pay is going up by a lot, very soon. If RISC-V can develop to the point of more or less parity with ARM, then that will enable cheaper products that are just as good, equally priced products that are better, or equivalently positioned products that return a better profit to their manufacturers (which is good for you even if only indirectly—better profitability means easier entry for competition, better financial stability behind whatever ecosystem you're buying into, lower chances of companies crashing and leaving behind unmaintainable e-waste, etc). IMO, reduced rent-seeking is good for everybody no matter what sector. I want more collaboration and less human effort/ingenuity/resource dissipating to waste heat. Open source makes Moloch cry.
- genmud 4y agoSiFive is pretty nice, they have a very attractive offering and will probably make the transition much easier for folks who are on ARM offerings. IMHO the biggest issue right now with ARM is the uncertainty surrounding it, their Chinese subsidiary went rogue and they are trying to raise prices significantly in preparation for a sale or IPO.
- klelatti 4y agoThis emphasis on price is a bit misleading imho. Arm had revenues of less than $800m in the last reported quarter and there were 8 billion Arm cores shipped. So that’s less than 10c per core. And that’s not the fee for the ISA it’s the total cost of licensing the core. So if you’re expecting a big cost saving on the end user price from the ISA being open source then you’ll be likely to be disappointed. More important is that more competition may lead to better designs and the RISC-V gives more freedom for firms to innovate.
- kevin_thibedeau 4y ago10¢ is significant on the low end. This is where RISC-V will chip away at ARM.
- rwmj 4y agoFor CPU developers it's permissionless. To develop a new Arm chip you need to negotiate a license up front from that company. To develop a new x86 chip, well, forget about that. Intel won't license x86 for any amount of money. For RISC-V, download a BSD-licensed core from github, or grab the BSD-licensed specs and write your own. No need to ask anyone's permission, and no fees to pay.
- iso8859-1 4y agoBut since AMD owns amd64, can't you get a license from them?
- yjftsjthsd-h 4y agoSomehow I doubt that they're much more friendly about it. At a technical level, though it's an interesting question; I'm actually pretty curious to know whether you could make a processor that's pure amd64 without the legacy 32-bit mode... I suspect it would be a fair bit of work from the software side to support that, but it's probably possible. But I'm no ISA designer:) Edit: Or is 32-bit x86 so old that you could "just" clone it because all the patents have expired?
- ZiiS 4y agoamd64 uses Intel IP; even if you removed all legacy modes.
- Steltek 4y agoHistorically, Intel and AMD had an exclusive IP sharing agreement with each other. That would not extend to other parties.
- wolpoli 4y agoSo it means the entity wanting to develop an amd64 processor will need licenses from both Intel and AMD. I don't see how this could practically happen through.
- 4y ago
- anigbrowl 4y agoOpen IP, you can make a chip without paying any licensing fees. On a desktop or laptop CPU, or even a phone, you probably don't care that $10 of the cost goes to licensing. But on internet-of0things processors that are aiming to be under $10 or even $1, licensing becomes a big pain point. On a more general level, the idea of RISC is to have a very very simple instruction set instead of a thousand 'clever' features that are mostly underused, so that you can optimize your software project out the yin-yang if you're more concerned with pure performance than versatility.