Vstupně - výstupní moduly Přídavná zařízení sloužící ke vstupu a výstupu dat nebo k uchovávání a archivaci dat Nejsou připojována ke sběrnici přímo, ale prostřednictvím vstupně-výstupních modulů ( I/O modulů ). Hlavní důvody: způsoby ovládání jednotlivých zařízení se výrazně liší a vyžadují různé řídící obvody Æ větší univerzalita procesoru přenos dat z přídavných zařízení je podstatně pomalejší než přenos mezi procesorem a hlavní pamětí přídavná zařízení často požadují jiné formáty dat a jinou šířku sběrnice než je systémová
Blokové schéma I/O modulu
Datová sběrnice
Rozhraní přídavného zařízení
Registr dat
Data Status Řízení
Registr stavu Registr řízení
Adresová sběrnice
Řídící obvody modulu
Rozhraní přídavného zařízení
Data Status Řízení
Řídící sběrnice
Adresace I/O modulu Paměťově mapované I/O moduly I/O moduly se adresují jako buňky hlavní paměti nevýhoda: zúžení adresového prostoru HP výhoda: bohatý rejstřík strojových instrukcí Oddělené (izolované) I/O moduly K odlišení, zda se na adresové sběrnici nachází adresa HP nebo I/O modulu, se používá řídící signál. nevýhoda: nutnost zvláštních strojových instrukcí pro I/O moduly výhoda: HP může využívat celý adresový prostor -1-
Procesor musí také modulu oznámit, které z přídavných zařízení k němu připojených, má danou činnost provést – musí uvést adresu přídavného zařízení: adresu modulu definuje jeden či několik nejvýznačnějších bitů adresy adresa zařízení je dána určitým počtem nejméně významných bitů adresy
Řízení činnosti I/O modulu Pokud chce procesor začít pracovat s přídavnými zařízeními, je nutné aby si nejdříve zjistil stav, ve kterém se právě nacházejí a podle toho rozhodl, jakým způsobem s nimi bude pracovat. Nejdůležitější stavy zařízení jsou udržované v tzv. stavovém registru: Online - zařízení je v provozu Offline- zařízení je mimo provoz Busy - zařízení plní jinou činnost, je třeba čekat Ready - zařízení je schopno plnit nový požadavek Procesor může testovat stavový registr I/O modulu a zadávat mu povely těmito způsoby: přímo číst stavový registr a zapisovat do řídícího registru modulu Jednoduché I/O moduly řídit činnost I/O modulu pomocí příkazů posílaných po datové sběrnici Testovací – test stavového registru I/O modulu Výkonné – přenos dat, řídící povely nebo Startovací – spustí kanálový program (obsahuje instrukce pro řízení I/O modulu) Způsoby řízení přídavných zařízení Programové řízení nevýhoda: značné plýtvání procesorovým časem Řízení pomocí přerušení nevýhoda: velká zátěž procesoru při větších objemech přenášených dat Přímý přístup do paměti (DMA) (Direct memory acces)
-2-
Programové řízení přenosu
V yd e j p ř ík a z k e č te n í z p ř íd av n é h o z ař íz e n í T e s tu j s tav ov ý r e g is tr I /O m o d u lu
b usy
S tatu s z ař íz e n í rea d y
V y d e j p ř ík az k p ř e č te n í d ato v é h o r e g is tr u I /O m o d u lu
Zap iš s lov o d o h lav n í p am ě ti
s k on č en o ?
ne
ano
Řízení přenosu pomocí přerušení
Z a ř íz e n í p ř ip r a v e n o ?
ne
Chyba
ano
V y d e j p ř ík a z k e č te n í z p ř íd a v n é h o z a ř íz e n í
J in á č in n o s t
p řeru šen í
T e s tu j s ta v o v ý r e g is tr I /O m o d u lu ne
D a ta p ř ip r a v e n a ?
Chyba
ano
V y d e j p ř í k a z k p ř e č te n í d a to v é h o r e g is tr u I / O m o d u l u Z a p iš s lo v o d o h la v n í p a m ě ti
k o n e c b lo k u ? ne ano
-3-
Přímý přístup do paměti (DMA)
Příkaz I/O modulu k provedení I/O operace
Jiná činnost
přerušení
Přenos v pořádku ?
ne
chyba
ano
Principy DMA: Slova dat se přenáší přímo mezi přídavným zařízením a hlavní pamětí – bez účasti procesoru Přenos slov řídí I/O modul – žádá o přidělení sběrnice a v okamžiku, kdy ji získá, sám přenese slovo mezi svým datovým registrem a hlavní pamětí Procesor přenos bloku dat pouze zahajuje – zadává I/O modulu odkud kam a kolik datových slov má přenést Po skončení přenosu celého bloku dat I/O modul informuje procesor o skončení přenosu pomocí přerušení Při používání sběrnice se procesor a DMA modul mohou střídat těmito způsoby: Procesor uvolní sběrnici DMA modulu jen pokud ji sám nepotřebuje DMA modul nejdříve přenese celý blok dat z přídavného zařízení do svého registru. Potom požádá procesor o sběrnici a přenese celý blok do paměti. DMA modul získá vždy jen jeden cyklus sběrnice, během kterého přenese jedno slovo dat – metoda kradení cyklů (cycle-stealing)
-4-
Metoda kradení cyklů DMA modul zažádá o sběrnici Činnost procesoru je pozastavena v bodě přerušení DMA a procesor uvolní sběrnici na jeden cyklus sběrnice DMA modul během tohoto cyklu přenese jedno slovo dat Činnost procesoru je obnovena
Body přerušení DMA
načtení instrukce
dekódování instrukce
načtení operandu
vykonání instrukce
uložení výsledku
načtení instrukce
strojový cykl
Diskový adaptér s přímým přístupem do paměti
H lavn í pam ěť (H P)
Procesor R eg istr instruk ce
D a to vý b uffer
H O LD
R eg istr a d resy H P
H O LD A
R eg istr p řesunů
IN T
D iskový adaptér D isk o vá m echa nik a 0
IN TA
D isk o vá m echa nik a 1
-5-
I/O kanál I/O kanál Přenáší data z přídavných zařízení přímo do paměti technikou DMA Jeho činnost není řízena instrukcemi procesoru, ale kanálovým programem Při přenosu dat procesor pouze zadá I/O kanálu příkaz ke spuštění odpovídajícího kanálového programu Typy I/O kanálů: selektorový multiplexorový I/O procesor I/O kanál realizovaný jako samostatný procesor s vlastní pamětí Může změnit formát přenášených dat nebo provést jejich zakódování (dekódování), kontrolu správnosti nebo komprimaci Někdy používá i vlastní sběrnici pro přístup do hlavní paměti – nezatěžuje systémovou sběrnici
Architektura počítače s I/O procesory
Hlavní paměť
Procesor
I/O procesor
I/O modul
I/O procesor
I/O modul
I/O modul
I/O modul
I/O modul
-6-
Selektorový kanál
systémová sběrnice
Selektorový kanál
I/O modul
I/O modul
Používá se pro připojení rychlých přídavných zařízení (např. disků) Přenos dat mezi I/O moduly a hlavní pamětí zprostředkuje I/O kanál tak, že pro přenos vybere vždy pouze jeden modul. I/O kanál řídí činnost I/O modulů podobně jako řídí procesor činnost modulů připojených k systémové sběrnici
Multiplexorový kanál
systémová sběrnice
Multiplexorový kanál
A1 , A2 , A3 , . . .
B1 , B2 , B3 , . . .
A1 , B1 , C1 , A2 , B2 , C2 , C1 , C2 , C3 , . . .
I/O modul
I/O modul
I/O modul
Používá se pro připojení pomalých přídavných zařízení Každý I/O modul má nezávislé samostatné připojení k I/O kanálu Kanál je schopen pracovat s více moduly najednou a přenášet data mezi nimi a hlavní paměti pomocí časového multiplexu
-7-