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

CPU多级缓存

为何须要CPU缓存

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

一级缓存

  • CPU核心与主存之间有一层高速缓存。以下图(1)所示,数据的读取与存储都通过高速缓存。主存和缓存都链接在系统总线上(Bus)。
    图1

多级缓存

  • CPU核心与主存之间有多级缓存。以下图(2)所示
    图2

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

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

缓存一致性(MESI) 重点

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

图3

相关文章
相关标签/搜索