| |||
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 |


