PCI-tyypit e. Tavalliset PCI-paikat ja -kortit. Laitteistokeskeytykset PC-yhteensopivissa tietokoneissa

#PCI_Express

Intelin ja sen kumppaneiden kehittämä PCI Express -sarjaväylä on tarkoitettu korvaamaan rinnakkais-PCI-väylä ja sen laajennettu ja erikoistunut AGP-versio. Samanlaisista nimistään huolimatta PCI- ja PCI Express -väylillä on vain vähän yhteistä. PCI:ssä käytetty asettaa rajoituksia väylän kaistanleveydelle ja taajuudelle; PCI Expressissä käytetty sarjatiedonsiirto tarjoaa skaalautuvuuden (spesifikaatiot kuvaavat PCI Express 1x, 2x, 4x, 8x, 16x ja 32x toteutukset). Tällä hetkellä väylän nykyinen versio indeksillä 3.0

PCI-E 3.0

Marraskuussa 2010 PCI-SIG-organisaatio, joka standardoi PCI Express -teknologiaa, ilmoitti ottavansa käyttöön PCIe Base 3.0 -määrityksen.
Keskeinen ero kahdesta edellisestä PCIe-versiosta voimme harkita muokattua koodausjärjestelmää - nyt 8 bitin hyödyllisen tiedon sijasta 10 lähetetystä bitistä (8b/10b), 128 bittiä hyödyllistä tietoa lähetetystä 130 bitistä voidaan lähettää linja-auto, ts. Hyötykuormakerroin on lähes 100 %. Lisäksi tiedonsiirtonopeus on noussut 8 GT/s:iin. Muistakaamme, että tämä arvo PCIe 1.x:lle oli 2,5 GT/s ja PCIe 2.x - 5 GT/s.
Kaikki edellä mainitut muutokset johtivat väylän kaistanleveyden kaksinkertaistumiseen verrattuna PCI-E 2.x -väylään. Tämä tarkoittaa, että PCIe 3.0 -väylän kokonaiskaistanleveys 16x-kokoonpanossa saavuttaa 32 Gb/s. Ensimmäiset PCIe 3.0 -ohjaimella varustetut prosessorit olivat Ivy Bridge -mikroarkkitehtuuriin perustuvat Intel-prosessorit.

Huolimatta suorituskyvyn yli kolminkertaisesta kasvusta PCI-E-ominaisuus 3.0 verrattuna PCI-E 1.1:een, samojen näytönohjainkorttien suorituskyky eri liitäntöjä käytettäessä ei eroa paljon. Alla oleva taulukko näyttää tulokset GeForce testit GTX 980 eri testeissä. Mittaukset tehtiin yhdellä graafiset asetukset, yhdessä kokoonpanossa PCI-E-väylän versiota muutettiin BIOS-asetuksissa.

PCI Express 3.0 on edelleen taaksepäin yhteensopiva aikaisemmat versiot PCIe.

PCI-E 2.0

Vuonna 2007 otettiin käyttöön uusi PCI Express -väyläspesifikaatio, 2.0, jonka tärkein ero on kunkin siirtolinjan kaksinkertainen kaistanleveys kumpaankin suuntaan, ts. Näytönohjainkorteissa käytetyn PCI-E 16x suosituimman version tapauksessa nopeus on 8 Gb/s kumpaankin suuntaan. Ensimmäinen piirisarja, jossa PCI-E-tuki 2.0:sta tuli Intel X38.

PCI-E 2.0 on täysin taaksepäin yhteensopiva PCI-E 1.0:n kanssa, ts. kaikki olemassa olevat laitteet PCI-E-liitäntä 1.0 voi toimia PCI-E 2.0 -paikoissa ja päinvastoin.

PCI-E 1.1

Ensimmäinen versio PCI Express -liittymästä, joka ilmestyi vuonna 2002. Tarjosi 500 MB/s siirtonopeuden linjaa kohden.

PCI-E:n eri sukupolvien toimintanopeuksien vertailu

PCI-väylä toimii 33 tai 66 MHz taajuudella ja tarjoaa 133 tai 266 MB/s kaistanleveyttä, mutta tämä kaistanleveys jaetaan kaikkien PCI-laitteiden kesken. Taajuus, jolla PCI Express -väylä toimii, on 1,1 - 2,5 GHz, mikä antaa suorituskyvyn 2500 MHz / 10 * 8 = 250 * 8 Mbps = 250 Mbps (8 bitin datan lähettämisen redundantin koodauksen vuoksi 10 bittiä on itse asiassa lähetetyt tiedot) jokaiselle PCI Express 1.1 x1 -laitteelle yhteen suuntaan. Jos rivejä on useita, suorituskyvyn laskemiseksi arvo 250 Mb/s on kerrottava juovien lukumäärällä ja kahdella, koska PCI Express on kaksisuuntainen väylä.

PCI Express 1.1 -kaistan määrä Kaistanleveys yhteen suuntaan Kokonaiskapasiteetti
1 250 Mt/s 500 MB/s
2 500 Mb/s 1 Gt/s
4 1 Gt/s 2 Gt/s
8 2 Gt/s 4 Gt/s
16 4 Gt/s 8 Gt/s
32 8 Gt/s 16 Gt/s

Huomio! Älä yritä asentaa PCI Express -korttia PCI-korttipaikkaan, ja päinvastoin, PCI-kortit eivät asennu PCI Express -aukkoon. Esimerkiksi PCI Express 1x -kortti voidaan kuitenkin asentaa ja se toimii todennäköisesti normaalisti PCI Express 8x- tai 16x -paikassa, mutta ei päinvastoin: PCI Express 16x -kortti ei sovi PCI Express 1x -paikkaan. .

Kun vaihdat vain yhtä näytönohjainta, muista ottaa huomioon, että uudet mallit eivät välttämättä sovi emolevyllesi, koska laajennuspaikkoja ei ole vain useita, vaan niistä on myös useita eri versioita (sekä AGP:lle että PCI Expressille) . Jos et ole varma tietämykseesi tästä aiheesta, lue osio huolellisesti.

Kuten yllä totesimme, näytönohjain asetetaan tietokoneen emolevyn erityiseen laajennuspaikkaan, ja tämän paikan kautta videosiru vaihtaa tietoja järjestelmän keskusprosessorin kanssa. Emolevyissä on useimmiten yhden tai kahden tyyppisiä laajennuspaikkoja, jotka eroavat kaistanleveydeltä, tehoasetuksista ja muista ominaisuuksista, eivätkä kaikki sovellu näytönohjainkorttien asentamiseen. On tärkeää tietää järjestelmässä olevat liittimet ja ostaa vain niitä vastaava näytönohjain. Erilaiset laajennusliittimet ovat fyysisesti ja loogisesti yhteensopimattomia, ja yhdelle tyypille suunniteltu näytönohjain ei sovi toiseen eikä toimi.

Onneksi viime aikojen aikana ISA- ja VESA Local Bus -laajennuspaikat (jotka kiinnostavat vain tulevia arkeologeja) ja vastaavat näytönohjaimet ovat unohdettu, vaan myös PCI-paikkojen näytönohjaimet ovat käytännössä kadonneet, ja kaikki AGP-mallit ovat toivottoman vanhentuneita. Ja kaikki nykyaikaiset GPU:t käyttävät vain yhden tyyppistä liitäntää - PCI Expressiä. Aiemmin AGP-standardia käytettiin laajasti, nämä rajapinnat eroavat toisistaan ​​merkittävästi, mukaan lukien suorituskyvyn, näytönohjaimen virransyöttöominaisuuksien sekä muiden vähemmän tärkeiden ominaisuuksien suhteen.

Vain hyvin pienessä osassa nykyaikaisia ​​emolevyjä ei ole PCI Express -paikkoja, ja jos järjestelmäsi on niin vanha, että se käyttää AGP-näytönohjainta, et voi päivittää sitä - sinun on vaihdettava koko järjestelmä. Katsotaanpa tarkemmin näitä liitäntöjä, joita sinun on etsittävä emolevyistäsi. Katso kuvat ja vertaa.

AGP (Accelerated Graphics Port tai Advanced Graphics Port) on nopea PCI-spesifikaatioon perustuva liitäntä, joka on luotu erityisesti näytönohjainten ja emolevyjen yhdistämiseen. AGP-väylä, vaikka se sopii paremmin videosovittimille kuin PCI (ei Express!), tarjoaa suoran yhteyden keskusprosessorin ja videosirun välillä sekä joitain muita ominaisuuksia, jotka joissakin tapauksissa lisäävät suorituskykyä, esimerkiksi GART - kyky lukea tekstuurit suoraan RAM-muistista kopioimatta niitä videomuistiin; korkeammat kellotaajuudet, yksinkertaistetut tiedonsiirtoprotokollat ​​jne., mutta tämän tyyppinen korttipaikka on toivottoman vanhentunut ja uusia tuotteita sen kanssa ei ole julkaistu pitkään aikaan.

Mutta silti, järjestyksen vuoksi mainitaan tämä tyyppi. AGP-spesifikaatiot ilmestyivät vuonna 1997, kun Intel julkaisi määrittelystä ensimmäisen version, joka sisältää kaksi nopeutta: 1x ja 2x. Toisessa versiossa (2.0) ilmestyi AGP 4x ja versiossa 3.0 - 8x. Harkitsemme kaikkia vaihtoehtoja yksityiskohtaisemmin:
AGP 1x on 32-bittinen linkki, joka toimii 66 MHz:n taajuudella ja jonka suorituskyky on 266 MB/s, mikä on kaksi kertaa PCI-kaistanleveys (133 MB/s, 33 MHz ja 32 bittiä).
AGP 2x - 32-bittinen kanava, joka toimii kaksinkertaisella suorituskyvyllä 533 MB/s samalla 66 MHz:n taajuudella johtuen tiedonsiirrosta kahdella reunalla, samanlainen DDR muisti(vain "näytönohjainkorttiin" -suuntaan).
AGP 4x on sama 32-bittinen kanava, joka toimii 66 MHz:llä, mutta lisäsäätöjen seurauksena saavutettiin nelinkertainen "tehokas" 266 MHz:n taajuus yli 1 Gt/s:n maksiminopeudella.
AGP 8x - tämän muunnelman lisämuutokset mahdollistivat jopa 2,1 Gt/s:n suorituskyvyn.

AGP-liitännällä varustetut näytönohjaimet ja vastaavat paikat emolevyillä ovat yhteensopivia tietyissä rajoissa. 1,5 V:n näytönohjaimet eivät toimi 3,3 V:n paikoissa ja päinvastoin. On kuitenkin olemassa myös yleisliittimiä, jotka tukevat molempia levytyyppejä. Moraalisesti ja fyysisesti vanhentuneeseen AGP-paikkaan suunniteltuja näytönohjaimia ei ole harkittu pitkään aikaan, joten vanhojen AGP-järjestelmien oppimiseksi olisi parempi lukea artikkeli:

PCI Express (PCIe tai PCI-E, ei pidä sekoittaa PCI-X:ään), joka tunnettiin aiemmin nimellä Arapahoe tai 3GIO, eroaa PCI:stä ja AGP:stä siinä, että se on sarjaliitäntä eikä rinnakkaisliitäntä, mikä mahdollistaa vähemmän nastoja ja suuremman kaistanleveyden. PCIe on vain yksi esimerkki siirtymisestä rinnakkaiset linja-autot sarjaan, tässä on muita esimerkkejä tästä liikkeestä: HyperTransport, Serial ATA, USB ja FireWire. PCI Expressin tärkeä etu on, että se mahdollistaa useiden yksittäisten kaistan pinoamisen yhdeksi kanavaksi suorituskyvyn lisäämiseksi. Monikanavainen sarjasuunnittelu lisää joustavuutta, hitaille laitteille voidaan varata vähemmän linjoja pienellä kontaktimäärällä ja nopeille laitteille voidaan varata enemmän.

PCIe 1.0 -liitäntä siirtää dataa nopeudella 250 Mt/s kaistaa kohden, mikä on lähes kaksinkertainen kapasiteetti perinteisiin PCI-korttipaikkoihin verrattuna. PCI Express 1.0 -paikkojen tukemien kaistan enimmäismäärä on 32, mikä antaa jopa 8 Gt/s suorituskyvyn. Kahdeksalla työkaistalla varustettu PCIe-paikka on tällä parametrilla suunnilleen verrattavissa nopeimpaan AGP-versioon - 8x. Mikä on vieläkin vaikuttavampi, kun otetaan huomioon kyky lähettää samanaikaisesti molempiin suuntiin suurilla nopeuksilla. Yleisimmät PCI Express x1 -paikat tarjoavat yhden kaistan kaistanleveyttä (250 MB/s) kumpaankin suuntaan, kun taas näytönohjainkorteissa käytettävä PCI Express x16, joka yhdistää 16 kaistaa, tarjoaa jopa 4 Gt/s kaistanleveyttä kumpaankin suuntaan.

Vaikka kahden PCIe-laitteen välinen yhteys koostuu joskus useista kaistasta, kaikki laitteet tukevat vähintään yhtä kaistaa, mutta voivat valinnaisesti käsitellä niitä useampia. Fyysisesti PCIe-laajennuskortit sopivat ja toimivat normaalisti kaikissa paikoissa, joissa on yhtä suuri tai suurempi määrä kaistaa, joten PCI Express x1 -kortti toimii sujuvasti x4- ja x16-paikoissa. Lisäksi paikka on fyysisesti suurempi koko voi toimia loogisesti pienemmällä määrällä linjoja (esimerkiksi näennäisesti normaali x16-liitin, mutta vain 8 linjaa reititetään). Missä tahansa yllä olevista vaihtoehdoista PCIe itse valitsee suurimman mahdollinen tila, ja se toimii hyvin.

Useimmiten videosovittimissa käytetään x16-liittimiä, mutta on myös levyjä, joissa on x1-liittimet. Ja useimmat emolevyt, joissa on kaksi PCI Express x16 -paikkaa, toimivat x8-tilassa SLI- ja CrossFire-järjestelmien luomiseksi. Fyysisesti muita paikkavaihtoehtoja, kuten x4, ei käytetä näytönohjainkorteissa. Muistutan, että kaikki tämä koskee vain fyysistä tasoa, on myös emolevyjä, joissa on fyysiset PCI-E x16 -liittimet, mutta todellisuudessa 8, 4 tai jopa 1 kanavaa. Ja kaikki 16 kanavalle suunnitellut näytönohjaimet toimivat tällaisissa paikoissa, mutta heikommin. Muuten, yllä olevassa kuvassa näkyy x16-, x4- ja x1-paikat, ja vertailun vuoksi PCI on myös jäljellä (alla).

Vaikka pelien ero ei ole niin suuri. Tässä on esimerkiksi katsaus kahdesta verkkosivustollamme olevasta emolevystä, jossa tarkastellaan 3D-pelien nopeuden eroa kahdella emolevyllä, parilla testinäytönohjaimella, jotka toimivat 8-kanavaisessa ja 1-kanavaisessa tilassa:

Vertailu, josta olemme kiinnostuneita, on artikkelin lopussa, kiinnitä huomiota kahteen viimeiseen taulukkoon. Kuten näette, ero keskikokoisilla asetuksilla on hyvin pieni, mutta raskaissa tiloissa se alkaa kasvaa, ja suuri ero havaitaan vähemmän tehokkaan näytönohjaimen tapauksessa. Ota huomioon.

PCI Express eroaa suorituskyvyn lisäksi myös uusista virrankulutusominaisuuksista. Tämä tarve syntyi, koska AGP 8x -paikka (versio 3.0) pystyy siirtämään yhteensä enintään 40 wattia, mikä puuttui jo tuolloisista AGP:lle suunnitelluista näytönohjaimista, jotka asennettiin yhdellä tai kahdella tavallisella nelinapaisella teholla. liittimet. PCI Express -paikka voi kantaa jopa 75 W tehoa, ja 75 W lisätehoa on saatavana tavallisen kuusinapaisen virtaliittimen kautta (katso tämän osan viimeinen osa). Viime aikoina on ilmestynyt näytönohjain, jossa on kaksi tällaista liitintä, jotka yhteensä antavat jopa 225 W.

Myöhemmin asiaankuuluvia standardeja kehittävä PCI-SIG-ryhmä esitteli PCI Express 2.0:n tärkeimmät tekniset tiedot. PCIe:n toinen versio kaksinkertaisti vakiokaistanleveyden 2,5 Gbps:stä 5 Gbps:iin, joten x16-liitin voi siirtää dataa jopa 8 Gt/s nopeudella kumpaankin suuntaan. Samaan aikaan PCIe 2.0 on yhteensopiva PCIe 1.1:n kanssa. Vanhat laajennuskortit toimivat yleensä hyvin uusissa emolevyissä.

PCIe 2.0 -spesifikaatio tukee sekä 2,5 Gbps:n että 5 Gbps:n siirtonopeuksia varmistaakseen taaksepäin yhteensopivuuden olemassa olevien PCIe 1.0- ja 1.1 -ratkaisujen kanssa. PCI Express 2.0 taaksepäin yhteensopivuus mahdollistaa vanhojen 2,5 Gb/s ratkaisujen käytön 5,0 Gb/s paikoissa, jotka sitten toimivat pienemmällä nopeudella. Ja version 2.0 spesifikaatioiden mukaan suunnitellut laitteet voivat tukea 2,5 Gbps ja/tai 5 Gbps nopeuksia.

Vaikka PCI Express 2.0:n pääinnovaatio on nopeus kaksinkertaistettu 5 Gbps:iin, tämä ei ole ainoa muutos, vaan muitakin joustavuutta lisääviä muutoksia, uusia mekanismeja yhteysnopeuksien ohjelmointiin jne. Olemme kiinnostuneita muutoksista, jotka liittyvät laitteiden virtalähteen kanssa, koska näytönohjainten tehovaatimukset kasvavat tasaisesti. PCI-SIG on kehitetty uusi spesifikaatio Näytönohjainten kasvavaan virrankulutukseen vastaamiseksi se laajentaa nykyisen virtalähteen 225/300 W:iin näytönohjainkorttia kohden. Tämän määrityksen tukemiseksi käytetään uutta 2x4-nastaista virtaliitintä, joka on suunniteltu tarjoamaan virtaa huippuluokan näytönohjaimille.

PCI Express 2.0:a tukevat näytönohjaimet ja emolevyt ilmestyivät laajaan myyntiin jo vuonna 2007, eikä markkinoilta enää löydy muita. Molemmat suuret videosirujen valmistajat, AMD ja NVIDIA, ovat julkaisseet uusia GPU-linjoja ja niihin perustuvia näytönohjaimia, jotka tukevat PCI Expressin toisen version lisättyä kaistanleveyttä ja hyödyntävät laajennuskorttien uusia sähkötehoa. Kaikki ne ovat taaksepäin yhteensopivia emolevyjen kanssa, joissa on PCI Express 1.x -paikat, vaikka joissakin harvoissa tapauksissa on yhteensopimattomuutta, joten sinun on oltava varovainen.

Itse asiassa PCIe:n kolmannen version ilmestyminen oli ilmeinen tapahtuma. Marraskuussa 2010 PCI Expressin kolmannen version tekniset tiedot lopulta hyväksyttiin. Vaikka tämän liitännän siirtonopeus on 8 Gt/s 5 Gt/s sijasta versiossa 2.0, sen suorituskyky on jälleen kasvanut tasan kaksinkertaiseksi PCI Express 2.0 -standardiin verrattuna. Tätä varten he käyttivät erilaista koodausjärjestelmää väylän kautta lähetetyille tiedoille, mutta yhteensopivuus PCI Expressin aiempien versioiden kanssa säilyi. Ensimmäiset PCI Express 3.0 -version tuotteet esiteltiin kesällä 2011, ja todellisia laitteita on vasta alkanut ilmestyä markkinoille.

Kokonainen sota syttyi emolevyvalmistajien kesken oikeudesta olla ensimmäinen, joka esitteli PCI Express 3.0 -tukituotteen (perustuu pääasiassa Intelin piirisarja Z68), ja useat yritykset esittivät vastaavat lehdistötiedotteet kerralla. Vaikka oppaan päivityshetkellä tällaista tukea ei yksinkertaisesti ole olemassa, joten se ei yksinkertaisesti ole kiinnostavaa. Kun PCIe 3.0 -tukea tarvitaan, näkyviin tulee täysin erilaisia ​​​​levyjä. Todennäköisesti tämä tapahtuu aikaisintaan vuonna 2012.

Muuten, voimme olettaa, että PCI Express 4.0 otetaan käyttöön muutaman seuraavan vuoden aikana, ja uusi versio sillä on myös jälleen kaksinkertainen kysyntäkapasiteetti siihen mennessä. Mutta tämä ei tapahdu pian, emmekä ole vielä kiinnostuneita.

Ulkoinen PCI Express

Vuonna 2007 PCI-SIG, joka standardoi virallisesti PCI Express -ratkaisut, ilmoitti ottavansa käyttöön PCI Express External Cabling 1.0 -spesifikaation, joka kuvaa tiedonsiirtostandardia PCI Express 1.1 -ulkoisen liitännän kautta. Tämä versio mahdollistaa tiedonsiirron 2,5 Gbps:n nopeudella, ja seuraavan pitäisi nostaa suorituskyky 5 Gbps:iin. Standardi sisältää neljä ulkoista liitintä: PCI Express x1, x4, x8 ja x16. Vanhemmat liittimet on varustettu erityisellä kielekkeellä, joka helpottaa liittämistä.

PCI Express -liitännän ulkoista versiota voidaan käyttää paitsi ulkoisten näytönohjainkorttien, myös ulkoisten asemien ja muiden laajennuskorttien liittämiseen. Suositeltu kaapelin enimmäispituus on 10 metriä, mutta sitä voidaan pidentää liittämällä kaapelit toistimen kautta.

Teoriassa tämä voisi helpottaa kannettavan tietokoneen ystävien elämää, kun he käyttävät vähän virtaa sisäänrakennettua videoydintä käytettäessä akkuja ja tehokasta ulkoista näytönohjainta, kun ne on kytketty pöytätietokoneen näyttöön. Tällaisten näytönohjainkorttien päivittäminen on paljon helpompaa, PC-koteloa ei tarvitse avata. Valmistajat voivat luoda täysin uusia jäähdytysjärjestelmiä, joita laajennuskorttien ominaisuudet eivät rajoita, ja virtalähteen kanssa pitäisi olla vähemmän ongelmia - todennäköisesti käytetään ulkoisia virtalähteitä, jotka on suunniteltu erityisesti tietylle näytönohjaimelle yhdeksi ulkokuori näytönohjaimella, joka käyttää yhtä jäähdytysjärjestelmää. Se saattaa helpottaa järjestelmien kokoamista useille näytönohjaimille (SLI/CrossFire), ja ottaen huomioon mobiiliratkaisujen suosion jatkuvan kasvun, esim. ulkoinen PCI Expressin olisi pitänyt saada jonkin verran suosiota.

Heidän olisi pitänyt, mutta he eivät voittaneet. Syksystä 2011 lähtien markkinoilla ei käytännössä ole ulkoisia vaihtoehtoja näytönohjainkorteille. Niiden valikoimaa rajoittavat vanhentuneet videosirujen mallit ja kapea valikoima yhteensopivia kannettavia tietokoneita. Valitettavasti ulkoisten näytönohjainkorttien liiketoiminta ei mennyt pidemmälle ja kuoli hitaasti. Emme kuule enää edes voittavia mainoslausuntoja kannettavien tietokoneiden valmistajilta... Ehkä nykyaikaisten mobiilinäyttökorttien teho on yksinkertaisesti riittänyt vaativiin 3D-sovelluksiin, mukaan lukien monet pelit.

Lupaavassa oheislaitteiden liittämisliittymässä Thunderboltissa, joka tunnettiin aiemmin nimellä Light Peak, on edelleen toivoa ulkoisten ratkaisujen kehittämisestä. Sen on kehittänyt Intel Corporation DisplayPort-teknologiaan perustuen, ja ensimmäiset ratkaisut ovat jo julkaisseet Applen toimesta. Thunderbolt yhdistää DisplayPortin ja PCI Expressin ominaisuudet ja mahdollistaa ulkoisten laitteiden liittämisen. Toistaiseksi niitä ei kuitenkaan yksinkertaisesti ole olemassa, vaikka kaapelit ovat jo olemassa:

Tässä artikkelissa emme käsittele vanhentuneita liitäntöjä, koska suurin osa nykyaikaisista näytönohjaimista on suunniteltu PCI Express 2.0 -liitäntää varten, joten suosittelemme, että kaikki AGP-tiedot otetaan huomioon. Uudet levyt käyttävät PCI Express 2.0 -liitäntää, joka yhdistää 16 PCI Express -kaistan nopeuden, mikä antaa jopa 8 Gt/s kumpaankin suuntaan suorituskykyä, mikä on useita kertoja enemmän kuin parhaan AGP:n sama ominaisuus. Lisäksi PCI Express toimii sellaisilla nopeuksilla joka suuntaan, toisin kuin AGP.

Toisaalta PCI-E 3.0 -tukea sisältävät tuotteet eivät ole vielä varsinaisesti ilmestyneet, joten niitä ei myöskään ole kovin järkevää harkita. Jos puhumme vanhan päivittämisestä tai ostamisesta uusi lauta tai vaihtamalla samanaikaisesti järjestelmää ja näytönohjaimia, sinun on ostettava vain PCI Express 2.0 -liitännällä varustetut levyt, jotka ovat melko riittävät ja yleisimpiä useiden vuosien ajan, varsinkin kun PCI Expressin eri versioiden tuotteet ovat yhteensopivia keskenään.

Keväällä 1991 Intel sai päätökseen PCI-väylän ensimmäisen prototyyppiversion kehittämisen. Insinöörit saivat tehtäväkseen kehittää edullinen ja tehokas ratkaisu, joka toteuttaisi 486:n, Pentiumin ja Pentium Pro. Lisäksi oli tarpeen ottaa huomioon VESA:n tekemät virheet suunniteltaessa VLB-väylää (sähkökuorma ei sallinut useamman kuin 3 laajennuskortin kytkemistä) sekä toteuttaa automaattinen laitekonfigurointi.

Vuonna 1992 PCI-väylän ensimmäinen versio ilmestyi, Intel ilmoitti väylästandardin olevan avoin ja loi PCI Special Interest Groupin. Tämän ansiosta kaikilla kiinnostuneilla kehittäjillä on mahdollisuus luoda laitteita PCI-väylää varten ilman lisenssin ostamista. Väylän ensimmäisen version kellotaajuus oli 33 MHz, se saattoi olla 32- tai 64-bittinen ja laitteet toimivat 5 V:n tai 3,3 V:n signaaleilla. Väylän nopeus oli teoriassa 133 MB/s, mutta todellisuudessa nopeus oli noin 80 MB/s

Tärkeimmät ominaisuudet:

  • väylätaajuus - 33,33 tai 66,66 MHz, synkroninen lähetys;
  • väylän leveys - 32 tai 64 bittiä, multipleksoitu väylä (osoite ja tiedot lähetetään samoilla linjoilla);
  • 33,33 MHz:n 32-bittisen version huippunopeus on 133 MB/s;
  • muistin osoiteavaruus - 32 bittiä (4 tavua);
  • I/O-porttien osoiteavaruus - 32 bittiä (4 tavua);
  • konfigurointiosoitetila (yhdelle toiminnolle) - 256 tavua;
  • jännite - 3,3 tai 5 V.

Kuvia liittimistä:

MiniPCI - 124 pin
MiniPCI Express MiniSata/mSATA - 52 pin
Apple MBA SSD, 2012
Apple SSD, 2012
Applen PCIe SSD
MXM, näytönohjain, 230/232 pin

MXM2 NGIFF 75 nastaa

AVAIN PCIe x2

KEY B PCIe x4 Sata SMBus

MXM3, näytönohjain, 314 pin
PCI 5V
PCI Universal
PCI-X 5v
AGP Universal
AGP 3.3v
AGP 3.3 v + ADS teho
PCIe x1
PCIe x16
Mukautettu PCIe
ISA 8-bittinen

ISA 16-bittinen
eISA
VESA
NuBus
PDS
PDS
Apple II/GS Expasion -paikka
PC/XT/AT-laajennusväylä 8-bittinen
ISA (alan standardiarkkitehtuuri) - 16-bittinen
eISA
MBA - Micro Bus -arkkitehtuuri 16-bittinen
MBA - Micro Bus -arkkitehtuuri 16-bittisellä videolla
MBA - Micro Bus -arkkitehtuuri 32-bittinen
MBA - Micro Bus -arkkitehtuuri 32-bittisellä videolla
ISA 16 + VLB (VESA)
Prosessori Direct Slot PDS
601 Prosessori Suora Slot PDS
LC-prosessorin suora paikka PERCH
NuBus
PCI (Peripheral Computer Interconnect) - 5v
PCI 3.3v
CNR (viestintä / verkon nousuputki)
AMR (Audio/Modeem Riser)
ACR (Advanced Communication Riser)
PCI-X (Peripheral PCI) 3.3v
PCI-X 5v
PCI 5v + RAID -vaihtoehto - ARO
AGP 3.3v
AGP 1.5v
AGP Universal
AGP Pro 1.5v
AGP Pro 1.5v+ADC teho
PCIe (oheiskomponenttien välinen yhteys express) x1
PCIe x4
PCIe x8
PCIe x16

PCI 2.0

Ensimmäinen laajalle levinnyt perusstandardin versio käytti sekä kortteja että korttipaikkoja, joiden signaalijännite oli vain 5 volttia. Huippunopeus - 133 MB/s.

PCI 2.1 - 3.0

Ne erosivat versiosta 2.0 useiden väylämastereiden (englanninkielinen bus-master, ns. kilpailukykyinen tila) samanaikaisen käytön mahdollisuudessa sekä yleisten laajennuskorttien ulkonäössä, jotka pystyvät toimimaan molemmissa paikoissa 5 voltin jännitteellä, ja paikoissa, joissa käytetään 3,3 volttia (taajuudella 33 ja 66 MHz, vastaavasti). 33 MHz:n huippunopeus on 133 MB/s ja 66 MHz:n 266 MB/s.

  • Versio 2.1 - toimii korteilla, jotka on suunniteltu 3,3 voltin jännitteelle, ja asianmukaisten voimalinjojen läsnäolo oli valinnaista.
  • Versio 2.2 - näiden standardien mukaisesti valmistetuissa laajennuskorteissa on universaali virtaliitinavain ja ne voivat toimia monissa myöhemmissä PCI-väyläpaikoissa sekä joissakin tapauksissa version 2.1 paikoissa.
  • Versio 2.3 – Yhteensopimaton 5 voltin PCI-korttien kanssa, vaikka 32-bittisiä korttipaikkoja käytetään jatkuvasti 5 voltin avaimella. Laajennuskorteissa on yleisliitin, mutta ne eivät toimi aiempien versioiden 5 voltin paikoissa (2.1 asti mukaan lukien).
  • Versio 3.0 - viimeistelee siirtymisen 3,3 voltin PCI-kortteihin, 5 voltin PCI-kortteja ei enää tueta.

PCI 64

PCI-perusstandardin laajennus, joka esiteltiin versiossa 2.1, joka kaksinkertaistaa datakaistan määrän ja siten suorituskyvyn. PCI 64 -paikka on laajennettu versio tavallisesta PCI-paikasta. Muodollisesti 32-bittisten korttien yhteensopivuus 64-bittisten paikkojen kanssa (edellyttäen, että niillä on yhteinen tuettu signaalijännite) on täysi, mutta 64-bittisten korttien yhteensopivuus 32-bittisten paikkojen kanssa on rajoitettu (joka tapauksessa tulee suorituskyvyn menetys). Toimii 33 MHz:n kellotaajuudella. Huippunopeus - 266 MB/s.

  • Versio 1 - käyttää 64-bittistä PCI-paikkaa ja 5 voltin jännitettä.
  • Versio 2 - käyttää 64-bittistä PCI-paikkaa ja 3,3 voltin jännitettä.

PCI 66

PCI 66 on 66 MHz:n kehitys PCI 64:stä; käyttää 3,3 volttia korttipaikassa; Korteissa on universaali eli 3,3 V:n huippunopeus on 533 MB/s.

PCI 64/66

PCI 64:n ja PCI 66:n yhdistelmä mahdollistaa nelinkertaisen tiedonsiirtonopeuden PCI-perusstandardiin verrattuna; käyttää 64-bittisiä 3,3 V:n paikkoja, jotka ovat yhteensopivia vain universaalien kanssa, ja 3,3 V:n 32-bittisiä laajennuskortteja. PCI64/66-korteissa on joko universaali (mutta rajoitettu yhteensopivuus 32-bittisten korttipaikkojen kanssa) tai 3,3 voltin muotokerroin (jälkimmäinen vaihtoehto on pohjimmiltaan yhteensopimaton suosittujen standardien 32-bittisten 33 MHz korttipaikkojen kanssa). Huippunopeus - 533 MB/s.

PCI-X

PCI-X 1.0 on PCI64-väylän laajennus kahdella uudella toimintataajuudella, 100 ja 133 MHz, sekä erillisellä transaktiomekanismilla, joka parantaa suorituskykyä, kun useita laitteita toimii samanaikaisesti. Yleensä taaksepäin yhteensopiva kaikkien 3.3V ja yleisten PCI-korttien kanssa. PCI-X-kortit on tyypillisesti toteutettu 64-bittisessä 3.3B-muodossa ja niillä on rajoitettu yhteensopivuus taaksepäin PCI64/66-paikkojen kanssa, ja jotkut PCI-X-kortit ovat universaali muoto ja pystyvät toimimaan (vaikka tällä ei ole juuri mitään käytännön arvoa) tavallisessa PCI 2.2/2.3 -versiossa. Vaikeissa tapauksissa, jotta voit olla täysin varma emolevyn ja laajennuskortin yhdistelmän toimivuudesta, sinun on tarkasteltava molempien laitteiden valmistajien yhteensopivuusluetteloita.

PCI-X 2.0

PCI-X 2.0 - PCI-X 1.0:n ominaisuuksien lisälaajennus; taajuudet 266 ja 533 MHz on lisätty sekä pariteettivirheen korjaus tiedonsiirron aikana (ECC). Mahdollistaa jakamisen 4 itsenäiseen 16-bittiseen väylään, jota käytetään yksinomaan sisäänrakennettu ja teolliset järjestelmät ; signaalin jännite laskettiin 1,5 V:iin, mutta säilyy taaksepäin yhteensopivuus liittimet kaikilla korteilla, joiden signaalijännite on 3,3 V. Tällä hetkellä korkean suorituskyvyn tietokonemarkkinoiden ei-ammattimaisessa segmentissä (tehokkaat työasemat ja lähtötason palvelimet), jotka käyttävät PCI-X-väylää, hyvin harvat emolevyt tukevat linja-autoja valmistetaan. Esimerkki tämän segmentin emolevystä on ASUS P5K WS. Ammattimaisessa segmentissä sitä käytetään RAID-ohjaimissa ja SSD-asemissa PCI-E:lle.

Mini PCI

Muotokerroin PCI 2.2, tarkoitettu käytettäväksi pääasiassa kannettavissa tietokoneissa.

PCI Express

PCI Express, PCIe tai PCI-E (tunnetaan myös nimellä 3GIO kolmannen sukupolven I/O:ksi; ei pidä sekoittaa PCI-X:ään ja PXI:ään) - tietokoneväylä(vaikka fyysisellä tasolla se ei ole väylä, koska se on point-to-point-yhteys), käyttämällä ohjelmistomalli PCI-väylät ja korkean suorituskyvyn fyysinen protokolla perustuu sarjamuotoinen tiedonsiirto. Intel aloitti PCI Express -standardin kehittämisen luopuessaan InfiniBand-väylästä. Virallisesti ensimmäinen PCI Expressin perusspesifikaatio ilmestyi heinäkuussa 2002. PCI Express -standardin kehittämisestä vastaa PCI Special Interest Group.

Toisin kuin PCI-standardi, jota käytettiin tiedonsiirtoon yhteinen bussi Kun useita laitteita on kytketty rinnan, PCI Express on yleensä pakettiverkko, jossa on tähtitopologia. PCI Express -laitteet kommunikoivat keskenään kytkimien muodostaman välineen kautta, ja jokainen laite on kytketty suoraan kytkimeen point-to-point-yhteydellä. Lisäksi PCI Express -väylä tukee:

  • hot swap-kortit;
  • taattu kaistanleveys (QoS);
  • energian hallinta;
  • valvoa siirrettyjen tietojen eheyttä.

PCI Express -väylä on tarkoitettu käytettäväksi vain paikallisväylänä. Koska PCI Express -ohjelmistomalli on suurelta osin peritty PCI:ltä, olemassa olevia järjestelmiä ja ohjaimia voidaan muokata käyttämään PCI-väylää. Pikavaihto vain fyysisellä tasolla, ilman ohjelmistomuutoksia. PCI Express -väylän korkea huippusuorituskyky mahdollistaa sen käytön AGP-väylän sijasta, ja vielä enemmän PCI- ja PCI-X-väyliä. Itse asiassa PCI Express korvasi nämä väylät henkilökohtaisissa tietokoneissa.

  • MiniCard (Mini PCIe) - korvaa Mini PCI -muodon. Päällä Mini liitin Korttiväylät: x1 PCIe, 2.0 ja SMBus.
    • M.2 on Mini PCIe:n toinen versio, jopa x4 PCIe ja SATA.
  • ExpressCard - samanlainen kuin PCMCIA-muoto. ExpressCard-liitin tukee x1 PCIe- ja USB 2.0 -väylää; ExpressCard-kortit tukevat hot plugingia.
  • AdvancedTCA, MicroTCA - muotokerroin modulaarisille tietoliikennelaitteille.
  • Mobile PCI Express Module (MXM) on NVIDIA:n kannettaville tietokoneille luoma teollinen muototekijä. Sitä käytetään grafiikkakiihdyttimien yhdistämiseen.
  • PCI Express -kaapelin spesifikaatioiden mukaan yhden yhteyden pituus voi olla kymmeniä metrejä, mikä mahdollistaa tietokoneen, jonka oheislaitteet sijaitsevat huomattavan etäisyyden päässä.
  • StackPC - pinottavan rakennuksen spesifikaatio tietokonejärjestelmät. Tämä spesifikaatio kuvaa laajennusliittimet StackPC, FPE ja niiden suhteelliset sijainnit.

Huolimatta siitä, että standardi sallii x32-linjat porttia kohden, tällaiset ratkaisut ovat fyysisesti melko tilaa vieviä eikä niitä ole saatavilla.

vuosi
vapauttaa
Versio
PCI Express
KoodausNopeus
siirrot
Kaistanleveys x linjalla
×1×2×4×8×16
2002 1.0 8b/10b 2,5 GT/s 2 4 8 16 32
2007 2.0 8b/10b 5 GT/s 4 8 16 32 64
2010 3.0 128b/130b 8 GT/s ~7,877 ~15,754 ~31,508 ~63,015 ~126,031
2017 4.0 128b/130b 16 GT/s ~15,754 ~31,508 ~63,015 ~126,031 ~252,062
2019
5.0 128b/130b 32 GT/s ~32 ~64 ~128 ~256 ~512

PCI Express 2.0

PCI-SIG julkaisi PCI Express 2.0 -määrityksen 15. tammikuuta 2007. Tärkeimmät innovaatiot PCI Express 2.0:ssa:

  • Lisääntynyt kapasiteetti: yhden linjan kaistanleveys 500 MB/s tai 5 GT/s ( Gigatransactions/s).
  • Laitteiden väliseen siirtoprotokollaan ja ohjelmistomalliin on tehty parannuksia.
  • Dynaaminen nopeuden säätö (viestintänopeuden ohjaamiseksi).
  • Kaistanleveyshälytys (ilmoittaa ohjelmistolle väylän nopeuden ja leveyden muutoksista).
  • Kulunvalvontapalvelut - Valinnaiset pisteestä pisteeseen tapahtumien hallintaominaisuudet.
  • Suorituksen aikakatkaisun hallinta.
  • Toimintotason nollaus on valinnainen mekanismi PCI-laitteen PCI-toimintojen nollaamiseen.
  • Tehorajan uudelleenmäärittely (määrittääksesi uudelleen paikan tehorajan, kun liitetään enemmän virtaa kuluttavia laitteita).

PCI Express 2.0 on täysin yhteensopiva PCI Express 1.1:n kanssa (vanhat toimivat emolevyissä uusilla liittimillä, mutta vain 2,5 GT/s nopeudella, koska vanhat piirisarjat eivät voi tukea kaksinkertaista tiedonsiirtonopeutta; uudet videosovittimet toimivat ongelmitta vanhat PCI Express 1.x -liittimet).

PCI Express 2.1

Fyysisiltä ominaisuuksiltaan (nopeus, liitin) vastaa ohjelmistoosaan 2.0, lisätty toimintoja, jotka suunnitellaan toteutettavaksi kokonaan versiossa 3.0. Koska useimmat emolevyt myydään versiolla 2.0, pelkkä näytönohjain, jossa on 2.1, ei salli 2.1-tilan käyttöä.

PCI Express 3.0

Marraskuussa 2010 PCI Express 3.0:n tekniset tiedot hyväksyttiin. Rajapinnan tiedonsiirtonopeus on 8 GT/s ( Gigatransactions/s). Mutta tästä huolimatta sen todellinen suorituskyky oli silti kaksinkertainen verrattuna PCI Express 2.0 -standardiin. Tämä saavutettiin aggressiivisemman 128b/130b-koodausjärjestelmän ansiosta, jossa 128 bittiä väylän kautta lähetettyä dataa koodataan 130 bitillä. Samanaikaisesti täydellinen yhteensopivuus PCI Expressin aikaisempien versioiden kanssa säilyy. PCI Express 1.x- ja 2.x -kortit toimivat paikoissa 3.0, ja päinvastoin PCI Express 3.0 -kortti toimii paikoissa 1.x ja 2.x.

PCI Express 4.0

PCI Special Interest Group (PCI SIG) totesi, että PCI Express 4.0 voitaisiin standardoida ennen vuoden 2016 loppua, mutta vuoden 2016 puolivälissä, kun useita siruja oli jo valmisteltu tuotantoa varten, tiedotusvälineet kertoivat, että standardointia odotetaan vuoden 2017 alussa. 16 GT/s, eli se on kaksi kertaa nopeampi kuin PCIe 3.0.

Jätä kommenttisi!

Missä käytetään palamattomia kankaita www.algo-textile.ru. Hyttysverkkotarvikkeet hyttysverkkoihin 2-sklad.ru.

PCI ja PCI-X

PCI- ja PCI-X-väylät

Johdanto

PCI- ja PCI-X-väylät ovat tärkeimmät I/O-laajennusväylät nykyaikaiset tietokoneet; videosovittimien liittämistä varten niitä täydentää AGP-portti. I/O-laajennusväylät (Expansion Bus) ovat järjestelmätason liitettävyyttä: niiden avulla sovittimet ja oheislaitteet voivat käyttää suoraan tietokonejärjestelmän resursseja - muistia ja I/O-osoitetilaa, keskeytyksiä, suoraa muistin käyttöä. Laajennusväyliin liitetyt laitteet voivat itse ohjata näitä väyliä ja saada pääsyn muihin tietokoneresursseihin. Laajennusväylät toteutetaan mekaanisesti paikoilla (paikkaliittimillä) tai nastaliittimillä; Niille on ominaista lyhyt johtimien pituus, toisin sanoen ne ovat puhtaasti paikallisia, mikä mahdollistaa suuren toimintanopeuden saavuttamisen. Näitä väyliä ei saa lähettää liittimiin, mutta niitä käytetään integroitujen emolevyjen laitteiden kytkemiseen.

Aluksi PCI-väylä esiteltiin laajennuksena (mezzanine-väylä) järjestelmiin, joissa oli ISA-väylä. Se on kehitetty perustuen Pentium prosessorit, mutta toimi myös hyvin i486-prosessorien kanssa. Myöhemmin PCI:stä tuli keskusväylä joksikin aikaa: se yhdistettiin prosessoriväylään korkean suorituskyvyn sillalla ("pohjoinen" silta), joka oli osa emolevyn piirisarjaa. Loput I/O-laajennusväylät (ISA/EISA tai MCA) sekä paikallinen ISA-tyyppinen X-BUS-väylä ja LPC-liitäntä, johon emolevyn sirut on kytketty (ROM BIOS, keskeytysohjaimet, näppäimistöt, DMA , COM- ja LPT-portit, HDD ja muut "pienet asiat"), jotka on kytketty PCI-väylään "eteläisen" sillan kautta. Nykyaikaisissa "hub"-arkkitehtuurilla varustetuissa emolevyissä PCI-väylä on siirretty reuna-alueelle vaarantamatta sen prosessorin ja muistin kanssa, mutta myös lataamatta laitteita muihin liikenneväyliin.

PCI-väylä on synkroninen - kaikki signaalit siepataan CLK-signaalin positiivisella reunalla (reunalla). Nimellistahdistustaajuuden katsotaan olevan 33,3 MHz, sitä voidaan tarvittaessa alentaa. Versiosta PCI 2.1 alkaen on mahdollista nostaa taajuutta 66,6 MHz:iin, jos kaikki väylällä olevat laitteet ovat samaa mieltä. PCI-X:ssä taajuus voi olla 133 MHz.

PCI käyttää rinnakkaismultipleksoitua osoite/data (AD) väylää, jonka tyypillinen leveys on 32 bittiä. Spesifikaatio määrittelee mahdollisuuden laajentaa bittisyvyyttä 64 bittiin; PCI-X-versio 2.0 määrittää myös 16-bittisen väylävaihtoehdon. Väylätaajuudella 33 MHz teoreettinen suorituskyky saavuttaa 132 MB/s 32-bittisellä väylällä ja 264 MB/s 64-bittisellä väylällä; synkronointitaajuudella 66 MHz - 264 MB/s ja 528 MB/s, vastaavasti. Nämä huippuarvot saavutetaan kuitenkin vain pakettisiirron aikana: protokollan ylikuormituksen vuoksi todellinen keskimääräinen väylän läpäisykyky on pienempi.

PCI- ja PCI-X-väylien ja muiden PC-yhteensopivien tietokoneiden laajennusväylien vertailuominaisuudet on esitetty taulukossa. 1.1. ISA-väylä alkaen pöytätietokoneet lähtee, mutta se säilyttää asemansa teollisuus- ja sulautetuissa tietokoneissa sekä perinteisessä slottiversiossa että PC/104:n "sandwich"-versiossa. PCMCIA-paikkoja, joissa on PC Card ja Card Bus -väylät, käytetään laajalti kannettavissa tietokoneissa. LPC-väylä on moderni, edullinen tapa liittää resurssiintensiivisiä laitteita emolevyyn.

Rengas Huippukapasiteetti MB/s DMA-kanavat Bussimestari ACFG Tietojen leveys Osoitteen koko Taajuus MHz
ISA-8 4 3 - - 8 20 8
ISA-16 8
7
+
-
16
24
8
LPC 6,7
7
+
-
8/16/32
32
33
EISA
33,3 7 +
+
32
32
8,33
MCA-16
16
-
+
+
16
24
10
MCA-32
20
-
+
+
32
32
10
VLB
132
-
(+)
-
32/64
32
33-50(66)
PCI
133-533
-
+
+
32/64
32/64
33/66
PCI-X
533-4256
-
+
+
16/32/64
32/64
66-133
PCI Express
496-15872
-
+
+
1/2/4/8/12/16/32
32/64
2,5 GHz
AGP 1x/2x/4x/8x
266/533/1066/2132
-
+
+
32
32/64
66
PCMCIA
10/22
+
-
+
8/16
26
10
Korttibussi 132 - + + 32 32 33

ACFG1- Tukee automaattista konfigurointia. ISA:lle PnP on sovittimien ja ohjelmistojen toteuttama myöhäinen lisäys.

PCI- ja PCI-X-väyläsignalointiprotokolla

Tiedonvaihto PCI- ja PCI-X-väylällä järjestetään transaktioiden muodossa - loogisesti suoritettuina vaihtooperaatioina. Tyypillinen tapahtuma sisältää kaksi laitetta: vaihdon aloittaja, joka tunnetaan myös nimellä master-laite, ja kohdelaite, joka tunnetaan myös nimellä orja. Näiden laitteiden välisen vuorovaikutuksen säännöt määräytyvät PCI-väyläprotokollan mukaan. Laite voi seurata tapahtumia väylällä olematta osallistuja (syöttämättä signaaleja); Termi Snooping vastaa seurantatilaa. On olemassa erityinen tapahtumatyyppi (Special Cycle) - lähetys, jossa aloittaja ei ole vuorovaikutuksessa minkään laitteen kanssa protokollan mukaisesti. Jokainen tapahtuma suorittaa yhden komennon, tyypillisesti lukee tai kirjoittaa tietoja tiettyyn osoitteeseen. Tapahtuma alkaa osoitevaiheella, jossa aloittaja määrittää komennon ja kohdeosoitteen. Voi seurata datavaiheita, joissa yksi laite (tietolähde) laittaa dataa väylään ja toinen (nielu) lukee sen. Tapahtumia, joissa on useita tietovaiheita, kutsutaan erätapahtumiksi. On myös yksittäisiä tapahtumia (yhdellä datavaiheella). Tapahtuma voidaan suorittaa ilman datavaiheita, jos kohdelaite (tai aloittaja) ei ole valmis vaihtoon. IN PCI-X väylä lisätty attribuuttivaihe, jossa lisätietoja kaupasta.

PCI- ja PCI-X-väyläsignalointiprotokolla

Väyläliityntäsignaalien koostumus ja tarkoitus on esitetty alla olevassa taulukossa. Kaikkien signaalilinjojen tilat havaitaan positiivisella reunalla CLK ja näitä hetkiä seuraavassa kuvauksessa tarkoitetaan väyläjaksoilla (merkitty kuvissa pystysuoralla katkoviivalla). Samoja signaalilinjoja ohjataan eri aikoina erilaisia ​​laitteita väylä, ja oikeaa (konfliktitonta) "valtuutuksen siirtoa" varten vaaditaan, että on olemassa ajanjakso, jonka aikana mikään laite ei ohjaa linjaa. Aikakaavioissa tämä tapahtuma - niin kutsuttu "piruetti" (käännös) - on osoitettu puoliympyrän muotoisilla nuolilla.

Taulukko. PCI-väylän signaalit

Signaali
Tarkoitus
ILMOITUS Osoite/Data - multipleksoitu osoite/tietoväylä. Tapahtuman alussa osoite lähetetään, seuraavissa jaksoissa - tiedot
C/B # Command/Byte Enable - komento/lupa käyttää tavuja. Seuraavan väyläjakson tyypin määrittävä komento määritellään nelibittisellä koodilla osoitevaiheessa
FRAME#
Kehys. Signaalin käyttöönotto merkitsee tapahtuman alkua (osoitevaihe), signaalin poistaminen osoittaa, että seuraava tiedonsiirtojakso on tapahtuman viimeinen
DEVSEL#
Laitteen valinta— laite valittu (CP-vastaus sille osoitettuun tapahtumaan)
IRDY#
Initiator Ready - päälaitteen valmius tiedonvaihtoon
TRDY#
Target Ready - ohjauskeskuksen valmius tiedonvaihtoon
STOP#
Pyyntö CPU:lta isännälle nykyisen tapahtuman pysäyttämiseksi
LUKKO#
Väylän lukitussignaali keskeytymättömän toiminnan varmistamiseksi. Sitä käyttää silta, joka vaatii useita PCI-tapahtumia yhden toiminnon suorittamiseen
REQ#
Pyyntö - pyyntö päälaitteelta väylän kaappaamiseksi
GNT#
Grant - väylän ohjauksen myöntäminen isännälle
PAR
Pariteetti - yhteinen pariteettibitti AD- ja C/BE#-linjoille
PERR#
Parity Error — pariteettivirhesignaali (kaikille jaksoille paitsi erikoisjaksoille). Luoda mikä tahansa laite, joka havaitsee virheen
PME#
Virranhallintatapahtuma - signaali tapahtumista, jotka aiheuttavat muutoksen kulutustilassa ( lisäsignaali, otettu käyttöön PCI 2.2:ssa)
CLKRUN#
Kello käynnissä — väylä toimii nimelliskellotaajuudella. Signaalin poistaminen tarkoittaa synkronoinnin hidastamista tai pysäyttämistä kulutuksen vähentämiseksi (mobiilisovellukset)
PRSN#
Nykyinen - virrankulutuspyynnön koodaavat piirilevyn läsnäoloilmaisimet. Laajennuskortissa yksi tai kaksi LED-linjaa on kytketty GND-väylään, jonka emolevy havaitsee.
RST#
Nollaa - palauta kaikki rekisterit alkuperäiseen tilaan (napsauta "Palauta" -painiketta
ja uudelleenkäynnistyksen yhteydessä)
IDSEL
Initialization Device Select - laitteen valinta konfiguraation luku- ja kirjoitusjaksoissa; Näihin sykleihin reagoi laite, joka havaitsee korkean signaalitason tällä linjalla
SERR#
System Error - järjestelmävirhe. Osoite- tai datapariteettivirhe erityisessä kehyksessä tai muu laitteen havaitsema katastrofaalinen virhe. Aktivoi mikä tahansa PCI-laite ja kutsuu NMI:tä
REQ64#
Pyydä 64 bittiä - pyyntö 64-bittiselle vaihdolle. Signaali syötetään 64-bittisellä aloittimella, ja se osuu ajallisesti yhteen FRAME#-signaalin kanssa. Resetoinnin aikana (RST#-signaali) ilmoittaa 64-bittiselle laitteelle, että se on kytketty 64-bittiseen väylään. Jos 64-bittinen laite ei havaitse tätä signaalia, sen on määritettävä itsensä uudelleen 32-bittiseen tilaan poistamalla käytöstä korkeabittiset puskuripiirit
ACK64#
64-bittisen vaihdon vahvistus. Signaalin syöttää 64-bittinen CPU, joka on tunnistanut osoitteensa, samanaikaisesti DEVSEL#:n kanssa. Jos tätä vahvistusta ei toimiteta, aloittaja pakottaa suorittamaan vaihdon 32-bittisenä
INTA#, INTB#, INTC#, INTD#
Keskeytys A, B, C, D - keskeytä pyyntörivit, tason herkkyys, aktiivinen taso - matala, mikä mahdollistaa linjojen erottelun (jakamisen)
CLK
Kello — väylän kellotaajuus. Sen pitäisi olla välillä 20-33 MHz, PCI 2.1:stä alkaen se voi olla jopa 66 MHz, PCI-X:ssä jopa 100 ja 133 MHz
M66FI
66 MHz käytössä - kellotaajuuden tarkkuus jopa 66 MHz (korteilla 33 MHz on maadoitettu, 66 MHz on ilmainen)
PCIXCAP (38B)

PCI-X-ominaisuudet: PCI-korteilla - maadoitettu, PCI-X133:ssa kytketty maahan 0,01 µF:n kondensaattorilla, PCI-X66:ssa - rinnakkaisella RC-piirillä 10 kOhm, 0,01 µF.

SDONE
Snoop Done - signaali, että snoop-jakso on valmis nykyiselle tapahtumalle. Matala taso osoittaa, että muistin ja välimuistin koherenssin valvontasykli on epätäydellinen. Valinnainen signaali, jota käyttävät vain väylälaitteet, joissa on välimuisti. Vanhentunut PCI 2.2:sta lähtien
SBO#
Snoop Backoff - nykyinen pääsy väylätilaajan muistiin päätyy muokattuun välimuistiriville. Valinnainen signaali, jota käyttävät vain välimuistin omaavat väylätilaajat takaisinkirjoitusalgoritmin aikana. Vanhentunut PCI 2.2:sta alkaen
SMBCLK
SMBus Clock - SMBus-väylän kellosignaali (I2C-liitäntä). Otettu käyttöön PCI 2.3:n jälkeen
SMBDAT
SMBus Data - SMBus-väylän sarjatiedot (I2C-liitäntä). Otettu käyttöön PCI 2.3:n jälkeen
TCK
Test Clock - JTAG testaa käyttöliittymän synkronointia
TDI
Test Data Input - JTAG-testirajapinnan syöttötiedot
TDO
Test Data Output - JTAG testiliitännän lähtötiedot
TMS
Test Mode Select - valitse JTAG-testiliittymän tila
TRST
Test Logic Reset - nollaa testilogiikka

Väylää voi kulloinkin ohjata vain yksi isäntälaite, joka on saanut siihen oikeuden tuomarilta. Jokaisella isäntälaitteella on signaalipari - REQ# väyläohjauksen pyytämiseksi ja GNT# väyläohjauksen hyväksymisen vahvistamiseksi. Laite voi aloittaa tapahtuman (asettaa FRAME#-signaalin) vain, kun se vastaanottaa aktiivisen GNT#-signaalin ja odottaa, kunnes väylätoimintaa ei ole. Huomaa, että lepoa odotellessa tuomari voi "muuttaa mieltään" ja antaa väylän ohjauksen toiselle laitteelle, jolla on enemmän korkea prioriteetti. GNT#-signaalin poistaminen estää laitetta aloittamasta seuraavaa tapahtumaa ja voi tietyissä olosuhteissa (katso alla) pakottaa sen lopettamaan nykyisen tapahtuman. Väylän käyttöpyyntöjen sovittelusta vastaa erityinen solmu - välimies, joka on osa yhdistävää siltaa. tämä rengas keskustan kanssa. Prioriteettikaavio (kiinteä, round-robin, yhdistetty) määräytyy välimiesohjelmoinnin mukaan.

Yhteisiä multipleksoituja AD-linjoja käytetään osoitteeseen ja dataan. Neljä multipleksoitua C/BE-linjaa tarjoavat käskykoodauksen osoitevaiheessa ja tavuresoluution datavaiheessa. Kirjoitustapahtumissa C/BE-rivit sallivat datatavujen käytön samanaikaisesti niiden läsnäolon kanssa lukutapahtumissa, nämä signaalit viittaavat seuraavan datavaiheen tavuihin. Osoitevaiheessa (transaction start) isäntä aktivoi FRAME#-signaalin, lähettää kohdeosoitteen AD-väylällä ja välittää tiedon tapahtumatyypistä (komennosta) C/BE#-linjoilla. Osoitettu kohdelaite vastaa DEVSEL#-signaalilla. Päälaite ilmaisee valmiutensa vaihtaa tietoja IRDY#-signaalin kanssa. Tämä valmius voidaan asettaa ennen DEVSEL#:n vastaanottamista. Kun kohdelaite on valmis vaihtamaan tietoja, se asettaa TRDY#-signaalin. Dataa siirretään AD-väylällä vain, kun signaalit IRDY# ja TRDY# ovat samanaikaisesti läsnä. Näiden signaalien avulla isäntä- ja kohdelaitteet koordinoivat nopeuksiaan ottamalla käyttöön odotustilat. Alla olevassa kuvassa on tiedonsiirron ajoituskaavio, jossa sekä isäntä- että kohdelaitteet syöttävät odotuskellot. Jos molemmat syöttäisivät valmiita signaaleja osoitevaiheen lopussa ja poistaisivat ne vasta vaihdon lopussa, niin jokaisessa kellojaksossa osoitevaiheen jälkeen lähetettäisiin 32 bittiä dataa, mikä antaisi maksimaalisen vaihdon suorituskyvyn. Lukutapahtumissa osoitevaiheen jälkeen tarvitaan piruettille lisäkello, jonka aikana aloittaja lopettaa AD-linjan ohjauksen; Kohdelaite pystyy ottamaan AD-väylän hallinnan vasta seuraavassa kellojaksossa. Kirjoitustapahtumassa piruettia ei tarvita, koska aloittaja lähettää tiedot.

PCI-väylällä kaikkia tapahtumia käsitellään purskeina: jokainen tapahtuma alkaa osoitevaiheella, jota voi seurata yksi tai useampi datavaihe. Datavaiheiden lukumäärää paketissa ei nimenomaisesti ilmoiteta, mutta viimeisen datavaiheen kellojaksossa isäntälaite, kun IRDY#-signaali syötetään, poistaa FRAME#-signaalin. Yksittäisissä tapahtumissa FRAME#-signaali on aktiivinen vain yhden kellojakson ajan. Jos laite ei tue erätapahtumia orjatilassa, sen on pyydettävä erätapahtuman lopettamista ensimmäisen datavaiheen aikana (vakuuttamalla STOP#-signaali samaan aikaan kuin TRDY#). Vastauksena tähän isäntä suorittaa tämän tapahtuman ja jatkaa seuraavan tapahtuman vaihtoa seuraava arvo osoitteita. Viimeisen datavaiheen jälkeen isäntälaite poistaa IRDY#-signaalin ja väylä siirtyy Idle-tilaan - molemmat signaalit: FRAME# ja IRDY# ovat passiivisessa tilassa.

Aloittaja voi aloittaa seuraavan tapahtuman ilman taukoaikaa asettamalla FRAME# samanaikaisesti IRDY#:n poistamisen kanssa. Tällaiset nopeat vierekkäiset tapahtumat (Fast Back-to-Back) voidaan osoittaa joko samalle tai eri kohdelaitteelle. Kaikki kohdelaitteena toimivat PCI-laitteet tukevat ensimmäistä tyyppiä nopeita peräkkäisiä tapahtumia. Toisen tyyppisten vierekkäisten tapahtumien tuki (tällainen tuki on valinnainen) osoitetaan tilarekisterin bitillä 7. Aloittaja saa (jos hän osaa) käyttää nopeita vierekkäisiä tapahtumia erilaisia ​​laitteita(komentorekisterin bitti 9 sallii) vain, jos kaikki väyläagentit sallivat nopean pääsyn. Kun vaihdat tietoja sisään PCI-X tila nopeat vierekkäiset tapahtumat eivät ole sallittuja.

Väyläprotokolla varmistaa keskuksen luotettavuuden - isäntälaite saa aina tiedon tapahtuman käsittelystä kohdelaitteen toimesta. Eräs keino vaihdon luotettavuuden lisäämiseksi on pariteettiohjauksen käyttö: AD- ja C/BE#-linjat sekä osoite- että datavaiheessa on suojattu pariteettibitillä PAR (näiden linjojen asetettujen bittien määrä, mukaan lukien PAR, on oltava parillinen). Todellinen PAR-arvo ilmestyy väylään yhden kellojakson viiveellä suhteessa AD- ja C/BE#-linjoihin. Kun virhe havaitaan, laite generoi PERR#-signaalin (siirretty kellon verran sen jälkeen, kun kelvollinen pariteettibitti ilmestyy väylään). Kun pariteettia lasketaan tiedonsiirron aikana, kaikki tavut otetaan huomioon, mukaan lukien virheelliset tavut (merkitty korkealla C/BEx#-signaalilla). Bittitilan, jopa virheellisissä datatavuissa, on pysyttävä vakaana datavaiheen aikana.

Jokainen tapahtuma väylällä on suoritettava suunnitellusti tai keskeytettävä, ja väylän on mentävä lepotilaan (FRAME#- ja IRDY#-signaalit ovat passiivisia). Tapahtuman suorittamisen aloittaa joko päälaite tai kohdelaite.

Päällikkö voi suorittaa tapahtuman jollakin seuraavista tavoista:

  • valmistuminen - normaali lopettaminen tiedonvaihdon lopussa;
  • aikakatkaisu — valmistuminen aikakatkaisulla. Tapahtuu, kun isäntälaitteen väyläohjaus poistetaan tapahtuman aikana (poistamalla GNT#-signaali) ja sen latenssiajastin vanhenee. Tämä voi tapahtua, jos osoitettu kohdelaite on odottamattoman hidas tai tapahtuma on ajoitettu liian pitkäksi. Lyhyet tapahtumat (yhdellä tai kahdella datavaiheella), vaikka GNT#-signaali poistetaan ja ajastin laukeaisi, suoritetaan normaalisti;
  • master-Abort – Keskeytä tapahtuma, kun päälaite ei saa vastausta kohdelaitteelta (DEVSEL#-signaali) tietyn ajan kuluessa.

Tapahtuma voidaan lopettaa kohdelaitteen aloitteesta; Tätä varten se voi syöttää STOP#-signaalin. Tapahtuman päättämistä on kolme mahdollista:

  • uudelleenyritys — toisto, STOP#-signaalin käyttöönotto passiivisella TRDY#-signaalilla ennen ensimmäistä datavaihetta. Tämä tilanne syntyy, kun kohdelaite ei sisäisen kiireen vuoksi ehdi tuottamaan ensimmäistä dataa ajoissa (16 kellojaksoa). Uudelleenyrityksen keskeytys on osoitus isännälle käynnistää sama tapahtuma uudelleen;
  • irrota - irtikytkentä, STOP#-signaalin syöttäminen ensimmäisen datavaiheen aikana tai sen jälkeen. Jos STOP#-signaali syötetään seuraavan datavaiheen TRDY#-signaalin ollessa aktiivinen, tämä data lähetetään ja tapahtuma on valmis. Jos STOP#-signaali asetetaan, kun TRDY#-signaali on passiivinen, tapahtuma suoritetaan ilman seuraavan vaiheen tietojen lähettämistä. Yhteys katkeaa, kun kohdelaite ei pysty antamaan tai vastaanottamaan seuraavaa pakettidatan osaa ajoissa. Yhteyden katkaisu on ilmoitus isännälle käynnistää tämä tapahtuma uudelleen, mutta muokatulla aloitusosoitteella;
  • target-abort - epäonnistuminen, STOP#-signaalin syöttäminen samanaikaisesti DEVSEL#-signaalin poistamisen kanssa (aikaisemmissa tapauksissa STOP#-signaalin ilmestyessä DEVSEL#-signaali oli aktiivinen). Tämän jälkeen tietoja ei enää lähetetä. Vika tapahtuu, kun kohdelaite kohtaa vakavan virheen tai muut olosuhteet, joissa se ei voi enää huoltaa sitä tämä pyyntö(mukaan lukien ei-tuettu komento).

Kolmen tyyppisen tapahtuman lopettamisen käyttäminen ei ole välttämätöntä kaikille kohdelaitteille, mutta minkä tahansa päälaitteen tulee olla valmis lopettamaan tapahtumat mistä tahansa näistä syistä.

Uudelleen irtisanomisen tyyppiä käytetään viivästyneiden tapahtumien järjestämiseen. Viivästettyjä tapahtumia käyttävät vain hitaat kohdelaitteet sekä PCI-sillat siirrettäessä tapahtumia toiseen väylään. Keskeyttämällä (aloittajalle) tapahtuman uudelleenyritysehdon kanssa kohdelaite suorittaa tapahtuman sisäisesti. Kun aloittaja toistaa tämän tapahtuman (antaa saman komennon samalla osoitteella ja samalla joukolla C/BE#-signaaleja datavaiheessa), kohdelaitteella (tai sillalla) on jo tulos valmiina (luku data tai kirjoitus edistyminen tila), että se palaa nopeasti aloittajalle. Laitteen tai sillan on tallennettava tietyn laitteen suorittaman odottavan tapahtuman tulos, kunnes aloittaja pyytää tuloksia. Hän voi kuitenkin "unohtaa" toistaa tapahtuman (joistakin epänormaaleista tilanteista). Tulosten tallennuspuskurin ylivuodon välttämiseksi laitteen on hylättävä nämä tulokset. Pudottaminen voidaan suorittaa ilman sivuvaikutuksia, jos tapahtuma siirrettiin muistiin, joka mahdollistaa esihaun (esihaku-attribuutilla, katso alla). Yleensä muun tyyppisiä tapahtumia ei voida hylätä rankaisematta (niiden osalta tietojen eheys voi loukata), hylkääminen on sallittua vain, kun on odotettu 215 väyläjakson toistoa (kun hylkäysajastin laukeaa). Laite voi ilmoittaa tästä poikkeuksesta ajurilleen (tai koko järjestelmälle).

Tapahtuman aloittaja voi pyytää PCI-väylän yksinomaista käyttöä usean väylätapahtuman vaativan vaihtotoiminnan ajaksi. Joten jos CPU esimerkiksi suorittaa datanmuokkauskäskyn PCI-laitteen muistisolussa, sen täytyy lukea tiedot laitteesta, muokata sitä ALU:ssaan ja palauttaa tulos laitteelle. Jotta muiden aloittajien tapahtumat eivät häiritse tätä toimintoa (mikä voi johtaa tietojen eheysrikkomuksiin), pääsilta suorittaa sen estettynä toimintona - LOCK#-väyläsignaali syötetään koko toiminnan ajan. Perinteiset PCI-laitteet (ei sillat) eivät käytä (tai tuota) tätä signaalia millään tavalla; sitä käyttävät vain sillat välimiesmenettelyn ohjaamiseen.

Laitteistokeskeytykset PC-yhteensopivissa tietokoneissa

PCI-laitteet pystyvät signaloimaan asynkronisia tapahtumia keskeytyksiä käyttämällä. PCI-väylällä on neljä keskeytyssignalointityyppiä:

  • perinteinen langallinen signalointi INTx-linjojen kautta;
  • energianhallintatapahtumien langallinen signalointi PME#-linjan kautta;
  • signalointi viesteillä - MSI;
  • ilmoittaa vakavasta virheestä SERR#-linjalla.

Tämä luku kattaa kaikki näistä signalointityypeistä sekä yleiskuvan laitteiston keskeytystuesta PC-yhteensopivissa tietokoneissa.

Laitteistokeskeytykset PC-yhteensopivissa tietokoneissa

Laitteistokeskeytykset antavat prosessorin vastauksen tapahtumiin, jotka tapahtuvat asynkronisesti suoritettavan ohjelmakoodin suhteen. Muista, että laitteistokeskeytykset jaetaan peitettäviin ja ei-maskoitaviin. Vastaanotettuaan keskeytyssignaalin x86-prosessori keskeyttää nykyisen käskyvirran suorittamisen, tallentaa tilan (liput ja paluuosoite) pinoon ja suorittaa keskeytyskäsittelyn. Tietty käsittelyprosessi valitaan keskeytystaulukosta keskeytysvektorilla - tämän taulukon elementin yksitavuisella numerolla. Keskeytysvektori tuodaan prosessorille eri tavoin: ei-maskeoitaville keskeytyksille se on kiinteä, maskattavissa oleville keskeytyksille se raportoidaan erityisellä keskeytysohjaimella. Laitteistokeskeytysten lisäksi x86-prosessoreissa on myös sisäisiä keskeytyksiä - niihin liittyviä poikkeuksia erikoistapauksia ohjeiden suorittaminen ja ohjelmiston keskeytykset. Poikkeuksissa vektorin määrittää itse erikoisehto, ja Intel varaa ensimmäiset 32 ​​vektoria (0-31 tai 00-1Fh) poikkeuksia varten. Ohjelmistokeskeytyksessä vektorin numero sisältyy itse käskyyn (ohjelmistokeskeytykset ovat vain erityinen tapa kutsua proseduureja numeron perusteella, jolloin pinoon tallennetaan ensin lippurekisteri). Kaikki nämä keskeytykset käyttävät samaa 256 mahdollisen vektorin joukkoa. Historiallisesti laitteistokeskeytyksiä varten käytetyt vektorit ovat päällekkäisiä BIOS- ja DOS-palvelukutsuissa käytettyjen poikkeusvektorien ja ohjelmistokeskeytysvektorien kanssa. Siten useille vektorinumeroille keskeytystaulukon viittaaman proseduurin on alussa oltava ohjelmakoodi, joka määrittää, mistä syystä sitä kutsuttiin: poikkeuksen, laitteistokeskeytyksen tai jonkin järjestelmäpalvelu. Siten proseduuri, joka todella varmistaa prosessorin vastauksen samaan asynkroniseen tapahtumaan, kutsutaan vasta keskeytyslähteen tunnistamiseen liittyvien toimien sarjan jälkeen. Huomaa myös tässä, että samaa keskeytysvektoria voivat käyttää useat oheislaitteet - tämä on ns. jaettu keskeytyskäyttö, jota käsitellään yksityiskohtaisesti alla.

Keskeytyspalvelurutiinin kutsuminen prosessorin todellisissa ja suojatuissa tiloissa on merkittävästi erilaista:

  • reaalitilassa keskeytystaulukko sisältää 4-tavuisia kaukoosoittimia (segmentti ja offset) vastaaviin proseduureihin, joita kutsutaan etäkutsulla (Call Far ennalta tallennetuilla lipuilla). Taulukon koko (256 × 4 tavua) ja sijainti (osoitteesta 0 alkaen) ovat kiinteät;
  • Suojatussa tilassa (ja erityistapauksessaan V86-tilassa) taulukko sisältää 8-tavuisia keskeytyskuvauksia, jotka voivat olla keskeytysportteja, trap-portteja tai tehtäväportteja. Taulukon kokoa voidaan pienentää (enintään - 256 × 8 tavua), taulukon sijainti voi muuttua (määritetään prosessorin IDT-rekisterin sisällöstä). Keskeytyksen käsittelijän koodin on oltava vähintään yhtä etuoikeutettu kuin keskeytetyn tehtäväkoodin (muuten laukeaa suojauspoikkeus). Tästä syystä keskeytyskäsittelijöiden on suoritettava käyttöjärjestelmän ydintasolla (nolla käyttöoikeustasolla). Oikeustason muuttaminen käsittelijää kutsuttaessa lisää aikaa pinon uudelleenmäärittelyyn. Tehtävän vaihtamista aiheuttavat keskeytykset (Task Gaten kautta) käyttävät huomattavasti aikaa kontekstin vaihtamiseen - prosessorirekisterien purkamiseen vanhan tehtävän tilasegmenttiin ja niiden lataamiseen uuden tilasegmentistä.

Laitteiston keskeytyksiin käytettyjen vektorien lukumäärä käyttöjärjestelmät suojatun tilan ahs eroaa reaalitilan käyttöjärjestelmässä käytetyistä numeroista sen varmistamiseksi, että ne eivät ole ristiriidassa suorittimen poikkeuksissa käytettyjen vektoreiden kanssa.

Prosessori vastaa aina ei-maskoitavaan keskeytykseen (NMI) (jos edellisen NMI:n huolto on valmis); Tämä keskeytys vastaa kiinteää vektoria 2. Ei-maskoitavia keskeytyksiä PC-tietokoneissa käytetään signaloimaan kohtalokkaat laitteistovirheet. Signaali NMI-linjalle tulee muistin ohjauspiireistä (pariteetti tai ECC), ISA-väylän ohjauslinjoista (IOCHK) ja PCI-väylästä (SERR#). NMI-signaali estetään ennen prosessoriin tuloa asettamalla portin 070h bitti 7 arvoon 1, yksittäiset lähteet otetaan käyttöön ja tunnistetaan portin 061h biteillä:

  • bitti 2 R/W - ERP - lupa ohjata PCI-väylän RAM-muistia ja SERR#-signaalia;
  • bitti 3 R/W - EIC - ISA-väylän ohjaus käytössä;
  • bitti 6 R - IOCHK - ohjausvirhe ISA-väylässä (IOCHK# signaali);
  • bitti 7 R - PCK - RAM-pariteettivirhe tai SERR#-signaali PCI-väylällä.

Prosessorin vastausta maskoitaviin keskeytyksiin voidaan viivyttää nollaamalla sen sisäinen IF-lippu (CLI-käsky poistaa keskeytykset käytöstä, STI-käsky ottaa käyttöön). Maskoitavia keskeytyksiä käytetään signaloimaan tapahtumia laitteissa. Kun tapahtuu tapahtuma, joka vaatii vastausta, laitesovitin (ohjain) muodostaa keskeytyspyynnön, joka lähetetään keskeytysohjaimen tuloon. Keskeytysohjaimen tehtävänä on tuoda keskeytyspyyntö prosessorille ja viestiä vektori, jolla ohjelmistokeskeytyksen käsittelymenettely valitaan.

Laitteen keskeytysrutiinin on suoritettava toimintoja laitteen huoltamiseksi, mukaan lukien sen pyynnön nollaus, jotta se voi vastata seuraaviin tapahtumiin, ja lopetuskomentojen lähettäminen keskeytysohjaimelle. Prosessointirutiinia kutsuessaan prosessori tallentaa automaattisesti kaikkien pinon lippujen arvon ja nollaa IF-lipun, mikä poistaa maskettavat keskeytykset käytöstä. Palatessaan tästä proseduurista (IRET-käskyä käyttäen) prosessori palauttaa tallennetut liput, mukaan lukien set (ennen keskeytystä) IF:n, joka taas mahdollistaa keskeytykset. Jos keskeytyskäsittelijän toiminnan aikana vaaditaan reagointia muihin keskeytyksiin (korkeampi prioriteetti), STI-käskyn on oltava käsittelijässä. Tämä pätee erityisesti pitkiin käsittelijöihin; tässä STI-ohje tulee syöttää mahdollisimman aikaisin, heti kriittisen (ei keskeytymättömän) osan jälkeen. Keskeytysohjain palvelee myöhempiä saman tai alemman prioriteettitason keskeytyksiä vasta saatuaan EOI (End Of Interrupt) -komennon.

IBM PC -yhteensopivat tietokoneet käyttävät kahta päätyyppiä keskeytysohjaimia:

  • PIC (Peripheral Interrupt Controller) on oheislaitteiden keskeytysohjain, ohjelmisto on yhteensopiva "historiallisen" 8259A-ohjaimen kanssa, jota käytettiin ensimmäisissä IBM PC -malleissa. IBM PC/AT:n ajoista lähtien on käytetty peräkkäistä PIC-paria, mikä mahdollistaa jopa 15 keskeytyspyyntölinjan palvelun;
  • APIC (Advanced Peripheral Interrupt Controller) on edistynyt oheislaitteiden keskeytysohjain, joka on otettu käyttöön moniprosessorijärjestelmien tukemiseksi tietokoneissa, jotka perustuvat 4-5 sukupolven prosessoreihin (486 ja Pentium), ja sitä käytetään edelleen myöhemmissä prosessorimalleissa. Sen lisäksi, että se tukee moniprosessorikokoonpanoja, nykyaikainen APIC mahdollistaa käytettävissä olevien keskeytyslinjojen määrän lisäämisen ja viestimoottorin (MSI) kautta lähetettävien PCI-laitteiden keskeytyspyyntöjen käsittelemisen. APIC-ohjaimella varustetun tietokoneen on kyettävä toimimaan standardin PIC-parin kanssa yhteensopivassa tilassa. Tämä tila aktivoidaan laitteiston nollauksella (ja virran kytkemisellä), jolloin voit käyttää vanhoja OS- ja MS DOS -sovelluksia, jotka eivät tunne APIC:tä ja moniprosessointia.

Perinteinen menetelmä keskeytyspyyntöjen generoimiseksi käyttämällä PIC-paria on esitetty alla olevassa kuvassa.

Keskeytysohjaimen tulot vastaanottavat pyyntöjä järjestelmälaitteilta (näppäimistö, järjestelmäajastin, CMOS-ajastin, apuprosessori), emolevyn oheisohjaimista ja laajennuskorteilta. Perinteisesti kaikki pyyntölinjat, joita luetellut laitteet eivät käytä, ovat kaikissa ISA/EISA-väyläpaikoissa. Nämä linjat on nimetty IRQx ja niillä on yhteinen tarkoitus (katso taulukko alla). Jotkut näistä linjoista on varattu PCI-väylälle. Taulukossa näkyy myös keskeytysprioriteetit - pyynnöt on järjestetty laskevaan järjestykseen. Ohjaimen pyyntörivejä, prioriteettijärjestelmää ja joitain muita parametreja vastaavat vektorien määrät asetetaan ohjelmoidusti ohjaimia alustettaessa. Nämä perusasetukset pysyvät perinteisinä ohjelmistojen yhteensopivuuden kannalta, mutta eroavat toisistaan ​​reaalitilan ja suojatun tilan käyttöjärjestelmien välillä. Esimerkiksi Windows-käyttöjärjestelmässä isäntä- ja orjaohjaimien perusvektorit ovat 50h ja 58h, vastaavasti.

Nimi (numero 1) Vektori 2 Vektori 3 Ohjain/naamio Kuvaus
NMI 02h


IRQ0 08h 50h
#1/1h
Kanavan ohjaus, muistin pariteetti (XT:ssä - apuprosessori)
IRQ1 09h 51h
#1/2h
Näppäimistö
IRQ2 0 Ah 52h
#1/4h
XT - vara, AT - ei saatavilla (IRQ8-IRQ15-kaskadi on kytketty)
IRQ8 70h
58h
#2/1h
CMOS RTC - Reaaliaikainen kello
IRQ9 71h
59h
#2/2h
Varata
IRQ10 72h
5 Ah
#2/4h
Varata
IRQ11 73h
5 Bh
#2/8h
Varata
IRQ12 74h
5 Ch
#2/10h
PS/2-hiiri (varaus)
IRQ13 75h
5Dh
#2/20h
Matemaattinen apuprosessori
IRQ14 76h
5 Eh
#2/40h
HDC - HDD-ohjain
IRQ15 77h
5Fh
#2/80h
Varata
IRQ3 0 Bh
52h
#1/4h
COM2, COM4
IRQ4 0 Ch
53h
#1/10h
COM1, COM3
IRQ5I 0Dh
54h
#1/20h
XT - HDC, AT - LPT2, Ääni (varaus)
IRQ6 0 Eh
55h
#1/40h
FDC - float drive -ohjain
IRQ7 0Fh
56h
#1/80h
LPT1 - tulostin

*1 Keskeytyspyyntöjä 0, 1, 8 ja 13 ei lähetetä laajennusväylille.
*2 Vektorinumerot näytetään käytettäessä todellisessa prosessoritilassa.
*3 Vektorinumerot näytetään, kun työskentelet Windows-käyttöjärjestelmässä.

Jokaiselle laitteelle, joka tarvitsee keskeytyksiä toimiakseen, on annettava oma keskeytysnumeronsa. Keskeytysnumeroiden määritykset tehdään kahdelta puolelta: ensin keskeytyksiä vaativa sovitin on konfiguroitava käyttämään tiettyä väylälinjaa (joko hyppyjohdin tai ohjelmisto). Toiseksi sovitinta tukevalle ohjelmistolle on ilmoitettava käytettävä vektorinumero. PnP-järjestelmä ISA- ja PCI-väylille voi osallistua keskeytysprosessiin. Erityisiä parametreja käytetään pyyntölinjojen jakamiseen väylien välillä CMOS-asetukset. Nykyaikaisissa käyttöjärjestelmissä on mahdollisuus muuttaa CMOS-asennuksen kautta tehtyjen pyyntöjen kohdistusta.

Kun keskeytysjärjestelmä on konfiguroitu (keskeytysohjain on alustettu, pyyntörivit osoitetaan laitteille ja osoittimet prosessointiproseduuriin on asetettu), maskattavat laitteistokeskeytykset käsitellään seuraavasti:

  • keskeytystapahtuman yhteydessä laite herättää sille osoitetun keskeytyspyyntörivin;
  • ohjain vastaanottaa pyyntösignaalit keskeytyslähteistä (IRQx-signaalit) ja jos on peittämätön pyyntö, lähettää signaalin yleinen pyyntö keskeytyksiä (INTR-signaali) x86-prosessorille;
  • prosessori vastaa pyyntöön (kun keskeytykset IF-lipulla ovat käytössä) tallentaa pinoon lippurekisterin sisällön ja paluuosoitteen, minkä jälkeen se generoi INTA (Interrupt Acknowledge) -väyläsyklin, joka toimitetaan keskeytysohjain;
  • sillä hetkellä, kun INTA-signaali vastaanotetaan, keskeytysohjain tallentaa pyyntötulojensa tilan - tähän hetkeen mennessä niiden tila on voinut muuttua: uusia pyyntöjä saattaa ilmestyä tai pyyntö "kärsimättömältä" laitteelta voi kadota. Ohjain analysoi saapuvat pyynnöt ohjelmoidun prioriteettimallin mukaisesti ja lähettää prosessorille keskeytysvektorin, joka vastaa korkeimman prioriteetin peittämätöntä pyyntöä, joka on läsnä ohjaimen tulossa INTA-väyläkomennon antamishetkellä. Samanaikaisesti ohjain suorittaa myös joitain toimintoja vahvistetun prioriteettipolitiikan mukaisesti ottaen huomioon, mikä vektori lähetettiin (mikä pyynnöistä meni palveluun);
  • Vastaanotettuaan keskeytysvektorin prosessori kutsuu vastaavan keskeytyksenkäsittelyproseduurin numerollaan. Jos tiettyä keskeytysvektoria ei käytetä vain laitteistokeskeytyksiä, vaan myös poikkeuksia ja/tai ohjelmistokeskeytyksiä varten, rutiinin on ensin määritettävä, mikä näistä tyypeistä on tapahtuma. Tätä varten menettely voi ottaa yhteyttä PIC-ohjaimeen (lukea ISR-rekisteri) ja analysoida prosessorirekisterien tilaa. Lisävaiheita harkitaan siinä tapauksessa, että laitteistokeskeytys havaitaan;
  • Keskeytyksen käsittelyprosessin tulee tunnistaa keskeytyksen lähde - määrittää keskeytyksen aiheuttanut laite. Jos useat laitteet käyttävät yhteisesti tiettyä pyyntönumeroa (ja siten vektoria), keskeytyksen lähde voidaan tunnistaa vain peräkkäisen pääsyn avulla kunkin laitteen rekistereihin. Tässä tapauksessa tulee ottaa huomioon mahdollisuus vastaanottaa pyyntöjä usealta laitteelta samanaikaisesti tai käsiteltäessä keskeytystä yhdeltä niistä;
  • menettelyn tulee huoltaa keskeytyslähdelaitetta - suorittaa "hyödyllisiä" toimintoja, jotka liittyvät laitteen ilmoittamaan tapahtumaan. Tämän palvelun tulisi myös varmistaa, että keskeytyspyyntösignaali tästä laitteesta poistetaan. Jaetuissa keskeytyksissä voi olla useita lähteitä, ja ne kaikki vaativat ylläpitoa;
  • jos keskeytyskäsittely vie merkittävästi aikaa, jonka aikana järjestelmän on vastattava korkeamman prioriteetin pyyntöihin, niin kriittisen osan jälkeen käsittelijään tulee STI-käsky, joka asettaa prosessoriin keskeytyksen sallimislipun (IF) . Tästä eteenpäin sisäkkäiset keskeytykset ovat mahdollisia, keskeyttäen työn tästä ohjaajasta toinen korkeamman prioriteetin menettely;
  • keskeytyksen käsittelyproseduurin tulee lähettää ohjaimelle komento keskeytyskäsittelyn loppuun saattamiseksi EOI (End Of Interrupt), jonka avulla ohjain sallii myöhemmän signaalin vastaanoton huolletusta tulosta ja alemman prioriteetin tuloista. Tämä on tehtävä keskeytyssignaalin poistamisen jälkeen huolletuista laitteista, muuten ohjain lähettää toisen pyynnön EOI:n jälkeen. Keskeytyskäsittelijän, jolle on tullut pyyntö orjaohjaimelta, on lähetettävä EOI sekä orja- että isäntäohjaimelle. Käsittelijän osion, joka alkaa EOI-käskyn antamisesta lopetukseen (IRET-käsky), tulee olla keskeytymätön, eli se on kriittinen osa. Jos käsittelijä salli sisäkkäiset keskeytykset, CLI-käskyn, joka estää keskeytyksiä, on oltava läsnä ennen EOI-komennon antamista;
  • keskeytyskäsittely viimeistellään IRET-käskyllä, jolla prosessori palaa suorittamaan keskeytettyä käskyvirtaa haettuaan aiemmin lippurekisterin sisällön pinosta. Tässä tapauksessa laitteistokeskeytykset otetaan uudelleen käyttöön.

Tämä sekvenssi on kuvattu tavallisen keskeytysohjaimen (PIC) yhteydessä, APIC-järjestelmät muuttavat tapaa, jolla keskeytysvektori välitetään ohjaimesta prosessoriin, ja MSI-keskeytykset muuttavat tapaa, jolla signaali välitetään laitteesta APIC-ohjaimeen. . Nämä vivahteet kuvataan seuraavissa osissa.

Yleistä tietoa

PCI-sillat (PCI Bridge) ovat erikoislaitteita PCI- (ja PCI-X)-väylien yhdistämiseen toisiinsa ja muihin väyliin. Host Bridgeä käytetään PCI:n liittämiseen tietokoneen keskelle (järjestelmämuistiin ja prosessoriin). Pääsillan "kunniallinen velvollisuus" on tuottaa kutsuja konfigurointitilaan keskusprosessorin ohjauksessa, jolloin isäntä (keskusprosessori) voi määrittää koko PCI-väyläalijärjestelmän. Järjestelmässä voi olla useita pääsiltoja, mikä mahdollistaa tehokkaan viestinnän keskuksen kanssa lisää laitteet (yhden väylän laitteiden määrä on rajoitettu). Näistä linja-autoista yksi on ehdollisesti pääbussiksi (bussi 0).

PCI-peer-siltoja (PeertoPeer Bridge) käytetään lisäämään PCI-väyliä. Nämä sillat tuovat aina ylimääräistä tiedonsiirtoa, joten laitteiden ja keskittimen välisen viestinnän tehokas suorituskyky heikkenee jokaisen tielle tulevan sillan myötä.

PCMCIA-, CardBus-, MCA-, ISA/EISA-, X-Bus- ja LPC-väylien kytkemiseen käytetään erityisiä siltoja, jotka sisältyvät emolevyn piirisarjoihin tai ovat erillisiä PCI-laitteita (siruja). Nämä sillat muuntavat liittämiensä väylien rajapinnat, synkronoivat ja puskuroivat tiedonvaihtoa.

Jokainen silta on ohjelmoitava - sille on annettu osoitealueet muistissa ja I/O-tilat, jotka on varattu laitteille sen väylissä. Jos nykyisen tapahtuman CPU-osoite sillan yhdellä väylällä (puolella) viittaa vastakkaisen puolen väylään, silta kääntää tapahtuman sopivalle väylälle ja varmistaa väyläprotokollan neuvottelun. Siten joukko PCI-siltoja suorittaa pyyntöjen reitityksen liittyviä väyliä pitkin. Jos järjestelmässä on useita pääsiltoja, niin päästä päähän -reititys eri väylillä olevien laitteiden välillä ei välttämättä ole mahdollista: pääsillat voivat olla yhteydessä toisiinsa vain muistiohjaimen runkopolkujen kautta. Kaikentyyppisten PCI-tapahtumien kääntämisen tukeminen pääsiltojen kautta osoittautuu tässä tapauksessa liian monimutkaiseksi, eikä sitä siksi vaadi PCI-spesifikaatiossa. Siten kaikki aktiiviset laitteet kaikilla PCI-väylillä voivat käyttää järjestelmämuistia, mutta vertaisviestinnän mahdollisuus voi riippua siitä, kuuluvatko nämä laitteet johonkin PCI-väylään.

PCI-siltojen käyttö tarjoaa seuraavat mahdollisuudet:

  • liitettyjen laitteiden mahdollisen määrän lisääminen, väylän sähköisten eritelmien rajoitusten ylittäminen;
  • PCI-laitteiden jakaminen segmentteihin - PCI-väylät - eri ominaisuuksilla: bittisyvyys (32/64 bittiä), kellotaajuus (33/66/100/133 MHz), protokolla (PCI, PC-X Mode 1, PCI-X Mode) 2, PCI Express). Jokaisella väylällä kaikki tilaajat ovat yhtä suuria kuin heikoin osallistuja; laitteiden oikea sijoittaminen linja-autoihin mahdollistaa maksimaalinen tehokkuus käyttää laitteiden ja emolevyjen ominaisuuksia;
  • segmenttien järjestäminen "kuumien" laitteiden liittämisellä/irrottamalla;
  • tapahtumien samanaikainen rinnakkainen toteuttaminen eri väylillä sijaitsevilta aloittajilta.

Jokainen PCI-silta yhdistää vain kaksi väylää: ensisijaisen väylän, joka sijaitsee lähempänä hierarkian huippua, toisioväylän kanssa; Siltaliitäntöjä, joilla se on kytketty näihin väyliin, kutsutaan ensisijaiseksi ja toissijaiseksi. Vain puhtaasti puumainen konfiguraatio on sallittu, eli kaksi väylää on yhdistetty toisiinsa vain yhdellä sillalla, eikä siltoja ole "silmukoita". Tietyn sillan toissijaiseen rajapintaan muiden siltojen kautta kytkettyjä väyliä kutsutaan alisteisiksi väyliksi. PCI-sillat muodostavat PCI-väylien hierarkian, jonka yläosassa on isäntäväylä, numeroitu nolla, yhdistettynä isäntäsiltaan. Jos pääsiltoja on useita, niin niiden linja-autoista (samanarvoinen) pääsilta on se, jolle on annettu nollanumero.

Sillan on suoritettava useita pakollisia toimintoja:

  • huoltaa sen toissijaiseen rajapintaan kytkettyä väylää:
  • suorittaa sovittelun - vastaanottaa REQx#-pyyntösignaalit väyläisänniltä ja antaa heille oikeus ohjata väylää GNTx#-signaaleilla
  • pysäköi väylä - lähetä GNTx#-signaali jollekin laitteelle, kun mikään isäntä ei vaadi väylän ohjausta;
  • generoi tyypin 0 konfigurointijaksoja, joissa muodostetaan yksittäisiä IDSEL-signaaleja osoitettavalle PCI-laitteelle;
  • "vetää" ohjaussignaalit korkealle tasolle;
  • määrittää kytkettyjen laitteiden ominaisuudet ja valita niitä tyydyttävä väylän toimintatila (taajuus, bittisyvyys, protokolla);
  • luo laitteiston nollauksen (RST#) nollaamalla ensisijaisesta liitännästä ja komennolla raportoimalla valitusta tilasta erityisellä hälytyksellä.
  • ylläpitää karttoja sillan vastakkaisilla puolilla sijaitsevista resursseista;
  • vastata kohdelaitteen varjolla tapahtumiin, jotka isäntä on aloittanut yhdessä rajapinnassa ja osoitettu toisessa rajapinnassa sijaitsevalle resurssille; lähettää nämä tapahtumat toiseen käyttöliittymään, joka toimii isäntänä, ja lähettää niiden tulokset todelliselle aloittajalle.

Näitä toimintoja suorittavia siltoja kutsutaan läpinäkyviksi silloiksi; ei vaadita työskentelemään tällaisten siltojen takana olevien laitteiden kanssa lisäajureita silta. Juuri nämä sillat on kuvattu PCI Bridge 1.1 -spesifikaatiossa, ja niille, PCI-laitteille, on erityinen luokka (06). Tässä tapauksessa viitataan "tasaiseen" resurssien osoitemalliin (muisti ja I/O): jokaisella laitteella on omat osoitteensa, jotka ovat yksilöllisiä (ei risteä muiden kanssa) tietyssä järjestelmässä (tietokoneessa).

On myös läpinäkymättömiä siltoja (ei läpinäkyvä silta), joiden avulla voit järjestää erilliset segmentit omilla paikallisilla osoiteavaruuksilla. Läpinäkymätön silta suorittaa osoitteenmuunnoksen (muunnoksen) tapahtumille, joissa aloittaja ja kohdelaite sijaitsevat sillan vastakkaisilla puolilla. Kaikki vastapuolen resurssit (osoitealueet) eivät välttämättä ole tavoitettavissa tällaisen sillan kautta. Läpinäkyviä siltoja käytetään esimerkiksi silloin, kun tietokoneessa on "älykäs input/output" (I20) -alijärjestelmä, jossa on oma I/O-prosessori ja paikallinen osoiteavaruus.

Yleistä tietoa

PCI-väylä sisältää aluksi mahdollisuuden määrittää automaattisesti järjestelmäresurssit (muisti- ja I/O-tilat ja keskeytyspyyntörivit). Automaattinen laitekonfigurointi (osoitteiden ja keskeytysten valinta) on tuettu BIOS- ja OS-työkaluilla; se keskittyy PnP-tekniikkaan. PCI-standardi määrittelee kullekin toiminnolle enintään 256 rekisterin (8 bitin) konfigurointitilan, jota ei ole osoitettu muisti- tai I/O-tilaan. Niihin päästään käyttämällä erityisiä väyläkomentoja Configuration Read ja Configuration Write, jotka on luotu jollakin alla kuvatuista laitteisto- ja ohjelmistomekanismeista. Tässä tilassa on alueita, joita vaaditaan kaikille laitteille ja tietyille laitteille. Tietyllä laitteella ei välttämättä ole rekistereitä kaikissa osoitteissa, mutta sen on tuettava niille osoitettujen toimintojen normaalia suorittamista. Tässä tapauksessa olemattomien rekisterien lukemisen tulee palauttaa nollia ja kirjoittaminen tulee suorittaa tyhjäkäynnillä.

Toiminnon konfigurointiavaruus alkaa vakiootsikolla, joka sisältää valmistajan, laitteen ja sen luokan tunnisteet sekä kuvauksen tarvittavista ja varatuista järjestelmäresursseista. Otsikkorakenne on standardoitu perinteisille laitteille (tyyppi 0), PCI-PCI-silloille (tyyppi 1), PCI-CardBus-silloille (tyyppi 2). Otsikkotyyppi määrittää hyvin tunnettujen rekisterien sijainnin ja niiden bittien tarkoituksen. Otsikon jälkeen voi olla laitekohtaisia ​​rekistereitä. Laitteiden standardoituja ominaisuuksia (kykyä) varten (esimerkiksi energianhallinta) konfiguraatiotilassa on lohkoja rekistereistä, joilla on tunnettu tarkoitus. Nämä lohkot on järjestetty ketjuiksi, ensimmäiseen tällaiseen lohkoon viitataan standardiotsikossa (CAP_PTR); lohkon ensimmäisessä rekisterissä on linkki seuraavaan lohkoon (tai 0, jos tämä lohko- viimeinen). Siten ketjua skannaamalla konfigurointiohjelmisto vastaanottaa listan kaikista saatavilla olevista laitteen ominaisuuksista ja niiden sijainnista toimintokonfiguraatiotilassa. PCI 2.3 määrittelee seuraavat CAP_ID:t, joista osan tarkastelemme:

  • 01 - energianhallinta;
  • 02 - AGP-portti;
  • 03 - VPD (Vital Product Data), tiedot, jotka tarjoavat kattavan kuvauksen laitteiden laitteiston (mahdollisesti myös ohjelmiston) ominaisuuksista;
  • 04 — aukkojen ja alustan numerointi;
  • 05 - MSI-keskeytykset;
  • 06 - Hot Swap, hot-liitäntä Compact PCI:lle;
  • 07 - PCI-X-protokollalaajennukset;
  • 08 - varattu AMD:lle;
  • 09 - valmistajan harkinnan mukaan (Myyjäkohtainen);
  • 0Ah — virheenkorjausportti (Debug Port);
  • 0Bh - PCI Hot Plug, vakiovaruste "hot plug".

PCI-X:ssä laitteiden tila 2 konfigurointitilaa laajennettu 4096 tavuun; laajennetussa tilassa voi olla laajennettuja kiinteistökuvauksia.

Kovan nollauksen (tai virran kytkemisen) jälkeen PCI-laitteet eivät reagoi muistin ja I/O-tilan käyttöön, ja ne ovat käytettävissä vain asetusten lukemiseen ja kirjoittamiseen. Näissä toiminnoissa laitteet valitaan yksittäisten IDSEL-signaalien avulla ja rekistereitä lukemalla konfigurointiohjelmisto oppii resurssivaatimuksista ja mahdollisista. Kun määritysohjelma on varannut resurssit (POST- tai käyttöjärjestelmän käynnistyksen aikana), konfigurointiparametrit (perusosoitteet) kirjoitetaan laitteen konfigurointirekistereihin. Vasta tämän jälkeen laitteet (tarkemmin sanottuna toiminnot) asetetaan biteille, joiden avulla ne voivat vastata komentoihin päästäkseen muistiin ja I/O-portteihin sekä ohjata itse väylää. Jotta aina löydettäisiin toimiva konfiguraatio, kaikkien korttien käyttämien resurssien on oltava siirrettävissä tiloissaan. Monitoimilaitteissa jokaisella toiminnolla on oltava oma konfigurointitila. Laite voi yhdistää samat rekisterit sekä muistiin että I/O-tilaan. Tässä tapauksessa molempien kuvaajien on oltava konfiguraatiorekistereissään, mutta kuljettajan on käytettävä vain yhtä pääsytapaa (mieluiten muistin kautta).

Määritystilan otsikko kuvaa kolmentyyppisten osoitteiden tarpeita:

  • rekisterit I/O-tilassa);
  • I/O-rekisterit on yhdistetty muistiin (Memory Mapped I/O). Tämä on muistialue, johon on päästävä tiukasti vaihdon aloittajan pyyntöjen mukaisesti. Näihin rekistereihin pääsy voi muuttaa oheislaitteiden sisäistä tilaa;
  • muistia, joka mahdollistaa esihaettavan muistin. Tämä on muistialue, jossa "ylimääräinen" lukeminen (käyttämättömillä tuloksilla) ei johda sivuvaikutuksiin, kaikki tavut luetaan BE#-signaaleista riippumatta ja yksittäisten tavujen kirjoitukset voidaan yhdistää toisiinsa (eli se on muisti puhtaimmassa muodossaan).

Osoitevaatimukset ilmoitetaan perusosoiterekistereissä - BAR (Base Address Register). Konfigurointiohjelma voi myös määrittää tarvittavien alueiden koon. Tätä varten sen on laitteiston nollauksen jälkeen luettava ja tallennettava perusosoitteiden arvot (nämä ovat oletusosoitteita), kirjoitettava FFFFFFFFh jokaiseen rekisteriin ja luettava niiden arvo uudelleen. Vastaanotetuissa sanoissa sinun on nollattava tyypin dekoodausbitit (bitit muistille ja bitit I/O:lle), käännettävä ja lisättävä tuloksena oleva 32-bittinen sana - tuloksena on alueen pituus (ohita porttien bitit ). Menetelmä olettaa, että alueen pituus ilmaistaan ​​muodossa 2n ja alue on luonnollisesti kohdistettu. Vakiootsikko sisältää jopa 6 perusosoiterekisteriä, mutta 64-bittistä osoitusta käytettäessä kuvattujen lohkojen määrä vähenee. Käyttämättömien BAR-rekisterien tulee aina palauttaa nollia luettaessa.

PCI tukee vanhoja laitteita (VGA, IDE), jotka ilmoittavat olevansa sellaisiksi otsikossa olevan luokkakoodin avulla. Niiden perinteisiä (kiinteitä) porttiosoitteita ei ilmoiteta konfiguraatiotilassa, mutta heti kun portin pääsyn salliva bitti on asetettu, laitteet saavat vastata myös näihin osoitteisiin.

ISA-väylä

Väyläliitäntästandardit

Väylän leveyden kasvaessa ja tietokoneen kellotaajuuden kasvaessa myös väylärajapintojen standardit muuttuivat. Tällä hetkellä tietokoneet käyttävät seuraavia pääväyläliitäntästandardeja:

· ISA-väylä;

· PCI-väylä;

Muita standardeja, kuten MCA (Micro Channel Architecture), EISA (Extended Industry Standard Architecture) ja VESA, joita yleisesti kutsutaan paikallisväyläksi, VL-väyläksi ja joita VESA (Video Electronics Standards Association) on kehittänyt, ei ole tällä hetkellä käytössä.

Ensimmäisen yhteisen väylärajapintastandardin, ISA (Industry Standard Architecture) -väylän, kehitti IBM luodessaan IBM tietokone PC AT (1984). Tämä 16-bittinen väylä, jonka kellotaajuus on 8,33 MHz, mahdollistaa sekä 8-bittisten että 16-bittisten laajennuskorttien asennuksen (kaistanleveys 8,33 ja 16,6 MB/s).

Tiedonvaihto nopeiden ulkoisten laitteiden ja RAM suoritetaan prosessorin mukana, mikä voi joissain tapauksissa johtaa tietokoneen suorituskyvyn heikkenemiseen. ISA-väylällä käyttöönotetun suoran pääsyn tilassa oheislaite kytketty RAM-muistiin suoraan DMA-kanavien kautta (Direct Memory Access). Tämä tiedonsiirtotila on tehokkain tilanteissa, joissa sitä tarvitaan suuri nopeus suuren tietomäärän siirtämiseen (esimerkiksi ladattaessa tietoja muistiin kiintolevyltä).

Suoran muistin käytön järjestämiseksi käytetään DMA-ohjainta, joka on sisäänrakennettu johonkin emolevyn siruista. Laite, joka vaatii suoran muistin käytön, yksi seuraavista ilmaisia ​​kanavia DMA ottaa yhteyttä ohjaimeen ja kertoo polun (osoitteen), mistä tai mihin data lähetetään, tietolohkon aloitusosoitteen ja datamäärän. Vaihdon alustus tapahtuu prosessorin osallistuessa, mutta varsinainen tiedonsiirto tapahtuu DMA-ohjaimen, ei prosessorin, ohjauksessa.

ISA-väylä puuttuu nykyaikaisista emolevyistä, ja se on säilynyt vain vanhemmissa tietokoneissa.

PCI-väylä (Peripheral Component Interconnect) oheiskomponentit) kehitti Intel yhdessä useiden muiden yritysten kanssa vuonna 1993 uudelle korkean suorituskyvyn Pentium-prosessorilleen.

Tällä hetkellä PCI-SIG (PCI - Special Interest Group) -organisaatio kehittää ja ylläpitää kaikkia PCI-standardeja.


Uusin PCI-standardi, PCI 3.0, joka otettiin käyttöön vuonna 2004, määrittelee sekä 32-bittisen väylän kellotaajuudella 33 MHz ja huippunopeudella 133 MB/s, että 64-bittiset väylät kellotaajuudet 33 ja 66 MHz ja huippusuorituskyky 266 ja 533 MB/s, vastaavasti.

PCI-väylän tiedonsiirron nopeuttamiseksi käytetään pursketilaa. Tässä tilassa missä tahansa osoitteessa olevia tietoja ei lähetetä yksi kerrallaan, vaan kokonaisena joukkona kerralla.

PCI-väylän perusperiaate on ns. siltojen käyttö, jotka kommunikoivat PCI-väylän ja muiden väylien välillä. Tärkeä ominaisuus Toinen PCI-väylän etu on, että se toteuttaa DMA-kanavien sijaan tehokkaamman väylänhallintatilan (Bus Mastering), jonka avulla ulkoinen laite voi ohjata väylää ilman prosessorin osallistumista. Tiedonsiirron aikana väylänhallintaa tukeva laite ottaa väylän haltuunsa ja siitä tulee isäntä. Tällä lähestymistavalla keskusprosessori vapautetaan suorittamaan muita tehtäviä tiedonsiirron aikana. Tämä on erityisen tärkeää käytettäessä moniajokäyttöjärjestelmiä, kuten Windows ja Unix.

Emolevyn PCI-kortin liittimet on esitetty kuvassa. ??????.

Riisi. ??????. PCI-korttipaikat emolevyllä:

a) 32-bittinen liitin; b) 64-bittinen liitin

PCI-standardin lisäys on PCI Hot Plug v1.0 -standardi. Tämän standardin mukaiset PCI-laitteet voidaan asettaa korttipaikkaan tai irrottaa siitä tietokoneen ollessa käynnissä - niin kutsuttu "hot plug".

PCI-väyliä käytetään nykyaikaisissa tietokoneissa sisäisten laitteiden liittämiseen järjestelmäyksikkö, kuten äänikortti tai modeemi. Kuitenkin varten grafiikkalaitteet näillä väylillä ei ole riittävää tiedonsiirtonopeutta, joten PCI-SIG kehitti uuden standardin - PCI-X (X tarkoittaa eXtended - Extended), jonka kellotaajuudet ovat 66, 133, 266 ja 533 MHz ja huippukaistanleveydet 533, 1066. , 2132 ja 4264 Mt/s. Tämä standardi on taaksepäin yhteensopiva PCI 3.0 -standardin kanssa, ts. Tietokoneessasi voi käyttää sekä PCI 3.0- että PCI-X-kortteja.

PCI-X-standardin uusin versio, PCI-X 2.0, otettiin käyttöön vuonna 2002. Tällä hetkellä tämän standardin väyliä ei käytännössä käytetä, koska samana vuonna PCI-SIG alkoi kehittää täysin uutta PCI-väylästandardia - PCI Express.

PCI Express -standardi, jota kutsutaan myös PCI-E:ksi tai PCe:ksi, korvaa PCI- ja PCI-X-väylien käyttämän rinnakkaisjaetun rakenteen kytkimiä käyttävillä laitteiden sarjakytkennöillä. Tämän standardin vanha nimi on 3GIO (3rd Generation Input/Output – kolmas sukupolvi input/output).

Uusin nykyinen PCI Express -standardi on PCI Express Base 2.0, joka otettiin käyttöön vuonna 2006.

Toisin kuin PCI-standardi, joka yhdistää kaikki laitteet yhteiseen 32-bittiseen rinnakkaiseen yksisuuntaiseen väylään, PCI Express käyttää yhtä tai useampaa kaksisuuntaista väylää laitteen yhdistämiseen. sarjaliitännät point-to-point-tyyppi, toteutettu kuparikierretyllä parilla.

Kun dataa vaihdetaan kierretyn parin kautta, käytetään pienjännitedifferentiaalisen signaalin lähetysmenetelmää - LVDS (Low-Voltage Differential Signaling). LVDS:ssä data siirretään peräkkäin, bitti kerrallaan. Tällöin yhden signaalin lähettämiseen käytetään differentiaaliparia, ts. että lähettävä puoli asettaa eri jännitetasoja parin johtimiin, joita verrataan vastaanottopuolella. Tietojen koodaamiseen käytetään jännite-eroa parin johtimien välillä. Signaalin pieni amplitudi sekä parin johtojen vähäinen sähkömagneettinen vaikutus toisiinsa mahdollistavat melun vähentämisen linjassa ja tiedon siirtämisen korkeat taajuudet, eli suurella nopeudella. Tiedonsiirtonopeuden lisäämiseksi voidaan käyttää useita yhteyksiä (kierrettyjä pareja), joiden kautta bitit lähetetään rinnakkain, ts. samanaikaisesti.

PCI Express voi käyttää yhtä tai useampaa yhteyttä tiedonsiirtoon. Laitteen liitäntöjen määrä määritellään numerolla, jota seuraa (tai sitä edeltää) x-kirjain. Tällä hetkellä spesifikaatio määrittelee liitännät 1x, 2x, 4x, 8x, 16x ja 32x. Jokaisella näistä PCI Express -väyläyhteyksistä (lukuun ottamatta yhteyttä 32x, joka ei ole vielä käytössä) on oma liitintyyppinsä. Kuvassa ???? Yleisimmät PCI Express -paikat on esitetty: 1x, 2x, 4x, 8x ja 16x.

Riisi. ??????. Yleisimmät PCI Express -liittimet: a) 1x paikka; b) korttipaikka 4x;

c) paikka 8x; d) korttipaikka 16x;

PCI Express -väylän siirtonopeus yhteyttä kohti on tällä hetkellä 2,5 Gbit/s, ja sen odotetaan nousevan 10 Gbit/s:iin. PCI Express -standardin pitäisi korvata PCI- ja PCI-X-standardit sekä seuraavassa osiossa käsitelty AGP-standardi. PCI Express -standardi on kuitenkin yhteensopiva näiden standardien kanssa ja sitä tullaan käyttämään yhdessä niiden kanssa vielä pitkään, koska monia PCI- ja AGP-standardeihin perustuvia kortteja on julkaistu ja julkaistaan ​​edelleen.