计算机在主内存和主内存之间使用一个小的直接映射缓存 处理器。缓存有四个16位字,每个字都有一个相关的13位标记, 如图(a)所示。当在读取操作期间发生未命中时,请求 字从主存储器读取并发送到处理器。与此同时,它是 复制到缓存中,其块编号存储在关联的标记中。考虑一下 在程序中跟随循环,其中所有指令和操作数都是16位长:
LOOP: Add (R1)+,R0
Decrement R2
BNE LOOP
<-13 bits-> <--16bit->
0|TAG |DATA |
2| | |
4| | |
6|_______ | ______ |
(a)Cache
.
.
| A03C |<---ADDRESS 054E
| 05D9 |
| 10D7 |
.
.
(b)Main Memory
假设在输入此循环之前,寄存器R0,R1和R2包含0,054E, 和3。还假设主存储器包含显示的数据 图(b),其中所有条目都以十六进制表示法给出。循环开始于 位置LOOP = 02EC。 (a)在每次循环结束时显示缓存的内容。