Grafikprozessor

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
NV20-GPU einer Nvidia GeForce 3

Der Grafikprozessor (englisch graphics processing unitGPU, seltener engl. visual processing unitVPU[1]) dient zur Berechnung der Bildschirmausgabe auf Computern, Spielkonsolen und Smartphones. Dieser befindet sich entweder im Die der CPU mit integrierter Grafikeinheit (als sogenannte APU), auf der Hauptplatine (Onboard, als Integrierter Grafikprozessor, inzwischen seltener anzutreffen) oder auf einer Erweiterungskarte (Steckkarte). Im letzteren Fall sind mehrere GPUs auf einer Grafikkarte, bzw. auch mehrere Grafikkarten pro PC möglich.

Fast alle heute produzierten Grafikprozessoren für Personal Computer stammen von AMD, Intel oder Nvidia. Die Integration auf Steckkarten liegt dagegen bis auf Sonder- und Referenzmodelle seit einiger Zeit bei anderen Herstellern.

Geschichte[Bearbeiten]

NV43-GPU einer Nvidia GeForce 6600GT
R300-GPU einer ATI Radeon 9500
Integrierte GPU in einer Intel 810e Northbridge

Vorläufer der Grafikprozessoren gab es seit etwa Anfang der 1980er Jahre. Damals dienten diese nur als Bindeglied zwischen der CPU und der Bildschirmausgabe und wurden daher Video Display Controller genannt. 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 später immerhin Sprites selbständig darstellen.

Das änderte sich Mitte der 1980er Jahre mit Rechnern wie dem Commodore Amiga oder dem Atari ST. Diese verfügten bereits über Blitting-Funktionen. Im x86-PC-Bereich kamen Grafikprozessoren mit solchen Zusatzfunktionen mit dem Übergang von textbasierten DOS-Programmen zu grafikbasierten Windows-Programmen auf. Bausteine wie der ET-4000 konnten einfache Befehle (z. B. „zeichne Viereck“) selbständig abarbeiten. Wegen des hauptsächlichen Einsatzes unter Windows wurden sie auch „Windows-Beschleuniger“ genannt.

Mitte der 1990er Jahre kamen die ersten 3D-Beschleuniger auf den Markt. Diese Grafikprozessoren waren in der Lage, einige Effekte und dreiecksbasierte Algorithmen (wie beispielsweise Z-Puffern, Texture Mapping) und Antialiasing auszuführen. Besonders dem Bereich Computerspiele verhalfen solche Steckkarten (wie die 3dfx Voodoo Graphics) zu einem Entwicklungsschub. Zur damaligen Zeit waren solche Anwendungen vorrangig durch den Prozessor begrenzt.

Die Bezeichnung GPU wurde erstmals von Nvidia intensiv genutzt, um die 1999 erschienene Nvidia-GeForce-256-Serie zu vermarkten. Diese Grafikkarte war (im Endkunden-Geschäft) als erste mit einer T&L-Einheit ausgestattet.

GPUs waren wegen ihrer Spezialisierung auf Grafikberechnungen und Konzentration auf massiv parallelisierbare Aufgaben den CPUs in ihrer Rechenleistung stets überlegen. Eine CPU ist universell ausgelegt, die einzelnen CPU-Kerne sind zudem meist für schnelles Abarbeiten von sequentiellen Aufgaben optimiert. Die GPU zeichnet sich hingegen durch ein hohes Maß an Parallelisierung aus, da sich 3D-Berechnungen sehr gut parallelisieren lassen und ist zusätzlich für 3D-Berechnungen spezialisiert, so sind nach wie vor für bestimmte Aufgaben (z. B. für Texturfilterung) spezialisierte Einheiten („Fixed Function Units“) in der GPU enthalten. Ließe man auf einer GPU ein Programm laufen, das nur ein bis zwei Threads mit relativ wenig Datenparallelität (aktuell übliches Programm) gleichzeitig zur Verfügung stellt, so wäre die GPU nicht ausgelastet. Die relativ kleinen Caches in der GPU würden zu größeren Latenzen in der Programmausführung führen, die aufgrund mangelnder Parallelisierung des Programms nicht durch gleichzeitiges Abarbeiten vieler Aufgaben ausgeglichen werden könnten. Bei sequentiellen Aufgaben ist die CPU daher schneller.

Der Leistungsvorsprung gegenüber CPUs bei stark parallelisierbaren Aufgaben 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. Sie beschränkte sich zunächst auf die Chips des Herstellers ATI/AMD, im Jahr 2008 kam aber auch Nvidia-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 in Spielen mittels PhysX Physikberechnungen durchzuführen. Inzwischen gibt es die offene Programmierplattform OpenCL, mit der Programme für CPU und GPU gleichermaßen entwickelt werden können. Zudem können heutige GPUs nicht nur mit einfacher Genauigkeit, sondern mit doppelter Genauigkeit rechnen.

Aufgaben[Bearbeiten]

Der Grafikprozessor übernimmt rechenintensive Aufgaben der 2D- und 3D-Computergrafik und entlastet dadurch den Hauptprozessor (CPU). Die Funktionen werden über Software-Bibliotheken wie DirectX oder OpenGL angesteuert. Die freigewordene Prozessorzeit kann somit für andere Aufgaben verwendet werden.

Eigenschaften[Bearbeiten]

  • Unterstützung der Grafikschnittstellen DirectX und OpenGL
  • Antialiasing – zum Teil winkelunabhängige Kantenglättung
  • Anisotropes Filtern – Abbildung / Rasterung von Texturen
  • Multi-GPU-Techniken – Zusammenarbeit mehrerer Grafikprozessoren
  • freie Programmierbarkeit nahezu jeder GPU-Komponente (Shader, beinhaltet T&L)
  • Textur – Musterabbildung, mit Hilfe mindestens einer Texture Mapping Unit (TMU)
  • Bildsynthese, mit Hilfe von mindestens einem Raster Operation Processor (ROP), auch bekannt als Render Output Unit oder Raster Operations Pipeline

Architekturen[Bearbeiten]

Familie (Codename) Chipnamen Markennamen (mit Umbenennungen) verbaut in Verkaufsserien (ohne Umbenennungen)
Radeon[2]
R100 R100, RV100, RV200, RS100, RS200 7xxx, 320-345
R200 R200, RV250, RV280, RS300 8xxx - 9250
R300 R300, R350, RV350, RV380, RS400, RS480 9500 - 9800, X300 - X600, X1050 - X1150, 200M ATI-Radeon-9000-Serie, ATI-Radeon-X-Serie, ATI-Radeon-X1000-Serie
R400 R420, R423, RV410, RS600, RS690, RS740 X700 - X850, X12xx, 2100 ATI-Radeon-X-Serie, ATI-Radeon-X1000-Serie
R500 RV515, R520, RV530, RV560, RV570, R580 X1300 - X2300, HD2300 ATI-Radeon-X1000-Serie
R600 R600, RV610, RV630, RV620, RV635, RV670, RS780, RS880 HD2400 - HD4290 ATI-Radeon-HD-2000-Serie, ATI-Radeon-HD-3000-Serie
R700 RV770, RV730, RV710, RV740 HD4330 - HD5165, HD5xxV ATI-Radeon-HD-4000-Serie
Evergreen Cedar, Redwood, Juniper, Cypress, Palm (AMD Wrestler/Ontario), Sumo/Sumo2 (AMD Llano) HD5430 - HD5970, alle HD6000er, die nicht unter Northern Islands aufgeführt sind, HD7350 ATI-Radeon-HD-5000-Serie
Northern Islands Aruba (AMD Trinity/Richland), Barts, Turks, Caicos, Cayman HD6450, HD6570, HD6670, HD6790 - HD6990, HD64xxM, HD67xxM, HD69xxM, HD7450 - HD7670 AMD-Radeon-HD-6000-Serie
Southern Islands Cape Verde, Pitcairn, Tahiti, Oland, Hainan HD7750 - HD7970, R9 270, R9-280, R7 240, R7 250 AMD-Radeon-HD-7000-Serie, AMD-Radeon-R200-Serie
Sea Islands Bonaire, Kabini, Kaveri, Hawaii HD7790, R7 260, R9 290 AMD-Radeon-R200-Serie
GeForce[3]
NV04 Fahrenheit Riva TNT, TNT2 Nvidia Riva
NV10 Celsius GeForce 256, GeForce 2, GeForce 4 MX Nvidia-GeForce-256-Serie, Nvidia-GeForce-2-Serie, Nvidia-GeForce-4-Serie MX
NV20 Kelvin GeForce 3, GeForce 4 Ti Nvidia-GeForce-2-Serie, Nvidia-GeForce-4-Serie Ti
NV30 Rankine GeForce 5 / GeForce FX Nvidia-GeForce-FX-Serie
NV40 Curie GeForce 6, GeForce 7 Nvidia-GeForce-6-Serie, Nvidia-GeForce-7-Serie
NV50 Tesla GeForce 8, GeForce 9, GeForce 100, GeForce 200, GeForce 300 Nvidia-Geforce-8-Serie, -9-Serie, -100-Serie, -300-Serie
NVC0 Fermi GeForce 400, GeForce 500 Nvidia-Geforce-400-Serie, Nvidia-Geforce-500-Serie
NVE0 Kepler GeForce 600, GeForce 700, GeForce GTX Titan Nvidia-Geforce-600-Serie, Nvidia-Geforce-700-Serie
NV110 Maxwell GeForce 750, GeForce 900 Nvidia-Geforce-900-Serie

Stromverbrauch[Bearbeiten]

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, entstand in dieser Hinsicht ein Druck auf die Hersteller von Grafikprozessoren, die bisher jedoch eher das Gegenteil taten: Highend-Grafikkarten wandeln nicht selten selbst ohne Last mehr als 50 W in Verlustwärme um[4], obwohl es in diesem Zustand praktisch keine Leistungsunterschiede zu wesentlich einfacheren Modellen oder Onboard-Grafik gibt. Ende des Jahres 2007 fügte AMD mit der ATI-Radeon-HD-3000-Serie erstmals effiziente Stromsparmechanismen in seine Desktopgrafikkarten ein. Nvidia entwickelte das Verfahren HybridPower, das es erlaubte, eine High-End-Grafikkarte im 2D-Modus auszuschalten und auf den sparsamen Onboard-Grafikchip umzuschalten, wofür allerdings eine Hybrid-SLI-fähige Hauptplatine Voraussetzung war. Nach relativ kurzer Zeit verabschiedete sich Nvidia von diesem Konzept. Inzwischen (2009) beherrschen die GPUs beider Hersteller relativ effiziente Stromsparmechanismen.

Hersteller[Bearbeiten]

Marktanteile (verkaufte Stückzahl) der GPU-Hersteller (für Desktop GPUs)

Aktuell[Bearbeiten]

AMD (früher ATI), ARM Limited, Qualcomm, Intel, Nvidia, PowerVR

Ehemalig[Bearbeiten]

3dfx, 3DLabs, Cirrus Logic, Cyrix, Diamond Multimedia, Matrox, NeoMagic, Oak Technology, S3 Graphics, S3 Inc., SiS, Trident Microsystems, Tseng Labs, XGI Technology Inc.

Aufgrund des starken Wettbewerbs und der damit verbundenen hohen Entwicklungskosten wurden die meisten Hersteller aufgekauft (3dfx, 3DLabs) oder konzentrieren sich auf einen Nischenmarkt (Matrox, XGI).

Seit Jahren ist Intel mit Abstand Marktführer bei Grafikprozessoren für PCs. Der Hauptgrund ist die hohe Anzahl von Büro-Computern, die fast nur mit auf der Hauptplatine integrierten Grafikprozessoren ausgestattet sind, die einen Bestandteil der überwiegend von Intel gelieferten Chipsätze darstellen. Im für PC-Spieler geeigneteren Bereich der steckkartenbasierten Grafiklösungen teilen sich AMD/ATI und Nvidia den Markt.

Weblinks[Bearbeiten]

 Commons: Graphics Processing Unit – Album mit Bildern, Videos und Audiodateien

Fußnoten[Bearbeiten]

  1. Der ehemalige Grafikchip-Hersteller 3Dlabs benutzte die Bezeichnung VPU, um auf die volle Programmierbarkeit von Fragment- und Vertexshadern seiner Produkte zu verweisen.
  2. RadeonFeature
  3. nouveau/CodeNames
  4. Stromfresser Grafikkarte: 78 Boards im Test. Anmerkung: der GeForce 7600 GS, dem sparsamsten Chip in der Tabelle, werden von einem Test der c't 04/2007 immer noch 10 W im 2D- und 20 bis 27 W im 3D-Betrieb nachgesagt.