PCI Express (Peripheral Component Interconnect Express) ehk PCIe või PCI-E (tuntud ka kui 3GIO (3rd Generation I/O); mitte segamini ajada PCI-X ja PXI) on kiire jadasiin, mis loodi asendamaks vanemaid PCI, PCI-X ja AGP standardeid.

PCI Express
PCI Expressi logo
Loomise aasta 2003
Looja Intel (koostöös Delli, IBM-i ja HP-ga)
Seadmete arv 1 iga otspunkti jaoks
Stiil jadasiin
Käigultvahetuse liides Jah
Väline liides Jah
Fotol on emaplaadi pesad. Ülevalt alla:
  • PCI Express ×4
  • PCI Express ×16
  • PCI Express ×1
  • PCI Express ×16
  • standardne PCI (32-bit)

Erinevalt PCI siinist, mis kasutab andmete edastamiseks ühissiini, põhineb PCI Expressi kakspunkt-topoloogial, kus iga seade on juurkompeksiga ühendatud eraldi jadaühendusega. PCI Expressi seadmed suhtlevad teineteisega kommutaatorite vahendusel. Iga seade on kommutaatoriga seotud kakspunktühendusega.

PCI Expressi siin toetab kaartide käigultvahetust, teenusekvaliteeti (QoS), energiatarbimise kontrolli ja edastatud andmete terviklikkuse kontrolli.

PCI Expressi standardi arendamist alustas Intel. Esimene ametlik PCI Expressi baasspetsifikatsioon ilmus 2002. aasta juulis. PCI Expressi standardi arendamisega tegeleb organisatsioon PCI Special Interest Group, mis ühendab enam kui 900 ettevõtet.

PCI Expressi siini eesmärgiks on selle kasutamine ainult lokaalse siinina. Kuna PCI Expressi tarkvaraline mudel on suures osas päritud PCI-lt, siis olemasolevad süsteemid ja kontrollerid võivad olla kohandatud PCI Expressi siini kasutamiseks ainult füüsiliselt, ilma tarkvara versiooni uuendamata. PCI Expressi siini kõrge piiktulemuslikkus võimaldab selle kasutamist AGP ning PCI ja PCI-X siinide asemel. Loodetakse, et PCI Express vahetab need siinid personaalarvutites välja.

Pistikud muuda

  • Madala profiiliga kaardid
  • Mini Card – Mini PCI kujuteguri asendus. Pistikule Mini Card on viidud siinid x1 PCIe, USB 2.0 ja SMBus.
  • ExpressCard – PCMCIA-sarnane kujutegur, PC Cardi järglane. Pistikule ExpressCard on viidud siinid x1 PCIe ja USB 2.0. ExpressCardi kaardid toetavad käigultvahetust.
  • AdvancedTCA – telekommunikatsiooniseadmete kujutegur.
  • PCI Expressi kaablite spetsifikatsioonid võimaldavad luua ühendusi pikkusega kuni paarkümmend, mõnikord ka paarsada meetrit, mis võimaldab luua «lahtiseid» arvuteid.
  • Mobile PCI Express Module – NVIDIA loodud GPU pistiku standard sülearvutitele. Võimaldab GPU lihtsamalt välja vahetada.

PCI Express X1 muuda

Mini PCI-E muuda

Mini PCI Express – PCI Expressi siini formaat kaasaskantavate seadmete jaoks.

Selle standardi pistiku jaoks toodetakse hulgaliselt lisaseadmeid:

  • WiFi-kaardid
  • WiMax-kaardid
  • GSM-modemid
  • GPS-vastuvõtjad
  • Pooljuhtkettad (SSD) – kasutab mittestandardset Mini PCI-E ühenduspesa (SSD Mini PCI Express) pinouti.
  • PCIe ×1
  • USB 2.0
  • SMBus
  • Indikaator-LED-i väljundid
  • Ühenduse väljundid SIM-kaardi ja GSM WCDMA jaoks
  • Omab reserveeritud kontakte (tulevastele seadmetele)
  • Toide 1.5 В ja 3.3 В
 
Fotol on PCI Express Mini kaart ja selle pesa
 
Mini PCI ja Mini PCI-E võrdlus

SSD Mini PCI Express muuda

  • PATA
  • SATA
  • USB
  • Toide 3.3 В
 
Fotol on Inteli mSATA liidesega pooljuhtketas

ExpressCard muuda

ExpressCardi pesi kasutatakse 2010. aasta novembri seisuga järgmiste seadmete ühendamiseks:[1]

  • SSD-kõvakettad
  • Kontrollerid 1394/FireWire (iLINK)
  • Dokk-jaamad
  • Mõõteriistad
  • Mälu
  • Mälukaartide (CF, MS, SD, xD, jt) adapterid
  • Arvutihiired
  • Rööppordid
  • PC Card/iPCMCIA adapterid
  • PCI laiendused
  • PCI Expressi laiendused
  • Kaugjuhtimine
  • SATA-kontrollerid
  • Jadapordid
  • SmartCardi adapterid
  • Televisioonituunerid
  • USB-kontrollerid
  • Juhtmevabad võrguadapterid (Wi-Fi)
  • Juhtmevabad laiaribalised võrguadapterid (3G, CDMA, EVDO, GRPS, UMTS, jt)

Protokolli kirjeldus muuda

 
Videokaart PCI Express x16 jaoks

PCI Express seadmete ühendamiseks kasutatakse kahesuunalist punkt-punkt tüüpi jadaühendust, mida nimetatakse rajaks (Lane). See vastandub teravalt PCI-le, milles kõik seadmed ühenduvad üldise 32-bitilisele paralleelsele kahesuunalisele siinile. Kahe PCI Expressi seadme vahelist ühendust nimetatakse liiniks (Link), ja see koosneb ühest (nimetatakse x1) või mitmest (x2, x4, x8, x12, x16 ja x32) rajast, ehk kahesuunalisest seeriaühendusest. Liini iga seade peab toetama vähemalt ühendust x1.

 
PCI Expressi topoloogia näide, kus valged ühenduspunktid märgistavad allavoolu- ning hallid ülesvooluporte.

Üks suuri erinevusi PCI ja PCIe vahel on veel nende siinide topoloogia. Erinevalt PCI paralleelsiinist, kus kõik seadmed jagavad ühiseid aadressi-, andme- ja juhtimisliine, kasutab PCIe kakspunktühendust, kus igal liinil saab olla maksimaalselt kaks seadet. Selleks, et ühendada samasse süsteemi rohkem seadmeid, kasutab PCIe süsteem kommutaatoreid (switche) ja sildu (bridge). PCIe süsteemi hierarhia tipuks on protsessor, liidest protsessori ja muude siini komponentide vahel nimetatakse juurkompleksiks (Root complex). Igal PCIe komponendil on pordid, mille külge ühenduvad teised seadmed, juurkompleksi porte nimetatakse juurportideks. Kommutaator võimaldab ühe PCIe pordi külge ühendada rohkem kui üht seadet, ehk omab ühte ülesvoolu porti protsessori suunas ning mitut allavoolu porti otspunktide suunas. Seadet, mis on PCIe süsteemis "lõpus" ega ole kommutaator või sild, nimetatakse otspunktiks (endpoint) ja mis on võimeline toimima transaktsioonide algatajana (initiator) ja lõpetajana (completer). Sellistel seadmetel on ainult üks ülesvoolu port. Sild võimaldab PCIe süsteemi ühendada teist tüüpi siine (näiteks PCI või PCI-X), sellisel juhul on tegemist pärisillaga (forward bridge). Kui aga ühendatakse vastupidi (PCI süsteemi külge PCIe siin), siis sellist vahendatavat silda nimetatakse pöördsillaks (reverse bridge). Seadmed, mis on algselt disainitud PCI või PCI-X jaoks, aga millele on hiljem külge arendatud PCIe liides nimetatakse pärand otspunktideks (legacy endpoint) ja koheselt PCIe süsteemi jaoks disainitud seadmeid nimetatakse põlis-otspunktideks (native endpoint).[2]

Elektrilisel tasemel kasutab iga ühendus madalpingelist diferentsiaalset signaaliedastamist (LVDS), kus iga ühenduse raja kaudu saadetakse sama signaali positiivne ja negatiivne „versioon". Sellega saavutatakse veakindlus - immuunsus mürade ja pingelangu vastu. Kuna viigud on üksteisele lähedal, siis välised mürad mõjutavad neid peaaegu võrdselt. Informatsiooni vastuvõtt ja edastamine toimub iga PCI Expressi seadmega kahe eraldatud juhi kaudu. Nii loob seade ühenduse PCI Expressi kommutaatoriga ainult nelja juhi abil.

Sellisel lähenemisviisil on järgnevad eelised:

  • PCI Expressi kaart sobib sisse ja töötab korrektselt igas pesas sama või suurema ribalaiusega (näiteks kaart x1 hakkab töötama pesades x4 ja x16);
  • Suurema füüsilise suurusega pesa ei saa kasutada kõiki lane'e (näiteks, slotile x16 võib juurde juhtida informatsiooni sideliinid, mis sobivad x1 või x8 juurde ja see kõik hakkab normaalselt talitlema, kuid seega on vaja ühendada kõik liinid «toide» ja «maandus», mis on vajalikud sloti x16 jaoks).
 
Lahtise otsaga PCI express ×1 pesa

PCI Expressi siinil läheb kasutusse maksimaalne kogus lane'e, mis on saadaval nii kaardil kui ka pesal, kuid see ei võimalda seadmel töötada pesas, mis on mõeldud PCI Express siinist väiksema ribalaiusega kaartidele. Näiteks kaart x4 ei mahu füüsiliselt standardsesse x1 pesasse, vaatamata sellele, et ta saaks töötada x1 pesas, kasutades ainult üht lane'i. Osadel emaplaatidel võib näha mittestandardseid pesi x1 ja x4, millel puudub äärmine vahesein, ja sellisel juhul võib paigaldada nendesse kaarte, mis on suurema pikkusega kui pistik. Samal ajal ühte osa kaardist ei varustata toitega ja maandusega, mis võib kaasa tuua erinevaid probleeme.

PCI Express edastab kõiki kontrollandmeid, sealhulgas katkestusi, samade liinide kaudu, mida kasutatakse andmete edastamiseks. Jadaprotokoll ei saa olla kunagi lukustatud, niiviisi on PCI Expressi siini viivitused võrreldavad PCI omadega (PCI siin kasutab signaali edastamist katkestuste kohta eraldiolevaid füüsilisi liine IRQ#A, IRQ#B, IRQ#C, IRQ#D).

Kõikides ülikiiretes jadaprotokollides, näiteks gigabitine Ethernet, peab olema sünkroonimise informatsiooni kandev edastamissignaal (ehk Taktsignaal) sisseehitatud. Sünkroniseerimissignaali tekitab andmevoo allikas ning saadab selle andmevoo sees vastuvõtjale, kus vastuvõtja taastab faasiluku (PLL) ahela abil andmevoost sünkroniseerimissignaali. Füüsilisel tasandil kasutatakse PCI Expressi kanali kodeerimise meetodit 8b/10b (8 bitti 10-s, koondamine 20%) konstantse osa kõrvaldamiseks edastamissignaalis ja kinnistades sünkroonimisinfo andmevoo sisse. Alates PCI Express 3.0st kasutatakse säästlikumat 128b/130b kodeeringut 1,5% koondamisega.

Mõned protokollid (näiteks SONET/SDH) kasutavad meetodit, mida nimetatakse scrambling'uks, sünkroonimisinfo kinnistamiseks andmevoo sisse ja edastatava signaali spektri "erosiooni" jaoks. PCI Expressi spetsifikatsiooni on ette nähtud scrambling-funktsioon, kuid scrambling PCI Expressis erineb sellest, mis on SONET'il.

Andmeedastuskiirus muuda

Ribalaius muuda

PCIe 1.0 puhas bitikiirus on 2,5 GT/s (gigatehingut sekundis). Siini ribalaiuse (ehk teisisõnu suurima läbilaskevõime) arvutamiseks tuleb arvesse võtta dupleksi[3] ja koondamist 8b/10b (8 bitti 10-s), mille tulemusel on saadud ribalaiuse ühikuks GB/s. Näiteks on PCI-E 1.0 x1 ühenduses dupleksi maksimaalne läbilaskevõime (kahel suunal):

2,5 · 2 · 0,8 · 1/8 = 0,5 GB/s
  • kus 2,5 – andmeedastuskiirus, Gbit/s;
  • 2 – dupleksi (kahesuunalisuse) arvessevõtmine;
  • 0,8 – koondamise arvessevõtmine 8b/10b 1.0 ja 2.0 jaoks;
    • 0.985 – 3.0 kuni 5.0 jaoks, kuna need standardid kasutavad 128b/130b kodeeringut;
  • 1/8 – ümberarvestustegur Gbit/s GB/s-sse.
PCI Express andmeedastuskiirused
Bitikiirus
(GT/s)
Ribalaius ühel suunal (GB/s)
x1 x2 x4 x8 x12 x16
PCIe 1.0 2.5 0.250 0.500 1.000 2.000 3.000 4.000
PCIe 2.0 5.0 0.500 1.000 2.000 4.000 6.000 8.000
PCIe 3.0 8.0 0.985 1.969 3.938 7.877 11.816 15.754
PCIe 4.0 16.0 1.969 3.938 7.877 15.754 23.631 31.508
PCIe 5.0 32.0 3.938 7.877 15.754 31.508 47.261 63.015

Konkureerivad protokollid muuda

Lisaks PCI Expressile on veel mitmeid ülikiireid standardiseeritud jadaliideseid, näiteks HyperTransport, InfiniBand, RapidIO ja StarFabric. Protokollide väljatöötamiseks on kulunud märkimisväärsed rahasummad, seetõttu eelistab iga tootja omi liideseid. Standarditud ülikiire liides peaks ühelt poolt olema paindlik ja venivusega, teiselt poolt peaks olema madala latentsusega ja omama madalaid üldkulusid (see tähendab, et ametliku informatsiooni paketi osa ei tohi olla suur). Sisuliselt on erinevused kahe liidese vahel täpselt arendajate valitud konkreetse liidese kompromissis nende kahe vasturääkivate nõudmiste vahel.

Näiteks võimaldab ametlik marsruudi lisainformatsioon paketis organiseerida keerulise ja paindliku paketi marsruutimist, kuid suurendab üldkulusid paketi töötlemisel, samuti väheneb liidese läbilaskevõime, tarkvara, mis algväärtustab ja seadistab seadeid, mis on ühendatud liidese juurde, läheb keerulisemaks. Selleks, et saaks seadmeid "kuumalt" ühendada on vaja spetsiaalne tarkvara, mis jälgiks muudatusi võrgu topoloogias. Näited liidestest, mis on selleks kohandatud, on RapidIO, InfiniBand ja StarFabric.

Samal ajal, lühendades pakette saab vähendada andmete edastamise viivitused, mis on oluline eeldus mälu liidesele. Kuid väike pakettide arv toob kaasa selle, et osa paketti ametlikust valdkonnast suureneb, mis vähendab liidese efektiivset läbilaskevõimet. Sellise liidese näiteks on HyperTransport.

PCI Expressi seisukoht – kirjutatud lähenemisviiside vahel, kuna PCI Expressi siin on kavandatud tööks kohaliku siinina, mitte protsessor-mälu siinina või keerulise marsruutimisvõrgustiku siinina. Lisaks, PCI Express on algselt mõeldud kui siin, mis on loogilises kooskõlas PCI siiniga, mis samuti tõi kaasa omad piirangud.

Redaktsioonid muuda

PCI Express 2.0 muuda

PCI-SIG grupp laskis välja PCI Express 2.0 spetsifikatsiooni 15. jaanuaril 2007. Peamised uuendused PCI Express 2.0-s:

  • Kiirem andmeedastus – PCI Express 2.0 spetsifikatsioon määrab maksimaalseks läbilaskevõimeks ühel lane ühendusel 5 GT/s.
  • Tagasiühilduvus – PCIe 2.0 emaplaadi pesad on 100% tagasiühilduvad PCIe 1.x kaartidega. PCIe 2.0 kaardid on samuti tagasiühilduvad, kuid töötavad vaid 1.x pesa kiirusel (2,5 GT/s).
  • Dünaamilise lingi kiiruse haldamine – liini opereerimiskiiruse kontrollimiseks.
  • Liini läbilaskevõimest teatamine – arvutile (operatsioonisüsteemile, draiveritele jne) liini kiiruse ja laiuse muudatustest teatamine.
  • Struktuuride võimaluste laienemine – kontrollregistrite laiendamine seadmete, pesade ja interconnecti paremaks halduseks.
  • Pääsu reguleerimise teenused – valikulised komponendid peer-peer tehingute haldamiseks.
  • Funktsiooni nullimine – valikuline mehhanism seadmesiseste funktsioonide nullimiseks.
  • Võimsuse ümbermääratlemine rohkem voolu tarbivate seadmete jaoks.

Väline kaabeldusspetsifikatsioon ePCIe muuda

7. veebruaril 2007 lasi PCI-SIG grupp välja süsteemivälise kaabelduspetsifikatsiooni ePCIe. Kaabli maksimaalne pikkus pole määratud. Kaabel edastab andmeid kiirusel kuni 2,5 GT/s. Standardkaablid ja konnektorid on loodud x1, x4, x8 ja x16 liini laiustele.

PCI Express 2.1 muuda

Füüsilised omadused (kiirus, ühenduspesa) vastavad 2.0-le, tarkvarale on aga lisatud funktsioonid, mida kavatsetakse täielikult rakendada versioonis 3.0. Kuna enamik emaplaate müüakse versiooniga 2.0, ei anna üksnes 2.1 versiooniga graafikakaardi olemasolul antud režiimi kasutada.

PCI Express 3.0 muuda

2010. aasta novembris[4] kinnitati PCI Express 3.0 versiooni spetsifikatsioonid. 3.0 liidese andmeedastuskiiruseks on 8 GT/s (gigatehingut/s). Kuid sellest hoolimata oli selle reaalne läbilaskevõime ikka kahekordistatud võrreldes PCI Express 2.0 standardiga. See sai võimalikuks tänu agressiivsemale kodeerimisskeemile 128b/130b, kus 128 bitti andmeid, mis saadakse siini kaudu, kodeeritakse 130 bitiga. PCI Express 2.0-l on andmesidekiirus 5 GT/s ja kodeerimisskeem 8b/10b. Säilis ühilduvus varasemate PCI Expressi versioonidega.

PCI Express 4.0 muuda

29. novembril 2011 kuulutas PCI-SIG avalikult välja esialgse PCI Express 4.0 standardi, mille bitikiirust ja ribalaiust oli taas kahekordistatud (võrreldes eelmise standardiga) vastavalt kiirusele 16 GT/s ja ~32 GB/s. Säilis nii tarkvaraline kui ka mehaaniline tagasiühilduvus[5]. 4.0 standard on toetatud alates 11. põlvkonna Intel Core ning AMD 3000 ja 5000 seeria protsessorites ning vastavaid protsessoreid toetavates emaplaatides[6]. Standard loodi nii serverites kui ka lauaarvutites kasutamiseks.

Esimesed füüsilised seadmed, mis kasutasid PCIe 4.0 standardit ehitati alles 2016. aasta augustis[7] ning standard avalikustati alles 2017[8], kaubanduslikult muutusid saadavaks 4.0 seadmed veelgi hiljem, venitades standardi väljalaske ligi 7 aasta peale.

PCI Express 5.0 muuda

2017. aasta juunis avalikustas PCI-SIG esmased PCI Express 5.0 spetsifikatsioonid[9], järjekordselt kahekordistades ribalaiust kuni 128GB/s x16 liini korral ning bitikiirust kiiruseni 32GT/s, seejuures säilitades nii tarkvaralise kui ka mehaanilise tagasiühilduvuse. Ametlikult kinnitati 5.0 spetsifikatsioon 2019. aasta maikuus[10], mis oli PCIe ajaloos esmakordne juhtum, kus uus spetsifikatsioon avaldati enne seda, kui eelmine versioon oleks kommertsturule jõudnud. PCIe 5.0 standardit toetavad alates 12. põlvkonna Intel Core protsessorid ja Intel 600 kiibistikuga emaplaadid.

PCI Express 6.0 muuda

2022 jaanuaris avalikustas PCI-SIG PCI Express 6.0 spetsifikatsiooni, mille puhas bitikiirus ulatub kuni 64GT/s ning ribalaius x16 liini korral kuni 256GB/s. Standard loodi suuremahuliste andmete töötlemiseks (näiteks masinõppe/tehisintellekti, kõrgjõudlustöötluse, andmekeskuste, nutistu, militaar- ja kosmosetehnoloogiate arenduseks)[11].

PCIe 6.0-ga plaanitakse kasutusele võtta NRZ (Non-return-to-zero) signaaliedastuse asemel PAM4 (Pulsi-amplituudmodulatsiooni) signaaliedastamine, mis jagab kahendsignaali (0 või 1) omakorda kaheks, tekitades neli võimalikku signaaliolekut (00, 01, 10 või 11). See tehnoloogia võimaldab ühe signaaliga edastada kaks korda rohkem andmeid ilma ribalaiust kahekordistamata ja tänu sellele võib PCIe 6.0 töötada sagedusel kuni 30 GHz ilma liinide pikkuseid suurendamata.[12]

2022. aasta aprilli seisuga pole teadaolevalt ühtegi 6.0 standardile vastavat seadet veel toodetud.

Vaata ka muuda

Viited muuda

  1. "ExpressCard. Where to Buy page". Originaali arhiivikoopia seisuga 23. november 2011. Vaadatud 12. detsembril 2010.
  2. II 2019 - PCI ja PCIe.pdf Tartu Ülikooli Arvuti arhitektuur ja riistvara II kursuse õppematerjalid PCIe teemal vaadatud 07.05.2022
  3. PCI Express 3.0. Frequently Asked Questions. PCI-SIG. Arhiveeritud 2014, külastatud 29.04.2022
  4. "Kinnitatud spetsifikatsioon PCI Express 3.0 – kiirus on kahekordistunud". Originaali arhiivikoopia seisuga 20. november 2010. Vaadatud 29. juunil 2022.
  5. What Are PCIe 4.0 and 5.0? PCIe 4.0 uuendused varasemate versioonide üle. Vaadatud 29.04.2022.
  6. PCIe 4.0 tugi Inteli ja AMD protsessorites vaadatud 30.04.2022
  7. POWER9 protsessor IBM poolt toodetud POWER9 protsessor, vaadatud 29.04.2022
  8. PCIe 5.0 spetsifikatsioonid vaadatud 30.04.2022
  9. 2017 juuni PCI-SIG DevCon teadaanne, vaadatud 30.04.2022
  10. PCIe 5.0 avalikustamine, vaadatud 30.04.2022
  11. PCIe 6.0 spetsifikatsioonid ja ootused, külastatud 30.04.2022
  12. PCIe 6.0 spetsifikatsioon vaadatud 01.04.2022

Kirjandus muuda

  • Budruk, Ravi; Anderson, Don; Shanley, Tom (1999). PCI Express System Architecture. PC System Architecture Series. Addison-Wesley Professional. Lk 832. ISBN 978-0201309744.
  • Abbott, Doug (2004). PCI Bus Demystified. Demystifying Technology Series (2-е ed.). Newnes. Lk 250. ISBN 978-0750677394.

Välislingid muuda