题17

题目

Q:【2015 统考真题】假定主存地址位数为 32 位,按字节编址,主存和 Cache 之间采用直接映射方式,主存块大小为 4 个字,每字 32 位,写操作时采用回写 (Write Back) 方式,则能存放 4K 字数据的 Cache 的总容量的位数至少是( )。
A. 146K
B. 147K
C. 148K
D. 158K

分析

A:

C
直接映射的地址结构为
|主存字块标记 | Cache 字块标记 | 字块内地址|
按字节编址,块大小为 ,则 “字块内地址” 占 4 位; “能存放 字数据的 Cache” 即 Cache 的存储容量为 字 (注意单位),则 Cache 共有 个 Cache 行,Cache 字块标记占 10 位; 主存字块标记占 位。
Cache 的总容量包括: 存储容量和标记阵列容量 (有效位、标记位、一致性维护位和替换算法控制位)。标记阵列中的有效位和标记位一定存在, 而一致性维护位 (脏位) 和替换算法控制位的取舍标准是看词眼, 题目中明确说明了采用回写法, 则一定包含一致性维护位, 而关于替换算法的词眼题目中未提及,所以不予考虑。因此,每个 Cache 行标记项包含 位, 标记阵列容量为 位,存储容量为 位,总容量为 位。