CN101908032B - 可重新配置处理器集合的处理器阵列 - Google Patents

可重新配置处理器集合的处理器阵列 Download PDF

Info

Publication number
CN101908032B
CN101908032B CN2010102667331A CN201010266733A CN101908032B CN 101908032 B CN101908032 B CN 101908032B CN 2010102667331 A CN2010102667331 A CN 2010102667331A CN 201010266733 A CN201010266733 A CN 201010266733A CN 101908032 B CN101908032 B CN 101908032B
Authority
CN
China
Prior art keywords
processor
bus
crosspoint
local bus
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2010102667331A
Other languages
English (en)
Other versions
CN101908032A (zh
Inventor
陈容
吴桂清
王卫平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University
Original Assignee
Hunan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan University filed Critical Hunan University
Priority to CN2010102667331A priority Critical patent/CN101908032B/zh
Publication of CN101908032A publication Critical patent/CN101908032A/zh
Application granted granted Critical
Publication of CN101908032B publication Critical patent/CN101908032B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

本发明提供了一种可重新配置处理器集合的处理器阵列,包括多个处理器集合,处理器集合之间通过全局总线和全局总线交换单元相互连接;处理器集合包括一个主处理器和零个或零个以上从处理器,对于零个以上从处理器的情况,在每一个处理器集合中,主处理器通过局部总线与局部总线交换单元连接,多个从处理器均连接到局部总线交换单元,局部总线交换单元之间通过局部总线连接;数据读总线把一个处理器集合中的所有从处理器串联成一个队列,队列尾部连接到主处理器。本发明的处理器阵列是建立在结合并行处理结构和多态硬件结构的基础上的,是一个可以同时满足并行处理和可重新配置硬件的多核心处理器平台。

Description

可重新配置处理器集合的处理器阵列
技术领域
本发明涉及一种可重新配置处理器集合的处理器阵列,该可重新配置处理器集合的处理器阵列是一种多核心(Multi-core)的可重新配置的(Reconfigurable)处理器结构。所述可重新配置处理器集合的处理器阵列可以作为多核心的数字信号处理器(DSP)。
技术背景
数字通信尤其是无线通信的快速发展对数字信号处理器的能力提出了越来越高的要求,同时数字应用的多样性对数字信号处理器的硬件提出了动态变化的要求。多核心处理器提供了很好的并行处理能力,数字信号处理多是并行处理,所以数字信号处理器越来越多的采用多核心处理器的架构。数字通信尤其是无线通信技术的发展总是大大超过处理器硬件能力的发展。为了适应数字通信技术的快速演进,多态硬件可以根据应用提供动态变化的硬件结构,从而提供动态的处理能力。为了同时满足数字应用高速化和多样化的需求,需要一种既可以提供高速的并行处理能力,又能动态配置硬件结构的处理器平台。
发明内容
本发明的目的是提出一种可重新配置处理器集合的处理器阵列,本发明的处理器阵列是建立在结合并行处理结构和多态硬件结构的基础上的,是一个可以同时满足并行处理和可重新配置硬件的多核心处理器平台。
本发明的技术解决方案如下:
一种可重新配置处理器集合的处理器阵列,包括多个处理器集合,处理器集合之间通过全局总线和全局总线交换单元相互连接;处理器集合包括一个主处理器和零个或零个以上从处理器,对于零个以上从处理器的情况,在每一个处理器集合中,主处理器通过局部总线与局部总线交换单元连接,多个从处理器均连接到局部总线交换单元,局部总线交换单元之间通过局部总线连接;数据读总线把一个处理器集合中的所有从处理器串联成一个队列,队列尾部连接到主处理器;寄存器通信总线把一个处理器集合中的所有从处理器连接成一个双向拓扑环;
对于处理器集合包括零个以上从处理器的情况,从处理器与局部总线交换单元相连的总线有:指令总线、数据写总线、数据读总线和寄存器通信总线,每一个从处理器配置有多个延迟匹配单元,延迟匹配单元由多个单位延迟、一个配置寄存器和一个复用选择器组成,多个单位延迟依次串接,每一个单位延迟和配置寄存器的输出端均接到复用选择器的输入端,配置寄存器存储延迟的具体大小;在从处理器的指令总线输入端、数据写总线输入端、数据读总线输出端、寄存器通信总线左输入端和寄存器通信总线右输入端均设置一个延迟匹配单元;
局部总线交换单元中的指令总线交换单元的结构为:包括一个交换控制模块和6个复用选择器,交换控制模块控制复用选择器的选择关系;复用选择器分为两种,第一种复用选择器用于与从处理器连接,各有三个输入端口,第一个端口连接到本局部总线交换单元所属的主处理器的指令总线输入端,第二端口连接到来自上边相邻局部总线交换单元的指令总线输入端,第三端口连接到来自下边相邻局部总线交换单元的指令总线输入端;每一个第一种复用选择器需要2比特控制信息,根据控制信息分别选择输出3种总线输入;
第二种复用选择器用于与局部总线交换单元连接,具有2个输入端,需要1比特控制信息;
局部总线交换单元中的数据总线交换单元包括数据写总线、数据写总线交换控制模块、数据写总线复用选择器、数据读总线、数据读总线交换控制模块和数据读总线复用选择器;
数据写总线的通信模式为广播模式,数据写总线交换控制模块控制数据写总线复用选择器选择关系;
数据读总线的通信为分布模式或选择模式,分布模式为处理器集合中的各从处理器按照时间顺序依次向主处理器发送数据,选择模式为只选择一个从处理器发送数据到主处理器;数据读总线交换控制模块控制数据读总线复用选择器的选择关系。
所述的局部总线交换单元中具有寄存器通信总线,寄存器通信总线将处理器集合中的所有从处理器连成一个双向拓扑环,从处理器与在双向拓扑环中左右相邻的从处理器进行寄存器间的通信;
寄存器通信总线的交换单元的包括1个寄存器通信总线交换控制模块和10个交换单元复用选择器,寄存器通信总线交换控制模块控制10交换单元复用选择器的选择关系。
有益效果:
为了提高处理器尤其是数字信号处理器的并行处理能力,现在通常的解决方法一股都是在处理器中设置专门的矢量运算单元(Vector Compute Unit),这种矢量运算单元有自己独立的寄存器文件及内存读写机制。矢量运算单元从内存中并行读取多个数据,并行处理多个数据。比如矢量运算单元先从内存并行读取8个16比特的数到一个128比特位的寄存器v0(分成8个16比特位),然后在下一个时钟周期再并行读取8个16比特的数到另一个128比特位的寄存器v1,然后用8个并行的16位加法器把v0和v1的内容相加,这样完成了8个并行的16比特加法运算,其它的运算比如逻辑运算,乘累加等都是同样的处理方法。处理器中除了矢量运算单元,同时还有普通运算单元(General Compute Unit),用来完成传统的非矢量算术逻辑运算,乘累加等。普通运算单元主要是用于执行标准C语言编译后的指令。如果要在C语言中调用矢量运算单元的相关指令,必须使用嵌入式汇编或者是和汇编指令对应的内嵌函数(Intrinsic)。由此可见这种有矢量运算单元的处理器中,普通运算单元和矢量运算单元是完全分开的,独立的寄存器文件甚至独立的内存访问控制,彼此资源不能共享。另外矢量运算单元的并行度是不容易改变的,也就是说一旦矢量运算单元设计完成,比如可以并行处理8个16比特的数,如果需要提高其并行度,使之能并行处理16个16比特的数,必须完全重新设计矢量运算单元。本发明的处理器架构中,使多个只有普通运算单元的处理器核心通过比较简单的总线连接成一个处理器集合,一起协作来完成单指令多数据的矢量运算。比如我们要计算一列16位整数x1,x2,x3,x4,x5,x6,x7,x8,...奇偶相邻位置的和,即x1+x2,x3+x4,x5+x6,x7+x8,...。主处理器通过局部总线中的数据写总线把x1,x2发送到第一个从处理器中,x5,x6发送到第二个从处理器中,x9,x10发送到第三个从处理器中,x13,x14发送到第四个从处理器中,然后通过局部总线中的指令总线发送加法指令到所有从处理器执行,这样四个从处理器每个时钟周期并行计算出四个结果,四个结果通过数据读总线返回给主处理器,这样我们就完成了单指令多数据计算。如果我们需要每个时钟周期并行计算出八个结果,我们可以让八个从处理和一个主处理器组成一个处理器集合,这样八个从处理器每个时钟周期就可以计算出八个结果。由此可以见,本发明提出的处理器架构和矢量处理器相比,结构简单,不需要设置独立的复杂的矢量运算单元,只需要通过所述的总线结构把一些简单的处理器核心连接起来,在一个主控处理器核心的控制下,一起协作来完成单指令多数据的运算;同时本发明中的处理器根据应用程序的要求,通过改变局部总线交换单元的路由控制,可以让不同数量的从处理器核心组合在一起,形成不同的并行处理能力,带来很大的灵活性。
本发明将一个多核心的处理器阵列动态划分成不同的处理器集合,每一个处理器集合中的多核心之间能够无缝地协作,从而更好地完成单指令多数据(SIMD)或者多指令多数据(MIMD)的并行处理工作。处理器阵列中从处理器和主处理器都通过局部总线与局部总线交换单元相连,同时物理位置相邻的局部总线交换单元彼此通过局部总线相连。通过改变局部总线交换单元中的交换控制,可以重组从处理器和主处理器之间,以及从处理器和从处理器之间的连接关系,从而达到动态配置处理器集合的功能。比如在处理器阵列中,每个局部总线交换单元都通过局部总线直接与4个从处理器和1个主处理器相连,如果程序员在应用程序中指定第一主处理器2-A需要和6个从处理器一起组成一个处理器集合,第二主处理器2-B需要和2个从处理器一起组成一个处理器集合。那么通过控制第一局部总线交换单元5-A和第二局部总线交换单元5-B可以使得从处理器3-A...3-F与第一主处理器2-A相连。控制第二局部总线交换单元5-B可以使得从处理3-G,3-H与第二主处理器2-B相连。程序开发工具根据处理器集合重组的需求,产生局部总线交换单元所需要的控制信息,这些控制信息有:指令总线交换控制信息,数据写总线交换控制信息,数据读总线交换控制信息,寄存器通信总线交换控制信息。同时程序开发工具还要生成处理器集合中各个从处理器的配置信息,这些配置信息主要有:指令总线输入需要匹配的延迟,数据写总线输入需要匹配的延迟,寄存器通信总线输入需要匹配的延迟,数据读总线输出需要匹配的延迟,从处理器在处理器集合中的位置(是否是第一个或者最后一个),从处理器在处理器集合中的编号(所有从处理器按照递增顺序的编号),处理器集合中从处理器的总个数。程序开发工具通过生成上述控制信息来控制局部总线交换单元和从处理器,动态配置处理器集合中从处理器的个数,程序员根据应用程序的需要把处理器阵列动态划分成不同的处理器集合,每个处理器集合的处理能力不同,从而提供多态的并行处理能力,充分有效的利用处理器硬件资源。
附图说明
图1是根据本发明的一种优选实施例的可重新配置处理器集合的处理器阵列的简化的方框图;
图2是图1中局部的放大图,示出重新配置处理器集合中多核心连接关系的一种实现方案。
图3示出可重新配置处理器集合中从处理器结构一种实现方案的简化框图。
图4示出局部总线中指令总线的交换单元一种实现方案。
图5示出局部总线中数据总线的交换单元一种实现方案。
图6示出局部总线中寄存器通信总线的交换单元一种实现方案。
具体实施方式
以下将结合图和具体实施过程对本发明做进一步详细说明:
实施例1:
图1示出的可重新配置处理器集合的处理器阵列包括若干处理器集合1,处理器集合中所包含的处理器核心的多少是可以动态配置的。所述处理器集合包括一个主处理器2,零个或零个以上从处理器3。主处理器2通过局部总线4和局部总线交换单元5与从处理器连接。局部总线交换单元5之间通过局部总线4连接。处理器集合1之间通过全局总线6和全局总线交换单元7相互连接。处理器集合1中所包含的从处理器3的个数是可重新配置的。通过控制局部总线交换单元5可以改变主处理器与从处理器及从处理器与从处理器在物理上的连接关系,从而可以重新配置处理器集合1的大小。应用程序开发工具根据处理器集合配置的需求生成控制信息来控制局部总线交换单元的路由控制,同时生成相应的配置信息控制处理器集合中的从处理器的总线连接。动态配置处理器集合所需的控制信息在下面的各表格中列出。
局部总线交换单元中指令总线的交换控制需要10比特的控制信息,这些控制信息控制局部总线交换单元中的指令总线的交换,从而使得主处理器发出的超长指令字通过指令总线和若干局部总线交换单元后到达指定的从处理器。
Figure BDA0000025310820000051
Figure BDA0000025310820000061
局部总线交换单元中数据写总线的交换控制信息和指令总线的交换控制信息完全一样。局部总线交换单元中数据读总线的交换控制信息的格式在下表中列出,局部数据读总线把处理器集合中的所有从处理器串联在一起,连接成一个队列,队列尾部的从处理器的数据读总线输出直接发送到主处理器。数据读总线由数据读总线输入端口进入从处理器,然后由数据读总线输出端口离开从处理器,从处理器读出的数据通过时分复用的方式发送到主处理器。根据数据读总线串联的方式,第一从处理器3-A的数据读总线输入只来源于上边相邻局部总线交换单元,第二从处理器3-B的数据读总线输入只来源于第一从处理器3-A,即第一从处理器3-A的数据读总线的输出端口连接到第二从处理器3-B的数据读总线的输入端口;第三从处理器3-C的数据读总线输入只来源于第二从处理器3-B,第四从处理器3-D的数据读总线输入只来源于第三从处理器3-C,向下边相邻局部总线交换单元输出的数据读总线只来源于第四从处理器3-D。
Figure BDA0000025310820000062
Figure BDA0000025310820000071
局部总线交换单元中寄存器通信总线的交换控制信息的格式如表中所示:
Figure BDA0000025310820000072
从处理器中和处理器集合动态配置有关的控制信息是
Figure BDA0000025310820000082
在后面将结合局部总线交换单元的结构进一步说明这些控制信息如何控制局部总线交换单元来完成处理器集合的重组。
图2是图1中局部的放大图,示出可重新配置处理器集合的连接关系的一种实现方案。第一主处理器2-A通过局部总线中的指令总线4-1,局部总线中的数据写总线4-2和局部总线中的数据读总线4-3与第一局部总线交换单元5-A相连。第一从处理器3-A、第二从处理器3-B、第三从处理器3-C、第四从处理器3-D均通过指令总线4-1,数据写总线4-2,数据读总线4-3和寄存器通信总线4-4与第一局部总线交换单元5-A相连,由于从处理器3-A...3-D通过局部总线直接与第一局部总线交换单元5-A相连,我们把从处理器3-A...3-D叫做第一局部总线交换单元5-A所属的从处理器,同时我们把第一主处理器2-A也叫做第一局部总线交换单元5-A所属的主处理器,依此类推。第一局部总线交换单元5-A与第二局部总线交换单元5-B之间也通过局部总线4相连,在这里第一局部总线交换单元5-A叫做第二局部总线交换单元5-B上边相邻的局部总线交换单元,第二局部总线交换单元5-B叫做第一局部总线交换单元5-A下边相邻的局部总线交换单元。通过控制第一局部总线交换单元5-A和第二局部总线交换单元5-B,第一主处理器2-A与6个从处理器3-A...3-F组成第一处理器集合1-A,第二主处理器2-B与第七从处理器3-G和第八从处理器3-H组成第二处理器集合1-B。第一处理器集合1-A和第二处理器集合1-B之间通过全局总线6和第一全局总线交换单元7-A和第二全局总线交换单元7-B相互连接。数据读总线把一个处理器集合中的所有从处理器串联成一个队列,队列尾部连接到主处理器,比如第一处理器集合1-A中队列头部的从处理器是第一从处理器3-A,对列尾部的从处理器是第六从处理器3-F,第六从处理器3-F的数据读总线输出通过第一局部总线交换单元5-A连接到第一主处理器2-A。寄存器通信总线把一个处理器集合中的所有从处理器连接成一个双向拓扑环,从处理器可以和双向拓扑环中左右相邻的从处理器通信(左右关系就是按照从处理器编号的前后关系),比如第一处理器集合1-A中的第一从处理器3-A左边相邻的从处理器是第六从处理器3-F,右边相邻的从处理器是第二从处理器3-B,第二从处理器3-B左边相邻的从处理器是第一从处理器3-A,右边相邻的从处理器是第三从处理器3-C,依此类推。
为了组成上述第一处理器集合1-A和第二处理器集合1-B,第一局部总线交换单元5-A所需要的控制信息是:
Figure BDA0000025310820000111
第二局部总线交换单元5-B所需的控制信息是:
Figure BDA0000025310820000112
Figure BDA0000025310820000121
从处理器3-A...3-H所需的控制信息是:
Figure BDA0000025310820000122
Figure BDA0000025310820000131
图3示出可重新配置处理器集合的处理器阵列中从处理器可能实现方案的简化框图。从处理器与局部总线交换单元相连的总线有:指令总线4-1,数据写总线4-2,数据读总线4-3-1和4-3-2,寄存器通信总线4-4-1...4-4-3。如果同一处理器集合跨越多个局部总线交换单元,局部总线交换单元中的时钟同步电路会带来延迟,当处理器集合中的主处理器向所有从处理器发送超长指令字时,到达各从处理器的超长指令字经过的延迟可能是不一样的,因为处理器集合中的从处理器必须同时执行同一条超级指令字,所以必须保证超长指令字同时到达处理器集合中的各从处理器,从处理器中可能需要对指令总线输入4-1进行延迟。从处理器数据写总线输入4-2的延迟与指令总线输入4-1的延迟一样。对于数据读总线,由于处理器集合跨越了多个局部总线交换单元,从处理器数据读总线的输入4-3-1可能已经被延迟了若干时钟周期,这样当从处理器发送自己的数据到数据读总线的输出4-3-2时需要相应的延迟同样的时钟周期与之匹配,否则就会覆盖数据读总线输入4-3-1上的数据;当从处理器直接把数据读总线的输入4-3-1直通到数据读总线的输出4-3-2时,不要增加任何延迟。当同一处理器集合跨越多个局部总线交换单元时,在局部总线交换单元之间的寄存器通信总线可能会有若干时钟周期的延迟,为了使得所有相邻从处理器之间的寄存器通信所经历的延迟一样,可能需要延迟从处理的寄存器通信总线左输入4-4-1或者寄存器通信总线右输入4-4-2。从处理器3中可以实现一个延迟匹配单元3-1,延迟匹配单元由若干单位延迟3-1-1(单位延迟指延迟一个时钟周期)和一个复用选择器3-1-3组成,配置寄存器3-1-2存储延迟的具体大小。在指令总线输入4-1,数据写总线输入4-2,数据读总线输出4-3-2,寄存器通信总线左输入4-4-1和寄存器通信总线右输入4-4-2上分别设置延迟匹配。根据同一处理器集合中从处理器与主处理器的物理上的距离设置不同的延迟,从而使得同一处理器集合中所有从处理器和主处理器之间通信具有相同的延迟。局部总线中指令总线和数据写总线的延迟匹配的具体算法是:假定局部总线每跨越一个局部总线交换单元要引入一个时钟延迟,处理器集合中从处理器的分布跨越了N个局部总线交换单元,那么指令到达所有从处理器的延迟都必须是N-1个时钟周期。某一丛处理器到处理器集合中主处理器的距离是跨越了M个局部总线交换单元,那么此从处理器中指令总线和数据写总线的匹配延迟应该是N-M个。对于从处理器,如果当前数据读总线上需要传输前面从处理器(编号小于当前从处理器的从处理器)的读出数据,从处理器直接把数据读总线输入4-3-1的数据直通到数据读总线输出端口4-3-2,这个过程不能引入延迟,如果当前需要传输从处理器的读出数据,从处理器把读出数据发送到4-3-2,如果数据读总线输入4-3-1中的数据之前跨越了N个局部总线交换单元,即已经被延迟了N-1个时钟周期,那么当从处理器向数据读总线输出端口4-3-2发送本从处理器的读出数据时,需要延迟N-1个时钟周期。局部总线中寄存器通信总线的延迟匹配算法是:假定处理器集合跨越了N个局部总线交换单元,那么处理器集合中相邻从处理器之间的寄存器通信有N-1个时钟周期的延迟,这样如果从处理器左边相邻的从处理器来自于上边局部总线交换单元或者下边局部总线交换单元所属的从处理器,寄存器通信总线左输入4-4-1延迟N-2个时钟周期,否则延迟N-1个时钟周期,同理如果从处理器右边相邻的从处理器来自于上边局部总线交换单元或者下边局部总线交换单元所属的从处理器,寄存器通信总线右输入4-4-2延迟N-2个时钟周期,否则延迟N-1个时钟周期。
根据上述匹配延迟的算法,图2中第一处理器集合1-A跨越了2个局部总线交换单元5-A和5-B,所以第一主处理器2-A经过指令总线发送到从处理器3-A...3-F的超长指令字会有1个时钟周期的延迟。第一主处理器2-A到从处理器3-A...3-D只跨越了1个局部总线交换单元,所以从处理器3-A...3-D中要对指令总线输入和数据写总线输入都延迟1个时钟周期。第一主处理器2-A到第五从处理器3-E和第六从处理器3-F跨越了2个局部总线交换单元,所以第五从处理器3-E和第六从处理器3-F中不要对指令总线输入和数据写总线输入进行延迟。数据读总线把从处理器3-A...3-F串联成一个队列,从处理器3-A是头,从处理器3-F是尾,第五从处理器3-E的数据读总线输入来自于第一局部总线交换单元5-A所属的从处理器5-D,之前跨越了2个局部总线交换单元,所以已经被延迟了一个时钟周期,所以从处理器3-E在发送自身的数据到数据读总线输出端口时,要延迟一个时钟周期,从处理器3-E在直通(forward)从处理器3-A...3-D的数据时,不要延迟,从处理器3-F在发送自身的数据到数据读总线输出端口时,要延迟一个时钟周期,从处理器3-F在直通从处理器3-A...3-E的读数据时,不要延迟。寄存器通信总线把从处理器3-A...3-F连接成一个双向拓扑环,由于第一处理器集合1-A跨越了2个局部总线交换单元,所以双向拓扑环中的从处理器3-A...3-F中彼此相邻的从处理器在进行寄存器通信时,都有1个时钟周期延迟,第五从处理器3-E的左边相邻的从处理器来自于第一局部总线交换单元5-A所属的第四从处理器3-D,所以不需要延迟寄存器通信总线左输入,同样第六从处理器3-F的右边相邻的从处理器来自于第一局部总线交换单元5-A所属的第一从处理器3-A,所以不需要延迟寄存器通信总线右输入,其它的寄存器总线的输入都要延迟1个时钟周期。
图4示出局部总线交换单元中指令总线交换单元一种实现方案。指令总线的通信模式是广播模式,即一个处理器集合中主处理器通过指令总线发出的超长指令必须发送到每一个从处理器。指令总线交换单元5-3包括一个交换控制模块5-3-1和复用选择器5-3-2...5-3-7,交换控制模块5-3-1控制复用选择器5-3-2...5-3-7的选择关系。复用选择器5-3-2...5-3-5各有三个输入端口,第一个端口连接到本局部总线交换单元所属的主处理器的指令总线输入4-1-1,第二端口连接到来自上边相邻局部总线交换单元的指令总线输入4-1-2,第三端口连接到来自下边相邻局部总线交换单元的指令总线输入4-1-3,复用选择器5-3-2...5-3-7中的每一个复用选择器需要2比特控制信息,如果控制信息是“00”,选择输出总线输入4-1-1,如果控制信息是“01”,选择输出总线输入4-1-2,如果控制信息是“10”,选择输出总线输入4-1-3。复用选择器5-3-6只有两个输入端口,一个端口连接到本局部总线交换单元所属的主处理器的指令总线输入4-1-1,另一端口连接到来自下边相邻局部总线交换单元的指令总线输入4-1-3,复用选择器5-3-6只需要1比特控制信息,如果控制信息是“0”,选择输出总线输入4-1-1,否则选择输出总线输入4-1-3。复用选择器5-3-7也只有两个输入端口,一个端口连接到本局部总线交换单元所属的主处理器的指令总线输入4-1-1,另一端口连接到来自上边相邻局部总线交换单元的指令总线输入4-1-2,复用选择器5-3-7也只需要1比特控制信息,如果控制信息是“0”,选择输出总线输入4-1-1,否则选择输出总线输入4-1-2。如上所述,指令总线交换所需的控制信息总共是10比特,具体格式在上述表格中已经示出。
图5示出局部总线交换单元中数据总线交换单元一种实现方案。数据写总线的通信模式和指令总线一样,也是广播模式,即一个处理器集合中主处理器通过数据写总线发送的信息,每一个从处理器都能收到,所以数据写总线4-2的交换控制方法和指令总线的交换控制完全一样。数据写总线交换控制模块5-4-1控制数据写总线复用选择器5-4-3...5-4-8的选择关系。数据写总线复用选择器5-4-3...5-4-6各有三个输入端口,第一个端口连接本局部总线交换单元所属的主处理器的数据写总线输入4-2-1,第二端口连接到来自上边相邻局部总线交换单元的数据写总线输入4-2-2,第三端口连接到来自下边相邻局部总线交换单元的数据写总线输入4-2-3,复用选择器5-4-3...5-4-6中的每一个复用选择器需要2比特控制信息,如果控制信息是“00”,选择输出总线输入4-2-1,如果控制信息是“01”,选择输出总线输入4-2-2,如果控制信息是“10”,选择输出总线输入4-2-3。复用选择器5-4-7只有两个输入端口,一个端口连接本局部总线交换单元所属的主处理器的数据写总线输入4-2-1,另一端口连接下边相邻局部总线交换单元的数据写总线输入4-2-3,复用选择器5-4-7只需要1比特控制信息,如果控制信息是“0”,选择输出总线输入4-2-1,否则选择输出总线输入4-2-3。复用选择器5-4-8也只有两个输入端口,一个端口连接本局部总线交换单元所属的主处理器的数据写总线输入4-2-1,另一端口连接上边相邻局部总线交换单元的数据写总线输入4-2-2,复用选择器5-4-8也只需要1比特控制信息,如果控制信息是“0”,选择输出总线输入4-2-1,否则选择输出总线输入4-2-2。如上所述,数据写总线交换所需的控制信息总共是10比特,和指令总线交换的控制信息完全一样。
数据读总线的通信为分布模式或选择模式。分布模式就是说,处理器集合中的从处理器按照时间顺序依次向主处理器发送数据,选择模式就是说,只选择一个从处理器发送数据到主处理器。无论分布模式和选择模式,从处理器都不是同时发送数据到主处理器,而是把要发送到主处理器的数据复用到数据读总线上,然后连接到主处理器的数据读总线输入端口。具体的复用方式就是,数据读总线把一个处理器集合中的所有从处理器串联成一个队列,并且把所有串联起来的从处理器按照递增的顺序编号,数据读总线由数据读总线输入端口4-3-1进入从处理器,然后由数据读总线输出端口4-3-2离开从处理器。从处理器的数据读总线输入端口4-3-1上的数据就是那些位于当前从处理器之前的从处理器(编号小于当前从处理器的从处理器)发送到主处理器的数据,所以当前从处理器直接把数据读总线输入端口4-3-1上的数据直通到数据读总线输出端口4-3-2。如果当前正好需要本从处理器发送数据到主处理器,则把数据经过一定的延迟匹配后发往数据读总线输出端口4-3-2。
数据读总线交换控制模块5-4-2控制数据读总线复用选择器5-4-9和数据读总线复用选择器5-4-10的选择关系。复用选择器5-4-9有6输入端口,第一个输入端口连接第一从处理器3-A的数据读总线输出,第二个输入端口连接第二从处理器3-B的数据读总线输出,第三个输入端口连接第三从处理器3-C的数据读总线输出,第四个输入端口连接第四从处理器3-D的数据读总线输出,第五个输入端口连接上边局部总线交换单元的数据读总线输出,第六个输入端口连接下边局部总线交换单元的数据读总线输出。复用选择器5-4-9需要3比特控制信息,“000”代表选择第一输入端口输出,“001”代表选择第二个输入端口输出,依此类推。复用选择器5-4-10有4输入端口,第一个输入端口连接第一从处理器3-A的数据读总线输出,第二个输入端口连接第二从处理器3-B的数据读总线输出,第三个输入端口连接第三从处理器3-C的数据读总线输出,第四个输入端口连接第四从处理器3-D的数据读总线输出。复用选择器5-4-10需要2比特控制信息,“00”代表选择第一输入端口输出,“01”代表选择第二个输入端口输出,依此类推。
图6示出从处理器之间寄存器通信总线的交换单元一种实现方案。寄存器通信总线把处理器集合中的所有从处理器连成一个双向拓扑环,从处理器可以和拓扑环中左右相邻的从处理器进行寄存器间的通信,即一个从处理器寄存器的内容,拷贝到另一个从处理器的寄存器。为了简化局部总线交换单元中寄存器通信总线交换的结构,和局部总线交换单元直接相连的从处理器3-A...3-D在重组处理器集合的过程中,总是依照“就近相连”和“顺序相连”的原则。就近相连的原则就是,比如说如果需要3个从处理器组成一个处理器集合,那么一定是第一从处理器3-A,第二从处理器3-B和第三从处理器3-C组合在一起,或者是第二从处理器3-B,第三从处理器3-C和第四从处理器3-D组合在一起,而不能是第一从处理器3-A,第三从处理器3-B和第四从处理器3-D组和,因为中间隔了一个第二从处理器3-B,这不符合“就近相连”的原则。顺序相连的原则就是,比如说4个处理器3-A...3-D通过寄存器通信总线连接成了一个双向拓扑环,那么第一从处理器3-A是第二从处理器3-B在拓扑环中前边相邻的从处理器,或者说左边相邻的从处理器,相反第二从处理器3-B是第一从处理器3-A在拓扑环中后边相邻的从处理器,或者说右边相邻的从处理器,依此类推,第二从处理器3-B是第三从处理器3-C的左边相邻的从处理器,第三从处理器3-C是第四从处理器3-D的左边相邻的从处理器,第四从处理器3-D是第一从处理器3-A的左边相邻的从处理器。不能有别的相邻关系,比如不能是第一从处理器3-A是第三从处理器3-C的左边相邻的从处理器,第三从处理器3-C是第二从处理器3-B的左边相邻的从处理器,第二从处理器3-B是第四从处理器3-D的左边相邻的从处理器,这不符合“顺序相连”的原则。如果本局部总线交换单元所属的从处理器需要和上边局部总线交换单元所属的从处理组成一个处理器集合,比如本局部总线交换单元中需要3个从处理和上边局部总线交换单元所属的从处理组成一个处理器集合,那么一定是第一从处理器3-A,第二从处理器3-B和第三从处理器3-C,而不能是第二从处理器3-B,第三从处理器3-C和第四从处理器3-D。其中第一从处理器3-A左边相邻的从处理器来自于上边局部总线交换单元所属的从处理器,第三从处理器3-C右边相邻的从处理器也是来自于上边局部总线交换单元所属的从处理器。同样的道理,如果本局部总线交换单元中需要3个从处理和下边局部总线交换单元所属的从处理组成一个处理器集合,那么只能是第二从处理器3-B,第三从处理器3-C和第四从处理器相连3-D,第二从处理器3-B左边相邻的从处理器来自于下边局部总线交换单元所属的从处理器,第四从处理器3-D右边相邻的从处理器也是来自于下边局部总线交换单元所属的从处理器。由于处理器集合的组合关系是由局部总线交换单元来控制的,不同处理器集合之间的局部总线连接已经由局部总线交换单元切断了。在前面已经定义局部总线交换单元所属的从处理器和主处理器的涵义,和局部总线交换单元直接相连的从处理器和主处理器叫做局部总线交换单元所属的从处理器和主处理器,比如3-A...3-D与5-A就是直接相连,3-E...3-H和5-A就不是直接相连,因为3-E...3-F必须要通过5-B才能与5-A相连。
根据寄存器通信总线“就近相连”和“顺序相连”原则,寄存器通信总线交换的一种实现方案如图6所示。图中连接上边局部总线交换单元和下边局部总线交换单元的寄存器通信总线4-4分为左寄存器通信总线和右寄存器通信总线,其中左右不是指在图中的左右关系,而是在处理器集合中双向拓扑环中的左右关系。寄存器通信总线交换控制模块5-5-1控制复用选择器5-5-2...5-5-11的选择关系。
复用选择器5-5-2的输出端口连接第一从处理器3-A的寄存器通信总线的左输入端口,复用选择器5-5-2有5个输入端口,分别连接第二从处理器3-B的寄存器通信总线输出,第三从处理器3-C的寄存器通信总线输出,第四从处理器3-D的寄存器通信总线输出,上边局部总线交换单元到本局部总线交换单元的左寄存器通信总线输入,下边局部总线交换单元到本局部总线交换单元的左寄存器通信总线输入。复用选择器5-5-2需要3比特控制信息,“000”代表选择第一输入端口,“001”代表选择第二个输入端口,依此类推。复用选择器5-5-3的输出端口连接第一从处理器3-A的寄存器通信总线的右输入端口,复用选择器5-5-3有2个输入端口,分别连接第二从处理器3-B的寄存器通信总线输出,上边局部总线交换单元到本局部总线交换单元的右寄存器通信总线输入。复用选择器5-5-3只需要1比特控制信息控制选择第一个输入或者是第二路输入。
复用选择器5-5-4的输出端口连接第二从处理器3-B的寄存器通信总线的左输入端口,复用选择器5-5-2有4个输入端口,分别连接第一从处理器3-A的寄存器通信总线输出,第三从处理器3-C的寄存器通信总线输出,第四从处理器3-D的寄存器通信总线输出,下边局部总线交换单元到本局部总线交换单元的左寄存器通信总线输入。复用选择器5-5-4需要2比特控制信息控制选择4路输入。复用选择器5-5-5的输出端口连接第二从处理器3-B的寄存器通信总线的右输入端口,复用选择器5-5-5有3个输入端口,分别连接第一从处理器3-A的寄存器通信总线输出,第三从处理器3-C的寄存器通信总线输出,上边局部总线交换单元到本局部总线交换单元的右寄存器通信总线输入。复用选择器5-5-5需要2比特控制信息控制选择3路输入。
复用选择器5-5-6的输出端口连接第三从处理器3-C的寄存器通信总线的左输入端口,复用选择器5-5-6有3个输入端口,分别连接第二从处理器3-B的寄存器通信总线输出,第四从处理器3-D的寄存器通信总线输出,下边局部总线交换单元到本局部总线交换单元的左寄存器通信总线输入。复用选择器5-5-6需要3比特控制信息控制选择3路输入。复用选择器5-5-7的输出端口连接第三从处理器3-C的寄存器通信总线的右输入端口,复用选择器5-5-7有4个输入端口,分别连接第一从处理器3-A的寄存器通信总线输出,第二从处理器3-B的寄存器通信总线输出,第四从处理器3-D的寄存器通信总线输出,上边局部总线交换单元到本局部总线交换单元的右寄存器通信总线输入。复用选择器5-5-7需要2比特控制信息控制选择4路输入。
复用选择器5-5-8的输出端口连接第四从处理器3-D的寄存器通信总线的左输入端口,复用选择器5-5-8有2个输入端口,分别连接第三从处理器3-C的寄存器通信总线输出,下边局部总线交换单元到本局部总线交换单元的左寄存器通信总线输入。复用选择器5-5-8需要1比特控制信息控制选择2路输入。复用选择器5-5-9的输出端口连接第四从处理器3-D的寄存器通信总线的右输入端口,复用选择器5-5-9有5个输入端口,分别连接第一从处理器3-A的寄存器通信总线输出,第二从处理器3-B的寄存器通信总线输出,第三从处理器3-D的寄存器通信总线输出,上边局部总线交换单元到本局部总线交换单元的右寄存器通信总线输入,下边局部总线交换单元到本局部总线交换单元的右寄存器通信总线输入。复用选择器5-5-9需要3比特控制信息控制选择5路输入。
复用选择器5-5-10的输出端口连接到上边局部总线交换单元,复用选择器5-5-11的输出端口连接到下边局部总线交换单元,复用选择器5-5-10和复用选择器5-5-11一样,都有4个输入端口,分别连接从处理器3-A...3-D的寄存器通信总线输出,分别需要2比特控制信息来选择4路输入。根据寄存器通信总线“就近相连”和“顺序相连”原则,连接到上边局部总线交换单元的左寄存器通信总线中的输出端口直接连接到第一从处理器3-A的寄存器通信总线输出,连接到下边局部总线交换单元的右寄存器通信总线中的输出端口直接连接到第四从处理器3-D的寄存器通信总线输出。
一个局部总线交换单元中寄存器通信总线的交换控制总共需要20比特控制信息,具体格式在上述表格中已经示出。
本发明中处理器阵列的可重新配置主要体现在处理器集合中从处理器的个数是可重新配置的。处理器集合中的所有从处理器都在一个主处理器的控制下,执行相同的指令,处理不同的数据,这样来完成单指令多数据的处理。由于应用程序中各个子模块的计算复杂度不同,所以需要不同的并行处理能力。通过配置局部总线交换单元和从处理器,可以把一个处理器阵列划分成一些大小不同的处理器集合,每个处理器集合对应应用程序中的一个子模块。比如图2中,我们可以通过发送上面所述的指令总线交换控制信息,数据总线交换控制信息和寄存器通信总线交换控制信息到第一局部总线交换单元5-A及第二局部总线交换单元5-B,指令总线交换控制信息控制图4中指令总线的交换,数据总线交换控制信息控制图5中数据总线的交换,寄存器通信总线交换控制信息控制图6中寄存器通信总线的交换;同时发送上面所述的从处理器控制信息到从处理器3-A...3-H,可以使得第一主处理器2-A与6个从处理器3-A...3-F组成第一处理器集合1-A,第二主处理器2-B与2个从处理器3-G和3-H组成第二处理器集合1-B;我们也可以通过改变控制信息使得第一主处理器2-A与2个从处理器3-A和3-B组成第一处理器集合1-A,第二主处理器2-B与6个从处理器3-C...3-H组成第二处理器集合1-B;同样我们也可以通过改变控制信息使得第一主处理器2-A与4个从处理器3-A...3-D组成第一处理器集合1-A,第二主处理器2-B与4个从处理器3-E...3-H组成第二处理器集合1-B,依此类推还有别的很多组合方式。

Claims (2)

1.一种可重新配置处理器集合的处理器阵列,其特征在于:
处理器阵列包括多个处理器集合,处理器集合之间通过全局总线和全局总线交换单元相互连接;处理器集合包括一个主处理器和多个从处理器,在每一个处理器集合中,主处理器通过局部总线与局部总线交换单元连接,多个从处理器均连接到局部总线交换单元,局部总线交换单元之间通过局部总线连接;数据读总线把一个处理器集合中的所有从处理器串联成一个队列,队列尾部连接到主处理器;寄存器通信总线将一个处理器集合中的所有从处理器连接成一个双向拓扑环;
从处理器与局部总线交换单元相连的总线有:指令总线、数据写总线、数据读总线和寄存器通信总线,每一个从处理器配置有多个延迟匹配单元,延迟匹配单元由多个单位延迟、一个配置寄存器和一个复用选择器组成,多个单位延迟依次串接,每一个单位延迟和配置寄存器的输出端均接到复用选择器的输入端,配置寄存器存储延迟的具体大小;在从处理器的指令总线输入端、数据写总线输入端、数据读总线输出端、寄存器通信总线左输入端和寄存器通信总线右输入端均设置一个延迟匹配单元;
局部总线交换单元中的指令总线交换单元的结构为:包括一个交换控制模块和6个复用选择器,交换控制模块控制复用选择器的选择关系;复用选择器分为两种,第一种复用选择器用于与从处理器连接,各有三个输入端口,第一个端口连接到本局部总线交换单元所属的主处理器的指令总线输入端,第二端口连接到来自上边相邻局部总线交换单元的指令总线输入端,第三端口连接到来自下边相邻局部总线交换单元的指令总线输入端;每一个第一种复用选择器需要2比特控制信息,根据控制信息分别选择输出3种总线输入;
第二种复用选择器,用于与局部总线交换单元连接,各有2个输入端口,一个端口连接到本局部总线交换单元所属的主处理器的指令总线输入端,另一端口连接到来自下边相邻局部总线交换单元的指令总线输入端或上边相邻局部总线交换单元的指令总线输入端;
局部总线交换单元中的数据总线交换单元包括数据写总线、数据写总线交换控制模块、数据写总线复用选择器、数据读总线、数据读总线交换控制模块和数据读总线复用选择器;
数据写总线的通信模式为广播模式,数据写总线交换控制模块控制数据写总线复用选择器选择关系;
数据读总线的通信为分布模式或选择模式,分布模式为处理器集合中的各从处理器按照时间顺序依次向主处理器发送数据,选择模式为只选择一个从处理器发送数据到主处理器;数据读总线交换控制模块控制数据读总线复用选择器的选择关系。
2.根据权利要求1所述的可重新配置处理器集合的处理器阵列,其特征在于:所述的局部总线交换单元中具有寄存器通信总线,寄存器通信总线将处理器集合中的所有从处理器连成一个双向拓扑环,从处理器与在双向拓扑环中左右相邻的从处理器进行寄存器间的通信;
从处理器之间寄存器通信总线的交换单元包括1个寄存器通信总线交换控制模块和10个交换单元复用选择器,寄存器通信总线交换控制模块控制10个交换单元复用选择器的选择关系。
CN2010102667331A 2010-08-30 2010-08-30 可重新配置处理器集合的处理器阵列 Expired - Fee Related CN101908032B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102667331A CN101908032B (zh) 2010-08-30 2010-08-30 可重新配置处理器集合的处理器阵列

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102667331A CN101908032B (zh) 2010-08-30 2010-08-30 可重新配置处理器集合的处理器阵列

Publications (2)

Publication Number Publication Date
CN101908032A CN101908032A (zh) 2010-12-08
CN101908032B true CN101908032B (zh) 2012-08-15

Family

ID=43263495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102667331A Expired - Fee Related CN101908032B (zh) 2010-08-30 2010-08-30 可重新配置处理器集合的处理器阵列

Country Status (1)

Country Link
CN (1) CN101908032B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014169477A1 (zh) * 2013-04-19 2014-10-23 中国科学院自动化研究所 具有多态指令集体系结构的处理器

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262993B (zh) * 2019-06-11 2022-02-08 浙江华创视讯科技有限公司 输入信息的读取方法及电路、存储介质、电子装置
WO2021128221A1 (zh) * 2019-12-26 2021-07-01 华为技术有限公司 交换芯片
CN112579510B (zh) * 2020-12-17 2024-08-27 上海燧原智能科技有限公司 一种芯片集群

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1987871A (zh) * 2005-12-21 2007-06-27 中国科学院微电子研究所 一种多处理器芯片的二维方格布局结构
WO2007099950A1 (ja) * 2006-03-03 2007-09-07 Nec Corporation 高速pe間データ再配置機能を有するプロセッサアレイシステム
CN101546302A (zh) * 2009-05-07 2009-09-30 复旦大学 一种多核处理器的互连结构及基于该结构的层次化互连设计方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014169477A1 (zh) * 2013-04-19 2014-10-23 中国科学院自动化研究所 具有多态指令集体系结构的处理器

Also Published As

Publication number Publication date
CN101908032A (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
CN1326061C (zh) 流形阵列处理方法和装置
CN102014050B (zh) 片上网络的输入/输出节点
US7272691B2 (en) Interconnect switch assembly with input and output ports switch coupling to processor or memory pair and to neighbor ports coupling to adjacent pairs switch assemblies
CN101908032B (zh) 可重新配置处理器集合的处理器阵列
EP0726532A2 (en) Array processor communication architecture with broadcast instuctions
CN101882127B (zh) 一种多核心处理器
US4745546A (en) Column shorted and full array shorted functional plane for use in a modular array processor and method for using same
US7734896B2 (en) Enhanced processor element structure in a reconfigurable integrated circuit device
WO2007071795A1 (en) A hierarchical reconfigurable computer architecture
GB2395580A (en) Array-type processor
US7185174B2 (en) Switch complex selectively coupling input and output of a node in two-dimensional array to four ports and using four switches coupling among ports
US4524428A (en) Modular input-programmable logic circuits for use in a modular array processor
CN102306141B (zh) 一种描述动态可重构阵列配置信息的方法
US20210349847A1 (en) Embedding Rings on a Toroid Computer Network
CN109445850A (zh) 一种基于申威26010处理器的矩阵转置方法及系统
CN103761072A (zh) 一种粗粒度可重构层次化的阵列寄存器文件结构
US7365566B2 (en) Programmable logic circuit
WO2008153817A2 (en) Method and apparatus for connecting multiple multimode processors
CN110046695B (zh) 一种可配置的高并行度脉冲神经元阵列
CN105260162A (zh) 一种矢量排列电路及矢量处理器
US20100031004A1 (en) Arithmetic device
CN113704169B (zh) 一种面向嵌入式的可配置众核处理器
US20070220236A1 (en) Reconfigurable computing device
CN203982379U (zh) 用于粗粒度动态可重构阵列的多模式数据传输互连器
CN203706196U (zh) 一种粗粒度可重构层次化的阵列寄存器文件结构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120815

Termination date: 20130830