系统结构第四章-高速缓冲器

2021/02/25

Cache的替换算法

直接映像的情况下,Cache块有数据就直接替换,没有数据就把内存的数据放入其中

Cache的替换算法主要是对全映像,组映像进行一个操作

随机法:Cache的空间不足时,从内存中取数据到Cache

FIFO/先进先出算法:先加载进Cache的数据先替换,后加载的后替换

LRU/最近最少使用算法:每次加载数据进Cache时,对最近最少使用的Cache块打个标记,然后Cache满了的时候,直接替换掉标记的Cache

写入

CPU写入数据到Cache的策略

写回法:CPU要写入数据到Cache,等数据积攒到一定量或者要替换时在写入Memory

写直达法:CPU每次要写入数据到Cache,就把数据一起写入Memory

一致性

当CPU是多核数量的情况下,每个核都配置一个Cache。

若是CPU1对Cache1进行了修改,并且写入Memory中。

CPU2中的Cache2数据没有进行更新,那就发生了数据不一致,所以需要解决。

写作废协议(作废法):CPU1写入数据时,把Cache2的该数据的有效位作废

写更新协议(播写法):CPU1写入数据时,把Cache2的该数据的一起更新

缺失率:CPU访问Cache没获取到数据的几率

  • 组的数量一样时,Cache块的容量越大,命中率越高,缺失率越低。

  • 块的容量一样时,Cache组的数量越多,命中率越高,缺失率越低。

Cache性能分析

设$t_c$为Cache的访问时间,$t_m$为memory访问时间,为访Cache的命中率

使用Cache提升性能的倍数:

目 录