Intel 8087

from Wikipedia, the free encyclopedia
     Intel 8087   >>
Intel 8087.jpg
Intel 8087
Production: 1980 to 1990s
Producers:
Processor clock: 5 MHz to 10 MHz
Instruction set : 16 bit x86
Base: 40-pin DIP
Pin assignment of the 8087

The Intel 8087 is a in NMOS technology ( HMOS III manufactured, 3 microns) floating point unit (English floating point unit , short FPU). Intel developed the 8087 in 1980 as an x87 coprocessor for the 8086 , 8088 , 80186 , and 80188 processors.

Properties and use

The 8087 is the first floating point unit designed by Intel for 16-bit processors. It relieves the main processor when it comes to floating point number calculations. Without a coprocessor, these floating point instructions trigger a CPU exception which can be used for main processor-based software emulation of the coprocessor by programs or by the operating system. Calculations using the 8087 are 75 to 100 times faster than with an emulated coprocessor. The 8087 contains 45,000 transistors, has 68 commands and is available for clock frequencies up to 5 (8087), 8 (8087-2) or 10 MHz (8087-1).

All models of the 8087 were delivered with a 40-pin dual in-line package (DIP) and operate at a voltage of 5  V , whereby approx. 2.4  W is consumed. In contrast to later coprocessors such as the 80287, the 8087 had to be clocked with the same frequency as the CPU. The following table lists the product designation, which also differs from later FPUs, and their maximum clock frequencies:

model Max. Tact
Intel 8087 05 MHz
Intel 8087-1 10 MHz
Intel 8087-2 08 MHz
Intel 8087-3 04 MHz
Intel 8087-6 06 MHz

There is a free IC socket on the motherboard of the IBM PC into which an 8087 can be plugged for upgrading.

The 8087 could also be used in the bridge boards for the Amiga .

Successor models of the 8087 are the 80287 , i387 and i487 . Since the i486DX , Intel processors have an integrated floating point unit.

Floating point operations in programs

At the time of the 8086 a large part of the programs managed without floating point operations, for another part floating point operations played only a minor role, the presence of an FPU was mostly ignored. Operating systems such as MS-DOS only used integer arithmetic and did not provide emulation. However, there were also FPU emulators that could be loaded as device drivers or TSR programs and then made available to all application programs.

There were several options for integrating programs with significant floating point components (CAD programs, self-written calculation programs):

  • The programs require an FPU. They couldn't run without the FPU. An FPU simulator made the programs executable, almost always with a fraction of the performance.
  • The programs were compiled with FPU code. A missing FPU generated exceptions that were caught and emulated by the program itself.
  • The programs reserved 11 IRQs and built in IRQ code instead of FPU code. During the runtime, depending on the FPU (none, 8087, 80287+), the code was either left as IRQ, re-patched in 8087-compatible code with necessary FWAITs or re-patched in 80287-compatible code without FWAIT.
  • Floating point instructions were encoded as function calls. Any existing FPU was at least not taken into account in this compilation. Without the FPU, however, the performance was significantly better than that of all versions that emulated FPU commands.

Literature and data sheets

  • Christian Reinsch: The arithmetic processor INTEL 8087: a complete implementation of the proposed IEEE standard for floating point arithmetic , "Electronic Computing Systems", 23 (1981), Issue 4, pp. 173–178 ( doi : 10.1524 / itit.1981.23.16.173 ) .
  • Datasheet: 8087 Math Coprocessor , Intel Corporation, October 1989.

Web links

Commons : Intel 8087  - collection of pictures, videos and audio files

Individual evidence

  1. a b c Intel 8087 - Collectors website with lots of pictures
  2. Steve Farber: High Speed ​​Numerics with the 80186/80188 and 8087 . Editor: Intel Corporation. APPLICATION NOTE 258, 1986 ( PDF, 270 kB ).