Оглавление [Скрыть]
Буфер предварительного просмотра перевода
-
Основы TLB
- TLB (Translation Lookaside Buffer) – это кэш, который хранит сопоставления между виртуальными и физическими адресами.
- TLB ускоряет доступ к памяти, уменьшая количество обращений к основной памяти.
-
Структура и функции TLB
- TLB состоит из таблиц страниц, которые содержат записи для различных страниц.
- Записи в TLB могут быть статическими или динамическими, и они могут быть связаны с определенными процессами или потоками.
- TLB может быть аппаратно или программно управляемым, и его производительность зависит от размера, времени срабатывания и штрафа за промах.
-
Обработка пропусков TLB
- При аппаратном управлении TLB процессор автоматически проверяет наличие записей в таблицах страниц.
- При программном управлении TLB ошибка TLB вызывает исключение TLB miss, и операционная система ищет соответствующую запись.
-
Типичный TLB
- Размер TLB обычно составляет 12 бит, а время срабатывания – от 0,5 до 1 такта.
- Частота промахов варьируется от 0,01 до 1%, а средняя эффективная частота циклов памяти зависит от времени попадания и частоты пропусков.
-
Переключение адресного пространства
- При переключении контекста между процессами некоторые записи TLB становятся недействительными.
- Процессоры используют различные стратегии для сохранения действительных записей TLB, например, использование идентификатора процесса или PCID.
-
Виртуализация и x86 TLB
- С появлением виртуализации для упрощения работы с x86 и повышения производительности виртуальных машин были введены теги для связывания записей TLB с адресными пространствами.
- Некоторые операционные системы, включая Linux, начали использовать теги для идентификации недавно использованных адресных пространств.
Полный текст статьи: