码迷,mamicode.com
首页 > 编程语言 > 详细

轻松学会Java高并发第二课-CPU多级缓存

时间:2018-10-09 00:35:00      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:com   之间   缓存   text   sha   个数   log   图片   mesi   

CPU多级缓存

为什么需要CPU缓存

  • CPU的频率越来越快,主存越来越跟不上CPU的变化,这样伴随的问题就是处理器的时钟周期内,CPU需要常常等待主存,浪费资源。所以缓存的出现,是为了缓解CPU和内存之间的速度不匹配问题。

一级缓存

  • CPU核心与主存之间有一层高速缓存。如下图(1)所示,数据的读取与存储都经过高速缓存。主存和缓存都连接在系统总线上(Bus)。
    技术分享图片

多级缓存

  • CPU核心与主存之间有多级缓存。如下图(2)所示
    技术分享图片

缓存如何解决CPU和内存之间的速度问题(意义)

  • 时间局部性:如果某个数据被访问,那么在不久的将来它很可能被再次访问
  • 空间局限性:如果某个数据被访问,那么与它相邻的数据也可能很快被访问

缓存一致性(MESI) 重点

  • 保证多个CPU cache 之间缓存共享数据的一致,如下图(3)所示。

技术分享图片

轻松学会Java高并发第二课-CPU多级缓存

标签:com   之间   缓存   text   sha   个数   log   图片   mesi   

原文地址:http://blog.51cto.com/12133258/2295994

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!