适合读者软考中级备考同学阅读时间3.5分钟内容写操作相关策略、写直达与写回、写分配与非写分配、组合方式、例题1. 为什么需要写策略当CPU执行写指令如STORE时如果目标地址的数据已经在Cache中写命中需要决定是立即同步更新到内存还是只更新Cache。如果数据不在Cache中写缺失也需要决定是否将数据调入Cache再写入。这些决策就是Cache写策略。写策略直接影响系统性能和数据一致性。软考常考四种策略的定义及其组合。2. 两类写策略针对写命中2.1 写直达Write Through也称全写法、直写定义写命中时同时更新Cache和内存。优点数据一致性容易保证内存总是最新利于多核共享。缺点每次写操作都要访问内存速度慢消耗带宽。优化可搭配写缓冲Write Buffer暂存待写入内存的数据释放CPU。2.2 写回Write Back也称回写法定义写命中时只更新Cache不立即更新内存。只有当该Cache行被替换时才写回内存。标记每个Cache行需要一个脏位dirty bit表示该行是否被修改过与内存不一致。优点减少对内存的写次数速度快。缺点实现复杂数据一致性较差多核环境下需额外协议。3. 两类写缺失策略当写操作的目标地址不在Cache中时有两种处理方式3.1 写分配Write Allocate也称写取法定义先将该缺失的数据块从内存调入Cache分配Cache行然后在Cache中执行写操作后续按写命中策略处理。特点利用空间局部性后续读写可能受益。通常与写回策略配合使用。3.2 非写分配No-Write Allocate也称写绕过定义不将缺失块调入Cache直接将数据写入内存。如果后续需要读该地址可能产生读缺失。特点避免因写操作污染Cache尤其当写入后不再读取时。通常与写直达策略配合使用。4. 常用组合实际Cache设计中写策略通常配对使用组合写命中写缺失应用场景写直达 非写分配同时写Cache和内存直接写内存不调入Cache简单易实现用于早期CPU或对一致性要求高的场合写回 写分配只写Cache置脏位调入Cache再写按写回现代CPU普遍使用性能好软考重点知道写分配通常和写回搭配非写分配通常和写直达搭配。5. 示例说明5.1 写直达 非写分配CPU执行写指令地址A不在Cache中 → 直接写入内存Cache不变。 CPU下次读地址A → 发生读缺失再从内存调入Cache。5.2 写回 写分配CPU执行写指令地址A不在Cache中 → 将包含A的内存块调入Cache 然后在该Cache行中写数据并标记脏位。内存暂不更新。 当该Cache行被替换时检查脏位若脏则写回内存否则丢弃。6. 对比总结表策略适用阶段核心操作优点缺点写直达写命中同时写Cache和内存一致性好简单写内存慢带宽占用高写回写命中只写Cache替换时写回速度快写内存少复杂一致性需额外协议写分配写缺失调入Cache再写利用局部性后续读快可能调入无用数据非写分配写缺失直接写内存避免Cache污染后续读可能再缺失7. 经典例题题目1某Cache采用写回策略以下描述正确的是 。A. 每次写操作都要写内存B. 需要为每个Cache行设置脏位C. 写命中时只写内存不写CacheD. 写缺失时一定不调入Cache答案BA是写直达C错误写回只写CacheD与写分配/非写分配无关题目2以下关于写分配策略的说法正确的是 。A. 写分配通常与写直达搭配使用B. 写分配在写缺失时不调入CacheC. 写分配在写缺失时将数据块调入Cache再写D. 写分配会减少对内存的写入次数答案C写分配常与写回搭配D减少写次数的是写回策略本身题目3判断采用写直达策略时若写缺失则必须采用写分配。 答案错误。写直达通常配合非写分配可以不调入Cache直接写内存。题目4场景分析一个程序频繁对同一个内存地址进行写操作但很少读取。为了获得较好性能应该选择哪种写策略组合A. 写直达 写分配B. 写直达 非写分配C. 写回 写分配D. 写回 非写分配解析频繁写同一地址写回可减少写内存次数写缺失时由于后续还会写写分配可避免反复读缺失。选C。答案C8. 记忆口诀写直达同时写内存数据一致带宽疼。写回只改Cache行替换脏位再回存。写缺失时看分配调进Cache是写分。写直达配非分写回配分是标准。9. 给备考同学的一句话Cache写策略是计算机系统知识中的细节题但考点固定看到“同时更新内存” → 写直达看到“只写Cache替换时写回” → 写回 脏位看到“写缺失时先调入Cache” → 写分配通常与写回搭配看到“写缺失时直接写内存” → 非写分配通常与写直达搭配做几道题后就能熟练掌握。本专栏日更2篇点击头像 → 专栏《软考中级高频考点》订阅需要“计算机系统知识”完整思维导图私信回复“软考计算机”免费获取#软考中级 #软件设计师 #Cache写策略 #写直达 #写回 #写分配 #非写分配 #计算机系统知识
Cache写策略(写直达/写回/写分配/非写分配)
发布时间:2026/6/1 14:58:44
适合读者软考中级备考同学阅读时间3.5分钟内容写操作相关策略、写直达与写回、写分配与非写分配、组合方式、例题1. 为什么需要写策略当CPU执行写指令如STORE时如果目标地址的数据已经在Cache中写命中需要决定是立即同步更新到内存还是只更新Cache。如果数据不在Cache中写缺失也需要决定是否将数据调入Cache再写入。这些决策就是Cache写策略。写策略直接影响系统性能和数据一致性。软考常考四种策略的定义及其组合。2. 两类写策略针对写命中2.1 写直达Write Through也称全写法、直写定义写命中时同时更新Cache和内存。优点数据一致性容易保证内存总是最新利于多核共享。缺点每次写操作都要访问内存速度慢消耗带宽。优化可搭配写缓冲Write Buffer暂存待写入内存的数据释放CPU。2.2 写回Write Back也称回写法定义写命中时只更新Cache不立即更新内存。只有当该Cache行被替换时才写回内存。标记每个Cache行需要一个脏位dirty bit表示该行是否被修改过与内存不一致。优点减少对内存的写次数速度快。缺点实现复杂数据一致性较差多核环境下需额外协议。3. 两类写缺失策略当写操作的目标地址不在Cache中时有两种处理方式3.1 写分配Write Allocate也称写取法定义先将该缺失的数据块从内存调入Cache分配Cache行然后在Cache中执行写操作后续按写命中策略处理。特点利用空间局部性后续读写可能受益。通常与写回策略配合使用。3.2 非写分配No-Write Allocate也称写绕过定义不将缺失块调入Cache直接将数据写入内存。如果后续需要读该地址可能产生读缺失。特点避免因写操作污染Cache尤其当写入后不再读取时。通常与写直达策略配合使用。4. 常用组合实际Cache设计中写策略通常配对使用组合写命中写缺失应用场景写直达 非写分配同时写Cache和内存直接写内存不调入Cache简单易实现用于早期CPU或对一致性要求高的场合写回 写分配只写Cache置脏位调入Cache再写按写回现代CPU普遍使用性能好软考重点知道写分配通常和写回搭配非写分配通常和写直达搭配。5. 示例说明5.1 写直达 非写分配CPU执行写指令地址A不在Cache中 → 直接写入内存Cache不变。 CPU下次读地址A → 发生读缺失再从内存调入Cache。5.2 写回 写分配CPU执行写指令地址A不在Cache中 → 将包含A的内存块调入Cache 然后在该Cache行中写数据并标记脏位。内存暂不更新。 当该Cache行被替换时检查脏位若脏则写回内存否则丢弃。6. 对比总结表策略适用阶段核心操作优点缺点写直达写命中同时写Cache和内存一致性好简单写内存慢带宽占用高写回写命中只写Cache替换时写回速度快写内存少复杂一致性需额外协议写分配写缺失调入Cache再写利用局部性后续读快可能调入无用数据非写分配写缺失直接写内存避免Cache污染后续读可能再缺失7. 经典例题题目1某Cache采用写回策略以下描述正确的是 。A. 每次写操作都要写内存B. 需要为每个Cache行设置脏位C. 写命中时只写内存不写CacheD. 写缺失时一定不调入Cache答案BA是写直达C错误写回只写CacheD与写分配/非写分配无关题目2以下关于写分配策略的说法正确的是 。A. 写分配通常与写直达搭配使用B. 写分配在写缺失时不调入CacheC. 写分配在写缺失时将数据块调入Cache再写D. 写分配会减少对内存的写入次数答案C写分配常与写回搭配D减少写次数的是写回策略本身题目3判断采用写直达策略时若写缺失则必须采用写分配。 答案错误。写直达通常配合非写分配可以不调入Cache直接写内存。题目4场景分析一个程序频繁对同一个内存地址进行写操作但很少读取。为了获得较好性能应该选择哪种写策略组合A. 写直达 写分配B. 写直达 非写分配C. 写回 写分配D. 写回 非写分配解析频繁写同一地址写回可减少写内存次数写缺失时由于后续还会写写分配可避免反复读缺失。选C。答案C8. 记忆口诀写直达同时写内存数据一致带宽疼。写回只改Cache行替换脏位再回存。写缺失时看分配调进Cache是写分。写直达配非分写回配分是标准。9. 给备考同学的一句话Cache写策略是计算机系统知识中的细节题但考点固定看到“同时更新内存” → 写直达看到“只写Cache替换时写回” → 写回 脏位看到“写缺失时先调入Cache” → 写分配通常与写回搭配看到“写缺失时直接写内存” → 非写分配通常与写直达搭配做几道题后就能熟练掌握。本专栏日更2篇点击头像 → 专栏《软考中级高频考点》订阅需要“计算机系统知识”完整思维导图私信回复“软考计算机”免费获取#软考中级 #软件设计师 #Cache写策略 #写直达 #写回 #写分配 #非写分配 #计算机系统知识