October 16 2017 23:00:22
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
Линейный адрес при страничной организации
ФОРМАТЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ И ВЫПОЛНЕНИЕ ОПЕРАЦИЙ

Линейный 32-разрядный адрес, получаемый в результате преобразования логического адреса, является исходной информацией для формирования физического адреса с помощью каталога разделов и таблиц страниц. Процедура формирования физического адреса при страничной организации зависит от размера используемых страниц и разрядности адреса, которые определяются значениями ряда битов, содержащихся в регистре управления CR4 и указателях разделов и страниц:

PSE в регистре CR4 (см. рис. 2.7) - разрешает при значении PSE = 1 использование страниц расширенного размера (4 или 2 Мбайт), при PSE = 0 используются только страницы стандартного размера (4 Кбайт);

РАЕ в регистре CR4 (см. рис. 2.7) - задает разрядность формируемого физического адреса: стандартная (32 разряда) при РАЕ = 0 или расширенная (36 разрядов) при РАЕ = 1;

PS в указателе раздела или страницы (см. рис. 2.45,2.47) - указывает размер используемых страниц аналогично биту PSE.

Совместное действие этих битов при установленном значении бита PG = 1 определяет разрядность формируемого физического адреса и размер используемых страниц (табл. 2.59).

Линейный адрес при страничной организации рассматривается как совокупность трех полей (рис. 2.44). Поле Directory (разряды А31-22 линейного адреса) указывает относительный адрес таблицы страниц, выбираемой в каталоге раздела. Поле Table (разряды А21-12 линейного адреса) задает относительный адрес требуемой страницы раздела. Поле Offset (разряды А11-0 линейного адреса) содержит относительный адрес выбираемого на странице байта.

Формирование 32-разрядного физического адреса выбираемого байта при использовании страничной адресации с размером страниц 4 Кбайт осуществляется путем последовательного обращения к каталогу разделов и таблице страниц (рис. 2.44, а). Каталог разделов занимает одну страницу памяти, где для каждого из 1024 возможных разделов содержатся 32-разрядные указатели входа в таблицу страниц этого раздела. Каждая из таблиц страниц также занимает одну страницу, где для каждой из 1024 страниц раздела даются 32-разрядные указатели входа в нее.

Выбор раздела определяется содержимым поля Directory линейного адреса, которое указывает относительный адрес А11-2 указателя таблицы страниц, хранящегося в каталоге разделов. Содержимое регистра управления CR3 задает базовый адрес (значение 20 старших разрядов А31-12) каталога разделов, ячейки памяти, содержащей указатель входа в таблицу страниц раздела. Этот указатель задает базовый адрес (разряды А31-12) таблицы страниц выбранного раздела. Поле Table линейного адреса содержит разряды А11-А2 адреса ячейки (относительный адрес в таблице страниц), в которой хранится указатель страницы. Указатель задает базовый адрес (разряды А31-12) страницы, на которой размещается выбираемый байт, относительный адрес которого (разряды А11-0) содержится в поле Offset линейного адреса. Таким образом, при страничной организации памяти 32-разрядный (физический) адрес формируется как сумма базового адреса, задаваемого указателем страницы, и относительного адреса, содержащегося в поле Offset.

Таблица 2.59

Размер страниц и разрядность физического адреса при страничной адресации памяти

PG РАЕ PSE PS Размер страницы Физический адрес
0 X X X - 32 разряда
1 0 0 X 4 Кбайт 32 разряда
1 0 1 0 4 Кбайт 32 разряда
1 0 1 1 4 Мбайт 32 разряда
1 1 X 0 4 Кбайт 36 разрядов
1 1 X 1 2 Мбайт 36 разрядов

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.04 секунд 2,254,105 уникальных посетителей