Home Index F&A << Prev Next >> Print Version of this Page

Mail me... Let me know what you think

Fragen und Antworten: Graphikkarten

Copyright © by V. Miszalok, last update: 2011-01-27

Solche Fragen und Antworten sind niemals 100% fehlerfrei. Bitte: Wenn Sie einen Fehler finden, und sei es auch nur ein Tippfehler, bitte formlose Mail an prof@miszalok.de
Zum Drucken: FragenUndAntworten.pdf
Zum Drucken: FragenOhneAntworten.pdf

Graphikkarten

F: Blockschaltbild einer 8 Bit Graphikkarte.
A:


F: Blockschaltbild einer 24 Bit Graphikkarte.
A:


F: Aufgabe des Video-Controllers einer Graphikkarte ?
A: hochfrequente, zentrale Zeitsteuerung von Output und Speicherzugriffen. Erzeugt a) H-Sync und V-Sync-Signale für den Monitor b) synchron dazu Auslesetakt und Adressierung des Video-Memory.
Zeilenzahl, Refresh und Pixelformat sind zur Laufzeit über den Bus abfrag- und einstellbar durch programmierbare Controller Register = Speicherplätze für Statusinformationen.

F: Was ist eine LUT ? Aufbau, Verwendung ?
A: Look Up Table. Wichtiges Speicherbauteil aller Graphikkarten, insbesondere der 8-Bit-Graphikkarten. Teil des RAMDAC.
Aufbau: Enthält 768 Byte, unterteilt in drei Bänke mit je 256 Byte = rot-Bank, grün-Bank, blau-Bank. Die LUT wird via Bus vom Betriebssystem oder vom Anwendungsprogramm gefüllt mit der sog. Palette, einem 768-Byte Array, welche alle Farben bestimmt.
Verwendung: 8-Bit-Bilder enthalten entweder eine eigene Palette oder bekommen vom Betriebssystem eine per Default zugewiesen. Die 8-Bit-Pixel enthalten keinerlei eigene Farbinformation, sondern adressieren zur Laufzeit parallel die 3 Bänke der LUT, welche dynamisch jedem Pixel-Byte drei Farbwerte für rot, grün und blau zuweist.

F: Vergleich 24-Bit True-Color-Bild mit einem identisch aussehendem 8-Bit Palettenbild.

 24-Bit True-Color               8-Bit + Palette                                 
File-Größe in Byte  
Video Memory Size  
Animation  
mögliche Farben  
20 Betriebssystem-Farben  
zweites Bild auf einem Display  
Konvertierung 24↔8 Bit  

A:

 24-Bit True-Color8-Bit + Palette
File-Größe in ByteHeader+3*xSize*ySizeHeader+xSize*ySize+3*256
Video Memory Size3-fach1-fach
Animationneues Bild in die Graphikkarte ladenneue Palette in die Graphikkarte laden
mögliche Farben256*256*256256 minus 20 fürs Betriebssystem reservierte
20 Betriebssystem-Farbenkein ProblemBytes 0-20 aller 3 Bänke der LUT dauerhaft sperren
zweites Bild auf einem Displaykein ProblemKompromisspalette berechnen+laden
Konvertierung 24↔8 Bitrechenintensiv und mit Verlustkein Problem


F: Was ist eine Palette ? Welche Bilder brauchen eine Palette ?
Wieviel Farben erzeugt eine Palette eines 1-Bit-, eines 4-Bit- und eines 8-Bit-Bildes ?

A: P. ist eine Tabelle, die zur Füllung einer LUT bestimmt ist. Die P. weist jedem möglichen Pixelwert eine Farbe zu.
Bilder mit ≤ 8 Bit per Pixel (bpp) transportieren eine Palette im Fileheader.
1 bpp → Palette erzeugt 2 Farben = Binärbilder,
4 bpp → Palette erzeugt 16 Farben,
8 bpp → Palette erzeugt 256 Farben.

F: Welche LUT oder Palette macht aus jedem (farbigen) 8-Bit-Bild ein Grauwertbild ? Welche ein Binärbild ? Welche ein Negativ ?
A: Grauwerte: 1) Die Speicherplätze 0 bis 255 der R-Bank füllen mit den Zahlen 0 bis 255. 2) R-Bank in die G-Bank und in die B-Bank kopieren.
Binärbild: 1) Die Speicherplätze 0 bis 127 der R-Bank füllen mit der Zahl 0. 2) Die Speicherplätze 128 bis 255 der R-Bank füllen mit der Zahl 255. 3) R-Bank in die G-Bank und in die B-Bank kopieren.
Negativ: Alle 768 Speicherplätze füllen mit dem neuen Wert = 255 minus alter Wert.

F: Was ist eine LUT-Animation ? Beispiel ?
A: Laden neuer Paletten zur Laufzeit in die LUT mit dem Ziel, schnelle Bewegungen zu zeigen bei unverändertem Video-Memory. Wichtiger Kunstgriff für schnelle Animationen auf langsamen Graphikkarten.
Beispiel: rotierende LUT: Nach jedem Bilddurchlauf wird die LUT mit einer neuen verschobenen Palette geladen: das 0te Byte der Palette wird auf das 1te umkopiert, das 1te auf das 2te usw. Das letzte (No. 767) wird auf das erste (No. 0) umkopiert. Erzeugt Farborgeleffekt = endlose, psychedelisch wirkende, schnelle Farbanimation ohne jede Änderung im Video-Memory (nur minimaler Bustransfer).

F: Was ist ein RAMDAC ?
A: Random Access Memory with Digital to Analog Converters. Sammelbegriff für Video-Memory + LUT + 3 DACs moderner Graphikkarten, die gemeinsam den außerordentlich hohen Datendurchsatz des Graphikausgangs bewältigen (typisch 300 bis 500 MHz) und deshalb eng integriert sein müssen.

F: Die 4 Input- und 4 Outputbuffer einer modernen 128-Bit Graphikkarte ?
Berechnen Sie den Outputbuffer-Platz, den ein 1000*1000 RGBA-Bild mindestens benötigt.

A: Inputbuffer: 3D-Vertex Memory, Texture Cache, Micro Program Cache, Cache for DVD+MPEG
Outputbuffer: Front Buffer, Back Buffer, Z-Buffer, Local Texture Buffer
Speicherplatzbedarf für Front- und Backbuffer je 1000*1000*4 = 4 MByte, Z-Buffer mit 16-Bit Z-Koordinaten = 1000*1000*2 = 2 MByte, Local Texture Buffer wird nicht unbedingt benötigt. Zusammen mindestens 10 MByte.

F: Was ist eine GPU ? Aufbau ? Hersteller ?
A: Graphics Processing Unit = Prozessor einer Graphikkarte = Graphikchip.
Beherbergt eine Kaskade hintereinander geschalteter und paralleler Mikroprozessoren = Vektor-Pipeline plus Raster-Pipeline.
Wichtige Hersteller: NVIDIA, ATI, MATROX.

F: Was ist a) ein Vertex-Shader und b) eine T&L Engine ?
A kurz: a) VS = Vektorhardware (bis 8 parallel) und/oder deren frei programmierbare Vektorsoftware innerhalb der GPU.
b) T&L-E = Vektorhardware mit fester Vektorsoftware (= Firmware, gesteuert über Parameter = logische Flags und Minimatrizen).
A lang: a) Vertex-Shader:
1) Bezeichnung für Spezialhardware innerhalb der GPU, spezialisiert auf Polygonoperationen und Winkel zwischen den Oberflächennormalen und Licht. Eine moderne GPU hat bis 8 parallele Vertex-Shader.
2) Bezeichnung für freie Programme (geschrieben in HLSL oder Cg), die man seit DirectX 8.0 zur Laufzeit in die Vertex-Shader-Hardware laden und dort ausführen kann.
b) Transform & Light Engine = Vertex-Shader mit fester Software = Firmware, die man nur über Flags = Zustände und über 3x3 oder 4x4 Matrizen steuern kann.

F: Was ist ein Pixel-Shader ?
A: 1) Bezeichnung für Spezialhardware innerhalb der GPU, spezialisiert auf Rastergraphik = Flächenfüllung und Texturen = Rasterizer. Eine moderne GPU hat bis 32 parallele Pixel-Shader.
2) Bezeichnung für freie Programme (geschrieben in HLSL oder Cg), die man seit DirectX 8.0 zur Laufzeit in die Pixel-Shader-Hardware laden und dort ausführen kann.

F: Schema: Wie transformieren Vertex Shader und Pixel Shader eine 3D-Vektorgraphik in eine Rastergraphik ?
A kurz:

A lang:


F: Deferred Rendering: deutsche Übersetzung ? Zweck ? Vorteil ? Nachteil ?
A: wörtlich übersetzt: aufgeschobene Rasterung
Vektorgraphikteil der Pipeline berechnet alle Verdeckungen von Dreiecken. Die betroffenen Dreiecke werden entsorgt und nicht an den Rastergraphikteil der Pipeline durchgereicht. Dies entlastet die Pixel-Shader von ca. 65% unnützer Arbeit = Overdraw und erspart Z-Test und Z-Buffer.
Vorteil: Rendering ca. 3x schneller. Nachteil: hoher Aufwand an Vektorprogrammierung. Beispiel: Spiele für Sony Playstation 2.

F: Was ist ein Z-Buffer ? Was ist ein Z-Test ?
A: Der Z-B. ist ein Teil des Video Memory einer Graphikkarte. Er enthält eine Matrix Z mit 16 oder 32 bpp, deren Width und Height mit dem Front- und Back-Buffer identisch ist, aber nie auf dem Bildschirm erscheint.
Z-Test: Ein Pixel-Shader erzeugt Pixel mit 3 Koordinaten [x], [y] und [z]. Der [z]-Wert enthält den Abstand des Pixels zur Kamera. Die Matrix Z wird mit den höchstmöglichen Werten vorbesetzt.
Z-Test:

if ( [z]-Wert von Pixel[x][y][z] < Z[x][y] )
{ schreibe PixelColor[x][y] in den Back-Buffer[x][y];
  schreibe [z]-Wert nach Z[x][y];
} else vergiss Pixel[x][y][z];

F: HLSL und Cg: Zweck ? Erklärung der Abkürzungen ? Herkunft ?
A: Zwei Sprachen zur freien Programmierung von Vertex-Shader- und Pixel-Shader-Hardware.
HLSL = High Level Shader Language von Microsoft.
Cg = C for Graphics von NVIDIA (kompatibel zu HLSL).

F: AGP: Erklärung der Abkürzung ? Herkunft ? Zweck ?
A kurz: Accelerated Graphics Port ist eine Hardware-Spezifikation von INTEL für einen privilegierten Bus exklusiv für Graphikkarten. Für schnelle Bildwechsel im Video Memory.
A lang: Spezialbus für schnelle Transfers von CPU+MainMemory zur Graphikkarte direkt neben der CPU. AGP-Slot erlaubt viel höhere Datenraten als der 66-MHz-PCI-Bus (= 66*32Bit = 264 MByte/sec). Derzeit 4 Geschwindigkeitsstufen: AGP, AGP2x, AGP4x, AGP8x, letzterer erreicht 2,1 GByte/sec in Richtung Graphikkarte, aber nur 264 MByte/sec in Gegenrichtung.

F: PCI-Express: Erklärung der Abkürzung ? Herkunft ? Zweck ? Was ist PEG ?

A kurz: Peripheral Component Interconnect Express = seit 2004 Bus-Standard von INTEL mit 4 verschiedenen Slots.
Schnellster Slot = PCI Express x16 = PCI Express for Graphics = PEG wird Nachfolger von AGP.
A lang: PCI = seit 1990 Bus Standard von INTEL für PC-Zusatzkarten. Erlaubt max. 264 MByte/sec Datentransfer (bei 66MHz und 32 Bit Datenbreite).
PCI-Express = ab 2004 Erweiterung des alten PCI-Standards. Ziel: kleinere Motherboards mit verschiedenen Slots mit Kanalbreiten 1x, 4x, 8x, 16x für verschiedene Geschwindigkeiten.
Schnellster Slot mit 16 parallelen Kanälen = "PCI Express x16" = "PCI Express for Graphics" = "PEG" (3,7 GByte/sec gleichzeitig in beide Richtungen) wird den AGP-Bus für Graphikkarten überflüssig machen.
Siehe http://www.intel.com/technology/pciexpress/devnet/docs/WhatisPCIExpress.pdf.

F: Was ist EGA, VGA, SVGA, XGA, SXGA, UXGA, QXGA, WQXGA, VESA ?
A: Standards für Auflösungen und Steckerbelegungen von Graphikkarten

EGA   = Enhanced Graphic Adapter =  640 x  350 x 4Bit (IBM 1985)
VGA   = Video Graphics Array     =  640 x  480 x 4Bit bis x 8Bit (IBM 1986)
SVGA  = Super VGA                =  800 x  600
XGA   = Extended Graphics Array  = 1024 x  768 (IBM 1990)
SXGA  = Super XGA                = 1280 x 1024
UXGA  = Ultra XGA                = 1600 x 1200
QXGA  = Quad XGA                 = 2048 x 1536
WQXGA = Wide Quad XGA            = 2560 x 1600
VESA = Video Electronic Standard Association


F: Welche Signale muss ein VGA-Monitorkabel mindestens transportieren ? Weitere zusätzliche Signale ?
A: mindestens 6: H-Sync, V-Sync, rot, grün, blau, Erde. zusätzlich: DDC = Display Data Channel Signals für plug&play, power management, image geometry.

F: DVI: Erklärung der Abkürzung ? Zweck ? Vor-/Nachteile gegenüber Analog-RGB+Sync ?
A kurz: Digital Visual Interface = voll digitales 12 oder 24-Pin-Kabel zwischen Graphikkarte und Flat Panel Display.
Vermeidet DAC in der Graphikkarte plus ADC im Display. Vor: keine Abtastfehler, Bildqualität++. Nach: enormer Datendurchsatz.
A lang: moderne 12 oder 24-Pin-Schnittstelle zwischen Graphikkarte und Flat Panel Display, wo Zeitsteuerung und RGB-Farbinformation in Zahlenform übertragen wird. Vermeidet die Abtastfehler bei der DA-Konvertierung auf der Graphikkarte und der anschließenden AD-Rückkonvertierung im Flat Panel Displays. Deutlicher Qualitätsgewinn. Problem: Wegen der enormen Datenrate nur kurze Kabellängen < 1,2 m möglich.
Es gibt zwei Steckerformen:

DVI-D = 24 Pins rein digital
DVI-I = DVI-D plus altem Analog-RGB+Sync auf 5 Extra-Pins links

Es gibt zwei Geschwindigkeiten: 1) Single Link = nur 12 Pins aktiv = 165 MHZ und 2) Dual Link = alle 24 Pins aktiv mit 2x165 MHz.

F: HDMI: Erklärung der Abkürzung ? Zweck ? Eigenschaften ?
A: High Definition Multimedia Interface = neue, volldigitale 19-Pin-Schnittstelle für Video plus Audio mit bis zu 5 GB/sec.
Eigenschaften: 1) nur ein Kabel für dig. Video+Audio, 2) Kopierschutz HDCP = High-Bandwidth Digital Content Protection, 3) zentrale Fernbedienung, 4) enthält 8 unkomprimierte 24-Bit-Audiokanäle, 5) Videokanal kompatibel zu DVI.

F: DisplayPort: Zweck ? Eigenschaften ?
A: DisplayPort = Weiterentwicklung von DVI und HDMI für externe Monitore (mit 20 Pins) und auch intern für den Notebookmonitor (mit 32 Pins).
Eigenschaften: 1) sehr kleiner Steckverbinder, 2) nur unidirektional,
3) bis zu 4 parallele Leitungen mit 2,7 GigaBit / sec / Leitung, 4) abwärtskompatibel zu DVI und HDMI.

top of page: