December 17 2017 17:39:02
Навигация
Авторизация
Логин

Пароль



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

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

Если немаскированные старшие разряды логического адреса команды или данных не совпадают с разрядами индекса BLPI в каком-либо из четырех дескрипторов, то выполняется сегментная трансляция адреса.

2. Сегментная трансляция обеспечивает обращение к сегментам памяти емкостью 256 Мбайт, которые разбиваются на страницы объемом по 4 Кбайт, размещаемые в ОЗУ, или представляют массивы данных, расположенные во внешних устройствах. Для обращения к сегментам используются 16 сегментных регистров SR0-SR15, которые содержат дескрипторы сегментов (см. рис. 2.72, в, г). Если при значении бита IT = 1 или DT = 1 в регистре MSR не реализуется блочная трансляция (старшие немаскированные разряды логического адреса не совпадают с полями BLPI в дескрипторах блоков), то производится сегментная трансляция. В этом случае разряды LA0-3 задают номер i регистра SRi, из которого выбирается дескриптор соответствующего сегмента. В зависимости от значения бита Т в выбранном дескрипторе реализуется страничная адресация памяти (при Т = 0) или адресация внешних устройств (при Т = 1).

Таблица   2.79 Правила доступа к блокам и страницам памяти

(«+» -доступ разрешен, «-» -доступ запрещен)

РР Режим пользователя (PR = 1) Режим супервизора (PR = 0)

Чтение Запись Чтение Запись
00
01
10
11
-
+
+
+
-
-
+
-
+
+
+
+
+
+
+
-

При страничной адресации памяти биты дескриптора сегмента (рис. 2.72, б) имеют следующее назначение:

Т = 0 - определяет вид трансляции;

N -запрещает при N = 1 выборку команд из данного сегмента;

поле VSID- содержит 24-разрядный виртуальный индекс сегмента.

Процесс страничной адресации иллюстрируется на рис. 2.74. Устройство управления памятью IMMU или DMMU формирует при этом 52-разрядный виртуальный адрес VA0-51, составленный из виртуального адреса сегмента VSID, индекса страницы (разряды LA4-19 логического адреса) и относительного адреса байта на странице (разряды LA20-31 логического адреса). Старшие разряды VA0-39 этого адреса, представляющие виртуальный номер страницы VPN, поступают в блок страничной трансляции (БСТ), определяющий физический номер страницы RPN, который служит разрядами РА0-19 физического адреса. Младшие разряды физического адреса совпадают с адресом байта на странице РА20-31 = = LA20-31. Для определения RPN используются дескрипторы страниц PD, которые хранятся в специальной таблице TPD, хранящейся в ОЗУ. Базовый адрес этой таблицы задается со­держимым регистра SDR1 (рис. 2.72, д): поле HTABORG содержит старшие разряды адреса, в поле HTABMASK дается маска адреса.

Дескрипторы в таблице TPD объединены в группы по восемь 64-битовых дескрипторов PD. Каждый дескриптор содержит: 30-битовый виртуальный индекс страницы, который сравнивается со значением битов (VSID:API) виртуального номера VPN; 20-битовый физический номер страницы RPN; биты W, I, M, G, имеющие такое же назначение, как аналогичные биты в дескрипторах блоков; биты РР, реализующие защиту страницы (см. табл. 2.79) совместно с битом N в дескрипторе сегмента; а также биты R, С, характеризующие предыдущие обращения к этой странице («историю» страницы). Бит R = 1, если к данной странице производилось обращение, бит С = 1, если выполнялась запись на эту страницу. Биты R, С используются операционной системой для организации виртуальной памяти, которая требует оперативного обмена содержимым страниц между ОЗУ и внешней памятью большого объема.

img039

Дескрипторы страниц, к которым выполнялось обращение, хранятся в специальной кэш-памяти TLB, входящей в состав IMMU и DMMU. Каждый TLB содержит 128 дескрипторов PD, которые размещены в 64 наборах, имеющих по две строки. Работа TLB организована по такому же принципу, как и работа кэшей 1С, DC. В каждую из строк TLB заносится один дескриптор страницы PD, при этом для данной строки устанавливается бит достоверности V = 1. Для пустых (незаполненных) строк значение бита V = 0. Освобождение (аннулирование содержимого) строки выполняется с помощью команды tlbie, останавливающей для выбранной строки TLB значение V = 0. В качестве тега строки используются старшие разряды виртуального номера VPN, содержащиеся в дескрипторе. При совпадении тега одной из строк выбранного в TLB набора и соответствующих разрядов сформированного номера VPN (кэш-попадание) из размещенного в строке дескриптора извлекается значение RPN, используемое в качестве разрядов РА0—19 физического адреса. Таким образом, при кэш-попадании в TLB для страничной трансляции адреса не требуется обращения к таблице TPD в ОЗУ.

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

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

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

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