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

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

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

и соответствующих разрядов сформированного номера VPN (кэш-попадание) из
размещенного в строке дескриптора извлекается значение RPN, используемое
в качестве разрядов РАО-19 физического адреса. Таким образом, при кэш-
попадании в TLB для страничной трансляции адреса не требуется обращения к
таблице TPD в ОЗУ.
Дескрипторы страниц, к которым выполнялось обращение, хранятся в
специальной кэш-памяти TLB, входящей в состав IMMU и DMMU. Каждый TLB
содержит 128 дескрипторов PD, которые размещены в 64 наборах, имеющих по
две строки. Работа TLB организована по такому же принципу, как и работа
кэшей IC, DC. В каждую из строк TLB заносится один дескриптор страницы
PD, при этом для данной строки устанавливается бит достоверности V = 1.
Для пустых (незаполненных) строк значение бита V = 0. Освобождение
(аннулирование содержимого) строки выполняется с помощью команды tlbie,
останавливающей для выбранной строки TLB значение V = 0. В качестве тега
строки используются старшие разряды виртуального номера VPN, содержащиеся
в дескрипторе. При совпадении тега одной из строк выбранного в TLB набора
и соответствующих разрядов сформированного номера VPN (кэш-попадание) из
размещенного в строке дескриптора извлекается значение RPN, используемое
в качестве разрядов РАО-19 физического адреса. Таким образом, при кэш-
попадании bTLB для страничной трансляции адреса не требуется обращения к
таблице TPD в ОЗУ.
Если же дескриптора страницы, адресуемой VPN, не оказывается в TLB (кэш-
промах), то БСТ производит обращение к TPD. При этом из ОЗУ выбирается
сразу группа PD, а затем БСТ сравнивает значения полей (VSID:API) в
каждом из 8 выбранных дескрипторов с соответствующими разрядами
полученного виртуального номера VPN. В случае совпадения значение RPN,
хранящееся в данном дескрипторе, служит разрядами РАО-19 формируемого
физического адреса, а сам дескриптор заносится в TLB. Он занимает в
соответствующем наборе TLB пустую строку, устанавливая для нее бит
достоверности V = 1, а при отсутствии пустой строки заменяет в этом
наборе дескриптор, который дольше не использовался. Если в выбранной
группе PD дескриптор адресуемой страницы отсутствует, то из TPD
выбирается еще одна группа дескрипторов. Если и в ней не оказывается
требуемого дескриптора, то реализуется исключение с адресом вектора Av =
$00300 при выборке данных или Av = $00400 при выборке команды (см. табл.
2.64). При организации виртуальной памяти подпрограмма обслуживания
должна в этом случае обеспечить загрузку в ОЗУ необходимой страницы из
внешней памяти, поместив в TPD соответствующий дескриптор.
При выполнении страничной трансляции учитываются значения битов N, W, I,
М, G дескрипторов. При нарушении правил обращения к сегментам и страницам
реализуется исключение "ошибка выбора данных" (Av = $00300) или "ошибка
выбора команды" (Av= $00400).
RISC-МИКРОПРОЦЕССОРЫ И RISC-МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВ POWERPC И COLDFIRE
При адресации внешних устройств (ВУ) с помощью сегментной трансляции
(реализация протокола DS) биты дескриптора сегмента в регистре SRi имеют
следующее назначение (рис. 2.72, г):
Т = 1 - определяет вид трансляции;
Ks, Кр - адресные ключи, которые выдаются на шину адреса при адресации
внешних устройств для идентификации режима процессора;
BUID - 9-битовый код идентификации внешнего устройства, к которому
производится обращение.
Этот вид трансляции адреса реализуется только при передаче данных с
помощью команд загрузки-сохранения содержимого регистров GPR (см. табл.
2.68) или FPR (см. табл. 2.76).
Если при сегментной трансляции адреса данных из регистра SRi выбирается
дескриптор, имеющий значение бита Т = 1, то реализуется специальный
протокол DS (direct-store) прямого обмена данными с ВУ. В этом случае
процессор выполняет сдвоенные циклы обмена, каждый из которых занимает
три такта. В первой части цикла на шину адреса выдается адресный пакет
РО, во второй части цикла - пакет Р1. Каждый пакет сопровождается выдачей
на внешние выводы микропроцессора 8-разрядного кода ХАТС, определяющего
тип и параметры выполняемого цикла. Код ХАТС поступает на выходы, которые
при обычных циклах обмена указывают тип выполняемого цикла и разрядность
данных.
Адресный пакет РО (рис. 2.75, а), выдаваемый DMMU в начале каждого цикла
обмена, содержит ключевой бит Ks или Кр, код BUID, идентифицирующий
адресуемое ВУ, и служебную информацию, которая может быть записана в
разрядах 12-27 используемого сегментного регистра SRi. Таким образом,
биты РА2-27 формируемого физического адреса соответствуют битам
выбранного регистра SRi (рис. 2.72, г), причем значение РА2 = Ks, если
микропроцессор работает в режиме супервизора, или РА2 = Кр, если в режиме
пользователя. В разрядах РА28-31 указывается код идентификации (номер)
процессора, выбираемый из регистра PIR (рис. 2.68). Пакет РО определяет
источник и приемник данных -процессор с номером PID и ВУ с номером BUID.
Во второй половине цикла DMMU выдает адресный пакет Р1 (рис. 2.75, б),
Предыдущая << 1 .. 130 131 132 133 134 135 < 136 > 137 138 139 140 141 142 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed