轻松学会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多级缓存的主要内容,如果未能解决你的问题,请参考以下文章