General-Purpose Processors
BDTI
HOME << FREE INFO << PROCESSOR OVERVIEWS << BDTI

Motorola/IBM PowerPC 604/604e

The PowerPC 604 and PowerPC 604e are four-issue superscalar RISC processors from IBM Microelectronics and Motorola. The processors are targeted at general-purpose desktop computing and have found design wins in the Apple Macintosh line of personal computers and in Macintosh clones. The fastest version of the PowerPC 604 operates at a clock speed of 180 MHz with a 3.3-volt supply. The PowerPC 604e is an enhanced version of the PowerPC 604 and can operate at a clock speed of 225 MHz with a 2.5-volt supply for the processor core and a 3.3-volt supply for I/O. PowerPC 604 processors are manufactured and sold by Motorola and IBM Microelectronics and are being licensed to other vendors.

The PowerPC 604 and PowerPC 604e are implementations of the PowerPC architecture specification, jointly developed by Apple, IBM, and Motorola. The PowerPC architecture specification has seen a number of implementations from both IBM Microelectronics and Motorola. These different implementations target different application areas, including desktop computing, automotive and industrial control, communications, and other embedded systems.

Despite its lack of many DSP-oriented features, the PowerPC 604e achieves excellent performance on floating-point DSP applications through its multiply-add instructions, four-way superscalar architecture, and high instruction execution rate. Despite the high prices of the fastest PowerPC 604e family members, the PowerPC 604e is competitive with high-end floating-point DSPs on a cost/performance basis.

Optimizing DSP code for the PowerPC 604e is very challenging, even by DSP processor standards. In addition, the processor's many dynamic features make it very difficult to guarantee the execution time of DSP software, complicating real-time development.

The PowerPC 604 has independent floating-point and integer data paths. Although either data path can achieve good performance on DSP applications, it is often most convenient to use the floating-point data path for this purpose. The floating-point data path consists of a fully IEEE-754 compliant floating-point unit and thirty-two 64-bit floating-point registers. The floating-point unit is capable of operating on either 64-bit (double-precision) or 32-bit (single-precision) operands with no difference in speed, except for division operations which take longer for 64-bit operands. Since the PowerPC 604 uses a strict load/store architecture, all floating-point input operands come from the floating-point register set, and all floating-point results are stored back to floating-point registers. The PowerPC 604's floating-point unit supports multiply-add and multiply-subtract operations.

The PowerPC 604 has a single 32-bit address space. Separate 16 Kbyte instruction and data caches are available on-chip. Twice as much cache RAM is available on the PowerPC 604e, which provides separate 32 Kbyte instruction and data caches. Accesses to the instruction cache are 128 bits wide, providing the processor with four 32-bit instructions in a single cycle if a cache miss does not occur. Accesses to the data cache are 64 bits wide. However, since general-purpose registers on the PowerPC 604 are only 32 bits wide, the processor can only take advantage of the full 64-bit data cache access width when fetching or storing 64-bit double-precision floating-point variables. The PowerPC 604 features a 64-bit external data bus and a 32-bit external address bus. PowerPC 604 systems typically operate with external bus rates of 60 MHz or 66 MHz, although bus rates of 75 MHz and 83.3 MHz are also being used.

The price of a 225 MHz PowerPC 604e in a 255-lead BGA package, in quantity 1,000 is $620 as of October, 1996.

A complete analysis of the PowerPC 604/604e, including BDTI Benchmark(TM) results, is contained in BDTI's report, DSP on General-Purpose Processors.

Top of page