PCI-Express-Mythos untersucht: x16/x16 gegen x8/x8 mit GTX 780 Ti SLI [Special der Woche]
Grafikkarten verlangen nach einer schnellen Anbindung an das restliche System - aber was ist schnell genug? Insbesondere Intels neue i7 5820K-CPU wirft die Frage auf, ob 16 Lanes zwingend nötig sind oder ob nicht auch mit 8 PCI-Express-3.0-Lanes genug Bandbreite vorhanden ist. PCGH macht den Test.
Anmerkung: Dieser Artikel hatte die meisten Seitenaufrufe diese Woche. Aus diesem Grund veröffentlichen wir es heute erneut.
Auf dieser Seite
Quelle: Gigabyte.com
Praktisch: Das Gigabyte X99 Gaming G1 Wifi bietet die Möglichkeit, x16/x16 (Slot 1+5), x16/x8 (Slot 5+7) und x8/x8 (Slot 1+3) auf der gleichen Plattform zu testen.
GPU-Anbindung mit PCI-Express
Grafikkarten werden immer schneller, ihre Anbindung an das System auch - aber nicht im gleichen Rythmus. Da liegt der Verdacht nahe, dass viele Konfigurationen unausgewogen sind und auf die maximal mögliche PCI-E-Bandbreite in vielen Fällen verzichtet werden kann. Für Single-GPU-Nutzer war diese Frage lange Zeit akademischer Natur - 16 Lanes von der CPU wurden so oder so für die Grafikkarte genutzt, seit der Einführung von PCI-Express 3.0 standen somit großzügige 15,8 GB/s zur Verfügung. Allenfalls Sockel-AM3-Nutzer machten sich Gedanken über eine Limitierung durch PCI-Express 2.0 (8 GB/s je Richtung bei 16 Lanes) oder Hyper Transport (10,4 GB/s bei 2,6 GHz). Seitdem aber einige Sockel-1150-Mainboard-Hersteller schnelle M.2-SSDs über die knappen PCI-Express-3.0-Lanes anbinden möchten und hierfür die Grafikkarte auf x8 (7,9 GB/s) zurückstufen, ist Bewegung in die Debatte geraten.
PCI-Express für Crossfire und SLI
Auch Multi-GPU-Nutzer widmen der Frage wieder gesteigerte Aufmerksamkeit, seitdem Intels Haswell-E-CPUs verfügbar sind. Hohe Preise und mittelmäßige Spiele-Performance von Sandy- und Ivy-Bridge-E-CPUs schränkten in der Vergangenheit die Auswahl auf Haswell-DT-Systeme ein, deren x16-PCI-Express-Bandbreite allenfalls mithilfe von Switches etwas effektiver auf mehrere Grafikkarten verteilt werden konnte. Mit der neuen Sockel-2011-3-Plattform sind nun erstmals seit der Westmere-Generation aktuelle CPU-Kerne auch in Packages mit 28 und 40 Lanes erhältlich. Letztere ermöglichen einen komfortablen x16/x16-Dual-GPU-Betrieb, noch mehr Fragezeichen wirft aber der günstige Core i7 5820K auf. Seine 24 Lanes werden meist als x16/x8 oder für Triple-SLI/Crossfire als x8/x8/x8 zur Verfügung gestellt. Kann man damit genauso gut spielen wie mit dem größeren i7-5930K?
PCI-Express-Testsystem
Um solche Fragen zu klären, haben wir uns ein Gigabyte X99 Gaming G1 Wifi, einen i7-5960X (der 5930K stand nicht zur Verfügung) und zwei Geforce 780 Ti in unterschiedlichen Positionen getestet. Die GPUs wurden hierbei auf den Basistakt von 928 MHz fixiert. Andernfalls hätte der Boosttakt in Abhängigkeit des Karten-Abstandes und damit der Kühlleistung schwanken können. Da das Board neben der grundlegenden Lane-Konfiguration x16/x0/x16/x8 auch einen Split auf x16/x8/x8/x8 erlaubt, können wir mit dieser Konfiguration neben den x16/x16 der großen Sockel-2011-CPUs und den x16/x8 des 5820K auch die x8/x8 der Sockel-1150-Plattform nachstellen. Zugleich sorgen die potenten GPUs mit eher knapp bemessenen Speicher für eine tendenziell hohe PCI-Express-Belastung.
PCI-Express-Testergebnisse
Das Ergebnis unserer Benchmarks ist eindeutig: Eine reduzierte PCI-Express-Bandbreite wirkt sich negativ auf die Renderleistung heutiger High-End-Grafikkarten aus. Je nach Spiel sind die Auswirkungen allerdings unterschiedlich stark. 2% Leistungsverlust beim Wechsel von x16/x16 auf x8/x8 in Grid Autosport dürften für die meisten Spieler nur von theoretischer Bedeutung sein. 8% Mehrleistung in Call of Duty sind dagegen eine Größenordnung, die andernorts als Grundlage für Kaufentscheidungen zwischen verschiedenen OC-Karten oder den ein oder anderen Fan-Streit ausreichen. Der Wechsel von x8/x8 auf x16/x8 zahlt sich dagegen nicht aus. Offensichtlich limitiert die langsamere der beiden Karten die Geschwindigkeit des gesamten SLI-Verbundes.
Hintergrund: PCI-Express-Lanes und -Verteilung
Auf modernen Intel-Desktop-Plattformen finden sich PCI-Express-Controller an zwei Stellen: Die CPUs stellen 40 Lanes (Sockel 2011-0, 2011-3) oder 16 Lanes (Sockel 1156/1155/1150) zur Verfügung, bei allen aktuellen CPUs nach 3.0-Spezifikation. Einzige Ausnahme ist der Core i7 5820K mit 28 Lanes. Zusätzlich stehen 8 PCI-Express-2.0-Lanes am Chipsatz zur Verfügung. Da jedoch auch Netzwerk- und weitere Onboard-Controller versorgt werden müssen, lässt sich hierüber maximal ein x4-Slot realisieren. Zudem ist der Chipsatz selbst nur mit der Bandbreite von PCI-Express-2.0-x4 an die CPU angebunden, seine Lanes sind somit für die Grafikkartenanbindung uninteressant.
Ähnlich präsentiert sich AMDs FM2+-Plattform. Zwar werden hier 20 Lanes direkt von der CPU zur Verfügung gestellt, aber nur 16 davon mit PCI-Express-3.0-Geschwindigkeit. Zusammen mit 4 Lanes vom Chipsatz ergeben sich wiederum 8 2.0-Lanes für Peripherie und 16 3.0-Lanes für Grafikkarten. Die alte AM3+ Plattform setzt dagegen auf einen externen PCI-Express-Controller in der Northbridge des Chipsatzes. Hier stehen bis zu 42 Lanes zur Verfügung, weitere 2 kommen von der Southbridge hinzu - allerdings durchgängig nur PCI-Express-2.0-Standard. Zudem ist die Verbindung zur CPU und damit dem Speichercontroller bei einem 2,6-GHz-Hyper-Transport-Link auf die Bandbreite von 20 2.0-Lanes limitiert.
Für die Verbindung der Controller mit Erweiterungskarten stehen den Mainboardherstellern drei Wege offen: Direkt, Splitter und Switches - wobei die Namensgebung für die beiden Letzteren variiert. Auf vielen Boards werden auch mehrere Techniken kombiniert oder mehrere Splitter-Schaltungen hintereinander eingesetzt. Die direkte Verbindung besteht aus durchgehenden Leiterbahnen vom CPU-Sockel zum PCI-Express-Slot. Sie findet sich bei Mainboards ohne SLI-Tauglichkeit, beispielsweise mit H97-Chipsatz, deren erster/einziger Grafikkartenslot immer mit 16 Lanes angebunden wird. Sie wird aber auch beispielsweise für die ersten 8 Lanes eines Multi-GPU-tauglichen Z97-Mainboards verwendet.
Die hinteren 8 Lanes eines teilbaren Slots laufen dagegen über Splitter. Diese kleinen Bauteile können die von der CPU kommenden Leitungen an eines von zwei möglichen Zielen leiten - beispielsweise die hinteren 8 Kontakt-Sätze des ersten mechanischen x16-Slots (Konfiguration x16/x0) oder die ersten 8 eines zweiten mechanischen x16-Slots (Konfiguration x8/x8). Als einfaches elektrisches Bauteil müssen die Splitter diese Aufteilung aber bereits beim Hochfahren des Systems einmalig festlegen.
PCI-Express-Switches (meist von PLX, in der Vergangenheit auch Nvidia) dagegen arbeiten auf einer höheren Ebene und schalten nicht elektrische Verbindungen, sondern Datenströme. Sie sind die gesamte Zeit über mit beispielsweise 16 Lanes mit der CPU und je 16 Lanes mit zwei Endgeräten verbunden. Analog zu einem Netzwerk-Switch routen sie Datenpakete zielgerichtet zwischen diesen drei Endpunkten, sodass die CPU beide GPUs mit voller Geschwindigkeit ansprechen kann. Im Gegensatz zu den von Mainboard-Vermarktern verwendeten Angaben einer gesteigerten Lane-Anzahl ist dies allerdings nicht zeitgleich möglich. Nur Datenpakete, die beide GPUs erreichen sollen, können nach einmaliger Übertragung von der CPU über 2x16 Lanes vom Switch abgegeben werden. Alle anderen Daten werden effektiv mit x8-Geschwindigkeit übertragen, während der Switch die CPU schnell und bedarfsabhängig abwechselnd mit der einen oder anderen GPU mit 16-Lane-Bandbreite verbindet.

XDMA: Improving Crossfire - The AMD Radeon R9 290X Review
PCI-Express-Switches sind keine Multiplexer, sondern logisch betrachtet Crossbars, die drei unabhängige PCI-Systeme (Switch-CPU, Switch-GPU1 und Switch-GPU2) bridgen.
Ich habe keine Ahnung, wie das bei neueren Nvidia-Karten ist, aber bei neueren AMD-Karten (ab R9 280 glaub ich) brauch man keine Bridge mehr (CrossFireX). Die Kommunikation läuft vollständig über PCIe, was eine höhere Datentransfehrrate ermöglichen und so Mikroruckeln verhindern soll.
Die Geschwindigkeit des CrossFire-Verbundes hängt hier doch dann stärker von der PCIe-Geschwindigkeit ab, als bei der Bridge-Version, oder?
Dann würden die fehlenden Lanes sich doch schon stärker bemerkbar machen, oder?
In der kommenden PCGH 12/2015 erscheinen übrigens eine Reihe von Single-GPU-Benchmarks und eine Handvoll Fury-Crossfire-Vergleiche. (Auf Skylake und demnach ohne ×16/×16)
Können diese also auch die beiden Grafikkarten mit 16x miteinnander verbinden (einfach weiterreichen) und die CPU gleichzeitug voll anbinden?
Also: Kommunizieren beide Grafikkarten gleichmäßig mit der CPU oder beide untereinnander und nur eine erhält die Daten (Master & Slave) und gibt sie weiter?
In der Praxis kommt davon nicht viel in Sachen Framerate an.
Verglichen mit DDR5 oder HBM ist der Speicher des Hauptsystems extrem langsam.
Spiele sind so programmiert das da nicht viel zwischen System und Grafikspeicher zur Laufzeit kopiert wird.
Bei Grafik zu Grafikspeicher könne es schon interessanter sein. Theoretisch. Bei 4K. Wobei wir wieder bei 12 vs 13 Frames wären. Es sei denn man nimmt 2 TitanX oder FuryX. Dann sinds 32 vs 33 Frames
Eine interessante Ausführung noch zu XDMA bei AMD Karten ...
XDMA: Improving Crossfire - The AMD Radeon R9 290X Review
nette Sache, aber den Aufpreis nicht wert (habe immer sowas zwischen 3% und 5 % gelesen je nachdem wie extrem das Szenario war, aber was macht es für einen Unterschied bei ob man 12 oder 13 Frames hat?)