程序放在哪儿

2021-11-24  本文已影响0人  一生逍遥一生

CPU大多数时间在执行相同的指令或者与此相邻的指令,这就是程序局部性原理。
现在X86 CPU和ARM CPU都是集成在CPU内部的。
Cache主要由高速的静态存储器、地址转换模块和Cache行替换模块组成。
Cache大致的逻辑工作流程如下:

  • CPU发出的地址由CPU的地址转换模块分成3段:组号、行号,行内偏移
  • Cache会根据组号、行号查找高速静态存储器中对应的行。如果命中,直接获取,如果没有命中,把内存中对应的数据加载到Cache行并返回给CPU。回写是写入对应的Cache行就结束了,直通写则是在写入Cache行的同时写入内存。
  • 如果没有新行了,就要进入行替换逻辑,即找出一个Cache行写会内存,腾出空间,替换行有相关的算法, 替换算法使为了让替换的代价最小化。

MESI协议定义了4种基本状态:M(修改)E(独占)S(共享)I(无效)。通过MESI协议处理数据不一致性。

CD=0,NW=0的组合才是开启Cache的正确方法。

上一篇 下一篇

猜你喜欢

热点阅读