JPS61136157A - マルチ・マイクロプロセツサ・モジユ−ル - Google Patents

マルチ・マイクロプロセツサ・モジユ−ル

Info

Publication number
JPS61136157A
JPS61136157A JP59257533A JP25753384A JPS61136157A JP S61136157 A JPS61136157 A JP S61136157A JP 59257533 A JP59257533 A JP 59257533A JP 25753384 A JP25753384 A JP 25753384A JP S61136157 A JPS61136157 A JP S61136157A
Authority
JP
Japan
Prior art keywords
processor
instruction
processors
shared memory
synchronization
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
JP59257533A
Other languages
English (en)
Other versions
JPH061464B2 (ja
Inventor
Masatsugu Kametani
亀谷 雅嗣
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 JP59257533A priority Critical patent/JPH061464B2/ja
Publication of JPS61136157A publication Critical patent/JPS61136157A/ja
Publication of JPH061464B2 publication Critical patent/JPH061464B2/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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は櫨々の並列処理用ノ・−ドウエア機構を有し、
高度なMIMD型の並列処理とプロセッサの遊び時間を
利用した適応型の並列処理とによって、知能ロボット等
の高度知能処理や運動制御適応制御に伴うリアルタイム
処理に適したマルチ・マイクロプロセッサに関するもの
である。
〔発明の背景J 従来のマルチ・マイクロプロセッサ・システムは、ハー
ドウェア構成自体が専用的で、汎用的な用途に向かなか
ったり、平等プロセッサ方式を採り汎用性を1指したシ
ステムでも))−ドウエア機構が十分検討されておらず
、データの通信やプロセッサ間で同期をとるための7ラ
グやステータス投受に多大のノットウェアオーバヘッド
を伴い、タスクを十分細分化できず効率の良い並列処理
を実現できていない例が多い。
文献「システムと制御第28巻第4号別冊に’P73〜
76(1984)Jに発表された「ブロードキャストメ
モリ結合型計算機」と題する論文を例にとって説明する
。この例においては、プロセッサ間の通信機構として、
プロセッサごとにブロードキャストメモリと呼ばれる共
有メモリを設け、読み出し処理のみ各プロセッサで独立
して行え、貫き込み処理については、あるプロセッサが
自分のブロードキャストメモリにデータの誉き込みを行
うと自動的にすべてのプロセッサのブロードキャストメ
モリの同一のアドレスにデータが転送される方式を採用
して、プロセッサ間のアクセス競合を減少させる工夫を
している。この例においては、数値計算等のスタティク
なプログラムを並列処理するものとし、共有メモリへの
読み出し処理の回数の万が書き込み処理の回数よシ十分
多いことを前提としているためこの様な設計が成シ立つ
訳であるが、データ領域として使用する共有メモリの場
合、読み出し処理が特に多くなるのは、共有メモリ上に
ステータスを置きチェックループで監視する様な場合で
あり、純粋な共有データの送受のみを考えた場合、共有
メモリ上への書き込み処理回数の共有メモリへの全読み
出し、誓ぎ込み処理回数に占める割付は、通常の技術計
算や数値計算においても20チ前後には達すると考えら
nる。また制御用途のシステムを考えた場合、セ/す等
からのたn流しデータの書き込み処理や、大量のデータ
移動などダイナミックな要素が多いため、書き込み処理
の割合はさらに増加すると考えられ、書き込み処理、読
み出し処理が共に高速に行えなければならない。この例
における共有メモリへの書き込み処理は、汎用の1つの
システムパスを使用するため、スイッチ切換やアクセス
競合によるハードウェアオーバーヘッドが非常に大きい
と考えられ、制御用途に使用する際の上述した種々の問
題が考慮されていないし、また、同一内容のメモリヲプ
ロセッサ数台分持つことは、経済的な一点から−9−f
’Lば無駄が多く、すぐれているとはぎえないと考えら
nゐ。さらに、従来のシステムにおいてもこの例に2い
ても、プロセッサ間同期機構等の特別な並列処理用ハー
ドウェア機構を有しておらず、並列処理を行う際の必要
な付加的処理は共Mメモリ等の汎用通信機構を利用して
丁ぺてソフトウェアにより行うのが一般的であり、並列
処理タスク間の接続に多大のソフトウェアオーバーヘッ
ドを要するため、分割タスクを大きくしなければならず
、この例の第1表に示される様に、並列処理性の最も高
い対象の1つと考えられる行列の積の計算においてすら
も、通信オーバーヘッドやプロセッサ間の同期オーバー
ヘッド及び分割タスクの少なさ等から、並列処理効率が
使用プロセッサ数の増加に対して直線的に向上していな
い。また、この例を含む従来のマルチ・マイクロプロセ
ッサ・システムは、最初から並列処理性の高い処理対象
に駆足したり、処理の特種性に注目してそれに合致すし
様にハードウェア及びソフトウェアを構成する専用用途
向けのシステムが大半であり、ダイナミックな要素を含
む並列処理プロセス間での条件分岐や、処理対象の並列
処理性に伴うプロセッサの遊び時間等のプロセッサの余
剰能力の利用に関しては全く考慮されていなかった。し
かし、種々のリアルタイム処理を行うことを前提とした
汎用システムにおいては、並列処理性の高い処理も低い
処理も混在しており、高置な処理対象においてはプロセ
ス間での条件分岐処理や、プロセッサの遊び時間の管理
とその有効利用に関する問題が、システムの汎用性と高
いコストパーフォーマンスを維持する上で重要になると
考えられる。
〔発明の目的J 本発明の目的は、高い並列処理効率と汎用性を兼ね備え
たMIMD型並列処理の実現と、並列処理中に生ずるプ
ロセッサの遊び時間の有効利用を可能にし、リアルタイ
ム処理や高度知能処理に適したマルチ・マイクロプロセ
ッサ・モジュールを提供することにある。
〔発明の概要〕
本発明は高い並列処理効率の実現のため、並列処理に是
非必要と思わnるプロセッサ間の並列処理用ステータス
通信ハードウェア構成と、データ通信専用に設けた複数
の高速共有メモリ通信機構とを、それぞれ独立させて設
けることにより、高い通1gスループットと、プロセッ
サからのソフトウェアによるオペレーションオーバーヘ
ラトノ極小化と1&:央現し、並列処理におけるプロセ
ッサ間の命令伝達、プロセッサ間の同期等のタスク接続
時間に影響を及ぼす操作のソフトウェアオーバーヘッド
と、データ通信におけるプロセッサ間の競合によるハー
ドウェアオーバーヘッドの最小化を図ることによって、
タスクの細分化と多数のプロセッサへの分配を可能とし
、それによって高い並列処理効率を得ることができる。
また、プロセッサを任意のグループに分け、そのグルー
プ内のプロセッサ間で同期をとるグループプロセッサ間
同期機構を独立に複数設け、多重同期によって、データ
70−風にスケジュールされた並列処理を、プロセッサ
をグループ化して統一的に制御することにより機械的に
かつ効率良く実行可能なMIMD型並列処理が実現でき
る。さらに、同期機構の同期完了割込み機能によシクロ
セッサ間の同期チェックをハードウェアで監視すること
によって、スケジュールされた並列処理の実行中に生ず
るプロセッサの遊び時間を、並列処理のスケジュールを
乱すことなくパックグラウンドオペレーションに割り当
てることができ、これによってプロセッサの遊び時間の
有効利用を可能にしている。
以上によシ、目的の密結合型マルチ・マイクロプロセッ
サ・モジュールのハードウェア・アーキテクチュアを提
供した。なお本発明をモジュールと称したのは、本発明
のマルチ・マイクロプロセッサを多数結合し、さらに大
規模なマルチ・マイクロプロセッサ・システムを構築す
ることが最終目標であり、本発明のマルチ・マイクロプ
ロセッサは、その基盤となるプロセッサ・モジュールと
みなせるからである。
〔発明の実施例〕
以下本発明の実施例を図面を参照しながら詳細に説明す
る。
第1図は、本発明のマルチ・マイクロプロセッサ・モジ
ュールのハードウェア構成の実施例金示すブロック図で
ある。ベースとなるマイクロプロセッサ1〜13分3本
の独立した共有メモリハス73.74.75及びおもに
共通のl1095f:接続するだめのシステムバス10
9とで接続している。まだ、並列処理のため予め必要と
なると思わnるフラグ、ステータス及び、任意プロセッ
サ間で命令の送受を行うためのプロセッサ間命令伝達機
構、プロセッサ間で同期をとるためのグループ内プロセ
ッサ間同期機構等の特別に考案した並列処理用ハードウ
ェアを各プロセッサのコミュニケーションコントローラ
21〜33に格納して共通バス76、専用と共通の混合
バス77とにより他の共通バスとは独立させて、各コミ
ュニケーションコントローラを接続している。これによ
り、並列部−〇ために必要となるフォーマット化可能な
機能及びステータス、フラグ類を、共有メモリ上でソフ
トウェアにより実現するのではなく、専用ハードウェア
によりごく簡単な操作で効率良く実現できるため、ソフ
トウェアに伴うオーバーヘッドタイムを極小化できるば
かりか、共有メモリ上で実行した場合共有メモIJ k
長期間専有するステータスチェックループを大半コミュ
ニケーションコントローラ21〜33の専用機構上でア
クセス競合によるオーバーヘッド無しで実行できるため
、共有メモリの負担を大幅に軽減し、全体のスループッ
トを大幅に上昇させている。プロセッサ間命令伝達機構
及びグループ内プロセッサ間同期機構については後で詳
述する。共有メモリ14゜15.16は、それぞれ共有
メモリバス73.74゜75の上にあり、プロセッサ1
〜13を共有メモリに接続するためのアービテーション
コントロールを行う判別回路17.18.19によって
各共通バス73,74.75を制御するようになってい
る。34S46は、共有メモリ14の接続されり共通ハ
ス73にプロセッサのローカルバス110〜112をデ
コードして要求信号を作り出すデコーダ回路であり、専
用バス123によって共有メモリアクセス要求信号、許
可信号のやりとりを行う。共有メモ1J15.16にお
ける47〜59と124及び60〜72と125の関係
と機能も上記と同様である。システムバス109は、共
有メモリバス程高速でない汎用バスであり、バスアービ
タ94によって制御さfる。96−108は、共有メモ
リの場合と同様に、バススイッチ及びデコーダ回路から
なり、専用バス126t−通してバス要求及びバス使用
許可信号の送受全行う。78〜90はプロセッサ1〜1
3にそnぞn設けらnたローカルメモリ及びローカルI
10である。本システムにおいては、通常のプログラム
及びプロセッサ個々に分担可能なIloはできるかぎり
78〜90内に置く。20は、後述するプロセッサ間同
期機構の共有メモリ14上に設けた命令指示マトリック
ステーブルの解析を行う回路であり、解析結果を77に
のせて21〜33に伝達している。
本実施例においては、プロセッサ1〜13は基本的に平
等であるが、便宜上1〜10全並列処理用、11〜13
をシステムマネージメント用として、11〜13にはそ
nぞれ外部のモジュールと通信を行うためのデュアルポ
ートRAM91〜93ft設けている。本発明の実施例
は、上述したように、バス構造において、機能別に、デ
ータ通信を高速で行う共有メモリバス73〜75、並列
処理間する通’ftk専用に行うコミュニケーションコ
ントローラ21〜33を結ぶ共通及び専用バス76、7
7さらに、汎用の共通l1095に接続するシステムバ
ス109に分類することにより、競合による損失や無駄
の少ない高いスループットヲ実現すること全特徴として
いる。
ここで特に重要な共有メモリバス、判別回路及び共有メ
モリからなる共通メモリ通信機構についてさらに詳述す
ることにする。第1図に示すように、本実施例にかいて
は3つの独立した共有メモリ14.15.16を有して
おり、14を種々のプログラムで使用する共有ステータ
ス領域として、共有メモ1J15,16は共有データ通
信領域として定義している。共有メモI715 、16
は合成アドレス空間と称し、プロセッサ1〜13に対す
る共有メモリバス74.75にかける優先順位全それぞ
れ変えて設定し奇数ワードアドレスを15に偶数ワード
アドレスt−16に割り付はアドレス空間を合成してい
る、本実施例においては、15がプロセッサ1.2・・
13の順、16が13.12・・・1の順に優先1−位
全設定して全体としてほぼ平等になるように考為してい
るが、優先順位の付は方は他にも可能である。また独立
した共有メモリ数及び機能の割り振りはベースプロセッ
サの性能や機能により最適なものを選ぶようにする必要
がある共有メモリの高速制御手法を第2図により説明す
る。プロセッサのメモリサイクルはT1+Tz+T3.
T−の4つのクロックから成るとし、第2図νよび第3
図中に示している。tはシステム全体を制御するクロッ
ク周期である。プロセッサ1〜13及び共有メモリの判
別回路17.18  、19はすべて同一のクロックで
動作し、そのクロックピリオドを第2図しよび第3図中
のlで代表これる縦線で示している。第2図により基本
的なアクセスタイミングを説明する。t1+?2はプロ
セッサPm、Pnそれぞれのメモリ・サイクルを示して
おp、Pm+Pnは読み出しサイクルにおいてそれぞれ
a及びbのタイミングでデータをプロセッサ内に取シ込
むものとする。この点から前の2クロツクを共有メモリ
・サイクルとして定義し、共有メモリのアクセス許可信
号jn  は常にこの期間にアクティブになる様な制御
方式を採っている。まず、共有メモリをアクセスする際
の共有メモリ・アクセス・要求信号haはT1の中程で
アクティブにされ、アクセス競合が起こらない場合は、
次のクロックピリオドのC及びeのタイミングで判別回
路17〜19が共有メモリバスの制御を開始し、この時
点で他のプロセッサのアクセス要求が無いので直ちに共
有メモリ・アクセス・許可信号11及び12ヲアクテイ
ブにする。次のクロックピリオドのmとnで11 + 
12がアクティブになっている状態ヲ受けてT3に入っ
たところで11 + 12を非アクティブにし、さらに
仄のクロノンビリオドのd及びfでhl l hlが非
アクティブになっている状態を受けて11及び+2を非
アクティブにする。第2図におけるPmとPnはメモリ
・サイクルが重っているにもかかわらず、h、とhlが
1っていないため、プロセッサの動作には一切影響与え
ず制御されており、非常に効率が良くなっているのがわ
かる。第3図は、共有メモリ・アクセス要求h3とh4
が直っておシ、アクセス親会が生じている状!PM′f
I:示している。プロセッサPmは第2図と同様である
が、プロセッサPnはh4をTIの中程でアクティブに
し、次のクロックピリオドで判別回路17〜19が共有
メモリバスの制御を開始すると、Pmの共有メモリ・ア
クセス許可信号I3がアクティブになっており、すでに
共有メモリをアクセスしているので、Pnの共有メモリ
・アクセス信号i4はアクティブにせず、そのかわりに
rのタイミングでTw f:挿入する信号をつくシ出し
、プロセッサのメモリ・サイクルを1クロツクだけのば
し、それを受けてh4のアクティブな状態も1クロツク
のばす操作を行う。
これ以後クロックピリオドごとに同様の操作を繰り返し
ていく。さて、qのタイミングでh3が非アクティブに
なっているので、それとh4のアクティブな状態t−q
で昶り、判別回路17〜19は直ちにi4にアクティブ
にする。以後の動作は第2図と同様であるが、共有メモ
リ・サイクルはTzとTwの部分にずれ、プロセッサの
データ読み込みタイミングは常にT4の前のクロック・
ピリオドkに位置する。以上によって必要最少限の待ち
時間及び無駄のない制御タイミングにより常に2クロツ
クだけ共有メそりを占有し、プロセッサを次々に連続ア
クセスさせる効率の良いバス制御を行っている。また第
3図の様に、すてにPmの13がアクティブになってい
る場合は、無条件に、先にアクセスを許可されたPmを
優先するが、いずれも共有メモリのアクセスを許可され
ておらず、共有メモリ・アクセス要求が重っている場合
は、判別回路18〜19がバス制御を行う際予め定めら
れた優先順位に基づいて、優先順位の高い万全優先する
。なお、共有メモリ・サイクルを構成するクロック数は
、共有メモリのアクセス速度、バススイッチ時間、バッ
ファ遅延時間、セットアツプ時間等を前照して最適に決
定する。
次に第4図及び第5図を参照しながらプロセッサ間命令
伝達機構について詳細に説明する。プロセッサ間命令伝
達機構は、共有メモリ上に任意プロセッサから当量プロ
セッサへの命令伝達を回想とする命令指示マトリックス
・テーブルを設け、命令を指示するプロセッサがそこへ
詰合指示データを書き込むと自動的に命令を指示された
プロセッサへ割込みがかかり、命令を指示されたプロセ
ッサは命令指示テーブル上の命令指示データを直接受け
とりそれに従って命令処理ルーチンの起動を行うことに
特徴がある。本実施例においては、各プロセッサ1〜1
3の割込みベクトルテーブルの一部を共有メモリ14上
に共有し命令指示マトリックス・テーブルを構成してい
る。命令を指示するプロセッサは命令を実行させたいプ
ロセッサに対して命令指示マトリックス・テーブルの所
定の場所に実行させたい命令処理ルーチンの先頭番地を
直接書き込み、命令を実行させたいプロセッサの割込み
応答動作中の割込みベクトル・テーブルからのジャンプ
先7工ツチ動作を利用し、指示した命令処理ルーチンの
先頭番地を直接フェッチさせ、命令処理ルーチンヘジャ
ノグさせる手法を採っている。第4図は、共有メモリ1
4上の命令指示マトリックス・テーブルの本実施例にお
ける構成を示している。C0Pn Vi、プロセッサP
nから命令指示領域であり、copnの中がさらにプロ
セッサPa〜Prsへの命令指示領域であるVno〜v
n 15にわかれている。例えば、vnmにプロセッサ
Pnが命令を書き込むとPmに命令が伝達される。第5
図はプロセッサ間命令伝達機構のハードウェア・ブロッ
ク図を示している。動作/−ケンスを詳述すnば、ある
プロセッサが命令指示を行うと、共有メモリ14上の命
令指示マトリックステーブル148をデコーダ回路12
7によって解析し、命令を指示したプロセッサ番号nと
命令を指示されたプロセッサ番号mに変換してそれぞれ
共通バス128と129上に乗せる。128及び129
は、各プロセッサごとに設置されたコミュニケーション
コントローラ21〜33中の命令指示回路149〜16
1内にとり込まれデコーダ回路130が129を解析し
て自分自身に命令が指示されたかどうかを知り、もし自
分自身に命令が指示されていたならデコーダ回路131
の解析結果を162によって有効にする。131は、ど
のプロセッサが自分に命令を指示したかを解析しており
、】。30から有効信号を162によって受けたならば
、解析結果として命令を指示したプロセッサに対応する
2進カウンタ132〜144のうちいずれかをカウント
させ、割込み制御回路145に割込み制御要求を伝達す
ると同時に専用バス147に結果を乗せ、命令を指示し
たプロセッサにステータスとして知らせる。145はプ
ロセッサに割込みをかけ、割込みが受は付けられたなら
命令全指示したプロセッサの属性に相当する割込みベク
トルをプロセッサに対し元生し、それを受けとったプロ
セッサは、命令指示マトリックス・テーブル中の命令が
書き込まれたアドレスを参照弘指示された命令ルーチン
の先頭に直接ジャンプする。ここで、命令t−指示され
たプロセッサが命令指示マトリックス・テーブルの命令
が指示さnたアドレスを参照した際、上記と同様のシー
ケンスで、132〜144のうち同じ2進カウンタをカ
ウントさせ初期状態に戻す操作が自動的に行わnる。こ
れにより割込み制御回路への割込み制御要求信号がクリ
アされ、147へのステータス信号も同時にクリアされ
る。命令を指示したプロセッサは、自分く関係する命令
発動のステータスを例えばPOの146のごとくとり込
み監視することによって、命令の発動及び起動状態を管
理でき、次の命令を発動できるか否かの判断が可能とな
る。
以上の様にして、ごく簡単な操作により任意プロセッサ
間で高速な命令伝達が可能となるばかり力へ命令の起動
状況の管理も可能となる。
最後に、グループ内プロセッサ間同期機構とそれを使用
したプロセッサ制御例について!i@6図ないし第8図
を参照しながら詳細に説明する。グループ内プロセッサ
間同期機構は、関連のあるタスクと処理するプロセッサ
同志が任意にグループを構成し、グループ内のプロセッ
サ間で同期をとりながら機械的に並列処理を進める機構
である。第6図は、グループ内プロセッサ間同期機構の
ハードウェアブロック図を示している。この図をもとに
その動作シーケンスについて説明する。まず、プロセッ
サは、タスク処理を終了したところで、そのタスク処理
全どの様なプロセッサのグループで実行したか全グルー
プレジスタ163に対して行う。これをグループ宣言と
称し、本実施例においては、16bttのワード情報と
して表わし、そのbit番号Oから12t−プロセッサ
1がら13に対応させ、ビットが1のときにグループに
属し、Oのときグループに属さないと定義している。プ
ロセッサが自分自身もグループに含めたグループ宣言を
グループ・レジスタ163に対して行うとまず、イ百号
線169により同期光rスデータスを出力するラッチ回
路166をクリアし、次に、グループ情報が163にラ
ッチされ、タスク処理が完了したとみなされて信号#i
!168によってラッチ回路165セツトし、セットさ
れた信号がタスク処理光fスデータスとして信号線17
0によシ共通バス76に出力ちれる。グループ宣言が行
わnると、比較回路164が共通パス76上の谷プロセ
ッサのグループ内プロセッサ間同期機構177〜189
より出力されたタスク処理完了ステータス信号視し、グ
ループレジスタ163にラッチされたbit情報と比較
し、グループ内に属するプロセッサのタスク処理がすべ
て完了したかどつかを調べているっグループ内のプロセ
ッサのタスク処理がすべて完了したことを知るとプロセ
ッサ間の同期がとれたとして、164中のデコーダ回路
タメ音プロセッサに対して出力する。プロセッサは、こ
の信号をステータス・チェック・ループで監視すること
によって同期がとれたことを知る。
また、同期完了割込みが許可されていれば、173は信
号+111172により同期完了割込み元生回路167
iアクティブにし、同期完了ステータスと−プ内のプロ
セッサ間の同期がとれたことを知らせる。同期完了割込
φ機n目ヲ利用すれば、ソフトウェアによるステータス
・チェックを行う必要がなくなるので、同期がとれるま
でのプロセッサの遊び時間がある場合、バックグラウン
ドオペレーションを全実行するなど遊び時間の有効利用
が可能となる。また、プロセッサ間の同期が完了したら
直ちに、同期完了割込みによりメインの並列処理に引き
戻されるので、スケジュールされた並列処理の流れを乱
すことがないのも大きな特徴である。なお、本実施例に
おいては、同期光f割込みの許可、不許可は、グループ
宣言の際のbit番号15により行い、それに基づいて
ラッチ信号169によって167の動作を有効にしたり
無効にしたりする様になっている。第7図および第8図
は、グループ内プロセッサ間同期機構を使用して、プロ
セッサの処理の流れを制御した例を示している。
第7図は、まずプロセッサPO,PL、P2とP3゜P
4.P5.P6.P7とP8 、 P9とがそれぞれグ
ループ七構成し、CF:lLL 1を上から下へかけて
実行している。各グループ内のプロセッサは、グループ
内プロセッサ間同期機構によりAで代表さnる横線の部
分で同期がとられ、それぞれ関連したタスク処理上行っ
ている。グループ間は非同期であるが、Bの点において
、グループ間で情報を交換する必要が元生し、さらに別
のグループ内プロセッサ間同期機構により、POからP
9までのプロセッサをすべてグループとみなしグループ
間の同期をとった後グループを編成し直してCELL 
2へ処理を進めている。ここで、同期の最小単位をレベ
ルと称し、レベル内の処理内容をタスクと呼んでいる。
この様に、本実施例では複数のグループ内プロセッサ間
同期機構を設け、多重同期処理を可能にしており、プロ
セッサをグループにljて絖−的Kl!111(gIす
ることによってスケジュールされたMIiVLD型並列
処jlを機械的に実行できる。第8図の2は、Cで代表
されるプロセッサのタスク処理の状態とDで代表される
プロセッサの遊び時間の状態及び、E、F、Gで示した
同期単位間での条件ジャンプ処理の様子を表わしている
。図に示したプロセッサの遊び時間に対して、同期完了
割込みを利用することによシバツクグラウンドオペレー
ション等の処理に利用する。条件ジャンプについ−cu
、E 、 ?’;;=レベル間のジャンプ、Gが(lL
L間のジャンプである。以上の様に、グループ内プロセ
ッサ間同期機構の利用は、同期処理におけるノットフェ
アオーバーヘッドを極小化し、タスクの細分化と多数の
プロセッサへの分配を可能にして並列処理効率を高め、
さらに、プロセッサをグ・ループに分は統一的に制御で
きるためプロセッサの遊び時間の管理とその有効利用及
び同期単位間の条件分岐処理が可能となり、高度で汎用
性のあるMIMD型並列処理を容易に実現できる。
なお、ここで述べてきたハードフェア構成及び並列処理
のための種々の機構を、一部分だけ利用して小規模なマ
ルチ・プロセッサを構成することも可能であることを付
は加えておく。
〔発明の効果〕
本発明によれば、並列処理効率に大きく影響すると考え
られ、従来のマルチ・プロセッサ・システムで問題とな
っていたプロセッサ間の競合による通信オーバーヘッド
を、独立した複数の高速共有メモリ通信機構を設けるこ
とにより十分小さくできるとともに、プロセッサ間の同
期機構をノ・−ドウエアで設けることにより、同期処理
に要するソフトウェア・オペレーション・オーバーヘッ
ドを極小化できるなど、並列処理によって新たに生じた
ハードウェア及びソフトウェア・オーバーヘッドを最小
化する手法によって、並列処理タスク間の接続時間を減
少させタスクの細分化全可能にし、多数のプロセッサに
分配することによって、安価な汎用マイクロプロセッサ
をベースにしたマルチ・マイクロプロセッサにおいても
高い並列処理効率を得ることが可能となる。また、本発
明のグループ内プロセッサ間同期機構を複数使用するこ
とによる多重同期処理によって、プロセッサをグループ
にまとめ統一的に制御することができ、データフロー風
にスケジュールされたMIMD型の並列処理を機械的に
かつ効率良く実行できるばかりが、プロセッサの同期単
位間で、従来困難であったダイナミックな要素t−富む
条件分岐処理も容易に行えるため、プログラムに対する
汎用性を高めることができる。さらに、同期完了割込み
を利用することによって、プロセッサ間で同期がとれる
までのプロセッサの遊び時間にパックグラウンドオペレ
ーションを実行でき、そnによってシステムの余剰処理
能力の有効利用が可能となる。以上により、リアルタイ
ム処理を中心とした高度制御用途に有効でかつ安価なマ
ルチ・マイクロプロセッサ・モジュールを提供できる。
【図面の簡単な説明】
第1図は本発明のマルチ・マイクロプロセッサモジュー
ルのハードウェア構成を示す図、第2図および第3図は
本発明を構成する共有メモリのアクセスタイミング図、
第4図は本発明を構成する命令指示マトリックス・テー
ブルの構成図、第5図は本発明を構成するプロセッサ間
命令伝達機構のハードウェアブロック図、第6図は本発
明を構成するグループ内プロセッサ間同期機構のハード
ウェアブロック図、第7図および第8図は、本究明を構
成するグループ内プロセッサ間同期機構を複数利用した
プロセッサ制御例を示す図である。 1〜13・・・フロセッサ、21〜33・・・コミュニ
ケーションコントローラ、73,74,75・・・共有
メモリバス、14,15.16・・・共有メモリ、17
.18.19・・・共有メモリバス制御用判別回路、2
0・・・命令指示マトリックステーブル解析回路、76
.77・・・コミュニケーションコントローラ間共通バ
ス及び専用バス、149〜161・・・命令指示回路、
174〜186・・・グループ内プロセッサ間同期機構
。 才2目 才3 l オフ圀 オδ 図 手続補正書(自発) 1.事件の表示 昭和 59年特許願第 257533  号2発明の名
称 マルチ・マイクロプロセッサ・モジュール3、補正をす
る者 +1町のI鰻 特許出願人 乙 弥  ′5101 #2式会!t 日 立 製 作
 所4、代 理 人 5、補正の対象 明細書全文訃よび図面の第1図〜第3図、第5図〜第8
図6、補正の内容 α)明細書全文を別紙全文訂正明細書のとおり補正する
。 全文訂正明細書 1、発明の名称 マルチ・マイクロプロセッサ・モジュ
ール 2、特許請求の範囲 1、複数の汎用マイクロプロセッサを平等に結合し並列
処理を行うマルチ・プロセッサ・モジュールにおいて、
その並列処理用ハードウェア手段は任意プロセッサから
アクセス可能な独立した複数の高速共有メモリ通信手段
と、任意プロセッサ間で直接に命令送出、受信を行い、
かつ命令処理の起動状態を監視する機能を有する命令伝
達1艮と、関連のあるタスクを処理するプロセッサ同志
で任意にグループを構成し、グループ内のプロセッサ間
で同期をとり、スケジュールされた並列処理を機械的に
実行するためのグループ内プロセッサ間同期Uと、並列
処理中の各プロセッサの遊び時間を管理することにより
、バックグラウンドオペレーションをプロセッサの遊び
時間に割り当てる遊びプロセッサ管理毛皮とを有し、そ
れらの手段を機能分担した  の 通バス手  び専用
バス手 によコm願に、ことを特徴とするマルチ・マイ
クロプロセッサ・モジュール。 2、特許請求の範囲第1項記載のマルチ・マイクロプロ
セッサ・モジュールにおいて、パス手皮生工各プロセッ
サ間の複数の独立した高速共有メモリバスで接続し、並
列処理に必要な種々の通信!である命令伝達1夙、グル
ープ内プロセッサ間同期!−および、遊びプロセッサ管
理毛皮を統轄するコミュニケーションコントローラを各
プロセッサ単位で設け、共有メモリバスや他のシステム
バスとは独立に専用バス及び共有バスで接続することに
より、 h  型のバス ゛をjすることを特徴とする
マルチ・マイクロプロセッサ・モジュール。 3、特許請求の範囲第1項記載のマルチ・マイクロプロ
セッサ・モジュールにおいて、共有メモリ通信1度生ユ
各プロセッサに同等のマイクロプロセッサを使用し、同
一のクロックで動作させることにより、各プロセッサを
同期させて動作させ、共有メモリへのアクセスタイミン
グを明確化し、マイクロプロセッサがデータを読み込む
タイミングから、バススイッチ時間、ゲート遅延時間、
メモリのアクセスタイム及びプロセッサへのデータセッ
トアツプタイムを考慮した必要最小限のクロック数分だ
け前の一定期間をプロセッサのメモリサイクルから抜き
出すことにより共有メモリサイクルを定義し、共有メモ
リアクセスして、専有する期間が常に定義した共有メモ
リサイクルのクロック数となる様セッサとのアクセス競
合が起こり、上記の共有メモリサイクルが重った場合に
のみ、その重ったクロック数分mり手コーだけ優先順位
の低いプロセッサ側を待たせて共有メモリサイクもプロ
セッサ当り常に共有メモリサイクルに相当する必要最小
限の一定期間のみ共有メモリへのアクセス要求を出して
いるプロセッサのアクセスを許可していくことを特徴と
するマルチ・マイクロプロセッサ・モジュール。 4、特許請求の範囲第1項記載のマルチ・マイクロプロ
セッサ・モジュールにおいて、共有メモリ通信王皮生工
独立した複数の共有メモリバスをJLm共有メモリを、
各共有メモリバスごとにプロセッサの共有メモリへのア
クセス競合が起った際のアクセス許可のための優先順位
を変えて設置することにより、共有メモリへのアクセス
競合の緩和と、各プロセッサの共有メモリへのアクセス
条件を全体としてほぼ平等化することを特徴とするマル
チ・マイクロプロセッサ・モジュール。 5、特許請求の範囲第1項記載のマルチ・マイクロプロ
セッサ・モジュールにおいて、プロセッサ間の命令伝達
IJLM工共有メモリ上に任意プロセッサから任意プロ
セッサへの割込みを可能とする命令指示マトリックステ
ーブルを備え、そこに命令を指示するプロセッサが命令
を書き込むだけの操作で、自動的に命令を指示されたプ
ロセッサに割込みがかかり、それによって産されること
を特徴とするマルチ・マイクロプロセッサ・モジュール
。 6、特許請求の範囲第1項記載のマルチ・マイクロプロ
セッサ・モジュールにおいて、プロセッサ間の命令伝達
[工共有メモリ上に各マイクロ・プロセッサの割込みベ
クトル・テーブルの一部を任意プロセッサから任意プロ
セッサへの割込みを可能とすn令指示マトリックス・テ
ーブルとして共有し、命令を指示するプロセッサが、命
令を指示されるプロセッサのメモリ空間上の命令ルーチ
ンの起動先頭番地を直接所定の命令指示マトリックステ
ーブルに書き込むことにより、命令伝達Uがそのアクセ
スされたアドレスを解析し、命令を指示されたプロセッ
サに割込みをかけ、割込みが受信され次第。 命令を指示したプロセッサの属性を割込みベクトル情報
として命令を指示されたプロセッサに伝達することによ
り、命令指示マトリックステーブルに書き込まれている
命令ルーチンの起動先頭番地を、命令を指示されたプロ
セッサが直接読み出し、プログラムカウンタにロードす
ることによって、命令ルーチンの先頭に直接ジャンプし
て命令処理を開始することを特徴とするマルチ・マイク
ロプロセッサ・モジュール。 7、特許請求の範囲第1項記載のマルチ・マイクロプロ
セッサ・モジュールにおいて、プロセッサ間の命令伝達
玉皮生、命令指示マトリックステーブルに命令を指示す
るプロセッサが命令ルーチンの起動先頭番地を書き込ん
だ時点で命令の発動とみなし、命令伝達■がアクセスさ
れた番地を解析したのち、対応する命令の発動を示すフ
ラグをセットし、命令を指示されたプロセッサが命令ル
ーチンの先頭アドレスを読み込むため再び命令指示マト
リックステーブルの同じアドレスをアクセスした時点を
命令の起動の完了とみなし、命令伝達nが同様にして上
記の命令の発動を示すフラグをリセットし、そのフラグ
のセット、リセット状態をステータス情報として命令を
指示したプロセッサに伝達することにより、命令の起動
状態を知らせることを特徴とするマルチ・マイクロプロ
セッサ・モジュール。 8、特許請求の範囲第1項記載のマルチ・マイクロプロ
セッサ・モジュールにおいて、グループ内プロセッサ間
同期手段は、プロセッサがあるタスク処理を終了した時
点で、そのタスク処理をどういうプロセッサのグループ
で実行したかを示すグループの属性をデータとしてその
プロセッサを管理する同期U中のグループレジスタに書
き込むだけの操作で、他のプロセッサを管理する同期」
からの情報と合わせてグループ内に属するプロセッサの
タスク処理が終了したかどうかをチェックし、その結果
を同期情゛報としてプロセッサに知らせることを特徴と
するマルチ・マイクロプロセッサ・モジュール。 9、特許請求の範囲第8項記載のマルチ・マイクロプロ
セッサ・モジュールにおいて、グループ内プロセッサ間
同期mニジ−ケンスとして、あるプロセッサがグループ
レジスタにグループの属性データを書き込む操作を行う
と、ただちにそのプロセッサを管理する同期1−は以前
の同期情報を示すフラグをリセツサし、そのプロセッサ
のタスク処理が終了したことを示すフラグをセットして
共通バス上にその情報を流した後、共通パスを通して他
のプロセッサの同期生皮からのタスク処理終了情報を入
手して、グループレジスタに登録されたグループに属す
るプロセッサがすべてタスク処理が終了したかどうかを
比較回路により比較し、もしグループ内のすべてのプロ
セッサのタスク処理が終了しているならば、そのグルー
プ内のプロセッサ間で同期がとれたものとして同期情報
を示すフラグをセットしてプロセッサに示し、プロセッ
サは、その情報をステータスチェックループで監視する
ことによりグループ内のプロセッサ間で同期がとれたか
どうかを知ることを特徴とするマルチ・マイクロプロセ
ッサ・モジュール。 】O6特許請求の範囲第9項記載のマルチ・マイクロプ
ロセッサ・モレニールにおいて、グループ内プロセッサ
間同期mニゲループ内で同期情報を示すフラグをセッサ
した時点で、もし同期nに対し割込みが許可されていれ
ば、プロセッサに対して同期がとれたことを示す情報と
して同期完了割込みを利用することにより。 プロセッサはタスク処理が終了し同期がとれるまでの遊
び時間にバックグラウンドオペレーションを並行して実
行し、グループ内プロセッサ間の同期がとれた時点でた
だちに同期完了割込みによって自動的かつ強制的にメイ
ンの並列処理に引き戻され、 のプロセッサの び時間
にた並列処理の流れを乱すことなく、並列処理中のプロ
セッサの遊び時間を− の  したバックグラウンドオ
ペレーションプログラム処理にJり当てることを可能と
する遊びプロセッサ管理1[を有することを特徴とする
マルチ・マイクロプロセッサ・モジュール。 11、特許請求の範囲第9項または第10項記載のマル
チ・マイクロプロセッサ・モジュールにおいて、グルー
プ内プロセッサ間同期主星生。 グループ内プロセッサ間同期Uを独立に複数有し、グル
ープ間の同期をさらに別の同等の機能をもつ同期Uによ
り管理していく、多重同期処理が可能であることを特徴
とするマルチ・マイクロプロセッサ・モジュール。 12、特許請求の範囲第8項ないし第11項のいずれか
に記載のマルチ・マイクロプロセッサ・モジュールにお
いて、グループ内プロセッサ間同期玉度により各プロセ
ッサ間の同期制御を行うことを前提にスレジュールされ
たMIMDMulti−Instruction  s
tream  Multi−Datastreaa+ 
 ’Jlf)並列処理を実行可能なことと、それによっ
て、ダイナミックな要素を持ちスケジュールに組み込む
ことが困難な条件分岐処理を多くの付加的プログラムの
支持を必要とせずにプロセッサの同期単位間で実現可能
なことを特徴とするマルチ・マイクロプロセッサ・モジ
ュール。 3、発明の詳細な説明 〔発明の利用分野〕 本発明は種々の並列処理用ハードウェア機構を有し、高
度なMIMD (Multi−Instruction
 streamMulti−Data stream)
  型の並列処理とプロセッサの遊び時間を利用した適
応型の並列処理とによって、知能ロボット等の高度知能
処理や運動制御適応制御に伴うリアルタイム処理に適し
たマルチ・マイクロプロセッサに関するものである。 〔発明の背景〕 従来のマルチ・マイクロプロセッサ・システムは、ハー
ドウェア構成自体が専用的で、汎用的な用途に向かなか
ったり、平等プロセッサ方式を採り汎用性を自損したシ
ステムでもハードウェア構成が十分検討されておらず、
データの通信やプロセッサ間で同期をとるためのフラグ
やステータス授受に多大のソフトウェアオーバヘッドを
伴い、タスクを十分細分化できず効率の良い並列処理を
実現できていない例が多い。 文献「システムと制御第28巻第4号別冊PP73〜7
6 (1984) Jに発表された「ブロードキャスト
メモリ結合型計算機」と題する論文を例にとって説明す
る。この例においては、プロセッサ間の通信手段として
、プロセッサごとにブロードキャストメモリと呼ばれる
共有メモリを設け、読み出し処理のみ各プロセッサで独
立して行え、書き込み処理については、あるプロセッサ
が自分のブロードキャストメモリにデータの書き込みを
行うと自動的にすべてのプロセッサのブロードキャスト
メモリの同一のアドレスにデータが転送される方式を採
用して、プロセッサ間のアクセス競合を減少させる工夫
をしている。この例においては、数値計算等のスタティ
ックなプログラムを並列処理するものとし、共有メモリ
への読み出し処理の回数の方が書き込み処理の回数より
十分多いことを前提としているためこの様な設計が成り
立つ訳であるが、データ領域として使用する共有メモリ
の場合、読み出し処理が特に多くなるのは、共有メモリ
上にステータスを置きチェックループで監視する様な場
合であり、純粋な共有データの送受のみを考えた場合、
共有メモリ上への書き込み処理回数の共有メモリへの全
読み出し、書き込み処理回数に占める割合は、通常の技
術計算や数値計算においても20%前後には達すると考
えられる。 また制御用途のシステムを考えた場合、センサ等からの
たれ流しデータの書き込み処理や、大量のデータ移動な
どダイナミックな要素が多いため。 書き込み処理の割合はさらに増加すると考えられ、書き
込み処理、読み出し処理が共に高速に行えなければなら
ない、この例における共有メモリへの書き込み処理は、
汎用の1つのシステムバスを使用するため、ステッチ切
換やアクセス競合によるハードウェアオーバーヘッドが
非常に大きいと考えられ、制御用途に使用する際の上述
した種々の問題が考慮されていないし、また、同一内容
のメモリをプロセッサ数台分持つことは、経済的な観点
からみれば無駄が多く、すぐれているとは言えないと考
えられる。さらに、従来のシステムにおいてもこの例に
おいても、プロセッサ間同期手段等の特別な並列処理用
ハードウェア機構を有しておらず、並列処理を行う際の
必要な付加的処理は共有メモリ等の汎用通信手段を利用
してすべてソフトウェアにより行うのが一般的であり、
並列処理タスク間の接続に多大のソフトウェアオーバー
ヘッドを要するため、分割タスクを大きくしなければな
らず、この例の第1表に示される様に、並列処理性の最
も高い対象の1つであり、プロセラ   ゛す台数分の
並列処理効率が得ら九ると考えられる行列の積の計算に
おいてすらも1通信オーバーヘッドやプロセッサ間の同
期オーバーヘッド及び分割タスクの少なさ等から、並列
処理効率が使用プロセッサ数の増加に対して直線的に向
上していない、また、この例を含む従来のマルチ・マイ
クロプロセッサ・システムは、最初から並列処理性の高
い処理対象に限定したり、処理の特種性に注目してそれ
に合致する様にハードウェア及びソフトウェアを構成す
る専用用途向けのシステムが大半であり、ダイナミック
な要素を含む並列処理プロセッサ間での条件ジャンプや
、処理対象の並列処理性に伴うプロセッサの遊び時間等
のプロセッサの余剰能力の利用に関しては全く考慮され
ていなかった。しかし、種々のリアルタイム処理を行う
ことを前提とした汎用システムにおいては、並列処理性
の高い処理も低い処理も混在しており、高度な処理対象
においてはプロセッサ間での条件ジャンプ処理や、プロ
セッサの遊び時間の管理とその有効利用に関する問題が
、システムの汎用性と高いコストパーフォーマンスを維
持する上で重要になると考えられる。 〔発明の目的〕 本発明の目的は、高い並列処理効率と汎用性を備えるマ
ルチ・マイクロプロセッサ・モジュールを提供すること
にある。 〔発明の概要〕 本発明は高い並列処理効率の実現のため、並列処理に是
非必要と思われるプロセッサ間の並列処理用ステータス
通信ハードウェア手段と、データ通信専用に設けた複数
の高速共有メモリ通信手段とを、それぞれ独立させて設
けることにより、高い通信スルーブツトと、プロセッサ
からのソフトウェアによるオペレーションオーバーヘッ
ドの極小化とを実現し、並列処理におけるプロセッサ間
の命令伝達、プロセッサ間の同期等のタスク接続時間に
影響を及ぼす操作のソフトウェアオーバーヘッドと、デ
ータ通信におけるプロセッサ間の競合によるハードウェ
アオーバーヘッドの最小化を図ることによって、タスク
の細分化と多数のプロセッサへの分配を可能とし、それ
によって高い並列処理効率を得ることができる。また、
プロセッサを任意のグループに分け、そのグループ内の
プロセッサ間で同期をとるグループ内プロセッサ間同期
手段を独立に複数設け、多重同期によって、データフロ
ー風にスケジュールされた並列処理を。 プロセッサをグループ化して統一的に制御することによ
りMIMD (Multi−Instruction 
stream Multi−Data 5traait
)  型並列処理を機械的にかつ効率良く実行できるば
かりか、同期手段により同期単位を明確化し、プロセッ
サの並列動作を多重、階層的に管理及び制御することが
可能となるため、各同期単位間での条件ジャンプ処理等
の汎用的な機能を実現できる。さらに、同期手段の同期
完了割込み機能によりプロセッサ間の同期チェックをハ
ードウェアで監視することによって、スケジュールされ
た並列処理の実行中に生ずるプロセッサの遊び時間を、
並列処理のスケジュールを乱すことなくバックグラウン
ドオペレーションに割り当てることができ、これによっ
てプロセッサの遊び時間の有効利用が可能となる。 以上により、目的の密結合型マルチ・マイクロプロセッ
サ・モジュールのハードウェア・アーキテクチュアを提
供した。なお本発明をモジュールと称したのは1本発明
のマルチ・マイクロプロセッサを多数結合し、さらに大
規模なマルチ・マイクロプロセッサ・、システムを構築
することが最終目標であり、本発明のマルチ・マイクロ
プロセッサは、その基礎となるプロセッサ・モジュール
とみなせるからである。 〔発明の実施例〕 以下本発明の実施例を図面を参照しながら詳細に説明す
る。 第1図は、本発明のマルチ・マイクロプロセッサ・モジ
ュールのハードウェア構成の実施例を示すブロック図で
ある。ベースとなるマイクロプロセッサ1〜13を3本
の独立した共有メモリバス73.74.75及びおもに
共通のインタフェイス95を接続するためのシステムバ
ス109とで接続している。また、並列処理のため予め
必要となると思われるフラグ、ステータス及び、任意プ
ロセッサ間で命令の送受を行うためのプロセッサ間命令
伝達手段、プロセッサ間で同期をとるためのグループ内
プロセッサ間同期手段、同期割込み機能等の遊びプロセ
ッサ管理機能及び機構等の特別に考案した並列処理用ハ
ードウェアを各プロセッサのコミュニケーションコント
ローラ21〜33に格納して共通バス76、専用と共通
の混合バス77とにより他の共通バスとは独立させて、
各コミュニケーションコントローラを接続している。 これにより、並列処理のために必要となるフォーマット
化可能な機能及びステータス、フラグ類を、共有メモリ
上でソフトウェアにより実現するのではなく、専用ハー
ドウェアによりごく簡単な操作で効率良く実現できるた
め、ソフトウェアに伴う′オーバーヘッドタイムを極小
化できるばかりか、共有メモリ上で実行した場合共有メ
モリを長期間専有するステータスチェックループを大半
コミュニケーションコントローラ21〜33の専用手段
上でアクセス競合によるオーバーヘッド無しで実行でき
るため、共有メモリの負担を大幅に軽減し、全体のスル
ーブツトを大幅に上昇させている。プロセッサ間命令伝
達手段及びグループ内プロセッサ間同期手段については
後で詳述する。共有メモリ14,15.16は、それぞ
れ共有メモリバス73.74.75の上にあり、プロセ
ッサ1〜13を共有メモリに接続するための7−ビテー
シヨンコントロールを行う判別回路17,18゜19に
よって各共通バス73,74.75を制御するようにな
っている。34〜46は、共有メモリ14の接続された
共通バス73にプロセッサのローカルバス110〜11
2をデコードして要求信号を作り出すデコーダ回路であ
り、専用バス123によって共有メモリアクセス要求信
号、許可信号のやりとりを行う、共有メモリ15.16
における47〜S9と124及び60〜72と125の
関係と機能も上記と同様である。システムバス109は
、共有メモリバス程高速でない汎用バスであり、バスア
ービタ94によって制御される。96〜108は、共有
メモリの場合と同様に、バススイッチ及びデコーダ回路
からなり、専用バス126を通してバス要求及びバス使
用許可信号の送受を行う。78〜゛90はプロセッサ1
〜13にそれぞれ設けられたローカルメモリ及びローカ
ルインタフェイスである。本システムにおいては1通常
のプログラム及びプロセッサ個々に分担可能なインタフ
ェイスはできるかぎり78〜90内に置く、ローカルイ
ンタフェイスには、演算専用プロセッサ等の補助プロセ
ッサ手段も含まれ、これに対する主プロセッサはそれら
補助プロセッサとの間でローカルな並列処理を実行する
。 20は、後述するプロセッサ間同期手段の共有メモリ1
4上に設けた命令指示マトリックステーブルの解析を行
う回路であり、解析結果を共通バス77にのせて21〜
33に伝達している0本実施例においては、プロセッサ
1〜13は基本的に平等であるが、便宜上1〜10を並
列処理用、11〜13をシステムマネージメント用とし
て、11、 〜13にはそれぞれ外部のモジュールと通
信を行うためのデュアルポートRAMをベースとした外
部通信手段91〜93を設けている6本発明の実施例は
、上述したように、バス手段において、機能別に、デー
タ通信を高速で行う共有メモリバス73〜75、並列処
理間する通信を専用に行うコミュニケーションコントロ
ーラ21〜33を結ぶ共通及び専用バス76.77さら
に、汎用の共通インタフェイス95を接続するシステム
バス109とに機能分散を図ることにより、競合による
損失や無駄の少ない高いスループットを実現することを
特徴としている。 ここで特に重要な共有メモリバス、判別回路及び共有メ
モリからなる共通メモリ通信手段についてさらに詳述す
ることにする。第1図に示すように1本実施例において
は3つの独立した共有メモリ14,15.16を有して
おり、14を種々のプログラムで使用する共有ステータ
ス領域として。 共有メモリ15.16は共有データ通信領域として定義
している。共有メモリ15.16は合成アドレス空間と
称し、プロセッサ1〜13に対する共有メモリバス74
.75における優先順位をそれぞれ変えて設定し奇数ワ
ードアドレスを15に偶数ワードアドレスを16に割り
付はアドレス空間を合成している。本実施例においては
、15がプロセッサ1,2・・・13の順、16が13
.12・・−1の順に優先順位を設定して全体としてほ
ぼ平等になるように考慮しているが、優先順位の付は方
は他にも可能である。また独立した共有メモリ数及び機
能の割り振りはベースプロセッサの性能や機能により最
適なものを選ぶようにする必要がある。共有メモリの高
速制御手法を第2図により説明する。プロセッサのメモ
リサイクルはT工。 T2. T、、 T、の4つのクロックから成るとし。 第2図および第3図中に示している。tはシステム全体
を制御するクロック周期である。プロセッサ1〜13及
び共有メモリの判別回路17,18゜19はすべて同一
のクロックで動作し、そのクロックピリオドを第2図お
よび第3図中のaで代表される縦線で示している。第2
図により基本的なアクセスタイミングを説明する。gl
r gzはプロセッサPm、Pnそれぞれのメモリサイ
クルgをacは共有メモリアクセス要求をさらにiには
共有メモリアクセス許可を示しており、プロセッサPm
、Pnは読み出しサイクルにおいてそれぞれa及びbの
タイミングでデータをプロセッサ内に取り込むものとす
る。この点から前の2クロツクを共有メモリのサイクル
として定義し、共有メモリサイクルごとに共有メモリバ
スの獲得、放棄9を行って共有メモリのアクセス許可信
号i、は常にこの期間にアクティブになる様な制御方式
を採っている。まず、共有メモリをアクセスする際の共
有メモリのアクセス要求信号り、はT1の中程でアクテ
ィブにされ、アクセス競合が起こらない場合は、次のク
ロックピリオドのC及びeのタイミングで判別回路17
〜19が共有メモリバスの制御を開始し、この時点でプ
ロセッサPmの場合もPnの場合も他のプロセッサのア
クセス要求が無いので判別回路は直ちにプロセッサPm
、Pnの共有メモリのアクセス許可信号11及び12を
アクティブにする1次のクロックピリオドのmとnでi
工+ xzがアクティブになっている状態を受けてT1
に入ったところで1111.を非アクティブにし、さら
に次のクロックピリオドのd及びfでそれぞれ共有メモ
リのアクセス要求信号h1. h、が非アクティブにな
っている状態を受けて共有メモリのアクセス許可信号i
工及び12を非アクティブにする。第2図におけるプロ
セッサPmとPnはメモリサイクルが重っているにもか
かわらず、共有メモリのアクセス要求信号h1とh2が
重っていないため、プロセッサの動作には一切影響与え
ず制御されており、非常に効率が良くなっているのがわ
かる。第3図は、プロセッサPm及びPnの共有メモリ
・アクセス要求信号り、とh4が重っており、アクセス
競合が生じている状態を示している。プロセッサPmは
第2図と同様であるが、プロセッサPnは共有メモリの
アクセス要求信号h4をT、の中程でアクティブにし、
次のクロックピリオドで判定回路17〜19が共有メモ
リバスの制御を開始すると、プロセッサPmの共有メモ
リのアクセス要求信号り、及び許可信号iffが共にア
クティブになっており、すでに共有メモリをアクセスし
ているので、プロセッサPnの共有メモリのアクセス許
可信号i4はアクティブにせず、そのかわりにjのタイ
ミングでTwを挿入する信号をつくり出し、プロセッサ
のメモリサイクルを1クロツクだけのばし、それを受け
てプロセッサPnの共有メモリのアクセス要求信号h4
のアクティブな状態も1クロツクのばす操作を行う。こ
れ以後クロックピリオドごとに同様の操作を繰り返して
いく、さて、pのタイミングでプロセッサPmの共有メ
モリのアクセス要求信号h3が非アクティブになってい
るので、それとプロセッサPnの共有メモリのアクセス
要求信号h4のアクティブな状態をqで知り、判別回路
17〜19は直ちにプロセッサPmの共有メモリのアク
セス許可信号i、を非アクティブにし、プロセッサPn
の共有メモリのアクセス許可信号i4をアクティブにす
る6以後の動作は第2図と同様であるが、共有メモリの
サイクルはT3 とTwの部分にずれ、プロセッサのデ
ータ読み込みタイミングは常にT4の前のクロックピリ
オドkに位置する。 以上によって必要最少限の待ち時間及び1クロツク内の
十分短かい時間で共有メモリバスの放棄、獲得処理を行
いプロセッサを共有メモリに接続していく無駄のない制
御タイミングにより、常に2クロツクだけ共有メモリを
占有し、共有メモリのアクセス要求を出しているプロセ
ッサを次々に連続アクセスさせる効率の良いバス制御を
行っている。また第3図の様に、すでにプロセッサPm
のi、がアクティブになっている場合は、無条件に、先
にアクセスを許可されたプロセッサPmを優先するが、
いずれも共有メモリのアクセスを許可されておらず、共
有メモリのアクセス要求が重っている場合は、判別回路
18〜19がバス制御を行う際予め定められた優先順位
に基づいて、優先順位の高い方を優先する。なお、共有
メモリのサイクルを構成するクロック数は、共有メモリ
のアクセス速度、バススイッチ時間、バッファ遅延時間
、セットアツプ時間等を考慮して最適に決定する6次に
第4図及び第5図を参照しながらプロセッサ時命令伝達
機構について詳細に説明する6プロセッサ間命令伝達機
構は、共有メモリ上に任意プロセッサから任意プロセッ
サへの命令伝達を可能とする命令指示マトリックス・テ
ーブルを設け。 命令を指示するプロセッサがそこへ命令指示データを書
き込むと自動的に命令を指示されたプロセッサへ割込み
がかかり、命令を指示されたプロセッサは命令指示デー
プル上の命令指示データを直接受けとりそれに従って命
令処理ルーチンの起動を行うことに特徴がある0本実施
例においては、各プロセッサ1〜13の割込みベクトル
テーブルの一部を共有メモリ14上に共有し命令指示マ
トリックス・テーブルを構成している。命令を指示する
プロセッサは命令を実行させたいプロセッサに対して命
令指示マトリックス・テーブルの所定の場所に実行させ
たい命令処理ルーチンの先頭番地を直接書き込み、命令
を実行させたいプロセッサの割込み応答動作中の割込み
ベクトル・テーブルからジャンプ先フェッチ動作を利用
し、指示した命令処理ルーチンの先頭番地を直接フェッ
チさせ、命令処理ルーチンヘジャンプさせる手法を採っ
ている。第4図は、共有メモリ14上の命令指示マトリ
ックス・テーブルの本実施例における構成を示している
。C0Pnは、プロセッサPnから命令指示領域であり
、C0Pnの中がさらにプロセッサP、〜P1.への命
令指示領域であるVno”Vnl、にわかれている0例
えば、vn11ニプロセッサPnが命令を書き込むとプ
ロセッサPmに命令が伝達される。第5図はプロセッサ
間命令伝達手段のハードウェア・ブロック図を示してい
る。動作シーケンスを詳述すれば、あるプロセッサが命
令指示を行うと、共有メモリ14上の命令指示マトリッ
クステーブル148をデコーダ回路127によって解析
し、命令を指示したプロセッサ番号nと命令を指示され
たプロセッサ番号mに変換してそれぞれ共通バス128
と129上に乗せる。共通バス128及び129は、各
プロセッサごとに設置されたコミュニケーションコント
ローラ21〜33中の命令指示回路149〜161内に
とり込まれデコーダ回路130が共通バス129を解析
して自分自身に命令が指示されたかどうかを知り、もし
自分自身に命令が指示されていたならデコーダ回路13
1の解析結果を信号線162によって有効にする。デコ
ーダ回路131は、どのプロセッサが自分に命令を指示
したかを解析しており、デコーダ回路130から有効信
号を信号線162によって受けたならば、−解析結果と
して命令を指示したプロセッサに対応する2進カウンタ
132〜144のうちいずれかをカウントさせ1割込み
制御回路145に割込み制御要求を伝達すると同時に専
用バス147に結果を乗せ、命令を指示したプロセッサ
にステータスとして知らせる。割込み制御回路145は
プロセッサに割込みをかけ、割込みが受は付けられたな
ら命令を指示したプロセッサの属性に相当する割込みベ
クトルをプロセッサに対し発生し、それを受けとったプ
ロセッサは、命令指示マトリックス・テーブル中の命令
が書き込まれたアドレスを参照し、指示された命令ルー
チンの先頭に直接ジャンプする。ここで、命令を指示さ
れたプロセッサが命令指示マトリックス・テーブルの命
令が指示されたアドレスを参照した際、上記と同様のシ
ーケンスで、2進カウンタ132〜144のうち同じ2
進カウンタをカウントさせ初期状態に戻す操作が自動的
に行われる。これにより割込み制御回路への割込み制御
要求信号がクリアされ、専用バス147へのステータス
信号も同時にクリアされる。命令を指示したプロセッサ
は、自分に関係する命令発動のステータスを例えばプロ
セッサPOのステータス信号線146のごとくとり込み
監視することによって、命令の発動及び起動状態を管理
でき、次の命令を発動できるか否かの判断が可能となる
0以上の様にして、ごく簡単な操作により任意プロセッ
サ間で高速な命令伝達が可能となるばかりか、命令の起
動状況の管理゛も可能となる。 最後に、グループ内プロセッサ間同期手段とそれを使用
したプロセッサ制御例について第6図。 第7図及び第8図を参照しながら詳細に説明する。 グループ内プロセッサ間同期手段は、関連のあるタスク
を処理するプロセッサ同志が任意にグループを構成し、
グループ内のプロセッサ間で同期をとりながら機械的に
並列処理を進める手段である。 第6図は、グループ内プロセッサ間同期手段177〜1
89のハードウェアブロック図を示している。 この図をもとにその動作シーケンスについて説明する。 まず、プロセッサは、タスク処理を終了したところで、
そのタスク処理をどの様なプロセッサのグループで実行
したかをグループレジスタ163に対して行う、これを
グループ宣言GCと称し1本実施例においては、16b
itのワード情報として表わし、そのbit番号Oから
12をプロセッサ1から13に対応させ、ビットが1の
ときにグループに属し、0のときグループに属さないと
定義している。プロセッサが自分自身もグループに含め
たグループ宣言をグループ・レジスタ163に対して行
うとまず、信号線169により同期完了ステータス17
5を出力するラッチ回路166をクリアし、次に、グル
ープ情報がグループレジスタ163にラッチされ、タス
ク処理が完了したとみなされて信号線168によってラ
ッチ回路165セツトし、セットされた倍電がタスク処
理完了ステータスとして信号線170により共通バス7
6に出力される。グループ宣言が行われると、比較回路
164が共通バス76上の各プロセッサのグループ内プ
ロセッサ間同期機構177〜189より出力されたタス
ク処理完了ステータスを監視し、グループレジスタ16
3にラッチされたbit情報と比較し、グループ内に属
するプロセッサのタスク処理がすべて完了したかどうか
を調べている。グループ内のプロセッサのタスク処理が
すべて完了したことを知るとプロセッサ間の同期がとれ
たとして、比較回路164中の比較解析回路173は、
信号線171によってラッチ回路166をセットし、信
号線174によってラッーチ回路165をリセットする
。これにより、タスク完了ステータスをクリアし、ラッ
チ回路166はラッチした同期完了ステータス175を
プロセッサに対し出力する。プロセッサは、この信号を
ステータス・チェック・ループで監視することによって
同期がとれたことを知る。また、同期完了割込みが許可
されていれば、比較解析回路173は信号線172によ
り同期完了割込み発生回路167をアクティブにし、同
期完了ステータス175と共に、プロセッサに対して同
期完了割込み176を発生してグループ内のプロセッサ
間の同期がとれたことを知らせる。同期完了割込み機能
を利用すれば、ソフトウェアによるステータス・チェッ
クを行う必要がなくなるので、同期がとれるまでプロセ
ッサの遊び時間がある場合、バックグラウンドオペレー
ションを実行するなど遊び時間の有効利用が可能となる
。また、プロセッサ間の同期が完了したら直ちに、同期
完了割込みによりメインの並列処理に引き戻され、次の
プロセッサの遊び時間にバックグラウンドオペレーショ
ンを実行すると処理の中断点から処理を再開する手法を
採るので、スケジュールされた並列処理の流れを乱すこ
とがなく、大きな一連の連続したバックグラウンドジョ
ブをメインの並列処理を意識することなく実行できるの
も大きな特徴である。 本実施例では他にも、例えば各主プロセッサにローカル
に設置された補助プロセッサ等の補助機構に主プロセッ
サが処理を依頼した除虫ずる処理終了までの主プロセッ
サの遊び時間を、同期完了割込みと同様の考えに基づく
処理終了割込み機能を設けることにより管理し、有効利
用できる様考慮している。なお、本実施例においては、
同期完了割込みの許可、不許可は、グループ宣言の際の
bit番号15により行い、それに基づいてラッチ信号
169によって同期完了割込み発生回路167の動作を
有効にしたり無効にしたりする手法を採っている。第7
図および第8図は、グループ内プロセッサ間同期手段を
使用して、プロセッサの処理の流れを制御した例を示し
ている。第7図は、まずプロセッサPO,PL、P2と
P3.P4゜P5.P6.P7とP8.P9とがそれぞ
れグループを構成し、CE!LL 1を上から下へかけ
て実行している。各グループ内のプロセッサは、グルー
プ内プロセッサ間同期手段によりAで代表される横線の
部分で同期がとられ、それぞれ関連したタスク処理を行
っている。グループ間は非同期であるが、Bの点におい
て、グループ間で情報を交換する必要が発生し、さらに
別のグループ内プロセッサ間同期手段により、プロセッ
サPOからP9までのプロセッサをすべてグループとみ
なしグループ間の同期をとった後グループを編成し直し
てCELL 2へ処理を進めている。ここで、同期の最
小単位をレベルと称し、レベル内の処理内容をタスクと
呼んでいる。この様に、本実施例では複数のグループ内
プロセッサ間同期手段を設け、多重同期処理を可能にし
ており、プロセッサをグループに分けて統一的に制御す
ることによってスケジュールされたMIND型並列処理
を機械的に実行できる。 第8図の2は、Cで代表されるプロセッサのタスク処理
の状態とDで代表されるプロセッサの遊び時間の状態及
び、E、F、Gで示した同期単位間での条件ジャンプ処
理の様子を表わしている。区に示したプロセッサの遊び
時間に対して、同期完了割込みを利用することによりバ
ックグラウンドオペレーション等の処理に利用する。条
件ジャンプについては、E、F、Hがレベル間のジャン
プ。 GがCELL間のジャンプである。この様に、ジャンプ
処理は各同期単位間で行われる。具体的には。 グループ内のプロセッサがある同期点で同期をとった後
9条件を判定して目的の同期点へ分岐、ループ等の処理
を行うべくジャンプする。また、判定すべき条件が無い
場合は、同期をとった後、目的の同期点へ無条件ジャン
プを行えば良い。すなわち、同期をとり、レベルあるい
はCBLLといった各同期処理単位の実行を進めていく
ことが、ノイマン型の単一プロセッサにおけるプログラ
ムカウンタの更新にあたると考えられる0本機能により
、汎用プロセッサには欠くべからざるダイナミックな要
素を含む条件ジャンプ処理を、多くの付加的なソフトウ
ェアの補助を必要とせず、比較的簡単−に並列処理スケ
ジュール上で実現している0以上の様に、グループ内プ
ロセッサ間同期手段の利用は、同期処理におけるソフト
ウェアオーバーヘッドを極小化し、タスクの細分化と多
数のプロセッサへの分配を可能にして並列処理効率を高
め、さらに、プロセッサをグループに分は各同期単位間
で多重、階層的かつ統一的に管理及び制御できるためプ
ロセッサの遊び時間の管理とその有効利用及び同期単位
間での条件ジャンプ処理が可能となり、高度で汎用性の
あるKIMD型並列処理を容易にかつ効率良く実現でき
る。 なお、ここで述べてきたハードフェア構成及び並列処理
のための種々の手段を、一部分だけ利用して小規模なマ
ルチ・プロセッサを構成することも可能であり、さらに
第1図の91.92.93に示す外部モジュールとの通
信手段により、他のマルチ・マイクロプロセッサ・モジ
ュールと結合し、さらに大規模なマルチ・プロセッサ・
システムに拡張することも可能である、 上述した本発明の実施例によれば、並列処理効率に大き
く影響すると考えられ、従来のマルチ・プロセッサ・シ
ステムで問題となっていたプロセッサ間の競合による通
信オーバーヘッドを、独立した複数の高速共有メモリ通
信手段を設けることにより十分小さくできるとともに、
プロセッサ間の同期手段をハードウェアで設けることに
より。 同期処理に要するソフトウェア・オペレーション・オー
バーヘッドを極小化できるなど、並列処理によって新た
に生じたハードウェア及びソフトウェア・オーバーヘッ
ドを最小化する手法によって、並列処理タスク間の接続
時間を減少させタスクの細分化を可能にし、多数のプロ
セッサに分配することによって、安価な汎用マイクロプ
ロセッサをベースにしたマルチ・マイクロプロセッサに
おいても高い並列処理効率を得ることが可能となる。 また1本発明のグループ内プロセッサ間同期手段を複数
使用することによる多重同期処理によって、プロセッサ
をグループにまとめ統一的に制御することができ、デー
タフロー風にスケジュールされたMIND  (Mul
ti−Instrction  stream  Mu
lti−Datastream)型の並列処理を機械的
にかつ効率良く実行できるばかりか、プロセッサの同期
単位間で、従来困難であったダイナミックな要素を含む
条件ジャンプ処理も容易に行えるため、プログラムに対
する汎用性を高めることができる。さらに、同期完了割
込みを利用することによって、プロセッサ間で同期がと
れるまでのプロセッサの遊び時間にバックグラウンドオ
ペレーションを実行でき。 それによってシステムの余剰処理能力の有効利用が可能
となる1以上により、リアルタイム処理を中心とした高
度制御用途に有効でかつ安価なマルチ・マイクロプロセ
ッサ・モジュールを提供できる。 〔発明の効果〕 本発明によれば、高い並列処理効率と汎用性を備えるマ
ルチ・マイクロプロセッサ・モジュールを提供すること
ができる。 4、図面の簡単な説明 第1図は本発明のマルチ・マイクロプロセッサ・モジュ
ールのハードウェア構成を示す図、第2図および第3図
は本発明を構成する共有メモリのアクセスタイミング図
、第4図は本発明を構成する命令指示マトリックス・テ
ーブルの構成図、第5図は本発明を構成するプロセッサ
間命令伝達手段のハードウェアブロック図、第6図は本
発明を構成するグループ内プロセッサ間同期手段のハー
ドウェアブロック図、第7図および第8図は、本発明を
構成するグループ内プロセッサ間同期手段を複数利用し
たプロセッサ制御例を示す図である。 1〜13・・・プロセッサ、21〜33・・・コミュニ
ケーションコントローラ、73,74.75・・・共有
メモリバス、14,15,16・・・共有メモリ、17
.18,19・・・共有メモリバス制御用判別回路、2
0・・・命令指示マトリックステーブル解析口fi、7
6.77・・・コミュニケーションコントローラ間共通
バス及び専用バス、149〜161・・・命令指示回路
、174〜186・・・グループ内プロセッサ間同期手
段。

Claims (1)

  1. 【特許請求の範囲】 1、複数の汎用マイクロプロセッサを平等に結合し並列
    処理を行うマルチ・プロセッサ・モジュールにおいて、
    その並列処理用ハードウェア機構として、任意プロセッ
    サからアクセス可能な独立した複数の高速共有メモリ通
    信機構と、任意プロセッサ間で直接に命令送出、受信を
    行い、かつ命令処理の起動状態を監視する機能を有する
    命令伝達機構と、関連のあるタスクを処理するプロセッ
    サ同志で任意にグループを構成し、グループ内のプロセ
    ッサ間で同期をとり、スケジュールされた並列処理を機
    械的に実行するためのグループ内プロセッサ間同期機構
    と、並列処理中の各プロセッサの遊び時間を管理するこ
    とにより、バックグラウンドオペレーションをプロセッ
    サの遊び時間に割り当てる遊びプロセッサ管理機能とを
    有することを特徴とするマルチ・マイクロプロセッサ・
    モジュール。 2、特許請求の範囲第1項記載のマルチ・マイクロプロ
    セッサ・モジュールのバス構造において、各プロセッサ
    間を複数の独立した高速共有メモリバスで接続し、並列
    処理に必要な種々の通信機構である命令伝達機構、グル
    ープ内プロセッサ間同期機構および、遊びプロセッサ管
    理機構を統轄するコミュニケーションコントローラを各
    プロセッサ単位で設け、共有メモリバスや他のシステム
    バスとは独立に専用バス及び共通バスで接続することを
    特徴とするマルチ・マイクロプロセッサ・モジュール。 3、特許請求の範囲第1項記載のマルチ・マイクロプロ
    セッサ・モジュールにおける共有メモリ通信機構におい
    て、各プロセッサに同等のマイクロプロセッサを使用し
    、同一のクロックで動作させることにより、各プロセッ
    サを同期させて動作させ、共有メモリへのアクセスタイ
    ミングを明確化し、マイクロプロセッサがデータを読み
    込むタイミングから、バススイッチ時間、ゲート遅延時
    間、メモリのアクセスタイム及びプロセッサへのデータ
    セットアップタイムを考慮した必要最小限のクロック数
    分だけ前の一定期間をプロセッサのメモリサイクルから
    抜き出すことにより共有メモリサイクルを定義し、共有
    メモリをアクセスして、専有する期間が常に定義した共
    有メモリサイクルのクロック数となる様に制御し、他プ
    ロセッサとのアクセス競合が起こり、上記の共有メモリ
    サイクルが重つた場合にのみ、その重つたクロック数分
    だけ優先順位の低いプロセッサ側を待たせて共有メモリ
    サイクルをずらすことにより、連続して、しかもプロセ
    ッサ当り常に共有メモリサイクルに相当する必要最小限
    の一定期間のみ共有メモリへのアクセス要求を出してい
    るプロセッサのアクセスを許可していくことを特徴とす
    るマルチ・マイクロプロセッサ・モジュール。 4、特許請求の範囲第1項記載のマルチ・マイクロプロ
    セッサ・モジュールにおける共有メモリ通信機構におい
    て、独立した複数の共有メモリバスを設け、共有メモリ
    を、各共有メモリバスごとにプロセッサの共有メモリへ
    のアクセス競合が起つた際のアクセス許可のための優先
    順位を変えて設置することにより、共有メモリへのアク
    セス競合の緩和と、各プロセッサの共有メモリへのアク
    セス条件を全体としてほぼ平等化することを特徴とする
    マルチ・マイクロプロセッサ・モジュール。 5、特許請求の範囲第1項記載のマルチ・マイクロプロ
    セッサ・モジュールにおけるプロセッサ間の命令伝達機
    構において、共有メモリ上に任意プロセッサから任意プ
    ロセッサへの割込みを可能とする命令指示マトリックス
    テーブルを設け、そこに命令を指示するプロセッサが命
    令を書き込むだけの操作で、自動的に命令を指示された
    プロセッサに割込みがかかり、それによつて命令が伝達
    されることを特徴とするマルチ・マイクロプロセッサ・
    モジュール。 6、特許請求の範囲第1項記載のマルチ・マイクロプロ
    セッサ・モジュールにおけるプロセッサ間の命令伝達機
    構において、共有メモリ上に各マイクロ・プロセッサの
    割込みベクトル・テーブルの一部を任意プロセッサから
    任意プロセッサへの割込みを可能とする上記第5項の命
    令指示マトリックス・テーブルとして共有し、命令を指
    示するプロセッサが、命令を指示されるプロセッサのメ
    モリ空間上の命令ルーチンの起動先頭番地を直接所定の
    命令指示マトリックステーブルに書き込むことにより、
    命令伝達機構がそのアクセスされたアドレスを解析し、
    命令を指示されたプロセッサに割込みをかけ、割込みが
    受信され次第、命令を指示したプロセッサの属性を割込
    みベクトル情報として命令を指示されたプロセッサに伝
    達することにより、命令指示マトリックステーブルに書
    き込まれている命令ルーチンの起動先頭番地を、命令を
    指示されたプロセッサが直接読み出し、プログラムカウ
    ンタにロードすることによつて、命令ルーチンの先頭に
    直接ジャンプして命令処理を開始することを特徴とする
    マルチ・マイクロプロセッサ・モジュール。 7、特許請求の範囲第1項記載のマルチ・マイクロプロ
    セッサ・モジュールにおけるプロセッサ間の命令伝達機
    構において、命令指示マトリックステーブルに命令を指
    示するプロセッサが命令ルーチンの起動先頭番地を書き
    込んだ時点を命令の発動とみなし、命令伝達機構がアク
    セスされた番地を解析したのち、対応する命令の発動を
    示すフラグをセットし、命令を指示されたプロセッサが
    命令ルーチンの先頭アドレスを読み込むため再び命令指
    示マトリックステーブルの同じアドレスをアクセスした
    時点を命令の起動の完了とみなし、命令伝達機構が同様
    にして上記の命令の発動を示すフラグをリセットし、そ
    のフラグのセット、リセット状態をステータス情報とし
    て命令を指示したプロセッサに伝達することにより、命
    令の起動状態を知らせることを特徴とするマルチ・マイ
    クロプロセッサ・モジュール。 8、特許請求の範囲第1項記載のマルチ・マイクロプロ
    セッサ・モジュールにおけるグループ内プロセッサ間同
    期機構において、プロセッサがあるタスク処理を終了し
    た時点で、そのタスク処理をどういうプロセッサのグル
    ープで実行したかを示すグループの属性をデータとして
    そのプロセッサを管理する同期機構中のグループレジス
    タに書き込むだけの操作で、他のプロセッサを管理する
    同期機構からの情報と合わせてグループ内に属するプロ
    セッサのタスク処理が終了したかどうかをチェックし、
    その結果を同期情報としてプロセッサに知らせることを
    特徴とするマルチ・マイクロプロセッサ・モジュール。 9、特許請求の範囲第8項記載のマルチ・マイクロプロ
    セッサ・モジュールにおけるグループ内プロセッサ間同
    期機構において、シーケンスとして、あるプロセッサが
    グループレジスタにグループの属性データを書き込む操
    作を行うと、ただちにそのプロセッサを管理する同期機
    構は以前の同期情報を示すフラグをリセットし、そのプ
    ロセッサのタスク処理が終了したことを示すフラグをセ
    ットして共通バス上にその情報を流した後、共通バスを
    通して他のプロセッサの同期機構からのタスク処理終了
    情報を入手して、グループレジスタに登録されたグルー
    プに属するプロセッサがすべてタスク処理を終了したか
    どうかを比較回路により比較し、もしグループ内のすべ
    てのプロセッサのタスク処理が終了しているならば、そ
    のグループ内のプロセッサ間で同期がとれたものとして
    同期情報を示すフラグをセットしてプロセッサに示し、
    プロセッサは、その情報をステータスチェックループで
    監視することによりグループ内プロセッサ間で同期がと
    れたかどうかを知ることを特徴とするマルチ・マイクロ
    プロセッサ・モジュール。 10、特許請求の範囲第9項記載のマルチ・マイクロプ
    ロセッサ・モジュールにおけるグループ内プロセッサ間
    同期機構において、グループ内で同期情報を示すフラグ
    をセットした時点で、もし同期機構に対し割込みが許可
    されていれば、プロセッサに対して同期がとれたことを
    示す情報として同期完了割込みを利用することにより、
    プロセッサはタスク処理が終了し同期がとれるまでの遊
    び時間にバックグラウンドオペレーションの実行が可能
    となり、グループ内プロセッサ間の同期がとれた時点で
    ただちに同期完了割込みによつて自動的かつ強制的にメ
    インの並列処理に引き戻され、スケジュールされた並列
    処理の流れを乱すことなく、並列処理中のプロセッサの
    遊び時間の利用を可能とする遊びプロセッサ管理機能を
    有することを特徴とするマルチ・マイクロプロセッサ・
    モジュール。 11、特許請求の範囲第9項または第10項記載のマル
    チ・マイクロプロセッサ・モジュールにおけるグループ
    内プロセッサ間同期機構において、グループ内プロセッ
    サ間同期機構を独立に複数有し、グループ間の同期をさ
    らに別の同等の機能をもつ同期機構により管理していく
    、多重同期処理が可能であることを特徴とするマルチ・
    マイクロプロセッサ・モジュール。 12、特許請求の範囲第8項ないし第11項のいずれか
    に記載のマルチ・マイクロプロセッサ・モジュールにお
    いて、グループ内プロセッサ間同期機構により各プロセ
    ッサ間の同期制御を行うことを前提にスケジュールされ
    た並列処理を実行可能なことと、それによつて、ダイナ
    ミックな要素を持ちスケジュールに組み込むことが困難
    な条件分岐処理を多くの付加的プログラムの支持を必要
    とせずにプロセッサの同期単位間で実現可能なこととを
    特徴とするマルチ・マイクロプロセッサ・モジュール。
JP59257533A 1984-12-07 1984-12-07 マルチ・マイクロプロセツサ・モジユ−ル Expired - Lifetime JPH061464B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59257533A JPH061464B2 (ja) 1984-12-07 1984-12-07 マルチ・マイクロプロセツサ・モジユ−ル

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59257533A JPH061464B2 (ja) 1984-12-07 1984-12-07 マルチ・マイクロプロセツサ・モジユ−ル

Publications (2)

Publication Number Publication Date
JPS61136157A true JPS61136157A (ja) 1986-06-24
JPH061464B2 JPH061464B2 (ja) 1994-01-05

Family

ID=17307606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59257533A Expired - Lifetime JPH061464B2 (ja) 1984-12-07 1984-12-07 マルチ・マイクロプロセツサ・モジユ−ル

Country Status (1)

Country Link
JP (1) JPH061464B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6345670A (ja) * 1986-08-13 1988-02-26 Hitachi Ltd プロセツサ間同期装置
JPS6345668A (ja) * 1986-08-13 1988-02-26 Hitachi Ltd タスク起動装置
JPH02238553A (ja) * 1989-03-13 1990-09-20 Nippon I B M Kk マルチプロセツサ・システム
WO2006098549A1 (en) * 2005-03-17 2006-09-21 Mtekvision Co., Ltd. Memory share by a plurality of processors
JP2010108406A (ja) * 2008-10-31 2010-05-13 Fujitsu Ltd ノード間同期装置、ノード間同期方法およびノード間同期プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6345670A (ja) * 1986-08-13 1988-02-26 Hitachi Ltd プロセツサ間同期装置
JPS6345668A (ja) * 1986-08-13 1988-02-26 Hitachi Ltd タスク起動装置
JPH02238553A (ja) * 1989-03-13 1990-09-20 Nippon I B M Kk マルチプロセツサ・システム
WO2006098549A1 (en) * 2005-03-17 2006-09-21 Mtekvision Co., Ltd. Memory share by a plurality of processors
JP2010108406A (ja) * 2008-10-31 2010-05-13 Fujitsu Ltd ノード間同期装置、ノード間同期方法およびノード間同期プログラム
US8397094B2 (en) 2008-10-31 2013-03-12 Fujitsu Limited Node-to-node synchronizing apparatus, node-to-node synchronizing method, and computer product

Also Published As

Publication number Publication date
JPH061464B2 (ja) 1994-01-05

Similar Documents

Publication Publication Date Title
AU714681B2 (en) Parallel processor with redundancy of processor pairs
US4989131A (en) Technique for parallel synchronization
US5367690A (en) Multiprocessing system using indirect addressing to access respective local semaphore registers bits for setting the bit or branching if the bit is set
JP2511397B2 (ja) 多重プロセッサデ―タ処理システム及びその操作方法
JPH04348451A (ja) 並列計算機
CN104714846A (zh) 资源处理方法、操作系统及设备
JPH0640324B2 (ja) マルチプロセッサ・システムおよびそのプロセス同期方法
WO2008082964A1 (en) Thread queuing method and apparatus
JP2012512452A (ja) マルチプロセス間のバリアの物理マネージャ
KR20140030260A (ko) 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 자원들 및 상호접속 구조들의 비집중 할당
KR102539571B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
JPH0668053A (ja) 並列計算機
KR20200138413A (ko) 네트워크 온칩 데이터 처리 방법 및 장치
JPS61136157A (ja) マルチ・マイクロプロセツサ・モジユ−ル
KR102539574B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
KR20140030261A (ko) 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 상호접속 구조
Colon et al. Coupling small computers for performance enhancement
Tudruj Multi-layer reconfigurable transputer systems with distributed control of link connections
SU907551A1 (ru) Мультимикропроцессорна система
CN116382861A (zh) Numa架构的服务器网络进程自适应调度方法、系统及介质
JPS6259345B2 (ja)
JPH0660045A (ja) マルチプロセッサ形電子計算機
KR19980036294A (ko) 공유 분산 메모리 시스템 상에서의 자료 분산 및 통신 방법
JPH05101207A (ja) Simd型プロセツサ
JPH0642234B2 (ja) 並列処理システム

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term