Zbernica PCI (Peripheral Component Interconnect) Pôvodná 16-bitová, 8 MHz ISA zbernica, ktorá je už vyše 10 rokov štandardom a ktorú je možné nájs vo väšine poítaov, už v súasnosti nie je schopná prenáša veké množstvá údajov, generovaných novými výpotovo náronými aplikáciami. Vysoko výkonné procesory, pracujúce s frekvenciami 133 MHz i viac musia aka, pokým pevné disky, grafické akcelerátory a iné zariadenia vyšlú a príjmu dáta po zbernici, ktorá nie je iba úzka a pomalá, ale aj v princípe nevýkonná. Výsledkom je výrazné spomalenie, ktoré sa prejavuje pri prenose vekých blokov dát, kde úzkym hrdlom je práve ISA zbernica. Nové štandardy, ako EISA a Micro Channel boli navrhnuté na to, aby zmiernili tieto nedostatky. Žiaden z nich však nepredstavoval dostatone cenovo výhodné a dlhodobo perspektívne riešenie. Zbernice vo vnútri poítaa je možné rozdeli do dvoch skupín: systémová zbernica - realizuje výmenu dát medzi procesorom a pamäou lokálna zbernica - slúži na pripojenie rýchlych zariadení - grafická karta, disk, sieová karta Jedná sa o predženie systémovej zbernice až na konektory pre pripojenie externých modulov. Zvyajne je doplnená zbernicou ISA. 1. Zbernica VESA VL-bus (VLB) verzia 1.0 - v roku 1992 - maximálny výkon za minimálnu cenu - navrhnutá frekvencia až do 50MHz - nad 33MHz - problémy s kompatibilitou verzia 2.0 - predpisovala kapacitné zaaženie pre zlepšenie kompatibilityy Charakteristika: max. tri konektory ím väší je poet zasunutých kariet, tým nižšia je zaruovaná frekvencia.zbernice (pri 3 kartách max. 33 MHz) používa TTL úrovne - problém - nové procesory používajú nižšie napájacie napätia využíva niektoré signály ISA konektor - 2x58 kontaktov - je rozšírením ISA konektorov - na karte je ako tretí v poradí ISA signály pracujú s frekvenciou 8 MHz, VLB signály s frekvenciou 33,3 MHz 2. Zbernica PCI Nie je pripojená priamo na procesor, ale prostredníctvom medzizbernicového mostíka.. Z toho vyplýva, že nie je tak silne procesorovo závislá, ako VLB. Mostík zbernicu nespomauje, jej hodiny sa odvodzujú od hodín procesora. V rámci mostíku sa však môže vykona konverzia napäových úrovní signálov, takže mäže dobre spolupracova s procesorom, používajúcim ubovoné napájacie napätie. Tieto vlastnosti umožujú použitie PCI zbernice i mimo rodinu procesorov firmy Intel. V súasnosti už túto zbernicu používajú prakticky všetky firmy - IBM, Apple (Macintosh), DEC (Alpha), - 1 -
Zbernica PCI v poítai 3. Porovnanie zberníc VLB a PCI: Pojem lokálna zbernica môže ma niekoko rôznych významov. Lokálna zbernica môže by chápaná ako cesta, pomocou ktorej môžu rôzne zariadenia rýchlo íta a zapisova údaje z/do hlavnej pamäti. VLB je v princípe rozšírením pôvodnej ISA zbernice, pomocou ktorej procesor pristupuje do hlavnej pamäti. PCI je oddelená zbernica, ktorá je izolovaná od CPU, avšak má prístup do hlavnej pamäti. 4. Na o je dobrá lokálna zbernica? Vzrast popularity grafického užívateského rozhrania (GUI), ako Mocrosoft Windows a tým aj potreba rýchlejšej grafiky boli základom pre vznik lokálnych zberníc. Špecifikácia VLB bola pôvodne navrhnutá práve pre takéto úely. Okrem toho rozšírenie lokálnych sietí a SCSI diskov tiež vyžadovali rýchlejšiu komunikáciu, ako bola schopná zabezpei pôvodná ISA zbernica. Inými slovami, lokálna zbernica je cesta, ako zvýši výkonos PC pri zachovaní spätnej kompatibility. 5. Porovnanie vlastností lokálnych zberníc Existuje niekoko pohadov na porovnanie lokálnych zberníc. Dôležitým faktorom je rýchlos zbernice, pretože má vplyv na to, ako rýchlo je možné po nej prenáša údaje a má aj vplyv na cenu pripojených prídaných modulov. Iným faktorom je poet pozícií, do ktorých je možné zasúva prídavné moduly.. Ak je možné použi iba niekoko modulov, užívate je obmedzený v rozšíritenosti systému. Prípadný upgrade procesora je tiež ovplyvnený štruktúrou lokálnej zbernice. Ak systém môže by upgade-ovaný, tak ako celok má väšiu životnos. Rýchlos Zbernica VLB používa na tú istú frekvenciu hodín ako procesor. Toto môže by nevýhodou. Pre systémy s procesorom, taktovaným na 50 MHz je ažké nájs VLB prídavné moduly, pretože nie je mnoho VLB prídavných zariadení, ktoré sú schopné bez problémov pracova pri tejto frekvencii. ím rýchlejšie musia by VLB moduly, tým je ich cena vyššia, pretože s výrobou vemi rýchlych komponentov sú spojené veké problémy. Platí to aj naopak: ak frekvencia procesora je iba 25 MHz, prídavné moduly, navrhnuté na vyššiu frekvenciu, nie sú efektívne využívané. Na druhej strane, zbernica PCI používa iné asovanie ako CPU. PCI zbernica beží vždy na 33 MHz, o je rýchlos, pri ktorej nemajú výrobcovia komponentov problémy s návrhom vysokovýkonných prídavných zariadení. Poet rozširujúcich pozícií/zariadení - 2 -
Zbernica PCI môže podporova až 16 rozširujúcich pozícií (slotov) na základnej doske a bola intenzívne testovaná so všetkými kombináciami 10 zariadení. Naproti tomu možnosti rozširovania zbernice VLB sú silne obmedzené. Tieto obmedzenia vyplývajú z faktu, že zbernica VLB je iba rozšírením pôvodnej ISA zbernice a je teda pripojená priamo na procesor. Z elektrických dôvodov nemôže procesor pri vyšších frekvenciách podporova väšie množstvo prídavných zariadení. Týmto je obmedzená rozširovatenos systému, ako i možnos použitia rýchleho procesora OverDrive. Možnosti rozšírenia (upgrade) systému Zbernica PCI môže by v budúcnosti (a už vlastne aj je) rozšírené tak, aby umožnila prenos dát šírky 64 bitov. Toto umožnuje využíva všetky možnosti najnovších procesorov Intel (Pentium a PentiumPro), ktoré majú definovanú 64 bitovú dátovú zbernicu. Tot zbernica VLB neumožuje. Pri PCI, prídavné karty, ktoré sú teraz vyrábané, bude možné použi aj v budúcich PCI systémoch s rýchlejšími procesormi, pretože rýchlos zbernice PCI je pevne definovaná. Naproti tomu VLB moduly nebudú v budúcnosti schopné podporova rýchlejšie procesory a nebudú v takýchto systémoch pracova. 6. Základné vlastnosti zbernice PCI: Výkonnos: Prenos bloku dát (burst mode) - pre ítanie aj zápis - pri prenose dát z-do adries, nasledujúcich za sebou Podpora paralelných procesov (ošetrenie deadlock-u, podpora vyrovnávacích pamätí) Záruka nízkej latencie pre zariadenia, pracujúce v reálnom ase Cena: Pri pripojovaní zariadené nie sú potrebné žiadne externé vyrovnávacie pamäti Obsahuje malý poet pinov Implementovatená v existujúcich ASIC technológiách - 3 -
Spoahlivos: Dôsledný návrh, zaruujúci prenosové rýchlosti až do 33MHz Detekcia a indikácia chýb Flexibilita: Procesorovo nezávislá; periférie sú oddelené od procesora Podpora multimédií Kompatibilná s existujúcimi štandardami pre rozširovanie systémov Aplikovatená od laptopov po servery Rozšíritenos: Na jednej systémovej doske sú max. 3 PCI konektory. Štandard definuje max. 10 PCI záaží: 1 je samotný mostík CPU-PCI 1 je mostík PCI-EISA 1 je SCSI adaptér 1 je sieový adaptér ostatných 6 - po dva na každý konektor - záažou je samotný zasunutý adaptér I kontakt konektora. Protokol: Multi-master; peer-to-peer 32-bitový, multiplexované adresy/dáta, procesorovo nezávislý Malý poet pinov - 45 slave; 47 master Synchrónny, 8-33 MHz (132 Mbytes/sec) Lineárne blokové prenosy pre ítanie I zápis s premenlivou džkou bloku Ochrana paritou pre adresy, dáta aj príkazy Podpora paralelizmu a pipeline Podpora auto-konfigurácie zariadení Centrálne riadenie, prístupovo orientované, "skryté" 64-bitové rozšírenie, kombinovatené s 32-bitovým Elektrické vlastnosti: CMOS budie; TTL úrovne napätia Podpora 5V i 3.3V zariadení Budie s dynamickým nastavením napätia/prúdu Budie s minimalizovanými požiadavkami na odber napätia Aby sa o najviac skrátila džka pripojovacieho vedenia k PCI konektorom, sú vývody adresovej aj údajovej zbernice na jednej strane ípovej sady. Z rovnakých dôvodov sú signály na týchto vývodoch multiplexované. Vystaí sa teda s 32 linkami adresovými/dátovými a s niekokými riadiacimi. PCI konektor sa podobá na konektor MCA, má však niekoko vývodov navyše. Na rozdiel od VLB využívajú PCI adaptéry iba signály PCI zbernice, takže tieto konektory sú na systémovej doske umiestnené nezávisle od ISA konektorov. Taktovanie zbernice PCI je odvodené od procesora, avšak max. frekvencia je 33MHz. - 4 -
PCI 32 bitov PCI 64 bitov riadenie synchrónne synchrónne hodiny 25-33MHz 25-33MHz hodiny so zasunutými adaptérmi 25-33MHz 25-33MHz údajová zbernica 32 bitov 64 bitov adresová zbernica 32 bitov 32 bitov Charakteristiky zbernice PCI - 5 -
7. Signály rozhrania PCI Na rozdiel od predchádzajúcich zberníc sa jedná o úplný súbor signálov na jedinom konektore. -12V TRST# AD(17) AD(16) TCK +12V CBE(2)# +3.3V GND TMS GND FRAME TDO TDI IRDY# GND +5V +5V +3.3V TRDY# +5V INTA# DEVSEL# GND INTC# INTB# GND STOP# INTD# +5V LOCK# +3.3V PRSNT1# Reserved PERR# SDONE Reserved +5V +3.3V SBO# PRSNT2# Reserved SERR# GND GND GND +3.3V PAR GND GND C/BE(1)# AD(15) Reserved Reserved AD(14) +3.3V GND RST# GND AD(13) CLK +5V AD(12) AD(11) GND GNT# AD(10) GND REQ# GND GND AD(09) +5V Reserved AD(31) AD(30) AD(08) C/BE(0)# AD(29) +3.3V AD(07) +3.3V GND AD(28) +3.3V AD(06) AD(27) AD(26) AD(05) AD(04) AD(25) GND AD(03) GND +3.3V AD(24) GND AD(02) CBE(3)# IOSEL AD(01) AD(00) AD(23) +3.3V +5V +5V GND AD(22) ACK64# REQ64# AD(21) AD(20) +5V +5V AD(19) GND +5V +5V +3.3V AD(18) Rozloženie signálov na konektore PCI Vysvetlenie jednotlivých PCI signálov +5V : 3-6 A +3.3V : min. 7.6 A +12V : 1.5-6 A - 6 -
CLK (Clock) : hodiny - ich frekvencia môže klesnú až na 0 - tým sa šetrí prúdový odber RST# (Reset) : pokým je aktívny, všetky PCI zariadenia majú výstupy v treom stave AD00-31 : multiplexovaná adresa / dáta. FRAME# - signalizuje platnos adresy IRDY# - signalizuje platnos dát pri zápise TRDY# - signalizuje platnos dát pri ítaní Jednu typickú zbernicovú transakciu tvorí jedna a dresa a jedna alebo niekoko položiek dát. PCI teda podporuje ako zápisové, tak aj ítacie BURST režimy. Adresy generuje bu radi zbernice (Bus Master), alebo nadradený mikroprocesor. íta údaje, generované jedným zdrojom môže jeden alebo niekoko príjemcov. Iniciátorom prenosu a zdrojom dát nemusí by to isté zariadenie. C/BE0-3# (Bus Command/Byte Enable) : Zbernicový príkaz generuje iniciátor, povolenie prenosu slabiky generuje zdroj dát. PAR (Parity) : párna potvrdenie integrity dát pri dátovom aj adresovom prenose je povinná pre všetky PCI zariadenia Paritu generuje aj vysiela aj prijíma. V prípade nezhody je informácia odmietnutá a prenos je ukonený špecifickým spôsobom. Ten ale závisí od konkrétneho BIOSua je navyše programovatený. FRAME# (Cycle Frame) : tento signál používa aktuálny radi zbernice a oznamije ním zaiatok a dobu trvania prístupu. Aktiváciou FRAME# zaína prístup prenosom adresy. Pokým FRAME# zostáva aktívny, prenášajú sa dáta. Deaktivácia tohto signálu oznamuje prenos posledného dátového slova. IRDY# (Initiator Ready) : pri zápise - dáta platné, prijíma ich môže íta pri ítaní - Master indikuje, že je pripravený íta dáta Cyklus koní až vtedy, ak je aktívny aj signál TRDY#. Ak to tak nie je, generujú sa akacie takty. TRDY# (Target Ready) : signálom oznamuje prjíma, že je pripravený ukoni aktuálny prenos dát. STOP# : týmto signálom oznamuje prijíma iniciátorovi, že má ukoni prebiehajúcu transakciu. LOCK# (Locked Cycle) : týmto signálom za zabezpeuje výhradný prístup k semaforu, oblasti pamäti alebo niektorému registru z dôvodu potreby konzistencie obsahu dát. IDSEL# (Initialization Device Select) : je ekvivalentný štandardnému CS (Chip Select) DEVSEL# (Device Select) : signál aktivuje zariadenie, aktivované ako príjemca konkrétneho prenosu. REQ# (Request) : generuje ho Master zbernice. Musí by aktívny tak dlho, pokým nie je generovaný zodpovedajúci GNT#. Každá systémová doska musí ma k dispozícii toko REQ# vstupov, koko je potenciálnych masterov zberniceô resp. taký istý poet signálov GNT#. GNT# (Grant) : potvrdzovací signál pre jednotku, ktorá sa stane nasledujúcim masterom zbernice. PERR# (Parity Error) : oznamuje sa ním prípadna chyba parity. Prijíma ho musí aktivova najneskôr do dvoch taktov po rozpoznanej chybe a drža ho aktívny najmenej jedného taktu. Obsluhu tohto signálu musí zabezpei každé PCI zariadenie. - 7 -
SERR# (Sytem Error) : týmto signálom sa hlási chyba parity adresy alebo dát pri špeciálnych zbernicových cykloch. Používa sa aj v prípade iných chýb s katastrofickými dôsledkami pre spracovávaný program. Štandardne sa obsluhuje vyvolaním NMI. INTx# (Interrupt Request x) : INTA#, INTB#, INTC# a INTD# sú volitené vstupy, ktorými môže PCI jednotky žiada o prerušenie. Každý zo vstupov môže by naprogramovaný tak, že je citlivý na hranu alebo na úrove. Žiados o prerušenie sa testuje na konci každej inštrukcie procesora. Prechod na obsluhu prerušenia trvá min. 79-90 taktov (1,5-3 µs). SBO# (Snoop Backoff) : signál má význam iba pre tie PCI jednotky, ktoré obsahujú cache pamä. Znamená, že zápis do cache neplatí. SDONE (Snoop Done) : Pokým nie je tento signál aktívny, prehadávanie cache neskonilo. REQ64# (Request 64 bit Transfer) : Týmto signálom indikuje master zbernice, že je pripravený k 64- bitovému prenosu. Musí by aktívny súasne so signélom FRAME#. Odpove na tento signál je ACK64#. ACK64# (Acknowledge 64 bit Transfer) : Týmto signálom oznamuje adresovaná PCI jednotka, že sa môže uskutoni 64=bitový prenos, požadovaný iniciátorom. TCK (Test Clock) : signál umožuje testovanie poda štandardu IEEE 1149.1. TDI (Test Data In) : Tento signál tvorí sériové rozhranie, pomocou ktorého sa odovzdávajú testovacie dáta a inštrukcie behom testu.. Ak niektorá PCI jednotka nepodporuje testovanie, na karte musia by signály TDI a TDO priamo prepojené. TDO (Test Dadta Out) : prenos sériových údajov (ako TDI). TMS (Test Mode Select) : Nastavuje sa ním režim testovania PCI jednotky (ak to jednotka umožuje). TRST# (Test Reset) : inicializuje test PCI jednotky (ak to jednotka umožuje). - 8 -