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. IThe 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
|
Quick Links
Statistics
Total entries in this blog:
Total entries in this category:
Published On: Aug 30, 2007 08:14 PM
|