Zašto je potrebno maskiranje prekida kod mikroprocesora?
Kada je maskiranje prekida omogućeno, procesor neće odgovoriti ni na jedan prekid dok se maskiranje ne onemogući. To znači da se neće izvršavati rutine usluge prekida (ISR), a procesor će nastaviti izvršavati kod koji se izvodio prije nego što je došlo do prekida.
Postoji nekoliko razloga zašto bi maskiranje prekida moglo biti potrebno:
* Kako biste spriječili pojavu prekida tijekom kritičnih dijelova koda. Kritični dio je dio koda koji se mora izvršiti bez ikakvih prekida. To može uključivati kôd koji pristupa zajedničkim resursima ili kôd koji ažurira važne strukture podataka. Ako bi se tijekom kritične sekcije dogodio prekid, to bi moglo uzrokovati neuspjeh koda ili proizvesti netočne rezultate.
* Za poboljšanje performansi. Maskiranje prekida može poboljšati izvedbu smanjenjem broja puta kada se procesor mora prebaciti između izvršavanja korisničkog koda i izvršavanja ISR-ova. Ovo može biti posebno važno u sustavima u stvarnom vremenu, gdje je kritično poštovati rokove.
* Za smanjenje potrošnje energije. Maskiranje prekida može smanjiti potrošnju energije isključivanjem kontrolera prekida kada nije potreban. Ovo može biti posebno važno kod uređaja koji se napajaju baterijama.
Maskiranje prekida moćna je značajka koja se može koristiti za poboljšanje performansi, pouzdanosti i potrošnje energije mikroprocesora. Međutim, treba ga koristiti s oprezom, jer također može dovesti do problema ako se ne koristi ispravno.