计算缓存命中率

时间:2015-07-04 10:32:33

标签: caching hit

我需要一些帮助来计算循环中的高速缓存命中/未命中,该循环将128个32位数字加在一起,这些数字在数组a [i]中(0 <= i <= 127)。

缓存本身为空,并且有32字节/行。 计算缓存命中率。

a)计数器/和vars在存储器中。 b)将计数器/和vars缓冲到寄存器中 c)如果我们使用16位数而不是32位数,命中率如何不同。

我不知道如何计算程序中的命中/未命中。我们得到了一个乘法的例子,但我不知道它是如何工作的。

blue is the first pass, green the second

(蓝色是第一次传球,绿色是第二次传球)

编辑:

        sum = 0
        j = 0
loop:   read j
        if(j >= 128) exit
        else
        read g[j]
        read sum
        compute sum + g[j]
        write sum
        read j
        compute j+1
        write j
        jump to loop

任务的伪代码

0 个答案:

没有答案