Я мучаюсь с домашней работой, и этот вопрос продолжает преследовать меня.Я все делаю неправильно?
Я принял позицию, что «адрес блока» является частью этих 32-битных эталонных адресов (приведенных в большинстве задач), которые не включают в себя наименее значимые биты, используемыев качестве байтового смещения (часть, полезная для выбора слова (или байта) в блоке.
Для демонстрации, скажем, мы используем кэш с прямым отображением и дан 32-битный ссылочный адрес, такой как 0000 0000 0000 0000 1111 1100 0001 1100
и что тег равен 24 битам, индекс равен 6 битам, а смещение равно 2 битам.
В моем учебнике («Организация и дизайн компьютеров: издание MIPS») говорится, что блок, к которому привязан данный адрес, напрямуюсопоставленный кеш находится с помощью (block address) modulo (number of blocks in the cache)
. Если я включу смещение в это вычисление как часть «адреса блока», результирующий блок, который я бы обозначил как хит / мисс / хранилище, будет сильно отличаться от того, который был бы у меня.
Таким образом, мне было бы легко узнать, знает ли кто-нибудь, является ли «адрес блока» просто еще одним термином для «адреса» (всего 32-битного эталона) или это означает, что ядумаю, что это означает, что является объединением тега и индекса (не более).Кто-нибудь знает?