Hacker News new | ask | show | jobs
by guelo 1479 days ago
I'm not convinced that Apple's advantage is due to ARM vs x86. I think it has more to do with Apple's exclusive rights to TSMC's most advanced proccess. After all Apple is also beating Qualcomm's ARM Android CPUs.
4 comments

Apple's advantage is manifold. They have an in-house chip design firm that is very talented and an architecture license for ARM. So they can make CPUs that do whatever they need. They also build the OS so can take advantage of new CPU and GPU features or go the other way and request hardware features to support software designs.

They're also using essentially the same cores between their mobile and desktop products. Apple is their own ARM ecosystem. An improved core for the A-series chips is an automatic improvement for the next M-series chip. Most arm licensees have to wait for ARM to come out with new cores.

The fact Apple can book the initial runs of any of TSMC's process nodes is just one of many of their advantage over other ARM and x86 manufacturers.

Yeah, thats a good point. There's def something shady and untold about this whole thing; and that could explain it. Apple has deep pockets and considering they have done shady deals (like the Google default search engine) this could be another one of those.
The ISA does not matter in a CPU design.

But the process node is also not the main reason.

What matters is only microarchitecture. And Apple has by far the most performant microarchitecture design of all CPUs.

ISA does matter in a CPU design and CPU performance:

- Variable instruction sizes make the front-end more complex and limits the decoding width;

- Delayslot makes superscalar front-end more complex;

- Page size limits VIPT L1 cache size;

- Dedicated SIMD/FP architectural registers allow dedicated SIMD/FP physical register files;

...

The choice and design of the ISA is extremely important, it's hard to argue that the ARM ISA has no impact on M1&M2 performance.

But the ISA choice is obviously not enough to explain the whole performance of the M1&M2. Likewise, the manufacturing process cannot fully explain the performance of the M1&M2.

The Apple microarchitecture is by far the most performant and efficient of all high-end superscalar CPU.

But be careful with simplistic explanations, the microarchitecture is always constrained by the ISA/architecture, and the x86 ISA has some flaws that can affect the microarchitecture (least on the power consumption).

Mike Clark, the architect of Zen says in [1] literally that ISA doesn’t matter and that it’s all about the microarchitecture.

Quote: “Although I've worked on x86 obviously for 28 years, it's just an ISA, and you can build a low-power design or a high-performance out any ISA. I mean, ISA does matter, but it's not the main component - you can change the ISA if you need some special instructions to do stuff, but really the microarchitecture is in a lot of ways independent of the ISA. There are some interesting quirks in the different ISAs, but at the end of the day, it's really about microarchitecture.”

In the end, ISA is such a small part that impacts the design of a modern high performance CPU that it is almost negligible. It is physically impacting only the decode unit, but the decode unit is only a few percent of die area. Feel free to listen to the whole interview to get a feeling.

1: https://youtu.be/3vyNzgOP5yw

Qualcomm hasn't made a single Qualcomm core since Apple released their first aarch64 SoC. Qualcomm had zero competition and decided to not really work on anything. Apple blindsided it with its very competitive aarch64 cores, Qualcomm had nothing to show, so they switched to ARM's core design.

Customers kept paying Qualcomm for their SoC with ARM designed cores, so once again, Qualcomm had no reason to actually do anything but sit on their patents.

Intel had a similar story, since Sandy Bridge "x86_64" part of CPU barely changed, most of the performance gain was somewhere from better process, more custom instructions (avx2, etc.), higher TDP (since ryzen).

It's not ARM vs x86, it's Apple ARM cores vs everyone elses cores.