PCIe - PCI Express (1.1 / 2.0 / 3.0 / 4.0)

PCI Express (PCIe) ist eine schnelle interne Schnittstelle für Erweiterungskarten in Computer-Systemen. Mit der Einführung von PCIe im Jahr 2004 wurde dem AGP als Grafikkarten-Schnittstelle ein Ende gesetzt und auch der PCI als internes Computer-Bussystem abgelöst.

Neben dem Einsatz in Desktop-Computern gibt es mit dem PCI Express Advanced Switching eine Variante, die in modularen Servern als Backplane zum Einsatz kommt. PCI Express eignet sich grundsätzlich zum Verbinden mehrerer Server und Baugruppen zu einem Computersystem oder Telekommunikations-Server. Diese Technik eignet sich für zeitkritische Anwendungen, wie Bild- und Tonwiedergabe. Funktionen zur Reservierung von Mindestbandbreiten stehen ebenfalls zur Verfügung.

PCI Express ist für Kupferleitungen und optische Verbindungen vorgesehen. Die PCI-Express-Spezifikation beschreibt das Software-Protokoll, elektrische und mechanische Eigenschaften der Steckverbinder und Erweiterungskarten. Davon ist einiges von den seriellen Verbindungssystemen, wie USB und FireWire, bekannt. Zum Beispiel das Ein- und Ausstecken im laufenden Betrieb (Hot-Plug) und das Bündeln mehrerer Leitungen zur Steigerung der Übertragungsrate.

PCI Express wird in Zukunft noch mehr an Bedeutung gewinnen. Die Halbleiterschaltungen von PCI Express werden in abgewandelter Form auch für DisplayPort, SATA und SAS verwendet. So wird SATA in Zukunft von einer SSD-Schnittstelle mit dem Namen SATA Express abgelöst, die in erheblichen Maße von PCI Express beeinflusst ist.

Steckplatz / Schnittstelle

PCI Express Steckplatz PCI Express Steckplatz
Nahaufnahme eines
1x PCIe Steckplatzes
Motherboard mit zwei langen
16x-PCIe-Steckplätzen und
drei kurzen 1x-PCIe-Steckplätzen

Architektur bzw. Topologie von PCIe

Klassisches Bridge-Modell als Bus-Topologie Modernes Switch-Modell als Stern-Topologie
Klassisches Bridge-Modell
(Bus-Topologie)
Modernes Switch-Modell
(Stern-Topologie)

Im Gegensatz zu PCI, mit der Busstruktur, bei der sich alle angeschlossenen Komponenten die verfügbare Bandbreite teilen müssen, werden bei PCI Express serielle Verbindungen zu einem Switch geschaltet, der sich im Chipsatz befindet. Der Switch verbindet eine PCIe-Baugruppe direkt mit dem Arbeitsspeicher oder anderen Baugruppen mit der vollen Bandbreite und Geschwindigkeit.
Auf der logischen Ebene ist PCIe voll kompatibel zum alten PCI. Das Betriebssystem merkt keinen Unterschied. Auch im Windows-Gerätemanager ist von PCIe nicht viel zu erkennen.

Statt paralleler Bussysteme werden also serielle Punkt-zu-Punkt-Verbindungen verwendet. Schon bei Ethernet wurde die alte Bus-Topologie durch eine Stern-Topologie ersetzt. Eine zentrale Schaltstelle (Switch) verbindet jeweils zwei Geräte direkt miteinander.

Die Gründe für den Umstieg von der bewährten Busstruktur zu seriellen Punkt-zu-Punkt-Verbindungen liegt in der riesigen Anzahl von Adress- und Signalleitungen. Die steigende Anzahl an Signalleitungen auf dem Motherboard benötigt sehr viel Platz, verbunden mit einem hohen Stromverbrauch. Auch die Übertragungsgeschwindigkeit lässt sich nicht beliebig steigern, weil sich die parallel liegenden Leitungen gegenseitig beeinflussen (Übersprechen).

Übertragungstechnik

Die Übertragungstechnik von PCI Express beruht auf jeweils zwei differenziellen Leitungspaaren (4 Adern), die als Link oder Lane bezeichnet werden. Das eine Leitungspaar für den Datenversand, das andere für den Datenempfang. Zur Steigerung der Geschwindigkeit darf ein Gerät mehrere Links benutzen. Insgesamt lassen sich bis zu 32 Links bündeln. In der Praxis sieht es jedoch so aus, dass einfache Erweiterungskarten nur einen Link haben. Ausnahmen bilden Grafikkarten-Slots, die als PEG (PCI Express for Graphics) bezeichnet werden. Ihnen stehen 16 Links zur Verfügung.
Die Parallelisierung der Daten erfolgt jedoch nicht auf der elektrischen, sondern auf einer höheren Protokollebene. Hier werden auch Laufzeitunterschiede, Leitungsstörungen und Ausfälle kompensiert.

Die Aufteilung der Links des Controllers auf die Hardware-Slots und Onboard-Komponenten werden beim Design des Mainboards festgelegt. Man unterscheidet zwischen x1-, x4-, x8- und x16-Slots. Um die Karten leichter unterscheiden zu können gibt es unterschiedlich lange Steckplätze. Die für einen Link (x1) sind kurz und die für 16 Links (x16) sind deutlich länger. Steckplätze für x4 und x8 gibt es nicht.

Übertragungsgeschwindigkeit

Die Übertragungsgeschwindigkeit bei PCIe "orientiert" sich an der Version und der Anzahl der Links bzw. Lanes. Je höher die Version und je mehr Links, desto höher die Bandbreite und desto höher ist die Übertragungsgeschwindigkeit.
Die Bandbreite gibt dabei an, wie viel Kapazität für die Datenübertragung theoretisch bzw. maximal zur Verfügung steht. Die tatsächliche Datenrate liegt jedoch darunter.

PCIe Bandbreite pro Link PCIe x1 PCIe x4 PCIe x8 PCIe x16 Kodierung/Balast Verfügbar seit
1.0 2,5 GT/s 2,5 GBit/s 250 MByte/s 1 GByte/s 2 GByte/s 4 GByte/s 8b10b / 20% 2004
2.0 5 GT/s 5 GBit/s 500 MByte/s 2 GByte/s 4 GByte/s 8 GByte/s 8b10b / 20% 2008
3.0 8 GT/s 10 GBit/s 0,9846 GByte/s 3,938 GByte/s 7,877 GByte/s 15,754 GByte/s 128b/130b / <2% 2011
4.0 16 GT/s 20 GBit/s 1,969 GByte/s 7,877 GByte/s 15,754 GByte/s 31,508 GByte/s 128b/130b / <2% ab 2016
5.0 32 GT/s   3,9 GByte/s 15,8 GByte/s 31,5 GByte/s 63 GByte/s 128b/130b / <2% ?

Geht man bei PCIe 2.0 von einer Bandbreite von 5 GBit/s pro Link aus, dann reduziert sich die Bandbreite durch die 8B/10B-Kodierung (10 Bit pro Byte) auf 4 GBit/s. Das entspricht einer Netto-Bandbreite von 500 MByte/s pro Richtung. Die tatsächliche Datenrate ist dann noch einmal geringer. Denn neben der reinen Datenübertragung ist noch ein Übertragungsprotokoll mit Befehlen, Adressierung und Bestätigungen aktiv, dass einen Teil der Bandbreite benutzt, weshalb die tatsächlich Datenrate noch einmal unter der Netto-Bandbreite liegt.

Kompatibilität von PCI-Express-Grafikkarten

PCIe ist vollständig auf- und abwärtskompatibel. Das bedeutet, alte Karten passen in neue Motherboards und umgekehrt. Eine x1-Karte funktioniert auch in einem x16-Slot und umgekehrt. Vorausgesetzt es passt mechanisch.
Um die Kompatibilität zu gewährleisten handelt der PCIe-Host-Controller bei der Initialisierung der Erweiterungskarten die Anzahl der Lanes und deren Übertragungsrate aus.

Karte/Steckplatz PCIe x1 PCIe x4 PCIe x8 PCIe x16
PCI Express x1 Ok Ok Ok Ok
PCI Express x4 - Ok ? ?
PCI Express x8 - - Ok ?
PCI Express x16 - - - Ok

Ok = kompatibel / - = nicht kompatibel / ? = nicht vorgeschrieben aber möglich

Hinweis: Grundsätzlich hat der PCIe-Standard die Abwärtskompatibilität vorgesehen. Das heißt aber nicht, dass sich alle Produkte daran halten.

PCI Express 1.0/1.1

Zwischen PCIe-1.0 und PCIe-1.1 besteht praktisch kein Unterschied. Die Geschweindigkeit pro Link ist auf 2,5 GBit/s festgelegt, was einer Nettobandbreite von 250 MByte/s entspricht.

PCI Express 2.0/2.1

Die Geschwindigkeit wurde auf 5 GBit/s pro Link erhöht. Im Optimalfall erreicht man eine Nettotransferrate von 500 MByte/s.
PCIe 2.0 ist zu PCIe 1.0/1.1 abwärtskompatibel. Doch Vorsicht, zwar sollten PCIe-1.1-Karten in PCIe-2.0-Slots funktionieren. Wenn es doch zu Problemen kommt hilft eventuell ein BIOS-Update. In der Spezifikation von PCIe 2.0 gibt es eine Besonderheit. Dort ist vorgeschrieben, dass PCIe-2.0-Karten auch in PCIe-1.1-Slots funktionieren müssen. Einen baulichen Unterschied gibt es nicht.
Der wesentliche Unterschied zwischen PCIe 2.0 und der älteren Version liegt in der maximal möglichen Übertragungsrate. PCIe 1.1 arbeitet mit 2,5 GBit/s pro Link.

PCI Express 3.0/3.1

Dank der Verringerung des Overheads bei der Datenübertragung und durch einen effizienteren Leitungscode konnte erneut die Transferrate im Vergleich zu PCIe 2.0 verdoppelt werden. Das bedeutet, jeder PCIe-Link hat eine Bandbreite von 8 GT/s (Gigatransfers pro Sekunde) bzw. 10 GBit/s und überträgt 1 GByte/s.
Es gibt nicht viele Anwendungen, die PCIe 3.0 ausreizen. Außer für Grafikkarten ist PCIe 3.0 nur für wenige Erweiterungskarten sinnvoll. Am ehesten noch für 40-Gigabit-Ethernet-Karten oder Hostadapter für Server-Massenspeicher. Grafikkarten können mit PCIe 3.0 über 16 Lanes mit bis zu 32 GByte/s (2 x 16 GByte/s) mit dem Chipsatz oder Prozessor kommunizieren.
Allerdings kann die Geschwindigkeit von PCIe 2.0 schon knapp werden, wenn der PCIe das zentrale Bussystem zwischen Prozessor und Chipsatz ist. Wenn die Verbindung zwischen CPU und Chipsatz nur 2 GByte/s in beide Richtungen unterstützt (PCIe-2.0-x4), gibt es PCIe 3.0 nur für externe Grafikkarten, die dann aber direkt am Hauptprozessor angeschlossen sind. In hochintegrierten Prozessoren von Intel und AMD endet bzw. beginnt der PCIe Root Complex bereits im Prozessor. Für die Zukunft kommt man dabei nicht um PCIe 3.0 herum. Darüber hinaus wird der PCIe SATA als Massenspeicher-Schnittstelle abzulösen. Das PCIe-Lane-Konzept ist SATA deutlich überlegen. Die PCIe-Lanes lassen sich leichter skalieren.

PCI Express 4.0

Die PCI Special Interest Group (PCI SIG) will bis 2015 mit der Spezifikation von PCIe 4.0 fertig sein. Im Vergleich zu PCIe 3.0 soll PCIe 4.0 die Datentransferrate abermals verdoppeln. Pro Lane sollen 16 GT/s möglich werden. Die maximale Nettodatenrate soll auf 2 GByte/s anwachsen.
PCIe 4.0 x16 schafft dann bis zu 32 GByte/s. Dafür muss sich auch bei den Speicher-Schnittstellen etwas tun. So müssen bei PCIe 4.0 x16 schon zwei Speicherkanäle mit DDR4-2133-Chips (PC4-17066) zum Einsatz kommen.
Um eine Verdoppelung der Transferrate zu ermöglichen wird die maximale Leitungslänge von 20 auf 8 bis 12 Zoll (20 bis 30 cm) schrumpfen. Auch neue Materialien für Leiterbahnen und Kontakte sind angedacht, um die Signalqualität zu erhalten.
Wie zu erwarten soll PCIe 4.0 auch weiterhin zu älteren PCIe-Karten abwärtskompatibel sein.

Übersicht: Interne Bussysteme

Weitere verwandte Themen:

Teilen:

Computertechnik-Fibel

Die Computertechnik-Fibel, das Computer-Buch

Das will ich haben!