PC-s sínek (PCI) A mai alaplapok legnagyobb részét elfoglalják a bővítőkártyáknak szánt foglalatok. A mostanában gyártott alaplapokhoz alapvetően három típusú kártya használható: ISA, PCI, AGP. Mára már szinte csak két típus maradt fent ( az újabb alaplapokban már csak ez a két típus található meg): a PCI és az AGP. Sebesség (MHz)
Sávszélesség (Mbájt/sec)
16 bites ISA 16
8,3
15,9
EISA
32
8,3
31,8
PCI
32
33
127,2
PCI 2.1
64
66
508,6
AGP
32
66
254,3
AGP Pro
32
66
254,3
Megnevezés
Szélesség (bit)
PCI sín
PCI sín az alaplapon A CPU fejlődését leszámítva a PC-n belül kétségtelenül az volt a legnagyobb változás, hogy az ISA (Industry Standard Architecture) sínt felváltotta a PCI (Peripheral Component Interconnect) csatlakozó. A PCI sín előnyei révén jó ideje az uralkodó adaptercsatlakozó a PC-ben, sőt proceszszorfüggetlensége okán más architektúrákban is alkalmazzák. A PCI specifikáció első változatát 1992 júniusában tette közé az Intel, ezt 1993 áprilisában követte a 2.0-s, 1995 elején a 2.1-es verzió, majd 1999 januárjában a 2.2.-es verzió. A PCI szinkron sín, első definíciója 32 bit széles és maximálisan 33 megahertzes órajelű, azaz 4x33 = 132 megabájt/szekundum sebességű illesztőfelületet rögzített. Második változata az akkoriban megjelent 64 bites külső adatsínnel rendelkező processzorokhoz, így például a Pentiumhoz igazodva már 64 bit széles sínt is alkalmaz, ennek sebessége 264 megabájt/másodperc. Végül a 2.1-es verzió legfontosabb újdonsága a 66 megahertzre növelt órajel volt, ez a 64 bites szélességgel 524 megabájtos teljesítményt érhet el másodpercenként. Hangsúlyozni kell, hogy a megadott sebességek az elméleti maximumok, a valódi értékek a körülményektől függően alakulnak, a gyakorlatban ezeknek az 50-80 százaléka érhető el. Energiatakarékos üzemmódban az órajel csökkenthető, alvó állapotban pedig meg is állítható. Opcionálisan négy megszakításvonal szerepel a PCI specifikációjában: INTA, INTB, INTC és INTD azonosítóval; ezek a PCI sínen levő perifériák kiszolgálására használhatók, és megoszthatók. A megszakítás a számítógépes rendszerek általános vezérlőeszköze, minden architektúrában alkalmazzák. A rendszert a processzor irányítja: sorban végrehajtja az éppen
futó program utasításait. Sokszor azonban félbe kell szakítania ezt, mert valamilyen külső esemény történt, például a felhasználó leütött egy billentyűt. Ezeknek a kéréseknek a fogadására a legtöbb CPU-hoz hasonlóan az Intel típusainak is két bemenetük van: az INTR (interrupt - megszakítás) és az NMI (non-maskable interrupt - nem maszkolható megszakítás). Az a legfontosabb különbség a kettő között, hogy az INTR bemeneten érkező kéréseket a programozó figyelmen kívül hagyhatja (maszkolhatja), az NMI-re azonban a processzor mindenképpen reagál. A letiltásra azért van szükség, mert minden operációs rendszerben vannak olyan kritikus programrészek, amelyeknek a végrehajtását nem tanácsos félbeszakítani. Egy ilyen programrész előtt le kell tiltani az INTR fogadását, a végrehajtása után pedig újra engedélyezni kell A PC-ben az NMI is letiltható, csak nem a CPU-ban, hanem egy külső logikai kapun keresztül. Az NMI-t a memória paritáshibájának és az ISA adapterek hibájának a jelzésére használják, valamint rendszervezérlésre; a normál" megszakításkérések fogadására az INTR szolgál. Mivel sokféle periféria kérhet megszakítást, de a CPU-nak csak egy ilyen bemenete van, megszakítás-vezérlőt kell alkalmazni. Ez egyrészt több perifériától fogadhat megszakításkérést, másrészt azonosítja, hogy melyikről van szó, hiszen a különböző perifériák kiszolgálásához más-más programot kell futtatni a processzoron. Annak idején az eredeti PC-ben és XT-ben az Intel 8259A típusú megszakítás-vezérlőjét használták; arra 8 periféria csatlakozhat egyszerre. Az AT-be már két ilyen áramkört építettek, így a megszakítások száma 15-re nőtt. Mi történik akkor, ha ennél többre van szükség? A 15 megszakításból néhányat eleve elfoglalnak a rendszer elemei - például a valaha önálló segédprocesszorként működő, ma a processzorba beépített lebegőpontos egység -, és már az eredeti AT-ben is meglevő perifériák, mint a hajlékonylemez, a merevlemez és soros, párhuzamos kapuk. A konfigurációból hiányzó perifériák megszakításai felhasználhatók, de az új perifériáknak – CD-ROM, hálózati kártya, hangkártya stb. - szabadon kiosztható megszakítások száma korlátozott. Egy megszakításra akár még két periféria is ráköthető, vagyis a megszakítás megosztható. A megosztott megszakításról érkező kérésre az első perifériát kiszolgáló rutin indul el, és megkérdezi a hozzá tartozó eszközt, hogy ő kérte-e a megszakítást. Ha igen, akkor kiszolgálja, ha nem, akkor elindítja a második perifériát kezelő eszközmeghajtót, s az kezeli a saját perifériáját. Sajnos a hagyományos, 8259A által kezelt megszakítások fizikai kialakítása nem teszi lehetővé a megosztást; ha két periféria egyszerre kér megszakítást, vagy a két kérés között csak rövid idő telik el, akkor a 8259A ezt hibás működésnek érzékeli. Sok esetben a megszakítások szűkössége miatt használják a SCSI csatolót, mert arra egyszerre hét periféria merevlemez, CD-ROM, lapolvasó stb. - köthető rá, és csak egy megszakításra van szüksége. Hasonló haszonnal jár az USB csatoló is. Az Intel a többprocesszoros rendszerek támogatására a 90 és 100 megahertzes Pentiumoktól kezdve - a Celeron kivételével - külön megszakítás-vezérlőt (APIC - Advanced Programable Interrupt Controller) is épít processzoraiba, és lapkakészleteinek nagy része (HX, TX, LX stb.) tartalmaz egy ezzel együttműködő újabb megszakítás-vezérlőt, a 82039-et, de ez a perifériák által használható megszakításokat nem érinti. Egy PCI eszköz, ha a funkciójához megszakításra van szüksége, akkor az INTA-t használja. Amennyiben két funkciót - például két soros kapu - lát el, akkor az első az INTA, a második az INTB megszakítás, és így tovább. Nem követelmény, hogy a PCI perifériák valamennyi INTA vonala a PCI INTA bemenetére csatlakozzék, mivel akkor ez lenne a legterheltebb vonal, szinte minden PCI eszköznek lévén INTA megszakítása. A PCI specifikáció semmiféle
útmutatást nem ad a négy PCI megszakítás megosztására nézve, lehet hardveresen „beégetett" vagy programból konfigurálható. Sok esetben például a BIOS Setupban beállítható, hogy az alaplapon levő két IDE kapu melyik PCI megszakítást használja. A PCI periféria nem tudja előre, hogy melyik megszakításra kerül a négy közül, ezt a BIOS állítja be a gép bekapcsolása után - nem úgy, mint az ISA perifériákon: ott az adapterkártyán, átkötésekkel van beállítva, hogy az adapter melyik megszakítást használja. A BIOS osztja ki az allokálható megszakításokat - felmérvén a gépben levő PCI és ISA perifériákat -; a PCI megszakításokat csak akkor osztja ki, ha szükséges. A perifériának az a következő feladata, hogy a felhasznált (legfeljebb négy) PCI megszakítást hozzárendelje a szabad IRQ vonalakhoz. Elvileg csak a szabad IRQ megszakításokat használhatja, hiszen ezek nem oszthatók meg. Sajnos azonban, mivel nem - vagy nem jól - ismer fel minden ISA eszközt, időnként mégis megosztja a már használt IRQ-kat is, ezért ezek az eszközök nem fognak működni. Ennek elkerülésére a BIOS Setupban az ISA eszközök által eleve elfoglalt megszakításokat a Legacy ISA" beállítással kivehetjük a BIOS választékából. A PCI/ISA Plug & play" beállítás azt jelzi, hogy ez a megszakítás kiadható vagy egy ISA eszköznek (ha felismerte) vagy a négy PCI megszakítás valamelyikének. A kiosztás után a PCI eszköz egy regiszterébe a BIOS kiírja, hogy melyik megszakítást kapta meg, az operációs rendszer pedig - a perifériát lekérdezve - ennek megfelelően állíthatja be az eszközmeghajtóját. Tapasztalat szerint a felhasználó - esetleg hibás - megszakítás-beállításait a BIOS nem bírálja felül. Csak a perifériacím-ütközésre figyel, ha tehát, mondjuk, a PCI és az ISA sínen is van COM1 soros port, akkor figyelmeztetést küld az ütközésről, és ha nem reagálunk, akkor a PCI sínre csatlakozót engedélyezi, az ISA-t pedig letiltja - mivel a PCI sínen lévő perifériákat tapogatja le" először. A BIOS a megszakítás-ütközés megszüntetését az operációs rendszerre bízza: vele oldatja fel azt a helyzetet például, hogy a COM1 (ISA) és a COM3 (PCI) is az IRQ3-at akarja használni. A Windows 95/Windows 98 pedig annak adja a megszakítást, és azt használja, amelyiket előbb találja meg; az iménti példában ez a COM1 lesz az ISA sínen. A személyi számítógépekben általában 5 voltos, 33 megahertzes PCI sínt használnak, a kevés számú kivétel közé tartozik például a Silicon Graphics nemrég piacra hozott PC-je: az 3,3 voltos PCI adaptereket fogad. Az ajánlás 2.1-es verziója már a 66 megahertzes változatot is definiálja; az 64 biten elvileg már 8bájt X 66 megahertz = 528 megabájt/másodperces maximális sebességet érhet el. Az alaplap érzékeli, hogy 33 vagy 66 megahertzes-e az adapterkártya, és e szerint választja ki az órajelet. A két adaptertípus együtt is használható, ilyenkor azonban a 66 megahertzesek is a 33 megahertzes közös órajelet kapják. A leírásban szereplő órajel csak a maximum, az adaptereknek működniük kell a 0-33, illetve a 0-66 megahertzes tartományban, mert ez szükséges az energiatakarékos üzemmódhoz és az alvó állapothoz. Nagyfrekvenciás jelek továbbításakor - többek között - a visszaverődés és az áthallás okoz nehézségeket. Az elektromágneses hullám visszaverődik a vezeték szabad végéről - mint a vízhullám a medence faláról -, és interferál a beérkező jelekkel. Ennek elkerülésére egy ellenállással (vagy impedanciával) zárják le a kábel végét, mint például a hagyományos koaxkábeles Ethernet hálózatot vagy a SCSI sínt. Az ellenállás azonban növeli az energiafogyasztást. A PCI-t úgy tervezték, hogy ne kelljen lezárni, sőt ahhoz, hogy a csatlakozón a feszültség elérje a névleges 3,3 vagy 5 voltot, nem is szabad lezárni, különben a sín nem működik. Az egymáshoz közeli vezetékeken haladó nagyfrekvenciás jelek feszültséget indukálnak a szomszédos vezetékekben, a vezeték hosszával arányos nagyságút: ez az áthallás. Ezért nem lehet akármilyen hosszú IDE kábelt, nyomtatókábelt stb. használni. Az alaplapon levő PCI sín vezetékei még elég rövidek, de egy nagyobb rendszerben, ha a szekrény hátoldalán kell az egyik dobozból a PCI sínt átvezetni a másikba, akkor az áthallás már bajt okozhat. A PCI erre két megoldást kínál. Az egyik szerint nem egyszerre adja ki a
jeleket a vezetékeken, hanem az első órajel alatt csak mondjuk az 1-es, a 3-as, az 5-ös stb. kábelekre, a másodikban pedig a többi - a 2-es, 4-es stb. - vezetékekre. A második megoldás minden kábelen egyszerre továbbítja a jeleket, de fokozatosan kapcsolja rájuk a feszültséget: az első órajel alatt mondjuk csak 2,5 voltot és a másodikban az 5 voltot, mivel az indukció arányos a feszültségváltozással. Sajnos mindkét módszer tönkreteszi a PCI egyik legnagyobb előnyét, a sebességét, ezért a gyakorlatban ritkán alkalmazzák őket. Egy átvitel az irányától függően lehet adatkérés (olvasás) vagy adatküldés (írás). Azon a csatlakozón, amelyhez memória és/vagy egyidejűleg több eszköz is kapcsolódik, továbbítani kell a címzettet kiválasztó információt is, vagyis az adat címét. Méghozzá az adat előtt, hogy íráskor a céleszköz felkészülhessen a fogadására, olvasáskor pedig a küldőnek legyen ideje előkeresni". Hagyományos átvitelnél a címet minden egyes adat előtt továbbítják a sínen. Az adatok továbbításuk közben a legtöbb esetben nem tetszőlegesen, hanem valamilyen logikai sorrendben követik egymást, ezt a csomagátvitellel (burst átvitel) lehet kihasználni. Csak az első átvitel, az úgynevezett címfázis továbbítja a legelső adat címét és az átvitel típusát, ezt sorban, további címközlés nélkül követik az adatokat átvivő adatfázisok. A második, harmadik stb. adat címét automatikusan generálja a másik, íráskor a fogadó, olvasáskor a küldő oldal. Egy fázis hossza egy órajel, azaz 33 megahertzes órajelnél 30 nanoszekundum, 66 megahertznél pedig 15 nanoszekundum. A terminológiai egyszerűsítés céljából a PCI leírása kezdeményezőnek (initiator) nevezi az aktív, az átvitelt vezérlő oldalt, illetve célnak (target) a passzív, a kérésre reagáló oldalt. A csomagátvitellel sok idő takarítható meg: az Intel-kompatibilis processzorok a 486-os óta csomagátvitellel is tudnak kommunikálni a memóriával vagy a külső gyorsítótárral. A PCI, ha lehetséges, minden egyes tranzakciót csomagátvitellel hajt végre. Abban az esetben, ha a másik oldal erre nem képes, akkor az első adat továbbítása, az első adatfázis után jelzi ezt a kezdeményezőnek, s az leállítja a tranzakciót. Majd a második adattal újraindítja, ezt a túloldal ismét leállítja stb. - ily módon a hagyományos átvitel is megoldható a PCI-on. Mindkét oldal csökkentheti a sebességet azzal, hogy az adatfázisok közé szünetet, várakozó fázisokat iktat be. Míg az említett processzorok esetében egy csomagátvitel maximum 4 adatfázisból állhat - azaz 4x8 = 32 bájt lehet egy csomagban -, a PCI esetén nincs ilyen beépített korlátozás, csak az adott körülmények befolyásolják a csomag hosszát, így tehát akár több kilobájt is átvihető egyetlen menetben. A sín csatlakozói nemcsak a szinkron vagy aszinkron működésben különböznek egymástól, hanem abban is, hogy a cím- és az adatbitek közös vezetéken haladnak - multiplexeltek -, vagy külön vonal tartozik mindegyikhez. A külön adat- és címsín nyilván gyorsabb működést tesz lehetővé, de növeli a költségeket, a csatlakozónak és az adapterkártyáknak is több hely kell. A PCI 32 címvezetéke és a 32, illetve a 64 bites változat 64 adatvonala önmagában, a kísérőjelek nélkül is szép mennyiség. Összehasonlításként a 16 adat- és 24 címbitet hordozó ISA csatlakozó összesen 98 vezetéket tartalmaz, még ha a legtöbb adapter nem is használja mindegyiket. Csomagátvitelnél csak az első címet kell kiadni, a címsín az adatfázisok alatt kihasználatlan, ezért a multiplexelt felépítést választották a PCI tervezői. Az AD (AddressData) vonalak az első fázisban a címet, a következőkben pedig az adatokat továbbítják. A következő ábra a legfontosabb PCI jeleket mutatja. Ezek egy része a 64 bites változathoz szükséges, más részük opcionális.
A PCI sín legfontosabb jelei A C/BE (Command/Byte Enable) vezetékeken a kezdeményező a címfázis alatt a művelet típusára utaló parancsot, az adattovábbító fázisok alatt pedig a bájtkiválasztó jeleket adja ki. A 32 bites PCI a négy C/BE vonalon 16-féle parancsot tud kiadni, a 2.1-es változat ebből 14-et használ, kettő más célra van fenntartva. A parancsok három nagy csoportot alkotnak, úgymint: memóriára vonatkozó, perifériának szóló és speciális parancsok. Utóbbiak közé tartozik például az üzenetküldés: ez értesíti a PCI eszközöket, hogy a rendszer energiatakarékos, alvó állapotba került (processor halt), vagy hiba miatt leállt (processor shutdown). A parancsok egy része - például a gyorsítótár és a főmemória közötti adatátvitelt támogató - a PC-ben nem használatos, mert ott a főmemória, illetve a gyorsítótár nem a PCI sínre csatlakozik. A 32 bit széles PCI a memóriára vonatkozó parancsokkal mindig 4 egymást követő bájtot visz át, a kiadott startcímnek oszthatónak kell lennie 4-gyel. Például szükségünk van a 101-es memóriacímen lévő adatbájtra. A kezdeményező által kiadott startcím ekkor 100 lesz, mert ez a hozzá legközelebb eső, néggyel osztható cím. A memóriamodul - ha képes rá, azaz 32 bites - a PCI sínen a 100, 101, 102 és 103 címen lévő bájtokat egyszerre küldi el. Közülük csak a másodikra, a 101 címűre van szükség, ezért a C/BE vonalon kiadott kóddal a kezdeményező az érkező 32 bitből csak a 8 és 15 közöttieket engedi be". Ezért hívják bájtengedélyezésnek a C/BE adattovábbító fázisok alatti funkcióját. Segítségével a küldött vagy érkező 4 bájtból tetszőlegesen válogathatunk. Például kérhetjük minden másodikat, vagy kihagyhatunk egyet. A bájtválogatás a csomagban egymást követő adatfázisokban változhat. Ha az előzőekben említett csomag folytatódik, a második fázisban a 104, 105, 106 és 107 címen lévő bájtok érkeznek. Tetszőlegesen válogathatunk közülük, függetlenül attól, hogy az előző fázisban melyiket választottuk. Íráskor ugyanez a módszer, csak az adat iránya fordított: a processzortól halad a memória felé. Előnye ennek a megoldásnak, hogy a PCI-n akkor is használható a csomagátvitel, ha nem szomszédos adatokat akarunk elérni. A PCI sebességeként emlegetett 132 megabájt/másodperc csak elméleti érték. Tételezzük fel, hogy minden átvitel csomagban történik, és minden csomag három adatfázisból áll, azaz 3x4 = 12 bájtot továbbít. Egy csomag hossza ebben az esetben olvasáskor 6, íráskor pedig 5 órajel. Számolnunk kell a csomagok között egyfázisnyi szünetet is, mert nem csak egy periféria használja a PCI sínt. Olvasás közben az AD vonalak iránya megváltozik, a címet a processzor, az adatokat pedig a memória teszi rá a sínre, az ütközés elkerülésére be kell iktatni egy plusz
órajelet. Egy csomag hossza így 33 megahertzes órajelnél íráskor 5x30 = 150 nanoszekundum, olvasáskor 6x30 = 180 nanoszekundum. Az írás sebességére ekkor 76,3, az olvasáséra pedig 63,5 megabájtot kapunk másodpercenként. A perifériák általánosságban nem tudnak csomag átvitellel kommunikálni. Négy olyan eszköz van közöttük, amelyik rendelkezik saját memóriával, és így elvileg alkalmas a csomagátvitelre a PCI sínen: a képernyővezérlő, a hálózati adapterkártya, a merevlemez, valamint a hangkártyák egy része. Gondot okoz azonban, hogy az Intel processzorok csak a memóriához forduláskor dolgoznak csomagátvitellel, a perifériakezelő utasítások (IN és OUT) a hagyományos módon működnek. Ezért ezek az említett eszközök csak akkor használhatják ki a PCI sebességét, ha nem perifériaként kezeli őket a processzor. Két lehetőség van ennek elkerülésére: az egyik, hogy saját vezérlőjük hozzáférhet a főmemóriához, a másik, hogy az új típusú, 32 bites DMA vezérlő továbbítja számukra az adatokat. A PCI lehetővé teszi a központi processzortól független adattovábbítást, akár az adapter és a főmemória, akár két PCI adapterkártya között. Ellentétben az ISA-val, a PCI sín forgalmát tehát nemcsak a CPU vagy a DMA vezérlő, hanem az adapterek vezérlői is irányíthatják, és előfordul, hogy egyszerre ketten is szeretnék használni. Ezért az alaplapon szükség van egy hozzáférés-kiosztóra (arbiter), ez utalja ki a használat jogát a jelentkezőknek. Minden PCI vezérlőnek van egy igénylő (REQ) kimeneti és egy nyugtázó (GNT) bemeneti vonala. Amikor használni akarja a sínt, a REQ vonalon jelzi ezt a kiosztónak, s az a GNT vonalon értesíti, ha ő lesz a következő. Ezt a gyorsabb váltás érdekében még az előző síntulajdonos adatátvitele alatt megteheti, ennek a befejezését az újnak meg kell várnia. A PCI-leírás nem szabja meg - a platformfüggetlenség miatt nem is tehetné -, hogy több egyidejű jelentkező esetében mi alapján dönt a hozzáférés-kiosztó. Ennek egyetlen feltétele van csupán: az, hogy a módszer mentes legyen a halálhuroktól" (deadlock), azaz nem fordulhat elő az az eset, hogy az eszközök kölcsönösen egymásra várnak. Egy csomagban az egymást követő adatfázisok száma nem korlátozott, sőt, a hosszabb csomagok nagyobb átlagsebességet jelentenek. Többvezérlős környezetben azonban meg kell akadályozni, hogy az éppen aktuális vezérlő ráüljön" a sínre, és emiatt adatok vesszenek el, mert például a hálózati kártya nem jut szóhoz a képernyővezérlő miatt. Ezért mindegyik PCI vezérlőben van egy időzítő annak meghatározására, hogy meddig használhatja a sínt a vezérlő. Az időtartam lehet fixen beépített vagy a rendszer indulásakor szoftverből beállítható. Valahányszor a vezérlő megkapja a sínt, az időzítő elkezdi a visszaszámlálást, és ha az idő letelt, a vezérlőnek a következő adatfázis befejezése után vissza kell adnia a sínt a kiosztónak. Ez alól csak akkor van kivétel, ha a sínkiosztó még nem vette vissza tőle a nyugtázó (GNT) jelet, ami azt jelenti, hogy más még nem jelentkezett a sínért. Az átvitel közben esetleg fellépő hibák detektálására paritás-ellenőrzést végez a PCI. Az adatot továbbító oldal kiszámítja az AD és a C/BE vonalak paritását, és ennek megfelelő bitet küld el a paritásvonalon (PAR). A fogadó oldal a vett adatból szintén kiszámítja a paritást, és összehasonlítja a PAR vonalon érkezővel. Amennyiben a kettő nem egyezik, ezt a paritáshiba-vonalon (PERR) jelzi a rendszernek. Íráskor - mivel a vezérlő kezeli mind az AD, mind a C/BE vonalakat - a paritásbitet a címmel vagy az adattal egy időben tudja továbbítani. Olvasáskor a céleszköz csak az AD sínt használja, a C/BE a vezérlő kezében marad, ezért a cél csak kicsit késve tudja kiszámolni a közös paritást. Így a PAR vonalon küldött bit olvasáskor mindig az aktuálist megelőző fázisra vonatkozik. A paritáshiba kezelésének módja már nem része a PCI-leírásnak - ha az átvitel megismétlése nem segít, akkor feltehetően hardverproblémáról van szó. Az alaplapon elhelyezkedő PCI csatlakozók lehetnek 5 és 3,3 voltosak, 32, illetve 64 bitesek. A specifikáció az energiatakarékos 3,3 voltos csatlakozók, illetve adapterkártyák használatát ajánlja. Ezek is megkapják a PC tápegysége által előállított négyféle feszültséget (3,3 volt, 5, +12 és -12 volt), de a csatlakozók vonalai 3,3 volttal dolgoznak. A 32 bites kártyák
használhatóak a 64 bites foglalatokban, és fordítva. Ügyelni csak a feszültség egyezésére kell, de a kártyák és az aljzatok olyan kialakításúak, hogy megakadályozzák a helytelen csatlakozó-kártya párosítást. Az alaplap érzékeli a kártya jelenlétét, és a teljesítményigényét (25, 15 és 7,5 watt) is jelezheti. A tavaly januárban kiadott 2.2-es specifikáció számos újdonságot tartalmaz. Legfontosabbak közé tartozik a Hot-Plug specifikáció, amely lehetővé teszi a Hot Replace funkciót, vagyis egy meghibásodott PCI eszköz kicserélését, a Hot Upgrade funkciót, vagyis egy működő eszköz újabbal való kicserélését, valamint a Hot Expansiont, vagyis egy eddig még nem használt eszköz rendszerbe illesztését - mindez a számítógép, illetve az operációs rendszer leállítása nélkül. Másik lényeges újdonság a PCI Power Management, amely biztosítja az ACPI (Advanced Configuration and Power Interface) kompatibilitást. Az ACPI segítségével a a PCI eszközök beilleszthetők a számítógép energiatakarékossági műveleteibe, így ki lehet kapcsolni a nem használt eszközöket.