- •4. Адресация и защита
- •4.1. Виртуальная адресация
- •4.1.1. Буфер трансляции адресов (tlb)
- •4.1.1.1. Регистры трансляции (tr)
- •4.1.1.2. Кэш трансляции (tc)
- •4.1.1.3. Объединенные буфера трансляции адресов
- •4.1.1.4. Сбрасывающее поведение вставок и сбросов tlb
- •4.1.1.5. Формат вставки трансляции
- •4.1.1.6. Права доступа к странице
- •4.1.1.7. Размеры страниц
- •4.1.2. Регистры регионов (rr)
- •4.1.3. Ключи защиты
- •4.1.4. Инструкции трансляции
- •4.1.5. Таблица виртуальных хэш страниц (vhpt)
- •4.1.5.1. Конфигурация vhpt
- •4.1.5.2. Поиск vhpt
- •4.1.5.3. Короткий формат базирования региона vhpt
- •4.1.5.4. Длинный формат vhpt
- •4.1.6. Хэширование vhpt
- •4.1.6.1 Индекс короткого формата vhpt базирования региона
- •4.1.6.2. Длинно форматный vhpt хэш
- •4.1.7. Среда vhpt
- •4.1.8. Поиск трансляции
- •4.1.10. Виртуальное совмещение (aliasing)
- •4.2. Физическая адресация
- •4.3. Не реализованные адресные биты
- •4.3.1. Не реализованные физические адресные биты
- •4.3.2. Не реализованные виртуальные адресные биты
- •4.3.3 Поведение инструкций с не реализованными адресами
- •4.4. Атрибуты памяти
- •4.4.1. Атрибуты памяти виртуальной адресации
- •4.4.2. Атрибуты памяти физической адресации
- •4.4.3. Атрибуты кэшируемости и когерентности
- •4.4.4. Атрибут политики записи кэша.
- •4.4.5. Атрибут объединения
- •4.4.6. Атрибуты спекулятивности
- •4.4.7. Атрибуты последовательности и упорядочивание
- •4.4.8. Атрибут «не вещь» (NaTPage)
- •4.4.9. Эффекты атрибутов памяти в инструкциях обращения к памяти
- •4.4.10. Эффекты атрибутов памяти в предварительных и проверяемых загрузках
- •4.4.11. Передача атрибутов памяти
- •4.4.11.1. Передача атрибутов памяти виртуальной адресации
- •4.4.11.2. Передача атрибутов физической адресации – отключение предвыборок/спекуляций и удаление кэшируемости
- •4.5. Выравнивание элементов памяти и атомистичность
4.1.1. Буфер трансляции адресов (tlb)
Термин «Буфер трансляции адресов» является смысловым переводом термина «Translation Lookaside Buffers», буквальным переводом которого является «Буфер преломления взгляда трансляции». Поскольку, по смыслу TLB это таблица, то здесь и во всем документе, мы будем использовать понятие «Таблица TLB».
Как показано на рис. 4.3, процессор содержит две таблицы TLB: TLB инструкций (ITLB) и TLB данных (DTLB). Каждая TLB обслуживает соответствующие запросы трансляции при обращениях к памяти инструкций и данных (включая IA-32). Кроме того, TLB данных обслуживает запросы трансляции для RSE и VHPT обходчика. Далее, таблицы TLB делятся на две подсекции: регистры трансляции (TR – Translation Register) и кэш трансляции (TC –Translation Cache).
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Рис. 4.3. Организация TLB
В оставшейся части этого документа, термин TLB относится к объединению структур кэша трансляции и регистров трансляции для инструкций и данных.
Таблица TLB является локальным ресурсом процессора, инсталляция трансляции или сброс локального процессора не затрагивает TLB других процессоров. Глобальный сброс TLB обеспечивает сброс трансляций для всех процессоров микропроцессорной системы, внутри когерентных доменов.
