假定主存按字节编址,Cache共有64行,采用4路组相联映射方式,主存块大小为32字节,所有编号都从O开始,则主存第3000号单元所在主存块对应的Cache组号是( )。

admin2019-02-24  13

问题 假定主存按字节编址,Cache共有64行,采用4路组相联映射方式,主存块大小为32字节,所有编号都从O开始,则主存第3000号单元所在主存块对应的Cache组号是(    )。

选项 A、1
B、5
C、13
D、29

答案C

解析 因为主存按字节编址,每块32B,故第3000号单元(从0开始编制)所在的块号为3000/32=93;又因为Cache采用四路组相连,一共64行(可看成64块),一共有64/4=16组,于是按照主存块号对应Cache组号,映射后第93块在Cache中的组号为93%16=13。答案选C。
提示:求第多少号单元属于第几主存块的时候,很多同学可能有这样的错觉,只要不是整除,那么就一定在下一个主存块,其实这是不对的,因为块的编号是从0开始的,原则上从次序上来说,它确实是第94块,但计算机起始计数一般都是从0开始的,这样它的序号就变成了93,Cache也是如此,因此当结果求得是13的时候,它确实是在次序上来说处于第14组,但是编号确实第13组;另外,题目不加说明我们默认主存块大小等于Cache块大小,Cache一行等于一块。
转载请注明原文地址:https://kaotiyun.com/show/lECi777K
0

最新回复(0)