Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

Нажав на кнопку "Отправить", Я даю своё согласие на автоматизированную обработку указанной информации, распространяющейся на осуществление всех действий с ней, включая сбор, передачу по сетям связи общего назначения, накопление, хранение, обновление, изменение, использование, обезличивание, блокирование, уничтожение и обработку посредством внесения в электронную базу данных, систематизации, включения в списки и отчетные формы.


Принципы страничной организации памяти ПК.

Принципы страничной организации памяти ПК.

 

Страничная организация памяти реализуется микропроцессором (Intel) только в защищенном режиме, если в регистре управления CR3 процессора бит 31 имеет значение PG=1. При этом сегмент разбивается на отдельные разделы, число которых может достигать 210=1024. Раздел может содержать до 210=1024 страниц объемом по 4 Кбайт каждая. Границы страниц жестко фиксированы, их начальные адреса имеют значения от 00000000h до FFFFF000h (в шестнадцатеричной системе счисления).

Начальные адреса страниц данного раздела хранятся в соответствующей таблице страниц, содержащейся в памяти. Обращение к этой таблице производится с помощью каталога, в котором содержатся адреса таблиц страниц для всех разделов. Таким образом, страницы, содержащие определенный сегмент программ или данных, могут быть рассеяны по разным частям памяти, а их размещение определяется содержанием каталога разделов и таблиц страниц. При этом границы страниц и сегментов могут не совпадать. Страничная организация обеспечивает более эффективное использование (заполнение) памяти по сравнению с сегментной, однако требует дополнительного времени и специальных аппаратных средств для преобразования адресов. Линейный 32-разрядный адрес при этом является исходной информацией для формирования физического адреса с помощью каталога разделов и таблиц страниц. Формирование физического адреса при страничной организации иллюстрируется рис. 1.

Линейный адрес при страничной организации рассматривается как совокупность трех полей (рис. 1). Поле TABLE (разряды А31-22 линейного адреса) указывает относительный адрес таблицы страниц, выбираемой в каталоге раздела. Поле PAGE (разряды А21-12 линейного адреса) задает относительный адрес требуемой страницы раздела. Поле BYTE (разряды A11-0 линейного адреса) содержит относительный адрес выбираемого на странице байта.

Каталог занимает одну страницу памяти, где для каждого из 1024 возможных разделов содержатся 32-разрядные указатели входа в таблицу страниц этого раздела. Каждая из таблиц страниц также занимает одну страницу, где для каждой из 1024 страниц раздела даются 32-разрядные указатели входа в нее. Содержимое регистра управления CR3 задает старшие 20 разрядов адреса (А31-12) ячейки памяти, содержащей указатель входа в таблицу страниц раздела. Разряды А11-А2 адреса этой ячейки составляют относительный адрес, содержащегося в поле TABLE линейного адреса. Выбираемый при этом из каталога указатель имеет следующий формат:

- старшие 20 разрядов указателя задают базовый адрес, определяющий начало таблицы страниц,

- поле PAGE определяет разряды А11-А2 адреса ячейки памяти, хранящей указатель входа в кадр выбираемой страницы (этот указатель имеет такой же формат, как и указатель входа в таблицу -рис. 2). Его старшие 20 разрядов служат базовым адресом, определяющим адрес начала страницы (первого байта). Добавление к базовому адресу поля BYTE, задающего значения 12 младших разрядов адреса, позволяет получить физический адрес выбираемого байта. Таким образом, при страничной организации памяти 32-разрядный (физический) адрес формируется как сумма базового адреса, задаваемого указателем входа в кадр страницы, и относительного адреса, содержащегося в поле BYTE линейного адреса.

QIP Shot - Image: 2018-04-26 14:33:20 

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

QIP Shot - Image: 2018-04-26 14:33:58
Рис. 2. Формат указателей входа в таблицу страниц (раздел) или в кадр страницы.
 

Назначение разрядов (0 – 8) указателей входа в таблицу страниц (раздел) или в кадр страницы: P-бит присутствия, R/W- бит разрешение чтения/записи, U/S- бит разрешение/запрещение обращения программы пользователя (уровень привилегий 3) к разделу или кадру страницы, PWT- бит метода сквозной/обратной записи, PCD- бит запрет кэширования страницы, A- бит признака обращения в данный раздел, D- бит признака записи в данную страницу). Для сокращения времени преобразования адресов используется специализированная внутренняя кэш-память с ассоциативной выборкой (буфер ассоциативной трансляции TLB), которая содержит 20-разрядные базовые адреса 32 страниц (доступны 32 страницы х 4 Кбайт = 128 Кбайт памяти). 


Лицензия