Contemporary PC CPU Comparisons
The following is derived from a number of sources, which were not always
consistent. What I have written follows the majority opinion, but no
guarantees are given.
Please tell me if you notice any errors
At the time of writing
(last updated 28-2-2000) The fastest generally available PC CPUs are the
AMD Athlons. The most expensive are the Intel Pentium IIIs.
- Intel
- 8086 (June 1978, 5-10MHz, 1 MB, 16 bit).
One of the nastiest,
most horribly-designed, programmer-unfriendly CPUs I have ever seen. Designed
(if you can call it that) in a big rush in order to get to market early and
grab the customers. I remember as a student reading the new product announcement
and thinking how amazing it would be: now normal people can afford to have
serious, usable computers of their own. Later I saw the real specifications
and was thoroughly disgusted. I resolved never to touch the filthy things, and
managed to stick to the resolution for 15 years. Unfortunately, the computer
industry didn't, and through the evils of "backward compatibility" we have
been stuck with the stinking 8086 for 22 years now, and there is still no sign
of improvement.
- 8087 Early CPUs didn't have hardware support for floating point
operations, it all had to be done slowly with software. The 8087 is a coprocessor
that could be added beside an 8086 or 8088 to provide hardware support for
floating point. Not a CPU in its own right.
- 8088 (June 1979, 5-8 MHz, 1 MB, 8-16 bit) Cheapened version of 8086, only has an
8 bit external bus.
- 80186 Same as the 8086, but with a lot of the extra support
circuitry (interrupt controllers, timers, etc) put on the chip, so there
was less stuff to find space for on the motherboard.
- 80188 Same as 80186, but with only an 8 bit external bus.
- 80286 (February 1982, 6-20 MHz, 16 MB, 16 bit)
Same as 80186 plus: better
chip design allowing more efficient and faster access to more memory, and
introduced Virtual Memory.
- 80287 Floating point coprocessor for 80286.
- 80386 (October 1985, 16-50 MHz, 4096 MB, 32 bit) Big improvement.
Handles data internally and externally in 32 bit lumps, meaning that the
maximum signed integer value that can be manipulated directly by hardware
rises from a worthless 32,767 to a respectable 2,147,483,647.
- 80387 Floating point coprocessor of 80386.
- 80386SX (June 1988, 16-33 MHz, 4096 MB, 16-32 bit)
Cheapened version of 80386, identical except it only
has a 16 bit external bus and is therefore quite a lot slower. Created for
the low-end PC market. Often, a real 80386 was refered to as an 80386DX
to make the distinction clear.
- 80386SL (October 1990, 20-25 MHz, 4096 MB, 32 bit)
Low power consumption version of 80386, made for portable computers to
extend battery life.
- 80486 (April 1989, 25-50 MHz, 4096 MB, 32 bit) First Intel
chip with over 1,000,000 transistors.
Same as an
80386 plus an 80387 on the same chip.
- 80486SX (April 1991, 25-50 MHz, 4096 MB, 32 bit) Just an
80486 without the floating point unit. In other words, almost exactly
the same as an 80386. In fact, many 80486SX chips were really 80487
chips with the floating point unit permanently disabled. A real 80486
was often referred to as an 80486DX to make the distinction. Note that
the SX suffix means something different for 386s and 486s.
- 40487SX Floating point coprocessor for 80486SX, a seemingly
absurd idea.
- 80486DX2 (66-80 MHz, 4096 MB, 32 bit)
An 80486 running at double speed. Until the introduction
of the 80486DX chip, computers had one speed. The internal organs of the CPU
ran at the same speed as the external parts. This meant that you either had to get
extremely fast memory, or the CPU would be slowed down a lot. With the DX2, the
main clock runs at a slow civilised speed, but the CPU's internals run at
twice that speed (the 2 in DX2). A DX2-66 has a 33 MHz external clock speed
and a 66 MHz internal speed. All more modern PC CPUs use this same
trick.
- 80486DX4 (100 MHz, 4096 MB, 32 bit) Same as the DX2, but with
the internal organs running at 4x the external speed.
- Pentium A faster 80486, 64 bit internal data bus, a number
of design improvements, most notably "superscalar pipelining" which allows the execution
of one instruction to begin before the previous one has finished, and even multiple
instructions to be executed at the same time.
(From Penta=5, the name used by Intel instead
of 80586 which was the logical next step in its sequence. Names
can be trademarked, but numbers can not). CPUs with a 5 appearing
prominently in their names are generally supposed to be Pentium-equivalent;
Computers with a 5 in their model numbers are normally expected
to be Pentium-based.
- Pentium Pro A slight improvement on the basic Pentium, usually
having faster clock speeds. CPUs with a 6 appearing
prominently in their names were generally supposed to be Pentium-Pro-equivalent;
Computers with a 6 in their model numbers are normally expected
to be Pentium-Pro-based.
- Pentium MMX (MMX=Multi-Media eXtensions) The basic Pentium,
with some extra instructions added to speed up certain common multi-media
operations.
- Pentium II A sped-up Pentium-MMX with a large on-board L2 cache.
- Celeron (original version) Just a Pentium II without the L2 cache.
- Celeron A (was called Mendocino) has an L2 cache added back. This cache
is smaller but faster than the Pentium II's, so there may not be much difference.
- Pentium III A faster Pentium II, with an extended version of MMX.
- AMD
- K5 (March 1996) AMD's version of Pentium.
- K6 (November 1996) Somewhat like a Pentium Pro.
- K6 MMX (April 1997) Somewhat like a Pentium Pro with MMX.
- K6-2 (April 1998) Almost equivalent to a Pentium II. It is generally not quite as
fast, but has a larger L1 cache and a 3D version of MMX.
- K6-3 K6-2 with a fast, on-board L2 cache.
- K7 or Athlon (November 1999) A redesign, much faster. At the same clock speed
an Athlon is significantly cheaper and usually quite a bit faster than a Pentium III.
This is the first time Intel have been left in the position of having to catch up
with the competition. Maybe we'll see some real improvements all round as a
result.
- Cyrix
- 6x86MX or MII Similar to Pentium MMX. Beware of potentially
misleading version numbers, for example the MII/300 is not a 300MHz
CPU, it only runs at 233MHz. Cyrix calls it a 300 because they say it has
the same perfomance as a Pentium II at 300MHz. See the test results.
This is for guidance only. If you're buying something, check with the retailer
or manufacturer first.
- Form Factors
The form factor decribes the size and layout of a motherboard.
Really, the only choices are AT, and ATX, with a "baby" version
of each. All modern systems are ATX, so you really don't get much choice. The
AT style of power supply doesn't even produce the voltages required for modern
CPUs. ATX is superior to AT in just about every way.
There are five different and incompatible sockets commonly in use today. Each
CPU only fits in one kind of socket, and each motherboard only has one kind of
socket, so it is essential to get the right sort.
- Power Supplies Again, you don't get much choice. There are AT power
supplies which only work with AT motherboards, and ATX power supplies which
only work with ATX motherboards. Don't try adapting one to the other. AT Power
supplies only produce -12, -5, 0, +5, and +12V; ATXs additionally provide -3.3
and +3.3V, a standby low-power supply line that is always on even when you
turn the computer off, and a "turn on now" input signal that allows the computer
to turn itself off under software control (and on again in some circumstances),
thus necessitating the never-off standby supply line. I recommend getting a
power supply with a real on-off switch at the back, so you can really switch
it off completely if you need to.
The only real choice you have with power supplies is how much power they can supply,
usueally somewhere from 220W to 350W. Just make sure your supply is big enough.
An under-powered system doesn't just not turn on, it becomes unreliable in
strange ways; discs may sometimes work and sometimes not, etc.
- Motherboards
- ZIF (Zero Insertion Force) In the old days, people would often bend
the legs on a IC chip while trying to insert it into a stiff socket. This would
sometimes ruin the component because unbending the leg would weaken it and sometimes
break it off. Manufacturers introduced sockets with levers at the side to loosen the
grip when a chip is being inserted or removed. These were called Zero Insertion Force
sockets, because with the lever in the 'up' position you could just drop the chip
in. I don't remember the last time I saw a CPU socket that was not ZIF on a PC
motherboard. It is so much expected now that it is not even mentioned. If you
see a motherboard that advertises ZIF in its description, it is probably for an
80286 or 386!
- Socket 1, Socket 2, Socket 3, and Socket 6 (all obsolete) Used with 80486s of various
varieties.
- Socket 4 and Socket 5 (both obsolete) Used with early Pentiums (60-66MHz, and
75-133MHz respectively).
- Socket 7 (obsolete) 321 pins, Used with the Pentiums (75-200MHz), Pentium MMXs,
K5, and K6. People are often careless with names; if you see something advertised as
"Socket 7" today, it is more than likely that they mean "Super Socket 7", which
is not really the same thing at all.
- Socket 8 387 pins, used for the Pentium Pro.
- Super 7 or Super Socket 7 A much-improved version of socket 7, used by AMD for
its K6 processors. It provides a much faster bus speed. Super Socket 7 is physically
identical to Socket 7, and usually (perhaps even always, but not for sure) a CPU that
wants a Super Socket 7 will work happily in a mere Socket 7, it just won't have a 100MHz
external bus.
- Slot A Used by AMD's Athlon (K7) CPUs.
- Slot 1 Used by Pentium II and III, and older Celerons; they stand the CPU on edge instead
of flat on the board like older CPUs. This gives twice the surface area for
heat loss, which is a really big concern.
- Slot 2 Used only by Intel's peculiar Xeons.
- PPGA 370 Used by the new so-called "socketed Celerons", which lie flat.
Test Results
None of these tests include the AMD Athlon (K7) which according to reports is the fastest
generally available processor. I'll add new results as they become available.
First, the results of a real field-test involving actual computers as delivered to
the customer. Four computers were involved, an Intel Celeron-500A overclocked at 552 MHz,
an Intel Pentium III 500 MHz, an AMD K6-3 500 MHz, and a sad old Pentium MMX 266 MHz.
To even things up, I have divided the ratings from each test by the clock speed
(so where it says the Pentium III got a speed of 2.7 in the overall CPU test, is actual
score was 2.7x500 = 1350). The tests were "Dhrystone" for the general CPU speed,
and "Whetstone" for the Floating point speed.
CPU | general speed rating
|
---|
K6-3 | 3.08
|
Celeron | 2.72
|
Pentium III | 2.70
|
Pentium MMX | 2.37
|
CPU | floating-point speed rating
|
---|
Pentium III | 1.34
|
Celeron | 1.31
|
K6-3 | 1.18
|
Pentium MMX | 1.13
|
This summarizes results from "PC Magazine" of September 22nd 1998. They tested a
number of computers with virtually identical configurations but different
CPUs. Speeds are given with no particular units, but are at least linear:
something with a speed of 2.0 should be twice as fast as something with a speed of 1.0.
These tests include an old-style Celeron (no cache), but no new style (version A)
Celeron. New Celerons (they have the letter A at the end of their part numbers, e.g.
Celeron 300A) are much faster that people are generally led to believe. I'll try
to update this survey soon.
Test 1: CPU Performance
Concentrates on Integer instructions, Cache and Memory accesses.
CPU | Speed
|
---|
Intel Celeron 266 | 1.00
|
Intel Celeron 300 | 1.03
|
Intel Pentium MMX 233 | 1.16
|
Cyrix MII 300 | 1.37
|
AMD K6-2 266 | 1.56
|
Intel Pentium II 266 | 1.84
|
AMD K6-2 300 | 2.05
|
Intel Pentium II 300 | 2.07
|
Intel Pentium II 333 | 2.28
|
Intel Pentium II 350 | 2.40
|
Intel Pentium II 400 | 2.74
|
Test 2: Running Business Applications
such as word processors, spred sheets, etc.
CPU | Speed
|
---|
Intel Celeron 266 | 1.00
|
Intel Celeron 300 | 1.02
|
Intel Pentium MMX 233 | 1.03
|
AMD K6-2 266 | 1.20
|
Cyrix MII 300 | 1.25
|
Intel Pentium II 266 | 1.31
|
AMD K6-2 300 | 1.38
|
Intel Pentium II 300 | 1.40
|
Intel Pentium II 333 | 1.44
|
Intel Pentium II 350 | 1.51
|
Intel Pentium II 400 | 1.54
|
Test 3: Floating Point Computations
CPU | Speed
|
---|
Cyrix MII 300 | 1.00
|
AMD K6-2 266 | 1.64
|
Intel Pentium MMX 233 | 1.71
|
AMD K6-2 300 | 1.86
|
Intel Celeron 266 | 2.35
|
Intel Pentium II 266 | 2.60
|
Intel Celeron 300 | 2.62
|
Intel Pentium II 300 | 2.92
|
Intel Pentium II 333 | 3.23
|
Intel Pentium II 350 | 3.40
|
Intel Pentium II 400 | 3.89
|
Test 4: MMX Operations
Using Adobe's Photoshop's Gaussian Blur.
CPU | Speed
|
---|
Intel Pentium MMX 233 | 1.00
|
Cyrix MII 300 | 1.04
|
AMD K6-2 266 | 1.24
|
Intel Celeron 266 | 1.30
|
Intel Pentium II 266 | 1.30
|
Intel Pentium II 300 | 1.34
|
Intel Celeron 300 | 1.36
|
Intel Pentium II 333 | 1.37
|
AMD K6-2 300 | 1.38
|
Intel Pentium II 350 | 1.50
|
Intel Pentium II 400 | 1.63
|
Observations
- A Cyrix MII/300 generally seems to have similar performance to a
Pentium II/200; they are certainly not even close to equivalent under
these tests.
- An AMD K6-2 is generally only slightly slower than a same-clock-speed
Pentium II. The big exception is when the floating point unit is heavily
used; then Pentium II winds easily.
- A Celeron is a lot slower than a Pentium II in every-day computations.