|
Захищений режим роботи віртуальних адрес
Віртуальна пам’ять – це сторінкова, сегментація або мішана організація.
При сторінковій організації лінійна адреса сприймається як така, що складається з трьох частин, як показано на малюнку нижче.
Адреса таблиць сторінок | Адреса елементу в таблиці | Внутрішньо-сторінкова адреса |
Розрядність слів, що обробляються (16 або 32 розряди) та адрес визначаються режимом роботи МП. Якщо програми виконуються у реальному режимі або режимі V86, то за замовченням використовуються 16-розрядні адреси та операнди.
Біт D розрядності за замовченням | ||||||||
Префікс розрядності операнду 66h | - | - | + | + | - | - | + | + |
Префікс розрядності адреси 67h | - | + | - | + | - | + | - | + |
Розрядність операнду | ||||||||
Розрядність адреси | ||||||||
+ наявність префіксу - відсутність префіксу |
При роботі у захищеному режимі біт D дескриптору визначає розрядність операндів та адрес, що приймається за замовченням. Якщо перед командою стоять команди-префікси, то при виконанні програми розрядність адрес та операндів змінюється. В результаті остаточно розрядність операндів - слів та адрес визначається у відповідності з таблицею, що подана вище.
Загальний формат команд, що найбільш часто зустрічаються має вигляд.
КОП | MOD R/M | SIB | Зміщення_1 | Зміщення_2 |
1 або 2 байти | 0 або 1 байт | 0 або 1 байт | 0,1,2 або 4 байти | 0,1,2 або 4 байти |
SS | INDEX | BASE |
Максимальний розмір фізичної пам’яті 2^32= 4ГБ. Віртуальної 2^46 = 64 ТБ.
AD=(INDEX)*(SS)+(BASE)
Байт 3 Байт 2 Байт 1 Байт 0
Базова адреса (розряди 15 - 0) | Розмір сегменту (розряди 15 – 0) | ||||||
Базова адреса (розряди 31-24) | G | D | X | Розмір (19 - 16) | Байт доступу | Базова адреса (розряди 23 - 16) | |
Байт 7 Байт 6 Байт 5 Байт 4
Загальний формат дескриптора
Байт 5 дескриптору визначає права доступу то сегменту, що обирається. В залежності від вмісту сегменту байт доступу має різні формати, хоча призначення окремих ділянок цього байту залишається однаковими.
P | DPL | S=0 | тип |
а)
P | DPL | S=1 | E=0 | C | R | A |
б)
P | DPL | S=1 | E=1 | ED | W | A |
тип | призначення | Тип | призначення |
Зарезервований тип | Зарезервований тип | ||
16 –розрядний TSS вільний (80286) | 32 –розрядний TSS вільний (від 80386) | ||
Дескриптор таблиці LDT | A | Зарезервований тип | |
16 –розрядний TSS зайнятий (80286) | B | 32 –розрядний TSS зайнятий (від 80386) | |
16 –розрядний шлюз виклику (286) | C | 32 –розрядний шлюз виклику (від 80386) | |
16 –розрядний шлюз задачі (80286 - 80586) | D | Зарезервований тип | |
16 –розрядний шлюз переривання (80286) | E | 32 –розрядний шлюз переривання (від 80386) | |
16 –розрядний шлюз пастки (80286) | F | 32 –розрядний шлюз пастки (від 80386) |
ОРГАНІЗАЦІЯ ПАМ’ЯТІ У MS DOS
Вектори переривань |
Ділянка даних BIOS |
Ділянка даних DOS |
Операційна система |
Резидентні драйвери BIOS |
COMMAND.COM (резидентна частина) |
Вільна пам’ять для програм користувача (570 кб) |
Відеопам’ять |
Вільні адреси |
Текстова відеопам’ять |
Розширений ПЗП |
Вільні адреси |
Вільні адреси |
ПЗП BIOS |
НМА |
XMS |
0 – ділення на нуль
1 – покрокове виконання
2 - НМІ
3 – покрокове виконання
4 - переповнення
5 – PrnScr
Дата добавления: 2015-11-04; просмотров: 19 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
Підвечірок 15.50 – 16.00 | | | Структуры немецкого предложения |