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