HACKER Q&A
📣 calf

Why does Apple use an architectural license from ARM at all?


I've been reading news and blogs about Apple's transition to designing in-house their Apple Silicon chips on their mobile and Mac computers. But I still don't understand the rationale specifically for paying for an architectural license just to re-implement somebody else's Instruction Set Architecture all over.

Many articles explain why other companies buy ARM IP in order to use reference ARM CPU designs as-is, or to make incremental modifications or extensions to those; and yet many articles claim Apple is nontrivially re-implementing the design to achieve the performances and power efficiencies of the M series chips.

Other articles also explain the advantages of compatibility with a preexisting ecosystem of ARM-compatible devices; but, that does not strike me as a primary compelling reason why a major company would care, other than many of Apple's own mobile devices were already ARM architectures? Let's say it makes sense for a laptop and a phone to share a unified processor architecture so they can run the same code--then Apple could have even made their own "Apple Instruction Set" instead?

Is there some kind of technical advantage to the ARM architecture over say, licensing the RISC or the (supposedly aging) x86 architectures? Or is it that there are more ARM architecture engineers out there? Are Instruction Set Architectures so difficult to design, that a special company needs to own and maintain the IP for it?

After reading a bunch of articles I did not feel I actually understood this at all. Many kind of touched on it circumstantially, but I felt they did not directly explain the advantage or rationale for doing so the way Apple did (I thought of the PowerPC but I assume in that case, Apple/IBM/Motorola worked together to specify an architecture). I'd appreciate any insight or pointers to actually good articles on this.


  👤 brucehoult Accepted Answer ✓
"RISC" is not an ISA. If you meant "RISC-V", that wasn't anywhere near ready in 2020, let alone whenever it was that Apple made their decision to use Arm in the Mac and started working towards it.

You can't license x86 -- and wouldn't want to if you don't have a requirement to run old x86 binaries.

> Apple could have even made their own "Apple Instruction Set" instead

Some people (I'm thinking of a saffer here) claim Aarch64 is the Apple Instruction Set, that Apple did much of the design work on it based on analysis of Mac software, and that Arm really wasn't all that interested in 64 bit without Apple pushing them.

I'm not entirely persuaded by all of that theory, but I don't have the kind of visibility into either Apple or Arm to know.

In particular, I suspect that Arm started work on their 64 bit ISA pretty much as soon as AMD had some success with Opteron and Athlon64 and showed that the 64 bit future was not going to be entirely (or at all) Itanic. A start in 2004 to publication in 2011 is probably about the right amount of time.


👤 tlb
Apple has a long history with ARM, going back to the Newton. Back then (or even in the early iPhone era) they didn't have the time or resources to develop their own implementation. They could afford to develop their own ISA now, but why would they? The modern ARM ISA is great. It's hard to picture beating it significantly. And it would introduce another incompatibility, requiring another era of fat binaries.

👤 watersb
Apple's ARM license may be an artifact of the shared history of the two companies.

https://en.m.wikipedia.org/wiki/Arm_Holdings#Founding

Development of the Newton handheld PDA led Apple to seek a capable, efficient, embedded processor architecture. They worked with Acorn and VLSI Technologies to build upon Acorn's RISC design.

(Apple initially used the "Hobbit" embedded microcontroller from AT&T, but Newton's ambitious design required three of them, plus support chips. Development costs escalated, Apple sought an alternative, and helped develop ARM into a licensed, flexible reality.)


👤 mikequinlan
Apple already had a license for its mobile devices, and using the same ISA for the desktop machines reduced duplicate development across the platforms.

👤 gjvc
"many articles claim Apple is nontrivially re-implementing the design"

citation needed.