Tudd Intuíció, előadás, megszakítás és különleges esetekben

Megszakítások és a speciális esetek

Megszakítás - a fordítottja a természetes rendje a programot, ami annak köszönhető, hogy a rendszer szükségességét válasz munkájának külső eszközök, valamint a hibák és a kivételek felmerült a program végrehajtása során. Ebben a speciális program neve - megszakítást kezelő. az egyes helyzet állt elő, miután a munka újrakezdése a megszakított programot.

megszakítás mechanizmus látva megfelelő hardver és számítógépes szoftver.

Osztályozása megszakítások ábrán látható. 7.1.

Tudd Intuíció, előadás, megszakítás és különleges esetekben


Ábra. 7.1. besorolása megszakítások

Request hardver megszakítások elő aszinkron módon, hogy a mikroprocesszor és a kapcsolódó külső eszköz.

Kérelme nonmaskable megszakítás NMI bemenetnek a mikroprocesszort és nem lehet blokkolni a szoftver. Jellemzően ez a bemenet a megszakítani szállítási teljesítmény vezérlő rendszereket vagy helyrehozhatatlan I / O hiba.

Mert maszkolható megszakítás kérés bemenő INT a mikroprocesszor használni. megszakítás feldolgozás ehhez a bejegyzéshez lehet blokkolni mentesítés IF kicsit a nyilvántartásba mikroprocesszor zászlókat.

Szoftver megszakítások. szigorúan véve, ezek az úgynevezett kivételek vagy különleges esetekben. Ezek kapcsolatos különleges helyzetek adódnak a program végrehajtása során (lapok a memóriában, a biztonság megsértése, túlcsordulás), azaz azokat a helyzeteket, amelyek a programozó nem előre, vagy a jelenlétét a program egy speciális parancsot INT n, amelyet a programozó, hogy hívja operációs rendszer funkciói vagy a BIOS. munkájának támogatása külső eszközökkel. Később a vita a megszakítási rendszer, akkor használhatja az egyetlen kifejezés „megszakítás” a hardver megszakítások és kivételek, ha nem másként.

Szoftver megszakítások vannak osztva a következő típusú.

Megsértése (hiba) - speciális eset, hogy a mikroprocesszor érzékeli a hibát, mielőtt a tényleges (például nem oldalt a memóriába); feldolgozás után rendellenességek program lefut az újraindítás paranccsal vezetett a megsértése.

Trap - egy különleges eset, amely érzékeli vége után a parancs (például, a jelenléte a program utasítás INT N vagy flag beállított flag regiszter TF). A feldolgozás után a megszakítási program végrehajtása folytatódik a következő utasítás.

Baleset (kivéve folyamat) - a súlyos hibát, hogy programozni bizonyos kontextusban elveszett, és nem tudja folytatni. Mert a baleset nem lehet beállítani, így a program eltávolítja a feldolgozó. Mert balesetek hardver hibák, és következetlen vagy érvénytelen értékeket a rendszer táblák.

A kezelési eljárását megszakítások

Megszakítások és speciális esetre derül fény a határait a csapatok, és a programozó nem törődnek az állam a belső üzemi nyilvántartások és továbbító eszközök.

Válaszul a megszakítás kérés, a mikroprocesszor azonosítani kell annak forrásától, hogy fenntartsák a minimális összefüggésben a jelenlegi program átvált egy speciális program - megszakítást kezelő. A szervizelést követően megszakítás MP visszatér a megszakított program, és ez kell folytatni, mint ha nem volt megszakítás.

IRQ kezelés a következőkből áll:

  • „Reflex” akció a processzor, amelyek azonosak az összes megszakítások és különleges alkalmakra, és a programozó nem tudja ellenőrizni;
  • végző kezelőnek a programozó.

Annak érdekében, hogy a mikroprocesszor azonosítani tudja a forrása a megszakítás kezelő és segítenek megtalálni megfelelő érkezett kérelem, minden kérjen egy szám (interrupt típus) rendelt megszakítani.

interrupt típus a megszakítás program lépett belülről a mikroprocesszoros; például úgy, hogy a hiánya megszakítás az oldalon memória típusú 14. megszakítások okozott parancsot INT N típusú tartalmazott a parancsot is. Mert maszkolható hardver megszakítás típusú bemenet a prioritás megszakítás-vezérlő adatbuszon. NMI van rendelve a 2. típusú.

Összesen 256 mikroprocesszor megkülönbözteti szakítsa típusok. Így, akkor lehet kódolva egy bájt.

„Reflektor” mikroprocesszor feldolgozási lépéseket végrehajtva megszakítás hardver MP, és tartalmazza:

Ezután a program - megszakítást kezelő. a kérelemnek megfelelő. Ez a program meg van írva, és helyezzük a memóriában alkalmazás vagy rendszer programozó. Megszakítás kezelő be kell fejezni a csapat I RET. amellyel automatikusan továbblép végrehajtását a megszakított program folytatását a helyreállítás kontextusa.

Hívni a megszakítás kezelő, amikor a mikroprocesszor működik valós módban megszakítja vektor táblázat a. és védett módban - megszakítja leíró táblázatot.

A védett módban, egy megszakítás kezelő használjuk megszakítás leíró tábla IDT. Az elemek a táblázatban 8-bájtos típusú leírók -petsialnye átjáró program struktúrákat, amelyeken keresztül a processzor-vezérlő átviteli.

Tudd Intuíció, előadás, megszakítás és különleges esetekben


Ábra. 7.2. Megszakításvektorok táblázatából

Tudd Intuíció, előadás, megszakítás és különleges esetekben


Ábra. 7.3. Az, hogy a kezelés megszakítására leíró táblázat

Tartalom IDTr regiszter nem tárolja a TSS szegmensek és nem változik, ha váltás feladatokat. Programok nem tud hozzáférni a IDT. mivel csak egy kicsit mutató TI szegmens táblázat választó kiválasztja csak a táblák között GDT és LDT.

A felső határ a megszakítás leíró tábla 256 * 8 - 1 = 2047.

Megadhat egy alsó határ, de ez nem ajánlott. Ha van hivatkozás a leíró IDT határértékeket. processzor megy leállás üzemmódban, amíg a bemeneti jel NMI vagy visszaállítása.

Csak kezeli az alábbi típusú lehet tárolni az IDT:

  • Trap átjáró
  • megszakítja az átjáró, az átjáró feladat.

Az átjárók hasonló csapdákat és megszakítások hívja átjáró. csak az offline területén számláló WC (ábra. 7.4). Mivel a felmondás egy váratlan esemény, és nem jár a jelenlegi program, beszélni halad paramétereket az felvezető nem szükséges.

Tudd Intuíció, előadás, megszakítás és különleges esetekben


Ábra. 7.4. Format átjárók csapdákat és megszakítások

Bit S = 0 a byte hozzáférési definiálja ezt a rendszer tárgy fogantyú. Ha a Típus mező a byte éri el ugyanazt az 1110 megszakítja az átjárót. ha 1111 - a csapdák átjárót.

Mező szintű jogosultságokat DPL leíró. mint általában úgy van beállítva, hogy 3, úgy, hogy a megszakítást a processzor érheti el a program minden jogosultsági szint.

Bit jelenlétében P egyenlő lehet 0 vagy 1.

A belépő a megszakítás kezelő átjárón keresztül a regiszter visszaállító zászló kicsit megszakítás engedélyező IF. Ebben az esetben a mikroprocesszor letiltja az összes hardver megszakítások rejtve marad. Ezért a megszakítás kezelő, ez a bit 1 lehet a lehető leghamarabb, hogy ne takarja el a munkáját a program, amely folyamodni, például a feldolgozó rendszer időzítő megszakítás.

A belépő a csapda felvezető keresztül átjáró IF flag nem változik.

Híváskezelő keresztül egy csapda kapun. és ne szakítsa kapu, gyakran végrehajtott kivételek kezelését. időszaka óta megszakítás szolgálati nemkívánt szétválasztásának mechanizmusa alkalommal egy időzítő megszakítás.

Híváskezelő a kapun feladat rendszerint feldolgozásában a hardver megszakítás, mert az ilyen feldolgozás nem jár az aktuálisan futó feladat. Ebben az esetben a mechanizmus lehetővé beágyazott megszakítások, ha a megszakítás engedélyezett a problémát. Calling megszakítás kezelő az átjárón keresztül végzett feladatok és kivételkezelés. például „a megoldatlan a TSS”, amikor a sérült feladat nem okoz egy megszakítás. Feladat váltás szükséges mintegy 5-ször hosszabb, mint az eljárás hívás. Ezért, ha a kiemelt kérelem magas, és a rövid szolgálati program, alakú formában eljárást.

Kapcsolódó cikkek