Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Адресное пространство режима реального адреса



Физическая память организована в виде последовательности 8-разрядных ячеек - байтов. Каждому байту присвоен уникальный адрес. В реальном режиме реализована сегментная модель памяти. Сегментные регистры содержат информацию о базовом адресе сегмента. Процесс формирования физического адреса проще всего проследить на примере получения адреса команды. При определении физического адреса процессор сдвигает содержимое сегментного регистра CS на 4 двоичных разряда (умножает на 16) и складывает результат сдвига со смещением – содержимым регистра IP, логическим адресом команды внутри сегмента (рис.1.8). Поэтому адресное пространство реального режима вне зависимости от возможностей процессора имеет размер 1М байт.

 
 

Рис.1.8. Формирование физического адреса в реальном режиме

1.2.4. Адресное пространство защищенного режима [6]

Процессор может адресовать память от 0 до 232 – 1, или 4Г байт. Адресное пространство можно рассматривать как физическое, логическое и линейное.

Физические адреса – это реальные адреса, используемые для выбора микросхем физической памяти, содержащих данные. Логический адрес состоит из селектора сегмента и относительного адреса внутри сегмента. Линейный адрес-это адрес, сформированный добавлением относительного адреса к базовому адресу сегмента. С точки зрения программы в модели сегментированной памяти пространство логических адресов является наибольшим и может содержать до 246 байт, или 64Т байт. С помощью механизма трансляции адресов процессор отображает логическое пространство в физическое. Процессор преобразует логические адреса в физические в два этапа: сначала он выполняет трансляцию сегмента, преобразуя логический адрес, состоящий из селектора сегмента и относительного адреса, в линейный (Рис.1.9).

 
 

Рис.1.9. Формирование линейного адреса в защищенном режиме

Разбиение памяти на страницы - это способ управления памятью, удобный для многозадачных операционных систем. Разбиение на страницы возможно только в защищенном режиме. С помощью этого способа программе выделяется физическая память одинаковыми по размеру порциями. При сегментации код и данные представляются в виде сегментов переменной длины. Фактически разбиение на страницы - это способ более низкого уровня, чем сегментация. Это означает, что механизм разбиения на страницы транслирует защищенный линейный адрес, который поступает от блока сегментации в физический адрес. Механизм разбиения на страницы иллюстрируется рис.1.10.

Рис.1.10. Механизм разбиения памяти на страницы

Во второй фазе трансляции адреса процессор преобразует линейный адрес в физический адрес, определяя таблицу страниц, страницу внутри этой таблицы и относительный адрес внутри данной страницы. Этап трансляции страниц не является обязательным. Трансляция страниц возможна, только тогда, когда установлен бит PG регистра CRO. Этот бит обычно устанавливается операционной системой во время программной инициализации. Он должен быть установлен, если операционная система предполагает использовать множественные задачи виртуального МП 8086, странично-ориентированную виртуальную память или странично-ориентированную защиту.

Каталог страниц, являющийся таблицей первого уровня в страничном преобразовании, содержит 1024 32-битных дескриптора, именуемых элементами каталога страниц PDE (Page Directory Entry). Каждый из них адресует подчиненную таблицу страниц, всего допускается до 1024 таблиц страниц. Каждая из таблиц страниц содержит 1024 32-битных дескриптора, называемых элементами таблицы страниц PTE (Page Table Entry), каждый элемент РТЕ, в свою очередь, адресует страничный кадр в физической памяти. Наличие в каталоге страниц и таблице страниц по 1024 32-битных элемента определяет их размер точно в одну страницу.

Преобразование линейного адреса в физический состоит из следующих действий (рис.1.10):

— старшие 10 бит (31-22) линейного адреса, дополненные двумя младшими нулями, служат индексом каталога страниц, выбирая один из 1024 элементов; выбранный элемент PDE определяет 20-битный адрес таблицы страниц;

— средние 10 бит (21-12) линейного адреса, дополненные двумя младшими нулями, индексируют таблицу страниц, выбирая из нее элемент РТЕ, он содержит 20-битный базовый адрес страничного кадра в физической памяти;

— базовый адрес из элемента РТЕ объединяется (сцепляется) с младшими двенадцатью битами (11-0) линейного адреса, в результате чего получается 32-битный физический адрес памяти, по которому производится обращение.

Элементы PDE и PTE имеют одинаковый формат, представленный на рис. 1.11.

31 12 11 9 8 - 7 6 5 4 – 3 2 1 0

Адрес AVL   D A   U/S R/W P

Рис. 1.11. Формат дескриптора таблицы страниц

Поля дескриптора имеют следующие значения:

0 –P – Бит присутствия в памяти. Если бит установлен, страница находится в ОЗУ.

1 – R/W – бит чтения/записи. Если установлен, запись разрешена. Как и бит 2, используется для защиты на уровне страниц, которая реализуется процессором во время трансляции адреса.

2 – U/S – бит "пользователь/супервизор". Если сброшен, то страница принадлежит ОС, установлен – страница принадлежит пользователю.

3-4 – содержат нули.

5 – A – бит доступа. Устанавливается процессором перед выполнением операции чтения или записи в страницу.

6 – D – если сброшен, то содержимое страничного кадра не изменялось, и при передаче его на диск в процессе свопинга физически передачу производить не надо.

7-8 – содержат нули.

9-11 – AVL (Available for use) – доступны для использования ОС.

12-31 – адрес таблицы страниц или адрес кадра страницы.





Дата публикования: 2015-10-09; Прочитано: 714 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...