Эффективное время доступа
Мне задают следующий вопрос:
Теперь предположим, что в системе нет сбоев страниц, мы рассматриваем возможность добавления TLB, который потребует 1 наносекунду для поиска преобразования адреса. Какая частота попаданий (с точностью до 5%) в TLB требуется для уменьшения эффективного времени доступа к памяти в 2,5 раза?
Мне говорят, что в среднем доступ к памяти занимает 100 нс. Поскольку для трехуровневого СТ имеется 4 обращения к памяти (3 для таблицы страниц 1 для физической памяти), я пришел к выводу, что это занимает 400 нс.
Затем меня просят уменьшить это в 2,5 раза. Итак (2/5) *400 = 160 нс.
моя цель съесть 160 нс. Я начал устанавливать проблему, и я не могу понять, куда идти отсюда.
Мне дано следующее решение, но я просто не могу его выполнить:
Время доступа = 100 X + (1-x) 400 - 100 нс для попадания (чтение памяти), 400 нс для пропуска 160 = 100 x + 400 - 400x -> x = .8 -> 80% TLB частота попаданий
Может кто-нибудь объяснить мне, как они добрались до этого шага? Я думал, что EAT - это p(время, необходимое для попадания) + 1-p(время, необходимое для промаха), где p - частота попаданий. Разве это не время, необходимое для удара 300 нс? и тогда время, необходимое для промаха, составляет 400 нс?
Исходя из моей логики, я попытался: p(300) + ((1-p) (400)), но когда я пошел вычислять его, я не получил правильную настройку в качестве решения. Может кто-нибудь объяснить, где моя логика идет не так? Я не прав насчет того, сколько обращений к памяти занимает хит?