You are on page 1of 19

Ulazno izlazni sustav

TEHNIČKA ŠKOLA
RUĐERA BOŠKOVIĆA ZAGREB
MILAN KORAĆ, dipl.ing., prof.savjetnik
Prekidni ulazno-izlazni prijenos
podataka
(engl. interrupt-driven I/O)
 Procesor na zahtjev perifernog uređaja
prekida izvođenje tekućeg programa i
prelazi na izvođenje prekidnog programa
kojim poslužuje periferni uređaj, odnosno
obavlja prijenos podataka
 Vanjski svijet, odnosno periferni uređaj koji
je uzročnik ili izvor prekida upućuje
procesoru zahtjev za prekid izravno ili
obično posredstvom ulazno-izlaznog
upravljača
39 39
Shematski prikaz prekidnog prijenosa
podataka

40 40
Prekidne linije

 Zahtjev za prekid stiže procesoru jednom ili većim


brojem upravljačkih linija (linije za zahtijevanje
prekida - (engl. interrupt request)
 Obično je više ulazno-izlaznih upravljača
priključeno na jednu prekidnu liniju koja je izvedena
kao “ožičano-ILI” (engl. wired-OR)
 više ulazno-izlaznih upravljača koji mogu istodobno
zahtijevati prekid
 prekidna linija je aktivna kada je u logičkom stanju
“0”
41 41
Organizacija prekidne strukture s jednom
prekidnom linijom

42 42
Postupak prekidnog prijenosa

 Periferni uređaj ili ulazni-izlazni upravljač aktivira


prekidnu liniju
 Procesor završava tekuću instrukciju prije nego što će
odgovoriti na zahtjev za prekid
 Procesor neposredno nakon završetka tekuće instrukcije
ispituje postoji li zahtjev za prekid i, ako postoji, utvrđuje
razinu prekida te provjerava je li prekid maskiran
 Ako procesor prihvaća prekid, on će signalom potvrde
prekida INTACK obavijestiti ulazno-izlazne upravljače,
odnosno UI uređaje o prihvaćanju prekida
43 43
Postupak prekidnog prijenosa

 Procesor pohranjuje informaciju o trenutnom stanju


tekućeg (sada prekinutog) programa
 Procesor puni PC sa sadržajem koji predstavlja adresu
prve instrukcije prekidnog programa tj. adresu
 Procesor započinje s fazom PRIBAVI i dohvaća prvu
instrukciju prekidnog programa
 Nakon što je prijenos podataka ostvaren, sadržaji se
radnih registara obnavljaju tako da se uzimaju sa stoga
 Procesor izvodi instrukciju za povratak iz prekida
kojom obnavlja sadržaje statusnog registra i PC
44 44
 Dijagram toka
prekidnog U/I prijenosa
podataka

45 45
Razine prekida

 Suvremeni procesori imaju više razina prekida koje


su u međusobnom hijerarhijskom odnosu: prekidni
program niže razine prioriteta može biti prekinut
zahtjevom za prekid više razine prioriteta
 Na taj se način omogućuje gniježđenje prekida
 Ako se tijekom izvođenja prekidnog programa pojavi
novi zahtjev za prekid niže ili iste razine prioriteta
kao onaj koji se upravo poslužuje, taj novi zahtjev
neće biti prihvaćen (prekid ili zahtjev za prekid
maskiran)
46 46
Prijenos
2. zahtjev
. zahtjev
a prekid Prijenos Prijenos

47
Prekidni sustav s većim brojem linija za
zahtijevanje prekida i potvrde prekida

48 48
Vektorski prekid
(engl. Vectored interrupt)

 Uzročnik se prekida izravno identificira


jednoznačnim kodom koji ujedno služi za brzo
određivanje početne adrese prekidnog programa
 Početna adresa prekidnog programa naziva i prekidni
vektor (engl. interrupt vector)
 Svakom od ulazno-izlaznih upravljača, priključenih
na prekidnu liniju, jednoznačno je pridružen n-bitni
kod
 8-bitni kod (vektorski broj)

49 49
Vektorski prekidni sustav s većim brojem
prekidnih linija i linija potvrde prekida

50 50
Korištenje prekidnog vektora

 Svakom od ulazno-izlaznih upravljača dodijeljen je


jednoznačni vektorski broj koji će ulazno-izlazni
upravljač postaviti na sabirnicu podataka nakon što
primi signal potvrde prekida INTACK
 Procesor će unijeti sa sabirnice podataka vektorski
broj i interno ga pohraniti
 Procesor će vektorski broj upotrijebiti za generiranje
početne adrese memorijskih lokacija na kojima je
pohranjena adresa prve instrukcije prekidnog
programa
51 51
Sklopovski koraci tijekom
vektorskog prekida

1. Ulazno-izlazni upravljač aktivira prekidnu liniju


2. Procesor nakon završetka tekuće instrukcije, ako prekid
nije maskiran, generira signal potvrde prekida
3. Kada ulazno-izlazni upravljač primi signal potvrde
prekida, postavlja svoj vektorski broj na sabirnicu
4. Procesor unosi sa sabirnice podataka vektorski broj
5. Procesor pohranjuje minimalni kontekst na stog
6. Na temelju vektorskog broja procesor određuje početnu
adresu prekidnog programa
7. PC puni se prekidnim vektorom i ono pokazuje na prvu
instrukciju prekidnog programa

52
52
Programski koraci tijekom
vektorskog prekida

1. Prekidnim se programom prvo pohranjuju sadržaji


registara koje će prekidni program koristiti
2. Ako je više perifernih uređaja priključeno na jedan
ulazno-izlazni upravljač, potrebno je ispitati sadržaje
pojedinih statusnih registara koji odgovaraju svakom od
uređaja da bi se odredio odgovarajući uslužni
(pot)program
3. Obavlja se prijenos podataka
4. Obnavljaju se sadržaji registara koji su bili pohranjeni
5. Izvodi se instrukcija povratka iz prekida

53 53
Ulančavanje

 U praksi - broj ulazno-izlaznih upravljača premašuje


broj raspoložih parova linija IRQ – INTACK
 U tom se slučaju koristi shema ulančavanja
signalnom linijom potvrde prekida INTACK
 Ulazno-izlazni upravljač koji je najbliži procesoru ima
najveći prioritet jer prvi prima signal INTACK = 0
 Ako je zahtijevao prekid ne prosljeđuje ga dalje
drugim upravljačkim lancima

54 54
Organizacija vektorskog prekidnog
sustava s jednom prekidnom linijom i
ulančavanjem

55 55
Prekidni sustav s tri linije za zahtijevanje
prekida i potvrde prekida s ulančavanjem
na svakoj od razina

56 56

You might also like