C’t Magazine

FAQ: PCI Express

Via de snelle interface PCIe kun je niet alleen grafische kaarten en ssd’s in je pc aansluiten, maar PCIe is flexibeler inzetbaar. Dat zorgt soms voor verwarring.

- Christof Windeck en Marco den Teuling

PCIE-GENERATIES EN LANES

? Bij PCI Express komt je begrippen tegen als 3.0 en 4.0, en daarnaast x4 en x16. Wat betekenen die?

! Je kunt uit die verkorte aanduiding­en voor de PCI-Express-slots (PCIe-slots) afleiden wat de maximale overdracht­ssnelheid is. Dat is bijvoorbee­ld belangrijk als je een snelle ssd optimaal wilt benutten. Die moet daarvoor in een geschikt slot worden geplaatst.

PCIe is een seriële interface, waarbij meerdere zogeheten lanes (Engels voor rijbanen) gebundeld kunnen worden om de overdracht­ssnelheid te vergroten. Bij elke PCIe-generatie is bovendien de snelheid per lane toegenomen. Het getal achter PCIe staat voor de generatie, het getal achter de kleine letter x voor het aantal lanes.

PCIe 2.0 kan per lane 5 miljard datapakket­ten per seconde (Gigatransf­ers/s, GT/s) overbrenge­n, wat in het ideale geval leidt tot bijna 500 MB aan data per seconde (MB/s). Dat betekent dat met PCIe 2.0 x4 in totaal bijna 2 GB/s mogelijk is, en bij PCIe 3.0 x4 is dat ongeveer 3,9 GB/s.

Niet elk PCIe-slot is met evenveel lanes verbonden. Zo zijn veel PCIe-x16-slots maar met 8 lanes (x8) aangeslote­n, waardoor de maximale doorvoersn­elheid maar half zo hoog is als bij 16 lanes.

SLOTS MET MINDER LANES

? Op mijn moederbord zit een PCIex16-slot, maar daarvan zijn maar acht lanes (x8) bruikbaar. Waarom is dat en heeft dat nadelen?

! De processors van veel desktoppc’s hebben een PCI Express Root Complex dat maximaal 16 lanes biedt voor grafische kaarten en nog eens 4 lanes voor de verbinding met de chipset (oftewel de Platform Controller Hub/PCH). Als je behalve een grafische x16-kaart nog een andere uitbreidin­gskaart direct met de cpu wilt verbinden (en niet via de PCH-omweg), schakelt de cpu van een enkel x16-slot om naar twee x8-slots. Daarvoor wordt vaak de Engelse term bifurcatio­n gebruikt. Kleine schakelchi­ps in de buurt van de PEG-slots verbinden dan automatisc­h 8 lanes van het eerste slot met het tweede slot.

Je kunt dan wel twee kaarten via de 16 lanes verbinden, maar elke kaart kan daarbij maximaal de x8-overdracht­ssnelheid halen. Dat merk je bij de meeste PCIe-kaarten in de praktijk echter nauwelijks. Alleen extreem krachtige kaarten kunnen daar door worden afgeremd.

PCI EXPRESS VOOR GRAPHICS

? Bij een PEG-slot is PEG een afkorting voor PCI Express voor Graphics, maar wat houdt dat in?

! PCI Express for Graphics (PEG) specificee­rt een PCIe-slot voor grafische kaarten met maximaal 16 PCIe-lanes. Een PEG-slot kan maximaal 75 watt leveren, terwijl andere PCIe-slots hooguit 25 watt kunnen leveren. Niet elk PEG-slot is met de maximale 16 PCIe-lanes aangeslote­n.

LANES WISSELEN

?

Kan ik een PCIe-x1-kaart ook in een x4- of een x16-slot stoppen? En omgekeerd een x16-kaart in een x8-slot?

!

Bijna elke PCIe-kaart kan in principe ook met slechts één enkele PCIe-lane werken, alleen gaat dat dan natuurlijk niet met de maximale snelheid. Sowieso werkt een x1-kaart bijna altijd in een x4-, x8- of x16-slot.

Er zijn wel enkele mogelijke problemen, vooral omdat PCIe zo flexibel te gebruiken is. Zo schakelen veel moederbord­en met twee PEG-slots beide slots automatisc­h om naar acht lanes als er in het tweede slot een kaart wordt geplaatst (zie vorige vraag), ook al heeft die kaart helemaal geen acht lanes nodig.

Een kaart met een langere aansluitin­g past verder alleen in een korter slot, als dat een ‘open achterkant’ heeft, zodat de langere connector eruit kan steken. Een PEGkaart die 75 watt nodig heeft, zal bovendien niet werken in een gewoon slot, dat maximaal 25 watt levert.

Problemati­sch zijn daarbij de uitbreidin­gskaarten met meerdere onafhankel­ijke

PCIe-controller­s. Vaak werken die niet als een slot minder lanes biedt dan bij de fysieke connector hoort, bijvoorbee­ld als een x4slot maar een lane beschikbaa­r heeft.

Om dat soort situaties te vermijden, moet je vooraf de handleidin­g van het moederbord goed doornemen. Er kunnen ook bijzondere bugs optreden, bijvoorbee­ld omdat het BIOS het door de uitbreidin­gskaart verlangde aantal lanes niet goed toewijst. Bij een oudere Intel-chipset was er nog een specifiek probleem met x2-kaarten, die chipset kon alleen overweg met x1, x4, x8 en x16.

PCIE 4.0-KAART IN PCIE 3.0-SLOT

? Ik heb een moederbord met PCIe 3.0. Kan ik daarmee ook een grafische kaart gebruiken of een ssd met PCIe 4.0?

! Ja. Bijna alle PCIe-kaarten zijn neerwaarts compatibel, oftewel werken ook met een oudere PCIe-generatie. Omgekeerd werken PCIe 1.0-kaarten ook in PCIe 4.0-slots. De maximaal haalbare overdracht­ssnelheid wordt echter bepaald door het hostsystee­m: een processor met PCIe 3.0 kan niet werken op PCIe 4.0-snelheid. Een PCIe 4.0-x4-sdd haalt in een M.2-slot met PCIe 3.0 x4 dan ook niet zijn maximale snelheid.

Om PCIe optimaal te benutten, moet ook het RAM snel genoeg zijn, want het gaat daarbij ook om Direct Memory Access (DMA). PCIe 4.0 x16 haalt wel tot 30 GB/s, maar een geheugenka­naal met DDR4-3200 komt tot hooguit 25,6 GB/s (3,2 Gigatransf­ers met elk 8 bytes). Voor PCIe 4.0 x16 is dus dual-channel RAM zinvol: daarbij is het al genoeg om per kanaal een module van het type DDR4-2133 (17 GB/s) te plaatsen.

NVME EN PCIE

? Wat hebben de begrippen NVMe en PCIe met elkaar te maken?

! Het overdracht­sprotocol NonVolatil­e Memory Express (NVMe) gebruikt PCI Express (PCIe) als fysieke verbinding­slaag. De meeste PCIe-ssd’s gebruiken NVMe. Om een pc of laptop te kunnen opstarten van een NVMe-ssd, heeft het BIOS een ingebouwde NVMe-driver nodig. Dat is tegenwoord­ig meestal wel het geval. Ook de huidige versies van alle gangbare besturings­systemen bevatten NVMedriver­s.

THEORETISC­HE EN PRAKTISCHE SNELHEID

? Hoe verhoudt de praktisch haalbare snelheid zich tot de theoretisc­he?

! Tot en met generatie 2.0 gebruikte PCIe nog een 8-bit-10-bit-codering (8b/10b), vanaf PCIe 3.0 een efficiënte­re 128b/130b-codering. Daarmee gaan in 1000 PCIe 2.0-transfers 800 bits, terwijl er 984 bits in gaan voor PCIe 3.0. Daar gaat nog een deel vanaf voor het overdracht­sprotocol en afhankelij­k van de grootte van de verzonden pakketten haalt PCI Express ook niet het maximale dat qua overdracht mogelijk is.

De praktisch haalbare datatransf­ersnelheid is nog afhankelij­k van andere factoren, zoals bij een PCIe-ssd bijvoorbee­ld de snelheid van de controller en de gebruikte flashchips. Veel van de nieuwe PCIe 4.0-ssd’s benutten in de praktijk bijvoorbee­ld maar een fractie van de PCIe-overdracht­ssnelheid.

Een PCIe-lane heeft aparte lijnparen voor het versturen en ontvangen en kan data in beide richtingen tegelijk overdragen. Veel fabrikante­n noemen daarom de dubbele overdracht­ssnelheid per lane, bij PCIe 3.0 bijvoorbee­ld 16 GT/s in plaats van de 8 GT/s per richting. Maar in de praktijk is die waarde niet relevant voor het gebruik van de pc.

M.2 EN PCIE

? Wat is het verband tussen het ssdtype M.2 en PCI Express?

! De M.2-specificat­ie beschrijft een compact uitbreidin­gsslot met tot vier PCIe-lanes en compatibel­e modules met verschille­nde lengtes. Veel M.2-ssd’s zijn 8 centimeter lang (M.2 2280), maar er zijn er ook van 3, 4,2 en 11 centimeter (2230, 2242, 22110). Al naargelang het moederbord passen alleen bepaalde typen, omdat de bevestigin­gsschroeve­n op de bijbehoren­de posities moeten zitten. M.2-ssd’s met een PCIe-controller kunnen via adapterkaa­rten ook in PCIe-slots worden gebruikt.

Veel goedkope M.2-ssd’s gebruiken slechts 2 in plaats van 4 PCIe-lanes en zijn daardoor langzamer. Omgekeerd hebben sommige moederbord­en M.2-slots met een PCIe 2.0-aansluitin­g, waardoor ssd’s met PCIe 3.0 of 4.0 niet op volledige snelheid kunnen werken.

Nog een mogelijk probleem: er zijn ssd’s in M.2-formaat die geen PCIe-controller hebben, maar een SATA-controller. Die werken alleen in M.2-slots waarvoor het systeem kan schakelen tussen PCIe en SATA.

SATA EN PCIE

? Ik heb een moederbord met zes SATA-poorten en een M.2-slot. Als ik een ssd in het M.2-slot plaats, kan ik nog maar vier SATA-poorten gebruiken. Hoe komt dat?

! Moderne pc-chipsets kunnen een aantal high-speed lanes flexibel inzetten voor PCI Express, SATA of USB – maar niet tegelijker­tijd, het is het een of het ander. Intel noemt dat Flexible I/O. Die optie biedt moederbord­fabrikante­n aan de ene kant meer vrijheid in de lay-out van hun moederbord en lost tevens het probleem op dat er zowel M.2-sdd’s zijn met PCIeals met SATA-controller­s. Al naargelang de bezetting van het M.2-slot schakelt de chipset automatisc­h om, waardoor minder elektronis­che componente­n nodig zijn.

Het nadeel is echter dat de chipset maar een beperkt aantal high-speed lanes heeft, die door moederbord­fabrikante­n vaak zowel met SATA-poorten als met een M.2-slot worden verbonden. Die kunnen daarom niet gelijktijd­ig worden gebruikt. Om dat verwarrend­e probleem te vermijden, zijn sommige moederbord­en met slechts vier SATA-poorten uitgerust of hebben ze M.2slots waarin uitsluiten­d PCIe-(NVMe)-ssd’s kunnen, die dus niet kunnen overschake­len naar SATA.

 ??  ?? Dit moederbord heeft PCIe-slots met de afmetingen x16, x1 en x4. De grafische kaart gebruikt slechts 8 lanes (PCIe x8), maar hij moet toch in een PEG-slot dat de vereiste 75 watt kan leveren.
Dit moederbord heeft PCIe-slots met de afmetingen x16, x1 en x4. De grafische kaart gebruikt slechts 8 lanes (PCIe x8), maar hij moet toch in een PEG-slot dat de vereiste 75 watt kan leveren.
 ??  ??

Newspapers in Dutch

Newspapers from Netherlands