Ladies and Gentlemen
HWLUXX proudly presents:
HWLUXX proudly presents:
[HWLUXX] =Die Grafikkarten-Technik-Diskussionsrunde= [HWLUXX]
Der ultimative Thread für Leute die nur Shader und ROPs im Kopf haben
Ab sofort bieten wir euch hier -einen ruhigen Platz- , um sich mit Gleichgesinnten über die Technik, wie auch die zukünftige Entwicklung der Grafikkarten zu unterhalen.
Hier könnt ihr euch gegenseitig die Spekulationen, eure technischen Ideen von der Seele zu quatschen und zusammen euer Fachwissen rund um die Technik in diesem Bereich erweitern.
Wir hoffen auf anregende und unterhaltsame Konversationen an diesem Plätzchen´...
Ahja, da wäre noch ne Kleinigkeit zu beachten:
Hier könnt ihr euch gegenseitig die Spekulationen, eure technischen Ideen von der Seele zu quatschen und zusammen euer Fachwissen rund um die Technik in diesem Bereich erweitern.
Wir hoffen auf anregende und unterhaltsame Konversationen an diesem Plätzchen´...
Ahja, da wäre noch ne Kleinigkeit zu beachten:
Abt. Regelwerk -Allgemeines-
- In der =Grafikkarten-Diskussionsrunde= ist unbedingt die „Netiquette“ zu wahren! Vergesst bitte niemals, dass auf der anderen Seite ein Mensch sitzt, daher bitten wir euch, von Beleidigungen, Beschimpfungen und/oder herablassendem Verhalten gegenüber anderen Forennutzern abzusehen. Wir greifen niemand persönlich an und beschimpfen niemanden. Aggressive und beleidigende Worte haben bei uns keinen Raum. Bleibt stets fair und seid freundlich zueinander!
- Desweiteren herrschen natürlich auch hier die *allgemeinen Forumsregeln*
Abt. Regelwerk -Spezielles-
- Beiträge, die keinen Zweck erfüllen bzw. nur darauf abzielen, andere Diskussionsteilnehmer zu kompromittieren, zu demotivieren, Zwietracht zu sähen und/oder der Diskussion auf andere Art und Weise abträglich sind, sind zu unterlassen und werden geahndet.
- Diskussionsthemen, die nicht weiter diskutiert werden, so genannte "Null-Postings", wenig sinnergänzende Beiträge, Füllworte und Smilies können ohne Hinweis von uns gelöscht werden. Beiträge, die reine Werbung sind, werden ebenfalls gelöscht.
- Das Zitieren von Beiträgen, die in irgendeiner Form nicht den Forenregeln entsprechen, ist nicht gestattet. Des Weiteren ist beim Zitieren darauf zu achten, dass lediglich relevante Stellen eines Beitrags im Zitat aufgefasst werden sollen - keine Fullqoutes. Artikel oder Namensbeiträge, identisch übernommen von Fremdquellen ohne Angabe der Quelle, können Urheberrechtsverletzungen darstellen. Wir behalten uns vor, solche "Zitate" zu löschen.
- Beiträge mit markenfeindlichem Spam (Nvidia, Ati, Microsoft,...), kommerzieller Natur und/oder reine Werbebeiträge für Dienstleistungen, den Vertrieb unerwünschter E-Mail-Nachrichten, usw sind zu unterlassen.
- Zitate aus urheberrechtlich geschützten Werken (beachtet die gesetzlichen Regelungen).
Der Aufbau einer modernen Grafikkarte
Inhaltsverzeichnis:no1
1. Einleitung
Die Entwicklung von Grafikkarten zählt zu den am schnellsten wachsenden Sektoren im Computer-Business und schreitet noch immer sehr zügig voran. Während bei CPUs (Central Processor Unit) das Mooresche Gesetz, was besagt, dass sich die Transistorenanzahl alle 18 Monate verdoppelt, gilt, wird die Anzahl der kleinen Schaltkreise bei GPUs (Graphical Processor Unit) hingegen schon nach sechs Monaten verdoppelt. So besitzt ein aktueller Grafikkarten-Chip mehr als 1,4 Milliarden Transistoren. Ein Prozessor der neusten Generation bringt es hierbei mit rund 750 Millionen nur knapp auf die Hälfte. Doch wofür braucht man diese Rechenpower?
Die Grafikkarte ist neben dem Hauptprozessor, also dem Herzstück eines jeden Computers, eine der wichtigsten Einheitein und für die Berechnung von 2D- und 3D-Grafiken verantwortlich. Diese Funktion ähnelt dabei einem Koordinaten-System, wobei jeder Pixel genau einem Punkt in diesem System entspricht. Mit Einzug der 3D-Grafik mussten die Pixel allerdings nicht nur aufgestellt, sondern auch texturiert werden. Die GPU berechnet neben den gesamten Pixelinformationen also auch deren Farbe.
no2
2. Grundaufbau
3. Der HauptaufbauDer Grundaufbau einer Grafikkarte gestaltet sich eigentlich ganz simpel:no3
- Interne Verbindung zum Computer
Wie eingangs schon kurz erwähnt, zählt der Grafikkarten-Sektor zu den schnellst wachsenden Bereichen im Computer-Business. Daher steigt natürlich auch die Leistung der verschiedenen Karten rapide an. So musste man auch die Schnittstelle zum Computer selbst immer wieder verbessern. Nach einigen Standards, wie ISA, PCI oder AGP, sind wir heute bei PCI-Express-2.0 angekommen. Dieses Interface erlaubt eine maximale Bandbreite von bis zu 500 MB/s pro Lane. Demnach stehen sage und schreibe 8GB/s zur Verfügung. Außerdem dürfen die neusten 3D-Beschleuniger mit 300 Watt nun mehr aus dem Netzteil ziehen - davon kommen rund 75 Watt aus dem Steckplatz.- Der Speicher
Der Grafikspeicher fasst heute bis zu 2-GB-Daten und dient zur Speicherung von Informationen, die in der GPU verarbeitet werden sollen. Aktueller Standard ist hierbei GDDR5, welcher eine Weiterentwicklung des DDR-Speichers, der auch als Arbeitsspeicher verwendet wird, darstellt. Hauptunterschied zwischen diesen beiden Speichertypen sind die unterschiedlich hohen Taktraten sowie die verschiedenen Latenzzeiten.- Der Framebuffer
Der Framebuffer ist ein Teil des Speichers und enthält eine Kopie des aktuellen Monitorbildes. Der Framebuffer enthält auch die entsprechenden Farbwerte der berechneten Pixel.- Der Grafikprozessor GPU
Der Grafikprozessor ist das Herzstück einer jedes Pixelmonsters. Dieser ist eine Art Co-Prozessor zur CPU und ist in den letzten Jahren deutlich komplexer geworden. Er ist zuständig für die Berechnung der Bildausgabe - darauf gehen wir aber später noch ein.- Bildausgabe-Anschluss
Der Bildausgabe-Anschluss stellt die Verbindung zwischen Monitor und Grafikkarte her. Für die älteren Analog-Anschlüsse - wie D-SUB - bedarf es auch noch des RAMDACs. Dieser Chip ist zur Umwandlung der digitalen in analoge Bildsignale zuständig. Aktuell ist derzeit DVI bzw. HDMI. Auch der DisplayPort-Anschluss ist immer mehr im Kommen.
Nun wird es etwas anspruchsvoller:
no3aa) Die Shader-Einheiten
Während früher die Anzahl der Grafik-Pipelines mitbestimmend war, sind es heute eher die Shadereinheiten. Mit Umstellung auf Unified-Shader, welche mit der NVIDIA GeForce 8800 GTX (G80) Einzug fanden, beseitigte man einen entscheidenden Nachteil: Hatte eine Grafikkarte vormals 48 Pixelshader und acht Vertex-Einheiten, so konnte es vorkommen, dass die Vertex-Piplene voll ausgelastet war, die Pixelshader aber kaum etwas zu tun hatten. Ein derartiger Stau kann mit der neuen Architektur nicht mehr vorkommen.
Ein Unified Shader ist ein Floating-Point-Prozessor, der in der Lage ist, sowohl Vertex-, als auch Pixeloperationen durchzuführen. Auch Geometrieoperationen dürfen dabei nicht fehlen. Für nicht GPU-Operationen lassen sich diese Einheiten aber auch zweckentfremden (Stichwort: GPU-Computing).
Alle Shadereinheiten beschränken sich nun also auf die grundlegenen Rechenoperationen: ADD (Addition), SUB (Subtraktionen), NOT (Negierungen) oder MUL (Multiplikationen) und noch MADD (Kombination aus ADD+MUL). Dabei entscheidet der Grafikkarten-Treiber zu welchem Zeitpunkt er welchen Shader ansprechen möchte. Dadurch steigt in erster Linie natürlich die Granulität (Auslastung).
b) ALU
Eine ALU berechnet die verschiedenen Rechenoperationen, die für die Berechnung eines Shaders notwendig sein. Dabei kann eine ALU eine bestimmte Breite haben. Während man bei einer Breite von 1 auch von einer Scalar-ALU spricht, nennt man ALUs mit einer Breite höher als 1 hingegen Vektor X-ALU (X ist eine beliebige Zahl!). Bsp.: Vec4-ALU.
Mit diesen Informationen können wir die maximale aritmethische Rohleistung der Grafikkarten bestimmen. Diese gibt man in FLOPs (floating-point operations) an.
Ein ADD und ein MUL sind je ein FLOP wert; eine MADD zwei FLOPs. Durch die Breite erhöhen sich natürlich auch die FLOPS. So ist eine Vec2-ALU 4 FLOPS und eine Vec3-ALU 6 FLOPS wert.
Nun mal zwei realitätsnahe Beispiele:
- NVIDIA GeForce GTX 285
Der GT200b besitzt 240 Shadereinheiten, die pro Takt ein MADD+MUL abliefern können. Daraus ergibt sich folgende Rechnung:240 Shadereinheiten * 3 FLOPS (MADD+1MUL) * 1,476 GHz (Shadertakt) = ~1.063 GFLOPS
- AMD/ATI HD4890
Der RV790 hat 160 Unified Shader, welche 5D Shader sind. Diese werden aus Marketinggründen als 800 Streamprozessoren (160*5) vermarktet. Der Shadertakt ist gleich dem Chiptakt; 850 MHz. Die 160 5D-Shader bringen es auf 10FLOPs. Daraus ergibt sich folgende Rechnung:160 Shadereinheiten * 10FLOPS * 0,850GHz = 1.360GFLOPS
c) ROP
ROPs stellen die Verbindung zwischen Speicher und Shadereinheiten her und sind somit das letzte Bindeglied zwischen den beiden Einheiten. Die Rastereinheiten kümmern sich dabei um Kantenglättung.
Heutige Karten haben bis zu 32 ROPs.
no3d
d) TMU
Die TMUs sind ein wichtiger Bestandteil und zuständig für die Texturadressierung und anisotropische Filterung (AF).
no4no3e
e) Füllrate und Bandbreiten
Natürlich ist aber nicht nur die Anzahl der zur Verfügung stehenden Einheiten ausschlaggebend. So gibt es zahlreiche Leistungsindexe, die auf die Leistung einer Grafikkarte schließen können:
Die Beispiele gelten jeweils für eine NVIDIA GeForce GTX 285!
- Die Pixelfüllrate errechnet sich aus dem Coretakt und den zur Verfügung stehenden ROPs.
32 ROPs * 648 MHz = 20.736 MPix/s- Die Texelfüllrate errechnet sich aus der Anzahl der TMUs und dem Coretakt.
80 TMUs * 648 MHz = 51.840 MTex/s- Der Speicherdurchsatz errechnet sich aus Speicheranbindung, dem Channelmodus sowie dem Speichertakt.
2 (DualChannel) * 1242 MHz * 512 Bit = 1271808 MBit/s => 158,9 GB/s
4. Die Architekturen im Detail:
Für die meisten Anwender würde es wohl reichen, die Anzahl der jeweiligen Einheiten auf den Tisch zu legen. Doch wenn man einmal tiefer ins Geschehen einsteigt, dann könnte man vielleicht das ein oder andere Gerücht zu kommenden Grafikkarten-Generationen wiederlegen oder einfach auf einem fachlich hohem Niveau mitdiskutieren.
Alles in allem unterscheiden sich die Architekturen von NVIDIA bzw. AMD, führen aber doch in einer unterschiedlichen Art und Weise zum gleichen Ziel.
no4aa) NVIDIA GeForce GTX 285
Beginnen wollen wir an dieser Stelle mit NVIDIAs aktuellem GT200b-Chip, welcher sich auf den Karten der GTX-200-Reihe wieder findet. Der Grafikprozessor verfügt dabei insgesamt über 240 skalare Shadereinheiten, 80 TMUs, 32 Rastereinheiten und ein 512 Bit breites Speicherinterface sowie einen 1024 MB großen GDDR3-Videospeicher.
Im Vergleich zum Vorgängerchip, dem G80, erhöhte der Hersteller nicht nur die Anzahl der Cluster, sondern änderte auch die Organisation innerhalb des Chips. Demnach ordnete der kalifornische Grafikkartenhersteller die einzelnen Streamprozessoren so an, dass jeweils 24 zu einer Einheit zusammengefasst sind. Diese Shadercluster sind dann nochmals in drei 8er-ALU-Böcke, die sich wiederrum in zwei vierer Blöcken organisieren, unterteilt.
Insgesamt kommt der GT200b damit auf seine 240 Shadereinheiten, da insgesamt zehn Cluster, die jeweils auf 24 einzelne ALUs zurügreifen können, vorhanden sind (2x4x3x10 = 240). Die zehn Sektionen besitzen dabei jeweils einen schnellen L1-Cache und eine Anbindung über eine Crossbar an den Speichercontroller.
Das Verhältnis zwischen den einzelnen ALUs und TMUs legte NVIDIA beim GT200b-Chip auf 3:1 fest. Demnach stehen jedem Shadercluster ein Texturcluster, bestehend aus acht Textureinheiten, zur Seite (10x8 = 80).
Im Vergleich zum G80 erweiterte man die sechs ROP-Partitions auf nun acht. Jede solche Partition besteht aus insgesamt vier einzelnen Rastereinheiten. Insgesamt stehen somit 32 ROPs (8x4) zur Verfügung.
Da die Rastereinheiten auch als letztes Bindeglied zum Speicher gesehen werden können, resultiert aus ihnen auch die Breite des Speicherinterfaces. Jeder ROP-Partition steht ein 64-Bit-Controller bereit. Daraus eribt sich dann auch das 512 Bit breite Speicherinterface (8x64).
Auch die Größe des Speichers ist nicht wahllos gewählt. So verrichten bei der NVIDIA GeForce GTX 285 an jedem 64-Bit-Controller jeweils zwei Speicherbausteine mit einer Kapazität von je 64 MB ihr Dienste. Demnach stehen der schnellsten Single-GPU-Karte satte 1024 MB zur Verfügung. (8x2x64)
no4bb) ATI Radeon HD 4890
Die Architektur hat der RV790 von der nicht ganz so leistungsstarken R600-Architektur übernommen. Zuerst sei gesagt, dass die 800 Streamprozessoren ein reiner Marketing-Gag sind, da der Chip über 5D-Shader verfügt. Folglich stehen 160 Unified Shader bereit. Dabei setzt sich deren Anzahl aus zehn SIMD-Blöcken (Single Instruction Multiple Data) zusammen. Jeder Block kommt dabei mit jeweils 16 ALUs sowie einem Texturcluster - samt vier einzelnen Textureinheiten - daher. Dazu gibt es einen 16 KB großen L1-Zwischenspeicher.
Die 16 Rastereinheiten sind ebenfalls in vier ROP-Partitions unterteilt.
Bekanntlich besitzt der verbaute GDDR5-Videospeicher der ATI Radeon HD 4890 über ein 256 Bit breites Speicherinterface. Dieses setzt sich aus ingesamt vier 64-Bit-Controllern zusammen, die jeweils zwei Speicherbausteine ansprechen können. Um also auf 256 Bit zu kommen, muss jeder Chip mit 32 Bit angesprochen werden.
no55. Zukunftsausblick
In Kürze wird mit dem RV870 die nächste Grafikkarten-Generation von AMD eingeläutet. Der G(T)300 wird aktuellen Gerüchten zufolge wohl erst im ersten Quartal 2010 folgen. Große Änderungen in den jeweiligen Architekturen sind allerdings nicht zu erwarten, denn beide Hersteller bringen wohl nur einen Refresh-Chip mit kleineren Verbesserungen auf den Markt. Hierzu zählen für AMD wohl ein dickeres Speicherinterface sowie die fortschrittlichere 40-nm-Fertigung. Es wird dieses Jahr jedenfalls nochmals spannend!
6. Danksagung
Ich hoffe der Thread gefällt und hilft an so manchen Stellen ein bisschen weiter!
Gruß
Zuletzt bearbeitet: