Als Grafikspeicher (auch Videospeicher oder Video-RAM) wird Computerspeicher bezeichnet, der von der Grafikhardware (Grafikkarte oder Onboard-Grafikchip) genutzt wird. Dabei kann es sich um einen reservierten Bereich des Arbeitsspeichers (Shared Memory) handeln oder um dedizierten Grafikspeicher.

Entwicklung

Bis Ende der 70er Jahre gab es keine gesonderte und für Berechnungen zur Bildschirmausgabe verantwortliche Recheneinheit. Alle nötigen Operationen wurden direkt von der CPU vorgenommen (zum Beispiel Atari 2600) und im Hauptspeicher des Computers zwischengespeichert.

Die erste Generation

Grafikspeichermodul

Die erste Generation der Grafikkarten (bis 1990) verwendete den lokalen Grafikspeicher lediglich als Framebuffer, das heißt die Pixeldaten beziehungsweise im Textmodus die Zeichendaten werden von der CPU berechnet und im lokalen Grafikspeicher abgelegt; die Elektronik auf der Karte, die hier noch nicht als GPU im eigentlichen Sinne bezeichnet werden kann, liest diese Daten dann lediglich wiederholt aus und überträgt sie zum Monitor. Die damals übliche Speicherbestückung zeigt die folgende Übersicht.

Grafikstandard MDA CGA EGA VGA SVGA XGA
Erscheinungsjahr 1981 1981 1984 1987 1989 1990
typische
Speicherbestückung
4 kB 16 kB 64–256 kB 256 kB 256–1024 kB 512–2048 kB

Welche Kombinationen aus Bildauflösung und Farbtiefe im Grafikmodus welche Speichergröße zur Darstellung erfordern – einen entsprechenden Monitor vorausgesetzt – kann hier abgelesen werden. Im damals noch häufigen Textmodus ist der Speicherbedarf wesentlich geringer.

Auflösung 4 Farben 16 Farben 256 Farben High Color True Color
320 × 200 16 kB 32 kB 64 kB 128 kB 192 kB
640 × 480 75 kB 150 kB 300 kB 600 kB 900 kB
800 × 600 117 kB 234 kB 468 kB 938 kB 1406 kB
1024 × 768 192 kB 384 kB 768 kB 1536 kB 2304 kB
1280 × 960 300 kB 600 kB 1200 kB 2400 kB 3600 kB
1280 × 1024 320 kB 640 kB 1280 kB 2560 kB 3840 kB
1600 × 1200 480 kB 960 kB 1920 kB 3840 kB 5760 kB

Windows-Beschleuniger

Die GPUs dieser Kategorie konnten einige wenige Befehle (zum Beispiel zeichne Viereck) selbstständig ausführen. Der lokale Grafikspeicher, meist zwischen 1 MB und 8 MB, wurde durch DRAM, EDO RAM, VRAM oder MDRAM umgesetzt. Die beiden zuletzt genannten sind Halbleiterspeichertechnologien, die speziell für Grafikkarten entwickelt wurden.

3D-Beschleuniger

Mitte der 90er Jahre kamen die ersten echten 3D-Beschleuniger auf den Markt. Dreieckstransformationen und Texture Mapping wurde von diesen Karten selbständig berechnet. Der erste Vertreter der Serie war 1996 die Voodoo Graphics mit 4 MB oder 6 MB EDO RAM.

Ende 1999 erschien Nvidias GeForce256 mit 32 MB SGRAM – die erste Grafikkarte im Endkundengeschäft mit integrierter T&L Einheit.

Mitte 2002 erschien ATIs Radeon 9700 Pro mit 128 MB DDR-SDRAM – die erste vollständig DirectX 9.0 kompatible Grafikkarte.

Aktueller Stand

Bei aktuellen Systemen sitzt die GPU auf einer separaten Steckkarte, die über ein Bussystem (meist PCI Express oder AGP, selten PCI) mit der CPU und dem Hauptspeicher verbunden ist. Auf der Steckkarte befindet sich speziell auf Grafikoperationen abgestimmter Halbleiterspeicher, der direkt für die GPU verfügbar ist. Neue Entwicklungen im Bereich Echtzeit-Rendering sowie der Preisverfall im Halbleiterspeichersegment tragen zum stetigen Wachstum des Grafikspeichers bei. So sind Grafikkarten mit bis zu 48 GB GDDR6-SDRAM erhältlich.

Eine weitere Möglichkeit bietet die Integration der GPU in die CPU (wird dann auch als APU bezeichnet) und kommt in Anwendungen zum Einsatz, bei denen 3D-Leistung nicht im Vordergrund steht (zum Beispiel bei den meisten Arbeitsplatzrechnern). Diese preisgünstigere und leistungsschwachere Variante verfügt über keinen eigenen Grafikspeicher, vielmehr wird ein Teil des System-Arbeitsspeichers (shared memory) für das Ablegen von Daten bereitgestellt.

Speicherinhalt

Welche Informationen werden im Grafikspeicher abgelegt?

Flaschenhals Systembus

Ältere Grafikkarten geben Grafikberechnungen an die CPU ab. Durch höhere Auflösungen und mehr darstellbare Farben wuchs im Laufe der Zeit der Datenstrom zwischen GPU und CPU immer weiter an, bis er durch die Leistungsfähigkeit des Systembusses ausgebremst wurde. Ein weiteres Problem war der benutzte Grafikspeicher. Dieser erlaubt keine gleichzeitigen Lese- und Schreibzugriffe. Der RAMDAC muss mit dem Auslesen warten, solange die CPU in den Speicher schreibt und umgekehrt. Auf modernen Computern ist der Flaschenhals Systembus die kritische leistungsbestimmende Komponente; das zeigt sich insbesondere bei aktueller 3D-Grafik. Die folgende Beispielrechnung soll dies verdeutlichen.

1280 × 1024 × 32 Bit × 50 1/s = 2097,152 MBit/s

Diese ca. 2100 MBit pro Sekunde berücksichtigen nur den zur Monitorausgabe nötigen Datenstrom. Die gesamte eventuell anfallende Datenübertragung zur Bildsynthese trägt zu dem Wert nichts bei. Als Konsequenz daraus sollte die Nutzung des Systembusses auf ein Minimum verringert werden.

Dedizierter Grafikspeicher

Viele Grafikkarten nutzen einen dedizierten Grafikspeicher (auch Video-RAM genannt). Dieser befindet sich in einem exklusiven Speichermodul und ist physisch vom Arbeitsspeicher getrennt.

Vorteil eines vom Arbeitsspeicher getrennten Bausteins gegenüber der Methode des Shared Memory ist, dass er auf die Spezifikation des Computerbusses keine Rücksicht nehmen muss. So wird beim PC die Auffrischung der Speicherinhalte nicht vom Chipsatz, sondern von der GPU gesteuert.

Trotz weitgehend ähnlicher Technologie der DRAM-Speicherchips, lassen sich so schnellere Speicherzugriffzeiten spezifizieren. Die Technologie dieser Chips wurde VRAM genannt, durch die Weiterentwicklung bezeichnet VRAM heute ausschließlich Chips mit getrennten Ein- und Ausgabeleitungen dieser Technologie.

Literatur