某计算机的主存地址空间大小为256M
B
,按字节编址
,
指令Cache
和数据
Cache
分
离
,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射
方式。
现有两个功能相同的程序A和B,其伪代码如下
所示:
假定int类型数据用32位补码表示,程序编译时i,j,sum均分配在寄存器中,数组a按行优先
方式
存放,其地址为320(十进制
数
)。请回答
下列问题
,要求说明理由或给出计算过程。
(1)若不考虑用于Cache一致维护和替换算法的控制位,则数据Cache的总容量为多少?
⑵数组元素a[0][31]和a[1][1]各自所在的主存块对应的Cache行号分别是多少(Cache行号从0开始)
?
(3)程序A和B
的
数据访问命中率各是多少?哪个程序的执行时间短?