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