问答题 某计算机主存地址空间大小为1GB,按字节编址。Cache可存放64KB数据,主存块大小为128字节,采用直接映射和全写(Write-Through)方式。问:
问答题 主存地址如何划分?要求说明每个字段的含义、位数和在主存地址中的位置。
【正确答案】采用直接映射方式,主存地址的划分如下图1所示。
[*]

图1 主存地址的划分(一)

由于按字节编址,主存地址空间大小为1GB,主存单元数为1G,所以地址位数为log2(1G)=30。
直接映射方式中,组数等于Cache的行数=64KB/128B=512,那么组号位数=log2(512)=9。
由于按字节编址,主存块的单元数=128,因此块内地址位数=log2(128)=7。
标记位数有=30-9-7=14位。综上所述,主存地址的划分如图2所示。
[*]

图2 主存地址的划分(二)
【答案解析】
问答题 Cache的总容量为多少位?
【正确答案】因为直接映射不考虑替换算法,所以Cache行中没有用于替换的控制位。又因为采用全写方式,所以,Cache行中也没有修改位,即每个Cache行中包含1位有效位、14位标记位和128B的数据,因此Cache的总容量=512×(1bit+14bit+128×8bit)=519.5Kbit。
【答案解析】