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/wywykonywanebezgeneracjiwyją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,awyzerowaniepowró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,rejestryCR2iCR3stosowaneprzezukładstronicowaniapamięci,natomiast
rejestrCR4zawieragrupębitów,zapomocąktórychodbywasięwłączanierozszerzo-
nychfunkcjiprocesora(np.określonychrodzajówstronicowaniaczytrybuwirtualne-
go8086).