某计算机的主存地址空间大小为256MB,按字节编址。指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下:假定int类型数据用32位补码表示,程序

admin2013-04-26  54

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

选项

答案数据Cache有8个Cache行,每个Cache行大小为64B,Cache中每个字块的lag字段的位数为28-9=19位,此外还需使用一个有效位,合计20位。因此,数据Cache的总容量应为8×(64+20/8)B=532B。

解析
转载请注明原文地址:https://jikaoti.com/ti/kcajFFFM
0

最新回复(0)