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

技术编号:10994127 阅读:96 留言:0更新日期:2015-02-04 13:15
本发明专利技术公开了一种多核处理器系统的目录缓存管理方法,包括以下步骤:利用内存地址的缓存块索引位对目录缓存进行划分;于系统物理内存分配时,通过为不同并行单元的数据分配不同的缓存块索引位,控制所述并行单元所占用的目录缓存容量。本发明专利技术公开的多核处理器系统的目录缓存管理方法,能够解决由于目录缓存的容量有限,不同并行单元的数据在目录缓存中的冲突造成系统性能降低的问题。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,包括以下步骤:利用内存地址的缓存块索引位对目录缓存进行划分;于系统物理内存分配时,通过为不同并行单元的数据分配不同的缓存块索引位,控制所述并行单元所占用的目录缓存容量。本专利技术公开的多核处理器系统的目录缓存管理方法,能够解决由于目录缓存的容量有限,不同并行单元的数据在目录缓存中的冲突造成系统性能降低的问题。【专利说明】—种多核处理器系统的目录缓存管理方法
本专利技术涉及多核处理器系统,尤其涉及。
技术介绍
随着半导体工艺技术的进步,片上晶体管的数目依旧符合摩尔定律,每36个月翻一番。然而受限于处理器散热与封装技术的限制,商业串行处理器已经遇到了进一步提升性能的瓶颈。为了获得更好的性能面积比与性能功耗比,依靠挖掘线程级并行的片上多处理器与多核处理器成为目前的主流的架构。 其中,私有缓存是提升多核处理器性能的重要组件,维护私有缓存数据的一致性是多核处理器设计中的重点与难点。基于侦听的协议与基于目录的协议是目前最常用的两种缓存一致性协议。基于侦听的协议,设计简单,通过广播的方式通知所有的私有数据备份来维护数据一致性,但是广播的网络开销巨大,使其不具备可扩展性。基于目录的协议,通过集中式的目录记录所有的内存块在私有缓存中的备份情况,避免了广播的开销,更适合大规模的并行系统。 在基于目录的缓存一致性协议中,为了维护私有数据的一致性,处理器每次内存访问都首先要访问目录,因此其访问延迟对多核处理器的性能极为重要。为了降低访问延迟,研究人员采用了片上目录缓存来维护一致性。与目录记录整个内存的备份情况不同,片上目录缓存仅记录处理器内部私有缓存中的数据备份情况,片上目录缓存的容量对执行负载程序的性能极为关键。 图1所示多核处理器系统的结构示意图。图2所示为图1所示处理器一次访存流程图。如图1所示,多核处理器例如由四个Tile组成,每个Tile包括一个处理器核、一个LlCache与一个L2Cache,每个Tile通过内部网络共享L3Cache。目录缓存(DirectoryCache)与L3Cache同层用来维护该处理器内部的一致性。处理器通过外部网络与内存(DDR)以及其他处理器相连。如图2所示,处理器核执行访存指令,经过流水线通过访存部件发到LICache,如果LlCache命中则返回数据,如果LlCache缺失则将数据请求发往L2Cache。请求在L2Cache查找,如果L2Cache命中则返回数据,如果L2Cache缺失则发往目录缓存。在目录缓存中查找,如果命中则根据缓存一致性协议维护私有缓存的数据一致性,如果缺失,则在目录缓存中寻找一个空闲位置,如果没有空闲位置,则执行替换,执行替换过程中需要使无效私有缓存中的数据备份。最后,从L3Cache或者DDR中获取数据并返回。 由于片上目录缓存的容量问题是随着处理器内部的核数快速增长而出现的,目前相关研究尚处于起步阶段,主要的研究工作集中在降低目录缓存的面积、避免组内冲突、避免私有数据的使无效消息等。然而,针对目录缓存的数据隔离与容量控制的研究工作,目前仍是空白。
技术实现思路
本专利技术提供,用来解决由于目录缓存的容量有限,不同并行单元的数据在目录缓存中的冲突造成系统性能降低的问题。 为了解决上述技术问题,本专利技术提供,包括以下步骤:利用内存地址的缓存块索引位对目录缓存进行划分;于系统物理内存分配时,通过为不同并行单元的数据分配不同的缓存块索引位,控制所述并行单元所占用的目录缓存容量。 进一步地,所述利用内存地址的缓存块索引位对目录缓存进行划分的过程包括:在目录缓存中,将内存地址分成Tag-1ndex-Offset三段,其中,Tag是内存地址的标签,用来决定所述内存地址是否在目录缓存中命中,Index是一组缓存块的索引位,Offset是缓存块的偏移。 进一步地,于系统物理内存分配时,通过为不同并行单元的数据分配不同的缓存块索引位,控制所述并行单元所占用的目录缓存容量的过程包括:在物理内存中,内存地址分成PageNumber-PageOffset两段,其中PageNumber是物理页号,PageOffset是页内偏移,所述缓存块的索引位与所述物理页号有重合部分,通过对物理页号的管理控制数据在目录缓存中的位置,其中,所述缓存块的索引位与所述物理页号重合部分定义为页着色位。 进一步地,同一并行单元的数据分配在页着色位相同的物理内存页中。 进一步地,本专利技术提供的多核处理器系统的目录缓存管理方法,还包括以下步骤:利用爬山法动态调整不同并行单元的数据所占用的目录缓存容量,寻找最优解。 进一步地,所述利用爬山法动态调整不同并行单元的数据所占用的目录缓存容量,寻找最优解的过程包括:S1:为每个并行单元分配容量有限的目录缓存块;S2:增加分配给所述并行单元的目录缓存块容量,统计性能监控寄存器(PMC)的执行状态;S3:判断所述并行单元的性能是否获得提升,若所述并行单元可以获得性能提升,则返回S2,若所述并行单元的性能不再提升,则当前为所述并行单元分配的目录缓存容量即为最优解。 进一步地,所述并行单元为不同进程或同一进程中的不同线程。 本专利技术提供的多核处理器系统的目录缓存管理方法,通过页着色的方法,在片上目录缓存中隔离不同并行单元的数据,并基于爬山法调整并行单元占用目录缓存的容量,获取系统的最大性能。 【专利附图】【附图说明】 图1所示为多核处理器系统的结构示意图; 图2所示为图1所示处理器一次访存流程图; 图3所示为本专利技术较佳实施例提供的目录缓存的索引方式示意图; 图4所示为本专利技术较佳实施例提供的物理页号划分目录缓存示意图; 图5所示为本专利技术较佳实施例提供的爬山法的流程图。 【具体实施方式】 下面结合附图及实施例对本专利技术作进一步详细说明。 图3所示为目录缓存的索引方式,图3所示的是一个四路组相联的目录缓存。在访问目录缓存的过程中,访存地址被划分成了三段Tag-1ndex-Offset。其中,Tag是地址的标签,用来决定地址是否在目录缓存中命中;Index是一组缓存块的索引位,用来索引每一路(Way)中的某个缓存块,对于IMB容量的四路组相联结构,Index需要12Bits ;0ffset是缓存块的块内偏移,由缓存块的大小决定,对于64字节的缓存块,Offset是6Bits。 图4所示为根据物理页号划分目录缓存的示意图。如图4所示,上半部分展示了内存管理算法对内存地址的组织,内存的物理地址被分成了物理页号(PageNumber)与页内偏移(PageOffset)两段。其中,物理页号用来索引物理页。下半部分给出了目录缓存对内存地址的组织,内存的物理地址被分成了三段标签(Tag)、块索引(Index)以及块内偏移(Offset),其中块索引用来查找缓存块。在一个IMB容量的四路组相联目录缓存中(块长度为64字节),物理页号与块索引有6Bits的数据位重叠,在此,定义为页着色位。在操作系统的物理内存分配当中,可以将同一个并行单元的数据分配在页着色位相同的物理内存当中。如此,该并行单元的数据在目录缓存中会占用固定的几组缓存块,通过对物理页号的管理,可以控制数据在目录缓存中的位置,从而实现不同并行本文档来自技高网
...
一种多核处理器系统的目录缓存管理方法

【技术保护点】
一种多核处理器系统的目录缓存管理方法,其特征在于,包括以下步骤:利用内存地址的缓存块索引位对目录缓存进行划分;于系统物理内存分配时,通过为不同并行单元的数据分配不同的缓存块索引位,控制所述并行单元所占用的目录缓存容量。

【技术特征摘要】

【专利技术属性】
技术研发人员:唐士斌陈继承王洪伟倪璠
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1