2013 m. sausio 10 d., ketvirtadienis

8.7. Pertraukčių aptarnavimo draudimas (maskavimas)


Dauguma sistemų turi tam tikrais atvejais pertrauktis uždraudžiančias komandas. Vykdoma programa negali būti nutraukiama, jei pertraukčių vykdymas yra uždraustas.     Kiekviena pertrūkio sistema gali automatiškai arba programuotojui nurodžius drausti, kitaip tariant, užmaskuoti visus MP pertrauktis arba nurodytą jų tipą. Todėl, uždraudus pertrauktis, galima laikinai (kol pertrauktys nebus leidžiamos) nereaguoti į visus arba pasirinktus pertraukčių signalus. Draudimo (maskavimo) mechanizmo analogijų galima rasti ir žmogaus veikloje. Ankstesniame pavyzdyje studentas galėjo į telefono skambutį nekreipti dėmesio, manydamas, kad knygą skaityti yra svarbiau. Taigi studento atžvilgiu visi telefono skambučiai yra užmaskuoti.
Įvairiuose mikrokompiuteriuose pertrauktys maskuojami skirtingai. Dažnai naudojamas specialus mikroprocesoriaus registras, vadinamas pertraukties kaukės registru. Šiame registre, pavyzdžiui, gali būti išskirta po vieną dvejetainę skiltį kiekvienai pertraukčių klasei. Dvejetainės skilties reikšmė 1 gali reikšti pertraukčių draudimą, reikšmė 0 – šią skiltį atitinkančios klasės pertraukčių leidimą. Pavyzdžiui, kai yra keturi (anksčiau išvardinti) pertraukčių tipai, tuomet kaukės registras gali būti keturių skilčių ilgio. Daugelio mikroprocesorių kaukės registre yra tik viena skiltis, tad pertrauktys yra leidžiami arba draudžiami visi iš karto.

Tačiau yra tokių tipų pertraukčių, kurių stabdyti negalima dėl dviejų priežasčių:
Ø          todėl, kad jų prioriteto lygis yra labai aukštas
Ø          todėl, kad pertraukties sustabdymas būtų žalingas.
Labai ryškus pavyzdys būtų perspėjimo pertrauktis, kuri suformuojama dėl to, kad išjungiamas elektros maitinimo šaltinis.
Tokio tipo pertrauktys, kurių uždrausti negalima vadinamos nedraudžiamomis (nemaskuojamomis) pertrauktimis.
Priešingai minėtoms, draudžiamosiomis (maskuojamomis) pertrauktimis vadinamos tokios, kurias mikroprocesorius gali ignoruoti.
Pertrauktis reikia drausti tais atvejais, kai sutinkamos tam tikros kodų sekos, kurių pertraukti negalima, nes dėl to bus įvelta klaida. Kiekviena pertrūkio sistema gali automatiškai arba programuotojui nurodžius drausti, kitaip tariant, užmaskuoti visus MP pertrauktis arba nurodytą jų tipą. Todėl, uždraudus pertrauktis, galima laikinai (kol pertrauktys nebus leidžiamos) nereaguoti į visus arba pasirinktus pertraukčių signalus.

Komentarų nėra:

Rašyti komentarą

Tinklaraščio archyvas

Etiketės