某计算机主存地址空间大小16MB,按字节编址。主存与Cache之间采用直接映射方式,块大小为512字节。Cache数据区大小为16KB.
(1)该Cache共有多少行?
(2)主存地址需多少位?如何划分?要求说明每个字段的含义、位数和在主存地址中的位置。
某计算机主存地址空间大小16MB,按字节编址。主存与Cache之间采用直接映射方式,块大小为512字节。Cache数据区大小为16KB.
(1)该Cache共有多少行?
(2)主存地址需多少位?如何划分?要求说明每个字段的含义、位数和在主存地址中的位置。
【正确答案】:每512字节数据块在Cache中占一行,故16KB Cache被划分为16KB÷512B=32行。
16MB=224B,故主存地址长度为24位。
被划分成以下三个字段:标记+Cache行号+块内地址。
由于块大小为512B=29B,所以块内地址为9位,即主存地址的低9位。
Cache 行数为32=25 ,所以Cache行号需要5位,即主存地址的中间5位。
主存地址总长24-9-5=10,所以标记部分为10位,即主存地址的高10位。
Top