29.10.2014 Views

Opis procesora

Opis procesora

Opis procesora

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

opsluživanje zahteva za prekid vrši se provera da li je u toku izvršavanja prethodne tri faze<br />

tekuće instrukcije generisan neki od navedenih zahteva za prekid. Ukoliko nije, vraća se na<br />

fazu čitanje instrukcije sledeće instrukcije. Ukoliko jeste, izvršavanje tekuće instrukcije se<br />

produžava sa koracima faze opsluživanje zahteva za prekid. Opsluživanje zahteva za prekid se<br />

sastoji iz tri grupe koraka.<br />

U okviru prve grupe koraka na steku se čuvaju programski brojač PC i programska statusna<br />

reči PSW.<br />

U okviru druge grupe koraka utvrĎuje se adresa prekidne rutine. UtvrĎivanje adrese<br />

prekidne rutine se realizuje na osnovu sadržaja tabele adresa prekidnih rutina (IV tabela) i<br />

broja ulaza u IV tabelu. Stoga je u postupku inicijalizacije celog sistema u memoriji, počev od<br />

adrese na koju ukazuje sadržaj registra <strong>procesora</strong> IVTP (Interrupt Vector Table Pointer),<br />

kreirana IV tabela sa 256 ulaza u kojima se nalaze adrese prekidnih rutina za sve vrste<br />

prekida. Broj ulaza u IV tabelu se dobija na više načina i to:<br />

predstavlja fiksnu vrednost za prekide iz tačke i generiše ga sam procesor,<br />

predstavlja fiksnu vrednost za prekide iz tačaka , i i generiše ga sam procesor i<br />

specificiran je adresnim delom instrukcije INT za prekid iz tačke .<br />

Ulazi 0 do 3 i 9 do 15 u IV tabeli su rezrvisani za adrese prekidnih rutina za sledeće vrste<br />

prekida:<br />

0 – prekid zbog režima rada sa prekidom posle svake instrukcije,<br />

1 – nemaskirajući prekid,<br />

2 – prekid zbog greške u adresiranju,<br />

3 – prekid zbog greške u kodu operacije,<br />

9 do 15 – maskirajući prekidi po linijama intr 1 do intr 7 , respektivno.<br />

Ulazi 4 do 8 i 15 do 255 u IV tabeli su slobodni za adrese prekidnih rutina za prekide izazvane<br />

instrukcijom INT.<br />

Više prekida se može javiti istovremeno, a može se prihvatiti samo jedan zahtev za prekid i<br />

skočiti na njegovu prekidnu rutinu. Zato su zahtevima za prekid dodeljeni prioriteti, pa se od<br />

generisanih zahteva za prekid prihvata onaj zahtev za prekid koji je meĎu njima najvišeg<br />

prioriteta. Redosled zahteva za prekid po opadajućim prioritetima je sledeći: najviši je ,<br />

zatim redom , , i na kraju najniži je . Prekidi pod koji dolaze od kontrolera<br />

periferija mogu se javiti istovremeno pa se i oni prihvataju po redosledu opadajućih prioriteta.<br />

Pošto svaki kontroler periferije ima posebnu liniju u procesoru za slanje svog zahteva za<br />

prekid, na osnovu pozicije linije se odreĎuje prioritet datog zahteva za prekid. Zbog toga se<br />

radi odreĎivanja broja ulaza, po opadajućim proritetima redom proveravaju generisani zahtevi<br />

za prekid i utvrĎuje koji je to zahtev za prekid koji se u tekućoj instrukciji prihvata i na<br />

osnovu toga odreĎuje broj ulaza.<br />

Kako je memorijska reč 8-mo bitna veličina a adresa prekidne rutine 16-to bitna veličina,<br />

to svaki ulaz u IV tabeli zauzima po dve susedne memorijske lokacije. Zbog toga se najpre<br />

broj ulaza množenjem sa dva pretvara u pomeraj, pa zatim pomeraj sabira sa sadržajem<br />

registra IVTP i na kraju dobijena vrednost koristiti kao adresu sa koje se čita adresa prekidne<br />

rutine i upisuje u registar PC.<br />

U okviru treće grupe koraka se:<br />

brišu indikatori I i T registra PSW kod prekida svih vrsta i<br />

upisuje u bitove L 2 do L 0 registra PSW nivo prioriteta prekidne rutine na koju se skače u<br />

slučaju maskirajućeg prekida.<br />

18

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!