After I completed my recent architectural history of the Pentium product line (Part I, Part II), I got some requests from Apple fans to do a similar treatment of the PowerPC family of processors. When I agreed to look into the task, what I grasped was that the PowerPC family tree is more like a family jungle, with different variants on different processors combining with other lines to give rise to yet more processors, all for an array of markets that ranges from mainframes to routers to game consoles.
This being the case, the first decision that I made was to focus my coverage exclusively on PPC chips that have seen use in shipping Apple products. I stress the word "shipping" in that previous sentence, because there are a few lifeless branches on the aforementioned family tree that never quite sprouted. So even though Mac fans like to fantasize about What Might Have Been had this or that wonderchip seen the light of day, I'm not going to spend any time in this article with lost lore and apocryphal tales, as fascinating as such things certainly are.
And while I'm on the subject about what won't be in the article, I should take a moment to address another point that's very important to me as someone who started writing about CPUs in the context of the Mac vs. PC flame wars of the late 90s and who has seen way more than I care to of the ugly side of platform zealotry. This article is not an attempt to demonstrate the innate superiority of The Mac Way, or to prove that RISC 0wn3z lame old CISCy x86, or to relive any of the platform debates of yesteryear. I keep cross-platform comparisons to a minimum, so if you're looking for religion, look elsewhere. And following on this point, if you send me feedback in all caps and/or accuse me of being a bigoted Apple hater and/or suggest that if I "got laid" I might develop a proper appreciation for the Mac's superiority (why do true-blue Mac zealots always do this?) and/or flame me in any other way for any sins (real or imagined) against your pet platform (Mac or PC), then don't expect me to read the entire email before deleting it, and don't take my failure to reply as evidence that you must be right.
Finally, a word of warning to readers who might expect this article to have the same kind of larger narrative contours that the Pentium series had. The history of Apple's use of the PowerPC is the history of three companies: Apple, IBM, and Motorola. As such, the kind of story that I was able to tell about the Pentium brand would be a much more complicated tale involving multiple characters were I to try and duplicate that feat with the PowerPC line, so I'm not even going to bother trying. Besides, the fact that I'm a relative late-comer to the Mac platform means that I didn't follow the ins and outs of the AIM/PPC saga first-hand, so I'm not the most qualified person to write the kind of detailed history of it that does indeed deserve to be written.
In fact, I didn't even start following the platform wars until the G3 was well established. This being the case, the present series is a straight-ahead technical look at the PPC chips that have formed the heart of Apple's product line ? no more, and no less. Thus the processors ? and not Apple as a company or Apple's computers as a whole ? are the main focus of this series. So even though this article is organized around processors that Apple has used, Apple is a bit player in this story; the PowerPC processors are the stars of the show.
Basic processor terminology
If you've not read much of my writing before and you're unfamiliar with some key microprocessor concepts, then you may have some trouble getting through this article. If you want to take a short detour and familiarize yourself with some fo the key concepts that I'll be using in this article, consider checking out some of the following links. These links point to specific pages of past articles that explain certain key microprocessor concepts in more detail than I'll go into, here.
- Basic instruction flow: P4 vs. G4e, Understanding the MP (i.e. terms like "front end", "execution core", "dispatch", and "issue").
- Pipelining: Understanding the MP
- Branch instructions: Understanding the MP
- Branch prediction: P4 vs. G4e
- The PowerPC Condition Register: Inside the PPC 970
- Bandwidth and latency: Understanding Bandwidth and Latency
- Instruction window: The Pentium
Check out some of the links in the list above to get yourself oriented, and keep the list handy as you read this series in case you need to refer back to it.
A brief history of POWERPC
This is not the place to recap the sordid history of the erstwhile AIM alliance, but a few notes about the origins of the PowerPC line are in order here at the outset of our discussion.
In the beginning was POWER (Performance Optimization With Enhanced RISC), IBM's RISC architecture developed for use in mainframes and servers. There a was also Motorola, whose 68000 (a.k.a. the 68K) processor formed the core of Apple's desktop computing line, and whose more advanced 88000 processor wasn't making much headway in the market due to a lack backwards compatibility with the 68K.
To make a long story very short, IBM needed a way to turn POWER into a wider range of computing products for use outside the server closet, Motorola needed a high-end RISC microprocessor in order to compete in the RISC workstation market, and Apple needed a CPU for its personal computers that would be both cutting-edge and backwards compatible with the 68K.
Thus the AIM (Apple, IBM, Motorola) alliance was born, and with it was also born a subset of the POWER architecture dubbed PowerPC. PowerPC processors were to be jointly designed and produced by IBM and Motorola with input from Apple, and were to be used in Apple computers and in the embedded market.