首页> 中国专利> 一种多核处理器阵列的核间结构和多核处理器

一种多核处理器阵列的核间结构和多核处理器

摘要

本发明为一种多核处理器阵列的核间结构和多核处理器,多核处理器阵列为多个以二维行列排布的计算单元,多个第一加载单元在背离多核处理器阵列的方向上与第一边缘行的计算单元依次对应设置且连接,多个第二加载单元在背离多核处理器阵列的方向上与第二边缘列的计算单元依次对应设置且连接,多个第一存储单元在背离多核处理器阵列的方向上与第二边缘行的计算单元依次对应设置且连接,所述多个第二存储单元在背离所述多核处理器阵列的方向上与所述第二边缘列的计算单元依次对应设置且连接。减少多核处理器互联的面积和功耗开销。

著录项

  • 公开/公告号CN112328536A

    专利类型发明专利

  • 公开/公告日2021-02-05

    原文格式PDF

  • 申请/专利权人 北京清微智能科技有限公司;

    申请/专利号CN202011063336.4

  • 发明设计人 宋国志;欧阳鹏;

    申请日2020-09-30

  • 分类号G06F15/80(20060101);

  • 代理机构11679 北京索睿邦知识产权代理有限公司;

  • 代理人李根

  • 地址 100192 北京市海淀区宝盛南路1号院26号楼2层201

  • 入库时间 2023-06-19 09:47:53

说明书

技术领域

本发明涉及多核处理器互联领域,具体为一种多核处理器阵列的核间结构和多核处理器。

背景技术

为了满足更高计算能效的需求,可重构计算越来越受到业界的关注。可重构计算不同于传统的通用处理器,其内部具有众多不同粒度的可重构PE单元,通过片上互联网络形成庞大计算阵列,可以并行的进行各种类型的逻辑、算术运算。由于各种应用需求复杂,现有多核处理器实现PE互联方案的互联面积和功耗开销大。

发明内容

本发明的目的是提供一种多核处理器阵列的核间结构和多核处理器,能够满足不同应用需求的多核处理器阵列的核间结构,同时可减少其互联的面积和功耗开销。

为了实现上述目的,采用的技术方案为:一种多核处理器阵列的核间结构,多核处理器阵列为多个以二维行列排布的计算单元;多核处理器阵列具有两个平行且位于多核处理器边缘的一个第二边缘行和一个第二边缘行。多核处理器阵列具有两个平行且位于多核处理器边缘的一个第一边缘列和一个第二边缘列。

第二边缘行两端分别与第一边缘列和第二边缘列的一个端部具有两个同用计算单元。

第二边缘行两端分别与第一边缘列和第二边缘列的另一个端部具有两个同用计算单元。

多核处理器阵列的核间结构包括:

多个第一加载单元,第一加载单元的数量与第一边缘行的计算单元数量相应。多个第一加载单元在背离多核处理器阵列的方向上与第一边缘行的计算单元依次对应设置且连接。

多个第二加载单元,第二加载单元的数量与第一边缘列的计算单元数量相应。多个第二加载单元在背离多核处理器阵列的方向上与第二边缘列的计算单元依次对应设置且连接。

多个第一存储单元,第一存储单元的数量与第二边缘行的计算单元数量相应。多个第一存储单元在背离多核处理器阵列的方向上与第二边缘行的计算单元依次对应设置且连接。

多个第二存储单元,第二存储单元的数量与第二边缘列的计算单元数量相应。多个第二存储单元在背离多核处理器阵列的方向上与第二边缘列的计算单元依次对应设置且连接。

本发明还提供一种多核处理器,其包括上述多核处理器阵列的核间结构。

与现有技术相比,本发明的技术效果为:由于第一加载单元、第二加载单元、第一存储单元和第二存储单元布设于多核处理器阵列外周,在图像或语音等应用场景中的常用算法中,根据特定场景的算法集合如fir、iir、fft、beamforming等常用算法中,能够选择第一加载单元、第二加载单元、第一存储单元和第二存储单元相对于多核处理器阵列的方位,并且实现第一加载单元和第二加载单元到计算单元、计算单元之间以及计算单元到一存储单元和第二存储单元的局部互联,相较于全互联来说减少互联的面积,节省一大部分的互联开销。

附图说明

图1为本发明Load阵列、sotre阵列和PEA阵列的第一种排布结构。

图2为本发明Load阵列、sotre阵列和PEA阵列的第二种排布结构。

图3为本发明Load阵列、sotre阵列和PEA阵列的第三种排布结构。

图4为本发明Load阵列、sotre阵列和PEA阵列的第四种排布结构。

图5为本发明第一加载单元与PEA的第一种互联结构。

图6为本发明第一加载单元与PEA的第二种互联结构。

图7为本发明第一加载单元与PEA第三种互联结构。

图8为本发明第一加载单元与PEA第四种互联结构。

图9为本发明PEA阵列内部PE间的互联结构。

图10为本发明PEA阵列与store阵列的互联结构。

图11为fir算法映射于多核处理器形成的互联结构。

具体实施结构

下面结合附图对本发明的具体实施结构进行描述。

本发明一实施例为一种多核处理器阵列的核间结构,多核处理器阵列为多个以二维行列排布的计算单元PE。多核处理器阵列具有两个平行且位于多核处理器边缘的一个第一边缘行和一个第二边缘行。多核处理器阵列具有两个平行且位于多核处理器边缘的一个第一边缘列和一个第二边缘列。

第一边缘行两端分别与第一边缘列和第二边缘列的一个端部具有两个同用计算单元PE。第二边缘行两端分别与第一边缘列和第二边缘列的另一个端部具有两个同用计算单元PE。

多核处理器阵列的核间结构包括:

多个第一加载单元,第一加载单元的数量与第一边缘行的计算单元数量相应。多个第一加载单元在背离多核处理器阵列的方向上与第一边缘行的计算单元PE依次对应设置且连接。

多个第二加载单元,第二加载单元的数量与第一边缘列的计算单元数量相应。多个第二加载单元在背离多核处理器阵列的方向上与第二边缘列的计算单元依次对应设置且连接。

多个第一存储单元,第一存储单元的数量与第二边缘行的计算单元数量相应。多个第一存储单元在背离多核处理器阵列的方向上与第二边缘行的计算单元依次对应设置且连接。

多个第二存储单元,第二存储单元的数量与第二边缘列的计算单元数量相应。多个第二存储单元在背离多核处理器阵列的方向上与第二边缘列的计算单元依次对应设置且连接。

本发明提出一种基于多核处理器阵列(PEArray,简称PEA)的核间结构,用于PE之间的数据流传输,实现数据流图(DataFlow Graph,DFG)在PEA上的并行计算。

本发明的互联结构主要包括三方面的互联。第一是存储单元load与PEA中计算单元PE互联,加载单元load是指从存储器memory加载数据到PEA,即通过load给PEA提供运算所需的数据。第二是PEA内部PE的互联。第三是PEA与store的互联,store是指将PEA运算完成的数据存储到memory,即通过store单元写回结果数据。

多核处理器阵列由load阵列、store阵列和PEA阵列组成,简而言之,就是指多个load、多个store、多个PE组合在一起。其中PEA阵列由M*N个PE单元组成,M、N分别为矩阵的行数和列数(N>=3,M>=4)。

Load阵列由M+N维的加载单元组成,可围绕PEA纵向或横向排布,一般位于数据驱动流的上游。

Store阵列由M+N维的存储单元组成,可围绕PEA纵向或横向排布,一般位于数据驱动流的下游,可放置在PEA阵列的上下左右四个方位。

由于第一加载单元、第二加载单元、第一存储单元和第二存储单元布设于多核处理器阵列外周,在图像或语音等应用场景中的常用算法中,根据特定场景的算法集合如fir、iir、fft、beamforming等常用算法中,能够选择第一加载单元、第二加载单元、第一存储单元和第二存储单元相对于多核处理器阵列的方位,并且实现load到PE、PE之间以及PE到store的互联均局部互联,相较于全互联来说减少互联的面积,节省一大部分的互联开销。

具体地,如图1至图4所示,Load阵列、sotre阵列和PEA阵列的排布结构。

图1中Load阵列位于PEA阵列的左上方、store阵列位于PEA阵列的右下方。

.图2中Load阵列位于PEA阵列的左下方、store阵列位于PEA阵列的右上方。

图3中Load阵列位于PEA阵列的右下方、store阵列位于PEA阵列的左上方

图4中Load阵列位于PEA阵列的右上方、store阵列位于PEA阵列的左下方。

本发明中,多个第一加载单元中的每一个分别与第一边缘列中的各计算单元连接,以使多个第一加载单元能够将其计算数据向第一边缘列中的计算单元传输。或者,多个第一加载单元中的每一个分别与第二边缘列中的各计算单元连接。以使多个第一加载单元能够将其计算数据向第二边缘列中的计算单元传输。

其中,多个第二加载单元中的每一个分别与第一边缘行中的各计算单元连接,以使多个第二加载单元能够将其计算数据向第一边缘行中的计算单元传输。或者,多个第二加载单元中的每一个分别与第二边缘行中的各计算单元连接。以使多个第二加载单元能够将其计算数据向第二边缘行中的计算单元传输。

其中,多个第一存储单元中的每一个分别与第一边缘行中的各计算单元连接,以使第一边缘行中每个计算单元能够将其计算结果数据分别发送到第一存储单元的计算单元中。或者,多个第一存储单元中的每一个分别与第二边缘行中的各计算单元连接。以使第二边缘行中每个计算单元能够将其计算结果数据分别发送到第一存储单元的计算单元中。

其中,多个第二存储单元中的每一个分别与第一边缘列中的各计算单元连接,以使第一边缘列中每个计算单元能够将其计算结果数据分别发送到第二存储单元的计算单元中。或者,多个第二存储单元中的每一个分别与第二边缘列中的各计算单元连接。以使第二边缘列中每个计算单元能够将其计算结果数据分别发送到第二存储单元的计算单元中。

其中,多个第一加载单元中的每一个分别与第一边缘行中各计算单元连接,以使多个第一加载单元能够将其计算数据向第一边缘行中的计算单元传输。

多个第二加载单元中的每一个分别与第一边缘列中各计算单元分别连接。以使多个第二加载单元能够将其计算数据向第一边缘列中的计算单元传输。

其中,多个第一存储单元中的每一个分别与第二边缘行中各计算单元连接,以使第二边缘行中的计算单元分别能够将其计算结果数据发送到多个第一存储单元。

多个第二存储单元中的每一个分别与第二边缘列中各计算单元分别连接,以使第二边缘列中的计算单元分别能够将其计算结果数据发送到多个第二存储单元。

如图5所示,下面说明第一加载单元Load11至load1n与PEA的互联结构。同理可知第二加载单元Load21至load2m与PEA的互联结构。

第一加载单元Load11至load1n与PEA第一边缘行的PE能够互联。第一加载单元load1至load1n中的每一个分别与第一边缘行中的各计算单元连接。以使多个第一加载单元能够将其计算数据向第一边缘行中的计算单元PE1至PE1n传输。

图6示出了第一加载单元Load11至load1n与PEA边界PE全互联,以及第一加载单元Load11至load1n与第一边缘列的PE对角互联,具体如下。

第一加载单元Load11至load1n的每一个分别与第一边缘行中的各计算单元PE连接,即图6中Load11分别与PE11至PE1n连接,Load12至Load1n与PE11至PE1n连接不再赘述。

第一加载单元Load11至load1n的每一个分别与第一边缘列中的一个计算单元PE对应连接。即图6中Load11与PE11连接,Load12与PE21连接,Load13与PE31连接,依次类推。

图7示出了第一加载单元Load11至load1n与PEA第一边缘行的PE一对一互联,即Load11与PE11连接,Load12与PE12连接,Load13与PE12连接,依次类推。

图8示出了第一加载单元Load与PEA第一边缘列PE一对一互联+对角互联,即Load11与PE11连接,Load12与PE12连接,Load13与PE12连接,依次类推。并且,Load12与PE21连接,Load12与PE21连接,Load13与PE31连接,依次类推。实现第一加载单元Load与PEA第一边缘列PE一对一互联+对角互联,这样数据流图映射至本发明中的多核处理器更加灵活,进而节省一部分的互联开销。

图9示出了PEA阵列内部互联,多核处理器阵列中除去第二边缘行和一个第二边缘行。一个第一边缘列和一个第二边缘列对应的计算单元PE为多个内部计算单元PE。在多个内部计算单元PE中,以一个计算单元PE22为中心分别与围绕其排布的计算单元PE连接。

核间结构还包括:在多个内部计算单元PE中,以一个计算单元PE22为中心分别与围绕其排布的计算单元PE以外的其他计算单元PEM2连接。

图10示出了PEA阵列与store阵列的互联结构。第一存储单元store与PEA第二边缘列PE一对一互联+对角互联,第二存储单元store2与PEA第二边缘行PE一对一互联。

即store11与PE1n连接,store12与PE2n连接,store13与PE32连接,依次类推。并且,store21与PEM1连接,store22与PEM1连接,store23与PEM1连接,依次类推。

本发明还提供一种多核处理器,其中,其如上的一种多核处理器阵列的核间结构。

图11示出了实际的算法映射至本发明提供的多核处理器中的互联方案。

在图像或语音等应用场景中的常用算法,如fir、iir、fft、beamforming等常用算法。比如为了满足fir算法的需求,Load、store的具体方位可根据fir算法的需求,确定的映射方案可以为图11所示,图11中load到PE、PE之间以及PE到store的互联均采用局部互联,load21与PE11连接,store22与PEM2连接,相较于全互联来说节省一大部分的互联开销。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号