Рубрики

ВОРОТА | GATE-CS-2006 | Вопрос 41

ЦП имеет кеш с размером блока 64 байта. Основная память имеет k банков, каждый из которых имеет размер в байты. Последовательные куски байтовых байтов отображаются в последовательных банках с циклическим переносом. Все k банков могут быть доступны параллельно, но два доступа к одному и тому же банку должны быть сериализованы. Доступ к блоку кэша может включать несколько итераций параллельного доступа к банкам в зависимости от объема данных, полученных при параллельном доступе ко всем k банкам. Каждая итерация требует параллельного декодирования номеров банков, и это требует. k / 2 нс Время ожидания доступа к одному банку составляет 80 нс. Если c = 2 и k = 24, задержка получения блока кэша, начинающегося с нулевого адреса из основной памяти, равна:
(А) 92 нс
(В) 104 нс
(С) 172 нс
(D) 184 нс

Ответ: (D)
Объяснение: Объяснение:

Размер блока кеша = 64 B
Количество банков основной памяти K = 24
Размер каждого банка C = 2 байта
т.е. каждый банк в памяти составляет 2 байта, и таких банков 24. Итак, за одну итерацию мы можем получить 2 * 24 = 48 байтов, а для получения 64 байтов требуется 2 итерации.
Таким образом, время, необходимое для параллельного доступа T = время декодирования + время задержки.
T = (K / 2) + задержка
= 12 + 80 = 92 нс
Но C = 2 для доступа
= 2 * 92 = 184ns
(поскольку в каждой итерации нам нужно выбирать банки, а время декодирования банков (k / 2) не зависит от количества банков, к которым мы собираемся получить доступ)

Это решение предоставлено Nitika Bansal .
Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | GATE-CS-2006 | Вопрос 41

0.00 (0%) 0 votes