e-gradiva     Sistemi Motorola Omrežja      
  logotip  
SERŠ Maribor Iskanje Primeri

Prekinitve 68XX

prekinitev omogiči, da CPE prekine izvajanje trenutno izvajajočega programa in prične izvajati servisni prekinitveni program. takšen dogodek običajno sproži neka vhdno-izhodna naprava, ki sproži signal na prekinitveni vhod mikrokrmilnika. To se lahko zgodi ob kateremkoli trenutku. CPE nato sprejme zahtevo. naprava, ki je zahtevala prekinitev mora na nek način vedeti, da je CPE sprejela prekinitev. prekinitve so podobne podprogramom, vendar se od njih razlikujejo po načinu klicanja. Podprogrami so klicani iz glavnega programa na točno določenih mestih, prekinitve pa kličejo strojne enote ob naključnih trenutkih.

Mikrokrmilniki 68XX poznajo več različnih prekinitev. nekatere so povezane z zunanjimi vhodno-izhodnimi napravami, nekatere pa z notreanjimi enotami. Vsaka prekinitev ima svoj prekinitveni vektor, zato pravimo, da uporabljajo vektorske prekinitve. Prekinitveni vektor je naslov pomnilniške lokacije, v kateri je shranjen začetni naslov prekinitvenega strežnega programa. Ker ima vsaka prekinitev svoj vektor, ima lahko tudi vsaka svoj prekinitveni strežni program.

68XX ima dva zunanja prekinitvena vhoda na priključnih nožicah NMI in IRQ/IRQ1. Notranje prekinitve pripadajo notranjim vhodno–izhodnim enotam, komunikacijskemu kanalu in časovniku. Pri notranjih prekinitvah so vse potrebne signalne povezave izvedene znotraj mikrokrmilnika. Vse notranje prekinitvene zahteve in zunanjo IRQ1 je možno onemogočiti z ukazom SEI.

Ena prekinitev je programska in jo sproži izvedba posebnega ukaza SWI. Odziv CPE na programsko prekinitev se v ničemer ne razlikuje od odziva na aparaturne prekinitve, le da ima programska prekinitev svoj prekinitveni vektor. Programska prekinitev je nemaskirna, saj je vedno pod programskim nadzorom in ni potrebe po njenem maskiranju. V bistvu bi morali programsko prekinitev šteti med ukaze CPE, saj v pravem pomenu ni prekinitev, temveč je le reakcija CPE na ukaz SWI takšna, kot da je prišlo do aparaturne prekinitve.

Nemaskirna prekinitev

Če želi neka naprava aktivirati prekinitveri program, ki pripada prekinitvi IRQ, mora aktivirati zunanji vhod. Te prekinitve ni mogoče onemogočiti in ima najvišjo prioriteto. Uporablja se prevsem pri zaznavanju napak v delovanju sistema.

Potek prekinitve NMI:

  1. Zunanja naprava sproži zahtevo po prekinitvi, s tem da postavi vhod mikrokrmilnika, MNI v aktivno stanje logične 1. Vhod mora biti v tem stanju dokler CPE prekinitvene zahteve ne sprejme.
  2. CPE ob koncu vsakega cikla preveri stanje na prekinitvenih vhodih in med temi je tudi NMI.
  3. Ko je zahteva po prekinitvi sprejeta, se najprej shrani na sklad vsebina registrov CPE razen vsebine skladovnega kazalca SP. Vrstni red shranjevanja na sklad je takšen: spodnjih 8 bitov programskega števca, zgornjih 8 bitov programskega števca, spodnjih 8 bitov registra X, zgornjih 8 bitov registra X, akumulator A,akumulator B, register stanj CCR. Sklad se ob vsakem skoku na izvajanje prekinitvenega strežnega programa poglobi za sedem lokacij.
  4. Za začetek izjajanja prekinitvenega programa, je potrebno naložiti vsebine prekinitvenega vektorja prekinitve NMI v programski števec (PC).
  5. Izvaja se prekinitveni strežni program, ki se mora obvezno končati z ukazom RTI.
  6. Obnovi se stanje CPE. V registre se vpišejo vrednosti, ki so se naložile na sklad. Ker se v PC vpiše vrednost, ki bi morala že pred klicem podprograma, se izvajanje programa nadaljuje tam, kjer se je končalo.

SERŠ Maribor, Strokovna gimnazija, leto: 2004/05, avtor: Mitja Ogrizek