考虑一台具有2个16字节的字节可寻址主存储器的机器。假设在系统中使用了直接映射的数据高速缓存,该高速缓存包含32行,每行64个字节。从存储器位置1100H开始,将50×50的二维字节数组存储在主存储器中。假设数据缓存最初是空的。整个数组被访问两次。假定两次访问之间数据高速缓存的内容没有变化。
总共将发生多少次数据高速缓存未命中?
(A) 40
(B) 50
(C) 56
(D) 59答案: (C)
说明:主存储器的大小= 2 16字节
缓存大小= 32 * 64字节
= 2 11字节
数组大小= 2500字节
数组存储在主内存中,但缓存将为空
缓存大小= 2048字节
所以页面错误数= 2500-2048 = 452
完整的阵列将被访问两次
因此,第二次访问没有。页面错误总数= 452 * 2 = 904
所以总页面错误= 452 + 904 = 1356
因此数据缓存未命中将是56
所以(C)是正确的选择
这个问题的测验