PCI Express - PCI Express

PCI Express
Perifer Component Interconnect Express
PCI Express -logotyp
PCI Express -logotyp
År skapat 2003 ; 18 år sedan ( 2003 )
Skapad av
Ersätter
Bredd i bitar 1 per fil (upp till 16 banor)
Antal enheter 1 på varje slutpunkt för varje anslutning.
Fart Dual simplex (i varje riktning) ; exempel i enfilig (× 1) och 16-filig (× 16):
Stil Serie
Hotplugging -gränssnitt Ja (med ExpressCard , OCuLink , CFexpress eller U.2 )
Externt gränssnitt Ja (med OCuLink eller PCI Express extern kabel )
Hemsida pcisig .com
Olika platser på ett datorns moderkort , uppifrån och ner:
  • PCI Express × 4
  • PCI Express × 16
  • PCI Express × 1
  • PCI Express × 16
  • Konventionell PCI (32-bitars, 5 V)

PCI Express ( Peripheral Component Interconnect Express ), officiellt förkortat PCIe eller PCIe är en höghastighetsseriedataexpansionsbussen standard som syftar till att ersätta den äldre PCI , PCI-X och AGP buss standarder. Det är det vanliga moderkortgränssnittet för persondatorer grafikkort , hårddiskens värdadaptrar , SSD-enheter , Wi-Fi och Ethernet- hårdvaruanslutningar. PCIe har många förbättringar jämfört med de äldre standarderna, inklusive högre maximal systembussgenomströmning, lägre I/O -stiftantal och mindre fysiskt fotavtryck, bättre prestanda skalning för bussenheter, en mer detaljerad felidentifiering och rapporteringsmekanism (Advanced Error Reporting, AER), och inbyggd hot-swap- funktion. Nyare versioner av PCIe -standarden ger hårdvarusupport för I/O -virtualisering .

Definierat av sitt antal körfält (antalet samtidiga sändnings- och mottagningsdatarader som på en motorväg som har trafik i båda riktningarna) används även PCI Express elektriska gränssnitt i en mängd andra standarder, framför allt det bärbara expansionskortet gränssnitt ExpressCard och datorlagringsgränssnitt SATA Express , U.2 (SFF-8639) och M.2 .

Formatspecifikationer underhålls och utvecklas av PCI-SIG (PCI Special Interest Group ), en grupp med mer än 900 företag som också upprätthåller de konventionella PCI- specifikationerna.

Arkitektur

Exempel på PCI Express -topologi:
vita "kopplingsdosor" representerar PCI Express -enhetens nedströms portar, medan de grå representerar uppströms portar.
PCI Express × 1 -kort som innehåller en PCI Express -switch (täckt av en liten kylfläns ), som skapar flera slutpunkter från en slutpunkt och låter flera enheter dela den
PCIe -kortplatserna på ett moderkort är ofta märkta med antalet PCIe -banor de har. Ibland kan det som kan verka som en stor plats bara ha några banor. Till exempel är en x16 -plats med endast 4 PCIe -banor ganska vanlig.

Konceptuellt är en hög hastighet PCI Express-bussen serie byte av äldre PCI / PCI-X-buss. En av de viktigaste skillnaderna mellan PCI Express -bussen och den äldre PCIen är busstopologin; PCI använder en delad parallell bussarkitektur, där PCI värden och alla enheter delar en gemensam uppsättning adress-, data- och styrledningar. Däremot är PCI Express baserat på punkt-till-punkt- topologi , med separata seriella länkar som ansluter varje enhet till rotkomplexet (värd). På grund av dess delade busstopologi är åtkomst till den äldre PCI -bussen arbitrerad (för flera masters) och begränsad till en master i taget, i en enda riktning. Dessutom begränsar det äldre PCI -klockningsschemat bussklockan till den långsammaste kringutrustningen på bussen (oavsett vilka enheter som är inblandade i busstransaktionen). Däremot stöder en PCI Express-busslänk full duplexkommunikation mellan två slutpunkter, utan inneboende begränsning av samtidig åtkomst över flera slutpunkter.

När det gäller bussprotokoll är PCI Express -kommunikation inkapslad i paket. Arbetet med att paketera och avpacka data och trafik med statusmeddelanden hanteras av transaktionsskiktet i PCI Express-porten (beskrivs senare). Radikala skillnader i elektrisk signalering och bussprotokoll kräver användning av en annan mekanisk formfaktor och expansionskontakter (och därmed nya moderkort och nya adapterkort); PCI -platser och PCI Express -platser kan inte bytas ut. På mjukvarunivå bevarar PCI Express bakåtkompatibilitet med PCI; äldre PCI -systemprogramvara kan upptäcka och konfigurera nyare PCI Express -enheter utan särskilt stöd för PCI Express -standarden, även om nya PCI Express -funktioner inte är tillgängliga.

PCI Express -länken mellan två enheter kan variera i storlek från en till 16 banor . I en flerfilig länk är paketdatan randig över banor och toppdataöverföringsskalor med den totala länkbredden. Filbaneantalet förhandlas automatiskt under initialisering av enheten och kan begränsas av endera slutpunkten. Till exempel kan ett enkelspårigt PCI Express (× 1) -kort sättas in i ett flerfältsspår (× 4, × 8, etc.), och initialiseringscykeln förhandlar automatiskt det högsta ömsesidigt stödda körfältet. Länken kan dynamiskt nedkonfigurera sig själv för att använda färre körfält, vilket ger en feltolerans om det finns dåliga eller opålitliga körfält. PCI Express -standarden definierar länkbredder på × 1, × 2, × 4, × 8 och × 16. Upp till och med PCIe 5.0, × 12 och × 32 länkar definierades också men användes aldrig. Detta gör att PCI Express-bussen kan betjäna både kostnadskänsliga applikationer där hög genomströmning inte behövs och prestationskritiska applikationer som 3D-grafik, nätverk ( 10 Gigabit Ethernet eller multiport Gigabit Ethernet ) och företagslagring ( SAS eller Fibre Channel ) . Spår och anslutningar är endast definierade för en delmängd av dessa bredder, med länkbredder emellan med nästa större fysiska platsstorlek.

Som referenspunkt har en PCI-X (133 MHz 64-bitars) enhet och en PCI Express 1.0-enhet som använder fyra banor (× 4) ungefär samma toppöverföringshastighet i en riktning på 1064 MB/s. PCI Express-bussen har potential att prestera bättre än PCI-X-bussen i fall där flera enheter överför data samtidigt, eller om kommunikationen med PCI Express-kringutrustningen är dubbelriktad .

Koppla samman

En PCI Express -länk mellan två enheter består av en eller flera körfält, som är dubbla simplexkanaler som använder två differentiella signalpar .

PCI Express -enheter kommunicerar via en logisk anslutning som kallas en sammankoppling eller länk . En länk är en punkt-till-punkt-kommunikationskanal mellan två PCI Express-portar så att de båda kan skicka och ta emot vanliga PCI-förfrågningar (konfiguration, I/O eller minne läs/skriv) och avbrott ( INTx , MSI eller MSI-X ) . På den fysiska nivån består en länk av en eller flera banor . Låghastighetsutrustning (t.ex. ett 802.11 Wi-Fi- kort ) använder en enkelspårig (× 1) länk, medan en grafikkort vanligtvis använder en mycket bredare och därför snabbare 16-spårig (× 16) länk.

Körfält

Ett körfält består av två differentiella signalpar , ett par för mottagning av data och det andra för överföring. Således består varje körfält av fyra ledningar eller signalspår . Konceptuellt används varje körfält som en full duplex byte-ström , som transporterar datapaket i åtta-bitars "byte" -format samtidigt i båda riktningarna mellan slutpunkterna för en länk. Fysiska PCI Express -länkar kan innehålla 1, 4, 8 eller 16 banor. Spårräkningar skrivs med ett "×" -prefix (till exempel "× 8" representerar ett kort eller åtta-fältskort), med × 16 som den största storleken vid vanligt bruk. Körfältstorlekar hänvisas också till med termerna "bredd" eller "av" t.ex. kan en åtta-spårig plats kallas en "med 8" eller "8 banor bred".

Se mekaniska kortstorlekar nedan .

Seriell buss

Den bundna seriella bussarkitekturen valdes framför den traditionella parallella bussen på grund av inneboende begränsningar av den senare, inklusive halv duplexdrift , överskott av signalantal och i sig lägre bandbredd på grund av tidsförskjutning . Timing skev resultat från separata elektriska signaler inom ett parallellt gränssnitt som går genom ledare av olika längd, på potentiellt olika kretskort (PCB) lager och med möjligen olika signalhastigheter . Trots att de överförs samtidigt som ett enda ord , har signaler på ett parallellt gränssnitt olika reselängd och anländer till sina destinationer vid olika tidpunkter. När gränssnittets klockperiod är kortare än den största tidsskillnaden mellan signalankomster är det inte längre möjligt att återställa det överförda ordet. Eftersom tidsförskjutning över en parallellbuss kan uppgå till några nanosekunder är den resulterande bandbreddsbegränsningen i intervallet hundratals megahertz.

Mycket förenklade topologier i det äldre PCI Shared (Parallel) -gränssnittet och PCIe Serial Point-to-Point-gränssnittet

Ett seriellt gränssnitt uppvisar inte tidsförskjutning eftersom det bara finns en differentialsignal i varje riktning inom varje körfält, och det finns ingen extern klocksignal eftersom klockinformationen är inbäddad i själva seriesignalen. Som sådan är typiska bandbreddsbegränsningar för seriella signaler inom multi-gigahertz-intervallet. PCI Express är ett exempel på den allmänna trenden mot att ersätta parallella bussar med seriella sammankopplingar; andra exempel inkluderar Serial ATA (SATA), USB , Serial Attached SCSI (SAS), FireWire (IEEE 1394) och RapidIO . I digital video är vanliga exempel DVI , HDMI och DisplayPort .

Flerkanalig seriedesign ökar flexibiliteten med sin förmåga att fördela färre körfält för långsammare enheter.

Formfaktorer

PCI Express (standard)

Intel P3608 NVMe flash SSD, PCI-E-tilläggskort

Ett PCI Express -kort passar in i en kortplats av sin fysiska storlek eller större (med × 16 som det största som används), men kanske inte passar in i en mindre PCI Express -kortplats; till exempel kanske ett × 16 -kort inte passar in i en × 4 eller × 8 -plats. Vissa platser använder öppna uttag för att tillåta fysiskt längre kort och förhandla fram den bästa tillgängliga elektriska och logiska anslutningen.

Antalet körfält som faktiskt är anslutna till en plats kan också vara färre än det antal som stöds av den fysiska kortstorleken. Ett exempel är en × 16 -plats som körs på × 4, som accepterar alla × 1, × 2, × 4, × 8 eller × 16 -kort, men bara ger fyra banor. Dess specifikation kan läsas som "× 16 (× 4 -läge)", medan "× mekanisk @ × elektrisk" notation ("× 16 @ × 4") också är vanlig. Fördelen är att sådana platser kan rymma ett större utbud av PCI Express -kort utan att det krävs moderkortshårdvara för att stödja hela överföringshastigheten. Standard mekaniska storlekar är × 1, × 4, × 8 och × 16. Kort med olika antal banor måste använda nästa större mekaniska storlek (dvs. ett × 2 -kort använder × 4 -storleken, eller ett × 12 -kort använder × 16 -storleken).

Själva korten är designade och tillverkade i olika storlekar. Till exempel använder SSD -enheter (SSD) som finns i form av PCI Express-kort ofta HHHL (halv höjd, halv längd) och FHHL (full höjd, halv längd) för att beskriva kortets fysiska dimensioner.

PCI -korttyp Mått höjd × längd, max
(mm) (i)
Full längd 111,15 × 312,00 4,376 × 12,283
Halv längd 111,15 × 167,65 4.376 × 06.600
Lågprofil/smal 068,90 × 167,65 2.731 × 06.600

Icke-standardiserade formfaktorer för grafikkort

Modern (sedan c.2012) gaming grafikkort brukar överstiga höjden liksom tjockleken specificeras i PCI Express-standarden, på grund av behovet av mer kapabla och tystare kylfläktar , som spel grafikkort ofta släpper ut hundratals watt värme. Moderna datorfodral är ofta bredare för att rymma dessa högre kort, men inte alltid. Eftersom kort i full längd (312 mm) är ovanliga kan moderna fall ibland inte passa dem. Tjockleken på dessa kort upptar vanligtvis också platsen för 2 PCIe -kortplatser. Faktum är att även metoden för hur man mäter korten varierar mellan leverantörerna, varav en del inkluderar metallfästets storlek i dimensioner och andra inte.

Till exempel mäter ett 2020 Sapphire -kort 135 mm i höjd (exklusive metallfästet), vilket överstiger PCIe -standardhöjden med 28 mm. Ytterligare ett kort från XFX är 55 mm tjockt (dvs 2,7 PCI -kortplatser på 20,32 mm) och tar upp 3 PCIe -kortplatser. Asus GeForce RTX 3080 10 GB STRIX GAMING OC -grafikkort är ett kort med två fack som har dimensioner på 318,5  mm × 140,1  mm × 57,8  mm, som överstiger PCI Express maximal längd, höjd och tjocklek.

Pinout

Följande tabell identifierar ledarna på varje sida av kantkontakten på ett PCI Express -kort. Lödsidan av kretskortet (PCB) är A -sidan och komponentsidan är B -sidan. PRSNT1# och PRSNT2# stiften måste vara något kortare än resten, för att säkerställa att ett kort med kortanslutning är helt isatt. WAKE# -pinnen använder full spänning för att väcka datorn, men måste dras högt från vänteläget för att indikera att kortet är väckningsdugligt.

PCI Express -kontakt pinout (× 1, × 4, × 8 och × 16 varianter)
Stift Sida B Sida A Beskrivning Stift Sida B Sida A Beskrivning
01 +12 V PRSNT1# Måste ansluta till längst PRSNT2# stift 50 HSOp (8) Reserverad Spår 8 överför data, + och -
02 +12 V +12 V Huvudströmbrytare 51 HSOn (8) Jord
03 +12 V +12 V 52 Jord HSIp (8) Bana 8 tar emot data, + och -
04 Jord Jord 53 Jord HSIn (8)
05 SMCLK TCK SMBus- och JTAG -portstift 54 HSOp (9) Jord Spår 9 överför data, + och -
06 SMDAT TDI 55 HSOn (9) Jord
07 Jord TDO 56 Jord HSIp (9) Spår 9 ta emot data, + och -
08 +3,3 V TMS 57 Jord HSIn (9)
09 TRST# +3,3 V 58 HSOp (10) Jord Spår 10 överför data, + och -
10 +3,3 V aux +3,3 V Standby -effekt 59 HSOn (10) Jord
11 VAKNA# PERST# Länkreaktivering; grundläggande återställning 60 Jord HSIp (10) Bana 10 ta emot data, + och -
Nyckelhack 61 Jord HSIn (10)
12 CLKREQ# Jord Klockförfrågan signal 62 HSOp (11) Jord Spår 11 överför data, + och -
13 Jord REFCLK+ Referensklocka differentialpar 63 HSOn (11) Jord
14 HSOp (0) REFCLK− Spår 0 överför data, + och - 64 Jord HSIp (11) Bana 11 tar emot data, + och -
15 HSOn (0) Jord 65 Jord HSIn (11)
16 Jord HSIp (0) Spår 0 ta emot data, + och - 66 HSOp (12) Jord Bana 12 överför data, + och -
17 PRSNT2# HSIn (0) 67 HSOn (12) Jord
18 Jord Jord 68 Jord HSIp (12) Bana 12 ta emot data, + och -
PCI Express × 1 -kort slutar med stift 18 69 Jord HSIn (12)
19 HSOp (1) Reserverad Spår 1 överför data, + och - 70 HSOp (13) Jord Bana 13 överför data, + och -
20 HSOn (1) Jord 71 HSOn (13) Jord
21 Jord HSIp (1) Bana 1 tar emot data, + och - 72 Jord HSIp (13) Bana 13 ta emot data, + och -
22 Jord HSIn (1) 73 Jord HSIn (13)
23 HSOp (2) Jord Spår 2 överför data, + och - 74 HSOp (14) Jord Bana 14 överför data, + och -
24 HSOn (2) Jord 75 HSOn (14) Jord
25 Jord HSIp (2) Bana 2 tar emot data, + och - 76 Jord HSIp (14) Bana 14 tar emot data, + och -
26 Jord HSIn (2) 77 Jord HSIn (14)
27 HSOp (3) Jord Spår 3 överför data, + och - 78 HSOp (15) Jord Bana 15 överför data, + och -
28 HSOn (3) Jord 79 HSOn (15) Jord
29 Jord HSIp (3) Spår 3 tar emot data, + och - 80 Jord HSIp (15) Bana 15 ta emot data, + och -
30 PWRBRK# HSIn (3) 81 PRSNT2# HSIn (15)
31 PRSNT2# Jord 82 Reserverad Jord
32 Jord Reserverad
PCI Express × 4 -kort slutar med stift 32
33 HSOp (4) Reserverad Spår 4 överför data, + och -
34 HSOn (4) Jord
35 Jord HSIp (4) Bana 4 tar emot data, + och -
36 Jord HSIn (4)
37 HSOp (5) Jord Spår 5 överför data, + och -
38 HSOn (5) Jord
39 Jord HSIp (5) Spår 5 tar emot data, + och -
40 Jord HSIn (5)
41 HSOp (6) Jord Spår 6 överför data, + och -
42 HSOn (6) Jord
43 Jord HSIp (6) Spår 6 tar emot data, + och - Legend
44 Jord HSIn (6) Jordnål Noll volt referens
45 HSOp (7) Jord Bana 7 överför data, + och - Strömnål Matar PCIe -kortet
46 HSOn (7) Jord Kort-till-värd-pin Signal från kortet till moderkortet
47 Jord HSIp (7) Bana 7 tar emot data, + och - Värd-till-kort-pin Signal från moderkortet till kortet
48 PRSNT2# HSIn (7) Öppna avlopp Kan dras lågt eller känna av flera kort
49 Jord Jord Sense pin Bundet ihop på kort
PCI Express × 8 -kort slutar med stift 49 Reserverad Används inte för närvarande, anslut inte

Kraft

8-stift (vänster) och 6-stift (höger) strömkontakter som används på PCI Express-kort

Alla PCI Express -kort kan ta upp till A kl+3,3  V (9,9  W ). Mängden +12 V och total effekt de kan förbrukas beror på typen av kort:

  • × 1 kort är begränsade till 0,5 A vid +12  V (6 W) och 10 W kombinerat.
  • × 4 och bredare kort är begränsade till 2,1 A vid +12  V (25 W) och 25 W kombinerat.
  • Ett kort i full storlek 1 kan dra upp till 25 W-gränserna efter initialisering och mjukvarukonfiguration som en "högeffektsenhet".
  • Ett grafikkort i full storlek × 16 kan dra upp till 5,5 A vid +12  V (66 W) och 75 W kombinerat efter initialisering och mjukvarukonfiguration som en "högeffektsenhet".

Valfria kontakter ger 75 W (6-stift) eller 150 W (8-stift) +12 V effekt för upp till 300 W totalt ( 2 × 75 W + 1 × 150 W ).

  • Sense0 -stiftet är anslutet till jord med kabeln eller strömförsörjningen, eller flyter ombord om kabeln inte är ansluten.
  • Sense1 -stiftet är anslutet till jord med kabeln eller strömförsörjningen, eller flyter ombord om kabeln inte är ansluten.

Vissa kort använder två 8-poliga kontakter, men detta har inte standardiserats än 2018, därför får sådana kort inte ha den officiella PCI Express-logotypen. Denna konfiguration tillåter totalt 375 W ( 1 × 75 W + 2 × 150 W ) och kommer sannolikt att standardiseras av PCI-SIG med PCI Express 4.0-standarden. Den 8-poliga PCI Express-kontakten kan förväxlas med EPS12V- kontakten, som främst används för att driva SMP- och flerkärniga system. Strömkontakterna är varianter av Molex Mini-Fit Jr.-seriens kontakter.

Molex Mini-Fit Jr. artikelnummer
Stift Kvinna/hona
på PS -kabel
Manlig/rätvinklig
rubrik på kretskort
6-stift 45559-0002 45558-0003
8-polig 45587-0004 45586-0005, 45586-0006
6-polig strömkontakt (75 W) 8-polig strömkontakt (150 W)
6 -polig strömkontakt stiftkarta
8 -polig strömkontakt stiftkarta
Stift Beskrivning Stift Beskrivning
1 +12 V 1 +12 V
2 Ej ansluten (vanligtvis +12 V också) 2 +12 V
3 +12 V 3 +12 V
4 Sense1 (8-polig ansluten)
4 Jord 5 Jord
5 Känsla 6 Sense0 (6-polig eller 8-polig ansluten)
6 Jord 7 Jord
8 Jord

PCI Express minikort

Ett WLAN PCI Express -minikort och dess kontakt
MiniPCI- och MiniPCI Express -kort i jämförelse

PCI Express Mini Card (även känt som Mini PCI Express , Mini PCIe , Mini PCI-E , mPCIe och PEM ), baserat på PCI Express, är en ersättning för Mini PCI- formfaktorn. Det är utvecklat av PCI-SIG . Värdenheten stöder både PCI Express och USB  2.0 -anslutning, och varje kort kan använda antingen standard. De flesta bärbara datorer som byggts efter 2005 använder PCI Express för expansionskort; Men från och med 2015 går många leverantörer mot att använda den nyare M.2 -formfaktorn för detta ändamål.

På grund av olika dimensioner är PCI Express-minikort inte fysiskt kompatibla med vanliga PCI Express-kortplatser i full storlek. Det finns dock passiva adaptrar som låter dem användas i fullstorlekar.

Fysiska dimensioner

Dimensionerna på PCI Express -minikort är 30 mm × 50,95 mm (bredd × längd) för ett komplett minikort. Det finns en 52-polig kantkontakt , bestående av två förskjutna rader på en 0,8 mm stigning. Varje rad har åtta kontakter, ett gap motsvarande fyra kontakter, sedan ytterligare 18 kontakter. Brädorna har en tjocklek på 1,0 mm, exklusive komponenterna. Ett "Half Mini Card" (ibland förkortat som HMC) specificeras också med ungefär hälften av den fysiska längden på 26,8 mm.

Elektriskt gränssnitt

PCI Express Mini Card -kantkontakter ger flera anslutningar och bussar:

  • PCI Express × 1 (med SMBus)
  • USB 2.0
  • Ledningar till diagnostik-lysdioder för trådlöst nätverk (dvs. Wi-Fi ) status på datorns chassi
  • SIM -kort för GSM- och WCDMA -applikationer (UIM -signaler på spec.)
  • Framtida förlängning för ytterligare en PCIe -fil
  • 1,5 V och 3,3 V effekt

Mini-SATA (mSATA) variant

En mSATA SSD.

Trots att de delar Mini PCI Express -formfaktorn är en mSATA -plats inte nödvändigtvis elektriskt kompatibel med Mini PCI Express. Av denna anledning är det bara vissa bärbara datorer som är kompatibla med mSATA -enheter. De flesta kompatibla system är baserade på Intels Sandy Bridge -processorarkitektur med Huron River -plattformen. Bärbara datorer som Lenovos ThinkPad T-, W- och X -serier, som släpptes i mars – april 2011, har stöd för ett mSATA SSD -kort i deras WWAN -kortplats . ThinkPad Edge E220s/E420s och Lenovo IdeaPad Y460/Y560/Y570/Y580 stöder också mSATA. Tvärtom kan bland annat L-serien endast stödja M.2-kort som använder PCIe-standarden i WWAN-kortplatsen.

Vissa bärbara datorer (särskilt Asus Eee PC , Apple MacBook Air och Dell mini9 och mini10) använder en variant av PCI Express Mini Card som SSD . Denna variant använder de reserverade och flera icke-reserverade stiften för att implementera SATA- och IDE-gränssnittspassage genom att bara hålla USB, jordlinjer och ibland kärnans PCIe × 1-buss intakt. Detta gör "miniPCIe" -blixten och SSD-enheter som säljs för netbooks i stort sett oförenliga med äkta PCI Express Mini-implementeringar.

Den typiska Asus miniPCIe SSD är också 71 mm lång, vilket gör att Dell 51 mm -modellen ofta (felaktigt) kallas halvlängd. En äkta 51 mm Mini PCIe SSD tillkännagavs 2009, med två staplade PCB -lager som möjliggör högre lagringskapacitet. Den tillkännagivna designen bevarar PCIe -gränssnittet, vilket gör det kompatibelt med standard mini PCIe -kortplatsen. Ingen fungerande produkt har ännu utvecklats.

Intel har många skrivbordskort med PCIe × 1 Mini-Card-kortplats som vanligtvis inte stöder mSATA SSD. En lista över skrivbordskort som inbyggt stöder mSATA i PCIe × 1 Mini-Card-kortplatsen (vanligtvis multiplexerad med en SATA-port) finns på Intels supportwebbplats.

PCI Express M.2

M.2 ersätter mSATA -standarden och Mini PCIe. Datorbussgränssnitt som tillhandahålls via M.2 -kontakten är PCI Express 3.0 (upp till fyra banor), Serial ATA 3.0 och USB 3.0 (en enda logisk port för var och en av de två senare). Det är upp till tillverkaren av M.2 -värden eller enheten att välja vilka gränssnitt som ska stödjas, beroende på önskad nivå av värdstöd och enhetstyp.

PCI Express Extern kablage

PCI Express External Cabling (även känd som External PCI Express , Cabled PCI Express eller ePCIe ) specifikationer släpptes av PCI-SIG i februari 2007.

Standardkablar och kontakter har definierats för × 1, × 4, × 8 och × 16 länkbredder, med en överföringshastighet på 250 MB/s per körfält. PCI-SIG förväntar sig också att normen utvecklas för att nå 500 MB/s, som i PCI Express 2.0. Ett exempel på användningen av kablad PCI Express är ett metallhölje som innehåller ett antal PCIe-kortplatser och PCIe-till-ePCIe-adapterkretsar. Den här enheten skulle inte vara möjlig om det inte varit för ePCIe -specifikationen.

PCI Express OCuLink

OCuLink (står för "optisk kopparlänk", eftersom Cu är den kemiska symbolen för koppar ) är en förlängning för "kabelversionen av PCI Express", som fungerar som en konkurrent till version 3 av Thunderbolt-gränssnittet. Version 1.0 av OCuLink, släppt i oktober 2015, stöder upp till PCIe 3.0 × 4 -banor (8 GT/s , 3,9 GB/s) över kopparkablar; en fiberoptisk version kan dyka upp i framtiden.

OCuLink, i den senaste versionen (OCuLink-2), har upp till 16 GB/s medan den maximala bandbredden för en fullhastighets Thunderbolt 4-kabel är 5 GB/s. Vissa leverantörer kan utforma sin kontaktprodukt för att kunna stödja nästa generations PCI Express 5.0 med 4 GB/s per körfält för framtida korrektur och minimera utvecklingskostnaderna under de närmaste åren. Initialt förväntade sig PCI-SIG att få OCuLink till bärbara datorer för anslutning av kraftfulla externa GPU-lådor. Det visade sig vara en sällsynt användning. Istället blev OCuLink populärt för PCIe -sammankopplingar i servrar.

Derivatformer

Många andra formfaktorer använder, eller kan använda, PCIe. Dessa inkluderar:

  • Låghöjdskort
  • ExpressCard : Efterföljare till PC Card- formfaktorn (med × 1 PCIe och USB 2.0; hot-pluggable)
  • PCI Express ExpressModule: En hot-pluggbar modulär formfaktor definierad för servrar och arbetsstationer
  • XQD-kort : En PCI Express-baserad flash-kortstandard av CompactFlash Association med × 2 PCIe
  • CFexpress- kort: Ett PCI Express-baserat flashkort av CompactFlash Association i tre formfaktorer som stöder 1 till 4 PCIe-banor
  • SD -kort: SD Express -bussen, som introducerades i version 7.0 av SD -specifikationen använder en × 1 PCIe -länk
  • XMC : Liknar formfaktorn CMC / PMC (VITA 42.3)
  • AdvancedTCA : Ett komplement till CompactPCI för större applikationer; stöder seriebaserade backplane -topologier
  • AMC : Ett komplement till AdvancedTCA -specifikationen; stöder processor- och I/O -moduler på ATCA -kort (× 1, × 2, × 4 eller × 8 PCIe).
  • FeaturePak : Ett litet expansionskortformat (43  mm × 65 mm) för inbäddade applikationer med liten formfaktor, som implementerar två × 1 PCIe-länkar på en högdensitetskontakt tillsammans med USB, I2C och upp till 100 punkter I /O
  • Universal IO : En variant från Super Micro Computer Inc utformad för användning i lågprofilerade rackmonterade chassier. Den har kontaktfästet vänd så att den inte får plats i ett vanligt PCI Express-uttag, men den är stiftkompatibel och kan sättas in om fästet tas bort.
  • M.2 (tidigare känd som NGFF)
  • M-PCIe ger PCIe 3.0 till mobila enheter (t.ex. surfplattor och smartphones), över det fysiska M-PHY- lagret.
  • U.2 (tidigare känd som SFF-8639)

PCIe -kortkontakten kan också bära andra protokoll än PCIe. Vissa 9xx-serie Intel-chipset stöder Serial Digital Video Out , en egenutvecklad teknik som använder en plats för att överföra videosignaler från värdprocessorns integrerade grafik istället för PCIe, med hjälp av ett tillägg som stöds.

PCIe-transaktionslagerprotokollet kan också användas över vissa andra sammankopplingar, som inte är elektriskt PCIe:

  • Thunderbolt : En royaltyfri sammankopplingsstandard från Intel som kombinerar DisplayPort- och PCIe-protokoll i en formfaktor som är kompatibel med Mini DisplayPort . Thunderbolt 3.0 kombinerar också USB 3.1 och använder USB-C- formfaktorn i motsats till Mini DisplayPort.
  • USB4

Historia och revisioner

Under den tidiga utvecklingen kallades PCIe initialt för HSI (för höghastighetsanslutning ) och genomgick ett namnbyte till 3GIO (för tredje generationens I/O ) innan det slutligen bestämde sig för sitt PCI-SIG- namn PCI Express . En teknisk arbetsgrupp vid namn Arapaho Work Group (AWG) utarbetade standarden. För inledande utkast bestod AWG endast av Intel -ingenjörer; därefter expanderade AWG till att omfatta branschpartner.

Sedan har PCIe genomgått flera stora och mindre revideringar, förbättrat prestanda och andra funktioner.

PCI Express -länkprestanda
Version intro-
sparperioder
Linjekod
överföringstakten
Genomströmning
× 1 × 2 × 4 × 8 × 16
1.0 2003 8b/10b 2,5 GT/s 0,250 GB/s 0,500 GB/s 1.000 GB/s 2.000 GB/s 4.000 GB/s
2.0 2007 8b/10b 5,0 GT/s 0,500 GB/s 1.000 GB/s 2.000 GB/s 4.000 GB/s 8.000 GB/s
3.0 2010 128b/130b 8,0 GT/s 0,985 GB/s 1,969 GB/s 3,938 GB/s 07.877 GB/s 15,754 GB/s
4.0 2017 128b/130b 16,0 GT/s 1,969 GB/s 3,938 GB/s 07.877 GB/s 15,754 GB/s 031.508 GB/s
5.0 2019 128b/130b 32,0 GT/s 3,938 GB/s 07.877 GB/s 15,754 GB/s 31.508 GB/s 63.015 GB/s
6.0 (planerat) 2021 PAM-4 + 256B FLIT + FEC 64,0 GT/s
32,0 G Bd
8.000 GB/s 16.000 GB/s 32.000 GB/s 64.000 GB/s 128.000 GB/s
Anteckningar

PCI Express 1.0a

År 2003 introducerade PCI-SIG PCIe 1.0a, med en datahastighet per fil på 250 MB/s och en överföringshastighet på 2,5 gigatransfers per sekund (GT/s).

Överföringshastigheten uttrycks i överföringar per sekund istället för bitar per sekund eftersom antalet överföringar inkluderar overheadbitarna, som inte ger ytterligare genomströmning; PCIe 1.x använder ett 8b/10b -kodningsschema , vilket resulterar i en 20% (= 2/10) overhead på råkanalens bandbredd. Så i PCIe -terminologin hänvisar överföringshastigheten till den kodade bithastigheten: 2,5 GT/s är 2,5 Gbps på den kodade seriella länken. Detta motsvarar 2,0 Gbps förkodad data eller 250 MB/s, som kallas genomströmning i PCIe.

PCI Express 1.1

År 2005 introducerade PCI-SIG PCIe 1.1. Denna uppdaterade specifikation innehåller förtydliganden och flera förbättringar, men är helt kompatibel med PCI Express 1.0a. Inga ändringar gjordes i datahastigheten.

PCI Express 2.0

Ett PCI Express 2.0 -expansionskort som ger USB 3.0 -anslutning.

PCI-SIG meddelade tillgängligheten för PCI Express Base 2.0-specifikationen den 15 januari 2007. PCIe 2.0-standarden fördubblar överföringshastigheten jämfört med PCIe 1.0 till 5  GT/s och genomströmningen per fil ökar från 250 MB/s till 500 MB /s. Följaktligen kan en 16-filig PCIe-kontakt (× 16) stödja en sammanlagd genomströmning på upp till 8 GB/s.

PCIe 2.0 -moderkortplatser är helt bakåtkompatibla med PCIe v1.x -kort. PCIe 2.0 -kort är också i allmänhet bakåtkompatibla med PCIe 1.x -moderkort, med hjälp av den tillgängliga bandbredden för PCI Express 1.1. Sammantaget grafikkort eller moderkort utformade för v2.0 -arbete, med det andra v1.1 eller v1.0a.

PCI-SIG sa också att PCIe 2.0 har förbättringar av dataöverföringsprotokollet från punkt till punkt och dess programvaruarkitektur.

Intels första PCIe 2.0 -kompatibla chipset var X38 och styrelserna började skickas från olika leverantörer ( Abit , Asus , Gigabyte ) från och med den 21 oktober 2007. AMD började stödja PCIe 2.0 med sin AMD 700 -chipset -serie och nVidia började med MCP72 . Alla Intels tidigare chipset, inklusive Intel P35 -chipset, stöder PCIe 1.1 eller 1.0a.

Precis som 1.x använder PCIe 2.0 ett 8b/10b-kodningsschema , vilket ger en effektiv 4 Gbit/s max per fil. överföringshastighet från dess 5 GT/s rådata.

PCI Express 2.1

PCI Express 2.1 (med specifikationen daterad 4 mars 2009) stöder en stor del av de hanterings-, support- och felsökningssystem som planeras för fullständig implementering i PCI Express 3.0. Hastigheten är dock densamma som PCI Express 2.0. Ökningen av strömmen från platsen bryter bakåtkompatibilitet mellan PCI Express 2.1 -kort och vissa äldre moderkort med 1.0/1.0a, men de flesta moderkort med PCI Express 1.1 -kontakter har en BIOS -uppdatering av sina tillverkare via verktyg för att stödja bakåtkompatibilitet av kort med PCIe 2.1.

PCI Express 3.0

PCI Express 3.0 Basspecifikationsrevision 3.0 gjordes tillgänglig i november 2010, efter flera förseningar. I augusti 2007 meddelade PCI-SIG att PCI Express 3.0 skulle bära en bithastighet på 8 gigatransfers per sekund (GT/s) och att det skulle vara bakåtkompatibelt med befintliga PCI Express-implementeringar. Vid den tiden tillkännagavs också att den slutliga specifikationen för PCI Express 3.0 skulle försenas till andra kvartalet 2010. Nya funktioner för PCI Express 3.0 -specifikationen inkluderar ett antal optimeringar för förbättrad signalering och dataintegritet, inklusive sändar- och mottagarutjämning, PLL förbättringar, klockdataåterställning och kanalförbättringar för topologier som för närvarande stöds.

Efter en sex månaders teknisk analys av möjligheten att skala PCI Express-sammankopplingsbandbredd fann PCI-SIGs analys att 8 gigatransfers per sekund kan tillverkas i vanlig kiselprocesssteknik och kan distribueras med befintliga billiga material och infrastruktur, med full kompatibilitet (med försumbar påverkan) till PCI Express -protokollstacken.

PCI Express 3.0 uppgraderar kodningssystemet till 128b/130b från den tidigare 8b/10b -kodningen , vilket minskar bandbreddskostnaden från 20% av PCI Express 2.0 till cirka 1,54% (= 2/130). PCI Express 3.0: s 8 GT/s bithastighet ger effektivt 985 MB/s per fil, vilket nästan fördubblar bandbredden i förhållande till PCI Express 2.0.

Den 18 november 2010 publicerade PCI Special Interest Group officiellt den slutgiltiga PCI Express 3.0 -specifikationen för sina medlemmar för att bygga enheter baserade på denna nya version av PCI Express.

PCI Express 3.1

I september 2013 tillkännagavs PCI Express 3.1 -specifikationen för lansering i slutet av 2013 eller början av 2014, vilket konsoliderar olika förbättringar av den publicerade PCI Express 3.0 -specifikationen inom tre områden: energihantering, prestanda och funktionalitet. Den släpptes i november 2014.

PCI Express 4.0

Den 29 november 2011 tillkännagav PCI-SIG preliminärt PCI Express 4.0, vilket ger en 16 GT/s bithastighet som fördubblar bandbredden från PCI Express 3.0, samtidigt som den bibehåller bakåt- och framåtkompatibilitet i både programvarustöd och använt mekaniskt gränssnitt. PCI Express 4.0-specifikationer ger också OCuLink-2, ett alternativ till Thunderbolt . OCuLink version 2 har upp till 16 GT/s (totalt 8  GB/s för × 4 banor), medan den maximala bandbredden för en Thunderbolt 3 -länk är 5  GB/s.

I augusti 2016 presenterade Synopsys en testmaskin med PCIe 4.0 på Intel Developer Forum . Deras IP har licensierats till flera företag som planerar att presentera sina chips och produkter i slutet av 2016.

PCI-SIG tillkännagav officiellt lanseringen av den sista PCI Express 4.0-specifikationen den 8 juni 2017. Specifikationen inkluderar förbättringar i flexibilitet, skalbarhet och lägre effekt.

Mellanox Technologies tillkännagav den första 100  Gbit/s nätverksadaptern med PCIe 4.0 den 15 juni 2016 och den första 200  Gbit/s nätverksadaptern med PCIe 4.0 den 10 november 2016.

IBM tillkännagav den första CPU: n med PCIe 4.0 -stöd , POWER9 , den 5 december 2017 som en del av AC922 -systemmeddelandet.

NETINT Technologies introducerade den första NVMe SSD baserad på PCIe 4.0 den 17 juli 2018, inför Flash Memory Summit 2018

AMD tillkännagav den 9 januari 2019 att deras kommande Zen 2 -baserade processorer och X570 -chipset skulle stödja PCIe 4.0. AMD hade hoppats att möjliggöra delvis stöd för äldre chipset, men instabilitet orsakad av moderkortspår som inte överensstämde med PCIe 4.0 -specifikationer gjorde det omöjligt.

Intel släppte sina första mobila processorer med PCI express 4.0-stöd i mitten av 2020, som en del av Tiger Lake mikroarkitektur.

PCI Express 5.0

I juni 2017 meddelade PCI-SIG den preliminära specifikationen för PCI Express 5.0. Bandbredden förväntades öka till 32  GT/s, vilket ger 63  GB/s i varje riktning i en 16-filig konfiguration. Utkastspecifikationen förväntades standardiseras under 2019. Initialt övervägdes 25,0 GT/s också för teknisk genomförbarhet.

Den 7 juni 2017 på PCI-SIG DevCon spelade Synopsys in den första demonstrationen av PCI Express 5.0 vid 32GT/s.

Den 31 maj 2018 meddelade PLDA att deras XpressRICH5 PCIe 5.0 Controller IP finns tillgängligt baserat på utkast 0.7 av PCIe 5.0 -specifikationen samma dag.

Den 10 december 2018 släppte PCI SIG version 0.9 av PCIe 5.0 -specifikationen till sina medlemmar, och den 17 januari 2019 meddelade PCI SIG att version 0.9 hade ratificerats, med version 1.0 som är avsedd att släppas under första kvartalet 2019.

Den 29 maj 2019 meddelade PCI-SIG officiellt att den sista PCI-Express 5.0-specifikationen släpptes.

Den 20 november 2019 presenterade Jiangsu Huacun den första PCIe 5.0 Controller HC9001 i en 12 nm tillverkningsprocess. Produktionen startade 2020.


PCI Express 6.0

Den 18 juni 2019 tillkännagav PCI-SIG utvecklingen av PCI Express 6.0-specifikationen. Bandbredd förväntas öka till 64  GT / s, vilket gav 126  GB / s i varje riktning i ett 16-lane konfiguration, med en mål-release datum av 2021. Den nya standarden användningsområden 4-nivå pulstågsmodulering (PAM-4) med en låg latens framåt felkorrigering (FEC) i stället för non-return-to-zero (NRZ) modulering. Till skillnad från tidigare PCI Express-versioner används felkorrigering framåt för att öka dataintegriteten och PAM-4 används som linjekod så att två bitar överförs per överföring. Med 64  GT/s dataöverföringshastighet (råbithastighet) är upp till 252  GB/s möjlig i × 16 -konfiguration.

Den 24 februari 2020 släpptes specifikationen PCI Express 6.0 revision 0.5 (ett "första utkast" med alla arkitektoniska aspekter och krav definierade).

Den 5 november 2020 släpptes specifikationen PCI Express 6.0 revision 0.7 (ett "komplett utkast" med elektriska specifikationer validerade via testchips).

Den 6 oktober 2021 släpptes specifikationen för PCI Express 6.0 revision 0.9 (ett "slutligt utkast").

Tillägg och framtida riktningar

Vissa leverantörer erbjuder PCIe över fiberprodukter, men de används i allmänhet endast i specifika fall där transparent PCIe -överbryggning är att föredra framför att använda en mer vanlig standard (t.ex. InfiniBand eller Ethernet ) som kan kräva ytterligare programvara för att stödja den. nuvarande implementeringar fokuserar på avstånd snarare än rå bandbredd och implementerar vanligtvis inte en full × 16 länk.

Thunderbolt utvecklades av Intel och Apple som ett höghastighetsgränssnitt för allmänna ändamål som kombinerar en logisk PCIe-länk med DisplayPort och var ursprungligen avsedd som ett fiberfibergränssnitt, men på grund av tidiga svårigheter att skapa en konsumentvänlig fiberanslutning, nästan alla implementeringar är kopparsystem. Ett anmärkningsvärt undantag, Sony VAIO Z VPC-Z2, använder en icke-standardiserad USB-port med en optisk komponent för att ansluta till en utombordare PCIe-skärmadapter. Apple har varit den främsta drivkraften för Thunderbolt -antagandet genom 2011, även om flera andra leverantörer har tillkännagivit nya produkter och system med Thunderbolt. Thunderbolt 3 utgör grunden för USB4 -standarden.

Mobil PCIe specifikation (förkortat M-PCIe ) tillåter PCI Express-arkitektur för att fungera över MIPI Alliance 's M-PHY fysiska lagret teknik. Med utgångspunkt i redan existerande utbredd användning av M-PHY och dess lågeffektdesign låter Mobile PCIe mobila enheter använda PCI Express.

Utkast till process

Det finns 5 primära utgåvor/kontrollpunkter i en PCI-SIG-specifikation:

  • Utkast 0.3 (koncept): den här versionen kan ha få detaljer, men beskriver det allmänna tillvägagångssättet och målen.
  • Utkast 0.5 (första utkastet): den här versionen har en komplett uppsättning arkitektoniska krav och måste uppfylla målen i 0.3 -utkastet fullt ut.
  • Utkast 0.7 (komplett utkast): den här versionen måste ha en komplett uppsättning funktionella krav och metoder definierade och ingen ny funktionalitet får läggas till specifikationen efter den här versionen. Innan detta utkast släpptes måste elektriska specifikationer ha validerats via testkisel.
  • Utkast 0.9 (slutligt utkast): denna version tillåter PCI-SIG-medlemsföretag att göra en intern granskning av immateriella rättigheter, och inga funktionella ändringar är tillåtna efter detta utkast.
  • 1.0 (Final release): detta är den slutliga och definitiva specifikationen, och alla ändringar eller förbättringar sker genom Errata -dokumentation respektive Engineering Change Notices (ECN).

Historiskt sett börjar de tidigaste användarna av en ny PCIe -specifikation i allmänhet att designa med Draft 0.5 eftersom de med säkerhet kan bygga upp sin applikationslogik kring den nya bandbreddsdefinitionen och ofta till och med börja utveckla för nya protokollfunktioner. I utkastet 0,5 -steget finns det dock fortfarande en stor sannolikhet för förändringar i själva implementeringen av PCIe -protokollskiktet, så designers som ansvarar för att utveckla dessa block internt kan vara mer tveksamma till att börja arbeta än de som använder gränssnitt IP från externa källor.

Sammanfattning av maskinvaruprotokoll

PCIe-länken är byggd kring dedikerade enriktade par av seriella (1-bitars), punkt-till-punkt-anslutningar som kallas körfält . Detta står i skarp kontrast till den tidigare PCI-anslutningen, som är ett bussbaserat system där alla enheter delar samma dubbelriktade, 32-bitars eller 64-bitars parallellbuss.

PCI Express är ett skiktat protokoll som består av ett transaktionsskikt , ett datalänkskikt och ett fysiskt lager . Datalänkslagret är uppdelad att inkludera en media access control (MAC) underlager. Det fysiska skiktet är indelat i logiska och elektriska underlag. Det fysiska logiska underlagret innehåller ett fysiskt kodande underlag (PCS). Villkoren lånas från IEEE 802 nätverksprotokollmodell.

Fysiskt lager

Anslutningsstift och längder
Banor Stift Längd
Total Variabel Total Variabel
0× 1 2 × 18 = 036 2 × 07 = 014 25 mm 07,65 mm
0× 4 2 × 32 = 064 2 × 21 = 042 39 mm 21,65 mm
0× 8 2 × 49 = 098 2 × 38 = 076 56 mm 38,65 mm
× 16 2 × 82 = 164 2 × 71 = 142 89 mm 71,65 mm
En öppen PCI Express × 1-kontakt gör att längre kort som använder fler banor kan anslutas när de arbetar med × 1-hastigheter

Specifikationen PCIe Physical Layer ( PHY , PCIEPHY , PCI Express PHY eller PCIe PHY ) är uppdelad i två underlager, motsvarande elektriska och logiska specifikationer. Det logiska underlagret är ibland ytterligare uppdelat i ett MAC -underlager och ett PCS, även om denna uppdelning inte formellt är en del av PCIe -specifikationen. En specifikation publicerad av Intel, PHY-gränssnittet för PCI Express (PIPE), definierar funktionell partitionering av MAC/PCS och gränssnittet mellan dessa två underlager. PIPE -specifikationen identifierar också det fysiska mediefästet (PMA) -skiktet, vilket inkluderar serialiseraren/deserialiseraren (SerDes) och andra analoga kretsar; eftersom SerDes -implementeringar varierar kraftigt mellan ASIC -leverantörer anger PIPE inte ett gränssnitt mellan PCS och PMA.

På den elektriska nivån består varje körfält av två enriktade differentialpar som arbetar med 2,5, 5, 8 eller 16  Gbit /s, beroende på den förhandlade förmågan. Sändning och mottagning är separata differentialpar för totalt fyra datakablar per körfält.

En anslutning mellan två PCIe -enheter kallas en länk och byggs upp från en samling av en eller flera körfält . Alla enheter måste minimalt stödja enfilig (× 1) länk. Enheter kan eventuellt stödja bredare länkar som består av 2, 4, 8 eller 16 banor. Detta möjliggör mycket bra kompatibilitet på två sätt:

  • Ett PCIe -kort passar fysiskt (och fungerar korrekt) i alla platser som är minst lika stora som det är (t.ex. ett × 1 -kort fungerar i valfri storlek);
  • En kortplats med stor fysisk storlek (t.ex. × 16) kan kopplas elektriskt med färre körfält (t.ex. × 1, × 4, × 8 eller × 12) så länge den tillhandahåller de jordanslutningar som krävs av den större fysiska platsen storlek.

I båda fallen förhandlar PCIe om det högsta ömsesidigt stödda antalet körfält. Många grafikkort, moderkort och BIOS -versioner har verifierats för att stödja × 1, × 4, × 8 och × 16 anslutningar på samma anslutning.

Bredden på en PCIe -kontakt är 8,8 mm, medan höjden är 11,25 mm och längden är variabel. Den fasta delen av kontakten är 11,65 mm lång och innehåller två rader med 11 stift vardera (totalt 22 stift), medan längden på den andra sektionen är variabel beroende på antalet körfält. Stiften är åtskilda med 1 mm mellanrum och tjockleken på kortet som går in i kontakten är 1,6 mm.

Dataöverföring

PCIe skickar alla kontrollmeddelanden, inklusive avbrott, över samma länkar som används för data. Det seriella protokollet kan aldrig blockeras, så latens är fortfarande jämförbar med konventionell PCI, som har dedikerade avbrottslinjer. När man tar hänsyn till problemet med IRQ -delning av stiftbaserade avbrott och det faktum att meddelandesignaliserade avbrott (MSI) kan kringgå en I/O APIC och levereras direkt till CPU: n blir MSI -prestandan väsentligt bättre.

Data som överförs på flerfiliga länkar sammanflätas, vilket innebär att varje på varandra följande byte skickas ner på varandra följande körfält. PCIe -specifikationen hänvisar till denna sammanflätning som datastripning . Även om det kräver betydande hårdvarukomplexitet för att synkronisera (eller förvränga ) inkommande randiga data, kan stripning avsevärt minska latensen för n: e byte på en länk. Även om banorna inte är tätt synkroniserade finns det en gräns för körfältets skevhet på 20/8/6 ns för 2,5/5/8 GT/s så att hårdvarubuffertarna kan justera de randiga data igen. På grund av vadderingskrav kan stripning inte nödvändigtvis minska latensen för små datapaket på en länk.

Som med andra seriella överföringsprotokoll med hög datahastighet är klockan inbäddad i signalen. På fysisk nivå använder PCI Express 2.0 kodningsschemat 8b/10b (linjekod) för att säkerställa att strängar med på varandra följande identiska siffror (nollor eller enor) är begränsade i längd. Denna kodning användes för att förhindra att mottagaren tappar koll på var bitkanterna är. I detta kodningsschema ersätts var åtta (okodade) nyttolastdatabitar med 10 (kodade) bitar av överföringsdata, vilket orsakar en 20% overhead i den elektriska bandbredden. För att förbättra den tillgängliga bandbredden använder PCI Express version 3.0 istället 128b/130b -kodning (0,0154% overhead). Linjekodning begränsar körlängden för identiskt siffriga strängar i dataströmmar och säkerställer att mottagaren förblir synkroniserad med sändaren via klockåterställning .

En önskvärd balans (och därför spektral densitet ) av 0 och 1 bitar i dataströmmen uppnås genom XORing av ett känt binärt polynom som en " scrambler " till dataströmmen i en återkopplingstopologi. Eftersom krypteringspolynomet är känt kan data återställas genom att använda XOR en andra gång. Både steg och avkodning steg utförs i hårdvara.

Datalänkskikt

Datalänkskiktet utför tre viktiga tjänster för PCIe expresslänken:

  1. sekvensera transaktionslagerpaketen (TLP) som genereras av transaktionsskiktet,
  2. säkerställa tillförlitlig leverans av TLP mellan två slutpunkter via ett bekräftelseprotokoll ( ACK- och NAK -signalering) som uttryckligen kräver omspelning av okända/dåliga TLP: er,
  3. initiera och hantera flödeskontrollkrediter

På överföringssidan genererar datalänkskiktet ett stegvis sekvensnummer för varje utgående TLP. Den fungerar som en unik identifieringstagg för varje överförd TLP och sätts in i rubriken för den utgående TLP: n. En 32-bitars cyklisk redundanskontrollkod (känd i detta sammanhang som Link CRC eller LCRC) bifogas också till slutet av varje utgående TLP.

På mottagningssidan valideras båda TLP: s LCRC och sekvensnummer i länklagret. Om antingen LCRC-kontrollen misslyckas (indikerar ett datafel), eller om sekvensnumret är utanför intervallet (icke-på varandra följande från den senast giltiga mottagna TLP), då den dåliga TLP, liksom alla TLP: er som tas emot efter den dåliga TLP, anses ogiltiga och kasseras. Mottagaren skickar ett negativt bekräftelsemeddelande (NAK) med sekvensnumret för det ogiltiga TLP och begär att alla TLP: er ska sändas framåt för det sekvensnumret. Om den mottagna TLP klarar LCRC -kontrollen och har rätt sekvensnummer behandlas den som giltig. Länkmottagaren ökar sekvensnumret (som spårar det sist mottagna goda TLP) och vidarebefordrar det giltiga TLP till mottagarens transaktionsskikt. Ett ACK-meddelande skickas till fjärrsändaren, vilket indikerar att TLP: n har tagits emot (och i förlängningen alla TLP: er med tidigare sekvensnummer.)

Om sändaren får ett NAK -meddelande, eller om det inte tas emot någon bekräftelse (NAK eller ACK) förrän en tidsgräns löper ut, måste sändaren sända alla TLP: er som saknar positiv bekräftelse (ACK). Med undantag för ett bestående fel på enheten eller överföringsmediet presenterar länkskiktet en tillförlitlig anslutning till transaktionsskiktet, eftersom överföringsprotokollet säkerställer leverans av TLP över ett opålitligt medium.

Förutom att skicka och ta emot TLP som genereras av transaktionsskiktet, genererar och förbrukar datalänkskiktet också datalänklager (DLLP). ACK- och NAK -signaler kommuniceras via DLLP, liksom några energihanteringsmeddelanden och flödeskontrollkreditinformation (på uppdrag av transaktionsskiktet).

I praktiken är antalet in-flight, okända TLP: er på länken begränsad av två faktorer: storleken på sändarens uppspelningsbuffert (som måste lagra en kopia av alla överförda TLP tills fjärrmottagaren ACKar dem) och flödeskontrollen krediter utfärdade av mottagaren till en sändare. PCI Express kräver att alla mottagare utfärdar ett minsta antal krediter, för att garantera att en länk gör det möjligt att skicka PCIConfig TLP och meddelande TLP.

Transaktionsskikt

PCI Express implementerar delade transaktioner (transaktioner med förfrågan och svar separerade med tid), vilket gör att länken kan transportera annan trafik medan målenheten samlar in data för svaret.

PCI Express använder kreditbaserad flödeskontroll. I detta schema annonserar en enhet ett initialt kreditbelopp för varje mottagen buffert i sitt transaktionsskikt. Enheten i motsatt ände av länken, när transaktioner skickas till den här enheten, räknar antalet krediter varje TLP förbrukar från sitt konto. Den sändande enheten får bara sända en TLP när detta inte gör att dess förbrukade kreditantal överskrider kreditgränsen. När den mottagande enheten har bearbetat TLP från dess buffert signalerar den en återlämning av krediter till den sändande enheten, vilket ökar kreditgränsen med det återställda beloppet. Krediträknarna är modulära räknare, och jämförelsen av förbrukade krediter med kreditgräns kräver modulär aritmetik . Fördelen med detta system (jämfört med andra metoder som väntetillstånd eller handskakningsbaserade överföringsprotokoll) är att latens för kreditavkastning inte påverkar prestanda, förutsatt att kreditgränsen inte uppstår. Detta antagande uppfylls i allmänhet om varje enhet är utformad med tillräckliga buffertstorlekar.

PCIe 1.x citeras ofta för att stödja en datahastighet på 250 MB/s i varje riktning, per körfält. Denna siffra är en beräkning från den fysiska signalhastigheten (2,5  gigabaud ) dividerat med kodningskostnaden (10 bitar per byte). Detta innebär att ett sextonfelars (× 16) PCIe -kort då teoretiskt skulle kunna 16 × 250 MB/s = 4 GB/s i varje riktning. Även om detta är korrekt när det gäller databyte, baseras mer meningsfulla beräkningar på den användbara nyttolasthastigheten, som beror på trafikprofilen, som är en funktion av applikationsnivån på hög nivå (mjukvara) och mellanliggande protokoll.

Precis som andra seriella sammankopplingssystem med hög datahastighet har PCIe ett protokoll och bearbetningsomkostnader på grund av den extra överförings robustheten (CRC och bekräftelser). Långa kontinuerliga enkelriktade överföringar (som de som är typiska för högpresterande lagringskontroller) kan närma sig> 95% av PCIe: s råa (fil) datahastighet. Dessa överföringar drar också mest nytta av ökat antal körfält (× 2, × 4, etc.) Men i mer typiska applikationer (t.ex. en USB- eller Ethernet -styrenhet) karakteriseras trafikprofilen som korta datapaket med täta bekräftelser. Denna typ av trafik minskar länkens effektivitet på grund av omkostnader från paketanalys och tvångsavbrott (antingen i enhetens värdgränssnitt eller datorns CPU). Eftersom det är ett protokoll för enheter som är anslutna till samma kretskort , kräver det inte samma tolerans för överföringsfel som ett protokoll för kommunikation över längre avstånd, och därför är denna förlust av effektivitet inte speciell för PCIe.

Länkens effektivitet

När det gäller alla "nätverksliknande" kommunikationslänkar förbrukas en del av den "råa" bandbredden av protokollkostnader:

En PCIe 1.x -fil erbjuder till exempel en datahastighet ovanpå det fysiska lagret på 250 MB/s (simplex). Detta är inte nyttolastbandbredden utan den fysiska lagerbandbredden - en PCIe -fil måste ha ytterligare information för full funktionalitet.

Gen 2 Transaktionslagerpaket
Lager PHY Datalänkskikt Transaktion Datalänkskikt PHY
Data Start Sekvens Rubrik Nyttolast ECRC LCRC Slutet
Storlek (bytes) 1 2 12 eller 16 0 till 4096 4 (valfritt) 4 1

Gen2 -omkostnaderna är då 20, 24 eller 28 byte per transaktion.

Gen 3 Transaktionslagerpaket
Lager G3 PHY Datalänkskikt Transaktionsskikt Datalänkskikt
Data Start Sekvens Rubrik Nyttolast ECRC LCRC
Storlek (bytes) 4 2 12 eller 16 0 till 4096 4 (valfritt) 4

Gen3 -omkostnaderna är då 22, 26 eller 30 byte per transaktion.

Den för en 128 byte nyttolast är 86%, och 98% för en 1024 byte nyttolast. För små åtkomster som registerinställningar (4 byte) sjunker effektiviteten så lågt som 16%.

Den maximala nyttolaststorleken (MPS) är inställd på alla enheter baserat på minsta max på alla enheter i kedjan. Om en enhet har en MPS på 128 byte måste alla enheter i trädet ställa in sin MPS till 128 byte. I detta fall kommer bussen att ha en maximal effektivitet på 86% för skrivningar.

Ansökningar

Asus Nvidia GeForce GTX 650 Ti, ett PCI Express 3.0 × 16 grafikkort
Den NVIDIA GeForce GTX 1070, en PCI Express 3.0 × 16 grafikkort.
Intel 82574L Gigabit Ethernet NIC , ett PCI Express × 1 -kort
En Marvell -baserad SATA 3.0 -styrenhet, som ett PCI Express × 1 -kort

PCI Express fungerar i konsument-, server- och industriapplikationer, som en sammankoppling på moderkortsnivå (för att länka moderkortmonterade kringutrustning), en passiv sammankoppling i bakplanet och som ett expansionskortgränssnitt för tilläggskort.

I praktiskt taget alla moderna (från och med 2012) datorer, från bärbara datorer och stationära datorer till företagsdataservrar, fungerar PCIe-bussen som den primära sammankopplingen på moderkortsnivån, som ansluter värdsystemprocessorn med både integrerade kringutrustning (ytmonterade IC: er) och tilläggsutrustning (expansionskort). I de flesta av dessa system finns PCIe-bussen tillsammans med en eller flera äldre PCI-bussar, för bakåtkompatibilitet med den stora delen av äldre PCI-kringutrustning.

Från och med 2013 har PCI Express ersatt AGP som standardgränssnitt för grafikkort på nya system. Nästan alla modeller av grafikkort som har släppts sedan 2010 av AMD (ATI) och Nvidia använder PCI Express. Nvidia använder dataöverföringen med hög bandbredd för PCIe för sin Scalable Link Interface (SLI) -teknologi, vilket gör att flera grafikkort med samma chipset och modellnummer kan köras i takt, vilket möjliggör ökad prestanda. AMD har också utvecklat ett multi-GPU-system baserat på PCIe som heter CrossFire . AMD, Nvidia och Intel har släppt chipset för moderkort som stöder upp till fyra PCIe × 16-kortplatser, vilket möjliggör tri-GPU- och quad-GPU-kortkonfigurationer.

Externa GPU: er

Teoretiskt sett kan extern PCIe ge en bärbar dator grafikkraften för ett skrivbord genom att ansluta en bärbar dator till vilket PCIe -grafikkort som helst (medföljer sitt eget externa hölje, med strömförsörjning och kylning); detta är möjligt med ett ExpressCard- eller Thunderbolt -gränssnitt. Ett ExpressCard -gränssnitt ger bithastigheter på 5 Gbit/s (0,5 GB/s genomströmning), medan ett Thunderbolt -gränssnitt ger bithastigheter på upp till 40 Gbit/s (5 GB/s genomströmning).

Under 2006 Nvidia utvecklade Quadro Plex externa PCIe familj GPU som kan användas för avancerade grafiska applikationer för den professionella marknaden. Dessa grafikkort kräver en PCI Express x8 eller x16-kortplats för kortet på värdsidan , som ansluts till Plex via en VHDCI som bär åtta PCIe-banor.

År 2008 tillkännagav AMD ATI XGP -tekniken, baserad på ett eget kabelsystem som är kompatibelt med PCIe × 8 -signalöverföringar. Denna kontakt är tillgänglig på Fujitsu Amilo och Acer Ferrari One bärbara datorer. Fujitsu lanserade snart AMILO GraphicBooster -höljet för XGP. Omkring 2010 lanserade Acer Dynavivid -grafikdockan för XGP.

Under 2010 introducerades externa kortnav som kan anslutas till en bärbar eller stationär dator via en PCI ExpressCard -kortplats. Dessa nav kan ta emot grafikkort i full storlek. Exempel inkluderar MSI GUS, Village Instruments ViDock, Asus XG Station , Bplus PE4H V3.2 -adapter, samt mer improviserade DIY -enheter. Sådana lösningar begränsas dock av storleken (ofta bara × 1) och versionen av den tillgängliga PCIe -platsen på en bärbar dator.

Intel Thunderbolt -gränssnittet har gett ett nytt alternativ för att ansluta till ett PCIe -kort externt. Magma har släppt ExpressBox 3T, som rymmer upp till tre PCIe -kort (två vid × 8 och ett vid × 4). MSI släppte också Thunderbolt GUS II, ett PCIe -chassi avsett för grafikkort. Andra produkter som Sonnet's Echo Express och mLogics mLink är Thunderbolt PCIe -chassi i en mindre formfaktor.

Under 2017 introducerades mer fullständiga externa kortnav, till exempel Razer Core, som har ett PCIe × 16-gränssnitt i full längd.

Lagringsenheter

En OCZ RevoDrive SSD , ett x4 PCI Express-kort i full höjd

PCI Express-protokollet kan användas som datagränssnitt för flashminneenheter , till exempel minneskort och SSD -enheter (SSD).

Den XQD kortet är ett minneskort format som använder PCI Express, som utvecklats av Compactflash Association, med överföringshastigheter på upp till 1 GB / s.

Många högpresterande SSD-enheter i företagsklass är utformade som PCI Express RAID- styrkort. Innan NVMe standardiserades använde många av dessa kort proprietära gränssnitt och anpassade drivrutiner för att kommunicera med operativsystemet. de hade mycket högre överföringshastigheter (över 1 GB/s) och IOPS (över en miljon I/O -operationer per sekund) jämfört med seriella ATA- eller SAS -enheter. Exempelvis, 2011 utvecklade OCZ och Marvell en inbyggd PCI Express SSD-styrenhet för en PCI Express 3.0 × 16-kortplats med en maximal kapacitet på 12 TB och en prestanda på 7,2 GB/s sekventiella överföringar och upp till 2,52 miljoner IOPS i slumpmässiga överföringar.

SATA Express var ett gränssnitt för anslutning av SSD-enheter via SATA-kompatibla portar, som valfritt tillhandahåller flera PCI Express-banor som en ren PCI Express-anslutning till den anslutna lagringsenheten. M.2 är en specifikation för internt monterade dator expansionskort och tillhörande kontakter, som också använder flera PCI Express-banor.

PCI Express -lagringsenheter kan implementera både AHCI -logiskt gränssnitt för bakåtkompatibilitet och NVM Express -logiskt gränssnitt för mycket snabbare I/O -operationer genom att använda intern parallellitet som erbjuds av sådana enheter. Företagsklass SSD: er kan också implementera SCSI över PCI Express .

Kluster sammankoppling

Vissa datacenterapplikationer (t.ex. stora datorkluster ) kräver användning av fiberoptiska sammankopplingar på grund av avståndsbegränsningarna i kopparkablar. Normalt räcker det med en nätverksorienterad standard som Ethernet eller Fibre Channel för dessa applikationer, men i vissa fall är den overhead som införs av routable- protokoll oönskad och en lägre nivå-sammankoppling, såsom InfiniBand , RapidIO eller NUMAlink behövs. Lokalbussstandarder som PCIe och HyperTransport kan i princip användas för detta ändamål, men från och med 2015 är lösningar endast tillgängliga från nischleverantörer som Dolphin ICS .

Konkurrerande protokoll

Andra kommunikationsstandarder baserade på serieband med hög bandbredd inkluderar InfiniBand , RapidIO , HyperTransport , Intel QuickPath Interconnect och Mobile Industry Processor Interface (MIPI). Skillnaderna är baserade på avvägningarna mellan flexibilitet och utökningsbarhet mot latens och overhead. Till exempel, för att göra systemet hot-pluggable, som med Infiniband men inte PCI Express, kräver att programvaran spårar nätverkstopologiska ändringar.

Ett annat exempel är att göra paketen kortare för att minska latensen (som krävs om en buss måste fungera som ett minnesgränssnitt). Mindre paket innebär att pakethuvuden förbrukar en högre andel av paketet, vilket minskar den effektiva bandbredden. Exempel på bussprotokoll utformade för detta ändamål är RapidIO och HyperTransport.

PCI Express faller någonstans i mitten, riktad efter design som en systemanslutning ( lokal buss ) snarare än en enhetens sammankoppling eller dirigerat nätverksprotokoll. Dessutom begränsar dess designmål med mjukvaruöppenhet protokollet och höjer dess latens något.

Förseningar i PCIe 4.0-implementeringar ledde till att Gen-Z- konsortiet, CCIX- insatsen och ett öppet Coherent Accelerator Processor Interface (CAPI) alla tillkännagavs i slutet av 2016.

Den 11 mars 2019 presenterade Intel Compute Express Link (CXL) , en ny samtrafikbuss, baserad på PCI Express 5.0 -infrastrukturen för fysiskt lager. De första promotorerna för CXL -specifikationen inkluderade: Alibaba , Cisco , Dell EMC , Facebook , Google , HPE , Huawei , Intel och Microsoft .

Integratörslista

I PCI-SIG Integrators List listas produkter som tillverkats av PCI-SIG-medlemsföretag som har klarat överensstämmelsestest. Listan innehåller switchar, broar, NIC, SSD, etc.

Se även

Anteckningar

Referenser

Vidare läsning

  • Budruk, Ravi; Anderson, Don; Shanley, Tom (2003), Winkles, Joseph 'Joe' (red.), PCI Express System Architecture , Mind share PC-systemarkitektur, Addison-Wesley, ISBN 978-0-321-15630-3, 1120 sid.
  • Solari, Edward; Congdon, Brad (2003), Komplett PCI Express -referens: Designimplikationer för maskin- och programvaruutvecklare , Intel, ISBN 978-0-9717861-9-6, 1056 s.
  • Wilen, Adam; Schade, Justin P; Thornburg, Ron (april 2003), Introduktion till PCI Express: A Hardware and Software Developer's Guide , Intel, ISBN 978-0-9702846-9-3, 325 sid.

externa länkar

  • Media relaterade till PCIe på Wikimedia Commons