2

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

4

0 回答 0