At the end of last week, a rumor surfaced at SemiAccurate that Apple was abandoning x86 and shifting all their notebooks (MacBook Air and Pro) over to ARM in the next two years. With the increasing overlap and competition between the two instruction sets, and the fierce war of words between Intel and ARM, this would be sensational news. Such a high profile design win for ARM could herald a massive disruption in the PC ecosystem. While there are advantages for Apple to use ARM and precedents for such transitions, it is an exceptionally unlikely scenario. This report reviews the history of Apple’s migrations, the technical and business challenges for adopting ARM and analyzes the most likely scenario for Apple going forward.
There are four main motivations for Apple to use ARM in their notebooks. The first is a more unified software ecosystem, where iOS and OS X can eventually be merged together. The second is tighter control over their hardware and greater integration. In theory, Apple could co-design their entire system – hardware and software – to create better products. This is a similar approach that IBM and Oracle take to their proprietary high-end servers, and there are real benefits to engineering the entire system stack. On the business side, one of the advantages of dealing with ARM is that they are a relatively small company and the relationship is very asymmetric. Apple is simply so much larger that they might be able to steer the direction of ARM to suit their needs, whereas Intel is far too big to dictate terms. The last potential advantage is reducing cost. The microprocessor is a very large piece of the bill of materials in a notebook; it’s possible that Apple could save money by simply designing and manufacturing their own ARM chip, compared to paying Intel.
Moreover, Apple is no stranger to switching hardware platforms – they have migrated instruction sets twice before. In the mid 1990’s, Apple moved from Motorola’s 68K architecture to IBM and Motorola’s PowerPC. For over 12 years, Apple stayed with PowerPC, until they finally moved to x86 in 2006. However, it’s important to understand the motivation for these migrations. In the case of 68K to PowerPC, it was very clear that Motorola would not be able to effectively compete with Intel. The prevailing theory was that the inherent superiority of a RISC architecture would enable IBM and Motorola to easily overtake Intel. Collectively, the three partners (AIM) would counter the dominance of Microsoft and Intel. In essence, the PowerPC switch was driven by performance and working with an existing partner (Motorola) and adding a new one (IBM).
History proved that the advantage of RISC architectures over x86 was merely fleeting; manufacturing and design resources trumped the instruction set architecture. Motorola eventually proved incapable of keeping up with the x86 ecosystem and their last serious attempt was the 604e. IBM demonstrated with the POWER4 and POWER5 that they were eminently capable of designing high performance chips for their own server systems. Unfortunately, at this point, Apple’s needs diverged quite radically from their PowerPC partners. IBM’s server processors are designed for maximum performance, reliability and scalability and burn a great deal of power. The PowerPC 970 was a derivative of the POWER4, tuned for desktop systems, rather than large scalable servers. However, scaling an enterprise server chip down to notebook power consumption (~30W) is nigh impossible. Moreover, IBM had no interest in designing CPUs specifically for Apple’s low notebook volumes. IBM was far more interested in designing console CPUs, which were higher volume and also bought by less demanding and fickle customers.
In contrast to IBM, Intel’s goals were much more closely aligned with Apple’s. The x86 market is driven by consumers, and leveraged into servers – rather than the other way around. Power efficiency and notebooks were the core of Intel’s success after the Pentium 4 debacle. Intel’s performance and power efficiency was leagues ahead of IBM for any client systems. Moreover, AMD is an effective foil and second source to Intel – there was never a credible high performance second source for PowerPC after the late 1990’s. Freescale (nee Motorola) was focused on the embedded market, and PA Semi was merely a start up.
Intel was also hungry for Apple’s business and the positive press and influence that it would bring. Faced with IBM’s laggard performance and power efficiency for client systems and unwillingness to accommodate their needs, Apple threw their lot in with x86. Intel proved a willing and able partner, and they customized the packaging of several products specifically for Apple’s notebook needs. The Core Duo and Core 2 Duo were the first x86s used by Apple, but they have eagerly embraced subsequent generations.
At each transition, Apple has preserved backwards compatibility for several generations of their platform. For the first migration, they built an emulator into Mac OS that interpreted 68K instructions to PowerPC; the OS itself assisted with kernel level compatibility (e.g. for interrupts). The emulator was eventually upgraded to use dynamic binary translation, rather than interpretation. The second time around was more challenging, since Motorola and IBM were hardly interested in helping. Instead, Apple enlisted a British start up, Transitive, to create a dynamic translation layer. Rosetta was not tightly integrated with OS X, and only translated user-mode PowerPC to x86.
Discuss (91 comments)