Der Grafikprozessor (englisch Graphics Processing Unit -- GPU, seltener Visual Processing Unit -- VPU[1]) dient zur Berechnung der Bildschirmausgabe auf Computern und Spielekonsolen. Dieser befindet sich entweder auf der Hauptplatine (Onboard, als Integrated Graphics Processor) oder auf einer Erweiterungskarte (Steckkarte), im letzteren Fall sind auch mehrere GPUs auf einer Grafikkarte möglich.
Fast alle heutzutage produzierten Grafikprozessoren stammen von AMD (unter dem Markennamen ATI), Intel und NVIDIA. Die Integration auf Steckkarten liegt dagegen bis auf Sondermodelle seit einiger Zeit bei anderen Herstellern.
Inhaltsverzeichnis |
Im Prinzip gibt es Grafikprozessoren seit etwa Anfang der 1980er Jahre. Damals dienten sie allerdings nur als Bindeglied zwischen der CPU und der Bildschirmausgabe. Weder hatten sie die Funktionalität noch waren sie für eigenständige Berechnungen ausgelegt. Zunächst waren sie vor allem für eine selbständige Text- und Grafikausgabe zuständig und schonten damit den Systembus. Einige konnten sogar Sprites darstellen.
Dies änderte sich erst in den 1980er Jahren mit Rechnern wie dem Commodore Amiga oder dem Atari ST. Diese verfügten bereits über Blitting-Funktionen. Im x86-PC-Bereich wurden diese Grafikprozessoren mit dem Übergang von textbasieren DOS-Anwendungen zu grafikbasierten Windows-Anwendungen ein Erfolg. Entsprechend Windows-Beschleuniger genannt konnten solche erste einfache Befehle (z. B. „zeichne Viereck“) selbstständig abarbeiten.
Mitte der 1990er Jahre kamen die ersten 3D-Beschleuniger auf den Markt. Diese Grafikprozessoren waren in der Lage, einige Effekte und dreiecksbasierte Algorithmen (wie u. a. Z-Puffern, Texture Mapping) und Antialiasing selbstständig durchzuführen. Besonders dem Bereich Computerspiele verhalfen solche zusätzlich zu installierenden Steckkarten (z. B. 3dfx Voodoo Graphics) zu einem Entwicklungsschub. Zur damaligen Zeit waren solche Anwendungen vorrangig durch den Prozessor limitiert.
Die Bezeichnung GPU wurde erstmals von NVIDIA intensiv genutzt, um die 1999 erschienene Geforce 256 zu vermarkten. Diese Grafikkarte war (im Endkunden-Geschäft) als erste mit einer T&L-Einheit ausgestattet.
Heutzutage sind GPUs wegen ihrer Spezialisierung auf Grafikberechnungen den CPUs in ihrer Rechenleistung überlegen. Als Vergleich diene die Transistoranzahl des aktuellen Grafikprozessors von AMD (ATI Radeon HD 4850, 956 Millionen) mit der des aktuellen Spitzenmodells von Intel (Core 2 Extreme QX9650, 820 Millionen). Der Unterschied wird deutlich, wenn man bedenkt, dass über die Hälfte der CPU-Chipfläche für die 2x6 MByte Cache verbraucht werden. Die Entwicklung der Integrationsdichte der Grafikprozessoren hat mit einem jährlichen Faktor von 2,4 sogar das Mooresche Gesetz übertroffen. Eine CPU kann prinzipiell alles berechnen und ist dementsprechend universell ausgelegt, während GPUs auf 3D-Berechnungen spezialisiert und optimiert sind. Zudem zeichnet sich die GPU durch ein hohes Maß an Parallelisierung aus, da sich 3D-Berechnungen sehr gut parallelisieren lassen können. Würde man also auf einer GPU eine Anwendung laufen lassen, die nur ein bis zwei Threads (aktuell übliches Programm) gleichzeitig zur Verfügung stellt, so wäre die GPU nicht ausgelastet und dementsprechend langsam.
Der Leistungsvorsprung gegenüber CPUs und die bereits vorhandenen SIMD-Eigenschaften machen aktuelle GPUs für wissenschaftliche Anwendungen als Streamprozessor interessant. Diesen Verwendungszweck bezeichnet man als GPGPU. Die Einbeziehung der GPU hat z. B. im Verteilt-Rechnen-Projekt Folding@home zu einer enormen Steigerung der Rechenleistung geführt, beschränkte sich zuerst auf die Chips des Herstellers ATI/AMD, im Jahre 2008 kam aber auch nVidias GPUs ab der GeForce-8-Serie hinzu. Für Grafikkarten von Nvidia existiert CUDA als API zur Nutzung der GPU für Berechnungen. Diese wird inzwischen auch genutzt um Physikberechnungen mittels PhysX in Spielen durchzuführen.
Der Grafikprozessor übernimmt rechenintensive Aufgaben der 2D- und 3D-Computergrafik und entlastet dadurch den Hauptprozessor (CPU). Die Funktionen werden über Softwarebibliotheken wie DirectX oder OpenGL angesteuert. Die freigewordene Prozessorzeit kann somit für andere Aufgaben verwendet werden.
Nachdem die großen Hersteller von CPUs seit etwa Anfang 2005 begonnen haben, den Stromverbrauch ihrer Produkte insbesondere bei geringer Auslastung teilweise sehr deutlich zu reduzieren, ist in dieser Hinsicht ein Druck auf die Hersteller von Grafikprozessoren entstanden, die bisher jedoch eher das Gegenteil getan haben: bei Highend-Grafikkarten ist es nichts Seltenes, wenn diese selbst ohne Last mehr als 50 W in Verlustwärme umwandeln[2], obwohl es in diesem Zustand praktisch keine Leistungsunterschiede zu wesentlich einfacheren Modellen oder Onboard-Grafikkarten gibt. Ende des Jahres 2007 fügte AMD mit der ATI-Radeon-HD-3000-Serie erst mal effiziente Stromsparmechanismen in seine Desktopgrafikkarten ein. nVidia führte das Feature HybridPower ein, der es erlaubt eine High-End-Grafikkarte im 2D-Modus auszuschalten und auf den sparsamen Onboard-Grafikchip umzuschalten, wofür allerdings Hybrid-SLI-Fähige Mainboards eine Voraussetzung sind.
ATI (Markenname von AMD), NVIDIA, Intel, Matrox, PowerVR, S3 Graphics, XGI Technology Inc.
3dfx, 3DLabs, Cyrix, SiS, Tseng Labs
Aufgrund des starken Wettbewerbs und der damit verbundenen hohen Entwicklungskosten sind die meisten Hersteller aufgekauft worden (3dfx, 3DLabs) oder konzentrieren sich auf einen Nischenmarkt (Matrox, XGI).
Seit Jahren ist Intel mit Abstand Marktführer in der Herstellung von Grafikprozessoren. Der Hauptgrund ist die hohe Anzahl von Büro-Computern, die fast nur mit integrierten Grafikprozessoren ausgestattet sind. Im für PC-Spieler geeigneteren Bereich der steckkartenbasierten Grafiklösungen teilen sich AMD/ATI und NVIDIA den Markt.