当前位置: 首页 > news >正文

【计算机组成原理】高速缓冲存储器 Cache 的写策略(Writing Policy)

写策略 Writing Policy

缓存的写策略指的是确定何时将数据写入缓存或主存的策略。

写命中 Write Hit

全写法 Write Through

在全写法策略中,每次发生写操作时都会将数据同时写入缓存和主存。这样可以保证数据的一致性,但会增加主存的写入操作,降低写入性能。需要设置写缓存(Write Buffer)。

写会法 Write Back

在写回策略中,当缓存中的数据发生变化时,只会在发生替换时才将修改过的数据写回主存,而不会立即将数据写回到主存。这样可以减少对主存的写入次数,提高性能,但可能会导致数据不一致性,因为修改过的数据在缓存中比在主存中更为新,如果系统出现异常情况,可能会导致数据丢失。每个Cache行必须设置一个标志位(脏位),以反映此块是否被CPU修改过。

写不命中 Write Miss

写分配 Write Allocate

写分配指的是当发生缓存写操作时,需要将相应的数据块装入缓存中。写回和写直达策略都可能采用写分配。

非写分配 No-write Allocate

非写分配指的是当发生缓存写操作时,不会将相应的数据块装入缓存,而是直接写入主存。这种策略一般用于写直达策略中。

相关文章:

  • 【教学类-43-20】20240113 数独(二)4宫格、9宫格 无空行A4模板
  • 【REST2SQL】05 GO 操作 达梦 数据库
  • 代码随想录算法训练营第八天|344.反转字符串 ,541. 反转字符串II ,151.翻转字符串里的单词,55.右旋转字符串
  • Python中如何简化if...else...语句
  • SSH远程访问与控制
  • Python 密码设置输入掩码的方法
  • linux 网络设置
  • C#监听Dictionary、List的写入操作
  • windows下如何搭建Yapi环境
  • 深入 Move 生态,探秘铭文热潮背后的思考
  • nestjs中@Injectable()的实现原理
  • 四、字符串与数值
  • ENNOID-BMS从控板分析-基于LTC6813的版本
  • 【OSG案例详细分析与讲解】之九:【形状变形动画】
  • Ensp AR/WLAN设备启动失败问题 错误代码41 解决方案
  • chrome扩展demo1-小时钟
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • Java程序员幽默爆笑锦集
  • KMP算法及优化
  • LintCode 31. partitionArray 数组划分
  • mysql 数据库四种事务隔离级别
  • Xmanager 远程桌面 CentOS 7
  • 从零开始在ubuntu上搭建node开发环境
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 嵌入式文件系统
  • 通过git安装npm私有模块
  • 通信类
  • 由插件封装引出的一丢丢思考
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • C# - 为值类型重定义相等性
  • 带你开发类似Pokemon Go的AR游戏
  • ​flutter 代码混淆
  • ​LeetCode解法汇总518. 零钱兑换 II
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (C++20) consteval立即函数
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (转)LINQ之路
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • [ C++ ] STL---仿函数与priority_queue
  • [BZOJ3223]文艺平衡树
  • [Bzoj4722]由乃(线段树好题)(倍增处理模数小快速幂)
  • [C++]C++类基本语法
  • [C++随笔录] 红黑树
  • [CC2642r1] ble5 stacks 蓝牙协议栈 介绍和理解
  • [CERC2017]Cumulative Code
  • [codeforces] 25E Test || hash
  • [CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]
  • [JavaWeb学习] Spring Ioc和DI概念思想
  • [LeetCode]: 145: Binary Tree Postorder Traversal
  • [LeetCode][LCR178]训练计划 VI——使用位运算寻找数组中不同的数字