02-02-2024
Буфер ассоциативной трансляции (англ. Translation lookaside buffer, TLB) — это специализированный кэш центрального процессора, используемый для ускорения трансляции адреса виртуальной памяти в адрес физической памяти. TLB используется всеми современными процессорами с поддержкой страничной организации памяти. TLB содержит фиксированный набор записей (от 8 до 4096) и является ассоциативной памятью. Каждая запись содержит соответствие адреса страницы виртуальной памяти адресу физической памяти. Если адрес отсутствует в TLB, процессор обходит таблицы страниц и сохраняет полученный адрес в TLB, что занимает в 10-60 раз больше времени, чем получение адреса из записи, уже закешированной TLB. Вероятность промаха TLB невысока и составляет в среднем от 0,01 % до 1 %.
Содержание |
Если целевая задача при переключении контекста использует отличный от предыдущего контекст памяти (каталог страниц и таблицы страницы), происходит очистка TLB, таким образом при последующих обращениях в память, снижается производительность процессора (необходима подгрузка записей таблицы страниц в пустой TLB). Существует несколько стратегий борьбы с очисткой:
В современных процессорах может быть реализовано несколько уровней TLB с разной скоростью работы и размером. Самый верхний уровень TLB будет содержать небольшое количество записей, но будет работать с очень высокой скоростью, вплоть до нескольких тактов. Последующие уровни становятся медленнее, но, вместе с тем и больше.
Иногда верхний уровень TLB разделяется на 2 буфера, один для страниц, содержащих исполняемый код, и другой — для обрабатываемых данных.
Типичные характеристики для процессоров в 2009 году[1]:
Многие современные процессоры поддерживают 2 типа страниц, обычные и большие (Huge Page). Например, процессоры x86 обычно работают со страницами размера 4 кб, но допускают использование 4 МБ страниц при помощи PSE. Для процессоров x86_64 доступны большие страницы размером 2 МБ[2] (и 1 ГБ для некоторых моделей).
Записи трансляции для больших таблиц также хранятся в TLB, но на некоторых процессорах для них используется отдельный TLB в 4-8 записей.
Технологии цифровых процессоров | |||||||||
---|---|---|---|---|---|---|---|---|---|
Архитектура |
CISC · EDGE · EPIC · MISC · URISC · RISC · VLIW · ZISC · Фон Неймана · Гарвардская |
||||||||
Параллелизм |
|
||||||||
Реализации | DSP · GPU · SoC · PPU · Векторный процессор · Математический сопроцессор • Микропроцессор · Микроконтроллер | ||||||||
Компоненты | Barrel shifter · FPU · BSB · MMU · TLB · Регистровый файл · control unit · АЛУ • Демультиплексор · Мультиплексор · Микрокод · Тактовая частота • Корпус • Регистры • Кэш (Кэш процессора) | ||||||||
Управление питанием | APM · ACPI · Clock gating · Динамическое изменение частоты • Динамическое изменение напряжения |
Буфер ассоциативной трансляции страничного адреса, буфер ассоциативной трансляции адреса страницы.
Тонко, Федоров, Евгений Евгеньевич, Категория:Списки заслуженных артистов Российской Федерации.