一种基于自动布线互连网络的粗粒度可重构阵列电路的制作方法

文档序号:8430690阅读:300来源:国知局
一种基于自动布线互连网络的粗粒度可重构阵列电路的制作方法
【技术领域】
[0001]本发明涉及嵌入式可重构计算结构技术领域,尤其涉及一种基于自动布线互连网络的粗粒度可重构阵列电路。
【背景技术】
[0002]传统上,算法的实现方式有两种,一种是通过专用集成电路以硬件电路的方式,另外一种通过通用处理器以指令流的方式。前者具有高性能但是功能灵活性较低,后者正好相反,性能较低但是有很高的功能灵活性。可重构结构是一种能够将这二者的优势结合在一起的结构,其既具有较高的性能,又具有适中的功能灵活性。根据重构的粒度,可重构结构可以分为粗粒度可重构结构和细粒度可重构结构。细粒度可重构结构的功能单元和互连网络按位配置,比如现场可编程门阵列结构(Field-Programmable Gate Array, FPGA),其中功能单元主要是查找表(Look-Up Table, LUT)和寄存器,这种结构在理论上可以实现任意数字逻辑。粗粒度可重构结构(Coarse-Grained Reconfigurable Array, CGRA)的处理单元和互连网络按字配置,处理单元是算术逻辑运算单元(Arithmetic and LogicUnit, ALU),这种结构适合于实现字级(Word-level)操作和数据通路。在映射计算密集型算法时,比如快速傅里叶变换(Fast Fourier Transform,FFT)和离散余弦变换(DiscreteCosine Transform, DCT),CGRA在配置位的数量、配置时间、面积效率和功耗效率等方面比细粒度可重构结构更具有优势。
[0003]CGRA 一般是由按照一定网络拓扑结构连接在一起的处理单元(ProcessingElement,PE)阵列组成。一般来讲,处理单元由三部分组成:用于执行字级操作的算术运算单元;用于存储中间值的寄存器堆;用于选择操作数的输入选择器。现有的CGRA多采用类似于二维网格形式的互连网络拓扑结构,比如日本东芝的REMARC、比利时MEC的ADRES、美国华盛顿大学的MorphoSys、日本庆应大学的Cool Mega Array以及国防科技大学的IspCGRA等。在这类结构中,PE只能与相邻的而非所有的PE建立连接。图1 (a)?I (c)中列举了三种具有代表性的二维网格形式的互连网络拓扑结构。图1(a)采用于REMARC,在此结构中,PE与同一行/列中离得最近的四个PE连接,同一行/列的PE构成一个环路。图1(b)采用于ADRES,在此结构中,PE可与同一行/列中离得最近和次近的PE连接。图1(c)采用于MorphoSys中,在此结构中,同一行/列的PE可以任意连接。由于基于二维网格形式网络拓扑结构的CGRA不能保证任意一对PE之间的连接,因此这类结构需要复杂的布局和布线算法。为了使CGRA中的任意一对PE均可以建立连接关系,Ricardo等提出了一种将二维网格形式的互连网络拓扑结构和多级互连网络(Multistage Interconnect1nNetwork,MIN)结合在一起的网络拓扑结构,如图1(d)所示,这种结构能够极大的简化CGRA的布局布线算法的难度,但是,由于这种结构采用的MIN是一种具有自动布线特性但是阻塞的网络,因此需要为其配备一个布线算法,通过这种算法重复查找不存在阻塞的路径,直到查找到为止。而且,由于MIN会引入较大的路径延迟,因此这种结构的最高工作频率与二维网格结构的CGRA相比有所下降。
[0004]可见,现有技术的粗粒度可重构阵列具有以下技术缺陷:
[0005](I)基于二维网格形式网络拓扑结构的CGRA无法保证任意一对PE之间的连接和数据交换,而不相连的PE可能会导致在CGRA上映射的算法无法获取最佳性能。
[0006]在CGRA上映射实现算法,一般是以数据流图(DFG)的形式实现的。DFG由结点(Node)和边(Edge)组成,每个结点代表一个操作,边用于表示结点与结点的数据依赖关系以及数据的流向。依据PE之间的连接关系,CGRA可以转换成时空图。CGRA上的算法映射可以理解成DFG与时空图的匹配,DFG的每个结点相当于一个PE,每条边相当于CGRA中的互连线。理想状态下,PE处于全连通的状态,DFG的每条边均能在时空图中找到对应的互连线,此时映射结果最理想,性能表现最佳,算法执行所需时钟周期数和占用的PE资源最少。然而,过多的互连线会导致过大的面积开销,为了平衡性能和面积开销,往往需要合理的牺牲互连度,因此现有的CGRA多采用类似于二维网格形式的互连网络拓扑结构。但是这类结构导致CGRA中存在不相连的PE,如图1 (a)?I (c),这三种拓扑结构均存在不相连的PE,比如,图1(a)中的PE(1,O)和PE(0,1),图1(b)中的PE(1,O)和PE(2,I)以及图1(c)中的ΡΕ(0,0)和PE(1,1)。这些不相连的PE可能会导致映射的算法性能下降。以在图1(a)上映射数字信号处理领域常见的位倒序(Bit-Reverse)寻址为例,其DFG如图2 (a)所示。此DFG包含两级,每级8个顶点,每级需要8个PE与这些顶点对应。将这8个PE按照时间展开,选取图1(a)所示的网络拓扑结构为例,可以得到图2(b)所示的时空图,虚线所示的互连线为此拓扑结构所有支持的连接关系。映射的过程是DFG和时空图匹配的过程,从图中可以发现图1(a)中的边2,4,5,7无法在图2(b)中找到对应的互连线,因此图1 (a)的拓扑结构无法实现直接映射图2(a)所示的DFG。解决办法是增加额外的时钟周期,占用额外的PE资源。图2(b)中实线标示的部分为成功映射图2(a)的一种解决方案,其中灰色标注的PE用作中间寄存器。可见,成功映射此DFG,需要两倍的时钟周期和占用两倍的PE资源。将图2(a)的DFG映射到图1(b)和I (c)所示的其他拓扑结构上也可以得到类似的结果。
[0007](2)基于二维网格形式的网络拓扑结构加全局MIN的CGRA,虽能保证任意一对PE的连接,但是需要以增加面积开销和功耗,降低最高工作频率为代价。
[0008]MIN包含多级,每级包含多个的小尺寸的交叉网络(Crossbar),级与级之间通过互连线连接。以采用二输入/ 二输出的Crossbar构建N输入/ N输出(N=2m)的MIN为例,MIN由Log2N级组成,每级包含N / 2个二输入/ 二输出的Crossbar,级与级之间包含N条互连线。因此,与基于二维网格形式的互连网络拓扑结构的CGRA相比,此种结构会增加=Log2NXN / 2个二输入/ 二输出的Crossbar的面积开销,Log2N级的路径延时以及Log2NXN条互连线的翻转带来的动态功耗。
[0009](3)现有CGRA的PE包含的输入选择器的尺寸较大,所需的配置信息较多,并且在操作数选择方面存在浪费。
[0010]互连线资源增加会导致的面积开销的增大以及配置位的增多。一般来说,互连线越多意味着输入到PE的可选操作数就越多。在PE内部,操作数的选择是通过输入选择器实现的,操作数越多,输入选择器的尺寸就越大,所需的配置位也就越多。每个PE中均包含了两个同样尺寸的输入选择器,而PE内部的ALU只需要两个操作数,因此操作数选择存在浪费。

【发明内容】

[0011](一)要解决的技术问题
[0012]鉴于上述技术问题,本发明旨在提出一种既能够提供丰富的互连线资源,保证任意一对处理单元之间的连接和交换数据,又不需要因为互连线资源的增多而付出较高代价的粗粒度可重构阵列结构。
[0013](二)技术方案
[0014]根据本发明的一个方面,提供了一种一种基于自动布线互连网络的粗粒度可重构阵列电路,其包括:
[0015]多个处理单元簇:每个处理单元簇包括多个处理单元,其用于将输入至本处理单元簇中的数据分配给相应的处理单元进行处理,并将处理单元的处理结果输出;
[0016]簇间互连网络:其用于在各个处理单元簇间交换数据。
[0017]其中,所述处理单元簇还包括簇内互连网络,其用于在所述处理单元簇内的各个处理单元之间交换数据,并将来自其它处理单元簇的输入数据分配给相应的处理单元。
[0018]其中,所述簇内互连网络包括第一基本互连单元和第二基本互连单元,每个基本互连单元的输入和输出端口数目与该处理单元簇内的处理单元数目相同;其中,所
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1