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

cache写策略

cache写策略

写命中

全写法

当cpu对cache写命中时,必须把数据同时写入cache和主存,一般使用写缓冲

cpu不会一直在写入数据,当cpu去做其他事情的时候,会有一个控制电路,把数据从写缓冲逐一写入到主存

使用写缓冲,cpu写的速度很快,如果写操作不频繁,则效果很好,如果写操作很频繁,则可能会因为写缓冲饱和而发生阻塞

回写法

当cpu对cache命中时,之修改cache内容,不立刻写入主存,只有当此块被换出时才协写回主存

结合上一张的内容,也就是只有这个块被淘汰了,才会将数据写回到主存

因此,我们需要新增一个叫做脏位的标识,用于表示cache块是否被修改过

回写法会减少访问次数,但是存在数据不一致的安全隐患

写不命中

写分配法

当cpu对cache写不命中时,把主存中的块,掉入cache ,在cache中进行修改,通常搭配写回法使用

非写分配法

当cpu对cache写不命中时,只写入主存,不掉入cache,配合全写法使用

多级cache

现代计算机一般都使用多级cache结构

各级cache之间采用全写法和非写分配法

cache和主存之间用写回法和写分配法

计算cache容量

数据部分:cache总行数xcache行的数据部分位数

控制算法位:(有效位+替换算法位+脏位+tag标记位)xcache总行数

m路组相联,意味着每次标记同时和m行中保存的标记为比较,所以比较器需要m个

http://www.wxhsa.cn/company.asp?id=2117

相关文章:

  • 个人微信开发
  • C++之std::is_trivially_copyable
  • PostgreSQL技术大讲堂 - 第104讲:PostgreSQL分区表应用实践
  • redis实现缓存1-添加商户缓存
  • qemu的外部快照实现原理
  • Springboot 集成 飞书群消息
  • 最新爆料:GitHub Copilot全面推出OpenAI GPT-5 和 GPT-5 mini!
  • netstat 命令查看端口状态详解
  • 智聘无界:AI 破解全球化招聘合规、成本与人才匹配难题的实践路径
  • Nature | 本周最新文献速递
  • Flink 与Flink可视化平台StreamPark教程(CDC功能)
  • GAS_Aura-Setting Up Auto Running
  • Ubuntu 24.04 LTS 登录用户和密码忘记找回方法
  • 错排问题
  • 源码调试-带你了解下车牌识别的深度学习模型-LPRNet
  • 仓储物流业务字段(一)
  • ubuntu 24.04部署mysql8.0.41(glibc2.28)
  • cmakelist文件中常见语句的含义
  • charles破解-在线生成激活码
  • 微信个人号开发
  • 内部排序-直接插入排序冒泡排序快速排序对比
  • STM32读写EEPROM
  • OpenStack Nova 创建虚拟机
  • AI革命2025:新一代人力资源管理系统十大标杆产品评测
  • 企业HR系统选型全指南:百人初创到万人集团的数字化方案与实施路径
  • C++ auto关键字
  • API 响应体加密场景下的调试实践:Postman 的局限与 Apipost 的优化
  • ARM主板:低功耗高性能的嵌入式计算核心
  • Gin 模板系统深度解析:客服系统实战开发
  • 系统盘爆了,.vscode,.android占内存太多,使用mklink命令符号链接