8087 > IntelD8087
Modified: April 6, 2005, 3:29 am
Manufacturer:Intel
Model:D8087
Speed:4.77MHz
Type:8087
Data Code:8812
Introduced:1980
Transistors:45,000
Package:40CDIP
Process:3 Micron
Architecture:80 bit FPU
Used in:Computers
Description:Intel 8087 is a numeric co-processor for Intel
8086, 8088, 80186 and 80188 processors. The 8087
has 8 80-bit general registers implemented as a
stack. All floating point operations are
performed with data from the stack (usually the
data at the top of the stack) and data from
external memory. Effective address calculation
for external memory accesses is performed by the
main processor. Both the main processor and the
8087 decode floating-point instructions (they all
start from ESCAPE bit pattern). If the decoded
instruction references the memory then the main
processor calculates memory effective address and
performs "dummy read" of memory. The Intel 8087
captures the memory address and, possibly, data,
and uses the captured address to read more data
or write data to memory. After that the main
processor may continue to execute integer
instructions without waiting until the 8087
completes execution of the FP instruction. To
synchronize execution of multiple FP instructions
the main processor used WAIT (FWAIT) instruction
to wait until the co-processor becomes available.
Because the integer instructions and floating-
point instructions could be executed in parallel,
it was common to see integer and FP instructions
intermixed in x86 programs.

Intel was not the only manufacturer of this co-
processor. Soviet Union produced clones of 8087
FPU. AMD published information about their
version of 8087 in one of their databooks, but
it's not clear if any AMD co-processors were
produced or not. There are 8087 co-processors
stamped "IBM", but it seems that IBM didn't
manufacture the chips and only re-branded Intel
chips.

When they were released the 8087 was hailed as the
most complex IC ever. They also dissipated alot
of heat, but they were FAST.