Если 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!