粗粒度可重构处理器中的计算阵列和可重构处理器制造技术

技术编号:27140264 阅读:23 留言:0更新日期:2021-01-27 21:05
本发明专利技术为一种粗粒度可重构处理器中的计算阵列和可重构处理器,计算阵列包括以二维行列排布的多个设定计算单元;设定计算单元包括四个相邻的计算单元,四个相邻的计算单元呈两行两列排布。设定计算单元中的合并逻辑单元分别通过设定低位宽的数据互联线连接设定计算单元中计算单元的输入输出控制单元。合并逻辑单元的输出连接高位宽的数据互联线。高位宽的数据互联线位数是低位宽的数据互联线位数的多倍。合并逻辑单元能够将设定计算单元中多个计算单元的低位宽输入数据合并为高位宽输出数据。合并逻辑单元能够通过高位宽的数据互联线输出高位宽输出数据,使得短路径和长路径计算均可达到比较优化的配置,匹配高精度、大位宽的计算场景。宽的计算场景。宽的计算场景。

【技术实现步骤摘要】
粗粒度可重构处理器中的计算阵列和可重构处理器


[0001]本专利技术涉及可重构计算架构领域,具体为一种粗粒度可重构处理器中的计算阵列和可重构处理器。

技术介绍

[0002]神经网络应用在语音图像处理领域,一般采用的是4*4或者更大的对称阵列,通常伴随较大的输入输出数据位宽,这可以带来较大的灵活性,但是在功耗、面积上的消耗都比较大。这成为当前可重构计算架构的一个难点。

技术实现思路

[0003]本专利技术的目的是提供一种粗粒度可重构处理器中的计算阵列和可重构处理器,既保证配置的灵活性,又能够控制芯片的面积和功耗。
[0004]为了实现上述目的,采用的技术方案为:一种粗粒度可重构处理器中的计算阵列,计算阵列包括以二维行列排布的多个设定计算单元;所述设定计算单元包括四个相邻的计算单元;所述四个相邻的计算单元呈两行两列排布。
[0005]设定计算单元中的每个计算单元包括一个取指译码单元、一个内部计算单元和一个输入输出控制单元。
[0006]取指译码单元能够根据指令译码编译当前指令获取且输出当前逻辑计算类型。内部计算单元连接取指译码单元且能够从取指译码单元获取当前逻辑计算类型。内部计算单元根据当前逻辑计算类型及运算数据获取输出当前计算结果数据。
[0007]输入输出控制单元连接取指译码单元和内部计算单元。输入输出控制单元能够根据多种编码方式输入当前指令和运算数据。输入输出控制单元能够根据多种编码方式输出当前计算结果数据。输入输出控制单元输出的为一个设定低位宽的数据互联线。
>[0008]设定计算单元中还包括一个合并逻辑单元,合并逻辑单元分别通过设定低位宽的数据互联线连接设定计算单元中计算单元的输入输出控制单元。合并逻辑单元的输出连接一个高位宽的数据互联线。高位宽的数据互联线位数是低位宽的数据互联线位数的多倍。
[0009]合并逻辑单元能够将设定计算单元中多个计算单元的低位宽输入数据合并为一个高位宽输出数据。合并逻辑单元能够通过高位宽的数据互联线输出高位宽输出数据。
[0010]本专利技术还提供一种粗粒度可重构处理器,包括上述粗粒度可重构处理器中的计算阵列。
[0011]与现有技术相比,本专利技术的技术效果为:通过横纵向不对等数量设定计算单元的排布,使得短路径和长路径计算均可达到比较优化的配置。通过设定计算单元中的合并逻辑单元,可以匹配高精度、大位宽的计算场景。既保证配置的灵活性,又能够控制芯片的面积和功耗。
附图说明
[0012]图1为本专利技术中粗粒度可重构处理器中的计算阵列结构示意图。
[0013]图2为本专利技术中设定计算单元的结构示意图。
[0014]图3为本专利技术中设定计算单元中的一个计算单元的结构示意图。
[0015]具体实施结构
[0016]下面结合附图对本专利技术的具体实施结构进行描述。
[0017]如图1所示,本专利技术一实施例为一种粗粒度可重构处理器中的计算阵列,所述计算阵列包括以二维行列排布的多个设定计算单元;如图2所示,所述设定计算单元包括四个相邻的计算单元;所述四个相邻的计算单元呈两行两列排布。
[0018]如图3所示,设定计算单元中的每个计算单元包括一个取指译码单元、一个内部计算单元和一个输入输出控制单元。取指译码单元能够根据指令译码编译当前指令获取且输出当前逻辑计算类型。
[0019]内部计算单元连接取指译码单元且能够从取指译码单元获取当前逻辑计算类型,内部计算单元根据当前逻辑计算类型及运算数据获取输出当前计算结果数据。
[0020]输入输出控制单元连接取指译码单元和内部计算单元。输入输出控制单元能够根据多种编码方式输入当前指令和运算数据。输入输出控制单元能够根据多种编码方式输出当前计算结果数据。输入输出控制单元输出的为一个设定低位宽的数据互联线。
[0021]设定计算单元中还包括一个合并逻辑单元,合并逻辑单元分别通过设定低位宽的数据互联线连接设定计算单元中计算单元的输入输出控制单元,合并逻辑单元的输出连接一个高位宽的数据互联线,高位宽的数据互联线位数是低位宽的数据互联线位数的多倍。
[0022]合并逻辑单元能够将设定计算单元中多个计算单元的低位宽输入数据合并为一个高位宽输出数据。合并逻辑单元能够通过高位宽的数据互联线输出高位宽输出数据。
[0023]具体地,高位宽的数据互联线位数是低位宽的数据互联线位数的两倍。合并逻辑单元能够将设定计算单元中任意两个计算单元的低位宽输入数据合并为一个高位宽输出数据。合并逻辑单元能够通过高位宽的数据互联线输出高位宽输出数据。
[0024]图1中圆圈中为数字的结构表示计算单元(ProcessElement,简称PE),三角形中为L的结构表示数据驱动单元load,数据驱动单元L是指从存储器memory加载数据到计算单元,即通过数据驱动单元L是给PE提供运算所需的数据。三角形中为S的结构表示存储单元store,存储单元S是指将计算单元PE运算完成的数据存储到存储器memory中,即通过存储单元S写回结果数据。
[0025]图1中包括八个设定计算单元,设定计算单元包括4个计算单元和一个合并逻辑,每4个计算单元对应一个合并逻辑,PE0、PE1、PE2和PE3对应一个合并逻辑,PE4、PE5、PE6和PE7对应一个合并逻辑,依次类推,不再赘述。合并逻辑连接存储单元S。合并逻辑之间有高bit位宽的互联线,可以传递高位宽数据。
[0026]合并逻辑单元能够将设定计算单元中任意两个计算单元的低位宽输入数据,根据高位、低位的顺序合并为高位宽输出数据。高位宽输出数据包括,一组高位数据和一组低位数据。高位数据来自设定计算单元中的一个计算单元,低位数据来自设定计算单元中的另一个计算单元。
[0027]低位宽输入数据的位数为8、16及32位。高位宽输出数据的位数为对应的16、32及
64位。
[0028]例如:16bit输入的情况下,需要32bit输出,那么两个数据存储单元(图示的S单元)可以分别输出高低16bit。合并逻辑之间可以直接传递32bit数据,即16bit的PE可以合并成32bit的PE。
[0029]计算阵列还包括一个数据驱动单元,数据驱动单元连接计算单元且能够向计算单元发送驱动数据。计算单元若收到驱动数据,则启动计算。
[0030]计算阵列还包括一个数据存储单元,数据存储单元连接计算单元且能够存储从计算单元输出的输出数据。
[0031]以数据驱动单元作为整个计算的真正起点,数据驱动单元用于主动给PE提供数据,只要数据驱动单元驱动数据进入PE,PE就启动计算。只要PE有数据计算完成并输出,数据存储单元就进行存储。
[0032]设定计算单元设置为8个设定计算单元。8个设定计算单元以两列四行排布。每一列为4个设定计算单元。每一行为两个设定计算单元。在一列中的设定计算单元的合并逻辑单元依次相互连接。在一行中的两个设定计算单元的合并逻辑单元互联。
[0033]8个设定计算单元中一个设定本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种粗粒度可重构处理器中的计算阵列,其特征在于,所述计算阵列包括以二维行列排布的多个设定计算单元;所述设定计算单元包括四个相邻的计算单元;所述四个相邻的计算单元呈两行两列排布;所述设定计算单元中的每个计算单元包括:一个取指译码单元,其能够根据指令译码编译当前指令获取且输出当前逻辑计算类型;一个内部计算单元,其连接所述取指译码单元且能够从所述取指译码单元获取当前逻辑计算类型;所述内部计算单元根据所述当前逻辑计算类型及运算数据获取输出当前计算结果数据;一个输入输出控制单元,其连接所述取指译码单元和所述内部计算单元;所述输入输出控制单元能够根据多种编码方式输入所述当前指令和所述运算数据;所述输入输出控制单元能够根据所述多种编码方式输出所述当前计算结果数据;所述输入输出控制单元输出的为一个设定低位宽的数据互联线;所述设定计算单元中还包括:一个合并逻辑单元,其分别通过所述设定低位宽的数据互联线连接所述设定计算单元中计算单元的输入输出控制单元;所述合并逻辑单元的输出连接一个高位宽的数据互联线;所述高位宽的数据互联线位数是所述低位宽的数据互联线位数的多倍;所述合并逻辑单元能够将所述设定计算单元中多个计算单元的低位宽输入数据合并为一个高位宽输出数据;所述合并逻辑单元能够通过所述高位宽的数据互联线输出所述高位宽输出数据。2.如权利要求1所述的计算阵列,其中,所述高位宽的数据互联线位数是所述低位宽的数据互联线位数的两倍;所述合并逻辑单元能够将所述设定计算单元中任意两个计算单元的低位宽输入数据合并为一个高位宽输出数据...

【专利技术属性】
技术研发人员:张亚学欧阳鹏
申请(专利权)人:北京清微智能科技有限公司
类型:发明
国别省市:

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

1