JPH02733B2 - - Google Patents

Info

Publication number
JPH02733B2
JPH02733B2 JP59006581A JP658184A JPH02733B2 JP H02733 B2 JPH02733 B2 JP H02733B2 JP 59006581 A JP59006581 A JP 59006581A JP 658184 A JP658184 A JP 658184A JP H02733 B2 JPH02733 B2 JP H02733B2
Authority
JP
Japan
Prior art keywords
data
synchronization
address
array
indicator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP59006581A
Other languages
English (en)
Other versions
JPS60151776A (ja
Inventor
Tsutomu Hoshino
Tomonori Shirakawa
Toshio Kawai
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.)
Shingijutsu Kaihatsu Jigyodan
Original Assignee
Shingijutsu Kaihatsu Jigyodan
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 Shingijutsu Kaihatsu Jigyodan filed Critical Shingijutsu Kaihatsu Jigyodan
Priority to JP59006581A priority Critical patent/JPS60151776A/ja
Publication of JPS60151776A publication Critical patent/JPS60151776A/ja
Publication of JPH02733B2 publication Critical patent/JPH02733B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、複合コンピユータシステムに関する
ものであり、特にその中でも並列配置されたコン
ピユータに対する通信および制御を効率的に行な
う手段に関する。
〔技術の背景〕
科学技術上の問題には、物理空間内に分布する
多数の点からなり、各点が近傍の点との間に相互
作用をもつような系において、与えられた条件の
もとに各点の値の時間的な変化を計算することが
必要とされるものが少なくない。たとえば、気象
や洪水の予測問題などもその1つである。しかし
これらの問題は、膨大な量の計算を伴うものであ
るため、特にその処理用コンピユータには高速性
が要求される。
ところで、多数のコンピユータを2次元配列し
て、隣接するコンピユータ同士を結合可能にした
複合コンピユータシステムは、このような問題を
処理するのに適しており、上記した物理空間内の
各点を2次元配列された各要素コンピユータに対
応させて同時に並列動作させることにより、高速
処理を可能にする。しかし、従来のこの種の複合
コンピユータシステムは、全体を統括するホスト
コンピユータと2次元配列されて各要素コンピユ
ータとの間の通信、および各要素コンピユータ間
の通信に多くの時間を要して、システム全体の処
理の高速化に一定の制約があり、さらには各要素
コンピユータの同期制御などに技術的に改善すべ
き点をもつていた。
〔発明の目的〕
本発明の目的は、2次元配列された複数のコン
ピユータからなる複合コンピユータシステムにお
いて、通信および同期制御方式を改良し、より高
速で信頼性の高いシステムを実現することにあ
る。
〔発明の構成および実施例〕 以下に、本発明の構成を1実施例にしたがつて
説明する。
(1) システムの全体構成 第1図は、本発明を実施した複合コンピユータ
システムの全体構成図である。図中、1は32個の
処理ユニツトPUを8行4列に2次元配列したPU
アレイ、2は制御ユニツト、3はホストコンピユ
ータ、4はデジタル入出力線DI/O、5はデイ
スクパツク記憶装置DP、6は磁気テープ装置
MT、7および8はデイスプレイ端末装置CRT、
9はラインプリンタLP、10は通信制御装置
COM、11はデイスプレイ装置CRT、12はキ
ーボード入力装置KB、13はプリンタPR、1
4はカセツトテープ装置CMTを示す。
PUアレイ1は、複数のタスクを並列に実行す
る。各PUは、後述されるように、本質的には単
一ボードのマイクロコンピユータと同じ機能をも
つている。なおアレイを構成するPUの個数は32
個に限られるものではなく、一般には任意の適当
な個数が選択される。m行n列目のPUは(m,
n)で表わされる。
制御ユニツト2は1つのマイクロコンピユータ
であり、PUアレイ1を制御するとともに、デジ
タル入出力線DI/Oを介して、ホストコンピユ
ータ3あるいは入出力装置7乃至10との間でデー
タ通信を行なう。
ホストコンピユータ3は、汎用のミニコンピユ
ータであり、ソースプログラムをコンパイル/ア
センブルし、得られたオブジエクトプログラムを
制御ユニツト2およびPUへロードする。さらに
並列タスクを開始させ、制御ユニツト2との間で
必要なデータの転送を行ない、処理結果を出力さ
せる。
(2) PUアレイの構成 第2図は、PUアレイ1におけるm行n列目の
1つの処理ユニツトPUの細部構成図である。図
中、16はマイクロプロセツサMPU、17は算
術演算ユニツトAPU、18は制御レジスタCR、
19は状態レジスタSR、20はローカルメモリ
LM、21はプログラムメモリPM、22は結果
メモリRM、22aは同期レジスタSC、23は
前方の通信メモリCM、24は後方の通信メモリ
CM、25は左方の通信メモリCM、26は右方
の通信メモリCMを示す。
マイクロプロセツサMPU16は、応用プログ
ラムを実行し、8ビツトの固定小数点算術演算お
よび論理演算、メモリ間のデータ転送、算術演算
ユニツトAPU17の制御などを行なう。
算術演算ユニツトAPUは、16ビツトおよび32
ビツト幅の固定小数点算術演算と32ビツト幅の浮
動小数点算術演算、対数や平方根などの基本関数
計算などを行なう。APU17に対する転送およ
びその動作開始は、MPU16により完全に制御
される。ただし、これらのデータについては、
MPUのレジスタを介さずに、直接APUとメモリ
との間でデータ転送を行なうことができる。
制御レジスタCR18は、制御ユニツト2から
PUへ、制御語を転送するために使用される。
状態レジスタSR19は、PUの状態を制御ユニ
ツト2へ通知するために使用される。このレジス
タはPUによつて書き込まれ、制御ユニツト2の
みによつて読み出されることができる。
ローカルメモリLM20は、PUのローカルデ
ータおよびプログラムを記憶するために使用され
る。
プログラムメモリPM21は、プログラムおよ
び読み出し専用データを記憶するために使用され
る。
結果メモリRM22は、PUと制御ユニツト2
によつて共有され、これらの間でデータ転送を行
なうために使用される。
同期レジスタ22aは、PUアレイ内の各PUの
処理の同期をとるために使用される。
通信メモリCM23乃至26は、それぞれ前、
後、左、右の隣接するPUとの間で共有され、そ
れぞれのPUとの間のデータ通信のために使用さ
れる。
各PUは、システムクロツクによつて同期化さ
れている。システムクロツクは制御ユニツト2に
よつて供給される。隣接するPU間のCMに対す
るアクセスは、PU同士の競合を避けるため、シ
ステムクロツクの半サイクルで偶数番目のPUが
アクセスし、他の半サイクルで奇数番目のPUが
アクセスするように制御される。
(3) 隣接PU間のデータ転送 隣接するPU同士の間でのデータ転送は、上記
した前後左右の通信メモリCM23乃至26を用
いて行なわれる。従来は、ローカルメモリLM2
0中のデータを他の隣接PUに転送したい場合、
MPU16によりLM20中のデータを読み出し
てそれを通信メモリCM23,24,25,26
に順次格納することにより行なつていた。
しかし、これでは、通信に要する時間がかかり
すぎるため、本発明では、MPU16がLM20
にデータを格納する際、それが隣接するPUに転
送すべきデータである場合には、特別のアドレス
(またはアドレス領域)を指定してCM23乃至
26にも同時に書き込むようにしている。
第3図は、ある1つのPUのMPU16からみた
LMおよびCMのアドレス空間の1例を示す。ア
ドレス0〜99はLM20のみにアクセスが行なわ
れる領域、アドレス100〜199は前方のCM23と
LM20とに共通にアクセスが行なわれる領域、
アドレス200〜299は後方のCM24とLM20と
に共通にアクセスが行なわれる領域、アドレス
300〜399とアドレス400〜499は、それぞれ左方お
よび右方のCM25,26とLM20とに共通に
アクセスが行なわれる領域、そしてアドレス500
〜599は前後左右のCM23乃至26とLM20と
に共通にアクセスが行なわれる領域である。
これにより、各PUにおいて、MPU16は、デ
ータを転送すべき隣接PUの方向に応じてLM2
0への書き込みアドレス領域を選択することによ
り、自由に隣接するPUとの間で通信を行なうこ
とができる。
この場合、PUアレイの配列は2次元に限らず、
1次元、3次元など任意の次元のものに適用する
ことができる。
(4) 複数のPUのメモリ間あるいはPUのメモリと
周辺装置との間のデータ転送 PUアレイ1中の複数のPUのメモリ間、あるい
はメモリと周辺装置との間で、直接メモリアクセ
ス(DMA)方式によりデータ転送を行なう。
従来のDMAコントローラは、1つのPUのメ
モリと周辺装置との間のデータ転送を行なうよう
に作製されていたため、複数のPUに対して用い
るためには、これまで次のような方法がとられて
いた。
第4図はその概要図であり、図中、1はPUア
レイ、2は制御ユニツト、27はPU接続切換回
路、28は共通バス、29はDMAコントローラ
機能をもつデータ転送制御装置を示している。制
御ユニツト2は、そのソフトウエアにより、各
PUに対して設けられているPU接続切換回路27
を制御し、データを読み書きするべきPUまたは
PU群を選択指定する。例として、PU(01)のメ
モリの内容をPU(00)乃至PU(73)の全PUのメ
モリへ放送する場合を以下に示す。
まず制御ユニツト2は、PU接続切換回路2
7を制御し、共通バス28とPU(01)を接続す
る。
次に、DMAコントローラ機能をもつデータ
転送制御装置29に読み出しを開始するべきメ
モリのアドレス、データの量などの値を知ら
せ、この装置29に制御権を移す。
すると、データ転送制御装置29はPU(01)
のメモリからデータを読み出し、制御ユニツト
2のメモリなどに一時貯え、制御ユニツト2に
制御権を戻す。
制御ユニツト2はPU接続切換回路27を制
御して、共通バス28を全PR(00)乃至PU
(73)と接続する。
つづいて、制御ユニツト2はデータ転送制御
装置29にデータを書き込むべきアドレスなど
を知らせ、制御権を移す。
データ転送制御装置29は、先程貯えたデー
タを全PUのメモリに同時に書き込んだ後、制
御権を放す。
以上6回の手順により、PU(01)のメモリの内
容が全PUのメモリにコピーされる。
しかしこの方法は、比較的自由なPUの選択・
指定が可能である反面、制御のために時間がかか
り、システム全体の効率が低下する欠点があつ
た。
本発明では、上記のような従来方式の欠点を解
決するために、データ転送制御装置29内にある
データの読み書きのアドレス指示器、データ数計
数器に連動させ、自動的にデータの読み書きを行
なうべきPUまたはPU群の選択制御を行なうため
の指示示器を設け、データ転送のための制御に必
要な時間を短縮して、PUアレイの処理効率を向
上させている。
第5図は、本発明に基づくデータ転送制御装置
の1実施例の構成図である。図中、31は読み出
しPU指示器、32は書き込みPU指示器、33は
読み出しアドレス指示器、34は書き込みアドレ
ス指示器、35はデータラツチ、36は読み書き
切り替え器、37は転送データ数指示器、38は
転送データ数計数器、39は比較器、40は命令
レジスタ、41は命令解釈器、42乃至45は演
算器、46乃至48はスイツチを示す。以下に、
各部の機能を説明する。
読み出しPU指示器31、書き込みPU指示器
32:それぞれ、データが読み出されるPUと、
書き込まれるPUを指定するコードを格納して
おくレジスタで、そのコードがPU選択バスに
出力されると指定されたPUにアドレスバスと
データバスが接続され、そのPUのデータを読
み書きすることが可能となる。読み出しPU指
示器31と書き込みPU指示器32に付属して
いる演算器42,43は、あるPUの読み出し
や書き込みが終了したあと、次に読み出し書き
込みを行なうPUのコードを求めるための計算
を行なうものである。
読み出しアドレス指示器33、書き込みアド
レス指示器34:それぞれ、データが読み出さ
れるアドレスと、書き込まれるアドレスを格納
しておくレジスタである。読み出しアドレス指
示器33と書き込みアドレス指示器34に付属
している演算器44,45は、あるアドレスの
読み出しや書き込みが終了したあと、次に読み
出し書き込みを行なうアドレスのコードを求め
るための計算を行なうものである。
データラツチ35;転送されるデータを一時
蓄えておくものである。
読み書き切り替え器36:この装置がデータ
転送を行なう際に、データを読む動作と書く動
作を交互に切り替える制御をおこなう。データ
を読む時には、スイツチ46,47,48を上
に倒し、読み出しPU指示器をPU選択バスに、
読み出しアドレス指示器をアドレスバスに接続
し、データラツチ35を入力状態に、
READ/WRITE信号をREAD状態にする。こ
の状態でデータはPUから読み出され、データ
ラツチ35に一時蓄えられる。次にデータを書
く時には、スイツチ46,47,48を下に倒
し、書き込みPU指示器をPU選択バスに、書き
込みアドレス指示器をアドレスバスに接続し、
データラツチを出力状態に、READ/WRITE
信号をWRITE状態にする。この状態でデータ
はデータラツチ35からPUへと転送される。
転送データ数指示器37:転送されるべきデ
ータの数を格納しておくレジスタ。
転送データ数計数器38:転送されたデータ
の数をかぞえ、格納しておくレジスタ。
比較器39:転送データ数指示器37の内容
と転送データ数計数器38の内容、即ち転送さ
れるべきデータの数と転送されたデータの数を
比較し、必要なだけの数のデータが転送された
ことを検出する。
命令レジスタ40:どのような手順のデータ
転送を行なうかを指示した命令を格納しておく
レジスタである。この命令は命令解釈器41に
よりデコードされ、各演算器42乃至45に対
してどのような演算を行なうかを適切なタイミ
ングで指示する。
例えば、5番、10番、15番の各PUのメモリの
100番地からの8個のデータを、全PUのメモリの
300番地に移したいときは、読み出しPU指示器3
1に5を、書き込みPU指示器32に全PUを表わ
すコードをそれぞれ格納し、読み出しアドレス指
示器33、書き込みアドレス指示器34にそれぞ
れ100,300を格納し、転送データ数指示器37に
8を格納しておく。次に命令レジスタ40にこの
手順のデータ転送を行なうことを指示した命令を
格納すると、この命令は命令解釈器によりデコー
ドされ、実行が始まる。
まず転送データ数計数器38がクリアされ、5
番のPUの100番地からデータが読み出され、全
PUの300番地に書き込まれる。その後、読み出し
アドレス指示器33、書き込みアドレス指示器3
4、転送データ数計数器38の値が+1される。
読み出しアドレス指示器33、書き込みアドレス
指示器の値が+1されて、それぞれ101,301にな
つたので、次は5番のPUの101番地から全PUの
301番地へデータ転送が行なわれる。これを8回
繰り返すと、転送データ数指示器37と転送デー
タ数計数器38の値が等しくなり、比較器39に
より一致が検出されて、命令解釈器41に伝えら
れる。命令解釈器41は、このタイミングで、読
み出しPU指示器31を+5し、読み出しアドレ
ス指示器33に元の値100を格納し、転送データ
数計数器38をクリアし、実行を続ける。15番の
PUからのデータ転送が終了すれば全命令の完了
を検出し、バスの占有権を放す。
また複合コンピユータシステムでは、各PUに
散在している数個ずつのデータを全PUに複写す
る必要が生じることも少なくない。このような複
写を行なうデータ転送制御装置の他の実施例構成
を第6図に示す。
第6図において、第5図と異なる要素のみを示
すと、49は読み出し開始アドレスラツチ、50
は書き込み開始アドレスラツチ、51は転送PU
数指示器、52は転送PU数計数器、53は比較
器、54乃至56は+1加算器である。以下に、
装置の動作を説明する。
読み出しPU指示器31に読み出しを開始す
るPUの番号(コード)を、書き込みPU指示器
32に全PUを表わすコードをそれぞれ格納し、
読み出し開始アドレスラツチ49、書き込み開
始アドレスラツチ50にそれぞれ読み出しを開
始するアドレス、書き込みを開始するアドレス
を格納し、転送データ数指示器37にデータ
数、転送PU数指示器51に全PU数を格納して
おき、命令レジスタ40に複写の命令を格納す
る。
命令の格納により実行が始まる。書き込み開
始アドレスを書き込みアドレス指示器34に転
送する。
転送データ数計数器38をクリアし、読み出
し開始アドレスを読み出しアドレス指示器33
に転送する。
読み出しPU指示器31で指示されるPUの読
み出しアドレス指示器33で指定されるアドレ
スからデータを読み出し、書き込みPU指示器
32で指定されるPU内の、書き込みアドレス
指示器34で指定されるアドレスに書き込む。
読み出しアドレス指示器33、書き込みアド
レス指示器34、転送データ数計数器の値を+
1する。転送データ数指示器37と転送データ
数計数器38の値が等しくなければに戻る。
転送データ数指示器37と転送データ数計数
器38の値が等しくなつたら、読み出しPU指
示器31、転送PU数計数器52の値を+1す
る。転送PU数指示器51と転送PU数計数器5
2の値が等しくなければに戻る。
転送PU数指示器51と転送PU数計数器52
の値が等しければ転送を終了し、バスを解放
し、制御を親コンピユータあるいはPUアレイ
に戻す。
読み出しPU指示器31、書き込みPU指示器3
2により、制御ユニツト内のコンピユータも指定
可能とすることができる。このようにして、任意
のPUと制御ユニツトのメモリ、または周辺装置
との間で、データの構造をPUアレイの構造に合
わせて合理的に転送することができる。
(5) PUアレイとホストコンピユータとの結合 本発明では、第1図に示すようなPUアレイ1
とホストコンピユータ3との間のデータ参照のた
めに、簡単で高速なバスの結合手段が使用され
る。PUアレイについては、実際に物理的にPU相
互間にどのような結合がなされているかというこ
ととは別に、ホストコンピユータから見た論理的
なPUアレイの構造を考えることができる。
第7図は8個のPU、すなわちPU(0)乃至PU
(7)が1列に並んだ1次元構造のPUアレイ例であ
る。一方、ホストコンピユータの中で扱うデータ
にも論理的な構造が考えられる。第8図は8×8
の2次元の行列データの例である。このデータを
第7図のPUアレイで分割して処理をする場合、
分割の仕方をいろいろとることができる。たとえ
ばa11〜a81の1列をPU(0)が分担し、a12〜a82
の1列をPU(1)が分担し、……というように各PU
が1列ずつを分担するということが考えられる。
このような場合、ホストコンピユータの中では、
データは第8図の行列中の()で番号付けされた
ような順にメモリまたは周辺装置に格納されてい
る。他方、PUアレイにおいては、(0)〜(7)の8
個のアドレスの各PUに、その順に格納される。
もう少し複雑な例としては、第9図に示すよう
に、2×4の2次元構造のPUアレイを考える。
この場合、8×8の行列データを、4×2の小行
列8個に分割して、各PUに割当てることができ
る。この時、たとえばPU(0)とPU(1)に割当て
られたデータの順序(アドレス)は、それぞれ第
10図イ,ロのようにずれる。同様にして、他の
PUにおけるデータ順序にもホストコンピユータ
でのデータの順序に対して一定のずれが生じる。
本発明では、このずれをアドレスラインとPU
選択ラインの信号との簡単な演算により自動的に
発生する変換回路を用いて、高速に対応するデー
タをホストコンピユータとPUアレイとの間で参
照可能にする。
第11図は、ホストコンピユータにおける第8
図に示す8×8の行列データを第9図に示す2×
4のPUアレイ構造に対して割当てる場合のアド
レス変換回路の実施例を示す。図中、1はPUア
レイ、3はホストコンピユータ、61はアドレス
ライン、62はアドレスラインの信号からホスト
コンピユータ3におけるa11のアドレスすなわち
先頭アドレスを差引く減算回路、63は除算回
路、64は加算回路、65はPU選択ライン、6
6はPUアドレスラインである。62,63,6
4の回路が変換回路を構成し、制御ユニツト2内
に置かれる。除算回路63は、アドレス信号を1
つのPU中のデータの行数、すなわち第10図に
より“4”で割つた商b1と余りb0を求め、さらに
その商b1をPUの縦の個数すなわち“2”で割つ
た商b3と余りb2を求め、さらにその商b3を1つの
PU中のデータの列数、すなわち第10図により
“2”で割つた商b5と余りb4とを求め、b0,b2
b4,b5を出力する。
一般的にPUアレイ中のm行n列目のPUをPU
(m,n)で表わしたとき、b5,b2によりPU(b5
b2)が選択される。しかし、第11図に示すよう
に、PUの番号付けを0乃至7のように一次元的
に行なつた場合には、その番号は、 b5×(PUアレイの行数)+b2 となる。
b4,b0は、上記のようにb5,b2により選択され
たPU内の選択されたデータの2次元的な位置が、
(b4,b0)、すなわちb4行b0列目であることを表わ
す。これを一次元的なアドレスとして表わせば、 b4×(PU内データ配列の行数)+b0 +(PU内のベースアドレス) となる。
ここで第11図に示すように、アドレスライン
61のアドレス値をA0減算回路62の出力アド
レス値をA1,b4およびb0の値をA2,b5およびb2
の値をA3、PU選択ライン65の値をA3、PUア
ドレスライン66の値をA4とすると、A1,A2
A3,A4は次のような式で与えられる。
A1=A0−(ホストコンピユータ先頭アドレス) b0:A1/(1つのPU内のデータ配列の行数)
の余り b1:A1/(1つのPU内のデータ配列の行数)
の商 b2:b1/(PUアレイの縦方向行数)の余り b3:b1/(PUアレイの縦方向行数)の商 b4:b2/(1つのPU内のデータ配列の列数)
の余り b5:b3/(1つのPU内のデータ配列の列数)
の商 A2=b4×(1つのPU内のデータ配列の行数)+
b0 A3=b5×(1つのPU内のデータ配列の行数)+
b2 A4=A2+PUのベースアドレス 第11図の実施例の場合、アドレスライン61
の最下位2ビツトは、b0として、第10図イ,ロ
に示すような各PUに割当てられる4×2の行列
データ中の各列における4個のデータ位置(順
序)の1つを指定する。
アドレスライン61の下位から3ビツト目は、
b2として、2×4配列のPUアレイの第1行のPU
か第2行のPUかを指定する。
アドレスライン61の下位から4ビツト目は、
b4として、各PUにおける4×2行列データの第
1列か第2列かを指定する。
アドレスライン61の下位から5,6ビツト目
の2ビツトは、b5として、PUアレイ中の4つの
列位置の1つを指定する。
この実施例では、データの行、列、PUの行、
列の数がすべて2のベキ乗であるので、上記除算
回路63の演算は、単なるアドレスラインの入れ
換えだけで済ますことができる。しかし一般的な
行、列数の場合、上記のような除算が必要であ
る。演算により得られたb5,b2をPUの選択ライ
ン信号として使用し、b4,b0にPU内でのこのデ
ータ群のベースアドレスの加算を加算回路64に
おいて行なつて、その出力をPUのアドレスライ
ン信号として使用する。以上の対応付けにより、
ホストコンピユータ3は、PUアレイ中に分散し
ているデータを、第8図に表わされた構造として
すばやく参照することができる。
上記の方式は一般的なアドレスの変換方式を与
えるものであるから、上記の例以外のデータ構造
(3次元データなど)と他のPUアレイ構造につい
ても適用できる。
(6) PU間の同期 PUアレイ中の各PUに次の処理を実行させるた
めには、他のPUの現在の処理の結果が必要であ
る場合がある。そのような場合には、PUアレイ
中の各PUが次の処理を開始する前に、全てのPU
が現在の処理を終了している必要がある。従来の
同期制御回路は、第12図に示すように各PUが
1桁のフラグレジスタ67をもち、いつもは
“0”を設定しておき、同期化要求がある状態
(モード)では、各PUが現在の動作を終了したと
きにそれぞれ“1”を書き込むようにして、これ
らのフラグの一致をANDゲート68で検出し、
制御装置69は、ANDゲート68の出力が“1”
になつた後で各PUへ割り込みをかけて同期をと
るようにしていた。
しかし、プログラム中の複数箇所において、同
期をとる必要がある場合、各箇所ごとに同期をと
らなければならないが、第12図の方式ではこの
ような複数個の同期要求について各同期点を識別
することができないので、エラーにより異なる同
期点にあるPUに対しても同期制御を行なう可能
性がある。このような不都合が生じないようにす
るには、フラグレジスタの出力が“1”となつて
後、制御装置が各PUの同期要求が同種類のもの
であるかを調べる必要がある。これは、制御装置
が各PUを順次調べることにより行なわれるので、
システム全体の性能低下をきたす。
このため本発明の同期制御回路では、1桁のフ
ラグレジスタの代りに複数桁をもつ同期レジスタ
を設け、異なる同期点に対して別々の同期コード
を設定することにより識別可能にしている。
第13図はその概要図であり、70は同期レジ
スタ、71は一致検出回路を示す。
一致検出回路71は、各同期レジスタ70に書
き込まれた同期コードが一致したとき、一致した
ことと、同期コードとを制御装置69に通知す
る。制御装置69は各PUに再スタートを指示す
ることにより同期をとる。これにより、同期点が
複数個ある場合も、各同期点ごとに確実高速に同
期をとることができる。
また、一致した同期コードを制御装置に知らせ
ることにより、制御装置は単なる同期のみでな
く、PUの停止など他の制御を行なうことができ
る。
第14図は、同期制御回路の1実施例の構成図
であり、DMA要求を用いたPUの同期制御の例
を示す。図中、2は制御ユニツト、72はPU、
73はORゲート、74は同期要求フラグレジス
タSF、75は通信要求フラグレジスタCF、76
は同期レジスタSC、77は一致検出回路、78
はORおよびNORゲート、79はANDおよびOR
ゲート、80はタイマ、81および82はAND
ゲートである。次に回路の動作機能を説明する。
同期は、プログラム上の同期点まで実行を行
なつたPUが自分自身にHALT,WAITなどを
かけるハードウエアをセツトすることにより一
時実行を停止し、全PUがこの状態になつたこ
とを検出して一斉にPUに実行を再開させると
いう方法を用いて行なう。しかしHALT状態
の無いマイクロプロセツサを用いる場合は、
DMA要求によるPUの停止方法を用いる。同
期点まで実行を行なつたPUが自分自身に
HALT,WAITの代わりにDMAをかけるハー
ドウエアをセツトすることにより一時実行を停
止し、全PUがこの状態になつたことを検出し
て一斉にPUにDMA要求を解除することによ
り一斉に実行を開始させるという方法を用いて
行なう。
PUごとに同期点がずれていないことを確か
にする為に、PUは複数ビツトの同期コードを
同期レジスタSCに書き込み、全PUの同期コー
ドが一致した事を検出した後、HALT要求を
解除する。
同期によつては、一致を検出してもすぐに
HALTを解除せずに、制御ユニツト2に通知
する場合もあるので、その場合には通信要求フ
ラグレジスタCFを用いて制御ユニツトへの通
知要求を発生する。
HALT,WAITの代わりにDMA要求を用い
る場合、一般にDMAはデータ転送のために用
いられるので、同期のためのDMA要求をデー
タ転送のためのそれと区別する必要がある。そ
のためには、データ転送のためのDMAのフラ
グと同期のためのDMAのフラグ(同期要求フ
ラグレジスタSF)を互いに独立に設け、両者
の論理和(ORゲート73)により実際のPU
へのDMA要求が生じるようにする。
同期エラーの検出。同期要求が少なくとも一
つ有るにもかかわらず、各同期レジスタSCの
内容が不一致のまま一定時間が経過すれば、タ
イマ80がこれを検出して制御ユニツトに通知
する。この一定時間の設定、ENABLE/
DISABLEは制御ユニツトからソフトウエアで
行なう。
同期要求フラグレジスタSFは、同期レジスタ
SCへの書き込みによつてセツトされ、PU自身に
HALT(またはWAIT,DMA)要求を発生する。
そして同期をとるためのHALT解除によりリセ
ツトされる。特別にフリツプフロツプのようなフ
ラグのためのハードウエアを設けずに、同期レジ
スタSCのデフオールト(普段の値)をあらかじ
め決めておいて、その値以外になつたとき同期要
求があるものと解釈する回路によることもでき
る。
制御ユニツトへの通信要求フラグCFは、同期
レジスタSCへの書き込みによつてセツト/リセ
ツトされ、制御ユニツトへの通知要求を発生す
る。
同期レジスタSCはPUからのみ同期コードを書
き込まれる。
この同期回路では、全SFが1で、且つ、全SC
が一致し、且つ、CFが0のとき、全PUの同期用
HALT要求及びフラグを解除する。CFが1のと
き、制御ユニツトに割り込みをかける。
第15図は、同期をとるためにDMA要求とは
別のHALT,WAIT等の信号を用いることが可
能な場合にそれを用いた例で、同期要求フラグの
代わりに同期コードが普段の値で無い事を検出し
て同期制御を行なう方式である。図示の回路で
は、同期コードの普段の値として零を用いてお
り、そのため全てのPUの同期レジスタSCが同じ
非零の値をとつたとき同期制御を行なうようにす
る。図中の83は、全入力が同じ非零値であるこ
とを検出する一致検出回路である。
第15図の回路の動作を説明する。まず、プロ
グラムの実行が同期点に到達したPUが同期レジ
スタSCに零でない同期コードを書き込む。SCの
書き込みに連動して、PUにHALTがかかる。各
PUが次々に同期コードを書き込みそして停止し、
一般検出回路によりすべての同期コードが一致
し、且つそれが零でないことが検出されると、そ
の出力信号により全SCがクリアされる。さらに
それに連動してPUのHALTが解除され、全PU
が一斉に実行を再開する。
なお、第14図および第15図の回路では、同
期制御の条件の組み合わせを換えて用いることが
可能である。すなわち、同期要求フラグと
HALTその他を用いることも、同期コードの普
段の値とDMAを用いることもできる。またこれ
らや、第15図の回路に通信要求を付加すること
もできる。同期要求フラグ、WAIT信号を用い、
且つ同期コードの値がある範囲の場合に通信要求
を発生する回路の例を第16図に示す。
第16図において、84は全入力の一致とその
正、負を識別する一致検出回路である。次に第1
6図の回路の動作を説明する。まず、プログラム
の実行が同期点に到達したPUが同期レジスタSC
に同期コードを書き込む。このとき、通信の必要
のある同期点では負の同期コードを書き込み、そ
うでない同期点では正の同期コードを書き込む。
SCの書き込みに連動して同期要求フラグ(SF)
がセツトされ、PUにWAITがかかり、PUは停
止する。各PUが次々に同期コードを書き込み、
停止し、一致検出回路84によりすべての同期コ
ードが一致し、且つそれが正であることが検出さ
れると、その出力信号により全SFがクリアされ
る。それに連動しPUのWAITが解除され、全
PUが一斉に実行を再開する。同期コードが負で
あるときは、一致検出回路84により親コンピユ
ータの制御ユニツトに通信要求が伝えられる。
〔発明の効果〕
以上のように、本発明によれば、複合コンピユ
ータシステムにおける各要素コンピユータ間ある
いは周辺装置と要素コンピユータ間の通信時間が
短縮され、また同期制御を確実に行なうことが可
能となり、システム全体の性能を向上させること
ができる。
【図面の簡単な説明】
第1図は本発明による複合コンピユータシステ
ムの全体構成図、第2図はPUアレイ内の1つの
PUの細部構成図、第3図は通信メモリCMのア
ドレス空間の説明図、第4図はPUアレイに対す
るデータ転送の従来例を説明するための概要図、
第5図はデータ転送制御装置の1実施例構成図、
第6図はデータ転送制御装置の他の実施例の構成
図、第7図は1次元構造のPUアレイの1例を示
す図、第8図は8×8の2次元の行列データの説
明図、第9図は2×4の2次元構造のPUアレイ
の説明図、第10図イ,ロはそれぞれ第9図にお
けるPU(0),PU(1)内のデータ配列を示す説明
図、第11図はアドレス変換回路の1実施例の構
成図、第12図は従来の同期制御回路の1例を示
す図、第13図は本発明による同期制御回路の概
要図、第14図は同期制御回路の1実施例の構成
図、第15図および第16図はそれぞれ同期制御
回路の他の実施例の構成図である。 図中、1はPUアレイ、2は制御ユニツト、3
はホストコンピユータ、16はマイクロプロセツ
サMPU、20はローカルメモリLM、22aは
同期レジスタSC、23乃至26は通信メモリCM
を示す。

Claims (1)

    【特許請求の範囲】
  1. 1 複数のコンピユータを並列配置し、各隣接す
    る2つのコンピユータ同士の間で通信可能にした
    複合コンピユータシステムにおいて、各コンピユ
    ータにはローカルメモリを、そして各隣接する2
    つのコンピユータ間には通信メモリを設け、各コ
    ンピユータごとにローカルメモリおよび通信メモ
    リのそれぞれの少なくとも一部には共通のアドレ
    ス領域を設定し、各コンピユータは隣接コンピユ
    ータと通信を行なう際に上記共通アドレス領域を
    使用してローカルメモリおよび通信メモリの双方
    に同時に同一のデータを書き込むことを特徴とす
    る複合コンピユータシステム。
JP59006581A 1984-01-18 1984-01-18 複合コンピユ−タシステム Granted JPS60151776A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59006581A JPS60151776A (ja) 1984-01-18 1984-01-18 複合コンピユ−タシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59006581A JPS60151776A (ja) 1984-01-18 1984-01-18 複合コンピユ−タシステム

Publications (2)

Publication Number Publication Date
JPS60151776A JPS60151776A (ja) 1985-08-09
JPH02733B2 true JPH02733B2 (ja) 1990-01-09

Family

ID=11642290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59006581A Granted JPS60151776A (ja) 1984-01-18 1984-01-18 複合コンピユ−タシステム

Country Status (1)

Country Link
JP (1) JPS60151776A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4809169A (en) * 1986-04-23 1989-02-28 Advanced Micro Devices, Inc. Parallel, multiple coprocessor computer architecture having plural execution modes
US5339396A (en) * 1987-11-18 1994-08-16 Hitachi, Ltd. Interconnection network and crossbar switch for the same
JPH086777B2 (ja) * 1991-02-14 1996-01-29 東海ゴム工業株式会社 流体封入式マウント装置の製作方法
JP2579594Y2 (ja) * 1991-05-09 1998-08-27 鹿島建設株式会社 シェルター

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5755445A (en) * 1980-09-18 1982-04-02 Nippon Telegr & Teleph Corp <Ntt> Communication control processor
JPS58201166A (ja) * 1982-05-19 1983-11-22 Okuma Mach Works Ltd マルチプロセツサ方式

Also Published As

Publication number Publication date
JPS60151776A (ja) 1985-08-09

Similar Documents

Publication Publication Date Title
US4488227A (en) Program counter stacking method and apparatus for nested subroutines and interrupts
US4674032A (en) High-performance pipelined stack with over-write protection
US3909797A (en) Data processing system utilizing control store unit and push down stack for nested subroutines
US5197140A (en) Sliced addressing multi-processor and method of operation
US6070003A (en) System and method of memory access in apparatus having plural processors and plural memories
EP0605401B1 (en) Parallel computer system using a SIMD method
JPS62208158A (ja) マルチプロセツサシステム
EP0410435A2 (en) Simplified synchronous mesh processor
CA1264493A1 (en) Digital computer with parallel processors
EP0211614A2 (en) Loop control mechanism for a scientific processor
EP0172522B1 (en) Data processing machine suitable for high-speed processing
EP0147857A2 (en) Parallel data processing system
JPH0233191B2 (ja)
JPH03144783A (ja) 入出力システム
US4251859A (en) Data processing system with an enhanced pipeline control
US3340513A (en) Instruction and operand processing
US3706077A (en) Multiprocessor type information processing system with control table usage indicator
US3710349A (en) Data transferring circuit arrangement for transferring data between memories of a computer system
US3818460A (en) Extended main memory addressing apparatus
JP2008217061A (ja) Simd型マイクロプロセッサ
JPH02733B2 (ja)
US3354430A (en) Memory control matrix
US4945469A (en) High speed stack circuit for register data in a microcomputer
US5765012A (en) Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
RU2066067C1 (ru) Центральный процессор для многопроцессорной вычислительной системы

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term