Math Coprocessors

Until the arrival of the Intel 80486 microprocessor, PC CPUs only contained integer calculation instructions. Floating-point calculations had to be done in software, which was much slower.

To address this shortfall, Intel designed a separate math coprocessor, also commonly called a Floating Point Unit (FPU). The table below shows the various math coprocessors that were available to DOS PC owners:

Microprocessor Supporting Math Coprocessor
Intel 8088/8086 Intel 8087
Intel 80286 Intel 80287
IIT/ULSI 2C87
Intel 80386SX Intel 80387SX
Cyrix CX-83S87 IIT 3C87SX ULSI SX/SLC
Intel 80386DX Intel 80387DX
Chips & Technologies Super MATH
Cyrix 387DX
Cyrix CX-83D87 FasMath
IIT/ULSI 3C87
Intel RapidCAD
LC 4C87DX Green Math
Xtend 83S87
Cyrix Cx486DLC Cyrix 487DLC
IIT 4C87DLC

Intel 8087

The original Intel 8087 was the only coprocessor available for 8088- and 8086-based PCs. It came in three versions: 8087-5 (5 MHz), 8087-2 (8 MHz) and 8087-1 (10 MHz).

The 10 MHz version could also work alongside the Intel 80186 and 80188 CPU.

8087 was able to support integer, BCD (Binary Coded Decimal), single- and double-precision floating point numbers. When installed in a PC, it implicitly converts any numbers to extended precision (80-bit) floating-point numbers and works on them from that number.

The Intel 8087 was also manufactured by authorized chip fabricators, including AMD and Cyrix.

Intel 80287

The Intel 80287 could work alongside an 80286 CPU to provide floating point operations. One advantage to the 80287 over the 8087 was its ability to run asynchronously from the main CPU - this means the clock speed the coprocessor runs at can be different to the CPU.

Available in 5 MHz, 6 MHz, 8 MHz, 10 MHz and 12 MHz versions.Other fabricators such as AMD, IIT and Cyrix produced 80287 coprocessors with 16 and 20 MHz clock speeds. Cyrix first coined the term 'FasMath' with their 80287 chip.

Later variants of the 80287 were the 80287XL and 80287XLT. The 80287XL was actually a '387SX (with 387 micro-architecture) but in a 80287 DIP package for use on fast 286s. These had an internal 3/2 clock multiplier to allow the copro to run not at the default 2/3rd speed of the CPU, but at the same speed. The 80287XLT was a low-power version of the 80287XL designed for use on laptop computers. Another variant that had 387 performance was the 80C287 which was built on Intel's later CMOS manufacturing process.

All these later 80287 coprocessors filled the gap for the early 386 market before the arrival of the 80387 math coprocessors in 1987.

IIT/ULSI 2C87

The 2C87 was a clone of the Intel 80287 introduced in 1989. It contained the full 387 instruction set. The 2C87 by IIT (also sold by ULSI) was available in these versions: 8, 10, 12, 16, 20 and 25 MHz. Performance-wise, the 2C87 is about the same as an Intel 80287XL clock for clock.

 

 

Intel 80387

Intel's own 80387-33 cost $994 in 1989.

 

 

 

Cyrix 387DX

The 387DX was Cyrix' first coprocessor for 80386 systems. It was pin-compatible with the Intel 80387 math coprocessor, and was soon replaced with the more advanced CX-83D87.

It was released in 25 MHz, 33 and 40 MHz versions.

Cyrix FasMath CX-83S87

The CX-83S87 was designed to complement 386SX-based systems and was available in 16, 20, 25, and 33 MHz variants. Like its big brother, CX-83D87, these were the fastest co-processors you could buy for 386 systems. Any CX-83S87s manufactured after 1991 got the 387+ internals.

The CX-83S87 is designed to be used alongside the Cx486SLC CPU.

Cyrix FasMath CX-83D87 / 387DX+

The CX-83D87 (called 387DX+ in Europe) was introduced in 1989. It is the fastest 387-compatible coprocessor, available in 25, 33, and 40 MHz variants, and provides up to 50% more performance than the Intel 387DX clock for clock.

The 83D87 also offers the most accurate transcendental functions of all coprocessors. It is the 387 clone with the highest degree of compatibility to the Intel 387DX.

Unlike the Intel 387DX, the 83D87 (and all other 387-compatible chips as well) does not support asynchronous operation of CPU and coprocessor.

To reduce power consumption the 83D87 features advanced power saving features. Those portions of the coprocessor that are not needed are automatically shut down. If no coprocessor instructions are being executed, all parts except the bus interface unit are shut down.

Benchmark tests have shown that FasMath chips with a grey top run slightly faster than those with a black top, and also faster than the DLC versions of this chip.



These Cyrix math coprocessors cost from $647 for the 20 MHz version up to $994 for a 33 MHz version.

 

IIT 3C87SX

The 3C87SX math coprocessor from IIT was designed to sit alongside a 386SX CPU, and came in 16, 20, 25, 33 and 40 MHz versions. They cost $439 for a 16 MHz version up to $779 for a 33 MHz version.

IIT/ULSI 3C87

The 3C87 math coprocessor from IIT was designed to sit alongside a 386DX CPU, and came in 20, 25, 33 and 40 MHz versions. Performance-wise, the 3C87 is faster than the Intel 80387DX coprocessor.

IIT XC87SLC

The XC87SLC math coprocessor from IIT was designed to sit alongside a 486SX CPU, and came in 33 MHz version only.

 

Cyrix 487DLC

Because the Cyrix Cx486SLC/DLC CPUs didn't come with an internal FPU (floating-point unit), motherboards that supported these Cyrix CPUs sometimes also provided a Cyrix math coprocessor socket. These were designed to accommodate the 487DLC coprocessor. These came in 33 and 40 MHz variants.

 

IIT 4C87DLC

The 4C87DLC math coprocessor from IIT was designed to sit alongside a 486DX CPU, and came in 33 and 40 MHz versions.

IIT XC87DLC

The XC87DLC math coprocessor from IIT was designed to sit alongside a 486DX CPU, and came in 33 MHz version only.