JPS63113659A - マルチプロセッサシステム - Google Patents
マルチプロセッサシステムInfo
- Publication number
- JPS63113659A JPS63113659A JP61259375A JP25937586A JPS63113659A JP S63113659 A JPS63113659 A JP S63113659A JP 61259375 A JP61259375 A JP 61259375A JP 25937586 A JP25937586 A JP 25937586A JP S63113659 A JPS63113659 A JP S63113659A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- numbers
- command
- multiprocessor
- dimensional
- 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
Links
- 238000000034 method Methods 0.000 claims description 25
- 238000004891 communication Methods 0.000 abstract description 23
- 238000012545 processing Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 24
- 238000012546 transfer Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 239000001922 Gum ghatti Substances 0.000 description 1
- 208000010378 Pulmonary Embolism Diseases 0.000 description 1
- ZPUCINDJVBIVPJ-LJISPDSOSA-N cocaine Chemical compound O([C@H]1C[C@@H]2CC[C@@H](N2C)[C@H]1C(=O)OC)C(=O)C1=CC=CC=C1 ZPUCINDJVBIVPJ-LJISPDSOSA-N 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000001912 oat gum Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、マルチプロセッサ用エレメントに関し、特に
超高速のデータ処理を行うための複数個の信号処理用プ
ロセッサ・エレメントに関するものである。
超高速のデータ処理を行うための複数個の信号処理用プ
ロセッサ・エレメントに関するものである。
マルチプロセッサ構成でデータ処理を゛行う場合に、配
列された複数のプロセッサに対してそれぞれ異なる仕事
を行わせたり、上位のプロセッサと各プロセッサとの間
でコミュニケーションを行ったりするために、各プロセ
ッサにはプロセッサ番号の割付けが必要である。
列された複数のプロセッサに対してそれぞれ異なる仕事
を行わせたり、上位のプロセッサと各プロセッサとの間
でコミュニケーションを行ったりするために、各プロセ
ッサにはプロセッサ番号の割付けが必要である。
従来、プロセッサに対する番号の割り付は方法としては
、例えば″日経エレクトロニクス1984.4/9 %
p206に記載されているような形態がある。この例
では、各プロセッサの外部に各々のプロセッサ番号設定
用のバッファを設けておき、システムの初期設定時に、
1次元の番号を各プロセッサの内部レジスタに記憶させ
る方法が用いられている。
、例えば″日経エレクトロニクス1984.4/9 %
p206に記載されているような形態がある。この例
では、各プロセッサの外部に各々のプロセッサ番号設定
用のバッファを設けておき、システムの初期設定時に、
1次元の番号を各プロセッサの内部レジスタに記憶させ
る方法が用いられている。
すなわち、上述のマルチプロセッサは、複数個のイメー
ジパイプラインプロセッサをリング状に接続している。
ジパイプラインプロセッサをリング状に接続している。
各プロセッサのモジュールナンバ・レジスタは4ビツト
からなり、16通りのモジュール番号がある。プロセッ
サ間の接続は、前段のプロセッサの出力系のバスと次段
のプロセッサの入力系のバスを単に結線して、モジュー
ル番号設定用の4ビツトバツフアを付加するだけでよい
。
からなり、16通りのモジュール番号がある。プロセッ
サ間の接続は、前段のプロセッサの出力系のバスと次段
のプロセッサの入力系のバスを単に結線して、モジュー
ル番号設定用の4ビツトバツフアを付加するだけでよい
。
このバッファの値は、初期設定時にプロセッサ内にセッ
トされ、各プロセッサの固有のモジュール番号となる。
トされ、各プロセッサの固有のモジュール番号となる。
第2図は、従来のマルチプロセッサを構成するプロセッ
サエレメントの配列図である。
サエレメントの配列図である。
第2図では、上位プロセッサ101のもとに。
mXn個のデータ処理部111〜119がシステムバス
102を介して並列に接続されている例を示している。
102を介して並列に接続されている例を示している。
ここでは、2次元画像のデータ処理を行う場合を考える
。2次元画像の処理では、M×N画素について、フィル
タ演算等が行われるので、そのデータ演算量は膨大なも
のになる。その−例として、2000X2000画素に
ついて、3×3画素の近傍演算によるフィルタ処理を行
った場合には、2000X2000X3X3=36oo
oooo回ものデータ演算が必要となる。このような演
算を行う場合には、第2図に示したようなマルチプロセ
ッサ構成で、各データ処理部にMXN画素の領域を分割
したデータを与え、各々のデータ処理部で並列に演算を
行うことにより。
。2次元画像の処理では、M×N画素について、フィル
タ演算等が行われるので、そのデータ演算量は膨大なも
のになる。その−例として、2000X2000画素に
ついて、3×3画素の近傍演算によるフィルタ処理を行
った場合には、2000X2000X3X3=36oo
oooo回ものデータ演算が必要となる。このような演
算を行う場合には、第2図に示したようなマルチプロセ
ッサ構成で、各データ処理部にMXN画素の領域を分割
したデータを与え、各々のデータ処理部で並列に演算を
行うことにより。
データ処理時間がデータ処理部の数分の1に短縮される
。このとき、上位プロセッサから、どのデータ処理部に
どの領域の処理を行わせるかを知らせるために、プロセ
ッサエレメント111〜119に番号付け(プロセッサ
エレメントのPE番号)をしておく必要がある。従来の
方法では、第2図のPE内の()で示すように、1〜m
nの連続する整数の番号を付与している。
。このとき、上位プロセッサから、どのデータ処理部に
どの領域の処理を行わせるかを知らせるために、プロセ
ッサエレメント111〜119に番号付け(プロセッサ
エレメントのPE番号)をしておく必要がある。従来の
方法では、第2図のPE内の()で示すように、1〜m
nの連続する整数の番号を付与している。
この場合、データ処理の内容が、第3図(a)に示した
ように、MXN画素領域301の全面(斜線部分)にわ
たって−様のときには、PE番号はユニークであればよ
いので、1次元的にシーケンシャルにPE番号を付けれ
ばよい。このときには、MXNの全画素に対して、その
一部分領域の画素320ごとに処理すべきPEを割当て
る。しかし、画像処理では、第3図(b)(c)(d)
に示すように、MXN画素領域の一部分302,303
,304(斜線部分)だけの処理を行う必要が生じるこ
とが度々ある。この場合には、1次元の番号付けでは、
上位プロセッサが各データ領域を分担している各々のP
Eに対して何回も通信を行うことにより、処理の指示を
行う必要がある。このため、上位プロセッサの処理負担
が増加することになる。また、システムバスを介して行
われる上位プロセッサとPE間の通信量が増加するので
、上位プロセッサのオペレーティングシステムの負担が
増加し、かつデータ処理のスループットは低下し、その
他の処理速度も低下する等の好ましくない状態となる。
ように、MXN画素領域301の全面(斜線部分)にわ
たって−様のときには、PE番号はユニークであればよ
いので、1次元的にシーケンシャルにPE番号を付けれ
ばよい。このときには、MXNの全画素に対して、その
一部分領域の画素320ごとに処理すべきPEを割当て
る。しかし、画像処理では、第3図(b)(c)(d)
に示すように、MXN画素領域の一部分302,303
,304(斜線部分)だけの処理を行う必要が生じるこ
とが度々ある。この場合には、1次元の番号付けでは、
上位プロセッサが各データ領域を分担している各々のP
Eに対して何回も通信を行うことにより、処理の指示を
行う必要がある。このため、上位プロセッサの処理負担
が増加することになる。また、システムバスを介して行
われる上位プロセッサとPE間の通信量が増加するので
、上位プロセッサのオペレーティングシステムの負担が
増加し、かつデータ処理のスループットは低下し、その
他の処理速度も低下する等の好ましくない状態となる。
例えば、第3図(b)に示すように、y方向の部分画像
領域に対して同一処理を行う場合を考えると、従来例で
は、その処理の手順は次のように行っている。
領域に対して同一処理を行う場合を考えると、従来例で
は、その処理の手順は次のように行っている。
(イ)上位プロセッサが処理すべき領域を分担している
複数のPEに対して、処理に必要なパラメータやプログ
ラム等の情報を転送する必要がある。
複数のPEに対して、処理に必要なパラメータやプログ
ラム等の情報を転送する必要がある。
その場合、PEの番号が1次元で表現されているため、
上位プロセッサからの情報転送を行うという指示を、P
R数分の回数だけ行う必要がある。
上位プロセッサからの情報転送を行うという指示を、P
R数分の回数だけ行う必要がある。
このため、その指示の転送にかなりの時間を費すことに
なる。また、上位プロセッサは、°常にこの情報転送を
監視している必要があるため、上記指示の転送の期間中
に、他の仕事をすることができなくなる。
なる。また、上位プロセッサは、°常にこの情報転送を
監視している必要があるため、上記指示の転送の期間中
に、他の仕事をすることができなくなる。
(ロ)上記情報転送の後に、上位プロセッサは、各PE
に対して処理の実行を指示するが、このときにも、PE
の数だけ指示を発行する必要があるので、無駄な時間が
費される。
に対して処理の実行を指示するが、このときにも、PE
の数だけ指示を発行する必要があるので、無駄な時間が
費される。
従来の方法では、(a)プロセッサ番号が1次元の指定
のために1画像処理を行う時のプレキシビリティに欠け
ること、(b)各プロセッサと上位のプロセッサとの間
のコミュニケーションの多様な形態に関しての配慮が足
りないこと、等の問題があった。
のために1画像処理を行う時のプレキシビリティに欠け
ること、(b)各プロセッサと上位のプロセッサとの間
のコミュニケーションの多様な形態に関しての配慮が足
りないこと、等の問題があった。
本発明の目的は、これらの問題を解決し、ホストプロセ
ッサと複数のプロセッサ間の同時通信が可能で、かつ超
高速のデータ処理が可能なマルチプロセッサ用エレメン
トを提供することにある。
ッサと複数のプロセッサ間の同時通信が可能で、かつ超
高速のデータ処理が可能なマルチプロセッサ用エレメン
トを提供することにある。
上記目的を達成するため、本発明のマルチプロセッサ用
エレメントは、上位プロセッサから予め設定された固有
で多次元のプロセッサ番号を格納するレジスタと、該上
位プロセッサからプロセッサ番号と対になったコマンド
が送られたとき、該プロセッサ番号と上記レジスタに格
納されている番号とを次元ごとに比較する手段と、該比
較手段による比較結果が一致するか、該プロセッサ番号
が各次元ごとに予め定められた特殊な数値であるときの
み、該コマンドを受け入れて応答する手段を有すること
に特徴がある。
エレメントは、上位プロセッサから予め設定された固有
で多次元のプロセッサ番号を格納するレジスタと、該上
位プロセッサからプロセッサ番号と対になったコマンド
が送られたとき、該プロセッサ番号と上記レジスタに格
納されている番号とを次元ごとに比較する手段と、該比
較手段による比較結果が一致するか、該プロセッサ番号
が各次元ごとに予め定められた特殊な数値であるときの
み、該コマンドを受け入れて応答する手段を有すること
に特徴がある。
本発明においては、複数個のプロセッサに割り付けるプ
ロセッサ番号を、次のような方法とする。
ロセッサ番号を、次のような方法とする。
(a)プロセッサ番号を多次元の番号とする。これによ
り、画像処理等における2次元、3次元あるいは画a領
域の任意の領域のデータ処理を各プロセッサに容易に分
担させることができる。
り、画像処理等における2次元、3次元あるいは画a領
域の任意の領域のデータ処理を各プロセッサに容易に分
担させることができる。
(b)プロセッサ番号の特殊な番号(例えば、ゼロ等)
を上位プロセッサとのグローバル通信のための番号とし
て設ける。これにより、上゛位プロセッサと複数のプロ
セッサが同時に通信できる。
を上位プロセッサとのグローバル通信のための番号とし
て設ける。これにより、上゛位プロセッサと複数のプロ
セッサが同時に通信できる。
(e)プロセッサ番号のフォーマットを複数にして、上
位プロセッサからの指令でフォーマットの変更ができる
ようにする。これにより、画像処理等において、複数の
各プロセッサに処理すべき画像領域のデータを1次元的
に割当てたり、2次元的に割当てたりすることができ、
処理形態のフレキシビリティが増大する。
位プロセッサからの指令でフォーマットの変更ができる
ようにする。これにより、画像処理等において、複数の
各プロセッサに処理すべき画像領域のデータを1次元的
に割当てたり、2次元的に割当てたりすることができ、
処理形態のフレキシビリティが増大する。
〔実施例〕
以下、本発明の実施例を、図面により詳細に説明する。
第1図は、本発明の一実施例を示すマルチプロセッサ用
プロセッサエレメントの配置図である。
プロセッサエレメントの配置図である。
第1図においては、ホストCPU401は、バス402
を介して接続されている複数個のPEに対して、2次元
のPE番号、つまり(1,1)から(m、n)までの2
桁づつの番号を与えているヮ上位プロセッサ401とP
E411〜419の間での通信を行うには、この2次元
のPE番号と上位プロセッサからのコマンドを対にし“
た情報を用いて行う。
を介して接続されている複数個のPEに対して、2次元
のPE番号、つまり(1,1)から(m、n)までの2
桁づつの番号を与えているヮ上位プロセッサ401とP
E411〜419の間での通信を行うには、この2次元
のPE番号と上位プロセッサからのコマンドを対にし“
た情報を用いて行う。
第4図は、本発明によるPE番号のフォーマット例を示
す図である。第4図(a)では、とのPE番号502,
503とコマンド504を対にした情報のフォーマット
501を示している。PE番号502,503は、各々
行(X方向)、列(X方向)の番号を意味している。
す図である。第4図(a)では、とのPE番号502,
503とコマンド504を対にした情報のフォーマット
501を示している。PE番号502,503は、各々
行(X方向)、列(X方向)の番号を意味している。
この情報は、システムバスのビット長に応じて決められ
、例えば16ビツト長の場合、コマンドに4ビツトを用
いて、残り12ビツトをPE番号502.503に割り
付ける。このとき、第4図(b)に示すように、12ビ
ツトを6ビツトごとにXtyの番号に割り当ててもよく
、また第4図(c)に示すように、異なるビット数分だ
け割り当ててもよい(3ビツトと9ビツト)。
、例えば16ビツト長の場合、コマンドに4ビツトを用
いて、残り12ビツトをPE番号502.503に割り
付ける。このとき、第4図(b)に示すように、12ビ
ツトを6ビツトごとにXtyの番号に割り当ててもよく
、また第4図(c)に示すように、異なるビット数分だ
け割り当ててもよい(3ビツトと9ビツト)。
本実施例においては、X、yへの番号の割り当ては、数
種類準備し、上位プロセッサからのモード設定の変更に
より、その時々により番号割り当て方法を変更すること
ができるようにしている。
種類準備し、上位プロセッサからのモード設定の変更に
より、その時々により番号割り当て方法を変更すること
ができるようにしている。
このモード設定は、各PEにモード設定用レジスタを設
けておき、これに上位プロセッサから、モード設定デー
タを書き込むようにしている。このモード設定データに
より、上位プロセッサから送られてくるPE番号のビッ
ト配分を認識する。
けておき、これに上位プロセッサから、モード設定デー
タを書き込むようにしている。このモード設定データに
より、上位プロセッサから送られてくるPE番号のビッ
ト配分を認識する。
このようにすると、行、列の方向の画素が同程度の場合
や、片方向だけ大きい場合(極端な場合には、1次元画
像データ)にも、簡単にプロセッサの割り付は変更がで
きる。
や、片方向だけ大きい場合(極端な場合には、1次元画
像データ)にも、簡単にプロセッサの割り付は変更がで
きる。
本実施例では、上述のように、多次元に番号割り付けを
行った上で、さらにPE番号のうち特殊な数を上位プロ
セッサとPE間のグローバル通信に用いる。ここでは、
−例として、ゼロをグローバル通信用の数とする。この
ようにすることにより、第3図(a)(b)(c)に示
したような形態のデータ処理が容易になる。
行った上で、さらにPE番号のうち特殊な数を上位プロ
セッサとPE間のグローバル通信に用いる。ここでは、
−例として、ゼロをグローバル通信用の数とする。この
ようにすることにより、第3図(a)(b)(c)に示
したような形態のデータ処理が容易になる。
第5図は、本発明におけるホストCPUと同時に通信可
能なPEの例を示す図である。
能なPEの例を示す図である。
第5図(、)に示すように、上位プロセッサ601から
PE番号(0,O)とコマンドCが対になって送られて
きたとき、全てのPEは同時に自分に送られてきたコマ
ンドであると解釈して、上位プロセッサに応答する。こ
のため、第3図(a)に示すような全面同一処理のため
の上位プロセッサからの指示が、1回で済むことになる
。
PE番号(0,O)とコマンドCが対になって送られて
きたとき、全てのPEは同時に自分に送られてきたコマ
ンドであると解釈して、上位プロセッサに応答する。こ
のため、第3図(a)に示すような全面同一処理のため
の上位プロセッサからの指示が、1回で済むことになる
。
また、第5図(b)に示すように、PE番号(xtO)
とコマンドCが対になって送られてきたときには、ある
X行のプロセッサの全てが同時に応答し、第3図(b)
に示す行方向のデータ処理が容易に行われる。同じよう
にして、y列方向の処理も容易に行われることは勿論で
ある。また、PE番号(x、y)を送ることにより、特
定のPEだけが応答することも勿論容易である。
とコマンドCが対になって送られてきたときには、ある
X行のプロセッサの全てが同時に応答し、第3図(b)
に示す行方向のデータ処理が容易に行われる。同じよう
にして、y列方向の処理も容易に行われることは勿論で
ある。また、PE番号(x、y)を送ることにより、特
定のPEだけが応答することも勿論容易である。
このように、本実施例においては、上位プロセッサから
複数のPEに対する指示は、指示内容ごとに1回の指示
だけで済むので、このための通信時間が大幅に短縮され
る。
複数のPEに対する指示は、指示内容ごとに1回の指示
だけで済むので、このための通信時間が大幅に短縮され
る。
第6図は、本発明のPE内の2次元PE番号を判定する
回路の一実施例を示す構成図である。
回路の一実施例を示す構成図である。
第5図に示すような上位プロセッサとPE間の通信を実
現するためには、第6図で示すような構成要素を各PE
内に備えるか、または第6図に示す構成での処理手順を
マイクロプログラム等によるソフトウェアにより行うこ
とによって可能となる。
現するためには、第6図で示すような構成要素を各PE
内に備えるか、または第6図に示す構成での処理手順を
マイクロプログラム等によるソフトウェアにより行うこ
とによって可能となる。
第6図において、501は受信レジスタ、701.70
2は比較のための基準レジスタ、704゜707は比較
器、703,706はゼロ検出回路、710は入力部、
709はANDゲート、705゜708はORゲートで
ある。
2は比較のための基準レジスタ、704゜707は比較
器、703,706はゼロ検出回路、710は入力部、
709はANDゲート、705゜708はORゲートで
ある。
上位プロセッサから送られてきた情報502゜503.
504 (順に、X方向、y方向、コマンド)は、PE
において、自分宛の情報か否かが判定される。すなわち
、PEは、送られてきたX方向番号502、y方向番号
503がゼロか、あるいは送られてきたX方向昌号50
′2、y方向番号503が、それぞれ基準レジスタに格
納され、自分に割り当てられている2次元のPE番号7
01゜702と一致するか否かを比較器704,707
で比較する。ゼロ検出器703と比較器704での判定
結果は、論理的にORゲート705で論理和がとられる
。つまり、502の番号がゼロであるか、あるいは50
2と701の番号が一致した場合に、一致信号が出力さ
れる。同じようにして。
504 (順に、X方向、y方向、コマンド)は、PE
において、自分宛の情報か否かが判定される。すなわち
、PEは、送られてきたX方向番号502、y方向番号
503がゼロか、あるいは送られてきたX方向昌号50
′2、y方向番号503が、それぞれ基準レジスタに格
納され、自分に割り当てられている2次元のPE番号7
01゜702と一致するか否かを比較器704,707
で比較する。ゼロ検出器703と比較器704での判定
結果は、論理的にORゲート705で論理和がとられる
。つまり、502の番号がゼロであるか、あるいは50
2と701の番号が一致した場合に、一致信号が出力さ
れる。同じようにして。
503の番号がゼロであるか、あるいは503と702
の番号が一致した場合に、一致信号が出力される。2九
ら両方の一致信号をANDゲート709で論理積をとる
ことにより、X行、y列方向での2次元のPE番号の判
定が行える。そして、ANDゲート709での一致信号
を用いて、上位プロセッサからのコマンド504を入力
部710から入力するか否かを決定する。
の番号が一致した場合に、一致信号が出力される。2九
ら両方の一致信号をANDゲート709で論理積をとる
ことにより、X行、y列方向での2次元のPE番号の判
定が行える。そして、ANDゲート709での一致信号
を用いて、上位プロセッサからのコマンド504を入力
部710から入力するか否かを決定する。
第7図は、本発明の他の実施例を示すもので、3次元デ
ータ処理を行う場合のPE番号の判定法を示す図である
。3次元データの場合には、第1図におけるマルチプロ
セッサの構成を3次元とし、各PEに3次元のPE番号
(Xy Yt Z)を付与する。この番号のうち、ゼロ
は2次元の場合と同じようシ;、グローバル通信用の番
号とする。
ータ処理を行う場合のPE番号の判定法を示す図である
。3次元データの場合には、第1図におけるマルチプロ
セッサの構成を3次元とし、各PEに3次元のPE番号
(Xy Yt Z)を付与する。この番号のうち、ゼロ
は2次元の場合と同じようシ;、グローバル通信用の番
号とする。
第7図における3次元番号の判定は、上位プロセッサか
ら送られてきたPE番号804,805゜806を、P
E内に設定されている番号801゜802.803と比
較した結果と、送られてきたPE番号804,805,
806がそれぞれゼロであるか盃かの判定結果との論理
和、論理積をとって、その出力信号によりコマンド80
7を入力するか否かを決定する。
ら送られてきたPE番号804,805゜806を、P
E内に設定されている番号801゜802.803と比
較した結果と、送られてきたPE番号804,805,
806がそれぞれゼロであるか盃かの判定結果との論理
和、論理積をとって、その出力信号によりコマンド80
7を入力するか否かを決定する。
このように3次元のPE番号を与えた場合には。
ある特定のPEだけと通信したり、ある軸(xtYtZ
のいずれか1つ)の番号をゼロにすることにより、1軸
方向の全PEと同時に通信したり、2軸(X、V* Z
のいずれか2つ)の番号をゼロにすることにより、ある
平面方向の全PEと同時に通信したり、3軸の番号をゼ
ロにすること番こより、全PEと同時に通信することが
可能となる。
のいずれか1つ)の番号をゼロにすることにより、1軸
方向の全PEと同時に通信したり、2軸(X、V* Z
のいずれか2つ)の番号をゼロにすることにより、ある
平面方向の全PEと同時に通信したり、3軸の番号をゼ
ロにすること番こより、全PEと同時に通信することが
可能となる。
第8図(a)(b)(c)は、本発明・のさらに他の実
施例を示すもので、PE番号の割り当てにビットマツプ
方式を用いた場合の説明図である。
施例を示すもので、PE番号の割り当てにビットマツプ
方式を用いた場合の説明図である。
第8図の実施例では、mXn個のPEに対して2次元の
PE番号を与える場合、コマンド504と対になり、情
報の全体フォーマット501を形成する行(X方向〕、
列(y方向)のPE番号502゜503に各々mビット
長、nビット長の領域を割り当て、ビットマツプ方式の
PE番号割り当てを行っている。この割り当て方法は、
X行、y列の指定にビット数が余分に必要となるが、個
々の行および列について、コマンド受信に対する選択。
PE番号を与える場合、コマンド504と対になり、情
報の全体フォーマット501を形成する行(X方向〕、
列(y方向)のPE番号502゜503に各々mビット
長、nビット長の領域を割り当て、ビットマツプ方式の
PE番号割り当てを行っている。この割り当て方法は、
X行、y列の指定にビット数が余分に必要となるが、個
々の行および列について、コマンド受信に対する選択。
あるいは非選択を任意に決定できるので利用度が高い。
第8図(a)(b)(c)では、行方向のPE番号を表
すmビット長の領域502のaビット目(l≦a:5m
)の論理値11 Q #l、 II l +1により、
a行目の非選択、選択を決定し、列方向も同じようにP
E番号を表すnビット長の領域503のbビット目(1
≦b≦n)のtA]!l!値II Q +7. II
1 +1により、b行目の非選択、選択を決定している
。そして1行方向および列方向が共に選択さ九たPEの
みが上位プロセッサとの通信において選択される。
すmビット長の領域502のaビット目(l≦a:5m
)の論理値11 Q #l、 II l +1により、
a行目の非選択、選択を決定し、列方向も同じようにP
E番号を表すnビット長の領域503のbビット目(1
≦b≦n)のtA]!l!値II Q +7. II
1 +1により、b行目の非選択、選択を決定している
。そして1行方向および列方向が共に選択さ九たPEの
みが上位プロセッサとの通信において選択される。
このようなプロセッサPEの制御方式を採用することに
より、前述の第3図(b)(c)(d)に示したような
形態のデータ処理に加えて、第8図(a)(bOc)に
示すようなブロック部分領域の組み合せ形態のデータ処
理が簡単に行える。なお、第8図(a)は、第3図(d
)と同一の形態であり、第8図(b)は分離された2つ
のブロック部分領域の組み合せ形態のデータ処理であり
、第8図(e)は4つに分離されたブロック部分領域の
組み合せ形態のデータ処理である。
より、前述の第3図(b)(c)(d)に示したような
形態のデータ処理に加えて、第8図(a)(bOc)に
示すようなブロック部分領域の組み合せ形態のデータ処
理が簡単に行える。なお、第8図(a)は、第3図(d
)と同一の形態であり、第8図(b)は分離された2つ
のブロック部分領域の組み合せ形態のデータ処理であり
、第8図(e)は4つに分離されたブロック部分領域の
組み合せ形態のデータ処理である。
第9図は、第8図の各PEにおけるPE番号判定回路の
ブロック図である。
ブロック図である。
第8図(a)(b)(e)で示したような上位プロセッ
サとPE間の通信を可能にするには、第9図に示す構成
要素を各PE内に僅えるか、または第9図で示す構成の
処理手順をマイクロプログラム等によるソフトウェア番
こより行うことにより、実現される。
サとPE間の通信を可能にするには、第9図に示す構成
要素を各PE内に僅えるか、または第9図で示す構成の
処理手順をマイクロプログラム等によるソフトウェア番
こより行うことにより、実現される。
第9図において2上位プロセッサから送られてきた情報
502,503,504 (それぞれ、X方向番号、y
方向番号、コマンド)は、PEにおいて、自分宛の情報
か否かが判定される。すなわち、PE番号判定回路では
、自分に割り当てられた2次元のPE番号1001,1
002のデコーダ出力信号1007,1008と、外か
ら送られてきたPE番号のビットパターンの比較を、ビ
ットパターン比較ブロック1003.1004により行
う。このとき、mXn個のPEの中の座標(a、b)(
1≦a≦m、1≦b≦n)で表わされるPRは、自分自
身に割り当てられた2次元のPE番号1001.100
2として、a、bを持ち、PE番号のデコーダ1007
.1008の出力信号は、mビット長(1007の場合
)、nビット長(1008の場合)の領域中でaビット
目(1007の場合)、bビット目(1008の場合)
のみが論理HI 11、他の全ビットが論理値It O
47であるビットパターンを有する。
502,503,504 (それぞれ、X方向番号、y
方向番号、コマンド)は、PEにおいて、自分宛の情報
か否かが判定される。すなわち、PE番号判定回路では
、自分に割り当てられた2次元のPE番号1001,1
002のデコーダ出力信号1007,1008と、外か
ら送られてきたPE番号のビットパターンの比較を、ビ
ットパターン比較ブロック1003.1004により行
う。このとき、mXn個のPEの中の座標(a、b)(
1≦a≦m、1≦b≦n)で表わされるPRは、自分自
身に割り当てられた2次元のPE番号1001.100
2として、a、bを持ち、PE番号のデコーダ1007
.1008の出力信号は、mビット長(1007の場合
)、nビット長(1008の場合)の領域中でaビット
目(1007の場合)、bビット目(1008の場合)
のみが論理HI 11、他の全ビットが論理値It O
47であるビットパターンを有する。
ビットパターンが一致したならば、ANDゲート100
51’両比較ブ07り10−03.1004の出力の論
理積をとって、ANDゲート1005の出力で入力部1
006を制御することにより、コマンド504を自分の
PEに入力する。
51’両比較ブ07り10−03.1004の出力の論
理積をとって、ANDゲート1005の出力で入力部1
006を制御することにより、コマンド504を自分の
PEに入力する。
第10図は、第9図の比較ブロックの詳細構成図である
。ビットパターン比較ブロック1003の構成は、第1
0図に示すように、上位プロセッサから送られた情報5
02と、デコーダ1007の出力信号とのビットパター
ンを比較するため、論理ANDゲート1101〜110
4をmビシ8分だけ並列に備えて、これらの出力をm入
力の論理ORブロック1105に入力し、その出力をビ
ットパターン比較ブロック1003の出力とする。
。ビットパターン比較ブロック1003の構成は、第1
0図に示すように、上位プロセッサから送られた情報5
02と、デコーダ1007の出力信号とのビットパター
ンを比較するため、論理ANDゲート1101〜110
4をmビシ8分だけ並列に備えて、これらの出力をm入
力の論理ORブロック1105に入力し、その出力をビ
ットパターン比較ブロック1003の出力とする。
デコーダ1007の出力信号は、前述のようにaビット
目のみが論理値“1″、他の全ビットが論理値II O
IIであるため、ビットパターン比較ブロック1003
の出力信号は上位プロセッサから送られた情報502の
aビット目が論理値II I IIの場合、論理値LL
I IIに、論理値I/ OHlの場合にはII O
Hとなる。
目のみが論理値“1″、他の全ビットが論理値II O
IIであるため、ビットパターン比較ブロック1003
の出力信号は上位プロセッサから送られた情報502の
aビット目が論理値II I IIの場合、論理値LL
I IIに、論理値I/ OHlの場合にはII O
Hとなる。
また、Y方向のPE番号用のビットパターン比較ブロッ
ク1004も、デコーダ1008の出力信号と5上位プ
ロセッサから送られた情報503に対して同じような動
作を行う。
ク1004も、デコーダ1008の出力信号と5上位プ
ロセッサから送られた情報503に対して同じような動
作を行う。
これら両方のビットパターン比較ブロック1003.1
004の出力信号を論理的にANDゲート1005によ
り論理積をとることにより、X行、y列方向での2次元
のPE番号の判定ができる。
004の出力信号を論理的にANDゲート1005によ
り論理積をとることにより、X行、y列方向での2次元
のPE番号の判定ができる。
上記ANDゲート1005での一致信号を用いてコマン
ド入力ブロック1006を制御することにより、上位プ
ロセッサからのコマンド504を入力するか否かを決定
する。
ド入力ブロック1006を制御することにより、上位プ
ロセッサからのコマンド504を入力するか否かを決定
する。
また、本実施例においては、情報502および503の
全ビットが論理値(11#Jとなるビットパターンが、
全PEに対するグローバルなPEy1択パターンとなる
。この判定には、専用のハードウェアまたはソフトウェ
アを用意せずに実現できる。
全ビットが論理値(11#Jとなるビットパターンが、
全PEに対するグローバルなPEy1択パターンとなる
。この判定には、専用のハードウェアまたはソフトウェ
アを用意せずに実現できる。
本実施例では、2次元のPE番号の割り当てをビットマ
ツプ方式により実現したものであるが、ビットマツプ方
式を用いて3次元以上のさらに多次元のPE番号の割り
当ても可能である。
ツプ方式により実現したものであるが、ビットマツプ方
式を用いて3次元以上のさらに多次元のPE番号の割り
当ても可能である。
また、PE番号の割り当てにビ、ットマップ方式を採用
することによって、第1図の実施例では不可能であった
第8図(a)(b)(c)に示すブロック部分領域や、
ブロック部分領域の組み合わせ形態の多様なデータ処理
が簡単に行える。この結果。
することによって、第1図の実施例では不可能であった
第8図(a)(b)(c)に示すブロック部分領域や、
ブロック部分領域の組み合わせ形態の多様なデータ処理
が簡単に行える。この結果。
画像処理における部分画像の処理等を高速に行うことが
可能である。
可能である。
第11図以降は、本発明の第3の実施例を示すもので、
ベクトル型のPE番号指定を採用した例を示す。ここで
は、ベクトル型指定を用いて、多重次元への適用の実施
例を述べる。
ベクトル型のPE番号指定を採用した例を示す。ここで
は、ベクトル型指定を用いて、多重次元への適用の実施
例を述べる。
先ず、k次元の場合には、ベクトル型PE番号指定は、
P(i工、12.・・・・・ik)により指定すること
ができる。第1図の実施例では、−例としてに=2.1
≦11+ 12≦8の場合を述べた。多重次元の場合
、一般的には、 P(’1(Jl、j2+・・j QL i 2 (jz
+j2・・・l)・・・・・r 1k(jl zj2
r・・・・jQ))によりに次元の各々の次元をさら
にΩ多重次元で表現(1≦j≦Q)できる。これを簡単
のために、P (、tt +Jl +J2 ”’J”
+ 12 +j1 +J2 ”’+ ”lkl #Jl
+j2 r・・jilt)と記載する。
P(i工、12.・・・・・ik)により指定すること
ができる。第1図の実施例では、−例としてに=2.1
≦11+ 12≦8の場合を述べた。多重次元の場合
、一般的には、 P(’1(Jl、j2+・・j QL i 2 (jz
+j2・・・l)・・・・・r 1k(jl zj2
r・・・・jQ))によりに次元の各々の次元をさら
にΩ多重次元で表現(1≦j≦Q)できる。これを簡単
のために、P (、tt +Jl +J2 ”’J”
+ 12 +j1 +J2 ”’+ ”lkl #Jl
+j2 r・・jilt)と記載する。
第11図は、本発明のベクトル型番号指定において、k
=2.Q=2とした場合の実施例を示す図である。第1
1図では、16個のプロセッサに対して、各PEに、 P(il +jt li2 +jz )の番号を割り付
ける。
=2.Q=2とした場合の実施例を示す図である。第1
1図では、16個のプロセッサに対して、各PEに、 P(il +jt li2 +jz )の番号を割り付
ける。
第11図の例では、実線で囲まれた4分割(1分割当り
のPE数が4個)1201に対して11+12の番号を
割付け、さらにその1分割内の点線1?[III*レタ
4個(7)PE 1202ニ対しテJ1 y jlの番
号を割付けている。また、数値ゼロをグローバル通信用
の数置とする。この場合には、第12図(a)〜(e)
に示すような多様な形態でのホストCP Uとの通信が
可能となる。
のPE数が4個)1201に対して11+12の番号を
割付け、さらにその1分割内の点線1?[III*レタ
4個(7)PE 1202ニ対しテJ1 y jlの番
号を割付けている。また、数値ゼロをグローバル通信用
の数置とする。この場合には、第12図(a)〜(e)
に示すような多様な形態でのホストCP Uとの通信が
可能となる。
第12図(a)では、P(0,0,1,O)というPE
番号がホストCPUから送られてきたときに応答する8
個のプロセッサを、斜線部分1301で示している。す
なわち、P(11+j1+12yjz)のうち、11y
t2が0,1であるから、X方向は全グループのPE、
Y方向は第1番目のグループのPEということになる。
番号がホストCPUから送られてきたときに応答する8
個のプロセッサを、斜線部分1301で示している。す
なわち、P(11+j1+12yjz)のうち、11y
t2が0,1であるから、X方向は全グループのPE、
Y方向は第1番目のグループのPEということになる。
そして、J1yj2が0,0であるため、斜線部分13
01の全てのPEが指定されることになる。
01の全てのPEが指定されることになる。
第12図(b)では、P(0,0,1,2)めF)E番
号がホストCPUから送られてきたときに応答する横1
列の4個のプロセッサを、斜線部分1302で示してい
る。
号がホストCPUから送られてきたときに応答する横1
列の4個のプロセッサを、斜線部分1302で示してい
る。
第12図CG)では、P(0,1,1,O)というPE
番号がホストCPUから送られてきたときに応答する4
個のプロセッサを斜線部1303゜1304で示してい
る。
番号がホストCPUから送られてきたときに応答する4
個のプロセッサを斜線部1303゜1304で示してい
る。
第12図(d)では、P(1,2,1,Q)というPE
番号がホストCPUから送られてきたときに応答する2
個のプロセッサを斜線部分1305で示している。
番号がホストCPUから送られてきたときに応答する2
個のプロセッサを斜線部分1305で示している。
第12図(e)では、P(1,0,2,0)というPE
番号がホストCPUから送られてきたときに応答する4
個のプロセッサを斜線部分1306で示している。
番号がホストCPUから送られてきたときに応答する4
個のプロセッサを斜線部分1306で示している。
第12図では、5つの例を示したが、勿論この他にも1
個のプロセッサだけとの通信(’ 1 、J 1 *1
2tJ2の値を全てゼロとしない)、あるいは全プロセ
ッサとの同時通信(+1,11m12tJ2の値を全て
ゼロにする)も可能である。
個のプロセッサだけとの通信(’ 1 、J 1 *1
2tJ2の値を全てゼロとしない)、あるいは全プロセ
ッサとの同時通信(+1,11m12tJ2の値を全て
ゼロにする)も可能である。
また、第11図、第12図の実施例において、ホストC
PUとの通信を行う場合に、PE番号とコマンドとを対
にしたデータを用いて情報通信を行うことは、それ以前
に述べた実施例の場合と同じである。
PUとの通信を行う場合に、PE番号とコマンドとを対
にしたデータを用いて情報通信を行うことは、それ以前
に述べた実施例の場合と同じである。
さらに、PE番号の判定についても、それ以前に述べた
実施例と同じ方法で実現できることは勿論である。
実施例と同じ方法で実現できることは勿論である。
このように、第11図の実施例においては、第1図の実
施例では不可能であったブロック領域の複数プロセッサ
との通信(第12図(a)〜(e))が可能となる。
施例では不可能であったブロック領域の複数プロセッサ
との通信(第12図(a)〜(e))が可能となる。
第13図は、上位プロセッサと下位プロセッサの通信イ
ンタフェースの流れを示すフローチャートである。先ず
、ホストCPUは、コマンドとプロセッサ番号を発行す
る(ステップ1)。例えば、(1,1,RUN)のコマ
ンドを、共通バスに出力することにより、これを受け取
ったX方向1番目、X方向1番目のPEのプログラムが
走行する。
ンタフェースの流れを示すフローチャートである。先ず
、ホストCPUは、コマンドとプロセッサ番号を発行す
る(ステップ1)。例えば、(1,1,RUN)のコマ
ンドを、共通バスに出力することにより、これを受け取
ったX方向1番目、X方向1番目のPEのプログラムが
走行する。
(1it)のPEは、先ずPE番号とコマンドを一時入
力する(ステップ2)。次に、PE番号の判定を行い(
ステップ3)、No、のときには何もせず(ステップ4
)、Y e s +のときのみ、コマンドを取り込む(
ステップ5)。コマンドの内容の実行、つまりRUN状
態に移行する(ステップ6)。
力する(ステップ2)。次に、PE番号の判定を行い(
ステップ3)、No、のときには何もせず(ステップ4
)、Y e s +のときのみ、コマンドを取り込む(
ステップ5)。コマンドの内容の実行、つまりRUN状
態に移行する(ステップ6)。
第14図は、第14図の下位プロセッサにおける入力制
御部のアドレス、命令の取り込み動作の説明図である。
御部のアドレス、命令の取り込み動作の説明図である。
各下位プロセッサ10,1.0’は、第14図(a)に
示すように、データストローブDSとアドレス信号Aリ
ード/ライト信号R,/ Wが外部から入出力制御部に
入力されることにより、出力レジスタ12から出力デー
タが外部バスに出力され、また入力レジスタ13へ外部
からの入力データを取り込む。第1・5図(b)は、(
a)の入出力制御部のさらに詳細な構成を示すもので、
リード/ライト信号R/Wとデータストローブ信号DS
とアドレス信号AとをANDまたはNANDゲートを経
由して出力および入力ゲートに供給することにより、共
通外部バスを経由してデータを入力レジスタ13にセッ
トするか、あるいは出力レジスタ12のデータを共通外
部バスに出力する。
示すように、データストローブDSとアドレス信号Aリ
ード/ライト信号R,/ Wが外部から入出力制御部に
入力されることにより、出力レジスタ12から出力デー
タが外部バスに出力され、また入力レジスタ13へ外部
からの入力データを取り込む。第1・5図(b)は、(
a)の入出力制御部のさらに詳細な構成を示すもので、
リード/ライト信号R/Wとデータストローブ信号DS
とアドレス信号AとをANDまたはNANDゲートを経
由して出力および入力ゲートに供給することにより、共
通外部バスを経由してデータを入力レジスタ13にセッ
トするか、あるいは出力レジスタ12のデータを共通外
部バスに出力する。
第15図(c)は、それらの信号タイムチャートである
。共通外部バス上に上位プロセッサから送られてきたP
E番号とコマンドの対のデータが乗せられた後データス
トローブDSがローレベルになる。次に、データストロ
ーブDSがローレベルからハイレベルに変化した時点で
、共通バス上のデータがPE内に取込まれPE内のテン
ポラリレジスタにこれらのデータをセットする。このよ
うにして、上位プロセッサは指定されたPEに対して効
率よく通信を行い、処理を割り当てることが可能である
。
。共通外部バス上に上位プロセッサから送られてきたP
E番号とコマンドの対のデータが乗せられた後データス
トローブDSがローレベルになる。次に、データストロ
ーブDSがローレベルからハイレベルに変化した時点で
、共通バス上のデータがPE内に取込まれPE内のテン
ポラリレジスタにこれらのデータをセットする。このよ
うにして、上位プロセッサは指定されたPEに対して効
率よく通信を行い、処理を割り当てることが可能である
。
第1図の第1の実施例と、第8図の第2の実施例と、第
11図の第3の実施例とを比較すると、ホストCPUと
の通信の多様性と・いう点では、第8図、第11図、第
1図の順で優れている。しかしながら、通信に必要とな
るPE番号を指定する情報量(PE番号指定に必要なビ
ット数)を同一とした場合に、通信可能となるPE数の
大きさは、第1図、第11図、第8図の順で優れている
。
11図の第3の実施例とを比較すると、ホストCPUと
の通信の多様性と・いう点では、第8図、第11図、第
1図の順で優れている。しかしながら、通信に必要とな
るPE番号を指定する情報量(PE番号指定に必要なビ
ット数)を同一とした場合に、通信可能となるPE数の
大きさは、第1図、第11図、第8図の順で優れている
。
また、各PEに対するPE番号の設定の方法について述
べると1本実施例では、従来の方法と同じように、各P
Eの外部に番号設定用のハードウェアを付加することに
より設定できる。しかし。
べると1本実施例では、従来の方法と同じように、各P
Eの外部に番号設定用のハードウェアを付加することに
より設定できる。しかし。
この他にも、各PEから上位プロセッサに対して番号設
定要求を出させた上で、上位プロセッサが物理的に端に
あるPEから順に論理的なPE番号を設定していくこと
も可能である。後者の方法は、各PEに対するPE番号
の設定変更が簡単になるという利点を有する。
定要求を出させた上で、上位プロセッサが物理的に端に
あるPEから順に論理的なPE番号を設定していくこと
も可能である。後者の方法は、各PEに対するPE番号
の設定変更が簡単になるという利点を有する。
以上説明したように1本発明によれば、マルチプロセッ
サ・システムにおいて、上位プロセッサから複数の下位
プロセッサPEに対して、多次元のPE番号を割り付け
ることにより、次のような利点がある。
サ・システムにおいて、上位プロセッサから複数の下位
プロセッサPEに対して、多次元のPE番号を割り付け
ることにより、次のような利点がある。
(a)PE番号の特殊な数値をグローバル通信用に設定
することにより、上位プロセッサと複数の下位プロセッ
サとの同時通信が可能である。
することにより、上位プロセッサと複数の下位プロセッ
サとの同時通信が可能である。
(b)PEの2次元配列においては、特定の1個のPE
、1列分のPE、1行分のPE、全てのPE、あるいは
特定の矩形領域のPEに対して、上位プロセッサは同時
通信が可能である。
、1列分のPE、1行分のPE、全てのPE、あるいは
特定の矩形領域のPEに対して、上位プロセッサは同時
通信が可能である。
(c)PEの番号モードを複数設けることにより。
物理的な接続を変更せずに、PEを2次元的または1次
元的な配列として扱うことが可能である。
元的な配列として扱うことが可能である。
第1図は本発明の第1の実施例を示すマルチプロセッサ
・システムの構成図、第2図は従来のマルチプロセッサ
・システムの構成図5第3図は複数のPEの動作形態を
示す図、第4図は第1図に対応するPE番号のフォーマ
ット例を示す図、第5図はホストCPUと同時に通信可
能なPEの配列を示す図、第6図は第1図のPE内で2
次元PE番号を判定する回路の構成図、第7図は第1図
のPE内で3次元PE番号を判定する回路の構成図、第
8図は本発明の第2の実施例を示すPE番号指定方式を
示す図、第9図は第8図におけるPE番号を判定する回
路の構成図、第10図は第9図のビットパターン比較ブ
ロックの詳細構成図。 第11図は本発明の第3の実施例を示す多重次元PE番
号割り付は方法の図、第12図は第11図における同時
通信が可能なPEの形態を示す図、第13図は上位と下
位プロセッサ間の通信インタフェースの流れを示す動作
フローチャート、第14図は下位プロセッサにおける入
出力時の動作説明図である6 101.401,601:ホストCPU(上位プロセッ
サ)、102,402,6Q2;システムバス、111
〜119,411〜419,61.1〜619:プロセ
ッサエレメント、301MXN全画像領域、302:縦
方向の部分領域、303:横方向の部分領域、304ニ
ブロック部分領域、320:IPHのデータ処理領域、
501:上位プロセッサからの情報、502:X方向の
PE番号、503:X方向のPE番号、504:コマン
ド、701:PEに設定されたX方向のPE番号、70
2:PEに設定されたX方向のPE番号、703.70
6:ゼロ判定ブロック、704゜707二番号比較ブロ
ック、705,708:論理ORゲート、709:論理
ANDゲート、710:コマンド入力ブロック、801
:PEに設定さ九たX方向のPE番号、801PHに設
定されたX方向のPE番号、803:PEに設定された
2方向のPE番号、804〜806:上位プロセッサか
らのx、y、zのPE番号情報、807:上位プロセッ
サからのコマンド情報、808゜311、g14:ゼロ
判定ブロック、809゜g12,815:番号比較ブロ
ック、810゜813.816:論理ORゲート、81
7:論理ANDゲート、901〜906:ブロック部分
領域(1〜6)、toot、1002:PEに設定され
たX+’/方向のPE番号、1003,1004:ビッ
トパターン比較ブロック、1005:論理ANDゲート
、1006 !コマンド入力ブロック、1007.10
08:デコーダブロック、1101〜1104:論理A
NDゲート、1105:論理ORゲート、1201:4
分割されたプロセッサ群、1202:1個のプロセッサ
、1301〜1306:ホストCPUに応答するプロセ
ッサ群。 第 1 図 第 2 図 第 3 図 (C) (dl第
4図 第 5 図 (a) 第 6 図 第 7 図 第 8 図 (a) 第 8 図 (b) 第 8 図 (C) 第 9 図 第 l O図 第 11 図 P(il+jl+12z12) 第 12 図 (a) P (0,O,l、 O) (b) P (0,O,l、 2 ) 第 12 図 (c) P (1,2,l、 O) 第 12 図 (e) P (1,0,2,O) 第 13 図 (ホストCPLI) (下位プロ
セッサ)第 14 図
・システムの構成図、第2図は従来のマルチプロセッサ
・システムの構成図5第3図は複数のPEの動作形態を
示す図、第4図は第1図に対応するPE番号のフォーマ
ット例を示す図、第5図はホストCPUと同時に通信可
能なPEの配列を示す図、第6図は第1図のPE内で2
次元PE番号を判定する回路の構成図、第7図は第1図
のPE内で3次元PE番号を判定する回路の構成図、第
8図は本発明の第2の実施例を示すPE番号指定方式を
示す図、第9図は第8図におけるPE番号を判定する回
路の構成図、第10図は第9図のビットパターン比較ブ
ロックの詳細構成図。 第11図は本発明の第3の実施例を示す多重次元PE番
号割り付は方法の図、第12図は第11図における同時
通信が可能なPEの形態を示す図、第13図は上位と下
位プロセッサ間の通信インタフェースの流れを示す動作
フローチャート、第14図は下位プロセッサにおける入
出力時の動作説明図である6 101.401,601:ホストCPU(上位プロセッ
サ)、102,402,6Q2;システムバス、111
〜119,411〜419,61.1〜619:プロセ
ッサエレメント、301MXN全画像領域、302:縦
方向の部分領域、303:横方向の部分領域、304ニ
ブロック部分領域、320:IPHのデータ処理領域、
501:上位プロセッサからの情報、502:X方向の
PE番号、503:X方向のPE番号、504:コマン
ド、701:PEに設定されたX方向のPE番号、70
2:PEに設定されたX方向のPE番号、703.70
6:ゼロ判定ブロック、704゜707二番号比較ブロ
ック、705,708:論理ORゲート、709:論理
ANDゲート、710:コマンド入力ブロック、801
:PEに設定さ九たX方向のPE番号、801PHに設
定されたX方向のPE番号、803:PEに設定された
2方向のPE番号、804〜806:上位プロセッサか
らのx、y、zのPE番号情報、807:上位プロセッ
サからのコマンド情報、808゜311、g14:ゼロ
判定ブロック、809゜g12,815:番号比較ブロ
ック、810゜813.816:論理ORゲート、81
7:論理ANDゲート、901〜906:ブロック部分
領域(1〜6)、toot、1002:PEに設定され
たX+’/方向のPE番号、1003,1004:ビッ
トパターン比較ブロック、1005:論理ANDゲート
、1006 !コマンド入力ブロック、1007.10
08:デコーダブロック、1101〜1104:論理A
NDゲート、1105:論理ORゲート、1201:4
分割されたプロセッサ群、1202:1個のプロセッサ
、1301〜1306:ホストCPUに応答するプロセ
ッサ群。 第 1 図 第 2 図 第 3 図 (C) (dl第
4図 第 5 図 (a) 第 6 図 第 7 図 第 8 図 (a) 第 8 図 (b) 第 8 図 (C) 第 9 図 第 l O図 第 11 図 P(il+jl+12z12) 第 12 図 (a) P (0,O,l、 O) (b) P (0,O,l、 2 ) 第 12 図 (c) P (1,2,l、 O) 第 12 図 (e) P (1,0,2,O) 第 13 図 (ホストCPLI) (下位プロ
セッサ)第 14 図
Claims (1)
- 【特許請求の範囲】 1、上位プロセッサが複数個の下位プロセッサ・エレメ
ントを制御するマルチプロセッサシステムにおいて、該
上位プロセッサから予め設定された固有で多次元のプロ
セッサ番号を格納するレジスタと、該上位プロセッサか
らプロセッサ番号と対になったコマンドが送られたとき
、該プロセッサ番号と上記レジスタに格納されている番
号とを次元ごとに比較する手段と、該比較手段による比
較結果が一致するか、該プロセッサ番号が各次元ごとに
予め定められた特殊な数値であるときのみ、該コマンド
を受け入れて応答する手段を有することを特徴とするマ
ルチプロセッサ用エレメント。 2、上記プロセッサ番号は、多次元のベクトルとして認
識され、該ベクトルを照合することにより自分宛のコマ
ンドであるか否かを判定することを特徴とする特許請求
の範囲第1項記載のマルチプロセッサ用エレメント。 3、上記プロセッサ番号は、ビットマップ方式として認
識され、該ビットマップを照合することにより自分宛の
コマンドであるか否かを判定することを特徴とする特許
請求の範囲第1項記載のマルチプロセッサ用エレメント
。 4、上記プロセッサ番号は、次元ごとの切れ目のビット
位置を複数に切り換えることを特徴とする特許請求の範
囲第1項、第2項または第3項記載のマルチプロセッサ
用エレメント。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61259375A JP2900359B2 (ja) | 1986-10-30 | 1986-10-30 | マルチプロセッサシステム |
KR1019870011949A KR960012655B1 (ko) | 1986-10-30 | 1987-10-28 | 멀티 프로세서 시스템 및 그것에 사용된 코 프로세서 |
US07/782,760 US5430885A (en) | 1986-10-30 | 1991-10-22 | Multi-processor system and co-processor used for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61259375A JP2900359B2 (ja) | 1986-10-30 | 1986-10-30 | マルチプロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63113659A true JPS63113659A (ja) | 1988-05-18 |
JP2900359B2 JP2900359B2 (ja) | 1999-06-02 |
Family
ID=17333251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61259375A Expired - Lifetime JP2900359B2 (ja) | 1986-10-30 | 1986-10-30 | マルチプロセッサシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US5430885A (ja) |
JP (1) | JP2900359B2 (ja) |
KR (1) | KR960012655B1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03102455A (ja) * | 1989-09-18 | 1991-04-26 | Fujitsu Ltd | 並列計算機を構成する計算機ノード |
JPH0830571A (ja) * | 1995-07-24 | 1996-02-02 | Hitachi Ltd | データ転送ネットワーク |
US5553078A (en) * | 1989-09-18 | 1996-09-03 | Fujitsu Limited | Communication control system between parallel computers |
US6970196B1 (en) | 1999-03-16 | 2005-11-29 | Hamamatsu Photonics K.K. | High-speed vision sensor with image processing function |
JP2011198088A (ja) * | 2010-03-19 | 2011-10-06 | Fuji Xerox Co Ltd | 画像処理装置、画像形成システム及び画像処理プログラム |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5715439A (en) * | 1996-12-09 | 1998-02-03 | Allen-Bradley Company, Inc. | Bi-directional co-processor interface |
JP3344345B2 (ja) * | 1998-12-15 | 2002-11-11 | 日本電気株式会社 | 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体 |
US20140325175A1 (en) * | 2013-04-29 | 2014-10-30 | Pact Xpp Technologies Ag | Pipeline configuration protocol and configuration unit communication |
EP1228440B1 (de) | 1999-06-10 | 2017-04-05 | PACT XPP Technologies AG | Sequenz-partitionierung auf zellstrukturen |
US7191310B2 (en) * | 2000-01-19 | 2007-03-13 | Ricoh Company, Ltd. | Parallel processor and image processing apparatus adapted for nonlinear processing through selection via processor element numbers |
US7386610B1 (en) | 2000-09-18 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Internet protocol data mirroring |
US6977927B1 (en) | 2000-09-18 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Method and system of allocating storage resources in a storage area network |
US6804819B1 (en) | 2000-09-18 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Method, system, and computer program product for a data propagation platform and applications of same |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US6606690B2 (en) | 2001-02-20 | 2003-08-12 | Hewlett-Packard Development Company, L.P. | System and method for accessing a storage area network as network attached storage |
US9552047B2 (en) | 2001-03-05 | 2017-01-24 | Pact Xpp Technologies Ag | Multiprocessor having runtime adjustable clock and clock dependent power supply |
US9141390B2 (en) | 2001-03-05 | 2015-09-22 | Pact Xpp Technologies Ag | Method of processing data with an array of data processors according to application ID |
US9436631B2 (en) | 2001-03-05 | 2016-09-06 | Pact Xpp Technologies Ag | Chip including memory element storing higher level memory data on a page by page basis |
US9411532B2 (en) | 2001-09-07 | 2016-08-09 | Pact Xpp Technologies Ag | Methods and systems for transferring data between a processing device and external devices |
US9250908B2 (en) | 2001-03-05 | 2016-02-02 | Pact Xpp Technologies Ag | Multi-processor bus and cache interconnection system |
US10031733B2 (en) | 2001-06-20 | 2018-07-24 | Scientia Sol Mentis Ag | Method for processing data |
US7073048B2 (en) * | 2002-02-04 | 2006-07-04 | Silicon Lease, L.L.C. | Cascaded microcomputer array and method |
US9170812B2 (en) | 2002-03-21 | 2015-10-27 | Pact Xpp Technologies Ag | Data processing system having integrated pipelined array data processor |
JP4388895B2 (ja) | 2002-09-06 | 2009-12-24 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | リコンフィギュアラブルなシーケンサ構造 |
TW200416522A (en) | 2003-02-25 | 2004-09-01 | Asustek Comp Inc | Portable computer carrying desktop computer processor and power management method thereof |
JP2005202767A (ja) * | 2004-01-16 | 2005-07-28 | Toshiba Corp | プロセッサシステム、dma制御回路、dma制御方法、dmaコントローラの制御方法、画像処理方法および画像処理回路 |
US7185138B1 (en) | 2004-05-14 | 2007-02-27 | Peter Galicki | Multi-dimensional data routing fabric |
KR100736902B1 (ko) * | 2005-06-23 | 2007-07-10 | 엠텍비젼 주식회사 | 복수의 프로세서에 의한 메모리 공유 방법 및 장치 |
JP2012014397A (ja) * | 2010-06-30 | 2012-01-19 | Fujitsu Ltd | 入出力制御装置、及び情報処理装置 |
US10789202B2 (en) * | 2017-05-12 | 2020-09-29 | Google Llc | Image processor with configurable number of active cores and supporting internal network |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60140456A (ja) * | 1983-12-28 | 1985-07-25 | Hitachi Ltd | 並列処理装置 |
JPS60175174A (ja) * | 1984-02-21 | 1985-09-09 | Agency Of Ind Science & Technol | 並列デ−タ転送方式 |
JPS6135645A (ja) * | 1984-07-27 | 1986-02-20 | Fujitsu Ltd | 郡別同報通信方式 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3979728A (en) * | 1973-04-13 | 1976-09-07 | International Computers Limited | Array processors |
US4809169A (en) * | 1986-04-23 | 1989-02-28 | Advanced Micro Devices, Inc. | Parallel, multiple coprocessor computer architecture having plural execution modes |
-
1986
- 1986-10-30 JP JP61259375A patent/JP2900359B2/ja not_active Expired - Lifetime
-
1987
- 1987-10-28 KR KR1019870011949A patent/KR960012655B1/ko not_active IP Right Cessation
-
1991
- 1991-10-22 US US07/782,760 patent/US5430885A/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60140456A (ja) * | 1983-12-28 | 1985-07-25 | Hitachi Ltd | 並列処理装置 |
JPS60175174A (ja) * | 1984-02-21 | 1985-09-09 | Agency Of Ind Science & Technol | 並列デ−タ転送方式 |
JPS6135645A (ja) * | 1984-07-27 | 1986-02-20 | Fujitsu Ltd | 郡別同報通信方式 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03102455A (ja) * | 1989-09-18 | 1991-04-26 | Fujitsu Ltd | 並列計算機を構成する計算機ノード |
US5553078A (en) * | 1989-09-18 | 1996-09-03 | Fujitsu Limited | Communication control system between parallel computers |
JPH0830571A (ja) * | 1995-07-24 | 1996-02-02 | Hitachi Ltd | データ転送ネットワーク |
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 |
JP2011198088A (ja) * | 2010-03-19 | 2011-10-06 | Fuji Xerox Co Ltd | 画像処理装置、画像形成システム及び画像処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
KR880005511A (ko) | 1988-06-29 |
JP2900359B2 (ja) | 1999-06-02 |
KR960012655B1 (ko) | 1996-09-23 |
US5430885A (en) | 1995-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS63113659A (ja) | マルチプロセッサシステム | |
US3537074A (en) | Parallel operating array computer | |
US20190114499A1 (en) | Image preprocessing for generalized image processing | |
KR0125623B1 (ko) | 데이타 프로세서 및 데이타 처리방법 | |
EP0390907B1 (en) | Parallel data processor | |
US3364472A (en) | Computation unit | |
EP0280251B1 (en) | Shared memory controller arrangement | |
US7073039B2 (en) | Providing a register file memory with local addressing in a SIMD parallel processor | |
WO1984000226A1 (en) | Interconnecting plane for modular array processor | |
US3710349A (en) | Data transferring circuit arrangement for transferring data between memories of a computer system | |
JP4801605B2 (ja) | Simd型マイクロプロセッサ | |
US11645072B2 (en) | Semiconductor device | |
EP1314099B1 (en) | Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner | |
JP7278150B2 (ja) | 画像処理装置、撮像装置、画像処理方法 | |
JPS59761A (ja) | 複数プロセツサによる画像処理方式 | |
US20040215925A1 (en) | Method for rounding values for a plurality of parallel processing elements | |
US7373645B2 (en) | Method for using extrema to load balance a loop of parallel processing elements | |
US7437729B2 (en) | Method for load balancing a loop of parallel processing elements | |
Miner | Miner... from | |
JP2003216950A (ja) | パターンマッチングなどを行なうためのsimd型マイクロプロセッサ | |
JP2510219B2 (ja) | 画像処理装置 | |
JPH0784963A (ja) | Cpuを有する半導体集積回路 | |
JP2555124B2 (ja) | 画像処理装置 | |
JPH10254767A (ja) | メモリ制御装置及び該メモリ制御装置によるメモリシステム | |
US7930518B2 (en) | Method for manipulating data in a group of processing elements to perform a reflection of the data |