Skip to content

10、cache 高速缓存

用来存放当前最活跃的程序和数据,位于 CPU 和主存之间,容量不大,速度比主存快 5-10 倍,对程序员透明,映射是由硬件自动完成的。

存放主存的部分拷贝信息

控制部分

判断 CPU 要访问的信息在 cache 中是否存在,存在的话则为命中直接访问,不存在的话则没有命中,从主存读取后存入 Cache

替换算法

Cache 的容量越大,命中率越高(非线性)。但是 Cache 的成本增加,命中时间增加。

  • 随机替换算法:用随机数发生器产生一个要替换的符号,将该块替换出去。
  • 先进先出算法:最先进入 Cache 的块,先被替换出去。
  • 近期最少使用算法:将近期最少使用的 Cache 中的信息块替换出去
  • 优化替换算法:先执行一次程序,统计 Cache 的替换情况

地址映像

CPU 工作时送出的是主存单元的地址,应从 Cache 存储器中读/写信息。这就需要将主存地址转换成 Cache 存储器地址,这就是地址映像

直接映像

主存的块和 Cache 块的对应关系是固定的,冲突大

全相联映像

允许主存的任一块可以调入 Cache 存储器的任何一个块的空间中。冲突小

组相联映像

组与组之间映射,冲突较少

KESHAOYE-知识星球 V20251014112120