8087 Numeric Data Processor (NDP) koprosessor er en matematisk koprosessor designet for bruk med Intels 8086 og 8088 mikroprosessorer. Den ble utgitt i 1980 og ga maskinvareakselerasjon for flytende-punkts aritmetiske operasjoner, og frigjorde hoved-CPU for andre oppgaver.
8087 NDP-koprosessoren opererer på 80-bits data og inkluderer funksjoner som:
1. Flytepunkts-aritmetiske operasjoner:Den kan utføre matematiske operasjoner som involverer flytende tall, inkludert addisjon, subtraksjon, multiplikasjon, divisjon, kvadratrot, transcendentale funksjoner (som trigonometriske funksjoner, logaritmiske funksjoner, eksponentialfunksjoner) og så videre.
2.Utvidet presisjon:8087-koprosessoren støtter utvidet presisjon for enkelte operasjoner, og håndterer 18 sifre med presisjon for spesifikke operasjoner som divisjon.
3.Instruksjonssett:Koprosessoren introduserte nye flyttallsinstruksjoner som utvidet mulighetene til 8086/8088-prosessorene. Disse instruksjonene fikk prefikset "F".
4. Onboard-registre:8087-koprosessoren inkluderte åtte 80-bits interne registre for å lagre operander og mellomresultater.
5.Kompatibilitet med 8086/8088:Koprosessoren ble designet for å være kompatibel med Intel 8086 og 8088 mikroprosessorer og koblet til via prosessorens bussgrensesnitt.
6,80-bits flytende punktformat:8087 brukte et 80-bits flytepunktformat, som gjorde det mulig å representere et bredt spekter av verdier.
7. Mikrokode:8087-koprosessoren var avhengig av mikrokode for å utføre instruksjonene. Denne mikrokoden ble lagret på koprosessorbrikken.
Den primære fordelen med 8087-koprosessoren var dens evne til å håndtere komplekse matematiske beregninger med mye høyere hastighet og effektivitet enn hoved-CPU alene, noe som gjør den egnet for applikasjoner som involverer tung numerisk prosessering som engineering, vitenskapelige beregninger, datagrafikk og mer.