Заметим, что в процессорах шестого поколения семейства Х86, т.е. начиная с процессора Pentium Pro, шина адреса используется 36 разрядная и, следовательно, адресное пространство у них составляет 64 Гбайт. Поэтому в процессорах шестого поколения, при организации страничной переадресации, имеется четыре каталога страниц, и старшие 4 бита линейного адреса используются для выбора одного из них.
Формат элементов каталога и таблицы страниц.
Элементы каталога страниц – PDE и элементы таблиц страниц – PTE имеют одинаковый формат, представленный на рисунке III.21. Отличие между ними заключается только в способах интерпретации битов 6 и 7 элемента.
31 12 11 9 8 7 6 5 4 3 2 1 0
Базовый адрес таблицы страниц |
Биты системного программиста |
G |
P S |
0 |
A |
P C D |
PWT |
U/ S |
R/W |
P |
31 12 11 9 8 7 6 5 4 3 2 1 0
Базовый адрес страницы |
Биты системного программиста |
G |
0 |
D |
A |
P C D |
PWT |
U/ S |
R/W |
P |
Рис. III.21. Формат элементов каталога и таблиц страниц
Адрес страничного кадра. В элементе PDE адрес страничного кадра представляет старшие 20 разрядов адреса таблицы страниц (младшие 12 разрядов равны 0). В элементе PTE адрес страничного кадра представляет старшие 20 разрядов начального адреса страницы, содержащей данные или команды, которые впоследствии конкатенируются с 12 младшими разрядами линейного адреса.
Биты системного программиста. Процессор их не использует. Разработчики ОС могут привлекать эти биты для хранения информации о «старении» таблиц страниц, т.е. о том, как часто они используются.
P (Present) – бит присутствия. Этот бит показывает, присутствует ли данная страница в физической памяти (P=1) или нет (P=0). Если P=0 остальная часть элемента таблицы страниц доступна для ОС, например для хранения информации о местонахождении отсутствующей страницы. Если бит P сброшен в нуль, в каком либо элементе (PDE или PTE), то при попытке использовать этот элемент возникает особый случай (исключение) страничного нарушения. При этом реализуется такая последовательность событий.
· ОС копирует страницу с магнитного диска в физическую память.
· ОС загружает адрес страничного кадра в элемент таблицы страниц и устанавливает бит P. Могут быть также установлены и другие биты, например, бит R/W.
· Так как в буфере TLB может оставаться копия старого элемента таблицы страниц, она очищает его.
· Осуществляется рестарт команды, вызвавшей этот особый случай.
Эти действия могут дополняться операцией выбора одного из страничных кадров и пересылку его на магнитный диск (винчестер). Биты обращения A (Accessed) и «грязный» бит D (Dirty) – содержат информацию об использовании страницы. Бит A сообщает об обращении, для считывания или записи, к странице или таблице страниц, а бит D сообщает об обращении к таблице для записи.
Периодически проверяя и сбрасывая биты A во всех элементах таблиц страниц, операционная система может следить за наиболее часто используемыми страницами памяти.
Бит D операционная система привлекает при возвращении страницы на магнитный диск. Состояние D=0 показывает, что содержимое страничного кадра не изменялось и, при выборе его для передачи на диск, в процессе свопинга физическую передачу производить не нужно. Когда же бит D=1, при выборе страничного кадра на удаление из физической памяти его содержимое необходимо записывать на диск.
Биты:R/W (Read/Write - бит считывания/записи, и U/S (User/Supervisor - пользователь/супервизор), используются в механизме защиты на страничном уровне. При этом контроль достоверности обращения осуществляется одновременно с преобразованием адреса. Если запрос страницы осуществляется программой пользователя (уровень привилегий PL=3), то при значении бита U/S = 0, этот запрос выполнен не будет, а процессор уйдет на прерывание. Если U/S = 1, то при значении R/W = 0 разрешено только чтение каталога или страницы, а при R/W = 1 возможны и чтение и запись.
Биты управления кэшированием PCD (Page Cache Disable – запрещение кэширования страницы) и PWT (Page Write Through – бит сквозной записи) применяются для управления кэшированием отдельных страниц. Бит PWT определяет политику записи при кэшировании (при PWT = 0 реализуется метод обратной записи для сохранения целостности данных памяти, а при PWT = 1 –реализуется метод сквозной записи). Бит PCD запрещает кэширование памяти для обслуживаемых страниц или таблиц. Отметим, что эти биты впервые введены в процессорах i486 и затем используются во всех дальнейших моделях процессоров семейства Х86.
G – бит глобальности. Он программно устанавливается в состояние 1, чтобы отметить каталоги страниц или страницы, часто используемые при решении данной задачи. Базовые адреса этих каталогов или страниц, загруженные во внутреннюю буферную кэш-память TLB (Translation Look-aside Buffer – буфер ассоциативной трансляции), блока страничной переадресации, сохраняются при ее очистке.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.