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

CPU 多级缓存

在多线程并发场景下,普通的累加很可能错的

CPU 多级缓存

  1. Main Memory : 主存
  2. Cache : 高速缓存,数据的读取存储都经过此高速缓存
  3. CPU Core : CPU 核心
  4. Bus : 系统总线

CPU Core 和 Cache 通过快速通道连接,Main menory 和 Cache 都挂载到 Bus 上通信,Bus 还用于其它组件的通信,在 Cache 出现后,系统变得越来越复杂,Cache 和 Main memory 的速度差异越来越大,直到加入另一级 Cache,新加入的 Cache 比第一级 Cache 要大,但是速度更慢,由于加大一级 Cache 从经济上不划算,所以出现了二级 Cache,三级 Cache。

为什么要使用 CPU CACHE

CPU 的频率太快了,快到主存跟不上,在 CPU 时钟周期内,CPU 需要等待主存,浪费资源,这样 CPU 会花很长时间等待数据或把数据写入主存。所以 Cache 出现的意义是匹配 Main menory(主存)和 CPU 速度不匹配的问题。
CPU > CACHE > Main Memory

CPU CACHE 的意义

缓存的容量要远远小于 Main Memory(主存),因此出现缓存不命中的情况在所难免。

CACHE 意义

1.时间局部性:如果一个数据被访问,那么在不久的将来很可能再次被访问。

2.空间局部性:如果一个数据被访问,那么它相邻的数据很可能被再次访问。

缓存的工作原理:当 CPU 读取一个数据时,先从 Cache(缓存)中查找,如果查到了,就直接送给 CPU 处理,反之就会去速度慢的 Main Memory(主存)去读取,并把该数据写入到 Cache(缓存),下次 CPU 再次读取该数据时,直接去 Cache 取。
Cache(缓存)的命中率很高(90%),也就是说 CPU 下一次读取数据 90%都在缓存,只有 10%的数据需要去 Main Memory(主存)中读取。

http://www.lryc.cn/news/455097.html

相关文章:

  • Chrome浏览器调用ActiveX控件--allWebOffice控件功能介绍
  • JavaScript-下篇
  • STM32-HAL库驱动DHT11温湿度传感器 --2024.9.28
  • 使用C语言获取iostat中的await值的方法和方案
  • 阿里云域名解析和备案
  • gitee公钥设置、创建库及使用
  • 融媒体服务中PBO进行多重采样抗锯齿(MSAA)
  • 说说BPMN概念及应用
  • 【微服务】初识(day1)
  • 15分钟学 Python 第40天:Python 爬虫入门(六)第一篇
  • 分层解耦-05.IOCDI-DI详解
  • HCIP-HarmonyOS Application Developer 习题(六)
  • 【电路基础 · 3】实际电压源 实际电流源;两种电源的等效情况;戴维南模型 诺顿模型(自用)
  • 案例-猜数字游戏
  • POI数据的处理与分析
  • ansible部分模块学习
  • 数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(二).设置主键自增等特点
  • SQL第13课——创建高级联结
  • 订阅ROS2中相机的相关话题并保存RGB、深度和点云图
  • Open WebUI | 自托管的类 ChatGPT 网站
  • 【Python】Python知识总结浅析
  • c#代码介绍23种设计模式_20策略者模式
  • FPGA-UART串口接收模块的理解
  • 复习HTML(基础)
  • Linux聊天集群开发之环境准备
  • can 总线入门———can简介硬件电路
  • 【重学 MySQL】六十、空间类型
  • python实现DES算法
  • 基于LORA的一主多从监测系统_框架搭建
  • 优化理论及应用精解【25】