přerušení je signál vysílaný hardwarem nebo softwarem, když proces nebo událost vyžaduje okamžitou pozornost. Upozorní procesor na proces s vysokou prioritou vyžadující přerušení aktuálního pracovního procesu. V I / O zařízeních je pro tento účel vyhrazena jedna z řídicích linek sběrnice a nazývá se rutina přerušení (ISR).
Když je zařízení vyvolává přerušení řekněme proces jsem, procesor nejprve dokončí provedení pokynu jsem. Pak se to načte Program Counter (PC) se adresa první instrukce z ISR. Před načtením čítače programu s adresou se Adresa přerušené instrukce přesune na dočasné místo. Proto po zpracování přerušení může procesor pokračovat v procesu i+1.
zatímco procesor zpracovává přerušení, musí informovat zařízení, že jeho požadavek byl rozpoznán, takže přestane odesílat signál požadavku na přerušení. Také uložení registrů tak, aby mohl být přerušený proces obnoven v budoucnu, zvyšuje zpoždění mezi časem přijetí přerušení a začátkem provádění ISR. Tomu se říká Lattence přerušení.
hardwarové přerušení:
v hardwarovém přerušení jsou všechna zařízení připojena k řádku požadavku na přerušení. Pro všechna zařízení n se používá jeden řádek požadavku. Chcete-li požádat o přerušení, zařízení zavře přidružený přepínač. Když zařízení požaduje přerušení, hodnota INTR je logická nebo požadavků z jednotlivých zařízení.
sled událostí spojených s manipulací s IRQ:
- zařízení vyvolávají IRQ.
- procesor přeruší právě spuštěný program.
- zařízení je informováno, že jeho požadavek byl rozpoznán a zařízení deaktivuje signál požadavku.
- provede se požadovaná akce.
- přerušení je povoleno a přerušený program je obnoven.
Manipulace s Více Zařízeními:
, Když více než jedno zařízení vyvolává požadavek přerušení signálu, potom další informace je třeba se rozhodnout, které zařízení bude považován za první. K rozhodnutí, které zařízení zvolit, se používají následující metody: dotazování, Vektorovaná přerušení a vnoření přerušení. Ty jsou vysvětleny níže.
- dotazování:
v dotazování je prvním zařízením, se kterým se setkáváme s bitovou sadou IRQ, zařízení, které má být nejprve opraveno. Příslušný ISR je povolán ke službě stejně. Je snadné implementovat, ale spousta času je zbytečná dotazováním IRQ bitu všech zařízení. - Vektorové Přerušení:
V vectored přerušení, zařízení žádající o přerušení identifikuje přímo zasláním speciálního kódu do procesoru přes sběrnici. To umožňuje procesoru identifikovat zařízení, které generovalo přerušení. Speciální kód může být počáteční adresa ISR nebo kde je ISR umístěn v paměti a nazývá se vektor přerušení. - přerušení vnoření:
V této metodě je I / o zařízení uspořádáno v prioritní struktuře. Proto je požadavek na přerušení ze zařízení s vyšší prioritou rozpoznán tam, kde as požadavek ze zařízení s nižší prioritou není. Implementovat tento každý proces / zařízení (i procesor). Procesor přijímá přerušení pouze ze zařízení / procesů, které mají prioritu více než to.
priorita procesorů je zakódována v několika bitech PS (Process Status register). Může být změněn programovými pokyny, které zapisují do PS. Procesor je v režimu pod dohledem pouze při provádění rutin OS. Před spuštěním aplikačních programů se přepne do uživatelského režimu.
pozor čtenáři! Nepřestávej se učit. Získejte všechny důležité koncepty teorie CS pro rozhovory SDE s kurzem teorie CS za studentskou cenu a připravte se na průmysl.