2015-12-31 4 views
1

У меня есть 256 блоков с 16 байт на блок. Я пытаюсь определить пропущенность или нажать шестнадцатеричные адреса в соответствии с двухпозиционным ассоциативным кешем. Я сомневаюсь, что второй может быть пропущен из-за двухстороннего ассоциативного набора? Я думаю, что ударил, но я не уверен.2-полосный набор ассоциативный кеш хита/пропусков

2ABC10A2 

2ABC10A7 

4BBC10A0 

2ABC10A9 

Так что если у меня есть 16 байт на блок, я 2^4 затем 4 бита, что означает, соответственно, мои смещения являются 2, 7, 0, 9. Если у меня 256 блоков, у меня есть 2^8, тогда индекс 8 бит, что означает 0A, остается тегами. Я думаю, что я здесь. Итак, я получаю стол, но я не для miss/hit part. Правильно ли они? Если есть ошибка, можете ли вы исправить? Я хочу учиться. Благодарю.

TAG   INDEX    BLOCK DATA        HIT/MISS 

2ABC1   0A   2ABC10A0 + 16 BYTE  (2ABC10A0  - 2ABC10AF )  MISS 
2ABC1   0A    2ABC10A0 + 16 BYTE       HIT 
4BBC1   0A    4BBC10A0 + 16 BYTE       MISS 
2ABC1   0A    2ABC10A0 + 16 BYTE       HIT 

ответ

0

Пробег/цель поражения верна.

Ширина Индекс бит 7 не 8. Для 256 блоков 2-ассоциативный кэш, индекс бита ширина входа (256/2) = 7.

Чтобы быть более точным, пропуск/hit часть правильная, предполагая, что все обращения - это нагрузки (операции чтения). Если хранилища (операции записи) включены, это зависит от выбора политик записи кеша.