Hacker News new | ask | show | jobs
by onikolas 3118 days ago
I wonder if Moore's law was the real reason why all the RISC vendors failed while Intel succeeded.

Lets say IBM sells server hardware for 60K USD per machine versus Intel's 20k (I made the numbers up) and shows, through extensive benchmarking, that despite the higher initial cost, their machine's performance/dollar is better than Intel.

Then 2 years later Moore's law happens. Intel's new 20k offering now outperforms IBM's old machine on every metric. In hindsight, IBM didn't make sense financially.

With Moore's law slowing down, maybe now its the right time for IBM to make a move.

1 comments

Intel chips are more RISC-like on the “inside” after the instructions are decoded, and in that sense RISC is successful. ARM is RISC and very successful. But most RISC and CISC vendors alike are failures by comparison to Intel and ARM, and the IBM Power processors are just not that performant per watt. You don’t even have to wait 2 years, they’re already not as good.

Part of this may be due to Intel’s lead in manufacturing technology, and have nothing to do with architecture.

(Historically, RISC was much more competitive. Talking about current state of affairs.)

ARM is RISC and very successful.

Actually, ARM is more CISC-y than MIPS, POWER, SPARC, etc. and recent cores break more complex instructions into uops just like x86.

If you consider uops RISC, then just about every architecture is "RISC-like on the inside". RISC is about a simple and restrictive user-facing ISA, not the internal microarchitecture.

In the long term, CISC makes a lot of sense --- it saves on fetch bandwidth and instruction cache to essentially have the CPU "decompress" complex instructions to execute internally, and the core is many times faster than memory.

IMHO "pure RISC" was an academic exercise, and the only reason why early CISCs were easily beaten was because they were sequential/in-order, and memory bandwidth wasn't a bottleneck at the time. With the growing core speeds, memory becoming a bottleneck, and invention of parallel uop decoding/execution, CISC could do more per clock and with less instructions. You can see this trend here:

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

The best ARM core on that list can do 3.5 DMIPS/MHz, and the best MIPS at 2.3 DMIPS/MHz, while the best x86 core is at >10 DMIPS/MHz.

Have a look at slide 43 here:

https://riscv.org/wp-content/uploads/2016/01/Wed1345-RISCV-W...

This is from a couple years ago. Even more important (I can't find it right now) is that risc-v compiles code to fewer bytes than x86 and fewer micro-ops as well. With the smaller/simpler instruction set it also requires less area and power, so it may be just a matter of time now.

I guess the "even more important" thing you're thinking of is https://arxiv.org/abs/1607.02318 ?

So with RISC-V GC + macro fusion of a few common idioms you get slightly less micro-ops than x86-64, armv7, or armv8.

That being said, for high-performance cores such as Skylake, POWER9, or the latest aarch64 server cores the ISA probably doesn't matter that much.

Yes, that what I meant. But the small number of instructions on risc-v means less hardware to implement it. If it wins on code size and micro-ops but has far fewer instructions to deal with, it should result in smaller circuitry to implement. So far it has been implemented with less area and power consumption than ARM cores of similar performance and there doesn't seem to be a reason it can't scale to bigger/faster cores the same way x86 has.
I think the usual argument is that the decoder is a small fraction of the total transistor count in a high-performance core.

For microcontroller class HW, the x86 ISA might be a crippling disadvantage compared to RISC-V. For a high-performance core, which AFAIK is something like 20-30 million transistors, not so much. The bigger the core, the smaller the advantage of the ISA.

But yes, I don't there is any reason why RISC-V couldn't be used to create a high-performance core competitive with the x86, POWER, ARM of the day. It's just a hugely expensive affair.

While I agree that RISC and CISC is not much of a distinction in 2017 it's worth noting that that Cortex A15 is very far from the state of the art for ARM chips. The Cortex A75 would be about twice as fast, and Apple makes an ARM architecture that beats Intel's best (per MHz) in certain other single thread artificial benchmarks.
The big advantage that RISC had back when it came out was that you could fit an entire RISC core on a single piece of silicon, something that isn't really applicable in the modern day.

Right now the big advantage of RISC in the high end is ease of parallel decode thanks to instructions always starting on 32 bit boundaries. Which is maybe a 5% power advantage at most. 64-bit x86 has lots of historical baggage and the people doing 64-bit ARM were clever so they're actually about equal in instruction density. It was an advantage to have fewer instructions back in the heyday of RISC but it isn't any longer and both ARM and x86 have tons of different instructions.

When you move down from high power OoO cores to in order ones then having 32 registers instead of 16 becomes more of an advantage and the benefits of simpler decode become more significant too.

Agreed. Moore's law doesn't happen on its own and Intel has been leading the way in fabrication technology.

As for ARM, I think their success has more to do with their business model (licensing instead of fabricating) than with their architecture.