Это абзац из Концепции операционной системы, 9-е издание от Silberschatz и др.
Процент времени, в течение которого интересующий номер страницы находится в TLB называется коэффициентом попадания. Например, 80-процентное соотношение ударов, означает, что мы находим желаемый номер страницы в TLB 80 процентов время. Если для доступа к памяти требуется 100 наносекунд, тогда доступ к карте памяти занимает 100 нс, когда номер страницы находится в TLB. Если нам не удастся найти номер страницы в TLB, мы должны первая память доступа для таблицы страниц и номера кадра (100 наносекунды), а затем доступ к требуемому байту в памяти (100 наносекунд), в общей сложности 200 наносекунд. (Мы предполагаем, что a просмотр страницы-таблицы требует только одного доступа к памяти, но может потребоваться больше, как мы увидим.) Чтобы найти эффективное время доступа к памяти, мы весим случай по его вероятности: эффективное время доступа = 0,80 × 100 + 0,20 × 200 = 120 наносекунд
но в восьмом издании той же книги
![enter image description here]()
Я запутался с
эффективное время доступа
Может кто-нибудь объяснить это мне?
Ответ 1
В случае, если страница найдена в TLB (TLB hit), общее время будет временем поиска в TLB и временем доступа к памяти, поэтому
TLB_hit_time := TLB_search_time + memory_access_time
В случае, если страница не найдена в TLB (пропуске TLB), общее время будет временем поиска TLB (вы ничего не найдете, но искали без него) плюс время для доступа к памяти, чтобы получить таблицу страниц и фрейм, а также время доступа к памяти для получения данных, поэтому
TLB_miss_time := TLB_search_time + memory_access_time + memory_access_time
Но это в отдельных случаях, когда вы хотите узнать среднюю оценку эффективности TLB, вы используете эффективное время доступа, то есть средневзвешенное значение предыдущих мер.
EAT := TLB_miss_time * (1- hit_ratio) + TLB_hit_time * hit_ratio
или
EAT := (TLB_search_time + 2*memory_access_time) * (1- hit_ratio) +
(TLB_search_time + memory_access_time) * hit_ratio
Ответ 2
Эффективное время здесь - это просто среднее время, использующее относительные вероятности попадания или промаха. Таким образом, если попадание происходит в 80% случаев, а промах происходит в 20% случаев, тогда эффективное время (т.е. Среднее время) при большом количестве ударов/промахов будет составлять 0,8 * (время удара) + 0,2 * (время промаха).
Ответ 3
В TLB поддерживается постоянный доступ к номеру страницы и номеру кадра, который находится в таблице страниц, хранящейся в памяти.
Сначала он смотрит в TLB. Если он найден, он попадает в ячейку памяти, поэтому общее время доступа равно:
20 + 100 = 120 ns
Теперь, если TLB отсутствует, вам нужно сначала найти TLB, а затем таблицу страниц, которая хранится в памяти. Таким образом, один доступ к памяти плюс одна конкретная страница доступа, ничего, кроме другого доступа к памяти. Таким образом, общее время равно:
20 + 100 + 100 = 220 ns
И эффективное время доступа к памяти равно:
0.80 * 120 + 0.20* 220 = 140 ns
Ответ 4
Общая формула для EAT
Коэффициент Hit = a
Время доступа к основной памяти = м
Ассоциативный поиск (доступ TLB) = e
EAT = (m + e) a + (2m + e) (1 - a)
= 2m - ma + e
Ответ 5
Эффективное время доступа Общее время, затрачиваемое на доступ к памяти (например, суммирование основной памяти и времени кэширования), деленное на общее количество ссылок на память.
Ответ 6
Среднее время доступа - время удара + частота промаха * время промаха,
не согласен с ответом @Paul R