Upgrading and Repairing PCs, 3rd edition
Authors: Scott Mueller
Venue:  (1993)

From the Book:Chapter 3: Microprocessor Types and SpecificationsMicroprocessors The brain or engine of the PC is the processor (sometimes called microprocessor), or central processing unit (CPU). The CPU performs the system's calculating and processing. The processor is often the most expensive single component in the system; in higher-end systems it can cost up to four or more times more than the motherboard it plugs into. Intel is generally credited with creating the first microprocessor in 1971 with the introduction of a chip called the 4004. Today Intel still has control over the processor market, at least for PC systems. This means that all PC-compatible systems use either Intel processors or Intel-compatible processors from a handful of competitors (such as AMD or VIA/Cyrix). Intel's dominance in the processor market hadn't always been assured. Although Intel is generally credited with inventing the processor and introducing the first one on the market, by the late 1970s the two most popular processors for PCs were not from Intel (although one was a clone of an Intel processor). Personal computers of that time primarily used the Z-80 by Zilog and the 6502 by MOS Technologies. The Z-80 was noted for being an improved and less expensive clone of the Intel 8080 processor, similar to the way companies today such as AMD, Cyrix, IDT, and Rise Technologies have cloned Intel's Pentium processors. In that case, though, the clone had become more popular than the original. Some might argue that AMD has achieved that type of status over the past year, but even though they have made significant gains, Intel still runs the PC processor show. Back then I had a system containing both of thoseprocessors, consisting of a 1MHz (yes, that's 1, as in 1MHz!) 6502-based Apple main system with a Microsoft Softcard (Z-80 card) plugged into one of the slots. The Softcard contained a 2MHz Z-80 processor. This enabled me to run software for both types of processors on the one system. The Z-80 was used in systems of the late 1970s and early 1980s that ran the CP/M operating system, whereas the 6502 was best known for its use in the early Apple computers (before the Mac). The fate of both Intel and Microsoft was dramatically changed in 1981 when IBM introduced the IBM PC, which was based on a 4.77MHz Intel 8088 processor running the Microsoft Disk Operating System (MS-DOS) 1.0. Since that fateful decision was made, PC-compatible systems have used a string of Intel or Intel-compatible processors, with each new one capable of running the software of the processor before itfrom the 8088 to the current Pentium 4/III/Celeron and Athlon/Duron. The following sections cover the various types of processor chips that have been used in personal computers since the first PC was introduced almost two decades ago. These sections provide a great deal of technical detail about these chips and explain why one type of CPU chip can do more work than another in a given period of time. Pre-PC Microprocessor History It is interesting to note that the microprocessor had existed for only 10 years prior to the creation of the PC! The microprocessor was invented by Intel in 1971; the PC was created by IBM in 1981. Now nearly 20 years later, we are still using systems based more or less on the design of that first PC. The processors powering our PCs today are still backward compatible in many ways with the 8088 selected by IBM in 1981. The story of the development of the first microprocessor, the Intel 4004, can be read in Chapter 1, "Personal Computer Background." The 4004 processor was introduced on November 15, 1971, and originally ran at a clock speed of 108KHz (108,000 cycles per second, or just over one-tenth a megahertz). The 4004 contained 2,300 transistors and was built on a 10-micron process. This means that each line, trace, or transistor could be spaced about 10 microns (millionths of a meter) apart. Data was transferred 4 bits at a time, and the maximum addressable memory was only 640 bytes. The 4004 was designed for use in a calculator but proved to be useful for many other functions because of its inherent programmability. In April 1972, Intel released the 8008 processor, which originally ran at a clock speed of 200KHz (0.2MHz). The 8008 processor contained 3,500 transistors and was built on the same 10-micron process as the previous processor. The big change in the 8008 was that it had an 8-bit data bus, which meant it could move data 8 bits at a timetwice as much as the previous chip. It could also address more memory, up to 16KB. This chip was primarily used in dumb terminals and general-purpose calculators. The next chip in the lineup was the 8080, introduced in April 1974, running at a clock rate of 2MHz. Due mostly to the faster clock rate, the 8080 processor had 10 times the performance of the 8008. The 8080 chip contained 6,000 transistors and was built on a 6-micron process. Similar to the previous chip, the 8080 had an 8-bit data bus, so it could transfer 8 bits of data at a time. The 8080 could address up to 64KB of memory, significantly more than the previous chip. It was the 8080 that helped start the PC revolution because this was the processor chip used in what is generally regarded as the first personal computer, the Altair 8800. The CP/M operating system was written for the 8080 chip, and Microsoft was founded and delivered its first product: Microsoft BASIC for the Altair. These initial tools provided the foundation for a revolution in software because thousands of programs were written to run on this platform. In fact, the 8080 became so popular that it was cloned. A company called Zilog formed in late 1975, joined by several ex-Intel 8080 engineers. In July of 1976, it released the Z-80 processor, which was a vastly improved version of the 8080. It was not pin compatible but instead combined functions such as the memory interface and RAM refresh circuitry, which enabled cheaper and simpler systems to be designed. The Z-80 also incorporated a superset of 8080 instructions, meaning it could run all 8080 programs. It also included new instructions and new internal registers, so software designed for the Z-80 would not necessarily run on the older 8080. The Z-80 ran initially at 2.5MHz (later versions ran up to 10MHz) and contained 8,500 transistors. The Z-80 could access 64KB of memory. Radio Shack selected the Z-80 for the TRS-80 Model 1, its first PC. The chip also was the first to be used by many pioneering systems, including the Osborne and Kaypro machines. Other companies followed, and soon the Z-80 was the standard processor for systems running the CP/M operating system and the popular software of the day. Intel released the 8085, its followup to the 8080, in March of 1976. Even though it predated the Z-80 by several months, it never achieved the popularity of the Z-80 in personal computer systems. It was popular as an embedded controller, finding use in scales and other computerized equipment. The 8085 ran at 5MHz and contained 6,500 transistors. It was built on a 3-micron process and incorporated an 8-bit data bus. Along different architectural lines, MOS Technologies introduced the 6502 in 1976. This chip was designed by several ex-Motorola engineers who had worked on Motorola's first processor, the 6800. The 6502 was an 8-bit processor like the 8080, but it sold for around $25, whereas the 8080 cost about $300 when it was introduced. The price appealed to Steve Wozniak, who placed the chip in his Apple I and Apple II designs. The chip was also used in systems by Commodore and other system manufacturers. The 6502 and its successors were also used in computer games, including the original Nintendo Entertainment System (NES) among others. Motorola went on to create the 68000 series, which became the basis for the Apple Macintosh line of computers. Today those systems use the PowerPC chip, also by Motorola and a successor to the 68000 series. All these previous chips set the stage for the first PC chips. Intel introduced the 8086 in June 1978. The 8086 chip brought with it the original x86 instruction set that is still present on x86-compatible chips such as the Pentium 4. A dramatic improvement over the previous chips, the 8086 was a full 16-bit design with 16-bit internal registers and a 16-bit data bus. This meant that it could work on 16-bit numbers and data internally and also transfer 16 bits at a time in and out of the chip. The 8086 contained 29,000 transistors and initially ran at up to 5MHz. The chip also used 20-bit addressing, so it could directly address up to 1MB of memory. Although not directly backward compatible with the 8080, the 8086 instructions and language were very similar and enabled older programs to quickly be ported over to run. This later proved important to help jumpstart the PC software revolution with recycled CP/M (8080) software. Although the 8086 was a great chip, it was expensive at the time and more importantly required an expensive 16-bit support chip and board design. To help bring costs down, in 1979, Intel released a crippled version of the 8086 called the 8088. The 8088 processor used the same internal core as the 8086, had the same 16-bit registers, and could address the same 1MB of memory, but the external data bus was reduced to 8 bits. This enabled support chips from the older 8-bit 8085 to be used, and far less expensive boards and systems could be made. It is for these reasons that IBM chose the crippled chip, the 8088, for the first PC. This decision would affect history in several ways. The 8088 was fully software compatible with the 8086, so it could run 16-bit software. Also, because the instruction set was very similar to the previous 8085 and 8080, programs written for those older chips could be quickly and easily modified to run. This enabled a large library of programs to be quickly released for the IBM PC, thus helping it become a success. The overwhelming blockbuster success of the IBM PC left in its wake the legacy of requiring backward compatibility with it. To maintain the momentum, Intel has pretty much been forced to maintain backward compatibility with the 8088/8086 in most of the processors it has released since then. In some ways the success of the PC, and the Intel architecture it contains, has limited the growth of the personal computer. In other ways, however, its success has caused a huge number of programs, peripherals, and accessories to be developed and the PC to become a de facto standard in the industry. The original 8088 processor used in the first PC contained close to 30,000 transistors and ran at less than 5MHz. Intel introduced one version of the Pentium III Xeon with 2MB of on-die cache that has a whopping 140 million transistorsthe largest ever in a single processor chip. Intel has also released processors running at speeds of 2GHz and beyond, and AMD is not very far behind. And the progress doesn't stop there because, according to Moore's Law, processing speed and transistor counts are doubling every 1.52 years. Processor Specifications Many confusing specifications often are quoted in discussions of processors. The following sections discuss some of these specifications, including the data bus, address bus, and speed. The next section includes a table that lists the specifications of virtually all PC processors. Processors can be identified by two main parameters: how wide they are and how fast they are. The speed of a processor is a fairly simple concept. Speed is counted in megahertz (MHz) and gigahertz (GHz), which means millions and billions, respectively, of cycles per secondand faster is better! The width of a processor is a little more complicated to discuss because three main specifications in a processor are expressed in width. They are Internal registers Data input and output bus Memory address bus Systems below 16MHz usually had no cache memory at all. Starting with 16MHz systems, high-speed cache memory appeared on the motherboard because the main memory at the time could not run at 16MHz. Prior to the 486 processor, the cache on the motherboard was the only cache used in the system. Starting with the 486 series, processors began including what was called Level 1 (L1) cache directly on the processor die. Therefore, the L1 cache always ran at the full speed of the chip, especially important when the later 486 chips began to run at speeds higher than the motherboards they were plugged into. During this time the cache on the motherboard was called the second level, or L2, cache and ran at the slower motherboard speed. Starting with the Pentium Pro and Pentium II, Intel began including L2 cache memory chips directly within the same package as the main processor. Originally, this built-in L2 cache was implemented as physically separate chips contained within the processor package but not a part of the processor die. Because the speed of commercially available cache memory chips could not keep pace with the main processor, most of the L2 cache in these processors ran at one-half speed (Pentium II/III and AMD Athlon), whereas some ran the cache even slowerat two-fifths or even one-third the processor speed (AMD Athlon). The original Pentium II, III, Celeron, and Athlon (Model 1 and 2) processors use 512KB of either one-half, two-fifths, or one-third speed L2 cache, as Table 3.1 shows. Table 3.1 L2 Cache Speeds ProcessorSpeedL2 SizeL2 TypeL2 Speed Pentium III450600MHz512KBExternal1/2 core (225300MHz) Athlon550700MHz512KBExternal1/2 core (275350MHz) Athlon750850MHz512KBExternal2/5 core (300340MHz) Athlon9001000MHz512KBExternal1/3 core (300333MHz) The Pentium Pro, Pentium II/III Xeon, newer Pentium III, Celeron, K6-3, Athlon (Model 4, codenamed Thunderbird), and Duron processors include full-core speed L2, as shown in Table 3.2. Table 3.2 Full-Core Speed Cache ProcessorSpeedL2 SizeL2 TypeL2 Speed Pentium Pro150200MHz256KB1MBExternalFull core K6-3350450MHz256KBOn-dieFull core Duron550700+MHz64KBOn-dieFull core Celeron300600+MHz128KBOn-dieFull core Pentium II Xeon400450MHz512KB2MBExternalFull core Athlon6501000+MHz256KBOn-dieFull core Pentium III5001000+MHz256KBOn-dieFull core Pentium III Xeon5001000+MHz256KB2MBOn-dieFull core Pentium 41.32.0+GHz256KBOn-dieFull core Xeon1.42.0+GHz256KB1MBOn-dieFull core The problem originally forcing the L2 cache to run at less than the processor core speed was simple: The cache chips available on the market simply couldn't keep up. Intel built its own high-speed cache memory chips for the earlier Xeon processors, but it also made them very expensive. A breakthrough occurred in the second-generation Celeron, in which Intel built both the L1 and L2 caches directly on the processor die, where they both ran at the full-core speed of the chip. This type of design was then quickly adopted by the second-generation Pentium III, as well as the AMD K6-3, Athlon, and Duron processors. In fact, virtually all future processors from Intel and AMD have adopted or will adopt on-die L2 cache because it is the only cost-effective way to include the L2 and increase the speed. Table 3.3 lists the primary specifications for the Intel family of processors used in IBM and compatible PCs. Table 3.4 lists the Intel-compatible processors from AMD, Cyrix, NexGen, IDT, and Rise. Table 3.3 Intel Processor Specifications ProcessorCPU ClockVoltageInternal Register SizeData Bus WidthMax. MemoryLevel 1 CacheL1 Cache TypeLevel 2 CacheL2 Cache SpeedIntegral FPUMultimedia InstructionsNo. of TransistorsDate Introduced 80881x5v16-bit8-bit1MB29,000June '79 80861x5v16-bit16-bit1MB29,000June '78 2861x5v16-bit16-bit16MB134,000Feb. '82 386SX1x5v32-bit16-bit16MBBus275,000June '88 386SL1x3.3v32-bit16-bit16MB0KB1WTBus855,000Oct. '90 386DX1x5v32-bit32-bit4GBBus275,000Oct. '85 486SX1x5v32-bit32-bit4GB8KBWTBus1.185MApril '91 486SX22x5v32-bit32-bit4GB8KBWTBus1.185MApril '94 487SX1x5v32-bit32-bit4GB8KBWTBusYes1.2MApril '91 486DX1x5v32-bit32-bit4GB8KBWTBusYes1.2MApril '89 486SL21x3.3v32-bit32-bit4GB8KBWTBusOpt.1.4MNov. '92 486DX22x5v32-bit32-bit4GB8KBWTBusYes1.2MMarch '92 486DX42-3x3.3v32-bit32-bit4GB16KBWTBusYes1.6MFeb. '94 486Pentium OD2.5x5v32-bit32-bit4GB2x16KBWBBusYes3.1MJan. '95 Pentium 60/661x5v32-bit64-bit4GB2x8KBWBBusYes3.1MMarch '93 Pentium 75-2001.53x3.33.5v32-bit64-bit4GB2x8KBWBBusYes3.3MOct. '94 Pentium MMX1.54.5x1.82.8v32-bit64-bit4GB2x16KBWBBusYesMMX4.5MJan. '97 Pentium Pro23x3.3v32-bit64-bit64GB2x8KBWB256KB 512KB 1MBCoreYes5.5MNov. '95 Pentium II3.54.5x1.82.8v32-bit64-bit64GB2x16KBWB512KB_ CoreYesMMX7.5MMay '97 Pentium II PE3.56x1.6v32-bit64-bit64GB2x16KBWB256KBCore3YesMMX27.4MJan. '99 Celeron3.54.5x1.82.8v32-bit64-bit64GB2x16KBWB0KBYesMMX7.5MApril '98 Celeron A3.58x1.52v32-bit64-bit64GB2x16KBWB128KBCore3YesMMX19MAug. '98 Celeron III4.59x1.31.6v32-bit64-bit64GB2x16KBWB128KBCore3YesSSE28.1M4Feb. '00 Pentium III46x1.82v32-bit64-bit64GB2x16KBWB512KB_ CoreYesSSE9.5MFeb. '99 Pentium IIIE49x1.31.7v32-bit64-bit64GB2x16KBWB256KBCore3YesSSE28.1MOct. '99 Pentium II Xeon44.5x1.82.8v32-bit64-bit64GB2x16KBWB512KB 1MB 2MBCoreYesMMX7.5MApril '98 Pentium III Xeon56x1.82.8v32-bit64-bit64GB2x16KBWB512KB 1MB 2MBCoreYesSSE9.5MMarch '99 Pentium IIIE Xeon4.56.5x1.65v32-bit64-bit64GB2x16KBWB256KB 1MB 2MBCore3YesSSE28.1M 84M 140MOct. '99 May '00 Pentium 435x1.7v32-bit64-bit64GB12+8KBWB256KBCore3YesSSE242MNov. '00 Pentium 4 Xeon35x1.7v32-bit64-bit64GB12+8KBWB256KBCore3YesSSE242MMay '01 Itanium35x1.6v64-bit64-bit16TB2x16KBWB96KB5Core3YesMMX25MMay '01 Table 3.4 AMD, Cyrix, NexGen, IDT, and Rise Processors ProcessorCPU ClockVoltageInternal Register SizeData Bus WidthMax. MemoryLevel 1 CacheL1 Cache TypeLevel 2 CacheL2 Cache SpeedIntegral FPUMultimedia InstructionsNo. of TransistorsDate Introduced AMD K51.51.75x3.5v32-bit64-bit4GB16+8KBWBBusYes4.3MMarch '96 AMD K62.54.5x2.23.2v32-bit64-bit4GB2x32KBWBBusYesMMX8.8MApril '97 AMD K6-22.56x1.92.4v32-bit64-bit4GB2x32KBWBBusYes3DNow9.3MMay '98 AMD K6-33.54.5x1.82.4v32-bit64-bit4GB2x32KBWB256KBCore3Yes3DNow21.3MFeb. '99 AMD Athlon510x1.61.8v32-bit64-bit8TB2x64KBWB512KB1/21/3 coreYesEnh. 3DNow22MJun. '99 AMD Duron510x1.51.8v32-bit64-bit8TB2x64KBWB64KBCore3YesEnh. 3DNow25MJune '00 AMD Athlon 4510x1.51.8v32-bit64-bit8TB2x64KBWB256KBCore3YesEnh. 3DNow37MJune '00 Cyrix 6x862x2.53.5v32-bit64-bit4GB16KBWBBusYes3MFeb. '96 Cyrix 6x86MX/MII23.5x2.22.9v32-bit64-bit4GB64KBWBBusYesMMX6.5MMay '97 Cyrix III2.57x2.2v32-bit64-bit4GB64KBWB256KBCore3Yes3Dnow22MFeb. '00 NexGen Nx5862x4v32-bit64-bit4GB2x16KBWBBusYes3.5MMarch '94 IDT Winchip34x3.33.5v32-bit64-bit4GB2x32KBWBBusYesMMX5.4MOct. '97 IDT Winchip2/2A2.334x3.33.5v32-bit64-bit4GB2x32KBWBBusYes3Dnow5.9MSept. '98 Rise mP623.5x2.8v32-bit64-bit4GB2x8KBWBBusYesMMX3.6MOct. '98 FPU = Floating-Point unit (internal math coprocessor) WT = Write-Through cache (caches reads only) WB = Write-Back cache (caches both reads and writes) M = Millions Bus = Processor external bus speed (motherboard speed) Core = Processor internal core speed (CPU speed) MMX = Multimedia extensions, 57 additional instructions for graphics and sound processing 3DNow = MMX plus 21 additional instructions for graphics and sound processing Enh. 3DNow = 3DNow plus 24 additional instructions for graphics and sound processing SSE = Streaming SIMD (single instruction multiple data) Extensions, MMX plus 70 additional instructions for graphics and sound processing SSE2 = Streaming SIMD Extensions 2, SSE plus 144 additional instructions for graphics and sound processing 1. The 386SL contains an integral-cache controller, but the cache memory must be provided outside the chip. 2. Intel later marketed SL Enhanced versions of the SX, DX, and DX2 processors. These processors were available in both 5v and 3.3v versions and included power-management capabilities. 3. On-die integrated L2 cacheruns at full-core speed. 4. 128KB functional L2 cache (256KB total, 128KB disabled); uses same die as Pentium IIIE. 5. The Itanium also includes an additional 2MB (150M transistors) or 4MB (300M transistors) of integrated on-cartridge L3 cache running at full core speed. Note Note in Table 3.3 that the Pentium Pro processor includes 256KB, 512KB, or 1MB of full-core speed L2 cache in a separate die within the chip. The Pentium II/III processors include 512KB of half-core speed L2 cache on the processor card. The Celeron, Pentium II PE, and Pentium IIIE processors include full-core speed L2 cache integrated directly within the processor die. The Celeron III uses the same die as the Pentium IIIE, but half of the on-die cache is disabled, leaving 128KB functional. The transistor count figures do not include the external (off-die) 256KB, 512KB, 1MB, or 2MB L2 cache built into the Pentium Pro, Pentium II/III, Xeon, and AMD Athlon CPU packages, or the 2MB or 4MB of L3 cache in the Itanium. The external L2 cache in those processors contains an additional 15.5 (256KB), 31 (512KB), 62 million (1MB), or 124 million (2MB) transistors in separate chips, whereas the external 2MB or 4MB of L3 cache in the Itanium includes up to 300 million transistors! Note in Table 3.4 that the Athlon includes either 512KB of L2 cache via separate chips, running at either one-half, two-fifths, or one-third the core speed, or 256KB of on-die L2 running at full-core speed, depending on which version you have. Processor Speed Ratings A common misunderstanding about processors is their different speed ratings. This section covers processor speed in general and then provides more specific information about Intel processors. A computer system's clock speed is measured as a frequency, usually expressed as a number of cycles per second. A crystal oscillator controls clock speeds using a sliver of quartz sometimes contained in what looks like a small tin container. Newer systems include the oscillator circuitry in the motherboard chipset, so it might not be a visible separate component on newer boards. As voltage is applied to the quartz, it begins to vibrate (oscillate) at a harmonic rate dictated by the shape and size of the crystal (sliver). The oscillations emanate from the crystal in the form of a current that alternates at the harmonic rate of the crystal. This alternating current is the clock signal that forms the time base on which the computer operates. A typical computer system runs millions of these cycles per second, so speed is measured in megahertz. (One hertz is equal to one cycle per second.) An alternating current signal is like a sine wave, with the time between the peaks of each wave defining the frequency (see Figure 3.1). Figure 3.1 Alternating current signal showing clock cycle timing. Note The hertz was named for the German physicist Heinrich Rudolf Hertz. In 1885, Hertz confirmed the electromagnetic theory, which states that light is a form of electromagnetic radiation and is propagated as waves. A single cycle is the smallest element of time for the processor. Every action requires at least one cycle and usually multiple cycles. To transfer data to and from memory, for example, a modern processor such as the Pentium III needs a minimum of three cycles to set up the first memory transfer and then only a single cycle per transfer for the next three to six consecutive transfers. The extra cycles on the first transfer typically are called wait states. A wait state is a clock tick in which nothing happens. This ensures that the processor isn't getting ahead of the rest of the computer. See "SIMMs, DIMMs, and RIMMs." The time required to execute instructions also varies: 8086 and 8088. The original 8086 and 8088 processors take an average of 12 cycles to execute a single instruction. 286 and 386. The 286 and 386 processors improve this rate to about 4.5 cycles per instruction. 486. The 486 and most other fourth-generation Intel-compatible processors, such as the AMD 5x86, drop the rate further, to about 2 cycles per instruction. Pentium, K6 series. The Pentium architecture and other fifth-generation Intel-compatible processors, such as those from AMD and Cyrix, include twin instruction pipelines and other improvements that provide for operation at one or two instructions per cycle. Pentium Pro, Pentium II/III/Celeron, and Athlon/Duron. These P6 class processors, as well as other sixth-generation processors such as those from AMD and Cyrix, can execute as many as three or more instructions per cycle. Different instruction execution times (in cycles) make comparing systems based purely on clock speed or number of cycles per second difficult. How can two processors that run at the same clock rate perform differently with one running "faster" than the other? The answer is simple: efficiency. The main reason the 486 was considered fast relative to a 386 is that it executes twice as many instructions in the same number of cycles. The same thing is true for a Pentium; it executes about twice as many instructions in a given number of cycles as a 486. Therefore, given the same clock speed, a Pentium is twice as fast as a 486, and consequently a 133MHz 486 class processor (such as the AMD 5x86-133) is not even as fast as a 75MHz Pentium! That is because Pentium megahertz are "worth" about double what 486 megahertz are worth in terms of instructions completed per cycle. The Pentium II and III are about 50% faster than an equivalent Pentium at a given clock speed because they can execute about that many more instructions in the same number of cycles. Comparing relative processor performance, you can see that a 1GHz Pentium III is about equal to a (theoretical) 1.5GHz Pentium, which is about equal to a 3GHz 486, which is about equal to a 6GHz 386 or 286, which is about equal to a 12GHz 8088. The original PC's 8088 ran at only 4.77MHz; today, we have systems that are comparatively at least 2,500 times faster! As you can see, you must be careful in comparing systems based on pure MHz alone because many other factors affect system performance. Evaluating CPU performance can be tricky. CPUs with different internal architectures do things differently and can be relatively faster at certain things and slower at others. To fairly compare various CPUs at different clock speeds, Intel has devised a specific series of benchmarks called the iCOMP (Intel Comparative Microprocessor Performance) index that can be run against processors to produce a relative gauge of performance. The iCOMP index benchmark has been updated twice and released in original iCOMP, iCOMP 2.0, and now iCOMP 3.0 versions. More information on benchmarks, including iCOMP, can be found on Intel's site at http://developer.intel.com/procs/perf/resources/spectrum.htm. Table 3.5 shows the relative power, or iCOMP 2.0 index, for several processors. Note Note that this reflects the most recent iCOMP index. Intel is designing new benchmarks that will show the power of the newer Pentium 4 and Itanium processor when running software optimized for their internal architectures. Table 3.5 Intel iCOMP 2.0 Index Ratings ProcessoriCOMP 2.0 IndexProcessoriCOMP 2.0 Index Pentium 7567Pentium Pro 200220 Pentium 10090Celeron 300226 Pentium 120100Pentium II 233267 Pentium 133111Celeron 300A296 Pentium 150114Pentium II 266303 Pentium 166127Celeron 333318 Pentium 200142Pentium II 300332 Pentium-MMX 166160Pentium II Overdrive 300351 Pentium Pro 150168Pentium II 333366 Pentium-MMX 200182Pentium II 350386 Pentium Pro 180197Pentium II Overdrive 333387 Pentium-MMX 233203Pentium II 400440 Celeron 266213Pentium II 450483 The iCOMP 2.0 index is derived from several independent benchmarks and is a stable indication of relative processor performance. The benchmarks balance integer with floating-point and multimedia performance. Recently, Intel discontinued the iCOMP 2.0 index and released the iCOMP 3.0 index. iCOMP 3.0 is an updated benchmark that incorporates an increasing use of 3D, multimedia, and Internet technology and software, as well as the increasing use of rich data streams and compute-intensive applications, including 3D, multimedia, and Internet technology. iCOMP 3.0 combines six benchmarks: WinTune 98 Advanced CPU Integer test, CPUmark 99, 3D WinBench 99-3D Lighting and Transformation Test, MultimediaMark 99, Jmark 2.0 Processor Test, and WinBench 99-FPU WinMark. These newer benchmarks take advantage of the SSE (Streaming SIMD Extensions), additional graphics and sound instructions built into the PIII. Without taking advantage of these new instructions, the PIII would benchmark at about the same speed as a PII at the same clock rate. Table 3.6 shows the iCOMP Index 3.0 ratings for Pentium II and III processors. Table 3.6 Intel iCOMP 3.0 Ratings ProcessoriCOMP 3.0 IndexProcessoriCOMP 3.0 Index Pentium II 3501000Pentium III 6502270 Pentium II 4501240Pentium III 7002420 Pentium III 4501500Pentium III 7502540 Pentium III 5001650Pentium III 8002690 Pentium III 5501780Pentium III 8662890 Pentium III 6001930Pentium III 10003280 Pentium III 600E2110 Considerations When Interpreting iCOMP Scores Each processor's rating is calculated at the time the processor is introduced, using a particular, well-configured, commercially available system. Relative iCOMP index 3.0 scores and actual system performance might be affected by future changes in software design and configuration. Relative scores and actual system performance also can be affected by differences in components or characteristics of microprocessors, such as L2 cache, bus speed, extended multimedia or graphics instructions, or improvements in the microprocessor manufacturing process. Differences in hardware components other than microprocessors used in the test systems also can affect how iCOMP scores relate to actual system performance. iCOMP 3.0 ratings cannot be compared with earlier versions of the iCOMP index because different benchmarks and weightings are used in calculating the result. Processor Speeds and Markings Versus Motherboard Speed Another confusing factor when comparing processor performance is that virtually all modern processors since the 486DX2 run at some multiple of the motherboard speed. For example, a Celeron 600 runs at a multiple of nine times the motherboard speed of 66MHz, whereas a Pentium III 1GHz runs at 7 1/2 times the motherboard speed of 133MHz. Up until early 1998, most motherboards ran at 66MHz or less because that is all Intel supported with its processo...