Intel 8087

Intel 8087

The 8087 was the first math coprocessor for 16 bit processors designed by Intel (the I8231 was older but designed for the 8 bit Intel 8080); it was built to be paired with the Intel 8088 and 8086 microprocessors. The purpose of the 8087, the first of the x87 family, was to speed up computations on demanding applications involving floating point command mathematics. The performance enhancements went from 20% to 500% depending on the specific application. The 8087 could perform about 50 kFLOP/s, depending on the operation performed.

This coprocessor introduced about 60 new instructions available to the programmer, their mnemonics all beginning with "F" to differentiate them from the standard 8086/88 integer math instructions. For example, in contrast to ADD/MUL, the 8087 provided FADD/FMUL. In binary format, all new instructions began with the bit pattern 11011, decimal 27, the same as the ASCII ESCAPE character, and so are sometimes referred to as "escape opcodes".

The 8087 (and, in fact, the entire x87 family) does not provide a freely addressable, linear register set such as the AX/BX/CX/DX registers of the 8086/88 and 80286 processors -- the x87 registers are structured in some form of stack (although it is not exactly like a typical stack data structure) ranging from ST0 to ST7. The floating point instructions of the 80x87 coprocessors operate by popping and pushing values onto this stack.

When Intel designed the 8087 it aimed to make a standard floating point format for future designs. In fact, one of the most successful things from a historical perspective of this coprocessor was the introduction of the first floating point standard for the x86 PCs: the IEEE 754 (although the Intel 8087 does not implement the eventual IEEE 754 standard in all its details, as the standard wasn't finished until 1985; the first Intel Coprocessor to implement it completely was the 80387). The 8087 provided two basic 32/64-bit floating point data types and an additional extended 80-bit internal support to improve accuracy over large and complex calculations. Apart from this, the 8087 offered an 80-bit/18-digit packed BCD (binary coded decimal) format and 16, 32 and 64-bit integer data types.

The 8087 differed from subsequent Intel coprocessors in that it was directly connected to the address and data buses. The 8088/86 looked for instructions that commenced with the '11011' sequence and relinquished control to the coprocessor. The coprocessor handed control back once the sequence of coprocessor instructions ended. There was a potential crash problem if the coprocessor instruction failed to decode to one that the coprocessor understood. Intel's later coprocessors did not connect to the buses in the same way, but were handed the instructions by the main processor. This yielded an execution time penalty, but the potential crash problem was avoided because the main processor would ignore the instruction if the coprocessor refused to accept it.

The 8087 was able to work out whether it was connected to a 8088 or a 8086 by monitoring the data bus during the reset cycle.

The 8087, announced in 1980, was superseded by the 80287, 80387DX/SX and the 80487. Intel 80486DX, Pentium and later processors include a built-in coprocessor on the CPU core.

The 8087 contains 45,000 transistors, 3 micrometre circuit technology (8086 has 29,000 transistors).

External links

* [http://www.cpu-collection.de/?tn=0&l0=co&l1=Intel&l2=FPU Intel 80x87 math coprocessors at cpu-collection.de]
* [http://coprocessor.cpu-info.com/index2.php?mainid=Copro&tabid=1&page=1 Coprocessor.info : 8087 math coprocessor history information and pictures]


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Intel 8087 — Intel C8087 Architecture du 8087 Les Intel 8087 furent les …   Wikipédia en Français

  • Intel 8087 — Der Intel 8087 ist eine in NMOS Technologie (HMOS III, 3 µm)[1] gefertigte Gleitkommaeinheit (englisch floating point unit, kurz FPU). Intel entwickelte den 8087 im Jahr 1980 als x87 Koprozessor für die 8086, 8088 …   Deutsch Wikipedia

  • Intel 8087 — Coprocesador numérico Intel 8087. Microarquitectur …   Wikipedia Español

  • Intel 8086 y 8088 — Intel 8088 Microprocesador Microprocesador Intel 8088 Producción 1979   1982 Fabricante(s) …   Wikipedia Español

  • 8087 — Intel 8087 Der Intel 8087 ist eine in NMOS Technologie (HMOS III, 1,5 µm) gefertigte Gleitkommaeinheit. Intel entwickelte den 8087 im Jahr 1980 als x86er Koprozessor für die 8086, 8088,80186 und 80188 Prozessoren. Auf den …   Deutsch Wikipedia

  • Intel 8086 — Produced From 1978 to 1990s Common manufacturer(s) Intel, AMD, NEC, Fujitsu, Harris (Intersil), OKI, Siemens AG …   Wikipedia

  • Intel 8086 — <<   Intel 8086   >> Intel D8086. Produktion: 1978 bis 90er Produzenten …   Deutsch Wikipedia

  • Intel 8089 — Coprocesador de entrada/salida Intel 8089 El Intel 8089 es un coprocesador de entrada/salida disponible para ser usado con el microprocesador Intel 8086 y el Intel 8088. Usaba las mismas técnicas de programación del coprocesador numérico Intel… …   Wikipedia Español

  • Intel Atom — Z520 compared to a 1 Eurocent coin. It is 182 mm2.[1] Produced 2008–present Common manufacturer(s) …   Wikipedia

  • Intel 4004 — Intel C4004 microprocessor Produced From late 1971 to 1981 Common manufacturer(s) Intel Max. CPU clock rate …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”