PCI Express

Wikipedia
Loikkaa: valikkoon, hakuun
PCI Express -logo.

PCI Express (Peripheral Component Interconnect Express, lyhennettynä PCIe) on suurinopeuksinen tietokoneen standardoitu väylätyyppi, joka on suunniteltu korvaamaan vanhemmat PCI, PCI-X ja AGP -liitäntästandardit. PCIe-liitäntä sisältää useita parannuksia edeltäjiinsä nähden, joita ovat muun muassa suurempi siirtokyky, siirtyminen sarjamuotoiseen tiedonsiirtoon rinnakkaisesta, väylän parempi skaalattavuus, sekä pienempi I/O-pinnien määrä, jonka ansiosta PCIe-liittimillä on pienempi fyysinen tilantarve. PCIe:ssä on myös yksityiskohtaisempi virheiden havaitsemis- ja raportointimekanismi (Advanced Error Reporting (AER)[1]) ja lisäksi sen viimeisimmät versiot tukevat I/O-virtualisointia.[1] PCIe on vähitellen korvannut edeltäjänsä (AGP, PCI ja PCI-X), ja on tämän seurauksena noussut hallitsevaksi väylätyypiksi pöytätietokoneissa.[2][3] PCIe:n sähköteknisiä puolia on hyödynnetty useissa siihen pohjautuvissa muunnelmissa, joista ehkä huomattavimpana voidaan mainita ExpressCard, PCIe:n kannettaville tietokoneille suunniteltu versio.

PCIe-liitäntästandardia ylläpitää PCI-SIG (PCI Special Interest Group), johon kuuluu yli 900 tietotekniikka-alan yritystä. Maaliskuussa 2014 viimeisin tuotannossa ja kuluttajamarkkinoilla saatavilla oleva PCIe-versio oli 3.0.[4]

Gigabyten valmistama PCIe x16 väylään asentuva GTX770-näytönohjain
Asuksen valmistama PCIe x1 väylään asentuva WLAN-kortti

Muutokset entiseen[muokkaa | muokkaa wikitekstiä]

PCIe poikkeaa arkkitehtuuriltaan huomattavasti aikaisemmista väylistä, ja tästä syystä se poikkeaa täysin myös PCI-väylästä. Yleensä väylä koostuu yhteisestä tiedonsiirtokanavasta, johon kaikki väylään kytketyt laitteet liittyvät, ja jota laitteet käyttävät vuorotellen. PCIe taas muistuttaa pakettikytkentäistä tiedonsiirtoverkkoa (erityisesti Ethernetin nykyaikaista tähtimäistä versiota) OSI-mallin mukaisella protokollapinolla, joten periaatteessa PCIe ei ole väylä sanan perinteisessä merkityksessä. PCIe:ssä jokaisella laitteella on oma tiedonsiirtokanava kytkimeen. Tiedonsiirtokanava koostuu linjoista (engl. lane). Yksi linja koostuu kahdesta yksisuuntaisesta johdinparista, joista toinen siirtää tietoa kytkimen suuntaan ja toinen taas kytkimeltä laitteelle. Tämän ansiosta voidaan samanaikaisesti siirtää tietoa molempiin suuntiin. Standardi tukee 1, 2, 4, 8, 12, 16 ja 32 linjan ratkaisuja, joista nykyään yleisimmin käytössä ovat yhden (1x), neljän (x4), kahdeksan (x8) ja 16 (x16) linjan kytkennät.[5] Kytkin reitittää tietoa PCIe -laitteiden ja muun järjestelmän välillä tiedonsiirtopakettien otsikkokenttien sisältämän tiedon perusteella.[3] Toisin kuin monet aiemmat väylätekniikat, PCIe käyttää CRC-virheenkorjausta luotettavuuden parantamiseksi.[6]

PCIe-tyypit ja -muunnokset[muokkaa | muokkaa wikitekstiä]

Täysikokoinen PCI Express[muokkaa | muokkaa wikitekstiä]

Erityyppisiä PCI-liitäntöjä. Liitännät ylhäältä alas:
PCI Express ×4
PCI Express ×16
PCI Express ×1
PCI Express ×16
PCI (32-bittinen)

Täysikokoisia PCIe kortteja käytetään etenkin pöytätietokoneissa. Kortit sopivat kantansa kokoiseen tai suurempaan PCIe-paikkaan, mutta eivät useimmissa tapauksissa pienempään ilman modifiointia. On tosin myös saatavilla emolevyjä, joissa PCIe-porttien toinen pää on avoin mahdollistaen pidempien korttien asentamisen pienempään liittimeen. Joissain emolevyissä on jätetty myös osa liitännöistä asentamatta, vaikka liittimen fyysinen koko olisi mahdollistanut niiden käytön.[5] PCI Express -liittimien pituuserot johtuvat niiden vaihtelevasta pinnimäärästä. Lyhemmissä liittimissä on vähemmän pinnejä, ja ne pystyvät tämän takia pienempiin siirtonopeuksiin, mutta vaativat kuitenkin samalla vähemmän tilaa emolevyllä. Pidempien liitinten etuna on niiden tarjoama suurempi siirtonopeus, mutta ne vaativat vastaavasti enemmän tilaa emolevyllä.

Tästä esimerkkinä x16-paikka, joka toimii ×4 nopeuksilla. Korttipaikkaan mahtuu mikä tahansa ×1, ×2, ×4, ×8 tai ×16 -kortti, mutta se antaa kortille vain x4-nopeuden. Tällainen konfiguraatio voidaan ilmoittaa esimerkiksi seuraavilla tavoilla: ×16 (×4 mode); tai "×koko @ ×nopeudella" (×16 @ ×4). Tällaisten liittimien etuna on niiden tuoma mahdollisuus asentaa suurempia kortteja ilman, että emolevyn tarvitsee tukea kortin vaatimaa täyttä nopeutta.

Kytkennät[muokkaa | muokkaa wikitekstiä]

Seuraavassa taulukossa esitetään PCI Express kortin A- ja B-puolien pinnien käyttötarkoitukset.

PCI Express liittimen kytkennät (×1, ×4, ×8 ja ×16 -versiot)
Pinni B-puoli A-puoli Käyttötarkoitus Pinni B-puoli A-puoli Käyttötarkoitus
1 +12 V PRSNT1# Must connect to farthest PRSNT2# pin 50 HSOp(8) Varattu Lane 8 transmit data, + and −
2 +12 V +12 V 51 HSOn(8) Ground
3 +12 V +12 V 52 Ground HSIp(8) Lane 8 receive data, + and −
4 Ground Ground 53 Ground HSIn(8)
5 SMCLK TCK SMBus and JTAG port pins 54 HSOp(9) Ground Lane 9 transmit data, + and −
6 SMDAT TDI 55 HSOn(9) Ground
7 Ground TDO 56 Ground HSIp(9) Lane 9 receive data, + and −
8 +3.3 V TMS 57 Ground HSIn(9)
9 TRST# +3.3 V 58 HSOp(10) Ground Lane 10 transmit data, + and −
10 +3.3 V aux +3.3 V Standby power 59 HSOn(10) Ground
11 WAKE# PERST# Link reactivation; fundamental reset 60 Ground HSIp(10) Lane 10 receive data, + and −
Key notch 61 Ground HSIn(10)
12 CLKREQ# Ground Request running clock 62 HSOp(11) Ground Lane 11 transmit data, + and −
13 Ground REFCLK+ Reference clock differential pair 63 HSOn(11) Ground
14 HSOp(0) REFCLK− Lane 0 transmit data, + and − 64 Ground HSIp(11) Lane 11 receive data, + and −
15 HSOn(0) Ground 65 Ground HSIn(11)
16 Ground HSIp(0) Lane 0 receive data, + and − 66 HSOp(12) Ground Lane 12 transmit data, + and −
17 PRSNT2# HSIn(0) 67 HSOn(12) Ground
18 Ground Ground 68 Ground HSIp(12) Lane 12 receive data, + and −
PCI Express ×1 cards end at pin 18 69 Ground HSIn(12)
19 HSOp(1) Varattu Lane 1 transmit data, + and − 70 HSOp(13) Ground Lane 13 transmit data, + and −
20 HSOn(1) Ground 71 HSOn(13) Ground
21 Ground HSIp(1) Lane 1 receive data, + and − 72 Ground HSIp(13) Lane 13 receive data, + and −
22 Ground HSIn(1) 73 Ground HSIn(13)
23 HSOp(2) Ground Lane 2 transmit data, + and − 74 HSOp(14) Ground Lane 14 transmit data, + and −
24 HSOn(2) Ground 75 HSOn(14) Ground
25 Ground HSIp(2) Lane 2 receive data, + and − 76 Ground HSIp(14) Lane 14 receive data, + and −
26 Ground HSIn(2) 77 Ground HSIn(14)
27 HSOp(3) Ground Lane 3 transmit data, + and − 78 HSOp(15) Ground Lane 15 transmit data, + and −
28 HSOn(3) Ground 79 HSOn(15) Ground
29 Ground HSIp(3) Lane 3 receive data, + and − 80 Ground HSIp(15) Lane 15 receive data, + and −
30 Varattu HSIn(3) 81 PRSNT2# HSIn(15)
31 PRSNT2# Ground 82 Varattu Ground
32 Ground Varattu
PCI Express ×4 cards end at pin 32
33 HSOp(4) Varattu Lane 4 transmit data, + and −
34 HSOn(4) Ground
35 Ground HSIp(4) Lane 4 receive data, + and −
36 Ground HSIn(4)
37 HSOp(5) Ground Lane 5 transmit data, + and −
38 HSOn(5) Ground
39 Ground HSIp(5) Lane 5 receive data, + and −
40 Ground HSIn(5)
41 HSOp(6) Ground Lane 6 transmit data, + and −
42 HSOn(6) Ground
43 Ground HSIp(6) Lane 6 receive data, + and − Legend
44 Ground HSIn(6) Ground pin Zero volt reference
45 HSOp(7) Ground Lane 7 transmit data, + and − Power pin Supplies power to the PCIe card
46 HSOn(7) Ground Output pin Signal from the card to the motherboard
47 Ground HSIp(7) Lane 7 receive data, + and − Input pin Signal from the motherboard to the card
48 PRSNT2# HSIn(7) Open drain May be pulled low or sensed by multiple cards
49 Ground Ground Sense pin Tied together on card
PCI Express ×8 cards end at pin 49 Varattu Ei käytössä

PCI Express Mini -kortti[muokkaa | muokkaa wikitekstiä]

PCIe Mini WLAN-kortti liittimineen
MiniPCI ja MiniPCI Express -kortit vierekkäin

PCI Express Mini Card (myös Mini PCI Express, Mini PCIe, Mini PCI-E, mPCIe tai PEM) on PCI Express -väylään pohjautuva korvaaja vanhemmalle Mini PCI -liitännälle. Sen on kehittänyt PCI-SIG, ja liitäntä tukee sekä PCIe- että USB 2.0 -toiminnallisuuksia. Monet vuoden 2005 jälkeen valmistetut kannettavat tietokoneet tukevat jotain PCIe-pohjaista liitäntästandardia.[7]

Fyysiset mitat[muokkaa | muokkaa wikitekstiä]

PCI Express Mini -kortin ulkomitat ovat 30×50.95 mm. Kytkentä kortin ja emolevyn välillä tapahtuu 52-pinnisellä liittimellä, jonka pinnit on jaettu kahdelle puolelle. Yhden pinnin leveys on 0,6 mm. Kummallakin puolella on 26 pinniä, jotka on jaettu yhteen kahdeksan ja yhteen 18 pinnin osaan. (ks. kuva) Mini-kortista on olemassa myös puolet pienempi versio, jonka ulkomitat ovat 30×26.8 mm. mPCIe piirilevyn paksuus on 1.0 mm ilman komponentteja.[7]

PCIe-liitännän muunnoksia[muokkaa | muokkaa wikitekstiä]

Monet muut laajennuskortit on kehitetty PCIe:n pohjalta. Näihin kuuluvat muun muassa:

Historia ja versiot[muokkaa | muokkaa wikitekstiä]

PCIe-liitännän suunnitteluvaiheessa sitä kutsuttiin lyhenteellä HSI (for High Speed Interconnect), joka vaihtui vielä nimelle 3GIO (for 3rd Generation I/O) ennne lopullista asettumistaan PCI Express nimelle, jolla liitäntä nykyisin tunnetaan. Työ PCIe-standardin kanssa käynnisyi Arapaho Work Group (AWG) -ryhmässä, joka koostui alkuun vain Intelin insinööreistä. Myöhemmin siihen liittyi kuitenkin henkilöitä Intelin kanssa yhteistyötä tehneistä yrityksistä.[11]

PCIe -tekniikkaa päivitetään edelleen ja 2013 se oli saavuttanut neljännen versionsa.

PCI Express 1.0a[muokkaa | muokkaa wikitekstiä]

PCI-SIG esitteli 2003 PCIe 1.0a -liitännän, joka pystyi siirtämään 250 MB/s dataa linjaa kohden ja saavuttamaan 2,5 GT/s siirtonopeuden.[12]

PCIe 1.x käyttää 8b/10b-koodausta. Linkki toimii 2,5 GHz kellotaajuudella, kuljettaen 250 000 000 tehollista tavua sekunnissa (250 MB/s) suurimmalla nopeudellaan.[5]

PCI Express 1.1[muokkaa | muokkaa wikitekstiä]

PCI-SIG julkaisi helmikuussa 2005 PCIe 1.1 -liitännän.[13] Päivitys sisälsi useita täsmennyksiä ja parannuksia, mutta se oli täysin yhteensopiva edellisen PCIe 1.0a -standardin kanssa. Päivitys ei sisältänyt muutoksia tiedonsiirtonopeuksiin.

PCI Express 2.0[muokkaa | muokkaa wikitekstiä]

PCI-SIG julkaisi PCI Express Base 2.0 -määritelmän 15. tammikuuta 2007.[14] PCIe 2.0 -standardissa on kaksinkertaiset tiedonsiirtonopeudet 1.0 -standardiin nähden (2,5 GT/s vs 5 GT/s; 250 MB/s vs 500 MB/s). 32-kaistainen PCIe-liitäntä (x32) pystyy siirtämään yhteenlaskettuna 16 GB/s.

PCIe 2.0 -emolevyliitännät ovat täysin yhteensopivia PCIe v1.x -korttien kanssa. PCIe 2.0 toimivat myös PCIe 1.x liitännässä, mutta niiden PCI Express 1.1 -standardin mukainen pienempi kaistanleveys rajoittaa niiden toimintaa. Yleisesti ottaen PCIe 2.0 -liitännälle suunnitellut näytönohjaimet toimivat v1.1 tai v1.0a emolevyjen kanssa ja päinvastoin.

The PCI-SIG kertoi myös, että PCIe 2.0 sisältää parannuksia Point-to-Point -siirtoprotokollaan ja ohjelmistoarkkitehtuuriin.[15]

Intelin ensimmäinen PCIe 2.0 yhteensopiva piirisarja oli X38, ja ensimmäisten siihen pohjautuvien emolevyjen toimitukset alkoivat eri valmistajilta (Abit, Asus, Gigabyte) lokakuussa 2007.[16] AMD alkoi tukea PCIe 2.0:aa AMD 700 -piirisarjasta ja NVIDIA MCP72 -piirisarjasta.[17] Kaikki Intelin edelliset piirisarjat, mukaanlukien Intel P35 tukivat PCIe 1.1 tai 1.0a -standardia.[18]

PCIe 2.0 käyttää 1.x -liitännän tapaan 8b/10b-koodausta[5], toimittaen tehollisen 4 Gbit/s siirtonopeuden per kaista.

PCI Express 2.1[muokkaa | muokkaa wikitekstiä]

PCI Express 2.1 tukee suurta osaa PCIe 3.0:lle suunnitelluista of the käsittely-, tuki- ja ongelmanratkaisupäivityksistä. Sen siirtonopeudet ovat tosin samat, kuin PCIe 2.0 -liitännässä, mutta osa 2.1-standardille suunnitelluista korteista ei ole yhteensopivia joidenkin vanhempien 1.0 tai 1.0a -emolevyjen kanssa, koska 2.1-standardin kortit ottavat enemmän tehoa PCIe-liitännästä.[19] Useille 1.1-standardin emolevyille on saatavilla BIOS-päivitys, joka tekee niistä yhteensopivia 2.1-korttien kanssa.

PCI Express 3.x[muokkaa | muokkaa wikitekstiä]

PCIe x1 -porttiin asentuva X-Fi Titanium -äänikortti

PCI Express 3.0 tuli saataville marraskuussa 2010 useiden viivästymisten jälkeen. Tätä ennen elokuussa 2007, PCI-SIG oli ilmoittanut, että tuleva PCI Express 3.0 pystyisi 8 GT/s siirtonopeuksiin, mutta olisi silti samalla taaksepäin yhteensopiva edellisten PCIe-versioiden kanssa. Samalla ilmoitettiin, että PCI Express 3.0 lopullinen määritelmä tulisi viivästymään vuodelle 2011.[20][21]

Kuuden kuukauden tutkimusten jälkeen PCI-SIG totesi 8 GT/s siirtonopeuksien toteuttamisen mahdolliseksi jo olemassaolevalla edullisilla materiaaleilla, tekniikalla ja infrastruktuurilla ilman, että menetetään yhteensopivuus PCIe-protokollapinoon (PCIe protocol stack).

PCIe 3.0 -standardissa siirrytään edellisissä versioissa käytetystä 8b/10b-koodauksesta 128b/130b-koodaukseen[22][5]

18. marraskuuta 2010, PCI Special Interest Group julkaisi lopullisen PCI Express 3.0 -standardin.[23]

PCI Express 3.1 on suunniteltu julkaistavaksi vuoden 2013 lopulla tai 2014 alussa.[10][24]

PCI Express 4.0[muokkaa | muokkaa wikitekstiä]

29. marraskuuta 2011, PCI-SIG julkaisi PCI Express 4.0 -standardin, joka pystyy 16 GT/s siirtonopeuksiin kuparipohjaisella tekniikalla. 4.0:n lopullista julkaisua on ennustettu vuosille 2014-2015.[25][26] Liitäntä tulee käyttämään PCIe 3.0:n tapaan 128b/130b-koodausta.[5]

Yhteensopivuus[muokkaa | muokkaa wikitekstiä]

PCIe -liittimiä on standardoitu mm. 1x, 4x, 8x ja 16x -väylille. Pienemmällä liittimellä varustettuja laitteita voidaan liittää suurempaan liittimeen. Arkkitehtuurin ja signaloinnin puolesta suuremman väylän laite voitaisiin liittää myös pienempään väylään, sillä kytkettäessä laitteet säätävät nopeutensa käytössä olevien linjojen mukaan. Tosin useimmissa tapauksissa suuremmat liittimet eivät kuitenkaan ole fyysisesti yhteensopivia pienempien kanssa.[5]

Vanhempia PCI-väylää käyttäviä laajennuskortteja ei voi liittää PCIe-väylään eikä toisinpäin, sillä väylät ovat täysin erilaisia eivätkä millään tasolla yhteensopivia tai samankaltaisia nimeään ja käyttötarkoitustaan lukuunottamatta.[27]

Sovellukset[muokkaa | muokkaa wikitekstiä]

Ensimmäisenä vanhoista väyläratkaisuista PCIe:hen ovat siirtyneet suuria tiedonsiirtonopeuksia tarvitsevat laitteet kuten esimerkiksi tehokkaat näytönohjaimet, verkkokortit ja kiintolevyohjaimet. Nykyään myös muita oheislaitteita on yhä enemmän tarjolla PCIe -liitännällä, esimerkkinä suurinopeuksiset SSD-levyt.

Katso myös[muokkaa | muokkaa wikitekstiä]

Viitteet[muokkaa | muokkaa wikitekstiä]

Commons
Wikimedia Commonsissa on kuvia tai muita tiedostoja aiheesta PCI Express.
  1. a b Zhang, Yanmin & Nguyen, T. Long: Enable PCI Express Advanced Error Reporting in the Kernel (PDF) Proceedings of the Linux Symposium. Kesäkuu 2007. Fedora project. Viitattu 11.3.2014. (englanniksi)
  2. Teglet, Traian: AGP Almost at the End of the Road 5.6.2008. Softpedia. Viitattu 16.3.2014. (englanniksi)
  3. a b Wilson, Trasy V.: How PCI Express Works HowStuffWorks. Viitattu 16.3.2014. (englanniksi)
  4. PCIe® Base 3.0 Specification PCI-SIG. Viitattu 11.3.2014. (englanniksi)
  5. a b c d e f g Torres, Gabriel & Lima, Cássio: Everything You Need to Know About the PCI Express 12.7.2012. Hardware Secrets. Viitattu 11.3.2014. (englanniksi)
  6. Bhatt, Ajay V.: Creating a PCI Express Interconnect (PDF) PCI-SIG. Viitattu 18.3.2014. (englanniksi)
  7. a b PCI-SIG Engineering Change Notice (PDF) 16.3.2006. PCI-SIG. Viitattu 18.3.2014. (englanniksi)
  8. About ExpressCard Technology USB Implementers Forum, Inc.. Viitattu 18.3.2014. (englanniksi)
  9. Loberg, Chris: Get ready for M-PCIe testing 25.10.2013. EDN. Viitattu 11.3.2014. (englanniksi)
  10. a b Myslewski, Rik: The future of PCIe: Get small, speed up, think outside the box 13.9.2013. The Register. Viitattu 4.3.2014. (englanniksi)
  11. 22 Industry Leaders Join Arapahoe Work Group as Key Developers 29.8.2001. PCI-SIG. Viitattu 16.3.2014. (englanniksi)
  12. Rowe, Martin: What does GT/s mean, anyway? 1.3.2007. EDN. Viitattu 11.3.2014. (englanniksi)
  13. PCI-SIG® Presents: PCI Express™ 1.1 & PCI Firmware 3.0 Technical Update 25.2.2005. PCI-SIG. Viitattu 4.3.2014. (englanniksi)
  14. PCI-SIG delivers PCI Express 2.0 specification (PDF) 15.1.2007. PCI-SIG. Viitattu 11.3.2014. (englanniksi)
  15. Smith, Tony: PCI Express 2.0 final draft spec published 11.10.2006. The Register. Viitattu 16.3.2014. (englanniksi)
  16. Key, Gary & Fink, Wesley: Intel P35: Intel's Mainstream Chipset Grows Up 21.5.2007. AnandTech. Viitattu 16.3.2014. (englanniksi)
  17. Huynh, Anh Tuan: NVIDIA "MCP72" Details Unveiled 7.6.2009. DailyTech. Viitattu 16.3.2014. (englanniksi)
  18. Intel P35 Express Chipset Product Brief (PDF) Intel. Viitattu 16.3.2014. (englanniksi)
  19. Difference Between PCI 2.0 and PCI 2.1 11.5.2011. DifferenceBetween.net. Viitattu 16.3.2014. (englanniksi)
  20. Hachman, Mark: PCI Express 3.0 Spec Pushed Out to 2010 5.8.2009. PCMag.com. Viitattu 16.3.2014. (englanniksi)
  21. PCI Express 3.0 Bandwidth: 8.0 Gigatransfers/s 9.8.2007. ExtremeTech. Viitattu 16.3.2013. (englanniksi)
  22. PCI Express 3.0 Frequently Asked Questions PCI-SIG. Viitattu 16.3.2014.
  23. Shilov, Anton: PCI Special Interest Group Publishes PCI Express 3.0 Standard. 18.11.2010. X-bit labs. Viitattu 16.3.2014. (englanniksi)
  24. Martin, Ryan: PCIe 3.1 and 4.0 Specifications Revealed 1.7.2013. eTeknix. Viitattu 4.3.2014. (englanniksi)
  25. PCI-SIG announces PCI Express 4.0 evolution to 16GT/s, twice the throughput of PCI Express 3.0 technology 29.11.2011. PCI-SIG. Viitattu 16.3.2014. (englanniksi)
  26. Suvanto, Ville: PCI-SIG paljasti PCI Express 4.0:n 29.11.2011. Muropaketti. Viitattu 19.3.2014.
  27. How can I tell the difference between PCI, PCI-X and PCI Express? We Love Macs. Viitattu 16.3.2014. (englanniksi)

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]