美文网首页
CPU多级缓存

CPU多级缓存

作者: 带娃儿先走 | 来源:发表于2018-03-16 20:13 被阅读0次
  • 左图为最简单的高速缓存的配置,数据的读取和存储都经过高速缓存,CPU核心与高速缓存有一条特殊的快速通道;主存与高速缓存都连在系统总线上(BUS)这条总线还用于其他组件的通信

  • 在高速缓存出现后不久,系统变得越来越复杂,高速缓存与主存之间的速度差异被拉大,直到加入了另一级缓存,新加入的这级缓存比第一缓存更大,并且更慢,而且经济上不合适,所以有了二级缓存,甚至是三级缓存

多级缓存

CUP缓存有什么意义:

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

MESI:

  • M: Modified 修改,指的是该缓存行只被缓存在该CPU的缓存中,并且是被修改过的,因此他与主存中的数据是不一致的,该缓存行中的数据需要在未来的某个时间点(允许其他CPU读取主存相应中的内容之前)写回主存,然后状态变成E(独享)
  • E:Exclusive 独享 缓存行只被缓存在该CPU的缓存中,是未被修改过的,与主存的数据是一致的,可以在任何时刻当有其他CPU读取该内存时,变成S(共享)状态,当CPU修改该缓存行的内容时,变成M(被修改)的状态
  • S:Share 共享,意味着该缓存行可能会被多个CPU进行缓存,并且该缓存中的数据与主存数据是一致的,当有一个CPU修改该缓存行时,其他CPU是可以被作废的,变成I(无效的)
  • I:Invalid 无效的,代表这个缓存是无效的,可能是有其他CPU修改了该缓存行

CPU缓存一致性:

  • 保证多个cpu缓存 cache 之间缓存共享数据的一致性


    状态
    状态装换关系

乱序执行优化

  • 处理器为提高运算速度而做出违背代码原有顺序的优化


    例子

相关文章

  • 02章 并发基础

    CPU多级缓存 - 缓存一致性 用于保证多个CPU cache之间缓存共享数据的一致 CPU多级缓存 - 乱序执行...

  • 第一章-并发基础

    cpu多级缓存- 缓存一致性 cpu多级缓存- 乱序执行优化 JAVA内存模型【java Memory Model...

  • Java并发与高并发总结

    Java 并发和高并发 ava 多线程模块: 并发的基本概念: CPU 多级缓存 Cpu多级缓存的意义? Cpu对...

  • 多级缓存

    1.什么是CPU 多级缓存 用来和CPU直接交互的数据空间 2.为什么需要CPU 多级缓存 因为cpu的频率太快了...

  • CPU缓存及内存屏障

    CPU 性能优化手段 - 缓存 CPU 缓存模型: 多级缓存 L1 Cache (一级缓存) CPU第一级高速缓存...

  • CPU多级缓存

    左图为最简单的高速缓存的配置,数据的读取和存储都经过高速缓存,CPU核心与高速缓存有一条特殊的快速通道;主存与高速...

  • CPU多级缓存

    下图为最简单的高速缓存的配置,数据的读取和存储都经过高速缓存,CPU核心与高速缓存有一条特殊的快速通道;主存和高速...

  • Java并发编程

    并发编程基础 CPU多级缓存 我们为什么需要CPU缓存呢?因为cpu太快了,快到主存跟不上,cpu常常需要等待主存...

  • 并发编程基础概念

    CPU高速缓存、CPU多级缓存、CPU寄存器和CPU乱序执行优化 由于cpu的运算速度远远大于主内存的工作速度,为...

  • 高并发知识点

    CPU多级缓存 1. 缓存一致性(MSIE) MSIE:用于保证多个cpu cache之间缓存共享数据的一致。M:...

网友评论

      本文标题:CPU多级缓存

      本文链接:https://www.haomeiwen.com/subject/qhbrqftx.html