PCI Express als Grafikschnittstelle - Weblearn
Transcription
PCI Express als Grafikschnittstelle - Weblearn
Rechnerstrukturen Labor (RST-L WS 2004/05) PCI Express als Grafikschnittstelle bei Herrn Prof. Dr. Risse an der Hochschule Bremen Brünje Appelmann 26. Januar 2005 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 Inhaltsverzeichnis Tabellenverzeichnis 2 Abbildungsverzeichnis 3 1 Einleitung 4 2 Bus-Systeme 2.1 ISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 PCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 AGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 6 7 3 PCI-Express Spezifikationen 3.1 neue Technik . . . . . . . . . . 3.2 Grafikschnittstelle . . . . . . . 3.3 Spannungsversorgung . . . . . 3.4 Routing . . . . . . . . . . . . . 3.5 Vergleichstabelle Bus-Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 9 11 13 14 15 4 Dual-Grafikkarten-Systeme 4.1 SLI . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 SLI von 3dfx . . . . . . . . . . . . . . 4.1.2 SLI von NVIDIA . . . . . . . . . . . . . 4.1.3 Video Array, Alternative von Alienware 4.2 Hardware Voraussetzungen . . . . . . . . . . 4.2.1 Hardware für SLI . . . . . . . . . . . . 4.2.2 Hardware für Video Array . . . . . . . 4.3 Vergleichstabelle Dual-Grafikkarten-Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 16 16 17 19 20 20 22 23 5 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6 Anhang 25 6.1 Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Literaturverzeichnis 26. Januar 2005 26 Seite 1 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 Tabellenverzeichnis 8 3.1 Vergleichstabelle der Bandbreiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Vergleichstabelle der Bus-Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.1 Vergleichstabelle der Dual-Grafikkarten-Systeme . . . . . . . . . . . . . . . . . . . . . 23 26. Januar 2005 Seite 2 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 Abbildungsverzeichnis 2.1 2.2 2.3 2.4 2.5 16 bit ISA Steckplatz . . . . . . . . . . . . . . . . . . . . . . . . Grafikkarte an PCI-BUS . . . . . . . . . . . . . . . . . . . . . . PCI Steckplatz mit 33 MHz und 32 bit . . . . . . . . . . . . . . Grafikkarte an AGP-BUS mit DIME (Direct Memory Execution) AGP 8x Steckplatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6 6 7 7 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 Paralleles Bus-System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PCI-Express Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aufteilung des Byte Streams auf die Lanes . . . . . . . . . . . . . . . . . Grafikkarte an PCI-Express x16 . . . . . . . . . . . . . . . . . . . . . . . . PCI-Express Steckplatz x16 (oben) und x1 (unten) . . . . . . . . . . . . . Belegung der Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . neue optionale Stromversorgung für Grafikkarten . . . . . . . . . . . . . . Kurven/Krümmungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . optimales Routing (links), alternativs Routing (rechts) der Leitungsenden symmetrischer Verlauf der Leitungen . . . . . . . . . . . . . . . . . . . . . nicht erlaubtes Routing, keine Symmetrie der Leiterbahn ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 9 10 11 11 12 13 14 14 14 14 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 SLI von 3dfx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Split Frame Rendering von NVIDIA . . . . . . . . . . . . . . . . . . . . . . . . . Alternate Frame Rendering von NVIDIA . . . . . . . . . . . . . . . . . . . . . . Video Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schnittstelle zur anderen Grafikkarte . . . . . . . . . . . . . . . . . . . . . . . . Brückenplatiene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ermöglicht die Konfiguration der Systemplatine . . . . . . . . . . . . . . . . . . zwei PCI-E Grafikkarten (oben) und der VMH (unten) in der X2 Systemplatine . Pass-Through-Kabelverbindung von den Grafikkarten zum Video Merger Hub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 18 18 19 20 20 21 22 22 26. Januar 2005 . . . . . . . . . . . . . . . . . . . . . . . . . Seite 3 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 Kapitel 1 Einleitung Die steigenden Anforderungen an die Bus-Systeme, die besonders bei den Grafikkarten sehr hoch sind, haben zur Folge, dass sich die Bus-Schnittstellen ständig weiter entwickeln. Die neuste Entwicklung für Grafikkarten, PCI-Express, soll dort Abhilfe schaffen und wird in diesem Dokument kurz vorgestellt. Es bietet einen kleine Rückblick auf die herkömlichen Schnittstellen für Grafikkarten. Im Weiteren wird die PCI-Express Spezifikation kurz vorgestellt und mit den herkömlichen Techniken verglichen. Ausserdem wird ein Blick auf Dual-Grafkkarten-Systeme geworfen, indem die verschiedenen Verfahren dieser Systeme vorgestellt werden und die benötigte Hardware beschrieben wird. 26. Januar 2005 Seite 4 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 Kapitel 2 Bus-Systeme In diesem Kapitel wird ein kleiner Rückblick auf verschiede Bus-System geworfen: die schon "veralteten", die noch im Einsatz befindlichen und die der neue Generation. Ich beschränke mich auf die gängigsten Systeme für Grafikkarten: sie werden kurz vorgestellt und miteinander verglichen. 2.1 ISA Anfang der 80er Jahre wurde der XT-Bus, von IBM entwickelt, als erstes Bus-System in Rechner verbaut, er hatte nur 8 Bit für Daten und war auf 4,77 MHz beschränkt. Aus dem XT-Bus wurde Mitte der 80er Jahre der ISA (Industry Standard Architecture) Bus entwickelt. Der ISA-Bus wurde mit 8 Daten und 4 Adressleitungen erweitert; somit wurde der Bus auf 16 bit Daten und 24 bit Adressleitung ausgebaut und erreicht einen Takt von 8,33 MHz. Abbildung 2.1 zeigt einen 16 bit ISA Steckplatz. Die maximal adressierbaren Speicher von 16 MB im Arbeitsspeicher reichten für Grafikkarten oft nicht aus und mussten mit aufwendigen Methoden dazu gebracht werden, in Rechnern mit mehr als 16 MB zu funktionieren. Eine Weiterentwicklung des ISA-Busses war Anfang der 90er Jahre der VLB (Vesa Local Bus); er erweitert den ISA auf 32 bit und wurde mit dem Systemtakt, maximal 40 MHz, betrieben. Aber auf Grund von Kompatibilitätsproblemen und durch Nichteinhaltung der VLB1 Spezifikation 1.0 einiger Hersteller konnte sich die zweite Spezifikation nach dem Markterfolg des PCI-Busses nicht mehr durchsetzen. [1] Abbildung 2.1: 16 bit ISA Steckplatz 1 Vesa Local Bus 26. Januar 2005 Seite 5 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle 2.2 RST-L WS 04/05 PCI Der PCI (Peripheral Component Interconnection) Bus sollte, wie auch der Vesa Local Bus, die Schwächen des ISA Busses in Hinblick auf Leistungs- und Ausbaufähigkeit nicht nur wie der VLB erweitern, sondern ersetzen. Nicht nur die neuen Prozessor-Generationen sondern auch die immer schnelleren Grafikkarten und steigenden Auflösungen verlangten nach einem besseren Bussystem. 1992 wurde der PCI-Bus unter Federführung von Intel entwickelt. Daraus entstand ein unabhängiges Konsortium, die PCISpecial Interest Group2 , die für weitere Entwicklungen zuständig war und ist. In der ersten PCI Spezifikation wurde die Datenbreite auf 32 Bit festgelegt mit einer Taktgeschwindigkeit von 33 MHz, was eine theoretische Übertragungsrate von 132 MByte/sec ermöglichte. Auf Abbildung 2.2 ist das Prinzip des PCI-Busses zu sehen, Abblidung 2.3 zeigt einen PCI Steckplatz. Mit steigender Leistung der Rechnersysteme musste auch die Spezifikation des PCI Busses angepasst werden. So wurde bereits im April 1993 die Version 2.0 vorgestellt und 1995 die Version 2.1. 1996 setzte man sich unter Federführung von Intel zusammen und arbeitete an einem neuen Bussystem. Die in 2005 aktuelle PCI Spezifikation ist 3.0 und wurde am 19. April 2004 veröffentlicht. [2] Abbildung 2.2: Grafikkarte an PCI-BUS Abbildung 2.3: PCI Steckplatz mit 33 MHz und 32 bit 2 PCI-SIG, siehe 6.1 Links 26. Januar 2005 Seite 6 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle 2.3 RST-L WS 04/05 AGP Der ”Accelerated Graphics Port3 ” kam 1997 in der Spezifikation 1.0 auf den Markt und ist ausschließlich für die Nutzung von Grafikkarten. Der AGP-Bus4 besitzt eine höhere Bandbreite und ist zur Entlastung bzw. als Ergänzung des PCI Busses gedacht, indem er die Daten für die Grafikkarte abnimmt, so dass der PCI-Bus sich anderen Aufgaben widmen kann. Beim AGP-Bus besteht eine Punk-zu-Punkt-Verbindung zwischen Grafikkarte und Chipsatz, so dass die Grafikkarte direkt auf den Arbeitsspeicher zugreifen kann. In Abbildung 2.4 ist DIME5 , der direkte Speicherzugriff, zu sehen. Zum Vergleich siehe Abbildung 2.2, die Grafikkarte muss sich den PCI-Bus mit anderen Geräten teilen. Abbildung 2.4: Grafikkarte an AGP-BUS mit DIME (Direct Memory Execution) In der ersten Spezifikation wurden die Taktrate von AGP 1x auf 66 MHz festgelegt, das erlaubt mit 32 bit breitem Datenbus eine theoretische Transferrate von 264 MB/s. Bei AGP 2x wurden die Daten mit steigender und fallender Taktrate übertragen, was einer Verdopplung des Takts auf 133 MHz und der Datenrate auf 532 MB/s entspricht. Spezifikation 2 wurde für AGP 4x festgelegt, in der die Taktrate nochmal auf 266 MHz verdoppelt wurde, was einen Datendurchsatz von 1064 MB/s erlaubt. Mit AGP 8x ist die dritte Spezifikation im September 2002 erschienen, mit einer erneuten Verdopplung der Taktrate auf 533 MHz mit einem Datentransfer von 2,1 GB/s. Abbildung 2.5 zeigt einen AGP 8x Steckplatz. Es ist die letzte Spezifikation für den Bus, bevor PCI-Express erschien. [3], [4] Abbildung 2.5: AGP 8x Steckplatz 3 auch AGP, AGP-Bus Graphics Port 5 Direct Memory Execution 4 Accelerated 26. Januar 2005 Seite 7 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 Kapitel 3 PCI-Express Spezifikationen Der Bedarf an Bandbreite ist bei AGP nicht mehr ausreichend und liegt mit der Übertragungsrate weit hinter den der neuen Techniken, die in Rechnersystemen verarbeitet werden. Die Bandbreiten zwischen Prozessor und Arbeitsspeicher der neuen Prozessor-Generationen sind in der folgenden Tabelle aufgelistet. Prozessorhersteller : Typ : Sockel-Typ : Typ : Systembusbandbreite : Speicherbandbreite : Intel Pentium 4 HT 775 Pentium 4 8,5 GB/sa 8,5 GB/s (DDR2)c AMD Athlon 64 939 Athlon 64 8.0 GB/sb 6,4 GB/s (DDR)d Tabelle 3.1: Vergleichstabelle der Bandbreiten a abhängig vom Chipsatz; hier mit Front-Side-Bus von 1066MHz Technologie, Vollduplex c mit Front-Side-Bus von 1066 MHz, abhängig vom Chipsatz d der Athlon 64 hat einen Integrierten Speicher-Controller b HyperTransport Die bisherigen Bus-Systeme, hierzu gehören auch ISA, PCI und AGP, setzten auf eine parallele Datenübertragung. Es werden viele Leiterbahnen für Daten-, Steuer- und Taktsignale benötigt, siehe Abbildung 3.1. Bei einem parallelen Bus werden die Daten unidirektional übertragen, daß heist es kann entweder gesendet oder empfangen werden. Die Daten müssen synchron, also gleichzeitig, an allen Leitungen vorhanden sein um beim Taktsignal übernommen zu werden. Abbildung 3.1: Paralleles Bus-System 26. Januar 2005 Seite 8 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle 3.1 RST-L WS 04/05 neue Technik PCI-Express1 wurde im August 2004 in erster Spezifikation von der PCI-SIG2 veröffentlicht. Bei PCI-Express werden die Daten seriell übertragen. Die Verbindungen bestehen aus zwei Leitungspaaren. Die so genannten Lanes3 , in Abbildung 3.2 zu sehen, ein Paar zum Senden und eins zum Empfangen. PCI-Express ist bidirektional, das heißt, es können gleichzeitig Daten gesendet und empfangen werden. Das ermöglicht schnelleren Datenaustausch zwischen CPU, Arbeitsspeicher und Grafikkarte. Abbildung 3.2: PCI-Express Bus 1 auch PCI-E und PCIe genannt siehe 6.1 Links 3 eine Lane hat zwei Leitungen in eine Richtung 2 PCI-SIG, 26. Januar 2005 Seite 9 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 Die Pakete, die auf den Lanes gesendet werden, haben eine Größe von 10 bit und werden nach dem 8b/10b-Verfahren kodiert. Das ist eine serielle Kodierungstechnik; sie wandelt die 8 bit Nutzdaten in einen 10 bit langen Datenblock um. In den zwei zusätzlichen Bits sind durch aufeinander folgende Bitwechsel die Taktinformationen enthalten, mit denen sich Sender und Empfänger synchronisieren. Der Bus hat eine Taktfrequenz von 2,5 GHz, das macht eine Transferrate von 2,5 Gbit/s pro Bit je Richtung und Leitungspaar. Durch die 8b/10b-Kodierung ensteht ein Overhead von 20%, das entspricht einer Nutzdatenrate von 2,0 Gbit/s oder auch 250 MB/s pro Lane. Die Leitungspaare sind linear skalierbar, hierzu werden mehrere Lanes4 parallel gebündelt, das ermöglicht eine Flexibilität bei der Bandbreite. Auf der physikalischen Schicht unterstützt die PCI-Express-Architektur verschiedene Breiten von Lanes. PCI-Express x1 hat 2 Lanes, eine in jede Richtung, das ergibt eine Datentransferrate von 500 MB/s. Die Anzahl der Lanes verdoppelt sich bis zu Version x16 mit 32 Lanes und erreicht damit eine Transferrate von 8 GB/s bidirektional. Abbildung 3.3 zeigt zum Beispiel, dass der Byte Stream von der physikalischen Schicht auf eine Lane, bzw. auf 4 Lanes aufgeteilt wird. Die Bytes werden kodiert, serialisiert und übertragen. [4], [5], [6], [7], [8], [9] Abbildung 3.3: Aufteilung des Byte Streams auf die Lanes 4 eine Lane hat zwei Leitungen in eine Richtung 26. Januar 2005 Seite 10 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle 3.2 RST-L WS 04/05 Grafikschnittstelle Als Grafikschnittstelle ist eine PCI-Express x16 Steckplatz vorgesehen, siehe Abbildung 3.4. Die Bezeichnung x16 steht für je 16 Leitungsleitungspaare in beide Richtungen, das sind 32 Lanes5 , insgesamt 64 Leitungen. Abbildung 3.4: Grafikkarte an PCI-Express x16 Auf Abbildung 3.5 ist ein PCI-Express x16 Steckplatz mit 164 Pins zu sehen, zum Vergleich ein PCI-E6 x1 mit 36 Pins und AGP 8x mit 108 Pins, siehe Abbildung 2.5. Die lineare Skalierbarkeit der Lanes macht es möglich, dass die Schnittstellen abwärts kompatibel sind, es ist möglich, eine PCI-E x1 Karte in einen PCI-E x16 Steckplatz zu stecken. Abbildung 3.5: PCI-Express Steckplatz x16 (oben) und x1 (unten) 5 eine Lane hat zwei Leitungen in eine Richtung 6 PCI-Express 26. Januar 2005 Seite 11 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 Abbildung 3.6 zeigt die Belegung der Schnittstelle, es sind die verschiedenen Steckplatzversionen von PCI-Express eingezeichnet. [8], [10] Abbildung 3.6: Belegung der Schnittstelle 26. Januar 2005 Seite 12 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle 3.3 RST-L WS 04/05 Spannungsversorgung Die PCI-Express Grafikkarten verfügen über ein neues Konzept der Spannungsversorgung. Die Grafikkarte erhält ausschließlich über eine 3,3 V und eine 12 V Leitung Energie, im Gegensatz zu AGP-Bus fällt die 1,5 V und die 5 V Spannungsschiene weg. Um einen digitalen Bildschirm zu betreiben, wird aber eine 5 V Spannung benötigt, die auf der Grafikkarte aus der 12 V Spannung generiert wird. Hochleistungs-Grafikkarten mit AGP 8x7 kommen auf einen Verbrauch von bis zu 80 Watt, diese Werte werden mit einer zusätzlichen Spannungsversorgung erreicht. Damit wird der in der Spezifikation festgelegte Maximalwert von 25 Watt für einen Standard-Steckplatz umgangen. Die PCI-Express Schnittstelle kann bis zu 75 Watt bereitstellen; mit einer zusätzlichen Spannungsversorgung kann eine Grafikkarte bis zu 150 Watt verbrauchen. Das setzt eine neue Obergrenze für die Leistungsaufnahme von Grafikkarten. Für die optionale Spannungsversorgung der Grafikkarten ist ein neuer sechspoliger Stecker vorgesehen, siehe Abbildung 3.7, nicht wie bisher eine Lösung mit Stromsteckern für Festplatten bzw. Diskettenlaufwerke. Für den hohen Energiebedarf werden Netzteile mit einer hohen Ausgangsleistung benötigt. Es kommen Netzteile zum Einsatz, die auch schon in Server-Systemen verwendet werden bei denen der Systemplatinen-Stromstecker vier zusätzliche Pins mit je einer 3,3 V, 5 V und 12 V Spannungsleitung sowie einer Masseleitung hat. [4], [7], [8], [11] Abbildung 3.7: neue optionale Stromversorgung für Grafikkarten 7 aus Spezifikation 3.0 26. Januar 2005 Seite 13 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle 3.4 RST-L WS 04/05 Routing Die am parallelen Bus, wie auch bei AGP, angeschlossenen Baugruppen werden mit einem externen Takt über einen zentralen Frequenzgeber synchronisiert. Um unterschiedliche Signallaufzeiten zu vermeiden, müssen alle Datenleitungen gleichlang sein. Bei PCI-Express muss nur die Länge eines Leitungspaares, einer Lane8 , gleich sein. Der Steuertakt wird unabhängig von einem zentralen Frequenzgeber und aus dem Datenstrom des Leitungspaares generiert9 , das ermöglicht einen asynchronen Datenverkehr. In der PCI-Express Spezifikation ist eine maximale Leitungslänge von 50,8 cm vorgeschrieben. Die Leitungen einer Lane untereinander dürfen einen Abstand von 0,2 mm und eine maximale Längenabweichung von 0,13 mm nicht unterschreiten. Der Abstand zwischen den Lanes muss mindestens 0,51 mm betragen, um Übersprechverhalten10 zu vermeiden. Die Leitungspaare müssen symmetrisch zueinander verlaufen, der Leiterbahnverlauf soll mit maximal 45 Grad geführt werden, siehe Abbildung 3.8. Bei AGP werden die Leitungen in verschlungenen Bahnen11 verlegt, mit Abwinklungen bis zu 90 Grad, um unterschiedliche Signallaufzeiten zu kompensieren. Abbildung 3.8: Kurven/Krümmungen Abbildung 3.9 zeigt zwei Möglichkeiten die Leitungsenden zu verlegen. Abbildung 3.9: optimales Routing (links), alternativs Routing (rechts) der Leitungsenden Auf der Abbildung 3.10 ist ein symmetrischer Verlauf der Leitungen zu sehen, Abbildung 3.11 zeigt hingegen einen unsymmetrischen Leitungsverlauf. [7], [8], [9], [11] Abbildung 3.10: symmetrischer Verlauf der Leitungen Abbildung 3.11: nicht erlaubtes Routing, keine Symmetrie der Leiterbahn ! 8 zwei Leitungen entweder zum Senden oder zum Empfangen clock 10 crosstalk 11 Serpentinen-Routing 9 embedded 26. Januar 2005 Seite 14 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle 3.5 RST-L WS 04/05 Vergleichstabelle Bus-Systeme Hier sind alle Eckdaten in einer Tabelle zusammengefasst. Bus-System : ISA PCI AGP PCI-Express (PCI-E) Name : (I)ndustry (P)eripheral (A)ccelerated (P)eripheral (S)tandard (C)omponent (G)raphics (C)omponent (A)rchitecture (I)nterconnect (P)ort (I)nterconnect (E)xpress Jahr : 1984 1992 1997 2004/05 Spezifikationen : 16 bit 1.0; 2.0; 2.1; 1.0 (1x, 2x); 1.0a 2.2; 2.3; 3.0 2.0 (4x); 3.0 (8x) (x1; x2; x4; x8; x16) Busart : parallel parallel parallel seriell Übertragungsart : unidirektional unidirektional unidirektional bidirektional synchron synchron synchron asynchron die folgenden Daten berufen sich auf die gängigsten Grafikkarten Spezifikationen : ISA 16 bit PCI 2.0 AGP 8x PCI-E x16 Bustakt : 8,33 MHz 33 MHz 533 MHz 2,5 GHz Datenbusbreite : 16 bit 32 bit 32 bit 16 Lanepaare (32 Lanes)a max. mögliche 16 MB/s 132 MB/s 2,1 GB/s je Richtung 4 GB/s Bandbreite : Gesamt 8 GB/sb c Tabelle 3.2: Vergleichstabelle der Bus-Systeme a eine Lane hat zwei Leitungen pro Richtung, 64 Leitungen gesamt b Nutzdaten c eine Lane kann bis zu 2,5 Gbit/s Rohdaten übertragen 26. Januar 2005 Seite 15 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 Kapitel 4 Dual-Grafikkarten-Systeme Das Konzept 3D-Grafikprozessoren parallel arbeiten zu lassen, ist schon 1993 in Onyx-Workstations von Silicon Graphics verwendet worden, mit Systempreisen bis zu 1 Million US-Dollar. PCI-Express macht es nun möglich, diese Technik wieder einzusetzen. [12] 4.1 SLI Der Grafik- und digitale Medienprozessor Hersteller NVIDIA1 macht sich die Eigenschaften von PCIExpress zu Nutzen, um zwei Grafikprozessoren miteinander zu verbinden. Zuvor gelang das nur 3dfx mit der Voodoo 2 über PCI. NVIDIA nennt diese Technik SLI2 3 und hat das Kürzel von der 1998 erschienen Grafikkarte Voodoo 2, die von 3dfx auf den Markt gebracht wurde, übernommen. Ende 2000 wurde auf Grund von Fehlentscheidungen und Verzögerungen 3dfx von NVIDIA aufgekauft, vielleicht auch daher die Verwandschaft des Kürzels SLI. Im Folgenden werden die unterschiedlichen Versionen und Verfahren von SLI vorstellt. [12] 4.1.1 SLI von 3dfx SLI bedeutet bei 3dfx ”Scan Line Interleave” und kam bei der Voodoo 2 zum Einsatz, damals noch für den PCI-BUS konzipiert. Voodoo 2 ist eine Zusatz-Grafikkarte, das bedeutet, es musste eine normale 2D-Grafikkarte vorhanden sein. Mittels eines Loop-Through-Kabels wurden die 2D-Karte und eine der Voodoo 2 Grafikkarten außerhalb des Rechners verbunden. Außerdem mussten die beiden Voodoo 2 Grafikkarten über ein Flachbandkabel verbunden werden, womit eine Steigerung der Bildwiederholungsrate von bis zu 70 %, im Vergleich mit nur einer Voodoo 2, erreicht wurde. Die erste der Voodoo 2 Grafikkarten lieferte die Texturen für die geraden Bildzeilen und die zweite die Texturen für die ungeraden Bildzeilen, wie auf Abbildung 4.1 zu sehen ist. Damit konnte das Referenz-Spiel Quake 2 in der damals hohen Auflösung von 1024 x 768 Pixel flüssig gespielt werden. [12], [13], [14] 1 NVIDIA, siehe 6.1 Links Link Interface, bei NVIDIA 3 Scan Line Interleave, bei 3dfx 2 Scalable 26. Januar 2005 Seite 16 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 Abbildung 4.1: SLI von 3dfx 4.1.2 SLI von NVIDIA NVIDIA hat nur das Kürzel SLI übernommen, das in diesem Fall ”Scalable Link Interface” bedeutet und ausschließlich für PCI-Express Grafikkarten konzipiert ist. PCI-Express bietet Skalierbarkeit bei der Geometrieleistung und kann die Ausgabebilder komplett digital und verlustfrei zusammensetzten. Der AGP-Bus hat sich auf Grund von Unidirektionalität4 und der Auslegung für nur eine Grafikkarte als ungeeignet erwiesen. NVIDIA SLI kann sich optimal an das Leistungsverhalten und die Anforderungen der Anwendung anpassen, dazu dienen verschiedene Skalieralgorithmen, SFR5 und AFR6 . Die Koordination der Steuersignale zwischen beiden Karten läuft über eine zusätzliche physikalische Verbindung, siehe hierzu Abschnitt 4.2 Hardware Voraussetzungen. Eine der beiden Karten fungiert als Master, sie bestimmt die Arbeitsweise der zweiten Karte (Slave), übernimmt deren Ergebnisse und leitet sie zusammen mit den eigenen Bildinhalten an den Bildschirm weiter. Die Entscheidung, welches der beiden Verfahren genutzt wird, ist Sache des Treibers. [12], [13], [15] 4 Daten können nur entweder hin- oder zurückgesendet werden Frame Rendering 6 Alternate Frame Rendering 5 Split 26. Januar 2005 Seite 17 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 SFR Beim ”Split Frame Rendering” übernimmt die Master-Karte das Rendern der oberen und die SlaveKarte das der restlichen unteren Bildschirmhälfte. Per Treiber kann die Lastenverteilung7 statisch bei je 50 % festgesetzt werden oder dynamisch erfolgen. Da im unteren Bereich oft mehr Objekte gerendert werden müssen, Boden und Schattenwürfe, als in der oberen Hälfte, Decken oder Himmel, kann die Trennlinie im Interesse einer gleichmäßigeren Auslastung etwas nach unten setzen gesetzt werden, siehe Abbildung 4.2. [12], [13] Abbildung 4.2: Split Frame Rendering von NVIDIA AFR Beim ”Alternate Frame Rendering” werden ganze Bilder (Frames) abwechselnd von beiden Grafikkarten berechnet, die Master-Karte übernimmt die geraden Bilder und die Slave-Karte die ungeraden, siehe Abbildung 4.3. AFR verdoppelt annähernd Geometire- und Renderleistung, aber es funktioniert nur bei Spielen, die das Vorberechnen mehrerer Bilder zulassen. Es soll jedoch nicht zu Verzögerungszeiten bei Reaktionen auf Benutzereingaben kommen, obwohl zwei Bilder zwischengespeichert werden. Aber gerade bei aufwändigen Spielen und hohen Qualitätseinstellungen lassen sich hohe Bildwiederholungsraten8 erzielen, das entspricht einer durchschnittliche Steigerung von über 70 %. [12], [13] Abbildung 4.3: Alternate Frame Rendering von NVIDIA 7 Load Balancing per second, Fps 8 Frames 26. Januar 2005 Seite 18 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle 4.1.3 RST-L WS 04/05 Video Array, Alternative von Alienware Der Rechnersysteme Anbieter Alienware9 , bekannt für Hochleistungs-Spiele-Rechner, hat ein eigenes Dual-Grafikkarten-System entwickelt: den Video Array. Diese Technik erlaubt es, verschiedene Grafikkarten desselben Herstellers zusammenzuschalten und ist dabei nicht nur auf NVIDIA-Karten beschränkt. Ähnlich dem SFR10 von NVIDIA werden zwei Bildteile über eine zusätzliche Erweiterungskarte, den sogegannten Video Merger Hub11 , koordiniert. Die Grafikkarten werden über ein Pass-Through-Kabel, ähnlich dem Verfahren von 3dfx, an den VHM12 angeschlossen, an dem dann der Bildschrim angeschlossen wird. Mit seiner Software, die das so genannte Predictive Load Balancing beherrscht, kann der Video Array zwei Grafikkarten so beeinflussen, dass eine Karte 75 % und die andere die restlichen 25 % der Arbeit übernimmt. Auf der Abbildung 4.4 ist das Prinzip von Video Arrays zu sehen. [12], [13], [16], [17] Abbildung 4.4: Video Array 9 Alienware, 10 Split siehe 6.1 Links Frame Rendering 11 VMH 12 Video Merger Hub 26. Januar 2005 Seite 19 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle 4.2 RST-L WS 04/05 Hardware Voraussetzungen Die Systemplatine muss mit mindestens zwei PCI-E x16 Steckplätzen bestückt sein, um die Voraussetzungen für den Betrieb von zwei Grafikkarten zu gewährleisten. [12] 4.2.1 Hardware für SLI NVIDIA hat SLI nur für PCI-Express-Grafikprozessoren vorgesehen, das sind folgende Chips: NVIDIA GeForce 6600 GT, 6800 GT und 6800 Ultra. Außerdem muss auf der Systemplatine ein SLI fähiger Chipsatz vorhanden sein. Es sind Systemplatinen von verschienen Herstellern mit nForce4SLI Chipsatz von NVIDIA erhältlich. Von Intel gibt es zur Zeit nur eine Serverplatine mit Intel i7525 Chipsatz und zwei PCI-E x16 Steckplätzen. An den Grafikkarten befindet sich eine zusätzliche Schnittstelle, siehe Abbildung 4.5, an der eine Verbindungsbrücke angebracht wird, um die Daten zwischen den Grafikkarten auszutauschen, wie auf Abbildung 4.6 zu sehen. Abbildung 4.5: Schnittstelle zur anderen Grafikkarte Abbildung 4.6: Brückenplatiene 26. Januar 2005 Seite 20 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 Bei einigen Systemplatinen wird mittels einer Steckkarte der Betrieb mit ein oder zwei Grafikkarten konfiguriert, siehe Abbildung 4.7 [12], [18] Abbildung 4.7: ermöglicht die Konfiguration der Systemplatine 26. Januar 2005 Seite 21 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle 4.2.2 RST-L WS 04/05 Hardware für Video Array Für den Video Array von Alienware ist eine spezielle Systemplatine, von Alienware namens X2, mit Intel i7525 Chipsatz vorgesehen. Des Weiteren wird zusätzlich eine Steckkarte, der Video Merger Hub, siehe Abbildung 4.8, und eine Kabelverbindung zwischen den Grafikkarten und dem VMH13 benötigt, auf Abbildung 4.9 zu sehen. [12], [16], [17] Abbildung 4.8: zwei PCI-E Grafikkarten (oben) und der VMH (unten) in der X2 Systemplatine Abbildung 4.9: Pass-Through-Kabelverbindung von den Grafikkarten zum Video Merger Hub 13 Video Merger Hub 26. Januar 2005 Seite 22 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle 4.3 RST-L WS 04/05 Vergleichstabelle Dual-Grafikkarten-Systeme In dieser Übersicht sind die oben beschriebenen Dual-Grafikkarten-Systeme aufgelistet. Hersteller : Jahr : Technik : 3dfx 1998 Scan Line Interleave (SLI) 2 x 3dfx Voodoo 2 Verwendeter Grafikchip : Mainboard Interface : Verbindung der Grafikkarten : PCI Flachbandkabel, Loop-Through-Kabel Voraussetzungen : zusätzliche 2D-Karte nötig, belegt 3 PCISteckplätze Nachteile : Qualitätsverlust duch 2D-Signals wegen Durchschleifens per Loop-Trough-Kabel bis 70 % 3D-Mehrleistung :a NVIDIA 2004 Scalable Link Interface (SLI) 2 x NVIDIA GeForce 6600 GT/ 6800 GT/ 6800 Ultra PCI-Express Platine / Flachbandkabel (je nach Mainboard) Mainboard mit 2 x PCI-Express x16 Steckplätzen und geeigneten Chipsätzen von Intel oder NVIDIA hoher Stromverbrauch, hohes Betriebsgeräusch bis 90 % Alienware 2004 Video Array 2 x belibige Grafikkarten (des gleichen Herstellers) PCI-Express zwei Verbindungskabel zur ”Video-MergerHub”-Karte Mainboard mit 2 x PCI-Express x 16 Steckplätze nur von Alienware (X2) hoher Stromverbrauch, hohes Betriebsgeräusch bis 70 % Tabelle 4.1: Vergleichstabelle der Dual-Grafikkarten-Systeme a gegenüber Singel-Grafikkarten-System [12] 26. Januar 2005 Seite 23 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 Kapitel 5 Fazit PCI-Express ist noch sehr neu, wird aber den AGP-Bus als Grafik-Schnittstelle und wahrscheinlich auch den PCI-Bus ablösen. Die Vorreiter dieser Technik sind die Hersteller der Grafikkarten. Mit SLI hat NVIDIA die Führungsrolle im Kampf um die Spitze der Grakikprozessoren übernommen. Der Video Array von Alienware ist noch nicht erhältlich und erscheint voraussichtlich nur auf dem US-Markt. Kurz vor Weihnachten überraschte Gigabyte1 den Markt mit der PCI-Express-Grafikkarte 3D1, die mit zwei parallel arbeitenden NVIDIA GeForce 6600 GT Grafikprozessoren bestückt ist. Damit hat Gigabyte zwei im SLI-Modus verknüpfte Prozessoren auf einer Karte zusammengefasst. Die PCI-SIG2 sieht eine Verdoppelung der PCI-Express Leistung vor. In ihrer nächsten PCI-Express Spezifikation, die Mitte 2005 veröffentlicht wird, soll der Datentransfer für eine Lane3 von 2,5 Gbit/s4 auf 5 Gbit/s angehoben werden. Damit kommt die PCI-Express x16 Schnittstelle auf je 8 GByte/s pro Richtung und eine Gesamttransferrate von 16 GByte/s. Das bedeutet, dass PCI-Express auch in industriellen Bereichen die Vorausetztung für Hochleistungs-Grafik-Systeme bietet. [18], [19], [20] Ist das schon das Ende ? 1 Gigabyte, siehe 6.1 Links siehe 6.1 Links 3 eine Lane sind zwei Leitungen in eine Richtung 4 Rohdaten, 2 Gbit/s oder 250MByte/s Nutzdaten 2 PCI-SIG, 26. Januar 2005 Seite 24 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 Kapitel 6 Anhang 6.1 Links PCI-SIG PCI - Special Interest Groupe Industrielle Organisation zur Entwicklung und Verwaltung von PCI-Standards. http://www.pcisig.com/home NVIDIA NVIDIA Hersteller von Grafik und digitale Medienprozessor hhttp://www.nvidia.de/page/home Alienware Alienware Anbieter von Rechnersystemen bekannt für Hochleistungs-Spiele-Rechner http://www.alienware.com/main.aspx GIGABYTE Gigabyte unter anderem Hersteller von Systemplatinen und Grafikkarten http://www.gigabyte.de 26. Januar 2005 Seite 25 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 Literaturverzeichnis [1] Udo Wenzek: PC Bussysteme: Teil 1 - ISA und Co.; userchannel Sonntagsseite, 17.11.2002, http://www.userchannel.de/sonntagsseite/newsseite.php?datum=17.11.2002\&newsID= 53 [2] Udo Wenzek: PC Bussysteme: Teil 2 - PCI; userchannel Sonntagsseite, 24.11.2002, http://www.userchannel.de/sonntagsseite/newsseite.php?datum=24.11.2002\&newsID= 64 [3] Udo Wenzek: PC Bussysteme: Teil 3 - AGP; userchannel Sonntagsseite, 01.12.2002, http://www.userchannel.de/sonntagsseite/newsseite.php?datum=01.12.2002\&newsID= 73 [4] Thilo Bayer: Praxistest PCI Express; PC Games Hardware, 09/2004, s.116 [5] Intel Corporation: Intel 925XE Express chipset; Intel, 2005 http://www.intel.com/design/chipsets/925xe/index.htm [6] Advanced Micro Devices, Inc.: AMD Athlon 64 FX Prozessor Wettbewerbsvergleich; AMD, 2005 http://www.amd.com/de-de/Processors/ProductInformation/0,,30_118_9485_9488% 5E9494,00.html [7] Bernhard Haluschak: PCI Express für Grafikkarten; tecCHANNEL, 30.05.2003, http://www.tecchannel.de/hardware/1182/index.html [8] Bernhard Haluschak: PCI Express: Der Highspeed-Datenbus im Detail; tecCHANNEL, 06.09.2002, http://www.tecchannel.de/hardware/1003/index.html [9] Hermann Strass: PCI Express: Mit Volldampf in ein neues Zeitalter; elektroniknet, 2004, http://www.elektroniknet.de/topics/kommunikation/fachthemen/2004/0004/index.htm 26. Januar 2005 Seite 26 Rechnerstrukturen Labor PCI Express als Grafikschnittstelle RST-L WS 04/05 [10] Patrick Schmid, Achim Roos: PCI Express durchleuchtet: Alle Modi im Test; tom’s hardware guide, 5. November 2004, http://www.de.tomshardware.com/graphic/20041105/index.html [11] Manfred Bertuch: Pixel-Express Nvidia kündigt erste Grafikkarten mit PCI Express an; c’t, 6/2004, S. 44 http://www.heise.de/ct/04/06/044/default.shtml [12] Daniel Wolff: SLI: 3D mal zwei; chip 01/2005, S. 54 [13] Raphael auf der Mauer, Thilo Bayer: Multichip-Technik SLI; PC Games Hardware 09/2004, S. 20 [14] Pierre Kretschmer: Voodoo2; Gargarmel, 2003 ?, http://www.gargamel.de/html/voodoo2.htm [15] NVIDIA Corporation: NVIDIA SLI; NVIDIA, 2004/05, http://www.nvidia.de/page/sli.html [16] Alienware Corporation: Alienware ALX/ Video Array; Alienware, 2004/05, http://www.alienware.com/ALX_pages/main_content.aspx [17] ?? : Alienware ??? PCI-E ??????; (chinesische Seite) pcicp.com, 18.05.2004, http://itinfo.pcicp.com/news/hardware/2004/05/18/1084844257d4561.html [18] Lars Weinand: NVIDIAs SLI-Performance: Doppelte Potenz für Halbstarke; tom’s hardware guide, 23.11.2004, http://www.de.tomshardware.com/graphic/20041123/index.html [19] Lars Weinand: Gigabyte 3D1 mit 2 Chips: SLI mit einer Karte!; tom’s hardware guide, 18. Januar 2005, http://www.tomshardware.de/graphic/20050118/index.html [20] (hal): PCI-SIG verdoppelt PCI Express Performance; tecCHANNEL, 17.12.2004, http://www.tecchannel.de/news/hardware/18658/ 26. Januar 2005 Seite 27