Как я могу получить кэш-память и основную память, используя размер блока? - PullRequest
0 голосов
/ 29 мая 2019

Я изучаю концепцию направленного сопоставленного кэша, но не понимаю, как получить размер кэш-памяти и объем основной памяти с помощью размера блока.(Единица измерения - байты.) Заданные значения составляют 2 ^ 3 слова = 2 ^ 5 байтов размера блока, 4 бита тегов (0000 ~ 1111) и 3 бита индекса (000 ~ 111).

вопросы >>

  1. Каков размер кэш-памяти и основной памяти в каждом?
  2. и какой адрес мы вставляем в каждую часть данных?

enter image description here

Я уже пытался разделить тег детали и индекс кеша.Я вставляю тег в 3 старших разряда и вставляю индекс кэша (29 бит) в оставшееся пространство.Я получил основной объем памяти, 4 ГБ, и размер кэша, 2 ^ 29 байт.но я думаю что-то не так.Я чувствую, что не понимаю концепции этого.

1 Ответ

1 голос
/ 29 мая 2019

Ваш ответ неверный, так как вы предполагаете, что адрес 32-битный и адрес байтовый, следовательно, объем памяти 4 ГБ.Это не так, и мы должны сначала вычислить эти значения.

8 слов = 32 байта = размер блока
Таким образом, смещение = 3 бита (для адресации 8 слов в блоке)
и размер слова =4 байта / слово (32 байта / 8 слов)

Теперь у нас есть ширина адреса: 4 бита (тег) + 3 бита (индекс) + 3 бита (смещение) = 10 бит.

При 10-битном адресе основная память составляет 2 ^ 10 слов = 2 ^ 12 байтов = 4 КБ

Кэш-память имеет 8 блоков (3-битный индекс), каждый блок имеет 32 байта и размер кэша = 8 * 32байт = 256B.

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