CPU的多级缓存

一、CPU多级缓存架构
CPU的多级缓存

  • CPU主要存在L1,L2,L3三级缓存,序号越小,越接近CPU,速度越快
  • 一个CPU内核中有两个L1缓存(分别存储指令、数据),一个L2缓存;一个插槽中的内核共享一个L3缓存
  • 当CPU访问数据时,从上到下访问,如果都没有命中 ,则去内存中查找对应的数据并加载到缓存中

二、MSEI协议
因为操作系统中并发的存在,多核CPU中不同内核中执行的线程可能需要互相访问缓存中的数据,如果通过内存来实现跨核访问,则会导致访问速度的降低,并且内存控制器的带宽是一定的,无法承载如此大的数据访问量;所以直接通过复制缓存的方式来实现数据的共享;这样做会导致缓存不一致的现象,因此可以通过MSEI协议来实现缓存的一致性

  1. 四种状态
    M:修改状态,缓存行已被修改,属于脏数据
    CPU的多级缓存
    E:独享状态,只有一个CPU内核中加载了此缓存行CPU的多级缓存
    S:共享状态,有可能其它内核也存在此缓存行的拷贝
    CPU的多级缓存
    I:无效状态:缓存行失效, 不能使用
  2. 四种操作
    Local Read:表示本内核读本Cache中的值
    Local Write:表示本内核写本Cache中的值
    Remote Read:表示其它内核读其它Cache中的值
    Remote Write:表示其它内核写其它Cache中的值
  3. 主要状态转换概述
    CPU的多级缓存