A hardver és szoftver megszakítások

Megszakítás (interrupt) - a jel, ami megmondja a processzor bekövetkezte esetén. Ebben az esetben a végrehajtás a jelenlegi parancssort felfüggesztésre kerül, és vezérlés átkerül egy megszakítás-kezelőre, amely reagál az eseményre, és arra szolgál, és akkor visszaadja a vezérlést a megszakított kódot.







Attól függően, hogy a forrás előfordulása a jel, megszakítások vannak osztva:

  • aszinkron. vagy külső (hardver) - az eseményeket, amelyek eredete a külső forrásokból (például perifériális eszközök), és előfordulhat meg bármilyen tetszőleges időpontban: a jelet az időzítő, hálózati kártya, vagy egy lemezmeghajtó, a billentyűzet interfész, az egér mozgását. Az a tény bekövetkeztének ez a megszakítás rendszer kezelni a kéréssel, hogy szakítsa meg (megszakítási kérelem, IRQ);

Hardver megszakítások vannak osztva:

A hardver és szoftver megszakítások

A hardver és szoftver megszakítások

IO megszakítani, azonban megköveteli a komplexitás hardver - sozdaniyasistemy megszakítások.

A szerkezet a prioritás megszakítás-vezérlő formában van

A hardver és szoftver megszakítások

  • IRn- megszakításkérelmi vonal a periféria;
  • INTR- megszakítás kérés jelet a vezérlő processzor;
  • INTA- megerősítő jel vételét a megszakítási kérelmet, a megszakítási kérelmet vektor;
  • NMI- kérelmet NMI fix vektora a nem kiszolgált megszakítás vezérlő eszközt (például egy jelet egy hajtóműegység meghibásodása vagy letörési feszültség);

Abban kézhezvételét megszakítás kérés IR (N) a kerületi (PU), a megszakítás-vezérlő küld egy megszakítás (INT) a CPU. A processzor lehetővé teszi a feldolgozó a megszakítási képező #INTA erősítse meg, hogy ezzel a megszakítás-vezérlő, szújáratok az adatbusz egy megszakítási vektort. Vektor meghatározza a kezelési program. megszakítás feldolgozás után történik befejezése az aktuális parancs processzor.

Megszakítás vezérlő képes kezelni megszakítások eszközök engedélyezi vagy letiltja egy részük (a maszkolás), és lehetővé teszi, hogy módosítsa a prioritásokat. a vezérlő processzora üzemmódban vezérli a vezérlő buszon keresztül.

8. (!) Egyszintű megszakítás rendszer. Hardver és szoftver.

A fő hátránya a program-vezérelt input-output nem hatékony felhasználása CPU időgép. Ez főleg töltött várakozási ciklusok változásának input kód támogatásával abszolút bemeneti kikötőkben készenlét készenléti ciklusok, a támogatást a feltételes input-output portok. A több várakozási állapotot nagyon nagy lehet, mert az alacsony arány a legtöbb külső eszközöket.







Teljesen megszünteti várakozási állapotot és a kapcsolódó számítógép idő elveszíti őket teszi IO megszakítani. Portok használja ezt a fajta csere nincs küldő eszköz a kész jelet a mikroprocesszor adatbuszon. Ennek alapján a rendelkezésre álló jelek teszik kéréseket IRQ szolgáltatást.

Működési séma felvétele az ilyen kikötők a mikroprocesszoros rendszer a tanulási mikroprocesszor képviselt ris.4.17. Ez a rendszer végrehajtja az úgynevezett egyszintű vektorozott megszakítás rendszer. Ez magában foglalja a portok 1 ... N, végrehajtási aszinkron input-output a külső része a csere, az elem „VAGY”, a kiemelt kódoló és a bemeneti port a megszakítási vektort.

Tegyük fel, hogy az eredeti állapot, valamennyi kérelmet IRQ1 szolgáltatás ... IRQN egyenlő nulla, azaz nincs. Tegyük fel továbbá, hogy igény van a bemenet port No1 IRQ = 1. Ezt a kérést az elem „VAGY” továbbítják a processzor megszakítás bemenet INT kérelmet. A processzor, a válasz erre a kérésre, hajtsa végre a következő lépéseket:

Ris.4.17.Funktsionalnaya szakítsa vektor diagramja egyszintű rendszer

Ris.4.18.Tipovaya karbantartási program tömbvázlata a megszakítás

Mind a port a rendszer saját kikötői szolgáltatási programokat, hívja az egyik csapat írja RST X. különös változata a restart parancs vektornak nevezzük megfelelő interrupt. A vektort generált elsőbbségi jeladó kérés IRQ1 ... IRQN és kiállítva a adatbusz a jelet. A prioritás jeladó lehetővé teszi számunkra, hogy mind a felkérést kapott különböző kikötőkben megfelelően előre meghatározott prioritás rendszert.

ISR egy egységes vektor rendszer általában épül egy tipikus folyamatábra (ris.4.18).

A használat során a megszakítás kell venni jellemző EI megszakítás engedélyező parancs végrehajtását. Ez nem történt meg az időt az mikroprocesszor, de csak miután a következő parancsot. Esetünkben ez azt jelenti, hogy a megszakítás engedélyezve lesz megint csak azt követően visszatér a fő program.

Az egyszintű rendszer minden megszakításkérésekre közel azonos. Prioritás érinti csak egyidejű kérések érkeznek.

Néha ez sokkal kényelmesebb, hogy egy többszintű megszakítás rendszer, amely kéri a magasabb prioritású megszakíthatja a műveletet a megszakítás feldolgozó programok alacsonyabb prioritású. Vector többszintű megszakítás rendszer útján valósul meg egy speciális LSI - elsőbbségi megszakítás vezérlő.

Meg kell jegyezni, hogy az input-output megszakítás végül is aszinkron transzfer a belső része csere kódokat. A szerepe a hiányzó jel egy aszinkron protokoll (STB) vagy a (ACK) van kialakítva végrehajtja megszakítja vektor rendszer.

9. (!) Multi-level megszakítás rendszer. Hardver és szoftver.

A többszintű rendszerekben, ISR alacsonyabb szintű megszakítás lehet szakítani a rendszeres karbantartás a magasabb szintű megszakítás. Más szóval, a megszakítás módot megvalósítottuk a megszakítás alatt.

A szerkezet a megszakítási vektort táblázat:

Hozzáférés elemei az asztalra végezzük egy 8 bites kódot - típusú megszakítás

A hardver és szoftver megszakítások

Azonban, több vezérlő lehet megszakítani-beleértve A Cheny egymás után. A modern számítógépek (kezdve 286) az egyik (vezető) Interrupt Controller Nepo-sredstvenno csatlakoztatva a processzorhoz, és a második (slave) kimenete csatlakozik egy bemeneti INT IRQ2 mester vezérlő. Összesen 15 megszakítás bemenet nyert IRQ0 az IRQ 15 (IRQ2 nem lehet használni).

Amikor egy jelet, hogy egy megszakítás a vezérlő feldolgozza-Py on INTR-INT vonalak, míg az adatok sorokat a megszakítás-vezérlő, hogy a CPU kap egy megszakítási vektort számot generált hozzáadásával az IRQ nekoto eye bázis szám, amely hozzá van rendelve VIOSom con Troller a boot folyamat (értékek 08h alapértelmezett a vezérlő és szolga 70H). Így például, a megszakítási vektort számát a billentyűzet lesz 08 + 1 = 9h. Merevlemez meghajtó 70H + 6 = 76h.

Megszakítás vezérlő lehetővé teszi, hogy hozzanak átprogramozás módok sorban Lock-baglyok változó megszakítás prioritás változást bázis számok vezérlők. Az ilyen átprogramozás osuschest keresztül történik két byte-os port 20h és 21h. Az alapértelmezett prioritása szerinti számuk IRQ külön vezérlő (IRQ0 - legmagasabb, IRQ7 - legalacsonyabb).

Egy példa a lépcsőzetes két közvetlen memória hozzáférésű vezérlők

A hardver és szoftver megszakítások




Kapcsolódó cikkek