E-gradiva > Računalništvo > Sistemi > d_okolje > 05_stevec_prekinitve > Ve\u010D…

Prijava

Več…

Kje so shranjeni prekinitveni podprogrami? Kako procesor pride do njih?

Prekinitveni podprogrami so shranjeni nekje v pomnilniku, kamor so bili zapisani ob nastajanju (prevajanju) programa. Kako do njih?

Na točno določenem mestu v pomnilniku, npr. na nekaj končnih lokacijah pomnilnika, se pri prevajanju zapišejo naslovi lokacij, kjer se začenjajo prekinitveni podprogrami za posamezno prekinitev.  Tako je na prvem takšnem naslovu zapisan naslov začetnega ukaza  prekinitvenega podprograma za prvo prekinitev, na drugem takšnem naslovu je zapisan naslov, kjer se začne podprogram za drugo prekinitev, na tretjem naslov začetka za tretjo prekinitev. Tem "rezerviranim" naslovom  pravimo prekinitveni vektorji.

Prekinitveni vektor je naslov pomnilniške lokacije oz. lokacija sama, v kateri je shranjen začetni naslov prekinitvenega strežnega programa.

Vsak vir prekinitve mora imeti svoj prekinitveni vektor.

vektorji 

Prekinitveni vektorji, podprogrami, pomnilnik

Slika prikazuje način podpore prekinitev v pomnilniku. Prekinitveni vektorji so shranjeni na končnih naslovih tega pomnilnika. Prekinitveni vektorji so 16-bitni, zato moramo prebrati po dve lokaciji.

Primer:

Na naslovih $FFFC in $FFFD (skupaj tvorita prekinitveni vektor 2) je naslov začetka prekinitvenega podprograma 2.

Ob prekinitvi 2 (naprave z IRQ2)  procesor prebere prekinitveni vektor 2, torej vsebino na naslovih  $FFFC in $FFFD.
Vsebina je $7E56 in pomeni naslov, na katerem je začetek podprograma za prekinitev 2.

Tam se začne izvajanje prekinitvenega podprograma.

Pred tem se seveda shrani delovno okolje prekinjenega programa (registri...).

Avtorji: Tea Lončarić , Andreja Vehovec, Marko Kastelic , David Drofenik, Saša Divjak, Alenka Kavčič , Matija Marolt, Marko Privošnik, Milan Podbršček, Janko Harej, Andrej Florjančič