# Připojení periferních zařízení **Koncepce připojení IO zařízení** - IO zařízení jsou připojena na sběrnici pomocí řadičů - řadiče - specializované (např. řadič disku, grafická karta, ...) - lze k nim připojit jen zařízení určitého typu - univerzální (např. sériové rozhraní USB, ...) - lze k nim připojit zařízení různých typů **Rozhraní IO řadiče** - rozhraní pro připojení na sběrnici - obvykle navrženo univerzálně pro snadné připojení na různé systémové sběrnice - zahrnuje datové a adresní vodiče i řídicí signály (/CS, /RD, /WR, ...) - rozhraní pro připojení IO zařízení - u specializovaných řadičů přizpůsobeno připojenému IO zařízení - u univerzálních je programovatelné nebo přímo odpovídá standardu (USB, SCSI, ...) **IO řadič z pohledu programátora** - reprezentován sadou registrů - datové registry - vstup a výstup dat - řídicí registry - nastavení parametrů řadiče - stavové registry - stav řadiče, připojeného zařízení **IO řadič v paměťovém adresním prostoru** - např. u procesoru H8S - pro přístup k registrům řadiče se používají stejné instrukce jako pro práci s pamětí - často se používá neúplné dekódování adres **IO řadič v IO adresním prostoru** - např. u IA-32 - procesor rozlišuje adresní prostor paměti a adresní prostor IO zařízení - pro práci se zařízením se používají zvláštní instrukce (IO, OUT) - na sběrnici kromě cyklů **čtení z paměti** a **zápis do paměti** také **čtení z IO zařízení** a **zápis do IO zařízení** - obvykle menší než adresní prostor paměti **Řízení IO operací** - komunikace s IO zařízením může být řízena podle některé ze základních koncepcí - programové řízení IO operací procesorem - řízení IO operací s využitím přerušení - řízení IO operací DMA řadičem - použité specializovaného IO procesoru **Programové řízení IO zařízení procesorem** - procesor čte stavové registry řadiče a testuje připravenost zařízení - není-li zařízení připraveno, opakuje čtení a test - je-li zařízení připraveno, čte nebo zapisuje data z/do datových registrů - vlastnosti - procesor je trvale zatížen čtením a testováním stavu - maximální rychlost je omezena rychlostí provedení instrukcí pro čtení stavu, test a zápis/čtení dat - jednoduchý hardware