Буфер ассоциативной трансляции

Буфер ассоциативной трансляции

Буфер ассоциативной трансляции (англ. Translation lookaside buffer, TLB) — это специализированный кэш центрального процессора, используемый для ускорения трансляции адреса виртуальной памяти в адрес физической памяти. TLB используется всеми современными процессорами с поддержкой страничной организации памяти. TLB содержит фиксированный набор записей (от 8 до 4096) и является ассоциативной памятью. Каждая запись содержит соответствие адреса страницы виртуальной памяти адресу физической памяти. Если адрес отсутствует в TLB, процессор обходит таблицы страниц и сохраняет полученный адрес в TLB, что занимает в 10-60 раз больше времени, чем получение адреса из записи, уже закешированной TLB. Вероятность промаха TLB невысока и составляет в среднем от 0,01 % до 1 %.

Содержание

Переключение задач

Если целевая задача при переключении контекста использует отличный от предыдущего контекст памяти (каталог страниц и таблицы страницы), происходит очистка TLB, таким образом при последующих обращениях в память, снижается производительность процессора (необходима подгрузка записей таблицы страниц в пустой TLB). Существует несколько стратегий борьбы с очисткой:

  • сохранение TLB в оперативной памяти;
  • спецификация принадлежности записи TLB к определенному адресному пространству.

Многоуровневые TLB

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

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

Характеристики

Типичные характеристики для процессоров в 2009 году[1]:

  • Размер: 8 — 4,096 записей
  • Время запроса данных, хранящихся в TLB (Hit time): 0.5 — 1 такт
  • Время при "промахе" (Miss penalty): 10 — 100 тактов
  • Интенсивность промахов: 0.01 — 1 %

TLB и большие страницы

Многие современные процессоры поддерживают 2 типа страниц, обычные и большие (Huge Page). Например, процессоры x86 обычно работают со страницами размера 4 кб, но допускают использование 4 МБ страниц при помощи PSE. Для процессоров x86_64 доступны большие страницы размером 2 МБ[2] (и 1 ГБ для некоторых моделей).

Записи трансляции для больших таблиц также хранятся в TLB, но на некоторых процессорах для них используется отдельный TLB в 4-8 записей.

Примечания

  1. Computer Organization And Design. Hardware/Software interface. 4th edition. — Burlington, MA 01803, USA: Morgan Kaufmann Publishers, 2009. — P. 703503. — ISBN 978-0-12-374493-7
  2. Hugepages - Debian Wiki

См. также

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Буфер ассоциативной трансляции" в других словарях:

  • буфер ассоциативной трансляции — буфер быстрой переадресации буфер динамической трансляции — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом Синонимы буфер быстрой переадресациибуфер… …   Справочник технического переводчика

  • Кэш процессора — Кэш микропроцессора  кэш (сверхоперативная память), используемый микропроцессором компьютера для уменьшения среднего времени доступа к компьютерной памяти. Является одним из верхних уровней иерархии памяти[1] …   Википедия

  • Translation lookaside buffer — Буфер ассоциативной трансляции (англ. Translation lookaside buffer, TLB) это буфер сверхоперативной памяти центрального процессора, используемый для ускорения трансляции адреса виртуальной памяти в адрес физической памяти. TLB используется всеми… …   Википедия

  • Ассоциативная память — Эта статья о компьютерных технологиях; о психологии см.: Ассоциация (психология). Ассоциативная память (АП) или Ассоциативное запоминающее устройство (АЗУ) является особым видом машинной памяти, используемой в приложениях очень быстрого поиска.… …   Википедия

  • Блок управления памятью — Для улучшения этой статьи желательно?: Викифицировать статью. Блок управления памятью или устройство управления …   Википедия

  • Emotion Engine — Sony Emotion Engine CPU Emotion Engine  центральный процессор, используемый в консолях PlayStation 2. Был р …   Википедия

  • 80486 — <<   Intel 80486   >> Центральный процессор …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»