POLL: x86 vs ARM vs RISC-V; What is your favourite CPU ISA?

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

grant2

Golden Member
May 23, 2001
1,165
23
81
You know that modern Arm and X86 cpu designs have thing called AGU. That's alu unit responsible of generating those complicated indexed addressing addresses for each load. Risc-V design don't need them - they can expand their load/store capabilities without need to add more AGU-units. And with those hardware indexing instruction sets - actually when more complex indexing modes are used load latency is longer by one clock cycle. By Risc-V scheme that is avoided. Of course Risc-v type addressing can be used with arm and x86 too, but why to have instructions which when used made cpu performing worse.

Other key points of Risc-V is that SIMD. SVE tries to be SIMD-vector length agnostic but isn't - Risc-V other hand doesn't have SIMD hardware at all - instead it have vector ISA. Vector ISA presents vectors as loops of scalar instructions - and execution hardware, when done right, is totally vector length agnostic, those instructions can be executed with scalar or SIMD hardware at any given register length.
I caught only the smallest drift of any of this...

... but it sounds like you're saying "Risc-V evolved a more elegant design to improve on workarounds used by arm/x86 architectures"

Which sounds like exactly the kind of thing x86 haters say they want to trashbin the architecture: get rid of all this extraneous legacy stuff.
 
Reactions: Nothingness

Nothingness

Platinum Member
Jul 3, 2013
2,424
755
136
MIPS assembly is still taught (last I checked) at many universities for students just learning about assembly. It is easier IMHO than x86 assembly.
No matter how flawed I think RISC-V is, it'd be much wiser to teach it rather than MIPS. Even for teachers it wouldn't be that hard to switch their slides from one to the other given how close they are, and at least RISC-V is on the rising curve contrary to MIPS.
 
Jul 27, 2020
16,364
10,381
106
No matter how flawed I think RISC-V is, it'd be much wiser to teach it rather than MIPS.
But MIPS powered the PSX. It's arguably more successful than RISC-V has been so far. Been hearing about it for years but what is the most successful RISC-V product at the moment? I can't recall reading anything about some RISC-V product making waves in the industry. It still seems to be under development. Or rather, development hell.
 

naukkis

Senior member
Jun 5, 2002
706
578
136
I caught only the smallest drift of any of this...

... but it sounds like you're saying "Risc-V evolved a more elegant design to improve on workarounds used by arm/x86 architectures"

Which sounds like exactly the kind of thing x86 haters say they want to trashbin the architecture: get rid of all this extraneous legacy stuff.

Risc-V try to keep ISA as hardware-independent as possible and also implement as few instructions as possible. Of course that is extremely difficult as every hardware maker want to extend it with instructions which are beneficial to their current hardware implementation. Where one type is those load-store instructions with combined address calculation - they aren't needed and Risc-V should not include them - to keep future hardware designs as free of hardware limitations as possible, like you say to have situation opposite of mess previous ISA:s are from adding instructions to support hardware instead of doing it other way around.
 

Nothingness

Platinum Member
Jul 3, 2013
2,424
755
136
But MIPS powered the PSX. It's arguably more successful than RISC-V has been so far. Been hearing about it for years but what is the most successful RISC-V product at the moment? I can't recall reading anything about some RISC-V product making waves in the industry. It still seems to be under development. Or rather, development hell.
RISC-V has sold billions of cores. A huge proportion is deeply embedded.

As far as development hell goes, it definitely is. I went through the pain of implementer defined extensions on the (Toshiba) MIPS 5900i on the PS2 and obsolete toolchains. Never again.

RISC-V has already taken that path with some companies implementing things to get around the stupid holes in the ISA (reg+reg again); that comes with toolchain changes that might never find their way in mainline.
 

Nothingness

Platinum Member
Jul 3, 2013
2,424
755
136
Where one type is those load-store instructions with combined address calculation - they aren't needed and Risc-V should not include them - to keep future hardware designs as free of hardware limitations as possible, like you say to have situation opposite of mess previous ISA:s are from adding instructions to support hardware instead of doing it other way around.
Multiplication is not needed. Any operation with immediate is not needed beyond move (and even then you can live without it), you don't even need reg + imm addressing mode. And so on. Keeping an ISA to the bare minimum is idiotic when pushed too far and IMHO RISC-V went too far. They basically made it sure that any higher end core will need instruction fusion to extract performance, or extensions.

And the number of extensions they are adding to get around the initial shortcomings is getting larger and larger. I'm not saying RISC-V is doomed, even x86 was salvaged, but the starting point is incredibly limited.
 

naukkis

Senior member
Jun 5, 2002
706
578
136
Multiplication is not needed. Any operation with immediate is not needed beyond move (and even then you can live without it), you don't even need reg + imm addressing mode. And so on. Keeping an ISA to the bare minimum is idiotic when pushed too far and IMHO RISC-V went too far. They basically made it sure that any higher end core will need instruction fusion to extract performance, or extensions.

Reg+imm addressing combines a aritmethic operation and load-store operation. For quite simple hardware combining those to be executed in special load-aritmethic unit (AGU) will give good results. And to use those AGU's with Risc-V is only possible with instruction fusion. But that's only that kind of simple hardware way to do things - keeping address calculation and load-store operations separate will give hardware designer free hands to do way more advanced solutions to that same problem. Jim Keller is one big name saying that Risc-V is spot on how ISA should be laid to not restrict future hardware execution possibilities.
 

grant2

Golden Member
May 23, 2001
1,165
23
81
You know that modern Arm and X86 cpu designs have thing called AGU. That's alu unit responsible of generating those complicated indexed addressing addresses for each load. Risc-V design don't need them - they can expand their load/store capabilities without need to add more AGU-units. And with those hardware indexing instruction sets - actually when more complex indexing modes are used load latency is longer by one clock cycle. By Risc-V scheme that is avoided. Of course Risc-v type addressing can be used with arm and x86 too, but why to have instructions which when used made cpu performing worse.

Other key points of Risc-V is that SIMD. SVE tries to be SIMD-vector length agnostic but isn't - Risc-V other hand doesn't have SIMD hardware at all - instead it have vector ISA. Vector ISA presents vectors as loops of scalar instructions - and execution hardware, when done right, is totally vector length agnostic, those instructions can be executed with scalar or SIMD hardware at any given register length.
I caught only the smallest drift of any of this...

... but it sounds like you're saying "Risc-V evolved a more elegant design to improve on workarounds used by arm/x86 architectures"

Which sounds like exactly the kind of thing x86 haters say they want to trashbin the architecture: get rid of all this slow legacy st
 

poke01

Senior member
Mar 8, 2022
741
728
106
So ARM is better than both!
Now that Nvidia failed to buy it, yes ARM currently is the best.

We got apple, Qualcomm, Mediatek, Google and Samsung making SoCs now. Next year maybe even Nvidia might join as well.
 

naukkis

Senior member
Jun 5, 2002
706
578
136
So every address has to be a power of 2 ?
I though it was sarcasm against RISC philosofy. Risc-V is extremely well thought ISA, they got instructions they need but same time keep instructions as hardware-independent as possible - something that AArch64 failed to do.
 
Reactions: Nothingness

Nothingness

Platinum Member
Jul 3, 2013
2,424
755
136
So let's see what RISC-V mandates for its RVA23 profile.


First the aim:
The RVA23 profiles are intended to align implementations of RISC-V 64-bit application processors to allow binary software ecosystems to rely on a a large set of guaranteed extensions and a small number of discoverable coarse-grain options.
That's good: they are trying to reduce the mess the use of extensions has started creating (I think it's already worse than what happened to MIPS fragmentation).
And now the list of extensions.
  • M Integer multiplication and division.
  • A Atomic instructions.
  • F Single-precision floating-point instructions.
  • D Double-precision floating-point instructions.
  • C Compressed Instructions.
  • Zicsr CSR instructions. These are implied by presence of F.
  • Zicntr Base counters and timers.
  • Zihpm Hardware performance counters.
  • Ziccif Main memory regions with both the cacheability andcoherence PMAs must support instruction fetch, and any instructionfetches of naturally aligned power-of-2 sizes up to min(ILEN,XLEN)(i.e., 32 bits for RVA23) are atomic.
  • Ziccrse Main memory regions with both the cacheability and coherence PMAs must support RsrvEventual.
  • Ziccamoa Main memory regions with both the cacheability and coherence PMAs must support AMOArithmetic.
  • Zicclsm Misaligned loads and stores to main memory regions with both thecacheability and coherence PMAs must be supported.
  • Za64rs Reservation sets are contiguous, naturally aligned, and amaximum of 64 bytes.
  • Zihintpause Pause instruction.
  • Zba Address computation.
  • Zbb Basic bit manipulation.
  • Zbs Single-bit instructions.
  • Zic64b Cache blocks must be 64 bytes in size, naturally aligned in theaddress space.
  • Zicbom Cache-Block Management Operations.
  • Zicbop Cache-Block Prefetch Operations.
  • Zicboz Cache-Block Zero Operations.
  • Zfhmin Half-Precision Floating-point transfer and convert.
  • Zkt Data-independent execution time.
  • V Vector Extension.
  • Zvfhmin Vector FP16 conversion instructions.
  • Zvbb Vector bit-manipulation instructions.
  • Zvkt Vector data-independent execution time.
  • Zihintntl Non-temporal locality hints.
  • Zicond Conditional Zeroing instructions.
  • Zimop Maybe Operations.
  • Zcmop Compressed Maybe Operations.
  • Zcb Additional 16b compressed instructions.
  • Zfa Additional scalar FP instructions.
  • Zawrs Wait on reservation set.
And this is only the list of required extensions. Yes, 34 extensions are needed. And that's only for user mode ISA. System requires 2 dozens more extensions.

Surely well thought out.

I will start design a free for all Turing complete ISA and pile up extensions and call it The Next Big Thing.
 

naukkis

Senior member
Jun 5, 2002
706
578
136
You don't need an instruction to do multiplication. Proof is that this comes as an extension in RISC-V.

There's also no need for multiplication hardware - old simple cpu designs did microcode multiplication instruction and did not have dedicated multiplication hardware. Today that approach which saves memory and makes assembly coding easier isn't a must have feature - Risc-V gives a possibility to make extremely simple cpu without unnecessary microcode engine - that's beneficial for ultra low end cpu designs.
 

kschendel

Senior member
Aug 1, 2018
264
193
116
Where's the "other" option?

The DECsystem-10, by a huge margin. Second place might possibly be SPARC. I have a notion that RISC-V was very well done, unfortunately I have no real experience with it.
 
Reactions: Tlh97 and moinmoin
Jul 27, 2020
16,364
10,381
106
Reactions: moinmoin

gdansk

Platinum Member
Feb 8, 2011
2,124
2,631
136
Anyone remember Transmeta Crusoe? The CPU that reached full execution speed after working for about 24 hours?


Successor of sorts' review: https://www.vanshardware.com/reviews/2004/04/040405_efficeon/040405_efficeon.htm
And could be (theoretically) reprogrammed to run a different ISA than x86.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |