- 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

## Math Coprocessors (Floating-Point Units)

This section covers the floating-point unit (FPU) contained in the processor, which was formerly a separate external math coprocessor in the 386 and older chips. Older central processing units designed by Intel (and cloned by other companies) used an external math coprocessor chip. However, when Intel introduced the 486DX, it 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. All the subsequent fifth and sixth generation Intel and compatible processors (such as those from AMD and Cyrix) have featured an integrated floating-point unit, although the Intel ones are known for having the best performance.

Math chips (as coprocessors sometimes are called) can perform high-level
mathematical operations—long division, trigonometric functions, roots, and
logarithms, for example—at 10–100 times the speed of the corresponding
main processor. The operations performed by the math chip are all operations
that make use of noninteger numbers (numbers that contain digits after the
decimal point). The need to process numbers in which the decimal is not always
the last character leads to the term *floating point* because the decimal
(point) can move (float), depending on the operation. The integer units in the
primary CPU work with integer 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: 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 3.15 summarizes the coprocessors available for the Intel family of processors.

#### Table 3.15 Math Coprocessor Summary

Processor |
Coprocessor |

8086 |
8087 |

8088 |
8087 |

286 |
287 |

386SX |
387SX |

386DX |
387DX |

486SX |
487SX, DX2/OverDrive |

487SX1 |
Built-in FPU |

486SX2 |
DX2/OverDrive |

486DX |
Built-in FPU |

486DX2 |
Built-in FPU |

486DX4/5x86 |
Built-in FPU |

Intel Pentium/Pentium MMX |
Built-in FPU |

Cyrix 6x86/MI/MII |
Built-in FPU |

AMD K5/K6/Athlon/Duron |
Built-in FPU |

Pentium II/III/Celeron/Xeon |
Built-in FPU |

*FPU = Floating-point unit*

Although virtually all processors since the 486 series have built-in floating-point units, they vary in performance. Historically the Intel processor FPUs have dramatically outperformed those from AMD and Cyrix, although AMD and Cyrix are achieving performance parity in their newer offerings.

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

#### Table 3.16 Maximum Math Chip Speeds

Part |
Speed |
Part |
Speed |

8087 |
5MHz |
287 |
6MHz |

8087-3 |
5MHz |
287-6 |
6MHz |

8087-2 |
8MHz |
287-8 |
8MHz |

8087-1 |
10MHz |
287-10 |
10MHz |

The 387 math coprocessors, and 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 can 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. These systems are usually 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 later sections. Table 3.17 shows the specifications of the various math coprocessors.

#### Table 3.17 Older Intel Math Coprocessor Specifications

Name |
Power Consumption |
Case Minimum Temperature |
Case Maximum Temperature |
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 markings on the chip.