Přerušení

Přerušení je situace, kdy mikroprocesor provede něco, co mu není přikázáno, protože se dějí věci mimo to, co má program dělat. K přerušení dochází nejčastěji proto, že procesor dostane signál z hardwaru, ale může k němu dojít i ze softwaru, který běží spolu s programem. Mezi mnoho věcí, které mohou způsobit přerušení, patří stisknutí kláves na klávesnici, spuštění vestavěného časovače, probíhající přenos dat nebo jakákoli jiná událost, která vyžaduje okamžitou akci ze strany procesoru. K přerušení může dojít kdykoli během běhu programu v procesoru, bez ohledu na to, kde ve zdrojovém kódu programu se nachází.

Tento graf ukazuje, co se stane, když je vyvoláno přerušení.Zoom
Tento graf ukazuje, co se stane, když je vyvoláno přerušení.

Jak fungují přerušení

O hardwarové nebo softwarové volání přerušení (tzv. požadavek na přerušení, IRQ) se stará "obsluha přerušení" nebo "rutina obsluhy přerušení" (ISR) v procesoru. Ta umístí to, co v danou chvíli dělá, na zásobník a pak následuje určité instrukce, které jménem systému provedou daný úkol, který nemusí být součástí programu, který provádí. Jakmile ISR dokončí sledování instrukcí, vezme si zpět to, co vložil na zásobník, a pokračuje v tom, co dělal předtím, než došlo k přerušení.

Mnoho řadičů přerušení dnešních procesorů používá vektor přerušení, který mimo jiné třídí přerušení podle toho, odkud přišlo. Vektor obvykle obsahuje kód, který se musí spustit, když dojde k přerušení. ISR jsou obvykle zodpovědné za vyřízení neboli "obsluhu" přerušení spolu s udržováním sebe sama v provozuschopném stavu.

Použití přerušení

  • Spouštění úloh v pravidelných intervalech
  • Servis externího zařízení, ke kterému může dojít kdykoli.
  • Odstranění potřeby synchronního dotazování
  • Spuštění akce operačního systému (OS)

Otázky a odpovědi

Otázka: Co je to přerušení?


Odpověď: Přerušení je činnost mikroprocesoru, která není součástí prováděného programu v důsledku vnějších událostí.

Otázka: Co způsobuje, že se přerušení v procesoru vyskytuje nejčastěji?


Odpověď: K přerušení dochází v procesoru nejčastěji v důsledku příjmu signálů z hardwaru.

Otázka: Mohou být přerušení způsobena softwarem?


Odpověď: Ano, přerušení mohou být způsobena také softwarem, který běží paralelně s prováděným programem.

Otázka: Uveďte několik příkladů událostí, které mohou způsobit přerušení.
Odpověď: Příklady událostí, které mohou způsobit přerušení, jsou stisknutí kláves na klávesnici, spuštění časovače a přenos dat.

Otázka: Závisí přerušení na tom, kde se program vykonává?


Odpověď: Ne, k přerušení může dojít kdykoli během provádění programu bez ohledu na to, kde se program nachází ve svém zdrojovém kódu.

Otázka: Je přerušení pro mikroprocesor žádoucí událostí?


Odpověď: Přerušení jsou pro mikroprocesor obvykle nežádoucí události, protože narušují provádění programu a vyžadují okamžitou pozornost.

Otázka: Jak mikroprocesor reaguje na přerušení?


Odpověď: Mikroprocesor dočasně pozastaví prováděný program a provede rutinu obsluhy přerušení (ISR), která přerušení zpracuje, a pak se vrátí k prováděnému programu.

AlegsaOnline.com - 2020 / 2023 - License CC3