Если 3 бит селектора команды равен 0, то индекс селектора относится к таблице LDT.
В этом случае процедура отображения виртуального адреса в физический имеет отличия:
2.1. По содержимому регистра LDTR находится дескриптор таблицы LDT в таблице GDT.
2.2. В дескрипторе находится базовый адрес таблицы LDT в ОЗУ.
2.3. По содержимому индекса команды в таблице LDT находится дескриптор сегмента (физический адрес).
Далее выполняются операции, как и для случая с GDT.
Сравнение уровней привилегий селектора команды RPL и дескриптора DPL обеспечивает защиту сегментов в ОЗУ
Одним из существенных достоинств и отличий сегментной организации памяти от страничной является возможность задания дифференцированных прав доступа процесса к его сегментам.
Например, один сегмент данных, содержащий исходную информацию для приложения, может иметь права доступа «только чтение», а сегмент данных, представляющий результаты, - «чтение и запись».
Это свойство означает принципиальное преимущество сегментной модели памяти над страничной
Контроль размеров сегментов в виртуальной сегментной памяти (т.е. в защищенном режиме) является важным фактором надежности защиты сегментов от взаимного влияния.
Недостатки сегментной адресации:
Недостатком сегментного распределения является избыточность.
При сегментной организации единицей перемещения между памятью и диском является сегмент, имеющий в общем случае объем больший, чем страница.
Однако во многих случаях для работы программы вовсе не требуется загружать весь сегмент целиком, достаточно было бы одной или двух страниц.
|
|
Аналогично, при отсутствии свободного места в памяти не стоит выгружать целый сегмент, когда можно обойтись выгрузкой нескольких страниц.
Однако главный недостаток сегментного распределения - это фрагментация, которая возникает из-за непредсказуемости размеров сегментов.
Регистры процессоров, участвующие в управлении виртуальной
Памятью и системными процессами
Регистры системных адресов
К регистрам системных адресов относятся GDTR, LDTR, IDTR, TR.
Доступ к ним возможен на уровне привилегий ядра ОС (высшего 0 уровня ).
Имеются команды загрузки этих регистров: LLDT, LGDT, LIDT, LTR (типа LDS, LES ).
Регистр GDTR 48 – разрядный.
32 разряда (16 – 47 ) отведены под базовый адрес сегмента, в котором размещена таблица дескрипторов сегментов GDT и 16 ( 0-15 ) под указатель размера сегмента в байтах (! что мало).
Регистр LDTR содержит 16 разрядный селектор базового адреса таблицы дескрипторов сегментов LDT в таблице GDT.
Регистр IDTR по структуре аналогичен регистру GDTR.
Содержит базовый адрес таблицы векторов прерываний.
Регистр TR – task register содержит 16 разрядный селектор базового адреса текущего сегмента TSS (task system state).
|
|
Системные регистры CR0-CR4
32 р. регистры CRO-CR4 относятся к управляющим.
Их биты управляют режимами работы процессора.
Системным программистам они доступны с помощью специальных команд, через которые производится загрузка в РОНЫ.
Регистр CR0.
Содержит биты, управляющие режимами микропроцессора (реальный, защищенный ), включением страничной адресации, режимами работы КЭШ и сопроцессора, и относящие к системе в целом.
Первые 16 бит называются словом состояния машины (MSW – machine state word).
PE – protect enable - бит переключения в защищенный режим.
MP – math present – разрешение работы с сопроцессором.
EM – emulation math - эмуляция сопроцессора.
TS - task switched - переключение задач.
Устанавливается в 1 при каждом переключении задач.
Очищается специальной командой CLTS.
ET - extension - поддержка команд FPU.
В новых процессорах всегда 1.
NE - numeric error – разрешение сообщений error FPU.
WP - write protect запрет записи в страницу пользователя из ОС при WP =1 (read only).
AM - alignment mask – разрешение контроля выравнивания ( по битам – чет /нечет ).
При обращениях к памяти двойное слово должно начинаться с адреса, кратного 4, а 2 байтное – кратное 2.
|
|
NW – not write through – запрет сквозной записи КЭШ.
CD – cache disable - запрет КЭШ.
PG - page enable – включение страничной поддержки.
Используется в защищенном режиме.
Указывает на то, что для трансляции линейных адресов в физические используется таблица страниц.
При МР = 0, ЕМ = 0, TS = 0 обеспечивается полная совместимость с 8086 и 8088.
2. Регистр CR1.Резервный.
Регистр CR2.
Используется для слежения за корректным обращением к страницам и выдачей сообщений (нет в ОЗУ, нарушение прав доступа, отказы стр и др. ), если используется страничная адресация(если в регистре CR0 активен бит PG = 1).
В нем сохраняется линейный адрес, который вызвал исключение.
Код ошибки в стеке обработчика нарушения.
Регистр CR3.
Это регистр каталога страниц.
Он еще называется PDBR (page directory base registr).
Содержит базовый адрес каталога страниц РDE для текущей задачи.
В старших 10 битах – базовый адрес каталога страниц.
Всегда выравнивается на размер страниц 4Кб.
Регистр CR3 активен только, если в регистре CR0 активен бит PG = 1.
Биты 3 и 4 управляют кэшированием страниц.
PCD – page cache disable – запрет КЭШ страниц.
PWT – page writes through – кэширование страниц со сквозной записью.
Регистр CR4.
Биты этого регистра управляют некоторыми архитектурными элементами компьюте- ра:
|
|
* переключение флагов в режим виртуального V86;
* изменение размера страниц;
* расширение адресного пространства процессора;
и др.
Биты:
VME - VIRTUAL 8086 mode extension – разрешение использования флагов в режиме виртуального V86.
Позволяет обрабатывать прерывания не переключаясь в защищенный режим.
Поддерживает бит виртуального флага прерывания VIF.
PVI - protected mode virtual interrupt- разрешение использования виртуального флага прерывания в защищенном режиме.
TSD - time stamp disable – превращение команды чтения счетчика меток реального времени ( RDTSC ) в привилегированную.
DE - debugging extension – разрешение отладки ( точек останова ).
PSE – page size extension - расширение размера страниц .
PAE – physical address extension - расширение физического адреса.
MCE - machine check enable -разрешение машинного контроля .
PGE - paging global extension - разрешение глобальности в страницах переадресации (PDE/PTE).
Часто используемые страницы отмечаются как глобальные и не выгружаются при переключении задач.
PCE - performance monitoring counter enable – разрешение обращения к счетчикам событий на любом уровне привилегий.
Какими возможностями обладает процессор можно узнать командой CPUID.
Общие регистры CPU и FPU
1.РОН
EAX, EBX, ECX, EDX, EDI, ESI, EBР, ESP.
2. EIP(instruction pointer).
3. CS, DS, SS, ES, FS, GS.
Дата добавления: 2018-08-06; просмотров: 270; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!