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

文档序号:8430690阅读:来源:国知局
,已经结合附图对本实施例基于自动布线互连网络的粗粒度可重构阵列结构进行了详细描述。依据以上描述,本领域技术人员应当对本发明基于自动布线互连网络的粗粒度可重构阵列结构有了清楚的认识。
[0060]此外,上述对各元件、方法的定义并不仅限于实施方式中提到的各种具体结构、形状或方法,本领域的普通技术人员可对其进行简单地熟知地替换,例如:
[0061](I)采用其他具有自动布线特性的网络代替Omega网络,比如Baseline网络和Butterfly 网络;
[0062](2)调整每个簇中包含的处理单元的个数,并增加簇内互连网络中基本单元的个数;
[0063](3)阵列结构的网络拓扑结构可以由二维结构替换成一维结构:多个簇置于一行,簇间互连网络置于行的上方或者下方;
[0064](4)阵列结构的网络拓扑结构可以由二维结构替换成三维结构(钻石形或者金字塔形):一层为簇间互连网络,一层为处理单元簇阵列。
[0065]本发明公开的上述粗粒度可重构阵列结构的构建包含三个部分,具体如下:
[0066]I)构建互连网络的基本互连单元。
[0067]为了保证簇内和簇间的任意连接,构建互连网络的基本单元应该具有较高的连通性,同时,其面积开销应该较低,而且其控制机制应该简易。基本单元的结构有两种选择方案:交叉网络和多级互连网络。这两种结构具有相同的连通性,即任意一个输入可以连接到任意一个输出。对于N输入/ N输出的交叉网络和多级互连网络,二者的面积分别按O (N2)和0(N.1ogN)增长。因此,相同输入输出端口数下,多级互连网络的面积开销比交叉网络小很多。同时考虑面积开销和连通性,多级互连网络更适合作为基本单元构建整个互连网络。多级互连网络的种类有很多,本发明只关注一种具有自动布线特性的多级互连网络。自动布线是一种快速的布线方式,只需要知道目标输出端口的编号就可以将输入准确送达,而不需要关注其内部结构,因此其控制机制很简易。
[0068]2)减少因为处理单元(PE)中操作数选择导致的浪费,降低输入选择器的尺寸,较少配置信息。
[0069]一般来说,互连线越多意味着输入到PE的可选操作数就越多。在PE内部,操作数的选择是通过输入选择器实现的,操作数越多,输入选择器的尺寸就越大,所需的配置位也就越多。每个PE中均包含了两个同样尺寸的输入选择器,而PE内部的ALU只需要两个操作数,因此操作数选择存在浪费。减少浪费可以通过减少可选操作数来源来实现。可选操作数的来源主要有三种:全局数据总线,相邻PE以及PE内部的寄存器堆。如果将来源于相邻PE和寄存器堆的操作数的选择移出PE,转交给簇内互连网络来完成,由簇内互连网络为每个PE提供两个操作数,那么输入到PE的可选操作数只剩下四个:两个来源于全局数据总线和两个来源于簇内互连网络,PE的输入选择器的尺寸就会降低很多,配置位也会有所减少。
[0070]3)保证任意一对PE之间的连接。
[0071]在基于二维网格形式的网络拓扑结构的CGRA中,PE只能和相邻的PE连接和交换数据,因此存在许多不相连的PE。如果将二维网格结构的CGRA等分为四个簇,每个簇中包含四个PE,在簇内,PE之间可以任意连接和交换数据,在簇外,簇之间可以任意连接和交换数据,簇内和簇外通过总线连接,那么,通过这种划分以及簇内和簇间的任意连接就能够实现整个结构中的任意一对PE之间的连接和交换数据。
[0072]综上所述,本发明提出的上述方案中互连网络和处理单元簇构成了层次型的网络拓扑结构,高层是处理单元簇,底层是处理单元。高层之间通过通过簇间互连网络实现任意连接和交换数据,底层之间通过簇内互连网络实现任意连接和数据交换。簇内和簇间互连网络的联合,为整个阵列结构提供丰富的互连线资源,并使整个阵列结构中的任意一个处理单元均可以和其他任意一个处理单元连接和交换数据。这两种互连网络均是由一种四输入/四输出的开关互连结构构建而成,这种开关互连和交叉网络具有相同的连通性,而且具有自动布线和非阻塞的特性,即连接到开关上的任意输入只需要知道目标输出端口的编号,即可将输入的数据准确送达,而不需要关注开关互连的内部结构。处理单元由算术逻辑运算单元,寄存器堆,配置寄存器和输入选择选择器等组成,与传统的粗粒度可重构阵列结构不同的是,其内部的输入选择器的尺寸较小,这是因为操作数选择转交给了簇内互连网络。总之,本发明通过层次型的网络拓扑结构和自动布线的开关互连结构,以较小面积开销为代价为粗粒度可重构阵列结构提供丰富的互连资源,从而在映射计算密集型应用程序时获取较高的性能。
[0073]本发明提供的基于自动布线互连网络的粗粒度可重构阵列结构在面积效率和功耗效率方面均有较大的优势,并能够提供丰富的互连网络资源,保证任意一对处理单元均可以无阻塞地建立连接。而且,本发明非常适合于实现任务级并行地执行应用程序,从而可以广泛应用于多媒体处理,数字信号处理等存在较多计算密集型应用的领域。
[0074]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种基于自动布线互连网络的粗粒度可重构阵列电路,其包括: 多个处理单元簇:每个处理单元簇包括多个处理单元,其用于将输入至本处理单元簇中的数据分配给相应的处理单元进行处理,并将处理单元的处理结果输出; 簇间互连网络:其用于在各个处理单元簇间交换数据。
2.如权利要求1所述的电路,其中,所述处理单元簇还包括簇内互连网络,其用于在所述处理单元簇内的各个处理单元之间交换数据,并将来自其它处理单元簇的输入数据分配给相应的处理单元。
3.如权利要求1所述的电路,其中,所述簇内互连网络包括第一基本互连单元和第二基本互连单元,每个基本互连单元的输入和输出端口数目与该处理单元簇内的处理单元数目相同;其中,所述第一基本互连单元用于在簇内处理单元间的数据交换,所述第二基本处理单元用于将来自其它处理单元簇的数据分配给簇内处理单元进行处理。
4.如权利要求1-3任一项所述的电路,其中,来自簇内处理单元的数据包括标签和数据,而来自其它处理单元簇的数据包括多组标签和数据,其中标签用于指示数据的输出端口号,每个输出端口对应接入一个处理单元。
5.如权利要求1-3任一项所述的电路,其中,所述处理单元的输入数据来源包括:外部数据和簇内和/或簇间互连网络交换的数据。
6.如权利要求3所述的电路,其中,所述基本互连单元包括多输入/输出的Omega多级互连网络。
7.如权利要求6所述的电路,其中,所述基本互连单元还包括预处理单元,所述预处理单元用于检测输入数据的目标输出端口的排列方式是否会造成阻塞,并在检测为阻塞时调整所述排列方式。
8.如权利要求1所述的电路,其中,所述簇间互连网络包括多个输入和输出端口,每个输入和输出端口均连接至一个处理单元簇。
9.如权利要求1-3、6-8任一项所述的电路,其中,所述处理单元包括两个输出端口,其中一个输出端口用于将数据输出至簇内互连网络,而另一个输出端口用于将数据输出至簇间互连网络。
10.如权利要求1-3、6-8任一项所述的电路,其中,所述簇间互连网络和簇内互连网络的结构类似,均由基本互连单元组成,但是簇间互连网络只需一个基本互连单元即可。
【专利摘要】本发明提供了一种基于自动布线互连网络的粗粒度可重构阵列电路,其包括:多个处理单元簇:每个处理单元簇包括多个处理单元,其用于将输入至本处理单元簇中的数据分配给相应的处理单元进行处理,并将处理单元的处理结果输出;簇间互连网络:其用于在各个处理单元簇间交换数据。所述处理单元簇还包括簇内互连网络,其用于在所述处理单元簇内的各个处理单元之间交换数据,并将来自其它处理单元簇的输入数据分配给相应的处理单元。
【IPC分类】G06F15-173
【公开号】CN104750659
【申请号】CN201310731152
【发明人】陈锐, 王飞, 杨海钢
【申请人】中国科学院电子学研究所
【公开日】2015年7月1日
【申请日】2013年12月26日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1