JPH04114262A - 高速データ処理装置 - Google Patents

高速データ処理装置

Info

Publication number
JPH04114262A
JPH04114262A JP2234772A JP23477290A JPH04114262A JP H04114262 A JPH04114262 A JP H04114262A JP 2234772 A JP2234772 A JP 2234772A JP 23477290 A JP23477290 A JP 23477290A JP H04114262 A JPH04114262 A JP H04114262A
Authority
JP
Japan
Prior art keywords
data
processing
processing element
dimensional
pes
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.)
Pending
Application number
JP2234772A
Other languages
English (en)
Inventor
Shigeru Sasaki
繁 佐々木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2234772A priority Critical patent/JPH04114262A/ja
Publication of JPH04114262A publication Critical patent/JPH04114262A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概 要〕 複数の処理要素を一次元状あるいは二次元状に配列した
アレイ構造の高速データ処理装置に関しデータ伝播の遅
れによる無駄な計算の発生を削減し、処理時間の短縮を
図ることを目的とじ複数の処理要求(PE)を一次元状
あるいは二次元状に配列し、隣接する処理要素間に転送
バスを設けたアレイ構造を有し、一次元状あるいは二次
元状配列のデータの順次の列データを各処理要素(PE
)に分配して、共通の命令列により並列処理を行わせる
高速データ処理装置において、ある任意の処理要素(P
E)に分配される一次元状あいは二次元状配列データの
列データを、上記プレイ構造の定められた一方の端から
当該処理要素(PE)へ中間の各処理要素を介して順次
伝播される各処理要素における処理結果のデータと同期
するようにずらして供給し、あるいはある任意の処理要
素(PE)が当該処理要素(PE)に分配された一次元
状あるいは二次元状配列のデータの処理を5上記アレイ
構造の定められた一方の端から当該処理要素(PE)へ
中間の処理要素(PE)を介して伝播される各処理要素
(PE)における処理結果のデータと同期するように遅
延させ、当該処理要素において直ちに処理を実行できる
ように構成した。
〔産業上の利用分野〕
本発明は、複数の処理要素を一次元状あるいは二次元状
に配列したアレイ構造の高速データ処理装置に関する0
本発明は、特に各処理要素が1つの命令発行元から同一
の命令列を与えられて処理を並行して実行するSIMD
型のプロセンサにおいて、一次元状あるいは二次元状配
列データの処理を高速化できる手段を従供する。
−次元あるいは二次元アレイ構造の10セツサは、a像
データやベクトルデータなどの一次元あるいは二次元配
列データを処理するのに適している。このようなプロセ
ッサでは、データ転送バスが隣接する処理要素との間に
のみ設けられている。
そのため、ある処理要素が演算した結果を、@れた他の
処理要素の演算に反映させる場合、結果のデータは各処
理要素間をバケツリレー式に転送されるため反映に時間
がかかり2その間反映される側の処理要素では無駄な演
算が行われることになる0本発明は、このような各処理
要素を効率的に動作させることができる。
〔従来の技術〕
複数の処理要素(P E : Processing 
Element以後PEという)を一次元状あるいは二
次元状に配列したアレイ構造のプロセッサとしては、パ
イプライン・プロセッサやシストリック・アレイ・プロ
セッサなどがあり、第4図はその一次元状配列のアレイ
構造プロセッサを例示したものである。
図示のように、隣接するPE間に、データ入力用とデー
タ出力用の2本のデータ転送バスが設けられており、処
理するデータを右あるいは左の端から送り込んで、順次
のPEで転送、処理を継続させ1反対側の端から処理結
果を順次取り出すようにしている。
たとえば、二次元状配列データを第4図の各PEに伝播
させるためのプログラムの処理フローは5次のように表
される。
for (line −0;1ine< line−w
ax;1inef 十)for (PE=0;PE<P
E−wax;PE+ +)data−get(left
−result);result−operation
(data);この処理フローは、二次元状配列データ
の列(linen)から列(line−wax)までの
各データをPEOからP E−waxまでに順次ローデ
ィングし各PEは、左隣から入力データ1eft−re
sultを受取って自己のメモリにローカル変数dat
aとして格納し1次にそのローカル変数da taを用
いて列データについて命令により指示された演算ope
rationを実行し、結果をローカル変数resul
tに格納することを示している。
これは、第5図のような、二次元状配列データ(Dij
(i=o   ・・・・・・、N−1,j=o、  ・
・・・・・N−1)において、各PEjが並列に、変数
da taというデータを使用し、自己の列データにつ
いである演算operation(data)を実行し
、その結果を変数resultへ代入し、右隣りのPE
へどんどん伝播させていく処理を示している。この例か
ら明らかなように、左隣りからのデータ1eft  r
esultが伝送されてこない限り、自分自身はope
ration(da ta)を実行できないし、その演
算結果を右隣りのPEへ伝播させることはできない。
このような処理の例として2画像処理におけるラベリン
グ処理がある。ラベリング処理は、領域ごとに単一のラ
ベルを付加する処理であり、そのためある領域に縦方向
あるいは横方向に小領域が連結されている場合には、そ
れらの領域に同じラベルが付加されなければならない。
第5図においてラベリング処理を行う場合、各PEj 
 (j=O−・・・・・・、N−1)は、自己に分配さ
れた列データD0、〜DN−1,jについて一斉に上か
ら順次縦方向の連結の有無を調べていき、小領域ごとに
ラベル付けを行うが、さらに横方向の連結についてラベ
ルの単一性を保つため、左隣りのDEj−1からラベル
データを1eft  resultとして貰い、自己の
列データの小領域との連結をとって 結果のラベルデー
タを右隣りのPEj→−1へresultとして渡す必
要がある。
しかしPE間のデータ転送は、順次のPEが処理とデー
タ転送を繰り返してバケツリレー式で行われるため、各
PEがそれぞれ自己の列データの処理を同時に開始した
とき、最初のうちPE、以外のPRは処理中の列データ
に横方向に連結される領域のラベルデータを、左隣りの
PEから受取ることができず、PEが処理中の列データ
と横方向に同期した1eft resultを受取るこ
とができるまでには、右方のPEはど多数の演算サイク
ルが無駄に費やされることになる。
このようにSIMD型プロセッサでは、扱うデータに対
して同一の演算を実行することを特徴としているため、
この例のような他のPHの結果に依存して各PEが独立
に動かなければならないという問題では2本質的に高速
化が期待できないという欠点を持っている。
つまり、ここで、PEO数をN個とし、二次元データの
数をNXNとすると、このデータ伝播には5 Nの二乗
のオーダーΩ(N2)の計算量がかかり、その間必要な
データが揃わずに無意味な演算を実行しているPEがほ
とんどであった(Ω()はオーダーを表す記号)。
〔発明が解決しようとするi!!!題〕従来のSIMD
型プロセッサでは、並列PEを用いても計算量がNの二
乗のオーダーΩ(N” )のままであり、これでは シ
ーケンシャル・マシンで処理したものと同等の性能しか
期待できないことになる。
本発明は、データ伝播の遅れによる無駄な計算の発生を
削減し、処理時間を短縮することを目的とするものであ
る。
〔課題を解決するための手段〕
本発明は、アレイ構造のプロセンサにおいて一次元状あ
るいは二次元状配列データの列データを各PEに分配し
て並列処理を行う際5各PEにおいて列データを処理す
るタイミングとそのPEに隣接PEから対応するデータ
が伝播するタイミングとを常に一致させることに、すな
わち同期化することによって、PEにおいて無駄な演算
が行われる回数を減らし、処理時間を短縮するものであ
る。
任意のPEにおいて処理しようとする列データと伝播デ
ータとを同期させる方式としては、PEへのデータ伝播
タイミングとPEが処理する列データとが対応するよう
に列データの供給をずらす方式と1列データの供給をず
らす代わりにPEの処理タイミング自体をずらす方式と
がある。
第1図(a)、  (b)は1本発明の原理説明図であ
る。
第1図(a)は、PEへの列データの供給をずらす方式
を示す。
第1図(a)において、1−0〜1−(N−1)は そ
れぞれ共通の命令列によって動作する独立した処理要素
PEo〜PE、I−1である。
2−0〜2−(N−1)は、それぞれPE、〜PEN−
,のローカルメモリMEMO〜MEM)I−1であり1
図示の例では二次元状配列データDij(i=o、・・
・・・・、N−1,j=0.・・・・・・、N−1)の
各列データDj (j=0.・・・・・・、N−1)が
それぞれ3番目のローカルメモリMEMjに9列データ
の先頭位置をj個だけずらし、すなわちj個のオフセン
トを設けて格納されている。
3−0〜3−(N−1)は、PE、〜PE。
において処理データの位置を指すポインタでありそれぞ
れMEM、〜MEM、、の先頭位置から同期に更新され
る。
各PEは、左隣りのPEから出力される処理結果とポイ
ンタが指すローカルメモリのアドレスからのデータとを
対象に指示された処理を行い、処理結果を右隣りのPE
へ送出する。
PEoがDo。について処理した結果が3番目のPEj
に伝播するまでにjτ(τ−サイクル同期)の時間がか
かるが、このときPEjは列データの先頭データD11
Jを処理しており、直ちに有効な処理を実行できる。
第1図の(b)は、PEの処理タイミングをずらす方式
を示す。
図において、1−0〜l−(N−1)、2−0〜2− 
(N−1)、3−0〜3−(N−1)の各要素は第1図
(a)におけるものと同しであるが。
2−0〜2−(N−1)のローカルメモリMEM。
〜MEM、、には それぞれ二次元状配列データDij
の各対応する列データDJ (j=0.・・・・・・N
−1)が、メモリの先頭位置から格納されている。
しかし、各PE、〜PEN−,には、4−0〜4(N−
1)で示すタイミング遅延手段が設けられており、それ
ぞれ処理開始タイミングを、0〜(N−1)τだけ遅延
させるようになっている。
これによって第1図(a)の方式と同様に、任意のPE
において1列データと伝播データとの同期化が行われる
〔作 用〕
第1図(a)、(b)に示されている本発明の原理に基
づく作用を、第2図の動作タイミング図にしたがって説
明する。
第2図において、横軸にN個のPEをとり、縦軸にサイ
クル時間をτを単位としてとって処理される二次元状配
列データDij(1=o、・・・・・・、N1、j−0
,・・・・・・、N−1)を示したものである。また矢
印は処理結果データの伝播を表している。なお一次元状
配列データの場合には、Dijのi =O,j =0.
 ・・・・・・、N−1の場合に相当する。
PE、は、0から(N−1)τまでの各サイクルに列デ
ータD、。〜DN−、、Oをそれぞれ処理し。
各処理結果をPE、に渡す。
PE+ は、PE、よりも1τ遅れで列データD o+
〜DN−1,1の処理を開始し、各処理結果をPE、に
渡す、このようにしてPE、、は、PE。
よりも(N−1)τ遅れで列データDo 、 N−1〜
DN−1+1+−1の処理を開始し、(2N−2)τに
処理を終わる。
したがって、全体の処理時間はNのオーダーΩ(N)と
なり、従来装置にくらべて大幅に短縮される。
〔実施例〕
第1図(a)に対応する本発明の実施例による二次元状
配列データの処理プログラムは2次のように表される。
for  (line  =O;1ine<line−
may+5hift:1ine++)(・・・・・・■ parallel−for (PE;r’E<PH−w
ax;PE++) [−−■data =get(le
ft−result);     −−■result
=operation(data) ;     −−
■)                  ・・・・・
・■)                   ・・・
・・・■ここて、■の変数5hiftは、メモリ上へデ
ータをローディングする際に各PEでシフトするトータ
ルのシフト量である0例えば、各PEが1デー夕づつソ
フトすると仮定すると、扱うデータの横部分の大きさが
、この5hift変数がもつ値となる。
■のParaliel−fori・)は、■と■を全P
Eで実行することを意味する。■は、左隣りのPEから
データを受取り、自分内のローカル変数da taへ格
納することを意味する。■は、変数da taの値を使
用し、ある演算operation()を実行し、その
結果を自分内のローカル変数resultへ格納するこ
とを意味する。
第3図は本発明の実施例による処理例を示す説明図であ
り1画像処理におけるラヘリング処理中のラベル伝播方
法を示している。ここでは、各PE内に画像のデータを
一列づつ分散させ、各P E内で連結情報に従って、ラ
ベル付けしたデータが格納されていると仮定する。ラベ
リングでは小領域が縦方向にも横方向にも連結されてい
る場合、それは一つの領域として同一のラベルを付ける
ことが要求される。
この実施例では、PE、のローカルメモリ上の列データ
のうち未処理の最初の3個のデータをとり、その中の最
小値を変数resultへ代入する。他のPEでは、左
隣りのPEから転送される値をlef t −resu
l tという変数へ格納し、その値と自分のメモリ上の
列データのうち未処理の最初のブタの稙を比較し、 1
eft−resultが小さいならその1Bft−re
sultの値で置き換える。その後で、3個のデータを
使って最小値を算出し、自分のローカル変数resul
tへ格納する。こうすることで、もしPE、で得られた
resultの値が最も小さければ最終段のPEへは1
画像の横幅の回数で到達する。
その時には同時並行して、各PEは自分のメモリ上の列
データについて下方へ演算を実行していることになり1
画像の大きさをNXNとすると、全体で2N回で全体の
ラベル伝播を終了する。
〔発明の効果〕
本発明によれば、従来の高速データ処理vtT1.がN
の二乗のオーダーで要していた計算量をNのオーダーに
削減することができ、ハードウェアの増加なしに容品に
高速処理を実現することができる。
【図面の簡単な説明】
第1図(a)および第1図(b)は本発明の原理説明図
(その1.その2)、第2回は本発明の動作タイミング
図、第3Vは本発明実施例による処理例の説明図、第4
図は一次元状配列のアレイ構造プロセッサの構成図5第
5図は二次元状配列データの説明図である。 第1図(a)、  (b)中 1=0〜1−(N−1) :処理要素1)E、〜 EN 2−0〜2− (N−1):ローカルメモリMEM、−
MEM、。 3−0〜3−(N−1):ポインタ 4−〇〜4−(N−1):遅延手段

Claims (2)

    【特許請求の範囲】
  1. (1)複数の処理要素(PE)を一次元状あるいは二次
    元状に配列し、隣接する処理要素間に転送バスを設けた
    アレイ構造を有し、一次元状あるいは二次元状配列のデ
    ータの順次の列データを各処理要素(PE)に分配して
    、共通の命令列により並列処理を行わせる高速データ処
    理装置において、 ある任意の処理要素(PE)に分配される一次元状ある
    いは二次元状配列データの列データを、上記アレイ構造
    の定められた一方の端から当該処理要素(PE)へ中間
    の各処理要素を介して順次伝播される各処理要素におけ
    る処理結果のデータと同期するように、ずらして供給し
    、当該処理要素において直ちに処理を実行できるように
    したことを特徴とする高速データ処理装置。
  2. (2)複数の処理要素(PE)を一次元状あるいは二次
    元状に配列し隣接する処理要素(PE)間に転送バスを
    設けたアレイ構造を有し、一次元状あるいは二次元状配
    列のデータの順次の列データを各処理要素(PE)に分
    配して共通の命令列により並列処理を行わせる高速デー
    タ処理装置において、 ある任意の処理要素(PE)が当該処理要素(PE)に
    分配された一次元状あるいは二次元状配列データの列デ
    ータについて行う処理を、上記アレイ構造の定められた
    一方の端から当該処理要素(PE)へ中間の処理要素(
    PE)を介して伝播される各処理要素(PE)における
    処理結果のデータと同期するように遅延させ、当該処理
    要素において直ちに処理を実行できるようにしたことを
    特徴とする高速データ処理装置。
JP2234772A 1990-09-05 1990-09-05 高速データ処理装置 Pending JPH04114262A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2234772A JPH04114262A (ja) 1990-09-05 1990-09-05 高速データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2234772A JPH04114262A (ja) 1990-09-05 1990-09-05 高速データ処理装置

Publications (1)

Publication Number Publication Date
JPH04114262A true JPH04114262A (ja) 1992-04-15

Family

ID=16976126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2234772A Pending JPH04114262A (ja) 1990-09-05 1990-09-05 高速データ処理装置

Country Status (1)

Country Link
JP (1) JPH04114262A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012132692A1 (ja) * 2011-03-29 2012-10-04 三菱重工業株式会社 並列処理システム及び並列処理システムの動作方法
JP2015529363A (ja) * 2012-09-04 2015-10-05 マイヤプリカ テクノロジー エルエルシー 相互関係のある二次元データセットを効率的かつ高速に処理するプロセッサ、システム、および方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012132692A1 (ja) * 2011-03-29 2012-10-04 三菱重工業株式会社 並列処理システム及び並列処理システムの動作方法
JP2012208680A (ja) * 2011-03-29 2012-10-25 Mitsubishi Heavy Ind Ltd 並列処理システム及び並列処理システムの動作方法
US9774671B2 (en) 2011-03-29 2017-09-26 Mitsubishi Heavy Industries, Ltd. Parallel processing system and operation method of parallel processing system
US9984432B2 (en) 2011-09-03 2018-05-29 Mireplica Technology, Llc Processor, system, and method for efficient, high-throughput processing of two-dimensional, interrelated data sets
US10013733B2 (en) 2011-09-03 2018-07-03 Mireplica Technology, Llc Processor, system, and method for efficient, high-throughput processing of two-dimensional, interrelated data sets
US10540734B2 (en) 2011-09-03 2020-01-21 Mireplica Technology, Llc Processor, system, and method for efficient, high-throughput processing of two-dimensional, interrelated data sets
JP2015529363A (ja) * 2012-09-04 2015-10-05 マイヤプリカ テクノロジー エルエルシー 相互関係のある二次元データセットを効率的かつ高速に処理するプロセッサ、システム、および方法

Similar Documents

Publication Publication Date Title
US3787673A (en) Pipelined high speed arithmetic unit
Kogge The architecture of pipelined computers
US5123109A (en) Parallel processor including a processor array with plural data transfer arrangements including (1) a global router and (2) a proximate-neighbor transfer system
CA1068825A (en) Computer vector register processing
TWI224263B (en) Pipelined low complexity FFT/IFFT processor
US5008815A (en) Parallel processor
US4996661A (en) Single chip complex floating point numeric processor
US5081573A (en) Parallel processing system
EP0282825B1 (en) Digital signal processor
US4740894A (en) Computing processor with memoryless function units each connected to different part of a multiported memory
EP0047842B1 (en) Skewed matrix address generator
US4821224A (en) Method and apparatus for processing multi-dimensional data to obtain a Fourier transform
EP0501524A2 (en) Parallel processor
JPS6326912B2 (ja)
US20060212613A1 (en) Data processor apparatus
US9002919B2 (en) Data rearranging circuit, variable delay circuit, fast fourier transform circuit, and data rearranging method
JPH04114262A (ja) 高速データ処理装置
Pan et al. Computation of singular value decomposition on arrays with pipelined optical buses
EP0136218A2 (en) Multiple port pipelined processor
EP0323080B1 (en) Multiprocessor memory access control system
JPH05108586A (ja) 並列演算機構及び並列演算方法
JPS6310263A (ja) ベクトル処理装置
JPH01123354A (ja) モジユール化並列計算機
JPS6024672A (ja) ベクトル処理装置
Faraz et al. A survey of paradigms for building and designing parallel computing machines