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
O1
O2
O3
O4
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.
Q
O1
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 Ib = 0 ). Stav B - Výstupní tranzistor je otevřen (tranzistorem teče dostatečný bázový proud Ib ). 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 O1
O2
Na vodiči S je hodnota S = O1 ∧ O2 . Zapojením jsme realizovali „přidrátované“ hradlo AND (tzv. wired AND ). O1
O2
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
Invertující třístavový zesilovač
výstup
vstup
řízení
výstup
ří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 T1
T2
Φ Adresa Data MREQ
RD
-6-
T3
Procesor v cyklu T1 při náběžné hraně hodinového pulsu uloží adresu na adresní sběrnici. Při sestupné hraně T1 zadá požadavek na čtení aktivací signálů MREQ (memory request) a RD (read) Celý cyklus T2 a polovina cyklu T3 je vyhrazena pro vybavení dat – uložení dat na datovou sběrnici V první polovině cyklu T3 paměť uloží požadovaná data na datovou sběrnici Na sestupnou hranu T3 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-