Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
26
1.Architekturaprocesorówrodzinyx86
1.2.Modelprocesorówrodzinyx86wtrybie
chronionym
Wtrybiechronionym(ang.protected)wszystkierejestryprocesora,przedstawionena
rys.1.1(trybrzeczywisty),pozostająniezmienione,znastępującymiróżnicami:
•
16-bitowyrejestr
IPjestuzupełnianydo32-bitowegorejestruEIP;
•
dodano2rejestrysegmentowe
FSiGS,służącedoadresowaniadanych;
•
16-bitowyrejestrflag
FRzostajezastąpiony32-bitowymrejestremEFLAGS;flagi
przedstawionenarys.1.2pozostająwrejestrzeEFLAGSbezzmian,natomiast
dodanonastępującebityflagowe:
−
2-bitowepole
IOPL(ang.Input/OutputPrivilegeLevel,bity12,13)określa
maksymalnypoziomaktualnegopriorytetu(liczbaod0do3),przyktórym
operacjewe/wysąwykonywanebezgeneracjiwyjątku;
−
flagazadaniazagnieżdżonego
NT(ang.NestedTask,bit14)określająca,czy
aktualnezadaniejestzagnieżdżonewwykonywaniuinnegozadania;
−
flagarestartu
RF(ang.RestartFlag,bit16)używanaprzezdebugery;
−
flagatrybuwirtualnego
VM(ang.VirtualMode,bit17)stosowanadoprzełączenia
procesorawtrybwirtualnychzadań8086.
Wtrybiechronionymprogrammatakżedostępdopięciurejestrówsterujących
CR0...CR4,zawierającychinformacjeostanieprocesorapodwarunkiem,żewykonywa-
nyprogrammazerowy(najwyższy)poziomuprzywilejowania.W32-bitowymrejestrze
CR0wykorzystano6następującychbitów:
•
PE
(ang.ProtectionEnable,bitnr0)–ustawienietegobitupowodujeprzełączenie
procesorawtrybchroniony,awyzerowanie–powrótdotryburzeczywistego;
•
MP
(ang.MathPresent,bitnr1)–bitustawianyprzezsystemoperacyjny,jeżeli
wsystemieistniejezmiennoprzecinkowajednostkaarytmetyczna;
•
EM
(ang.Emulate,bitnr2)–ustawienietejflagipowoduje,żeoperacjezmienno-
przecinkowebędąwykonywaneprogramowo;
•
TS
(ang.TaskSwitched,bitnr3)–bitustawianysamoczynnieprzezprocesorprzy
każdymprzełączeniazadania;bitmożebyćwyzerowanyzapomocąinstrukcji
CLTS,wykonywanejwyłącznienazerowympoziomieuprzywilejowania;
•
ET
(ang.ExtensionType,bitnr4)–wstarszychprocesorach(80286i80386)bitten
określałtypkoprocesoraarytmetycznego,wprocesorachPentiummawartość1;
•
PG
(ang.PaGingenable,bitnr31)–ustawienietegobitupowodujezałączenie
stronicowaniapamięci.
RejestrCR1zostałprzezfirmęIntelzarezerwowanydlakolejnychmodeliproce-
sorów,rejestryCR2iCR3sąstosowaneprzezukładstronicowaniapamięci,natomiast
rejestrCR4zawieragrupębitów,zapomocąktórychodbywasięwłączanierozszerzo-
nychfunkcjiprocesora(np.określonychrodzajówstronicowaniaczytrybuwirtualne-
go8086).