Prerušenie

Prerušenie nastáva vtedy, keď mikroprocesor urobí niečo, čo mu nebolo prikázané, pretože sa stali veci, ktoré sú mimo toho, čo má program robiť. Prerušenia sa najčastejšie vyskytujú preto, že procesor dostane signál z hardvéru, ale môžu pochádzať aj zo softvéru, ktorý beží spolu s programom. Medzi mnohé veci, ktoré môžu spôsobiť prerušenie, patrí stlačenie klávesov na klávesnici, spustenie zabudovaného časovača, prenos dát alebo akákoľvek iná udalosť, ktorá si vyžaduje okamžitú akciu zo strany procesora. K prerušeniam môže dôjsť kedykoľvek počas behu programu v procesore, bez ohľadu na to, kde v zdrojovom kóde programu sa nachádza.

Tento graf ukazuje, čo sa stane, keď sa zavolá prerušenieZoom
Tento graf ukazuje, čo sa stane, keď sa zavolá prerušenie

Ako funguje prerušenie

O hardvérové alebo softvérové volanie prerušenia (známe ako žiadosť o prerušenie alebo IRQ) sa stará "obsluha prerušenia" alebo "rutina obsluhy prerušenia" (ISR) v procesore. Tá umiestni to, čo v danom čase robí, na zásobník a potom nasleduje určité inštrukcie, ktoré v mene systému vykonajú danú úlohu, ktorá nemusí byť súčasťou programu, ktorý vykonáva. Po skončení vykonávania inštrukcií si ISR vezme späť to, čo vložil na zásobník, a pokračuje v tom, čo robil pred tým, ako došlo k prerušeniu.

Mnohé radiče prerušenia dnešných procesorov používajú vektor prerušenia na triedenie prerušenia okrem iného aj podľa toho, odkiaľ prichádza. Vektor zvyčajne obsahuje kód, ktorý sa musí spustiť, keď nastane prerušenie. ISR sú vo všeobecnosti zodpovedné za riešenie alebo "obsluhu" prerušenia spolu s udržiavaním seba samého v prevádzkyschopnom stave.

Použitie prerušenia

  • Spúšťanie úloh v pravidelných intervaloch
  • Servis externého zariadenia, ktorý sa môže uskutočniť kedykoľvek
  • Odstránenie potreby synchrónneho dotazovania
  • Spustenie akcie operačného systému (OS)

Otázky a odpovede

Otázka: Čo je to prerušenie?


Odpoveď: Prerušenie je činnosť mikroprocesora, ktorá nie je súčasťou vykonávaného programu v dôsledku vonkajších udalostí.

Otázka: Čo spôsobuje, že sa prerušenia v procesore vyskytujú najčastejšie?


Odpoveď: Prerušenia sa v procesore najčastejšie vyskytujú v dôsledku prijímania signálov z hardvéru.

Otázka: Môžu byť prerušenia spôsobené softvérom?


Odpoveď: Áno, prerušenia môže spôsobiť aj softvér, ktorý beží paralelne s vykonávaným programom.

Otázka: Uveďte niekoľko príkladov udalostí, ktoré môžu spôsobiť prerušenie.
Odpoveď: Príklady udalostí, ktoré môžu spôsobiť prerušenie, sú stlačenie klávesov na klávesnici, spustenie časovača a prenosy údajov.

Otázka: Závisí prerušenie od miesta vykonávania programu?


Odpoveď: Nie, prerušenie môže nastať kedykoľvek počas vykonávania programu bez ohľadu na to, kde sa program nachádza vo svojom zdrojovom kóde.

Otázka: Je prerušenie pre mikroprocesor žiaducou udalosťou?


Odpoveď: Prerušenia sú pre mikroprocesor zvyčajne nežiaduce udalosti, pretože narúšajú vykonávanie programu a vyžadujú okamžitú pozornosť.

Otázka: Ako mikroprocesor reaguje na prerušenie?


Odpoveď: Mikroprocesor dočasne pozastaví vykonávaný program a vykoná rutinu obsluhy prerušenia (ISR) na spracovanie prerušenia pred návratom k vykonávanému programu.

AlegsaOnline.com - 2020 / 2023 - License CC3