So Apple are moving to Intel x86 chips. I’m still rather reeling from the news. Being generally of a more cynical bent, I was inclined to go along with John Gruber’s various debunkings of the hype that so often precedes a WWDC. Shurely shome mishtake, I […]

So Apple are moving to Intel x86 chips.

I’m still rather reeling from the news. Being generally of a more cynical bent, I was inclined to go along with John Gruber’s various debunkings of the hype that so often precedes a WWDC. Shurely shome mishtake, I thought.

Evidently not. Unless Steve is just trying to see just how far the Reality Distortion Field will go, this is the real deal. Developers will get their hands on the goods now (including an updated version of Xcode (2.1.) which will ease the transition though, amongst other things, the creation of fat binaries, i.e. those that support both PPC and x86), and consumers starting in a year’s time, with the transition of the consumer line complete by June 2007. There will be software to handle the running of PPC binaries on x86.

But what does this all mean? What are the implications? Upsides and downsides?

Prior Art
Apple is no stranger to big upheavals. As Steve pointed out in his keynote, the Mac has previously gone through two radical changes: from the Motorola 68k line of CPUs to the PowerPC, a transition made possible through emulation and the use of fat binaries; and from OS 9 to OS X, arguably the more technically complicated of the two transitions and managed again using emulation. Though there are more than a few ‘old guard’ Mac users who were unhappy with the move to OS X, there can be no doubt that it was achieved with a quite impressive grace. There was little real pain.

So this isn’t the first time.

But things are a little different here. Although Xcode can easily facilitate fat binary creation and Cocoa code will port without great issue, there is still a lot of Carbon cruft on the Mac – indeed, there is much in Apple’s own apps, QuickTime perhaps being the most notable example, but iTunes too, and there are others. This Carbon code will be harder to port, because it’s a lot more closely tied to the architecture of the system than is Cocoa code. But this a problem for developers, and so in the general scheme of things, not so much of an issue.

Users should hopefully see very little difference. Using a technology called Rosetta, which Steve described as a ‘dynamic binary translator’, applications written for the PowerPC should run emulated without any problems. The only issue here, as with the move from 68k to PPC, is one of speed, and it will be very interesting to see how Apple copes with the oft-cited ‘lack of registers’ issue when the talk turns to emulation of PPC on x86. Perhaps they are hoping that by then, Intel’s chips will be sufficiently quick as to make most of these concerns irrelevant. Personally, I’m going to wait and see.

It will also be interesting to see how far back backwards compatibility will go. At the moment, I can play games and run software written for 15 to 20 year old Macs – not necessarily particularly useful (but perhaps in some cases crucial), but technically impressive nonetheless, especially when compared to the poor support Windows NT/2000/XP have for DOS software. Will my new Mac still be able to play classics such as the original Prince of Persia?

Speed Parity
Perhaps the greatest advantage that the switch to x86 will bring will be speed parity with the PC world. Whilst the top of the range Power Mac G5 is not an unimpressive machine, packing as it does two 2.7Ghz G5 processors, Intel’s 3.6Ghz chips really have the edge in terms of raw power, and if IBM cannot keep up, Apple has a problem. By using the same CPUs as its any-colour-as-long-as-it’s-beige-or-black box competitors, Apple provides Macs with stunning design and staggering speed.

And this is why having Intel make PowerPC CPUs wouldn’t, upon reflection, make much sense: it doesn’t solve the core problem, namely that Apple is not a big enough player to justify serious development expenditure for its CPU. IBM is now focussing on the needs of what are shortly to become very significant customers – Sony, Microsoft and Nintendo – for they are all using PowerPC chips in their next generation consoles. Apple’s needs – the AltiVec extensions, regular clock speed increases, etc. – are not a major part of IBM’s current game plan. And getting Intel to make PowerPCs would almost certainly still have left Apple somewhat lagging, as Intel would be foolish not to invest the majority of its development budget in bettering the performance of its best-selling processor – the x86.

Windows Emulation
For those still wanting a virtual machine, Virtual PC’s speed will doubtless increase greatly, for it will no longer need to translate between different processor architectures. More interestingly, thanks to the efforts of the Wine team, many Windows applications can already run without recompilation on Linux. A port to PowerPC-based Mac OS X has been in development for a while, but progress has not been quick, and the emulation requirement is obviously challenging. With that obstacle now removed, the “but it won’t run my software” argument suddenly becomes very close to moot. With that, the Mac becomes really competitive vs. Windows.

It is unlikely (as Apple is probably unwilling to so directly compete with Microsoft), but Apple could even contribute developer time and resources to the Wine effort, as it would undoubtedly benefit the platform in the long run.

In a similar vein, games should be much easier to port too, either courtesy of a by-then-quite-advanced Wine, or simply because there is no need to port code to a different processor, which often causes problems in highly optimised code like games. Although the difficulty in porting something from one operating system to another (i.e. Windows to Mac OS X) should not be underestimated (unless, of course, it is written cross-platform in the first place), gaming on the Mac could well become more commonplace. I shall be extremely happy the day I see Grand Theft Auto: Vice City running on a Mac.

What of AltiVec, the stellar vector unit in every G4 and G5 CPU? It seems unlikely that Intel will make processors with AltiVec units specially for Apple, given the fact that it would surely be non-trivial to add AltiVec to x86 chips and would then differentiate Mac processors from those in commodity boxes. What, then, is to happen to all that AltiVec-optimised code?

The answer lies, I presume, in GCC. Though GCC for PowerPC has improved considerably since it became Apple’s compiler of choice for Mac OS X, it isn’t great, and lacks the speed and optimisation of the x86 version, which has the obvious advantage of being the compiler targeting the platform used by the majority of the free software-using world. So although the CPU itself may not be as refined as the PowerPC, lacking as it likely will an AltiVec unit, thanks to a decent compiler Mac OS X on x86 should be pretty quick, and code optimisation should come thick and fast.

Optimisation makes a massive difference too. LAME, the excellent open source MP3 encoder, is very highly optimised for x86, but contains almost no optimisations for the PowerPC, although AltiVec-enhanced versions do exist. Fact is that in cases like this, the x86 version fairly flies along, whilst on the Mac it is embarrassingly slow.

Free Software
I’ve already mentioned three items of free, open source software above – Wine, GCC and LAME – but the move to x86 should make porting more software even easier. Furthermore, just as with the example of LAME cited above, such ported software will benefit from many processor-dependent enhancements, and so should be quicker. And that’s never a bad thing.

Whilst it’ll be interesting to see the effect that this has on Apple’s profits this year (especially at a time when iPod demand is flat or falling), the move is certainly good for the future, and in time, will likely really make for decent competition with Microsoft’s Windows hegemony.

But as to that, only time will tell.

  1. It’s not 15-20 yr old mac software I (or most others) need care about. It’s whether Leopard will run on my 3-month old PB12! And thats nothing to say about those folks who don’t follow this stuff who buy a PPC Mac a year from now. What about them? And whats the short term hit on hardware sales? Is ANYONE (in the know) going to buy a Mac for the next 2 years??

  2. danbruno.net » Apple switches to Intel. Monday, June 6, 2005

    [...] some more links, as my RSS feeder is overflowing with commentary. Here you are: Macworld, The Apple Blog, Jason Kottke, Anil Dash. No comme [...]

  3. Jeff Harrell Monday, June 6, 2005

    People who have the option of buying a Mac or not (like myself) may choose to wait. Pros will continue to do what they’ve been doing for more than two decades: Buy a new Mac, depreciate it, buy another.

  4. Gareth Potter Monday, June 6, 2005

    Leopard will run fine on your PowerBook. Whilst the transition in hardware lineup will be made by 2007, Apple will obviously realise that it will be a long time before PPC Macs will be properly deprecated – the fat binaries solution should cater nicely to that.

    Which is why Mac sales won’t be totally cannibalised. It’ll be a while before PowerPC is dead yet.

  5. I’m not a technical guy so I’m going at you with a little theory I developed after IBM sold it’s PC division late last year. Here’s my theory and I believe this is why Apple is jumping off the PPC bandwagon. Let’s get to the facts: I have often thought that IBM would wage the war on the Wintel world not through it’s substandard PCs but through it’s chip set. The fact that IBM sold it’s PC divsion was a sign to me that IBM wanted to wage a competitive chip battle against Intel instead of low margin PC manus. The second fact: IBM/Microsoft xBox Alliance. Microsoft is positioning the xBox as a server for the home. The future includes an appliance that runs your stereo or your dishwasher…you know the Bill Gates vision of your home of the future. What operating system do you think will run this futuristic home??? Windows of course…the PPC will be compatible with Windows and I would not be surprised to see PPC based PCs in stores soon there after.

  6. Gareth Potter Monday, June 6, 2005

    I don’t think IBM actually does want to wage war against Intel in microprocessors, and this is the main reason that Apple is making this switch.

    IBM’s customers – Microsoft, Sony and Nintendo – will each demand quite customised processors tailored for their specific needs, and IBM can and will deliver on this. It stands to make an enormous amount of money by powering the three games consoles. But these customers do not demand regular increases in clock speed – instead IBM has to make a very good chip and push it out in volume. (Whether it will be able to produce in volume is another matter.)

    Apple wanted regular speed bumps to their PowerPC, but didn’t and won’t get them because at IBM the above agenda is always going to take priority. So they move to Intel. In the end, it makes a lot of sense.

    And you won’t see PPC-based PCs for the very same reason – they’d be moving to an architecture which isn’t keeping up in the clock speed battle. Add to that the fact that there is such a huge installed base using x86 and that Windows is not particularly easy to port and it makes little sense.

    In IBM’s POWER servers and such, the PowerPC makes great sense, as it does in these consoles. But in that random beige box in your bedroom/study/workplace? Nah.

  7. I see your point on the PCs but when does the GHZ speed stop mattering in PCs….I thought it already did. I also thought Intel’s chip process has “maxed” out and Moore’s law was almost a dead theory….hence the need for dual processors and different conventions of chip manufacturing..ala IBM. Apple commented on the roadmap of IBM’s Power PC looking weak. I highly doubt that’s the reason for the switch. I’m sticking with my theory.

  8. Gareth Potter Monday, June 6, 2005

    But the roadmap is precisely the reason for the switch. Where’s IBM’s rumoured dual core chip? Where’s something Apple can shove in a PowerBook? These are very serious problems – especially the PowerBook one – because Apple has an ultra-desirable laptop, one which is selling well in spite of its lacklustre processor.

    I’d also say that GHz do still matter to a degree. Granted, most people don’t need a 2.7GHz G5 or a 3.8GHz P4 to surf the Internet and read e-mail, but aspects of software are progressing and these can and do use the extra muscle – games would be the most obvious example, because we’re by no means “there” yet.

    But you’re certainly right on one point though – it’s not all about GHz, as Intel have found. Chip design matters too, which is why the PowerPC has traditionally been so good and why AMD manages to get such good performance out of slower clocked chips. But Intel is making inroads in this area too, viz. x86-64, multicores, etc., and at the end of the day is the safest horse for Apple to bet on given its status as the premier CPU manufacturer.

    Technically crude though the x86 is, it has managed to survive for a remarkably long time. Do not underestimate its versatility.

    There is no rational reason for PC manufacturers to switch to the PowerPC, and a tonne of reasons why they wouldn’t.

  9. Jeff Harrell Monday, June 6, 2005

    I’m always vaguely amused when people tell me that the PowerBook isn’t competitive because of its CPU. Believe me when I tell you that for all but the most trivial compute-bound tasks, the PowerBook is more constrained by the operator than by any of its components. And even if you ignore the user for purposes of discussion, the speed (or lack thereof) of laptop-style hard drives has more of a direct impact on user experience than CPU speed does.

  10. Read this article. IBM Dual core…try 7 core coming out next year. IBM already has dual core chips out including the xBox’s 3 core. IBM’s Power is THE Chip and Apple made a mistake: [LINK]

Comments have been disabled for this post