Systém řízení sběrnice Sběrnice je komunikační cesta, která spojuje dvě či více zařízení. V určitý okamžik je možné aby pouze jedno z připojených zařízení vložilo na sběrnici data. Vložená data pak mohou číst všechna zařízení připojená ke sběrnici současně. Pokud po sběrnici vyšlou data dvě zařízení současně, data jsou zničena, tj. stav sběrnice neodpovídá vyslaným datům. Fyzickým základem sběrnice uvnitř počítače je společná soustava vodičů. Jedná se obvykle o soustavu plošných spojů, umístěných na propojovací desce. Kolmo k těmto spojům jsou připájeny patice (sloty). Jednotlivé moduly, které se ke sběrnici připojují, jsou umístěny na samostatných deskách plošných spojů a jejich vstupy a výstupy jsou vyvedeny na konektor, připájený k desce. Zasunutím konektoru do slotu je modul fyzicky připojen ke sběrnici. Moduly, které jsou ke sběrnici připojovány, musí: vyhovovat přesným mechanickým specifikacím, tj. musí mít předepsané konektory. vyhovovat předepsaným elektrickým specifikacím, tj. musí pracovat s požadovanými napěťovými a proudovými úrovněmi a splňovat požadavky na vstupní a výstupní impedanci. komunikovat podle přesně definovaných pravidel, které jsou určeny tzv. protokolem sběrnice. Části sběrnice Sběrnici tvoří: datová část sběrnice adresová část sběrnice řídící část sběrnice Datovou část sběrnice tvoří datové vodiče Počet datových vodičů definuje šířku sběrnice. Šířka sběrnice určuje, kolik bitů lze najednou po sběrnici přenést. Šířka datové sběrnice je důležitým parametrem, který zásadním způsobem ovlivňuje celkovou výkonnost prostřednictvím sběrnice spolupracujících modulů. - 1 -
Adresovou část sběrnice tvoří adresové vodiče Po adresové sběrnici se přenáší adresa při komunikaci s adresovatelnou pamětí. Šířka adresové sběrnice definuje maximální velikost ke sběrnici připojitelné paměti. Obvykle se adresová sběrnice používá také k adresování I/O modulů. V tom případě obvykle nejvyšší bity udávají adresu I/O modulu. Pokud je k I/O modulu připojeno více zařízení, potom nejnižší bity udávají adresu zařízení, kterého se komunikace týká. Třetí část vodičů tvoří řídící sběrnici: Memory write (zápis do paměti) Memory read (čtení z paměti) I/O write (zápis dat na I/O zařízení) I/O read (čtení dat z I/O zařízení) Transfer acknowledge (potvrzení o převzetí dat ze sběrnice nebo potvrzení o uložení dat na sběrnici) Bus request (žádost o sběrnici) Bus grant (udělení sběrnice) Interrupt request (žádost o přerušení) Interupt acknowledge (potvrzení žádosti o přerušení) Clock (hodinové pulsy, používají se pro synchronizaci činnosti synchronní sběrnice) Reset (inicializace modulů) Sběrnicová architektura osobního počítače Videokarta A.G.P. / PCI bridge - 2 -
Připojování obvodů ke sběrnici Výstupy dosud popisovaných logických obvodů nelze jednoduše propojovat hodnota na společném výstupu by nebyla definována. Zařízení, která mají výstup realizován logickými obvody dosud probíraného typu nelze připojit ke společné sběrnici i nekomunikující zařízení by okamžitě způsobilo poruchu sběrnice sběrnice O 1 O 2 O 3 O 4 Pro připojování ke sběrnici byly vyvinuty speciální obvody: obvody s otevřeným kolektorem třístavové obvody Obvody s otevřeným kolektorem U těchto obvodů kolektor výstupního tranzistoru není spojen s žádným místem uvnitř obvodu. Je pouze propojen s výstupem obvodu. O 1 Q Pokud na vstup obvodu vložíme napětí definované logické úrovně, výstup obvodu bude v jednom ze dvou stavů: Stav A - Výstupní tranzistor je uzavřen (bázový proud I b = 0 ). Stav B - Výstupní tranzistor je otevřen (tranzistorem teče dostatečný bázový proud I b ). Pracujeme-li v pozitivní logice, je stav A interpretován jako logický stav 1. Stav B je interpretován jako logický stav 0. - 3 -
Velikost odporů R musí být navržena tak, aby při otevření výstupního tranzistoru alespoň jednoho připojeného obvodu, vznikl na odporu takový úbytek napětí, který způsobí, že na společném vodiči S bude logická nula. +U c sběrnice R R R R s O 1 O 2 Na vodiči S je hodnota S = O 1 O 2. Zapojením jsme realizovali přidrátované hradlo AND (tzv. wired AND ). O 1 O 2 S 0 0 0 0 1 0 1 0 0 1 1 1 Nekomunikující zařízení musí mít výstup 1. Na společném vodiči S bude stejná hodnota jako na výstupu komunikujícího zařízení. Ke společnému vodiči sběrnice může být připojeno i více zařízení než dvě. Komunikující zařízení musí dodržet následující pravidla: Po sběrnici smí v určitý okamžik komunikovat jen jedno zařízení Výstupní transistory všech nekomunikujících zařízení musí být uzavřeny (logická 1) - 4 -
Třístavové obvody Třístavové obvody jsou obvody, jejichž výstup může být v jednom ze třech stavů: logická 0 logická 1 stav vysoké impedance Ve stavu vysoké impedance je výstup obvodu odpojen od ostatních částí obvodu (není nikam připojen) má impedanci, jejíž velikost se blíží nekonečnu. Odpojení výstupu se provádí pomocí řídícího signálu. Třístavový obvod má v kolektoru výstupního tranzistoru místo odporu tranzistor odpojení = uzavření obou tranzistorů Třístavové obvody se obvykle konstruují jako třístavové zesilovače signálu (tri-state buffers). Zařízení se připojují ke sběrnici přes tyto zesilovače. Neinvertující třístavový zesilovač vstup výstup Invertující třístavový zesilovač vstup výstup řízení řízení Pokud připojená zařízení po sběrnici nekomunikují, jsou jejich třístavové zesilovače ve stavu vysoké impedance. Komunikace po sběrnici Přenos po sběrnici může řídit vždy jen jeden modul. Modul který přenos řídí je pánem sběrnice (master). Ostatní, kteří se přenosu zúčastní, jsou ve funkci sluhy (slave) master slave činnost procesor hlavní paměť přenos instrukce nebo operandu procesor I/O modul zaslání příkazu procesor koprocesor přenos instrukce v pohyblivé řádové čárce disk.adaptér hlavní paměť DMA přenos koprocesor hlavní paměť přenos operandu - 5 -
Systém přidělování sběrnice Centralizovaný Existuje centrální arbitr, který přijímá žádosti o přidělení sběrnice a podle určitého kritéria předává řízení jednotlivým modulům. Arbitr může být součástí procesoru nebo samostatný modul Decentralizovaný Přidělování sběrnice je realizováno bez arbitra. Každý master sběrnice obsahuje řídící obvody, které vzájemnou spoluprací zajistí, že je sběrnice přidělena jen jednomu z nich. Časování sběrnice Časováním rozumíme způsob, kterým jsou koordinovány jednotlivé dílčí fáze přenosu dat po sběrnici. Synchronní sběrnice Okamžik platnosti dat je odvozen od hodinového signálu sběrnice Jednoduchá implementace použití u osobních počítačů Asynchronní sběrnice Okamžik platnosti dat je určen řídícími signály Obtížnější realizace použití u výkonných počítačů Větší přenosová rychlost Synchronní sběrnice Veškerá aktivita na sběrnici je synchronizována s hodinovým signálem a trvá určitý násobek cyklů cyklus sběrnice T 1 T 2 T 3 Φ Adresa Data MREQ RD - 6 -
Procesor v cyklu T 1 při náběžné hraně hodinového pulsu uloží adresu na adresní sběrnici. Při sestupné hraně T 1 zadá požadavek na čtení aktivací signálů MREQ (memory request) a RD (read) Celý cyklus T 2 a polovina cyklu T 3 je vyhrazena pro vybavení dat uložení dat na datovou sběrnici V první polovině cyklu T 3 paměť uloží požadovaná data na datovou sběrnici Na sestupnou hranu T 3 reaguje procesor přenesením dat z datové sběrnice do svých vstupních registrů Zároveň provede procesor reset signálů MREQ a RD. Asynchronní sběrnice Aktivita na asynchronní sběrnici vzniká reakcí na změnu některého řídícího signálu Události na sběrnici tedy vznikají asynchronně v okamžicích změn řídících signálů Adresa MREQ RD MSYN Data SSYN Procesor uloží hodnotu adresy na adresní sběrnici a oznámí hlavní paměti požadavek na čtení aktivací signálů MREQ, RD a MSYN. Paměť uloží data na datovou sběrnici a oznámí to procesoru signálem SSYN. - 7 -
Procesor přenese data z datové sběrnice do svých vnitřních registrů, deaktivuje signály MREQ, RD, MSYN a přestane adresovat adresní sběrnici Na deaktivaci signálu MSYN reaguje paměť deaktivací signálu SSYN a přestane udržovat platná data na datové sběrnici K potvrzení určité akce na asynchronní sběrnici se používá poměrně složitý proces vzájemného potvrzování (vzájemného kvitování) full handshaking. Například: Procesor aktivuje signál MSYN V odezvu na aktivaci signálu MSYN (a uložení dat na sběrnici) paměť aktivuje signál SSYN V odezvu na aktivaci signálu SSYN (a převzetí dat) procesor deaktivuje signál MSYN V odezvu na deaktivaci signálu MSYN paměť deaktivuje signál SSYN. - 8 -