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
Application number
JP61259375A
Other languages
English (en)
Other versions
JP2900359B2 (ja
Inventor
Kenji Kaneko
金子 憲二
Hirotada Ueda
博唯 上田
Tetsuya Nakagawa
哲也 中川
Atsushi Kiuchi
淳 木内
Yoshimune Hagiwara
萩原 吉宗
Hiroshi Takamori
洋 高森
Narunori Toyomasu
豊増 考乃
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 ULSI Engineering Corp
Hitachi Ltd
Maxell Ltd
Original Assignee
Hitachi ULSI Engineering Corp
Hitachi Ltd
Hitachi Maxell 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 ULSI Engineering Corp, Hitachi Ltd, Hitachi Maxell Ltd filed Critical Hitachi ULSI Engineering Corp
Priority to JP61259375A priority Critical patent/JP2900359B2/ja
Priority to KR1019870011949A priority patent/KR960012655B1/ko
Publication of JPS63113659A publication Critical patent/JPS63113659A/ja
Priority to US07/782,760 priority patent/US5430885A/en
Application granted granted Critical
Publication of JP2900359B2 publication Critical patent/JP2900359B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent 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]
    • 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

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次元の番号を各プロセッサの内部レジスタに記憶させ
る方法が用いられている。
すなわち、上述のマルチプロセッサは、複数個のイメー
ジパイプラインプロセッサをリング状に接続している。
各プロセッサのモジュールナンバ・レジスタは4ビツト
からなり、16通りのモジュール番号がある。プロセッ
サ間の接続は、前段のプロセッサの出力系のバスと次段
のプロセッサの入力系のバスを単に結線して、モジュー
ル番号設定用の4ビツトバツフアを付加するだけでよい
このバッファの値は、初期設定時にプロセッサ内にセッ
トされ、各プロセッサの固有のモジュール番号となる。
第2図は、従来のマルチプロセッサを構成するプロセッ
サエレメントの配列図である。
第2図では、上位プロセッサ101のもとに。
mXn個のデータ処理部111〜119がシステムバス
102を介して並列に接続されている例を示している。
ここでは、2次元画像のデータ処理を行う場合を考える
。2次元画像の処理では、M×N画素について、フィル
タ演算等が行われるので、そのデータ演算量は膨大なも
のになる。その−例として、2000X2000画素に
ついて、3×3画素の近傍演算によるフィルタ処理を行
った場合には、2000X2000X3X3=36oo
oooo回ものデータ演算が必要となる。このような演
算を行う場合には、第2図に示したようなマルチプロセ
ッサ構成で、各データ処理部にMXN画素の領域を分割
したデータを与え、各々のデータ処理部で並列に演算を
行うことにより。
データ処理時間がデータ処理部の数分の1に短縮される
。このとき、上位プロセッサから、どのデータ処理部に
どの領域の処理を行わせるかを知らせるために、プロセ
ッサエレメント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間の通信量が増加するので
、上位プロセッサのオペレーティングシステムの負担が
増加し、かつデータ処理のスループットは低下し、その
他の処理速度も低下する等の好ましくない状態となる。
例えば、第3図(b)に示すように、y方向の部分画像
領域に対して同一処理を行う場合を考えると、従来例で
は、その処理の手順は次のように行っている。
(イ)上位プロセッサが処理すべき領域を分担している
複数のPEに対して、処理に必要なパラメータやプログ
ラム等の情報を転送する必要がある。
その場合、PEの番号が1次元で表現されているため、
上位プロセッサからの情報転送を行うという指示を、P
R数分の回数だけ行う必要がある。
このため、その指示の転送にかなりの時間を費すことに
なる。また、上位プロセッサは、°常にこの情報転送を
監視している必要があるため、上記指示の転送の期間中
に、他の仕事をすることができなくなる。
(ロ)上記情報転送の後に、上位プロセッサは、各PE
に対して処理の実行を指示するが、このときにも、PE
の数だけ指示を発行する必要があるので、無駄な時間が
費される。
〔発明が解決しようとする問題点〕
従来の方法では、(a)プロセッサ番号が1次元の指定
のために1画像処理を行う時のプレキシビリティに欠け
ること、(b)各プロセッサと上位のプロセッサとの間
のコミュニケーションの多様な形態に関しての配慮が足
りないこと、等の問題があった。
本発明の目的は、これらの問題を解決し、ホストプロセ
ッサと複数のプロセッサ間の同時通信が可能で、かつ超
高速のデータ処理が可能なマルチプロセッサ用エレメン
トを提供することにある。
〔問題点を解決するための手段〕
上記目的を達成するため、本発明のマルチプロセッサ用
エレメントは、上位プロセッサから予め設定された固有
で多次元のプロセッサ番号を格納するレジスタと、該上
位プロセッサからプロセッサ番号と対になったコマンド
が送られたとき、該プロセッサ番号と上記レジスタに格
納されている番号とを次元ごとに比較する手段と、該比
較手段による比較結果が一致するか、該プロセッサ番号
が各次元ごとに予め定められた特殊な数値であるときの
み、該コマンドを受け入れて応答する手段を有すること
に特徴がある。
〔作  用〕
本発明においては、複数個のプロセッサに割り付けるプ
ロセッサ番号を、次のような方法とする。
(a)プロセッサ番号を多次元の番号とする。これによ
り、画像処理等における2次元、3次元あるいは画a領
域の任意の領域のデータ処理を各プロセッサに容易に分
担させることができる。
(b)プロセッサ番号の特殊な番号(例えば、ゼロ等)
を上位プロセッサとのグローバル通信のための番号とし
て設ける。これにより、上゛位プロセッサと複数のプロ
セッサが同時に通信できる。
(e)プロセッサ番号のフォーマットを複数にして、上
位プロセッサからの指令でフォーマットの変更ができる
ようにする。これにより、画像処理等において、複数の
各プロセッサに処理すべき画像領域のデータを1次元的
に割当てたり、2次元的に割当てたりすることができ、
処理形態のフレキシビリティが増大する。
〔実施例〕 以下、本発明の実施例を、図面により詳細に説明する。
第1図は、本発明の一実施例を示すマルチプロセッサ用
プロセッサエレメントの配置図である。
第1図においては、ホストCPU401は、バス402
を介して接続されている複数個の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方向)の番号を意味している。
この情報は、システムバスのビット長に応じて決められ
、例えば16ビツト長の場合、コマンドに4ビツトを用
いて、残り12ビツトをPE番号502.503に割り
付ける。このとき、第4図(b)に示すように、12ビ
ツトを6ビツトごとにXtyの番号に割り当ててもよく
、また第4図(c)に示すように、異なるビット数分だ
け割り当ててもよい(3ビツトと9ビツト)。
本実施例においては、X、yへの番号の割り当ては、数
種類準備し、上位プロセッサからのモード設定の変更に
より、その時々により番号割り当て方法を変更すること
ができるようにしている。
このモード設定は、各PEにモード設定用レジスタを設
けておき、これに上位プロセッサから、モード設定デー
タを書き込むようにしている。このモード設定データに
より、上位プロセッサから送られてくるPE番号のビッ
ト配分を認識する。
このようにすると、行、列の方向の画素が同程度の場合
や、片方向だけ大きい場合(極端な場合には、1次元画
像データ)にも、簡単にプロセッサの割り付は変更がで
きる。
本実施例では、上述のように、多次元に番号割り付けを
行った上で、さらにPE番号のうち特殊な数を上位プロ
セッサとPE間のグローバル通信に用いる。ここでは、
−例として、ゼロをグローバル通信用の数とする。この
ようにすることにより、第3図(a)(b)(c)に示
したような形態のデータ処理が容易になる。
第5図は、本発明におけるホストCPUと同時に通信可
能なPEの例を示す図である。
第5図(、)に示すように、上位プロセッサ601から
PE番号(0,O)とコマンドCが対になって送られて
きたとき、全てのPEは同時に自分に送られてきたコマ
ンドであると解釈して、上位プロセッサに応答する。こ
のため、第3図(a)に示すような全面同一処理のため
の上位プロセッサからの指示が、1回で済むことになる
また、第5図(b)に示すように、PE番号(xtO)
とコマンドCが対になって送られてきたときには、ある
X行のプロセッサの全てが同時に応答し、第3図(b)
に示す行方向のデータ処理が容易に行われる。同じよう
にして、y列方向の処理も容易に行われることは勿論で
ある。また、PE番号(x、y)を送ることにより、特
定のPEだけが応答することも勿論容易である。
このように、本実施例においては、上位プロセッサから
複数のPEに対する指示は、指示内容ごとに1回の指示
だけで済むので、このための通信時間が大幅に短縮され
る。
第6図は、本発明のPE内の2次元PE番号を判定する
回路の一実施例を示す構成図である。
第5図に示すような上位プロセッサとPE間の通信を実
現するためには、第6図で示すような構成要素を各PE
内に備えるか、または第6図に示す構成での処理手順を
マイクロプログラム等によるソフトウェアにより行うこ
とによって可能となる。
第6図において、501は受信レジスタ、701.70
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の番号が一致した場合に、一致信号が出力さ
れる。同じようにして。
503の番号がゼロであるか、あるいは503と702
の番号が一致した場合に、一致信号が出力される。2九
ら両方の一致信号をANDゲート709で論理積をとる
ことにより、X行、y列方向での2次元のPE番号の判
定が行える。そして、ANDゲート709での一致信号
を用いて、上位プロセッサからのコマンド504を入力
部710から入力するか否かを決定する。
第7図は、本発明の他の実施例を示すもので、3次元デ
ータ処理を行う場合の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を入力するか否かを決定する。
このように3次元のPE番号を与えた場合には。
ある特定のPEだけと通信したり、ある軸(xtYtZ
のいずれか1つ)の番号をゼロにすることにより、1軸
方向の全PEと同時に通信したり、2軸(X、V* Z
のいずれか2つ)の番号をゼロにすることにより、ある
平面方向の全PEと同時に通信したり、3軸の番号をゼ
ロにすること番こより、全PEと同時に通信することが
可能となる。
第8図(a)(b)(c)は、本発明・のさらに他の実
施例を示すもので、PE番号の割り当てにビットマツプ
方式を用いた場合の説明図である。
第8図の実施例では、mXn個のPEに対して2次元の
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の
みが上位プロセッサとの通信において選択される。
このようなプロセッサPEの制御方式を採用することに
より、前述の第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図で示す構成の
処理手順をマイクロプログラム等によるソフトウェア番
こより行うことにより、実現される。
第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であるビットパターンを有する。
ビットパターンが一致したならば、ANDゲート100
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の出力とする。
デコーダ1007の出力信号は、前述のようにaビット
目のみが論理値“1″、他の全ビットが論理値II O
IIであるため、ビットパターン比較ブロック1003
の出力信号は上位プロセッサから送られた情報502の
aビット目が論理値II I IIの場合、論理値LL
 I IIに、論理値I/ OHlの場合にはII O
Hとなる。
また、Y方向のPE番号用のビットパターン比較ブロッ
ク1004も、デコーダ1008の出力信号と5上位プ
ロセッサから送られた情報503に対して同じような動
作を行う。
これら両方のビットパターン比較ブロック1003.1
004の出力信号を論理的にANDゲート1005によ
り論理積をとることにより、X行、y列方向での2次元
のPE番号の判定ができる。
上記ANDゲート1005での一致信号を用いてコマン
ド入力ブロック1006を制御することにより、上位プ
ロセッサからのコマンド504を入力するか否かを決定
する。
また、本実施例においては、情報502および503の
全ビットが論理値(11#Jとなるビットパターンが、
全PEに対するグローバルなPEy1択パターンとなる
。この判定には、専用のハードウェアまたはソフトウェ
アを用意せずに実現できる。
本実施例では、2次元のPE番号の割り当てをビットマ
ツプ方式により実現したものであるが、ビットマツプ方
式を用いて3次元以上のさらに多次元のPE番号の割り
当ても可能である。
また、PE番号の割り当てにビ、ットマップ方式を採用
することによって、第1図の実施例では不可能であった
第8図(a)(b)(c)に示すブロック部分領域や、
ブロック部分領域の組み合わせ形態の多様なデータ処理
が簡単に行える。この結果。
画像処理における部分画像の処理等を高速に行うことが
可能である。
第11図以降は、本発明の第3の実施例を示すもので、
ベクトル型の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)と記載する。
第11図は、本発明のベクトル型番号指定において、k
=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との通信が
可能となる。
第12図(a)では、P(0,0,1,O)というPE
番号がホストCPUから送られてきたときに応答する8
個のプロセッサを、斜線部分1301で示している。す
なわち、P(11+j1+12yjz)のうち、11y
t2が0,1であるから、X方向は全グループのPE、
Y方向は第1番目のグループのPEということになる。
そして、J1yj2が0,0であるため、斜線部分13
01の全てのPEが指定されることになる。
第12図(b)では、P(0,0,1,2)めF)E番
号がホストCPUから送られてきたときに応答する横1
列の4個のプロセッサを、斜線部分1302で示してい
る。
第12図CG)では、P(0,1,1,O)というPE
番号がホストCPUから送られてきたときに応答する4
個のプロセッサを斜線部1303゜1304で示してい
る。
第12図(d)では、P(1,2,1,Q)というPE
番号がホストCPUから送られてきたときに応答する2
個のプロセッサを斜線部分1305で示している。
第12図(e)では、P(1,0,2,0)というPE
番号がホストCPUから送られてきたときに応答する4
個のプロセッサを斜線部分1306で示している。
第12図では、5つの例を示したが、勿論この他にも1
個のプロセッサだけとの通信(’ 1 、J 1 *1
2tJ2の値を全てゼロとしない)、あるいは全プロセ
ッサとの同時通信(+1,11m12tJ2の値を全て
ゼロにする)も可能である。
また、第11図、第12図の実施例において、ホストC
PUとの通信を行う場合に、PE番号とコマンドとを対
にしたデータを用いて情報通信を行うことは、それ以前
に述べた実施例の場合と同じである。
さらに、PE番号の判定についても、それ以前に述べた
実施例と同じ方法で実現できることは勿論である。
このように、第11図の実施例においては、第1図の実
施例では不可能であったブロック領域の複数プロセッサ
との通信(第12図(a)〜(e))が可能となる。
第13図は、上位プロセッサと下位プロセッサの通信イ
ンタフェースの流れを示すフローチャートである。先ず
、ホストCPUは、コマンドとプロセッサ番号を発行す
る(ステップ1)。例えば、(1,1,RUN)のコマ
ンドを、共通バスに出力することにより、これを受け取
ったX方向1番目、X方向1番目のPEのプログラムが
走行する。
(1it)のPEは、先ずPE番号とコマンドを一時入
力する(ステップ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のデータを共通外
部バスに出力する。
第15図(c)は、それらの信号タイムチャートである
。共通外部バス上に上位プロセッサから送られてきたP
E番号とコマンドの対のデータが乗せられた後データス
トローブDSがローレベルになる。次に、データストロ
ーブDSがローレベルからハイレベルに変化した時点で
、共通バス上のデータがPE内に取込まれPE内のテン
ポラリレジスタにこれらのデータをセットする。このよ
うにして、上位プロセッサは指定されたPEに対して効
率よく通信を行い、処理を割り当てることが可能である
第1図の第1の実施例と、第8図の第2の実施例と、第
11図の第3の実施例とを比較すると、ホストCPUと
の通信の多様性と・いう点では、第8図、第11図、第
1図の順で優れている。しかしながら、通信に必要とな
るPE番号を指定する情報量(PE番号指定に必要なビ
ット数)を同一とした場合に、通信可能となるPE数の
大きさは、第1図、第11図、第8図の順で優れている
また、各PEに対するPE番号の設定の方法について述
べると1本実施例では、従来の方法と同じように、各P
Eの外部に番号設定用のハードウェアを付加することに
より設定できる。しかし。
この他にも、各PEから上位プロセッサに対して番号設
定要求を出させた上で、上位プロセッサが物理的に端に
あるPEから順に論理的なPE番号を設定していくこと
も可能である。後者の方法は、各PEに対するPE番号
の設定変更が簡単になるという利点を有する。
〔発明の効果〕
以上説明したように1本発明によれば、マルチプロセッ
サ・システムにおいて、上位プロセッサから複数の下位
プロセッサPEに対して、多次元のPE番号を割り付け
ることにより、次のような利点がある。
(a)PE番号の特殊な数値をグローバル通信用に設定
することにより、上位プロセッサと複数の下位プロセッ
サとの同時通信が可能である。
(b)PEの2次元配列においては、特定の1個の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  図

Claims (1)

  1. 【特許請求の範囲】 1、上位プロセッサが複数個の下位プロセッサ・エレメ
    ントを制御するマルチプロセッサシステムにおいて、該
    上位プロセッサから予め設定された固有で多次元のプロ
    セッサ番号を格納するレジスタと、該上位プロセッサか
    らプロセッサ番号と対になったコマンドが送られたとき
    、該プロセッサ番号と上記レジスタに格納されている番
    号とを次元ごとに比較する手段と、該比較手段による比
    較結果が一致するか、該プロセッサ番号が各次元ごとに
    予め定められた特殊な数値であるときのみ、該コマンド
    を受け入れて応答する手段を有することを特徴とするマ
    ルチプロセッサ用エレメント。 2、上記プロセッサ番号は、多次元のベクトルとして認
    識され、該ベクトルを照合することにより自分宛のコマ
    ンドであるか否かを判定することを特徴とする特許請求
    の範囲第1項記載のマルチプロセッサ用エレメント。 3、上記プロセッサ番号は、ビットマップ方式として認
    識され、該ビットマップを照合することにより自分宛の
    コマンドであるか否かを判定することを特徴とする特許
    請求の範囲第1項記載のマルチプロセッサ用エレメント
    。 4、上記プロセッサ番号は、次元ごとの切れ目のビット
    位置を複数に切り換えることを特徴とする特許請求の範
    囲第1項、第2項または第3項記載のマルチプロセッサ
    用エレメント。
JP61259375A 1986-10-30 1986-10-30 マルチプロセッサシステム Expired - Lifetime JP2900359B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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