Jak už víte z předchozích kapitol, procesor zpracovává instrukce sériově, tedy za sebou, jednu po druhé.

Kdyby však toto bylo vše, co procesor umí, tak bychom stále používali počítače stejným způsobem jako v dávné minulosti - museli bychom nejdřív napsat program, ten spustit a počkat na výsledek. Neměli bychom možnost změnit chování počítače za běhu.

Přerušení, anglicky interrupt

Řekněme, že zmáčknete tlačítko na klávesnici nebo pohnete myší.

V ten moment dojde se signál z myši dostane až do procesoru prostřednictvím mechanismu, kterému se říká přerušení 1 - v tomto případě jde o hardwarové přerušení.

Přerušení je instrukce, která se “vecpe” do toku instrukcí, které procesor právě zpracovává.

Přerušení - krok 1

Přerušení v sobě nese jakýsi identifikátor označující hardwarové přerušení. CPU se podle tohoto identifikátoru podívá do speciální tabulky 2 která obsahuje dva sloupce: identifikátor a adresa v RAM paměti na funkci/podrutinu, která se má v případě přerušení zpracovat.

Přerušení - krok 2

Jakmile je funkce/rutina zpracována tak tok instrukcí pokračuje tam, kde skončil před přerušením.

Přerušení - krok 3

Pohybování kurzorem po obrazovce generuje klidně stovky přerušení za vteřinu a každé toto přerušení znamená pohyb kurzoru myši z jednoho místa na obrazovce na jiné místo na obrazovce.


  1. Anglicky interrupt ↩︎

  2. IDT - Interrupt Descriptor Table ↩︎