Saturday, March 12, 2011

Apple and ARM, Sitting in a Tree

I don’t know exactly when, but sooner or later, Macs will run on Apple-designed ARM chips.

A look back at history

Before WWDC 2005 the rumor mill was swirling. Some people were expecting Powerbook G5s; others were expecting an Intel announcement. Another group altogether thought the Intel rumors couldn’t possibly be true because Apple always touted PowerPC over x86. But Steve Jobs got up on stage and announced two very important things:

1) Apple had OSX running on Intel machines in their labs for years.

2) Within a year, all Macs would have Intel chips inside.

This first bit of information was a bombshell to a lot of people. Jobs — and therefore, Apple — trashed Intel chips every single time he gave a keynote. Whenever he announced a new Mac, he always went out of his way to show how much faster the new G4 chip it ran on (or whichever processor it was at that time) was than its Intel equivalent. So when Jobs came out and said Apple had OSX running on Intel machines privately, people were shocked. Apple was saying one thing publicly and doing the exact opposite in private.

In reality though, it would have been downright stupid not to have OSX running on x86 chips — and other architectures — in the labs as a ‘just in case’ scenario. What if Motorola’s PowerPC unit was shut down because it couldn’t make any money? Rewriting an OS for a new architecture could take years, even for Apple with all of its resources. Apple knew this, so they kept a ‘skunkworks’ OSX on Intel project in the labs.

Apple wanted all Macs to run on Intel chips by the end of 2007. Starting in January 2006, Apple released one new Mac a month and completed the transition in August with the release of the Mac Pro. They beat their deadline by more than a year.

The switching problem

Although Apple easily beat their own self-imposed deadline, third-party developers didn’t rush to the new architecture. By looking back at Steve Jobs’s WWDC keynote, it’s obvious why.

When Jobs announced the switch, he also announced Rosetta, a PowerPC emulator that ran on Intel processors. Even though Rosetta didn’t run PPC apps at native speeds, they ran them “Fast (enough).” Although it was a good thing in theory, it actually harmed Apple. Developers were slow to make their apps Intel-native because they ran adequately through Rosetta.

Jobs explains how to make apps Intel-native

Jobs explaining making apps Intel-native

On the other hand, the developers who did want to make their apps Intel-native faced a problem: they couldn’t just hit one button to make their apps work natively. Instead, they had to rewrite their apps — which would have taken weeks — to make them Intel-native. Small developers didn’t have that time. And a lot of the bigger developers didn’t think it was worth it to go through all the time to rewrite their apps. Apple simply wasn’t big enough to warrant it. Apple learned this the hard way and they’re not going to make the same mistake twice.

Why they switched to Intel

When Jobs got up on stage and announced the transition to Intel processors, one of his biggest points was that Intel chips offered a higher Power per Watt ratio. He correctly foresaw a future where most peoples’ primary computers are laptops. And in laptops, Performance per Watt matters as much as — if not more than — performance itself. As it turns out, Intel’s chips offered nearly five times the performance for every watt used.

Jobs explaining Performance per Watt

Jobs explaining Performance per Watt

Why they’ll switch to in-house ARM chips

Today Apple’s in the same exact situation as they were in six years ago, except this time, with different chips. Now it’s Intel’s chips that aren’t as power efficient as Qualcomm’s, or NVidia’s, or even Apple’s own in-house A4 and A5 chips — all processors based on ARM IP. ARM says that a performance optimized — rather than power optimized — dual core Cortex A9 chip running at 2GHz consumes a total of 1.9 watts. Intel’s single core Atom N455 — a popular, battery-optimized chip for netbooks — runs at 1.66GHz and draws 6.5 watts — 3.5 times the amount of power of the equivalent ARM chip. What’s incredible is that the ARM chip is just as fast. (You can watch ARM’s year-old demo video here.)

Right now a single ARM chip doesn’t come close to Intel’s desktop or laptop chips. But what if Apple stuck a couple of A5 (or the A5’s successor, presumably the A6) chips into a MacBook Air and ran them in parallel? Or if they stuck four of five of them into a MacBook Pro and ran those in parallel? Isn’t that what Grand Central Dispatch is all about?

Apple doesn’t say exactly how much power the A5 chip uses, but it’s certainly not more than the 1.9 watts a dual core Cortex A9 chip running at 2GHz uses. It probably draws closer to .5 watts, what ARM says a “Power-Optimized” dual core A9 chip does. So if Apple were to stick 10 A5 chips into a MacBook Pro, it would use just 5 watts of power, one ninth — yes, you read that right, one ninth — of the maximum TDP of the new MacBook Pros.

Performance would be nearly the same, too. When Engadget reviewed the new 15-inch MacBook Pros, they used Geekbench to measure its CPU performance. Its Geekbench score was 9647. John Gruber used Geekbench to measure the CPU performance of the A5 chip in the iPad 2. Its score was 721. Take 721, multiply it by ten. You get 7210.

That’s a 25% difference in performance while using only 11% of the power. It’s also 35% more powerful than the previous generation 2.66GHz dual core MacBook Pro.

It’s impossible to determine the exact Power per Watt ratio of the A5 chip since Apple doesn’t give a TDP for it, but it’s certainly better than anything Intel has to offer.

By far.

But there’s a bigger, much more important reason they’re going to switch, and this Jobs quote sums it up perfectly:

I’ve always wanted to own and control the primary technology in everything we do.

Apple wants to control it’s own destiny. They don’t want to rely on anyone else because they don’t trust other companies. They’ve been screwed over too many times. They know better.

Right now their weakest link is processors. Do you think Apple likes being captive to Intel’s release cycles and (business) decisions? Of course not. Just look at what happened with the Intel/NVidia dispute. Beginning in October 2008 Apple used Core 2 Duo’s with integrated NVidia graphics. But because of the Intel/NVidia legal battle they can’t do that anymore. NVidia doesn’t have a license to produce chipsets for the new Intel processors. Apple was screwed over and had to take a hit on graphics performance.

It won’t happen again if Macs run on Apple-designed processors.

The timeline

When will they switch? My guess is as good as yours, but I think they’ll switch sometime within the next three years. It’ll come much sooner than you think. Lion certainly won’t support ARM chips, but the next release after that — whether it’s 10.8 or 11 — probably will. By that time the Mac App Store will be huge and the Mac will be a higher priority in software developers’ minds. Apple will have more bargaining power and even the bigger software developers will have to comply. But it won’t be anything like the switch to Intel. Apple will probably have a one-click solution for developers to make their apps ARM-native. XCode will do all of the work so developers won’t have to. Right now not everyone uses XCode, though. But I think Apple decided to sell XCode 4 in the Mac App Store for just five bucks to change that. With so many people using XCode when Apple finally switches to ARM, and with a one-click solution to make apps ARM-native, it will be an extremely easy transition.

The result

The most expensive components in Macs today are the motherboards and processors. Intel charges $378 for the i7 chip in the new high-end 15 inch MacBook Pro. They don’t say how much they charge for the i7 chip in the low-end 15 inch MacBook Pro, but it’s probably around $300. Apple probably pays around $150 for the motherboards in the new MacBook Pro. Those two components alone make up 25% of the retail price of the low-end 15 inch MacBook Pro. (I couldn’t find the Bill of Materials for the new MacBook Pro or Apple’s profit margin on it, so I couldn’t calculate the percentage in relation to Apple’s costs, but it’d be even higher because Apple doesn’t sell at cost.)

When Apple puts ARM-based SoC’s in Macs, their costs will go down dramatically. This will allow them to drop retail prices without hurting their margins. With significantly lower priced Macs, Apple will make huge inroads into the more budget-sensitive market, which will give them a higher market share, and will in turn give developers even more incentive to develop apps for the Mac.

When Apple makes the switch to ARM, they will have total control of their own destiny — just the way they like it.