Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 96

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 90 91 92 93 94 95 < 96 > 97 98 99 100 101 102 .. 528 >> Следующая

размеры (от 1 байта до 4 Гбайт), размеры страниц строго фиксированы.
Если размер страниц составляет 4 Кбайт, то сегмент разбивается на
отдельные разделы, число которых может достигать 210 = 1024. Каждый
раздел может содержать до 210 = 1024 страниц по 4 Кбайт. Если размер
страниц составляет 4 Мбайт или 2 Мбайт, то сегмент разбивается только на
отдельные страницы, число которых может составлять 1024 или 2048.
Начальные (базовые) адреса страниц и разделов содержатся в специальных
таблицах (каталогах), которые хранятся в основной памяти. Кроме базовых
адресов в этих таблицах содержатся также атрибуты соответствующих
разделов и страниц, определяющие правила доступа к ним и указывающие
текущее состояние их содержимого. Совокупность этих параметров,
характеризующих страницы и разделы (каталоги), представляется в виде 32-
или 64-разрядных указателей страниц, разделов и каталогов (см. рис.
2.45,2.47).
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
Страницы, содержащие определенный сегмент программ или данных, могут быть
рассеяны по разным частям памяти, а их размещение определяется
содержанием каталога разделов и таблиц страниц. Таким образом
обеспечивается более эффективное использование (заполнение) памяти по
сравнению с сегментной. Однако при этом требуется дополнительное время и
специальные аппаратные средства для преобразования (трансляции) адресов.
Линейный 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.
Если в регистре управления CR4 установлено значение бита PSE = 1, то
обеспечивается работа со страницами расширенного размера 4 Мбайт. При
этом линейный адрес содержит два поля: Directory и Offset, и для
формирования 32-разрядного физического адреса используется только одна
таблица - каталог страниц (рис. 2.44, б). Процедура формирования адреса в
этом случае аналогична рассмотренной выше для страниц размером 4 Кбайт.
РАБОТА ПРОЦЕССОРА В ЗАЩИЩЕННОМ И РЕАЛЬНОМ РЕЖИМАХ
Предыдущая << 1 .. 90 91 92 93 94 95 < 96 > 97 98 99 100 101 102 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed