Wednesday, June 15, 2005

My take on Apple's decision to use Intel processors

There's an old saying. Opinions are like behinds - everybody has one. (OK, that's not the exact quote, but I am trying to keep it clean.) And the recent news about Apple using Intel processors in new Macs is no exception. Some are saying "What took you so long?" and some are saying it is the end of the world (or at least the end of Apple.)

And like all the rest, I've got my own set of opinions here. Everything here is speculation, but I like to think it has a good chance of being correct, given what I know about Apple and their history of doing business.

  • This is going to hurt Apple's sales in the short term

    Any time you announce a major change well in advance of that change, it hurts sales. Nobody wants to buy a computer that they think will become obsolete in short order. The fact that it won't really be obsolete (see below) won't change people's perceptions. But this is a short-term problem. People tend to delay, not cancel their purchases over this. So when the new systems ship in 2006, most of these customers will start purchasing new Macs again.

  • Existing Macs have not suddenly become obsolete

    At least for any reasonable definition of the word. A computer becomes obsolete when you can no longer perform useful work with it, when it can not run your software (which is really the same thing) or when the manufacturer drops support for it. None of these have happened yet - heck, the new Intel-based Macs won't even be available for at least a year!

    When the new Macs do ship, will your current software stop running on PowerPC-based Macs? Of course not. Will software vendors stop shipping PowerPC versions in favor of Intel versions? Eventually, yes, but not immediately. There are millions of Mac users with PowerPC based systems, it is going to take many years before the majority of them replace those systems with Intel boxes. Any software vendor that stops producing PowerPC software before their customers have Intel hardware will be signing its own death sentence, and they all know it.

    And will Apple stop supporting the PowerPC hardware? Eventually, but my prediction is that this won't happen any sooner than when they've dropped support for other systems. There are plenty of PowerPC-based Macs (based on the 601, 603 and 604 chips) that can't boot OS X, and some more recent G3-based models that can't boot Mac OS 10.4. Apple supported these systems for a long time before dropping them. I don't think they'll do anything different for today's G4 and G5 systems.

  • You will have to upgrade your apps when you buy an Intel Mac

    Well, you won't have to for most apps, but you will want to. Apple is providing a translation layer (Rosetta) which will allow PPC-based OS X application to run on Intel Macs, but there is a performance hit. Some informal tests show performance levels at around 25% of "full speed". This is actually very good, given the extreme challenge of emulating a high-end processor on another platform. But you will notice.

    For some applications (like word processors), you probably won't care. After all, these apps spend most of their time waiting for user input. But for some applications (like Photoshop, Final Cut or DVD Studio), you will definitely notice.

    Some vendors may offer free "upgrades" to an Intel port of the same version you have. But I suspect most will not. They will tell you that the next version will be compatible with both platforms and that you should upgrade to it when they release it. If you planned on upgrading anyway, this won't be a big deal. If you didn't, this will be an extra expense.

    One workaround to this is to not buy an Intel Mac when it is first released. Instead, wait for your apps to be upgraded to "universal binaries" (Apple's name for programs that will run on both PPC and Intel). Upgrade then while you're using your existing PPC Macs. Once you've got all the important apps upgraded, then you can buy the Intel Mac and not have to worry about the performance hit of Rosetta.

  • Mac OS is not going to run on your Dell

    It is fairly certain that Mac OS can run on ordinary PC's. After all, Apple has had a working Intel version of Mac OS X for over five years and they wouldn't be developing new hardware boxes for purely internal development purposes. But this doesn't mean it will remain this way.

    Apple has publicly stated that they will not permit non-Apple computers to boot Mac OS X. We don't know how they plan on accomplishing this, but it will probably be more substantial than simply looking for a copyright string in the ROM chips. (This has been attempted by other systems in the past, and it is easily defeated.) The best way to do this is to make Macs with some feature (however minor it may be) and make sure that a key part of the OS relies on this feature. Some form of DRM, with decryption keys hidden in the ROM is also a possibility.

  • We don't know what kind of Intel chip these Macs will have

    I think we can be certain that the chips will be x86-compatible. After all, that's what the prototype Intel-Mac systems are. It would be counterproductive to give an x86-based system to developers and then tell them that the commercial systems aren't going to be compatible with it. But this still leaves a lot of options.

    My prediction is that the 32-bit Macs (those that currently use G4 processors) will be transitioned to 32-bit x86 chips, like the Pentium-4 and maybe Celeron chips. The 64-bit Macs (those that currently use G5 processors) will be transitioned to 64-bit x86 chips, like the new Pentium-D and other chips on Intel's roadmap.

    As much as I might like to see a pure 64-bit chip (like some of the chips on the Itanium roadmap), it's not going to happen unless Intel makes a version that supports the 32-bit x86 instruction set.

    That being said, such a chip might eventually be made. Unlike PC makers, Apple doesn't require any support for any pre-Pentium (or even pre-P4) operating mode, like 8088, 286, 386 or 486. Which means Intel can ditch these legacy features in any chip they sell to Apple. Of course, the fact that they can do this doesn't mean they will, so this is mostly speculation and wishful thinking on my part.

  • You are not going to be able to just boot a Windows CD on an Intel Mac

    Apple has said that they won't take steps to prevent Windows from being run on a Mac. Some have interpreted this to mean "we're getting dual-boot Windows/Mac computers". This is quite a stretch, and, IMO, unlikely. It is quite likely that Apple will design their Macs with different (or at least customized) chipsets on the motherboard. At the very least, special device drivers are going to be required to get Windows to run. It might require much more.

    Sure, Microsoft may decide to release a Mac compatible version of Windows, but that will be in the future. I don't think existing Windows XP install CDs will do anything useful on a Mac.

  • Macs are not going to become overrun with virusses

    It is well known that Windows is overrun with virusses, and most Windows systems run on Intel (or Intel-compatible) processors. But people must remember that Virus-compatibility depends as much on the operating system as it does the processor. And in the case of script-based virusses, it depends entirely on the OS and nothing on the processor. Mac OS will still have all of its security features, even when running on an Intel chip.

    An Intel processor running Mac OS will not be vulnerable to Windows virusses any more than an Intel processor running Linux is - meaning not at all.

  • Lack of AltiVec is not the end of the world

    Apple has touted the AltiVec (vector math) unit of the PowerPC G4 and G5 as the one thing that make PowerPC boxes superior to everything else. And in many ways, they are right. AltiVec is a great subsystem. But PowerPC isn't the only platform to support vector math. Intel's chips have had it for years in the form of MMX (integer-only, introduced in the Pentium), SSE (introduced in the Pentium-3) and SSE2 (introduced in the Pentium-4). SSE3 is also in the workd (to be introduced in the Yonah chip).

    While SSE and SSE2 (don't know about SSE3) may not perform as well as AltiVec, they do provide similar functionality and perform good enough for most purposes. Software written for AltiVec should be portable to SSE. Apple has even provided sample code to help out those developers that need to be shown how. I am certain that the parts of MacOS that use AltiVec on the PowerPC have already been ported over to SSE on Intel.

    Furthermore, a lot of what AltiVec has traditionally been used for (3D graphics) has been offloaded into video cards these days. Apple's CoreImage facility offloads tons of high-end graphics functionality onto the GPU of a high-end video card. Since Intel Macs will use the same (ATI and NVidia) GPUs as PPC Macs, it is safe to assume that this kind of performance will not change much.

  • Your favorite product-level features are not going to go away

    Things like target-disk mode, booting from FireWire drives, pressing "C" to force a CD-ROM boot, etc. Although PC's don't generally support these, and the prototype Intel Macs may not support them all, I think the production Intel Macs will. Apple has spent too much time teaching their customers about these great features to just throw them away now.

    Mind you, this doesn't mean Open Firmware will be what boots these Macs. Product level features can be grafted on to anything (even legacy PC BIOS ROMs). We don't know what kind of ROM Apple will use in the Intel Macs, and I'm not going to speculate on that, but I am confident that the key features that today's users depend on will be present in the new ROM, whatever it is.

  • Your HFS-formatted disks will still be readable

    Although Apple has said that you shouldn't assume anything about the disk partition scheme, I am confident that Mac OS on Intel will be able to mount and use disks that were formatted on PowerPC-based Macs, even if it does not give you the ability to boot from disks using the legacy partitioning scheme. To do anything else would break compatibility in a way that would hurt the entire customer base (just think of all those portable hard drives, including iPods, that will be used to transport files between Intel Macs and PowerPC Macs).

    This will, IMO, be similar to how the HFS+ disk format was rolled out. It was introduced in Mac OS version 8. 68K-based Macs running system 8 (and 8.1 - the last 68K-compatible version) could read, write and format HFS+ volumes, but they could only boot off of HFS volumes, due limitations of the boot ROMs. It is possible that the Intel Macs will be able to boot from the legacy disk partitioning scheme, but even if it can't, Mac OS will be able to use the disks after the system has finished booting.


Anonymous said...

Regarding vector math routines in particular, it's worth noting that with the release of 10.3 Apple introduced an abstraction layer for the vector unit. I expect that anything that uses Accelerate.framework rather than the VMX intrinsics will take advantage of the vector units on whatever Intel chip(s) are in Macs with little to no additional work.

Shamino said...

You are absolutely correct.

As a matter of fact, in their Universal Binary Programming Guidelines, Apple recommends that application developers use the Accelerate framework, precisely because this framework will automatically do the right thing for whatever platform the application is compiled/run on.