对存储器地址请求进行分类以用于并行存储器访问制造技术

技术编号:20819747 阅读:27 留言:0更新日期:2019-04-10 05:53
本公开涉及对存储器地址请求进行分类以用于并行存储器访问。一种装置,其被配置为从包含至少一个非唯一存储器地址的N个输入存储器地址的较大集合中识别M个输出存储器地址的集合,该装置包括:比较器块,其被配置为对来自N个输入存储器地址的集合的存储器地址进行比较以生成二进制分类数据集,该二进制分类数据集从输入地址的集合中识别地址的子集;多个组合逻辑单元,每个组合逻辑单元被配置为:接收二进制分类数据集的预先选择的位,并且将其接收的预先选择的位分类为中间二进制串,在该中间二进制串中将位排序为第一组和第二组;以及输出生成逻辑,其被配置为在属于不同的中间二进制串的位之间进行选择,以生成二进制输出。

【技术实现步骤摘要】
对存储器地址请求进行分类以用于并行存储器访问
本专利技术涉及在计算机系统内对存储器地址请求进行分类以用于并行存储器访问。
技术介绍
计算机处理器系统可以包括用于执行处理操作的一个或多个处理器单元。作为执行指令以执行一个或多个处理操作的一部分,这些处理器单元中的每一个可以请求访问存储器(例如,读取或写入数据)。每个存储器访问请求可以指定标识要访问的存储器区域的存储器地址。在此上下文中,处理器单元例如可以是处理器、处理器核、多核处理器或诸如数字信号处理器(DSP)之类的能够执行指令以执行一个或多个处理操作的某种其他类型的单元。计算机处理器系统例如可以是中央处理器单元(CPU)、图形处理单元(GPU)。计算机处理器系统通常被布置成可以并行执行多个处理操作。例如,一些处理器单元能够并行执行多个线程。在其他示例中,计算机处理器系统可以包括并行操作的多个处理器单元,每个处理器单元可以执行单个线程或并行地执行多个线程。结果,计算机处理器系统可以生成许多存储器访问请求;在一些系统中,可以在单个时钟周期中生成多个存储器访问请求。在其他情况下,可以在一个或多个时钟周期上生成多个存储器访问请求。为了减少计算机处理器系统的操作中的等待时间,可以并行地进行多个存储器访问(例如,可以并行访问跨一个或多个存储器块的指定数量的存储器地址)。当访问请求引用不是处理器单元本地的存储器的一个或多个块内的存储器地址时,并行存储器访问会特别方便。例如,如果一个或多个处理器单元被实现为片上系统(SoC)的一部分,则可以由(一个或多个)处理器单元访问的一个或多个存储器块可以位于芯片外,用于例如减小芯片的大小。可以并行进行的存储器访问的数量可以限制为指定的最大值。该值例如可以受数据带宽的限制。例如,如果(一个或多个)处理器单元形成SoC的一部分,则可以在芯片上和在芯片下传送数据的速率可能受到用于向/从存储器传送数据的存储器总线的数据带宽范围的限制。在某些情况下,挂起的存储器访问请求的数量可能超过可以并行执行的最大存储器访问数量。此外,一些挂起的存储器访问请求可能不是唯一的,例如,挂起的存储器访问请求可能包含访问同一存储器地址的多个请求。在这些情况下,并行存储器访问请求的集合可能包含对同一存储器地址的多个请求,从而导致低效的存储器访问方案。
技术实现思路
根据本专利技术,提供了一种装置,其被配置为从包含至少一个非唯一存储器地址的N个输入存储器地址的较大集合中识别M个输出存储器地址的集合,该装置包括:比较器块,其被配置为对来自N个输入存储器地址的集合的存储器地址进行比较以生成二进制分类数据集,该二进制分类数据集从输入地址的集合中识别地址的子集,其中由二进制分类数据集识别的子集中的每个地址在该子集中是唯一的;多个组合逻辑单元,每个组合逻辑单元被配置为:接收二进制分类数据集的预先选择的位;并且将其接收的预先选择的位分类为中间二进制串,在该中间二进制串中将这些位排序为第一组和第二组,其中第一组标识属于所识别的子集的地址,第二组标识不属于所识别的子集的地址;以及输出生成逻辑,其被配置为在属于不同的中间二进制串的位之间进行选择,以生成对包含所识别的子集中的至少一个地址的输出存储器地址的集合进行标识的二进制输出。二进制分类数据集可以包括N位,每一位对应于相应的输入存储器地址,每一位的值指示相应的存储器地址是否形成所识别的子集的一部分。标识所识别的子集中的至少一个地址的二进制输出的(一个或多个)位在输出内可以是无序的。输入地址的集合中的每个地址可以与指示地址是有效还是无效的有效性标识符相关联。输入地址的集合中不在所识别的子集中的每个地址可以是以下两者中的至少一者:无效地址;或等于所识别的子集中的一个地址。输入存储器地址的集合可以包含N个地址,并且比较器块可以被配置为:通过将地址ai与地址aj进行比较来执行对输入地址的比较,其中i=1,…,N-1,并且j=i+1,…,N。输入存储器地址的集合可以包含N个地址,并且比较器块可以被配置为:通过将地址ai与地址aj进行比较来执行对输入地址的比较,其中i=1,…,N,并且j=i-1,…,1。比较器块可以被配置为:通过将第一位值与被确定为有效地址且不等于地址ai的每个地址aj相关联、并将第二位值与被确定为无效地址或等于地址ai的每个地址aj相关联来生成二进制分类数据集,比较器块还被配置为响应于确定地址aj等于地址ai而将地址aj标识为无效。比较器块可以被配置为:通过将第一位值与为有效地址且不等于任何地址aj的每个地址ai相关联、并将第二位值与为无效地址或等于至少一个其他地址aj的每个地址ai相关联来生成二进制分类数据集。二进制分类数据集中的第一位值可以标识地址的子集,在该子集中每个地址是唯一的。比较器块还可以被配置为从对输入地址的比较中生成匹配掩码,该匹配掩码针对每个输入地址指示其他输入地址中的哪些与该输入地址匹配。装置还可以包括地址匹配逻辑,其被配置为使用匹配掩码来标识与所识别的子集中的至少一个地址匹配的每个输入地址,其中所识别的子集由二进制输出标识。二进制输出是可以M位输出,并且输出生成逻辑可以被配置为在属于不同的中间二进制串的位之间进行选择以生成M位二进制输出,该M位二进制输出标识在所识别的子集中地址的数量大于或等于M时所述子集中的M个地址。每个组合逻辑单元可以被配置为将其接收的预先选择的位分类为中间二进制串,该中间二进制串包含比由该组合逻辑单元接收的预先选择的位的数量更少的位。每个组合逻辑单元可以包括:多个分类单元,每个分类单元被配置为:接收所接收的预先选择的位的一部分;以及对所接收的那部分位进行分类,以将标识属于所识别的子集的地址的位组合在一起,以生成初始二进制串;以及一个或多个合并单元,一个或多个合并单元中的每一个被配置为接收多个初始二进制串并将那些初始二进制串进行合并以将来自每个接收到的初始二进制串的、标识属于所识别的子集的地址的位组合在一起。输出生成逻辑可以包括多个选择单元,每个选择单元被配置为生成二进制输出的相应位。每个选择单元可以被配置为在来自相应中间二进制串的一对位之间进行选择以生成二进制输出的位。每个选择单元可以被配置为仅响应于接收到的一对位均不标识所识别的子集中的地址而输出不标识所识别的子集中的地址的位。每个选择单元可以与一对组合逻辑单元相关联,并被配置为在来自由这对组合逻辑单元形成的相应中间二进制串的一对位之间进行选择。每个组合逻辑单元可以被配置为将其接收的预先选择的位分类为M位的中间二进制串。每个选择单元n可以被配置为在来自第一中间二进制串的位bn和来自第二中间二进制串的位bm之间进行选择,其中n=1,…,M,并且m=M+1-n。存在一种处理器,其包括根据本文所述示例中的任一者的装置。该处理器可以是单指令多数据(SIMD)处理器。根据本公开的第二方面,提供一种从包含至少一个非唯一存储器地址的N个输入存储器地址的较大集合中识别M个输出存储器地址的集合的方法,该方法包括:对来自N个输入存储器地址的集合的存储器地址进行比较以生成二进制分类数据集,该二进制分类数据集从输入地址的集合中识别地址的子集,其中由二进制分类数据集识别的子集中的每个地址在该子集中是唯一的;在多个组合逻辑单元的每一个处:接收二进制分类本文档来自技高网
...

【技术保护点】
1.一种装置,其被配置为从包含至少一个非唯一存储器地址的N个输入存储器地址的较大集合中识别M个输出存储器地址的集合,所述装置包括:比较器块,其被配置为对来自N个输入存储器地址的集合的存储器地址进行比较以生成二进制分类数据集,该二进制分类数据集从所述输入地址的集合中识别地址的子集,其中由所述二进制分类数据集识别的子集中的每个地址在该子集中是唯一的;多个组合逻辑单元,每个组合逻辑单元被配置为:接收所述二进制分类数据集的预先选择的位,并且将其接收的预先选择的位分类为中间二进制串,在所述中间二进制串中将所述位排序为第一组和第二组,所述第一组标识属于所识别的子集的地址,所述第二组标识不属于所识别的子集的地址;以及输出生成逻辑,其被配置为在属于不同的中间二进制串的位之间进行选择,以生成对包含所识别的子集中的至少一个地址的输出存储器地址的集合进行标识的二进制输出。

【技术特征摘要】
2017.09.22 GB 1715416.21.一种装置,其被配置为从包含至少一个非唯一存储器地址的N个输入存储器地址的较大集合中识别M个输出存储器地址的集合,所述装置包括:比较器块,其被配置为对来自N个输入存储器地址的集合的存储器地址进行比较以生成二进制分类数据集,该二进制分类数据集从所述输入地址的集合中识别地址的子集,其中由所述二进制分类数据集识别的子集中的每个地址在该子集中是唯一的;多个组合逻辑单元,每个组合逻辑单元被配置为:接收所述二进制分类数据集的预先选择的位,并且将其接收的预先选择的位分类为中间二进制串,在所述中间二进制串中将所述位排序为第一组和第二组,所述第一组标识属于所识别的子集的地址,所述第二组标识不属于所识别的子集的地址;以及输出生成逻辑,其被配置为在属于不同的中间二进制串的位之间进行选择,以生成对包含所识别的子集中的至少一个地址的输出存储器地址的集合进行标识的二进制输出。2.根据权利要求1所述的装置,其中,所述二进制分类数据集包括N位,每位对应于相应的输入存储器地址,每位的值指示相应的存储器地址是否形成所识别的子集的一部分。3.根据权利要求1或2所述的装置,其中,标识所识别的子集中的至少一个地址的所述二进制输出的(一个或多个)位在所述输出内是无序的。4.根据权利要求1或2所述的装置,其中,所述输入地址的集合中的每个地址与指示该地址是有效或是无效的有效性标识符相关联。5.根据权利要求1或2所述的装置,所述输入地址的集合中不在所识别的子集中的每个地址为以下两者中的至少一者:无效地址;或等于所识别的子集中的一个地址。6.根据权利要求1或2所述的装置,其中,所述输入存储器地址的集合包含N个地址,并且所述比较器块被配置为:通过将所述输入存储器地址的集合中的每个地址ai与所述输入存储器地址的集合中的每个后续地址aj进行比较来执行对输入地址的比较;或者通过将所述输入存储器地址的集合中的每个地址ai与所述输入存储器地址的集合中的每个先前地址aj进行比较来执行对输入地址的比较。7.根据权利要求6所述的装置,其中,所述比较器块被配置为:通过将第一位值与被确定为有效地址且不等于地址ai的每个地址aj相关联,并将第二位值与被确定为无效地址或等于地址ai的每个地址aj相关联来生成所述二进制分类数据集,所述比较器块还被配置为响应于确定地址aj等于地址ai而将地址aj标识为无效。8.根据权利要求1或2所述的装置,其中,所述比较器块还被配置为从输入地址的比较生成匹配掩码,该匹配掩码针对每个输入地址指示其他输入地址中的哪些与该输入地址匹配。9.根据权利要求8所述的装置,其中,所述装置还包括地址匹配逻辑,其被配置为使用所述匹配掩码来标识与所识别的子集中的所述至少一个地址匹配的每个输入地址,其中所识别的子集由所述二进制输出标识。10.根据权利要求1或2所述的装置,其中,所述二进制输出是M位输出,并且所述输出生成逻辑被配置为在属于不同的中间二进制串的位之间进行选择以生成M位二进制输出,该M位二进制输出在所识别的子集中地址的...

【专利技术属性】
技术研发人员:卢卡·尤利亚诺西蒙·尼尔德托马斯·罗斯
申请(专利权)人:畅想科技有限公司
类型:发明
国别省市:英国,GB

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

1