Mike Schaeffer's Blog

June 6, 2005

So, the big rumor is that Apple is switching to Intel processors, and Steve Jobs is going to make the announcement during his WWDC keynote address this morning (10:00AM PST). I had been planning on writing a debunking article, but now I'm not so sure. Here's why:

Reason not to switchCounterargument
If Apple switches to Intel, they introduce another archicture break into their hardware platform. Emulation can make existing binaries run seamlessly on Intel.
But isn't emulation really slow? Modern emulation technology has gotten a lot better, it can compile code on the fly, just like a modern JVM or Virtual PC.
But I've run virtual machines before, and they're still really slow. All of the operating system services can be made to run natively, at full speed. The only thing that will be emulated is the application code itself. So, except for very computation-intensive application code things could still run smoothly.
Okay, but a lot of OS X (like Quartz Extreme) is optimized to run on Macintosh hardware. Macintosh video hardware is the exact same as PC video hardware these days. In fact, most of the supporting hardware in Macintosh is the same as on a PC.
The PowerPC is part of Apple's 'uniqueness'. It doesn't matter to most consumers what chip or ISA is running their software. The reason people pay for Apple, their core unique value, is their appealing design and the attenion they spend developing a well integrated system. Even if Apple switches to Intel, there's no reason any of that has to change. (Anyway, they could still do something pretty unusual, like putting a Pentium M in a desktop).
Lots of new stuff in Tiger like CoreImage uses AltiVec a great deal. CoreImage actually compiles dataflow graphs to native hardware at runtime, picking the approach that runs best on the target hardware. CoreImage could well compile to x86/SSE2 (or whatever else). That means that even a PPC binary running emulated on an Intel Macintosh could have access to full speed CoreImage services compiled to SSE2.
This will alienate existing PowerPC customers. Why does it have to? If their emulation works well enough, Apple could easily introduce Intel hardware and retain PowerPC as the standard binary format for a while. The common case for ISV's would be to continue developing PowerPC binaries and selling into both the x86/OSX and PPC/OSX markets. The only 'schism' would be arise for software vendors who had to have full performance on x86/OSX. They'd have to worry about shipping some kind of fat binary that ran on both platforms. There still, PPC/OSX customers wouldn't see a difference.
Will Windows run on an Intel Mac? Won't that make it easier for Microsoft to drop Office for OS X? Apple could easily make it virtually impossible to run Windows on whatever hardware they sell. With respect to Office for OS X, Microsoft doesn't really care what the target archicture is: they just want to sell licenses to Office. They'll go where the money is, and that might end up being an OSX/Intel port.

Now that I think about it, the switch to Intel would basically boil down to the same story Apple told in 1993, when it initially switched from the Motorola 680X0 to the PowerPC. Apple pulled it off well in 1993, and now they have the benefit of experience (they've done it before), better emulation technology, and an already more standard hardware platform. It seems plausible to me. The only thing that's left is to figure out why they'd do it, and I have some ideas there too:

  • They could finally move their laptops to a faster chip than the G4.
  • x86 is not going away and it's not going to end up marginalized any time soon. This could be a 'final' switch.
  • If IBM is growing cold on the desktop CPU business (and who could blame them), Apple's hand might be forced into switching away from PPC. Right now, IBM is the only high performance CPU story Apple has.

Anyway, let's see what Jobs says...