X87

x87  er et særligt instruktionssæt til at arbejde med matematiske beregninger, som er en delmængde af x86- processorarkitekturen . Det fik dette navn, fordi de oprindelige individuelle matematiske coprocessorer havde navne, der sluttede på 87 . Som andre udvidelser til processorens grundlæggende instruktionssæt, er disse instruktioner ikke strengt nødvendige for at bygge et arbejdsprogram, men når de implementeres i hardware, tillader de almindelige matematiske opgaver at blive udført meget hurtigere. For eksempel indeholder x87- instruktionssættet instruktioner til beregning af sinus- eller cosinusværdier .

Beskrivelse

Alle Intel- og AMD -processorer , startende med henholdsvis 486DX og Am486DX , har en indbygget matematisk coprocessor og behøver ikke en separat coprocessor (med undtagelse af Intel486SX ). Udtrykket x87 bruges dog stadig til at betegne den del af processorens instruktioner, der omhandler flydende kommaberegninger; kompilatorer kan bruge disse instruktioner til at producere kode, der kører hurtigere end en, der bruger bibliotekskald til at udføre operationer med flydende komma.

x87 - instruktionerne er kompatible med IEEE-754- standarden . Men x87 - operationer følger ikke strengt IEEE-754- formaterne på grund af brugen af ​​bredere registre. Derfor kan rækkefølgen af ​​aritmetiske operationer udføres noget anderledes på et x87 -sæt og på en processor, der nøje følger IEEE-754- formatet .

x87 organiserer sine registre ikke som et array, som de fleste andre arkitekturer, men som en registerstak, der fungerer efter princippet om omvendt polsk notation . Dette betyder, at på én gang er kun de to øverste registre tilgængelige for operationer, og adgang til andre registre kræver stakmanipulation. Selvom denne organisation er praktisk for programmører, gør den det vanskeligt at bygge effektiv x87 -kode til compilere.

Begyndende med Pentium III udføres beregninger ved hjælp af SSE -instruktioner i enkelt præcision og i senere versioner i dobbelt præcision IEEE-754- formater . Siden fremkomsten af ​​SSE2 er x87 -brug stort set blevet forældet i x86-64 64-bit arkitekturer og relaterede 64-bit implementeringer af operativsystemer såsom Microsoft Windows , Mac OS X , Solaris , FreeBSD og Linux , selvom det stadig er godt vedligeholdes for fuld kompatibilitet med ældre applikationer.

Relaterede links

Se også