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

cache的基本原理

cache的基本原理

cpu从内存一条一条取指令

但是cpu速度很快,内存速度很慢

我们把使用频率高的代码读取到cache里与cpu交互,因为cache速度很快,这样内存和cpu的速度矛盾会被缓和

内存大概37GB/s

cache大概1000GB/s

如今的cache被集成在cpu内部,用sram实现,由于集成度不高,没法做的很大,因此容量肯定不会很大

空间局部性

在最近的未来要用到的信息,可能是与现在正在使用的信息在存储空间上邻近

时间局部性

在最近的未来要用到的信息,可能是现在正在用到的信息

cache命中率

cpu要找到某个功能的代码,

有两种情况

会同时在cache和内存中找

此时设cache的命中率为H

查找时间为t

那么查找时间为

\[t=Ht_c+(1-H)t_m \]

如果不是同时,而是先找cache,再去内存找

\[t=Ht_c+(1-H)(t_c+t_m) \]

![image-20250910211036273](/Users/tusier/Library/Application Support/typora-user-images/image-20250910211036273.png)

局部性的规则

将主存分,如每1KB为1块,主存和cache之间以块为单位进行信息交换

在操作系统中,这样一个也被称为“页/页面/页框” cache的也被叫做cache行

![image-20250910211605436](/Users/tusier/Library/Application Support/typora-user-images/image-20250910211605436.png)

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

相关文章:

  • 【办公自动化】如何使用Python脚本自动化处理音频?
  • 如何用 vxe-table 实现2个树表格可以互相拖拽数据
  • CSP 初赛必背
  • 最新安卓版16音轨简谱编辑器软件使用说明
  • 【URP】Unity超分辨率优化实践
  • 0125_命令模式(Command)
  • 通过 GitHub 仓库下载微信 Mac Windows 历史版本(Rodert 提供)
  • CSP 初赛整理
  • 使用GoLang执行Shellcode的技术解析
  • 【GitHub每日速递】想提升技术?这 些开源项目涵盖编程、服务器管理,别错过
  • cidr Not Available
  • 读人形机器人08制造行业
  • 现代Web应用渗透测试:JWT攻击实战指南
  • 分享10 个百度资源网盘搜索的网站大全
  • RST报文段的意义
  • Delphi TStringGrid控件学习笔记
  • 你可能不需要WebSocket-服务器发送事件的简单力量
  • JS 定时器 点击简书 button 加载更多 控制台触发
  • Oops! internal error 1341 occurred.
  • navicat查看mysql数据库大小
  • MyNetty Normal 规格池化内存分配在高并发场景的应用探讨
  • mongodb 慢查询模拟
  • Java第一次实验
  • HCIP回顾— BGP经典实验详解
  • 逆波兰表达式求值+滑动窗口最大值
  • 84. 柱状图中最大的矩形
  • 前k个高频元素
  • 千靶日记-0002
  • [序列化/JSON/Java/Utils] JACKSON 概述
  • 完全弹性碰撞公式推导