TOPIC 4.1.2
Math Coprocessors


A coprocessor is special processing unit that assists the CPU in performing certain operations. A math coprocessor is a chip or part of a chip that specializes in doing math, extending the capabilities of a CPU in a transparent manner. It is a piece of hardware that attaches to the motherboard or is part of the CPU. Most of the time a math coprocessor performs mathematical computations, particularly floating-point operations. Math coprocessors are also called numeric coprocessors or floating point units (FPU).

The use of floating-point numbers enables a binary representation of not only integers, but also fractional values over a wide range. A common application of floating-point numbers is in scientific applications, where very small and very large numbers must be accurately expressed. But floating-point numbers are also useful for business applications such as computing interest, and in the geometric calculations inherent in CAD/CAM processing.

In addition to being able to quickly execute, load, or store operations on floating-point numbers, coprocessors can directly perform all the basic arithmetic operations on them. Besides being able to add, subtract, multiply and divide floating-point numbers, they can also operate on them to perform comparisons, square roots, logarithms, sine, cosine, tangent, absolute value, and remainders.

Potential performance gains with a math coprocessor

The following information comes from the Usenet:

  Article 18096 of comp.sys.ibm.pc.hardware:
  Xref: usenet.ucs.indiana.edu comp.sys.intel:1907
  comp.sys.ibm.pc.hardware:18096
  Path: usenet.ucs.indiana.edu!sol.ctr.columbia.edu!ira.uka.de!uka!uka!news
  From: S_JUFFA@IRAV1.ira.uka.de (|S| Norbert Juffa)
  Newsgroups: comp.sys.intel,comp.sys.ibm.pc.hardware
  Date: 13 Jan 1993 19:31:19 GMT
  Organization: University of Karlsruhe, FRG

The Intel Math Coprocessor Utilities Disk that accompanies the Intel 387DX coprocessor has a demonstration program that shows the speedup of certain application programs when run with the Intel coprocessor versus a system with no coprocessor:

  Application       Time w/o 387   Time w/387    Speedup

  Art&Letters          87.0 sec      34.8 sec     150%
  Quattro Pro           8.0 sec       4.0 sec     100%
  Wingz                17.9 sec       9.1 sec      97%
  Mathematica         420.2 sec     337.0 sec      25%
  Corel Draw          471.0 sec     416.0 sec      13%
  Freedom Of Press    163.0 sec      77.0 sec     112%
  Lotus 1-2-3         257.0 sec      43.0 sec     597%
  Design CAD, Test1    98.1 sec      50.0 sec      96%
  Design CAD, Test2    75.3 sec      35.0 sec     115%
  Excel, Test 1         9.2 sec       6.8 sec      35%
  Excel, Test 1        12.6 sec       9.3 sec      35%