2013 m. sausio 11 d., penktadienis

15.3. Selektoriai ir aprašai (deskriptoriai)



Virtualiame režime kaip ir realiame taip pat naudojami  segmentai ir postūmis. Tačiau čia segmento starto adresas paskaičiuojamas ne pridedant keturis nulius prie segmento registro turinio, bet gaunamas iš lentelių, kurias indeksuoja segmentų registrai.
Deskriptoriai - tai specialios esybės, atpažįstamos MMU apsaugotame režime. Automatiškai į deskriptorius kreipiamasi vykdant tarpsegmentines komandas JMP, CALL, INT ir pertraukčių aptarnavimo procedūras.
Uždavinių vykdymo tvarkai nustatyti naudojami selektorius (selector) ir aprašai (descriptor) uždavinių segmente procedūroms aprašyti. Operacinei sistemai skiriama 1 globalinė GDT (global descriptor table), o kiekvienam vartotojui  - po lokalinę LDT (local descriptor table) deskriptorinę lentelę.
Kiekvienas uždavinys gali turėti tam tikrą sistemos pločio (systemwide) loginio adreso erdvę, kuri patalpinama į globalinę aprašymų lentelę ir loginę adresų erdvę, kuri patalpinama į vietinę aprašymų lentelę.  Šiose lentelėse gali būti iki 8.192 aprašymų (desricptors) kiekvienoje. Kartu jos visos sudaro uždavinio loginio adreso erdvę

Priklausomai nuo informacijos deskriptoriuose, mikroprocesorius vykdo specialius veiksmus. Dirbant šiuo rėžimu, keičiasi segmentinių registrų funkcijos; jie tarnauja     selektoriais deskretorinėms lentelėms išrinkti.
Paprastai deskriptorinės lentelės saugomos pagrindinėje atmintinėje, tačiau pagrindinėje atmintinėje esančių segmentų deskriptoriai saugomi priešatmintinėje. Dėl to žymiai padidėja kreiptis į juos sparta,
Kiekviena deskriptorinė ląstelė patalpinama į tris laukus: segmento ilgį, kreipties teisę ir adreso bazę. 80286 procesoriaus deskriptorinės lentelės formatas pateiktas 15.1 pav., 0 80836 – 15.2 pav.


Segmento ilgis
Kreipties teisė
Adreso bazė
CS



DS



ES



SS



15                  01
48                             32
31                      24
23                                                                              0
15.1 pav. Deskriptorinės lentelės formatas 80286 procesoriuje

Segmentiniai registrai

fizinis bazinis adresas
segmento riba

selektorius
CS









-

selektorius
SS








-
-
-
selektorius
DS








-
-
-
selektorius
ES








-
-
-
selektorius
FS








-
-
-
selektorius
GS








-
-
-
15                       0

36                                                            0

15.2 pav. Deskriptorinės lentelės formatas 803286 procesoriuje

Selektorius tiek viename, tiek kitame procesoriuje tarnauja tik kaip konkretaus deskriptoriaus numeris(adresas).

Komentarų nėra:

Rašyti komentarą

Tinklaraščio archyvas

Etiketės