Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MProc / M9 / Системная архитектура часть 4..doc
Скачиваний:
42
Добавлен:
16.04.2013
Размер:
751.1 Кб
Скачать

4.1.4. Инструкции трансляции

В табл. 4.7 приводится список инструкций трансляции используемых для управления трансляциями. Регистры регионов, регистры ключей защиты и таблицы TLBдоступны косвенно – номер регистра определяется содержимым общего регистра.

Процессор не проверяет, что модификация ресурсов трансляции является наблюдаемой последующими выборками инструкций или обращениями к памяти данных. Программа должна запустить операцию сериализации инструкций перед выборкой зависимой инструкции и операцию сериализации данных перед обращением к памяти зависимых данных.

Табл. 4.7. Инструкции трансляции

Мнемоника

Описание

Операция

Тип инст.

Требуется сериал-ия

mov rr[r3]=r2

Записать в регистр региона

RR[GR[r3]] = GR[r2]

M

по данным

/ инструкц.

mov r1=rr[r3]

Прочитать из регистра региона

GR[r1] = RR[GR[r3]]

M

нет

mov pkr[r3]=r2

Записать в регистр ключа защиты

PKR[GR[r3]]= GR[r2]

M

по данным

/ инструкц.

mov r1=pkr[r3]

Прочитать из регистра ключа защиты

GR[r1]= PKR[GR[r3]]

M

нет

itc.i r3

Вставить в кэш трансляции инструкций

ITC = GR[r3], IFA, ITIR

M

по инстру­кциям

itc.d r3

Вставить в кэш трансляции данных

DTC = GR[r3], IFA, ITIR

M

по данным

itc.i itr[r2]=r3

Вставить в регистр трансляции инструкций

ITR[GR[r2]] = GR[r3], IFA, ITIR

M

по инстру­кциям

itc.d dtr[r2]=r3

Вставить в регистр трансляции данных

DTR[GR[r2]] =GR[r3], IFA, ITIR

M

по данным

probe r1=r3,r2

Проверит данные TLBдля трансляции

M

нет

ptc.l r3,r2

Сбросить трансляцию для кэша трансляций инструкций и данных локального процессора

M

по данным

/ инструкц.

ptc.g r3,r2

Глобальный сброс трансляции, для кэша трансляций инструкций и данных множества процессоров

M

по данным

/ инструкц.

ptc.ga r3,r2

Глобальный сброс трансляции, для кэша трансляций инструкций и данных множества процессоров, а также удаление соответствующих элементов таблиц ALATмножества процессоров

M

по данным

/ инструкц.

ptc.e r3

Сброс всех элементов локального кэша трансляций инструкций и данных

M

по данным

/ инструкц.

ptr.i r3,r2

Сброс регистров трансляции инструкций

M

по инстр.

ptr.d r3,r2

Сброс регистров трансляции данных

M

по данным

tak r1= r3

Получить ключ защиты элемента TLBданных

M

нет

thash r1= r3

Генерация хэш-адреса трансляции VHPT

M

нет

ttag r1= r3

Генерация тега трансляции для VHPT

M

нет

tpa r1= r3

Трансляция виртуального адреса в физический адрес

M

нет

4.1.5. Таблица виртуальных хэш страниц (vhpt)

Таблица VHPTявляется расширением иерархииTLB, разработанным для расширения эффективности трансляции виртуальной адресации. Процессорный обходчикVHPTможет произвольно конфигурироваться для поиска вVHPT, трансляции после неудачного поиска вTLBданных или инструкций. ОбходчикVHPTобеспечивает существенное расширение эффективности, путем сокращения доли смывания конвейеров процессора из-заTLB. Ошибки промаха и заполнения для обеспечения спекулятивных трансляций выполняются параллельно с другими операциями процессора.

Таблица VHPTрасположена в пространстве виртуальной памяти и доступна для конфигурации либо как таблица первичных страниц операционной системы, либо как большой единый кэш трансляции в памяти (см. рис.4.9). Поскольку, таблицаVHPTрасположена в пространстве виртуальной памяти, то при обращении кVHPT, может быть вызван дополнительный промахTLB. Это свойство позволяет использоватьVHPT, также в качестве линейной таблицы страниц.

виртуальный адрес

2PTA.size

VHPT

Дополнительно

регистры

регионов

Цепочки поиска конфликтов

TLB

TC

install

ID

vpn

Таблицы страниц операционной системы

региона

функция

хэширования

PTA

PTA.base

Рис. 4.9. Таблица виртуальных хэш страниц (VHPT)

Процессор не управляет VHPTи не выполняет никаких записей в таблицу. Программное обеспечение отвечает за вставку элементов вVHPT(включая алгоритмы замены), обновление битов мусора/доступа, аннулирование из-за чисток и когерентности в мультипроцессорных системах. Процессор не гарантирует, чтоTLBтаблицы являются когерентными с образами памятиVHPT.

Если программному обеспечению необходимо более явное управление вставкой элементов в TLBили программированиеVHPTс различными отображениями одного и того же диапазона виртуальных адресов, то может быть, необходимо сделать дополнительные действия, чтобы убедиться в продвижении вперед. См. раздел 4.1.5.2 «ПоискVHPT».