#
Upgrading & Repairing PCs Eighth Edition

#

# - 6 -

# Microprocessor Types and Specifications

- Processor Specifications
  - Data Bus
  - Internal Registers
  - Address Bus
  - Processor Speed Ratings
- Intel Processors
  - 8088 and 8086 Processors
  - 80186 and 80188 Processors
  - 286 Processors
  - 386 Processors
  - 386DX Processors
  - 386SX Processors
  - 386SL Processors
  - 486 Processors
  - OverDrive Processors and Sockets
  - Pentium
  - Pentium Pro Processor
  - Pentium II
- Intel-Compatible Processors
  - AMD Processors
  - Cyrix
- Math Coprocessors
  - 8087 Coprocessor
  - 80287 Coprocessor
  - 80387 Coprocessor
  - Weitek Coprocessors
  - 80487 Upgrade
- Processor Tests
  - Known Defective Chips
  - Pentium Processor Models and Steppings
  - Other Processor Problems
  - Heating and Cooling Problems

#

The brain of the PC is the processor, or Central Processing Unit (CPU). The CPU performs the system's calculating and processing--except for special math-intensive processing in systems that have a math coprocessing unit chip. The processor is easily the most expensive chip in the system. All the PC-compatibles use processors that are compatible with the Intel family of chips, although the processors themselves may have been manufactured or designed by various companies, including AMD, IBM, Cyrix, and others.

The following sections cover the 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. First, however, you learn about two important components of the processor: the data bus and the address bus.

## 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.

### Data Bus

One of the most common ways to describe a processor is by the size of the processor's data bus and address bus. A bus is simply a series of connections that carry common signals. Imagine running a pair of wires from one end of a building to another. If you connect a 110v AC power generator to the two wires at any point and place outlets at convenient locations along the wires, you have constructed a power bus. No matter which outlet you plug the wires into, you have access to the same signal, which in this example is 110v AC power.

Any transmission medium that has more than one outlet at each end can be called a bus. A typical computer system has several buses, and a typical processor has two important buses for carrying data and memory--addressing information: the data bus and the address bus.

The processor bus discussed most often is the data bus--the bundle of wires (or pins) used to send and receive data. The more signals that can be sent at the same time, the more data can be transmitted in a specified interval and, therefore, the faster the bus.

Data in a computer is sent as digital information consisting of a time interval in which a single wire carries 5v to signal a 1 data bit, or 0v to signal a 0 data bit. The more wires you have, the more individual bits you can send in the same time interval. A chip such as the 286, which has 16 wires for transmitting and receiving such data, has a 16-bit data bus. A 32-bit chip, such as the 486, has twice as many wires dedicated to simultaneous data transmission as a 16-bit chip and can send twice as much information in the same time interval as a 16-bit chip.

A good way to understand this flow of information is to consider a highway and the traffic it carries. If a highway has only one lane for each direction of travel, only one car at a time can move in a certain direction. If you want to increase traffic flow, you can add another lane so that twice as many cars pass in a specified time. You can think of an 8-bit chip as being a single-lane highway because with this chip, one byte flows through at a time. (One byte equals eight individual bits.) The 16-bit chip, with two bytes flowing at a time, resembles a two-lane highway. To move a large number of automobiles, you may have four lanes in each direction. This structure corresponds to a 32-bit data bus, which has the capability to move four bytes of information at a time.

Just as you can describe a highway by its lane width, you can describe a chip by the width of its data bus. When you read an advertisement that describes a computer system as being a 16-bit or 32-bit system, the ad usually is referring to the data bus of the CPU. This number provides a rough idea of the performance potential of the chip (and, therefore, the system).

Table 6.1 lists the specifications, including the data-bus sizes, for the Intel family of processors used in IBM and compatible PCs.

#### Table 6.1 Intel Processor Specifications

####

Processor | CPU Clock | Std. Voltage | Internal Register Size | Data-Bus Width | Address-Bus Width | Maximum Memory | Integral Cache | Cache Type | Burst Mode | Integral FPU | No. of Transistors | Date Introduced
8088 | 1x | 5v | 16-bit | 8-bit | 20-bit | 1M | No | - | No | No | 29,000 | June '79
8086 | 1x | 5v | 16-bit | 16-bit | 20-bit | 1M | No | - | No | No | 29,000 | June '78
286 | 1x | 5v | 16-bit | 16-bit | 24-bit | 16M | No | - | No | No | 134,000 | Feb. '82
386SX | 1x | 5v | 32-bit | 16-bit | 24-bit | 16M | No | - | No | No | 275,000 | June '88
386SL | 1x | 3.3v | 32-bit | 16-bit | 24-bit | 16M | 0K* | WT | No | No | 855,000 | Oct. '90
386DX | 1x | 5v | 32-bit | 32-bit | 32-bit | 4G | No | - | No | No | 275,000 | Oct. '85
486SX | 1x | 5v | 32-bit | 32-bit | 32-bit | 4G | 8K | WT | Yes | No | 1,185,000 | April '91
486SX2 | 2x | 5v | 32-bit | 32-bit | 32-bit | 4G | 8K | WT | Yes | No | 1,185,000 | April '94
487SX | 1x | 5v | 32-bit | 32-bit | 32-bit | 4G | 8K | WT | Yes | Yes | 1,200,000 | April '91
486DX | 1x | 5v | 32-bit | 32-bit | 32-bit | 4G | 8K | WT | Yes | Yes | 1,200,000 | April '89
486SL** | 1x | 3.3v | 32-bit | 32-bit | 32-bit | 4G | 8K | WT | Yes | Optional | 1,400,000 | Nov. '92
486DX2 | 2x | 5v | 32-bit | 32-bit | 32-bit | 4G | 8K | WT | Yes | Yes | 1,100,000 | March '92
486DX4 | 2-3x | 3.3v | 32-bit | 32-bit | 32-bit | 4G | 16K | WT | Yes | Yes | 1,600,000 | Feb. '94
Pentium OD | 2.5x | 5v | 32-bit | 32-bit | 32-bit | 4G | 2x16K | WB | Yes | Yes | 3,100,000 | Jan. '95
Pentium 60/66 | 1x | 5v | 32-bit | 64-bit | 32-bit | 4G | 2x8K | WB | Yes | Yes | 3,100,000 | March '93
Pentium 75+ | 1.5-3x | 3.3v*** | 32-bit | 64-bit | 32-bit | 4G | 2x8K | WB | Yes | Yes | 3,300,000 | March '94
Pentium Pro | 2-3x | 2.9v | 32-bit | 64-bit | 36-bit | 64G | 2x8K | WB | Yes | Yes | 5,500,000 | Sept. '95

The 386SL contains an integral-cache controller, but the cache memory must be provided outside the chip.
**There are several different voltage variations of Pentium processors, including what Intel calls VRE (3.465v), and VR (3.3v).
***These figures do not include the optional 256K or 512K Level 2 cache built-in to the CPU packages. The L2 cache contains an additional 15.5 million or 31 million transistors!
FPU = Floating-Point Unit (math coprocessor)
WT = Write-Through cache (caches reads only)
WB = Write-Back cache (caches both reads and writes)
Note that the Pentium Pro processor includes 256K of L2 cache in a separate die within the chip.

### Internal Registers

The size of the internal register is a good indication of how much information the processor can operate on at one time. Most advanced processors today--all the chips from the 386 to the Pentium--use 32-bit internal registers.

Some processors have an internal data bus (made up of data paths and of storage units called registers) that is different from the external data bus. The 8088 and 386SX are examples of this structure. Each chip has an internal data bus twice the width of the external bus. These designs, which sometimes are called hybrid designs, usually are low-cost versions of a "pure" chip. The 386SX, for example, can pass data around internally with a full 32-bit register size; for communications with the outside world, however, the chip is restricted to a 16-bit-wide data path. This design enables a systems designer to build a lower-cost motherboard with a 16-bit bus design and still maintain compatibility with the full 32-bit 386.

Internal registers often are larger than the data bus, which means that the chip requires two cycles to fill a register before the register can be operated on. For example, both the 386SX and 386DX have internal 32-bit registers, but the 386SX has to "inhale" twice (figuratively) to fill them, whereas the 386DX can do the job in one "breath." The same thing would happen when the data is passed from the registers back out to the system bus.

The Pentium is an example of the opposite situation. This chip has a 64-bit data bus but only 32-bit registers--a structure that may seem to be a problem until you understand that the Pentium has two internal 32-bit pipelines for processing information. In many ways, the Pentium is like two 32-bit chips in one. The 64-bit data bus provides for very efficient filling of these multiple registers.

### Address Bus

The address bus is the set of wires that carry the addressing information used to describe the memory location to which the data is being sent, or from which the data is being retrieved. As with the data bus, each wire in an address bus carries a single bit of information. This single bit is a single digit in the address. The more wires (digits) used in calculating these addresses, the greater the total number of address locations. The size (or width) of the address bus indicates the maximum amount of RAM that a chip can address.

The highway analogy can be used to show how the address bus fits in. If the data bus is the highway, and if the size of the data bus is equivalent to the number of lanes, the address bus relates to the house number or street address. The size of the address bus is equivalent to the number of digits in the house address number. For example, if you live on a street in which the address is limited to a two-digit (base 10) number, no more than 100 distinct addresses (00 to 99) can exist for that street (10 to the power of 2). Add another digit, and the number of available addresses increases to 1,000 (000 to 999), or 10 to the third power.

Computers use the binary (base 2) numbering system, so a two-digit number provides only four unique addresses (00, 01, 10, and 11) calculated as 2 to the power of 2; and a three-digit number provides only eight addresses (000 to 111) which is 2 to the 3rd power. For example, the 8086 and 8088 processors use a 20-bit address bus that calculates as a maximum of 2 to the 20th power or 1,048,576 bytes (1M) of address locations. Table 6.2 describes the memory-addressing capabilities of Intel processors.

#### Table 6.2 Intel Processor Memory-Addressing Capabilities

Processor Family | Address Bus | Bytes | Kilobytes | Megabytes | Gigabytes
8088/8086 | 20-bit | 1,048,576 | 1,024 | 1 | none
286/386SX | 24-bit | 16,777,216 | 16,384 | 16 | none
386DX-Pentium Pro | 32-bit | 4,294,967,296 | 4,194,304 | 4,096 | 4
Pentium II | 36-bit | 68,719,476,736 | 67,108,864 | 65,536 | 64

The data bus and address bus are independent, and chip designers can use whatever size they want for each. Usually, however, chips with larger data buses have larger address buses. The sizes of the buses can provide important information about a chip's relative power, measured in two important ways. The size of the data bus is an indication of the information-moving capability of the chip, and the size of the address bus tells you how much memory the chip can handle.

### 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 in a small tin container. 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. A typical computer system runs millions of these cycles per second, so speed is measured in megahertz (MHz). (One hertz is equal to one cycle per second.)

> NOTE: The hertz was named for the German physicist Heinrich Rudolph Hertz. In 1885, Hertz confirmed through experimentation 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, an 8086 chip needs four cycles plus wait states. (A wait state is a clock tick in which nothing happens to ensure that the processor isn't getting ahead of the rest of the computer.) A 286 needs only two cycles plus any wait states for the same transfer.

The time required to execute instructions also varies. The original 8086 and 8088 processors take an average of 12 cycles to execute a single instruction. The 286 and 386 processors improve this rate to about 4.5 cycles per instruction; the 486 drops the rate further to two cycles per instruction. The Pentium includes twin instruction pipelines and other improvements that provide for operation at 1 cycle per average instruction.

Different instruction execution times (in cycles) make it difficult to compare systems based purely on clock speed, or number of cycles per second. One reason the 486 is so fast is that it has an average instruction-execution time of 2 clock cycles. Therefore, a 100MHz Pentium is about equal to a 200MHz 486, which is about equal to a 400MHz 386 or 286, which is about equal to a 1,000MHz 8088. As you can see, you have to be careful in comparing systems based on pure MHz alone; many other factors affect system performance.

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.

Intel has devised a specific series of benchmarks that can be run against Intel chips to produce a relative gauge of performance. It has recently been updated to reflect performance on 32-bit systems, and is called the iCOMP 2.0 (intel COmparative Microprocessor Performance) index. Table 6.3 shows the relative power, or iCOMP 2.0 index, for several processors.

#### Table 6.3 Intel iCOMP 2.0 Index Ratings

Processor | iCOMP 2.0 Index
Pentium 75 | 67
Pentium 100 | 90
Pentium 120 | 100
Pentium 133 | 111
Pentium 150 | 114
Pentium 166 | 127
Pentium 200 | 142
Pentium-MMX 166 | 160
Pentium-MMX 200 | 182
Pentium-MMX 233 | 203
Pentium Pro 180 | 197
Pentium Pro 200 | 220
Pentium II 233 | 267
Pentium II 266 | 303
Pentium II 300 | N/A*

* As of this writing, the Pentium II 300 has not yet been rated. 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.

Modern systems use a variable frequency synthesizer circuit usually found in the main motherboard chipset to control the motherboard speed and CPU speed. Most Pentium motherboards will have 3 or 4 speed settings. The processors used today are available in a variety of versions that run at different frequencies based on a given motherboard speed. For example, most of the Pentium chips run at a speed that is some multiple of the true motherboard speed. For example, Pentium processors and motherboards run at the speeds shown in Table 6.4.

#### Table 6.4 Intel Processor and Motherboard Speeds

CPU Type/Speed | CPU Clock | Motherboard Speed
Pentium 60 | 1x | 60
Pentium 66 | 1x | 66
Pentium 75 | 1.5x | 50
Pentium 90 | 1.5x | 60
Pentium 100 | 1.5x | 66
Pentium 120 | 2x | 60
Pentium 133 | 2x | 66
Pentium 150 | 2.5x | 60
Pentium/Pentium Pro/MMX 166 | 2.5x | 66
Pentium/Pentium Pro 180 | 3x | 60
Pentium/Pentium Pro/MMX 200 | 3x | 66
Pentium-MMX/Pentium II 233 | 3.5x | 66
Pentium II 266 | 4x | 66
Pentium II 300 | 4.5x | 66

If all other variables are equal--including the type of processor, the number of wait states (empty cycles) added to different types of memory accesses, and the width of the data bus--you can compare two systems by their respective clock rates. However, the construction and design of the memory subsystem can have an enormous effect on a system's final execution speed.

In building a processor, a manufacturer tests it at different speeds, temperatures, and pressures. After the processor is tested, it receives a stamp indicating the maximum safe speed at which the unit will operate under the wide variation of temperatures and pressures encountered in normal operation. The rating system usually is simple. For example, the top of the processor in one of my systems is marked like this: A80486DX2-66 The A is Intel's indicator that this chip has a Ceramic Pin Grid Array form factor, or an indication of the physical packaging of the chip. The 80486DX2 is the part number, which identifies this processor as a clock-doubled 486DX processor. The -66 at the end indicates that this chip is rated to run at a maximum speed of 66MHz. Because of the clock doubling, the maximum motherboard speed is 33MHz. This chip would be acceptable for any application in which the chip runs at 66MHz or slower. For example, you could use this processor in a system with a 25MHz motherboard, in which case the processor would happily run at 50MHz.

Most 486 motherboards also have a 40MHz setting, in which case the DX2 would run at 80MHz internally. Because this is 14MHz beyond its rated speed, many would not work; or if they worked at all, it would only be for a short time. On the other hand, I have found that most of the newer chips marked with -66 ratings seem to run fine (albeit somewhat hotter!) at the 40/80MHz settings. This is called overclocking, and can end up being a simple, cost-effective way to speed up your system. However, I would not recommend this for mission-critical applications where the system reliability is of the utmost importance, because a system pushed beyond specification like this can often exhibit erratic behavior under stress.

One good source of online overclocking information is located at

http://www.sysopt.com/overc.html

It includes, among other things, fairly thorough overclocking FAQs, and an ongoing survey of users that have successfully (and sometimes unsuccessfully) overclocked their CPUs.

Sometimes, however, the markings don't seem to indicate the speed directly. In the older 8086, for example, -3 translates to 6MHz operation. This marking scheme is more common in some of the older chips manufactured before some of the marking standards used today were standardized.

A manufacturer sometimes places the CPU under a heat sink, which prevents you from reading the rating printed on the chip. (A heat sink is a metal device that draws heat away from an electronic device.) Most of the processors running at 50MHz and higher should have a heat sink installed to prevent the processor from overheating.

## Intel Processors

PC-compatible computers use processors manufactured primarily by Intel. Some other companies, such as Cyrix and AMD, have reverse-engineered the Intel processors and made their own compatible versions. IBM also manufactures processors for some of its own systems as well as for installation in boards and modules sold to others. The x86 series of IBM microprocessors was developed in conjunction with Cyrix, and is essentially identical to that company's popular 6x86 units.

Knowing the processors used in a system can be very helpful in understanding the capabilities of the system, as well as in servicing it. To fully understand the capabilities of a system and perform any type of servicing, you must know at least the type of processor that the system uses.

### 8088 and 8086 Processors

The original IBM PC used an Intel CPU chip called the 8088. The original 8088 CPU chip ran at 4.77MHz, which means that the computer's circuitry drove the CPU at a rate of 4,770,000 ticks, or computer heartbeats, per second. Each tick represents a small amount of work--the CPU executing an instruction or part of an instruction--rather than a period of elapsed time.

Computer users sometimes wonder why a 640K conventional-memory barrier exists if the 8088 chip can address 1M of memory. The conventional-memory barrier exists because IBM reserved 384K of the upper portion of the 1,024K (1M) address space of the 8088 for use by adapter cards and system BIOS (a computer program permanently "burned into" the ROM chips in the PC). The lower 640K is the conventional memory in which DOS and software applications execute.

In 1976, before the 8088 chip, Intel made a slightly faster chip named the 8086. The 8086, which was one of the first 16-bit chips on the market, addressed 1M of RAM. The design failed to catch on, however, because both the chip and a motherboard designed for the chip were costly. The cost was high because the system needed a 16-bit data bus rather than the less expensive 8-bit bus. Systems available at that time were 8-bit, and users apparently weren't willing to pay for the extra performance of the full 16-bit design. Therefore, Intel introduced the 8088 in 1978. Both the 8086 and the 8088 CPU chips are quite slow by today's standards.

### 80186 and 80188 Processors

After Intel produced the 8086 and 8088 chips, it turned its sights toward producing a more powerful chip with an increased instruction set. The company's first efforts along this line--the 80186 and 80188--were unsuccessful. But incorporating system components into the CPU chip was an important idea for Intel, because it led to faster, better chips, such as the 286.

The relationship between the 80186 and 80188 is the same as that of the 8086 and 8088; one is a slightly more advanced version of the other. Compared CPU to CPU, the 80186 is almost the same as the 8088 and has a full 16-bit design. The 80188 (like the 8088) is a hybrid chip that compromises the 16-bit design with an 8-bit external communications interface. The advantage of the 80186 and 80188 is that they combine on a single chip 15 to 20 of the 8086-8088 series system components, a fact that can greatly reduce the number of components in a computer design. The 80186 and 80188 chips are used for highly intelligent peripheral adapter cards, such as network adapters.

### 286 Processors

The Intel 80286 (normally abbreviated as 286) processor did not suffer from the compatibility problems that damned the 80186 and 80188. The 286 chip, introduced in 1981, is the CPU behind the IBM AT. Other computer makers manufactured what came to be known as IBM clones, many of these manufacturers calling their systems AT-compatible or AT-class computers.

When IBM developed the AT, it selected the 286 as the basis for the new system because the chip provided compatibility with the 8088 used in the PC and the XT, which means that software written for those chips should run on the 286. The 286 chip is many times faster than the 8088 used in the XT, and it offered a major performance boost to PCs used in businesses. The processing speed, or throughput, of the original AT (which ran at 6 MHz) was five times greater than that of the PC running at 4.77 MHz.

For several reasons, 286 systems are faster than their predecessors. The main reason is that 286 processors are much more efficient in executing instructions. An average instruction takes 12 clock cycles on the 8086 or 8088, but an average 4.5 cycles on the 286 processor. Additionally, the 286 chip can handle up to 16 bits of data at a time through an external data bus twice the size of the 8088.

The 286 chip has two modes of operation: real mode and protected mode. The two modes are distinct enough to make the 286 resemble two chips in one. In real mode, a 286 acts essentially the same as an 8086 chip and is fully object-code compatible with the 8086 and 8088. (A processor with object-code compatibility can run programs written for another processor without modification and execute every system instruction in the same manner.)

In the protected mode of operation, the 286 was truly something new. In this mode, a program designed to take advantage of the chip's capabilities believes that it has access to 1G of memory (including virtual memory). The 286 chip, however, can address only 16M of hardware memory. A significant failing of the 286 chip is that it cannot switch from protected mode to real mode without a hardware reset (a warm reboot) of the system. (It can, however, switch from real mode to protected mode without a reset.) A major improvement of the 386 over the 286 is that software can switch the 386 from real mode to protected mode, and vice versa.

Only a small amount of software that took advantage of the 286 chip was sold until Windows 3.0 offered Standard Mode for 286 compatibility; and by that time, the hottest-selling chip was the 386. Still, the 286 was Intel's first attempt to produce a CPU chip that supported multitasking, in which multiple programs run at the same time. The 286 is designed so that if one program locks up or fails, the entire system doesn't need a warm boot (reset) or cold boot (power off or on). Theoretically, what happens in one area of memory doesn't affect other programs. Before multitasked programs are "safe" from one another, however, the 286 chip (and subsequent chips) needs an operating system that works cooperatively with the chip to provide such protection.

### 386 Processors

The Intel 80386 (normally abbreviated as 386) caused quite a stir in the PC industry because of the vastly improved performance that it brought to the personal computer. Compared with 8088 and 286 systems, the 386 chip offers greater performance in almost all areas of operation.

The 386 is a full 32-bit processor optimized for high-speed operation and multitasking operating systems. Intel introduced the chip in 1985, but the 386 appeared in the first systems in late 1986 and early 1987. The Compaq Deskpro 386 and systems made by several other manufacturers introduced the chip; somewhat later, IBM used the chip in its PS/2 Model 80. For several years, the 386 chip rose in popularity, which peaked around 1991. Since then, the popularity of the 386 has waned to the point that it is virtually nonexistent on the market today.

The 386 can execute the real-mode instructions of an 8086 or 8088, but in fewer clock cycles. The 386 was as efficient as the 286 in executing instructions, which means that the average instruction takes about 4.5 clock cycles. In raw performance, therefore, the 286 and 386 actually seemed to be about at equal clock rates. Many 286 system manufacturers were touting their 16MHz and 20 MHz 286 systems as being just as fast as 16MHz and 20MHz 386 systems, and they were right! The 386 offered greater performance in other ways, mainly due to additional software capability (modes) and a greatly enhanced Memory Management Unit (MMU).

The 386 can switch to and from protected mode under software control without a system reset, a capability that makes using protected mode more practical. In addition, the 386 has a new mode, called virtual real mode, which enables several real-mode sessions to run simultaneously under protected mode.

Other than raw speed, probably the most important feature of this chip is its available modes of operation, which are:

- Real mode
- Protected mode
- Virtual real mode (sometimes called virtual 86 mode)

Real mode on a 386 chip, as on a 286 chip, is 8086-compatible mode. In real mode, the 386 essentially is a much faster "turbo PC" with 640K of conventional memory, just like systems based on the 8088 chip. DOS and any software written to run under DOS requires this mode to run.

The protected mode of the 386 is fully compatible with the protected mode of the 286. The protected mode for both chips often is called their native mode of operation, because these chips are designed for advanced operating systems such as OS/2 and Windows NT, which run only in protected mode. Intel extended the memory-addressing capabilities of 386 protected mode with a new MMU that provides advanced memory paging and program switching. These features are extensions of the 286 type of MMU, so the 386 remains fully compatible with the 286 at the system-code level.

The 386 chip's virtual real mode is new. In virtual real mode, the processor can run with hardware memory protection while simulating an 8086's real-mode operation. Multiple copies of DOS and other operating systems, therefore, can run simultaneously on this processor, each in a protected area of memory. If the programs in one segment crash, the rest of the system is protected. Software commands can reboot the blown partition.

Numerous variations of the 386 chip exist, some of which are less powerful and some of which are less power-hungry. The following sections cover the members of the 386-chip family and their differences.

### 386DX Processors

The 386DX chip was the first of the 386-family members that Intel introduced. The 386 is a full 32-bit processor with 32-bit internal registers, a 32-bit internal data bus, and a 32-bit external data bus. The 386 contains 275,000 transistors in a VLSI (Very Large Scale Integration) circuit. The chip comes in a 132-pin package and draws approximately 400 milliamperes (ma), which is less power than even the 8086 requires. The 386 has a smaller power requirement because it is made of CMOS (Complementary Metal Oxide Semiconductor) materials. The CMOS design enables devices to consume extremely low levels of power.

The Intel 386 chip was available in clock speeds ranging from 16MHz to 33MHz; other manufacturers, primarily AMD and Cyrix, offered comparable versions with speeds up to 40MHz. In general, these "clones" were fully functional with Intel chips, meaning that they could run any software designed for the Intel 386 chips.

The 386DX can address 4G of physical memory. Its built-in virtual memory manager enables software designed to take advantage of enormous amounts of memory to act as though a system has 64T of memory. (A terabyte (T) is 1,099,511,627,776 bytes of memory.)

### 386SX Processors

The 386SX, code-named the P9 chip during its development, was designed for systems designers who were looking for 386 capabilities at 286-system prices. Like the 286, the 386SX is restricted to only 16 bits when communicating with other system components such as memory. Internally, however, the 386SX is identical to the DX chip; the 386SX has 32-bit internal registers, and can therefore run 32-bit software. The 386SX uses a 24-bit memory-addressing scheme like that of the 286, rather than the full 32-bit mem-ory address bus of the standard 386. The 386SX, therefore, can address a maximum 16M of physical memory rather than the 4G of physical memory that the 386DX can address. Before it was discontinued, the 386SX was available in clock speeds ranging from 16 to 33MHz.

The 386SX signaled the end of the 286 because of the 386SX chip's superior MMU and the addition of the virtual real mode. Under a software manager such as Windows or OS/2, the 386SX can run numerous DOS programs at the same time. The capability to run 386-specific software is another important advantage of the 386SX over any 286 or older design. For example, Windows 3.1 runs nearly as well on a 386SX as it does on a 386DX.

> NOTE: One common fallacy about the 386SX is that you can plug one into a 286 system and give the system 386 capabilities. This is not true; the 386SX chip is not pin-compatible with the 286 and does not plug into the same socket. Several upgrade products, however, have been designed to adapt the chip to a 286 system. In terms of raw speed, converting a 286 system to a 386 CPU chip results in little performance gain because 286 motherboards are built with a restricted 16-bit interface to memory and peripherals. A 16MHz 386SX is not markedly faster than a 16MHz 286, but it does offer improved memory-management capabilities on a motherboard designed for it, as well as the capability to run 386-specific software.

### 386SL Processors

Another variation on the 386 chip is the 386SL. This low-power CPU has the same capabilities as the 386SX, but it is designed for laptop systems in which low power consumption is needed. The SL chips offer special power-management features that are important to systems that run on batteries. The SL chip offers several sleep modes that conserve power.

The chip includes an extended architecture that includes a System Management Interrupt (SMI), which provides access to the power-management features. Also included in the SL chip is special support for LIM (Lotus Intel Microsoft) expanded memory functions and a cache controller. The cache controller is designed to control a 16-64K external processor cache.

These extra functions account for the higher transistor count in the SL chips (855,000) compared with even the 386DX processor (275,000). The 386SL is available in 25MHz clock speed.

Intel offered a companion to the 386SL chip for laptops called the 82360SL I/O subsystem. The 82360SL provides many common peripheral functions, such as serial and parallel ports, a direct memory access (DMA) controller, an interrupt controller, and power-management logic for the 386SL processor. This chip subsystem works with the processor to provide an ideal solution for the small size and low power-consumption requirements of portable and laptop systems.

### 486 Processors

In the race for more speed, the Intel 80486 (normally abbreviated as 486) was another major leap forward. The additional power available in the 486 fueled tremendous growth in the software industry. Tens of millions of copies of Windows, and millions of copies of OS/2, have been sold largely because the 486 finally made the graphical user interface (GUI) of Windows and OS/2 a realistic option for people who work on their computers every day.

Four main features make a given 486 processor roughly twice as fast as an equivalent MHz 386 chip. These features are:

- Reduced instruction-execution time. Instructions in the 486 take an average of only two clock cycles to complete, compared with an average of more than four cycles on the 386.
- Internal (Level 1) cache. The built-in cache has a hit ratio of 90 to 95 percent, which describes how often zero-wait-state read operations will occur. External caches can improve this ratio further.
- Burst-mode memory cycles. A standard 32-bit (4-byte) memory transfer takes two clock cycles. After a standard 32-bit transfer, more data up to the next 12 bytes (or three transfers) can be transferred with only one cycle used for each 32-bit (4-byte) transfer. Thus, up to 16 bytes of contiguous, sequential memory data can be transferred in as little as five cycles instead of eight cycles or more. This effect can be even greater when the transfers are only 8 bits or 16 bits each.
- Built-in (synchronous) enhanced math coprocessor (some versions). The math co- processor runs synchronously with the main processor and executes math instructions in fewer cycles than previous designs did. On average, the math coprocessor built into the DX-series chips provides two to three times greater math performance than an external 387 chip.

The 486 chip is about twice as fast as the 386, which means that a 386DX-40 is about as fast as a 486SX-20. This made the 486 a much more desirable option, primarily because it could more easily be upgraded to a DX2 or DX4 processor at a later time. You can see why the arrival of the 486 rapidly killed off the 386 in the marketplace.

Before the 486, many people avoided GUIs because they didn't have time to sit around waiting for the hourglass, which indicates that the system is performing behind-the-scenes operations that the user cannot interrupt. The 486 changed that situation. Many people believe that the 486 CPU chip spawned the widespread acceptance of GUIs.

With the release of its faster Pentium CPU chip, Intel began to cut the price of the 486 line to entice the industry to shift over to the 486 as the mainstream system. Intel later did the same thing with its Pentium chips, spelling the end of the 486 line. The 486 is now offered by Intel only for use in embedded microprocessor applications, used primarily in expansion cards.

Most of the 486 chips were offered in a variety of maximum speed ratings, varying from 16MHz all the way up to 120MHz. Additionally, 486 processors have slight differences in overall pin configurations. The DX, DX2, and SX processors have a virtually identical 168-pin configuration, whereas the OverDrive chips have either the standard 168-pin configuration or a specially modified 169-pin OverDrive (sometimes also called 487SX) configuration. If your motherboard has two sockets, the primary one likely supports the standard 168-pin configuration, and the secondary (OverDrive) socket supports the 169-pin OverDrive configuration. Most newer motherboards with a single ZIF (Zero Insertion Force) socket support any of the 486 processors except the DX4. The DX4 is different because it requires 3.3v to operate instead of 5v, like most other chips up to that time.

A processor rated for a given speed always functions at any of the lower speeds. A 100MHz-rated 486DX4 chip, for example, runs at 75MHz if it is plugged into a 25MHz motherboard. Note that the DX2/OverDrive processors operate internally at two times the motherboard clock rate, whereas the DX4 processors operate at two, two-and-a-half, or three times the motherboard clock rate. Table 6.5 shows the different speed combinations that can result from using the DX2 or DX4 processors with different motherboard clock speeds.

#### Table 6.5 Intel DX2 and DX4 Operating Speeds versus Motherboard
Clock Speeds

Motherboard Clock Speed | 16MHz | 20MHz | 25MHz | 33MHz | 40MHz | 50MHz
DX2 processor speed | 32MHz | 40MHz | 50MHz | 66MHz | 80MHz | N/A
DX4 (2x mode) speed | 32MHz | 40MHz | 50MHz | 66MHz | 80MHz | 100MHz
DX4 (2.5x mode) speed | 40MHz | 50MHz | 63MHz | 83MHz | 100MHz | N/A
DX4 (3x mode) speed | 48MHz | 60MHz | 75MHz | 100MHz | 120MHz | N/A

The internal core speed of the DX4 processor is controlled by the CLKMUL (Clock Multiplier) signal at pin R-17 (socket 1) or S-18 (socket 2, 3, or 6). The CLKMUL input is sampled only during a reset of the CPU, and defines the ratio of the internal clock to the external bus frequency CLK signal at pin C-3 (socket 1) or D-4 (socket 2, 3, or 6). If CLKMUL is sampled low, the internal core speed will be two times the external bus frequency. If driven high or left floating (most motherboards would leave it floating), triple speed mode is selected. If the CLKMUL signal is connected to the BREQ (Bus Request) output signal at pin Q-15 (socket 1) or R-16 (socket 2, 3, or 6), the CPU internal core speed will be 2.5 times the CLK speed. To summarize, here is how the socket has to be wired for each DX4 speed selection:

CPU Speed | CLKMUL (Sampled Only at CPU Reset)
2x | Low
2.5x | Connected to BREQ
3x | High or Floating

You will have to determine how your particular motherboard is wired and if it can be changed to alter the CPU core speed in relation to the CLK signal. In most cases, there would be one or two jumpers on the board near the processor socket. The motherboard documentation should cover these settings if they can be changed.

One interesting capability here is to run the DX4-100 chip in a doubled mode with a 50MHz motherboard speed. This would give you a very fast memory bus, along with the same 100MHz processor speed as if you were running the chip in a 33/100MHz tripled mode.

> NOTE: One caveat is that if your motherboard has VL-Bus slots, they will have to be slowed down to 33 or 40MHz to operate properly.

Many of the newer VL-Bus motherboards can run the VL-Bus slots in a buffered mode, add wait states, or even selectively change the clock only for the VL-Bus slots to keep them compatible. In most cases, they will not run properly at 50MHz. Consult your motherboard--or even better, your chipset documentation--to see how your board is set up.

> CAUTION: If you are upgrading an existing system, be sure that your socket will support the chip that you are installing. In particular, if you are putting a DX4 processor in an older system, you need some type of adapter to regulate the voltage down to 3.3v. If you put the DX4 in a 5v socket, you will destroy the chip!

The 486-processor family is designed for high performance because it integrates formerly external devices, such as cache controllers, cache memory, and math coprocessors. Also, 486 systems are designed for upgradability. Most 486 systems can be upgraded by simple processor additions or swaps that can effectively double the speed of the system.

Internal (Level 1) Cache

All members of the 486 family include as a standard feature an integrated (Level 1) cache controller with either 8K or 16K of cache memory. This cache basically is an area of very fast memory built into the processor that is used to hold some of the current working set of code and data. Cache memory can be accessed with no wait states because it can fully keep up with the processor.

Using cache memory reduces a traditional system bottleneck because system RAM often is much slower than the CPU. This prevents the processor from having to wait for code and data from much slower main memory, therefore improving performance. Without the cache, a 486 frequently would be forced to wait until system memory caught up. If the data that the 486 chip wants is already in the internal cache, the CPU does not have to wait. If the data is not in the cache, the CPU must fetch it from the secondary processor cache or (in less sophisticated system designs) from the system bus.

The organization of the cache memory in the 486 family technically is called a 4-way set associative cache, which means that the cache memory is split into four blocks. Each block also is organized as 128 or 256 lines of 16 bytes each.

To understand how a 4-way set associative cache works, consider a simple example. In the simplest cache design, the cache is set up as a single block into which you can load the contents of a corresponding block of main memory. This procedure is similar to using a bookmark to locate the current page of a book that you are reading. If main memory equates to all the pages in the book, the bookmark indicates which pages are held in cache memory. This procedure works if the required data is located within the pages marked with the bookmark, but it does not work if you need to refer to a previously read page. In that case, the bookmark is of no use.

An alternative approach is to maintain multiple bookmarks to mark several parts of the book simultaneously. Additional hardware overhead is associated with having multiple bookmarks, and you also have to take time to check all the bookmarks to see which one marks the pages of data that you need. Each additional bookmark adds to the overhead, but also increases your chance of finding the desired pages.

If you settle on marking four areas in the book to limit the overhead involved, you have essentially constructed a 4-way set associative cache. This technique splits the available cache memory into four blocks, each of which stores different lines of main memory. Multitasking environments, such as OS/2 and Windows, are good examples of environments in which the processor needs to operate on different areas of memory simultaneously and in which a four-way cache would improve performance greatly.

The contents of the cache must always be in sync with the contents of main memory to ensure that the processor is working with current data. For this reason, the internal cache in the 486 family is a Write-Through cache. Write-Through means that when the processor writes information out to the cache, that information is automatically written through to main memory as well.

By comparison, the Pentium and higher chips have an internal Write-Back cache, which means that both reads and writes are cached, further improving performance. Even though the internal 486 cache is Write-Through, the system still can employ an external Write-Back cache for increased performance. In addition, the 486 can buffer up to 4 bytes before actually storing the data in RAM, improving efficiency in case the memory bus is busy.

The cache controller built into the processor also is responsible for watching the memory bus when alternate processors, known as Bus Masters, are in control of the system. This process of watching the bus is referred to as Bus Snooping. If a Bus Master device writes to an area of memory that also is stored in the processor cache currently, the cache contents and memory no longer agree. The cache controller then marks this data as invalid and reloads the cache during the next memory access, preserving the integrity of the system.

An external secondary cache (Level 2) of extremely fast Static RAM (SRAM) chips also is used in most 486-based systems to further reduce the amount of time that the CPU must spend waiting for data from system memory. The function of the secondary processor cache is similar to that of the 486 chip's on-board cache. The secondary processor cache holds information that is moving to the CPU, thereby reducing the time that the CPU spends waiting and increasing the time that the CPU spends performing calculations. Fetching information from the secondary processor cache rather than from system memory is much faster because of the extremely fast speed of the SRAM chips--20 nanoseconds (ns) or less.

The following sections discuss the technical specifications and differences of the various members of the 486-processor family in more detail.

486DX Processors

The original Intel 486DX processor was introduced on April 10, 1989, and systems using this chip first appeared during 1990. The first chips had a maximum speed rating of 25MHz; later versions of the 486DX were available in 33MHz- and 50MHz-rated versions. The 486DX originally was available only in a 5v, 168-pin PGA (Pin Grid Array) version, but now is also available in 5v, 196-pin PQFP (Plastic Quad Flat Pack), and 3.3v, 208-pin SQFP (Small Quad Flat Pack) as well. These latter form factors are available in SL Enhanced versions, which are intended primarily for portable or laptop applications in which saving power is important.

Two main features separate the 486 processor from older processors such as the 386 or 286: integration and upgradability. The 486DX integrates functions such as the math coprocessor, cache controller, and cache memory into the chip. The 486 also was designed with upgradability in mind; double-speed OverDrive are upgrades available for most systems.

The 486DX processor is fabricated with low-power CMOS (Complimentary Metal Oxide Semiconductor) technology. The chip has a 32-bit internal register size, a 32-bit external data bus, and a 32-bit address bus. These dimensions are equal to those of the 386DX processor. The internal register size is where the "32-bit" designation used in advertisements comes from. The 486DX chip contains 1.2 million transistors on a piece of silicon no larger than your thumbnail. This figure is more than four times the number of components on 386 processors and should give you a good indication of the 486 chip's relative power.

The standard 486DX contains a processing unit, a Floating-Point Unit (math co- processor), a memory-management unit, and a cache controller with 8K of internal-cache RAM. Due to the internal cache and a more efficient internal processing unit, the 486 family of processors can execute individual instructions in an average of only two processor cycles. Compare this figure with the 286 and 386 families, both of which execute an average 4.5 cycles per instruction, or with the original 8086 and 8088 processors, which execute an average 12 cycles per instruction. At a given clock rate (MHz), therefore, a 486 processor is roughly twice as efficient as a 386 processor; a 16MHz 486SX is roughly equal to a 33 MHz 386DX system; and a 20MHz 486SX is equal to a 40MHz 386DX system. Any of the faster 486s are way beyond the 386 in performance.

The 486 is fully instruction-set-compatible with previous Intel processors, such as the 386, but offers several additional instructions (most of which have to do with controlling the internal cache).

Like the 386DX, the 486 can address 4G of physical memory and manage as much as 64T of virtual memory. The 486 fully supports the three operating modes introduced in the 386: real mode, protected mode, and virtual real mode. In real mode, the 486 (like the 386) runs unmodified 8086-type software. In protected mode, the 486 (like the 386) offers sophisticated memory paging and program switching. In virtual real mode, the 486 (like the 386) can run multiple copies of DOS or other operating systems while simulating an 8086's real-mode operation. Under an operating system such as Windows or OS/2, therefore, both 16-bit and 32-bit programs can run simultaneously on this processor with hardware memory protection. If one program crashes, the rest of the system is protected, and you can reboot the blown portion through various means depending on the operating software.

The 486DX series has a built-in math coprocessor that sometimes is called an MCP (math coprocessor) or FPU (Floating-Point Unit). This series is unlike previous Intel CPU chips, which required you to add a math coprocessor if you needed faster calculations for complex mathematics. The FPU in the 486DX series is 100 percent software-compatible with the external 387 math coprocessor used with the 386: but, it delivers more than twice the performance because it runs in synchronization with the main processor and executes most instructions in half as many cycles as the 386.

486SL

The 486SL was a short-lived, stand-alone chip. The SL enhancements and features became available in virtually all the 486 processors (SX, DX, and DX2) in what are called SL Enhanced versions. SL Enhancement refers to a special design that incorporates special power-saving features.

The SL Enhanced chips originally were designed to be installed in laptop or notebook systems that run on batteries, but they are finding their way into desktop systems as well. The SL Enhanced chips feature special power-management techniques, such as sleep mode and clock throttling, to reduce power consumption when necessary. These chips are available in 3.3v versions as well.

Intel has designed a power-management architecture called System Management Mode (SMM). This new mode of operation is totally isolated and independent from other CPU hardware and software. SMM provides hardware resources such as timers, registers, and other I/O logic that can control and power down mobile-computer components without interfering with any of the other system resources. SMM executes in a dedicated memory space called System Management Memory, which is not visible and does not interfere with operating-system and application software. SMM has an interrupt called System Management Interrupt (SMI), which services power-management events, and which is independent from, and higher-priority than, any of the other interrupts.

SMM provides power management with flexibility and security that were not available previously. For example, when an application program tries to access a peripheral device that is powered down for battery savings, a SMI occurs, powering up the peripheral device and reexecuting the I/O instruction automatically.

Intel also has designed a feature called suspend/resume in the SL processor. The system manufacturer can use this feature to provide the portable-computer user with instant-on-and-off capability. An SL system typically can resume (instant on) in one second from the suspend state (instant off) to exactly where it left off. You do not need to reboot, load the operating system, load the application program, and then load the application data. Simply push the suspend/resume button, and the system is ready to go.

The SL CPU was designed to consume almost no power in the suspend state. This feature means that the system can stay in the suspend state possibly for weeks and yet start up instantly right where it left off. While it is in the suspend state, an SL system can keep working data in normal RAM memory safe for a long time, but saving to a disk still is prudent.

486SX

The 486SX, introduced in April 1991, was designed to be sold as a lower-cost version of the 486. The 486SX is virtually identical to the full DX processor, but the chip does not incorporate the FPU or math coprocessor portion.

As you read earlier in this chapter, the 386SX was a scaled-down (some people would say crippled) 16-bit version of the full-blown 32-bit 386DX. The 386SX even had a completely different pinout and was not interchangeable with the more powerful DX version. The 486SX, however, is a different story. The 486SX is in fact a full-blown 32-bit 486 processor that is basically pin-compatible with the DX. A few pin functions are different or rearranged, but each pin fits into the same socket.

The 486SX chip is more a marketing quirk than new technology. Early versions of the 486SX chip actually were DX chips that showed defects in the math-coprocessor section. Instead of being scrapped, the chips simply were packaged with the FPU section disabled and sold as SX chips. This arrangement lasted for only a short time; thereafter, SX chips got their own mask, which is different from the DX mask. (A mask is the photographic blueprint of the processor and is used to etch the intricate signal pathways into a silicon chip.) The transistor count dropped to 1.185 million (from 1.2 million) to reflect this new mask.

The 486SX chip is twice as fast as a 386DX with the same clock speed. Intel marketed the 486SX as being the ideal chip for new computer buyers, because not much entry-level software uses the math-coprocessor functions.

The 486SX was normally available in 16, 20, 25, and 33MHz-rated speeds, and there was also a 486 SX/2 that ran at up to 50 or 66MHz. The 486SX normally comes in a 168-pin version, although other surface-mount versions are available in SL Enhanced models.

Despite what Intel's marketing and sales information implies, no provision exists technically for adding a separate math coprocessor to a 486SX system; neither is a separate math coprocessor chip available to plug in. Instead, Intel wanted you to add a new 486 processor with a built-in math unit and disable the SX CPU that already is on the motherboard. If this situation sounds confusing, read on, because this topic brings you to the most important aspect of 486 design: upgradability.

487SX

The 487SX math coprocessor, as Intel calls it, really is a complete 25MHz 486DX CPU with an extra pin added and some other pins rearranged. When the 487SX is installed in the extra socket provided in a 486SX-CPU-based system, the 487SX turns off the existing 486SX via a new signal on one of the pins. The extra key pin actually carries no signal itself and exists only to prevent improper orientation when the chip is installed in a socket.

The 487SX takes over all CPU functions from the 486SX and also provides math coprocessor functionality in the system. At first glance, this setup seems rather strange and wasteful, so perhaps further explanation is in order. Fortunately, the 487SX turned out simply to be a stopgap measure while Intel prepared its real surprise: the OverDrive processor. The DX2/OverDrive speed-doubling chips, which are designed for the 487SX 169-pin socket, have the same pinout as the 487SX. These upgrade chips are installed in exactly the same way as the 487SX; therefore, any system that supports the 487SX also supports the DX2/OverDrive chips.

Although in most cases you can upgrade a system by removing the 486SX CPU and replacing it with a 487SX (or even a DX or DX2/OverDrive), Intel originally discouraged this procedure. Instead, Intel recommended that PC manufacturers include a dedicated upgrade (OverDrive) socket in their systems, because several risks were involved in removing the original CPU from a standard socket. (The following section elaborates on those risks.) Now, Intel recommends--or even insists on--the use of a single processor socket of a ZIF design, which makes upgrading an easy task physically.

DX2/OverDrive and DX4 Processors

On March 3, 1992, Intel introduced the DX2 speed-doubling processors. On May 26, 1992, Intel announced that the DX2 processors also would be available in a retail version called OverDrive. Originally, the OverDrive versions of the DX2 were available only in 169-pin versions, which meant that they could be used only with 486SX systems that had sockets configured to support the rearranged pin configuration. On September 14, 1992, Intel introduced 168-pin OverDrive versions for upgrading 486DX systems. These processors could be added to existing 486 (SX or DX) systems as an upgrade, even if those systems did not support the 169-pin configuration. When you use this processor as an upgrade, you simply install the new chip in your system, which subsequently runs twice as fast.

The DX2/OverDrive processors run internally at twice the clock rate of the host system. If the motherboard clock is 25MHz, for example, the DX2/OverDrive chip runs internally at 50MHz; likewise, if the motherboard is a 33MHz design, the DX2/OverDrive runs at 66MHz. The DX2/OverDrive speed doubling has no effect on the rest of the system; all components on the motherboard run the same as they do with a standard 486 processor. Therefore, you do not have to change other components (such as memory) to accommodate the double-speed chip. The DX2/OverDrive chips have been available in several speeds. Three different speed-rated versions have been offered:

- 40MHz DX2/OverDrive for 16MHz or 20MHz systems
- 50MHz DX2/OverDrive for 25MHz systems
- 66MHz DX2/OverDrive for 33MHz systems

Notice that these ratings indicate the maximum speed at which the chip is capable of running. You could use a 66MHz-rated chip in place of the 50MHz- or 40MHz-rated parts with no problem, although the chip will run only at the slower speeds. The actual speed of the chip is double the motherboard clock frequency. When the 40MHz DX2/OverDrive chip is installed in a 16MHz 486SX system, for example, the chip will function only at 32MHz--exactly double the motherboard speed. Intel originally stated that no 100MHz DX2/OverDrive chip would be available for 50MHz systems--which technically has not been true because the DX4 could be set to run in a clock-doubled mode and used in a 50MHz motherboard (see our discussion of the DX4 processor in this section).

The only part of the DX2 chip that doesn't run at double speed is the bus interface unit, a region of the chip that handles I/O between the CPU and the outside world. By translating between the differing internal and external clock speeds, the bus interface unit makes speed doubling transparent to the rest of the system. The DX2 appears to the rest of the system to be a regular 486DX chip, but one that seems to execute instructions twice as fast.

DX2/OverDrive chips are based on the 0.8-micron circuit technology that was first used in the 50MHz 486DX. The DX2 contains 1.1 million transistors in a three-layer form. The internal 8K cache, integer, and Floating-Point Units all run at double speed. External communication with the PC runs at normal speed to maintain compatibility.

Besides upgrading existing systems, one of the best parts of the DX2 concept was the fact that system designers could introduce very fast systems by using cheaper motherboard designs, rather than the more costly designs that would support a straight high-speed clock. This means that a 50MHz 486DX2 system was much less expensive than a straight 50MHz 486DX system. In a 486DX-50 system, the system board operates at a true 50MHz. In a 486DX2-50 system, the 486DX2 CPU operates internally at 50MHz, but the motherboard operates at only 25MHz.

You may be thinking that a true 50MHz DX-processor-based system still would be faster than a speed-doubled 25MHz system, and this generally is true, but the differences in speed actually are very slight--a real testament to the integration of the 486 processor and especially to the cache design.

When the processor has to go to system memory for data or instructions, for example, it has to do so at the slower motherboard operating frequency, such as 25MHz. Because the 8K internal cache of the 486DX2 has a hit rate of 90 to 95 percent, however, the CPU has to access system memory only 5 to 10 percent of the time for memory reads. Therefore, the performance of the DX2 system can come very close to that of a true 50MHz DX system and cost much less. Even though the motherboard runs only at 33.33MHz, a system with a DX2 66MHz processor ends up being faster than a true 50MHz DX system, especially if the DX2 system has a good Level-2 cache.

Many 486 motherboard designs also include a secondary cache that is external to the cache integrated into the 486 chip. This external cache allows for much faster access when the 486 chip calls for external-memory access. The size of this external cache can vary anywhere from 16K to 512K or more. When you add a DX2 processor, an external cache is even more important for achieving the greatest performance gain, because this cache greatly reduces the wait states that the processor will have to add when writing to system memory or when a read causes an internal-cache miss. For this reason, some systems perform better with the DX2/OverDrive processors than others, usually depending on the size and efficiency of the external-memory cache system on the motherboard. Systems that have no external cache will still enjoy a near-doubling of CPU performance, but operations that involve a great deal of memory access will be slower.

This brings us to the DX4 processor. Although the standard DX4 technically was not sold as a retail part, it could be purchased from several vendors, along with the 3.3v voltage adapter needed to install the chip in a 5v socket. These adapters have jumpers that enable you to select the DX4 clock multiplier and set it to 2x, 2.5x, or 3x mode. In a 50MHz DX system, you could install a DX4/voltage-regulator combination set in 2x mode for a motherboard speed of 50MHz and a processor speed of 100MHz! Although you may not be able to take advantage of the latest local bus peripherals, you will in any case have one of the fastest 486-class PCs available.

Intel also sold a special DX4 OverDrive processor that included a built-in voltage regulator and heat sink that is specifically designed for the retail market. The DX4 OverDrive chip is essentially the same as the standard 3.3v DX4 with the main exception that it runs on 5v because it includes an on-chip regulator. Also, the DX4 OverDrive chip will only run in the tripled speed mode, and not the 2x or 2.5x modes of the standard DX4 processor.

> NOTE: As of this writing, Intel has discontinued all 486 and DX2/DX4/OverDrive processors. However, the Pentium OverDrive Processor is still being offered for certain 486 systems. See the "OverDrive Processor Installation" section later in this chapter.

Vacancy

Perhaps you saw the Intel advertisements--both print and television--that featured a 486SX system with a neon Vacancy sign pointing to an empty socket next to the CPU chip. Unfortunately, these ads were not very informative, and they made it seem that only systems with the extra socket could be upgraded. When I first saw these ads, I was worried because I had just purchased a 486DX system, and the advertisements implied that only 486SX systems with the empty OverDrive socket were upgradable. This, of course, was not true, but the Intel advertisements surely did not communicate that fact very well.

I later found out that upgradability does not depend on having an extra OverDrive socket in the system and that virtually any 486SX or DX system can be upgraded. The secondary OverDrive socket was designed simply to make upgrading easier and more convenient. Even in systems that have the second socket, you can actually remove the primary SX or DX CPU and plug the OverDrive processor directly into the main CPU socket, rather than into the secondary OverDrive socket.

In that case, you would have an upgraded system with a single-functioning CPU installed; you could remove the old CPU from the system and sell it or trade it in for a refund. Unfortunately, Intel does not offer a trade-in or core-charge policy; it simply does not want your old chip. For this reason, some people saw the OverDrive socket as being a way for Intel to sell more CPUs. Some valid reasons exist, however, to use the OverDrive socket and leave the original CPU installed.

One reason is that many PC manufacturers void the system warranty if the CPU has been removed from the system. Also, when systems are serviced, most manufacturers require that the system be returned with only the original parts; you must remove all add-in cards, memory modules, upgrade chips, and similar items before sending the system in for servicing. If you replace the original CPU when you install the upgrade, returning the system to its original condition will be much more difficult.

Another reason for using the upgrade socket is that if the main CPU socket is damaged when you remove the original CPU or install the upgrade processor, the system will not function. By contrast, if a secondary upgrade socket is damaged, the system still should work with the original CPU.

> NOTE: If you think that damaging the socket or chip is not a valid concern, you should know that it typically takes 100 pounds of insertion force to install a chip in a standard 169-pin screw machine socket. With this much force involved, you easily could damage either the chip or socket during the removal or reinstallation process.

Many motherboard manufacturers began using Low Insertion Force (LIF) sockets, which typically require only 60 pounds of insertion force for a 169-pin chip. With the LIF or standard socket, I usually advise removing the motherboard so that you can support the board from behind when you insert the chip. Pressing down on the motherboard with 60 to 100 pounds of force can crack the board if it is not supported properly. A special tool is also required to remove a chip from one of these sockets.

These days, nearly all motherboard manufacturers are using ZIF sockets. These sockets almost eliminate the risk involved in upgrading because no insertion force is necessary to install the chip. Most ZIF sockets are handle-actuated; you simply lift the handle, drop the chip into the socket, and then close the handle. This design makes replacing the original processor with the upgrade processor an easy task. Because it is so simple to perform the upgrade with a ZIF socket, most motherboards that use such a socket have only one processor socket rather than two. This arrangement is a bonus: the unnecessary second socket does not waste the additional motherboard space, and you are forced to remove the otherwise-dormant original processor, which you then can sell or keep as a spare.

### OverDrive Processors and Sockets

Intel has stated that all its future processors will have OverDrive versions available for upgrading at a later date. As a result, Intel has developed a series of socket designs that will accommodate not only the original processor with which a system is shipped, but also the future OverDrive processor.

In many cases, the future OverDrive unit will be much more than just the same type of processor running at a higher clock rate. Although the original OverDrive series of processors for the 486SX and 486DX chip simply were clock-doubled versions of essentially the same chips, Intel has since developed OverDrive upgrades that go beyond this level. For example, the company currently has Pentium OverDrive-style single-chip upgrades for some 486 systems, and Pentium-MMX upgrades for existing Pentium systems.

These new processors generally require a larger socket than the original processors they replace; additional pins are reserved for new processors when they are ready. Intel has made available the pin specifications and some functions of the new processors so that motherboard designers can install the proper sockets. Then, all the end user has to do is purchase it and install the new chip in place of the original one. To make the process easy, Intel now requires that all these sockets be of ZIF design.

Intel has created a set of socket designs, named Socket 1 through Socket 8. Each socket is designed to support a different range of original and upgrade processors. Table 6.6 shows the specifications of these sockets.

The original OverDrive socket, now officially called Socket 1, is a 169-pin PGA socket. Motherboards that have this socket can support any of the 486SX, DX, and DX2 processors, as well as the DX2/OverDrive versions. This type of socket is found on most 486 systems that originally were designed for OverDrive upgrades. Figure 6.1 shows the pinout of Socket 1.

The original DX processor draws a maximum 0.9 amps of 5v power in 33MHz form (4.5 watts) and a maximum 1 amp in 50MHz form (5 watts). The DX2 processor or OverDrive processor draws a maximum 1.2 amps at 66MHz (6 watts). This minor increase in power requires only a passive heat sink consisting of aluminum fins that are glued to the processor with thermal transfer epoxy. OverDrive processors rated at 40MHz or less do not have heat sinks.

When the DX2 processor was released, Intel already was working on the new Pentium processor. The company wanted to offer a 32-bit, scaled-down version of the Pentium as an upgrade for systems that originally came with a DX2 processor. Rather than just increasing the clock rate, Intel created an all new chip with enhanced capabilities derived from the Pentium.

#### Table 6.6 Intel 486/Pentium CPU Socket Types and Specifications

Socket Number | No. of Pins | Pin Layout | Voltage | Supported Processors
Socket 1 | 169 | 17x17 PGA | 5v | SX/SX2, DX/DX2*, DX4 OverDrive
Socket 2 | 238 | 19x19 PGA | 5v | SX/SX2, DX/DX2*, DX4 OverDrive, 486 Pentium OverDrive
Socket 3 | 237 | 19x19 PGA | 5v/3.3v | SX/SX2, DX/DX2, DX4, 486 Pentium OverDrive
Socket 4 | 273 | 21x21 PGA | 5v | Pentium 60/66, Pentium 60/66
|  |  |  | OverDrive
Socket 5 | 320 | 37x37 SPGA | 3.3v | Pentium 75-133, Pentium 75+ OverDrive
Socket 6** | 235 | 19x19 PGA | 3.3v | DX4, 486 Pentium OverDrive
Socket 7 | 321 | 37x37 SPGA | VRM | Pentium 75-200, Pentium 75+ OverDrive
Socket 8 | 387 | dual-pattern SPGA | VRM | Pentium Pro

*DX4 also can be supported with the addition of an aftermarket 3.3v voltage-regulator adapter. **Socket 6 was a paper standard only and was never actually implemented in any systems. PGA = Pin Grid Array SPGA = Staggered Pin Grid Array VRM = Voltage Regulator Module

FIG. 6.1 Intel Socket 1 pinout.

The chip, called the Pentium OverDrive Processor, plugs into a processor socket with the Socket 2 or Socket 3 design. These sockets will hold any 486 SX, DX, or DX2 processor, as well as the Pentium OverDrive. Because this chip is essentially a 32-bit version of the (normally 64-bit) Pentium chip, many have taken to calling it a Pentium-SX. It is available in 25/63MHz and 33/83MHz versions. The first number indicates the base mother- board speed, while the second number indicates the actual operating speed of the Pentium OverDrive chip itself. As you can see, it is a clock multiplied chip that runs at 2.5 times the motherboard speed. Figure 6.2 shows the pinout configuration of the official Socket 2 design.

FIG. 6.2 238-pin Intel Socket 2 configuration.

Notice that although the new chip for Socket 2 is called Pentium OverDrive, it is not a full-scale (64-bit) Pentium. Intel released the design of Socket 2 a little prematurely and found that the chip ran too hot for many systems. The company solved this problem by adding a special active heat sink to the Pentium OverDrive processor. This active heat sink is a combination of a standard heat sink with a built-in electric fan. Unlike the aftermarket glue-on or clip-on fans for processors that you may have seen, this one actually draws 5v power directly from the socket to drive the fan. No external connection to disk drive cables or the power supply is required. The fan/heat sink assembly clips and plugs directly into the processor, providing for easy replacement should the fan ever fail.

Another requirement of the active heat sink is additional clearance--no obstructions for an area about 1.4 inches off the base of the existing socket to allow for heat-sink clearance. In systems that were not designed with this feature, the Pentium OverDrive upgrade will be difficult or impossible.

Another problem with this particular upgrade is power consumption. The 5v Pentium OverDrive processor will draw up to 2.5 amps at 5v (including the fan) or 12.5 watts, which is more than double the 1.2 amps (6 watts) drawn by the DX2 66 processor. Intel did not provide this information when it established the socket design, so the company set up a testing facility to certify systems for thermal and mechanical compatibility with the Pentium OverDrive upgrade. For the greatest peace of mind, ensure that your system is certified compatible before you attempt this upgrade.

Intel's Web site contains a comprehensive list of certified OverDrive compatible systems, available at

http://www.intel.com

Figure 6.3 shows the dimensions of the Pentium OverDrive processor and the active heat sink/fan assembly.

FIG. 6.3 The physical dimensions of the Intel Pentium OverDrive processor and active heat sink.

Because of problems with the original Socket 2 specification and the enormous heat the 5v version of the Pentium OverDrive processor generates, Intel came up with an improved design. The new processor is the same as the previous Pentium OverDrive processor, with the exception that it runs on 3.3v and draws a maximum 3.0 amps of 3.3v (9.9 watts) and 0.2 amp of 5v (1 watt) to run the fan, for a total 10.9 watts. This configuration provides a slight margin over the 5v version of this processor. The fan will be easy to remove from the OverDrive processor for replacement, should it ever fail.

To support both the DX4 processor, which runs on 3.3v, and the 3.3v Pentium Over- Drive processor, Intel had to create a new socket. In addition to the new 3.3v chips, this new socket supports the older 5v SX, DX, DX2, and even the 5v Pentium OverDrive chip. The design, called Socket 3, is the most flexible upgradable 486 design. Figure 6.4 shows the pinout specification of Socket 3.

FIG. 6.4 237-pin Intel Socket 3 configuration.

Notice that Socket 3 has one additional pin and several others plugged compared with Socket 2. Socket 3 provides for better keying, which prevents an end user from accidentally installing the processor in an improper orientation. One serious problem exists, however: This socket cannot automatically determine the type of voltage that will be provided to it. A jumper is likely to be added on the motherboard near the socket to enable the user to select 5v or 3.3v operation.

> CAUTION: Because this jumper must be manually set, however, a user could install a 3.3v processor in this socket when it is configured for 5v operation. This installation will instantly destroy a very expensive chip when the system is powered on. It will be up to the end user to make sure that this socket is properly configured for voltage, depending on which type of processor is installed. If the jumper is set in 3.3v configuration and a 5v processor is installed, no harm will occur, but the system will not operate properly unless the jumper is reset for 5v.

The original Pentium processor 60MHz and 66MHz versions had 273 pins and would plug into a 273-pin Pentium processor socket--a 5v-only socket, because all the original Pentium processors run on 5v. This socket will accept the original Pentium 60MHz or 66MHz processor, as well as the OverDrive processor. Figure 6.5 shows the pinout specification of Socket 4.

FIG. 6.5 273-pin Intel Socket 4 configuration.

Somewhat amazingly, the original Pentium 66MHz processor consumes up to 3.2 amps of 5v power (16 watts), not including power for a standard active heat sink (fan), whereas the 66 MHz OverDrive processor that replaced it consumes a maximum 2.7 amps (13.5 watts), including about 1 watt to drive the fan. Even the original 60MHz Pentium processor consumes up to 2.91 amps at 5v (14.55 watts). It may seem strange that the replacement processor, which is twice as fast, consumes less power than the original, but this has to do with the manufacturing processes used for the original and OverDrive processors.

Although both processors will run on 5v, the original Pentium processor was created with a circuit size of 0.8 micron, making that processor much more power-hungry than the newer 0.6-micron circuits used in the OverDrive and the other Pentium processors. Shrinking the circuit size is one of the best ways to decrease power consumption. Although the OverDrive processor for Pentium-based systems will indeed draw less power than the original processor, additional clearance may have to be allowed for the active heat sink (fan) assembly that is mounted on top. As in other OverDrive processors with built-in fans, the power to run the fan will be drawn directly from the chip socket, so no separate power-supply connection is required. Also, the fan will be easy to replace should it ever fail.

When Intel redesigned the Pentium processor to run at 75, 90, and 100MHz, the company went to a 0.6-micron manufacturing process as well as 3.3v operation. This change resulted in lower power consumption: only 3.25 amps at 3.3v (10.725 watts). Therefore, the 100MHz Pentium processor can use far less power than even the original 60MHz version. The newest 120 and higher Pentium, Pentium Pro and Pentium II chips use an even smaller die 0.35-micron process. This results in even lower power consumption and allows the extremely high clock rates without overheating.

The Pentium 75 and higher processors actually have 296 pins, although they plug into the official Intel Socket 5 design, which calls for a total 320 pins. The additional pins are used by the Pentium OverDrive for Pentium Processors. This socket has the 320 pins configured in a Staggered Pin Grid Array, in which the individual pins are staggered for tighter clearance.

Several OverDrive processors for existing Pentiums are currently available. If you have a first generation Pentium 60 or 66 with a Socket 4, you can purchase a standard Pentium OverDrive chip that effectively doubles the speed of your old processor. For second- generation 75MHz, 90MHz, and 100MHz Pentiums using Socket 5 or Socket 7, an OverDrive chip with MMX technology is available. Processor speeds after upgrade are 125MHz for the Pentium 75, 150MHz for the Pentium 90, and 166MHz for the Pentium 100. MMX greatly enhances processor performance, particularly under multimedia applications, and is discussed in the section "Pentium-MMX Processors" in this chapter.

Figure 6.6 shows the standard pinout for Socket 5.

The Pentium OverDrive for Pentium Processors has an active heat sink (fan) assembly that draws power directly from the chip socket. The chip requires a maximum 4.33 amps of 3.3v to run the chip (14.289 watts) and 0.2 amp of 5v power to run the fan (1 watt), which means total power consumption of 15.289 watts. This amount is less power than the original 66MHz Pentium processor requires, yet it runs a chip that is as much as four times faster!

The last 486 socket was created especially for the DX4 and the 486 Pentium OverDrive Processor. Socket 6 basically is a slightly redesigned version of Socket 3, which has an additional two pins plugged for proper chip keying. Socket 6 has 235 pins and will accept only 3.3v 486 or OverDrive processors. This means that Socket 6 will accept only the DX4 and the 486 Pentium OverDrive Processor. Because this socket provides only 3.3v, and because the only processors that plug into it are designed to operate on 3.3v, no chance exists that potentially damaging problems will occur, like those with the Socket 3 design. In practice, Socket 6 has seen very limited use. Figure 6.7 shows the Socket 6 pinout.

Socket 7 is essentially the same as Socket 5 with one additional key pin in the opposite inside corner of the existing key pin. Socket 7 therefore has 321 pins total in a 21x21 SPGA (Staggered Pin Grid Array) arrangement. The real difference with Socket 7 is not the socket itself, but with the companion VRM (Voltage Regulator Module) that must accompany it.

FIG. 6.6 320-pin Intel Socket 5 configuration.

The VRM is a small circuit board that contains all the voltage regulation circuitry used to drop the 5v power supply signal to the correct voltage for the processor. The VRM was implemented for several good reasons. One is that voltage regulators tend to run hot and are very failure-prone. By soldering these circuits on the motherboard, as has been done with the Pentium Socket 5 design, you make it very likely that a failure of the regulator will require a complete motherboard replacement. Although technically the regulator could be replaced, many of them are surface-mount soldered, which would make the whole procedure very time-consuming and expensive. Besides, in this day and age, when the top-of-the-line motherboards are only worth $250 (less the processor and any mem-ory), it is just not cost-effective to service them. Having a replaceable VRM plugged into a socket will make it easy to replace the regulators should they ever fail.

Although replaceability is nice, the main reason behind the VRM design is that Intel is building new Pentium processors to run on a variety of voltages. Intel has several different versions of the Pentium, Pentium-MMX, Pentium Pro, and Pentium II processors that run on 3.3v (called VR), 3.465v (called VRE), as well as 3.1v, 2.8v, and 2.45v.

FIG. 6.7 235-pin Intel Socket 6 configuration.

In other words, if you want to purchase a Pentium board that can be upgraded to the next generation of even higher-speed processors--as well as be easily repairable should the voltage regulators fail--look for a system with a Socket 7 and VRM.

OverDrive Processor Installation

You can upgrade many systems with an OverDrive processor. The most difficult aspect of the installation is simply having the correct OverDrive processor for your system. Currently, 486 Pentium OverDrive processors are available for replacing 486SX and 486DX processors. Pentium and Pentium-MMX OverDrive processors are also available for some Pentium processors. Unfortunately, Intel no longer offers upgrade chips for 168-pin socket boards. The following table lists the current OverDrive processors offered by Intel:

Processor Designation | Replaces | Socket | Heat Sink
486 Pentium OverDrive | 486SX/DX/SX2/DX2 | Socket 2 or 3 | Active
60/66 Pentium OverDrive | Pentium 60/66 | Socket 4 | Active
Pentium OverDrive with MMX | Pentium 75/90/100 | Socket 5/7 | Active

Upgrades that use the newer OverDrive chips for Sockets 2 through 7 are likely to be much easier because these chips almost always go into a ZIF socket and therefore require no tools. In most cases, special configuration pins in the socket and on the new Over- Drive chips take care of any jumper settings for you. In some cases, however, you may have to set some jumpers on the motherboard to configure the socket for the new processor. If you have an SX system, you also will have to run your system's Setup program because you must inform the CMOS memory that a math coprocessor is present. (Some DX systems also require you to run the setup program.) Intel provides a utility disk that includes a test program to verify that the new chip is installed and functioning correctly.

After verifying that the installation functions correctly, you have nothing more to do. You do not need to reconfigure any of the software on your system for the new chip. The only difference that you should notice is that everything works nearly twice as fast as it did before the upgrade.

OverDrive Compatibility Problems

Although you can upgrade many older 486SX or 486DX systems with the OverDrive processors, some exceptions exist. Four factors can make an OverDrive upgrade difficult or impossible:

- BIOS routines that use CPU-dependent timing loops
- Lack of clearance for the OverDrive heat sink (25MHz and faster)
- Inadequate system cooling
- A 486 CPU that is soldered in rather than socketed

In some rare cases, problems may occur in systems that should be upgradable but are not. One of these problems is related to the ROM BIOS. A few 486 systems have a BIOS that regulates hardware operations by using timing loops based on how long it takes the CPU to execute a series of instructions. When the CPU suddenly is running twice as fast, the prescribed timing interval is too short, resulting in improper system operation or even hardware lockups. Fortunately, you usually can solve this problem by upgrading the system's BIOS, and Intel offers BIOS updates with the OverDrive processors it sells.

Another problem is related to physical clearance. All OverDrive chips have heat sinks glued or fastened to the top of the chip. The heat sink can add 0.25 to 1.2 inches to the top of the chip. This extra height can interfere with other components in the system, especially in small desktop systems and portables. Solutions to this problem must be determined on a case-by-case basis. You can sometimes relocate an expansion card or disk drive, or even modify the chassis slightly to increase clearance. In some cases, the interference cannot be resolved, leaving you only the option of running the chip without the heat sink. Needless to say, removing the glued-on heat sink will at best void the warranty provided by Intel and will at worst damage the chip or the system due to overheating. I do not recommend removing the heat sink.

The OverDrive chips can generate up to twice the heat of the chips that they replace. Even with the active heat sink/fan built into the faster OverDrive chips, some systems do not have enough airflow or cooling capability to keep the OverDrive chip within the prescribed safe operating-temperature range. Small desktop systems or portables are most likely to have cooling problems. Unfortunately, only proper testing can indicate whether a system will have a heat problem. For this reason, Intel has been running an extensive test program to certify systems that are properly designed to handle an OverDrive upgrade.

Finally, some systems have the 486SX or DX chip soldered directly into the motherboard rather than in a socket. This method is used sometimes for cost reasons because leaving out the socket is cheaper; in most cases, however, the reason is clearance. The IBM P75 portable, for example, has a credit card-size CPU board that plugs into the motherboard. Because the CPU card is close to one of the expansion slots, to allow for clearance between the 486 chip and heat sink, IBM soldered the CPU directly into the small card, making an OverDrive upgrade nearly impossible unless IBM offers its own upgrade via a new CPU card with the OverDrive chip already installed.

To clarify which systems are tested to be upgradable without problems, Intel has compiled an extensive list of compatible systems. To determine whether a PC is upgradable with an OverDrive processor, contact Intel via its FAXBack system (see the vendor list in Appendix A) and ask for the OverDrive Processor Compatibility Data documents. The information is also available on Intel's Web site, located at http://www.intel.com/overdrive/upgrade/index.htm. These documents list the systems that have been tested with the OverDrive processors and indicate which other changes you may have to make for the upgrade to work (for example, a newer ROM BIOS or Setup program).

> NOTE: If your system is not on the list, the warranty on the OverDrive processor is void. Intel recommends OverDrive upgrades only for systems that are in the compatibility list. The list also includes notes about systems that may require a ROM upgrade, a jumper change, or perhaps a new setup disk.

Pentium OverDrive for 486SX2 and DX2 Systems

In 1995, the Pentium OverDrive Processor became available. An OverDrive chip for 486DX4 systems had been planned, but poor marketplace performance of the SX2/DX2 chip meant that it never saw the light of day. One thing to keep in mind about the 486 Pentium OverDrive chip is that although it is intended primarily for SX2 and DX2 systems, it should work in any up-gradable 486SX or DX system that has a Socket 2 or Socket 3. If in doubt, check Intel's online upgrade guide for compatibility.

The Pentium OverDrive Processor is designed for systems that have a processor socket that follows the Intel Socket 2 specification. This processor also will work in systems that have a Socket 3 design, although you should ensure that the voltage is set for 5v rather than 3.3v. The Pentium OverDrive chip includes a 32K internal Level 1 cache, and the same superscalar (multiple instruction path) architecture of the real Pentium chip. Besides a 32-bit Pentium core, these processors feature increased clock-speed operation due to internal clock multiplication, and incorporate an internal Write-Back cache (standard with the Pentium). If the motherboard supports the Write-Back cache function, increased performance will be realized. Unfortunately, most motherboards out there, especially older ones with the Socket 2 design, only support Write-Through cache.

Most of the tests of these OverDrive chips show them to be only slightly ahead of the DX4-100 and behind the DX4-120, as well as the true Pentium 60, 66, or 75. Unfortunately, these are the only solutions still offered by Intel for upgrading the 486. Based on the relative affordability today of low-end "real" Pentiums, it seems hard not to justify making the step up to a more modern system. I would not recommend the 486 Pentium OverDrive chips as a viable solution for the future.

### Pentium

On October 19, 1992, Intel announced that the fifth generation of its compatible microprocessor line (code-named P5) would be named the Pentium processor rather than the 586, as everybody had been assuming. Calling the new chip the 586 would have been natural, but Intel discovered that it could not trademark a number designation, and the company wanted to prevent other manufacturers from using the same name for any clone chips that they might develop. The actual Pentium chip shipped on March 22, 1993. Systems that use these chips were only a few months behind.

The Pentium is fully compatible with previous Intel processors, but it also differs from them in many ways. At least one of these differences is revolutionary: The Pentium features twin data pipelines, which enable it to execute two instructions at the same time. The 486 and all preceding chips can perform only a single instruction at a time. Intel calls the capability to execute two instructions at the same time superscalar technology. This technology provides additional performance compared with the 486.

The standard 486 chip can execute a single instruction in an average of two clock cycles--cut to an average of one clock cycle with the advent of internal clock multiplication used in the DX2 and DX4 processors. With superscalar technology, the Pentium can execute many instructions at a rate of two instructions per cycle. Superscalar architecture usually is associated with high-output RISC (Reduced Instruction Set Computer) chips. The Pentium is one of the first CISC (Complex Instruction Set Computer) chips to be considered to be superscalar. The Pentium is almost like having two 486 chips under the hood. Table 6.7 shows the Pentium processor specifications.

#### Table 6.7 Pentium Processor Specifications

Introduced: | March 22, 1993 (first generation); March 7, 1994 (second generation)
Maximum rated speeds: | 60, 66MHz (first generation); 75, 90, 100, 120, 133, 150, 166, 200MHz (second generation)
CPU clock multiplier: | 1x (first generation), 1.5x-3x (second generation)
Register size: | 32-bit
External data bus: | 64-bit
Memory address bus: | 32-bit
Maximum memory: | 4G
Integral-cache size: | 8K code, 8K data
Integral-cache type: | Two-Way Set Associative, Write-Back Data
Burst-mode transfers: | Yes
Number of transistors: | 3.1 million
Circuit size: | 0.8 micron (60/66MHz), 0.6 micron (75-100MHz), 0.35 micron (120MHz and up)
External package: | 273-pin PGA, 296-pin SPGA, Tape Carrier
Math coprocessor: | Built-in FPU (Floating-Point Unit)
Power management: | SMM (System Management Mode), enhanced in second generation
Operating voltage: | 5v (first generation), 3.465v, 3.3v, 3.1v, 2.9v (second generation)

PGA = Pin Grid Array SPGA = Staggered Pin Grid Array

The two instruction pipelines within the chip are called the u- and v-pipes. The u-pipe, which is the primary pipe, can execute all integer and floating-point instructions. The v-pipe is a secondary pipe that can execute only simple integer instructions and certain floating-point instructions. The process of operating on two instructions simultaneously in the different pipes is called pairing. Not all sequentially executing instructions can be paired, and when pairing is not possible, only the u-pipe is used. To optimize the Pentium's efficiency, you can recompile software to allow more instructions to be paired.

The Pentium is 100 percent software-compatible with the 386 and 486, and although all current software will run much faster on the Pentium, many software manufacturers want to recompile their applications to exploit even more of the Pentium's true power. Intel has developed new compilers that will take full advantage of the chip; the company will license the technology to compiler firms so that software developers can take advantage of the superscalar (parallel processing) capability of the Pentium. This optimization is starting to appear in some of the newest software on the market. Optimized software should improve performance by allowing more instructions to execute simultaneously in both pipes.

To minimize stalls in one or more of the pipes caused by delays in fetching instructions that branch to nonlinear memory locations, the Pentium processor has a Branch Target Buffer (BTB) that employs a technique called branch prediction. The BTB attempts to predict whether a program branch will be taken or not and then fetches the appropriate next instructions. The use of branch prediction enables the Pentium to keep both pipelines operating at full speed. Figure 6.8 shows the internal architecture of the Pentium processor.

The Pentium has a 32-bit address bus width, giving it the same 4G memory-addressing capabilities as the 386DX and 486 processors. But the Pentium expands the data bus to 64 bits, which means that it can move twice as much data into or out of the CPU compared with a 486 of the same clock speed. The 64-bit data bus requires that system memory be accessed 64 bits wide, which means that each bank of memory is 64 bits.

On most motherboards, memory is installed via SIMMs (Single In-Line Memory Modules), and SIMMs are available in 9-bit-wide and 36-bit-wide versions. Most Pentium systems use the 36-bit-wide (32 data bits plus 4 parity bits) SIMMs--two of these SIMMs per bank of memory. Most Pentium motherboards have at least four of these 36-bit SIMM sockets, providing for a total of two banks of memory.

Even though the Pentium has a 64-bit data bus that transfers information 64 bits at a time into and out of the processor, the Pentium has only 32-bit internal registers. As instructions are being processed internally, they are broken down into 32-bit instructions and data elements, and processed in much the same way as in the 486. Some people thought that Intel was misleading them by calling the Pentium a 64-bit processor, but 64-bit transfers do indeed take place. Internally, however, the Pentium has 32-bit registers that are fully compatible with the 486.

The Pentium has two separate internal 8K caches, compared with a single 8K or 16K cache in the 486. The cache-controller circuitry and the cache memory are embedded in the CPU chip. The cache mirrors the information in normal RAM by keeping a copy of the data and code from different memory locations. The Pentium cache also can hold information to be written to memory when the load on the CPU and other system components is less. (The 486 makes all memory writes immediately.)

FIG. 6.8 Pentium processor internal architecture.

The separate code and data caches are organized in a two-way set associative fashion, with each set split into lines of 32 bytes each. Each cache has a dedicated Translation Lookaside Buffer (TLB), which translates linear addresses to physical addresses. You can configure the data cache as Write-Back or Write-Through on a line-by-line basis. When you use the Write-Back capability, the cache can store write operations as well as reads, further improving performance over read-only Write-Through mode. Using Write-Back mode results in less activity between the CPU and system memory--an important improvement, because CPU access to system memory is a bottleneck on fast systems. The code cache is an inherently write-protected cache because it contains only execution instructions and not data, which is updated. Because burst cycles are used, the cache data can be read or written very quickly.

Systems based on the Pentium can benefit greatly from secondary processor caches (Level 2), which usually consist of up to 512K or more of extremely fast (15 ns or less) Static RAM (SRAM) chips. When the CPU fetches data that is not already available in its internal processor (Level 1) cache, wait states slow the CPU. If the data already is in the secondary processor cache, however, the CPU can go ahead with its work without pausing for wait states.

The Pentium uses a BiCMOS (Bipolar Complementary Metal Oxide Semiconductor) process and superscalar architecture to achieve the high level of performance expected from the chip. BiCMOS adds about 10 percent to the complexity of the chip design, but adds about 30 to 35 percent better performance without a size or power penalty.

All Pentium processors are SL Enhanced, meaning that they incorporate the SMM to provide full control of power-management features, which helps reduce power consumption. The second-generation Pentium processors (75MHz and faster) incorporate a more advanced form of SMM that includes processor clock control. This enables you to throttle the processor up or down to control power use. With these more advanced Pentium processors, you can even stop the clock, putting the processor in a state of suspension that requires very little power. The second-generation Pentium processors run on 3.3v power (instead of 5v), reducing power requirements and heat generation even further.

Many current motherboards supply either 3.465v or 3.3v. The 3.465v setting is called VRE (Voltage Reduced Extended) by Intel and is required by some versions of the Pentium, particularly some of the 100MHz versions. The standard 3.3v setting is called STD (Standard), which most of the second-generation Pentiums use. STD voltage means anything in a range from 3.135v to 3.465v with 3.3v nominal. There is also a special 3.3v setting called VR (Voltage Reduced), which reduces the range from 3.300v to 3.465v with 3.38v nominal. Some of the processors require this narrower specification, which most motherboards provide. Here is a summary:

Voltage Specification | Nominal | Tolerance | Minimum | Maximum
STD (Standard) | 3.30v | ±0.165 | 3.135v | 3.465v
VR (Voltage Reduced) | 3.38v | ±0.083 | 3.300v | 3.465v
VRE (VR Extended) | 3.50v | ±0.100 | 3.400v | 3.600v

For even lower power consumption, Intel has introduced special Pentium processors with Voltage Reduction Technology in the 75//100/120/133/150MHz family intended for mobile computer applications. These do not use a conventional chip package and are instead mounted using a new format called Tape Carrier Packaging (TCP). The tape carrier packaging does not encase the chip in ceramic or plastic as with a conventional chip package, but instead covers the actual processor die directly with a thin, protective plastic coating. The entire processor is less than 1mm thick, or about half the thickness of a dime, and weighs less than 1 gram. They are sold to system manufacturers in a roll that looks very much like a filmstrip. The TCP processor is directly affixed (soldered) to the motherboard by a special machine, resulting in a smaller package, lower height, better thermal transfer, and lower power consumption. Special solder plugs on the circuit board located directly under the processor draw heat away and provide better cooling in the tight confines of a typical notebook or laptop system, and no cooling fans are required.

The Pentium, like the 486, contains an internal math coprocessor or Floating-Point Unit (FPU). The FPU in the Pentium has been rewritten and performs significantly better than the FPU in the 486, yet it is fully compatible with the 486 and 387 math coproces-sor. The Pentium FPU is estimated to be two to as much as 10 times faster than the FPU in the 486. In addition, the two standard instruction pipelines in the Pentium provide two units to handle standard integer math. (The math coprocessor handles only more complex calculations.) Other processors, such as the 486, have only a single standard execution pipe and one integer-math unit. Interestingly, the Pentium FPU contains a flaw that received widespread publicity. See our discussion in the section "Pentium Defects" later in this chapter.

First-Generation Pentium Processor

The Pentium has been offered in two basic designs, each with several versions. The first-generation design, which is no longer available, came in 60 and 66MHz processor speeds. This design used a 273-pin PGA form factor and ran on 5v power. In this design, the processor ran at the same speed as the motherboard--in other words, a 1x clock is used.

The first-generation Pentium was created through an 0.8-micron BiCMOS process. Unfortunately, this process, combined with the 3.1 million transistor count, resulted in a die that was overly large and complicated to manufacture. As a result, reduced yields kept the chip in short supply; Intel could not make them fast enough. The 0.8-micron process was criticized by other manufacturers, including Motorola and IBM, which had been using 0.6-micron technology for their most advanced chips. The huge die and 5v operating voltage caused the 66MHz versions to consume up to an incredible 3.2 amps or 16 watts of power, resulting in a tremendous amount of heat--and problems in some systems that did not employ conservative design techniques. Often, the system required a separate fan to blow on the processor to keep it cool.

Much of the criticism leveled at Intel for the first-generation Pentium was justified. Some people realized that the first-generation design was just that; they knew that new Pentium versions, made in a more advanced manufacturing process, were coming. Many of those people advised against purchasing any Pentium system until the second- generation version became available.

> TIP: A cardinal rule of computing is never to buy the first generation of any processor. Although you can wait forever because something better always will be on the horizon, a little waiting is worthwhile in some cases.

If you do have one of these first-generation Pentiums, do not despair. As with previous 486 systems, Intel offers OverDrive upgrade chips that effectively double the processor speed of your Pentium 60 or 66. These are a single chip upgrade, meaning they replace your existing CPU. Because subsequent Pentiums are incompatible with the Pentium 60/66 Socket 4 arrangement, these OverDrive chips are the only viable way to upgrade an existing first-generation Pentium without replacing the motherboard.

Second-Generation Pentium Processor

Intel announced the second-generation Pentium on March 7, 1994. This new processor was introduced in 90 and 100MHz versions, with a 75MHz version not far behind. Eventually, 120, 133, 150, 166, and 200MHz versions were also introduced. The second-generation Pentium uses 0.6-micron (75/90/100MHz) BiCMOS technology to shrink the die and reduce power consumption. The newer, faster 120 and higher MHz second-generation versions incorporate an even smaller die built on a 0.35-micron BiCMOS process. These smaller dies are not changed from the 0.6-micron versions, they are basically a photographic reduction of the P54C die. Additionally, these new processors run on 3.3v power. The 100MHz version consumes a maximum 3.25 amps of 3.3v power, which equals only 10.725 watts. Farther up the scale, the 150MHz chip uses 3.5 amps of 3.3v power (11.6 watts); the 166MHz unit draws 4.4 amps (14.5 watts); and the 200MHz processor uses 4.7 amps (15.5 watts).

The second-generation Pentium processors come in a 296-pin SPGA (Staggered Pin Grid Array) form factor that is physically incompatible with the first-generation versions. The only way to upgrade from the first generation to the second is to replace the mother-board. The second-generation Pentium processors also have 3.3 million transistors--more than the earlier chips. The extra transistors exist because additional clock-control SL enhancements were added, as were an on-chip Advanced Programmable Interrupt Controller (APIC) and dual-processor interface.

The APIC and dual-processor interface are responsible for orchestrating dual-processor configurations in which two second-generation Pentium chips can process on the same motherboard simultaneously. Many of the new Pentium motherboards come with dual Socket 7 specification sockets, which fully support the multiprocessing capability of the new chips. Already, software support for what usually is called Symmetric Multi-Processing (SMP) is being integrated into operating systems such as Windows NT and OS/2.

The second-generation Pentium processors use clock-multiplier circuitry to run the processor at speeds faster than the bus. The 150MHz Pentium processor, for example, can run at 2.5 times the bus frequency, which normally is 60MHz. The 200MHz Pentium processor can run at a 3x clock in a system using a 66MHz bus speed.

> NOTE: Currently, running the motherboard faster than 66MHz is impractical because of memory and local-bus performance constraints.

Virtually all Pentium motherboards have three speed settings: 50, 60, and 66MHz. Pentium chips are available with a variety of different internal clock multipliers that cause the processor to operate at various multiples of these motherboard speeds. The following table lists the speeds of currently available Pentium processors and motherboards.

CPU Type/Speed | CPU Clock | Motherboard Speed
Pentium 75 | 1.5x | 50
Pentium 90 | 1.5x | 60
Pentium 100 | 1.5x | 66
Pentium 120 | 2x | 60
Pentium 133 | 2x | 66
Pentium 150 | 2.5x | 60
Pentium 166 | 2.5x | 66
Pentium 200 | 3x | 66

The Core-to-Bus frequency ratio or clock multiplier is controlled in a Pentium processor by two pins on the chip labeled BF1 and BF2. The following table shows how the state of the BFx pins will affect the clock multiplication in the Pentium processor.

BF1 | BF2 | Clock Multiplier | Bus Speed (MHz) | Core Speed (MHz)
0 | 1 | 3x | 66 | 200
0 | 1 | 3x | 60 | 180
0 | 1 | 3x | 50 | 150
0 | 0 | 2.5x | 66 | 166
0 | 0 | 2.5x | 60 | 150
0 | 0 | 2.5x | 50 | 125
1 | 0 | 2x | 66 | 133
1 | 0 | 2x | 60 | 120
1 | 0 | 2x | 50 | 100
1 | 1 | 1.5x | 66 | 100
1 | 1 | 1.5x | 60 | 90
1 | 1 | 1.5x | 50 | 75

Not all chips support the Bus Frequency (BF) pins. In other words, some of the Pentium processors will operate only at specific combinations of these settings, or maybe even fixed at one particular setting. Many of the newer motherboards have jumpers or switches that enable you to control the BF pins and therefore alter the clock multiplier ratio within the chip. In theory, you could run a 75MHz-rated Pentium chip at 133MHz by simply changing jumpers on the motherboard. This is called overclocking, and is discussed in the "Processor Speed Ratings" section of this chapter.

Now that the second-generation Pentium processors have become the industry standard, and the newer Pentium Pro, Pentium-MMX, and Pentium II processors are hitting the market at the high end, the time is right to economically purchase Pentium systems. The ideal system today uses the second-generation 133/166/200MHz processor with a 66MHz motherboard bus speed.

A single chip OverDrive upgrade is currently offered for second-generation Pentiums running at 75, 90, and 100MHz. These OverDrive chips replace the existing Socket 5 or 7 CPU, and increase processor speed by a factor of 1.66x. Simply stated, this means that a Pentium 75 system equipped with the OverDrive chip will have a processor speed of 125MHz, while a Pentium 100 system is upgradable to 166MHz. Perhaps the best feature of these Pentium OverDrive chips is that they incorporate MMX technology. MMX provides greatly enhanced performance while running the multimedia applications that are becoming so popular today. At present, OverDrive chips are not available for any of the faster Pentium chips, although Intel claims that the others (except the 200MHz chip) will be OverDrive-upgradable eventually.

Pentium-MMX Processors

A third generation of Pentium processors (code-named P55C) was released in January 1997, which incorporates what Intel calls MMX technology into the second-generation Pentium design. These Pentium-MMX processors are available in clock rates of 66/166MHz, 66/200MHz, and 66/233MHz. The MMX processors share much in common with other second-generation Pentiums, including superscalar architecture, multi-processor support, on-chip local APIC controller, and power management features. New features include a pipelined MMX unit, 16K code and Write-Back cache (versus 8K in earlier Pentiums), and 4.5 million transistors. Pentium-MMX chips are produced on an enhanced 0.35-micron CMOS silicon process which allows for a lower 2.8v voltage level.

In order to use the Pentium-MMX, the motherboard must be able to supply the lower 2.8v these processors use. To allow a more universal motherboard solution with respect to these changing voltages, Intel has come up with the Socket 7 with VRM. The VRM is a socketed module that plugs in next to the processor and supplies the correct voltage. Because the module is easily replaced, it is easy to reconfigure a motherboard to support any of the voltages required by the newer Pentium processors.

Of course, lower voltage is nice, but MMX is what this chip is really all about. MMX technology was developed by Intel as a direct response to the growing importance and increasing demands of multimedia and communication applications. Many such applications run repetitive loops of instructions that consume vast amounts of time to execute. As a result, MMX incorporates a process Intel calls Single Instruction Multiple Data (SIMD) that allows one instruction to perform the same function on many pieces of data. Furthermore, 57 new instructions have been added to the chip that are designed specifically to handle video, audio, and graphics data.

If you want maximum future upgradability to the MMX Pentiums, make sure that your Pentium motherboard includes 321-pin processor sockets that fully meet the Intel Socket 7 specification. These would also include the VRM (Voltage Regulator Module) socket. If you have dual sockets, you can add a second Pentium processor to take advantage of SMP (Symmetric Multi-Processing) support in some newer operating systems.

Also, make sure that any Pentium motherboard you buy can be jumpered or recon- figured for both 60 and 66MHz operation. This will enable you to take advantage of future Pentium OverDrive processors that will support the higher motherboard clock speeds. These simple recommendations will enable you to perform several dramatic upgrades without changing the entire motherboard.

### Pentium Pro Processor

Intel's successor to the Pentium is called the Pentium Pro. The Pentium Pro was introduced in September of 1995, and became widely available in 1996. The chip itself is a 387-pin unit that resides in Socket 8, so it is not pin-compatible with earlier Pentiums. The new chip is unique among processors as it is constructed in a Multi-Chip Module (MCM) physical format, which Intel is calling a Dual Cavity PGA (Pin Grid Array) package. Inside the 387-pin chip carrier are two dies, one containing the actual Pentium Pro processor, and the other a 256K or 512K L2 cache. The processor die contains 5.5 million transistors, the 256K cache die contains 15.5 million transistors, and the 512K cache die has 31 million transistors, for a potential total of 36.5 million transistors in a complete 512K module!

The architecture of the Pentium Pro includes three internal instruction pipes, which can execute multiple instructions in one cycle. The main processor die includes a 16K split L1 cache with an 8K two-way set associative cache for primary instructions, and an 8K four-way set associative cache for data. The Pentium Pro can execute instructions out of order and has dynamic branch prediction and speculative execution capabilities. These techniques are collectively referred to by Intel as Dynamic Execution. Table 6.8 shows Pentium Pro processor specifications.

#### Table 6.8 Pentium Pro Processor Specifications

Introduced: | September 1995
Maximum rated speeds: | 150, 166, 180, 200MHz
CPU clock multiplier: | 2.5x-3x
Register size: | 32-bit
External data bus: | 64-bit
Integrated-cache bus: | 64-bit
Memory address bus: | 32-bit
Maximum memory: | 4G
Integral-cache size: | 8K code, 8K data
Integral-cache type: | non-blocking, L1 cache
Number of transistors: | 5.5 million
Transistors in L2 cache: | 15.5 million (256K cache), 31 million (512K cache)
Circuit size: | 0.35 micron
External package: | 387-pin Dual Cavity PGA (Pin Grid Array)
Math coprocessor: | Built-in FPU (Floating-Point Unit)
Power management: | SMM (System Management Mode)
Operating voltage: | 3.3v

In many ways, the Pentium Pro seems to be more of an evolutionary design compared to the Pentium rather than something totally new. The core of the chip is very RISC (Reduced Instruction Set Computer)-like, while the external instruction interface is classic Intel CISC (Complex Instruction Set Computer). By breaking down the CISC instructions into several different RISC instructions and running them down parallel execution pipelines, the overall performance is increased.

Compared to the Pentium, the Pentium Pro is faster--as long as you're running 32-bit software. The Pro's Dynamic Execution is maximized for performance primarily when running 32-bit software such as Windows NT. If you are using 16-bit software, such as Windows 95 (which operates part-time in a 16-bit environment) and most older applications, the Pentium Pro will not provide a marked performance improvement over similarly speed rated Pentium and Pentium-MMX processors. Because of this, Windows NT is often regarded as the mandatory operating system for use with Pentium Pros. Although this is not exactly true (a Pentium Pro will run just fine under Windows 95), it is the only way to truly take advantage of the Pro's capabilities.

As we saw in Table 6.3, performance comparisons on the iCOMP 2.0 Index rate a classic Pentium 200MHz at 142, whereas a Pentium Pro 200MHz scores an impressive 220. Just for comparison, note that a Pentium MMX 200MHz falls right about in the middle performance-wise at 182. Keep in mind that using a Pentium Pro with Windows 95 or other 16-bit software will nullify much of the performance gain shown by the iCOMP 2.0 rating. The following table lists speeds for Pentium Pro processors and motherboards:

CPU Type/Speed | CPU Clock | Motherboard Speed
Pentium Pro 150 | 2.5x | 60
Pentium Pro 166 | 2.5x | 66
Pentium Pro 180 | 3x | 60
Pentium Pro 200 | 3x | 66

The integrated L2 cache is one of the really outstanding features of the Pentium Pro. By building the L2 cache into the CPU and getting it off the motherboard, they can now run the cache at full processor speed rather than the slower 60 or 66MHz motherboard bus speeds. In fact, the L2 cache features its own internal 64-bit backside bus, which does not share time with the external 64-bit frontside bus used by the CPU. The internal registers and data paths are still 32-bit as with the Pentium. By building the L2 cache into the system, motherboards can be cheaper because they no longer require separate cache memory. Some boards may still try to include cache memory in their design, but the general consensus is that Level 3 cache (as it would be called) would offer less improvement with the Pentium Pro than with the Pentium.

One of the features of the built-in L2 cache is that multiprocessing is greatly improved. Rather than just SMP, as with the Pentium, the Pentium Pro supports a new type of multiprocessor configuration called the Multiprocessor Specification (MPS 1.1). The Pentium Pro with MPS allows configurations of up to four processors running together. Unlike other multiprocessor configurations, the Pentium Pro avoids cache coherency problems because each chip maintains a separate L1 and L2 cache internally.

Pentium Pro-based motherboards are pretty much exclusively PCI and ISA bus based, and Intel is producing their own chipsets for these motherboards. The first chipset was called Orion, while the newest version is called Natoma. Along with the new chipsets, Intel created a motherboard form factor change for Pentium Pro boards. The new form factor is called ATX, and is different from the Baby-AT form factor used by most PC-compatibles in the past. The ATX form factor is about the same 9x13-inch size as the Baby-AT, but the board is turned 90 degrees from the way the Baby-AT boards mount. In other words, the long side is now against the back of the case, and the expansion slots will be parallel with the short side of the board. The main reason for the new form factor is to move the CPU to an area where expansion cards will not be located, which should allow much better cooling. Baby-AT based systems with the CPU under the slots can have problems in this area, sometimes preventing one from using all the available bus slots.

Another benefit of the ATX form factor is that the long edge of the board is against the back of the case, allowing room for many built-in connectors. ATX boards are highly integrated, featuring built-in dual serial ports, a parallel port, floppy controller, dual enhanced IDE ports, integrated sound, SVGA video, and optional SCSI and networking interfaces. Of course, this new motherboard form factor requires re-tooled cases, although Baby-AT power supplies can still be used. Intel is sharing the specifications of the new ATX form factor, and many other motherboard manufacturers already have designs ready. ATX boards have begun to show up on non-Pentium Pro systems, although the new NLX form factor may displace the emerging popularity of the ATX in the near future.

Some Pentium Pro system manufacturers have been tempted to stick with the Baby-AT form factor. The big problem with the standard Baby-AT form factor is keeping the CPU properly cooled. The massive Pentium Pro processor consumes more than 25 watts and generates an appreciable amount of heat.

### Pentium II

Intel revealed its latest processor in May 1997 when it pulled the wraps off the Pentium II. Prior to its official unveiling, the Pentium II processor was popularly referred to by its code name "Klamath," and was surrounded by much speculation throughout the industry. From a physical standpoint, it is truly something new. The chip is characterized by its Single Edge Contact (SEC) cartridge and large heat sink. The processor mounts to its own little board--along with the L2 cache--which is then plugged into the motherboard through an edge connector, much like a PCI I/O card. Intel developed the new NLX motherboard form factor to go along with the Pentium II. Several manufacturers currently offer Pentium II motherboards that are based on the ATX form factor, but I would not recommend buying them because of space limitations. The ones I have seen only have two SIMM sockets, which is not acceptable. At present, Intel is offering Pentium II processors with the following speeds:

CPU Type/Speed | CPU Clock | Motherboard Speed
Pentium II 233 | 3.5x | 66
Pentium II 266 | 4x | 66
Pentium II 300 | 4.5x | 66

These are some very fast processors, at least for now. As Table 6.3 shows, the iCOMP 2.0 Index rating for the Pentium II 266MHz chip is more than twice as fast as a classic Pentium 200MHz. Aside from speed, one way to think of the Pentium II is as a Pentium Pro with MMX technology instructions. It has the same multiprocessor scalability as the Pentium Pro, as well as the integrated L2 cache. Also included are the 57 new multi-media-related instructions carried over from the MMX processors, and the ability to process repetitive loop commands more efficiently.

All Pentium II processors are still manufactured with the 0.35 micron process. Some have speculated about the possibility of 0.25 micron manufacturing techniques being put into use soon, but it has yet to materialize publicly. Maximum current draw for the 233MHz CPU is 11.8 amps; the 266MHz chip draws 12.7 amps; and the 300MHz unit takes 14.2 amps. At the 2.8v CPU voltage all Pentium II processors run on, wattage is in excess of 30 watts for all Pentium IIs. Table 6.9 shows Pentium II processor specifications.

#### Table 6.9 Pentium II Processor Specifications |
Introduced: | May 1997
Maximum rated speeds: | 233, 266, 300MHz
CPU clock multiplier: | 3.5x,4x-4.5x
Internal bus width: | 300-bit
External data bus: | 64-bit
Integrated-cache bus: | 64-bit
Memory address bus: | 32-bit
Maximum memory: | 64G
Integral-cache size: | 16K code, 16K data
Integral-cache type: | non-blocking, L1 cache
Number of transistors: | 7.5 million
L2 cache size: | 512K
Transistors in L2 cache: | 31 million
Circuit size: | 0.35 micron
External package: | 242-pin Single Edge Cartridge
Math coprocessor: | Built-in FPU (Floating-Point Unit)
Power management: | SMM (System Management Mode)
Operating voltage: | 2.8v

As you can see from the table, the Pentium II can handle up to 64G of physical memory. In addition, the CPU incorporates Dual Independent Bus architecture. This means the chip has two independent buses: one for accessing the L2 cache, the other for accessing main memory. These dual buses can operate simultaneously, greatly accelerating the flow of data within the system. Intel claims that this architecture allows up to three times the bandwidth of normal single bus processors. At any rate, the Pentium II looks to be the new industry standard--for now.

## Intel-Compatible Processors

Several companies--mainly AMD and Cyrix--have developed processors that are compatible with Intel processors. These chips are fully Intel-compatible, which means that they emulate every processor instruction in the Intel chips. Most of the chips are pin-compatible, which means that they can be used in any system designed to accept an Intel processor; others require a custom motherboard design. Any hardware or software that works on Intel-based PCs will work on PCs made with these third-party CPU chips. There are a number of companies that currently offer Intel-compatible chips, and we will discuss some of the most popular ones here.

### AMD Processors

Advanced Micro Designs (AMD) has become a major player in the Pentium-compatible chip market with their own line of Intel-compatible processors. AMD ran into trouble with Intel several years ago because their 486-clone chips used actual Intel microcode. These differences have been settled and AMD now has a five-year cross license agreement with Intel. In 1996, AMD finalized a deal to absorb NexGen, another maker of Intel-compatible CPUs. AMD currently offers a wide variety of CPUs, from 486 upgrades to the MMX capable K6. The following table lists the basic processors offered by AMD and their Intel socket:

CPU | Clock Speed | Socket
Am486DX4-100 | 100 | Socket 1,2,3
Am486DX4-120 | 120 | Socket 1,2,3
Am5x86 | 75 | Socket 1,2,3
K5 PR75 | 75 | Socket 5,7
K5 PR90 | 90 | Socket 5,7
K5 PR100 | 100 | Socket 5,7
K5 PR120 | 90 | Socket 5,7
K5 PR133 | 100 | Socket 5,7
K5 PR166 | 116.66 | Socket 5,7
K6-166 MMX | 166 | Socket 7
K6-200 MMX | 200 | Socket 7
K6-233 MMX | 233 | Socket 7

Notice in the table that for the K5 PR120 through PR166 the model designation does not match the CPU clock speed. The later K5 chips benefit from improved design, so they run faster at a given clock speed. The model designations are meant to represent performance comparable with an equivalent Pentium-based system. AMD chips, particularly the new K6, have typically fared well in performance comparisons, and usually have a much lower cost.

You can get complete product information from AMD's Web page at

http://www.amd.com

### Cyrix

Like Intel, Cyrix has begun to limit its selection of available CPUs to only the latest technology. Cyrix is currently focusing on the Pentium market with the M1 (6x86 and 6x86MX) and M2 processors. The M1 has 3.3 million transistors and was initially manufactured on a 0.65-micron process. The 6x86 has dual internal pipelines and a single unified 16K internal cache. It offers speculative and out of order instruction execution, much like the Intel Pentium Pro processor. The 6x86MX adds MMX technology to the CPU. The chip is Socket 7-compatible, but some require modified chipsets and new motherboard designs. The following table lists Cyrix M1 processors and bus speeds:

CPU Type/Speed | Clock Speed | CPU Clock | Motherboard Speed
6x86-PR120 | 100 | 2x | 50
6x86-PR133 | 110 | 2x | 55*
6x86-PR150 | 120 | 2x | 60
6x86-PR166 | 133 | 2x | 66
6x86-PR200 | 150 | 2x | 75**
6x86MX-PR166 | 150 | 2.5x | 60
6x86MX-PR200 | 166 | 2.5x | 66
6x86MX-PR233 | 188 | 2.5x | 75**

*Not all motherboards support a 55MHz bus speed. **This 75MHz bus speed requires a special motherboard and chipset.

Cyrix recently announced its latest chip, the M2. The M2 features 64K of unified L1 cache and more than double the performance of 6x86 CPUs. The M2 will be offered in clock speeds ranging from 180 to 225MHz, and like M1 chips it is Socket 7-compatible. All Cyrix chips are manufactured by IBM, who also markets the clone chips under its own name.

## Math Coprocessors

The next several sections cover the math coprocessor. Older central processing units designed by Intel (and cloned by other companies) can use a math-coprocessor chip. However, when Intel introduced the 486DX they included a built-in math coprocessor, and every processor built by Intel (and AMD and Cyrix for that matter) since then includes a math coprocessor. Coprocessors provide hardware for floating-point math, which otherwise would create an excessive drain on the main CPU. Math chips speed your computer's operation only when you are running software designed to take advantage of the coprocessor.

Math chips (as coprocessors sometimes are called) can perform high-level mathematical operations--long division, trigonometric functions, roots, and logarithms, for example--at 10 to 100 times the speed of the corresponding main processor. The integer units in the primary CPU work with real numbers, so they perform addition, subtraction, and multiplication operations. The primary CPU is designed to handle such computations; these operations are not offloaded to the math chip.

The instruction set of the math chip is different from that of the primary CPU. A program must detect the existence of the coprocessor and then execute instructions written explicitly for that coprocessor; otherwise, the math coprocessor draws power and does nothing else. Fortunately, most modern programs that can benefit from the use of the coprocessor correctly detect and use the coprocessor. These programs usually are math-intensive programs: spreadsheet programs, database applications, statistical programs, and graphics programs, such as computer-aided design (CAD) software. Word processing programs do not benefit from a math chip and therefore are not designed to use one. Table 6.10 summarizes the coprocessors available for the Intel family of processors.

#### Table 6.10 Math Coprocessor Summary

Processor | Coprocessor
8086 | 8087
8088 | 8087
80286 | 80287
80386SX | 80387SX
80386SL | 80387SX
80386SLC | 80387SX
80486SLC | 80387SX
80486SLC2 | 80387SX
80386DX | 80387DX
80486SX | 80487SX, DX2/OverDrive*
80487SX* | Built-in FPU
80486SX2 | DX2/OverDrive**
80486DX | Built-in FPU
80486DX2 | Built-in FPU
80486DX4 | Built-in FPU
Pentium/Pentium-MMX | Built-in FPU
Pentium Pro | Built-in FPU
Pentium II | Built-in FPU

FPU = Floating-Point Unit
*The 487SX chip is a modified pinout 486DX chip with the math coprocessor enabled. When you plug in a 487SX chip, it disables the 486SX main processor and takes over all processing.
**The DX2/OverDrive is equivalent to the SX2 with the addition of a functional FPU.

Within each 8087 group, the maximum speed of the math chips varies. A suffix digit after the main number, as shown in Table 6.11, indicates the maximum speed at which a system can run a math chip.

#### Table 6.11 Maximum Math Chip Speeds

Part | Speed | Part | Speed
8087 | 5MHz | 80287 | 6MHz
8087-3 | 5MHz | 80287-6 | 6MHz
8087-2 | 8MHz | 80287-8 | 8MHz
8087-1 | 10MHz | 80287-10 | 10MHz

The 387 math coprocessors, as well as the 486 or 487 and Pentium processors, always indicate their maximum speed rating in MHz in the part-number suffix. A 486DX2-66, for example, is rated to run at 66MHz. Some processors incorporate clock multiplication, which means that they may run at different speeds compared with the rest of the system.

> TIP: The performance increase in programs that use the math chip can be dramatic--usually, a geometric increase in speed occurs. If the primary applications that you use can take advantage of a math coprocessor, you should upgrade your system to include one.

Most systems that use the 386 or earlier processors are socketed for a math coprocessor as an option, but they do not include a coprocessor as standard equipment. A few systems on the market don't even have a socket for the coprocessor because of cost and size considerations. Usually, these systems are low-cost or portable systems, such as older laptops, the IBM PS/1, and the PCjr. For more specific information about math coprocessors, see the discussions of the specific chips--8087, 287, 387, and 487SX--in the following sections. Table 6.12 shows some of the specifications of the various math coprocessors.

#### Table 6.12 Intel Math Coprocessor Specifications

Name | Power Consumption | Case Min.Temp. | Case Max. Temp. | No. of Transistors | Date Introduced
8087 | 3 watts | 0°C, 32°F | 85°C, 185°F | 45,000 | 1980
287 | 3 watts | 0°C, 32°F | 85°C, 185°F | 45,000 | 1982
287XL | 1.5 watts | 0°C, 32°F | 85°C, 185°F | 40,000 | 1990
387SX | 1.5 watts | 0°C, 32°F | 85°C, 185°F | 120,000 | 1988
387DX | 1.5 watts | 0°C, 32°F | 85°C, 185°F | 120,000 | 1987

Most often, you can learn what CPU and math coprocessor are installed in a particular system by checking the system documentation. The following sections examine the Intel family of CPUs and math coprocessors in more detail.

### 8087 Coprocessor

Intel introduced the 8086 processor in 1976. The math coprocessor that was paired with the chip--the 8087--often was called the numeric data processor (NDP), the math coprocessor, or simply the math chip. The 8087 is designed to perform high-level math operations at many times the speed and accuracy of the main processor. The primary advantage of using this chip is the increased execution speed in number-crunching programs, such as spreadsheet applications. Using the 8087 has several minor disadvantages, however, including software support, cost, power consumption, and heat production.

The primary disadvantage of installing the 8087 chip is that you notice an increase in speed only in programs written to use this coprocessor--and then not in all operations. Only math-intensive programs such as spreadsheet programs, statistical programs, CAD software, and engineering software support the chip. Even then, the effects vary from application to application, and support is limited to specific areas. For example, versions of Lotus 1-2-3 that support the coprocessor do not use the coprocessor for common operations, such as addition, subtraction, multiplication, and division.

Applications that usually do not use the 8087 at all include word processing programs, telecommunications software, and database programs.

### 80287 Coprocessor

The 80287, internally, is the same math chip as the 8087, although the pins used to plug them into the motherboard are different. Both the 80287 and the 8087 operate as though they were identical.

In most systems, the 80286 internally divides the system clock by 2 to derive the processor clock. The 80287 internally divides the system-clock frequency by 3. For this reason, most AT-type computers run the 80287 at one-third the system clock rate, which also is two-thirds the clock speed of the 80286. Because the 286 and 287 chips are asynchronous, the interface between the 286 and 287 chips is not as efficient as with the 8088 and 8087.

In summary, the 80287 and the 8087 chips perform about the same at equal clock rates. The original 80287 is not better than the 8087 in any real way--unlike the 80286, which is superior to the 8086 and 8088. In most AT systems, the performance gain that you realize by adding the coprocessor is much less substantial than the same type of upgrade for PC- or XT-type systems, or for the 80386.

### 80387 Coprocessor

Although the 80387 chips run asynchronously, 386 systems are designed so that the math chip runs at the same clock speed as the main CPU. Unlike the 80287 coprocessor, which was merely an 8087 with different pins to plug into the AT motherboard, the 80387 coprocessor is a high-performance math chip designed specifically to work with the 386.

All 387 chips use a low-power-consumption CMOS design. The 387 coprocessor has two basic designs: the 387DX coprocessor, which is designed to work with the 386DX processor; and the 387SX coprocessor, which is designed to work with the 386SX, SL, or SLC processors.

Intel originally offered several speeds for the 387DX coprocessor. But when the company designed the 33MHz version, a smaller mask was required to reduce the lengths of the signal pathways in the chip. This increased the performance of the chip by roughly 20 percent.

> NOTE: Because Intel lagged in developing the 387 coprocessor, some early 386 systems were designed with a socket for a 287 coprocessor. Performance levels associated with that union, however, leave much to be desired.

Installing a 387DX is easy, but you must be careful to orient the chip in its socket properly; otherwise, the chip will be destroyed. The most common cause of burned pins on the 387DX is incorrect installation. In many systems, the 387DX is oriented differently from other large chips. Follow the manufacturer's installation instructions carefully to avoid damaging the 387DX; Intel's warranty does not cover chips that are installed incorrectly.

Several manufacturers have developed their own versions of the Intel 387 coprocessors, some of which are touted as being faster than the original Intel chips. The general compatibility record of these chips is very good.

### Weitek Coprocessors

In 1981, several Intel engineers formed Weitek Corporation. Weitek has developed math coprocessors for several systems, including those based on Motorola processor designs. Intel originally contracted Weitek to develop a math coprocessor for the Intel 386 CPU, because Intel was behind in its own development of the 387 math coprocessor. The result was the Weitek 1167, a custom math coprocessor that uses a proprietary Weitek instruction set, which is incompatible with the Intel 387.

Weitek introduced the 4167 coprocessor chip for 486 systems in November 1989. To use the Weitek coprocessor, your system must have the required additional socket. Before purchasing one of the Weitek coprocessors, you should determine whether your software supports it. Then you should contact the software company to determine whether the Weitek has a performance advantage over the Intel coprocessor.

### 80487 Upgrade

The Intel 80486 processor was introduced in late 1989, and systems using this chip appeared during 1990. The 486DX integrated the math coprocessor into the chip.

The 486SX began life as a full-fledged 486DX chip, but Intel actually disabled the built-in math coprocessor before shipping the chip. As part of this marketing scheme, Intel marketed what it called a 487SX math coprocessor. Motherboard manufacturers installed an Intel-designed socket for this so-called 487 chip. In reality, however, the 487SX math chip was a special 486DX chip with the math coprocessor enabled. When you plugged this chip into your motherboard, it disabled the 486SX chip and gave you the functional equivalent of a full-fledged 486DX system.

## Processor Tests

The processor is easily the most expensive chip in the system. Processor manufacturers use specialized equipment to test their own processors, but you have to settle for a little less. The best processor-testing device to which you have access is a system that you know is functional; you then can use the diagnostics available from IBM and other system manufacturers to test the motherboard and processor functions. Most systems mount processors in a socket for easy replacement.

Landmark offers specialized diagnostics software called Service Diagnostics to test various processors. Special versions are available for each processor in the Intel family. If you don't want to purchase this kind of software, you can perform a quick-and-dirty processor evaluation by using the normal diagnostics program supplied with your system.

Because the processor is the brain of a system, most systems don't function with a defective one. If a system seems to have a dead motherboard, try replacing the processor with one from a functioning motherboard that uses the same CPU chip. You may find that the processor in the original board is the culprit. If the system continues to play dead, however, the problem is elsewhere.

### Known Defective Chips

A few system problems are built-in at the factory, although these bugs or design defects are rare. By learning to recognize these problems, you may avoid unnecessary repairs or replacements. This section describes several known defects in system processors.

Early 80386s

Some early 16MHz Intel 386DX processors had a small bug that you may have encountered in troubleshooting what seems to be a software problem. The bug, which apparently is in the chip's 32-bit multiply routine, manifests itself only when you run true 32-bit code in a program such as OS/2 2.x, UNIX/386, or Windows in Enhanced mode. Some specialized 386 memory-management software systems also may invoke this subtle bug, but 16-bit operating systems (such as DOS and OS/2 1.x) probably will not.

The bug usually causes the system to lock up. Diagnosing this problem can be difficult because the problem generally is intermittent and software-related. Running tests to find the bug is difficult; only Intel, with proper test equipment, can determine whether your chip has a bug. Some programs can diagnose the problem and identify a defective chip, but they cannot identify all defective chips. If a program indicates a bad chip, you certainly have a defective one; if the program passes the chip, you still may have a defective one.

Intel requested that its 386 customers return possibly defective chips for screening, but many vendors did not return them. Intel tested returned chips and replaced defective ones. The defective chips later were sold to bargain liquidators or systems houses that wanted chips that would not run 32-bit code. The defective chips were stamped with a 16-bit SW Only logo, indicating that they were authorized to run only 16-bit software.

Chips that passed the test, and all subsequent chips produced as bug-free, were marked with a double-sigma code ([Sigma][Sigma]), which indicates a good chip. 386DX chips that are not marked with either of these designations have not been tested by Intel and may be defective.

The following marking indicates that a chip has not yet been screened for the defect; it may be either good or bad. Return a chip of this kind to the system manufacturer, which will return the chip for a free replacement. 80386-16 The following marking indicates that the chip has been tested and has the 32-bit multiply bug. The chip works with 16-bit software (such as DOS) but not with 32-bit, 386-specific software (such as Windows or OS/2). 80386-16 16-bit SW Only The following mark on a chip indicates that it has been tested as defect-free. This chip fulfills all the capabilities promised for the 80386. 80386-16 [Sigma][Sigma] This problem was discovered and corrected before Intel officially added DX to the part number. So if you have a chip labeled as 80386DX or 386DX, it does not have this problem.

Another problem with the 386DX can be stated more specifically. When 386-based versions of XENIX or other UNIX implementations are run on a computer that contains a 387DX math coprocessor, the computer locks up under certain conditions. The problem does not occur in the DOS environment, however. For the lockup to occur, all the following conditions must be in effect:

- Demand page virtual memory must be active.
- A 387DX must be installed and in use.
- DMA (direct memory access) must occur.
- The 386 must be in a wait state.

When all these conditions are true at the same instant, the 386DX ends up waiting for the 387DX, and vice versa. Both processors will continue to wait for each other indefinitely. The problem is in certain versions of the 386DX, not in the 387DX math co- processor.

Intel published this problem (Errata 21) immediately after it was discovered to inform its OEM customers. At that point, it became the responsibility of each manufacturer to implement a fix in its hardware or software product. Some manufacturers, such as Compaq and IBM, responded by modifying their motherboards to prevent these lockups from occurring.

The Errata 21 problem occurs only in the B Stepping version of the 386DX and not in the later D Stepping version. You can identify the D Stepping version of the 386DX by the letters DX in the part number (for example, 386DX-20). If DX is part of the chip's part number, the chip does not have this problem.

Pentium Defects

Probably the most famous processor bug in history is the now legendary flaw in the Pentium Floating-Point Unit (FPU). It has often been called the FDIV bug, because it affects primarily the FDIV (Floating-Point Divide) instruction, although several other instructions that use division are also affected. Intel officially refers to this problem as Errata No. 23, titled "Slight precision loss for floating point divides on specific operand pairs." The bug has been fixed in the D1 or later steppings of the 60/66MHz Pentium processors, as well as the B5 and later steppings of the 75/90/100MHz processors. The 120MHz and higher processors are manufactured from later steppings, which do not include this problem.

This bug caused a tremendous fervor when it first was reported on the Internet by a mathematician in October, 1994. Within a few days news of the defect had spread nationwide, and even people who did not have computers had heard about it. Using certain combinations of numbers, the Pentium would incorrectly perform floating point division calculations, with errors anywhere from the third digit on up.

By the time the bug was publicly discovered outside of Intel, they had already incorporated the fix into the next stepping of both the 60/66MHz and the 75/90/100MHz Pentium processor, along with the other corrections they had made.

After the bug was made public and Intel admitted to already knowing about it, a fury erupted. As people began checking their spreadsheets and other math calculations, many discovered that they had also encountered this problem and did not know it. Others who had not really encountered the problem had their faith in the core of their PCs very shaken. People had come to put so much trust in the PC that they had a hard time coming to terms with the fact that it might not even be able to do math correctly!

One interesting result of the fervor surrounding this defect is that people are less likely to implicitly trust their PCs, and are therefore doing more testing and evaluating of important results. The bottom line is that if your information and calculations are important enough, you should implement some program of checking your results. In looking for problems with math, several programs were found to have problems. For example, a bug was discovered in the yield function of Excel 5.0 that some were attributing to the Pentium processor. In this case, the problem turned out to be the software, which has been corrected in later versions (5.0c and later).

Intel finally decided that in the best interest of the consumer as well as their public image, they would begin a lifetime replacement warranty on the affected processors. This means that if you ever encounter one of the Pentium processors with the Errata 23 Floating-Point bug, they will replace the processor with an equivalent one without this problem. Normally, all you have to do is to call Intel and ask for the replacement. They will ship you a new part matching the ratings of the one you are replacing in an overnight shipping box. The replacement is free, including all shipping charges. You merely remove your old processor, replace it with the new one, and then put the old one back in the box. Then you call the overnight service who will pick it up and send it back. Intel will take a credit card number when you first call for the replacement only to ensure that the original defective chip is returned. As long as they get the original CPU back within a specified amount of time, there will be no charges to you. Intel has indicated that these defective processors will be destroyed and will not be remarketed or resold in another form.

Testing for the FPU Bug

Testing a Pentium for this bug is relatively easy. All you have to do is to execute one of the test division cases cited here and see if your answer compares to the correct result.

The division calculation can be done in a spreadsheet (such as Lotus 1-2-3, Microsoft Excel, or any other), in the Microsoft Windows built-in calculator, or in any other calculating program that uses the FPU. Make sure that for the purposes of this test the FPU has not been disabled. That would normally require some special command or setting specific to the application, and would of course ensure that the test came out correct no matter if the chip is flawed or not.

The most severe Pentium floating point errors occur as early as the third significant digit of the result. Here is an example of one of the more severe instances of the problem: 962,306,957,033 / 11,010,046 = 87,402.6282027341 (correct answer) 962,306,957,033 / 11,010,046 = 87,399.5805831329 (flawed Pentium) Note that your particular calculator program may not show the answer to the number of digits shown here. Most spreadsheet programs limit displayed results to 13 or 15 significant digits.

As you can see, in the previous case the error turns up in the third most significant digit of the result. In an examination of over 5,000 integer pairs in the 5 to 15 digit range found to produce Pentium floating point division errors, errors beginning in the sixth significant digit were the most likely to occur, although errors occurred anywhere from the third digit on up.

Here is another division problem that will come out incorrectly on a Pentium with this flaw: 4,195,835 / 3,145,727 = 1.33382044913624100 (correct answer) 4,195,835 / 3,145,727 = 1.33373906890203759 (flawed Pentium) This one shows an error in the fifth significant digit. A variation on the previous calculation can be performed as follows: x = 4,195,835

y = 3,145,727

z = x - (x/y)*y

4,195,835 - (4,195,835 / 3,145,727) * 3,145,727 = 0 (correct answer) 4,195,835 - (4,195,835 / 3,145,727) * 3,145,727 = 256 (flawed Pentium) With an exact computation, the answer here should be zero. In fact, you will get zero on most machines, including those using Intel 286, 386, and 486 chips. But, on the Pentium, the answer is 256!

Here is one more calculation you can try: 5,505,001 / 294,911 = 18.66665197 (correct answer) 5,505,001 / 294,911 = 18.66600093 (flawed Pentium) This one represents an error in the sixth significant digit.

There are several workarounds for this bug, but they extract a performance penalty. Because Intel has agreed to replace any Pentium processor with this flaw under a lifetime warranty replacement program, if you have a chip with this defect, the best workaround is a free replacement!

Power Management Bugs

Starting with the second-generation Pentium processors, Intel added functions that allow these CPUs to be installed in energy efficient systems. These are usually called Energy Star systems because they meet the specifications imposed by the EPA Energy Star program, but they are also unofficially called "Green PCs" by many users.

Unfortunately, there have been several bugs with respect to these functions, causing them to either fail or be disabled. These bugs are in some of the functions in the power management capabilities accessed through SMM. These problems are only applicable to the second generation 75/90/100MHz processors, because the first generation 60/66MHz processors do not have SMM or power management capabilities, and all higher speed (120MHz and up) processors have the bugs fixed.

Most of the problems are related to the STPCLK# pin and the HALT instruction. If this condition is invoked by the chipset, the system will hang. For most systems, the only workaround for this problem is to simply disable the power-saving modes, such as suspend or sleep. Unfortunately, this means that your green PC won't be so green anymore! The best way to repair the problem is to replace the processor with a later stepping version that does not have the bug. These bugs affect the B1 stepping version of the 75/90/100MHz Pentiums, and were fixed in the B3 and later stepping versions.

### Pentium Processor Models and Steppings

It is a sort of dirty little secret in the business that no processor is truly ever perfect. From time to time, the manufacturers will gather up what problems they have found and put into production a new stepping, which consists of a new set of masks that incorporate the corrections. Each subsequent stepping is better and more refined than the previous ones. Although no microprocessor is ever perfect, they come closer to perfection with each stepping. In the life of a typical microprocessor, a manufacturer may go through half a dozen or more such steppings.

The following table shows all the versions of the Pentium processor Model 1 (60/66MHz version) indicating the various steppings that have been available.

Type | Family | Model | Stepping | Mfg. Stepping | Speed | Spec. Number | Comments
0 | 5 | 1 | 3 | B1 | 50 | Q0399 | ES
0 | 5 | 1 | 3 | B1 | 60 | Q0352 |
0 | 5 | 1 | 3 | B1 | 60 | Q0400 | ES
0 | 5 | 1 | 3 | B1 | 60 | Q0394 | ES,HS
0 | 5 | 1 | 3 | B1 | 66 | Q0353 | 5v1
0 | 5 | 1 | 3 | B1 | 66 | Q0395 | ES,HS,5v1
0 | 5 | 1 | 3 | B1 | 60 | Q0412 |
0 | 5 | 1 | 3 | B1 | 60 | SX753 |
0 | 5 | 1 | 3 | B1 | 66 | Q0413 | 5v2
0 | 5 | 1 | 3 | B1 | 66 | SX754 | 5v2
0 | 5 | 1 | 5 | C1 | 60 | Q0466 | HS
0 | 5 | 1 | 5 | C1 | 60 | SX835 | HS
0 | 5 | 1 | 5 | C1 | 60 | SZ949 | HS,BOX
0 | 5 | 1 | 5 | C1 | 66 | Q0467 | HS,5v2
0 | 5 | 1 | 5 | C1 | 66 | SX837 | HS,5v2
0 | 5 | 1 | 5 | C1 | 66 | SZ950 | HS,BOX,5v2
0 | 5 | 1 | 7 | D1 | 60 | Q0625 | HS
0 | 5 | 1 | 7 | D1 | 60 | SX948 | HS
0 | 5 | 1 | 7 | D1 | 60 | SX974 | HS,5v3
0 | 5 | 1 | 7 | D1 | 60 | -* | HS,BOX
0 | 5 | 1 | 7 | D1 | 66 | Q0626 | HS,5v2
0 | 5 | 1 | 7 | D1 | 66 | SX950 | HS,5v2
0 | 5 | 1 | 7 | D1 | 66 | Q0627 | HS,5v3
0 | 5 | 1 | 7 | D1 | 66 | SX949 | HS,5v3
0 | 5 | 1 | 7 | D1 | 66 | -* | HS,BOX,5v2

The following table shows all the versions of the Pentium processor Model 2 and higher (75+ MHz versions) indicating the various steppings that have been available:

Type | Family | Model | Stepping | Mfg. Stepping | Speed | Spec. Number | Comments
0 | 5 | 2 | 1 | B1 | 75 | Q0540 | ES,HS
2 | 5 | 2 | 1 | B1 | 75 | Q0541 | ES,HS
0 | 5 | 2 | 1 | B1 | 90 | Q0542 | HS
0 | 5 | 2 | 1 | B1 | 90 | Q0613 | VR,HS
2 | 5 | 2 | 1 | B1 | 90 | Q0543 | DP,HS
0 | 5 | 2 | 1 | B1 | 100 | Q0563 | HS
0 | 5 | 2 | 1 | B1 | 100 | Q0587 | VR,HS
0 | 5 | 2 | 1 | B1 | 100 | Q0614 | VR,HS
0 | 5 | 2 | 1 | B1 | 75 | Q0601 | TCP
0 | 5 | 2 | 1 | B1 | 90 | SX879 | HS
0 | 5 | 2 | 1 | B1 | 90 | SX885 | MD,HS
0 | 5 | 2 | 1 | B1 | 90 | SX909 | VR,HS
2 | 5 | 2 | 1 | B1 | 90 | SX874 | DP,HS
0 | 5 | 2 | 1 | B1 | 100 | SX886 | MD,HS
0 | 5 | 2 | 1 | B1 | 100 | SX910 | VR,MD,HS
0 | 5 | 2 | 2 | B3 | 90 | Q0628 | HS
0/2 | 5 | 2 | 2 | B3 | 90 | Q0611 | HS
0/2 | 5 | 2 | 2 | B3 | 90 | Q0612 | VR,HS
0 | 5 | 2 | 2 | B3 | 100 | Q0677 | VRE,MD,HS
0 | 5 | 2 | 2 | B3 | 75 | Q0606 | TCP
0 | 5 | 2 | 2 | B3 | 75 | SX951 | TCP
0 | 5 | 2 | 2 | B3 | 90 | SX923 | HS
0 | 5 | 2 | 2 | B3 | 90 | SX922 | VR,HS
0 | 5 | 2 | 2 | B3 | 90 | SX921 | MD,HS
2 | 5 | 2 | 2 | B3 | 90 | SX942 | DP,HS
2 | 5 | 2 | 2 | B3 | 90 | SX943 | DP,VR,HS
2 | 5 | 2 | 2 | B3 | 90 | SX944 | DP,MD,HS
0 | 5 | 2 | 2 | B3 | 90 | SZ951 | BOX
0 | 5 | 2 | 2 | B3 | 100 | SX960 | VRE,MD,HS
0/2 | 5 | 2 | 4 | B5 | 75 | Q0704 | TCP
0/2 | 5 | 2 | 4 | B5 | 75 | Q0666 | HS
0/2 | 5 | 2 | 4 | B5 | 90 | Q0653 | HS
0/2 | 5 | 2 | 4 | B5 | 90 | Q0654 | VR,HS
0/2 | 5 | 2 | 4 | B5 | 90 | Q0655 | MD,HS
0/2 | 5 | 2 | 4 | B5 | 100 | Q0656 | MD,HS
0/2 | 5 | 2 | 4 | B5 | 100 | Q0657 | VR,MD,HS
0/2 | 5 | 2 | 4 | B5 | 100 | Q0658 | VRE,MD,HS
0 | 5 | 2 | 4 | B5 | 120 | Q0707 | VRE,MD,HS
0 | 5 | 2 | 4 | B5 | 120 | Q0708 | HS
0 | 5 | 2 | 4 | B5 | 75 | SX975 | TCP
0/2 | 5 | 2 | 4 | B5 | 75 | SX961 | HS
0/2 | 5 | 2 | 4 | B5 | 75 | SZ977 | HS,BOX
0/2 | 5 | 2 | 4 | B5 | 90 | SX957 | HS
0/2 | 5 | 2 | 4 | B5 | 90 | SX958 | VR,HS
0/2 | 5 | 2 | 4 | B5 | 90 | SX959 | MD,HS
0/2 | 5 | 2 | 4 | B5 | 90 | SZ978 | HS,BOX
0/2 | 5 | 2 | 4 | B5 | 100 | SX962 | VRE,MD,HS
0 | 5 | 2 | 5 | C2 | 75 | Q0725 | TCP
0/2 | 5 | 2 | 5 | C2 | 75 | Q0700 |
0/2 | 5 | 2 | 5 | C2 | 75 | Q0749 | MD
0/2 | 5 | 2 | 5 | C2 | 90 | Q0699 |
0/2 | 5 | 2 | 5 | C2 | 100 | Q0698 | VRE,MD
0/2 | 5 | 2 | 5 | C2 | 100 | Q0697 |
0 | 5 | 2 | 5 | C2 | 120 | Q0711 | VRE,MD
0 | 5 | 2 | 5 | C2 | 120 | Q0732 | VRE,MD
0 | 5 | 2 | 5 | C2 | 133 | Q0733 | MD
0 | 5 | 2 | 5 | C2 | 133 | Q0751 | MD
0 | 5 | 2 | 5 | C2 | 133 | Q0775 | VRE,MD
0 | 5 | 2 | 5 | C2 | 75 | SK079 | TCP
0/2 | 5 | 2 | 5 | C2 | 75 | SX969 |
0/2 | 5 | 2 | 5 | C2 | 75 | SX998 | MD
0/2 | 5 | 2 | 5 | C2 | 75 | SZ994 | BOX
0/2 | 5 | 2 | 5 | C2 | 75 | SU070 | BOXF
0/2 | 5 | 2 | 5 | C2 | 90 | SX968 |
0/2 | 5 | 2 | 5 | C2 | 90 | SZ995 | BOX
0/2 | 5 | 2 | 5 | C2 | 90 | SU031 | BOXF
0/2 | 5 | 2 | 5 | C2 | 100 | SX970 | VRE,MD
0/2 | 5 | 2 | 5 | C2 | 100 | SX963 |
0/2 | 5 | 2 | 5 | C2 | 100 | SZ996 | BOX
0/2 | 5 | 2 | 5 | C2 | 100 | SU032 | BOXF
0 | 5 | 2 | 5 | C2 | 120 | SK086 | VRE,MD
0 | 5 | 2 | 5 | C2 | 120 | SX994 | VRE,MD
0 | 5 | 2 | 5 | C2 | 120 | SU033 | VRE,MD,BOXF
0 | 5 | 2 | 5 | C2 | 133 | SK098 | MD
0 | 5 | 2 | 5 | mA1 | 75 | Q0686 | VRT,TCP
0 | 5 | 2 | 5 | mA1 | 75 | Q0689 | VRT
0 | 5 | 2 | 5 | mA1 | 90 | Q0694 | VRT,TCP
0 | 5 | 2 | 5 | mA1 | 90 | Q0695 | VRT
0 | 5 | 2 | 5 | mA1 | 75 | SK089 | VRT,TCP
0 | 5 | 2 | 5 | mA1 | 75 | SK091 | VRT
0 | 5 | 2 | 5 | mA1 | 90 | SK090 | VRT,TCP
0 | 5 | 2 | 5 | mA1 | 90 | SK092 | VRT
0/2 | 5 | 2 | B | cB1 | 120 | Q0776 |
0/2 | 5 | 2 | B | cB1 | 133 | Q0772 |
0/2 | 5 | 2 | B | cB1 | 133 | Q0773 |
0/2 | 5 | 2 | B | cB1 | 133 | Q0774 | VRE,MD
0/2 | 5 | 2 | B | cB1 | 120 | SK110 |
0/2 | 5 | 2 | B | cB1 | 133 | SK106 |
0/2 | 5 | 2 | B | cB1 | 133 | S106J |
0/2 | 5 | 2 | B | cB1 | 133 | SK107 |
0/2 | 5 | 2 | B | cB1 | 133 | SU038 | BOXF
0 | 5 | 2 | B | mcB1 | 100 | Q0884 | VRT,TCP
0 | 5 | 2 | B | mcB1 | 120 | Q0779 | VRT,TCP
0 | 5 | 2 | B | mcB1 | 120 | Q0808 |
0 | 5 | 2 | B | mcB1 | 100 | SY029 | VRT,TCP
0 | 5 | 2 | B | mcB1 | 120 | SK113 | VRT,TCP
0 | 5 | 2 | B | mcB1 | 120 | SK118 | VRT,TCP
0 | 5 | 2 | B | mcB1 | 120 | SX999 |
0/2 | 5 | 2 | C | cC0 | 150 | Q0835 |
0/2 | 5 | 2 | C | cC0 | 150 | Q0878 | PPGA
0/2 | 5 | 2 | C | cC0 | 166 | Q0836 | VRE
0/2 | 5 | 2 | C | cC0 | 166 | Q0841 | VRE
0/2 | 5 | 2 | C | cC0 | 166 | Q0886 | VRE,PPGA
0/2 | 5 | 2 | C | cC0 | 166 | Q0890 | VRE,PPGA
0 | 5 | 2 | C | cC0 | 166 | Q0949 | VRE,PPGA
0/2 | 5 | 2 | C | cC0 | 150 | SY015 |
0/2 | 5 | 2 | C | cC0 | 150 | SU071 | BOXF
0/2 | 5 | 2 | C | cC0 | 166 | SY016 | VRE
0/2 | 5 | 2 | C | cC0 | 166 | SY017 | VRE
0/2 | 5 | 2 | C | cC0 | 166 | SU072 | VRE,BOXF
0 | 5 | 2 | C | cC0 | 166 | SY037 | VRE,PPGA
0 | 5 | 7 | 0 | mA4 | 75 | Q0848 | VRT,TCP
0 | 5 | 7 | 0 | mA4 | 75 | Q0851 | VRT
0 | 5 | 7 | 0 | mA4 | 90 | Q0849 | VRT,TCP
0 | 5 | 7 | 0 | mA4 | 90 | Q0852 | VRT
0 | 5 | 7 | 0 | mA4 | 100 | Q0850 | VRT,TCP
0 | 5 | 7 | 0 | mA4 | 100 | Q0853 | VRT
0 | 5 | 7 | 0 | mA4 | 75 | SK119 | VRT,TCP
0 | 5 | 7 | 0 | mA4 | 75 | SK122 | VRT
0 | 5 | 7 | 0 | mA4 | 90 | SK120 | VRT,TCP
0 | 5 | 7 | 0 | mA4 | 90 | SK123 | VRT
0 | 5 | 7 | 0 | mA4 | 100 | SK121 | VRT,TCP
0 | 5 | 7 | 0 | mA4 | 100 | SK124 | VRT
0 | 5 | 2 | C | mcC0 | 120 | Q0879 | VRT,TCP
0 | 5 | 2 | C | mcC0 | 120 | Q0880 | 3.1v
0 | 5 | 2 | C | mcC0 | 133 | Q0881 | VRT,TCP
0 | 5 | 2 | C | mcC0 | 133 | Q0882 | 3.1v
0 | 5 | 2 | C | mcC0 | 120 | SY021 | VRT,TCP
0 | 5 | 2 | C | mcC0 | 120 | SY027 | 3.1v
0 | 5 | 2 | C | mcC0 | 120 | SY030 |
0 | 5 | 2 | C | mcC0 | 133 | SY019 | VRT,TCP
0 | 5 | 2 | C | mcC0 | 133 | SY028 | 3.1v
0 | 5 | 2 | 6 | E0 | 75 | Q0846 | TCP
0/2 | 5 | 2 | 6 | E0 | 75 | Q0837 |
0/2 | 5 | 2 | 6 | E0 | 90 | Q0783 |
0/2 | 5 | 2 | 6 | E0 | 100 | Q0784 |
0/2 | 5 | 2 | 6 | E0 | 120 | Q0785 | VRE
0 | 5 | 2 | 6 | E0 | 75 | SY009 | TCP
0/2 | 5 | 2 | 6 | E0 | 75 | SY005 |
0/2 | 5 | 2 | 6 | E0 | 90 | SY006 |
0/2 | 5 | 2 | 6 | E0 | 100 | SY007 |
0/2 | 5 | 2 | 6 | E0 | 120 | SY033 |

The following table shows all the versions of the Pentium OverDrive processors indicating the various steppings that have been available. Note that the Type 1 chips in this table are 486 Pentium OverDrive processors, which are designed to replace 486 chips in systems with Socket 2 or 3. The other OverDrive processors are designed to replace existing Pentium processors in socket 4 or 5/7.

Type | Family | Model | Stepping | Mfg. Stepping | Speed (MHz) | Spec. Number | Product Code | Version
1 | 5 | 3 | 1 | B1 | 63 | SZ953 | PODP5v63 | 1.0
1 | 5 | 3 | 1 | B2 | 63 | SZ990 | PODP5v63 | 1.1
1 | 5 | 3 | 2 | C0 | 83 | SU014 | PODP5v83 | 2.1
0 | 5 | 1 | A | tA0 | 133 | SU082 | PODP5v133 | 1.0
0 | 5 | 2 | C | aC0 | 125 | SU081 | PODP3v125 | 1.0
0 | 5 | 2 | C | aC0 | 150 | SU083 | PODP3v150 | 1.0
0 | 5 | 2 | C | aC0 | 166 | SU084 | PODP3v166 | 1.0

ES = Engineering Sample. These chips were not sold through normal channels but were designed for development and testing purposes.
HS = Heat Spreader Package. This indicates a chip with a metal plate on the top, which is used to spread heat away from the center part of the chip. The heat spreader helps the chip run cooler; however, most later chips use a smaller, more powerful, more efficient die, and Intel has been able to eliminate the heat spreader from these.
DP = Dual Processor version where Type 0 is Primary only, Type 2 is Secondary only, and Type 0 or 2 is either.
MD = Minimum Delay timing restrictions on several processor signals.
VR = Voltage Reduced (3.300v to 3.465v)
VRE = VR and Extended (3.45v to 3.60v)
VRT = Voltage Reduction Technology: The processor I/O voltage is 3.3v, but the processor core runs on 2.9v.
TCP = Tape Carrier Package (Mobile Pentium). This is a filmstrip-type package intended mainly for laptop or notebook system use. This version is soldered rather than installed in a socket like the others.
BOX = A retail boxed processor with a standard passive heat sink.
BOXF = A retail boxed processor with an active (fan cooled) heat sink.
* = These chips have no Specification number.

In these tables, the processor Type heading refers to the dual processor capabilities of the Pentium. Versions indicated with a Type 0 can only be used as a primary processor, while those marked as Type 2 can only be used as the secondary processor in a pair. If the processor is marked as Type 0/2, that means it can serve as either the primary or secondary processor, or both.

The Family designation for all Pentiums is 5 (for 586), while the Model indicates the particular revision. Model 1 indicates the first-generation 60/66MHz version, while Model 2 or later indicates the second-generation 75+MHz version. The stepping number is the actual revision of the particular model. The family, model, and stepping number can be read by software such as the Intel CPUID program. These also correspond to a particular Manufacturer Stepping code, which is how Intel designates the chips in-house. These are usually an alphanumeric code. For example, stepping 5 of the Model 2 Pentium is also known as the C2 stepping inside Intel.

Manufacturing stepping codes that begin with an "m" indicate a Mobile processor, or one that is designed for laptop or portable systems. These often come in a Tape Carrier Package (TCP), which is a sort of filmstrip package where the raw chip is actually taped and soldered directly to the circuit board. Most Pentium processors come in a standard Ceramic Pin Grid Array (CPGA) package; however, the mobile processors also use the Tape Carrier Package (TCP). Now there is also a Plastic Pin Grid Array (PPGA) package being used to reduce cost.

The Specification Number is a code that is stamped or printed on the top and often bottom of the chip. This code is the only way externally that you can tell exactly which chip you have. In most systems, there will be a heat sink on the chip that will have to be removed to see the markings on the top; however, most Pentium processors are now marked on the bottom as well. If you cannot easily remove the heat sink, flip the chip over because the Specification code may be printed on the bottom, as well.

One interesting item to note is that there are several subtly different voltages required by different Pentium processors. The following table summarizes the different Processors and their required voltages:

Model | Stepping | Voltage Spec. | Voltage Range
1 | - | Std. | 4.75-5.25v
1 | - | 5v1 | 4.90-5.25v
1 | - | 5v2 | 4.90-5.40v
1 | - | 5v3 | 5.15-5.40v
2+ | B1-B5 | Std. | 3.135-3.465v
2+ | C2+ | Std. | 3.135-3.600v
2+ | - | VR | 3.300-3.465v
2+ | B1-B5 | VRE | 3.45-3.60v
2+ | C2+ | VRE | 3.40-3.60v

Many of the newer Pentium motherboards have jumpers that allow for adjustments to the different voltage ranges. If you are having problems with a particular processor, it may not be matched correctly to your motherboard voltage output.

Many of the Mobile Pentium processors use Voltage Reduction Technology (VRT), which means that they draw the standard 3.3v from the motherboard, but internally they operate on only 2.9v. Because the core of the CPU is operating on this lower voltage, it dramatically reduces overall power consumption and heat production, which is ideal for portable or notebook systems where battery life is important. In addition to VRT, some of the Mobile Pentium processors are now designed to run on 3.1v from the system instead of the standard 3.3v.

If I were purchasing a Pentium system today, I would recommend using only Model 2 (second generation) or later version processors that are available in 75MHz or faster speeds. I would definitely want stepping C2 or later. Virtually all of the important bugs and problems were fixed in the C2 and later releases.

### Other Processor Problems

Some other problems with processors and math coprocessors are worth noting.

After you remove a math coprocessor from an AT-type system, you must rerun your computer's Setup program. Some AT-compatible SETUP programs do not properly unset the math-coprocessor bit. If you receive a Power-On Self Test (POST) error message because the computer cannot find the math chip, you may have to unplug the battery from the system board temporarily. All SETUP information will be lost, so be sure to write down the hard drive type, floppy drive type, and memory and video configurations before unplugging the battery. This information is critical in reconfiguring your computer correctly.

Another strange problem occurs in some IBM PS/2 Model 80 systems when a 387DX is installed. In the following computers, you may hear crackling or beeping noises from the speaker while the computer is running:

- 8580 Model 111, with serial numbers below 6019000
- 8850 Model 311, with serial numbers below 6502022

If you are experiencing this problem, contact IBM for a motherboard replacement.

### Heating and Cooling Problems

Heat can be a problem in any high-performance 486, Pentium, or Pentium Pro system. The higher-speed processors normally consume more power and therefore generate more heat. If your system is based on any of the 66MHz or faster processors, you must dissipate the extra thermal energy; the fan inside your computer case may not be able to handle the load.

To cool a system in which processor heat is a problem, you can buy (for less than $5 in most cases) a special attachment for the CPU chip called a heat sink, which draws heat away from the CPU chip. Many applications may need only a larger standard heat sink with additional or longer fins for a larger cooling area. Several heat-sink manufacturers are listed in the vendor list. See also the section "OverDrive Processors and Sockets" earlier in the chapter.

© Copyright, Macmillan Computer Publishing. All rights reserved.