Main Page | See live article | Alphabetical index

IBM POWER

POWER is a RISC CPU architecture designed at IBM. The name, arguably, stands for Performance Optimization With Enhanced RISC. POWER series CPUs are used as the main CPU in many of IBM's servers, minicomputers, workstations, and supercomputers. The POWER architecture was used to develop (and remains very similar to) the PowerPC architecture, used in all Apple Macintosh computers, some IBM workstations, as well as a number of embedded applications.

The POWER design is descended directly from the earlier IBM 801 CPU, widely considered to be the first true RISC chip design. It was used in a number of applications inside IBM hardware, but did not become public until they released the poorly-performing IBM PC/RT in the mid-1980s.

At about the same time the PC/RT was being released, IBM started the America Project, to design the most powerful CPU on the market. They were interesting primarily in fixing two problems in the 801 design in the resulting POWER design:

  1. the 801 required all instructions to complete in one clock cycle, which eliminated floating point instructions
  2. although the decoder was pipelined as a side effect of these single-cycle operations, they didn't use superscalar effects

Floating point became a focus for the America Project, and IBM were able to use new algorithms developed in the early 1980s that could support 64-bit double-precision multiplies and divides in a single cycle. The FPU portion of the design was separate from the instruction decoder and integer parts, allowing the decoder to send instructions to both the FPU and ALU (integer) units at the same time. IBM complemented this with a complex instruction decoder which could be fetching one instruction, decoding another, and sending one to the ALU and FPU at the same time, resulting in one of the first superscalar CPU designs in use.

The system used thirty-two 32-bit integer registers and another thirty-two 64-bit floating point registers, each in their own unit. The branch unit also included a number of "private" registers for its own use, including the program counter.

The 801 was a simple design, and an overcorrection to its simplicity resulted in the POWER design being more complex than most RISC CPUs. For instance, the POWER (and PowerPC) instruction set includes over 100 op-codes of variable length, many of which are variations on others. This compares (for instance) with the ARM which has only 34 instructions.

Another interesting feature of the architecture is a virtual address system which maps all addresses into a 52-bit space. In this way applications can share memory in a "flat" 32-bit space, and all of the programs can have different blocks of 32-bits each.

The first POWER1 CPUs consisted of three chips; branch, integer and floating point. These were wired together on a largish motherboard to produce a single system. POWER1 was used primarily in the RS/6000 series of workstations.

POWER2 was a product-improved POWER1 and was the longest-lived of the POWER series, released in 1993 and still in use five years later. It added a second floating-point unit, 256k of cache and 128-bit floating point math.

POWER3 followed in 1998, moving to a full 64-bit implementation, while remaining completely compatible with the POWER instruction set. This had been one of the goals of the PowerPC project and the POWER3 was the first of the IBM processors to take advantage of it. It also added a third ALU and a second instruction decoder, for a total of eight functional units.

The latest implementation is the POWER4 series which places two complete CPU cores (otherwise similar to the POWER3) on a single chip, speeds it up, and adds high-speed connections to up to three other pairs of POWER4 CPUs. They can be placed together on a motherboard to produce an 8-cpu SMP building block. When processing requires high throughput instead of high code complexity, one of a pair of cores can be turned off so that the remaining cores have the entire bus and L3 cache to themselves. The POWER4, even in single form, is considered by many to be the most powerful CPU available.

IBM plans to roll out the "POWER5" processor in 2004. Ravi Arimilli, IBM's chief microprocessor designer has said; "The Power5 chip is more of a midrange or low-end design that can drive up to the high end and then down to things like blades.". Improvements in the POWER5 over the POWER4 include: a larger L2 cache, a memory controller on the chip, simultaneous multithreading (similar to the 'Hyperthreading' feature in the newer versions of Pentium 4), and power-saving features. A 64-bit RISC design that will help IBM cover the entire board as far as high and low end server CPUs are being announced by Intel and AMD. This is no low-end chip however, and is slated to slowly phase out the POWER4. In 2003, IBM introduced a single CPU core version of the POWER 4 called the 970. It was employed in the newest generation of Apple desktop computers (i.e., the G5).

The PowerPC was essentially a POWER1 CPU with some of the more basic instructions emulated in microcode, using a bus interface based on the Motorola 88000 design. This allowed IBM to use the CPU in a number of workstation machines, changing only the motherboard. Since then the PowerPC and POWER architechtures have diverged somewhat, but remain compatible at the instruction level.

The IBM RS64 family of processors is based on PowerPC (and thus POWER) and has been used in the RS/6000 and AS/400 product lines. It is optimized for commercial workloads, and does not have the floating point power expected in the POWER line. It is now mostly replaced by the POWER4.