JPS60179871A - アレイプロセツサ - Google Patents

アレイプロセツサ

Info

Publication number
JPS60179871A
JPS60179871A JP59034450A JP3445084A JPS60179871A JP S60179871 A JPS60179871 A JP S60179871A JP 59034450 A JP59034450 A JP 59034450A JP 3445084 A JP3445084 A JP 3445084A JP S60179871 A JPS60179871 A JP S60179871A
Authority
JP
Japan
Prior art keywords
data
processing
processing elements
input
adjacent
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.)
Granted
Application number
JP59034450A
Other languages
English (en)
Other versions
JPH0421900B2 (ja
Inventor
Junichi Takahashi
淳一 高橋
Sanshiro Hattori
服部 三四郎
Takashi Kimura
隆 木村
Atsushi Iwata
穆 岩田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP59034450A priority Critical patent/JPS60179871A/ja
Priority to NL8500537A priority patent/NL192637C/nl
Priority to DE19853506749 priority patent/DE3506749A1/de
Publication of JPS60179871A publication Critical patent/JPS60179871A/ja
Priority to US07/220,970 priority patent/US4905143A/en
Publication of JPH0421900B2 publication Critical patent/JPH0421900B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Character Discrimination (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、例えば音声認識や文字認識においてパターン
のマツチングをとる際などに利用されるダイナミックプ
ログラミングに基づくマツチング演算に代表されるよう
な、2種類の変数間のあらゆる組合せに対する演算およ
びその演算結果を用いたデータの局所的依存性をもつ漸
化式の演算の実行に使用す小アレイプロセッサに関する
〔従来技術〕
代表例として、2種類のベクトル変数間の演算とその演
算結果を用いた累積演算の漸化式からなるダイナミック
プログラミングに基づくマツチンここで、C1,rjは
、それぞれ1個のベクトル列C= (CI、 02. 
@ @・・・、OK)、N個のベクトル列R” (r 
1 、 r 2+ ” ” ” ” ” + r N 
)のi番目、j番目の要素である。また、mは各ベクト
ルの次数を” (rljr r2j+・・・・・、rm
j)である。Dlj ’Sijは、それぞれベクトル間
距離、累積距離を表わす。(3)式は、漸化式(2)の
初期条件である。
この種の演算を並列に処理できるアレイプロセッサとし
て、従来、2種類のベクトル列のデータの個数がそれぞ
れ1.Nの場合には(IXN)個の処理要素(プロセシ
ングエレメント;以下PE、!:略記する)を2次元に
配列した構成がある。この構成を第1図に、その動作例
を第2図〜第5図に示す。第1図において、100はP
E、200はデータバス、300ハコントロールバスを
示す。マタ400は入力端子を示し、500は出力端子
を示す。
各PE 100は、積和演算からなるベクトル間距離演
算(1)式と比較拳累積演算(2)式を実行する手段お
よび隣接するPEとの間で比較演算結果や累積結果5i
jsベクトルデータOl、r jの授受を行なう手段を
有する。なお、各PEに2次元配列上での位置を表す番
号を付記口、i行j行のPEをPE1jと表わすと次の
ような動作で上記(1) 、、 (2) 。
(3)式を実行することができる。
■ 左隣接のPE1−1.jおよび下隣接のPE1.j
−1(または、左端の入力端子および下端の入力端子)
から2種類のベクトルデータ01 、r jを入力し、
そのベクトル間距離を(1)式を実行することによ請求
める。
■ 右隣接のPEl+1.jおよび上隣接のPE1.j
+1に、それぞれベクトルデータOl、r jを転送す
る。
■ 左隣接のPEト1.jから累積演算結果81−1.
 jを、下隣接のPEt+j−tからInm (81,
j −1、−’84’−1゜j−1)の比較演算結果を
それぞれ入力し、これらの比較演算m1a(5i−t+
j 、mJBl、j4 。
Si−、、j−1):+を実行し、この結果に■でめた
Dijを加えて81jをめる。
■ 比較演算間(8ii 1−8i−□、j)を°実行
し、その演算結果を上隣接のPEi、 j+1へ、累積
演算結果S1jを右隣接のPEl+1 、 j へ転送
する。
ここで、■、■は、比較・累積演算(2)式を実行する
過程を示している。すなわち、PE1jにおいて累積演
算(2)式を実行するために必要な3種類の累積結果J
、j−1” i−t+j’ 5l−1’、’3−tのう
ち、81、j−1’ 5i−Lj はそれぞれ転送すべ
きPE1jの下隣接のPEi、j−1および左隣接のP
E1−1.jに存在するのに対し、81−t、j−tは
PE1jに対して対角方向に隣接したPE1−1.j−
1に存在する。このため、前者の2つのデータは1回の
転送、後者はPE1.4−1 を経由して2回の転送を
必要とする。
しかし、5i−x、j−xの転送に介在するPEi、j
−1においてあらかじめS・ ・ とS 1−1とを比
較1、コー1 i−、J してその結果をPE1jに転送し、このデータとPKl
−1,jからの転送データ5i−0,jとの比較演算を
実行するようにすれば、PE1jにおいて(2)式通シ
の3つのデータの比較演算を実行することと等価になる
これらの各動作を、第1図の実線で示す各対角線上の全
PEに対して■〜■の動作をP’Eの並列処理単位とし
て実行する方法、あるいは、■と■、■と■の2種類の
動作を並列処理単位としてこれを隣接する対角線上のP
Eで交互に実行する方法によシ、ベヘトル間距離Dij
、累積結果Sljを計算しながら最終的な累積結果81
.Nをめることができる。このうち、後者の実行方法の
場合は、2つの並列処理単位間の有効なダイナミックス
テップ数が異なるため、(ノー・オペレーション)NO
P命令によって実行ステップ数を調整しなければならな
いが、ここでは詳細な説明は省略する。
第2図〜第5図は、この後者の場合の2次元配列アレイ
上での動作を、時刻tから時刻t+3にわたって示した
ものである。ここで、時刻は、各PKが■と■および■
と■の全処理を実行するのに要する時間を単位としてお
シ、各図(a) 、 (b)はそれぞれ各PEにおいて
上記却位時間中に矩形で囲まれたデータが算出された状
態を示している。
このような2次元配列構成では、一応演算の局所性・規
則性が生かされて並列処理を実行できる。
しかし、例えば上記のダイナミックプログラミングに基
づくマツチング演算式の(2)式が(4)式に示すよう
な複雑な演算式である場合には、(4)式の累積結果5
i−1,j−1’ ”’i−1+j−2・51−z、、
1−i の転送と比較演算の対象となる3つのデータを
生成する演算について2個のPEを介して実行しなけれ
ばならず、PE1jでの比較演算はこれらの3.つのデ
ータをPEIj内に入力してから実行する方法をとるな
ど各PEが並列に実行すべき処理単位5内容が複雑にな
るばかシでなく、全PEを十分効率良く使用した並列処
理は実行できない。
また、対象とするダイナミックプログラミングに基づく
マツチング演算で処理すべき2種類のベクトル列のデー
タの個数を表わす正整数N及びIの両方に依存してPK
の個数を決定しなければならないので、多種のベクトル
列Cu(Cu=(’1u*Or2. I@’1111・
+ 01u) ; u””I T 2 + ”””+t
c)と多種のベクトル列RV (RV ” (rlv+
 r 2v、 @ @ 11Φ・+rHv) ;v=l
 、 2 、41+11 @11 、tr’)トoタイ
ナミツクプログラミングに基づくマツチング演算を実行
するためには、正整数N、IとしてNmaxなければな
らず、PEの個数は(Nmax X Imax )個必
要とする。したがって、ベクトル列Cut Ryに対す
る処理を行なう場合は、cmax l Rmaxの組合
せ以外のすべてのベクトル列の組合せに対して、ダイナ
ミックプログ2ミングに基づくマツチング演算処理の動
作を実行する必要のないPEが多数存在することとなり
、・ハードウェアの有効利用が図れない。
また、必要なPEの個数を処理すべきデータの個数の最
大値から決定し力ければならないことは、LSI技術に
よシ小形化を図る場合に大きな支障となる。1個のLS
Iに搭載できるPEの個数はPHの機能によシ異なるが
、例えば、1個のLSIに4個程度のPEを搭載できる
とともに、NmaX 6011 max 60の場合に
は900個ものLSIを2次元に配列・接続しなければ
ならない。
〔発明の目的および構成〕
そこで、本発明の目的は、ダイナミックプログラミング
に基づくマツチング演算に代表される2種類の変数間の
あらゆる組合せに対する演算とその演算結果を用いたデ
ータの局所的依存性をもつ漸化式の演算を、対象とする
演算量に適応したPE数からなるアレイ構成で、各PE
を鳴動に動作させながら、高効率の並列処理で実現する
ことが可能なアレイプロセッサを提供することにある。
このような目的を達成するために、本発明は、それぞれ
外部からの2種類の入力データ列C=(O・)(i=1
,2.・・・・・、I)およびR=(rj)(j=1 
、2、−−−−−、N)の各データoi、rjを入力す
る手段と、2種類のデータ間の加減算、比較演算および
積和演算の各所望の演算を行ないその結果を蓄える手段
と、入力データCiおよび演算結果を隣接処理要素との
間で送受する手段と、最終的な演算結果を外部に出力す
る手段とを備えた処理要素をn個環状に配列するととも
に、各処理要素間を、隣接処理要素とのデータ授受を行
なうだめのデータ転送パスと外部入力パスとを切シ換え
るマルチブレフサを介して環状に接続し、かつ全処理要
素がその処理結果を隣接処理要素へ同時に(modN)
回転送する処理を各処理要素における通常の処理単位と
並列に実行する手段ならびにこれら各処理要素を制御す
る手段を備えたものである。
ここで、modNはNをnで割った場合の剰余を表わす
。なお、■およびNならびにnは任意の正整数であるが
、実際上はNとnとの関係はmodNn が成立する範囲で規定される。以下、実施例を用いて本
発明の詳細な説明する。
〔実施例〕
ダイナミックプログラミングに基づくマツチング演算の
一例である上記の演算式(1) 、 (2) 、 (3
)を2種類のベクトル列Cu+By(u−112+ @
・−・Φ。
L r V” 1 * 2 +・・@ @ a 、 t
r)について実行する場合について示す。第6図に、本
発明の一実施例の構成を示す。
第6図は、PEの個数がnの場合を示し、1はこの処理
要素PEで、ダイナミックプログラミングに基づくマツ
チング演算式(1) 、 (2) 、 (3)を実行す
るための加減算、比較演算や積和演算を実行する演算器
を内蔵し、瞬接するPEとのデータ授受や外部とのデー
タ授受を実行するためのレジスタおよび演算結果や転送
データを蓄積するメモリを有する。2−1〜2− nは
外部からの入力データ0iu(1=1121@@@*@
IIu)をn個分(PEの個数分)ずクアレイに入力す
る場合と隣接PEがらの循環転送される入力データot
u(1=1 + 2 r・・・嗜・IIu)の転送の場
合とを切シ換えるだめのマルチプレクサである。例えば
アレイの各PEKn個ノ入力テータ列01u、Q2u、
se・se、CnuをPE1から入力する場合、2−1
のマルチプレクサだけが外部からの入力データバス3を
選択し、これを外部からの入力データ列C工u 、 C
2u 、・・・・・ CnU の入力口とし、PE1を
起点として入力されたデータC、Uは隣接PEへ順々に
転送する方法でn個分のデータ01 .02,1lll
llell、Qnuヲ各PEに1個ずつ割付ける。それ
以外の場合は2−1〜2−nのすべてのマルチプレクサ
がPE間のデータ転送バ?、5を選択し、入力データ列
CIU。
02u+・・・・・、CnuをPE間で循環転送する。
また、各PEは、後述するように上記n個分ずつの入力
データパターンの入れ換えごとに、modN回、通常の
処理単位と並列に、それぞれの処理結果を隣接PEへ同
時に転送することができる構成となっている。4は他方
の入力ベクトルデータ列Ry:(rlvr r2” +
 ” ” ”” trNv)(k”1 + 2 + ”
・・・・+ L r)の各ベクトルデータを各PEに順
次入力するとともに最終的な演算結果S工□、N□+S
11.H2゜@″@@l5Iu@Nv、+I11+1・
・5Xtc、Ntrを外部に出力するためのI10パス
である。上記5は、PE間でのベクトルデータC、Uの
循環転送ならびに累積演算結果81jの転送を実行する
ためのデータ転送バスである。6はI10バスに接続さ
れる各PEのI10端子である。また、7,8.9は、
それぞれ入力ベクトルデータciu 、 rjv(i=
1121・・・・・、Iu ; j−1+ 2.@11
11・・+Ny;u=1+2、・・・・・+Lc; V
”’1 + 2 、・拳・・轡、1r)および最終的な
演算結果Sx□、N工+ 811 F N□、・・・・
・。
Sxu、Nv、・・・・・、S を示す。さらに10”
tc ’ Ntr 制御動作を行なうコントルールユニットである。
第7図に、各PEの構成例を示す。図において、1点鎖
線で囲んだ部分が1個のPE1を示し、11は%PE 
へ(Dペク)/I/デー’ ”jv(j =1.2 、
 ・a・・・・INv)の入力および最終的な演算結果
sxu、Nvの出力を行なうための外部I10バス、1
2はこの外部I10バス11とのデータ授受を行なうた
めのI10端子を示す。また13は左隣接PEからのデ
ータ転送バス端子、14は右隣接PEへのデータ転送パ
ス端子を示す。15は外部I10バス11からベクトル
データX”jを入力するためのバッファレジスタ、16
は外部■10バス11へ最終的な演算結果SI を出力
するためのバスu l ’Y ファレジスタ、1Tは隣接PEからベクトルデーりOl
(1=1 + 2 、・11・、Iu)の入力および後
述する処理動作■、■で実行される累積演算Sijの計
算に必要なデータの入力を行なうためのレジスタ、1a
は隣接PEへベクトルデータO1uおよび累積演算SI
Jの計算に必要なデータの転送を行なうためのレジスタ
、19は内部バスである。
20.21は、それぞれこのPKに入力されるぺ/ )
 ノケ−1rjv、 c、u (D全成分子kv’ *
 cku’(k=1.2.・・・・・+ m )を蓄え
るバックアメモリ、22は(1) ? (2)式の演算
を実行するための加減算・比較演算・積和演算機能を有
する演算ユニットであシ、23は(2) 、 (3)式
を実行する際に必要なデータを保持しておくためのワー
クメモリである。ワークメモリ23は、その保持するデ
ータの性格上、2種類の領域23−1と23−2とに分
かれる。すなわち、23−1は後述する入力ベクトルデ
ータO、Uの循環転送時での処理動作■、■、■の実行
において必要なデータを保持する領域でsb、23−2
はベクトル列C1,C2,・・・門・Ctcのうちのn
個のベクトル列の入れ換え直後の処理動作■、■の実行
時に必要となるデータの保持領域である。24は制御ユ
ニットであシ、内蔵のマイクロプログラムあるいは外部
からの命令に従って制御を行なう。
25f>C86図のコントロールユニット10からの制
御信号の入力端である。26.27はワークメモリへの
アドレス線を示す。そのうち、26はカウンタ28が演
算途中結果を保持する領域23−2をアクセスするもの
であるのに対し、27は例えばマイクロプログラムから
の直接アドレスに相当し、上記処理動作■、■の個々の
処理に必要なデータの蓄積領域23−1をアクセスする
上述したように、演算ユニット22における演算結果は
ワークメモリ23に保持されるが、隣接PE間でのデー
タ転送用にレジスタ17.18を備えておシ、上記演算
結果をワークメモリ23からレジスタ18に取シ込んで
そこから隣接PKのレジスタ17に転送している間に、
演算ユニット22においては次の演算が行々えるような
構成となっている。したがって、後述する0、■、■か
らなる入力データC1の転送を行なってDlj・Sgを
演算し結果を転送するという通常の処理単位と並行して
、つまシ通常の処理の流れを全く乱すことなく、入力デ
ータパターンの入れ換えの際には、各PEが上爬演3I
’を実行している間を利用して、後述するようなmod
N回の処理結果の隣接PKへの同時転送を行なうことが
可能である。
次に、本構成で上記の演算式(1) 、 (2) 、 
(3)で示されるダイナミックプログラミングに基づく
マツチング演算を実行する方法を説明する。ダイナミッ
クプログラミングに基づくマツチング演算は、2列 種類のベクトルデータ”−Cu+ Ryの作るそれぞれ
の2次元格子平面上の各格子点に対して式(1) 、 
(2)の演算を実行することに相当する。第8図は、本
構成にて2種類のベクトルデータ列、すなわちtc個の
ベクトルデータ列Cu=(01u、 g2u、・・拳・
・、OX町(n=1121・・・・・It(りとtr個
のベクトルデータ列Ry ” (rlv、 r2v、 
e * * e * rN:)(v=1121・・・・
・tr)に対するダイナミックプログラミングに基づく
マツチング演算(1) 、 (2) 。
(3)式を連続的に実行する様子を示している。図にお
いて、格子平面上の各対角破線、対角実線はPEの処理
単位を時間単位とした場合の時刻を表わし、矢印Aが時
刻の進行方向を示す。つまシ、同一破線、実線上の格子
点は同時に処理されることを意味する。PEの個数はn
個であるから、処理実行中は常に対角線上のn個の格子
点が同時に処理される。
本構成でのデータの入力動作の様子を第9図に示す。第
9図はn=6の場合を示し、31はPE。
32はベクトルデータ61(l=1,2.・・・・・。
X)および累積結果S1jを隣接するPKへ転送するた
めのデータ転送パス、33は各処理時刻におけるデータ
転送パス上のベクトルデータJ(l=1.2.・・・・
、I)の流れ、34は各処理時刻において各PEに入力
すべきI10バス上のベクトルデータrj(j=1,2
.−・・・、N)を示す。
PEの個数分、すなわち6個のベクトルデータ列(1,
02,・・・・・、c6がPE1から順に入力され、各
ベクトルデータは各PEでの処理が終了するごとに右隣
接のPEへ順次転送され、第1番目のデータO1がPE
tに戻ってくるまでは処理時刻が進むにつれてデータ’
i (1=1 r 2 r・・・・・、6)が現われる
データ転送パスが1つずつ増えるが、データOiがX:
E6からPE1に転送される時刻以後は、各PKに存在
するデータC1〜06は各時刻ごとに同時に隣接するP
Eへ転送される。一方、データrj(j=1,2.・・
・・・、N)はこの各PE間のデータc1(i=1,2
+・・・・・、6)の転送動作に同期して各PEに順々
に入力される。そして、各PE間で規則的なデータ授受
を行ないながら、全格子点に対して演算式(1) ? 
(2) P (3)を実行する。
第8図の破線群■は、マルチプレクサ2−1だけを外部
からの入力データバスの選択モードにし、PEの個数n
個の入力ベクトルデータ列Ot 、02 +・・・・・
、Onを順に入力し、PE2〜PEn、、は処理単位を
終了するごとに隣接するPEとのベクトルデータ’x(
X”1 * 2 、 **m**、n Dのデータ授受
を同時に行々うことを示す。この破線群Iに続く実線群
は、PEnにデータ0(が入力された後は全マルtプレ
クサ2−1〜2−nが、!lIE間のデータ転送パスの
選択モードとなり、入力ベクトルデータ列C□、C2,
・・・・−r OAを各PE間で循環転送μながら演算
外、(1) 、 (2) 、 (3)を実行することを
示している。そして、−続く破線群■は、入カベク1 トルデータ列c、c、・・11,0 を次のn個2 分のベクトルデータ列cA+□、・・・C1□、φ・・
、、 Oluと入れ換えながら演算を続行する過程を示
している。
とこやで、各PEには処理±位ごとに2種類のベクトル
データC1u、rjvが入力されるので、演算式(1)
は各PEで独立に並列実行されるが、演算式(2)は隣
接PEとのデータ授受を行ないながら実行する。例えば
、第10図は、PEの個数n=5として、ペク°トルデ
ータ列01 r 02 、とベクトルデータ列R1+ 
R2のすべての組合せについて連続的に処理を行なう場
合の各PEの処理手順および各PEが担当する格子点の
分布を示したもので、図中C==に囲まれた格子点群は
同一のPEにおいて処理されることを意味し、左肩に示
した数字がそのPE番号を示しているが、同図において
例えばS7.8をめる場合、時刻t1におけるS7,8
の計算に必要なデータは時刻t2.+t3においてPE
4+PE5でめらjる86,7)87,7186.8 
である。時刻tz+t3は時刻t1に対して過去である
ので、データS6,8はS7,8を計算するPEs内に
存在し、データ86,7187.7はPE4に存在する
。すなわち、必要なデータは常に隣接するPE内に存在
するので、S7,8に対する演算式(2)の比較演算を
実行す・る場合は、PE4において履(S6.rr8t
、t )を実行し、その結果をPE5に転送してPE5
において朋(S6.s +騙(S6,7 + 87.7
) 〕を実行する。
この、場合、前述したように入力ベクトルデータ列CI
 r C2+・・・・・、CtcをPEの個数分(n個
)ごとに区切ってアレイに入力し処理を行なうため、第
10図に示すよダに斜線で示した格子点に対応するSi
jは、入力°ベクトルデータの入れ換えが始まるまでに
一定のPEへ転送しておかなければなら々い。例えば、
PEIに存在するS5,1はPE3へ、PE2に存在す
るS5,2はPE4へ、PE3に存在するS5,3はP
E5へ、PE4に存在するS5,4はPEIへ、PE5
に存在するS5,5はPE2へそれぞれ転送しなければ
ならない。一般に、n個のベクトルデータ列の入れ換え
が始まる( mod ’f Ny)時刻前nv二1 の時刻から、すなわち第10図の例ではmod17=2
時刻前の時刻から全PEは、各時刻ごとにそれぞれ蓄え
ている累積結果Spn、j (p=112 +・・・・
・)を隣接するPEへ同時に転送する動作を開始し、こ
れらのデータの転送を後述する■、■。
■の通常の処理動作と並列に、前述したようにPEが演
算処理のみを行なっている間を利用してPE・の各処理
単位に1回ずつ行なうことによシ、n個の入力ベクトル
データ列の入れ換え直前までに必要、なデータSpn、
jを所定のPEに転送しておくことができる。第10図
に示す例では、PE1の格子点(ci 、 r: )、
に対する処理と並列に、PEi l PE21PE3 
* PE4 r PEsの各ワークメモリ23−2の同
一アドレスに存在するデータ、Ss、xls、2+S5
,3・85.4185.5は隣接するPEへ転送されて
PE2 +PE3 + PE4 T PEs r PE
1に配置され、PEtの格子 一点(弓・r≦)に対す
る処理では同様にしてPE3+PE4 r PEs +
 PEi + PE2に配置されて転送が完了し、PE
lの次の格子点(al、 、 rソ)に対する処理時刻
での次のtカベクトルデータ列05.0610□。
cキ との入れ換え直後の処理では、PE3 r PE
4 +PEs + PE1r PE2が上記の2回の転
送によρ得られたデータS5,1185,21S5,3
185.4185.5を使って処理動作■、■、■を実
行する。このようガ処理を繰り返し実行することにより
各PEは5ダイナミツクプログラミングに基づくマツチ
ング演算式(Y) 、 (2) 、 (3)を規則的か
つ連続的に実行するととができる。
以上のように入力ベクトル列Cu(u= 1 + 2 
y・・、・・・、2c)のn個のベクトルデータ列の合
力まだは入れ換えと循環転送とを交互に繰シ返し、かつ
上記ベクトルで一夕01u(i = 1 p 2r・・
・・・。
Iu)の入力および循環転送に同期してベクトルデータ
r−v(j=1 + 2 + s**ss、Ny) を
各PEコ 、 に入力しながら、各PE75−格子点呼対して演算式(
1) 、 (2) 、 (3)を繰9返し実行すること
により全格子点に対する処理を完了する。
の一般的な処理動作(通常の処理単位)は次のようにな
る。 ゛ ■ 左隣接のPEまたは外部からの入力データバスより
ベクトルデータC・(1”1” p’ 2 p @・・
・・、I)を入力讐ると同時に右隣接のPEヘベクトル
データOl−1を転送し、これらのベクトルデータの転
送に同期してI10バづからベクトルデータrj(j=
t+2+・・・・・N)を入力し、上記の演算式(1)
を実行しDljをめる。
■ 比較演算TRm (51−1,j +w(5i−1
,j−1’S1 、 j−i) )を実行し、この結果
にDBを加算してSljをめる。
■ 比較波セ朋(5i−1,j 、5ij)を実行して
その演算結果を右隣接のPEへ転送すると同時に・比較
演算結、未開(Sl、j−x・Si+1.j−t)を存
隣接のPEから入力する。
■は演算式(1)の実行に相当し、■、■は演算式(2
) 、 (3)の実行に相当する。各PEは、■、■、
■のj−に同時に、すなわち■を行なうときには全PE
が■を、■を行なうときには全PEが■を、というよう
に処理動作を行なう。
本動作と2次元配列構成の動作の根本的な差異は、式(
2)を・実行する場合のデータ転送動作にある。
の動作では・累積結果5i−x、j−iを左隣接のPE
へ転送してから比較演算mm (S 1 、j、−1+
Sトエ、j、、−1)を行なうのに対し、本動作では5
i−t’5j−xは次の詩碑にめられるsl、J−1と
同一のPE内にあるためデータ転送は実行しなくても比
較演算が実行できる。′ 、なお、式(4)を実行する場合−は、各PEにおいで
、「■ 隣接するpwから累積結果を入力して、これに
そのPE内で実行されるベクトル間距離の2倍の値を加
えて隣接するPEへ出力する」1回の入出力動作と[■
 隣接するPEから累積結果を入力し、ベクトル間距離
を加えて保持する」動作の2種類の簡単な動作を実行す
ることによシ、上述したと同様に規則的に累積結果をめ
ることができる。
以上説明したように、本発明によれば、PEの個数は処
理対象となる各ベクトルデータの個数を表わす正整数I
 ’11 r Nyに全く依存せず、予測されるデータ
処理量に応じズ適当な値に設定でき、PEを規則的な処
理動作の繰シ返しでフル稼動してハードウェアを最大限
有効利用したパイプライン並列処理によシダイナミック
プログラミングに基づくマツチング演算を実行できる。
したがって、LSIで実現する場合は、従来の正整数工
。+ N yに依存してPKの個数を決定しなければな
らない2次元配列構成に比べて実装規模が非常に小さく
なるだけでなくハードウェアの有効利用を図ることがで
きる。また、”PEの個数をいくつに設定しても任意の
NV r 111の個数をもつベクトルデータ列に対し
て処理を実行できるというPE数の拡張性を有する。
次に、2次元配列構成と本構成との効率を、PEの平均
稼動率を考慮したPE 1個当シ・単位時間当シのスル
ープットで比較してみる。
2次元配列構成において前記の処理動作■、■と■、■
の2種類の処理単位のうち大きい方のステップ数をUs
(luare−、本構成の処理動作■、■。
■からなる処理単位のダイナミックステラグ数をUri
ngとする。2次元配列構成では、1組のベクトルデー
タに対するダイナミックプログラミングに基づくマツチ
ング演算を完了するには、■、■および■、■の2種類
の処理単位を交互に実行子る方法をとると2 U 8q
uare ステップ必要である。
ここで対象としているダイナミックプログラミングに基
づくマツチング演算では、1つのベクトルデータ列Rに
対してFEBが演算式(1) 、 (2) 、 (3)
を実行し累積結果Sijをめてしまえば、PH1/j7
(i’>i 、i’>j) が上記演算式を実行してい
るときにはP)C1jはこのベクトルデータ列Rに対す
る処理を実行する必要性がない。そこで、あるベクトル
データ列Rvに対して処理を実行している時に処理に寄
与していないPEを別のベクトルデータ列〜′に対する
処理に割シ当てることができる。りまル、第1番目のベ
クトルデータ列R1の累積結果8Bを計算しながら、2
Uiquareステツプの位相差をもって第2番目のベ
クトルデータ列幻に対しても累積結果Sljの計算を実
行することができる。ベクトルデータ列Iuとベクトル
データ列Rvとの最終的な演算結果SXu、 Ny を
得るまでに、Sijをめるために必要なダイナミックス
テップ数2Us+quareを単位として(Nmax+
Imax)ステップを要す・るので、この(Nmax十
Imax )ステップの時間内に(Nmax+Imax
 ) a類の最終累積結果S8 を得ることができる。
一方、不発ul”V 明による構成においては、入力ベクトルデータ列CI、
(:z、geese、Cl3(On個分のベクトルデー
タ列ごとに入力ベクトルデータ列R11R21・・・・
・、Rtrとの処理を繰9返しながら、最終累積結果S
xu、Nvを得ることができる。
以上のようなプレイ全体での処理動作に基づいて、ベク
トルデータC1+ C21・・・・−e C16とベク
トルデータ列R1r R21・・11 @ @ 、 R
A 、のすべての組合せに対して処理を実行する場合の
PKの効率をめると、以下のようになる。
2次元配列構成の場合; trate個の最終結果を得るには、2 U 5qua
reを単位として(Nmax+Imax+ty@Lc)
ステップを必要とする。PE数はNmax弓max個で
あるから、PEの効率η8qは、 本発明の場合; urtng を単位として、n個分の人力ベクトルデー
タ列の入れ換え動作時の処理はnステップ、入力ベクト
ルデータを循環転送しながら実行するトルデータ列C1
v C2*・・・・・e CL 6を1つの入力ベクト
ルデータ列と考えて処理を実行することと等価なので、
trate個の最終結果を得るには、ステップ必要であ
る。式(6)の第1項は循環転送時のステップ数、第2
項はデータ入れ換え時のステ数はn個であるから、PE
の効率ηringは、ここで、Nl 、N2 #・・・
・・t NLrの平均値を式(8)の第3項9分母拳分
子の1以外の項は、各構成での処理開始及び終了に対す
る効率にかかわるものである。したがって、処理実行中
におけるPEの効率の比は、 1畦惺ユ艷!、上、μ囚■じ−(9) ηsq Nav Iav Uring 同時に実行できる手段をもつとすると2USquare
さtrring%またNmax ) Nav y Im
ax > IBvでおることより、本発明の構成は2次
元配列構成に対た、各PEが入力−出力の動作を各処理
単位ごとに交互に実行する手段しかもたない場合には、
2Usquare (Uringでsb、2次元配列構
成に対する本発明の効率比はさらに大きくなる。
2次元配列構成の場合は最低限(NmaxX Imax
)個のPEを配列・接続しなければならないため、その
実装規模が非常に大きくなるので、従来は、各PKの入
出力をビットシリアルで実行する方法をとることにより
各PKの規模をコンパクトにすることが行なわれていた
。しかし、ここで対象としているようなダイナミックプ
ログラミングに基づくマツチング演°算におけるデータ
は、(1)式に示すようにある次元数のデータ列を1つ
のデータとして取扱うベクトルデータであるので、ビッ
トシリアルでデータの入出力を実行すると、PE間での
転送ステップ数が非常に多くなシ、全体の演算に非常に
多くの時間を要する。これに対し、本構成ではPEの個
数を大幅に減少することができるので、PE間のデータ
転送をパラレル転送で実現しても実装規模に対する問題
を生じることがなく、ここで対象としているダイナミッ
クプログラミングに基づくマツチング演算のようなベク
トルデータに対する処理に適している。
以上、(1) 、 (2) 、 (3)式に示すダイナ
ミックプログラミング演算の場合を中心に説明したが、
本発明はこれに限定されるものではなく、前述したよう
に例えば(2)式が(4)式である場合、その他、2種
類の変数間のあら嗜る組合せに対する演算とその演算結
果を用いたデータの局所依存性をもつ漸化式の演算の実
行に同様に適用可能である。
〔発明の効果〕
以上説明したように、本発明によれば、それぞれ所定の
入出力手段および演算手段を備えた処理要素を、隣接す
る処理要素とのデータ授受を行なうためのデータ転送パ
スと外部入力パスとを切シ換えるマルチプレクサを介し
て環状に接続し、かつ全処理要素がそれぞれの処理結果
を隣接処理要素へ同時に転送する処理を、各処理要素に
おける通常の処理単位と並列に所定回実行することがで
きる構成とした仁とによ恰、ダイナミックプログラミン
グに基づくマツチング演算に代嚢される2種類の変数間
のあらゆる組合せに対する演算とその演算結果を用いた
データの局所依存性をもつ漸化式の演算を、対象とする
演算敗に応じた適正なpg数から力るアレイ構成で、各
処理要素を有効に動作させ人から高効率の並列処理で実
現することができる。
、−゛
【図面の簡単な説明】
第1図は従来の2次元配列アレイプロセッサの構成例を
示す図、第2図(a)、、(b)〜第5図(a) 、 
(b)はその処理動作の一例を説明するための図、第6
図は本発明の一実施例を示す構成図、第7図は各処理要
素の構成例を示すブロック図、第8図は第6図の構成に
おける処理動作の一例を説明するための図、第9図は同
じく外部からのデータ入力と処理要素間でのデータ転送
の様子を説明するための図、第10図は各処理要素の処
理動作の一例を説明するための図である。 1.319・・・処理要素、2−1−2−n” 11 
jl囃マルチプレクサ、311・e11外部入力データ
バス、4,11拳・・・外部I10バス、5,320.
11.データ転送パス、6,12・0.・I10端子、
?、8,33,34・拳・・入力ベクトルデータ、9・
・・・最終演算結果、10・・・・コントロールユニッ
ト、13.14・・・・データ転送ハス端子、15,1
6・Q・・バッファレジスタ、17.18・・・・レジ
スタ、2G、21・・・・バッフJメモリ、22・・・
・演算ユニット、23・・−・ワークメモリ、24・ψ
拳・制御ユニツ)、26.27・争拳争アドレス線、2
8・・・・カウンタ。 特許出願人 日本電信電話公社 代理人 山川 政樹 第4図 !+2 第5図 ↑+3 第7図 第8図 ■ C1° c; ・−c、H−ら; C,2、、、(、u
 、 ・(品e:z;、−,,,,−7 第9図 菓10図

Claims (1)

    【特許請求の範囲】
  1. n個の処理要素PEを環状に配列し、各処理要素は、外
    部からの2種類の入力データ列c=(cl)(1=’l
     、2.−−−−−、I)およびR=(rj) (j=
    =l 、 2 、 @@@@・、N) の各データ01
    .rjを入力する手段と、2種類のデータ間の加減算、
    比較演算および積和演算の各所望の演算を行ないその結
    果を蓄える手段と、入力データC1(i=1,2゜・・
    ・・・、i)および演算結果を隣接する処理要素との間
    で送受する手段と、最終的な演算結果を外部に出力する
    手段とを備えるとともに、各処理要素間は、外部からの
    入力データO1をどの処理要素からでも入力できるよう
    に隣接する処理要素とのデータ授受を行なうだめのデー
    タ転送パスと外部入力パスとを切換えるマルチプレクサ
    ′を介して環状に接続され、かつ全処理要素がそれぞれ
    の処理結果を隣接する処理要素へ同時に(mod N 
    )回転送する処理を各処理要素における処理単位と並列
    に実行する手段を備えるとともに、これら各処理要素を
    制御する手段を備えたことを特徴とするアレイプロセッ
    サ。
JP59034450A 1984-02-27 1984-02-27 アレイプロセツサ Granted JPS60179871A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP59034450A JPS60179871A (ja) 1984-02-27 1984-02-27 アレイプロセツサ
NL8500537A NL192637C (nl) 1984-02-27 1985-02-26 Stelselprocessor.
DE19853506749 DE3506749A1 (de) 1984-02-27 1985-02-26 Matrixprozessor und steuerverfahren hierfuer
US07/220,970 US4905143A (en) 1984-02-27 1988-06-14 Array processor and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59034450A JPS60179871A (ja) 1984-02-27 1984-02-27 アレイプロセツサ

Publications (2)

Publication Number Publication Date
JPS60179871A true JPS60179871A (ja) 1985-09-13
JPH0421900B2 JPH0421900B2 (ja) 1992-04-14

Family

ID=12414582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59034450A Granted JPS60179871A (ja) 1984-02-27 1984-02-27 アレイプロセツサ

Country Status (1)

Country Link
JP (1) JPS60179871A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088735A (en) * 1997-11-10 2000-07-11 Fujitsu Limited Data switching apparatus for transferring data over unidirectional bus
JP2008243233A (ja) * 2001-03-13 2008-10-09 Ecchandesu:Kk 視覚装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088735A (en) * 1997-11-10 2000-07-11 Fujitsu Limited Data switching apparatus for transferring data over unidirectional bus
US6298384B1 (en) 1997-11-10 2001-10-02 Fujitsu Limited Data processing apparatus for transferring data over unidirectional bus
JP2008243233A (ja) * 2001-03-13 2008-10-09 Ecchandesu:Kk 視覚装置
JP4625513B2 (ja) * 2001-03-13 2011-02-02 株式会社エッチャンデス 視覚装置

Also Published As

Publication number Publication date
JPH0421900B2 (ja) 1992-04-14

Similar Documents

Publication Publication Date Title
US20210406010A1 (en) Processor and control method for processor
JPS63501986A (ja) デ−タ処理装置
WO1992018935A1 (en) Data processor and data processing method
JPS63192153A (ja) 並列デ−タ処理装置
Sarkar et al. Network-on-chip hardware accelerators for biological sequence alignment
Kumar et al. On synthesizing optimal family of linear systolic arrays for matrix multiplication
JPH03209561A (ja) 連立一次方程式の解を求める計算装置及び方法
CN109670581B (zh) 一种计算装置及板卡
WO2021072732A1 (zh) 矩阵运算电路、装置以及方法
Chalamalasetti et al. MORA-an architecture and programming model for a resource efficient coarse grained reconfigurable processor
JPS60179871A (ja) アレイプロセツサ
US20090132794A1 (en) Method and apparatus for performing complex calculations in a multiprocessor array
JP7136343B2 (ja) データ処理システム、方法、およびプログラム
Lin et al. A note on the linear transformation method for systolic array design
Lanfear et al. Simulation of signal flow graphs for signal processing systems
Xu et al. Parallel Nonuniform Discrete Fourier Transform (P-NDFT) Over a Random Wireless Sensor Network
JPS60173659A (ja) アレイプロセツサ
Sarbazi-Azad et al. Parallel Lagrange interpolation on the star graph
JP3708072B2 (ja) 半導体演算装置
JPH0126108B2 (ja)
Paul et al. Three-dimensional computational pipelining with minimal latency and maximum throughput for LU factorization
Beaudin et al. An economic parallel processing technology for faster than real‐time transient stability simulation
JPH04191980A (ja) 自動配線方式
Sidhu Design and implementation modified booth algorithm and systolic multiplier using FPGA
Tsay et al. A systolic design for generating combinations in lexicographic order