CN101401088B - 具有高速pe间数据再配置功能的处理器阵列系统 - Google Patents

具有高速pe间数据再配置功能的处理器阵列系统 Download PDF

Info

Publication number
CN101401088B
CN101401088B CN2007800076634A CN200780007663A CN101401088B CN 101401088 B CN101401088 B CN 101401088B CN 2007800076634 A CN2007800076634 A CN 2007800076634A CN 200780007663 A CN200780007663 A CN 200780007663A CN 101401088 B CN101401088 B CN 101401088B
Authority
CN
China
Prior art keywords
mentioned
transmission
piece
buffer unit
transmission direction
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
CN2007800076634A
Other languages
English (en)
Other versions
CN101401088A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of CN101401088A publication Critical patent/CN101401088A/zh
Application granted granted Critical
Publication of CN101401088B publication Critical patent/CN101401088B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Image Processing (AREA)

Abstract

一种处理器阵列系统,包括至少具有三个处理部件(PE)块的PE块阵列,该PE块包含M个PE,各PE块通过M条左连接线BO与其它的PE块连接,同时还通过M条右连接线B1与另外的PE块连接;上述PE块中所含有的上述PE包括:选择电路(LS),从连接距离M的各PE的1条上述左连接线B0和来自PE块内的其它PE的连接线之中选择1条信号线;选择电路(RS),从连接距离M的各PE的1条上述右连接线(B1)和来自PE块内的其它PE的连接线之中选择1条信号线;和用于从选择电路(LS)和选择电路(RS)的输出中选择1条信号线的单元;上述处理器阵列系统,进行如下这样工作,依据来自控制处理器的命令码,所有PE使用左连接线BO和右连接线B1,向M邻接的左和右的PE传输数据,同时在传输缓冲器中存储分别从右M连接和左M连接传送过来的数据。

Description

具有高速PE间数据再配置功能的处理器阵列系统 
技术领域
本发明涉及在单片上将多个处理部件(PE)相互连接的处理器阵列系统。 
背景技术
过去,在视频信号等图像处理用中使用单片一维处理器阵列或结构与其类似的具有SIMD(Single Instruction Multiple Data)命令的介质处理器。例如,非专利文献1提示的面向视频图像识别处理的一维处理器阵列中,如图7所示,从一端起顺序地按行单位输入图像,然后,在邻接的PE之间中分配邻接的1~几列的图像列之后,根据SIMD型控制,各PE通过将从控制处理器(CP)广播的命令应用于自己的本地存储器上的数据中,来实现PE数量部分的并行处理。 
专利文献1:JP特开平5-342184号公报 
非专利文献1:京昭伦著「集成128个4路VLIW型RISC铁心的面向车载的动画识别LSI」电子信息通信学会研究会报告,集成电路研究会(ICD),2003年5月,Vol.103,No.89,pp.19-24 
发明内容
一方面,在图像处理中,特别地对图像进行识别处理的情况下,在最初的阶段,正像以所有像素为对象进行的边缘检测处理等那样,虽然要处理的对象数据平等地存在于所有PE上,但大多随着处理的推进,要处理的对象数据在PE间会变得不均衡。 
例如,在大多图像识别处理中,通过到此为止的处理,将图像内的几个(矩形)区域确定为存在识别对象物的部位时,则仅这些候选区域成为以后的处理对象。此外,例如,如图8所示,这些候选区域大多在具有相互重合这样的位置关系中被找到的情形多也是特征之一。
但是,例如非专利文献1所示,在以图像列为单位进行向PE的数据分配的一维处理器阵列中,在区域间,存在在列方向上的位置的重合时,通常担任发生重合的图像列的处理的PE(例如图9(a)的PEN-2)与不是那样的PE相比,与重合的次数成比例,会增加处理量,在PE间负荷成为不均衡的状态,且处理性能下降。 
为了解决这样的处理负荷不均衡,如图9(b)所示,就必须进行一模一样地在PE间移动多个矩形区域内像素数据的这种像素数据的再配置处理。在过去的一维处理器阵列上,为了实现这样的像素数据再配置处理,如果设PE数与1行的像素数相同为N时,就如图10所示,以通过CP的方式,1个1个逐次地从PE向PE移动N个像素成为最有效率的方法。 
在计数器C中设置N(步骤1000)。 
进行重复直到计数器C为零。在步骤1001的判定中,计数器C不是零的情况下,进行以下处理,在零的情况下结束。 
读出PE编号是C的PE上的K(步骤1002)。 
设TMP为C+K(步骤1003)。 
读出PE编号是TMP的PE上的D(步骤1004)。 
在PE编号是C的PE上的T中写入D(步骤1005)。 
将C设置为C-1(步骤1006),返回步骤1001的判定。 
此情况下,如图10的1001~1006所示,由于N次重复6个处理步骤,所以如果加上图10的1000,则在PE间再配置1行像素需要合计6N+1的步骤数,存在所谓效率差的课题。 
再有,作为此课题的一个解决方法,考虑通过在PE间连接中采用不是1维连接,而是例如如专利文献1所公开的、称为2维环面或超立方的、更高维的连接方式,来减少每步骤的PE间距离的方法。 
但是,如果增加了连接的维数,则存在所谓芯片上的布局的自由度减少,或PE间的布线距离会变长的问题点。 
因此,本发明的主要目的在于,提供一种通过在PE间高速地再配置像素等数据就能高效的实现处理的负荷分散的处理器阵列系统。 
本发明的第1侧面(方面)相关的处理器阵列系统,包括至少具有三个包含多个(M个)进行SIMD动作的处理部件(以下称为「PE」)的PE 块的PE块阵列;其特征在于,至少一个PE块,通过与PE块内的PE的个数相同数目即M条的每1条都是规定位的第1信号线来连接与上述一个PE块不同的至少一个其它的PE块、同时还通过M条的每1条都是规定位的第2信号线来连接与上述一个PE块及上述其它PE块不同的至少一个另外的PE块;上述一个PE块中所含的上述PE包括:选择电路,从上述M条第1信号线和上述M条第2信号线之中选择1条信号线。 
在本发明中,上述选择单元包括:第1选择单元,从上述M条第1信号线中选择一条信号线;第2选择单元,从上述M条上述第2信号线中选择一条信号线;第3选择单元,从由上述第1选择单元选择出的上述1条信号线和由上述第2选择单元选择出的上述1条信号线中选择一条信号线。 
在本发明中,以一PE块为一个节点的一维连接或环路连接的方式连接多个上述PE块;上述PE块通过上述M条的第1信号线与在上述PE块的一侧邻接的PE块相互连接,同时还通过上述M条第2信号线与在上述PE块的另一侧邻接的PE块相互连接。 
在本发明中,关于N个上述PE,在连接距离是M的PE的PE间,有向第1传输方向及第2传输方向的各个传输路径,其中N是比1大的自然数,M是比1大、比N小的自然数,是N的约数;M个邻接的PE构成一个PE块,根据上述PE块内的M个PE的向上述第1传输方向的传输路径构成上述M条的第1信号线;根据上述PE块内的所有M个的PE的向上述第2传输方向的传输路径构成上述M条第2信号线。 
在本发明中,以一个PE块为一个节点的一维连接或环路连接的方式连接N个上述PE块,其中N是比1大的自然数;除邻接PE间的连接线外,还包括在连接距离是M的各PE的PE间的向上述第1传输方向及上述第2传输方向的各个传输路径,其中M是比1大、比N小的自然数,是N的约数;M个邻接的PE构成一个PE块;根据上述PE块内的M个PE的向第1传输方向的传输路径构成上述M条的第1信号线;根据上述PE块内的M个PE的向第2传输方向的传输路径构成上述M条的第2信号线。 
在本发明中,上述PE块内的各PE,通过对上述PE块内的所有PE 的第1传输方向的连接线及第2传输方向的连接线,分别与处于邻接的PE块内的、距本PE距离M的PE连接。 
在本发明中,上述各PE包括: 
第1传输缓冲器单元(L),存储连接与上述PE的距离为M的所有PE的向上述第1传送方向的传送路径(B0)的传输数据; 
第2传输缓冲器单元(R),存储连接与上述PE的距离为M的所有PE的向上述第2传送方向的传送路径(B1)的传输数据; 
第1选择单元(LS),从上述PE块内的多个上述第1传输缓冲器单元之中选择一个传输缓冲器单元; 
第2选择单元(RS),从上述PE块内的多个上述第2传输缓冲器单元之中选择一个传输缓冲器单元; 
寄存器单元(F),存储传送方向信息;和 
传输结果缓冲器单元(T),利用传送路径在所有PE间进行距离M的传送时,使存储值的绝对值减少仅M,在存储值变得比M小的时刻,根据寄存器单元(F)的值,选择按照上述存储值控制上述第1选择单元(LS)及第2选择单元(RS)得到的选择结果的任意一个,作为向PE的传输结果而进行存储。 
在本发明中,上述各PE包括: 
传输缓冲器单元(L),存储连接与上述PE的距离为M的所有PE的向第1传送方向或第2传送方向的传送路径的传输数据; 
选择单元(LS),从上述PE块内的多个上述第1传输缓冲器单元(L)之中选择一个传输缓冲器单元;和 
传输结果缓冲器单元(T),利用传送路径在所有PE间进行距离M的传送时,使存储值的绝对值减少仅M,在上述存储值变得比M小的时刻,将用上述存储值控制上述选择单元(LS)得到的选择结果作为向同PE的传输结果而进行存储。 
在本发明中,按以下方式进行控制:在使本PE的右方向或左方向为正,其相反为负,使最终保有在本PE中再配置的数据(D)的PE的从本PE位置看的点阵距离为K(但是,K也可以是-N/2≦K≦N/2的任意值)的情况下,将决定像参加传送工作这样的各PE的工作·不工作的掩码寄存 器(MR)设定在工作侧; 
在上述第1传输缓冲器单元(L)和上述第2缓冲器单元(R)中存储本PE上的数据(D); 
点阵距离(K)为正的情况下,使寄存器单元(F)导通,在上述传输结果缓冲单元(T)中存储点阵距离(K)和在PE块内从左或右计数的情况下的本PE编号的相加结果; 
点阵距离(K)为负的情况下,使寄存器单元(F)截止,在上述传输结果缓冲单元(T)中存储点阵距离(K)和在PE块内从左或右计数的情况下的本PE编号的相减结果。 
在本发明中,按以下方式进行控制:在使本PE的右方向或左方向为正,其相反为负,设最终保有在本PE中再配置的数据D的PE的从本PE位置看的点阵距离为K(但是,K也可以是0≦K≦N-1的任意值)的情况下,将决定像参加传送工作这样的各PE的工作·不工作的掩码寄存器(MR)设定在工作侧; 
在上述传输缓冲器单元(L)中存储本PE上的数据(D); 
在上述传输结果缓冲单元(T)中存储点阵距离(K)和在PE块内从左或右计数的情况下的本PE编号的相加结果制。 
在本发明中,包括用于进行如下方式控制的单元(控制处理器CP): 
在寄存器单元(F)导通的情况下,如果上述传输结果缓冲器单元的值T是M以上,就将T-M的值存储在上述传输结果缓冲器单元(T)中,如果上述传输结果缓冲器单元(T)比M小,就利用上述第1选择单元(LS)选择在PE块内从左计数的情况下的PE编号为T的PE的上述第1传输缓冲器单元(L)的内容,存储在上述传输结果缓冲器单元(T)中,将掩码寄存器(MR)设定为不工作; 
在寄存器单元(F)截止的情况下,如果上述传输结果缓冲器单元(T)是-M以下,就将T+M的值存储在上述传输结果缓冲器单元(T)中,如果T比-M大,就利用上述第2选择单元(RS)选择在PE块内从右计数的情况下的PE编号为-T的PE的上述第2传输缓冲器单元(R)的内容,存储在上述传输结果缓冲器单元(T)中,将掩码寄存器(MR)设定为不工作;此后,所有PE利用左连接线(B0)和右连接线(B1),分别将述第1传输缓冲器单元(L)和上述第2缓冲器单元(R)的内容向M邻接的左和右的PE传送的同时,掩码寄存器(MR)是工作设定的各PE重复进行将分别从右M邻接和左M邻接的PE传送过来的数据存储在上述第1传输缓冲器单元(L)和上述第2传输缓冲器单元(R)中的工作,直到所有PE的掩码寄存器MR成为不工作的设定为止。 
在本发明中,包括用于进行如下控制的单元(控制处理器CP): 
如果上述传输结果缓冲器单元(T)是M以上,就将T-M的值存储在上述传输结果缓冲器单元(T)中, 
如果T比M小,就利用第1选择单元(LS)选择在PE块内从左计数的情况下的PE编号为T的PE的上述第1传输缓冲器单元(L)的内容,存储在上述传输结果缓冲器单元(T)中,将掩码寄存器(MR)设定为不工作,此后,所有PE利用左连接线(B0),将上述第1传输缓冲器单元(L)的内容向M邻接的左的PE传送的同时,掩码寄存器(MR)是工作设定的各PE还重复进行将从右M邻接的PE传送过来的数据存储在上述第1传输缓冲器单元(L)中的工作,直到所有PE的掩码寄存器MR成为不工作的设定为止。 
根据本发明的其它侧面,提供一种PE,构成处理器阵列系统,该处理器阵列系统具有各自由M个进行SIMD动作的处理部件(以下称为「PE」)构成的多个PE块,包括在连接距离为与PE块内的PE个数相同数目即M(M是比1大的自然数)的所有PE的PE间的向第1传送方向和/或第2传送方向的传送路径;其中,上述PE包括选择单元,从根据向上述第1和/或第2传送方向的传送路径的、向上述PE所属的PE块的多个传输数据之中选择一个传输数据。 
本发明的PE包括:第1传输缓冲器单元,存储连接与上述PE的距离为M的各PE的向上述第1传输方向的传输路径的传输数据;第2传输缓冲器单元,存储连接与上述PE的距离为M的各PE的向上述第2传输方向的传输路径的传输数据;第1选择器,从上述PE块内的M个上述第1传输缓冲器单元之中选择一个;第2选择器,从上述PE块内的M个上述第2传输缓冲器单元之中选择一个;寄存器单元,存储传输方向信息;以及传输结果缓冲器单元,每次利用传输路径在所有PE间进行距离M的传输时,使存储值的绝对值减少仅M,在存储值变得比M更小的时刻,根 据上述寄存器单元的值,选择按照上述存储值控制上述第1选择器及上述第2选择器得到的选择结果的任意一个,作为向上述PE的传输结果而进行存储。或者,本发明的PE:包括传输缓冲器单元,该传输缓冲器单元存储连接与上述PE的距离为M的各PE的向上述第1传输方向或第2传输方向的传输路径的传输数据;上述选择单元,从存储向上述第1传输方向或第2传输方向的传输路径的传输数据的多个上述传输缓冲器单元之中选择一个传输缓冲器单元;上述PE包含传输结果缓冲器单元,每次利用传输路径在所有PE间进行距离M的传输时,该传输结果缓冲器单元使存储值的绝对值减少仅M,在上述存储值变得比M更小的时刻,将按照上述存储值控制上述选择单元得到的选择结果作为向上述PE的传输结果而进行存储。 
本发明相关的系统,具有各自含有多个处理部件(以下称为「PE」)、一维连接或环路连接的多个PE块,上述PE, 
通过向第1传输方向的连接线,连接与上述第1传输方向相关且与本PE离开预先设定的规定距离的其它PE块的PE; 
通过向与上述第1传输方向相反方向的第2传输方向的连接线,连接与上述第2传输方向相关且与本PE离开预先设定的规定距离的另外的PE块的PE; 
上述PE包括: 
第1及第2传输缓冲器单元,分别存储向上述第1及第2传输方向的连接线的传输数据; 
第1选择单元,从本PE的上述第1传输缓冲器单元、和上述本PE所属的PE块内的其它的PE的上述第1传输缓冲器单元之中选择一个传输缓冲器单元; 
第2选择单元,从上述本PE的上述第2传输缓冲器单元、和上述本PE所属的上述PE块内的其它的PE的上述第2传输缓冲器单元之中选择一个传输缓冲器单元;以及 
传输结果缓冲器单元,利用上述连接线,进行在离开上述规定距离的PE间的传输工作时,将存储值仅更新上述规定距离的值,在上述存储值和上述规定距离的值成为预先设定的大小关系的时刻,根据传输方向,选 择按照上述存储值控制上述第1选择单元及上述第2选择单元得到的选择结果的任意一个,将选择结果作为向本PE的传输结果而进行存储。或者,上述PE,通过连接线,连接与本PE离开预先设定的规定距离的其它PE的块的PE,上述PE包括: 
传输缓冲器单元,存储上述连接线的传输数据; 
选择单元,从本PE的上述传输缓冲器单元、和上述本PE所属的PE块内的其它的PE的上述传输缓冲器中选择一个传输缓冲器; 
传输结果缓冲器单元,在利用上述连接线进行离开上述规定距离的PE间的传输工作时,将存储值仅更新上述规定距离的值,在上述存储值和上述规定距离的值成为预先设定的大小关系的时刻,将根据上述存储值控制上述选择单元得到的选择结果作为向本PE的传输结果而进行存储。 
发明效果 
根据本发明,能够高效地实现处理的负荷分散。其理由是因为,在本发明中,在具有N个PE的一维处理器阵列型系统上,不增加PE间连接的维数,就能够缩短在PE间相互交换1行(=N个)的数据所需的步骤数。此外,根据本发明,能够维持布局的容易性。并且,根据本发明,能够减小硬件规模。此外,根据本发明,在接收侧,根据本地的信息即仅「本PE和发送源的点阵距离信息」和「本PE编号」正确地接收由SIMD控制同步工作的所有PE同时发送的数据成为可能,能够减少网络的规模(位数、复杂度)。 
附图说明
图1是表示本发明的一维处理器阵列的概括结构的方框图。 
图2是表示本发明的一维处理器阵列的PE块间连接线结构的方框图。 
图3是表示用于实施本发明的最佳方式的结构的方框图。 
图4是表示用于实施本发明的最佳方式的工作的前半部分的流程图。 
图5是表示用于实施本发明的最佳方式的工作的后半部分的流程图。 
图6是表示用于实施本发明的最佳方式的工作的具体例的图。 
图7是表示背景技术即已有的一维处理器阵列的概括结构的方框图。 
图8是用于说明本发明要解决的课题的图。 
图9是用于说明本发明要解决的课题的图。 
图10是表示现有技术的情形的工作流程的图。 
图11是表示本发明的效果之一的图。 
图12是表示用于实施本发明的第2发明的最佳方式的工作的前半部分的流程图。 
图13是表示用于实施本发明的第2发明的最佳方式的工作的后半部分的流程图。 
符号说明 
100        一维处理器阵列(PE阵列) 
101        PE(处理部件) 
102        PE块(PE集合体) 
103        从右向左的PE间连接线BO(左连接线) 
104        从左向右的PE间连接线B1(右连接线) 
110        控制处理器CP 
113        命令码 
301        用于存储来自B0的传输数据的传输缓冲器L 
302        用于存储来自B1的传输数据的传输缓冲器R 
303        选择单元LS 
304        选择单元RS 
305        传输结果缓冲器T 
306        方向寄存器F 
307        掩码寄存器MR 
308        命令译码器DE 
309        寄存器堆RF 
310        数据存储器 
311        运算器 
400~405、500~511、1000~1006、1200~1202、1300~1306  步骤 
具体实施方式
下面,为了更详细地进行说明,参照附图来说明如上所述的本发明。
首先,说明本发明的概况、工作原理。具有N个PE的一维处理器阵列型系统,设M为在芯片开发时的作为布局的单位的PE块内的PE数,X为PE间的单位传送字节数。 
参照图1、图3,本发明的系统包括: 
(A)按通过连接距离M的所有PE得到的PE块单位看时的M条的X字节宽连接线单元(左连接线)B0(从右向左)及M条X字节宽连接线单元(右连接线)B1(从左向右); 
(B)分别存在于PE块内的各PE中的、存储来自B0???和B1的数据的传输缓冲器L及传输缓冲器R; 
(C)从处于PE块内的M个L和R之中选择1个的M输入1输出选择器LS及选择器RS; 
(D)控制PE的工作/不工作的掩码寄存器MR; 
(E)作为传输结果的存储及计数器使用的传输结果缓冲器T; 
(F)存储传送方向的方向寄存器F。 
在上述构成之下,假定 
·设再配置对象为N个X字节数据D, 
·使本PE的右方向为正、左方向为负, 
·设存在预定要再配置到本PE的预定数据D的PE,从本PE的位置看的点阵距离为K(其中,K可以是-N/2≦K≦N/2的任意值),则 
控制处理器CP对PE阵列进行以下控制(参照图4)。 
首先,各PE将本PE上的数据D存储在传输缓冲器L和R中(图4的步骤400)。 
当点阵距离K为正或0的情况下,将在点阵距离K上加上在PE块内从左计数的情况下的本PE编号的结果,存储在传输结果缓冲器T中(图4的402)。当点阵距离K为负的情况下,将在点阵距离K中减去在PE块内从右计数的情况下的本PE编号的结果,存储在传输结果缓冲器T中(图4的403)。点阵距离K为0以上的情况下,在方向寄存器F中设置1(图4的402),当点阵距离K为负的情况下,在方向寄存器F中设置0(图4的403),将1存储在掩码寄存器MR中(图4的405),如此来控制PE阵列。
接着,控制处理器CP监视所有PE的掩码寄存器MR,直到所有PE的掩码寄存器MR全都为零为止,在每步骤中重复下述工作,如此控制PE阵列。 
即,掩码寄存器MR为非零的PE上,根据传输结果缓冲器T和方向寄存器F的值, 
在方向寄存器F为1的情况下,传输结果缓冲器T为M以上的情况下,将T-M的值存储在传输结果缓冲器T中(图5的步骤506),当传输结果缓冲器T为比M小的情况下,用选择器LS选择在PE块内从左计数的情况下的PE编号是T的PE的传输缓冲器L的内容,存储在传输结果缓冲器T中(图5的步骤503),将掩码寄存器MR设置为零(图5的504)。 
在方向寄存器F为0的情况下,传输结果缓冲器T为-M以下的情况下,将T+M的值存储在传输结果缓冲器T中(图5的步骤511),当传输结果缓冲器T为比-M大的情况下,用选择器RS选择在PE块内从右计数的情况下的PE编号是-T的PE的传输缓冲器R的内容,存储在传输结果缓冲器T中(图5的步骤508),并且将掩码寄存器MR设置为零(图5的509),像这样进行控制。再有,在传输结果缓冲器单元T中,当方向寄存器F为1时选择由选择器LS选择出的输出,当方向寄存器F为0时选择由选择器RS选择出的输出的功能对应于权利要求2的第3选择单元。 
此后,利用连接线B0和连接线B1,向M邻接的左和右的PE传送传输缓冲器L和传输缓冲器R的内容(图5的步骤505、510)的同时,还在传输缓冲器L和传输缓冲器R中分别存储从右M邻接和左M邻接的PE传送过来的数据,如此进行工作。 
根据上述构成及工作,在最大1+(N÷2M)步骤后,在各PE的传输结果缓冲器T中存储处于距本PE距离K的PE上的数据。 
由此,与图10所示的现有的方法相比时,能够以约12M倍的效率,再配置处于1行内的N个X字节数据。 
即,根据本发明,可构成如现有这样,在具有不是与邻接PE,而与距离M的PE连接的PE间连接线B0、连接线B1的同时,各PE还在最大(1+(N÷2M))的步骤数间的各步骤中,在从邻接PE块中传送、一个接一个经过本PE块的每一步骤,使用作为构成要素的传输结果缓冲器T、 方向寄存器F、传输缓冲器L、传输缓冲器S、选择器LS、RS,以及掩码寄存器MR,以简单的工作,能够从2M个数据之中,抽取出应事先保持的数据的结构。 
为此,根据本发明,在具有N个PE的一维处理器阵列型系统上不增加PE间连接的维数,就能够将在PE间相互交换1行(=N个)数据所需要的步骤数,从现有的最大(1+6N)缩短到最大(1+(N÷2M))。 
根据本发明能够维持布局的容易性。即,在本发明中,由于以由M个PE组成的PE块为布局的单位,所以维持了连接的一维性,与多维连接的情形相比,在芯片上的布局更容易。 
在本发明中,设  M = N 时,PE间数据传送距离最大为约,这是与作为典型的2维连接的八方点阵连接同等。而且,成为每一PE中所需的数据传送用选择器的规模,在八方点阵连接的情况下,如图11(a)所示,相比于从8数据中选1个需要8个选择器,如果根据本发明,在N是1024(M是32)时虽然与八方点阵连接相同需要8个,但N比1024更小的情况下,例如256(M为16)时,则如图11(b)所示,由于仅用其大约一半4个就实现了,所以在实用的N值域内能够减小硬件规模。 
这是因为,在本发明中,由于传送方向仅由左右2方向完成,所以有效地将每PE的本地的选择器与实现所需硬件成本低的一维连接相组合。以下,说明实施方式。 
参照图1,本发明的第1实施方式,包括:具有N个PE101的PE阵列100,向PE阵列提供命令的控制处理器110。 
PE阵列100,包括:各自含有M个(其中,M是N的约数)的PE101的N÷M个PE块102,连接邻接的PE块们的左连接线B0(103从右向左),和右连接线(104从左向右)。 
参照图2,一个PE块102内的各PE101,与处于邻接的PE块102内的距本PE距离M(图2中M为4)的PE连接,B0和B1,是分别相对于PE块102内的所有PE的从右向左、从左向右的连接线的集合体。 
参照图3,各PE101,包括:传输缓冲器单元L(301)和R(302),存储由B0和B1中对应的一部分的连接线传送过来的数据; 
M输入(图3中M为8)1输出的选择单元LS(303)和RS(304), 从PE块102内的所有PE的L和R中选择1个; 
传输结果缓冲器单元T(305),作为传输结果的存储及计数器使用。 
方向寄存器F(306),存储传送方向;和 
掩码寄存器MR(307),控制PE的工作/不工作,且还可以从控制处理器CP(110)中存取。 
此外,PE101,通常另外包括命令译码器DE(308)、寄存器堆RF(309)、数据存储器(310),以及运算器(311)。 
传输结果缓冲器单元T(305)结构为,一会将其内容传送给寄存器堆RF(309),一会将其内容向数据存储器(310)写入,或者,能够直接作为运算器(311)的运算域利用。 
这些单元各自按如下概括的方式工作。再有,在使本PE的右方向为正、左方向为负的情况下,设从存在再配置在本PE的预定的数据D的PE的本PE的位置看的点阵距离为K(K可以是-N/2≦K≦N/2的任意值)。此定义即便相反也无妨,下面,记述在此定义(本PE的左方向为正、右方向为负)之下的各单元的概括工作。 
设从控制处理器110中将称为「MVSET」的命令码113传送过来。当各PE101自身送出的数据为D时,在传输缓冲器单元L和R中存储D,就将所有PE的MR设置成1。 
当K为正的情况下,在方向寄存器F中存储1、并且在传输结果缓冲器单元T中存储K和在PE块内从左计数的情况下的本PE编码的相加的结果;在K为负的情况下,在F中存储0、并且在传输结果缓冲器单元T中存储K和在PE块内从右计数的情况下的本PE编码的相减的结果。通常,由于这些工作简单,所以能够用一个步骤来完成。 
当从控制处理器110中将称为「MVLR」的命令码113传送过来时,掩码寄存器MR为1的PE, 
在方向寄存器F为1的情况下, 
如果T为M以上,则在T内存储T-M的值; 
如果T比M小,则用LS选择在PE块内从左计数的情况下的PE编号为T的PE的L的内容存储在T中,并且将MR设置为零。 
在方向寄存器F为0的情况下,
如果T为-M以下,则在T内存储T+M的值; 
如果T比-M大,则用RS选择在PE块内从右计数的情况下的PE编号为-T的PE的R的内容存储在T中,并且将MR设置为零。 
接着,所有PE利用B0和B1,向M邻接的左和右的PE传送L和R的内容的同时,还在L和R中,存储分别从右M邻接和左M邻接PE传送过来的数据。通常,由于这些工作简单,所以能够由1步骤来完成。 
另一方面,控制处理器110,直到所有PE的MR变为零之前,在每步骤中向PE持续发送相同命令码「MVLR」。 
接着,参照图4及图5的流程图,详细地说明本实施方式的整体的工作。 
图4是从控制处理器110传送「MVSET」命令码时的由各PE实施的工作相关的流程图。 
在L和R中分别设置D(步骤400)。 
在所有PE的MR中设置1(步骤405)。 
判定K是否在0以上(步骤401)。 
在K是0以上的情况下,在方向寄存器F中设置1,并且将在K上加上在PE块内从左计数的情况下的本PE编号的结果而进行存储在传输结果缓冲器T中(步骤402)。 
在K比0小的情况下,在方向寄存器F中设置0,并且在传输结果缓冲器T中,将在K上加上在PE块内从右计数的情况下的本PE编号的结果而进行存储在T中(步骤403)。 
由于步骤400~405的工作简单,所以通常能够由1步骤来进行。 
图5是「MVLR」命令码相关的、由控制处理器110及各PE实施的工作相关的流程图。 
首先,控制处理器110调查是否存在掩码寄存器MR是1的PE(步骤520)。 
在存在这样的PE的情况下,向PE阵列100传送命令码「MVLR」(步骤500)。 
在PE阵列侧,在掩码寄存器MR是1的PE上,判定方向寄存器F是否是1(步骤501)。
在方向寄存器F是1的情况下,进行步骤502~505的工作,在方向寄存器F是0的情况下,进行步骤507~511的工作。 
判定传输结果缓冲器T是否比M小(步骤502)。 
如果传输结果缓冲器T比M小,则用LS选择在PE块内从左计数的情况下的PE编号是T的PE上的L,存储在传输结果缓冲器T中(步骤503)。 
将掩码寄存器MR设置为0(步骤504)。 
使用连接线B0,将L内数据传送给在左方向上离开仅M的PE的传输缓冲器L(步骤505)。 
T为M以上的情况下,将传输结果缓冲器T更新为T-M(步骤506)。 
判定T是否比-M大(步骤507)。 
如果T比-M大,则用RS选择在PE块内从右计数的情况下的PE编号是-T的PE上的R,存储在传输结果缓冲器T中(步骤508)。 
将掩码寄存器MR设置为0(步骤509)。 
使用连接线B1,将R内数据传送给在右方向上离开仅M的PE的传输缓冲器R(步骤510)。 
T为-M以下的情况下,将传输结果缓冲器T更新为T+M(步骤511)。 
由于步骤501~511的工作简单,所以通常能够由1步骤来执行。 
接着,说明本实施方式的效果。 
在本实施方式中,由于以距离M在双方向上连接所有PE,所以在PE数为N中,从所有PE送出的N个传输数据D,乘上1+(N÷2M)的步骤数,能够通过所有PE块。 
此外,在本实施方式中,由于各PE还包括:用于从PE块内的M个PE所具有的传输缓冲器L和R的内容之中选择一个的选择器LS和RS,及将它们作为指定在哪个计时中可利用的计时器起作用的传输结果缓冲器T,所以,能够从使用B0及B1从右向左及从左向右通过各PE块的传输数据D组之中,在规定的步骤中,选择在计时中高效、需要的,在本PE的T中接收。 
在本实施方式中,由于在利用掩码寄存器MR,所有PE得到传输数据的时刻,停止处理,所以,在更多的情况下,以比1+(N÷2M)更少的 步骤数就能够结束所有工作。 
接着,参照附图,详细地说明本发明的第2实施方式。参照图1、图2、图3,本发明的第2实施方式,除在图1和图2中不存在右连接线B1这点,及在图3中不存在传输缓冲器R、选择器RS、方向寄存器F以及右连接线B1这些点之外,具有与本发明的第1实施方式相同的结构。这些单元按如下概括的方式工作。再有,设从存在再配置在本PE的预定的数据D的PE的本PE的位置向右方向看时的点阵距离为K(K可以是0≦K≦N-1的任意值)。 
从控制处理器110将称为「MVSET」的命令码113传送过来。各PE101自己送出的数据为D。 
在传输缓冲器单元L中存储D,将所有的PE的MR设置为1,在传输结果缓冲器单元T中存储K和在PE块内从左计数的情况下的本PE编码的相加的结果。通常,由于这些工作简单,所以能够用1个步骤来完成。 
当从控制处理器110将称为「MVLR」的命令码113传送过来时,MR为非零的PE, 
如果T为M以上,则在传输结果缓冲器T内存储T-M的值; 
如果T比M小,则用LS选择在PE块内从左计数的情况下的PE编号为T的PE的L的内容,存储在传输结果缓冲器T中,并且将掩码寄存器MR设置为零。 
接着。所有PE利用BO,向M邻接的左的PE传送L的内容的同时,还在L中,存储从右M邻接PE传送过来的数据。 
此外,通常由于这些工作简单,所以能够由1个步骤来来完成。 
另一方面,控制处理器110,直到所有PE的MR变为零之前,在每步骤中向PE持续发送相同命令码「MVSET」。 
接着,参照图12及图13的流程图,详细地说明本发明的第2发明的实施方式的整体的工作。 
图12是用于说明「MVSET」命令码从控制处理器110传送时的由各PE执行的工作的流程图。 
在传输缓冲器L中分别设置D(步骤1202)。 
在所有PE的掩码寄存器MR中设置1(步骤1201)。
将在K上加上在PE块内从左计数的情况下的本PE编号的结果存储在传输结果缓冲器T中(步骤1200)。 
由于步骤1200~1202的工作简单,所以通常能够由1步骤来进行。 
图13是用于说明「MVLR」命令码相关的、由控制处理器110及各PE实施的工作的流程图。 
首先,控制处理器110调查是否存在MR是1的PE(1301),在存在这样的PE的情况下,向PE阵列100传送命令码「MVLR」(步骤1300)。 
在PE阵列侧,在MR是1的PE上,判定传输结果缓冲器T是否比M小(步骤1302)。 
如果传输结果缓冲器T比M小,则用选择器LS选择在PE块内从左计数的情况下的PE编号是T的PE上的L,存储在传输结果缓冲器T中(步骤1303)。 
将MR设置为0(步骤1304),此后,使用连接线B0,将L内数据传送给在左方向上离开仅M的PE的传输缓冲器L(步骤1305)。 
T为M以上的情况下,将传输结果缓冲器T更新为T-M(步骤1306)。 
此外,由于步骤1302~1306的工作简单,所以通常能够由1个步骤来进行。 
接着,说明本发明的第2实施方式的效果。 
在本实施方式中,由于以距离M连接所有PE,所以在PE数为N中,从所有PE送出的N个传输数据D,乘上1+(N÷M)的步骤数,能够通过所有PE块。 
此外,在本实施方式中,由于各PE还包括:将用于从PE块内的M个PE所具有的传输缓冲器L的内容之中选择一个的选择器LS和RS作为指定在哪个计时中可利用的计时器起作用的传输结果缓冲器T,所以,能够从使用B0从右向左通过各PE块的传输数据D组之中,在规定的步骤中,选择在计时中高效、需要的,在本PE的T中接收。 
在本实施方式中,由于利用掩码寄存器MR,在所有PE得到传输数据的时刻停止处理,所以,在更多的情况下,以比1+(N÷M)更少的步骤数就能够结束所有工作。 
本发明的第2实施方式,与上述第1实施方式相比,虽然在PE间再 配置1行的N个像素所需的步骤数增加到2倍左右,但由于构成要素进一步减少,所以存在所谓硬件规模的增加进一步减少的效果。 
实施例 
接着,按具体的实施例进行说明。图6是用于具体地说明上述的本发明的工作图。 
在图6(a)中,各列中,表现出在1个PE上的设定,设N为16、M为4。此外,为了简单,在各PE将本PE编号作为送出数据D,将任意的-8~7的值作为向传送源PE的距离指K设定的情况下,示出在发行MVSET命令之后的、按图4的流程图,使用K和在块内的从右及从左的PE编号,设定F、T、L、R、MR的值的结果。 
在此,可知通过将各列的网格栏的内容在K为负的情况下与属于通列的K相加,在K为正的情况下与属于同列的K相减,求出图6(a)的T栏。例如,通过K=-3和块内从右起的PE#=3的相减求出第1列的T=-6,通过K=2和块内从左起的PE#=2的相加求出第3列的T=4。 
图6(b)至图6(d),以与图6(a)对应的表的方式分别示出进行MVLR命令1次~第3次反复后的状态(其中,L和R显示更新前的值)。 
在图6(b)至图6(d)中,根据图5的流程图,通过使T的绝对值低于M,传输缓冲器L或R的值,关于向传输结果缓冲器T存储的PE,在该T栏及MR栏中施加网格线,进行显示。 
基于图6可知,位于由K指定的距离的PE上的D的值,在重复3次(=1+16(4×2))图5的流程图所示的工作后,被存储在传输结果缓冲器T中(参照图6(d)的T栏)。 
图6(e)用箭头线表示在图6(b)至图6(d)之间进行的PE间数据移动的状态(距离和方向)。 
根据本发明,通过可高速地在PE间再配置数据的一维处理器阵列的提供,就能够应用于提高在PE间使处理负荷分散的一维处理器阵列的性能的用途中。此外,不仅是处理负荷的分散,还能应用于在一维处理器阵列的各PE中测绘的图像的放大、缩小、变形这样的用途中。在上文中,虽然按上述实施例说明了本发明,但本发明不是仅限于上述实施例的结 构,在本发明的范围内,毫无疑问,本领域普通技术人员应当理解,本发明应包含没有展示的各种变形、修正。

Claims (17)

1.一种处理器阵列系统,包括至少具有三个处理部件块的处理部件块阵列,以下将处理部件称为PE,该PE块包含多个即M个进行SIMD动作的PE;其特征在于,
至少一个PE块,通过与PE块内的PE的个数相同数目即M条且每1条都是规定的位的第1信号线来连接与上述一个PE块不同的至少一个其它的PE块、同时还通过M条的每1条都是规定的位的第2信号线来连接与上述一个PE块及上述其它PE块不同的至少一个另外的PE块;
其中,上述一个PE块和上述一个其他的PE块、上述一个另外的PE块的连接,通过上述一个PE块中的PE与和其距离为M的上述一个其他的PE块、上述一个另外的PE块中的PE相连接的环路连接而实现,
上述一个PE块中所含的上述PE包括:
选择电路,从上述M条第1信号线和上述M条第2信号线之中选择1条信号线。
2.根据权利要求1所述的处理器阵列系统,其特征在于,
上述选择电路,包括:
第1选择单元,从上述M条第1信号线中选择一条信号线;
第2选择单元,从上述M条上述第2信号线中选择一条信号线;
第3选择单元,从由上述第1选择单元选择出的上述1条信号线和由上述第2选择单元选择出的上述1条信号线中选择一条信号线。
3.根据权利要求1所述的处理器阵列系统,其特征在于,
以一PE块为一个节点的环路连接的方式连接多个上述PE块;
上述PE块通过上述M条的第1信号线与在上述PE块的一侧邻接的PE块相互连接,同时还通过上述M条第2信号线与在上述PE块的另一侧邻接的PE块相互连接。
4.根据权利要求1所述的处理器阵列系统,其特征在于,
关于N个上述PE,在连接距离是M的PE的PE间,具有向第1传输方向及第2传输方向的各个传输路径,其中N是比1大的自然数,M是比1大、比N小的自然数,是N的约数;
M个邻接的PE构成一个PE块,根据上述PE块内的M个PE的向上述第1传输方向的传输路径构成上述M条的第1信号线;
根据上述PE块内的所有M个的PE的向上述第2传输方向的传输路径构成上述M条第2信号线。
5.根据权利要求4所述的处理器阵列系统,其特征在于,
以一个PE为一个节点的环路连接的方式连接N个上述PE,其中N是比1大的自然数;
除邻接PE间的连接线外,还包括在连接距离是M的各PE的PE间的向上述第1传输方向及上述第2传输方向的各个传输路径,其中M是比1大、比N小的自然数,是N的约数;
M个邻接的PE构成一个PE块;
根据上述PE块内的M个PE的向第1传输方向的传输路径构成上述M条的第1信号线;
根据上述PE块内的M个PE的向第2传输方向的传输路径构成上述M条的第2信号线。
6.根据权利要求3所述的处理器阵列系统,其特征在于,
上述PE块内的各PE,通过对上述PE块内的所有PE的第1传输方向的连接线及第2传输方向的连接线,分别与处于邻接的PE块内的距本PE距离M的PE连接。
7.根据权利要求4、5、6任意一项所述的处理器阵列系统,其特征在于,
上述各PE包括:
第1传输缓冲器单元,存储将与上述PE的距离为M的各PE连接起来的向上述第1传输方向的传输路径的传输数据;
第2传输缓冲器单元,存储将与上述PE的距离为M的各PE连接起来的向上述第2传输方向的传输路径的传输数据;
第1选择单元,从上述PE块内的多个上述第1传输缓冲器单元之中选择一个传输缓冲器单元;
第2选择单元,从上述PE块内的多个上述第2传输缓冲器单元之中选择一个传输缓冲器单元;
寄存器单元,存储传输方向信息;以及
传输结果缓冲器单元,每次利用传输路径在所有PE间进行距离M的传输时,使存储值的绝对值减少仅M,在存储值变得比M更小的时刻,根据上述寄存器单元的值,选择按照上述存储值控制上述第1选择单元及上述第2选择单元得到的选择结果的任意一个,作为向上述PE的传输结果而进行存储。
8.根据权利要求4、5、6任意一项所述的处理器阵列系统,其特征在于,
上述各PE包括:
传输缓冲器单元,存储将与上述PE的距离为M的各PE连接起来的向上述第1传输方向或第2传输方向的传输路径的传输数据;
选择单元,从上述PE块内的多个上述传输缓冲器单元之中选择一个;以及
传输结果缓冲器单元,每次利用传输路径在所有PE间进行距离M的传输时,使存储值的绝对值减少仅M,在上述存储值变得比M更小的时刻,将用上述存储值控制上述选择单元得到的选择结果作为向上述PE的传输结果而进行存储。
9.根据权利要求7所述的处理器阵列系统,其特征在于,
作为传输方向,使本PE的上述第1传输方向或上述第2传输方向的一个传输方向为正,另一个传输方向为负;
当最终保有在本PE中再配置的数据D的PE的从本PE位置看的点阵距离为K的情况下,将决定各PE的工作/不工作的掩码寄存器设定在工作侧,以参加传输工作,其中K可以是-N/2≤K≤N/2的任意值;
在上述第1传输缓冲器单元和上述第2缓冲器单元中存储本PE上的数据;
在上述点阵距离为正的情况下,
使上述寄存器单元导通,
在上述传输结果缓冲单元中存储上述点阵距离与在PE块内从上述第1或上述第2传输方向侧数的情况下的本PE编号的相加结果;
在上述点阵距离为负的情况下,
使上述寄存器单元截止,
在上述传输结果缓冲单元中存储上述点阵距离与在PE块内从上述第1或上述第2传输方向侧数的情况下的本PE编号的相减结果。
10.根据权利要求8所述的处理器阵列系统,其特征在于,
作为传输方向,使本PE的上述第1传输方向或上述第2传输方向的一个传输方向为正,另一个传输方向为负;当最终保有在本PE中再配置的数据的PE的从本PE位置看的点阵距离为K的情况下,将决定各PE的工作/不工作的掩码寄存器设定在工作侧,以参加传输工作,其中K可以是-N/2≤K≤N/2的任意值;
在上述传输缓冲器单元中存储本PE上的数据;
在上述传输结果缓冲单元中存储上述点阵距离与在PE块内从上述第1或上述第2传输方向侧数的情况下的本PE编号的相加结果。
11.根据权利要求7所述的处理器阵列系统,其特征在于,
包括用于进行如下控制的单元,
在上述寄存器单元导通的情况下,
当上述传输结果缓冲器单元的值T是M以上时,
将T-M的值存储在上述传输结果缓冲器单元中,
当上述传输结果缓冲器单元的值T比M更小时,利用上述第1选择单元选择在PE块内从上述第2传输方向的一侧数的情况下的PE编号为T的PE的上述第1及第2传输缓冲器单元的内容,存储在上述传输结果缓冲器单元中,
将掩码寄存器设定为不工作;
在上述寄存器单元截止的情况下,
当上述传输结果缓冲器单元的值T是-M以下时,将T+M的值存储在上述传输结果缓冲器单元中,
当T比-M大时,利用上述第2选择单元选择在PE块内从上述第1及第2传输方向中的一侧数的情况下的PE编号为-T的PE的上述第2传输缓冲器单元的内容,存储在上述传输结果缓冲器单元中,将上述掩码寄存器设定为不工作;
所有PE利用上述第1传输方向的连接线和上述第2传输方向的连接线,分别将上述第1传输缓冲器单元和上述第2传输缓冲器单元的内容向M邻接的上述第1及第2传输方向的PE传输的同时,上述掩码寄存器是工作设定的各PE重复进行将分别从在上述第1传输方向M邻接PE和在上述第2传输方向M邻接的PE传输过来的数据分别存储到上述第1传输缓冲器单元和上述第2缓冲器单元中的工作,直到所有PE的掩码寄存器成为不工作的设定为止。
12.根据权利要求8所述的处理器阵列系统,其特征在于,
包括用于进行如下控制的单元,
在上述传输结果缓冲器单元的值T是M以上的情况下,将T-M的值存储在上述传输结果缓冲器单元中,
在T比M更小的情况下,利用上述第1选择单元选择在PE块内从上述第1及第2传输方向中的一侧数的情况下的PE编号为T的PE的上述第1传输缓冲器单元的内容,存储在上述传输结果缓冲器单元中,将掩码寄存器设定为不工作;
所有PE利用上述第1传输方向的连接线,将上述第1传输缓冲器单元的内容向上述第1传输方向的M邻接PE传输的同时,上述掩码寄存器是工作设定的各PE重复进行将从上述第2传输方向的M邻接的PE传输过来的数据存储到上述第1传输缓冲器单元中的工作,直到所有PE的上述掩码寄存器成为不工作的设定为止。
13.一种处理部件,以下将该处理部件称为PE,构成处理器阵列系统,该处理器阵列系统具有分别由M个进行SIMD动作的PE构成的多个PE块,包括在连接距离为与PE块内的PE个数相同数目即M的各PE的PE间的向第1传输方向和/或第2传输方向的传输路径,其中M是比1大的自然数,其特征在于,
上述PE包括:
选择单元,从根据向上述第1传输方向和/或上述第2传输方向的传输路径的、向上述PE所属的PE块的多个传输数据之中选择一个传输数据。
14.根据权利要求13所述的PE,其特征在于,包括:
第1传输缓冲器单元,存储连接与上述PE的距离为M的各PE的向上述第1传输方向的传输路径的传输数据;
第2传输缓冲器单元,存储连接与上述PE的距离为M的各PE的向上述第2传输方向的传输路径的传输数据;
第1选择器,从上述PE块内的M个上述第1传输缓冲器单元之中选择一个;
第2选择器,从上述PE块内的M个上述第2传输缓冲器单元之中选择一个;
寄存器单元,存储传输方向信息;以及
传输结果缓冲器单元,每次利用传输路径在所有PE间进行距离M的传输时,使存储值的绝对值减少仅M,在存储值变得比M更小的时刻,根据上述寄存器单元的值,选择按照上述存储值控制上述第1选择器及上述第2选择器得到的选择结果的任意一个,作为向上述PE的传输结果而进行存储。
15.根据权利要求13所述的PE,其特征在于,
包括传输缓冲器单元,该传输缓冲器单元存储连接与上述PE的距离为M的各PE的向上述第1传输方向或第2传输方向的传输路径的传输数据;
上述选择单元,从存储向上述第1传输方向或第2传输方向的传输路径的传输数据的多个上述传输缓冲器单元之中选择一个传输缓冲器单元;
上述PE包含传输结果缓冲器单元,每次利用传输路径在所有PE间进行距离M的传输时,该传输结果缓冲器单元使存储值的绝对值减少仅M,在上述存储值变得比M更小的时刻,将按照上述存储值控制上述选择单元得到的选择结果作为向上述PE的传输结果而进行存储。
16.一种处理器阵列系统,具有各自包含多个处理部件且环路连接的多个处理部件块,以下将处理部件称为PE,其特征在于,
上述PE,
通过向第1传输方向的连接线,连接与上述第1传输方向相关且与本PE离开预先设定的规定距离的其它PE块的PE;
通过向与上述第1传输方向相反方向的第2传输方向的连接线,连接与上述第2传输方向相关且与本PE离开预先设定的规定距离的另外的PE块的PE;
上述PE包括:
第1及第2传输缓冲器单元,分别存储向上述第1及第2传输方向的连接线的传输数据;
第1选择单元,从本PE的上述第1传输缓冲器单元、和上述本PE所属的PE块内的其它的PE的上述第1传输缓冲器单元之中选择一个传输缓冲器单元;
第2选择单元,从上述本PE的上述第2传输缓冲器单元、和上述本PE所属的上述PE块内的其它的PE的上述第2传输缓冲器单元之中选择一个传输缓冲器单元;以及
传输结果缓冲器单元,利用上述连接线,进行在离开上述规定距离的PE间的传输工作时,将存储值仅更新上述规定距离的值,在上述存储值和上述规定距离的值成为预先设定的大小关系的时刻,根据传输方向,选择按照上述存储值控制上述第1选择单元及上述第2选择单元得到的选择结果的任意一个,将选择结果作为向本PE的传输结果而进行存储。
17.一种处理器阵列系统,具有各自包含多个处理部件且环路连接的多个处理部件块,以下将处理部件称为PE,其特征在于,
上述PE,通过连接线,连接与本PE离开预先设定的规定距离的其它PE的块的PE,
上述PE包括:
传输缓冲器单元,存储上述连接线的传输数据;
选择单元,从本PE的上述传输缓冲器单元、和上述本PE所属的PE块内的其它的PE的上述传输缓冲器中选择一个传输缓冲器;
传输结果缓冲器单元,在利用上述连接线进行离开上述规定距离的PE间的传输工作时,将存储值仅更新上述规定距离的值,在上述存储值和上述规定距离的值成为预先设定的大小关系的时刻,将根据上述存储值控制上述选择单元得到的选择结果作为向本PE的传输结果而进行存储。
CN2007800076634A 2006-03-03 2007-02-27 具有高速pe间数据再配置功能的处理器阵列系统 Expired - Fee Related CN101401088B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006058302 2006-03-03
JP058302/2006 2006-03-03
PCT/JP2007/053633 WO2007099950A1 (ja) 2006-03-03 2007-02-27 高速pe間データ再配置機能を有するプロセッサアレイシステム

Publications (2)

Publication Number Publication Date
CN101401088A CN101401088A (zh) 2009-04-01
CN101401088B true CN101401088B (zh) 2011-03-30

Family

ID=38459055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800076634A Expired - Fee Related CN101401088B (zh) 2006-03-03 2007-02-27 具有高速pe间数据再配置功能的处理器阵列系统

Country Status (6)

Country Link
US (1) US7783861B2 (zh)
EP (1) EP2000922A4 (zh)
JP (1) JP4483991B2 (zh)
KR (1) KR101031680B1 (zh)
CN (1) CN101401088B (zh)
WO (1) WO2007099950A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009131007A1 (ja) 2008-04-22 2009-10-29 日本電気株式会社 Simd型並列計算機システム、simd型並列計算方法及び制御プログラム
CN101908032B (zh) * 2010-08-30 2012-08-15 湖南大学 可重新配置处理器集合的处理器阵列
JP5739758B2 (ja) * 2011-07-21 2015-06-24 ルネサスエレクトロニクス株式会社 メモリコントローラ及びsimdプロセッサ
WO2020000383A1 (en) 2018-06-29 2020-01-02 Baidu.Com Times Technology (Beijing) Co., Ltd. Systems and methods for low-power, real-time object detection

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5129092A (en) * 1987-06-01 1992-07-07 Applied Intelligent Systems,Inc. Linear chain of parallel processors and method of using same
JP2743994B2 (ja) 1987-06-29 1998-04-28 株式会社東芝 並列処理システム
JPH03256159A (ja) 1990-03-07 1991-11-14 Mitsubishi Electric Corp ネツトワーク装置
JPH04113444A (ja) 1990-09-04 1992-04-14 Oki Electric Ind Co Ltd 双方向リングバス装置
FR2680026B1 (fr) * 1991-07-30 1996-12-20 Commissariat Energie Atomique Architecture de systeme en tableau de processeurs a structure parallele.
JPH05204876A (ja) 1991-10-01 1993-08-13 Hitachi Ltd 階層型ネットワークおよび階層型ネットワークを用いたマルチプロセッサシステム
US5471580A (en) * 1991-10-01 1995-11-28 Hitachi, Ltd. Hierarchical network having lower and upper layer networks where gate nodes are selectively chosen in the lower and upper layer networks to form a recursive layer
JPH05342184A (ja) 1992-06-05 1993-12-24 Toshiba Corp 格子トーラス結合型並列計算機及び並列プロセッサ
US5689677A (en) * 1995-06-05 1997-11-18 Macmillan; David C. Circuit for enhancing performance of a computer for personal use
US6230252B1 (en) * 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
AU2470901A (en) * 1999-10-26 2001-06-06 Arthur D. Little, Inc. Bit-serial memory access with wide processing elements for simd arrays
US7196708B2 (en) * 2004-03-31 2007-03-27 Sony Corporation Parallel vector processing
US20060041715A1 (en) 2004-05-28 2006-02-23 Chrysos George Z Multiprocessor chip having bidirectional ring interconnect

Also Published As

Publication number Publication date
JPWO2007099950A1 (ja) 2009-07-16
WO2007099950A1 (ja) 2007-09-07
EP2000922A4 (en) 2010-09-29
US7783861B2 (en) 2010-08-24
JP4483991B2 (ja) 2010-06-16
KR20090005312A (ko) 2009-01-13
CN101401088A (zh) 2009-04-01
US20090043986A1 (en) 2009-02-12
KR101031680B1 (ko) 2011-04-29
EP2000922A1 (en) 2008-12-10

Similar Documents

Publication Publication Date Title
KR102467688B1 (ko) 칩 장치 및 관련 제품
EP0726532B1 (en) Array processor communication architecture with broadcast instructions
US10998070B2 (en) Shift register with reduced wiring complexity
CN101401088B (zh) 具有高速pe间数据再配置功能的处理器阵列系统
CN107408041A (zh) 用于图像处理器的能量高效的处理器核心架构
CN101952801A (zh) 用于流数据处理的协处理器
CN105009075A (zh) 具有水平置换的向量间接元素垂直寻址模式
CN112784973A (zh) 卷积运算电路、装置以及方法
CN101454799A (zh) 用于对图像数据实施基于块和行的处理的集成电路装置
CN100380315C (zh) 提供多指令集和多译码模式的设备和方法
CN109445850A (zh) 一种基于申威26010处理器的矩阵转置方法及系统
JP2009157530A (ja) 物品管理システム
CN108108189A (zh) 一种计算方法及相关产品
CN113052304A (zh) 用于具有部分读取/写入的脉动阵列的系统和方法
US7542041B2 (en) Runtime configurable virtual video pipeline
CN1672327B (zh) 数据处理电路
CN103729315B (zh) 一种地址压缩、解压缩的方法、压缩器和解压缩器
CN105991941A (zh) 影像处理方法
CN113867789A (zh) 计算装置、集成电路芯片、板卡、电子设备和计算方法
CN117033270A (zh) 一种芯片、设备以及数据处理方法
CN104011674A (zh) 数字信号处理器
CN112579042A (zh) 计算装置及方法、芯片、电子设备及计算机可读存储介质
Chen et al. Partitionable bus-based string-matching algorithm for run-length coded strings with VLDCs
JPH047668A (ja) 半導体集積回路
JPH01284987A (ja) データ収集分配方式

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110330

Termination date: 20160227

CF01 Termination of patent right due to non-payment of annual fee