PCI Express , lyhennettynä PCI-E tai PCIe (aiemmin 3GIO, 3rd Generation Input / Output ) on kehittämä standardi Intel ja käyttöön vuonna 2004. Se määrittää väylän paikallinen sarja ( "PCI Express väylä"), ja liitin, joka on käytetty liittämistä laajennuskortit on emolevy tietokoneen. Se on tarkoitettu korvaamaan kaikki tietokoneen laajennuspaikat, mukaan lukien PCI ja AGP .
Spesifikaatio 4.0 julkaistiin vuonna 2017, ja versio 5.0 on suunniteltu vuodelle 2019.
PCIe-väylän merkittävä etu on, että kaksi PCIe-korttia voi kommunikoida keskenään käymättä prosessorin läpi.
Yksi PCI Expressin etu on, että se on johdettu PCI ( Peripheral Component Interconnect ) -standardista, jonka avulla valmistajat voivat yksinkertaisesti mukauttaa olemassa olevia laajennuskorttejaan, koska vain laitteistokerros on vaihdettava. Toisaalta se on tarpeeksi nopea korvaamaan paitsi perinteinen PCI myös AGP, nopea portti näytönohjaimille.
Toisin PCI joka on kytketty southbridgeen emolevyn, PCI Express on usein saatavilla sekä northbridge ja southbridgen , se on jopa integroitujoulukuu 2015joillekin mikroprosessoreille .
Vaikka PCI käyttää yhtä, vuorotellen kaksisuuntaista ( puoliduplex ) 32-bittistä väylää kaikille oheislaitteille, PCI Express käyttää sarjaliitäntää (1-bittinen leveys), joka perustuu kahdensuuntaisiin linjoihin, jotka on jaettu 8 nastalle. Voimme siis puhua emolevystä, jossa on 20 PCIe-kaistaa. Linja sallii teoriassa täyden duplex- vaihdon nopeudella 250 MB / s protokollan versiolle 1.1. Erilaiset oheislaitteet kommunikoivat sitten vaihtamalla paketteja, ja PCI-väylän sovittelu korvataan kytkimellä. Toimintaperiaate on samanlainen kuin nelikerroksisen mallin mukainen pakettikytkentä :
Puhumme PCIe × 1, × 2, × 4, × 8, × 16 ja × 32 -portista, jotta portit voidaan erottaa niiden liittimien lukumäärän mukaan (vastaavasti 1, 2, 4, 8, 16 tai 32 maksimilinjaa) ). A × 32-portti voi teoriassa saavuttaa nopeuden 8 Gb / s , tai 4 kertaa AGP- porttien nopeuden .
Esimerkiksi A × 16-portti voidaan liittää vain 8 PCIe-kaistaan; siinä on silti oltava × 16-levyjä varten tarvittava sähkönsyöttö . × 16-laajennuskortti toimii tässä portissa (mutta todennäköisesti alle optimaalisen suorituskyvyn), koska PCIe-protokolla mahdollistaa kahden toisiinsa liittyvän kokonaisuuden tukeman linjojen enimmäismäärän neuvottelemisen. Samoin kortti (esimerkki: × 1) voidaan liittää ja se toimii oikein isommassa portissa (esimerkki: × 2,…, × 32) ....
Vuonna 2007 ilmestyi toinen sukupolvi PCIe: tä (gen 2.0), joka mahdollisti muun muassa lisätä nopeutta 250: stä 500 MB: iin / s linkkiä kohti (ensimmäisen sukupolven sukupolven 1.0 nopeus kaksinkertaistuu). Saman vuoden helmikuussa julkaistiin ” External PCI Express 1.0 ” -standardi ( ePCIe 1.0 , Kaapeloitu PCIe 1.0 ), jonka avulla ulkoiset oheislaitteet voidaan liittää PCIe-väylään käyttämällä korttia, jonka avulla se voidaan ohjata uudelleen liittimeen. ulkoinen. Kunkin radan nopeus on rajoitettu 250 MB / s. Väylän 1x-, 4x-, 8x- ja 16x-versioille on liittimiä ja kaapeleita. Kehitys kohti linjoja nopeudella 500 MB / s (kuten PCIe 2.0) on suunniteltu, mutta päivämäärää ei ilmoiteta.
Vuonna 2010 PCI-SIG julkaisi PCIe: n (sukupolvi 3.0) eritelmät, joiden nopeus kaksinkertaistuu 1000 Mt / s 60%: n taajuuden kasvun ansiosta, joka siirtyy 5-8 GHz : iin gen 2.0: lle, mutta myös 128- bitti / 130-bittinen koodaus. Sen sijaan, että kuluttaisi 20% bittinopeudesta gen 2.0: lle, tämä koodaus menettää vain 1,6% koko kaistanleveydestä. Ensimmäiset PCIe 3.0 -oheislaitteet saapuivat vuoden 2011 puolivälissä, mutta tätä liitäntää käyttävät näytönohjaimet saapuivat vasta vuoden 2012 alussa.
PCIe 4.0 -määritys julkaistiin vuonna lokakuu 2017. Se kaksinkertaistaa kaistanleveyden. Ensimmäinen näytönohjain, joka käyttää tätä uutta eritelmää täysimääräisesti, on AMD Radeon RX 5700 XT -kortti vuonna 2019.
PCIe 5.0 -määritys julkaistiin vuonna Toukokuu 2019 kaksinkertaistamalla kaistanleveys edelleen.
PCI Express -paikat mahdollistavat x8 (8 kaista) -kortin liittämisen x16 (16 kaista) korttipaikkaan, päinvastoin ei ole totta; sama muille muunnelmille. Liittimen koko rajoittaa kortin käyttämien PCIe-kaistojen enimmäismäärää, mutta ei takaa sitä. Emolevyn liittimen koko määrittää enimmäisnopeuden, mutta ei välttämättä nopeuden, jolla siihen asetettu kortti toimii. Käytetty linjojen määrä neuvotellaan laitteiden välillä automaattisesti.
"Fyysisesti" x16-korttipaikassa olevan x16-laitteen sen toimintatapa riippuu emolevyn sähköjohdotuksesta, käytettyjen X16-korttien lukumäärästä sekä prosessorista, sen taajuudesta ja käytetystä piirisarjasta (tietoliikenneprosessori). Muut väylän PCIe-kortit voivat tapauksesta riippuen rajoittaa linjojen määrää, joita voidaan käyttää tällä väylällä x16-tilassa.
MitatPCI-tyyppi | Mitat (mm) |
Täyspitkä PCI-kortti | 106,68 mm (korkeus) X 312 mm (pituus) |
Puolipitkä PCI-kortti | 106,68 mm (korkeus) X 175,26 mm (pituus) |
Matala profiili / ohut PCI-kortti | 64,41 mm (korkeus) X
119,91 mm - 167,64 mm (pituus) |
Linjat | Rintakorut | Pituus | ||
---|---|---|---|---|
Kaikki yhteensä | Vaihteleva | Kaikki yhteensä | Vaihteleva | |
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 |
Kaistanleveys vaihtelee PCI Express -sukupolven ja käytettyjen kaistojen lukumäärän mukaan, kukin PCIe-sukupolvi voi karkeasti kaksinkertaistaa edellisen kaistanleveyden:
Sukupolvi | x1 | x4 | x8 | x16 |
---|---|---|---|---|
PCIe 1.1 | 250 Mt / s | 1 Gt / s | 2 Gb / s | 4 Gt / s |
PCIe 2.0 | 500 Mt / s | 2 Gb / s | 4 Gt / s | 8 Gt / s |
PCIe 3.0 | 1 Gt / s | 4 Gt / s | 8 Gt / s | 16 Gt / s |
PCIe 4.0 | 2 Gb / s | 8 Gt / s | 16 Gt / s | 32 Gt / s |
PCIe 5.0 | 4 Gt / s | 16 Gt / s | 32 Gt / s | 64 Gt / s |
Seuraava taulukko näyttää johtimet PCI Express -korttipaikan kummallakin puolella:
Rintaneula | Sivu B | Sivu A | Kuvaus | Rintaneula | Sivu B | Sivu A | Kuvaus | |
---|---|---|---|---|---|---|---|---|
1 | +12 V | PRSNT1 # | On muodostettava yhteys pisimpään PRSNT2 # -nastaan | 50 | HSOp (8) | Varattu | Kanava 8 lähettää dataa, + ja - | |
2 | +12 V | +12 V | Päävirtanastat | 51 | HSOn (8) | Maa | ||
3 | +12 V | +12 V | 52 | Maa | HSIp (8) | Kanavan 8 datan vastaanotto, + ja - | ||
4 | Maa | Maa | 53 | Maa | HSIn (8) | |||
5 | SMCLK | TCK | nastat SMBus- ja JTAG- portteihin | 54 | HSOp (9) | Maa | Kanava 9 lähettää dataa, + ja - | |
6 | SMDAT | TDI | 55 | HSOn (9) | Maa | |||
7 | Maa | TDO | 56 | Maa | HSIp (9) | Kanavan 9 datan vastaanotto, + ja - | ||
8 | +3,3 V | TMS | 57 | Maa | HSIn (9) | |||
9 | TRST # | +3,3 V | 58 | HSOp (10) | Maa | Kanava 10 lähettää dataa, + ja - | ||
10 | +3,3 V aux | +3,3 V | Valmiustila | 59 | HSOn (10) | Maa | ||
11 | WAKE # | PERST # | Uudelleenaktivointilinkki; perustavanlaatuinen nollaus | 60 | Maa | HSIp (10) | Kanavan 10 datan vastaanotto, + ja - | |
Lovi | 61 | Maa | HSIn (10) | |||||
12 | CLKREQ # | Maa | Käynnissä olevan kellon pyyntö | 62 | HSOp (11) | Maa | Kanava 11 lähettää dataa, + ja - | |
13 | Maa | REFCLK + | Differential referenssikellopari | 63 | HSOn (11) | Maa | ||
14 | HSOp (0) | REFCLK− | Kanava 0 lähettää dataa, + ja - | 64 | Maa | HSIp (11) | Kanavan 11 datan vastaanotto, + ja - | |
15 | HSOn (0) | Maa | 65 | Maa | HSIn (11) | |||
16 | Maa | HSIp (0) | Kanavan 0 datan vastaanotto, + ja - | 66 | HSOp (12) | Maa | Kanava 12 lähettää dataa, + ja - | |
17 | PRSNT2 # | HSIn (0) | 67 | HSOn (12) | Maa | |||
18 | Maa | Maa | 68 | Maa | HSIp (12) | Kanavan 12 datan vastaanotto, + ja - | ||
PCI Express × 1 -kortit päättyvät tapiin 18 | 69 | Maa | HSIn (12) | |||||
19 | HSOp (1) | Varattu | Kanava 1 lähettää tietoja, + ja - | 70 | HSOp (13) | Maa | Kanava 13 lähettää dataa, + ja - | |
20 | HSOn (1) | Maa | 71 | HSOn (13) | Maa | |||
21 | Maa | HSIp (1) | Kanavan 1 datan vastaanotto, + ja - | 72 | Maa | HSIp (13) | Kanavan 13 datan vastaanotto, + ja - | |
22 | Maa | HSIn (1) | 73 | Maa | HSIn (13) | |||
23 | HSOp (2) | Maa | Kanava 2 lähettää dataa, + ja - | 74 | HSOp (14) | Maa | Kanava 14 lähettää dataa, + ja - | |
24 | HSOn (2) | Maa | 75 | HSOn (14) | Maa | |||
25 | Maa | HSIp (2) | Kanavan 2 datan vastaanotto, + ja - | 76 | Maa | HSIp (14) | Kanavan 14 datan vastaanotto, + ja - | |
26 | Maa | HSIn (2) | 77 | Maa | HSIn (14) | |||
27 | HSOp (3) | Maa | Kanava 3 lähettää dataa, + ja - | 78 | HSOp (15) | Maa | Kanava 15 lähettää dataa, + ja - | |
28 | HSOn (3) | Maa | 79 | HSOn (15) | Maa | |||
29 | Maa | HSIp (3) | Kanavan 3 datan vastaanotto, + ja - | 80 | Maa | HSIp (15) | Kanavan 15 datan vastaanotto, + ja - | |
30 | Varattu | HSIn (3) | 81 | PRSNT2 # | HSIn (15) | |||
31 | PRSNT2 # | Maa | 82 | Varattu | Maa | |||
32 | Maa | Varattu | ||||||
PCI Express × 4 -kortit päättyvät tapiin 32 | ||||||||
33 | HSOp (4) | Varattu | Kanava 4 lähettää dataa, + ja - | |||||
34 | HSOn (4) | Maa | ||||||
35 | Maa | HSIp (4) | Kanavan 4 datan vastaanotto, + ja - | |||||
36 | Maa | HSIn (4) | ||||||
37 | HSOp (5) | Maa | Kanava 5 lähettää dataa, + ja - | |||||
38 | HSOn (5) | Maa | ||||||
39 | Maa | HSIp (5) | Kanavan 5 datan vastaanotto, + ja - | |||||
40 | Maa | HSIn (5) | ||||||
41 | HSOp (6) | Maa | Kanava 6 lähettää dataa, + ja - | |||||
42 | HSOn (6) | Maa | ||||||
43 | Maa | HSIp (6) | Kanavan 6 datan vastaanotto, + ja - | Legendoja | ||||
44 | Maa | HSIn (6) | Maadoitettu tappi | Nolla voltin vertailu | ||||
45 | HSOp (7) | Maa | Kanava 7 lähettää dataa, + ja - | Virtatappi | PCIe-kortin virta | |||
46 | HSOn (7) | Maa | Lähtötappi | Signaali kortista emolevyyn | ||||
47 | Maa | HSIp (7) | Kanavan 7 datan vastaanotto, + ja - | Syöttötappi | Signaali emolevyltä taululle | |||
48 | PRSNT2 # | HSIn (7) | Avoin viemäri | Voidaan asettaa matalaksi tai havaita useilla korteilla | ||||
49 | Maa | Maa | Sense mänty | Yhdistetty korttiin, jotta korttityyppi voidaan tunnistaa | ||||
PCI Express × 8 -kortit päättyvät tapiin 49 | Varattu | Ei tällä hetkellä käytössä, älä muodosta yhteyttä |
Kaksi differentiaalilinkkiä sallivat datan vaihdon lähetyksessä (suora) ja vastaanotossa (taaksepäin) kahden pisteen A ja B välillä
. Näiden linkkien 'n' muodostaa sitten vaihtopolut (kaista): PCIe 1x 2x 4x 8x.
Lähetys- tai vastaanottosignaali koostuu siis kahdesta eri moodissa olevasta johtimesta.
Lähetys- ja vastaanottosignaalien yhdistelmä eli 4 johtoa muodostaa polun (kaistan).
'N' -polun ryhmittely edustaa PCIe nX -linkkiä.
Root-komponentti sallii pääsyn suorittimeen, muistiin tai mihin tahansa muuhun laitteeseen.
Valinnainen kytkentäkomponentti sallii PCIe-siirron päätepisteen välillä käymättä juuren läpi.
Päätepiste ovat vaihtolaitteet.
Tiedot tuotetaan pakettien muodossa.
PCIe mahdollistaa virtauksen ohjauksen, QoS: n, kanavan virtualisoinnin, ennustettavan viiveen ...
Suoritusteho ja kaistanleveys:
Differentiaalipari sallii 2,5 Gbit / s: n läpäisykyvyn
PCIe 1x: llä on siis hyödyllinen läpijuoksu (2,5 * 1000 * 2 * 8/10) / 8 = 500 MB / s
Kerroin 2 saadaan täyden kaksipuolisen lähetyksen + vastaanottotilan kautta.
Kerroin 8/10 otetaan käyttöön käytetyllä 8B10B-koodauksella.
PCIe noudattaa OSI- mallia :
CRC- laskenta suoritetaan datalinkkitasolla, mikä mahdollistaa keskusten eheyden tarkistamisen tällä tasolla.
Toinen laskelma suoritetaan transaktiotasolla, se on end-to-end CRC -laskenta (ECRC).
Jos ECRC on väärä, on mahdollista pyytää paketin lähettämistä uudelleen.
Tätä hallitaan datalinkkitasolla erityisellä DLLP (data link layer package) -paketilla.
DLLP-tyyppiset paketit ovat avoimia käyttäjälle, joka näkee vain TLP-paketit yleensä.
DLLP ovat siis hallintapaketteja (valmistuminen, määritys).
Software layer *data* +-------------------+ | Transaction layer | **Header,*data*,ecrc** +-------------------+ | Data Link Layer | | | ***Sequence,**Header,*data*,ecrc**,lcrc*** +-------------------+ | PHYsical LAyer | | | Start,***Sequence,**Header,*data*,ecrc**,lcrc***,End +-------------------+PCIe-paketin otsikko on 3-4 32-bittistä sanaa.
Hyötykuorma-alue, data, on 0-1024 32-bittistä sanaa.
32-bittistä sanaa kutsutaan kaksinkertaiseksi sanaksi (DW) tietäen, että sana on kaksitavuinen ja tavu koostuu 8 bitistä.
Fyysinen taso koostuu seuraavista elementeistä:
Datalinkkitasolla on lähetyspuolella "Replay Buffer", joka sallii paketin lähettämisen takaisin, kun vastaanotin havaitsee virheitä.
Erilaisia liiketoimia on olemassa:
Kahdenlaisia tapahtumia on mahdollista: lähetetty tai ei-lähetetty.
Lähetetty tyyppi -tapahtuma lähettää paketin eikä odota mitään vastineeksi: se on kuin kirje postissa.
Postittamaton tapahtuma, joka odottaa täydentävän paketin vastineeksi: se on kuin kirjattu kirje.
Muistikirjoitus on lähetettyä tyyppiä, kun taas luettu muistityyppi on lähettämätöntä tyyppiä.
Jos PCIe: n käyttö on yksinkertaista, käyttäjä voi kirjautua sisään transaktiotasolla.
Sitten on tarpeen hallita TLP-paketteja (tapahtumakerroksen paketteja) lähetysvastaanotossa.
Kehittyneempiin käyttötarkoituksiin on olemassa IP-osoitteet (FPGA-mallin tapaus).
Tämä peite hallitsee tarvittaessa esimerkiksi suoria DMA-muistihakuja "sirontakoko" -tilassa.
PCI 2.2 (32 bittiä) | PCI-Express 1.x | PCI-Express 2.x | PCI-Express 3.x | PCI-Express 4.x | PCI-Express 5.x | PCI-Express 6.x | |
---|---|---|---|---|---|---|---|
Käyttöönottovuosi | 1992 | 2003 | 2007 | 2012 | 2017 | 2019 | 2021 (suunniteltu) |
Taajuus | 33 MHz | 100 MHz | 100 MHz | 100 MHz | 100 MHz | 100 MHz | 100 MHz |
Maksimiteho (12V + 3V3) | 25 wattia | 75 wattia | 75 wattia | 75 wattia | 75 wattia | 75 wattia | 75 wattia |
Kaistanleveys | 133 Mt / s | 2,5 GT / s | 5 GT / s | 8 GT / s | 16 GT / s | 32 GT / s | 64 GT / s |
Veloitus riviä kohden | Ei sovellettavissa | 250 Mt / s | 500 Mt / s | 984,6 Mt / s | 1969,2 Mt / s | 3938 Mt / s | |
Nopeus 16 riville | Ei sovellettavissa | 4 Gt / s | 8 Gt / s | 15,754 Gt / s | 31,508 Gt / s | 63,02 Gt / s | |
Yhteensopivuus | PCIe ei ole yhteensopiva | PCIe xx | PCIe xx | PCIe xx | PCIe xx | PCIe xx | PCIe xx |