0

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

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

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

我不知道如何计算程序中的命中/未命中。我们有一个乘法示例,但我不明白它是如何工作的。

蓝色是第一关,绿色是第二关

(蓝色为第一道,绿色为第二道)

编辑:

        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

任务的伪代码

4

0 回答 0