Valamikor a '80-as évek elején, talán 1981-ben született meg egy masina, melynek nevét az utókor soha nem fogja elfeledni: IBM PC. Már ebben az őskövületben is találhattunk kis fekete csatlakozókat, melyek az ún. ISA buszok máig is fennmaradt példányainak első képviselői voltak.

Mit is jelent maga a 'busz', mint fogalom? Nem más, mint egy összeköttetés a központi egység (CPU) és a perifériák között. Az első ISA buszok mai mércével mérve nevetséges, alig pár száz KB/s-os adatátvitelt bonyolítottak. Később kialakult a mai ISA buszok végleges, standard formája, a 16 bites ISA busz. Ez a maga 8 MHz-es frekvenciájával a gyakorlatban közel 5 MB/s-os csúcssebességre képes (az elméleti maximum 8 MB/s, ez azonban a fellépő késleltetések miatt nem érhető el). Ez a '80-as évek közepén még bőven megfelelt minden eszköznek, azonban az idő múlásával szükségessé vált egy jóval nagyobb sebességű buszrendszer kifejlesztése.

1991-ben kezdődött a PCI specifikáció gyakorlati megvalósításának kidolgozása az Intel laboratóriumaiban. Természetesen a vezető hardvergyártó cégek képviselőinek bevonásával folytak a fejlesztések, melynek gyakorlati eredményét (a PCI ipari szabványt) alig 4 év leforgása alatt közel 170 cég licenszelte... Így vált a legnépszerűbb PC-s buszrendszerré a PCI.


A PCI erényei

Az ISA 8 MHz-es órajelét 33 MHz-re emelve, a sávszélességet pedig 32 bitre növelve a PCI maximális átviteli sebessége közel 132 MB/s lett. Ez a 3D grafikus kártyákat leszámítva minden korszerű perifériát ki tud szolgálni. Ha azonban ez a közeli jövőben mégis szűkössé válna, bármikor bevezetésre kerülhet a 'dupla PCI', a PCI busz 66 MHz-es, 64 bites változata, mely elméletben 264 MB/s-os csúcssebességre képes.

A PCI másik előnye, hogy nem a jól bevált ISA buszrendszer leváltására tervezték, hanem annak kiegészítésére, 'patchelésére'. Így a PCI minden további nélkül alkalmazható bármely régebbi rendszerrel együtt. Külön chipkészlet, az ún. 'PCI bridge' felelős a CPU és a PCI perifériák közötti forgalom bonyolításáért. Speciális pufferrel rendelkezik, melynek segítségével a CPU a transzfer befejezése előtt már más feladattal foglalkozhat: a puffer és a perifériák közötti tényleges adatátvitelt a CPU helyett a PCI bridge vezérli! Erről az ötletes megoldásról nevezik a PCI-t 'lokális busz'-nak, bár valójában csak egy átmenet a valódi lokális busz (CPU+cache+memória) és a periféria buszok (pl. ISA busz) között.

Továbbá a PCI buszon megvalósítható az ún. 'bus mastering' is, mely az intelligens perifériák működésének támogatását jelenti. Bus mastering tulajdonsággal rendelkező perifériák képesek a PCI buszon keresztül egymással kommunikálni: működést összehangolni, információt cserélni, akár nagy mennyiségű adatot is mozgatni. S ami a lényeg: mindezt a CPU teljes kikerülésével! Jogos lehet azonban a kérdés: ebbe az adatforgalomba hogyan tud a CPU 'beleszólni' ? Miképpen tud az egymás közötti kommunikációba a 'külsős' CPU is bekapcsolódni? Nos, erre a problémára a 'PCI concurrency' technika jelent megoldást, melynek alkalmazásával a PCI bridge képes a CPU-periféria és a bus mastering periféria-periféria adatforgalmat egymástól függetlenül bonyolítani.

E sok misztikus fogalom után talán nem haszontalan egy példát felhozni :) Milyen perifériák használnak bus mastering-et? Az egyik legegyszerűbb, könnyen vázolható példa a korszerű PCI TV tuner kártyák kép megjelenítése. Az általam is használt miroVIDEO PCTV az antennáról fogott (vagy egyéb bemeneti portról kapott) analóg jelet a kártyára integrált BrookTree/848 chippel digitalizálja, és másodpercenként 25 képkockát küld át egyenesen a videokártyához (természetesen a CPU teljes kikerülésével, a 'helyi' PCI buszon át). A megjelenítés módjától függően az adatok mehetnek egyből a videomemóriába, vagy további feldolgozás céljából előbb a videochiphez is. Gyors fejszámolás: egy PAL formátumú jel (768 x 576 pixel, 32 bit színmélység, 25 frame/s) folyamatos bus mastering átvitele konstans 44 MB/s-ot használ a PCI 132 MB/s-os sávszélességéből... Tehát még bőven marad a többi perifériának :)


Buszrendszerek összehasonlítása
 

  ISA ISA EISA VESA PCI
Sávszélesség 8 bit 16 bit 32 bit 32 bit 32 bit
Buszsebesség 5.33 MHz 8.33 MHz 8.33 MHz 33 MHz 33 MHz
Max. átviteli sebesség 5.33 MB/s 8.33 MB/s  33 MB/s 132 MB/s 132 MB/s
Bus mastering
támogatás
Nincs Nincs Van Van Van
Adat / cím paritás Nincs Nincs Nincs Nincs Van
Kártya ID (automatikus konfiguráció) Nincs Nincs Van Van Van