Author Topic: The RISC-V ISA discussion  (Read 19565 times)

0 Members and 2 Guests are viewing this topic.

Online SiliconWizardTopic starter

  • Super Contributor
  • ***
  • Posts: 15197
  • Country: fr
Re: The RISC-V ISA discussion
« Reply #25 on: December 28, 2019, 04:48:49 pm »
Exactly what's your interest?
Building an HDL cpu-core with pipeline?

Likely yes.

Writing a cycle-accurate pipeline simulator?

Yes, but not just for the sake of it. Mainly to be able to try/benchmark new ideas much more easily than having to write HDL for them every time. Then the ideas that would prove interesting could be later implemented in HDL.

Implementing a simulator also helps (at least helps me) tremendously understand how to implement things in HDL when they become this complex.

Designing an HL compiler, from HL to machine-code?

This one would be a big nope. For now anyway.

but talking about "architecture", I wish I had "see RISC-V run" (The Book) under my Xmas tree.
Has it already been written? Let's write it! I wanna it under the tree :D

What would you like to read in it?
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4421
  • Country: nz
Re: The RISC-V ISA discussion
« Reply #26 on: December 28, 2019, 05:28:46 pm »
The idea here is that microarchitecture will take care of multiple instructions that cam be fused together and executed as one.
That's gonna be tricky for ADC as the decoder needs to remember which register holds the SLTU-computed carry bit of which addition and then find the ADD instructions that consume this register, which may come in a few permutations, possibly partly before the SLTU itself, and possibly spread out and interleaved with unrelated code if the compiler targets a superscalar core. Sounds fun, I'm not sure if even x86 perform such complex fusions.

I've heard/read about proposals to design RISC-V cores with instruction fusion like this, but have never seen one actually work. It sure sounds like pretty complex to implement correctly, and I'm frankly not convinced it would end up being simpler than just handling 3-source instructions (which again already exists in some RISC-V extensions anyway...)

No one is going to do anything as complex as that.

Instruction fusion is of course a complex thing. The whole point of it is that it allows you to put the complexity of decoding it and the complexity of needing possibly more than two source operands only on the implementation that wants to do that. On others the potentially-fused instructions just execute serially as usual.

That means that one constraint on fusible instruction pairs (or sequences) is that they must modify only one register (or if they are executed fused then all result registers must be properly written with the intermediate values -- which is a whole other level of complexity)

If we rearrange that 64 bit add example a little...

Code: [Select]
add a0,a0,a2
sltu a5,a0,a2
add a5,a5,a3
add a1,a1,a5
ret

... then the sltu and following add can be fused.

I don't expect CPUs will go looking for fusible pairs that are randomly separated in the instruction stream. If you know you're going to be running on a CPU that fuses certain sequences then you tell the compiler to schedule (and register allocate) so as to generate those pairs.

We know recent Intel x86 CPUs fuse cmp/bCC pairs. They don't do it if they are separated.

SiFive's 7-series cores fuse conditional branches that branch forward over exactly one instruction into effectively predicating that following instruction.

I don't know of other RISC-V cores that implement any instruction fusion yet. It's a high end feature for high performance CPUs and virtually all RISC-V cores actually released until now have been aimed at the low end. Several companies and other organizations are working on high performance RISC-V cores, so we'll find out in due course.

Quote
Anyway, it's all an exercise of making a good compromise between simplicity and performance. A pretty tough endeavor that's obviously bound not to please everyone.

Absolutely.

Quote
I completely understand the whole idea of having a simple ISA (RISC-V in that regard is very much in the RISC spirit of the early days, whereas most RISC processors now have become monsters and we can question what the "R" means anymore). But putting all the work for performance upon the microarchitecture's shoulders is debatable as well. One point of RISC-V is to make it very easy/and lightweight to implement, but then if we need to design complex microarchitectures to really make it efficient, is the compromise really always worth it? At least it certainly doesn't look as easy as what we may hear here and there...

I think you should look at the situation as it is before performing any such heroics.

Simple RISC-V cores such as the original open source single-issue in-order "Rocket" have both code size and program execution cycles within epsilon (+/- a couple of percent) of Thumb2 cores such as Cortex M0/M3/M4. It depends on the benchmark. Sometimes ARM comes out slightly ahead and sometimes Rocket comes out slightly ahead.

The Rocket cores also come out smaller in silicon area (cheaper, lower energy use) in the same process AND can be clocked higher in the same process. More recent core designs from SiFive, Andes, Western Digital, PULP and others are better again than Rocket.

A lot of people have looked at the FE310 and said "Why on earth would you want to make a microcontroller with only 16 KB of RAM run at 320 MHz?" A fair enough question. The answer is simply that 320 MHz is simply the speed that all of the chips turned out to run at on the very cheap 180nm process (some do 400 MHz), and there seemed to be no marketing reason to artificially limit it. They run perfectly well at 16 MHz or 80 MHz or whatever if you want (and at lower power levels of course).

There doesn't seem to be anything else that comes close to matching RV32IMAC and Thumb2 on all axes of code size, clock cycles, and die area.

NanoMIPS, maybe, which looks very very nice in the manual but it seems basically still-born, which is a great pity. There was an announcement of an RTL core in May 2018, and later of it being licensed to Mediatek, but nothing else since then. It might never see the light of day anywhere else. I'd love to be wrong on that, as it seems to be very nice work.

SH4 and ColdFire and Thumb1 have good code size but having only 2-address instructions loses too much on execution speed unless you go super scalar out-of-order like x86.

Three-address instructions but only 32 bit opcodes loses too much on code size.

Maybe Xtensa's mixed 16 bit and 24 bit instructions comes close. I haven't studied it closely enough to know. I do know RISC-V is getting lots of design wins against Xtensa (and ARC) and also displacing them from existing customers.
 
The following users thanked this post: I wanted a rude username

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4421
  • Country: nz
Re: The RISC-V ISA discussion
« Reply #27 on: December 28, 2019, 05:38:10 pm »
I was thinking of another way to implement ADC not requiring a separate flag register. Not ultra efficient, but simpler?
The idea would just be to make all integer registers 1 bit wider (ie. 33 bits for RV32). The destination of any ADD would naturally receive the carry in its MSB (bit 32). Thus a further ADC using this register as a source would not require handling a third source. This extra bit could maybe be used for other purposes as well? I know it sounds a bit wasteful, but it looks much simpler to implement. And yes, for those who consider ADC to be a rarity these days, that would probably make them cringe. ;D

That's certainly a much better solution than a condition code register.

Another thing not noted so far in this thread: RISC-V doesn't have a rotate instruction.

Have at it :-)
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11699
  • Country: us
    • Personal site
Re: The RISC-V ISA discussion
« Reply #28 on: December 28, 2019, 05:47:48 pm »
Yes, CPU will not be looking for randomly located bits and pieces. They will be looking for a specific pattern. This is way above your typical home brew on FPGA, but not uncommon at all for real devices. You would have to do that anyway to compete with X86 and likes, since that type stuff is where they get all their performance from.

Even with Cortex-M7 you have dual-issue pipeline. It has the same instruction set as Cortex-M4, but your program can literally run 2 times faster if you interleave floating point and integer instructions. The core does not do it automatically, it expects the programmer or the compiler to take care of that.
« Last Edit: December 28, 2019, 06:10:07 pm by ataradov »
Alex
 

Online SiliconWizardTopic starter

  • Super Contributor
  • ***
  • Posts: 15197
  • Country: fr
Re: The RISC-V ISA discussion
« Reply #29 on: December 28, 2019, 06:08:52 pm »
A lot of people have looked at the FE310 and said "Why on earth would you want to make a microcontroller with only 16 KB of RAM run at 320 MHz?" A fair enough question. The answer is simply that 320 MHz is simply the speed that all of the chips turned out to run at on the very cheap 180nm process (some do 400 MHz), and there seemed to be no marketing reason to artificially limit it. They run perfectly well at 16 MHz or 80 MHz or whatever if you want (and at lower power levels of course).

Yeah, I was one of them! But I get the point, and SRAM is not cheap... (I also understand the point that SiFive at this point would not gain anything selling off-the-shelf chips potentially "competing" with your custom offers...)

There doesn't seem to be anything else that comes close to matching RV32IMAC and Thumb2 on all axes of code size, clock cycles, and die area.

NanoMIPS, maybe, which looks very very nice in the manual but it seems basically still-born, which is a great pity. There was an announcement of an RTL core in May 2018, and later of it being licensed to Mediatek, but nothing else since then. It might never see the light of day anywhere else. I'd love to be wrong on that, as it seems to be very nice work.

Yeah, I've played a bit with the NanoMIPS target for GCC to get an idea of what we'd get with real code... But obviously never had the chance to try an actual chip.

SH4 and ColdFire and Thumb1 have good code size but having only 2-address instructions loses too much on execution speed unless you go super scalar out-of-order like x86.

You probably know that both SH2 and SH4 patents have expired, and there is one open core: http://www.j-core.org/ (it still only implements SH2 I think, since SH4's patent had not yet expired when they started, and the project seems now on hold...) SH looks interesting. Of course, contrary to RISC-V, they are only 32-bit ISAs. SH5 was an attempt for a 64-bit version, but it never saw the light AFAIK.

 

Online SiliconWizardTopic starter

  • Super Contributor
  • ***
  • Posts: 15197
  • Country: fr
Re: The RISC-V ISA discussion
« Reply #30 on: December 28, 2019, 06:14:22 pm »
I was thinking of another way to implement ADC not requiring a separate flag register. Not ultra efficient, but simpler?
The idea would just be to make all integer registers 1 bit wider (ie. 33 bits for RV32). The destination of any ADD would naturally receive the carry in its MSB (bit 32). Thus a further ADC using this register as a source would not require handling a third source. This extra bit could maybe be used for other purposes as well? I know it sounds a bit wasteful, but it looks much simpler to implement. And yes, for those who consider ADC to be a rarity these days, that would probably make them cringe. ;D

That's certainly a much better solution than a condition code register.

Glad you didn't reject the idea. Yes it seems pretty easy to implement, would "only" require 1 extra bit, and would have the benefit of holding one flag per register - which would not only avoid an additional data hazard, but would also allow a range of optimizations for complex "bigint" arithmetic. I think it could be implemented as an extension, as the base registers wouldn't actually need to be wider than what is spec'ed in the base ISA. We could just add one register with each bit corresponding to one data register, and address the bits with the same source index as one of the operands.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: The RISC-V ISA discussion
« Reply #31 on: December 28, 2019, 06:14:41 pm »
What would you like to read in it?

Good stuff like in the book "see MIPS run": from the idea behind the design to the real applications, with humor and anecdotes  :D
 

Online SiliconWizardTopic starter

  • Super Contributor
  • ***
  • Posts: 15197
  • Country: fr
Re: The RISC-V ISA discussion
« Reply #32 on: December 28, 2019, 06:25:07 pm »
What would you like to read in it?

Good stuff like in the book "see MIPS run": from the idea behind the design to the real applications, with humor and anecdotes  :D

Didn't read it (so that wasn't ringing a bell), but I will take a look.
 

Offline GeorgeOfTheJungle

  • Super Contributor
  • ***
  • !
  • Posts: 2699
  • Country: tr
Re: The RISC-V ISA discussion
« Reply #33 on: December 28, 2019, 06:41:06 pm »
One point of RISC-V is to make it very easy/and lightweight to implement, but then if we need to design complex microarchitectures to really make it efficient, is the compromise really always worth it?

No it isn't always worth it. That's why the ARMs in our phones have plenty of dedicated extensions, coprocessors and GPUs and hardly deserve to be called Reduced anything.

The extremes are low power/simple/small/slow and power hungry/complex/big/fast. You have to choose where you want to be, can't have it all.

And IMO after all these years, we have already plenty of good enough ISAs and CPUs, and the ISAs competition is over. As long as the C (or whatever) we write runs fine, who cares what the ML looks like? 99.999% of the time, nobody cares.

The only thing that RISC-V brings to the table is that it's free, if you ask me.
The further a society drifts from truth, the more it will hate those who speak it.
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4421
  • Country: nz
Re: The RISC-V ISA discussion
« Reply #34 on: December 28, 2019, 09:47:41 pm »
Quote from: GeorgeOfTheJungle link=topic=223802.msg2847858#msg2847858
The only thing that RISC-V brings to the table is that it's free, if you ask me.

Free as in Freedom, not free as in a free lunch, yes. That is absolutely the main thing. It's not that the code might be 10% smaller than some other ISA or run 2% faster or use 50% less energy (though those might be true, in some cases).

There are other "Free as in Freedom" ISAs, but at this point in time they don't have the software ecosystem and hardware and software momentum (acceleration?) that RISC-V does.

The truly big thing is that as an ISA it is "good enough", and that if you choose to start using it, you can invest in software and tooling and whatever confident that no one can ever force you to change ISA later on against your will. Unlike, say, people who invested in .. well, it's a long list .. PDP11/VAX/Alpha, i860/i960/Itanium, PA-RISC, SPARC, M68k, M88k, DG Nova/Eclipse.

Anyone competent can continue to make RISC-V cores as far into the future as they want, using whatever design and implementation techniques are available at that time, and no lawyer will tell them they can't. If one supplier goes out of business or raises prices too much, you can switch to another supplier, or even hire your own engineers to make your own core.

Or use an emulator on whatever the leading CPU is at the time: RISC-V is very easy to interpret or JIT with high performance: Portable QEMU manages about a 3x-4x slowdown over native, and the "RV8" JIT Michael Clarke and I wrote demonstrated as low as 1.1x to 2x on x86_64. qemu-arm and qemu-aarch64 on the other hand show around an 3x to 8x slowdown over native (those pesky condition codes are largely to blame), plus if you try to use that commercially you may well find yourself receiving a letter from a lawyer.

What happens if there is a new hardware technology with vastly faster switching times, but you can't put many logic elements in a computer? Unless it's something totally alien, you might see something like a 4004 or 6502 implemented on it first, but once it can support a 32 bit ISA it's likely that RV32I (or maybe RV32E) will be the first implemented for it, as it will have a complete and current software toolchain and ecosystem.

What guarantee do we have the the optimal ISAs won't change completely in future? None, of course, beyond the fact that for 55 years now ISAs have fashionably headed off in various directions as technology changed, but keep coming back to somewhere in the space between 1964's IBM 360 and 1975's IBM 801 project (the first true RISC).

https://carrv.github.io/2017/papers/clark-rv8-carrv2017.pdf
https://rv8.io/
 

Offline I wanted a rude username

  • Frequent Contributor
  • **
  • Posts: 633
  • Country: au
  • ... but this username is also acceptable.
Re: The RISC-V ISA discussion
« Reply #35 on: December 28, 2019, 10:18:42 pm »
Free as in Freedom, not free as in a free lunch, yes. That is absolutely the main thing.



Richard Stallman blesses this message with a recorder solo.

Also (you probably know this, because riscv.org reblogged it), as Arnd Bergmann commented when support for the indigenous Chinese C-SKY architecture was added to Linux:

> One more general comment: I think this may well be the last new CPU
> architecture we ever add to the kernel. Both nds32 and c-sky are made
> by companies that also work on risc-v, and generally speaking risc-v
> seems to be killing off any of the minor licensable instruction set projects,
> just like ARM has mostly killed off the custom vendor-specific instruction
> sets already. If we add another architecture in the future, it may instead
> be something like the LLVM bitcode or WebAssembly, who knows?
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4421
  • Country: nz
Re: The RISC-V ISA discussion
« Reply #36 on: December 28, 2019, 10:27:54 pm »
Also (you probably know this, because riscv.org reblogged it), as Arnd Bergmann commented when support for the indigenous Chinese C-SKY architecture was added to Linux:

Yes, I saw that at the time.

Certainly Andes (nds32) has gone all-in on RISC-V and are currently (with SiFive) in the top 2 commercial RISC-V vendors in the world, and #1 in China where they already had a long-established client list for their own ISA. They also have a bunch of extensions which they have already ported from their own ISA to RISC-V and the proposed "P" packed-SIMD/DSP extension is essentially donated by Andes with I think very few if any modifications.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: The RISC-V ISA discussion
« Reply #37 on: December 28, 2019, 11:08:08 pm »
The truly big thing is that as an ISA it is "good enough", and that if you choose to start using it, you can invest in software and tooling and whatever confident that no one can ever force you to change ISA later on against your will. Unlike, say, people who invested in .. well, it's a long list .. PDP11/VAX/Alpha, i860/i960/Itanium, PA-RISC, SPARC, M68k, M88k, DG Nova/Eclipse.

When I was at home, I daily used two PA-8700(+) @ 875 MHz servers running Linux. I could have moved to arm (RPI?) or x86 (or AMD Geode?), but I preferred HPPA simply because I like the specific hardware implementation of the Cxxx workstation and server lines, and because they have neater PCI stuff under the hood as well as a true HMC chip on the bus (which helps to debug the PCI), and this is good for my specific applications. I also remotely use four POWER9 machines (PPC64++/BE) running Linux, but it's pure researching activity.

The 90% of what I do there can be moved to x86, arm, MIPS, ... everything that runs Linux can potentially be OK. But, talking about things I daily use for my job, the PowerPC is used in avionics because its implementation offers guarantees that other architectures don't offer, and the M88K was used (and it is still used) for military mission-critical stuff because its implementation also offers the possibility to have a voter with better guarantees on its functionality.

In these cases, my company cares more about the implementation, and all the legal stuff a chip-maker can offer.
« Last Edit: December 28, 2019, 11:25:41 pm by legacy »
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4421
  • Country: nz
Re: The RISC-V ISA discussion
« Reply #38 on: December 28, 2019, 11:16:03 pm »
Talking about things I daily use for my job, the PowerPC is used in avionics because its implementation offers guaranties. The M88K was used (and it is still used) for military mission-critical stuff because its implementation offers the possibility to have a voter with better guarantees on its functionality.

At the RISC-V Summit I was talking to someone from a well known airliner avionics company. They told me they're switching from PowerPC to RISC-V and don't see qualification or certification or whatever as a problem. They'll be using the same supplier for the physical chips as they were before.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: The RISC-V ISA discussion
« Reply #39 on: December 28, 2019, 11:29:27 pm »
At the RISC-V Summit I was talking to someone from a well known airliner avionics company. They told me they're switching from PowerPC to RISC-V and don't see qualification or certification or whatever as a problem. They'll be using the same supplier for the physical chips as they were before.

I 'd like to see who will assume the responsibility for the certifications. One thing is to talk, one thing is to sign with your blood. We will see. What I know is: we have just invested 5 million Euro in PowerPC for the new year.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: The RISC-V ISA discussion
« Reply #40 on: December 28, 2019, 11:30:44 pm »
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4421
  • Country: nz
Re: The RISC-V ISA discussion
« Reply #41 on: December 28, 2019, 11:39:51 pm »
the same supplier

Who? AMCC?

They told me who, but I think they would probably prefer me not to say at present.

I haven't seen you mention who you work for.
« Last Edit: December 28, 2019, 11:41:47 pm by brucehoult »
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4283
  • Country: us
Re: The RISC-V ISA discussion
« Reply #42 on: December 29, 2019, 03:00:41 am »
Quote
Unlike, say, people who invested in .. well, it's a long list .. PDP11/VAX/Alpha, i860/i960/Itanium, PA-RISC, SPARC, ...
It's "interesting" that a lot of those have presumably had their "intellectual property rights" expire, and COULD probably be manufactured by anyone who really wanted to.  But most have other reasons that people aren't actually interested any more.

Back when the original x86 patents were expiring, "we" had some significant worry that all the chip vendors would be making nothing but x86 clones (and our code didn't run on x86...)  That didn't happen, though!

(Now, 8051 sort-of did this.  I wonder what made that work...)
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4421
  • Country: nz
Re: The RISC-V ISA discussion
« Reply #43 on: December 29, 2019, 04:53:31 am »
Quote
Unlike, say, people who invested in .. well, it's a long list .. PDP11/VAX/Alpha, i860/i960/Itanium, PA-RISC, SPARC, ...
It's "interesting" that a lot of those have presumably had their "intellectual property rights" expire, and COULD probably be manufactured by anyone who really wanted to.  But most have other reasons that people aren't actually interested any more.

Certainly patents have expired, but I gather you could run afoul of copyright claims on the ISA itself, or the manual, or ...  I don't know. And Trademark infringement if you claim to be compatible with something rather than simply copying it and calling it something else.

What prevents anyone who wants to from making PowerPC- (1994ish) or MIPS32/MIPS64- (1999) compatible CPUs without a license?
 

Offline donotdespisethesnake

  • Super Contributor
  • ***
  • Posts: 1093
  • Country: gb
  • Embedded stuff
Re: The RISC-V ISA discussion
« Reply #44 on: December 29, 2019, 12:05:05 pm »
Free as in Freedom, not free as in a free lunch, yes. That is absolutely the main thing.

Richard Stallman blesses this message with a recorder solo.

I'm not sure he would, I don't think RISC-V is copyleft? Open Source licenses dilute his concept a lot (i.e all the non copyleft licenses). They present great opportunities for commercial operators, i.e. to not pay license fees to Microsoft, ARM etc, but don't necessarily help the end users, which is what Stallman is concerned about.
Bob
"All you said is just a bunch of opinions."
 

Online magic

  • Super Contributor
  • ***
  • Posts: 7089
  • Country: pl
Re: The RISC-V ISA discussion
« Reply #45 on: December 29, 2019, 12:07:46 pm »
If we rearrange that 64 bit add example a little...

Code: [Select]
add a0,a0,a2
sltu a5,a0,a2
add a5,a5,a3
add a1,a1,a5
ret

... then the sltu and following add can be fused.
That's still not competitive with CISC on Fibonacci computation benchmarks ;)

You would have to fuse SLTU with the preceding ADD and then fuse the two following ADDs into ADC.
It could be doable, I think. The Sxxx instructions decoder would be looking for such patterns and simply repointing the target register to a hidden carry/overflow/zero flag in the ALU instruction's ROB, making the Sxxx essentially a NOP. Then the following ADD would detect the condition and wait for another ADD to fuse with.
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 17076
  • Country: us
  • DavidH
Re: This RISC-V ISA discussion
« Reply #46 on: December 29, 2019, 12:18:08 pm »
I understand that. Yes that would be instructions with the equivalent of 3 sources instead of 2. There are such instructions in the FP extensions by the way (fused multiply add), so if you're implementing FP extensions, you'll need the logic to handle 3 sources anyway. Given that 3-source instructions are part of extensions already, it would make sense to put instructions using carry in an extension as well, I concede that.

That's a different register file and a different ALU.

Oh. Right. So you'd have to duplicate it, but I guess the structure would be pretty similar. I still don't have a precise idea of how much area/LEs it takes to implement that. I'm currently working on a typical 5-stage pipeline with 2 data sources and 1 destination as per the base RISC-V ISA. But at this point, even that I have no idea exactly how much it would take in hardware.

I have implemented pipelines in the past but none with data hazards (or very simple ones) or branch hazards, so I'm still wrapping my head around that.

The problem with 3 operand instructions is that the register file requires an extra read port which is *very* expensive.  I am not sure how they handle special cases like 3 and 4 operand FMA but I assume that an extra register file access is buried in the instruction latency.

But there is no requirement that flags be interchangeable with normal registers so they can be implemented in their own single port register file and some ISAs (Power?) do this.  Now the problem becomes extra instruction length.

Using a single flags register obviously can be made to work however it entails a lot of complexity in a high performance design.
 

Offline GeorgeOfTheJungle

  • Super Contributor
  • ***
  • !
  • Posts: 2699
  • Country: tr
Re: The RISC-V ISA discussion
« Reply #47 on: December 29, 2019, 03:51:08 pm »
Quote from: GeorgeOfTheJungle link=topic=223802.msg2847858#msg2847858
The only thing that RISC-V brings to the table is that it's free, if you ask me.

Free as in Freedom, not free as in a free lunch, yes. That is absolutely the main thing. It's not that the code might be 10% smaller than some other ISA or run 2% faster or use 50% less energy (though those might be true, in some cases).

There are other "Free as in Freedom" ISAs, but at this point in time they don't have the software ecosystem and hardware and software momentum (acceleration?) that RISC-V does.

Sorry but "Use 50% less energy" sounds too good to be true... compared to what? Apples to oranges? But if that's true,  :-+ , you're going to own the market very soon.

In any case, in my opinion the ISA doesn't matter much these days. You only need to know the exact details to write for bare metal/lower level layers support/HAL/kernel etc, but above that, the application is going to be written in at least C or C++ (or worse) and there it doesn't matter much if at all.

You as an Apple user know it very well, because you've witnessed the almost seamless transitions from 68k to PPC and then to Intel and ARM.

Quote
The only thing that RISC-V brings to the table is that it's free, if you ask me.

"The only" was a bit rude, I apologize, should have said instead "The most significant".
« Last Edit: December 29, 2019, 09:27:07 pm by GeorgeOfTheJungle »
The further a society drifts from truth, the more it will hate those who speak it.
 

Online SiliconWizardTopic starter

  • Super Contributor
  • ***
  • Posts: 15197
  • Country: fr
Re: The RISC-V ISA discussion
« Reply #48 on: December 29, 2019, 04:37:51 pm »
Quote
Unlike, say, people who invested in .. well, it's a long list .. PDP11/VAX/Alpha, i860/i960/Itanium, PA-RISC, SPARC, ...
It's "interesting" that a lot of those have presumably had their "intellectual property rights" expire, and COULD probably be manufactured by anyone who really wanted to.  But most have other reasons that people aren't actually interested any more.

Certainly patents have expired, but I gather you could run afoul of copyright claims on the ISA itself, or the manual, or ...  I don't know. And Trademark infringement if you claim to be compatible with something rather than simply copying it and calling it something else.

What prevents anyone who wants to from making PowerPC- (1994ish) or MIPS32/MIPS64- (1999) compatible CPUs without a license?

https://en.wikipedia.org/wiki/OpenPOWER_Foundation
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: The RISC-V ISA discussion
« Reply #49 on: December 29, 2019, 08:51:15 pm »
E.g. considering the temperature range, chips have the following classification:

Consumer 0°C to +95°C -> Level E
Extended Consumer -20°C to + 105°C -> Level D
Industrial -40°C to +105°C -> Level C
Automotive: -40°C to + 125°C -> Level B
Avionics: -55°C to + 125°C Level A
extended Avionics: -55°C to + 150°C Level A+ <--------------------- new spec 2015

Of course, there are other specs to be satisfied, but the point is: Motorola's, Freescale's, and AMCC's devices were/are built with ruggedized technology and designed with rules to satisfy all the specs.
« Last Edit: December 29, 2019, 09:31:00 pm by legacy »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf