一种新型处理器缓存替换方法与流程

文档序号:14950601发布日期:2018-07-17 22:27阅读:222来源:国知局

本发明属于处理器性能优化领域,特别是涉及一种新型处理器缓存替换方法。



背景技术:

现有处理器缓存替换算法,基本为类lru(leastrecentlyused),为最近最少使用数据块,仅凭历史使用量作为替换算法判断依据。并没有利用程序的局部性信息,程序的局部性因程序而异。最近最少使用数据块在不同程序局部性的前提下,所表现出的被再次使用的频率差别较大,据此做为替换策略依据,所表现出的处理器性能会因程序而异。在程序的局部性不切合最近最少使用数据块以后使用概率小时,程序性能便会产生波动,因此存在性能瓶颈。

非阻塞式缓存设计已成为当前处理器缓存的标准结构,非阻塞式缓存的主要构成部件mshr及其subentry,mshr可以在缓存缺失时暂存缺失请求数据信息,使缓存不停顿继续等待,执行后续指令。对已被暂存主缺失请求的相同数据块的后续缺失请求,可以在相应mshr的subentry中记录,待mshr暂存主缺失请求数据取回后一并提交,暂存缺失请求和后续重叠缺失请求数据一并被满足。瞬时的缺失重叠量因程序的局部性不同而异,主缺失请求被mshr暂存到数据被取回这个时间段内,聚集的后续相同数据块的重叠请求,共同分摊了主缺失请求的缺失数据取回时间。缺失重叠量越大,存储器停顿等待时间越少,处理器性能越高。

为了进一步优化上述非阻塞式缓存设计,本发明在mshr部件中,设置数据块缺失重叠量的记录标记装置,将在mshr中暂存过的缺失数据块信息所对应的重叠量,标记在该数据块地址中。并在缓存替换策略中加入对比评判数据块缺失重叠量历史信息的装置,根据此信息,在替换选择点,在现有替换算法基础上,优先替换出历史缺失重叠信息高的数据块,以达到处理器性能优化的目的。



技术实现要素:

本发明的目的在于提供一种新型处理器缓存替换方法,通过在缓存mshr部件上设置数据块缺失重叠量的记录标记装置,将在mshr中暂存过的缺失数据块信息所对应的重叠量,标记在该数据块地址中,在现有替换算法基础上,优先替换出历史缺失重叠信息高的数据块,解决了传统类lru仅凭历史使用量作为替换算法判断依据,导致程序使用偏差加大,处理器性能波动不稳定等问题。

为解决上述技术问题,本发明是通过以下技术方案实现的:

本发明为一种新型处理器缓存替换方法,包括如下步骤:

步骤ss001设置重叠统计寄存器对缓存mshr相应部件上subentry的缺失重叠量信息进行收集标记;

步骤ss002若统计相同数据块地址,则更新历史统计;

步骤ss003根据综合硬件开销确定重叠统计寄存器表空间大小;

步骤ss004超出空间的新数据块地址记录替换出寄存器表中重叠量最低的地址记录;

步骤ss005替换过程中加入重叠量信息;

步骤ss006设置重叠替换阀值;

步骤ss007判断寄存表中是否有超过重叠替换阀值;

若是,则执行步骤ss008;

若否,则执行步骤ss009;

步骤ss008选择重叠量最大的数据块标记为在其数据取回被放置于缓存中后的下一次替换出缓存的对象;

步骤ss009选取被替换过次数最多的数据块作为替换对象。

优选地,所述步骤ss003中,重叠统计寄存器表以数据块地址为主键,包括序号、数据块地址、重叠量和替换次数。

优选地,所述步骤ss006中,重叠替换阀值的大小根据根据实际需求和综合硬件开销设定。

优选地,所述步骤ss007中,重叠替换阀值跟重叠统计寄存器表中重叠量进行比对,若重叠量大于重叠替换阙值,则最大的作为下一次替换对象;若重叠量均小于重叠替换阙值,则替换次数最多的作为下一次替换对象;若没有被替换过的数据块,则仅依照系统现有替换策略替换。

本发明具有以下有益效果:

本发明通过在缓存mshr部件上设置数据块缺失重叠量的记录标记装置,将在mshr中暂存过的缺失数据块信息所对应的重叠量,标记在该数据块地址中,在现有替换算法基础上,优先替换出历史缺失重叠信息高的数据块,优化了处理器性能,减少了程序性能产生的波动。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的一种新型处理器缓存替换方法步骤图;

图2为本发明的缓存替换的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1-2所示,本发明为一种新型处理器缓存替换方法,包括如下步骤:

步骤ss001设置重叠统计寄存器对缓存mshr相应部件上subentry的缺失重叠量信息进行收集标记;

步骤ss002若统计相同数据块地址,则更新历史统计;

步骤ss003根据综合硬件开销确定重叠统计寄存器表空间大小;

步骤ss004超出空间的新数据块地址记录替换出寄存器表中重叠量最低的地址记录;

步骤ss005替换过程中加入重叠量信息;

步骤ss006设置重叠替换阀值;

步骤ss007判断寄存表中是否有超过重叠替换阀值;

若是,则执行步骤ss008;

若否,则执行步骤ss009;

步骤ss008选择重叠量最大的数据块标记为在其数据取回被放置于缓存中后的下一次替换出缓存的对象;

步骤ss009选取被替换过次数最多的数据块作为替换对象。

其中,步骤ss003中,重叠统计寄存器表以数据块地址为主键,包括序号、数据块地址、重叠量和替换次数。

其中,步骤ss006中,重叠替换阀值的大小根据根据实际需求和综合硬件开销设定。

其中,步骤ss007中,重叠替换阀值跟重叠统计寄存器表中重叠量进行比对,若重叠量大于重叠替换阙值,则最大的作为下一次替换对象;若重叠量均小于重叠替换阙值,则替换次数最多的作为下一次替换对象;若没有被替换过的数据块,则仅依照系统现有替换策略替换。

值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如rom/ram、磁盘或光盘等。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1