A programozási modell 32 - bites mikroprocesszor

Programozott processzor modell egy sor belső regiszterek a kulcs (3.5 ábra). Minden CPU regiszterek saját nevet, amellyel meg lehet fellebbezni a csapat a programot. Regiszterek processzorok bővült 32 bit, amint azt az E betű előtt álló regiszter nevét. Cél és használatának módja a nyilvántartások lehet osztani a következő csoportok:







# 159; Általános célú regiszterek (EAH, EVH, ESKH, EDH, ESI, EDI, EBP, ESP);

# 159; Szegmens regiszterek (CS, DS, SS, ES, FS, GS);

# 159; Utasítás mutató (EIP);

# 159; Regisztráció (vagy pointer) zászló (EF);

# 159; Ellenőrző regiszterek (CR0, CR1, CR2, CR3);

# 159; Debug regiszterek (DR0 ... DR7);

# 159; Regiszterek teszt (TR3, TR4, TR5, TR6, TR7);

# 159; modell-specifikus regiszterek (attól függően, hogy az adott modell a processzor).

Röviden ismertetjük a szerkezete és funkciója e nyilvántartások.

Általános célú regiszterek

EAX (Extended akkumulátor, akkumulátor); EBX (Extended alap, bázis); ECL (Extended számláló, count); EDX (Extended dátum, adat); ESI (Extended forrás index, forráskód); EDI (Extended cél index, az index a vevő); ESP (Extended bázis mutató, a bázis pointer); EBP (Extended stack pointer, verem mutató).

Zászlók EFLAGS regiszter is kiterjed 32 bit Bit 0-15 megadott 8086 és 80286, az egykori célból számos zászlók adunk az Advent a feldolgozók 4. és 5. generációs. Regisztráció zászlók három csoportba sorolhatók: - rendszer zászlók; - állapotjelző; - vezérlő jelzőket.

Bit megbízás zászlók EFLAGS regisztrációhoz rendszert mutatunk be, ellenőrzés céljából és állapot zászlók, lásd MP 8086.

VIP (Virtual Interrupt Érkezik) - a virtuális megszakítást (P5 +).

(ID Flag) - azonosítása csapat a rendelkezésre álló zászló CPUID (P5 + és néhány 486).

AC (Alignment Check) - összehangolás ellenőrzés zászló.

VM (Virtual 8086 Mode) - a védett mód virtuális processzort tartalmaz módban 8086.

RF (Folytatás Flag) - megújítási flag regiszter együtt használható töréspont.

IOPL (Input / Output Privilege Level) - szint I / O jogosultságokat.

NT (beágyazott Task Flag) - beágyazott feladat zászló.

Ellenőrző regiszterek (kontroll regiszterek) CRO, CR1, CR2, CR3 32 bites regiszter, tárolt processzor állapotát jelzések (3.6 ábra) CRO regiszter teljes vezérlést biztosít a processzor működési módok.

CR1 regiszter nem használható.

CR4 nyilvántartásban bit engedélyezi építészeti bővítmények

31 16 12 1110 9 8 7 6 5 4 3 2 1 0

3.6 ábra - Ellenőrző processzor regiszterek

Regiszterek hibakeresés (Debug Register) célja, hogy meghatározza és kezelése hibakeresés töréspont.

Regiszterek DR4, DR5 Pentium processzort, ha bekapcsolt chennom tágulási hibakeresés regisztrálja ezt a címet okozhatnak elfogadhatatlan műveleti kód kivételével (#UD).

DR6 nyilvántartás (töréspont Status) állapotát tükrözi az ellenőrzőpont.

DR7 nyilvántartás (töréspont Control) szabályozza a beállítást ellenőrzési pontok.







TR3 - belső gyorsítótár adatok nyilvántartásba.

TR4 - Cache Test Status Register.

TR5 - teszt vezérlő regiszter cache.

TR6 - regisztrálj oldal caching teszt.

TR7 - adatregiszterében a tesztoldal cache-t.

Modell-specifikus regiszterek MSR (Model-specifikus regiszterek) úgy vannak kialakítva, hogy ellenőrizzék a hibakeresés kiterjesztéseket, teljesítmény nyomon követése, gépi vezérlés, caching területek fizikai memória és egyéb funkciók. Céljuk van kötve egy adott processzor, a készítmény változik modelltől, kiváltságos hozzáférést.

- elmozdulás (kiszorítás vagy Disp) 8-, 16- vagy 32-bites számot tartalmazza a parancsot;

- az alap (Base) -soderzhimoe bázisregiszter;

- Index (Index) - a tartalmát egy index regisztert;

- Scale (Scale) egy faktor (1, 2, 4 vagy 8) feltüntetett utasítás kód.

EA = Base + Index × Scale + Disp

Amellett, hogy nyilvánvaló felhasználását verem utasítások PUSH és POP, a verem automatikusan használják a processzort, ha a call utasítást (CALL) visszatér (RET és IRET), a belépési és kilépési eljárásokat (ENTER és szabadság), és megszakítja kezelése.

Megszakításával a verem és az értéket is el van helyezve EFLAGS nyilvántartásba. Az utasításokat visszaút ezeket az értékeket a veremből az adott nyilvántartások és a processzor továbbra is végrehajtja a megszakított utasítások sorozata.

A stack használják a következő célokra:

- Szervezet szakítsa hívások és visszatér;

- ideiglenes adatok tárolása, mikor, amelynek értelmében nincs értelme kiosztani fix memória;

- tompított paraméterek és vissza, ha eljárás hívások.

Felhasználása előtt a verem meg kell inicializálni - kell beállítani az SS és ESP-választó úgy, hogy rámutat arra, hogy a valódi memória.

Megszakítások és kivételek

Megszakítások és kivételek zavarja a normális a program végrehajtását a feldolgozás külső események vagy megszakítása parancsot.

Megszakítások vannak osztva hardver okozta elektromos jelek a processzorhoz bemenet, és a szoftver által végrehajtott INTxx csapat.

Szoftver megszakítások, szigorúan véve, a megszakítás nem, ez csak egy sajátos módon a hívó eljárások, de ezek feldolgozó által feldolgozott egyfajta csapda.

Szakítsa meg vagy kivételfeldolgozás tartja a stack regiszter (E) zászlók és mutató CS: (E) IP az utasítást, hogy el kell végezni a kezelés megszakítását követően. Ez a kézikönyv biztosítja, hogy a végrehajtása során, amely már megszakadt. Védett módban, amikor számos kivételt a verem még mindig fennmaradt, és a hibakód. Tárolása után ezeket az értékeket, a processzor a végrehajtás a megszakítás feldolgozó program (kizárás) meghatároz egy belépési pont bele egy számot (0-255) a megszakítás táblázatban. Az utolsó parancs a megszakítás kezelő legyen használati IRET vissza, amelyen a stack pointer helyreáll CS: (E) IP és az előző érték zászlókat. Így az interrupt parancs processzor a következő műveleteket végzi:

4. tiltja külső megszakítások, IF: = 0;

7. lehetővé teszi a külső megszakítások, HA: = 1;

8. végrehajtása kezdődik az alap CPU ciklust.

Hardver megszakítások végzik ugyanazt az algoritmust ipodrazdelyayutsya a maszkolt és maszkolt.

Maszkolható megszakítást vypolnyayutsyapri engedélyt jelző (IF = 1).

NMI végre állapotától függetlenül a zászló KF jel NMI (Non Mascable Interrupt). Ő kezelés nem szakítható előtt IRET parancsot.

Kivételek (kivételes), és speciális esetekben vannak osztva hibák, csapdák és befejezését riasztásokat. Az eltérés csupán a tárolt értékei CS: (E) IP.

Megtagadása (hiba) - ez egy kivétel, amely megtalálható és karbantartani, hogy végre egy utasítást, hogy okozza a hibát. Miután szolgáltatást a kivétel, a vezérlés visszakerül vissza ugyanazt az utasítást (beleértve bármilyen prefix), ami miatt a hiba.

Trap (csapda) - ez egy kivétel, amely érzékeli és karbantartott után az utasításokat elhívása. Szolgáltatás után ez a kivétel a vezérlés visszakerül a következő utasítást. Ebbe az osztályba tartozik a csapdákat és szoftver megszakítások.

Megszakítás (abort) - ez egy kivétel, hogy nem lehet pontosan beállítani utasítás hívták. Ezt alkalmazzák a súlyos hiba, mint például egy hardver hiba vagy sérülés a rendszer táblák.




Kapcsolódó cikkek