Cache替换算法

由于Cache很小,主存很大,Cache很容易装满,Cache满了怎么办?

——采用替换算法。

  • 全相联映射:Cache完全满了才需要替换,需要在全局中选择替换哪一块。
  • 直接映射:如果对应位置非空,则毫无选择地直接替换。
  • 组相联映射:分组内满了才需要替换,需要在分组内选择替换哪一块。

替换算法只有在全相联映射和组相联映射中才会被用到,直接映射无需使用替换算法。

接下来以全相联映射为例分别介绍随机算法(RAND)、先进先出算法(FIFO)、近期最少使用算法(LRU)、最近不经常使用算法(LFU)。

随机算法:

Cache替换算法_第1张图片

 先进先出算法:

Cache替换算法_第2张图片

抖动现象:频繁的换入换出现象(刚被替换的块很快又被调入)

近期最少使用算法(LRU):

  Cache替换算法_第3张图片

最近不经常使用算法(LFU):

Cache替换算法_第4张图片

知识回顾

Cache替换算法_第5张图片

你可能感兴趣的:(#,计算机组成原理,学习,算法)