Hacker News new | ask | show | jobs
by oneplane 2023 days ago
It's not just the M1's design, it's what they don't have to do: no need to support anything legacy. You can't change the x86 ISA to the point where it makes a huge difference because it would no longer run x86 code.

Intel can probably make faster stuff than they currently do but then their customers (PC manufacturers for instance) would have to modify all their stuff as well and they don't want to, or at least, won't want the same thing.

5 comments

The overhead of translating x86 instructions to RISC-like microcode is known and is something like 1-2%. This is not the reason for the difference between Intel and Apple.
They fully support i386 via Rosetta 2 though.

The real explanation is Intel has been complacent and lazy. We had 5 generations of the same chip. Enough is enough.

What about AMD though? They are at par with M1 but use a lot more power while doing so. I don't think it's an Intel problem, it's an x86 problem
It's not an x86 problem. Apple has been lapping all of its ARM competitors for a while now too.
Nobody writes i386 code anymore though, Apple mostly support x86-64 from 10 years ago.
And i386 support was removed in macOS Mojave anyway.
macOS Catalina, actually.
> Intel can probably make faster stuff than they currently do but then their customers (PC manufacturers for instance)n would have to modify all their stuff

This is a crucial point. It's a coordination problem.

Drivers only need to be made for those components that Apple choose for their system vs the multitude combinations of GPU boards, drive systems, motherboard chips, wifi etc etc. that exist for a modern PC.

There's no steering committee for PCs (at least none that could be incorruptible by Intel) that could cause this change to happen industry wide. And there's been little appetite (yet) for Windows/Linux + ARM for consumer PCs to help this happen from the bottom-up.

> You can't change the x86 ISA to the point where it makes a huge difference because it would no longer run x86 code.

Couldn't they remove obsolete instructions from the ISA & then emulate removed instructions? Sure, it would be slower than having them still in the ISA, but given software using them was written for older machines, it might wash out in the end.

I respectfully disagree. Why can't Intel/AMD make new flavor of chips & motherboards explicitly saying - it doesn't support x86 ISA. Then, wouldn't we address that problem?
Apple has an advantage here because they have both an integrated hardware and software platform they can control. If only Intel did the same they'd be relying on Microsoft to provide a translation layer for their chips and that'd be unlikely unless they paid up and Microsoft dared to stray from its traditional course.
Intel tried that with Itanium.

Didn’t work out so well