Das heißt, dass entweder Daten vom Bus empfangen oder Daten zum RAMDAC ausgegeben werden.. Ein RAMDAC mit einer Bitbreite von 64 Bit verfügt demnach über acht serielle Eingän-ge, wie bei
Trang 1Neben dem eigentlichen Acceleratorchip befindet sich auf einer Beschleuniger-karte, wie auch auf einer Standard-VGA-Karte, ein D/A-Wandler (RAMDAC), der die digitale Information in die RGB-Werte (Rot, Grün, Blau) für den angeschlossenen Monitor umsetzt Des Weiteren sind noch Chips für die Adressendekodierung nötig und natürlich ein RAM für die Grafikdaten Für dieses RAM werden auf einer Stan-dard-VGA-Karte »normale« dynamische RAMs (DRAMs) verwendet
Ein DRAM verfügt über einen einzigen Datenport zur Kommunikation mit der CPU und dem RAMDAC Das heißt, dass entweder Daten vom Bus empfangen oder Daten zum RAMDAC ausgegeben werden Der Grafikchip sorgt dabei für die Umschaltung der »Datenwege«, wodurch die Geschwindigkeit der Grafikausgabe beeinflusst wird Auf Grafikkarten sind auch VRAMs (Video RAMs) gebräuchlich, die prinzipiell einen schnelleren Datentransfer als DRAMs ermöglichen VRAMs enthalten einen DRAM-Kern, der genauso wie ein herkömmliches DRAM aufgebaut ist Daneben enthält ein
VRAM ein Serial Access Memory – SAM – Das SAM ist ein 8 Bit breiter serieller Port,
der mit einem eigenen Takt arbeitet, der praktisch dem Pixeltakt des RAMDACs ent-spricht und demnach nach außen hin unabhängig vom integrierten DRAM arbeiten kann
Bild 1.54: Eine Beschleunigerkarte mit VRAMs kann gleichzeitig neue Daten vom Bus empfangen
und Daten zum RAMDAC ausgeben
Trang 2Über den PC-Bus (ISA, PCI) wird das DRAM mit Daten gefüllt, und gleichzeitig kann das SAM die vorigen Daten zum RAMDAC ausgeben Über eine serielle Datenleitung des SAM wird üblicherweise 1 Byte (nacheinander) zum RAMDAC gesendet Ein RAMDAC mit einer Bitbreite von 64 Bit verfügt demnach über acht serielle
Eingän-ge, wie beispielsweise der Typ BT489 der Firma Brooktree, deren RAMDACs auf zahlreichen Grafikkarten zu finden sind Der weit verbreitete Typ BT489 ist ab-wärtskompatibel mit den Vorgängertypen BT484 und BT485 und kann mit einem maximalen Pixeltakt von 200 MHz arbeiten
Ein typischer Wert für die VRAM-Datenbandbreite, die angibt, wie viele Bytes pro Sekunde zwischen Grafikchip und VRAM bzw VRAM und RAMDAC übertragen wer-den können, beträgt ca 90 MBps (Mbytes per Second) für jewer-den der beiwer-den Daten-ports
Da VRAMs einen höheren Preis (Faktor 2) gegenüber den Standard-DRAMs haben, gehen einige Hersteller einen anderen Weg zur schnelleren Grafikausgabe mit DRAMs Die Firma Tseng Labs verwendet beispielsweise bei der ET4000W32i-Karte das Prin-zip des Speicher-Interleavings (siehe auch Kapitel über Speicherbausteine) Die dynamischen RAMs werden in zwei Bänken organisiert, wobei in der einen der Inhalt der geraden und in der anderen der Inhalt der folgenden (ungeraden) Adresse gespeichert wird Somit kann bereits ein Byte zum RAMDAC ausgegeben werden, während das folgende bereits von der CPU adressiert wird Ein typischer Wert, der mit dieser Konfiguration auf der ET4000 W32i-Karte erreicht werden kann, beträgt
ca 160 MBps
Die Interleaving-Arbeitsweise bietet ferner den Vorteil, dass die DRAM-Konfiguration entsprechend der gewählten Auflösung per Software (Treiber) opti-miert werden kann Bei der konventionellen VRAM-Arbeitsweise ist hingegen keine flexible Einstellung möglich 90 MBps werden für die Aufnahme neuer Daten (Rich-tung: Bus-Chip) verwendet, und ebenfalls 90 MBps sind für den Datentransfer zum RAMDAC festgelegt
Für die Arbeitsweise mit DRAM-Interleaving kann das folgende einfache Beispiel gelten Wird Windows beispielsweise in einer Auflösung von 1024 x 768 Pixel mit
16 Farben betrieben, ist hierfür eine Datenbandbreite von ca 60 MBps nötig Es bleiben daher bei der ET4000-W32i-Karte 100 MBps für die Datenübertragung vom Chip zum RAMDAC übrig Das optimale Verhältnis festzulegen, ist die Aufgabe des Softwaretreibers, der zur Karte mitgeliefert wird
Eine noch höhere Datenbandbreite erhält man, wenn VRAMs im »Interleaving« betrieben werden, wie es die Firma Weitek mit dem Power-9000-Chip praktiziert Die Datenbandbreite kann hier bis zu 200 MBps betragen
Allerdings wird man Angaben zur Datenbandbreite in den Werten zu einer karte eher selten finden, denn dies ist die theoretisch mögliche Rate, die der Grafik-chip unter optimalen Bedingungen realisieren kann Welchen Weg der Kartenher-steller bei seinem Design beschritten hat, steht demgegenüber auf einem anderen Blatt Letztendlich sind hier die im Monitorkapitel (1.6.1) erläuterten Parameter wie der Pixeltakt ausschlaggebend
Neben DRAM und VRAM-Bausteinen sind auf Grafikkarten auch Speicherchips zu finden, die als EDO-DRAM, SGRAM oder WRAM bezeichnet werden Näheres zu die-sen Bausteinen, wie auch allen anderen Speicherchips, findet sich im Teil 4 unter
Speicherbausteine und Module.
Trang 3Der Speicher auf einer Grafikkarte kann grundsätzlich in unterschiedlicher Bit-breite organisiert sein Zum Bus des PC hin sind 16 Bit bei ISA oder 32 Bit bei PCI üblich, eben die maximal mögliche Adressierungsbreite, die das jeweilige Bussystem hergibt Zur anderen Seite hin – zum RAMDAC – sind 32 Bit heutzutage unterer Standard; vielmehr sind hier 64 Bit wie etwa bei der bekannten Grafikkarte MACH64 der Firma ATI oder dem S3-Chip Vision864 üblich, der sich auf zahlreichen Grafik-karten unterschiedlicher Hersteller finden lässt
Bild 1.55: Die bekannte Grafikkarte MACH 64 der Firma ATI arbeitet mit einem eigenen
ATI-Grafik-chip und einem 64 Bit RAMDAC (Palette DAC)
Je breiter der Bus zwischen dem Grafikchip und dem Bildspeicher ausgeführt ist, desto schneller lassen sich die Bilder aufbauen, wobei der Grafikchip explizit für die jeweilige Bitbreite entwickelt sein muss Insbesondere 3D-Anwendungen profi-tieren von den höheren Bitbreiten, wobei zur Zeit 128 Bit üblich sind, wie es etwa mit dem Chip RIVA 128 der Firma NVidea praktiziert wird, der mit SGRAM arbeitet Des Weiteren hängt es vom Schaltungsdesign der Grafikkarte ab, in welcher Form der Speicher organisiert ist, was nicht immer einfach festzustellen ist Es kann beispielsweise der Fall sein, dass eine Grafikkarte mit 8 Mbyte erst mit einer Aufrü-stung weiterer 8 Mbyte ihre Qualitäten zeigen kann, weil der Chip dann in 128 Bit-Breite auf den Speicher zugreift, während er dies ansonsten mit 64 Bit erledigen muss, was zu Lasten der Verarbeitungsgeschwindigkeit geht
○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
Auch ein Grafikchip mit 128 Bit muss nicht zwangsläufig in dieser Breite arbeiten! Es hängt generell vom Design der Grafikkarte ab, welches auch bei identischem Grafik-chip von Kartenhersteller zu Kartenhersteller variieren kann, bei welcher
Speicher-○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
größe des Grafik-RAM sich eine optimale Performance ergibt.
Trang 4Das Bild 1.56 zeigt, dass der Speicher beispielsweise bei einer Grafikkarte mit dem
Chip Vision964 der Firma S3 auf unterschiedliche Art und Weise aufgebaut sein
kann Die maximal mögliche 64-Bit-Datenbreite wird nur dann erreicht, wenn
bei-de VRAM-Bänke bestückt sind, anbei-dernfalls erhält man lediglich einen 32-Bit-Daten-zugriff Auch wenn auf dieser Seite – zwischen Grafikchip und VRAM – 64 Bit gegeben sind, besagt dies noch nicht, dass die andere Seite – vom VRAM zum RAMDAC – ebenfalls in dieser Breite ausgeführt ist, sondern sie kann auch größer (128 Bit) oder kleiner (32 Bit) sein
Bild 1.56: Die Applikation einer Grafikkarte mit »S3 Vision964« lässt einige Optionen für die
Realisierung des Grafikspeichers offen
Aus diesen Erläuterungen wird ersichtlich, dass Grafikkarten verschiedener Her-steller, die alle auf dem gleichen Grafikchip basieren, nicht zwangsläufig die glei-che Performance erreiglei-chen können, wenn sich die Speiglei-cherarchitektur untersglei-chei- unterschei-det Der zweite Punkt für unterschiedliche Qualitäten von scheinbar identischen Grafikkarten ist in der Verwendung der jeweiligen RAMDACs zu sehen, denn sie sind ein ganz gewichtiger Kostenpunkt Je höher die maximale Pixelrate sein kann,
desto teurer ist auch der RAMDAC Das Bild 1.57 zeigt einen direkt zum S3
Visi-on964 passenden RAMDAC, den Typ 86708 der Firma S3.
Das Innenleben des RAMDAC lässt erkennen, dass für jede Farbe (Analog Red, Ana-log Green, AnaAna-log Blue) ein eigener 8-Bit-A/D-Umsetzer vorhanden ist, wobei die digitalen Farbsignale über einen Multiplexer (Mux) geschaltet werden
Für die Steuerung jeder Farbe ist vor dem Multiplexer (Mux) ein separater Speicher (Palette RAM) vorhanden, damit die Daten vom CPU-Bus-Interface zeitsynchron mit den vom Grafikspeicher gesendeten Pixeladressen (PA 15:0) zu verarbeiten
sind Dieser Schaltungsteil wird als color look-up table (CLUT) bezeichnet und bei
True Color (24 Bit) schaltungstechnisch umgangen (bypass).
In Abhängigkeit von der jeweiligen Auflösung und der Geschwindigkeit der einge-setzten Speicherbausteine, können Pixel- (PCLK) und Speicher-Takt (CLK) unab-hängig festgelegt werden, was eine weitgehend optimale Pixelrate ermöglicht, die bei diesem Typ bei 135 MHz liegt und eine Auflösung von 1280 x 1024 Bildpunkten mit einer Bildwiederholrate von 75 Hz gestattet
Trang 5Bild 1.57: Der interne Aufbau eines RAMDAC zeigt die Verarbeitung der Grafikinformation
1.7.7 Grafikauflösungen und Speicherbedarf
Aktuelle Grafikkarten werden mit so viel Speicher (mindestens 8 Mbyte, typisch
16 Mbyte) ausgeliefert, wie vor gar nicht langer Zeit als Hauptspeicher in PCs eingebaut wurde Das Aufrüsten des Speichers einer Grafikkarte ist daher nur noch bei älteren Modellen sinnvoll, wobei die Anschaffung einer neuen Grafikkarte – mit mehr Speicher als die alte – demgegenüber aber vielfach preiswerter kommt Indes mag es erstaunlich sein, wie wenig Speicher man eigentlich für bestimmte Auflösungen benötigt, wie es die folgende Tabelle zeigt:
Auflösung (Bildpunkte) Farbanzahl Grafikspeicher (Minimum)
Trang 6Fortsetzung der Tabelle:
Auflösung (Bildpunkte) Farbanzahl Grafikspeicher (Minimum)
Tabelle 1.12: Der Grafikspeicherbedarf in den üblichen Abstufungen für verschiedene Auflösungen
Der Grafikspeicher lässt sich generell nicht in beliebigen Stufen aufrüsten, sondern
in bestimmten Schritten, was jeweils vom Typ der Grafikkarte abhängt Der Spei-cherbedarf einer Grafikkarte kann allgemein nach der folgenden Formel berechnet werden:
Speicherbedarf (in Byte) = Auflösung * Bitbreite für die Farbanzahl
8
Die »Bitbreite für die Farbanzahl« – auch als Farbtiefe bezeichnet – gibt dabei an, wie viele Bit nötig sind, um jeweils die gewünschte Anzahl an Farben zu erhalten (siehe auch folgende Tabelle) Wird eine Farbtiefe von mindestens 24 Bit verwen-det, spricht man vom True-Color-Modus
Farbtiefe Anzahl der Bits
Tabelle 1.14: Der Zusammenhang zwischen der Farbtiefe und der hierfür nötigen Anzahl der Bits Zur
Für die True-Color-Darstellung (24 Bit) bei einer Auflösung von 1280 x 1024 Bild-punkten (Pixeln) errechnet sich der Speicherbedarf (1 Kbyte = 1024 Byte) mit der obigen Formel wie folgt:
1280 x 1024 x 24 = 3932160 Byte = 3840 Kbyte = 3,75 Mbyte
8
Trang 7Der Speicher müsste demnach über eine Kapazität von 4 Mbyte verfügen, da dies einer standardisierten Größe des Grafikspeichers entspricht Eine Erweiterung des Grafikspeichers – beispielsweise von 4 Mbyte auf 8 Mbyte – bedeutet auch einen Geschwindigkeitszuwachs bei der Bilddarstellung, da sich dadurch quasi die Daten-übertragungsrate erhöht, weil größere Teile der Grafikinformation im Speicher der Grafikkarte lokalisiert sind und nicht erst über den (PCI-)Bus geladen werden müs-sen
○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
Das Erweitern des Grafikspeichers hat nicht nur höhere Auflösungen zur Folge,
son-○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
dern kann auch für eine schnellere Grafikverarbeitung sorgen.
Bild 1.58: Die Grafikkarte ATI 3D Rage verwendet, wie viele andere Modelle auch, ein SO-DIMM
(rechts) als Grafikspeicher
Der Grafikspeicher ist bei den verschiedenen Karten unterschiedlich aufgebaut und kann oftmals auch nur mit den speziell hierfür ausgelegten Modulen oder Chips erweitert werden Einen gewissen Standard stellen immerhin die SO-DIMMs dar, die auch in Notebooks verwendet werden Auf einigen – meist älteren – Grafikkarten ist ein Jumper vorhanden, welcher nach dem Einbau der Erweiterung umzusetzen ist, andernfalls wird der zusätzliche Speicher nicht erkannt Ein Blick in das Hand-buch zur Grafikkarte ist hier meist unerlässlich, was auch für die Identifizierung der einzusetzenden Speicherbausteine oder -module notwendig ist
Die oben erläuterten Zusammenhänge für die jeweilige Größe des Grafikspeichers betreffen nicht die 3D-Karten, also Grafikkarten, die spezielle Funktionen zur drei-dimensionalen Darstellung besitzen Diese Kartentypen benötigen demgegenüber die 3- bis 4-fache Speichergröße (z.B Z-Buffer für die Tiefeninformation) bei glei-cher Auflösung im Vergleich zur einer 2D-Grafikkarte Der Z-Buffer ist ein für 3D-Karten geltender zusätzlicher Speicherbereich, der für die Tiefeninformation ver-wendet wird Zu jedem Bildpunkt gehört üblicherweise eine mit 16 Bit aufgelöste Tiefeninformation
Trang 8Da der Speicherbedarf vom Design der Karte und den zusätzlich erhältlichen Speicher-modulen abhängig ist, kann man hier keine allgemein gültigen Aussagen treffen Zur Übersicht und zum Vergleich zeigt die folgende Tabelle die möglichen
Auflö-sungen im 3D-Betrieb mit den üblichen Speichergrößen der Grafikkarte Millenium
der Firma Matrox
Auflösung Farbanzahl Grafikspeicher
Tabelle 1.15: Der Grafikspeicherbedarf für 3D-Anwendungen bei der Matrox Millenium
1.7.8 3D-Grafikkarten
Wer die Fortschritte bei den 3D-Grafikkarten für PCs nicht über die Jahre kontinu-ierlich verfolgt hat, wird den Errungenschaften auf diesem Gebiet (teilweise) mit einem gewissen Unverständnis gegenüberstehen Dies liegt wohl auch nicht zu-letzt an der speziellen Terminologie für die zahlreichen 3D-Features, die von den Herstellern verwendet und im folgenden Kapitel daher noch näher erläutert wer-den
Das zweite Problem ist der Umstand, dass zwar alles Mögliche über 3D-Grafik erläutert werden kann, letztendlich muss man es aber wirklich live erleben Die 3D-Funktio-nen sind (fast) nur für Spiele von Bedeutung, und die Innovatio3D-Funktio-nen auf dem Sektor der Grafikkarten der letzten Jahre zielen auch (fast) ausschließlich hierauf ab Dies geht einher mit der Softwareentwicklung von Spielen, wobei gerade diejenigen,
die oftmals als brutale Baller- und Mörderspiele bezeichnet werden und auch teilweise
in Deutschland auf dem Index stehen, auf dem 3D-Gebiet Programmierstandards ge-setzt haben und den 3D-Grafikkarten überhaupt deren Leistung entlocken können
Für diese Spiele gibt es eine Reihe verschiedener 3D-Engines (Software-Interfaces),
die definierte Programmierschnittstellen darstellen, sowie Level-Editoren und 3D-Modelle Diese Dinge bilden auch die Grundlage anderer Spiele wie Flugsimulatoren oder Strategiespiele Die Entwicklung eines 3D-Spiels, welches Features aktueller 3D-Karten nutzt, verschlingt ein Millionenbudget und wird von größeren Teams,
Trang 91.7.9 Funktionen von 3D-Grafikkarten
Die dreidimensionale Bildschirmdarstellung (3D) stellt an eine Grafikkarte beson-ders hohe Anforderungen Aus diesem Grunde sind hierfür spezielle 3D-Beschleu-nigerchips im Einsatz, die im Prinzip ähnlich wie die Chips auf den 2D-Beschleuniger-karten arbeiten Die 3D-Beschleuniger enthalten – je nach Typ –mehr oder weniger Funktionen für die dreidimensionale Darstellung in »Silizium gegossen« Die geo-metrischen Berechnungen übernimmt auch hier weiterhin die CPU des PCs und der 3D-Beschleuniger beschäftigt sich vorwiegend mit Renderoperationen und küm-mert sich um die Oberflächentexturen, wobei der Trend in der Grafikkartenent-wicklung in die Richtung geht, dass die 3D-Grafikkarte immer mehr Funktionen übernehmen soll, was somit zu einer Entlastung der CPU des PCs führen kann
○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
Texturen und Rendering
Als Texturen bezeichnet man generell die Oberflächenstrukturen der
darzustellen-○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
den 3D-Objekte und als Rendering das Ausfüllen und Schattieren derselben.
Bild 1.59: Der prinzipielle interne Aufbau eines Grafikchips, der üblicherweise für 2D- und
3D-Operationen jeweils eine eigene Pipeline besitzt
Alle neueren Grafikkarten enthalten neben dem 2D- auch einen 3D-Beschleuniger-chip oder beide Bausteine sind in einem Gehäuse kombiniert untergebracht, was auch dem allgemeinen Stand der Technik entspricht Daneben existieren auch reine 3D-Grafikkarten, die parallel zur vorhandenen Grafikkarte zu verwenden sind,
wie als Beispiel die Monster 3D von Diamond mit dem Voodoo-Chipsatz der Firma
3Dfx Interactive, der auf dem Gebiet der 3D-Grafik maßgebliche Standards gesetzt
hat In der Tabelle 1.13 sind verschiedene Grafikkarten mit den wichtigsten Daten angegeben
Trang 10Bild 1.60: Die Monster 3D der Firma Diamond wird parallel zur vorhandenen
Grafikkarte betrieben
Als Kriterium zur Beurteilung der Leistungsfähigkeit von 3D-Grafikkarten gilt na-türlich die Darstellungsqualität Der »Klötzcheneffekt« (runde Strukturen werden
zu vieleckigen) sollte dabei möglichst nicht auftreten Dazu bedient man sich des
bilinearen Filterings, das die Texturen äußerst fein erscheinen lässt Einige ältere
3D-Grafikkarten – wie etwa die Matrox Mystique – bieten dieses Feature allerdings nicht, während alle neueren diese Methode des Filterings wie auch das verbesserte
Trilineare Filtering in der Hardware unterstützen.
Für die Auswahl einer 3D-Grafikkarte sollte man beachten, ob und welche der an-gegebenen Funktionen dabei vom 3D-Chip direkt unterstützt werden Falls einige Funktionen nicht durch den Chip selbst zur Verfügung stehen, werden sie übli-cherweise durch die (Treiber-)Software emuliert, was aber zu Lasten der Verarbei-tungsgeschwindigkeit und damit der Darstellungsqualität geht
Terminologien und Funktionen von 3D-Beschleunigern:
> Alpha Blending
Objekten werden Transparenz-Informationen zugeordnet
> Backdrop
Ist eine Hintergrund-Bitmap einer Szene (in einer Skybox).
> Bi- und Trilinear Filtering
Filterfunktionen zur Erzeugung von weichen Verläufen innerhalb der Texturen und zur Vermeidung des »Klötzcheneffekts« Bilineares Filtering hat den Nach-teil, dass die Pixelstruktur beim Näherkommen an das Objekt erkennbar wird Trilineares Filtering verwendet demgegenüber kleinere abgestufte Texturen