Remove ads
Begriff aus der Computertechnik Aus Wikipedia, der freien Enzyklopädie
Gleitkommaeinheit, FPU (für Floating-Point Unit) oder NPU (für Numeric Processing Unit) sind Begriffe aus der Computertechnik und bezeichnen einen speziellen Prozessor, der Operationen auf Gleitkommazahlen ausführt.
Wenn ein Computer Gleitkommaoperationen ausführen soll, gibt es zwei prinzipielle Möglichkeiten:
Frühe CISC-Prozessoren verfügten meist nicht über eingebaute Mechanismen zur Behandlung von Gleitkommazahlen. Gleitkommaberechnungen und mathematischen Funktionen wurden per Software durch den Hauptprozessor erledigt, was einerseits den Hauptprozessor beanspruchte und andererseits erheblich langsamer als eine spezialisierte Hardwarelösung war. Daher ging man dazu über, spezialisierte Koprozessoren zusätzlich zu implementieren. Da sie vorwiegend komplexere Operationen wie Multiplikation, Division oder Wurzelziehen und transzendente Funktionen durchführen können, werden sie auch „mathematische Koprozessoren“ genannt.
Bei CISC-Mikroprozessoren konnten die Systeme dann teilweise mit zusätzlichem Koprozessor ausgerüstet werden. Das waren z. B. von AMD der AM9511 bzw. AM9512 (lizenziert von Intel als Intel i8231 bzw. i8232), die als periphere Bausteine angesprochen wurden. Bei späteren CISC-CPUs wie den Intel x86-Prozessoren (bis zum 486er) oder den Motorola-68k-CPUs gab es die Möglichkeit, einen Koprozessor direkt auf dem Motherboard nachzurüsten. Beispiele waren die Koprozessoren von Intel 8087, 80287, 80387 und 80487. Mit fortschreitender Integration wurden die FPUs in die CPU integriert (z. B. Intel Pentium).
Eingeläutet wurde das Zeitalter der integrierten FPUs durch mehrere Faktoren:
Die Anwesenheit einer FPU ermöglicht eine erhebliche Leistungssteigerung für gleitkommaintensive Berechnungen. So boten Koprozessoren breitere Register: Schon bei 16- und 32-Bit-CPUs hatte die FPU häufig 64 Bit, 80 Bit oder auch 128 Bit breite Register. Dadurch konnten einfache Berechnungen mit höherer Genauigkeit durchgeführt werden, und es wurde ein größerer Wertebereich abgedeckt. Da auch die FPU im Inneren letztendlich eine digitale Recheneinheit darstellt, bedarf es weiterer, trickreicher Methoden, um eine echte Beschleunigung zu erhalten. Viele Modelle (z. B. der 8087) verfügen über hardwareseitig optimierte Rechenmethoden wie z. B. den CORDIC-Algorithmus für trigonometrische Funktionen, welcher nur durch Addition und Registerverschiebung, aber ohne langwierige Multiplikation auskommt. Oft wird eine große Beschleunigung auch über fest implementierte Lookup-Tabellen erreicht. Das heißt, die Werte werden nicht über mehrmalige Schleifendurchläufe ermittelt, sondern zuerst mit Hilfe von Tabellen näherungsweise und dann durch Interpolationsverfahren bis zu hinreichender Genauigkeit ermittelt. (Ein Fehler in einer solchen Tabelle war Ursache des sogenannten Pentium-Bug). Weiterhin kann eine FPU ihre Register oftmals als Matrix organisieren und so Vektorrechnungen beschleunigen.
Die meisten FPUs stellen Operationen für die Grundrechenarten (mit höherer Genauigkeit als die CPU), Logarithmus-, Wurzel- und Potenzrechnung und trigonometrische Funktionen sowie Funktionen für das Rechnen mit Matrizen zur Verfügung.
Die Rechenleistung einer FPU wird meistens in SPECfp gemessen, im Gegensatz zu den SPECint einer CPU.
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.