手动计算缓存未命中[Exercice]

时间:2016-01-02 18:29:33

标签: caching memory memory-address

在修改代码时,我遇到了一个非常基本的问题,但我似乎没有得到答案......

因此,在练习中,我们有16位内存地址,256行缓存和16字节行(4位32位)。

假设执行这些指令的程序:

Int A[512], i;
for (i = O; i < 256; i++) {
  A [i+256] A [i] + i ;
}

阵列A存储在地址x0000,i存储在寄存器中。 他们询问有多少缓存未命中,这个程序会产生什么?

我的回答是:64次未命中。因为,我们使用一个4字集团,每次错过我们将获得4个字的集团,我们循环256,所以256/4。

这是对的吗?提前谢谢!

0 个答案:

没有答案