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

admin2015-12-30  44

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

假定int类型数据用32位补码表示,程序编译时i、j、sum均分配在寄存器中,数组a按行优先方式存放,其首地址为320(十进制数)。
请回答下列问题,要求说明理由或给出计算过程。
若不考虑用于Cache一致性维护和替换算法的控制位,则数据Cache的总容量为多少?

选项

答案每个Cache行对应一个标记项,如下图所示。 [*] 不考虑用于Cache一致性维护和替换算法的控制位。地址总长度为28位(228=256M),块内地址6位(26=64),Cache块号3位(23=8),故Tag的位数为28-6-3=19位,还需使用一个有效位,故题中数据Cache行的结构如下图所示。 [*] 数据Cache共有8行,因此数据Cache的总容量为8×(64+20/8)B=532B。

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

相关试题推荐
随机试题
最新回复(0)