All modern CPU’s consist largely of two units, an integer unit and a floating point unit (FPU). These two units are integrated on one core and together they execute all the instructions. But at the time of the 8086 until the 386 and to some extent the 486, the CPU consisted only of the Integer Unit. The Floating Point Unit was housed in another processor, the math co-processor or short co-processor.
Like the name already says, the math co-processor is a processor that is specialized in math calculations. To be more specific, it does all the calculations involving decimal (floating point) numbers such as scientific calculations and algebraic functions. Calculations (additions, subtractions, multiplications, etc.) involving simple numbers is the job for the integer unit.
Can’t the Integer Unit do decimal number calculations? Sure, but it does them slower and other calculations have to wait. A math co-processor helps the CPU to do its work faster by doing the specialized calculations.
But what applications in the MS-DOS time could benefit from having a co-processor?
First of all the software had to be able to communicate with the co-processor to use the FPU’s calculating power. When the FPU could be accessed the software would accelerate.
Software that could benefit from the extra calculating power were CAD/CAM and graphical applications, but also the performance of some spreadsheet and database applications increased. Looking at the applications that used a math co-processor it can be said that not everybody would benefit from having one. And that was a good thing because co-processors were very expensive. Generally they cost as much as the CPU and sometimes they were even more expensive!
Production costs was the reason for not integrating the FPU into CPU in the early days of desktop computing. Manufacturing a CPU without the FPU was much less complicated and thus cheaper. However the performance advantages were known and motherboards often had a socket for a FPU. If needed a separate FPU could later be bought and installed on the motherboard. Big names on the co-processor market were Intel, Cyrix, AMD, IIT, ULSI, C&T and WEITEK. Most of these manufacturers produced co-processor for all CPU’s up to the 486.
The co-processor for a 8086 and 8088 was the 8087, for the 80286 it was called 80287. Generally speaking it can be said that a co-processor can be identified by looking for the number 87 in the name. The Cyrix 83C87 is the co-processor for a 80386 and the IIT 2C87 for the 80286. Weitek co-processors had a different naming scheme, the 3167 was the co-processor for the 80386 and for the 80486 it was the 4167.