-2

Давайте предположим, что у меня 32-разрядная адресуемая память и 4-килобайтный кэш с прямым отображением. Скажем, каждая запись (строка) кэша состоит из уникального слова (32 бита).

Мы можем сделать вывод, что размер индекса равен 10 битам, поскольку 4 * 2 ^ 10 байт / 4 = 2 ^ 10 слов = 2 ^ 10 строк.

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

  • Биты с 0 по 9: индекс
  • Биты с 10 по 31: метка

Моя логика как-то не так?

2 ответа2

0

Строка кэша обычно составляет 64 байта, биты смещения 0-6 выбирают байт в строке.

0

Нам нужно 2 бита для смещения, потому что 32-битное значение имеет 4 байта, и каждый байт может быть доступен индивидуально, и, таким образом, смещение может составлять 0,1,2 или 3.

Следовательно, адрес раскладывается таким образом с помощью кеша с прямым отображением:

  • Биты от 0 до 1: смещение
  • Биты со 2 по 11: индекс
  • Биты с 12 по 31: метка

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .