December 12 2017 08:29:05
Навигация
Авторизация
Логин

Пароль



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

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

Дескрипторы страниц, к которым выполнялось обращение, хранятся в специальной кэш-памяти 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 в ОЗУ.

Если же дескриптора страницы, адресуемой VPN, не оказывается в TLB (кэш-промах), то БСТ производит обращение к TPD. При этом из ОЗУ выбирается сразу группа PD, а затем БСТ сравнивает значения полей (VSID:API) в каждом из 8 выбранных дескрипторов с соответствующими разрядами полученного виртуального номера VPN. В случае совпадения значение RPN, хранящееся в данном дескрипторе, служит разрядами РА0-19 формируемого физического адреса, а сам дескриптор заносится в TLB. Он занимает в соответствующем наборе TLB пустую строку, устанавливая для нее бит достоверности V = 1, а при отсутствии пустой строки заменяет в этом наборе дескриптор, который дольше не использовался. Если в выбранной группе PD дескриптор адресуемой страницы отсутствует, то из TPD выбирается еще одна группа дескрипторов. Если и в ней не оказывается требуемого дескриптора, то реализуется исключение с адресом вектора Av = $00300 при выборке данных или Av = $00400 при выборке команды (см. табл. 2.64). При организации виртуальной памяти подпрограмма обслуживания должна в этом случае обеспечить загрузку в ОЗУ необходимой страницы из внешней памяти, поместив в TPD соответствующий дескриптор.

При выполнении страничной трансляции учитываются значения битов N, W, I, M, G дескрипторов. При нарушении правил обращения к сегментам и страницам реализуется исключение «ошибка выбора данных» (Av = $00300) или «ошибка выбора команды» (Av = $00400).

При адресации внешних устройств (ВУ) с помощью сегментной трансляции (реализация протокола DS) биты дескриптора сегмента в регистре SRi имеют следующее назначение (рис. 2.72, г):

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

Ks, Kp - адресные ключи, которые выдаются на шину адреса при адресации внешних устройств для идентификации режима процессора;

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.

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

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

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

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