informatika
dobry den, muzete mi prosim poradit co se děje při HW přerušení?
Odpovědi
Diskuze
1. Dokončí se rozpracovaná instrukce
2. Uloží se kritické informace o stavu procesoru (program counter, stavové flagy) a aktivní priorita přerušení se může zakázat.
3. Program counter se nastaví na pevně danou adresu (odvozenou z typu nebo úrovně priority přerušení)
4. Tam musí být předem připravená obslužná rutina toho přerušení, která dle poteby a uvážení uloží ještě další stavové informace a vykoná samotnou obsluhu toho přerušení
5. Pak obslužná rutina obnoví původní status který uložila a zavolá speciální instrukci pro návrat z přerušení. Ta se může nějak domluvit s řadičem přerušení (třeba na znovupovolení té dotyčné úrovně priority) a hlavně obnoví status, co se předtím uložil - hlavně program counter a stavové flagy.
6. Takže se program vrací tam, kde byl přerušen, stav procesoru je obnovený, tak jak byl, a jede se dál, jako by se nic nestalo :-)
Prakticky tam ovšem může být SPOUSTA dalších komplikací, fint a faktorů, leccos se dělat může a nemusí. Ale princip je popřád stejný: zapamatovat stav - obsloužit přerušení - obnovit stav.
...+ ještě nějaké drobky... No a co?
Tazateli jde o fakta! :)
Ale jak říkám, všechno musí mít svou míru a tu má asi každý někde jinde ...