Every people has right on left Каждый человек имеет право на лево CopyLeft (L) Юрий А. Денисов Назад... К оглавлению раздела Далее...
1. Блочная трансляция. Блочная трансляция обеспечивает обращение к блокам памяти заданного объема -- от 128 байт до 256 Мбайт. В микропроцессоре MPC604 возможна организация четырех блоков для хранения команд и четырех блоков для хранения данных. Параметры каждого блока задаются дескриптором, который содержится в паре регистров IBATiU-IBATiL для команд и DBATiU-DBATiL для данных, где i=0...3 -- номер блока (см. рисунок E.15. a), c) ) Поле BSM в дескрипторе определяет объем блока памяти (см. таблицу E.3.II.)
Это поле также служит маской при сравнении разрядов LA4-14 логического адреса и соответствующих разрядов логического индекса данного блока BLPI. Поле PBN содержат старшие разряды получаемого при трансляции физического адреса. Процесс трансляции адреса при блочной организации памяти показан на рисунке G1.8. Рис. E.16. Трансляция адреса при блочной организации памяти. При блочной трансляции старшие разряды сформированного логического адреса LA0-14 команды или данных сравниваются со значением индекса BLPI в дескрипторах блоков (это регистры IBAT0U-IBAT3U для команд и DBAT0U-DBAT3U для данных). При этом BSM служит маской для разрядов LA4-LA14 и индекса BLPI: разряды, для которых биты BSM установлены в 1 (единицу), не участвуют в сравнении. Таким образом, сравниваются старшие разряды, определяющие базу (базовый адрес) блока заданного объема. Младшие же разряды LA15-31 устанавливают относительное положение байта (смещение). Смещение переходит в младшие разряды физического адреса PA15-31 без изменения. Если обнаруживается совпадение старших разрядов (немаскируемых!) логического адреса LA0-3 с соответствующими разрядами BLPI в одном из дескрипторов,то выбираемая команда или данные размещаются в i-ом блоке. В этом случае физический адрес блока задаются старшими немаскированными разрядами поля PBN в дескрипторе. Полученный в результате трансляции физический адрес PA0-31 содержит базовый адрес блока: PA0-(14-n), полученный из PBN, и смещение PA(15-n)-31=LA(15-n)-31, где n -- число единиц в маске BSM. В примере, данном на рисунке E.16. обеспечивается обращение к блоку объемом 2 Мбайт, у которого разряды физического адреса PA0-10 задается битами 0-10 поля PBN, а смещение физического адреса PA11-31 указывается разрядами LA11-31 логического адреса. Остальные биты в дескрипторе блоков. Другие биты в дескрипторах блоков имеет значение: Vs, Vu -- разрешают обращение к блоку в режиме супервизора (Vs=1) или в режиме пользователя (при Vu=1); W -- разрешает при W=1 режим сквозной записи соответствующего кэша, если его использование разрешено (I=0); I -- запрещает при I=1 использование кэша при обращении к блоку; M -- обеспечивает при M=1 соответствие данных, размещаемых в разных кэшах; G -- запрещает при G=1 чтение из данного блока (только для регистров DBATiL); PP -- определяет условия доступа к данному блоку, обеспечивая совместно с битами Vs, Vu защиту памяти (см. таблицу E.3.III).
("+" -- доступ разрешен, "-" -- доступ запрещен.). При нарушении правил обращения реализуется исключение с вектором Av=$00300 при выборка данных и Av=$00400 при выборке команд. Если немаскируемые старшие разряды LA0-3 команды или данных не совпадают с разрядами индекса BPLI в каком-либо из четырех дескрипторов, то выполняется сегментная трансляция адреса.
|
|
=== *** === *** === *** ===
Copyright (C) Юрий А. Денисов. 2000-2002 г.
В настоящее время проект закрыт (в версии 1.3.0 beta). Автор приносит извинения за прекрашение разработки.