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

Top