PowerPC overview

by Peter Perlsø,
published August 2001/March 2002,
updated October 2006 and 30. August 2009

Foreword: The PowerPC, or PPC for short, is a CPU Instruction Set Architecture jointly developed by the AIM (Apple-IBM-Motorola) Consortium back in the early 90's. It has been driving Apple's PowerMac line and advanced Amiga computers since 1994, and has been extensively used in embedded devices as well. This article gives a brief presentation of the current span of the PPC family.

The First Generation: The 601 marks the dawn of the PowerPC processor family, anno 1993. It was used in Apple's PowerMac line in April 1994. The 601 is essentially a hybrid of the PowerPC instruction set, and the older IBM POWER ISA.

The Second Generation: The second PPC generation encompasses the 603 and 604 CPU architectures (as well as the stillborn 620). These were both evolutions of the 601 chip, as they dropped POWER ISA support and solely supported the PowerPC ISA. The 604 is a high-performance CPU geared towards use in workstations and multiprocessor installations. The 603 is a lower-performance chip aimed at entry level computers, portables and embedded applications, due to its low power consumption and heat dissipation.

The first 603's small L1 caches became a hindrance to tasks performed on the chip, as the caches could not feed the execution core with data at a sufficient rate. This was corrected in the 603e, which, at 100 MHz, processed data almost twice as fast as its 75 MHz predecessor. Unfortunately, Apple had already shipped a large number of Performas computers based on the 603 chip, and the reputation of this product line suffered greatly, in part because of the shortcomings of the 603.

All 603's use the MEI memory coherency protocol. The 604's use the more efficient MESI protocol, greatly increasing its potential as a multiprocessor CPU. Both shipped late in 1994.

Third Generation: The G3 is a common name for the PPC 750 line of processors. It was coined by Apple Computer when they started using these chips in the Power Macintosh G3 line of computers.

The innovation of the PPC 750 is that it applies a dedicated "backside" bus for communicating with a closely coupled L2 cache (named the "backside cache"), connected to the core by a 64 bit data bus. Apart from reducing system bus congestion, the use of a seperate L2 cache bus allowes the CPU core to retieve instructions and data much faster than the earlier generations of processors, and hence cut computation time down significantly.

IBM's later version of the G3, known as 750CX, CX3, FX and GX, sports a wider (256 bit) L1 cache bus.

Fourth Generation: Announced by Motorola on the 31st of August, 1999, the G4 adds SIMD (Single Instruction, Multiple Data) abilities to the PPC family. Intel added such functionality to their Pentium line in 1997 under the name of MMX. The Motorola counterpart to MMX was codenamed VMX, later dubbed AltiVec (Apple calls it "Velocity Engine"), and adds a new execution unit to the PowerPC core, with 162 associated instructions. This AltiVec unit has a 32-entry, 128-bit wide register file. Code written to take advantage of the AltiVec unit can theoretically perform up to 16 times faster than normal code on older PowerPC CPU's. Additionally, system bus bandwidth is more than doubled due to the implementation of the MaxBus protocol. The PPC 7400 also excels as a multiprocessor chip, as it supportes the MERSI protocol for memory coherency.

Generation 4.5: Although the PPC 7450 is formally a member of the G4 family, I believe that placing it in the former category doesn't do this chip justice, due to many microarchitectural enhancements it contains over the 7400 line. First of all, The 7450 has four Integer Units instead of the predecessor's two. Second, it has 4 independent AltiVec units, compared to the former two. Third, it has much enhanced dispatching capabilities, feeding the execution units much more rapidly. Fourth, it has a 36-bit address bus, allowing a physical address space of 64 gigabytes of memory. Additionally, it employs an on-die L2 cache, running at processor speed, connected the CPU core by a 256 bit wide bus for super-fast cache access.

Generation 5: With the failure of Motorola to produce their G5 chip (which is rumored to have been scrapped by Mot management), Apple has turned to IBM for the PowerPC 970, a 64-bit CPU with AltiVec support. It is based on IBM's POWER 4 chip, and has been announced at WWDC 2003, June 23rd.