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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了轻松学会Java高并发第二课-CPU多级缓存相关的知识,希望对你有一定的参考价值。

CPU多级缓存

为什么需要CPU缓存

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

一级缓存

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

多级缓存

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

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

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

缓存一致性(MESI) 重点

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

技术分享图片

以上是关于轻松学会Java高并发第二课-CPU多级缓存的主要内容,如果未能解决你的问题,请参考以下文章

Java并发编程与高并发解决方案

Java并发编程与高并发解决方案 视频教程

高并发学习

并发编程的基础

并发与高并发

高并发系统设计之缓存