直接映射缓存和缓存未命中

时间:2011-11-25 21:03:04

标签: caching mips computer-architecture

我正在做作业,但我不知道如何计算总缓存未命中数。我一直试图理解它,但它对我来说没有意义。我得到了一些Mips代码,我需要计算缓存未命中数。这是问题所在:

直接映射缓存。我们获得了1024个块的直接映射缓存。每 block是MIPS字(32位)。每当写入未命中时,高速缓存都使用写回 发生。主存包含2 ^ 30个字。最初,缓存为空 确定以下指令序列的高速缓存未命中总数。

lw $s0, 4($sp) 
lw $s0, 8($sp) 
sw $s0, 8($sp) 
sw $s1, 4($sp) 
lw $s0, 4($sp)

我不是在寻找答案。我想学习如何做到这一点因为我在家庭作业上还有很多这样的问题。我想对此进行一次演练。与此同时,我将研究这个主题,试图找出答案。

1 个答案:

答案 0 :(得分:2)

如果不知道$ SP的对齐情况,就无法确定您将拥有多少缓存未命中。 如果SP在32字节边界上对齐,则在第一次访问时将只有一个高速缓存行未命中。如果SP包含地址0x18,那么您将有两个缓存行未命中,因为4($ sp)和8($ sp)将访问不同的缓存行。

相关问题