专利名称:具有高速pe间数据再配置功能的处理器阵列系统的制作方法
技术领域:
本发明涉及在单片上将多个处理部件(PE)相互连接的处理器阵列系统。
背景技术:
过去,在视频信号等图像处理用中使用单片一维处理器阵列或结构与 其类似的具有SIMD (Single Instruction Multiple Data)命令的介质处理器。 例如,非专利文献1提示的面向视频图像识别处理的一维处理器阵列中, 如图7所示,从一端起顺序地按行单位输入图像,然后,在邻接的PE之 间中分配邻接的1 几列的图像列之后,根据SIMD型控制,各PE通过 将从控制处理器(CP)广播的命令应用于自己的本地存储器上的数据中, 来实现PE数量部分的并行处理。专利文献l: JP特开平5-34284号公报非专利文献1:京昭伦著「集成128个4路VLIW型RISC铁心的面 向车载的动画识别LSI」电子信息通信学会研究会报告,集成电路研究会 (ICD), 2003年5月,Vol.l03, No.89, pp.19-24发明内容一方面,在图像处理中,特别地对图像进行识别处理的情况下,在最 初的阶段,正像以所有像素为对象进行的边缘检测处理等那样,虽然要处 理的对象数据平等地存在于所有PE上,但大多随着处理的推进,要处理 的对象数据在PE间会变得不均衡。例如,在大多图像识别处理中,通过到此为止的处理,将图像内的几 个(矩形)区域确定为存在识别对象物的部位时,则仅这些候选区域成为 以后的处理对象。此外,例如,如图8所示,这些候选区域大多在具有相 互重合这样的位置关系中被找到的情形多也是特征之一。 但是,例如非专利文献l所示,在以图像列为单位进行向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间高速地再配置 像素等数据就能高效的实现处理的负荷分散的处理器阵列系统。本发明的第l侧面(方面)相关的处理器阵列系统,包括至少具有三 个包含多个(M个)处理部件(以下称为「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选择单元,从由上述第l选择单元选择出的上述 1条信号线和由上述第2选择单元选择出的上述1条信号线中选择一条信 号线。在本发明中,以一 PE块为一个节点的一维连接或环路连接的方式连 接多个上述PE块;上述PE块通过上述M条的第1信号线与在上述PE 块的一侧邻接的PE块相互连接,同时还通过上述M条第2信号线与在上 述PE块的另一侧邻接的PE块相互连接。在本发明中,关于N个上述PE,在连接距离是M的PE的PE间, 有向第1传输方向及第2传输方向的各个传输路径,其中N是比1大的自 然数,M是比l大、比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传送方向的传送路径(BO)的传输数据;第2传输缓冲器单元(R),存储连接与上述PE的距离为M的所有 PE的向上述第2传送方向的传送路径(Bl)的传输数据;第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^KSN-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)和右连接线(Bl),分别将上
述第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利用左连接线(BO),将上述第1传输缓冲器单元(L) 的内容向M邻接的左的PE传送的同时,掩码寄存器(MR)是工作设定 的各PE还重复进行将从右M邻接的PE传送过来的数据存储在上述第1 传输缓冲器单元(L)中的工作,直到所有PE的掩码寄存器MR成为不工 作的设定为止。根据本发明的其它侧面,提供一种PE,构成处理器阵列系统,该处 理器阵列系统具有各自由M个处理部件(以下称为「PE」)构成的多个 PE块,包括在连接距离为M (M是比1大的自然数)的所有PE的PE间 的向第l传送方向和/或第2传送方向的传送路径;其中,上述PE包括选 择单元,从根据向上述第l和/或第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传 输方向的传输路径的传输数据;上述选择单元,从存储向上述第l传输方 向或第2传输方向的传输路径的传输数据的多个上述传输缓冲器单元之中 选择一个传输缓冲器单元;上述PE包含传输结果缓冲器单元,每次利用 传输路径在所有PE间进行距离M的传输时,该传输结果缓冲器单元使存 储值的绝对值减少仅M,在上述存储值变得比M更小的时刻,将按照上 述存储值控制上述选择单元得到的选择结果作为向上述PE的传输结果而 进行存储。
本发明相关的系统,具有各自含有多个处理部件(以下称为「PE」)、 一维连接或环路连接的多个PE块,上述PE,
通过向第1传输方向的连接线,连接与上述第1传输方向相关且与本 PE离开预先设定的规定距离的其它PE块的PE;
通过向与上述第l传输方向相反方向的第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个)的数据所需的步骤数。 此外,根据本发明,能够维持布局的容易性。并且,根据本发明,能够减 小硬件规模。
图1是表示本发明的一维处理器阵列的概括结构的方框图。图2是表示本发明的一维处理器阵列的PE块间连接线结构的方框图。图3是表示用于实施本发明的最佳方式的结构的方框图。图4是表示用于实施本发明的最佳方式的工作的前半部分的流程图。图5是表示用于实施本发明的最佳方式的工作的后半部分的流程图。图6是表示用于实施本发明的最佳方式的工作的具体例的图。图7是表示背景技术即已有的一维处理器阵列的概括结构的方框图。图8是用于说明本发明要解决的课题的图。图9是用于说明本发明要解决的课题的图。图IO是表示现有技术的情形的工作流程的图。
图11是表示本发明的效果之一的图。图12是表示用于实施本发明的第2发明的最佳方式的工作的前半部 分的流程图。图13是表示用于实施本发明的第2发明的最佳方式的工作的后半部 分的流程图。符号说明100 —维处理器阵列(PE阵列)101 PE (处理部件)102 PE块(PE集合体)103 从右向左的PE间连接线BO (左连接线)104 从左向右的PE间连接线B1 (右连接线) 110 控制处理器CP113 命令码301 用于存储来自B0的传输数据的传输缓冲器L302 用于存储来自Bl的传输数据的传输缓冲器R303 选择单元LS304 选择单元RS305 传输结果缓冲器T306 方向寄存器F307 掩码寄存器MR308 命令译码器DE309 寄存器堆RF310 数据存储器311 运算器400 405、 500 511、 1000 1006、 1200 1202、 1300 1306 步具体实施方式
下面,为了更详细地进行说明,参照附图来说明如上所述的本发明。
首先,说明本发明的概况、工作原理。具有N个PE的一维处理器阵列型系统,设M为在芯片开发时的作为布局的单位的PE块内的PE数, X为PE间的单位传送字节数。参照图l、图3,本发明的系统包括(A) 按通过连接距离M的所有PE得到的PE块单位看时的M条的 X字节宽连接线单元(左连接线)B0 (从右向左)及M条X字节宽连接 线单元(右连接线)Bl (从左向右);(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的任意值),贝lj 控制处理器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为O以上的情况下,在方向寄存器F中设置1 (图 4的402),当点阵距离K为负的情况下,在方向寄存器F中设置O (图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为O时 选择由选择器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上的数据。由此,与图IO所示的现有的方法相比时,能够以约12M倍的效率, 再配置处于1行内的N个X字节数据。艮P,根据本发明,可构成如现有这样,在具有不是与邻接PE,而与 距离M的PE连接的PE间连接线BO、连接线Bl的同时,各PE还在最 大(1+ (N+2M))的步骤数间的各步骤中,在从邻接PE块中传送、 一个 接一个经过本PE块的每一步骤,使用作为构成要素的传输结果缓冲器T、
方向寄存器F、传输缓冲器L、传输缓冲器S、选择器LS、 RS,以及掩码 寄存器MR,以简单的工作,能够从2M个数据之中,抽取出应事先保持 的数据的结构。为此,根据本发明,在具有N个PE的一维处理器阵列型系统上不增 加PE间连接的维数,就能够将在PE间相互交换1行^N个)数据所需 要的步骤数,从现有的最大(l+6N)縮短到最大(1+ (N+2M))。根据本发明能够维持布局的容易性。即,在本发明中,由于以由M 个PE组成的PE块为布局的单位,所以维持了连接的一维性,与多维连接 的情形相比,在芯片上的布局更容易。在本发明中,设M-V^时,PE间数据传送距离最大为约#+2,这 是与作为典型的2维连接的八方点阵连接同等。而且,成为每一PE中所 需的数据传送用选择器的规模,在八方点阵连接的情况下,如图11 (a) 所示,相比于从8数据中选1个需要8个选择器,如果根据本发明,在N 是1024 (M是32)时虽然与八方点阵连接相同需要8个,但N比1024 更小的情况下,例如256 (M为16)时,则如图ll (b)所示,由于仅用 其大约一半4个就实现了,所以在实用的N值域内能够减小硬件规模。这是因为,在本发明中,由于传送方向仅由左右2方向完成,所以有 效地将每PE的本地的选择器与实现所需硬件成本低的一维连接相组合。 以下,说明实施方式。参照图l,本发明的第l实施方式,包括具有N个PE101的PE阵 列100,向PE阵列提供命令的控制处理器110。PE阵列100,包括各自含有M个(其中,M是N的约数)的PE101 的N+M个PE块102,连接邻接的PE块们的左连接线BO( 103从右向左), 和右连接线(104从左向右)。参照图2, 一个PE块102内的各PEIOI,与处于邻接的PE块102内 的距本PE距离M (图2中M为4)的PE连接,BO和Bl,是分别相对 于PE块102内的所有PE的从右向左、从左向右的连接线的集合体。参照图3,各PEIOI,包括传输缓冲器单元L (301)和R (302), 存储由BO和Bl中对应的一部分的连接线传送过来的数据;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传送过来。 当各PEIOI自身送出的数据为D时,在传输缓冲器单元L和R中存储D, 就将所有PE的MR设置成1 。当K为正的情况下,在方向寄存器F中存储1、并且在传输结果缓冲 器单元T中存储K和在PE块内从左计数的情况下的本PE编码的相加的 结果;在K为负的情况下,在F中存储O、并且在传输结果缓冲器单元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为O的情况下,
如果T为-M以下,则在T内存储T+M的值;如果T比-M大,则用RS选择在PE块内从右计数的情况下的PE编 号为-T的PE的R的内容存储在T中,并且将MR设置为零。接着,所有PE利用BO和Bl,向M邻接的左和右的PE传送L和R 的内容的同时,还在L和R中,存储分别从右M邻接和左M邻接PE传 送过来的数据。通常,由于这些工作简单,所以能够由l步骤来完成。另一方面,控制处理器110,直到所有PE的MR变为零之前,在每 步骤中向PE持续发送相同命令码「MVLR」。接着,参照图4及图5的流程图,详细地说明本实施方式的整体的工作。图4是从控制处理器110传送「MVSET」命令码时的由各PE实施的 工作相关的流程图。在L和R中分别设置D (步骤400)。 在所有PE的MR中设置1 (步骤405)。 判定K是否在O以上(步骤401)。在K是O以上的情况下,在方向寄存器F中设置1,并且将在K上 加上在PE块内从左计数的情况下的本PE编号的结果而进行存储在传输结 果缓冲器T中(步骤402)。在K比O小的情况下,在方向寄存器F中设置O,并且在传输结果缓 冲器T中,将在K上加上在PE块内从右计数的情况下的本PE编号的结 果而进行存储在T中(步骤403)。由于步骤400 405的工作简单,所以通常能够由1步骤来进行。图5是「MVLR」命令码相关的、由控制处理器IIO及各PE实施的 工作相关的流程图。首先,控制处理器110调查是否存在掩码寄存器MR是1的PE (步 骤520)。在存在这样的PE的情况下,向PE阵列100传送命令码「MVLR」(步 骤500)。在PE阵列侧,在掩码寄存器MR是1的PE上,判定方向寄存器F 是否是l (步骤501)。
在方向寄存器F是1的情况下,进行步骤502 505的工作,在方向 寄存器F是O的情况下,进行步骤507 511的工作。判定传输结果缓冲器T是否比M小(步骤502)。如果传输结果缓冲器T比M小,则用LS选择在PE块内从左计数的 情况下的PE编号是T的PE上的L,存储在传输结果缓冲器T中(步骤 503)。将掩码寄存器MR设置为O (步骤504)。使用连接线BO,将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设置为O (步骤509)。使用连接线Bl,将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实施方式。参照图l、图2、图3,本发明的第2实施方式,除在图1和图2中不存在右连接线B1 这点,及在图3中不存在传输缓冲器R、选择器RS、方向寄存器F以及 右连接线B1这些点之外,具有与本发明的第1实施方式相同的结构。这 些单元按如下概括的方式工作。再有,设从存在再配置在本PE的预定的 数据D的PE的本PE的位置向右方向看时的点阵距离为K (K可以是 0SK^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传送过来的数据。此外,通常由于这些工作简单,所以能够由l个步骤来来完成。另一方面,控制处理器110,直到所有PE的MR变为零之前,在每 步骤中向PE持续发送相同命令码「MVSETJ。接着,参照图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阵列IOO传送命令码「MVLR」(步骤1300)。在PE阵列侧,在MR是1的PE上,判定传输结果缓冲器T是否比 M小(步骤1302)。如果传输结果缓冲器T比M小,则用选择器LS选择在PE块内从左 计数的情况下的PE编号是T的PE上的L,存储在传输结果缓冲器T中 (步骤1303)。将MR设置为O (步骤1304),此后,使用连接线BO,将L内数据传 送给在左方向上离开仅M的PE的传输缓冲器L (步骤1305)。T为M以上的情况下,将传输结果缓冲器T更新为T-M(步骤1306)。 此外,由于步骤1302 1306的工作简单,所以通常能够由l个步骤来进行。接着,说明本发明的第2实施方式的效果。在本实施方式中,由于以距离M连接所有PE,所以在PE数为N中, 从所有PE送出的N个传输数据D,乘上1+(N+M)的步骤数,能够通过 所有PE块。此外,在本实施方式中,由于各PE还包括将用于从PE块内的M 个PE所具有的传输缓冲器L的内容之中选择一个的选择器LS和RS作为 指定在哪个计时中可利用的计时器起作用的传输结果缓冲器T,所以,能 够从使用BO从右向左通过各PE块的传输数据D组之中,在规定的步骤 中,选择在计时中高效、需要的,在本PE的T中接收。在本实施方式中,由于利用掩码寄存器MR,在所有PE得到传输数 据的时刻停止处理,所以,在更多的情况下,以比1+ (N+M)更少的步 骤数就能够结束所有工作。本发明的第2实施方式,与上述第l实施方式相比,虽然在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 (4x2))图5的流程图所示的工作后,被存储在传输结果缓冲 器T中(参照图6 (d)的T栏)。图6 (e)用箭头线表示在图6 (b)至图6 (d)之间进行的PE间数 据移动的状态(距离和方向)。根据本发明,通过可高速地在PE间再配置数据的一维处理器阵列的 提供,就能够应用于提高在PE间使处理负荷分散的一维处理器阵列的性 能的用途中。此外,不仅是处理负荷的分散,还能应用于在一维处理器阵 列的各PE中测绘的图像的放大、縮小、变形这样的用途中。在上文中, 虽然按上述实施例说明了本发明,但本发明不是仅限于上述实施例的结
构,在本发明的范围内,毫无疑问,本领域普通技术人员应当理解,本发 明应包含没有展示的各种变形、修正。
权利要求
1、一种处理器阵列系统,包括至少具有三个处理部件块的处理部件块阵列,以下将处理部件称为PE,该PE块包含多个即M个PE;其特征在于,至少一个PE块,通过M条的每1条都是规定位的第1信号线来连接与上述一个PE块不同的至少一个其它的PE块、同时还通过M条的每1条都是规定位的第2信号线来连接与上述一个PE块及上述其它PE块不同的至少一个另外的PE块;上述一个PE块中所含的上述PE包括选择电路,从上述M条第1信号线和上述M条第2信号线之中选择1条信号线。
2、 根据权利要求l所述的处理器阵列系统,其特征在于, 上述选择电路,包括第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间,具有向第l传输方向及第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条的第l信号线;根据上述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的上述第l传输方向或上述第2传输方向的一个传输方向为正,另一个传输方向为负;当最终保有在本PE中再配置 的数据的PE的从本PE位置看的点阵距离为K的情况下,将决定各PE的 工作/不工作的掩码寄存器设定在工作侧,以参加传输工作,其中K可以 是0^K^N-1的任意值;在上述传输缓冲器单元中存储本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的上述 第l传输缓冲器单元的内容,存储在上述传输结果缓冲器单元中,将上述 掩码寄存器设定为不工作;所有PE利用上述第1传输方向的连接线,将上述第1传输缓冲器单 元的内容向上述第l传输方向的M邻接PE传输的同时,上述掩码寄存器 是工作设定的各PE重复进行将从上述第2传输方向的M邻接的PE传输 过来的数据存储到上述第1传输缓冲器单元中的工作,直到所有PE的上 述掩码寄存器成为不工作的设定为止。
13、 一种处理部件,以下将该处理部件称为PE,构成处理器阵列系 统,该处理器阵列系统具有分别由M个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包括第l及第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的传输结果而进行存储。
全文摘要
一种处理器阵列系统,包括至少具有三个处理部件(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连接传送过来的数据。
文档编号G06F15/80GK101401088SQ20078000766
公开日2009年4月1日 申请日期2007年2月27日 优先权日2006年3月3日
发明者京昭伦 申请人:日本电气株式会社