🏷️ 知识点:Cache写策略

共 3 道相关题目

2015 年第 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


2015 年第 16 题 组成原理 选择题

假定编译器将赋值语句“x=x+3;”转换为指令“add xaddr,3”,其中 xaddr 是x 对应的存储单元地址。 若执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的TLB, 且Cache 使用直写 (Write Trough) 方式,则完成该指令功能需要访问主存的次数至少是()。

A.0

B.1

C.2

D.3

[tag_link]

正确答案:B

上述指令的执行过程可划分为取数、运算和写回过程,取数时读取 xaddr 可能不需要访问主存而直接访问 Cache,而 直写法 需要把数据同时写入 Cache 和主存,因此至少访问 1 次。


2021 年第 16 题 组成原理 选择题

若计算机主存地址为32位,按字节编址,Cache 数据区大小为32KB, 主存块大小为32B, 采用直接 映射方式和回写( Write Back) 策略,则Cache行的位数至少是()。

A.275

B.274

C.258

D.257

[tag_link]

正确答案:A

由于是 直接映射 ,所以物理地址的结构分为以下几个部分: | Tag(17 bits) | Cache 块号(10 bits) | 块内偏移(5 bits) | Cache 行包含以下几个部分:标记(tag 17bits)、有效位(valid 1bit)、修改位(dirty 1bit)、数据区(32B) Cache 行的大小为 17 + 1 + 1 + 32 * 8 = 275