在计算机体系结构设计时,通常在CPU和内存之间设置小容量的Cache机制,以提高CPU数据输入输出速率。通常当Cache存满数据后,新数据必须替换(淘汰) Cache中的某些旧数据。常用的数据替换算法包括(随机算法、先进先出(FIFO) 和近期最少使用(LRU))。
Cache是设置在CPU与内存之间的高速小容量存储部件,用于缓解CPU与内存的速度差异,提升数据存取效率。当Cache存满时需通过替换算法淘汰旧数据,目前主流常用的三类替换算法分别是随机算法、先进先出(FIFO)算法和近期最少使用(LRU)算法。其中随机算法实现逻辑简单,随机选取待淘汰的缓存块;先进先出算法依据数据进入Cache的顺序,始终淘汰最早进入的缓存块;近期最少使用算法则淘汰最长时间未被访问的缓存块,命中率相对较高。另外要明确,先进后出(FILO)属于堆栈的访问策略,并非Cache替换算法;轮询调度(RRS)是进程调度算法,和Cache替换无关;最近最常使用(MRU)算法仅在特定场景适用,不属于主流常用的Cache替换算法范畴。
本题考察的是Cache常用的数据替换算法。
A选项随机算法、先进先出(FIFO) 和近期最少使用(LRU):这是最常见的三大缓存替换策略。随机算法实现简单;FIFO 总是替换最早进入 Cache 的块;LRU 替换最长时间未被访问的块。该选项正确。
B选项随机算法、先进后出(FILO) 和近期最少使用(LRU):FILO 是堆栈的访问策略,不属于 Cache 替换算法。错误。
C选项轮询调度(RRS)、先进先出(FIFO) 和近期最少使用(LRU):轮询调度是进程调度算法,不是缓存替换算法。错误。
D选项先进先出(FIFO)、近期最少使用(LRU) 和最近最常使用(MRU):MRU(Most Recently Used)存在,但只在特定场景下适用,并不是主流常用的三种算法。错误。
因此,本题答案为 A。
