This is one of the major areas where the instruction sets are not equal. ARM has a distinct efficiency advantage.
This is one of the major areas where the instruction sets are not equal. ARM has a distinct efficiency advantage.
I've also worked on ARM/custom GPU ISAs. The limiting rate is the total complexity of the ISA, not the encoding density.
In fact, from an I$ point-of-view, the tighter x86 encodings are a pretty good win — at least a few % on very long fetch sequences.
This is still what baffles me about RISC-V's G profile not requiring the compressed ISA. The performance benefits are quite dramatic for the (comparatively) limited complexity it adds considering G already includes atomics and floating point. I think Linux is eventually going to force the issue since it's 64-bit ABI is GC.
The new thing is RISC-V Architecture Profiles like RVA23, which comes with the base C extension plus extra compressed instructions specifically intended to reduce code size (Zcb), bitmanip instructions, the V vector extension now being mandatory, etc etc.
This is what big application cores are expected to target in the future, so if successful you could expect Linux distros to start taking advantage of those at some point
For example: https://www.notebookcheck.net/i7-1360P-vs-M2_14731_14521.247...
this shows the M2 has a little worse performance compared to the 1360P. But the 1360P requires 2.5x the power to achieve that.
You can easily double CPU power for only a few hundred MHz or 10-20% extra performance.
See https://www.pcworld.com/article/1359352/cool-down-a-deep-div..., which benchmarks chips at different power limits for an example.
There are also other considerations, like rolling back state in OOO machines, or precise exceptions. All this becomes more complex with an x86-style instruction set.
It's not really more complex, because those are backend concerns and work on the uop level, after the instructions have already been decoded into uops.
There is indeed a lot to gain from having a single instruction trigger more complex behaviour, for example better instruction density, less instruction decoding needed, but all of this is independent of clock frequency.
I think, but am not sure, that the Thinking Machines' CM-2 from 1988 was a 4096 or 8192 wide SIMD machine. Surely, at the time, clockspeeds where low.