Кэш с прямым отображением: как определить декомпозицию адреса

Кэш с прямым отображением: как определить декомпозицию адреса

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

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

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

  • Биты 0–9: Индекс
  • Биты 10–31: Метка

Неужели моя логика в чем-то неверна?

решение1

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

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

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

решение2

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

Связанный контент