📜  门| GATE CS Mock 2018 |第 50 题

📅  最后修改于: 2021-09-25 07:03:35             🧑  作者: Mango

考虑一个数组 A[999] & 每个元素占用 4 个字。使用 32 字高速缓存并将其划分为 16 字块。以下语句的未命中率是多少。假设在未命中的情况下将一个块读入缓存:

for(i=0; i < 1000; i++)
  A[i] = A[i] + 99

(一) 0.50
(乙) 0.75
(C) 0.875
(四) 0.125答案: (D)
说明:由于有 16 个字块,因此一个块中可以保留 4 个元素。现在请注意,每个元素被引用两次,一次读取和一次写入操作。
因此,当在块中引用第一个元素进行读取时,它将丢失,因此该块将被复制到缓存中。
现在,对第 1 个元素的第 2、3 和 4 次引用将被命中以进行读写。因此,在 8 个参考中,1 个未命中和 7 个命中一个街区。对每个块重复。
因此,击中 7/8 而错过 1/8

选项(D)是正确的。
这个问题的测验