FAQ: PCI Express
Die leistungsfähige Schnittstelle PCIe bindet nicht nur Grafikkarten und SSDs im PC an, sondern lässt sich flexibel einsetzen. Das sorgt teils für Verwirrung.
![](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/2/9/9/4/5/2/7/PCIe-6ee4ae7724999335.jpeg)
PCI Express gibt es in Generationen von 1.0 bis 4.0, mit verschiedenen Lanes und unterschiedlichen Slotgrößen und -typen. Da verliert man leicht den Überblick, in welchem Steckplatz man eine Karte am besten platziert – und ob überhaupt noch ein passender frei ist. Unsere FAQ erklärt, was geht, was sinnvoll ist und wo Stolperfallen lauern.
PCIe-Generationen und -Lanes
Was bedeuten Bezeichnungen wie PCIe 3.0 x4 und PCIe 4.0 x16?
Aus den Kurzbezeichnungen für PCI-Express-(PCIe-)Anschlüsse lässt sich die maximale Übertragungsgeschwindigkeit herauslesen. Das ist beispielsweise wichtig, wenn man eine schnelle SSD ausreizen möchte: Dazu muss sie im passenden Steckplatz sitzen.
PCIe ist ein serielles Übertragungsverfahren, bei dem sich mehrere sogenannte Lanes (englisch für Fahrbahnen) bündeln lassen, um die Datentransferrate zu steigern. Mit jeder PCIe-Generation wächst die Transferrate pro Lane. Die Zahl hinter "PCIe" steht für die PCIe-Generation, die Zahl hinter dem Kleinbuchstaben "x" für die Anzahl der Lanes.
PCIe 2.0 überträgt pro Lane und Sekunde 5 Milliarden Datenpakete (Gigatransfers/s, GT/s), die im Idealfall fast 500 MByte Daten pro Sekunde (MByte/s) fassen. Mit PCIe 2.0 x4 sind folglich knapp 2 GByte/s möglich, bei PCIe 3.0 x4 sind es ungefähr 3,9 GByte/s.
Nicht jeder PCIe-Steckplatz (Slot) ist voll beschaltet; mancher PCIe-x16-Slot stellt beispielsweise nur 8 Lanes (x8) bereit, folglich liegt die nutzbare Transferrate entsprechend niedriger.
PCI Express for Graphics
Was ist ein PEG-Slot?
PCI Express for Graphics (PEG) spezifiziert einen PCIe-Steckplatz für Karten mit bis zu 16 PCIe-Lanes, der bis zu 75 Watt Leistung bereitstellt. Andere PCIe-Slots sind für höchstens 25 Watt ausgelegt. Nicht jeder PEG-Slot ist mit den vollen 16 PCIe-Lanes beschaltet.
Slots mit weniger Lanes
Auf meinem Mainboard ist ein PCIe-x16-Slot, bei dem nur acht Lanes (x8) nutzbar sind. Wieso ist das so und was sind die Nachteile?
Viele Desktop-PC-Prozessoren enthalten einen PCI Express Root Complex, der höchstens 16 Lanes für Grafikkarten sowie weitere 4 Lanes zur Anbindung des Chipsatzes (alias Platform Controller Hub/PCH) bereitstellt. Wenn zusätzlich zu einer x16-Grafikkarte noch eine weitere Karte direkt an der CPU angebunden werden soll (und nicht über den PCH-Umweg), spaltet die CPU ihren x16-Port in zwei x8-Ports auf – das nennt man auf Englisch Bifurcation. Kleine Umschalt-Chips in der Nähe der PEG-Slots verbinden dann automatisch 8 Lanes vom ersten mit dem zweiten Slot. So lassen sich dann zwar zwei Karten an den 16 Lanes betreiben, aber jede kann eben höchstens die x8-Transferrate nutzen. Das macht sich allerdings bei vielen PCIe-Grafikkarten in der Praxis kaum bemerkbar – höchstens bei extrem leistungsstarken Karten.
Lane-Stolpereien: x1, x8, x16
Kann ich eine PCe-x1-Karte auch in einem x4- oder x16-Slot einbauen? Und umgekehrt eine x16-(Grafik-)Karte in einem x8-Slot?
Fast alle PCIe-Karten können mit nur einer einzigen PCIe-Lane arbeiten, dann logischerweise aber nicht mit ihrer vollen Transferrate. Vor allem funktioniert eine x1-Karte praktisch immer in einem x4-, x8- oder x16-Slot. Es lauern aber einige Tücken, weil PCIe so flexibel nutzbar ist: Viele Mainboards mit zwei PEG-Slots schalten automatisch acht Lanes vom ersten Slot auf den zweiten Slot um, sobald dort eine Karte eingesteckt ist (siehe oben), auch wenn diese gar keine acht Lanes braucht.
Eine Karte mit längerem Anschluss passt nur dann in kleinere Fassung, wenn letztere "hinten offen" ist, sodass der Anschlusskamm herausragen kann. Eine PEG-Karte, die 75 Watt Speiseleistung erwartet, wird zudem nicht in einem Slot laufen, der nur 25 Watt liefert.
Tückisch sind Karten mit mehreren unabhängigen PCIe-Controllern: Manche funktionieren nicht, wenn ein Slot weniger Lanes bietet, als seine mechanische Bauform erwarten lässt – etwa weil ein x4-Slot nur eine Lane bereitstellt. Hier hilft nur ein Blick ins Mainboard-Handbuch. Manchmal treten auch exotische Bugs auf, etwa weil das BIOS die von der Karte gewünschte Lane-Anzahl nicht richtig zuteilt. Ein älterer Intel-Chipsatz hat auch ein Spezialproblem mit x2-Karten: Er kann nur mit x1, x4, x8 und x16 umgehen.
PCIe-4.0-Karte in PCIe-3.0-Slot
Ich habe ein Mainboard mit PCIe 3.0. Kann ich darauf eine Grafikkarte oder SSD mit PCIe 4.0 verwenden?
Ja. Praktisch alle PCIe-Karten sind abwärtskompatibel, funktionieren also auch mit einer älteren PCIe-Generation. Umgekehrt arbeiten PCIe-1.0-Karten auch in PCIe-4.0-Slots. Die maximal nutzbare Datentransferleistung bestimmt aber stets das Hostsystem: Ein Prozessor mit PCIe 3.0 kann nicht mit PCIe-4.0-Geschwindigkeit arbeiten. Eine PCIe-4.0-x4-SSD bringt folglich in einem M.2-Slot mit PCIe 3.0 x4 nicht ihre volle Leistung.
Um PCIe auszureizen, muss auch das RAM schnell genug sein, denn es geht ja um Direct Memory Access (DMA): PCIe 4.0 x16 schafft über 30 GByte/s, aber ein Speicherkanal mit DDR4-3200 höchstens 25,6 GByte/s (3,2 Gigatransfers mit je 8 Byte). Für PCIe 4.0 x16 ist also zweikanaliges RAM sinnvoll; dann würde es schon reichen, pro Kanal ein Modul vom Typ DDR4-2133 (17 GByte/s) zu bestücken.
Theoretische und praktische Transferleistung
Wie hängt die praktische nutzbare Datentransferrate mit der PCIe-Übertragungsrate zusammen?
Bis zur Generation 2.0 verwendet PCIe eine 8-Bit-10-Bit-Codierung (8b/10b), ab PCIe 3.0 dann eine effizientere 128b/130b Codierung. Somit lassen sich in 1000 PCIe-2.0-Transfers 800 Bit verpacken und bei PCIe 3.0 984 Bit. Davon gehen noch Anteile für das Übertragungsprotokoll ab und je nach Größe der übertragenen Pakete schöpft PCI Express nicht das volle Transferpotenzial aus.
Die praktisch nutzbare Transferrate hängt noch von weiteren Faktoren ab, bei einer PCIe-SSD etwa von der Geschwindigkeit des Controllers und der verwendeten Flash-Chips. Viele der neuen PCIe-4.0-SSDs reizen etwa beim Schreiben nur einen Bruchteil der PCIe-Übertragungskapazität aus.
Eine PCIe-Lane hat separate differenzielle Leitungspaare zum Senden und Empfangen und kann Daten gleichzeitig in beide Richtungen übertragen. Manche Firmen nennen daher die jeweils doppelte Transferrate pro Lane, bei PCIe 3.0 etwa 16 GT/s statt 8 GT/s pro Richtung. Das spielt im PC-Einsatz aber keine wesentliche Rolle.
PCI-Express-Generationen und maximale Transferraten
PCIe-Generation |
Milliarden Transfers/s |
PCIe x1 |
PCIe x4 |
PCIe x8 |
PCIe x16 |
PCIe 1.0/1.1 |
2,5 GT/s |
0,25 GByte/s |
1 GByte/s |
2 GByte/s |
4 GByte/s |
PCIe 2.0 |
5 GT/s |
0,50 GByte/s |
2 GByte/s |
4 GByte/s |
8 GByte/s |
PCIe 3.0 |
8 GT/s |
0,97 GByte/s |
3,9 GByte/s |
7,8 GByte/s |
15,5 GByte/s |
PCIe 4.0 |
16 GT/s |
1,9 GByte/s |
7,8 GByte/s |
15,5 GByte/s |
31 GByte/s |
PCIe 5.0 |
32 GT/s |
3,9 GByte/s |
15,5 GByte/s |
31 GByte/s |
62 GByte/s |
Angabe der maximalen Transferraten gerundet; praktisch nutzbare Transferraten liegen niedriger. Erste Server mit PCIe 5.0 werden ab 2021 erwartet. |
M.2 und PCIe
Wie hängt die SSD-Bauform M.2 mit PCI Express zusammen?
Die M.2-Spezifikation beschreibt eine kompakte Steckfassung mit bis zu vier PCIe-Lanes sowie dazu kompatible Module in verschiedenen Längen. Viele M.2-SSDs sind 8 Zentimeter lang (M.2 2280), aber es gibt auch welche mit 3, 4,2 und 11 Zentimetern (2230, 2242, 22110). Je nach Mainboard passen nur bestimmte Varianten, weil die Befestigungsschraube jeweils an der richtigen Stelle sitzen muss. M.2-SSDs mit PCIe-Controller lassen sich mit Adapterkarten auch in PCIe-Fassungen einsetzen.
Manche billigen M.2-SSDs nutzen nur 2 statt 4 PCIe-Lanes und sind daher langsamer. Einige Mainboards haben wiederum M.2-Slots mit PCIe-2.0-Anbindung, in denen SSDs mit PCIe 3.0 oder 4.0 nicht ihre volle Leistung bringen können.
Achtung: Es gibt auch SSDs im M.2-Format, die keinen PCIe-kompatiblen Controller haben, sondern einen SATA-Controller. Diese funktionieren nur in solchen M.2-Slots, bei denen das System zwischen PCIe und SATA umschalten kann.
NVMe und PCIe
Was hat NVMe mit PCIe zu tun?
Das Transferprotokoll Non-Volatile Memory Express (NVMe) nutzt PCI Express (PCIe) als physische Übertragungsschicht. Die meisten PCIe-SSDs verwenden NVMe. Damit ein PC oder Notebook von einer NVMe-SSD booten kann, braucht das BIOS einen eingebauten NVMe-Treiber – das ist heutzutage praktisch immer der Fall. Auch die aktuellen Versionen aller gängigen Betriebssysteme enthalten NVMe-Treiber.
SATA und PCIe
Ich habe ein PC-Mainboard mit sechs SATA-Ports und einem M.2-Slot. Wenn ich letzteren mit einer SSD bestücke, kann ich nur noch vier SATA-Ports nutzen – warum?
Moderne PC-Chipsätze können einige sogenannte High-Speed-Lanes flexibel für PCI Express, SATA oder USB nutzen – aber nicht gleichzeitig, sondern alternativ. Intel nennt das Flexible I/O. Die Funktion gibt einerseits den Mainboard-Entwicklern mehr Freiheit bei der Auslegung ihrer Platinen und löst andererseits das Problem, dass es M.2-SSDs sowohl mit PCIe- als auch mit SATA-Controllern gibt. Je nach Bestückung der M.2-Fassung schaltet der Chipsatz automatisch um, ohne dass weitere elektronische Bauteile nötig wären. Der Nachteil ist jedoch, dass der Chipsatz nur eine gewisse Anzahl an High-Speed-Lanes hat, die manche Mainboard-Hersteller eben sowohl mit SATA-Buchsen als auch mit einer M.2-Fassung verbinden – die folglich nicht alle gleichzeitig nutzbar sind. Um das verwirrende Problem zu umgehen, sind manche Mainboards nur mit vier SATA-Ports bestückt oder sie haben M.2-Slots, in denen ausschließlich PCIe-(NVMe-)SSDs funktionieren, die also nicht auf SATA umschalten können.
Dieser Artikel stammt aus c't 24/2020.
(ciw)