Gleitkomma-Rechenwerk
Englisch: floating-point unit
Ein Mikroprozessor, der Gleitkomma-Arithmetik durchführt; bei älteren Computermodellen war das FPU nicht in die Zentraleinheit integriert, sondern als Koprozessor vorhanden, falls überhaupt.
FPU: der Chip, der Dezimalzahlen und kleine Werte schnell verarbeitet
Eine Gleitkommaeinheit ist ein spezialisierter Prozessorkern, entweder in die Haupt-CPU integriert oder als separater Coprozessor ausgeführt, der arithmetische Operationen auf Zahlen durchführt, die im Gleitkommaformat dargestellt sind. Im Gegensatz zur Festkomma-Arithmetik, die ganze Zahlen und einfache Brüche verarbeitet, nutzt die Gleitkommanotation eine Mantisse und einen Exponenten (ähnlich der wissenschaftlichen Notation), um sehr große, sehr kleine und Bruchwerte mit einer fixen Anzahl von Bits darzustellen, typischerweise 32 oder 64 Bits pro Zahl.
In industriellen Steuerungssystemen, der Signalverarbeitung und numerischen Simulation führt die FPU Multiplikationen, Divisionen, Quadratwurzeln und trigonometrische Operationen weitaus schneller aus, als die allgemeine CPU durch Software-Emulation schaffen könnte. Ein Prozessor, der solche Befehle ohne FPU ausführt, muss die Operation in viele Integer-Schritte zerlegen und benötigt Hunderte oder Tausende von Zyklen. Mit einer dedizierten FPU ist die gleiche Operation in einstelligen Zyklen abgeschlossen, was die Ausführungszeit für rechenintensive Algorithmen von Millisekunden auf Mikrosekunden reduziert.
Historische Trennung und moderne Integration
In den 1980er-Jahren und bis in die frühen 1990er-Jahre waren Gleitkommaeinheiten physisch separate Chips und optionale Coprozessoren, die zu Systemen hinzugefügt wurden, die sie benötigten. Intels 8087 war eine eigenständige FPU für den 8086-Prozessor; die 386- und 486-Familien gab es in Varianten mit oder ohne integrierte Gleitkomma-Hardware. Ab der Pentium-Generation und auf modernen ARM- und RISC-Architekturen wurde die FPU zum Pflicht-Bestandteil des Hauptchips, wodurch die Verzögerung durch Inter-Chip-Kommunikation entfiel und mathematische Berechnungen zur Routine statt zur Spezialaufgabe wurden.
In eingebetteten Industrieanwendungen, die Echtzeit-Regelschleifen, Rückkopplungsberechnungen oder Sensorfusion ausführen, bestimmt das Vorhandensein oder Fehlen einer FPU, ob eine Berechnung innerhalb eines vorgegebenen Zeitbudgets abgeschlossen wird. Systeme ohne FPU müssen entweder Integer-Approximation verwenden (was Quantisierungsfehler einführt), langsamer laufen oder auf teurere Hardware aufrüsten. Moderne Mikrocontroller verfügen häufig über Gleitkommaeinheiten mit einfacher Genauigkeit (32-Bit); Einheiten mit doppelter Genauigkeit (64-Bit) erscheinen in leistungsstärkeren Industrieprozessoren und sicherheitskritischen Systemen, bei denen die numerische Genauigkeit die typische Sensorauflösung übersteigen muss.
Gleitkomma-Arithmetik hat ihre eigenen Tücken: Rundungsfehler summieren sich in langen Berechnungen auf, Vergleichsoperationen müssen kleine Toleranzen statt Gleichheit akzeptieren, und einige Zahlen (wie 0,1 im Binärsystem) lassen sich nicht exakt darstellen. Industriesoftware-Ingenieure müssen diese Einschränkungen berücksichtigen, wenn sie Steueralgorithmen schreiben, besonders in Systemen, bei denen eine Präzisionsdrift zu Fehlalarmen oder Instabilität führen könnte. Der IEEE-754-Standard legt fest, wie konforme FPUs Rundung, Überlauf und spezielle Werte wie Unendlich und NaN handhaben, um sicherzustellen, dass das Verhalten auf verschiedenen Prozessoren vorhersehbar ist.