Поиск времени передачи блока кеша в 3 -уровневой системе памяти

cs.stackexchange https://cs.stackexchange.com/questions/11309

Вопрос

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

Компьютерная система имеет кэш L1, кэш L2 и основное единство памяти, подключенное, как показано ниже. Размер блока в кэше L1 составляет 4 слова. Размер блока в кэше L2 составляет 16 слов. Время доступа к памяти составляет 2 наносекунд, 20 наносекунд и 200 наносекунд для кэша L1, кэша L2 и основной памяти соответственно.

cache-image

  1. Когда в кэше L1 и попадает в кэш L2, блок переносится из кэша L2 в кэш L1. Какое время занято для этой передачи?

(А) 2 наносекунд (б) 20 наносекунд (в) 22 наносекунд (г) 88 наносекунд

  1. Когда в кэше L1 и в кэше L2 пропускается, сначала блок переносится из основной памяти в кэш L2, а затем блок передается из кэша L2 в кэш L1. Какое общее время занято для этих переводов?

(А) 222 наносекунд (б) 888 наносекунд (с) 902 наносекунд (г) 968 наносекунд

Первое, что пришло мне в голову, это то, как рассчитать время передачи, используя заданное время доступа. Во время промахи, блок данных перемещается из основной памяти в кеш. Тогда ЦП будет получить доступ к нему. Значит, не будет ли время доступа> Время передачи?

Затем я подумал, давайте предположим, что время доступа = время передачи и сделайте расчет.

Теперь первый вопрос. В вопросе уже говорится, что в L1 проходит, поэтому я не буду рассматривать время доступа L1. Поскольку в L1 и ударе в L1 и ударе, весь квартал от L2 должен быть перенесен в L1. Размер блока L2 составляет 16 слов, но размер шины данных составляет 4 слова.

Итак, мы должны переместить 4 слова * 4 раза.

Чтобы перенести 4 слова, требуется 20 нс. Чтобы перенести 4 слова, его 80ns. Разве это не время, передаваемое с L2 на L1? Вопрос ничего не говорит о доступе к L1 после перемещения данных. Но 80NS не в этом варианте!

Аналогичный случай также со вторым вопросом.

Время переместить основную память в L2 = 4 слова * 4 раза = 4 * 200 = 800NS

Время переместить L2 на L1 = 80NS [более раннее расчет

Итак, общее время, взятое 880NS. Что снова не в этом варианте.

Либо я совершаю очень большую ошибку, либо варианты ошибочны, либо вопрос не обрамляется правильно. Если я делаю что -то не так, пожалуйста, дайте мне некоторый подсказку, и я попытаюсь снова поработать над этим упражнением.

Это было полезно?

Решение

Чтобы обнаружить, что любой кеш делает нет Содержите значение по запрошему адресу, который вы должны получить к нему.

Это означает, что вы должны добавить время доступа всех уровней.

Некоторые из вариантов, кажется, предполагают, что можно подумать, что целые блоки от, скажем, кэша L2 переносятся вверх в кэш L1; Насколько я знаю, это не то, что происходит: объем передачи определяется размером блока запрашивающего уровня.

Другие советы

Думаю, вы неправильно поняли время доступа. Время доступа означает время для поиска данных на памяти. Таким образом, тот, кто обращается к памяти (будь то процессор или какое -то другое устройство), это будет таким же.

Переходя к первым вопросам здесь. Блок передается с L2 на L1. И размер блока L1 составлял 4 слова, а полоса пропускания данных - 4 байта, для этого требуется 1 L2 доступа (для чтения) и 1 L1 доступ (для магазина). Итак, время = 20+2 = 22 нс.

Для второго вопроса размер блока L2 составляет 16 слов, а полоса пропускания между памятью и L2 - 4 слова, нам требуется 4 доступа к памяти (для чтения) и 4 доступа L2 (для магазина). Теперь нам необходимо отправить запрошенный блок на L1, который потребует еще 1 доступа L2 (для чтения) и 1 L1 доступа (для магазина). Итак, общее время

= 4 * (200 + 20) + (20 + 2)

= 880 + 22

= 902 нс

Ответ на 1 вопрос:

Чтобы перенести блок от L2 на L1, обычно требуется 20+2 нс для передачи 4 слов: здесь, почему только слова означает, что у нас есть база данных с 4 словами, поэтому из -за мисс L1 и ударить L2, мы должны перенести блок L2, который содержит 16 слов. Итак, мы должны получить доступ к L2 A L1 4 раза. Итак, 4 (20+2) ..

Аналогично ответ на 2 вопроса:

Основная память L2 и L2 до L1 SO 4 (200+20)+4 (20+2)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с cs.stackexchange
scroll top