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

什么是集中刷新,分散刷新,和异步刷新

首先,为什么需要“刷新”?—— 先搞懂DRAM的“漏电”问题

计算机里的主存(比如内存条)大多是DRAM(动态内存),它存数据的原理像“装水的杯子”:每个存储单元是一个电容,充电代表“1”,没电代表“0”。但电容会偷偷“漏水”(漏电),数据过一段时间就会消失,所以必须定期“补水”—— 这就是刷新(Refresh)

1. 集中刷新:一口气干完活,但中间要“停工”

类比场景:比如你要给100盆花浇水,但浇水时不能干别的事。你选择先疯狂工作1小时,然后用10分钟集中把所有花浇完,浇水时啥也不干。

原理

  • DRAM的存储单元按“行”排列,假设共有1024行。
  • 系统设定一个刷新周期(比如64ms),在这64ms内,前63.9ms正常读写,最后0.1ms“一刀切”:停止所有读写操作,集中刷新所有1024行(每行刷一次)。
  • 优点:控制简单,读写效率高(大部分时间在干活)。
  • 缺点:最后0.1ms是“死时间”(啥也不能干),如果CPU刚好要访问内存,就得等,像上课突然停水10分钟,全班干坐着。

2. 分散刷新:边干活边“摸鱼”刷新,但效率低

类比场景:你每工作1分钟,就花5秒浇一盆花,100盆花需要100次,全程不耽误干活,但每次浇水都打断一下。

原理

  • 把刷新操作分散到每个“存储周期”里。比如一个存储周期是100ns,其中90ns用来读写,10ns用来刷新1行。
  • 这样,每完成一次读写,就顺便刷新1行,1024行需要1024个周期才能刷完,但全程不停止读写。
  • 优点没有集中死时间,CPU不用等
  • 缺点:每个周期都要分时间刷新,相当于“干活时总被打断”,整体效率降低,比如原本1秒能干10次活,现在只能干9次。

3. 异步刷新:按计划“摸鱼”,效率和稳定性兼顾

类比场景:你算好1小时内必须浇完100盆花,于是每36秒浇1盆(1小时=3600秒,3600÷100=36),既不耽误干活,也不会集中浇水。

原理

  • 结合前两者的优点:
    • 计算刷新周期:比如64ms内要刷新1024行,那么每隔64ms÷1024≈62.5μs刷新1行。
    • 系统按这个间隔自动触发刷新,比如每62.5μs偷偷刷新1行,刷新时不影响正常读写(因为只花一点点时间)。
  • 优点:没有集中死时间,也不会频繁打断读写,就像上课期间老师允许你每隔10分钟喝一口水,不耽误听课,也不会渴着。
  • 缺点:需要一个定时器精准控制间隔,硬件稍微复杂,但现代DRAM基本都用这种方式。

一句话总结三者区别

  • 集中刷新:先拼命干,最后集中摸鱼,但摸鱼时全停工;
  • 分散刷新:干一点活摸一次鱼,全程不停工,但干活慢;
  • 异步刷新:按计划摸鱼,既不停工,也不耽误干活,最聪明的方式。
http://www.lqws.cn/news/557245.html

相关文章:

  • 从 AJAX 到 axios:前端与服务器通信实战指南
  • 2023国赛linux的应急响应-wp
  • Re--攻防世界-基础android
  • C++ vector 完全指南:从入门到精通
  • 源码运行效果图(六)
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(三十八) -> 构建HAR
  • 基于springboot的海产品交易系统
  • 【数据标注师】3D标注
  • JWT认证性能优化实战指南
  • 《从 0 到 1 掌握正则表达式:解析串口数据的万能钥匙》
  • springboot+Vue逍遥大药房管理系统
  • 创建套接字时和填充地址时指定类型的异同
  • C++泛型编程2 - 类模板
  • 【数论】P11169 「CMOI R1」Bismuth / Linear Sieve|普及+
  • 嵌入式硬件与应用篇---寄存器GPIO控制
  • 进阶向:Flask框架详解,从零开始理解Web开发利器
  • Odoo邮箱别名使用指南:从配置到业务流程自动化
  • C# 委托(为委托添加方法和从委托移除方法)
  • docker部署后端服务的脚本
  • Golang JSON 标准库用法详解
  • Foundry测试实战:解锁区块链测试新姿势
  • Java 大视界 -- Java 大数据机器学习模型在金融市场高频交易策略优化与风险控制中的应用(327)
  • 单调栈一文深度解析
  • NLP——文本预处理(下)
  • 翻译服务器
  • Redis高级数据结构深度解析:BitMap、布隆过滤器、HyperLogLog与Geo应用实践
  • 趣味数据结构之——数组
  • Java 使用 Easy Excel 进行 Excel 数据导入导出
  • 一分钟了解思路链提示词(Chain-of-thought Prompting)
  • uni-app manifest.json 配置:定制化应用的各项功能和行为