循环后缓存的内容是什么?

时间:2013-10-19 19:10:15

标签: caching memory memory-management architecture

计算机在主内存和主内存之间使用一个小的直接映射缓存 处理器。缓存有四个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)在每次循环结束时显示缓存的内容。

0 个答案:

没有答案