JPS60140456A - 並列処理装置 - Google Patents

並列処理装置

Info

Publication number
JPS60140456A
JPS60140456A JP58246936A JP24693683A JPS60140456A JP S60140456 A JPS60140456 A JP S60140456A JP 58246936 A JP58246936 A JP 58246936A JP 24693683 A JP24693683 A JP 24693683A JP S60140456 A JPS60140456 A JP S60140456A
Authority
JP
Japan
Prior art keywords
processor
data
shift
ring bus
control
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
JP58246936A
Other languages
English (en)
Other versions
JPH0642237B2 (ja
Inventor
Hitoshi Matsushima
整 松島
Hirotada Ueda
博唯 上田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP58246936A priority Critical patent/JPH0642237B2/ja
Priority to EP84116392A priority patent/EP0147857A3/en
Publication of JPS60140456A publication Critical patent/JPS60140456A/ja
Publication of JPH0642237B2 publication Critical patent/JPH0642237B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、情報処理を高速に実行するための並列処理装
置に係り、特に画像図形などの2次元状のデータを複数
個の計算手段(以降プロセッサと呼ぶ)を用いて処理す
る画像処理に好適な並列処理装置に関する。
〔発明の背景〕
画像処理の高速化方式の一つに従来からプロセッサを格
子状に配列し、各プロセッサに画像データを同時に供給
し、並列的に演算を実行させる方式があった。その代表
例として米国で開発されたILLIACI V (元岡
達著[計算機システム技術」オーム社pH9)があるが
、その基本的構成は第1図に示すようなものである。図
中、1−1は制御部、1−2はメモリ、1−3−1.1
−3−2〜1−3− nはプロセッサ群である。この方
式は、画像データの2次元配列と同様にプロセッサ群が
2次元的に配置されているため、画像処理で多用される
2値化や画像間加減算などのいわゆる画素単位処理で、
極めて高い並列処理効果を持つ。
またこの効果を、空間微分などいわゆる局所領域処理で
も発揮させるために、この従来方式では。
格子状に配置されたプロセッサ間で上下左右の4方向、
又は、第1図には示していないがそれに斜めの4方向、
右上、右下、左上、左下も加えた8方向の接続線を持っ
ている。この接続の場合、格子配列の周辺部で、対応す
るプロセッサが存在しないことがある。そこで周辺部で
は、メモリ1−2とデータ転送が可能となっている。今
、第1図中糸から右へ、プロセッサ間でデータ転送する
場合を例にとってこのプロセッサ間通信の手順を示す。
まず、第1図中行方向データ入出力制御1−4.1−5
、列方向データ入出力制御1−6.1−7に対して、制
御部1−1から右方向データ転送制御信号が出力される
。この転送制御信号は、信号線1−14を使って転送さ
れる。これによって、行方向データ入出力制御1−4は
メモリ1−2からの画像データをプロセッサに送り込む
モードとなる。すなわちデータ線1−15から、1−4
を経てプロセッサ行列の左端の各プロセッサへ信号を転
送するよう信号線の入出力制御を行なう3プロセツサへ
の入力線は第1図中の1−16である。一方、その反対
側の行方向データ入出力制御1−5は、プロセッサ群か
らの信号1−17を信号線1−18へ送るように制御す
る。また、その時、列方向データ入出力制御1−6.’
1−7は、稼動しない。以上が左から右へのデータ転送
例であるが、右から左の場合は全くこの逆となる。また
上から下、下から上の場合は、上述の説明上、行と列を
入れ換えたと同じ方法をとる。なお、このデータシフト
は、各プロセッサ所定の値をメモリから入力する場合に
も使用される。また、周囲において、画像メモリを何ら
参照する必要のない場合は、行方向データ入出力制御、
列方向データ入出力制御はそれぞれ予め指定された境界
値、例えばII O#lを設定し、プロセラ8、力する
。また、プロセッサ行列の左端と右端、又は、上端と下
端をそれぞれ結合したリング状の形でのプロセッサ接続
をしたい場合は、各方行データ入出力制御とメモリ1−
2間とのデータ転送を制御する1−19の中で、その結
合したい線同志を接続すればよい。この接続の指示は制
御部1−1からの信号線1−20を通じて行なわれる。
なお、この1−19への入出力線が非常に多くなる場合
は、この回路1−19と、行、列方向データ入出力制御
l−4〜1−7をまとめた回路にすると良い。その場合
でも制御の方法は上述の説明の内容とほぼ同じである。
また、このプロセッサ間転送で、それに同期してメモリ
データ転送が必要の場合は、信号線1−21を使ってメ
モリ1−2が制御される。
以上の方法によってプロセッサ間転送を実現していた。
また、必ずしも全プロセッサを稼動させる必要のない場
合や特定のプロセッサのみを動がしたい場合のように、
各プロセッサの動きを制御するために各プロセッサに物
理的な行アドレス、列アドレスを持たせている。以下こ
の動きを説明する。
制御部1−1から送られるプロセッサアドレス線1−9
の情報は、行アドレス制御1−10、列アドレス制御1
−11でデコードされ、それぞれプロセッサ群の行数2
列数に応じた本数の行アドレス線1−12、列アトL/
X線1−13がON 10FF制御される。このアドレ
ス線はその中の1本のみONになったり、1本のみOF
Fになったり、全部ONになったりするよう各制御が働
く。そこで、その行アドレス線、列アドレス線の制御に
より、その交点となる特定のプロセッサを駆動させたり
、特定の行アドレスをもつ一行全部又は、列アドレスを
持つ1利金部の、あるいはすべてのプロセッサが駆動し
たりする。この駆動制御のもとに、駆動状態にあるプロ
セッサは、制御部1−1から送られるコマンド1−8を
解読し実行する。以上が従来例としてあげた第1図の動
作方法である。
これらの手段に゛より、この従来方式は、周囲画素を参
照する必要のある複雑な画像処理においても高速性を発
揮する長所を持っている。しかし、一方で、この周囲と
の接続機構のために、この従来方式は最初インプリメン
トされた行の数と列の数で配列が完全に固定してしまう
。例えば、距離変換などという画像処理で非常に多く使
用されている。伝播型の処理においては、配列上の1部
分しか1度に処理できず、並列処理の効果がないという
大きな欠点を持っていた。また、この接続機構に含まれ
る信号本数が多くなり、実装も大規模になるという欠点
も有していた。この欠点を第2図を用いて説明する。第
2図は、第1図中のプロセッサ群の中から、1つプロセ
ッサを取り出し、その概略構成を示したものである。今
この1つのプロセッサを一般的にi番目のプロセッサと
いう意味で記号1−3−iで示す。プロセッサは、制御
ユニット2−1、記憶演算ユニット2−2、他プロセツ
サとのデータ転送を行なうゲート群2−20.2−21
.2−22.2−23.2−24゜2−25.2−26
.2−27.および信号線群からなる。この記憶演算ユ
ニットは、記憶部として大容量のランダムアクセスメモ
リを含むこともある。プロセッサは、コマンドデータ1
−8を制御ユニット2−1で解読し、それが記憶、演算
コマンドの場合記憶演算ユニツ1〜でそのコマンドを実
行する。そのためデータが2−16であるコマンドがリ
セット、スタートなどの制御コマンドの場合は、制御ユ
ニツ[・内で実行する。また、プロセッサ間データ転送
コマンドの場合は、信号2−3〜2−10を使って、そ
れぞれゲート群2−20〜2−27を制御するとともに
、データ2−16を使って、記憶演算ユニットのデータ
人力2−15、データ出力2−12の処理を行なう。プ
ロセッサ間の接続は、左方向が2−13、右方向2−1
4、上方向2−21、下方向2−20を使ってそれぞれ
行なわれる。プロセッサ群の行列の周辺のプロセッサで
は、これらの信号の1つ、角のプロセッサでは2つが、
第1図中の行方向データ入出力制御1−4.又は1−5
のいずれか一方、又は列方向データ入出力制御1−6、
又は1−7のいずれか一方に接続される。この信号は、
通常ビット数が多いため、これらの信号を送る信号線や
ゲートの数が非常に多くなる。第2図の構成の動作を、
プロセッサ間でデータを右から左へ転送する゛場合を例
にして以下に説明を行なう。コマンドデータ1−8を左
方向転送コマンドてすると、制御ユニツI〜2−1は、
ゲート制御信号2−3゜2−6をON状態とし、他のす
べてをOFF状態とする。ゲート2−20は、そのゲー
ト制御信号がON状態になることにより、記憶演算ユニ
ット2−2の出力データ2−12を左方向プロセッサ間
接続データ2−13へ送る。その際この出力データ2−
12を右方向、上、下方向へ送るべきゲート2−22.
2−’24.2−27はいずれも、そのゲート制御信号
が○FF状態により、データ転送が行なわれない。一方
、右方向のプロセッサからのデータ2−14は、ゲート
2−23を経て、記憶演算ユニット2−2の入力データ
2−15へ接続される。その際入力データ2−15と結
合されている、左方向、上方向、下方向からのデータ入
力2−13.2−21.2−20のゲート2−21.2
−25.2−26はいず′れも、その制御信号がOFF
状態にある。なお、特定のプロセッサのみを動作させる
時等のために1列アドレス線の一つ1−121行アドレ
ス線の1つ1−13とAND回路2−30を使用する。
この図に示すように、データ線の本数が多くなるため、
実装規模が大きくなる。また、本来アレイ型並列処理は
集積回路向と言われているにもかかわらず、装置の大型
化とコスト高を招くことになる。
以上説明したように、従来方式では並列処理効果が極端
に惑くなる処理が多く存在したり、装置が大型化、コス
ト高になるという欠点があり、その普及が図られなかっ
た。
〔発明の目的〕
本発明の目的は、アレイ方式の並列処理装置において、
並列処理効果をあげるために画像処理の内容に応じてア
レイの行の数、列の数を変更した配置をとれることを可
能とするプロセッサの結合及び制御方式を持つ並列処理
装置を提供することにある。また、別の目的は、小型化
し実装容易にした並列処理装置を提供することにある。
〔発明の概要〕
上記目的を達成するために、本発明はまず、各プロセッ
サをリング状に結合し、そのリングに沿って画像データ
や結果データを移動させる方式をとる。これにより、プ
ロセッサ間の接続に要するハードウェア量を削減すると
ともに、上記リングに沿ったデータの移動量を制御する
。これにより、アレイの構成に応じた4方向又は8方向
のデータ転送を可能とする。この移動量は、必要とする
行の数、列の数によってプログラムで計算できるので、
本方式を用いることにより、用意されているプロセッサ
数を因数分解する任意の2つの数字をアレイの行と列と
するプロセッサ配置が実現できることになる。しかし、
これだけでは、行列の周辺のプロセッサに対する処理が
充分ではない。そこで本発明は、前述のリング状接続に
加え、各プロセッサ内に、それ自身の行番号と列番号を
記憶する記憶部を設けるとともに、その内容によってリ
ングを移動するデータを利用するか否かを判定する制御
機構を設けることを特徴とする。本発明により、単純な
画素単位処理から複雑な伝播処理に至る法尻な画像処理
において、高速性が発揮できるアレイ方式の並列処理装
置を提供することができる。
〔発明の実施例〕
以下、図面を用いて本発明の一実施例を詳細に説明する
第3図は、n個のプロセッサをリング状に接続するバス
を設けた並列処理装置である。本装置は、制御部3−1
.プロセッサ群3−2(0)、3−2(1)、・・・、
 3−2(n−1)、リングバス部3−3より構成され
る。リングバス部3−2は、更に、各プロセッサと直接
データのやりとりが可能なリングバスノードレジスタ部
3−4(0)、 3−4(1)、・・・、3−4(n−
1)、そのノードレジスタ部間を接続するリングバス3
−5、そのノードレジスタ部のデータセット、データ転
送を制御するリングバス制御3−6、およびその制御情
報をノードレジスタ部に伝える信号3−8よりなる。リ
ングバス制御3−6は、制御部3−1との制御信号3−
7に基づきリングバス3−5上のデータをノードレジス
タ部間でどれだけ移動させるかを決定し、その移動量に
相当するシフトクロックを、信号3−8の一部を通じて
各ノードレジスタ3−4(0)〜3−4(n−1)に送
る。信号線3−12(0)、3−12(1)、・・・、
3−12(n−1)はそれぞれプロセッサ群3−2(0
)、3−2(1)、・・・。
3−2(n−1)とノードレジスタ部群3−4(0)。
3−4(1)、・・・、3−4(n−3)を接線する信
号線である。また、制御部3−1がプロセッサ群3−2
(0)、・・・3−2(n−1)を制御したり、それら
と情報のやりとりをしたりするために、制御バス3−9
、データバス3−10、アドレスバス3−11がそれぞ
れ設けられている。プロセッサ群には、0からn−1の
論理番号がそれぞ、れのプロセッサに付されている。こ
の順番は、各プロセッサに接線されているリングバスノ
ードレジスタ部3−4(0) 〜3−4(n−1)のリ
ンpfバス3−5上での接続の順番と一致している。n
iす一部3−1より、アドレスバス3−11を使う二と
により、プロセッサ群の中の特定の論理番号kを持つプ
ロセッサ3−2(k)を制御することができる。以降こ
の記号には、0〜(TI−1,)の中の1つの値を一般
的に示すものとする。なお、アドレスバス3−11の機
能としては、後述するごどく単に特定の1つのプロセッ
サ3−2(k)のみを指定するばかりでなく、全プロセ
ッサを指定する機能を持たせることもできる。プロセッ
サ3−2(k)には少なくとも2つの数字を記憶するこ
とのできるメモリ又はレジスタ(これを今後一般的にレ
ジスタと呼んで説明してい<)3−13(k)、3−1
4(k>が設けられる。また、制御部にも、少なくとも
3つの数を記憶できるレジスタ又はメモリ(これも一般
的にレジスタと呼ぶ)3−15.3−16゜3−17が
設けられている。レジスタ3−15にはプロセッサ群の
総数nが、また、3−16.3−17にはnを因数分解
する2つの自然数が記憶されるものとする。この2つの
自然数は、制御部内のプログラムによって書き換え可能
であり、任意な時に、変更可能であるものとする。これ
は、制御部として1例えば通常のマイクロプロセッサを
用いることにより簡単に実現することができる。
さて、以上の構成の中で、制御部内のレジスタ3−15
.3−16.3・−17、プロセッサ群内のレジスタ3
−13(k)、3−14(k)は、第3図の並列処理装
置において画像を分割して処理する場合に特に使用され
る。以下、本装置において画像を処理する例を詳述する
。まず画像の分割法を第4図を用いて説明する。
第4図は画像データ4−1を、横1側、縦J個の合計I
XJ個の分割画面4−2 (0) 、 4−2(1) 
= −、4−2(k) 、 =・、 4−2(n −1
)に分割した例を示したものである。ここに、I。
Jは、第3図中、制御部3−1内のレジスタ3−IG、
3−17に記憶されている2つの数とする。
すなわち、この数はnを因数分解する2数でT×J=n
となるものである。各分割画像4−2(0)。
・・・、4−2(n−1)は、隣接する画像間で適当な
オーバラップ部分を持つようにする。オーバラップの量
については、画像処理の内容にもよる。例えば、2値化
などの画素単位処理ではオーバラップは不要であるが、
フィルタリング処理ではそのフィルタの縦横の幅から1
減した値だけオーバラップ量が最低必要となる。しかし
、処理毎に毎回オーバラップ量を変更するのは、ソフト
ウェア量や処理時間のオーバヘッド量を増やすことにな
るので、一般的にはその応用分野で使用される画像処理
全体の内容に必要なオーバラップ量の最大値をあてたり
、または、それを超える2の巾乗の値を使うのが良い。
また、画面の大きさによって、第4図の分割画面4−2
(I−1)、 4−2(n −I)、4−2(n−1)
で示すように、端の部分で、分割画像が余分の領域をカ
バーする場合も生ずるが、その場合はその余分な領域の
処理結果を無視するようにすればよい。
ここで、この方法で分割された分割画像群に対して、縦
方向に0.・・・、J−1の縦座標を、又、横方向に0
.・・・、I−1の横座標を与え、その縦と横の位置に
対応する座標(0,O)、(0,1)、・・・、(JL
I、l−1)を割りふるものとする。
このようにすると分割画像4−2(k)のkの値と、そ
の座標(s、j)のltJの値との間にはi=に−jI
 ・・・(2) (但し記号[]は、ガグス記号を表わす。)なる関係が
成立する。本発明での処理方法は、原則としてこの分割
画面4−2(k)を論理番号kをもつプロセッサ3−2
(k)に分担処理させる方法で、プロセッサ群による並
列処理を行なう。その次に、隣接するプロセッサ間でオ
ーバラップ分のつき合わせや補充のためのデータの転送
を行なう。
これによって、分割画像の境界部での処理ができる。
以上の分割法とその第3図の装置での処理を前提に、以
下、本発明におけるプロセッサ間データ転送法と、その
指定法を詳細に説明する。
まず、第3図に示す装置のn個のプロセッサ群3−2(
0)、・・・、3−2(n−1)の個々のプロセッサ3
−2(k )に、それぞれの論理番号kを入力する。こ
の処理は、各プロセッサ3−2 (k)が制御部3−1
からアドレスバス3−11を用いて物理的にアドレスが
付されているため容易に行うことができる。
次に、各プロセッサにそれぞれ与えられた論理番号kを
用いて前述の式(1)、 (2)と同様の計算を実行さ
せる。すなわち論理番号をkとすると、i=に−j・■
 ・・・(4) つ (但し、記号[]は、ガ倭ス記号を表、わす。)このま
ったj+ iをプロセッサ3−2(k)内の2つのレジ
スタ3−13(k)、3−14(k)に格納しておく。
この(j、i)の組をプロセッサ3−2(k)の座標と
呼ぶ。プロセッサ3−2(k)の座標は、前述した分割
画像4−2(k)の座標と1対1に対応している。そこ
で、その対応関係で分割画像の処理分担を行う。この処
理の後、リングバス3−3を用いてプロセッサ間の転送
を行なう。この際、座標(j、i)のプロセッサ3−2
(k)からそれに接続されたリングバスノードレジスタ
部3−4(k)にデータを書き込んで、それをノードレ
ジスタ部3−4(k−111)までノードレジスタ部Q
個分リングバス上で移動させ、再び、プロセッサ3−2
(k+fl)に取込むとする。そのプロセッサ3−2(
h+n)の中のレジスタ3−13Ck十〇)、3−14
(k−11)の値を、それぞれi/ 、)/ とすると
、k中立とこのi I 、 jI の間には、(3)、
 (4)式と同様の関係、すなわち、i ’ =(k 
+ 12) −j ’・■ ・・・(6)が成り立つ。
以上の説明によって座標(jll)のプロセッサから座
標(j’、t’)のプロセッサへのデータ転送が行われ
たことになる。いいがえれば座標(J#i)の分割画面
4−2(k)内の処理結果が、座標(3’11’)を持
つ分割画面4−2(k+Ω)内へ送られることになる。
さて第1図に示した従来方法では、隣接するプロセッサ
間で4方向にデータ転送が可能であった。すなわち、第
3図での装置でいえば、座標(jyt)を持つプロセッ
サが 右方向では座標(j、i+1) 左方向では座標(jyt 1) 上方向 ’ (J Is t) 下方向 ” (J +L t) とそれぞれデータ転送が行なわれていたことになる。そ
こで次に上述した(jll)と(j’tl’)の関係を
調べてみる。
いま、(5)、 (6)式においてQ=1とおくと、I
−2≧i≧0 ・・・(7) のiについて が成り立つ。この式は、式(7)を満足するiをもつす
べてのプロセッサ3−2(k)と3−2 (k+Q)の
間で成立する。すなわちQ=1は、JXIのプロセッサ
アレイにおいて、式(7)を満足する座標プロッサの内
容を一斉に、■方向へ+1した座標のプロセッサへデー
タ転送する場合すなわち右方向シフトに相当する。同様
にQ=IJ−1(=n−1)とおくと r−i≧i≧1 ・・・ (9) なるiについて 1’ =i−1* )’ =3 ・・・(10)となり
、プロセッサアレイにおいて一1方向へ一斉に1だけシ
フトしたことすなわち左方向シフトになる。以下同様に
、 Ω=JはJ方向へ+1シフト(下方向)Ω=I(J−T
)は−J力方向+1シフト(上方向) したことになる。
以上の説明により、第3図の装置で、第1図のようなプ
ロセッサ間転送が可能であることがわかった。
このシフト量aの制御は、第3図のリングバス制御3−
6で実施される。
第5図を用いて、本発明を実施したリングバス制御3−
6の詳細な動作例を示す。第5図において、5−1は書
換え可能なメモリ又はレジスタであり、ここにシフト量
が記憶される。処理の実行に先立ち、制御部3−1はま
ず、その処理を行なう際のアレイ配列I、Jを定める。
これをもとに。
TXJを想定したプロセッサアレイの各方向シフトに応
じたシフト量を計算する。今、 ■方向を シフト方向0 ■方向を シフト方向2 J方向を シフト方向3 J方向を シフト方向1 とすると、前述の例の場合、シフト方向o、1゜2.3
に対応するシフト量は、それぞれ、1、I (J−1)
、IJ−1,J となる。次に、これらの値から1減じた値を、書換え可
能なメモリ又はレジスタ5−1に書き込む。
その際、メモリ又はレジスタの番地 0には シフト方向0 1には 〃 1 2には 〃 2 3には 〃 3 のシフト量を書き込む。5−2はアドレス、5−3はデ
ータ、5−4は書込みストローブである。
この書込みはアドレス5−2にシフト方向の値、データ
5−3にシフト量を設定し書込みストローブ5−4を送
ることにより実行される。
次に、実際にシフトを行なわせる場合は、以下に示す通
りである。まず、実行したいシフト方向をアドレス5−
2にのせる。メモリ、又はレジスタ5−1は、一般には
書込みストローブ5−4を送出しない場合は読出しモー
ドとなるので、メモリ又はレジスタ5−1からは、その
シフト方向に応じたシフト量5−5が出力される。次に
、そのシフト量5−5がシフト開始ストローブ5−6に
よりサブ1カウンタ5−7にセットされる。それと同時
にシフトモードを示すフリップフロップ5−8がセット
され、その正論理出力5−9が1になることにより、シ
フトクロック5−11がAND回路5−10を通って、
リングバスシフトクロック3−8となる。この信号3−
8は、また、サブ1カウンタ5−7のクロックともなり
、リングバスシフトクロック3−8が1発の度にサブカ
ウンタ5−7の内容が1だけ少なくなる。信号5−12
は、このサブカウンタ5−7のゼロチェック信号であり
、サブカウンタ5−7の内容がゼロになった次のシフト
クロック5−11のタイミングでもって、シフトモード
フリップフロップ5−8が、リセット端子Rを使いリセ
ットされる。これにより、シフトモードが解除されリン
グバスシフトクロック3−8が終了する。このサブカウ
ンタ5−7のゼロチェック信号5−12は、制御部への
シフト終了通信としても利用される。またこの他に、サ
ブ1カウンタ5−7、シフトモードフリップフロップ5
−8のクリア用にクリア信号5−13が制御部から送ら
れてくる。
この回路では、サブカウンタ5−7に設定された値に1
加えた数だけシフトクロックが発生するので、シフト方
向別シフト量5−5を記憶するレジスタ5−1には、あ
らかじめ1だけ減じた値を設定しておく。以上がリング
バス制御3−6の構成と機能及び動作内容である。
このようにすれば、プロセッサ数nを因数分解する2つ
の数のベアであるという条件のもとに、IXn、2Xn
/2. ・”* IXJg =・g nX1のようにア
レイ構造を可変にしたプロセッサアレイを構成すること
ができる。
ところで、この方法によ゛るシフトには、式(7)。
(9)のような制限があった。例えば、座標(0゜■−
1)のプロセッサの内容は、0方向シフトによって、座
11(1,0)に移ってしまう。そこでこれを防ぐた′
めに、0方向シフトの場合では、横座標が1−1のプロ
セッサは、り二ノグバスノードレシフタ部にあらかじめ
定められた境界値を設定するか、又は、横座標0のプロ
セッサがリングバスノードレジスタ部からの内容読出し
を止め、自ら境界値を作り出して処理するなどの処理が
必要となる。いずれにしろ、各シフト方向に応じて各各
のプロセッサが、自らの座標が境界に当るか否か判定し
、それに応じて処理内容を変える必要がある。
しかし、これに関しては、各プロセッサは自らの座標(
j、、i)を記憶しているので、容易に実行可能である
。以下に示すのがその1つの例である。各プロセッサ3
−2(k)は、次の2つの処理のいずれかを実行するよ
うにしておく。
(イ) ノードレジスタ部3−4 (k)へデータを送
出し、リングバス3−5上でのシフト終了後ノードレジ
スタ部3−4(k)からデータを取込む。
(ロ) ノードレジスタ部3−4 (k)へデータを送
出するもののリングバスからはデータを取込まず、境界
値を自ら設定する。
そこで、まず、自己の記憶する3−1(k)、3−14
(k)の座標内容を参照してあらかじめ判定し各シフト
方向に応じ(イ)、(ロ)のどちらを実行するかのテー
ブルを作成しておく。次に、実際にシフト方向が示され
た時、そのテーブルに従って所定のプログラムを実行す
ればよい。実際に、シフト方向を前述した4方向0’、
1,2.3とすれば、 方向Oでは、横座標が0のプロセッサ群が方向1では、
縦座標がJ−1の 〃 方向2では、横座標がI−1の 〃 方向3では、縦座標が0の それぞれ(ロ)のプログラム実行となり、その他の場合
はすべて(イ)のプログラムを実行するようにすれば良
い。なお、リングバスノードレジスタ部3−4(k)へ
のデータ入力は少なくとも2種類、すなわち、プロセッ
サとリングバス上の前段のノードレジスタ部である。
この2種類の場合を例にとって、ノードレジスタ部の制
御を中心とした機構を第6図に示す。この図は、ノード
レジスタ部3−4 (k)を中心としたプロセッサ3−
2 (k)、制御部3−1、リングバス制御3−6の関
係を示したものである。
まず、制御部3−1は、制御バス3−9の一部6−1に
処理内容を指定するコマンドを乗せると共に、同じく3
−9の一部ストロープ6−2を起動する。この時、アド
レスバス3−11には、全プロセッサがこのコマンドを
受付けることを示すアドレスが設定される。この信号群
をプロセッサ3−2(k)が解読し、所定の動作を実行
する。尚、この全プロセッサを稼動させる方法としては
、アドレスバスを使用せず特定の信号線を設ける方法も
考えられる。
次に、指定された動作が終了すると、制御部への信号線
(これも制御バス3−9の一部の状態通知線)6−3を
使って動作終了を通知する。この状態通知線6−3につ
いては、複数のプロセッサが1本の信号線に接続されて
いるので、そのすべてのプロセッサが全部終了した時に
信号が変化する方式にすればよい。例えば各プロセッサ
出力をオープンコレクタ出力とし動作が終了すると、出
力を1とする方式があげられる。こうすれば、全プロセ
ッサの動作終了時点ではじめて状態通知線が1となりそ
れを制御部3−1が知ることができる。これをうけ、制
御部3−1は再びプロセッサ3−2(k)に対し、必要
情報をノードレジスタ部3−4 (k)に出力する旨の
コマンド情報6−1を転送する。このコマンドにより、
全プロセッサ3−2 (k)は各々のノードレジスタ部
3−4 (k)にデータを送出する。その際、信号線6
−4(k)をON状態とし、セレクタ6−5(k)がプ
ロセッサ側入力6−6 (k)を選択し、ノードレジス
タ6−7(k)の入力6−8(k)はプロセッサ3−2
(k)側と接続される。それと同時にセレクタ6−9(
k)により、プロセッサ3−2(k)から出された出力
ストローブ6−10(k)のパルスがノードレジスタ6
−7 (k)に送られ、データ6−6(k)が書込まれ
る。その後、プロセッサ3−2(k)は信号線6−4(
、k)をOFFとし、ノードレジスタ6−7(k)への
データ6−8 (k)と入力パルス6−11(k)をリ
ングバス3−5(k−1)側に切換える。そして動作を
終了した旨を、前述の方法で制御部3−1に伝える。次
に制御部3−1は、リングバス制御3−6に対し信号線
3−7を用いてシフト動作を指示する。この信号[3−
7には、第5図で示した如く、シフト方向5−3、シフ
ト開始ストローブ5−6、シフトクロック5−11等が
含まれる。これによって所定の回数だけのシフトクロッ
クがリングバスシフトクロック線3−8を通じてノード
レジスタ部3−4(k)に送られる。
この動作が終了すると信号線5−12を使って動作終了
信号が、制御部3−1へ転送される。これを受けた制御
部3−1は再びプロセッサ3−2(k)に対してノード
レジスタ6−7(k)からのデータ取込みコマンドを発
生しそれを受けたプロセッサ3−2(k)はそのコマン
ドを実行する。その際、そのコマンドがシフト方向を含
んだコマンドであるとすれは、そのシフト方向に応じて
、一部のプロセッサはノードレジスタ6−7(k)から
のデータ6−12(h)(3−s(k)と同じ)を取込
まず境界値を設定する処理を行なう。この処理について
は前述した2つのプログラムの一方を実行すればよい。
なお、このプロランサ間データ転送を連続して行なうに
は、制御部3−1よりプロセッサ3−2(lOへのコマ
ンドとリングバス制御部3−6へのシフト方向指定5−
3を、前者は、ノードレジスタ6−7(k)よりデータ
を取込み、その後所定の処理を実行した上で、次のデー
タを用意しノードレジスタ6−7(k)へ書込む動作ま
でを示すコマンド、後者はあるシフト方向指示、という
ようにそれぞれ固定して設定しておく。その上で、プロ
セッサから制御部3−1への終了通知信号6−3をその
ままリングバス制御3−6へのシフト開始ストローブ信
号5−6へ接続し、また、リングバス制御3−6からの
シフト動作終了信号5−12をそのまま制御部からプロ
セッサへのストローブ6−2へ接続すればよい。その際
、最初にプロセッサ3−2 (k)からノードレジスタ
6−7 (k)へデータ出力する処理と、最後にノード
レジスタ6−7(k)の内容をプロセッサ3−2(k)
に取込む処理は、上記処理の前後に処理する。また、境
界値を設定すべきプロセッサ3−2(k)は、この間は
、ノードレジスタ6−7(k)からの入力は行なわず、
境界値を設定するモードとすべきことは言うまでもない
また、この処理中、他のどのプロセッサともデータ転送
を必要としないプロセッサについては、あらかじめ、動
作終了状態を信号6−3に指定したままで、全く別の処
理を実施させておいてもよい、但し、その際、そのプロ
セッサにおける処理がリングバスを使っているデータ転
送動作の障害にならないようにしておく必要がある。
また、以上の説明では、第6図上のノードレジスタ部3
−4(k)へのデータ入力6−6(k)、ストローブ入
力6−10(k)の選択信号6−4(k)をプロセッサ
3−2(k)から出力したが、この制御はリングバス上
のどのノードレジスタ部3−4(k)でも同一でも良い
ので、この信号をリングバス制御3−6から出力する方
法もこの信号としては、例えば、第5図中のシフトモー
ドフリップフロップの出力5−9をインバータで反転し
たものを用いれば良い。また、リングバスを双方向バス
としても本発明の適用は同様に実施できる。
〔発明の効果〕
本発明によれば、リング状に接続された複数個の計算手
段を実質的にアレイ状に配置した並列処理装置とみなす
ことができ、さらにそのアレイ配置をプログラムで可変
にできる。これにより画像のような2次元データについ
て、単純な画素単位処理から、距離変換のような複雑な
処理に至るまで、その処理に応じたアレイ配置が構成で
き、処理の高速化を達成することができる。
【図面の簡単な説明】
第1図は公知例としてあげたアレイ型並列処理装置IL
LIACI Vの概略構成図、第2図は第1図の中の1
つのプロセッサの中及び周辺回路図、第3図は本発明の
詳細な説明するための装置構成図、第4図は画像データ
を処理する場合の画像分割図、第5図は本発明を実施し
た第3図の1部リングバス制御説明図、第6図はリング
バスでのデータ転送を説明するための信号線の関係図で
ある。 3−1・・・制御部、3−2・・・プロセッサ、3−3
・・・リングバス部、3−4・・・ノードレジスタ部、
3−5・・・リングバス、3−6・・・リングバス制御
、3−8・・・リングバスシフトクロック、5−1・・
・シフト量記憶用メモリ又はレジスタ。

Claims (1)

  1. 【特許請求の範囲】 1、制御部と、該制御部により制御され、並列処理を行
    う複数の計算手段と、該複数の計算手段の夫々に設けら
    れ、対応する計算手段の処理データを記憶する記憶手段
    と、該記憶手段をリング状に接続してデータの転送を行
    なわしめるリングバス部とを有し、該複数の計算手段は
    対応する該記憶手段に転送されたデータに基づきデータ
    処理を行うことを特徴とする並列処理装置。 2、上記複数個の計算手段は、少なくとも2種類の数値
    を記憶できるレジスタと、該レジスタの内容によりバス
    からのデータを参照するか否かを制御および実行する手
    段を有することを特徴とする特許請求の範囲第1項記載
    の並列処理装置。
JP58246936A 1983-12-28 1983-12-28 並列処理装置 Expired - Lifetime JPH0642237B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP58246936A JPH0642237B2 (ja) 1983-12-28 1983-12-28 並列処理装置
EP84116392A EP0147857A3 (en) 1983-12-28 1984-12-27 Parallel data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58246936A JPH0642237B2 (ja) 1983-12-28 1983-12-28 並列処理装置

Publications (2)

Publication Number Publication Date
JPS60140456A true JPS60140456A (ja) 1985-07-25
JPH0642237B2 JPH0642237B2 (ja) 1994-06-01

Family

ID=17155947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58246936A Expired - Lifetime JPH0642237B2 (ja) 1983-12-28 1983-12-28 並列処理装置

Country Status (2)

Country Link
EP (1) EP0147857A3 (ja)
JP (1) JPH0642237B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60156177A (ja) * 1984-01-25 1985-08-16 Hironobu Inoue 画像処理装置
JPS62206678A (ja) * 1986-03-07 1987-09-11 Agency Of Ind Science & Technol 並列デ−タ処理方式
JPS62208158A (ja) * 1986-03-08 1987-09-12 Hitachi Ltd マルチプロセツサシステム
JPS63113659A (ja) * 1986-10-30 1988-05-18 Hitachi Ltd マルチプロセッサシステム
JPS63147258A (ja) * 1986-11-14 1988-06-20 ザ・トラスティーズ・オブ・プリンストン・ユニバーシティー マルチノード再構成可能パイプラインコンピュータ
WO1995026530A1 (fr) * 1994-03-28 1995-10-05 Sony Corporation Procede de compilation de programmes a execution parallele, imageur et procede de traitement d'image
JP2012522280A (ja) * 2009-03-30 2012-09-20 日本電気株式会社 リングバスによって相互接続された複数の処理要素を有する単一命令多重データ(simd)プロセッサ

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3584489D1 (de) * 1984-08-16 1991-11-28 Sharp Kk Informationsprozessor.
US4752894A (en) * 1985-12-30 1988-06-21 Deering Michael F Color plotter controller
US4809169A (en) * 1986-04-23 1989-02-28 Advanced Micro Devices, Inc. Parallel, multiple coprocessor computer architecture having plural execution modes
GB8707493D0 (en) * 1987-03-28 1987-08-05 Stonefield Systems Plc Cellular array processing
GB2203574A (en) * 1987-04-03 1988-10-19 Univ Southampton Parallel processor arrays
FR2622989B1 (fr) * 1987-11-06 1992-11-27 Thomson Csf Machine multiprocesseur reconfigurable pour traitement du signal
FR2635390B1 (fr) * 1988-08-12 1990-10-12 Bull Sa Unite centrale pour systeme de traitement de l'information
FR2635934A1 (en) * 1988-08-26 1990-03-02 Thomson Csf Seqenced one-way link for intercommunication of data processing modules, especially of computers
AU641418B2 (en) * 1989-09-20 1993-09-23 Fujitsu Limited A parallel data processing system for processing and transmitting data concurrently
EP0482408A3 (en) * 1990-10-22 1993-12-01 Motorola Inc Digital neural network computation ring
CN1042677C (zh) * 1991-10-07 1999-03-24 中国人民解放军国防大学 并行计算机系统及其应用
DE69231054T2 (de) * 1991-11-21 2001-01-18 Sony Corp Bildverarbeitungssystem
EP0800133A1 (en) * 1992-01-24 1997-10-08 Digital Equipment Corporation Databus parity and high speed normalization circuit for a massively parallel processing system
EP0577813B1 (en) * 1992-01-24 1998-03-25 Digital Equipment Corporation Databus parity and high speed normalization circuit for a massively parallel processing system
US5450603A (en) * 1992-12-18 1995-09-12 Xerox Corporation SIMD architecture with transfer register or value source circuitry connected to bus
JP4664327B2 (ja) * 2007-05-16 2011-04-06 株式会社日立ハイテクノロジーズ パターン検査方法
US20120030448A1 (en) * 2009-03-30 2012-02-02 Nec Corporation Single instruction multiple date (simd) processor having a plurality of processing elements interconnected by a ring bus
US10795836B2 (en) * 2017-04-17 2020-10-06 Microsoft Technology Licensing, Llc Data processing performance enhancement for neural networks using a virtualized data iterator

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5439503A (en) * 1977-09-05 1979-03-27 Hitachi Ltd Priority selection system in ring transmission line

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3473160A (en) * 1966-10-10 1969-10-14 Stanford Research Inst Electronically controlled microelectronic cellular logic array
US4215401A (en) * 1978-09-28 1980-07-29 Environmental Research Institute Of Michigan Cellular digital array processor
IT1118355B (it) * 1979-02-15 1986-02-24 Cselt Centro Studi Lab Telecom Sistema di interconnessione tra processori
US4663706A (en) * 1982-10-28 1987-05-05 Tandem Computers Incorporated Multiprocessor multisystem communications network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5439503A (en) * 1977-09-05 1979-03-27 Hitachi Ltd Priority selection system in ring transmission line

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60156177A (ja) * 1984-01-25 1985-08-16 Hironobu Inoue 画像処理装置
JPS62206678A (ja) * 1986-03-07 1987-09-11 Agency Of Ind Science & Technol 並列デ−タ処理方式
JPS62208158A (ja) * 1986-03-08 1987-09-12 Hitachi Ltd マルチプロセツサシステム
JPS63113659A (ja) * 1986-10-30 1988-05-18 Hitachi Ltd マルチプロセッサシステム
JPS63147258A (ja) * 1986-11-14 1988-06-20 ザ・トラスティーズ・オブ・プリンストン・ユニバーシティー マルチノード再構成可能パイプラインコンピュータ
WO1995026530A1 (fr) * 1994-03-28 1995-10-05 Sony Corporation Procede de compilation de programmes a execution parallele, imageur et procede de traitement d'image
US5721883A (en) * 1994-03-28 1998-02-24 Sony Corporation System and method for implementing parallel image processing
US6029001A (en) * 1994-03-28 2000-02-22 Sony Corporation Method of compiling a computer program for performing parallel image processing
JP2012522280A (ja) * 2009-03-30 2012-09-20 日本電気株式会社 リングバスによって相互接続された複数の処理要素を有する単一命令多重データ(simd)プロセッサ

Also Published As

Publication number Publication date
EP0147857A3 (en) 1987-10-14
JPH0642237B2 (ja) 1994-06-01
EP0147857A2 (en) 1985-07-10

Similar Documents

Publication Publication Date Title
JPS60140456A (ja) 並列処理装置
US4891751A (en) Massively parallel vector processing computer
US5305462A (en) Mechanism for broadcasting data in a massively parallell array processing system
JPS62208158A (ja) マルチプロセツサシステム
JPS58144971A (ja) アレイプロセツサ装置
JPH0233191B2 (ja)
JPS5819098B2 (ja) 電子計算機方式
JPH03501787A (ja) データ並列処理装置
JPH0370064A (ja) メッシュプロセッサアレー
JPS6364178A (ja) 画像処理システム
JP3237858B2 (ja) 演算装置
JPH02230383A (ja) 画像処理装置
JPH10340340A (ja) 画像処理装置
JPH03232070A (ja) 画像処理装置
JPS629455A (ja) 周辺機器・デ−タ処理装置間デ−タ転送コントロ−ラ
JPS61278961A (ja) デ−タ処理装置
JPS58107977A (ja) 記憶装置へのアクセス方式
JPS6334658A (ja) 画像処理用dmaコントロ−ラ
JP2824976B2 (ja) 2次元配列データ回転装置
JPS60151776A (ja) 複合コンピユ−タシステム
CA1325852C (en) Massively parallel array processing system
JP2972557B2 (ja) データ転送制御装置および制御方法
JPH02184986A (ja) 並列データ処理装置
JPH07104839B2 (ja) マルチプロセツサ・システムの制御方法
JPS62297951A (ja) メモリ回路