October 17 2017 05:07:12
Навигация
Авторизация
Логин

Пароль



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

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

1. Блочная трансляция обеспечивает обращение к блокам внешней памяти заданного объема - от 128 Кбайт до 256 Мбайт. Возможна организация четырех блоков для хранения команд и четырех-для хранения данных. Параметры каждого блока задаются дескриптором, который содержится в паре регистров IBATiU - IBATiL для команд, DBATiU - DBATiL для данных, где i = 0...3 - номер блока (рис. 2.72, а, б). Поле BSM в дескрипторе определяет объем блока памяти (табл. 2.78) и служит маской при сравнении разрядов LA4-14 логичес­кого адреса и соответствующих разрядов логического индекса данного блока BLPI. Поле PBN содержит старшие разряды получаемого при трансляции физического адреса.

Процесс трансляции иллюстрируется рис. 2.73. Если устройство IMMU или DMMU включено, то старшие разряды сформированного логического адреса LA0-14 команды или данных сравниваются со значениями индекса BLPI в дескрипторах блоков, хранящихся в регистрах IBAT0U - IBAT3U (для команд) или DBAT0U - DBAT3U (для данных). При этом BSM служит маской для разрядов 4-15 адреса LA и индекса BLPI: разряды, для которых биты BSM имеют значение «1», не участвуют в сравнении. Таким образом, сравниваются стар­шие разряды, определяющие базовый адрес блока заданного объема. Младшие разряды LA, указывающие относительное положение байта (смещение), транслируются в младшие разряды физического адреса РА без изменений.

img038

Если обнаруживается совпадение старших немаскированных разрядов LA с соответствующими разрядами BLPI в одном из дескрипторов, то выбираемая команда или данные размещаются в i-м блоке. В этом случае базовый физический адрес блока задается немаскированными старшими разрядами поля PBN в дескрипторе. Полученный в результате трансляции физический адрес РА0-31 содержит базовый адрес блока РА0-(14 - п), полученный из PBN, и смещение РА(15 - n)-31 = 1_А(15 - n)-31, где n - число «1» в маске BSM. В примере, данном на рис. 2.71, обеспечивается обращение к блоку объемом 2 Мбайт, для которого базовый физический адрес РА0-10 задается битами 0-10 поля PBN, а смещение РА11-31 указывается разрядами LA11-31 логического адреса.

Остальные биты в дескрипторах блоков обеспечивают защиту памяти и определяют работу кэша при обращении к блоку:

Vs, Vu - разрешают обращение к блоку в режиме супервизора (при Vs =1) или в режиме пользователя (при Vu = 1);

W-обеспечивает при W = 1 режим сквозной записи для соответствующего кэша, если его использование разрешено (бит I = 0);

I - запрещает при I = 1 использование кэша при обращении к блоку;

М - обеспечивает при М = 1 соответствие данных, размещаемых в разных кэшах, путем реализации при обменах MESI-протокола;

G - запрещает при G=1 чтение из данного блока (устанавливается только в регистрах DBATiL);

РР -определяет условия доступа к данному блоку (табл. 2.79), обеспечивая совместно с битами Vs, Vu защиту блока памяти.

При нарушениях правил обращения реализуется исключение с адресом вектора Av=$00300 при выборке данных или Av = $00400 при выборке команд (см. табл. 2.64).

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

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

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

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