Intel 8087
Gleitkommaeinheit der Intelprozessoren Aus Wikipedia, der freien Enzyklopädie
Gleitkommaeinheit der Intelprozessoren Aus Wikipedia, der freien Enzyklopädie
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-, 80186- und 80188-Prozessoren.
Der 8087 ist die erste von Intel entworfene Gleitkommaeinheit für 16-Bit-Prozessoren. Er entlastet den Hauptprozessor bei Gleitkommazahlen-Berechnungen. Ohne Koprozessor lösen diese Gleitkommabefehle eine CPU-Exception aus, die für hauptprozessorbasierte Software-Emulation des Koprozessors durch Programme oder durch das Betriebssystem genutzt werden können. Rechnungen mit Einsatz des 8087 sind 75- bis 100-mal schneller als bei emuliertem Koprozessor.[2] Der 8087 enthält 45.000 Transistoren, hat 68 Befehle und es gibt ihn für Taktfrequenzen bis 5 (8087), 8 (8087-2) oder 10 MHz (8087-1).[1]
Alle Modelle des 8087 wurden mit einem 40-poligen Dual in-line package (DIP) ausgeliefert und arbeiten bei einer Betriebsspannung von 5 V, die maximale Leistungsaufnahme betrug etwa 2,38 W (475 mA, bei 10 MHz)[3] und lag damit über den max. 1,84 W des Intel 8086 (bei 8 MHz). Im Gegensatz zu späteren Koprozessoren, wie dem 80287, musste der 8087 mit der gleichen Frequenz wie die CPU getaktet werden. Die folgende Tabelle listet die, ebenfalls von späteren FPUs abweichende, Produktbezeichnung und deren maximale Taktfrequenzen auf:
Modell[1] | max. Takt |
---|---|
Intel 8087 | 5 MHz |
Intel 8087-1 | 10 MHz |
Intel 8087-2 | 8 MHz |
Intel 8087-3 | 4 MHz |
Intel 8087-6 | 6 MHz |
Auf dem Motherboard des IBM-PC befindet sich ein freier IC-Sockel, in den ein 8087 zur Aufrüstung gesteckt werden kann.
Der 8087 konnte auch in den Bridgeboards für den Amiga verwendet werden. Der 8087 wurde zu einem Zeitpunkt entwickelt, in dem der IEEE 754-Standard zur Darstellung festgelegt wurde.
Nachfolgemodelle des 8087 sind der 80287, i387 und i487. Seit dem i486DX haben Intel-Prozessoren eine integrierte Gleitkommaeinheit.
Zu Zeiten des 8086 kam ein Großteil der Programme ohne Gleitkomma-Operationen aus, für einen weiteren Teil spielten Gleitkomma-Operationen nur eine geringe Rolle, die Anwesenheit einer FPU wurde meist nicht beachtet. Betriebssysteme wie MS-DOS nutzten nur Ganzzahlarithmetik und stellten keine Emulation zur Verfügung. Es gab allerdings auch FPU-Emulatoren, die als Gerätetreiber oder TSR-Programm geladen werden konnten und dann allen Anwendungsprogrammen zur Verfügung standen.
Für die Einbindung von Programmen mit signifikanten Gleitkommaanteilen (CAD-Programme, selbst geschriebene Rechenprogramme) gab es mehrere Möglichkeiten:
Opcodes | Compilat | Emulation | 8087 | 80287+ |
---|---|---|---|---|
Gleitkommabefehl D8 xx ... | CD 34 xx ... | CD 34 xx ... | 9B D8 xx ... (FWAIT + Opcode) | 90 D8 xx ... (NOP + Opcode) |
Gleitkommabefehl D9 xx ... | CD 35 xx ... | CD 35 xx ... | 9B D9 xx ... (FWAIT + Opcode) | 90 D9 xx ... (NOP + Opcode) |
Gleitkommabefehl DA xx ... | CD 36 xx ... | CD 36 xx ... | 9B DA xx ... (FWAIT + Opcode) | 90 DA xx ... (NOP + Opcode) |
Gleitkommabefehl DB xx ... | CD 37 xx ... | CD 37 xx ... | 9B DB xx ... (FWAIT + Opcode) | 90 DB xx ... (NOP + Opcode) |
Gleitkommabefehl DC xx ... | CD 38 xx ... | CD 38 xx ... | 9B DC xx ... (FWAIT + Opcode) | 90 DC xx ... (NOP + Opcode) |
Gleitkommabefehl DD xx ... | CD 39 xx ... | CD 39 xx ... | 9B DD xx ... (FWAIT + Opcode) | 90 DD xx ... (NOP + Opcode) |
Gleitkommabefehl DE xx ... | CD 3A xx ... | CD 3A xx ... | 9B DE xx ... (FWAIT + Opcode) | 90 DE xx ... (NOP + Opcode) |
Gleitkommabefehl DF xx ... | CD 3B xx ... | CD 3B xx ... | 9B DF xx ... (FWAIT + Opcode) | 90 DF xx ... (NOP + Opcode) |
Segment Override 36 , 2E , 26 :SS: , CS: , ES: , gefolgt von weiterem Opcode |
CD 3C pp ,CD 3y ... |
CD 3C pp ,CD 3y ... |
90 90 9B , pp Dy ... (2× NOP + FWAIT , Prefix + nächster Opcode)[5] |
90 90 90 , pp Dy ... (2× NOP + NOP , Prefix + nächster Opcode)[6] |
Synchronisation CPU wartet auf FPU: 9B FWAIT |
CD 3D | 90 90 (2× NOP ) | 90 9B (NOP + FWAIT ) | 90 9B (NOP + FWAIT ) |
Spezialbefehle von Borland für sin, cos, exp, log, ...[7] | CD 3E ss xx | CD 3E ss xx | ?? | ?? |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.