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