Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 135

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 129 130 131 132 133 134 < 135 > 136 137 138 139 140 141 .. 528 >> Следующая

регистрах DBATiL);
РР - определяет условия доступа к данному блоку (табл. 2.79), обеспечивая
совместно с битами Vs, Vu защиту блока памяти.
При нарушениях правил обращения реализуется исключение с адресом вектора
Av = $00300 при выборке данных или Av = $00400 при выборке команд (см.
табл. 2.64).
Если немаскированные старшие разряды логического адреса команды или
данных не совпадают с разрядами индекса 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 + - + -
risc-микропроцессоры и risc-микроконтроллеры семейств powerpc и coldfire
При страничной адресации памяти биты дескриптора сегмента (рис. 2.72, в)
имеют следующее назначение:
Т = 0 - определяет вид трансляции;
N - запрещает при N = 1 выборку команд из данного сегмента;
поле VSID - содержит 24-разрядный виртуальный индекс сегмента.
Процесс страничной адресации иллюстрируется на рис. 2.74. Устройство
управления памятью IMMU или DMMU формирует при этом 52-разрядный
виртуальный адрес VA0-51, составленный из виртуального адреса сегмента
VSID, индекса страницы (разряды LA4-19 логического адреса) и
относительного адреса байта на странице (разряды LA20-31 логического
адреса). Старшие разряды VA0-39 этого адреса, представляющие виртуальный
номер страницы VPN, поступают в блок страничной трансляции (БСТ),
определяющий физический номер страницы RPN, который служит разрядами РАО-
19 физического адреса. Младшие разряды физического адреса совпадают с
адресом байта на странице PA2Q-31 = = LA20-31. Для определения RPN
используются дескрипторы страниц PD, которые хранятся в специальной
таблице TPD, хранящейся в ОЗУ. Базовый адрес этой таблицы задается
содержимым регистра SDR1 (рис. 2.72, <Э): поле HTABORG содержит старшие
разряды адреса, в поле HTABMASK дается маска адреса.
Дескрипторы в таблице TPD объединены в группы по восемь 64-битовых
дескрипторов PD. Каждый дескриптор содержит: 30-битовый виртуальный
индекс страницы, который сравнивается со значением битов (VSID:API)
виртуального номера VPN; 20-битовый физический номер страницы RPN; биты
W, I, М, G, имеющие такое же назначение, как аналогичные биты в
дескрипторах блоков; биты РР, реализующие защиту страницы (см. табл.
2.79) совместно
SRi
0 3 4 9 10 19 20 31
SRi API Адрес байта
Индекс страницы |
Виртуальный
адрес VAP0 -51
VSID API I I Адрес байта
Виртуальный номер страницы VPN
TPD 4 -К TLB Блок страничной
(ОЗУ) \| I/ (128PD) трансляции (БСТ)
Базовый адрес TPD
SDRI и ^ 1" Номер страницы RPN Адрес байта
Физический адрес РАО-31 Рис. 2.74. Трансляция адреса при страничной
организации памяти
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
с битом N в дескрипторе сегмента; а также биты R, С, характеризующие
предыдущие обращения к этой странице ("историю" страницы). Бит R = 1,
если к данной странице производилось обращение, бит С = 1, если
выполнялась запись на эту страницу. Биты R, С используются операционной
системой для организации виртуальной памяти, которая требует оперативного
обмена содержимым страниц между ОЗУ и внешней памятью большого объема.
Дескрипторы страниц, к которым выполнялось обращение, хранятся в
специальной кэш-памяти TLB, входящей в состав IMMU и DMMU. Каждый TLB
содержит 128 дескрипторов PD, которые размещены в 64 наборах, имеющих по
две строки. Работа TLB организована по такому же принципу, как и работа
кэшей IC, DC. В каждую из строк TLB заносится один дескриптор страницы
PD, при этом для данной строки устанавливается бит достоверности V = 1.
Для пустых (незаполненных) строк значение бита V = 0. Освобождение
(аннулирование содержимого) строки выполняется с помощью команды tlbie,
останавливающей для выбранной строки TLB значение V = 0. В качестве тега
строки используются старшие разряды виртуального номера VPN, содержащиеся
в дескрипторе. При совпадении тега одной из строк выбранного в TLB набора
Предыдущая << 1 .. 129 130 131 132 133 134 < 135 > 136 137 138 139 140 141 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed