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