第 15 题
假定主存地址位数为32位,按字节编址,主存和Cache 之间采用直接映射方式,主存块大小为4个字, 每字32位,写操作时采用回写 (Write Back) 方式,则能存放4K 字数据的Cache 的总容量的位数至少是 ()。
A.146K
B.147K
C.148K
D.158K
[tag_link]
正确答案:C
直接映射的 地址结构 为: 主存字块标记 | 行号 | 块内地址 主存块大小为 4 个字,每字 32 位,因此块大小为: 4 × 32 bit = 128 bit = 16 B 。计算机按字节编址,故块内地址占 lo g 2 ( 16 ) = 4 位。Cache 可存放 4K 字数据,块大小为 4 字,因此 Cache 行数为: 4 K /4 = 1 K = 1024 , 行号占 lo g 2 ( 1024 ) = 10 位。主存地址位数为 32 位,块内地址占 4 位,行号占 10 位, 因此主存字块标记占 32 − 4 − 10 = 18 位。写操作采用回写(Write Back)方式,每行标记字段包括: 18 位主存字块标记、1 位有效位、1 位脏位, 合计 18 + 1 + 1 = 20 位。每行数据部分大小为 4 字 × 32 位 = 128 位。Cache 总容量为: ( 20 + 128 ) × 1024 = 148 × 1024 位 = 148 Kb