Motorola 68881 - Motorola 68881

Motorola 68881 FPU

Der Motorola 68881 und Motorola 68882 sind Gleitkommaeinheiten (FPUs) in einigen Computersystemen in Verbindung mit Motorola 32-Bit - 68020 oder 68030 - Mikroprozessoren. Diese Coprozessoren sind externe Chips, die entwickelt wurden, bevor die Fließkomma-Mathematik zum Standard auf CPUs wurde. Das Motorola 68881 wurde 1984 eingeführt. Das 68882 ist eine später produzierte leistungsstärkere Version.

Überblick

Ein Motorola 68882 FPU

Die CPUs 68020 und 68030 wurden mit Blick auf den separaten 68881-Chip entwickelt. Ihre Befehlssätze reservierten die "F-Line"-Befehle – das heißt, alle Opcodes, die mit der hexadezimalen Ziffer "F" beginnen, könnten entweder an einen externen Coprozessor weitergeleitet oder als "Fallen" verwendet werden, die eine Ausnahme auslösen und die Kontrolle an den Betriebssystem des Computers . Wenn keine FPU im System vorhanden ist, würde das Betriebssystem dann entweder einen FPU- Emulator aufrufen , um das Äquivalent des Befehls unter Verwendung von 68020-Integer-basiertem Softwarecode auszuführen, einen Fehler an das Programm zurückgeben, das Programm beenden oder abstürzen und einen Neustart erfordern.

Die Architektur

Sterben von Motorola 68881

Der 68881 verfügt über acht 80- Bit -Datenregister (eine 64-Bit-Mantisse plus ein Vorzeichenbit und einen 15-Bit-Exponenten mit Vorzeichen). Es ermöglicht sieben verschiedene Modi der numerischen Darstellung, einschließlich einfacher Genauigkeit, doppelter Genauigkeit und erweiterter Genauigkeit, wie durch den IEEE-Gleitkommastandard IEEE 754 definiert . Es wurde speziell für Gleitkomma-Mathematik entwickelt und ist keine Allzweck-CPU. Wenn beispielsweise ein Befehl Adressberechnungen erfordert, verarbeitet die Haupt-CPU diese, bevor der 68881 die Kontrolle übernimmt.

Das CPU/FPU-Paar ist so ausgelegt, dass beide gleichzeitig laufen können. Wenn die CPU auf einen 68881-Befehl trifft, übergibt sie der FPU alle Operanden, die für diesen Befehl benötigt werden, und dann gibt die FPU die CPU frei, um fortzufahren und den nächsten Befehl auszuführen.

68882

Sterben von Motorola 68882

Der 68882 ist eine verbesserte Version des 68881 mit besserem Pipelining und eventuell mit höheren Taktraten erhältlich . Sein Befehlssatz ist genau der gleiche. Motorola behauptete in einigen Marketingliteratur, dass es einige Befehle 40 % schneller ausführt als ein 68881 bei der gleichen Taktrate, obwohl dies nicht die typische Leistung widerspiegelte, wie die bescheidenere Verbesserung in der folgenden Tabelle zeigt. Der 68882 ist pinkompatibel mit dem 68881 und kann in den meisten Systemen als direkter Ersatz verwendet werden. Die wichtigste Software-Inkompatibilität besteht darin, dass der 68882 einen größeren FSAVE-Zustandsrahmen verwendet, der UNIX und andere präemptive Multitasking-Betriebssysteme betrifft , die modifiziert werden mussten, um ihm mehr Platz zuzuweisen.

Verwendungszweck

Die 68881 oder 68882 wurden in Sun Microsystems Sun-3 Workstations, IBM RT PC Workstations, Apple Computer Macintosh II Familie, NeXT Computer , Sharp X68000 , Amiga 3000 , Convergent Technologies MightyFrame, Atari Mega STE , TT und Falcon verwendet . Einige Amiga- und Atari-Produkte von Drittanbietern verwendeten den 68881 oder 68882 als speicherbezogenes Peripheriegerät für den 68000 .

Versionen

68881

  • 155.000 Transistoren auf dem Chip
  • 12-MHz-Version
  • 16-MHz-Version lief mit 160 k FLOPS
  • 20-MHz-Version lief mit 192 kFLOPS
  • 25-MHz-Version lief mit 240 kFLOPS

68882

  • 176 000 Transistoren auf dem Chip
  • 25-MHz-Version lief mit 264 kFLOPS
  • 33-MHz-Version lief mit 352 kFLOPS
  • 40-MHz-Version lief mit 422 kFLOPS
  • 50-MHz-Version lief mit 528 kFLOPS

Diese Statistiken stammen aus den FAQ zu comp.sys.m68k . Für die 16 MHz und 20 MHz 68882 sind keine Statistiken aufgeführt, obwohl diese Chips tatsächlich produziert wurden.

Erbe

Beginnend mit dem Motorola 68040 war die Unterstützung von Gleitkommazahlen in der CPU selbst enthalten.

Verweise

Anmerkungen