Die Floating-Point Unit (FPU), zu Deutsch Gleitkommaeinheit, ist die spezialisierte Recheneinheit einer CPU für Gleitkomma-Arithmetik. Ohne sie müsste der Prozessor Gleitkommazahlen in aufwendiger Software nachbilden.

Aufgaben

  • Addition, Subtraktion, Multiplikation und Division, meist hardware-pipelined
  • Quadratwurzel, Vergleichsoperationen und FMA (Fused Multiply-Add: a*b+c in einem Schritt mit voller Genauigkeit)
  • Transzendente Funktionen wie Sinus, Cosinus, Exponential und Logarithmus, teils über Mikrocode oder Tabellen
  • Arbeit nach dem IEEE-754-Standard für Rundung und Sonderwerte (siehe Gleitkommazahl)

Geschichte: vom Coprozessor in den Kern

Frühe Computer führten Gleitkommaoperationen per Software aus. Intel brachte für den 8086/8088 den separaten Coprozessor 8087 (später 80287 und 80387, bei Motorola den 68881), der parallel zum Hauptprozessor rechnete. Ab dem 80486DX gehörte die FPU fest zum CPU-Kern. Berühmt wurde die FPU 1994 durch den Pentium-FDIV-Bug: Eine fehlerhafte Divisionstabelle lieferte für bestimmte Werte falsche Ergebnisse – Intel musste die betroffenen Chips zurückrufen und ersetzen.

Besonderheiten und Ausnahmen

Gleitkommaoperationen können Sonderfälle erzeugen: Division durch null, Über- und Unterlauf sowie ungültige Operationen wie 0/0. Die FPU meldet diese über Exceptions – der Interrupt-Mechanismus der CPU leitet sie an das Betriebssystem weiter.

Leistung und moderne Entwicklung

Die Leistung wird in FLOPS (Floating-Point Operations Per Second) gemessen. Moderne CPUs starten mehrere Gleitkommaoperationen pro Takt; SIMD-Erweiterungen wie SSE und AVX verarbeiten ganze Vektoren von Gleitkommazahlen gleichzeitig in breiten Registern. GPUs sind im Kern riesige parallele FPU-Felder für 3D-Grafik und KI-Berechnungen (GPU). Auch RISC-Prozessoren wie ARM integrieren FPU und Vektor-Einheit direkt im Kern.

Abgrenzung zur CPU als Gesamtsystem: Die FPU ist eine Funktionseinheit darin. Während Gleitkommazahl die Darstellung und Genauigkeit der Zahlen beschreibt, ist die FPU die Hardware, die mit ihnen rechnet.

Historisch kamen FPUs als Coprozessoren zu CISC-Prozessoren; in VLIW-Designs sind mehrere FPUs üblich, weil das breite Befehlswort parallele Gleitkomma-Operationen explizit einplant.