论文部分内容阅读
近年来,随着硬件技术的发展,处理器的速度越来越快,然而存储墙问题依然存在——处理器的速度与存储器的速度不匹配。缓解这种不匹配现状的重要途径是使用Cache作为两者之间的桥梁。Cache的替换策略决定着数据块在其中存在的时间,直接影响着处理器的性能,因此,对Cache的替换算法的研究依旧是近几年的热门话题。本文对Cache的替换算法的研究主要是针对重引用区间预测策略(RRIP)存在的不足,提出的改进措施。针对RRIP无法消除无用的Cache块对Cache的影响,本文提出了动态回路重引用区间预测策略(RRIPAB)。该策略在保留RRIP的重引用区间链和新块插入位置基础上结合了动态回路策略,既保留了针对混合型程序模式和颠簸型程序模式降低缺失率的优点,也增加对无用块的回路。在Cache发生命中时,RRIPAB采取的措施是RRIP的提升策略。当Cache发生缺失时,RRIPAB根据回路可能性的大小来选择采用动态RRIP策略的动态插入方式和动态回路策略。本文提出的RRIPAB策略是在程序运行过程中对动态RRIP和动态回路策略进行组对决,选择最适合当前程序的替换策略。使用LRU、RRIP和动态回路策略作为对比实验,实验结果表明RRIPAB保留了 RRIP和动态回路策略的优势,对混合型程序模式和颠簸型程序模式产生的缺失率明显低于LRU和动态回路策略,增加了动态回路对几乎所有的程序类型都降低缺失率和提高IPC。针对RRIP无法根据程序类型的不同选择更合适的插入位置,本文提出了基于映射动态插入重引用区间预测策略(MIRRIP)。该策略根据时间局部性设计出访存映射表,将每条指令影响数据发生重用的信息,划分成5个重用可能性。根据空间局部性设计出回路过滤表,将相邻的若干块划分成一个区,根据每个区块发生重用的信息,将每个区设置不同的两个状态。综合访存映射表和回路过滤表,来决定当前新插入块的重用可能性。然后,根据重用可能性选择新块插入到重引用区间链的相应位置。本策略能使Cache更好地保留有用的Cache块。MIRRIP保留了 RRIP策略提升快优势的同时也对不同的程序类型改变插入位置,从而提升了性能。实验表明MIRRIP对LRU、RRIP和基于映射动态插入策略都降低了缺失率和提高了 IPC。