Category Image On Apple and Intel 


Apple Computer announced today that it is switching from Freescale and IBM G4 and G5 CPUs to Intel CPUs. Is the end of the world nigh? 

I usually try to avoid blogging about the teapot tempests everyone else is blogging about -- there is far too many interesting avenues of computing that people often are not talking about that I'd rather concentrate on. However, this one has hit the industry like an atomic blast, and Mac users are flooding message forums and IRC channels talking like this move is the end of the world. So I thought I'd try to bring some sanity to the debate.

Corporate computer development tends to focus on two areas: the technology, and the business realities. And typically, the latter trump the former. Very few good companies in this day and age are going to pursue technologies that put them out of business (we all saw how well that worked in the 1990's). So I'm going to leave my thoughts on this deal as it pertains to these two areas.

From the technology perspective, this move is a travesty. The Intel x86 architecture is full of all sorts of odd throw-backs. It's starved for registers. The CPUs are big and expensive. And Intel is having its lunch eaten by AMD in its own x86 space by all accounts. AMD and IBM both have Silicon-On-Insulator technologies, and Intel (AFAIK) doesn't. The Intel x86 architecture is, by many accounts, tired and on its last legs. Even Intel itself has tried (and by many accounts, failed) to get away from its x86 legacy with the Itanium architecture. The entire PC architecture is filled will all sorts of odd band-aid patches for legacy reasons that it's often a wonder it works at all (take, for example, the A20 Gate, which originally was used to control memory access for real mode application support, and was implemented using the controller built into the IBM keyboard. Imagine your computer having to go through your keyboard just to flip a switch to access a flat 32 bit memory segment. Insanity! Note that in more modern times motherboards and CPUs have been able to take over the gate task from the keyboard itself, making it more efficient, but it's still a nasty, oddball kludge).

The IBM PowerPC 970 (G5) however, is nearly a textbook example of good processor design. It's generally more powerful per clock cycle than any of the Intel CPUs. It has a boatload of general purpose registers, which can seriously enhance performance in areas where Intel CPUs can run into register starvation (requiring loading/storing registers to and from the local cache, which requires additional processing and time). The G5 doesn't have a lot of the legacy kludges which to this day exist in the Intel CPUs. I
The G5's are also less than half the size of any of the modern Intel CPUs, and by all reports cost less to manufacture (and thus for Apple to purchase).

From a pure design perspective, IBM appears to have the edge over Intel. Unfortunately, that isn't enough, which is where the business reality comes in.

Let's face it: Intel has quite a bit more fabrication capabilities than IBM does. They make and sell an order of magnitude more CPUs than IBM does. They're also putting a lot more R&D money into areas that IBM (and to a certain extent, Freescale) simply aren't interested in, most notably in the areas of portable computing, and reduced heat computing.

Apple has been facing a serious problem: IBM and Apple has the better processor technology with the G5, but it's not being developed at a fast enough rate to keep up with the industry. IBM has only provided very modest speed increases across the lifetime of the chip thus far. They are having some serious problems adopting 90nm manufacturing processses. Their chips are exceedingly power hungry and heat intensive -- so much so, that the latest 2.7Ghz dual G5 machines need to be liquid cooled.

And perhaps most damningly, IBM appears to be doing little or nothing to make a G5 which can be used in a laptop. Apple is still saddled using G4 processors in its PowerBook and iBook lines. This would be comparable to Dell only being able to sell laptops with Pentium 3's in them (which admittedly may not be too bad if Intel continued to ramp up the speed -- per hertz, the Pentium 3 is faster at integer calculations than the Pentium 4's are). It's a very sad state of affairs, and nobody in the PowerPC arena seems to be doing much about it. Apple has often been back-ordered on G5s due to lack of supply from IBM (something which IBM claims to have fixed some months ago).

So take a look at what Apple has had to put up with: no timeline for G5's in laptops. G5 supply problems. Very slow speed increases to the G5 line which don't appear to be keeping up with the rest of the industry. And no apparent relief in sight for any of these issues.

So is it any wonder Apple went shopping to the one company which could solve these problems, Intel? They basically had a choice: stoically stand behind the better processor technology only to lose sales and fall further behind the rest of the industry, or suck it up, go with a slightly worse architecture which can be used in Apple's portable machines, has a good roadmap for speed improvements, and which doesn't have any supply issues?

The decision, it seems, was easy for Apple. It's good that in Apple's case they have an OS which is ready for the task: not only have they long been building OS X for Intel-based systems, they are also fortunate to have an existing application executor architecture which was designed to multiple architectures, allowing one application to contain compiled binary data for multiple processor platforms (the "fat binary"). So software wise, this switch should be fairly smooth for the end user.

Now I'm the type of person who, for my own personal uses, ignores what everyone else is running, and generally goes for the best possible technology. When other people were running Windows 3.1 (and 3.11 and 95 and 98 and ME) I was running OS/2. Then I made the transition away from the kludges of the Intel world, and moved to the PowerPC and Mac OS X world (and in the middle, I've run a number of Linux machines. Design wise I typically find Linux to be uninspired, however it's exceedingly good at many tasks, and is very well suited to operating headless machines that run server and other automated tasks. It's hard to beat the price, and it's level of openness is completely unmatched elsewhere. IMO the revolutionary part of Linux isn't in its code or design, but in the way it is developed in a completely open manner).

Thus, at a gut level, Apple's move to Intel CPUs really feels like a step backwards for me personally. However, I can understand why Apple is doing this.

What will be the day-to-day result for end users? The impact should be fairly minimal, although there could be an issue with user confusion if organizations start distributing separate packages for PowerPC and Intel based Macs. If companies follow Apple's recommendation to build Universal ("fat") Binaries (and/or if Apple's Rosetta technology for running PowerPC code on Intel works as well as advertised), this won't be an issue -- but already I expect there are going to be smaller developers who won't take advantage of the fat binary who are going to confuse some of the less computer-literate Mac users out there.

(Indeed, there are already some areas where problems will most certainly crop up. One big one is anywhere where JNI, the Java Native Interface, is in use. JNI can't be compiled as a "fat binary", as it isn't an application. And JNI can't be run through Rosetta, as Rosetta requires the entire process to be compiled for the architecture to be emulated (PPC), and in the case of JNI, the Java executor will be run natively, thus not permitting just the JNI library to be translated at runtime. Thus, JNI libraries will have to come in two versions. Applications which come with bundled JNI portions may be able to work around this manually, but Apple doesn't appear to be offering anything to aid this situation).

The one thing that remains to be seen is that when the first Intel-based Macs come out on the market, are they going to be significantly faster than the existing PowerPC Macs, or are they effectively going to be functionally identical (or perhaps even somewhat slower -- Apple's Mach microkernel does impose some performance degradation on certain task types, even though it offers advantages in other areas)? And if they're roughly just as fast, are people going to want to "cross-grade" just to get a different processor with little or no speed advantages?

(I'm guessing that Apple is going to offer other hardware and/or cost incentives if this turns out to be the case, like Bluetooth 2.0, WiMAX or some other more advanced WiFi technology, wireless USB, or any number of other interesting technologies they could put into the box to sell machines).

In conclusion, while a lot of people are upset about this move, I think that when the dust settles most people aren't really going to care. There will be some growing pains, but I think most users will find that their machines will look just as good, will be able to do just as much, and will still have the same positive user experience we've come to know and love of Apple systems. What CPU is under the hood won't matter to anyone but the most hard-core low-level software developers. I look forward to seeing an Intel Macintosh in action, and expect my next laptop to be a PowerBook with Intel Inside.

 

Posted: Sunday - June 05, 2005 at 09:17 PM          


©