JPH0620070A - 並列データ処理装置 - Google Patents

並列データ処理装置

Info

Publication number
JPH0620070A
JPH0620070A JP17353592A JP17353592A JPH0620070A JP H0620070 A JPH0620070 A JP H0620070A JP 17353592 A JP17353592 A JP 17353592A JP 17353592 A JP17353592 A JP 17353592A JP H0620070 A JPH0620070 A JP H0620070A
Authority
JP
Japan
Prior art keywords
register
address
value
transfer
data
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
JP17353592A
Other languages
English (en)
Inventor
Hiroyuki Miyata
裕行 宮田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP17353592A priority Critical patent/JPH0620070A/ja
Publication of JPH0620070A publication Critical patent/JPH0620070A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】データ転送速度を高速化した並列データ処理装
置を提供することを目的とする。 【構成】各PE50内に設けたXアドレスレジスタ57
及びYアドレスレジスタ58の値により、セレクタ54
を制御するFレジスタ55の制御値を順に変更する。こ
れによって、セレクタ52を介して入力されたままの転
送データ及び転送用シフトレジスタ53内のデータのい
ずれか一方が選択されて他のPEに転送される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列データ処理装置に
関し、特に2次元格子上に同一の基本演算要素が配置さ
れ、制御部から与えられる同一命令により全ての基本演
算要素が同一動作を行う並列データ処理装置に関する。
【0002】
【従来の技術】従来、この種の技術としては、例えば図
2に示すようなものがあった。
【0003】図2は、従来の並列データ処理装置の一構
成例を示す図であり、この並列データ処理装置は、演算
を行う演算部10と該演算部10の制御を行う制御部2
0とを備えている。演算部10は、2次元格子状を成す
信号線の各交点箇所に、4×4個の基本演算要素(以
下、単にPEという)11がそれぞれ接続されている。
そして、この各PE11の構成例が、Batcher,K.E 著、
「Design of a Massively Parallel Processor;IEEE Tr
ans 」C29(1980-9)(米)P.836-840に記載され、その概略
構成図を図3に示す。
【0004】図3において、各PE11は、基本演算を
行う基本演算部12と、隣接する4個のPE11からの
データを選択するためのセレクタ13と、その選択され
たデータ値を格納するレジスタ14と、PE11内の演
算を制御するためのFレジスタ15とを備えている。
【0005】このような構成の従来の並列データ処理装
置は、制御部20からの送られる命令により各PE11
が同一の動作を行う。そして、セレクタ13により選択
されたPE11間を転送するデータは、一旦、レジスタ
14に格納された後、基本演算部12に取り込まれた
り、あるいは他のPE11へ送られたりする。
【0006】
【発明が解決しようとする課題】しかしながら、上記従
来例の並列データ処理装置では、全体の総和を求める際
に、各PE11間のデータ転送と各PE11での加算と
を繰り返し行う必要があり、データ転送においては、デ
ータを一旦、レジスタ14に格納しつつ行われるので、
処理時間が非常にかさむという問題があった。
【0007】本発明は上記従来の問題点に鑑み、データ
転送速度を高速化した並列データ処理装置を提供するこ
とを目的とする。
【0008】
【課題を解決するための手段】本発明は上記目的を達成
するために、Xアドレス及びYアドレスで位置決定され
る2次元格子の各交点箇所にそれぞれ設けられた同一構
成の基本演算要素からなる演算部と、前記各基本演算要
素に対して発する同一命令により、該基本演算要素が同
一動作を行うように制御する制御部とを備えた並列デー
タ処理装置において、前記各基本演算要素は、それぞ
れ、前記Xアドレス及びYアドレスをそれぞれ格納する
Xアドレスレジスタ及びYアドレスレジスタと、他の基
本演算要素から転送されてきたデータに対して所定の演
算処理を行う演算処理手段と、この演算処理手段による
演算処理結果を保持するための転送用レジスタと、他の
基本演算要素から転送されてきた転送データ及び前記転
送用レジスタ内のデータのいずれか一方を選択して出力
するセレクタと、を備えると共に、前記制御部は、前記
Xアドレス及びYアドレスに応じて前記各基本演算要素
内のセレクタを個々に制御することを特徴とする。
【0009】
【作用】上記構成により本発明によれば、各基本演算要
素内に設けたXアドレスレジスタ及びYアドレスレジス
タの値に応じて、セレクタを順次制御することにより、
各基本演算要素において入力されてきた転送データ及び
転送用レジスタ内のデータのいずれか一方が選択されて
他の基本演算要素に転送されるので、転送先でない途中
の基本演算要素には転送データが保管されることなく、
そのまま通過することとなる。
【0010】
【実施例】図1は、本発明に係る並列データ処理装置の
第1の実施例を示し、該並列データ処理装置におけるP
Eの概略構成ブロック図である。
【0011】本実施例は、上記した図2における演算部
10中のPE11に代えて、機能の異なるPE50を設
けたものであり、この各PE50は、従来装置と同様に
基本的な演算を実行する基本演算部51を有している。
さらに、隣接する4個のPE50からのデータを一つ選
択するためのセレクタ52が設けられ、そのセレクタ5
2の出力側には、選択されたデータを格納する転送用シ
フトレジスタ53及びセレクタ54が接続されている。
【0012】セレクタ54は、Fレジスタ55の制御に
より選択動作を行い、例えばFレジスタ55の値が
“0”である場合は当該PE50に転送されてきたデー
タ値を、また“1”である場合は転送用シフトレジスタ
53の値をそれぞれ選択し、当該PE50の出力側に接
続される他のPE50へ出力する。
【0013】また、本実施例の各PE50には、加算を
行う際に使用する加算用レジスタ56と、各PE50の
位置するXアドレスを格納するXアドレスレジスタ57
と、各PE50の位置するYアドレスを格納するYアド
レスレジスタ58とがそれぞれ設けられている。
【0014】次に、以上のように構成される並列データ
処理装置を用いて、総和を求める際の動作を図4及び図
5のフローチャートに従って説明する。また、図6〜図
15は総和を求める際の具体例を示す図であり、本動作
の説明に従って適宜参照する。
【0015】図4の説明に先立ち、Xアドレスレジスタ
57及びYアドレスレジスタ58について説明する。各
PE50のアドレスは、図6に示すように設定されてお
り、すなわち、図6の北西端に位置するPE50の
(X,Y)アドレスを(0,0)とし、順に東方向に進
むに連れてXアドレスが増加し、南方向に進に連れてY
アドレスが増加する。なお、この図において、アドレス
は2進数で表示され、各PE50内のXアドレスレジス
タ57及びYアドレスレジスタ58には各々対応する値
を予め格納しておく。
【0016】まず、図4のステップS101で、各PE
50内で加算すべき初期値を、転送用シフトレジスタ5
3と加算用レジスタ56両方に設定する。これは、図7
に示すように、4×4個のPE50からなる並列データ
処理装置の場合は、各PE50内に0〜9の値を表示す
ることで行われる。また、初期化として、すべてのPE
50のFレジスタ55の値を“0”としておく。これに
より、初期値として転送されてきたデータは、そのまま
隣接するPE50へ送られる。
【0017】続くステップS102では、これより以降
の処理であるステップS103〜ステップS110まで
を順に次式のr値を変更して実行することを指示する。
【0018】r=(logN−1) すなわち、r=0から(logN−1)まで、後述する
ステップS103〜S110の処理を繰り返す。ここ
で、Nは演算部10がN×N個のPE50で構成されて
いることを示し、本実施例ではN=4であり、そのた
め、r値は、“0”と“1”の2回分をステップS10
3からステップS110まで行うことになる。以下で
は、まず、r=0の場合を説明する。このr=0の場合
における後述するステップS103からステップS11
0までの処理は、演算部10を構成するN×NのPE5
0群を2×2からなるグループに分け、各グループ内で
和を求め、その結果を各グループ内の北西に位置するP
E50に格納するという処理内容を示している。
【0019】ステップS103において、Xアドレスの
最下位の(r+1)ビットのうち、最上位ビットが
“1”で残りのビットが“0”のPE50のFレジスタ
55を“1”とする。本実施例では、Xアドレスの下位
1ビットが“1”のアドレスを持つPE50におけるF
レジスタ55を“1”に設定する。すなわち、r値が
“0”の場合は、本ステップS103の処理で対象とす
る下位rビットが1ビットだけになるため、対象とする
Xアドレスの最下位1ビットが“1”のものが選ばれ
る。もし、r値が“1”である場合は、対象とするXア
ドレスの最下位2ビットが“01”のものを、r値が2
の場合は対象とするXアドレスの最下位3ビットが“0
01”のものを選ぶことになる。r値が3以上の場合も
同様である。4×4個のPE50からなる本実施例の並
列データ処理装置の場合では、各PE50のFレジスタ
55の値は図6に示すように設定される。従って、Fレ
ジスタ55の値が“1”のPE50からデータを送り、
残りの転送方向にあるPE50がそのデータを受け取る
ことになる。
【0020】ステップS104では、各PE50の転送
用シフトレジスタ53の値を、2個(本実施例では1
個)西にあるPE50の転送用シフトレジスタ53へ転
送する。この場合、各PE50内のFレジスタ55の値
が図6で示したようになっているため、転送結果は図8
に示すようになる。
【0021】ステップS105では、各PE50におい
て、転送用シフトレジスタ53の値と元からそのPE5
0が所有している加算用レジスタ56の値とを加算し、
その加算結果を再度、加算用レジスタ56に格納する。
これは、図8に示す加算を行うことを意味し、その結果
が図9に示すようになる。
【0022】ステップS106においては、前記ステッ
プS105で加算されて加算用レジスタ56に格納され
ている値を転送用シフトレジスタ53に送り、全PE5
0のFレジスタ55の値を“0”にする。図5のステッ
プS107では、Yアドレスの最下位の(r+1)ビッ
トのうち、最上位ビットが“1”で残りのビットが
“0”のPE50をFレジスタ55を“1”とする。本
実施例ではr=0のため、Yアドレスの下位1ビットが
“0”のアドレスを持つPE50のFレジスタ55を
“1”とする。その結果、各PE50のFレジスタ55
の値は、北方向から見て第1段目と第3段目の各PE5
0のFレジスタ55のみが“1”となり、他のPE50
のFレジスタ55の値は初期値の“0”のままである。
【0023】ステップS108においては、各PE50
の転送用シフトレジスタ53の値を、2個(本実施例
では1個)北のPE50の転送用シフトレジスタ53へ
転送する。この場合、各PE50内のFレジスタ55の
値は先に述べたように、北方向から見て第1段目と第3
段目の各PE50のFレジスタ55のみが“1”になっ
ているため、この転送結果は図10に示すようなる。
【0024】ステップS109では、各PE50内にお
いて、転送されてきた転送用シフトレジスタ53の値
と、元から当該PE50が所有している加算用レジスタ
56中の値とを加算する。その加算結果を再び、加算用
レジスタ56に格納する。これは、図10に示す加算を
行うことを意味し、その結果が図11に示すようにな
る。
【0025】ステップS110では、前記ステップS1
09で加算されて加算用レジスタ56に格納されている
値を転送用シフトレジスタ53に送り、全PE50のF
レジスタ55の値を“0”にする。
【0026】こうして、4個グループに分けられたPE
50群の各グループ内の和が算出され、その算出結果が
各グループ内の北西に位置するPE50の転送用シフト
レジスタ53に格納されることになる。
【0027】ステップS111おいて、これらの値が次
のように処理されて北西端のPE50に求める総和が格
納される。すなわち、上記同様に、前記グループ内の北
西に位置するPE50のうち、東側から2段目のPE5
0に位置する転送用シフトレジスタ53の値(図中では
18,14)を、2個西に位置するPE50の転送用シ
フトレジスタ53へ転送する。その転送結果は図12に
示すようになる。さらに、そのPE50において、転送
されてきた値と元から該PE50が所有している値(図
中では10,24)とを加算し、その加算結果を再度、
加算用レジスタ56に格納する。その結果が図13に示
すようになる。最後に、その加算用レジスタ56に格納
された値が北西端のPE50に転送され(図14参
照)、該北西端のPE50において、転送されてきた値
と元から所有している値とが加算され、加算用レジスタ
56に格納される。その結果が図15に示すようにな
る。
【0028】以上、r値=0の場合について説明した
が、r値=1の場合でも同様に行える。すなわち、図4
のステップS103,S104の処理が図12に、ステ
ップS105,S106の処理が図13に、ステップS
107,S108の処理が図14に、また図5のステッ
プS109,S110の処理が図15にそれぞれ対応す
る。そして、この場合は、機能的には、全体を4×4の
グループに分け、その総和をグループ内の北西に位置す
るPE50に格納することになる。
【0029】これを一般化すると、r値がmの時には、
2の(m+1)乗個のPE50を一辺とする正方形のP
Eグループの総和を求め、その値を北西端に位置するP
E50に格納することになる。また、条件としてr値
は、順に“0”から増加していき、r=mの時にはr=
(m−1)の結果を使用して処理することが挙げられ
る。
【0030】このように、本実施例では、4×4個のP
E50からなる例で説明したが、これより多くの数のP
E50からなる演算部10を使用すると、各PE50間
のデータ転送の距離は長くなるが、従来例のように隣接
するPEでデータ転送を行った場合に比べ、格段に高速
処理ができることが分かる。すなわち、従来例では、各
PE間は1つずつ必ず経由してデータを転送しなければ
ならなかったが、本実施例においては、Xアドレスレジ
スタ57及びYアドレスレジスタ58の値に基づいて設
定されたFレジスタ55の値により、途中のPE50の
転送用シフトレジスタ53に保管されることなく通過す
る形でデータ転送が可能となる。
【0031】次に、本発明の第2実施例を図16〜図2
0を参照しつつ説明する。
【0032】本実施例では、前記第1実施例において求
められ、図15に示すように北西端のPE50に格納さ
れている総和値を全てのPE50に戻す処理を行う。
【0033】まず、演算部10の中で、北西端に位置す
るPE50を除いて、各列の中で最も北にあるPE50
のFレジスタ55の値を“0”、北西端のPE50のF
レジスタ55の値を“1”とする。これは、各PE50
内で、Yアドレスが全て“0”でXアドレスが“0”で
ないPE50のFレジスタ55を“0”とし、Xアドレ
ス及びYアドレス共に全て“0”のPE50のFレジス
タ55を“1”とすることにより行われる。他のPE5
0のFレジスタ55の値は特に指定しない。この結果を
図16に示す。このような処理を行うのは、北西端のP
E50からデータを送り、その東方向に位置するPE5
0に全てデータを送るためである。
【0034】次に、各PE50の転送用シフトレジスタ
53の値をN個東方向に転送する。ここで、N個の転送
とは、順次1つずつPE50内の転送用シフトレジスタ
53に取り込まれていくのではなく、中間のPE50は
データのみ送り、データ転送自体は各PE50内を通過
する。そのため、従来例のように、個々のPE毎に送る
方式に比べ、高速な転送が可能となる。その結果が図1
7に示すようになり、北西端のPE50の上記第1実施
例で求められた総和が最北端に位置するPE50にすべ
て転送されたことが分かる。
【0035】続いて、最北端に位置するPE50から、
各々の南方向に位置するPE50へデータを転送するこ
とを行う。まず、Fレジスタ55の設定としては、最北
に位置するPE50のFレジスタ55を“1”、それ以
外を“0”とする。その結果を図18に示す。このよう
な処理を行うのは、最北端のPE50からデータを南方
向に転送し、全てのPE50に前記総和値を転送するた
めである。
【0036】最後に、各PE50の転送用シフトレジス
タ53の値をN個南方向に転送する。その結果、図19
に示すように、全てのPE50に総和値が転送される。
【0037】なお、各PE50が所有する値が全体の演
算部10からみて、どの程度の割合になるかを調べる場
合は、上記第1及び第2の実施例を実施後、転送された
総和値で各PE50内の値を図20に示すように割算す
ればよい。また、上記実施例では、説明を簡単にするた
めに4×4のPE50からなる小規模な演算部10を使
用した場合を述べたが、従来例に比較して本発明におけ
る高速性は、PE50の数が増加すればするだけ発揮さ
れる。
【0038】
【発明の効果】以上詳細に説明したように、本発明によ
れば、各PE内に設けたXアドレスレジスタ及びYアド
レスレジスタの値に応じて、セレクタを順次制御するこ
とにより、各PEにおいて入力されてきた転送データ及
び転送用レジスタ内のデータのいずれか一方が選択され
て他のPEに転送されるので、転送先でない途中のPE
には転送データが保管されることなく、そのまま通過す
ることとなる。従って、高速なデータ転送が可能とな
り、高速の総和演算等を行うことができるという効果が
ある。
【図面の簡単な説明】
【図1】本発明に係る並列データ処理装置の第1実施例
における基本演算要素を示す概略構成ブロック図であ
る。
【図2】並列データ処理装置の構成例を示す図である。
【図3】従来の基本演算要素の構成例を示す図である。
【図4】前記第1実施例の総和演算処理の前半を示すフ
ローチャートである。
【図5】前記第1実施例の総和演算処理の後半を示すフ
ローチャートである。
【図6】前記第1実施例の総和演算処理の具体例を示す
図である。
【図7】前記第1実施例の総和演算処理の具体例を示す
図である。
【図8】前記第1実施例の総和演算処理の具体例を示す
図である。
【図9】前記第1実施例の総和演算処理の具体例を示す
図である。
【図10】前記第1実施例の総和演算処理の具体例を示
す図である。
【図11】前記第1実施例の総和演算処理の具体例を示
す図である。
【図12】前記第1実施例の総和演算処理の具体例を示
す図である。
【図13】前記第1実施例の総和演算処理の具体例を示
す図である。
【図14】前記第1実施例の総和演算処理の具体例を示
す図である。
【図15】前記第1実施例の総和演算処理の具体例を示
す図である。
【図16】前記第2実施例の総和演算処理の具体例を示
す図である。
【図17】前記第2実施例の総和演算処理の具体例を示
す図である。
【図18】前記第2実施例の総和演算処理の具体例を示
す図である。
【図19】前記第2実施例の総和演算処理の具体例を示
す図である。
【図20】前記第2実施例の総和演算処理の具体例を示
す図である。
【符号の説明】
10 演算部 20 制御部 50 PE 51 基本演算部 53 転送用シフトレジスタ 54 セレクタ 55 Fレジスタ 56 加算用レジスタ 57 Xアドレスレジスタ 58 Yアドレスレジスタ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 Xアドレス及びYアドレスで位置決定さ
    れる2次元格子の各交点箇所にそれぞれ設けられた同一
    構成の基本演算要素からなる演算部と、前記各基本演算
    要素に対して発する同一命令により該基本演算要素が同
    一動作を行うように制御する制御部とを備えた並列デー
    タ処理装置において、 前記各基本演算要素は、それぞれ、 前記Xアドレス及びYアドレスをそれぞれ格納するXア
    ドレスレジスタ及びYアドレスレジスタと、 他の基本演算要素から転送されてきたデータに対して所
    定の演算処理を行う演算処理手段と、 この演算処理手段による演算処理結果を保持するための
    転送用レジスタと、 他の基本演算要素から転送されてきた転送データ及び前
    記転送用レジスタ内のデータのいずれか一方を選択して
    出力するセレクタと、 を備えると共に、 前記制御部は、前記Xアドレス及びYアドレスに応じて
    前記各基本演算要素内のセレクタを個々に制御すること
    を特徴とする並列データ処理装置。
JP17353592A 1992-06-30 1992-06-30 並列データ処理装置 Pending JPH0620070A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17353592A JPH0620070A (ja) 1992-06-30 1992-06-30 並列データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17353592A JPH0620070A (ja) 1992-06-30 1992-06-30 並列データ処理装置

Publications (1)

Publication Number Publication Date
JPH0620070A true JPH0620070A (ja) 1994-01-28

Family

ID=15962334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17353592A Pending JPH0620070A (ja) 1992-06-30 1992-06-30 並列データ処理装置

Country Status (1)

Country Link
JP (1) JPH0620070A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970196B1 (en) 1999-03-16 2005-11-29 Hamamatsu Photonics K.K. High-speed vision sensor with image processing function

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970196B1 (en) 1999-03-16 2005-11-29 Hamamatsu Photonics K.K. High-speed vision sensor with image processing function
US7532244B2 (en) 1999-03-16 2009-05-12 Hamamatsu Photonics K.K. High-speed vision sensor

Similar Documents

Publication Publication Date Title
US4901224A (en) Parallel digital processor
JPH0233191B2 (ja)
CA1289261C (en) Polymorphic mesh network image processing system
JPH0444970B2 (ja)
JPS63167967A (ja) ディジタル信号処理集積回路
JP3071899B2 (ja) 荷電ビーム描画用データ作成装置
JPH0620070A (ja) 並列データ処理装置
JP3593439B2 (ja) 画像処理装置
JPS6042516B2 (ja) デ−タ処理装置
JP2508620B2 (ja) 論理回路シミュレ―ション装置
JPH05143633A (ja) イソジオメトリツク形高速フーリエ変換実現方式
US20120144155A1 (en) System Of Rotating Data In A Plurality Of Processing Elements
JP2557856B2 (ja) Cadシステム
JPH04364525A (ja) 並列演算装置
JPH08212169A (ja) アレイプロセッサ
JPH08297652A (ja) アレイプロセッサ
JP2655243B2 (ja) 複合化ベクトル並列計算機
WO2018207883A1 (ja) データ処理装置
JPH04180124A (ja) ソート処理装置
JPH0126108B2 (ja)
JPH04184535A (ja) 並列演算装置
JPS60144830A (ja) 情報処理装置
JP2510220B2 (ja) 画像処理装置
JPS59154561A (ja) 連想情報処理装置
JPH08212168A (ja) アレイプロセッサ