一种多粒度组合的存储器数据交织方法和交织模块技术

技术编号:35537480 阅读:14 留言:0更新日期:2022-11-09 15:04
本发明专利技术公开了一种多粒度组合的存储器数据交织方法和交织模块。交织方法,包括:划分系统地址空间,得到具有第一交织粒度的第一系统交织区、具有第二交织粒度的第二系统交织区、以及系统线性区;划分存储器地址空间,得到具有第一交织粒度的第一存储交织区、具有第二交织粒度的第二存储交织区、以及存储线性区;其中,第一系统交织区与第一存储交织区构成映射关系,第二系统交织区与第二存储交织区构成映射关系,系统线性区与存储线性区构成映射关系,第一交织粒度小于第二交织粒度。本发明专利技术能有效避免单个存储器内并行处理程度不够导致的存储空间利用率低、以及所有存储器同时工作造成的不必要的功耗浪费。造成的不必要的功耗浪费。造成的不必要的功耗浪费。

【技术实现步骤摘要】
一种多粒度组合的存储器数据交织方法和交织模块


[0001]本专利技术属于数据处理
,更具体地,涉及一种多粒度组合的存储器数据交织方法和交织模块。

技术介绍

[0002]当前计算设备通常由片上系统(System on Chip,SoC)构成,许多高性能计算设备如图形计算处理设备(Graphics Processing Unit,GPU),人工智能计算设备等,要求SoC能够提供更高的存储器读写速率。为实现上述要求,SoC可以将总线划分为多个存储信道,每个存储器提供固定的读写速率,通过合适的存储信道交织技术,将多个存储器同时调度运行起来,以实现读写速率的提高。
[0003]通常,经过存储信道交织处理后,多个存储器的地址是以某个固定粒度被对称地、均匀地、交错地映射到虚拟地址空间内(下称均匀交织处理)。从应用角度看,在某个基地址的基础上发出的递增地址,经均匀交织处理后被映射到多个存储器中;单个存储器内收到的地址也是线性递增的,这导致在单个存储器内,大多数时间内只有一至两个存储块在工作,大多数存储块处于非工作状态,因此,存储器内的并行处理程度不够。此外,某些高性能计算设备并非每时每刻都处于极高性能的工作状态下,在性能要求较低或次低的工作场景下,均匀交织处理仍需要所有的存储器同时工作,这造成了不必要的功耗浪费。上述问题在移动计算设备,如智能手机/平板电脑/笔记本电脑等上,有更加明显的表现。

技术实现思路

[0004]针对现有技术的以上缺陷或改进需求,本专利技术提供了一种多粒度组合的存储器数据交织方法和交织模块,通过调整总线配置及合理划分存储器中的不同存储区域,能实现多种不同粒度的单层交织,以及不同粒度的交叠交织,通过灵活的交织方案,能有效避免单个存储器内并行处理程度不够导致的存储空间利用率低、以及所有存储器同时工作造成的不必要的功耗浪费。
[0005]为实现上述目的,按照本专利技术的一个方面,提供了一种存储器数据交织方法,包括:
[0006]划分系统地址空间,得到第一系统交织区和第二系统交织区;
[0007]划分存储器地址空间,得到第一存储交织区和第二存储交织区;
[0008]其中,对第一系统交织区内的地址进行第一交织粒度的交织处理后,再对应至第一存储交织区;对第二系统交织区内的地址进行第二交织粒度的交织处理后,再对应至第二存储交织区;第一交织粒度小于第二交织粒度。
[0009]在一些实施方式中,第一存储交织区包括偶数个容量相等的第一子存储交织区,偶数个第一子存储交织区分别设置在不同的存储器中。
[0010]在一些实施方式中,对第一系统交织区内的地址进行第一交织粒度的交织处理包括:
[0011]获取输入地址相对于第一系统交织区的基地址的偏移地址;
[0012]使偏移地址的与第一交织粒度对应数量的低位比特保持不变;
[0013]用偏移地址的与低位比特相邻的高位比特区分存储器;
[0014]使偏移地址的剩余高位比特线性增加,构成各存储器的第一子存储交织区内部的偏移地址。
[0015]在一些实施方式中,第二存储交织区包括一个第二子存储交织区或者多个容量相等的第二子存储交织区,多个第二子存储交织区分别设置在不同的存储器中。
[0016]在一些实施方式中,对第二系统交织区内的地址进行第二交织粒度的交织处理包括:
[0017]获取输入地址相对于第二系统交织区的基地址的偏移地址;
[0018]使偏移地址的与第二交织粒度对应数量的低位比特保持不变;
[0019]对偏移地址的剩余高位比特进行处理,使剩余高位比特被非线性地打乱。
[0020]在一些实施方式中,对偏移地址的剩余高位比特进行处理,使剩余高位比特被非线性地打乱包括:
[0021]取偏移地址的比特w

1至比特t作为非线性映射函数的输入,得到具有与输入的比特位数量相等的比特位的输出hash_out;其中,w为第二系统交织区的最小容量对应的地址宽度,t为第二交织粒度对应的地址宽度;
[0022]根据第二系统交织区的总容量,取偏移地址的不同比特位备用;
[0023]基于hash_out和偏移地址的备用的比特位进行映射,得到具有与备用的比特位数量相等的比特位的输出hash_div;
[0024]根据hash_out、hash_div和第二系统交织区的总容量,计算得到输出地址。
[0025]在一些实施方式中,还包括:
[0026]划分系统地址空间,得到系统交叠区;
[0027]划分存储器地址空间,得到存储交叠区;
[0028]其中,对系统交叠区内的地址先进行第二交织粒度的交织处理,再进行第一交织粒度的交织处理后,再对应至存储交叠区。
[0029]按照本专利技术的另一个方面,提供了一种存储器数据交织方法,包括:
[0030]划分系统地址空间,得到系统交叠区;
[0031]划分存储器地址空间,得到存储交叠区;
[0032]其中,对系统交叠区内的地址先进行第二交织粒度的交织处理,再进行第一交织粒度的交织处理后,再对应至存储交叠区;第一交织粒度小于第二交织粒度。
[0033]在一些实施方式中,存储交叠区包括偶数个容量相等的子存储交叠区,偶数个子存储交叠区分别设置在不同的存储器中。
[0034]在一些实施方式中,第二交织粒度的交织处理包括:
[0035]获取输入地址相对于系统交叠区的基地址的偏移地址;
[0036]使偏移地址的与第二交织粒度对应数量的低位比特保持不变;
[0037]对偏移地址的剩余高位比特进行处理,使剩余高位比特被非线性地打乱。
[0038]在一些实施方式中,对偏移地址的剩余高位比特进行处理,使剩余高位比特被非线性地打乱包括:
[0039]取偏移地址的比特w

1至比特t作为非线性映射函数的输入,得到具有与输入的比特位数量相等的比特位的输出hash_out;其中,w为系统交叠区的最小容量对应的地址宽度,t为第二交织粒度对应的地址宽度;
[0040]根据系统交叠区的总容量,取偏移地址的不同比特位备用;
[0041]基于hash_out和偏移地址的备用的比特位进行映射,得到具有与备用的比特位数量相等的比特位的输出hash_div;
[0042]根据hash_out、hash_div和系统交叠区的总容量,计算得到输出地址。
[0043]在一些实施方式中,第一交织粒度的交织处理包括:
[0044]获取输入地址经第二交织粒度的交织处理后的地址相对于系统交叠区的地址经第二交织粒度的交织处理后的基地址的偏移地址;
[0045]使偏移地址的与第一交织粒度对应数量的低位比特保持不变;
[0046]用偏移地址的与低位比特相邻的高位比特区分存储器;
[0047]使偏移地址的剩余高位比特线性增加,构成各存储器的子存储交叠区内部的偏移地址。
[0048]在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储器数据交织方法,其特征在于,包括:划分系统地址空间,得到第一系统交织区和第二系统交织区;划分存储器地址空间,得到第一存储交织区和第二存储交织区;其中,对所述第一系统交织区内的地址进行第一交织粒度的交织处理后,再对应至所述第一存储交织区;对所述第二系统交织区内的地址进行第二交织粒度的交织处理后,再对应至所述第二存储交织区;所述第一交织粒度小于所述第二交织粒度。2.如权利要求1所述的存储器数据交织方法,其特征在于,所述第一存储交织区包括偶数个容量相等的第一子存储交织区,偶数个第一子存储交织区分别设置在不同的存储器中。3.如权利要求2所述的存储器数据交织方法,其特征在于,对所述第一系统交织区内的地址进行第一交织粒度的交织处理包括:获取输入地址相对于所述第一系统交织区的基地址的偏移地址;使偏移地址的与所述第一交织粒度对应数量的低位比特保持不变;用偏移地址的与所述低位比特相邻的高位比特区分存储器;使偏移地址的剩余高位比特线性增加,构成各存储器的第一子存储交织区内部的偏移地址。4.如权利要求1所述的存储器数据交织方法,其特征在于,所述第二存储交织区包括一个第二子存储交织区或者多个容量相等的第二子存储交织区,多个第二子存储交织区分别设置在不同的存储器中。5.如权利要求4所述的存储器数据交织方法,其特征在于,对所述第二系统交织区内的地址进行第二交织粒度的交织处理包括:获取输入地址相对于所述第二系统交织区的基地址的偏移地址;使偏移地址的与所述第二交织粒度对应数量的低位比特保持不变;对偏移地址的剩余高位比特进行处理,使剩余高位比特被非线性地打乱。6.如权利要求5所述的存储器数据交织方法,其特征在于,所述对偏移地址的剩余高位比特进行处理,使剩余高位比特被非线性地打乱包括:取偏移地址的比特w

1至比特t作为非线性映射函数的输入,得到具有与输入的比特位数量相等的比特位的输出hash_out;其中,w为所述第二系统交织区的最小容量对应的地址宽度,t为所述第二交织粒度对应的地址宽度;根据所述第二系统交织区的总容量,取偏移地址的不同比特位备用;基于hash_out和偏移地址的备用的比特位进行映射,得到具有与备用的比特位数量相等的比特位的输出hash_div;根据hash_out、hash_div和所述第二系统交织区的总容量,计算得到输出地址。7.如权利要求1至6中任一项所述的存储器数据交织方法,其特征在于,还包括:划分系统地址空间,得到系统交叠区;划分存储器地址空间,得到存储交叠区;其中,对所述系统交叠区内的地址先进行所述第二交织粒度的交织处理,再进行所述第一交织粒度的交织处理后,再对应至所述存储交叠区。8.一种存储器数据交织方法,其特征在于,包括:
划分系统地址空间,得到系统交叠区;划分存储器地址空间,得到存储交叠区;其中,对所述系统交叠区内的地址先进行第二交织粒度的交织处理,再进行第一交织粒度的交织处理后,再对应至所述存储交叠区;所述第一交织粒度小于所述第二交织粒度。9.如权利要求8所述的存储器数据交织方法,其特征在于,存储交叠区包括偶数个容量相等的子存储交叠区,偶数个子存储交叠区分别设置在不同的存储器中。10.如权利要求9所述的存储器数据交织方法,其特征在于,所述第二交织粒度的交织处理包括:获取输入地址相对于所述系统交叠区的基地址的偏移地址;使偏移地址的与所述第二交织粒度对应数量的低位比特保持不变;对偏移地址的剩余高位比特进行处理,使剩余高位比特被非线性地打乱。11.如权利要求10所述的存储器数据交织方法,其特征在于,所述对偏移地址的剩余高位比特进行处理,使剩余高位比特被非线性地打乱包括:取偏移地址的比特w

1至比特t作为非线性映射函数的输入,得到具有与输入的比特位数量相等的比特位的输出hash_out;其中,w为所述系统交叠区的最小容量对应的地址宽度,t为所述第二交织粒度对应的地址宽度;根据所述系统交叠区的总容量,取偏移地址的不同比特位备用;基于hash_out和偏移地址的备用的比特位进行映射,得到具有与备用的比特位数量相等的比特位的输出hash_div;根据hash_out、hash_div和所述系统交叠区的总容量...

【专利技术属性】
技术研发人员:卢红召何颖
申请(专利权)人:芯动微电子科技珠海有限公司
类型:发明
国别省市:

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

1