一种多核处理器系统的目录缓存管理方法

文档序号:6634188阅读:146来源:国知局
一种多核处理器系统的目录缓存管理方法
【专利摘要】本发明公开了一种多核处理器系统的目录缓存管理方法,包括以下步骤:利用内存地址的缓存块索引位对目录缓存进行划分;于系统物理内存分配时,通过为不同并行单元的数据分配不同的缓存块索引位,控制所述并行单元所占用的目录缓存容量。本发明公开的多核处理器系统的目录缓存管理方法,能够解决由于目录缓存的容量有限,不同并行单元的数据在目录缓存中的冲突造成系统性能降低的问题。
【专利说明】—种多核处理器系统的目录缓存管理方法

【技术领域】
[0001]本发明涉及多核处理器系统,尤其涉及一种多核处理器系统的目录缓存管理方法。

【背景技术】
[0002]随着半导体工艺技术的进步,片上晶体管的数目依旧符合摩尔定律,每36个月翻一番。然而受限于处理器散热与封装技术的限制,商业串行处理器已经遇到了进一步提升性能的瓶颈。为了获得更好的性能面积比与性能功耗比,依靠挖掘线程级并行的片上多处理器与多核处理器成为目前的主流的架构。
[0003]其中,私有缓存是提升多核处理器性能的重要组件,维护私有缓存数据的一致性是多核处理器设计中的重点与难点。基于侦听的协议与基于目录的协议是目前最常用的两种缓存一致性协议。基于侦听的协议,设计简单,通过广播的方式通知所有的私有数据备份来维护数据一致性,但是广播的网络开销巨大,使其不具备可扩展性。基于目录的协议,通过集中式的目录记录所有的内存块在私有缓存中的备份情况,避免了广播的开销,更适合大规模的并行系统。
[0004]在基于目录的缓存一致性协议中,为了维护私有数据的一致性,处理器每次内存访问都首先要访问目录,因此其访问延迟对多核处理器的性能极为重要。为了降低访问延迟,研究人员采用了片上目录缓存来维护一致性。与目录记录整个内存的备份情况不同,片上目录缓存仅记录处理器内部私有缓存中的数据备份情况,片上目录缓存的容量对执行负载程序的性能极为关键。
[0005]图1所示多核处理器系统的结构示意图。图2所示为图1所示处理器一次访存流程图。如图1所示,多核处理器例如由四个Tile组成,每个Tile包括一个处理器核、一个LlCache与一个L2Cache,每个Tile通过内部网络共享L3Cache。目录缓存(DirectoryCache)与L3Cache同层用来维护该处理器内部的一致性。处理器通过外部网络与内存(DDR)以及其他处理器相连。如图2所示,处理器核执行访存指令,经过流水线通过访存部件发到LICache,如果LlCache命中则返回数据,如果LlCache缺失则将数据请求发往L2Cache。请求在L2Cache查找,如果L2Cache命中则返回数据,如果L2Cache缺失则发往目录缓存。在目录缓存中查找,如果命中则根据缓存一致性协议维护私有缓存的数据一致性,如果缺失,则在目录缓存中寻找一个空闲位置,如果没有空闲位置,则执行替换,执行替换过程中需要使无效私有缓存中的数据备份。最后,从L3Cache或者DDR中获取数据并返回。
[0006]由于片上目录缓存的容量问题是随着处理器内部的核数快速增长而出现的,目前相关研究尚处于起步阶段,主要的研究工作集中在降低目录缓存的面积、避免组内冲突、避免私有数据的使无效消息等。然而,针对目录缓存的数据隔离与容量控制的研究工作,目前仍是空白。


【发明内容】

[0007]本发明提供一种多核处理器系统的目录缓存管理方法,用来解决由于目录缓存的容量有限,不同并行单元的数据在目录缓存中的冲突造成系统性能降低的问题。
[0008]为了解决上述技术问题,本发明提供一种多核处理器系统的目录缓存管理方法,包括以下步骤:利用内存地址的缓存块索引位对目录缓存进行划分;于系统物理内存分配时,通过为不同并行单元的数据分配不同的缓存块索引位,控制所述并行单元所占用的目录缓存容量。
[0009]进一步地,所述利用内存地址的缓存块索引位对目录缓存进行划分的过程包括:在目录缓存中,将内存地址分成Tag-1ndex-Offset三段,其中,Tag是内存地址的标签,用来决定所述内存地址是否在目录缓存中命中,Index是一组缓存块的索引位,Offset是缓存块的偏移。
[0010]进一步地,于系统物理内存分配时,通过为不同并行单元的数据分配不同的缓存块索引位,控制所述并行单元所占用的目录缓存容量的过程包括:在物理内存中,内存地址分成PageNumber-PageOffset两段,其中PageNumber是物理页号,PageOffset是页内偏移,所述缓存块的索引位与所述物理页号有重合部分,通过对物理页号的管理控制数据在目录缓存中的位置,其中,所述缓存块的索引位与所述物理页号重合部分定义为页着色位。
[0011]进一步地,同一并行单元的数据分配在页着色位相同的物理内存页中。
[0012]进一步地,本发明提供的多核处理器系统的目录缓存管理方法,还包括以下步骤:利用爬山法动态调整不同并行单元的数据所占用的目录缓存容量,寻找最优解。
[0013]进一步地,所述利用爬山法动态调整不同并行单元的数据所占用的目录缓存容量,寻找最优解的过程包括:S1:为每个并行单元分配容量有限的目录缓存块;S2:增加分配给所述并行单元的目录缓存块容量,统计性能监控寄存器(PMC)的执行状态;S3:判断所述并行单元的性能是否获得提升,若所述并行单元可以获得性能提升,则返回S2,若所述并行单元的性能不再提升,则当前为所述并行单元分配的目录缓存容量即为最优解。
[0014]进一步地,所述并行单元为不同进程或同一进程中的不同线程。
[0015]本发明提供的多核处理器系统的目录缓存管理方法,通过页着色的方法,在片上目录缓存中隔离不同并行单元的数据,并基于爬山法调整并行单元占用目录缓存的容量,获取系统的最大性能。

【专利附图】

【附图说明】
[0016]图1所示为多核处理器系统的结构示意图;
[0017]图2所示为图1所示处理器一次访存流程图;
[0018]图3所示为本发明较佳实施例提供的目录缓存的索引方式示意图;
[0019]图4所示为本发明较佳实施例提供的物理页号划分目录缓存示意图;
[0020]图5所示为本发明较佳实施例提供的爬山法的流程图。

【具体实施方式】
[0021]下面结合附图及实施例对本发明作进一步详细说明。
[0022]图3所示为目录缓存的索引方式,图3所示的是一个四路组相联的目录缓存。在访问目录缓存的过程中,访存地址被划分成了三段Tag-1ndex-Offset。其中,Tag是地址的标签,用来决定地址是否在目录缓存中命中;Index是一组缓存块的索引位,用来索引每一路(Way)中的某个缓存块,对于IMB容量的四路组相联结构,Index需要12Bits ;0ffset是缓存块的块内偏移,由缓存块的大小决定,对于64字节的缓存块,Offset是6Bits。
[0023]图4所示为根据物理页号划分目录缓存的示意图。如图4所示,上半部分展示了内存管理算法对内存地址的组织,内存的物理地址被分成了物理页号(PageNumber)与页内偏移(PageOffset)两段。其中,物理页号用来索引物理页。下半部分给出了目录缓存对内存地址的组织,内存的物理地址被分成了三段标签(Tag)、块索引(Index)以及块内偏移(Offset),其中块索引用来查找缓存块。在一个IMB容量的四路组相联目录缓存中(块长度为64字节),物理页号与块索引有6Bits的数据位重叠,在此,定义为页着色位。在操作系统的物理内存分配当中,可以将同一个并行单元的数据分配在页着色位相同的物理内存当中。如此,该并行单元的数据在目录缓存中会占用固定的几组缓存块,通过对物理页号的管理,可以控制数据在目录缓存中的位置,从而实现不同并行单元之间的目录缓存数据隔离。
[0024]在实际的执行系统中,不同程序对目录缓存的需求不同。部分程序,对目录容量不敏感,这类程序对数据访问呈数据流式(Stream),局部性很差,但是数据集很大。部分程序,对目录容量敏感,分配更多的目录缓存可以取得相应的性能提升。为了最大化系统性能,本发明基于爬山法动态调整每个并行单元占用的目录缓存容量,需找最优解。图5所示为本发明较佳实施例的爬山法的流程图。如图5所示,首先,为每个并行单元分配固定容量的目录缓存块(如步骤SI);然后,如步骤S2,增加分配给并行单元的目录缓存容量,统计性能监控寄存器(PMC)的执行状态,具体而言,抽样并行单兀的Ll-cache-miss、L2-cache_miss等PMC寄存器统计程序的执行状态;接着,判断并行单元的性能是否提升(如步骤S3),若并行单元有性能提升,则返回步骤S2,即进一步增加为其分配的目录缓存容量,若没有性能提升,则当前为并行单元分配的目录缓存容量即为最优解(如步骤S4)。
[0025]以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
【权利要求】
1.一种多核处理器系统的目录缓存管理方法,其特征在于,包括以下步骤: 利用内存地址的缓存块索引位对目录缓存进行划分; 于系统物理内存分配时,通过为不同并行单元的数据分配不同的缓存块索引位,控制所述并行单元所占用的目录缓存容量。
2.如权利要求1所述的多核处理器系统的目录缓存管理方法,其特征在于,所述利用内存地址的缓存块索引位对目录缓存进行划分的过程包括:在目录缓存中,将内存地址分成Tag-1ndex-Offset三段,其中,Tag是内存地址的标签,用来决定所述内存地址是否在目录缓存中命中,Index是一组缓存块的索引位,Offset是缓存块的偏移。
3.如权利要求2所述的多核处理器系统的目录缓存管理方法,其特征在于,于系统物理内存分配时,通过为不同并行单元的数据分配不同的缓存块索引位,控制所述并行单元所占用的目录缓存容量的过程包括:在物理内存中,内存地址分成PageNumber-PageOffset两段,其中PageNumber是物理页号,PageOffset是页内偏移,所述缓存块的索引位与所述物理页号有重合部分,通过对物理页号的管理控制数据在目录缓存中的位置,其中,所述缓存块的索引位与所述物理页号重合部分定义为页着色位。
4.如权利要求3所述的多核处理器系统的目录缓存管理方法,其特征在于:同一并行单元的数据分配在页着色位相同的物理内存页中。
5.如权利要求1所述的多核处理器系统的目录缓存管理方法,其特征在于,还包括以下步骤:利用爬山法动态调整不同并行单元的数据所占用的目录缓存容量,寻找最优解。
6.如权利要求5所述的多核处理器系统的目录缓存管理方法,其特征在于,所述利用爬山法动态调整不同并行单元的数据所占用的目录缓存容量,寻找最优解的过程包括: S1:为每个并行单元分配容量有限的目录缓存块; S2:增加分配给所述并行单元的目录缓存块容量,统计性能监控寄存器(PMC)的执行状态; S3:判断所述并行单元的性能是否获得提升,若所述并行单元可以获得性能提升,则返回S2,若所述并行单元的性能不再提升,则当前为所述并行单元分配的目录缓存容量即为最优解。
7.如权利要求1、3、4、5或6所述的多核处理器系统的目录缓存管理方法,其特征在于:所述并行单元为不同进程或同一进程中的不同线程。
【文档编号】G06F12/08GK104331377SQ201410645205
【公开日】2015年2月4日 申请日期:2014年11月12日 优先权日:2014年11月12日
【发明者】唐士斌, 陈继承, 王洪伟, 倪璠 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1