- Chapter 3: Microprocessor Types and Specifications
- Pre-PC Microprocessor History
- Processor Specifications
- SMM (Power Management)
- Superscalar Execution
- MMX Technology
- SSE (Streaming SIMD Extensions)
- 3DNow and Enhanced 3DNow
- Dynamic Execution
- Dual Independent Bus (DIB) Architecture
- Processor Manufacturing
- PGA Chip Packagingx
- Single Edge Contact (SEC) and Single Edge Processor (SEP) Packaging
- Processor Sockets and Slots
- Zero Insertion Force (ZIF) Sockets
- Processor Slots
- CPU Operating Voltages
- Heat and Cooling Problems
- Math Coprocessors (Floating-Point Units)
- Processor Bugs
- Processor Update Feature
- Processor Codenames
- Intel-Compatible Processors (AMD and Cyrix)
- P1 (086) First-Generation Processors
- P2 (286) Second-Generation Processors
- P3 (386) Third-Generation Processors
- P4 (486) Fourth-Generation Processors
- P5 (586) Fifth-Generation Processors
- Pseudo Fifth-Generation Processors
- Intel P6 (686) Sixth-Generation Processors
- Other Sixth-Generation Processors
- Itanium (P7/Merced) Seventh-Generation Processors
- Processor Upgrades
- Processor Troubleshooting Techniques
P5 (586) Fifth-Generation Processors
After the fourth-generation chips like the 486, Intel and other chip manufacturers went back to the drawing board to come up with new architectures and features incorporated into what they called fifth-generation chips. This section defines the fifth-generation processors from Intel, AMD, and others.
Pentium Processors
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 cyclescut 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 superscalar. The Pentium is almost like having two 486 chips under the hood. Table 3.22 shows the Pentium processor specifications.
Table 3.22 Pentium Processor Specifications
Introduced |
March 22, 1993 (first generation); March 7, 1994 (second generation) |
Maximum rated speeds |
60, 66, 75, 90, 100, 120, 133, 150, 166, 200MHz (second generation) |
CPU clock multiplier |
1x (first generation), 1.5x3x (second generation) |
Register size |
32-bit |
External data bus |
64-bit |
Memory address bus |
32-bit |
Maximum memory |
4GB |
Integral-cache size |
8KB code, 8KB 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 (75100MHz), 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 processor has a Branch Target Buffer (BTB), which employs a technique called branch prediction. It minimizes stalls in one or more of the pipes caused by delays in fetching instructions that branch to nonlinear memory locations. The BTB attempts to predict whether a program branch will be taken, and then fetches the appropriate instructions. The use of branch prediction enables the Pentium to keep both pipelines operating at full speed. Figure 3.33 shows the internal architecture of the Pentium processor.
Figure 3.33 Pentium processor internal architecture.
The Pentium has a 32-bit address bus width, giving it the same 4GB 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 Inline Memory Modules) or DIMMs (Dual Inline Memory Modules). SIMMs are available in 8-bit-wide and 32-bit-wide versions, while DIMMs are 64 bits wide. There are also versions with additional bits for parity or ECC (error correcting code) data. Most Pentium systems use the 32-bit-wide SIMMstwo of these SIMMs per bank of memory. Most Pentium motherboards have at least four of these 32-bit SIMM sockets, providing for a total of two banks of memory. The newest Pentium systems and most Pentium II systems today use DIMMs, which are 64 bits widejust like the processor's external data bus so only one DIMM is used per bank. This makes installing or upgrading memory much easier because DIMMs can go in one at a time and don't have to be matched up in pairs.
See "SIMMs and DIMMs," and "Memory Banks."
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 8KB caches, compared with a single 8KB or 16KB 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.)
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) that 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 and reads, further improving performance over read-only write-through mode. Using write-back mode results in less activity between the CPU and system memoryan 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 (L2), which usually consist of up to 512KB or more of extremely fast (15ns or less) Static RAM (SRAM) chips. When the CPU fetches data that is not already available in its internal processor (L1) 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 3035 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 allows you to throttle the processor up or down to control power use. You can even stop the clock with these more advanced Pentium processors, 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 introduced special Pentium processors with Voltage Reduction Technology in the 75 to 266MHz family; the processors are intended for mobile computer applications. They 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 systemno cooling fans are required. For more information on mobile processors and systems, see Chapter 23, "Portable PCs."
The Pentium, like the 486, contains an internal math coprocessor or 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 coprocessor. The Pentium FPU is estimated at 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 the discussion in the section "Pentium Defects," later in this chapter.
First-Generation Pentium Processor
The Pentium has been offered in three 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 motherboardin 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. Fortunately, adding a fan to the processor would solve most cooling problems, as long as the fan kept running.
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 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 were the only way to upgrade an existing first-generation Pentium without replacing the motherboard.
Rather than upgrading the processor with one only twice as fast, you should really consider a complete motherboard replacement, which would accept a newer design processor that would potentially be many times faster.
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 120MHz (and higher) 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. The die for the Pentium is shown in Figure 3.34. 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. Further 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).
Figure 3.34 Pentium processor die. Photograph used by permission of Intel Corporation.
The second-generation Pentium processors come in a 296-pin SPGA 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 motherboard. The second-generation Pentium processors also have 3.3 million transistorsmore than the earlier chips. The extra transistors exist because additional clock-control SL enhancements were added, along with 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 Pentium motherboards designed for file servers come with dual Socket 7 specification sockets, which fully support the multiprocessing capability of the new chips. 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
Some Pentium systems support 75MHz or even up to 100MHz with newer motherboard and chipset designs.
Virtually all Pentium motherboards have three speed settings: 50, 60, and 66MHz. Pentium chips are available with a variety of internal clock multipliers that cause the processor to operate at various multiples of these motherboard speeds. Table 3.23 lists the speeds of currently available Pentium processors and motherboards.
Table 3.23 Pentium CPU and Motherboard Speeds
CPU Type/Speed |
CPU Clock |
Motherboard Speed (MHz) |
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 |
Pentium 233 |
3.5x |
66 |
Pentium 266 |
4x |
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. Table 3.24 shows how the state of the BFx pins will affect the clock multiplication in the Pentium processor.
Table 3.24 Pentium BFx Pins and Clock Multipliers
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/4x |
66 |
133/26611 |
1 |
0 |
2x |
60 |
120 |
1 |
0 |
2x |
50 |
100 |
1 |
1 |
1.5x/3.5x |
66 |
100/23311 |
1 |
1 |
1.5x |
60 |
90 |
1 |
1 |
1.5x |
50 |
75 |
Not all chips support all the bus frequency (BF) pins or combinations of settings. In other words, some of the Pentium processors will operate only at specific combinations of these settings or may even be fixed at one particular setting. Many of the newer motherboards have jumpers or switches that allow 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 changing jumpers on the motherboard. This is called overclocking and is discussed in the "Processor Speed Ratings" section of this chapter. What Intel has done to discourage overclockers in its most recent Pentiums is discussed near the end of the "Processor Manufacturing" section of this chapter.
A single-chip OverDrive upgrade is currently offered for second-generation Pentiums. These OverDrive chips are fixed at a 3x multiplier; they replace the existing Socket 5 or 7 CPU, increase processor speed up to 200MHz (with a 66MHz motherboard speed), and add MMX capability, as well. Simply stated, this means that a Pentium 100, 133, or 166 system equipped with the OverDrive chip will have a processor speed of 200MHz. 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 so popular today.
If you have a Socket 7 motherboard, you might not need the special OverDrive versions of the Pentium processor that have built-in voltage regulators. Instead, you can purchase a standard Pentium or Pentium-compatible chip and replace the existing processor with it. You will have to be sure to set the multiplier and voltage settings so that they are correct for the new processor.
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 (see Figure 3.35). These Pentium-MMX processors are available in clock rates of 66/166MHz, 66/200MHz, and 66/233MHz, and a mobile-only version, which is 66/266MHz. The MMX processors have a lot in common with other second-generation Pentiums, including superscalar architecture, multiprocessor support, on-chip local APIC controller, and power-management features. New features include a pipelined MMX unit, 16KB code, write-back cache (versus 8KB in earlier Pentiums), and 4.5 million transistors. Pentium-MMX chips are produced on an enhanced 0.35 micron CMOS silicon process that allows for a lower 2.8v voltage level. The newer mobile 233MHz and 266MHz processors are built on a 0.25 micron process and run on only 1.8 volts. With this newer technology, the 266 processor actually uses less power than the non-MMX 133.
Figure 3.35 Pentium MMX. The left side shows the underside of the chip with the cover plate removed exposing the processor die. Photograph used by permission of Intel Corporation.
To use the Pentium-MMX, the motherboard must be capable of supplying the lower (2.8v or less) voltage 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 take vast amounts of time to execute. As a result, MMX incorporates a process Intel calls Single Instruction Multiple Data (SIMD), which allows one instruction to perform the same function on many pieces of data. Furthermore, 57 new instructions that are designed specifically to handle video, audio, and graphics data have been added to the chip.
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 Multiprocessing) support in some newer operating systems.
Also make sure that any Pentium motherboard you buy can be jumpered or reconfigured 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 Defects
Probably the most famous processor bug in history is the now legendary flaw in the Pentium 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. There are tables listing all the different variations of Pentium processors and steppings and how to identify them later in this chapter.
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. The Pentium would incorrectly perform floating-point division calculations with certain number combinations, with errors anywhere from the third digit on up.
By the time the bug was publicly discovered outside of Intel, the company 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 Intel 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 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 capable of doing 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 results tests. Several math 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 and its public image, it 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, Intel will replace the processor with an equivalent one without this problem. Normally, all you have to do is call Intel and ask for the replacement. It 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 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 it gets 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 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 whether 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:
NOTE
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.
Here is another division problem that will come out incorrectly on a Pentium with this flaw:
This one shows an error in the fifth significant digit. A variation on the previous calculation can be performed as follows:
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:
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, 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 applicable only 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 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 they were fixed in the B3 and later stepping versions.
Pentium Processor Models and Steppings
We know that like software, 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.
See the previous editions of this book on the included CD-ROM for tables showing the Pentium processor steppings and revisions. This information is also available online from Intel via its Web site.
To determine the specifications of a given processor, you need to look up the S-spec number in the table of processor specifications. To find your S-spec number, you have to read it off of the chip directly. It can be found printed on both the top and bottom of the chip. If your heat sink is glued on, remove the chip and heat sink from the socket as a unit and read the numbers from the bottom of the chip. Then you can look up the S-spec number in the Specification Guide that Intel publishes (via its Web site); it will tell you the specifications of that particular processor. Intel is introducing new chips all the time, so visit its Web site and search for the Pentium processor "Quick Reference Guide" in the developer portion of its site. There you will find a complete listing of all current processor specifications by S-spec number.
One interesting item to note is that there are several subtly different voltages required by different Pentium processors. Table 3.25 summarizes the different processors and their required voltages.
Table 3.25 Pentium Processor Voltages
Model |
Stepping |
Voltage Spec. |
Voltage Range |
1 |
|
Std. |
4.755.25v |
1 |
|
5v1 |
4.905.25v |
1 |
|
5v2 |
4.905.40v |
1 |
|
5v3 |
5.155.40v |
2+ |
B1-B5 |
Std. |
3.1353.465v |
2+ |
C2+ |
Std. |
3.1353.600v |
2+ |
|
VR |
3.3003.465v |
2+ |
B1-B5 |
VRE |
3.453.60v |
2+ |
C2+ |
VRE |
3.403.60v |
4+ |
|
MMX |
2.702.90v |
4 |
3 |
Mobile |
2.2852.665v |
4 |
3 |
Mobile |
2.102.34v |
8 |
1 |
Mobile |
1.8502.150v |
8 |
1 |
Mobile |
1.6651.935v |
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.
If you are purchasing an older, used Pentium system today, I 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 the important bugs and problems were fixed in the C2 and later releases. The newer Pentium processors have no serious bugs to worry about.
AMD-K5
The AMD-K5 is a Pentium-compatible processor developed by AMD and available as the PR75, PR90, PR100, PR120, PR133, and PR-166. Because it is designed to be physically and functionally compatible, any motherboard that properly supports the Intel Pentium should support the AMD-K5. However, a BIOS upgrade might be required to properly recognize the AMD-K5. AMD keeps a list of motherboards that have been tested for compatibility.
The K5 has the following features:
16KB instruction cache, 8KB write-back data cache
Dynamic executionbranch prediction with speculative execution
Five-stage RISC-like pipeline with six parallel functional units
High-performance floating-point unit (FPU)
Pin-selectable clock multiples of 1.5x and 2x
The K5 is sold under the P-Rating system, which means that the number on the chip does not indicate true clock speed, only apparent speed when running certain applications.
Note that several of these processors do not run at their apparent rated speed. For example, the PR-166 version actually runs at only 117 true MHz. Sometimes this can confuse the system BIOS, which may report the true speed rather than the P-Rating, which compares the chip against an Intel Pentium of that speed. AMD claims that because of architecture enhancements over the Pentium, they do not need to run the same clock frequency to achieve that same performance. Even with such improvements, AMD markets the K5 as a fifth-generation processor, just like the Pentium.
The AMD-K5 operates at 3.52 volts (VRE Setting). Some older motherboards default to 3.3 volts, which is below specification for the K5 and could cause erratic operation.