Přerušovací systém 12.přednáška
Přerušovací systém Pomocí přerušení procesor reaguje na asynchronní události. Přerušení znamená přechod na vykonávání obsluhy přerušení (součást OS). Po vykonání ošetření přerušení se procesor vrací k vykonávání původního strojového kódu. Protože může od modulů připojených ke sběrnici přijít více žádostí o přerušení najednou, musí přerušovací systém obsahovat řadič přerušení (arbitr), který rozhodne, které z přerušení bude obslouženo nejdříve.
[email protected]
2
Víceúrovňový přerušovací systém Přerušovací systém vybírá přerušující moduly podle předem stanoveného pořadí důležitosti, tzv. priority. Víceúrovňový přerušovací systém: Přerušení jsou rozdělena do úrovní s přiřazenou prioritou Pokud procesor obsluhuje nějaké přerušení, běží na úrovni shodné s úrovní obsluhovaného přerušení Činnost procesoru je přerušena pouze přerušením s vyšší prioritou
[email protected]
3
Úrovně přerušení v OS UNIX Úroveň přerušení
Přerušující zařízení
0
Chyby procesoru
1
hodinový generátor
2
disky
3
lokální síť
4
terminály
5
softwarová přerušení
Vyšší priorita
Nižší priorita
Za určitých okolností je třeba některá přerušení nepovolit (maskovat). To se provádí buď nastavením masky přerušení nebo zvýšením úrovně, na které pracuje procesor.
[email protected]
4
Realizace systému přerušení Přerušovací systém je realizován pomocí vnějšího obvodu, tzv. řadiče přerušení Procesor má vždy alespoň tyto vstupy a výstupy: INT (interupt) – vstup pro přerušení INTA (interupt acknowledge) – výstup pro potvrzení přerušení Některé procesory mají ještě jeden vstup pro nemaskovatelné přerušení.
[email protected]
5
Realizace systému přerušení Přerušovací systém je obvykle realizován jednou ze dvou následujících technik: Technika řetězení (daisy chaining) Technika samostatné žádosti
[email protected]
6
Přerušovací systém – technika řetězení INT
Procesor o
i
o
i
i
INTA M1
M2
Mn
Moduly žádají o přerušení signálem INT Každý modul má jeden vstup i a jeden výstup o Modul přenáší signál ze vstupu i na výstup o jedině, když nežádá o přerušení
[email protected]
7
Přerušovací systém – technika řetězení INT
Procesor o
i
o
i
i
INTA M1
M2
Mn
Jakmile procesor potvrdí přerušení signálem INTA, začne se signál šířit přes moduly až k modulu žádajícímu o přerušení Vybraný modul uloží na datovou sběrnici tzv. vektor přerušení. Procesor provede subrutinu ošetření přerušení.
[email protected]
8
Přerušovací systém – technika řetězení INT
Procesor o
i
o
i
i
INTA M1
M2
Mn
Priorita jednotlivých modulů je pevně stanovena způsobem zapojení – modul blíže k procesoru má vyšší prioritu Technika řetězení umožňuje také víceúrovňové přerušení
[email protected]
9
Přerušovací systém technika samostatné žádosti d a to vá sb ěrn ice
Ř a d ič p řeru šen í
P ro ceso r IN T
M1
M2
Mn
IN T A
Každý modul je spojen s řadičem přerušení samostatným vodičem Jakmile některý modul zažádá o přerušení, řadič zažádá procesor o přerušení signálem INT.
[email protected]
10
Přerušovací systém technika samostatné žádosti d a to v á s b ěr n ic e
Ř a d ič p řeru šen í
P r o c es o r
M1
IN T
M2
Mn
IN TA
Jakmile procesor přerušení povolí signálem INTA, řadič vybere modul s nejvyšší prioritou a na datovou sběrnici uloží jeho vektor přerušení Procesor provede poté obsluhu přerušení
[email protected]
11
Přerušovací systém technika samostatné žádosti d a to vá s b ěr n ice
Ř a d ič p řeru šen í
P r o ces o r
M1
IN T
M2
Mn
IN TA
Priorita modulů je uložena v registrech řadiče: procesor může dynamicky měnit prioritu jednotlivých modulů procesor může vybraná přerušení dočasně maskovat
[email protected]
12
Přerušovací systém osobních počítačů datová sběrnice
Řadič přerušení 8259
Procesor INTEL INT INTA
IR0
generátor hodin
IR1
klávesnice
IR5
adaptér disků
IR6 IR7
[email protected]
tiskárna
13
Sběrnice
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.
[email protected]
15
Sběrnice 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.
[email protected]
16
Moduly 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.
[email protected]
17
Části sběrnice Sběrnici tvoří:
datová část sběrnice adresová část sběrnice řídící část sběrnice
[email protected]
18
Části 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ů.
[email protected]
19
Části sběrnice 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á.
[email protected]
20
Části sběrnice 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ů)
[email protected]
21
Sběrnicová architektura osobního počítače
Videokarta
[email protected]
A.G.P. / PCI bridge
22
Připojování obvodů ke sběrnici
Připojování obvodů ke společné sběrnici sběrnice
O1
O2
O3
O4
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
[email protected]
24
Připojování obvodů ke společné sběrnici
Pro připojování ke sběrnici byly vyvinuty speciální obvody: obvody s otevřeným kolektorem třístavové obvody
[email protected]
25
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.
O1
[email protected]
Q
26
Obvody s otevřeným kolektorem Pokud na vstup obvodu vložíme napětí definované logické úrovně, výstup obvodu bude v jednom ze dvou stavů:
O1
Q
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.
[email protected]
27
Obvody s otevřeným kolektorem +U c s b ě r n ic e
R
R
R
R
s O1
O2
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.
[email protected]
28
Obvody s otevřeným kolektorem +Uc sběrnice
R
R
R
R
s O1
O2
O1
O2
S
0
0
0
0
1
0
1
0
0
1
1
1
Na vodiči S je hodnota S = O1 ∧ O2 . Zapojením jsme realizovali hradlo AND (tzv. wired AND ). 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í.
[email protected]
29
Obvody s otevřeným kolektorem 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)
[email protected]
30
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ů
[email protected]
31
Třístavové obvody 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. Pokud připojená zařízení po sběrnici nekomunikují, jsou jejich třístavové zesilovače ve stavu vysoké impedance. Neinvertující třístavový zesilovač vstup
řízení
[email protected]
výstup
Invertující třístavový zesilovač vstup
výstup
řízení 32
Komunikace po sběrnici
Typy přenosů 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
[email protected]
34
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.
[email protected]
35
Č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
[email protected]
36
Časování synchronní sběrnice T1
T2
T3
Φ Adresa Data M REQ
RD
Veškerá aktivita na sběrnici je synchronizována s hodinovým signálem a trvá určitý násobek cyklů – cyklus sběrnice
[email protected]
37
Časování synchronní sběrnice T1
T2
T3
Φ Adresa Data M REQ
RD
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
[email protected]
38
Časování synchronní sběrnice T1
T2
T3
Φ Adresa Data M REQ
RD
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.
[email protected]
39
Časování asynchronní sběrnice A d resa
M REQ
RD M SYN
D ata SSYN
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ů
[email protected]
40
Časování asynchronní sběrnice A d resa
M REQ
RD M SYN
D ata 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.
[email protected]
41
Časování asynchronní sběrnice A d resa
M REQ
RD M SYN
D ata SSYN
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
[email protected]
42
Vzájemné potvrzování 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.
[email protected]
43
Děkuji za pozornost ! Příští přednáška: Vstupně – výstupní moduly Informace o zkoušce