CPU 多级缓存

打印 上一主题 下一主题

主题 899|帖子 899|积分 2697

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



  • Main Memory : 主存
  • Cache : 高速缓存,数据的读取存储都经过此高速缓存
  • CPU Core : CPU 核心
  • 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(主存)中读取。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊雷无声

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表