posted by Nicholas Blachford on Wed 9th Jul 2003 16:43 UTC
IconThis article started life when I was asked to write a comparison of x86 and PowerPC CPUs for work. We produce PowerPC based systems and are often asked why we use PowerPC CPUs instead of x86 so a comparison is rather useful. While I have had an interest in CPUs for quite some time but I have never explored this issue in any detail so writing the document proved an interesting exercise. I thought my conclusions would be of interest to OSNews readers so I've done more research and written this new, rather more detailed article. This article is concerned with the technical differences between the families not the market differences.

History and Architectural Differences
The x86 family of CPUs began life in 1978 as the 8086, an extension to the 8 bit 8080 CPU. It was a 16bit CISC (Complex instruction Set Computing) processor. In the following year the 8088 was introduced which was used in the original IBM PC. It is this computer which lead to todays PCs which are still compatible with the 8086 instruction set from 1978.

The PowerPC family began life with the PowerPC 601 in 1993, the result of a collaboration started in 1991 between Apple, IBM and Motorola. The family was designed to be a low cost RISC (Reduced Instruction Set Computing) CPU, it was based on the existing IBM POWER CPU used in the RS/6000 workstations so it would have an existing software base.

When Microprocessors such as x86 were first developed during the 1970s memories were very low capacity and highly expensive. Consequently keeping the size of software down was important and the instruction sets in CPUs at the time reflected this. The x86 instruction set is highly complex with many instructions and addressing modes. Additionally it also shows it's age by the small number and complex nature of registers (internal stores) available to the programmer. The x86 only has 8 registers and some of these are special purpose, PowerPC has 32 general purpose registers.

RISC was originally developed at IBM by John Cocke in 1974 [1]. Commercial RISC microprocessors appeared in the mid 80s first in workstations later moving to the desktop in the Acorn Archimedes. These use a simplified instruction set which allow the CPUs to be simpler and thus faster. They also included a number of architectural improvements such as pipelining, super scalar execution and out of order execution which enabled the CPUs to perform significantly better than any CISC CPUs. CISC CPUs such as the 68040 and the Intel 80486 onwards picked up and used many of these architectural improvements.

In the mid 1990s a company called NextGen produced an x86 CPU which used a translator to convert x86 instructions to run within a RISC core. Pretty much all x86 CPUs have since used this Technique. Even some RISC CPUs such as the POWER4 / PowerPC 970 use this technique for some instructions. The high level internal architecture of the vast majority of modern desktop CPUs is now glaringly similar be they RISC or CISC.

Current State Of x86 And PowerPC CPUs
The current desktop PowerPC and x86 CPUs are the following:

AMD Athlon XP
Intel Pentium 4

IBM 750xx (G3)
Motorola 74xx (G4)
IBM 970 (G5)

The current G4 CPUs run at significantly lower speeds compared with the x86 CPUs which are now above 2GHz (P4 > 3GHz). The recently announced PowerPC 970 currently runs up to 2GHz and delivers performance in line with the x86 CPUs.

CPUs break down all operations into stages and these are performed in a pipeline, these stages can be big or small and the number of stages depends on what's done in each stage, the more an individual stage does the less stages you need to complete the operation. However if the stages are simple you will need more of them but each stage can complete quicker. The clock speed of the CPU is limited by the time an individual stage needs to complete. A CPU with simpler but greater number of stages will operate at a higher frequency.

Both the Athlon and Pentium 4 use longer pipelines (long and thin) with simple stages whereas the PowerPC G4s use shorter pipelines with more complex stages (short and fat). This is the essence of the so called "megahertz myth". A CPU with a very high clock speed may not be any faster than a CPU with a lower clock speed. The Pentium 4 is now at 3.2 GHz yet a 1.25 GHz Alpha can easily outgun it on floating point operations.

The longer pipelines allow the x86 CPUs to attain these very high frequencies whereas the PowerPCs G4s are somewhat restricted because they use a smaller number of pipeline stages and this limits the clock frequency.

The amount of voltage the CPU can use restricts the power available and this effects the speed the clock can run at, x86 CPUs use relatively high voltages to allow higher clock rates, to boost clock speeds further, power hungry high speed transistors are used. A long thin pipeline is very fast but also very inefficient power wise. All these things add up so a 3GHz CPU may be fast but are also very power hungry with maximum power consumption rates now approaching or even exceeding 100 Watts. Intel in fact have taken to using a much lower frequency part for laptop computers than the top end Pentium 4. Yet, despite the fact it is only 1.6GHz, the Pentium M performs just as well as the 2.2GHz Pentium 4.

Table of contents
  1. "History, Architectural differences, RISC Vs CISC, Current state of these CPUs"
  2. "Law of Diminishing , Performance, Vector Processing and Power Consumption differences"
  3. "Low Power x86s, Why The Difference?, To RISC Or Not To RISC, PPC and x86 get more Bits"
  4. "Benchmarks, the Future"
  5. "Conclusion, References"
e p (0)    221 Comment(s)

Technology White Papers

See More