支持地址交叉方案配置的多DDR访问控制方法及装置制造方法及图纸

技术编号:10569795 阅读:114 留言:0更新日期:2014-10-22 19:31
本发明专利技术公开一种支持地址交叉方案配置的多DDR访问控制方法及装置,该方法步骤为:配置外存地址空间在多个DDR控制器之间分布的地址交叉方案为高位地址交叉方案、低位地址交叉方案或高位地址交叉方案与低位地址交叉方案组合模式;当请求访问DDR空间时,根据配置的地址交叉方案将请求源的访存地址映射至目标DDR控制器对应的末级Cache子体中;该装置包括与方法对应的地址交叉方案配置模块、访问路由选择模块。本发明专利技术具有实现方法简单、访问效率高、硬件开销小、能够根据实际需求灵活地配置地址交叉方案的优点。

【技术实现步骤摘要】
支持地址交叉方案配置的多DDR访问控制方法及装置
本专利技术涉及DDR(DoubleDataRateSDRAM,双倍数据速率同步动态存储器)控制器
,尤其涉及一种支持地址交叉方案配置的多DDR访问控制方法及装置。
技术介绍
当前随着应用的不断发展和集成电路制造技术的不断进步,将多个传统的处理器核集成在同一芯片中使其协同高效地展开工作的多核处理器,已经广泛地应用于通用计算、高性能计算、嵌入式计算等多个领域。多核处理器一般集成多个DDR控制器以便使芯片具有更大的存储带宽,同时也能够使芯片能够集成更多更大容量的内存颗粒。当前主流的DDR控制器为3.0版本,更高版本的DDR控制器IP也即将推出。外存地址空间如何在多个DDR控制器之间分布称为地址交叉方案,高位地址交叉方案和低位地址交叉方案是常用的两种地址交叉方案,其中高位地址交叉方案是采用访存地址的高位来区分请求源的请求落入哪个DDR控制器,其具有易扩展、可靠性好的优点。如果程序员能够将多个任务的数据分别映射到最近的DDR控制器上,则每个任务可以无冲突地运行在不同的DDR控制器上,片上的共享网络、Cache等资源也可以局部地高效访问,然而如果将单任务程序映射至高位地址交叉方案系统中,则会出现一段时间只有一个DDR控制器被有效利用的情况,造成DDR控制器有效带宽的浪费。低位地址交叉方案是采用访存地址的低位来确定请求源的请求落入哪个DDR控制器,同一任务对连续地址的访问将会映射到不同的DDR控制器中,多个DDR控制器的访存延时将会重叠起来,从而有利于充分发挥用多个DDR控制器的带宽。然而在低位地址交叉方案中如果某一个DDR控制器存在故障,则会扩展到整个系统,并且当多个任务运行时还会导致存储冲突增加等问题。传统的多核处理器系统中多个DDR控制器之间通常采用固定的一种地址交叉方案,如在Fujitsu公司的M3000服务器系列中采用了低位地址交叉方案,Sun公司的Niagara系列处理器也采用了类似的低位地址交叉方案。固定的地址交叉方案虽然硬件实现简单,但是存在使用不灵活以及使得某些应用程序执行效率变低等缺点。多核处理器中不同的应用程序往往存在不同的访存特征,对多个DDR间的地址交叉方案的需求也不相同;即使是在同一个应用程序的不同的运行阶段,其数据访存对多个DDR间的地址交叉方案的需求也不一致。这种对DDR间地址交叉方案的需求的不同,实际上隐含着对DDR、末级Cache(LastLevelCache,LLC)和片上网络的“共享”和“私有”要求的不同。此外,在低位地址交叉方案中,将末级Cache的Cache行宽度作为最小的数据交叉粒度仅仅会在某些应用中对访存带宽的利用比较有利,不同应用程序对低位地址交叉的数据粒度往往具有不同的需求。综上所述,需要通过提供一种支持多DDR间地址交叉方案可配置的方案,使程序员能够根据应用的不同或应用执行阶段的不同灵活地设置不同DDR间的地址交叉方案,进而能够高效地利用DDR、末级Cache、片上网络等资源,同时使系统的抗故障能力也得以增强。
技术实现思路
本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种实现方法简单、访问效率高、硬件开销小、能能够根据不同的应用程序及实际需求灵活地配置地址交叉方案的支持地址交叉方案配置的多DDR访问控制方法及装置。为解决上述技术问题,本专利技术提出的技术方案为:一种支持地址交叉方案配置的多DDR访问控制方法,具体实施步骤为:1)将外存地址空间在多个DDR控制器间分布的地址交叉方案配置为高位地址交叉方案、低位地址交叉方案或高位地址交叉方案与低位地址交叉方案组合模式;2)当请求访问DDR空间时,根据配置的所述地址交叉方案将请求源访问DDR空间的访存地址映射至目标DDR控制器对应的末级Cache子体中。作为本专利技术方法的进一步改进,步骤1)的具体实施步骤为:1.1)判断当前应用是否需要启用高位地址交叉方案,若为是,设置为启用高位地址交叉方案,转入执行步骤1.2);若为否,设置为不启用高位地址交叉方案并将所有的外存地址空间的地址交叉方案配置为低位地址交叉方案,转入执行步骤1.3);1.2)判断当前应用是否还需要启用低位地址交叉方案,若为是,将地址交叉方案配置为高位地址交叉方案与低位地址交叉方案组合模式并设置模式配置值N且N不为0,其中外存地址空间中1/2N的地址空间的地址交叉方案配置为高位地址交叉方案,其余(1-1/2N)的地址空间的地址交叉方案配置为低位地址交叉方案,转入执行步骤1.3);若为否,设置高位地址交叉方案与低位地址交叉方案组合模式的模式配置值N为0,将所有的外存地址空间的地址交叉方案配置为高位地址交叉方案,转入执行步骤2);1.3)设置低位地址交叉方案中外存地址空间在两个相邻DDR控制器之间的间隔单位,转入执行步骤2)。作为本专利技术方法的进一步改进,所述步骤1)的具体实施方法为:定义包含用于设置是否需要启用高位地址交叉方案的高位地址交叉使能域、用于设置高位地址交叉方案与低位地址交叉方案组合模式中模式配置值N的组合模式设置域以及用于设置低位地址交叉方案中外存地址空间在两个相邻DDR控制器之间间隔单位的低位交叉粒度设置域的地址交叉方案配置寄存器,并通过所述地址交叉方案配置寄存器配置所述地址交叉方案。作为本专利技术方法的进一步改进,所述通过所述地址交叉方案配置寄存器配置所述地址交叉方案的具体实施方法为:若需要配置为低位地址交叉方案时,设置高位地址交叉使能域的值为0;若需要配置为高位地址交叉方案时,设置高位地址交叉使能域的值为1并通过组合模式设置域设置模式配置值N为0;若需要配置为高位地址交叉方案与低位地址交叉方案组合模式时,设置高位地址交叉使能域的值为1并通过组合模式设置域设置模式配置值N且N不为0;通过低位交叉粒度设置域设置低位地址交叉方案中外存地址空间在两个相邻DDR控制器之间的间隔单位。作为本专利技术方法的进一步改进,所述步骤2)的具体实施步骤为:2.1)判断步骤1)中配置的地址交叉方案,并根据请求源的访求地址A生成用于进行目标DDR控制器路由判断的路由判断地址BJA,A为包括0~H-1位的请求源的访求地址且宽度为H,其中若配置的地址交叉方案为低位地址交叉方案时,转入执行步骤2.2);若为高位地址交叉方案时,转入执行步骤2.3);若为高位地址交叉方案与低位地址交叉方案组合模式时,转入执行步骤2.4);2.2)路由判断地址BJA=A[L-1+log2W:L],转入执行步骤2.5);2.3)路由判断地址BJA=A[H-1:H-log2W],转入执行步骤2.5);2.4)若A[H-1:H-N]=0,则路由判断地址BJA=A[H-N-1:H-N-log2W];若A[H-1:H-N]≠0,则路由判断地址BJA=A[L-1+log2W:L],转入执行步骤2.5);2.5)根据请求源的访求地址的地址范围及映射函数将路由判断地址BJA映射至目标DDR控制器对应的末级Cache子体;其中W为末级Cache包含的子体的数目,N为模式配置值,LOI_Grain为低位地址交叉方案中外存地址空间在两个相邻DDR控制器之间间隔单位,M为末级Cache中一个Cache行包含的字节数,且L=LOI_Grain+log本文档来自技高网
...
支持地址交叉方案配置的多DDR访问控制方法及装置

【技术保护点】
一种支持地址交叉方案配置的多DDR访问控制方法,其特征在于,具体实施步骤为:1)将外存地址空间在多个DDR控制器间分布的地址交叉方案配置为高位地址交叉方案、低位地址交叉方案或高位地址交叉方案与低位地址交叉方案组合模式;2)当请求访问DDR空间时,根据配置的所述地址交叉方案将请求源访问DDR空间的访存地址映射至目标DDR控制器对应的末级Cache子体中。

【技术特征摘要】
1.一种支持地址交叉方案配置的多DDR访问控制方法,其特征在于,具体实施步骤为:1)将外存地址空间在多个DDR控制器间分布的地址交叉方案配置为高位地址交叉方案、低位地址交叉方案或高位地址交叉方案与低位地址交叉方案组合模式;2)当请求访问DDR空间时,根据配置的所述地址交叉方案将请求源访问DDR空间的访存地址映射至目标DDR控制器对应的末级Cache子体中;步骤1)的具体实施步骤为:1.1)判断当前应用是否需要启用高位地址交叉方案,若为是,设置为启用高位地址交叉方案,转入执行步骤1.2);若为否,设置为不启用高位地址交叉方案并将所有的外存地址空间的地址交叉方案配置为低位地址交叉方案,转入执行步骤1.3);1.2)判断当前应用是否还需要启用低位地址交叉方案,若为是,将地址交叉方案配置为高位地址交叉方案与低位地址交叉方案组合模式并设置模式配置值N且N不为0,其中外存地址空间中1/2N的地址空间的地址交叉方案配置为高位地址交叉方案,其余(1-1/2N)的地址空间的地址交叉方案配置为低位地址交叉方案,转入执行步骤1.3);若为否,设置高位地址交叉方案与低位地址交叉方案组合模式的模式配置值N为0,将所有的外存地址空间的地址交叉方案配置为高位地址交叉方案,转入执行步骤2);1.3)设置低位地址交叉方案中外存地址空间在两个相邻DDR控制器之间的间隔单位,转入执行步骤2);所述步骤2)的具体实施步骤为:2.1)判断步骤1)中配置的地址交叉方案,并根据请求源的访存地址A生成用于进行目标DDR控制器路由判断的路由判断地址BJA,A为包括0~H-1位的请求源的访存地址且宽度为H,其中若配置的地址交叉方案为低位地址交叉方案时,转入执行步骤2.2);若为高位地址交叉方案时,转入执行步骤2.3);若为高位地址交叉方案与低位地址交叉方案组合模式时,转入执行步骤2.4);2.2)路由判断地址BJA=A[L-1+log2W:L],转入执行步骤2.5);2.3)路由判断地址BJA=A[H-1:H-log2W],转入执行步骤2.5);2.4)若A[H-1:H-N]=0,则路由判断地址BJA=A[H-N-1:H-N-log2W];若A[H-1:H-N]≠0,则路由判断地址BJA=A[L-1+log2W:L],转入执行步骤2.5);2.5)根据请求源的访存地址的地址范围及映射函数将路由判断地址BJA映射至目标DDR控制器对应的末级Cache子体;其中W为末级Cache包含的子体的总数目,N为模式配置值,N为正整数,LOI_Grain为低位地址交叉方案中外存地址空间在两个相邻DDR控制器之间间隔单位,M为末级Cache中一个Cache行包含的字节数,且L=LOI_Grain+log2M。2.根据权利要求1所述的支持地址交叉方案配置的多DDR访问控制方法,其特征在于,所述步骤1)的具体实施方法为:定义包含用于设置是否需要启用高位地址交叉方案的高位地址交叉使能域、用于设置高位地址交叉方案与低位地址交叉方案组合模式中模式配置值N的组合模式设置域以及用于设置低位地址交叉方案中外存地址空间在两个相邻DDR控制器之间间隔单位的低位交叉粒度设置域的地址交叉方案配置寄存器,并通过所述地址交叉方案配置寄存器配置所述地址交叉方案。3.根据权利要求2所述的支持地址交叉方案配置的多DDR访问控制方法,其特征在于,所述通过所述地址交叉方案配置寄...

【专利技术属性】
技术研发人员:刘胜陈海燕万江华陈胜刚陈书明郭阳葛磊磊雷元武马胜王耀华
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:湖南;43

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

1