JP2516611B2 - 並列デ−タ処理装置 - Google Patents

並列デ−タ処理装置

Info

Publication number
JP2516611B2
JP2516611B2 JP62024784A JP2478487A JP2516611B2 JP 2516611 B2 JP2516611 B2 JP 2516611B2 JP 62024784 A JP62024784 A JP 62024784A JP 2478487 A JP2478487 A JP 2478487A JP 2516611 B2 JP2516611 B2 JP 2516611B2
Authority
JP
Japan
Prior art keywords
processor
propagation
addition
processors
block
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
JP62024784A
Other languages
English (en)
Other versions
JPS63193232A (ja
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.)
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 JP62024784A priority Critical patent/JP2516611B2/ja
Publication of JPS63193232A publication Critical patent/JPS63193232A/ja
Application granted granted Critical
Publication of JP2516611B2 publication Critical patent/JP2516611B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、内蔵のプロセッサ配列がほぼ同一な構成の
プロセッサの縦続的な配列からなり、プロセッサ間の接
続が単純、規則的かつ局所的なうえ、プロセッサ配列を
実装するための複数プロセッサを搭載するモジュール
(例えば、LSI、ボード等)間の接続線が少ないにもか
かわらず、効率的な演算・転送が可能な伝搬演算(配列
を構成するプロセッサ間を順次伝搬させながら進める演
算・転送)をより高速に実行する並列データ処理装置に
関するものである。
(従来の技術) プロセッサ配列型の並列データ処理装置(以下アレイ
プロセッサと呼ぶ)の設計において離れたプロセッサ間
のデータの転送・演算をいかに高速に行うかは重要な問
題の一つである。一般に高速性を追求すると、プロセッ
サ間の接続線数が極端に増えたり、プロセッサ間の接続
構成の単純性がくずれ、装置の実現が困難になったりす
るからである。特にプロセッサの2次元配列からなるア
レイプロセッサ(2次元アレイプロセッサ)では、プロ
セッサ数が多く深刻である。このため、2次元アレイプ
ロセッサでは接続線数の増加の小さい高速化法である伝
搬演算方式〔A.P.REEVES,'A Systematically Designed
Binary Array Processor',IEEE Trans.Comput.,vol.C−
29,pp278−287(1980)。以下文献1という。〕が有用
である。(伝搬演算とは、プロセッサ間を、途中クロッ
クで同期をとることなく、プロセッサ内で演算を施しな
がらその結果を隣接プロセッサ間の接続線を介して次々
と伝搬させる演算である。演算機能を通過に選ぶと単な
るデータ転送になる。)これは、この演算方式が、本
来、通常のバスを用いる転送方式に比べると、装置の実
現容易性がほとんど低下しないにもかかわらず、(1)
同期やメモリ・レジスタアクセスの回数が小さくなるの
でデータを加工しながらプロセッサ間を次々と引き渡す
ことにより実現可能な処理(例えば総和演算)を高速化
できる。(2)バスと異なり転送系が一組のデータで占
有されることがないので、互いに転送区間が重複しなけ
れば同一の系で同時に複数組のデータ転送が可能であ
る。等の利点を有しているからである。また、伝搬演算
は画像処理における塗りつぶし処理、連結領域抽出処理
を効率的に実行する手段としても有効である〔文献
1〕。しかし、この演算方式は伝搬時間が途中経由する
プロセッサ数に比例して増加するため、経由するプロセ
ッサ数が多い場合、転送・演算時間が長くなりすぎる欠
点、あるいは、実際に演算を行うプロセッサがその時点
で伝搬演算にかかわっているプロセッサ(換言すれば伝
搬の先頭波面にあるプロセッサ)に限られ実効的な並列
度が低下する欠点がある。そこで、我々は伝搬の経路に
適当な間隔でバイパスを付加し、これによって伝搬演算
を階層的に行って並列度を上げる方式(以下バイパス付
加型伝搬演算方式と呼ぶ)を提案してきた[特公昭58−
29550号公報,特願昭56−016659号]。しかしながら、
このバイパスについては、その後の検討の結果、階層化
の手数が大きくなりすぎ高速化に役立たない場合が少な
くないことが明らかになってきた。その例として、画像
の情報圧縮のための符号化、文字認識における特徴抽出
等に用いる2値ライン上の白あるいは黒連結の長さ(ラ
ンレングス)を求める処理があげられる。
伝搬演算によりランレングスを求める方法は単純であ
る。ラインを構成する画素(白点あるいは黒点)がプロ
セッサに一対一で割り付けられているとすると、ライン
上の各白連結および黒連結内の左端の先頭プロセッサを
発信プロセッサ、他のプロセッサを加算プロセッサとす
る右方向の(先端から末尾に向う)伝搬加算を実行する
だけでよい。ここで、発信プロセッサとは伝搬加算中に
左隣からの入力を無視し論理値“1"を右隣のプロセッサ
に出力するプロセッサであり、加算プロセッサとは左隣
からの入力に“1"を加えて右隣のプロセッサに出力する
プロセッサである。これらのプロセッサの動作から明ら
かなように、伝搬とともに各プロセッサには自身の属す
る連結の左端からの距離が求まって行く。伝搬が連結の
右端まで到達するとその右端のプロセッサに連結のラン
レングスが得られる。以上のランレングス計算をバイパ
ス付加型伝搬演算方式を適用した一次元のプロセッサ配
列(第6図参照)で階層的に実行しようとすると、その
手順は次のように複雑になる。
〔ステップ1〕 バイパス113でスキップされうる4個
のプロセッサ(110a〜110d)の中に白あるいは黒連結の
先頭のプロセッサが存在するかどうかを4個のプロセッ
サ間の伝搬論理演算により求め結果をバイパス制御レジ
スタ115に書き込む。これにより、4個のプロセッサの
中に連結の左端となるプロセッサが存在しなければバイ
パス選択セレクタ114をバイパス側に選び、存在すれば
バイパスでない側に選ぶようプログラムする。
〔ステップ2〕 セレクタ114をバイパスでない側に選
んだ状態で連結の左端のプロセッサとともに各110aのプ
ロセッサを発信プロセッサとし他を加算プロセッサとす
る伝搬加算を実行し、その結果を各PE(プロセッサエレ
メント)で保持する。
〔ステップ3〕 各110dのプロセッサは0を出力するよ
うに、各110eのプロセッサは自身が加算プロセッサであ
れば入力にステップ2で得られた結果を加えた値を、自
身が発信プロセッサであれば1を出力するようにして、
セレクタ114をステップ1でプログラムしたバイパス制
御レジスタ115で制御しながら、伝搬加算を実行し、そ
の結果を110eのプロセッサに保持する。
〔ステップ4〕 連結の左端でない110eのプロセッサを
ステップ3で得られた結果に出力する発信PE、連結の左
端のプロセッサを0出力の発信PE、それ以外は入力をそ
のまま出力する転送プロセッサとする伝搬転送を実行
し、結果を各PEで保持する。
〔ステップ5〕 ステップ2で得られた結果とステップ
4で得られた結果を各PEで加え、その結果を最終的な伝
搬加算の結果とする。
以上の各ステップがその実行に数命令以上を必要とす
るので、全体の所要マシンサイクル数は、配列サイズが
よほど大きくない限り階層化しない場合より大きくなっ
てしまう。もちろん、それらの命令・ステップの大部分
ほ適当な布線論理ハードウェアを付加して並列に実行さ
せることにより削減可能である。しかし、そうするとア
レイプロセッサのハードウェア構成の単純性・規則性が
くずれ、装置の実現容易性を低下させることになる。
ところで、一次元アレイプロセッサは、二次元配列デ
ータの列方向が各プロセッサのローカルメモリの深さ方
向に、行方向がプロセッサの配列方向に並ぶよう割り付
けられていると、二次元アレイプロセッサにおける伝搬
演算を用いた処理(例えば射影処理、ランレングス計
算、交差線数係数等)を列方向については効率的にエミ
ュレートできる。これは、一次元アレイプロセッサで
は、ローカルメモリのアドレスを変えてデータをアクセ
スするだけでいわゆるラスタスキャン走査が可能であ
り、プロセッサの一次元配列を容易に伝搬の先頭波面に
割り付けられ、離れたプロセッサ間のデータの転送動作
が不要となるからである。行方向についても、各プロセ
ッサのローカルメモリの配列の全体が二次元アクセスメ
モリ(行方向からでも列方向からでもアクセスが可能な
メモリ)になっていれば、行を深さ方向、列を配列方向
として読み出すことにより、同様にエミュレートでき
る。すなわち、一次元アレイプロセッサでは、二次元ア
クセスメモリを用いることにより、伝搬演算を高速に実
行することができる。
二次元アクセスメモリの構成法は主に二通りに分けら
れる。一方は、通常のメモリの配列にアドレス変換回路
とデータ並び変え用ネットワーク(これがプロセッサ間
接続用ネットワークに相当する。)とを付加して等価的
に二次元アクセスメモリを構成する方法[元岡他「二次
元記憶を用いた連想処理システム」信学技報EC76−80。
以下文献2という。]であり、他方は直接ICチップ上に
二次元アクセスメモリを構成する方法[森田,山根「多
元アドレスメモリの回路構成法」昭和61年度電子通信学
会総合全国大会476。以下文献3という。]である。し
かし、いずれの方法も、先の伝搬演算手法に比べると、
(1)二次元アクセスメモリのハードウェアがかなり重
い。(2)同一モジュールを単純に縦接続するだけでプ
ロセッサ配列のサイズを大きくできない。等の欠点があ
る。
(発明が解決しようとする問題点) 本発明は複数プロセッサの規則的な配列を内蔵する並
列データ処理装置において、従来のプロセッサ間の伝搬
演算の高速化機構が高速化の程度が不十分であったり、
ランレングス計算のような処理に有効でなかったりした
点を解決するより高性能な伝搬演算の高速化機構を達成
し得る並列データ処理装置を提供することを目的とす
る。
(問題点を解決するための手段と作用) 本発明はプロセッサ間の伝搬演算にかかわるあるプロ
セッサ列が適当な大きさのプロセッサ列に分けられ、ブ
ロックごとにブロックへのビット単位の入力が0と1の
両方の場合の伝搬演算を入力の到達する前に行ってお
き、そのブロックへの実際の入力(0あるいは1)に応
じて、両方の伝搬演算のいずれかを正しい伝搬演算とし
て選択する構成となっていることを最も主要な特徴とす
る。伝搬演算対象に対に各プロセッサが一組の伝搬演算
系を用い一通りの伝搬演算を行うことを前提としていた
従来の技術とは、各プロセッサが内蔵する二組の伝搬演
算系を用い各プロセッサブロックで並行して二通りの伝
搬演算を進める点が異なる。
(実施例) 以下図面を参照して本発明の実施例を詳細に説明す
る。
第1図は本発明の第一の実施例である1ビットプロセ
ッサの5×N台の規則的な配列(この場合はN組のプロ
セッサブロックで構成される1次元配列である。)、制
御ユニット等からなる並列データ処理装置を説明する図
である。(a)の全体構成図で、20は5台のプロセッサ
からなるプロセッサブロック、21,22,23はブロックの端
子、25はブロック間の接続線、26はプロセッサ配列への
入力端子、27はプロセッサ配列からの出力端子、30はプ
ロセッサ配列制御用の信号を発生するための制御ユニッ
ト、31は発生された信号を全プロセッサに放送するため
の信号線である。(b)はプロセッサブロック構成図
で、1,1′は、1ビットプロセッサ、2〜8が1ビット
プロセッサの端子、9,10がプロセッサ間の接続線であ
る。左端のプロセッサ1の端子2および3には、それぞ
れ論理値“0",“1"が入力されている。(c),(d)
は1および1′の1ビットプロセッサの構成図で、11a,
11bは伝搬演算時に同一機能になる1ビット構成の演算
ユニット(ALU)、12,13は、伝搬演算時に端子6の入力
値が“0"ならば、11aのALUからの入力を選択して出力
し、逆に入力値が“1"ならば11bのALUからの入力を選択
して出力するセレクタ(伝搬演算以外では、11aのALUか
らの入力を選択して出力する)、14は1ビット構成の記
憶ユニット、15a,15bは、伝搬演算時に、端子2および
3からの入力を選択して出力するセレクタ(発信プロセ
ッサとなる場合あるいは伝搬演算以外の場合では、1ビ
ットのレジスタ16からの入力を選択して出力する。)、
17は、プロセッサ間の左から右へのシフト転送の際、1
のプロセッサの場合左隣のプロセッサブロックからの入
力を、1′のプロセッサの場合、左隣のプロセッサから
の入力をそれぞれ選択して出力するセレクタ(シフト転
送以外ではセレクタ12からの入力を選択して出力す
る。)、16,18,19は1ビットのレジスタである。19のレ
ジスタは、発信プロセッサを定義するための制御用でセ
レクタ15a,15bはその内容が1の時レジスタ16からの入
力、0の時端子2あるいは3からの入力が選ばれる。1
ビットプロセッサ1および1′の違いは、セレクタ17の
左側の入力として、端子6からの信号が入るか端子2か
らの信号が入るかのみである。
この実施例による伝搬演算の例として、ビットシリア
ル型の伝搬加算(後述するビットシリアル型の伝搬加算
についての説明参照)により全プロセッサが記憶ユニッ
トのA0番地に保持するL個の1ビットデータ間の総和を
とる場合についてステップ順に説明する。
〔ステップ1〕 最左端のプロセッサ(左端のプロセッ
サブロック内の左端のプロセッサ1)の制御レジスタ19
に1をこれ以外のプロセッサの制御レジスタには0をロ
ードし、最左端のプロセッサのみを発信プロセッサに割
り付ける。これによって伝搬加算における先頭プロセッ
サと物理的な先頭プロセッサが一致する。)が設定され
る。
〔ステップ2〕 全プロセッサで記憶ユニットのA1〜An
番地およびレジスタ16,18を0クリヤする。
〔ステップ3〕 記憶ユニットのA0番地をアクセスした
状態でALUを加算に設定し伝搬加算を開始する。そうす
ると、各プロセッサブロック内で11aのALUの縦続接続か
らなる上側の伝搬演算系ともう一方の11bのALUの縦続接
続からなる下側の伝搬演算系で第1図(b)の左端のプ
ロセッサの端子2,3への入力から明らかなようにプロセ
ッサブロックへの入力が“0"と“1"の両方の場合につい
て並行してA0番地に関する1ビット分の伝搬加算が始ま
る。各プロセッサブロックの伝搬加算が端子21への入力
を待たずに進行することがポイントである。各プロセッ
サブロックで2系統の伝搬加算が終了すると、始めに2
系統の伝搬演算系で同じ演算を行っている左端のプロセ
ッサブロックで出力のサム(端子22の値)が確定する。
次段のプロセッサブロックではこのサムを受け取り、そ
れでセレクタ12を切り換えるだけで演算が終了しブロッ
クの出力のサムが確定する。これは、すでに可能な入力
の両方の場合(“0"と“1")についてブロック内の伝搬
加算が終了しているからである。従って、各プロセッサ
ブロックで2系統の伝搬加算が完了した後のプロセッサ
ブロック間の伝搬は極めて高速となり、全体の伝搬加算
時間は大きく短縮される。
〔ステップ4〕 ステップ3で設定したサムをA0番地
に、キャリをレジスタ18に格納する。
〔ステップ5〕 A1〜Anについて、それぞれステップ3,
4と同様の処理を繰り返すことによりキャリの清算を行
う(清算方法については後述するビットシリアル型の伝
搬加算についての説明参照)。
ここで、本発明の加算時間の短縮効果について簡単に
評価する。比較の対象としては、隣接プロセッサ間にの
み接続線を有し一組の伝搬演算系のみを有するプロセッ
サからなる基本の一次元プロセッサ配列とする。一般的
に論じるため先の実施例のプロセッサブロックのプロセ
ッサ数をN、全体のプロセッサブロック数をMとすると
ともに、実施例とそろえるために基本の一次元プロセッ
サ配列のプロセッサ数をL(=M×N)とする。各プロ
セッサの伝搬加算時間tpdは共に1単位時間とする。こ
の仮定は、実施例のように伝搬演算系を2重化しても伝
搬演算時間の増加する要因としては、プロセッサごとに
15aあるいは15bのセレクタが一つ伝搬経路に余分に入る
程度であることから妥当なものといえる。(第1図のブ
ロック図では伝搬演算系にセレクタとALUが一つずつし
か入っていないが、実際のプロセッサではもっと多くの
セレクタ等が入るので、セレクタ一個がさらに余分に入
っても、プロセッサ全体としての伝搬遅延時間の増加の
割合は小さい。)また、各プロセッサブロックで2系統
の伝搬加算が終了している状態で端子21に入力が入って
から端子22に出力が出るまでの時間tpdも1単位時間と
する。この値は端子21への入力でセレクタ12が切り換わ
るだけで即出力が出ることから、各プロセッサの伝搬加
算時間tpdを1単位時間としたのと比べると大きめと言
える。これらの仮定にもとずくと、基本の一次元プロセ
ッサ配列による伝搬加算時間T0は、 T0=L ……(1) 本発明の実施例の伝搬加算時間T1は、先頭のプロセッ
サブロックでの通常の伝搬加算時間Mと次段以降のプロ
セッサブロック間の高速な伝搬加算時間N−1との和
で、 T1=M+N−1 ……(2) となる。L=M×Nより、T1はM,Nを に近い整数値を選ぶことにより最小化され、このとき、 となる。(1),(2)式から明らかなようにLが大き
くなるほど本発明による高速化率は高まる。Lに適当な
数値を入れてT1,T2の関係を調べた結果を表にしめす。
次に、第一の実施例によるビットシリアル型伝搬加算
の別の例として、従来技術の項で説明したランレングス
計算の場合のように伝搬加算における先頭プロセッサ
(連結の端のプロセッサ)がプロセッサ配列の途中に存
在する場合について説明する。
先頭プロセッサの設定は、先に説明したようにそのプ
ロセッサの制御レジスタ19に1を書き込み発信プロセッ
サとすることにより実現される。発信プロセッサでは、
それがプロセッサブロックのどの位置にあっても、セレ
クタ15a,15bの出力として、レジスタ16の出力の内容
(あらかじめ0に設定されている。)を選ぶ。従って、
このプロセッサでは端子2,3からの入力を無視し両方の
伝搬演算系の入力として換わりに“0"が入るので、結局
このプロセッサを先頭(すなわち論理的な先頭プロセッ
サ)とする伝搬加算が始まることになる。当然ながら、
発信プロセッサから同一プロセッサブロック内の右端の
プロセッサまでは上下の伝搬演算系が同一の加算をする
ことになる。また、発信プロセッサは隣からの入力と無
関係に動作するので、プロセッサ配列全体を伝搬加算に
設定すると同時にこのプロセッサから右方向への伝搬加
算が開始されプロセッサブロック間の伝搬加算に移る時
点では他のプロセッサブロック同様ブロック内の伝搬加
算は終了している。従って、伝搬加算の先頭のプロセッ
サが配列の途中にあるからといって、全体の伝搬加算に
要する時間が伸びたり、バイパス付加型伝搬演算方式の
ように制御が複雑となりそのためのオーバヘッドが生じ
ることもない。
以上、ALUの機能として加算を選んだ伝搬加算につい
て説明してきたが、ALUの機能を論理演算に選べば同様
に伝搬型の論理演算が高速に実行される。
本発明は、パイプライン処理の手法を採り入れること
により一層の高速化が可能である。パイプライン処理は
第一の実施例でプロセッサ1,1′にいわゆるパイプライ
ンレジスタを付け加えるだけで容易に実現できる。第2
図は、そのパイプラインレジスタを付加したプロセッサ
1,1′の構成を示している。以下、第一の実施例でプロ
セッサ1,1′のみを第2図のそれに置換した第2の実施
例について、このパイプライン化伝搬演算について説明
する。
パイプライン化伝搬加算は、プロセッサブロック内の
伝搬加算(上下2系統分)とプロセッサブロック間の伝
搬加算をパイプライン処理により並列に実行するもので
ある。その動作内容は、全プロセッサが記憶ユニットA0
番地とAW+1番地に保持するL個ずつの1ビットデータ間
の総和をとる場合、次の通りである。
〔ステップ1〕 先頭プロセッサの設定 最左端のプロセッサの制御レジスタ19に1を、これ以
外のプロセッサの制御レジスタに0を、それぞれロード
する。
〔ステップ2〕 記憶ユニットおよびレジスタのクリヤ 全プロセッサで、記憶ユニットのA1〜AW,AW+2〜A2W+2
番地およびレジスタ16,18,40a,40b,41a,41bを0クリヤ
する。
〔ステップ3〕 伝搬加算 〔サブステップ3−1〕 記憶ユニットのA0番地をアクセスしALU機能を加算に
選ぶことにより、A0の内容についての伝搬加算を開始す
る。そうすると第一の実施例の場合と同様にプロセッサ
ブロック内の伝搬加算が進行する。プロセッサブロック
内の右端のプロセッサまで伝搬した段階で、各プロセッ
サにおいてレジスタ41a,41bの内容のいずれかをレジス
タ18に移すとともに得られたサムおよびキャリをレジス
タ40a,40bおよび41a,41bに書き込む。
〔サブステップ3−2〕 記憶ユニットのAW+1番地をアクセスしALU機能を加算
に選んだままで、AW+1番地の内容についての伝搬加算を
開始する。一方、前ステップ(この場合はサブステップ
3−1)で得られた結果(レジスタ40a,40bの内容)を
用い、A0の内容に関するプロセッサブロック間の伝搬加
算も同時に始める。これら両方の伝搬加算が進行し、プ
ロセッサブロック内、プロセッサブロック間の両方で伝
搬が終了した段階で、各プロセッサにおいて、プロセッ
サブロック間の伝搬加算により確定したA0番地の1ビッ
ト目の総和結果とレジスタ41a,41bのいずれかの選択結
果をそれぞれAW+1とレジスタ18に書き込むとともに、プ
ロセッサブロック内の伝搬加算により確定した2系統の
サムおよびキャリを、レジスタ40a,40bおよび41a,41bに
書き込む。
〔サブステップ3−3〕 AW+1をA1,A0をAW+1に書き換えた以外はサブステップ
3−2と同じ処理を行う。
以下、サブステップ3−2,3−3の処理を記憶ユニッ
トのアドレスを順次インクリメントしながらw回繰り返
し行うことにより、左端のプロセッサからそのブロック
までのA0番地の総和結果が、AW+1〜AW+2番地に、AW+1
総和結果がA0〜AW番地にビットシリアルデータで得られ
る。
以上の動作内容から明らかなように、プロセッサブロ
ック内の伝搬加算とプロセッサブロック間の伝搬加算が
並列に行われるので、ブロック間とブロック内の伝搬加
算時間が等しくなるようにすれば、全体の伝搬加算時間
を1/2に短縮できる。
次に論理演算の場合について説明する。この場合、キ
ャリは関係しないので、41a,41b,13,18等を動かす必要
はない。全プロセッサのそれぞれが記憶ユニットA0番地
からAW番地に保持する語長w+1のビットシリアルデー
タL個の全体の論理和をとる場合、その動作内容は次の
通りである。
〔ステップ1〕 先頭プロセッサの設定 最左端のプロセッサの制御レジスタ19に1をこれ以外
のプロセッサの制御レジスタに0をロードする。
〔ステップ2〕 レジスタのクリヤ 全プロセッサで、レジスタ40a,40b、をクリヤする。
〔ステップ3〕 伝搬論理和 〔サブステップ3−1〕 記憶ユニットのA0番地をアクセスしALU機能を論理和
に選ぶことにより、A0番地の内容についての伝搬論理和
を開始する。こうすると伝搬加算の場合と同様にまずプ
ロセッサブロック内の伝搬論理和が進行する。プロセッ
サブロック内の右端のプロセッサまで伝搬した段階で、
各プロセッサにおける2系統の伝搬論理和の結果をレジ
スタ40a,40bに書き込む。
〔サブステップ3−2〕 記憶ユニットのA1番地をアクセスし、ALU機能を論理
和に選んだままで、A1番地の内容についての伝搬論理和
を開始する。一方、サブステップ3−1で得られた結果
(レジスタ40a,40b)を用い、A0の内容に関するプロセ
ッサブロック間の伝搬論理和も同時に始める。これら両
方の伝搬論理和が進行し、プロセッサブロック内、プロ
セッサブロック間の両方で伝搬が終了した段階で、各プ
ロセッサにおいてプロセッサブロック間の伝搬論理和に
より確定したA0番地に関する論理和結果をA1番地に書き
込む。また、それと同時にプロセッサブロック内の2系
統の伝搬論理和により確定した結果をレジスタ40a,40b
に書き込む。
以下、サブステップ3−2を記憶ユニットのアドレス
を1ずつインクリメントしながらw回繰り返すことによ
り、A0〜AWのビットシリアルデータの(配列全体の)左
端のプロセッサからそのプロセッサまでの論理和結果が
A1〜AW+1に得られる。伝搬加算のパイプライン化と同
様、プロセッサブロック間とプロセッサブロック内の伝
搬演算が並行して行われるので演算時間は1/2に短縮さ
れる。
次にハードウェア量とハードウェアの実現容易性につ
いて比較する。本発明のハードウェア量は、従来の2種
類の伝搬演算方式に比べるといくぶん増加する。基本の
繰り返し単位であるプロセッサの伝搬演算系を2重化し
ているからである。しかし、その増分は、配列サイズが
大きい場合、二次元アクセスメモリのハードウェア量に
比べると小さい。例えば、プロセッサが1ビット構成の
場合、本発明の増分(第3図の基本の伝搬演算が可能な
1ビットプロセッサに対する第1図(c),(d)のプ
ロセッサの増分)は、セレクタ・レジスタ・伝搬演算ユ
ニット(4本の制御信号で指定可能な16機能を有するAL
U)に文献4(C.Mead and L.Conway,'Introduction to
VLSI Systems",Addison−Wesley(1980))の5章に示
されるトランスミッションゲートを用いて構成すれば、
プロセッサ配列のサイズによらず100トランジスタ程度
である。従って、一組あるいは複数組のプロセッサブロ
ックを搭載したLSIの開発は従来技術同様可能であり、
そのLSIを単に縦続接続するだけで大きなプロセッサ配
列を構成できる。これに対し、二次元アクセスメモリで
は、直接ICチップ上に構成する場合、プロセッサ配列の
サイズをLとすると、L×Lのメモリアレイを載せるこ
とになる[文献3]から、プロセッサ当りの増分はLメ
モリセルとなりLが64程度まではメモリアレイの集積度
の高いことから本発明と同等におさまる。しかし、Lが
これ以上になると、本発明との差分がますます大きくな
り、ついては二次元アクセスメモリ全体を1チップに搭
載できなくなる。もちろん大きな二次元アクセスメモリ
は1チップ化が可能なより小さな二次元アクセスメモリ
ICの正方格子状の配列で構成できるが、本発明のような
単純な縦続接続に比べると必要な部品数も多く複雑とな
る。また、標準メモリ、アドレス変換回路、データ並び
変え用ネットワークで二次元アクセスメモリを構成する
場合については詳しく議論しないが、配列のサイズが大
きければ、同様にプロセッサ配列のLSIに一体化するこ
とは困難である。基本となる小さなデータ並び変え用ネ
ットワークICの組み合わせで実現しようとしても、やは
り単純な縦続接続で構成することはできない[文献
2]。
次に、ビットシリアル型伝搬加算について説明する。
この伝搬演算は人が通常行う筆算と同じ要領で、一桁
ずつ(1ビット分ずつ)加算を行っていくことにより、
全体の和を得る加算法である。以下4個のプロセッサの
記憶ユニットのA0番地に入っている1ビットデータの総
和を求める場合を例に具体的に説明する。
第4図は各プロセッサの演算に関係するALU・記憶ユ
ニットの一部領域・レジスタ(キャリ用)等を抜き出し
て図示したものである。ここで点線枠内は一個のプロセ
ッサに対応し、0、1の値は記憶ユニット・レジスタの
中味(初期値)である。この図は演算前の状態を示して
おり、A0以外にはすべて0が入っている。また左端のプ
ロセッサが伝搬加算の先頭であり、ALUの左側入力は0
固定となる。次にこの伝搬加算を第5図を用い具体的に
説明する。
第5図(a)は、A0に関する加算の伝搬が終了した時
点での状態を示しており、左端のプロセッサでは固定入
力値として0、A0の内容として1及びキャリレジスタの
内容として0が加えられ、その結果サムが1、キャリが
0となっている。右側の3台のプロセッサも同様に動作
し、図示の通りサムとキャリが得られている。次に、こ
れらのサムとキャリで、A0とキャリレジスタを更新する
と第5図(b)のようになる。ここで、A0に書かれた内
容が1ビット目の総和結果である。ここで、キャリレジ
スタの内容はすべて0ではなく、キャリの清算のための
伝搬加算を行う必要がある。
第5図(c)は、キャリの清算のための伝搬加算を図
示したものであり、先のA0に関する伝搬加算で生じたキ
ャリとA1の内容(全プロセッサで0)との間の加算の伝
搬が終了した状態を示している。A1の内容はすべて0
で、キャリレジスタは左から3番目のプロセッサのみが
1なので、図示の通り伝搬加算によって生じるキャリは
すべて0、サムは左から3番目と4番目のプロセッサの
みが1となる。第5図(d)はこれらのキャリとサムで
A1およびキャリレジスタを更新した後の状態を示してい
る。この状態でのキャリレジスタの内容はすべて0であ
り、キャリの清算のための伝搬加算を行う必要はない。
すなわち、A0、A1に総和結果が求められたことになる。
実際、左端のプロセッサから順に、十進換算値として1,
1,2,3が入って第4図のA0のデータ配列から明らかなよ
うに正しい結果を与えている。
(発明の効果) 以上説明したように本発明は、従来の伝搬演算方式や
二次元アクセスメモリを用いる方式とは異なり、プロセ
ッサアレイのサイズが大きくなってもプロセッサ配列を
内蔵するLSIを単純に縦続接続するだけで対応可能であ
りかつ発信プロセッサの位置によらず高い伝搬演算の高
速化が達成される。従って、ハードウェア量の制約が厳
しくかつ伝搬演算を多用する配列サイズの大きい二次元
アレイプロセッサには極めて有効である。また一次元ア
レイプロセッサでも扱うデータが一次元配列データとし
てしか処理できない場合や他の手段(二次元アクセスメ
モリ)を用いたのではハードウェア量が多くなり過ぎる
場合には、有用である。もちろん、他の手段と併用する
ことにより互いに不得手とする演算を補い合う構成も考
えられる。例えば一次元アレイプロセッサにおいて二次
元アクセスメモリと併用する構成では、本発明では実現
不可能な90度回転を二次元アクセスメモリに、二次元ア
クセスメモリでは高速化困難な一次元配列データの伝搬
演算を本発明の伝搬演算機構に、それぞれ分担させるこ
とにより高い性能を引き出すことができる。
なお、本発明は伝搬演算が画像処理・文字認識におけ
る特徴抽出処理、LSI・PCBのCAD等で多用されることか
ら、これらの処理を目的とした一次元・二次元アレイプ
ロセッサへの適用が期待される。
【図面の簡単な説明】
第1図は本発明の第一の実施例を示すブロック図、第2
図は本発明の第二の実施例に用いるプロセッサのブロッ
ク図、第3図は従来の伝搬演算可能なプロセッサ配列を
構成する基本的なプロセッサのブロック図、第4図はビ
ットシリアル型伝搬加算説明用のプロセッサ配列(初期
状態)を示すブロック図、第5図はビットシリアル型伝
搬加算の手順を示すブロック図、第6図はバイパス付加
型伝搬演算方式を適用した一次元のプロセッサ配列を示
すブロック図である。 1,1′……二重の伝搬演算系を有するプロセッサ、2…
…上側の伝搬演算系の入力端子、3……下側の伝搬演算
系の入力端子、4……上側の伝搬演算系の出力端子、5
……下側の伝搬演算系の出力端子、6……前段のプロセ
ッサブロックの出力を受信するための入力端子、7……
プロセッサブロック用の出力端子、8……全プロセッサ
共通の制御信号受信用の入力端子、9,10……プロセッサ
間接続線、14……記憶ユニット、11a,11b……演算ユニ
ット(ALU)、12,13,15a,15b,17……セレクタ、16,18,1
9……1ビットレジスタ、20……プロセッサブロック、2
1……プロセッサブロックの入力端子、22……プロセッ
サブロックの出力端子、23……全プロセッサブロック共
通の制御信号受信端子、25……プロセッサブロック間の
接続線、30……制御ユニット、31……プロセッサブロッ
ク用共通制御信号線、40a,40b,41a,41b……パイプライ
ンレジスタ、110a,110b,110c,110d,110e……プロセッ
サ、113……バイパス、114……バイパス選択セレクタ、
115……バイパス制御レジスタ。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】N個のプロセッサを縦続的に接続してプロ
    セッサブロックが構成され、このプロセッサブロックを
    M個縦続的に接続して構成される並列データ処理装置で
    あって、各プロセッサが、同時に同一機能になるうる第
    一の演算ユニットおよび第二の演算ユニットとこれら演
    算ユニットの出力のいずれかを選択するための演算ユニ
    ット出力セレクタとを備え、ブロック内の末尾に位置す
    るプロセッサは前記演算ユニット出力セレクタの出力を
    ブロック間の接続線を介して末尾側の隣接ブロックに導
    き該隣接ブロック内のプロセッサの演算ユニット出力セ
    レクタの制御信号として用い、ブロック内の末尾に位置
    しないプロセッサは第一の演算ユニットの出力をプロセ
    ッサ間の接続線を介して末尾側の隣接プロセッサの第一
    の演算ユニットの入力に導くとともに、該第二の演算ユ
    ニットの出力をプロセッサ間の接続線を介して該隣接プ
    ロセッサの第二の演算ユニットの入力に導き、ブロック
    内の先頭のプロセッサは第一および第二の演算ユニット
    への入力として互いに相補的な固定値が加えられること
    を特徴とする並列データ処理装置。
JP62024784A 1987-02-06 1987-02-06 並列デ−タ処理装置 Expired - Fee Related JP2516611B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62024784A JP2516611B2 (ja) 1987-02-06 1987-02-06 並列デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62024784A JP2516611B2 (ja) 1987-02-06 1987-02-06 並列デ−タ処理装置

Publications (2)

Publication Number Publication Date
JPS63193232A JPS63193232A (ja) 1988-08-10
JP2516611B2 true JP2516611B2 (ja) 1996-07-24

Family

ID=12147810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62024784A Expired - Fee Related JP2516611B2 (ja) 1987-02-06 1987-02-06 並列デ−タ処理装置

Country Status (1)

Country Link
JP (1) JP2516611B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327579A (en) * 1990-11-06 1994-07-05 Nippon Telegraph And Telephone Corporation Scanning systems using tree structures

Also Published As

Publication number Publication date
JPS63193232A (ja) 1988-08-10

Similar Documents

Publication Publication Date Title
Duff Review of the CLIP image processing system
EP0248906B1 (en) Multi-port memory system
EP0539595A1 (en) Data processor and data processing method
JPH0778825B2 (ja) 画像処理プロセツサ
JPH02170263A (ja) ニユーラルネツト信号処理プロセツサ
JPH0233191B2 (ja)
CN110674927A (zh) 一种用于脉动阵列结构的数据重组方法
US5268856A (en) Bit serial floating point parallel processing system and method
US4956800A (en) Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
US11580055B2 (en) Devices for time division multiplexing of state machine engine signals
JP2001249824A (ja) 論理エミュレーションプロセッサおよびそのモジュールユニット
JP3458518B2 (ja) 並列プロセッサ
Yang Design of fast connected components hardware
US5572687A (en) Method and apparatus for priority arbitration among devices in a computer system
JP2516611B2 (ja) 並列デ−タ処理装置
JPH04295953A (ja) 要素プロセッサの2次元アレイを内蔵する並列データ処理装置および要素プロセッサのサブアレイユニット
JPS6142031A (ja) ソ−ト処理装置
Robin et al. Functionally asynchronous array processor for morphological filtering of greyscale images
JP2732843B2 (ja) 空間分割スイッチ
JPH0467253A (ja) 並列データ処理装置
JP2791763B2 (ja) 演算装置
Fountain An evaluation of some chips for image processing
JP2515724B2 (ja) 画像処理装置
JPH0727515B2 (ja) 2次元メッシュ・アレイの処理要素
JPH0668055A (ja) ディジタル信号処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees