Volání a přerušení

Anonim

V určitou dobu hlavní procesor přestane pracovat a zkontroluje, zda má nějaký správce zprávu, pokud má, zpracuje zprávu a obnoví operaci. Toto se nazývá dotazování. Navíc je jasné, že hlavní procesor dělá svou práci a zařízení dělají svou práci. Pokud zařízení dokončí svou úlohu nebo dojde k chybě, zařízení informuje hlavní procesor o přerušení požadavku.

Co je dotazování?

V systémech, kde více externích logických obvodů komunikuje prostřednictvím více propojení U / I s jediným mikroprocesorem, se používá dotazování U / I. Mikropočítač pravidelně volá každý externí logický obvod a zkoumá, zda požadoval službu. Pokud obvod externí logiky nevyžaduje údržbu, mikropočítač zkoumá další externí logický obvod apod. Pokud některý z nich vyžaduje servis, mikropočítač přepne na spuštění obslužného programu příslušného obvodu vnější logiky. Funkce přenosu U / I je součástí programu. Jinými slovy, volání je proces volání klientů (počítače nebo terminály), které mohou odesílat data po volání (pokud mají nějaké). Pokud má klient data, která po pohovoru pošle, a pokud nejsou žádné údaje, klient reaguje negativně a server volá dalšího klienta. Některá zařízení mohou vyžadovat servis od regulátoru (např. Když některé zařízení dokončí měření nebo nastane chyba). Požadavek je odeslán do řadiče nastavením řádku SRQ na nízkou hodnotu. Poté, co regulátor obdrží požadavek na službu, zavolá všechna zařízení na sběrnici a najde zařízení, které tuto žádost odeslalo.

Co je přerušení?

Během provádění programu může mikroprocesor přijímat signál přerušení přes speciální linky IRQ. Přerušení se nejčastěji provádí voláním příslušného podprogramu systému pro zpracování přerušení - jedná se o rutinní zpracování BIOS nebo DOS. Po přerušení zpracování procesor pokračuje v provádění přerušeného programu. Samotný aplikační program může také obsahovat příkaz, který vyžaduje spuštění rutiny přerušení systému BIOS nebo DOS. Operace vstup-výstup jsou nejčastěji prováděny tímto způsobem. Pokud například program chce vytisknout označení na obrazovce, může tak učinit voláním příslušného rutiny přerušení. Systém BIOS obsahuje sadu elementárních rutin vstupů a výstupů, které běží poměrně rychle, a odpovídající rutiny DOS jsou pomalejší, ale jejich schopnosti jsou větší (možnost přepínání vstupních a výstupních kanálů, možnost kontroly chyb apod.). Přerušení hardwaru je proto signálem přijatým procesorem z jiného zařízení v počítači a přerušením softwaru je proces spouštění rutiny BIOS nebo DOS (podprogramu), který je automaticky vyvolán pro zpracování přijatého signálu přerušení nebo je vyzván k provedení příslušné pokyny.

Rozdíl mezi pollingem a přerušením

Pozadí dotazování a přerušení

V prvním případě procesor kontroluje v pravidelných časových intervalech, pokud zařízení potřebuje nějakou akci. V případě přerušení existuje mechanismus, kterým procesor dovoluje externímu zařízení (např. Klávesnici, zvukovou kartu atd.) Přilákat pozornost procesoru.

Mechanismus dotazování a přerušení

Přerušení jsou speciálně organizované mechanismy pro komunikaci periferních zařízení. Zařízení informují procesor, pokud je zapotřebí nějaká akce. Polling je protokol - CPU se pravidelně dotáže na zařízení, pokud je požadována akce.

Servis dotazování a přerušení

Při dotazování mikrokontrolér obsluhuje přístroj, který potřebuje pozornost, a poté se přesune na další zařízení pro sledování. V případě přerušení, kdy je přijat signál pro přerušení, CPU zastaví aktuální činnost a obsluhuje zařízení. Zpracované služby nebo přerušení se nazývají rutina přerušení služby (ISR) nebo obsluha přerušení.

procesor

V procesu hlasování je CPU podržen a zkontroluje, zda nějaké zařízení potřebuje službu. To zbytečně ztrácí čas. V případě přerušení procesu je procesor narušen pouze v případě potřeby.

Vzhled hlasování a přerušení

Přístroje lze dotazovat pouze v pravidelných intervalech, když jsou kontrolovány. Přerušení se může stát kdykoliv.

Výhody hlasování a přerušení

Některé z výhod dotazování jsou poměrně jednoduchý program, spolehlivost přenosu probíhá při maximální rychlosti, tj. Jakmile je I / O zařízení připraveno a není třeba dalších přístupových čipů. Přerušení je výhodné, protože může sloužit více zařízením, je flexibilnější a efektivnější.

Nevýhody hlasování a přerušení

Nevýhody dotazování jsou pohotovostní doba některých zařízení, která je kratší než doba odezvy, a pak by měl být použit jiný způsob přenosu, stejně jako procesor spotřebovává zbytečný čas na kontrolu zařízení, které neprohledaly přenos dat. Nevýhody přerušení jsou požadavek na složitější hardware / software a ztrátu času, dokud CPU nezjistí, které jednotky požadují přerušení.

Polling versus přerušení: Srovnávací graf

Shrnutí dotazování Vs. Přerušit

  • V případě dotazování je provedeno cyklické čtení zařízení připojených k jednomu CPU.Pokud obvod externí logiky nevyžaduje údržbu, mikropočítač zkoumá další externí logický obvod. Pokud některý z nich vyžaduje údržbu, mikropočítač přepne na spuštění programu pro obsluhu příslušného externího logického obvodu.
  • Při přerušení na žádost externí logiky mikropočítač přeruší provoz aktuálního programu a přepne na spuštění programu přerušení. Přerušená struktura umožňuje mikroprocesoru reagovat na asynchronní události, tj. Požadavky z externí logiky, neočekávat ve smyčce, aby prozkoumal stav vnější logické obvody.