用于粗粒度动态可重构阵列的多模式数据传输互连器的制造方法

文档序号:6643245阅读:202来源:国知局
用于粗粒度动态可重构阵列的多模式数据传输互连器的制造方法
【专利摘要】本实用新型公开了一种用于粗粒度动态可重构阵列的多模式数据传输互连器,所述互连器包括多模式互连控制器以及多模式互连结构模块;所述多模式互连控制器用于存储不同的互连结构选择信息,并且将互连结构选择信息发送至多模式互连结构模块;所述多模式互连结构模块用于根据多模式互连控制器的互连结构选择信息在阵列上选择一种或者多种互连结构,从而实现可重构阵列中计算单元互连。所述互连器在可重构阵列上实现满足多种计算需求且计算性能良好的互连结构,此外互连结构还具有易于扩展、功耗低、面积小的优点。
【专利说明】用于粗粒度动态可重构阵列的多模式数据传输互连器

【技术领域】
[0001 ] 本发明涉及集成电路领域,尤其涉及一种用于粗粒度动态可重构阵列的多模式数据传输互连器。

【背景技术】
[0002]目前,可重构结构起源于FPGA (现场可编程门阵列,Field — Programmable GateArray),作为新兴的硬件处理器结构,其兼具通用处理器软件执行的灵活性与专用集成电路的高效性。已经广泛地应用于通信领域、媒体应用、密码等领域,其研发周期短,功耗低,目前已被越来越多的领域所接受,具有广阔的发展空间。
[0003]由于在FPGA中,互连资源占用将近70%的芯片面积,互连延迟占用在50%_60%。粗粒度可重构结构,作为可重构结构中的一类,由于计算粒度大,需要重新配置的信息少,重构时间短很好的解决了 FPGA中的互连问题。
[0004]粗粒度可重构结构不仅可以改变控制流,还可以快速改变数据通路,满足阵列快速实现多种算法的需求。要使阵列能够快速实现多种算法的计算,那么深入研究互连结构设计是设计过程中必不可少的内容。
[0005]路由结构对可重构计算阵列的数据流水效率至关重要,且路由结构的互联开销对可重构计算阵列资源开销影响巨大。传统的可重构计算阵列路由结构包括如下三种基本形式:全局共享式路由结构、局部共享式路由结构以及全互联路由结构。
[0006]在全局共享式路由结构中,可重构计算阵列中所有的计算单元通过唯一访问接口共享数据寄存器文件,数据寄存器文件可以被任意计算单元访问。这种路由结构能提供足够高的灵活度,并且互连的硬件开销也很低,但是不能够很好地支持上述针对阵列流水性能的优化方法。因为当多个计算单元需要缓存多个数据时,这些计算单元对数据寄存器文件的读取操作会产生访问冲突,产生两类问题。首先,无法保证数据读取时间,可能在预期时间无法取得所需数据,导致运算出错;其次,为了处理访问冲突会带来额外的等待延迟,必须在流水线中引入额外的数据访问等待节拍,使得原有的流水性能恶化。
[0007]在局部共享式路由结构中,计算阵列中的某几个计算单元共享一个(或几个)数据寄存器,每个数据寄存器可以被周围的几个计算单元访问,其互连开销要远小于全互联的路由结构,硬件开销与具体的互连规模有关;
[0008]全互联结构实际上是局部共享式结构的一个极端情况,即任意数据寄存器都可以被阵列中所有的计算单元共享,但是互连硬件开销极大。
[0009]本发明在全局共享式路由结构的基础上,提出了一种用于粗粒度动态可重构阵列的多模式数据传输互连器,解决了满足多种计算需求且计算性能恶化的问题。


【发明内容】

[0010]本发明的目的是针对现有技术的一种或多种不足而提供一种用于粗粒度动态可重构阵列的多模式数据传输互连器,所述互连器在可重构阵列上实现满足多种计算需求且计算性能良好的互连结构。
[0011]为了实现发明目的,本发明公开了一种用于粗粒度动态可重构阵列的多模式数据传输互连器,所述互连器包括多模式互连控制器以及多模式互连结构模块;
[0012]所述多模式互连控制器用于存储不同的互连结构选择信息,并且将互连结构选择信息发送至多模式互连结构模块;
[0013]所述多模式互连结构模块用于根据多模式互连控制器的互连结构选择信息在阵列上选择一种或者多种互连结构,从而实现可重构阵列中计算单元互连。
[0014]作为优选,为了增强针对多任务中数据路由的并行管理能力,所述多模式互连控制器包括广播式互连寄存器,多组织网络互连寄存器,计算单元自反馈互连寄存器以及累加式互连寄存器;
[0015]所述广播式互连寄存器用于存储多模式互连控制器接收到的广播式互连结构选择信息,并且当多模式互连控制器接收到广播式互连指令时将广播式互连结构选择信息发送至可重构阵列;
[0016]所述多组织网络互连寄存器用于存储多模式互连控制器接收到的多组织网络互连结构选择信息,并且当多模式互连控制器接收到多组织网络互连指令时将多组织网络互连结构选择信息发送至可重构阵列;
[0017]所述计算单元自反馈互连寄存器用于存储多模式互连控制器接收到的计算单元自反馈互连结构选择信息,并且当多模式互连控制器接收到计算单元自反馈互连指令时将计算单元自反馈互连结构选择信息发送至可重构阵列;
[0018]所述累加式互连寄存器用于存储多模式互连控制器接收到的累加式互连结构选择信息,并且当多模式互连控制器接收到累加式互连指令时将累加式互连结构选择信息发送至可重构阵列。
[0019]作为优选,为了增强针对异构运算高效的任务流水线互连结构,所述多模式互连结构模块包括广播式互连模块,计算单元自反馈互连模块,多组织网络互连模块,累加式互连模块;
[0020]所述广播式互连模块用于将除法阵列计算单元的计算结果广播至基本计算阵列的计算单元中,以及将基本计算阵列中预定计算单元的计算结果反馈给除法阵列计算单元;
[0021]所述计算单元自反馈互连模块用于将计算单元的输出端与自身的输入端相连,将输出数据作为输入数据重新操作;
[0022]所述多组织网络互连模块用于相邻层间计算单元的数据传输,相邻列间计算单元的数据交互;
[0023]所述累加式互连用于在FIR等运算中涉及的逐次累加计算,通过倒三角阵列形式,将数据逐层相加,最终计算得数据累加结果。
[0024]作为优选,为了增强不同计算单元阵列互连过程中数据一到多分发的效率,所述广播式互连模块包括层间路由盒、列寄存器以及全局互连线;所述层间路由盒用于将除法阵列计算单元的运算结果输出到路由盒,通过路由盒分散至各个列寄存器,实现多数据输入和多数据输出;所述全局互连线用于将计算单元与层间路由盒、层间路由盒与寄存器、寄存器与计算单元连接起来形成流水线;所述列寄存器通过全局互连线输入输出端口分别与路由盒及目的列的计算单元相连。
[0025]作为优选,为了在控制互联硬件开销和互联线传输延迟的同时,实现同构计算单元阵列间高效、可扩展的数据传输,所述多组织网络互连模块包括邻层计算单元互连模块,邻列计算单元互连模块,边界列计算单元互连模块;
[0026]所述邻层计算单元互连模块用于相邻上下两层计算单元间数据的传输,互连组成包括层间互连盒和垂直、左下、右下三个方向连线;
[0027]所述邻列计算单元互连模块用于将每层最右侧层间互连盒与最下层左侧计算单元连接起来以及将最左侧层间互连盒与最下层右侧计算单元连接;
[0028]所述邻边界列计算单元互连模块互连用于相邻左右两列计算单元间数据的传输,从最左侧列开始,将最底层计算单元与其相邻右侧顶层的计算单元相连,依次将左侧列最底层计算单元与其相邻右侧顶层计算单元相连;
[0029]其中,所述层间互连盒用于选择将上层计算单元的输出数据传输到下层同列或者左右两侧计算单元中;右下连线,行循环连线;
[0030]所述左下连线用于连接层间互连盒与其同列下层左侧计算单元;
[0031]所述垂直连线用于连接层间互连与其同列上下两个计算单元;
[0032]所述右下连线用于连接层间互连与其同列下层右侧计算单元。
[0033]本发明与现有技术相比,所述互连器在可重构阵列上实现满足多种计算需求且计算性能良好的互连结构,此外互连结构还具有易于扩展、功耗低、面积小的优点。

【专利附图】

【附图说明】
[0034]图1为本发明的多模式数据传输互连器结构示意图;
[0035]图2为本发明实施例广播式互连结构示意图;
[0036]图3为本发明实施例多组织网络互连结构示意图;
[0037]图4为本发明实施例累加式互连结构示意图;
[0038]图5为本发明实施例计算单元自反馈互连结构示意图;
[0039]图6为本发明图1所示互联器的互连结构示意图。

【具体实施方式】
[0040]下面结合附图对本发明作更进一步的说明。
[0041]图1为本发明的多模式数据传输互连器结构示意图。如图1所示,提供一种用于粗粒度动态可重构阵列的多模式数据传输互连器,其包括多模式互连控制器由广播式互连寄存器、多组织网络互连寄存器、计算单元自反馈互连寄存器以及累加式互连寄存器组成。多模式互连结构模块由广播式互连模块、多组织网络互连模块、计算单元自反馈互连模块以及累加式互连模块组成。
[0042]在具体的实行中,多模式互连控制器分别用于存储广播式互连、多组织网络互连、计算单元自反馈互连以及累加式互连的选择信息。当控制信息进入多模式互连控制器后,多模式互连控制器就会根据控制信息将相应的互连寄存器中的互连选择信息发送至多模式互连结构模块,多模式互连结构模块根据多模式互连控制器的选择信息在阵列上将计算单元互连起来。例如,广播式互连模块还用于将除法阵列计算单元的计算结果广播至基本计算阵列的同构计算单元和累加计算单元中,以及将基本计算阵列中预定计算单元的计算结果反馈给除法计算单元阵列,其中,基本计算单元整列和除法计算单元阵列形成可重构阵列,基本计算单元阵列包括同构计算单元阵列和累加计算单元阵列。
[0043]在附图1中,就是除法计算单元阵列和基本计算单元阵列这两块。
[0044]图2为本发明实施例广播式互连结构示意图。如图2所示,提供一种广播式互连结构,其包括:除法计算单元阵列,具有1*8操作数为32位的除法计算单元;列寄存器,具有8个寄存器,存储数据为32位;同构计算单元阵列,具有6*8的同构计算单元,操作数为32位;两个路由盒,位于除法计算单元阵列与同构计算单元阵列之间。
[0045]在广播式互连中,基本计算单元通过互联线组成列单元,每列计算单元与相应的列寄存器相连,形成数据一到多广播传输互连。列寄存器通过互联线组成行单元,与除法计算单元输出端的路由盒的输出端相连,形成除法计算单元到同构计算单元的广播互连。数据从除法计算单元输出,通过32位宽的全局互连线通过两个周期传输到同构计算单元。除法计算单元阵列输入端的路由盒将外部输入数据或者是同构计算单元反馈数据通过32位互连线广播至行除法计算单元阵列中的每一个除法计算单元。
[0046]图3为本发明实施例多组织网络互连结构示意图。如图3所示,多组织网络互连结构包括:同构计算单元阵列,具有6*8同构计算单元,其中,同构计算单元操作数为32位,多组织网络互联互连包括同构计算单元邻层互连、邻列互连、边界列互连。
[0047]相邻层间同构计算单元的互连,通过层间路由选择,可以将上层同构计算单元的输出结果,通过32位互连线传送至下层垂直、左下、右下三个计算单元中,在一个周期内实现相邻层间同构计算单元的数据传输。
[0048]边界列互连,用于将每层最右侧层间互路由盒与最下层左侧计算单元,通过32位互连线连接起来,以及最左侧层间路由盒与最下层右侧计算单元连接,实现数据在一个周期内在阵列边侧的同构计算单元间传输。
[0049]邻列互连,将相邻列的首尾计算单元,通过32位的互连线连接起来。从左侧第一列开始,依次将左侧列的最底部的计算单元的输出端与相邻的右侧列顶部同构计算单元的输入相连,实现单周期内列间数据的传输。
[0050]图4为本发明实施例累加式互连结构示意图。如图4所示,累加式互连结构包括五层累加计算单元,例如,第一层具有8个累加计算单元,第二层具有四个累加计算单元,第三层有2个累加计算单元,第四层、第五层分别由I个累加计算单元其用于涉及逐次累加的计算。其中,五层累加计算单元例如呈倒三角布局,将三个邻近的累加计算单元连通过32位互连线,连接成倒三角结构。
[0051]经过互连线,将行间相邻两个累加计算单元的输出端与下一行同一个累加计算单元的输入端相连,在下行的累加计算单元中完成上一行两个累加计算单元数值的相加,依次类推组成累加互连,完成累加计算单元的互连。
[0052]图5为本发明实施例计算单元自反馈互连结构示意图。如图5所示,提供计算单元自反馈互连结构,其通过32位互连线,将自反馈计算单元的输出端与自身的输入端相连,将输出数据作为输入数据重新操作,适用于累加、累乘等多次重复操作的自运算。
[0053]图6为本发明图1所示互联器的互连结构示意图。如图6所示,在阵列上同时选择多组织网络互连结构、累加互连以及计算单元自反馈互连结构,形成FIR(滤波器,FiniteImpulse Response)计算的互连结构。
[0054]在具体的实行中,互连结构包括:同构计算单元阵列,具有6*8同构计算单元,其中,同构计算单元操作数为32位,阵列内邻层、邻列同构计算单元间数据传输为单周期。累加计算单元阵列为5行累加计算单元组成,例如,第一层具有8个累加计算单元,第二层具有四个累加计算单元,第三层有2个累加计算单元,第四层、第五层分别由I个累加计算单元其用于涉及逐次累加的计算。其中,五层累加计算单元例如呈倒三角布局,操作数据为32位,层间数据传输为单周期。一个自反馈计算单元,操作数位为32位。操作数据通过路由盒,分散到同构计算单元阵列各列的同构计算单元中进行乘操作。乘得的结果通过互连线,在一个周期内依次传输到累加式互连累加计算单元阵列中,将拆分开计算的乘积相加。后通过自反馈计算单元自反馈互连完成所有计算乘积的累加和,求的FIR计算的数值。通过与全局互连结构,基于簇的总线互连试验结果相比较,采用多组织网络互联、累加式互连、自反馈计算单元互连组合的互连结构性能分别提升了 23%和37%。
[0055]以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。
[0056]另外需要说明的是,在上述【具体实施方式】中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
【权利要求】
1.一种用于粗粒度动态可重构阵列的多模式数据传输互连器,其包括: 多模式互连控制器,用于存储不同的互连结构选择信息; 多模式互连结构模块,用于根据多模式互连控制器的互连结构选择信息在阵列上选择一种或多种互连结构模块,所述多模式互连控制器将所述互连结构选择信息发送至多模式互连结构模块,从而实现可重构阵列中计算单元互连。
2.如权利要求1所述的用于粗粒度动态可重构阵列的多模式数据传输互连器,其中,所述多模式互连控制器还包括: 广播式互连寄存器,用于存储所述多模式互连控制器接收到的广播式互连结构选择信息,且当所述多模式互连控制器接收到广播式互连指令时,将所述广播式互连结构选择信息发送至所述可重构阵列; 多组织网络互连寄存器,用于存储所述多模式互连控制器接收到的多组织网络互连结构选择信息,并且当所述多模式互连控制器接收到多组织网络互连指令时,将所述多组织网络互连结构选择信息发送至所述可重构阵列; 计算单元互连寄存器,用于存储所述多模式互连控制器接收到的自反馈计算单元自反馈互连结构选择信息,并且当所述多模式互连控制器接收到自反馈计算单元自反馈互连指令时,将自反馈计算单元自反馈互连结构选择信息发送至可重构阵列; 累加式互连寄存器,用于存储所述多模式互连控制器接收到的累加式互连结构选择信息,并且当所述多模式互连控制器接收到累加式互连指令时,将累加式互连结构选择信息发送至可重构阵列。
3.如权利要求2所述的用于粗粒度动态可重构阵列的多模式数据传输互连器,其中,所述多模式互连结构模块包括: 广播式互连模块,用于将除法阵列计算单元的计算结果发送至基本计算阵列的计算单元中,以及将所述基本计算阵列中预定计算单元的计算结果反馈给所述除法阵列计算单元; 计算单元自反馈互连模块,用于将计算单元的输出端与所述计算单元的输入端相连,将输出数据作为输入数据重新操作的自运算; 多组织网络互连模块,用于相邻层间计算单元的数据传输,相邻列间的所述计算单元的数据交互; 累加式互连模块,用于逐次累加计算,通过倒三角阵列形式,将数据逐层相加,计算得数据累加结果。
4.如权利要求3所述的用于粗粒度动态可重构阵列的多模式数据传输互连器,其中,所述广播式互连模块还包括: 层间路由盒,用于将所述除法阵列计算单元的运算结果输出到所述路由盒; 列寄存器,通过所述路由盒分散至各个列寄存器,实现多数据输入和多数据输出; 全局互连线,用于将所述计算单元与所述层间路由盒、所述层间路由盒与所述寄存器、所述列寄存器与所述计算单元连接起来形成流水线; 所述列寄存器通过全局互连线的输入、输出端口分别与所述路由盒及目的列的计算单元相连。
5.如权利要求3所述的用于粗粒度动态可重构阵列的多模式数据传输互连器,其中,所述多组织网络互连模块还包括: 邻层计算单元互连模块,用于相邻上、下两层同构计算单元间数据的传输,互连组成包括所述层间互连盒和垂直、左下、右下三个方向的所述同构计算单元连线; 邻列计算单元互连模块,用于将每层最右侧所述层间互连盒与最下层左侧所述同构计算单元连接起来以及将最左侧所述层间互连盒与最下层右侧所述同构计算单元连接; 边界列计算单元互连模块,用于相邻左、右两列所述同构计算单元间数据的传输,从最左侧列开始,将最底层所述同构计算单元与其相邻右侧顶层的所述同构计算单元相连,依次将左侧列最底层所述同构计算单元与其相邻右侧顶层所述同构计算单元相连; 所述层间互连盒用于选择将上层所述同构计算单元的输出数据传输到下层同列或者左、右两侧所述同构计算单元中、右下连线、行循环连线; 所述左下连线用于连接层间互连盒与其同列下层左侧所述同构计算单元; 所述垂直连线用于连接层间互连与其同列上下两个所述同构计算单元; 所述右下连线用于连接层间互连与其同列下层右侧计算单元。
【文档编号】G06F15/173GK203982379SQ201420192546
【公开日】2014年12月3日 申请日期:2014年4月18日 优先权日:2014年4月18日
【发明者】刘波, 曹鹏, 刘炎, 朱婉瑜, 杜月, 张亚, 杨锦江 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1