Q1) Время доступа к кэш-памяти составляет 120 нс, а для основной памяти - 900 нс. Предполагается, что 80% запросов памяти предназначены для чтения, а оставшиеся 20% для записи. Коэффициент совпадений только для доступа на чтение составляет 0,9. Используется процедура сквозной записи.
(i) Каково среднее время доступа системы, учитывая только циклы чтения из памяти?
(ii) Каково среднее время доступа системы для запросов на чтение и запись.
(iii) Какое соотношение попаданий учитывает цикл записи?
Q2) Для кэш-памяти требуется время доступа 30 нс, а для основной памяти 150 нс, каково среднее время доступа к ЦП (допустимое соотношение попаданий = 80%)?
(А) 60
(В) 30
(С) 150
(Д) 70
Данное решение
Коэффициент попадания в кэш = Hcache = 0,8
Tcache = 30 нс
Tmemory = 150 нс
Время доступа к процессору = Hcache * Tcache + (1 - Hcache) (Tcache + Tmemory)
= 0,8 * 30 + 0,2 * (30 + 150) = 60 нс
Для первого вопроса я сделал это.
i) Average_access_time_read = 0,9 x 120 нс + (1 - 0,9) x 900 нс = 108 нс + 90 нс = 198 нс
ii) Использование формулы
0,8 х 198 нс + 0,2 х 900 нс = 158,4 нс + 180 нс = 338,4 нс. (Здесь также запутались, добавлять ли время доступа к кэшу и время доступа к памяти или только время доступа к памяти)
iii) Я не могу найти коэффициент попадания для операций записи ..
Кто-нибудь может помочь?
По второму вопросу я решил вот так.
Коэффициент попадания в кэш = Hcache = 0,8
Tcache = 30 нс
Tmemory = 150 нс
Время доступа к процессору = Hcache * Tcache + (1 - Hcache) (Tmemory)
= 0,8 * 30 + 0,2 * (150) = 54 нс
Я не понимаю, когда добавить время доступа к кэшу к времени доступа к памяти. В некоторых задачах дается только добавление времени доступа к памяти, а в некоторых также учитывается время доступа к кэшу и время доступа к памяти.
Кто-нибудь может объяснить, что является правильным?