Hardware-Zone Schriftzug

Neueste Artikel

Funktionsweise

 In diesem Kapitel beschreibt nicht nur die Funktionsweise aktueller Grafikchips, sondern auch wie sich diese im Laufe der Zeit durch den technischen Fortschritt verändert hat.

Übersicht

Moderne Grafikkarten sind nicht nur sehr leistungsfähig, sondern auch vielseitig einsetzbar. Neben der Darstellung von 2D- und 3D-Animationen und dem Dekodieren von Videos können sie mittlerweile auch für komplexe, mathematische Berechnungen aller Art (z.B. folding@home, SETI@home, Krypto-Mining) eingesetzt werden. Die ersten Grafikkarten für den PC, die Anfang der 1980er Jahre auf den Markt kamen, konnten hingegen nur Text ausgeben und waren noch sehr einfach aufgebaut.
1. Generation (1981 - 1987): "Framebuffer"

Grafikkarten der ersten Generation hatten lediglich die Funktion eines „Framebuffer“. Sie dienten als Puffer für Daten, die auf dem Bildschirm ausgegeben werden sollten, aber erst in entsprechende Signale umgewandelt werden mussten. Der Inhalt des Grafikspeichers stellt dabei ein direktes Abbild des Bildschirminhalts dar: An der ersten Speicherposition befindet sich der Bildpunkt, der zuerst ausgegeben wird, an der zweiten Position der nächste Bildpunkt, usw. Als Ausgabegerät wurde Anfang der 1980er Jahre für den privaten Gebrauch noch häufig ein handelsüblicher Fernseher verwendet.

framebuffer grafik

Schematischer Aufbau einer Grafikkarte vor 1987

2. Generation (1987 - 1995): 2D-Beschleuniger
2D- oder GUI-Beschleuniger (GUI = Graphical User Interface, grafische Benutzerschnittstelle) verfügten über einen eigenen Koprozessor, der einfache Zeichenoperationen (z.B. eine Linie zeichnen oder eine Fläche mit einer Farbe füllen) selbstständig durchführen konnte und sogenanntes Blitting beherrschte. Als Blitting bezeichnet man das schnelle Verschieben oder Umkopieren eines größeren, zusammenhängenden Bereichs im Grafikspeicher. Es wird z.B. bei Spielen zur Bewegung grafischer Objekte auf dem Bildschirm genutzt.
2dbeschleuniger schema 7kj1p911

Schematische Darstellung eines 2D-Beschleunigers

3. Generation (1995 - 1999): 3D-Beschleuniger
Die ersten 3D-Beschleuniger konnten noch keine geometrischen Berechnungen durchführen. Sie beherrschten neben der Rasterung aber folgende Funktionen:

– Textur-Mapping: Auf die Flächen der 3D-Objekte werden zweidimensionale Grafiken (Texturen) gelegt, um einen realistischeren Eindruck zu vermitteln. Dabei muss eine Perspektivkorrektur durchgeführt werden.
– Verdeckungsberechnung: Auf dem Bildschirm sollen nur die Objekte angezeigt werden, die auch für den Betrachter sichtbar sind und nicht von anderen Objekten verdeckt werden. Dazu wird während der Rasterung zu jedem Punkt ein Tiefenwert ermittelt und in einem eigenen Speicherbereich, dem Z-Buffer, abgelegt.
– Anti-Aliasing: Vor der Ausgabe werden die Kanten geglättet, um den bei der Rasterung entstandenen Treppeneffekt zu minimieren.

3dbeschleuniger schema uoj2u7d1

Schematischer Aufbau eines 3D-Beschleunigers

4. Generation (1999 - 2006): Transform & Lighting (T&L)

Ein weiterer bedeutender Fortschritt bei 3D-Beschleunigern wurde anfangs unter der Bezeichnung „T&L“ oder „Transform&Lighting“ vermarktet. Grafikkarten mit dieser Fähigkeit verfügten über einen eigenen Koprozessor, der auf Geometrie-Berechnungen (Matrixtransformationen) spezialisiert war. Eine CPU hingegen hatte als „Allzweckrechner“ verschiedene Ausführungseinheiten, die zwar vielseitig einsetzbar waren, aber Vektoren und Matrizen nicht besonders effizient verarbeiten konnten. Dadurch ergibt sich folgende Arbeitsteilung zwischen CPU und Grafikchip:

Aufgaben der CPU:

  • Steuerung des Programmablaufs
  • Ausführen von K.I.-Algorithmen (K.I. = Künstliche Intelligenz)
  • Kollisionserkennung
  • Ereignisbehandlung (z.B. Was passiert beim Anklicken eines Objekts?)
  • Fehlerbehandlung
  • Physikberechnung (z.B. Wie verhält sich ein Objekt, wenn man es berührt oder fallen lässt?)

Aufgaben des Grafikchips:

 

  • Geometrie-Berechnungen (3D-Transformationen)
  • Beleuchtung
  • Clipping
  • Rasterung und Texturierung
  • Effekterzeugung (z.B. Nebel, Spiegelungen)
  • Z-Test
  • Framebuffer
5. Generation: GPGPU (General-Purpose GPU)
Die Verlagerung der Geometrie-Berechnungen in den Grafikchip sowie die Einführung programmierbarer Vertex- und Pixel-Shader ermöglichte nicht nur einen großen Leistungssprung, sondern führte auch zu einer viel realistischeren Darstellung von Effekten wie Licht und Schatten. Doch im Laufe der Zeit zeigten sich immer mehr die Grenzen des bestehenden Hardwaredesigns.
Bisher existierte für jeden Shader-Typ eine eigene Funktionseinheit. Während Geometrie-Transformationen ausschließlich von der Vertex-Einheit durchgeführt wurden, übernahm die Pixel-Einheit die Texturierung und Manipulation der einzelnen Bildpunkte. Diese Spezialisierung führte häufig dazu, dass die Pixel-Einheit warten musste, bis die Vertex-Einheit die Eckpunkte verarbeitet hatte oder umgekehrt. Durch die Beschränkung auf bestimmte, fest verdrahtete Hardware-Funktionen war es außerdem nicht möglich, die Funktionseinheiten frei zu programmieren oder durch neue Shader-Funktionen zu erweitern.
Um Effizienz und Flexibilität der GPU zu erhöhen, wurde 2006 die Unified-Shader-Architektur eingeführt. Die komplexen Vertex- und Pixel-Einheiten wurden durch vielseitig einsetzbare, einfach aufgebaute Recheneinheiten, sogenannte Streamprozessoren (SP) ersetzt.
unified shader arch

Vereinfachte Darstellung der Mikroarchitektur einer modernen GPU

1. Generation: „Framebuffer“

Die wichtigste Funktionseinheit der ersten PC-Grafikkarten, auch Grafikadapter genannt, war der Bildschirm-Controller (CRTC = Cathode Ray Tube Controller). Er war im Vergleich zu heutigen Grafikchips sehr einfach aufgebaut, erfüllte aber zwei bedeutende Aufgaben:

  • Er lieferte zur aktuellen Position der Einfügemarke auf dem Bildschirm die entsprechende Adresse im Grafikspeicher. Der angeschlossene Signalgenerator konnte über diese Adresse auf den dort gespeicherten Farbwert zugreifen und diesen in ein Signal für den Bildschirm umwandeln.
  • Er synchronisierte die Ausgabe des Signalgenerators mit dem Rücklaufverhalten des Elektronenstrahls der Bildröhre. Dieser wird nach jeder geschriebenen Zeile an den Anfang der nächsten Zeile gesetzt und nach jedem geschriebenen Bild wieder ganz an den Anfang. Der CRTC wechselte die Zeilenadresse erst, nachdem der Strahlrücklauf abgeschlossen wurde.
framebuffer grafik
Schematischer Aufbau einer Grafikkarte vor 1987

Monochrome Display Adapter

Die erste PC-Grafikkarte, der MDA (Monochrome Display Adapter) von IBM, konnte nur Text ausgeben und kannte lediglich vier Helligkeitsstufen. In der Praxis wurden aber nur zwei davon verwendet, da nicht alle Monitore diese darstellen konnten. Die Auflösung betrug 80×25 Zeichen oder 720×350 Bildpunkte (9×14 Bildpunkte pro Zeichen), der Grafikspeicher war 4 KiB groß.

mda
Schematischer Aufbau eines MDA
Funktionsweise: Alle auf dem Monitor darstellbaren Zeichen (Zahlen, Buchstaben, Sonderzeichen, aber auch grafische Symbole) sind in einem Festwertspeicher (ROM = Read-Only Memory) abgelegt. Jedem Zeichen ist ein eindeutiger Code zugeordnet, über den es adressiert werden kann. Bevor ein Zeichen auf dem Bildschirm ausgegebenen werden kann, musste der Zeichencode zuerst in den Grafikspeicher übertragen werden.

Color Graphics Adapter

Die erste „grafikfähige“ Karte, den „Color Graphics Adapter“ (CGA), bot IBM damals als Alternative zum MDA an. Sie konnte sowohl Text als auch Grafik anzeigen und maximal 16 Farben darstellen. Die maximale Auflösung betrug 640×200 Bildpunkte, der Grafikspeicher war 16 KiB groß. Da die Zeichendarstellung sehr grob und blockartig war und auf Computermonitoren ohnehin nur 4 Farben dargestellt werden konnten, bevorzugten die meisten Kunden den MDA.

Grafikfähige Karten arbeiten nach dem gleichen Prinzip wie der MDA. Im Grafikmodus gibt es allerdings zwei bedeutende Unterschiede im Vergleich zum Textmodus:

  • Jedem Bildpunkt kann eine Farbe aus einem Satz vorgegebener Farben, auch Palette genannt, zugewiesen werden. Je mehr Bits für den Farbwert verwendet bzw. im Speicher reserviert werden können, desto höher ist die Anzahl der auf dem Bildschirm darstellbaren Farben.
  • Die Bildpunkte können im Grafikspeicher unabhängig voneinander angesprochen werden.

In den 1980er Jahren kamen noch weitere Grafikkarten auf den Markt, die gleichzeitig neue Standards bestimmten:

 

  • HGC (Hercules Graphics Card): MDA-kompatible Karte mit hochauflösendem Grafikmodus (720×350)
  • EGA (Enhanced Graphics Adapter): Ermöglichte erstmals die Verwendung benutzerdefinierter Zeichensätze und hatte ein eigenes BIOS (Basic Input Output System), konnte bei einer Auflösung von 640×350 Bildpunkten bis zu 16 Farben (aus einer Palette von 64 Farben) gleichzeitig darstellen,

Video Graphics Array

Der Nachfolger des EGA entwickelte sich in den 1990er Jahren zum marktbeherrschenden Standard für PC-Grafikkarten. Alle danach eingeführten Grafikstandards bauten auf VGA auf und waren stets zu diesem kompatibel („verträglich“). Die maximale Auflösung von VGA betrug ursprünglich 640×480 Bildpunkte bei 16 gleichzeitig darstellbaren Farben (aus einer Palette von insgesamt 262.144 Farben). Selbst heutige Grafikkarten beherrschen diesen Anzeigemodus noch. Der Standard brachte noch weitere Neuerungen mit:

 

  • Der Bildschirm-Controller und alle weiteren zur Erzeugung eines Bildes benötigten Peripherie-Bausteine wurden in einem einzigen Chip zusammengefasst, wodurch kompaktere Grafikadapter gebaut werden konnten.
  • Die zeitgleich eingeführte VGA-Schnittstelle ermöglichte durch Verwendung analoger Signale die Übertragung einer theoretisch unbegrenzten Farbanzahl. Im Gegensatz dazu wurden CGA- und EGA-Bildschirme digital angesteuert, weshalb bei diesen nur maximal 16 Farben (4 Bit Farbsignal) möglich waren.
  • Die analogen Signale wurden von einem Digital-/Analog-Wandler erzeugt, der als RAMDAC (DAC = Digital-to-Analog Converter) bezeichnet wurde. Dieser bestand aus drei getrennten DACs für je eine Grundfarbe (Rot, Grün und Blau).
  • Der Grafikspeicher konnte logisch in vier Ebenen (engl. bit planes) unterteilt werden. Diese Eigenschaft machten sich Programmierer zunutze und entwickelten daraus den „doppelten Puffer“ (Double-Buffer): Damit der Anwender nichts vom Bildaufbau selbst mitbekam, wurden zwei Speicherbereiche verwendet. Während das Bild aus dem einen Speicherbereich (Frontbuffer) an den Bildschirm übertragen wurde, konnte in den anderen Bereich (Backbuffer) bereits das nächste Bild geschreiben werden. Beim Bildwechsel wurden einfach die Speicheradressen der beiden Bereiche vertauscht.
vga
Schematischer Aufbau einer VGA-Grafikkarte

2. Generation: 2D-Beschleuniger

Neben dem Koprozessor und der VGA-Einheit benötigte ein 2D-Beschleuniger auch eine sogenannte Raster-Einheit. Da die erzeugten Grafiken vektorbasiert waren, d.h. aus Linien und einfachen geometrischen Formen bestanden, mussten sie vor der Ausgabe in eine Rastergrafik umgewandelt werden. Dabei wird das gesamte Bild in einzelne Punkte (Pixel) zerlegt. Damit der Anwender nichts vom Bildaufbau selbst mitbekam, wurde die bereits im vorherigen Abschnitt vorgestellte Doppelpufferung eingesetzt.
2dbeschleuniger schema 7kj1p911
Schematische Darstellung eines 2D-Beschleunigers

IBM 8514

Die erste PC-Grafikkarte mit 2D-Beschleunigung war die 1987 erschienene IBM-8514-Karte, Sie beherrschte nur zwei Grafikmodi: 640×480 und 1024×768 bei 16 gleichzeitig darstellbaren Farben. Ein großes Manko war die stark flimmernde Darstellung im hochauflösenden Modus, da die Bildwiederholungsrate bei nur 43 Hz lag. Der Grafikspeicher war standardmäßig 512 KiB groß, konnte aber auf 1 MiB erweitert werden. Nur mit der Speichererweiterung war es möglich, auch 256 Farben darzustellen. Mit der IBM-8514-Karte wurde auch eine neue, vereinfachte Art der Programmierung eingeführt: Um die erweiterten Grafikfunktionen zu nutzen, musste das Programm nicht mehr direkt auf die Hardware zugreifen, sondern konnte diese über eine standardisierte Schnittstelle aufrufen (API – Application Programming Interface). Dadurch war es möglich, dasselbe Programm mit Grafikbeschleunigern verschiedener Hersteller zu nutzen. [Quelle]
Zunächst war die IBM-8514-Karte nur als Ergänzung zu einer bereits vorhandenen VGA-Karte erhältlich, so dass Fremdhersteller ihre Karten oft zusätzlich mit einem eigenen VGA-Grafikchip bestückten (z.B. ATi Graphics Ultra).

Weitere wichtige 2D-Beschleuniger:

  • ATi Mach8: 8514-Nachbau für den ISA-Bus mit einer stark verbesserte Darstellung im hochauflösenden Modus und einigen zusätzlichen Grafikfunktionen
  • S3 911A: Erste Grafikkarte, bei der 2D-Beschleunigung und VGA-Ausgabe in einen Grafikchip integriert wurden, unterstützte die Darstellung von 65.536 Farben (16-Bit-Farbmodus)
  • ATi Mach32: Nutzte ebenfalls ein Ein-Chip-Design und konnte bis zu 16,7 Mio. Farben anzeigen (24-Bit-Farbmodus), erschien später auch als eine der ersten Grafikkarten für den PCI-Bus
  • ATi Mach64/S3 Trio: Die ersten 2D-Beschleuniger, die auch Videos dekodieren konnten

3. Generation: 3D-Beschleuniger

3D-Beschleuniger benötigten wesentlich mehr Grafikspeicher als frühere Generationen von Grafikkarten. Die meisten Modelle hatten neben dem Frame- und Z-Buffer noch einen eigenen Speicher für Texturen. Um möglichst viele Texturen im Speicher unterbringen zu können, wurden Kompressionsverfahren eingesetzt, die die Datenmenge verringerten.
3dbeschleuniger schema uoj2u7d1
Schematischer Aufbau eines 3D-Beschleunigers

Creative 3D Blaster VLB und Diamond Edge 3D

Die ersten Grafikkarten mit 3D-Beschleunigung waren die etwa zur gleichen Zeit erschienenen Creative 3D Blaster VLB und Diamond Edge 3D.Obwohl der Leistungskatalog der verbauten Grafikchips (3DLabs GLINT 300SX, NVidia NV1) für die damalige Zeit beeindruckend war, erwiesen sich die Karten als kommerzieller Flop. Einer der Hauptgründe für das Scheitern war das begrenzte Angebot an Spielen, die die 3D-Fähigkeiten auch nutzen konnten. Bei der 3D-Blaster-Karte kam erschwerend hinzu, dass sie nur als Version für den VL-Bus (VESA Local Bus) angeboten wurde. Ihr Einsatz war deshalb auf ältere PCs mit 80486-CPU beschränkt, während immer mehr Anwender den Umstieg auf PCs mit dem inzwischen erschwinglichen Pentium-Prozessor vollzogen. Die Edge-3D-Karte verfügte zwar über eine PCI-Schniistelle, konnte aber aufgrund ihrer exotischen Hardware-Architektur nur wenige Spielehersteller überzeugen. Sie verarbeitete intern nur Quadrate, obwohl die meisten Schnittstellen zur 3D-Programmierung bereits mit den heute noch üblichen Dreiecken arbeiteten.

3dfx Voodoo Graphics
3dacc
Diamond Monster 3D

Im November 1996 kamen die ersten Grafikkarten mit Voodoo-Chipsatz auf dem Markt (z.B. Orchid Righteous 3D, Diamond Monster 3D). Dabei handelte es sich um reine 3D-Beschleuniger ohne eigenen VGA-Chip. Die Karten mussten deshalb über ein Loop-Kabel mit einer vorhandenen VGA-Karte verbunden werden und wurden erst aktiv, wenn eine Anwendung in den 3D-Grafikmodus wechselte. Im Normalbetrieb wurde das Bildsignal einfach an den Bildschirm weitergeleitet,
Im Gegensatz zur Konkurrenz überzeugte dier Chipsatz durch seine für damalige Verhältnisse exzellente Leistung und Bildqualität. Er bestand aus zwei Chips: Ein Chip übernahm die Rasterung und Verdeckungsberechnung und der andere Chip kümmerte sich um Textur-Mapping und -Filterung. Der Voodoo-Chipsatz war einer der ersten Chipsätze, der bi- und trilineare Texturfilterung beherrschte, Die dadurch stark verbesserte Bildqualität war mitverantwortlich für den großen kommerziellen Erfolg. Daneben erschienen auch viele beliebte PC-Spiele wie Tomb Raider oder Doom in einer an die Hardware angepassten Version. [Quelle]

Weitere bedeutende 3D-Beschleuniger:

  • ATi 3D Rage Pro: Die erste Grafikkarte mit AGP-Schnittstelle
  • 3dfx Voodoo2: Der Nachfolger des Voodoo-Chipsatzes war ebenfalls sehr erfolgreich und brachte zwei wichtige Neuerungen: Multi-Texturing (2 Textur-Mapping-Chips) und SLI (Scan Line Interleave), ein Verfahren, bei dem der Bildaufbau auf zwei Karten verteilt wird, um eine höhere Leistung zu erzielen..Dieses Konzept wurde einige Jahre später von NVidia und ATi erneut aufgegriffen.
  • NVidia Riva TNT: Die Karte nterstützte erstmals 32-Bit- statt 16-Bit-Farbdarstellung im 3D-Modus und Texturen mit einer Auflösung von 1024×1024 Bildpunkten (3dfx Voodoo: 256×256).
  • STMicrolelectronics Kyro: Kommerziell wenig erfolgreiche Karte, die aber durch ihr einzigartiges Render-Verfahren (Tile-based Rendering) große Aufmerksamkeit erregte.
3d pipeline 08q12qu1
Vereinfachte Darstellung der Rendering-Pipeline, die vom Grafikprozessor übernommenen Funktionen sind gelb gekennzeichnet

4. Generation: Transform & Lighting (T&L)

Die Verlagerung der rechenintensivsten Phasen der Render-Pipeline (Geometrie-Berechnung, Beleuchtung und Clipping) in den Grafikchip ermöglichte neue Leistungsrekorde und einen bislang unerreichten Detailgrad bei 3D-Spielen. Aufgrund ihrer Fähigkeit, neben der Rasterung und Texturierung auch komplexe mathematische Berechnungen durchführen zu können, wurden diese Grafikchips fortan auch als GPU (Graphics Processing Unit) bezeichnet.

Pixel-Shader

Mit T&L wurden unter der Bezeichnung NSR (Nvidia Shading Rasterizer) bzw. ATi Pixel Tapestry auch die Vorläufer der modernen Pixel-Shader eingeführt. Shader sind kleine Programme bzw. Algorithmen, die für jeden einzelnen Eck- (Vertex-Shader) oder Bildpunkt (Pixel-Shader) ausgeführt werden, um dessen Attribute (z.B. Position, Farbwert oder Textur) zu verändern. Damit können Licht und Schatten realistischer dargestellt und auch besondere Effekte (z.B. Spiegelungen) erzeugt werden.
Die DirectX-API ermöglichte in Version 8 auch programmierbare Vertex- und Pixel-Shader, wodurch sich den Spieleentwicklern völlig neue Gestaltungsmöglichkeiten eröffneten.

Nvidia Geforce 256

Der erste Grafikchip mit Transform&Lighting war die NVidia Geforce 256. Eigentlich sollte auch der Savage-2000-Grafikchip von S3 Geometrie-Berechnungen ausführen können, aufgrund von Fertigungsproblemen war die T&L-Einheit jedoch nicht funktionsfähig. Neben der T&L-Einheit hatte die Geforce-256-GPU vier parallele 64 Bit breite Pixel-Verarbeitungspfade (Pipelines), anstatt der damals üblichen zwei. Eine weitere Neuerung war die Unterstützung der „Fast Writes“ der damals neuen AGP-4x-Schnittstelle, die es erstmals ermöglichten, Daten zwischen CPU und Grafikchip direkt auszutauschen. Bisher wurden z.B. die von der CPU kommenden Geometriedaten immer zuerst im Arbeitsspeicher abgelegt und erst dann zur Grafikkarte übertragen, wodurch die maximal erreichbare Übertragungsrate begrenzt wurde. Darüber hinaus waren Geforce-Grafikkarten die ersten Grafikkarten, bei denen auch DDR-Speicher verwendet wurde.
Die Geforce 256 konnte zwar leistungsmäßig alle Konkurrenten (besonders die ATi Rage Fury Maxx mit 2 Rage-128-Pro-Grafikchips) überholen, wurde aber nicht der erhoffte Kassenschlager. Der Grund hierfür war, dass es zum Zeitpunkt der Markteinführung im Oktober 1999 noch kaum Spiele gab, die die hardwareseige Geometrie-Berechnung (DirectX 7) unterstützten. Erst mit dem Nachfolgemodell, der Geforce 2 GTS, konnte sich T&L durchsetzen.

 

Weitere wichtige 3D-Beschleuniger mit T&L:

  • ATi Radeon DDR: Begründete die heute noch erfolgreiche Radeon-GPU-Serie, besondere Merkmale waren die drei Textureinheiten und die HyperZ-Technologie zur Beschleunigung von Zugriffen auf den Z-Puffer.
  • NVidia Geforce 2 GTS: Die erste GPU, die mehr als eine Milliarde Bildpunkte pro Sekunde berechnen und texturieren konnte.

 

Quellen:

http://www.techspot.com/article/653-history-of-the-gpu-part-2/

http://www.anandtech.com/show/391

http://www.anandtech.com/show/537/4

5. Generation: GPGPU (General-Purpose GPU)

unified shader arch
Vereinfachte Darstellung der Mikroarchitektur einer modernen GPU

Verarbeitungsmethode: Simultanes Multi-Threading

Anstatt den Rendering-Prozess auf mehrere parallele Fließbänder (Pipelines) zu verteilen, wird eine Verarbeitungsmethode eingesetzt, die bereits aus dem CPU-Bereich bekannt ist: SMT (Simultaneous Multi-Threading). Der gesamte Darstellungsprozess einer 3D-Szene wird in viele kleine, voneinander unabhängige Programme bzw. Prozesse (Threads) unterteilt. Während etwa der eine Thread ein Dreieck mit einer Textur überzieht, kann ein anderer Thread die Eckpunkte eines Dreiecks berechnen. Die Zuteilungslogik teilt jedem Thread automatisch die nächste verfügbare Gruppe von Streamprozessoren (s.u.) zu. Es gibt keine feste Zuteilung mehr.

Streamprozessoren

  • Im Gegensatz zu den Vertex- und Pixel-Einheiten sind Streamprozessoren frei programmierbar und arbeiten nicht mit Vektoren, sondern mit Skalaren (reellen Zahlen). Zur Ausführung komplexerer Operationen können mehrere Streamprozessoren zu einer Gruppe (Cluster, Compute Units) zusammengefasst werden. Sie können deshalb nicht nur als Vertex- oder Pixel-Shader genutzt werden, sondern auch für Physikberechnungen (Nvidia PhysX) und andere nicht-grafische Anwendungen.
  • Diese Vielseitigkeit ermöglicht eine weitaus bessere Auslastung der GPU, da ein Befehl einem beliebigen verfügbaren Streamprozessor zugewiesen werden kann, anstatt auf die entsprechende Funktionseinheit warten zu müssen.
  • Da Streamprozessoren voneinander unabhängig und deshalb hochgradig parallel arbeiten können, erreichen sie eine weitaus höhere Leistung bei der Verarbeitung von Fließkommazahlen als normale CPUs.
  • Mit Hilfe entsprechender Programmierschnittstellen wie OpenCL (CL = Computing Language) oder CUDA (Compute Unified Device Architecture) können sie zur Durchführung komplexer, wissenschaftlicher Berechnungen eingesetzt werden. Diese Fähigkeit wird auch als GPGPU (General Purpose Computation on GPU = „Allzweck-Berechnungen auf Grafikprozessoren“) bezeichnet.

Nvidia Geforce 8800

Die erste Grafikkarte mit einer GPU, die auf der Unified-Shader-Architektur beruhte, war die Nvidia Geforce 8800. Mit 681 Mio. Transistoren war der als G80 bezeichnete Grafikprozessor der mit Abstand komplexeste Grafikchip, der bislang auf den Markt kam. Die G80-GPU verfügte über 128 Streamprozessoren, die zu acht Gruppen von je 16 SPs zusammengefasst waren. Die vom Cluster berechneten Pixel werden über einen zentralen Verteiler (Crossbar-Switch) an einen der sechs ROPs übertragen. Jeder ROP ist über einen eigenen 64 Bit breiten Datenpfad an den Grafikspeicher angebunden.

Weitere wichtige Grafikkarten der fünften Generation:

  • AMD Radeon 2900 XT: Die erste Grafikkarte von AMD (ATi wurde mittlerweile von AMD übernommen), bei deren R600-GPU ebenfalls eine Unified-Shader-Architektur zum Einsatz kam. Statt Crossbar-Switch nutzte sie einen 512 Bit breiten Ringbus als Speicheranbindung.
  • Nvidia Geforce GTX 260: Führte erstmals das Spielen mit 3D-Brille ein (3DVision)
  • AMD Radeon 5000 HD: Ermöglichte über den DisplayPort den Anschluss von bis zu sechs Bildschirmen, auf welche die Bildausgabe aufgeteilt werden konnte (Eyefinity).

 

Quelle:

http://techreport.com/review/11211/nvidia-geforce-8800-graphics-processor

http://www.techspot.com/article/659-history-of-the-gpu-part-4/