home
 articles
 reviews
 lifestyle
 info
 questions

Pentium II ... Pentium II Xeon ...
Pentium III ... Pentium III Xeon .... arrgggh!


By: Clive "Max" Maxfield

There is currently a lot of confusion as to the plethora of processors that abound in the marketplace, so here’s a brief summary...

The Pentium Pro (introduced Nov. ‘95) evolved into the Pentium II (introduced May ‘97). The Pentium Pro was presented as a multichip module, which contained the core CPU chip and the L2 cache chip (see below for more info on "cache"), and which plugged into something called "socket 8" on the motherboard. By comparison, the Pentium II came in a single-edge-connect (SEC) cartridge, which also contained the core CPU chip and a number of L2 cache chips, and which plugged into a connector called "Slot 1" on the motherboard.

Evolution of P-Pro, PII, PIII, PII Xeon, and PIII Xeon

Apart from the different packaging style and its higher clocking frequencies, the Pentium II core CPU was essentially identical to the Pentium Pro core CPU, except that the Pentium II has 57 additional instructions called MMX (see below for more details on MMX).

In turn, the Pentium II evolved into the Pentium II Xeon (introduced June ‘98). The Xeon had yet another packaging style, which plugged into a connector called "Slot 2" on the motherboard. The only other significant difference between the Pentium II and the Pentium II Xeon (as far as we’re concerned) is that the Xeon’s L2 cache bus runs faster (more details below).

The Pentium II later evolved into the Pentium III, code named "Katmai" (introduced Feb ‘99). The only significant difference between these two processors (as far as we’re concerned) is that the Pentium III supports 70 additional instructions called (amongst other things) MMX II (see below).

Similarly, the Pentium III has a Pentium III Xeon counterpart, code named "Tanner" (introduced March ‘99), which also supports MMX II instructions. Again, the only significant difference between the Pentium III and the Pentium III Xeon (as far as we’re concerned) is that the Xeon’s L2 cache bus runs faster (more details below).

Cache
What do we mean by "cache"? When a program is first run and the CPU first reads an instruction or piece of data from the main memory, in addition to loading that information into the CPU itself, it also places a copy in a small, very fast, local memory called the "cache."

The next time the CPU wishes to read from that memory location, it first checks to see if there’s already a copy inside the cache. If there is, then the CPU can read this copy much, much faster than it could from the main memory.

One way to think of this is that even the largest software applications/programs are typically formed from loops containing relatively small numbers of instructions, all of which can be stored in the cache. If the cache is full and the program moves to a new block of instructions, then the least-used contents of the cache are discarded.

Today's CPUs support two levels of cache called L1 ("Level 1") cache and L2 ("Level 2") cache, respectively. The L1 cache is small (32KB on Pentium IIs and Pentium IIIs) and resides on the same silicon chip as the CPU itself. The L2 cache is larger (512KB for Pentium IIs and Pentium IIIs) and is built on additional devices. (Note that Pentium II Xeons and Pentium III Xeons offer a choice of 512KB, 1MB, and 2MB caches. The 1MB and 2MB versions are particularly well-suited for server applications.)

Commencing with the Pentium Pro, all of Intel’s processors (including the Pentium II, Pentium III, and their Xeon counterparts) have two separate buses called the "frontside bus" and the "cache bus" (the "frontside bus" may also be referred to as the "CPU bus", "host bus", or "system bus"). Note that the CPU can access both of these buses simultaneously.

The L2 cache and frontside busses

As I pen these words, the Pentium II, Pentium II Xeon, Pentium III, and Pentium III Xeon all support a host bus speed of 100 MHz.

In the case of the Pentium II and Pentium III processors, the L2 cache bus runs at half the speed of the core CPU clock. That is, if the core CPU clock is 400 MHz, the L2 cache bus is 200 MHz; if the CPU clock is 500 MHz, the L2 cache bus is 250 MHz, and so forth.

By comparison, in the case of the Pentium II Xeon and Pentium III Xeon processors, the L2 cache bus runs at the full CPU clock frequency. Thus, the Xeon processors are particularly well-suited to CPU-intensive (and particularly cache-intensive) applications.

MMX Instructions
Pentium Pro, Pentium II, Pentium II Xeon, Pentium III, and Pentium III Xeon processors all have 32-bit wide internal data buses and typically manipulate data in 32-bit chunks. For example, if a programmer wishes to perform an operation such as an addition, he or she is typically obliged to add two 32-bit words together.

Certain applications, however, prefer to play with smaller pieces of data. For example, consider a 32-bit color graphics application, which uses 8-bits each to represent the red, green, blue, and alpha (translucency) values associated with each pixel (these are abbreviated to RGBA). In order to use the memory efficiently, the application stores the four 8-bit values associated with each pixel in a 32-bit word.

In these types of graphics applications, it’s common to want to perform operations like adding the RGBA values from two pixels together -- that is, to add the two 8-bit R values together, add the two 8-bit G values together, and so forth. But if the central processor can perform operations only on 32-bit words, the application is going to spend one heck of a lot of time "unpacking" (extracting) the 8-bit chunks it’s interested in, adding these chunks together, and then packing them back up again. This is the way things had to be done with the Pentium Pro (and earlier) processors.

There are many applications that wish to deal with smaller pieces of data in this fashion, so the guys and gals at Intel introduced a set of 57 MMX, which were made available in the Pentium II processor. These arithmetic and logical instructions, which are classed as SIMD (single-instruction-multiple-data) instructions, allow programmers to treat 32-bit words of data as two 16-bit chunks or four 8-bit chunks.

MMX instructions were initially conceived for the purpose of speeding up multimedia applications (which is why "MMX" actually stands for "MultiMedia eXtensions"), especially in the realm of audio and video compression and decompression algorithms implemented in software. However, these instructions are actually starting to wave a cheery "hello" and make their presence felt in a number of other applications.

MMX II Instructions
A key point about the original MMX instructions is that they only worked on integer values, which is great for some multimedia applications and certain graphics operations. but many digital media, CAD, and ViZSim applications make intensive use of floating point numbers.

Thus, the Pentium III and Pentium III Xeon processors have been augmented to contain a number of 128-bit wide internal registers. These processors also feature MMX II, which refers to an additional 70 instructions that allow the programmer to perform operations on four 32-bit floating point values simultaneously. (These instructions were also known as "Katmai New Instructions (KNI)" for a time. Then they were called "Streaming SIMD instructions" -- see the definition of SIMD above. More recently they have come to be known as SSE for "Streaming SIMD Extensions" ... and it's anyone's guess what they will be called next week!)

Copying an existing application from a Pentium II to a Pentium III will typically show no speed increase (excepting the fact that the Pentium III will have a higher clock speed) unless the graphics driver has been modified to take advantage of SSE as noted below). Recompiling the application using a Pentium III specific compiler will typically show some speed improvements.

However, in order to take full advantage of the Pentium III's SSE (or MMX II if you prefer), programmers will have to modify their applications. Similarly, graphics companies will have to modify their drivers to take advantage of the MMX II instructions (this will be of particular interest in the case of graphics cards that don't have on-board geometry accelerators). As these modifications start to take place, Pentium III-based machines will start to demonstrate significant performance advantages over their Pentium II counterparts.

 
Pentium II
Pentium II Xeon
Pentium III
Pentium III Xeon
L2 cache size
512KB
512KB, 1M, 2M
512KB
512KB, 1M, 2M
L2 cache speed
1/2 Sys Clk
Full System Clock
1/2 Sys Clk
Full System Clock
MMX Support
MMX
MMX
MMX & MMX II
MMX & MMX II

About the Author
Clive "Max" Maxfield is a member of the technical staff (MTS) at Intergraph Computer Systems, Huntsville, AL (www.intergraph.com/ics), where he gets to play with their high-performance 3D graphics workstations.

In addition to numerous technical articles and papers appearing in magazines and at technical conferences around the world. Max is the author of "Bebop to the Boolean Boogie (An Unconventional Guide to Electronics)" and "Designus Maxiums Unleashed (Banned in Alabama)", and is the co-author of the hugely popular "Bebop BYTES Back (An Unconventional Guide to Computers)."

According to his mother, Max is an expert in all aspects of electronics and computers. You can contact Max via his web pages at www.maxmon.com and www.epemag.com

 Max's mother is convinced he knows everything about electronics and computers :-)
Photo Courtesy of LLH Publications

Copyright © 1999 Clive "Max" Maxfield. All rights reserved.

return to the articles section...
.
 
   
home  |  articles  |  reviews  |  lifestyle  |  info  |  questions
 
 
All material is ©2000, The Art Institute of Los Angeles unless stated otherwise.