Связь между коэффициентами попадания в кеш и TLB

Ниже приводится описание MMU операционной системы (ОС Gate 2003):

Процессор использует двухуровневую таблицу страниц для преобразования виртуальных адресов в физические. Таблица страниц для обоих уровней хранится в основной памяти. Виртуальный и физический адреса имеют ширину 32 бита. Память адресуется побайтно. Для преобразования виртуального адреса в физический 10 наиболее значимых битов виртуального адреса используются в качестве индекса в таблице страниц первого уровня, а следующие 10 битов используются в качестве индекса в таблице страниц второго уровня. 12 младших битов виртуального адреса используются как смещение на странице. Предположим, что записи таблицы страниц на обоих уровнях таблиц страниц имеют ширину 4 байта. Кроме того, процессор имеет буфер просмотра в сторону (TLB) с частотой совпадений 96%. TLB кеширует недавно использованные виртуальные номера страниц и соответствующие номера физических страниц. Процессор также имеет физически адресуемую кэш-память с коэффициентом попадания 90%. Время доступа к основной памяти - 10 нс, время доступа к кеш-памяти - 1 нс, время доступа к TLB - также 1 нс.

Вопрос такой:

Как связаны кеш с коэффициентом совпадения 90% и TLB с коэффициентом попадания 96%? Где ОС проверяет в первую очередь: данные или инструкции?


person Hegde    schedule 02.02.2013    source источник
comment
Я не думаю, что публиковать домашние задания в stackoverflow - хорошая идея.   -  person Jeff Li    schedule 04.02.2013


Ответы (4)


Кэш имеет первостепенное значение, и то, что не кэшируется, содержится в TLB ... поэтому время доступа будет = попадание в кэш + промах в кэше (попадание TLB + промах TLB).

person BNeogy    schedule 20.02.2014

Кэш - сохраняет последние использованные страничные фреймы. Храните актуальные фреймы страницы.

TLB - сохраняет сопоставление кадров страниц, которые использовались недавно. Сохраняет отображение (виртуальное на физическое).

Из таблицы TLB или таблицы страниц, ОС знает, находится ли запрошенный фрейм страницы в кэше или нет.

person Ajay Parmar    schedule 11.03.2013

Время TLB HIT = 0,96 (Ttlb) + (. 9 * Tcache + .1 * Tmem)

Время TLB MISS = 0,04 (Ttlb + 3 * (. 9 * Tcache + .1 * Tmem))

всего = время TLB HIT + время TLB MISS = примерно 3 нс

person user3779547    schedule 26.06.2014

Во-первых, данные проверяет не ОС, а процессор. Теперь к кэш-памяти можно обращаться виртуально или физически. В первом случае он идет до TLB, а во втором - после TLB (TLB ведет себя как кеш для таблицы страниц, который используется для преобразования виртуального адреса в физический адрес). Здесь в вопросе четко упоминается "физически адресный кеш". Итак, TLB должен стоять перед кешем.

person Arjun Suresh    schedule 27.02.2014