Mikroprocesory - Skripta
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
24
FEKT Vysokého učení technického v Brně
3.1.12 Přerušení
Přerušení je speciálním případem výjimečné situace. Požadavek na přerušení může být
generován:
Asynchronně s během programu (klasická přerušení).
Synchronně s během programu.
V počítačových systémech vznikají asynchronní události, tj. události, které přicházejí
„zvenčí“ a nejsou nijak synchronizovány s kódem aktuálně prováděným procesorem. Např.
v okamžiku, kdy procesor řeší algoritmus na výpočet kořenů algebraické rovnice, síťová karta
přijme paket. Dalšími asynchronními událostmi může být např. dokončení přenosu dat řadičem
pevných disků do vyrovnávací paměti, doběhnutí časovače (uplyne časový interval, na nějž byl
časovač nastaven), periodické přerušení od hodin reálného času, změna logické úrovně na
binárním vstupu, dokončení převodu A/D převodníku, ale i havarijní stavy jako detekce chyby
parity paměti nebo výpadek napájení.
Synchronní přerušení může být generováno:
Programově speciálními instrukcemi (INT, TRAP). Součástí instrukce bývá i číslo
přerušení. Softwarové přerušení bývá označováno jako trap (past) a používá se zejména
pro přístup ke službám jádra operačního systému.
Generované kontrolními obvody počítače:
Dělení nulou.
Pokus o vykonání nelegální či neznámé instrukce.
Neoprávněný pokus o přístup k paměťové lokaci (narušení ochrany paměti).
Přerušovací systém počítače umožňuje CPU určit zdroj přerušení, tj. co přerušení
vyvolalo (síťový interface nebo řadič disků nebo časovač nebo … ) a důležitost obsluhy dané
události. Po vyhodnocení zdroje požadavku na přerušení předá procesor řízení speciálnímu
podprogramu (obslužné rutině přerušení), který zajistí programovou obsluhu vzniklé události.
Před vstupem do obslužné rutiny musí procesor uschovat do zásobníku návratovou adresu, aby
po dokončení obslužné rutiny mohl pokračovat ve vykonávání přerušeného programu. Mnohé
procesory ukládají do zásobníku také některé nebo dokonce všechny registry.