末级高速缓存软硬件协作分区域管理系统及管理方法技术方案

技术编号:15639169 阅读:71 留言:0更新日期:2017-06-15 21:49
一种末级高速缓存软硬件协作分区域管理系统及管理方法,涉及计算机系统中的末级高速缓存管理领域,提高了处理器的访存性能并有效降低了末级高速缓存污染和系统开销。本发明专利技术包括:分区域性能监视及末级高速缓存控制器,用于在线统计操作系统的应用程序内每个数据区域的末级高速缓存访问信息,并控制所述数据区域相对于末级高速缓存的旁路或插入位置;分区域访存行为剖视分析模块,用于读取所述末级高速缓存访问信息并根据所述末级高速缓存访问信息来分析每个所述数据区域的访存行为和局部性特征;以及分区域旁路及插入策略决策模块,用于根据每个所述数据区域的访存行为和局部性特征来为每个所述数据区域选择旁路策略或插入策略。

【技术实现步骤摘要】
末级高速缓存软硬件协作分区域管理系统及管理方法
本专利技术涉及计算机系统中的末级高速缓存管理领域,尤其涉及一种末级高速缓存软硬件协作分区域管理系统及管理方法。
技术介绍
高速缓存处于处理器访问的关键路径。随着处理器和存储器之间速度差距的不断扩大,高速缓存尤其是末级高速缓存失效产生的系统开销逐渐增大,成为制约计算机整体性能提高的重要瓶颈之一。程序内部不同数据区域可能存在不同的访问模式和局部性特征。但是,当前处理器高速缓存通常采用单纯基于硬件实现的最近最少使用(LRU)替换算法。该算法不能有效识别访问数据的局部性特征并根据数据局部性的变化及时调整管理策略。未来不会被使用到的数据如果不能被有效识别并同局部性良好的数据相区分,就可能会将复用度高的数据替换出高速缓存,从而引发高速缓存污染问题。在采用多级高速缓存的系统中,由于上级高速缓存的过滤作用,使得末级高速缓存污染更加严重。现代计算机普遍采用虚拟存储系统。在支持分页机制的虚拟存储系统中,程序地址空间被划分为若干大小相同的页。在程序运行过程中,不同页之间的局部性特征可能存在较大差异。限制局部性差数据页的末级高速缓存访问空间可以减少其对其他数据页高速缓存空间的抢占,在高速缓存中保护局部性良好的数据,从而提高末级高速缓存的性能。针对末级高速缓存污染问题,当前解决方案通常采用末级高速缓存软件划分的方法。该方法缺少软硬件交互接口,只能将末级高速缓存划分为若干区域,通过将失效率高、局部性差的数据页限制在范围较小的区域内,提高末级高速缓存命中率。此类方法在进行高速缓存划分时需要修改虚拟地址和物理地址的映射关系,从而引入大量的数据拷贝等开销,同时还需要预留一定的物理页框,占用较多的内存资源。末级高速缓存相关硬件优化方法通过增加性能监视模块,分析并预测单个数据行的使用频率和局部性强度。在预测信息的指导下,该系列方法采用旁路等技术隔离局部性差的数据,在末级高速缓存中保护局部性良好的数据,从而提高末级高速缓存利用率,减少处理器访存延迟。但是,以高速缓存行为单位的、细粒度的优化方法实现较为复杂并且需要大量额外的存储空间,同时具有较高的设计开销和延迟代价。动态插入策略(DIP)采用锦标赛机制(SetDueling),在两种不同的插入策略之间动态切换。该方法仅采用少量硬件逻辑就可以检测程序的访存行为。但是,由于记录的访存信息有限,该方法在面对混合模式(即,LRU友好模式、流模式、颠簸模式中任意模式的组合)时不能有效检测局部性差的数据,存在一定的误判现象。
技术实现思路
本专利技术要解决的技术问题是:如何共同使用硬件和软件来有效管理末级高速缓存以提高处理器的访存性能,从而有效降低限制局部性差数据的末级高速缓存访问空间并降低末级高速缓存污染和系统开销。为了解决上述技术问题,本专利技术提供了一种末级高速缓存软硬件协作分区域管理系统,包括:分区域性能监视及末级高速缓存控制器,用于在线统计操作系统的应用程序内每个数据区域的末级高速缓存访问信息,并控制所述数据区域相对于末级高速缓存的旁路或插入位置;分区域访存行为剖视分析模块,用于读取所述末级高速缓存访问信息并根据所述末级高速缓存访问信息来分析每个所述数据区域的访存行为和局部性特征;以及分区域旁路及插入策略决策模块,用于根据每个所述数据区域的访存行为和局部性特征来为每个所述数据区域选择旁路策略或插入策略。进一步地,所述末级高速缓存访问信息包括:末级高速缓存失效次数和末级高速缓存命中次数。进一步地,所述分区域性能监视及末级高速缓存控制器包括:末级高速缓存失效计数器,用于计数所述末级高速缓存失效次数;以及末级高速缓存命中计数器,用于计数所述末级高速缓存命中次数。进一步地,所述分区域性能监视及末级高速缓存控制器包括:旁路控制位和插入策略控制位,并且所述管理系统还包括:策略选择寄存器,用于与所述分区域性能监视及末级高速缓存控制器配合来控制所述数据区域相对于末级高速缓存的插入位置;以及插入策略控制逻辑电路,包括:反向器,用于对插入策略控制位执行取反操作;以及与门控制逻辑,用于对经过取反操作的插入策略控制位和策略选择寄存器的最高位进行与操作,并且所述控制所述数据区域相对于末级高速缓存的旁路或插入位置包括:在选择所述旁路策略情况下通过所述旁路控制位来控制相应的数据区域被旁路,使得所述数据区域中的数据不访问末级高速缓存;以及在选择所述插入策略情况下通过所述插入策略控制位和策略选择寄存器的最高位来控制相应的数据区域中的数据被插入到末级高速缓存中的位置。进一步地,所述访存行为包括:最近最少使用友好模式、流模式、颠簸模式和混合模式。进一步地,在所述访存行为是流模式或所述局部性特征较差的情况下为相应的所述数据区域选择旁路策略。进一步地,在所述访存行为是最近最少使用友好模式、颠簸模式和混合模式或所述局部性特征较差的情况下为相应的所述数据区域选择插入策略。进一步地,所述位置包括最近最多使用位置和最近最少使用位置,如果经过与操作的运算结果为1,则将相应的所述数据区域中的输入插入到末级高速缓存中的最近最多使用位置,否则将相应的所述数据区域中的输入插入到末级高速缓存中的最近最少使用位置。为了解决上述技术问题,本专利技术还提供了一种末级高速缓存软硬件协作分区域管理方法,包括:由分区域性能监视及末级高速缓存控制器在线统计操作系统的应用程序内每个数据区域的末级高速缓存访问信息,并控制所述数据区域相对于末级高速缓存的旁路或插入位置;由分区域访存行为剖视分析模块读取所述末级高速缓存访问信息并根据所述末级高速缓存访问信息来分析每个所述数据区域的访存行为和局部性特征;以及由分区域旁路及插入策略决策模块根据每个所述数据区域的访存行为和局部性特征来为每个所述数据区域选择旁路策略或插入策略。进一步地,所述末级高速缓存访问信息包括:末级高速缓存失效次数和末级高速缓存命中次数。进一步地,所述分区域性能监视及末级高速缓存控制器包括:末级高速缓存失效计数器,用于计数所述末级高速缓存失效次数;以及末级高速缓存命中计数器,用于计数所述末级高速缓存命中次数。进一步地,所述分区域性能监视及末级高速缓存控制器包括:旁路控制位和插入策略控制位,并且所述管理方法还包括:由策略选择寄存器与所述分区域性能监视及末级高速缓存控制器配合来控制所述数据区域相对于末级高速缓存的插入位置;由反向器对插入策略控制位执行取反操作;以及由与门控制逻辑对经过取反操作的插入策略控制位和策略选择寄存器的最高位进行与操作,并且所述控制所述数据区域相对于末级高速缓存的旁路或插入位置包括:在选择所述旁路策略情况下通过所述旁路控制位来控制相应的数据区域被旁路,使得所述数据区域中的数据不访问末级高速缓存;以及在选择所述插入策略情况下通过所述插入策略控制位和策略选择寄存器的最高位来控制相应的数据区域中的数据被插入到末级高速缓存中的位置。进一步地,所述访存行为包括:最近最少使用友好模式、流模式、颠簸模式和混合模式。进一步地,在所述访存行为是流模式或所述局部性特征较差的情况下为相应的所述数据区域选择旁路策略。进一步地,在所述访存行为是最近最少使用友好模式、颠簸模式和混合模式或所述局部性特征较差的情况下为相应的所述数据区域选择插入策略。进一步地,所述位置包括最近最多使用位本文档来自技高网
...
末级高速缓存软硬件协作分区域管理系统及管理方法

【技术保护点】
一种末级高速缓存软硬件协作分区域管理系统,其特征在于,包括:分区域性能监视及末级高速缓存控制器,用于在线统计操作系统的应用程序内每个数据区域的末级高速缓存访问信息,并控制所述数据区域相对于末级高速缓存的旁路或插入位置;分区域访存行为剖视分析模块,用于读取所述末级高速缓存访问信息并根据所述末级高速缓存访问信息来分析每个所述数据区域的访存行为和局部性特征;以及分区域旁路及插入策略决策模块,用于根据每个所述数据区域的访存行为和局部性特征来为每个所述数据区域选择旁路策略或插入策略。

【技术特征摘要】
1.一种末级高速缓存软硬件协作分区域管理系统,其特征在于,包括:分区域性能监视及末级高速缓存控制器,用于在线统计操作系统的应用程序内每个数据区域的末级高速缓存访问信息,并控制所述数据区域相对于末级高速缓存的旁路或插入位置;分区域访存行为剖视分析模块,用于读取所述末级高速缓存访问信息并根据所述末级高速缓存访问信息来分析每个所述数据区域的访存行为和局部性特征;以及分区域旁路及插入策略决策模块,用于根据每个所述数据区域的访存行为和局部性特征来为每个所述数据区域选择旁路策略或插入策略。2.根据权利要求1所述的管理系统,其特征在于,所述末级高速缓存访问信息包括:末级高速缓存失效次数和末级高速缓存命中次数。3.根据权利要求2所述的管理系统,其特征在于,所述分区域性能监视及末级高速缓存控制器包括:末级高速缓存失效计数器,用于计数所述末级高速缓存失效次数;以及末级高速缓存命中计数器,用于计数所述末级高速缓存命中次数。4.根据权利要求1、2或3所述的管理系统,其特征在于,所述分区域性能监视及末级高速缓存控制器包括:旁路控制位和插入策略控制位,并且所述管理系统还包括:策略选择寄存器,用于与所述分区域性能监视及末级高速缓存控制器配合来控制所述数据区域相对于末级高速缓存的插入位置;以及插入策略控制逻辑电路,包括:反向器,用于对插入策略控制位执行取反操作;以及与门控制逻辑,用于对经过取反操作的插入策略控制位和策略选择寄存器的最高位进行与操作,并且所述控制所述数据区域相对于末级高速缓存的旁路或插入位置包括:在选择所述旁路策略情况下通过所述旁路控制位来控制相应的数据区域被旁路,使得所述数据区域中的数据不访问末级高速缓存;以及在选择所述插入策略情况下通过所述插入策略控制位和策略选择寄存器的最高位来控制相应的数据区域中的数据被插入到末级高速缓存中的位置。5.根据权利要求4所述的管理系统,其特征在于,所述访存行为包括:最近最少使用友好模式、流模式、颠簸模式和混合模式。6.根据权利要求5所述的管理系统,其特征在于,在所述访存行为是流模式或所述局部性特征较差的情况下为相应的所述数据区域选择旁路策略。7.根据权利要求5所述的管理系统,其特征在于,在所述访存行为是最近最少使用友好模式、颠簸模式和混合模式或所述局部性特征较差的情况下为相应的所述数据区域选择插入策略。8.根据权利要求5或7所述的管理系统,其特征在于,所述位置包括最近最多使用位置和最近最少使用位置,如果经过与操作的运算结果为1,则将相应的所述数据区域中的输入插入到末级高速缓存中的最近最多使用位置,否则将相应的所述数据区域中的输入插入到末级高速缓存中的最近...

【专利技术属性】
技术研发人员:程旭黄涛王晶管雪涛
申请(专利权)人:北京北大众志微系统科技有限责任公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1