看着答案的图:
1:访问主存块号0时:根据直接映射,到cache块号0里查看,没有 => 未命中,然后把内存块号0写到cache块号0里,此时cache里存储的主存块号:0,空,空,空
2:访问主存块号1时:根据直接映射,到cache块号1里查看,没有 => 未命中,然后把内存块号1写到cache块号1里,此时cache里存储的主存块号:0,1,空,空
3:访问主存块号2时:根据直接映射,到cache块号3里查看,没有 => 未命中,然后把内存块号3写到cache块号3里,此时cache里存储的主存块号:0,1,2,空
4:访问主存块号5时:根据直接映射,到cache块号1里查看,发现有内容但不是主存块号5 => 未命中,然后把内存块号5写到cache块号1里(直接替换掉),此时cache里存储的主存块号:0,5,2,空
5:访问主存块号4时:根据直接映射,到cache块号0里查看,发现有内容但不是主存块号4 => 未命中,然后把内存块号4写到cache块号0里(直接替换掉),此时cache里存储的主存块号:4,5,2,空
6:访问主存块号6时:根据直接映射,到cache块号2里查看,发现有内容但不是主存块号6 => 未命中,然后把内存块号6写到cache块号2里(直接替换掉),此时cache里存储的主存块号:4,5,6,空
7:访问主存块号4时:根据直接映射,到cache块号0里查看,发现有内容而且是主存块号4 => 命中,此时cache里存储的主存块号不变:4,5,6,空
后面自己推...
1:访问主存块号0时:根据直接映射,到cache块号0里查看,没有 => 未命中,然后把内存块号0写到cache块号0里,此时cache里存储的主存块号:0,空,空,空
2:访问主存块号1时:根据直接映射,到cache块号1里查看,没有 => 未命中,然后把内存块号1写到cache块号1里,此时cache里存储的主存块号:0,1,空,空
3:访问主存块号2时:根据直接映射,到cache块号3里查看,没有 => 未命中,然后把内存块号3写到cache块号3里,此时cache里存储的主存块号:0,1,2,空
4:访问主存块号5时:根据直接映射,到cache块号1里查看,发现有内容但不是主存块号5 => 未命中,然后把内存块号5写到cache块号1里(直接替换掉),此时cache里存储的主存块号:0,5,2,空
5:访问主存块号4时:根据直接映射,到cache块号0里查看,发现有内容但不是主存块号4 => 未命中,然后把内存块号4写到cache块号0里(直接替换掉),此时cache里存储的主存块号:4,5,2,空
6:访问主存块号6时:根据直接映射,到cache块号2里查看,发现有内容但不是主存块号6 => 未命中,然后把内存块号6写到cache块号2里(直接替换掉),此时cache里存储的主存块号:4,5,6,空
7:访问主存块号4时:根据直接映射,到cache块号0里查看,发现有内容而且是主存块号4 => 命中,此时cache里存储的主存块号不变:4,5,6,空
后面自己推...