JP2764867B2 - 他プロセッサからのデータ読出し制御方式 - Google Patents
他プロセッサからのデータ読出し制御方式Info
- Publication number
- JP2764867B2 JP2764867B2 JP3337229A JP33722991A JP2764867B2 JP 2764867 B2 JP2764867 B2 JP 2764867B2 JP 3337229 A JP3337229 A JP 3337229A JP 33722991 A JP33722991 A JP 33722991A JP 2764867 B2 JP2764867 B2 JP 2764867B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- processor
- header
- transfer
- 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 - Fee Related
Links
Landscapes
- Multi Processors (AREA)
Description
【0001】
【産業上の利用分野】本発明は並列計算機システムに係
り、さらに詳しくは複数のプロセッサがスイッチ回路等
によって接続されたマルチプロセッサシステムにおけ
る、他プロセッサからのデータ読出し制御方式に関す
る。
り、さらに詳しくは複数のプロセッサがスイッチ回路等
によって接続されたマルチプロセッサシステムにおけ
る、他プロセッサからのデータ読出し制御方式に関す
る。
【0002】
【従来の技術と発明が解決しようとする課題】従来マル
チプロセッサシステムにおいてプロセッサ間で通信を行
う場合には、通信時のデータ転送のキューイングはスー
パバイザプログラムによって管理されていた。そこで、
例えばプロセッサAが他のプロセッサBの記憶領域の内
容を読み出したい場合には、プロセッサAはプロセッサ
Bのスーパバイザプログラムに対して割込みを発生し、
プロセッサBのスーパバイザプログラムがプロセッサA
に送るデータ転送用のパケットを作成し、データの転送
指示を行っていた。
チプロセッサシステムにおいてプロセッサ間で通信を行
う場合には、通信時のデータ転送のキューイングはスー
パバイザプログラムによって管理されていた。そこで、
例えばプロセッサAが他のプロセッサBの記憶領域の内
容を読み出したい場合には、プロセッサAはプロセッサ
Bのスーパバイザプログラムに対して割込みを発生し、
プロセッサBのスーパバイザプログラムがプロセッサA
に送るデータ転送用のパケットを作成し、データの転送
指示を行っていた。
【0003】しかしながら、スーパバイザプログラムに
対する割込みを発生させるとスーパバイザプログラムに
よる割込みの解釈と処理が実行され、一般にデータ転送
開始までの時間が長くなるために、他のプロセッサから
のデータ読み出し回数が多くなるとスーパバイザプログ
ラムの実行時間、すなわちオーバヘッドが大きくなり、
マルチプロセッサシステムにおけるプロセッサ間通信の
性能が妨げられるという問題点があった。
対する割込みを発生させるとスーパバイザプログラムに
よる割込みの解釈と処理が実行され、一般にデータ転送
開始までの時間が長くなるために、他のプロセッサから
のデータ読み出し回数が多くなるとスーパバイザプログ
ラムの実行時間、すなわちオーバヘッドが大きくなり、
マルチプロセッサシステムにおけるプロセッサ間通信の
性能が妨げられるという問題点があった。
【0004】本発明はマルチプロセッサシステムにおけ
るプロセッサ間通信において、他のプロセッサのスーパ
バイザプログラムに対する割込みを伴わずに、そのプロ
セッサからのデータ読出しを実行することである。
るプロセッサ間通信において、他のプロセッサのスーパ
バイザプログラムに対する割込みを伴わずに、そのプロ
セッサからのデータ読出しを実行することである。
【0005】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図である。同図は複数のプロセッサがスイッチ回
路、例えばクロスバースイッチ網によって相互に接続さ
れたマルチプロセッサシステムにおける、他プロセッサ
からのデータ読出し制御方式の原理ブロック図である。
ック図である。同図は複数のプロセッサがスイッチ回
路、例えばクロスバースイッチ網によって相互に接続さ
れたマルチプロセッサシステムにおける、他プロセッサ
からのデータ読出し制御方式の原理ブロック図である。
【0006】図1において、読出し指示パケットヘッダ
記憶手段1は、他プロセッサからのデータ読出しを指示
するプロセッサ内で、データ読出しを指示する命令コー
ドが格納されたパケットヘッダを記憶する。この読出し
指示パケットヘッダ記憶手段1は、例えばヘッダキュー
であり、そのヘッダキューは例えば各ユーザプログラム
に対応してその領域が区分されている。
記憶手段1は、他プロセッサからのデータ読出しを指示
するプロセッサ内で、データ読出しを指示する命令コー
ドが格納されたパケットヘッダを記憶する。この読出し
指示パケットヘッダ記憶手段1は、例えばヘッダキュー
であり、そのヘッダキューは例えば各ユーザプログラム
に対応してその領域が区分されている。
【0007】読出し指示パケットデータ部記憶手段2
は、読出し指示パケットのデータ部としてデータが読出
されるべきプロセッサからデータ読出し指示プロセッサ
によって指定されるデータ転送宛先プロセッサ(データ
読出し指示プロセッサでも、また他のプロセッサでもよ
い)にデータ転送を行うためのパケットのヘッダを記憶
する。この読出し指示パケットデータ部記憶手段2は、
例えば読出し指示プロセッサの主記憶の中に設けられ
る。
は、読出し指示パケットのデータ部としてデータが読出
されるべきプロセッサからデータ読出し指示プロセッサ
によって指定されるデータ転送宛先プロセッサ(データ
読出し指示プロセッサでも、また他のプロセッサでもよ
い)にデータ転送を行うためのパケットのヘッダを記憶
する。この読出し指示パケットデータ部記憶手段2は、
例えば読出し指示プロセッサの主記憶の中に設けられ
る。
【0008】読出し指示パケット作成手段3は、読出し
指示パケットヘッダ記憶手段1と読出し指示パケットデ
ータ部記憶手段2との記憶内容を用いて読出し指示パケ
ットを作成し、スイッチ回路を介してデータが読出され
るべきプロセッサに送出する。ここで読出し指示パケッ
ト作成手段3は、読出し指示パケットヘッダ記憶手段1
を構成するヘッダキューに対するパケットヘッダの書込
みアドレスと読出しアドレスとの差によって、作成すべ
きパケットの存在を認識する。以上の3つの手段1〜3
はデータ読出し指示プロセッサの内部に備えられる。
指示パケットヘッダ記憶手段1と読出し指示パケットデ
ータ部記憶手段2との記憶内容を用いて読出し指示パケ
ットを作成し、スイッチ回路を介してデータが読出され
るべきプロセッサに送出する。ここで読出し指示パケッ
ト作成手段3は、読出し指示パケットヘッダ記憶手段1
を構成するヘッダキューに対するパケットヘッダの書込
みアドレスと読出しアドレスとの差によって、作成すべ
きパケットの存在を認識する。以上の3つの手段1〜3
はデータ読出し指示プロセッサの内部に備えられる。
【0009】図1においてデータ転送パケットヘッダ記
憶手段4は、スイッチ回路から読出し指示パケットを受
信したデータ転送先プロセッサ、すなわちデータが読出
されるべきプロセッサ内で、読出し指示パケットのデー
タ部、すなわちデータ転送宛先プロセッサにデータ転送
を行うためのパケットのヘッダを記憶する。この手段4
も、例えば主記憶の中にヘッダキューとして設けられ
る。
憶手段4は、スイッチ回路から読出し指示パケットを受
信したデータ転送先プロセッサ、すなわちデータが読出
されるべきプロセッサ内で、読出し指示パケットのデー
タ部、すなわちデータ転送宛先プロセッサにデータ転送
を行うためのパケットのヘッダを記憶する。この手段4
も、例えば主記憶の中にヘッダキューとして設けられ
る。
【0010】転送データ記憶手段5は、データ転送宛先
プロセッサに転送すべきデータを記憶するもので、これ
も例えば主記憶の中に所定の領域として設けられる。転
送パケット作成手段6は、データ転送パケットヘッダ記
憶手段4に記憶されている転送用のパケットヘッダと転
送データ記憶手段5に記憶されている転送すべきデータ
を用いてデータ転送パケットを作成し、スイッチ回路を
介してデータ転送宛先プロセッサに送出する。例えばデ
ータ転送宛先プロセッサのデータ受信部は、受信したデ
ータ転送パケットに格納されている転送データを、その
パケットのヘッダ部の内容に従って自プロセッサの主記
憶に格納する。
プロセッサに転送すべきデータを記憶するもので、これ
も例えば主記憶の中に所定の領域として設けられる。転
送パケット作成手段6は、データ転送パケットヘッダ記
憶手段4に記憶されている転送用のパケットヘッダと転
送データ記憶手段5に記憶されている転送すべきデータ
を用いてデータ転送パケットを作成し、スイッチ回路を
介してデータ転送宛先プロセッサに送出する。例えばデ
ータ転送宛先プロセッサのデータ受信部は、受信したデ
ータ転送パケットに格納されている転送データを、その
パケットのヘッダ部の内容に従って自プロセッサの主記
憶に格納する。
【0011】
【作用】本発明においては、マルチプロセッサシステム
を構成するプロセッサ間の通信においてデータが読出さ
れるべきプロセッサ、すなわちデータ転送元プロセッサ
から転送宛先プロセッサに対してデータ転送に用いられ
るパケットのヘッダが、データ読出しを指示するプロセ
ッサの、例えばコンパイラによって作成され、そのヘッ
ダがデータ読出し指示プロセッサからのデータ読出し指
示パケットのデータ部としてデータ転送元プロセッサに
送られる。
を構成するプロセッサ間の通信においてデータが読出さ
れるべきプロセッサ、すなわちデータ転送元プロセッサ
から転送宛先プロセッサに対してデータ転送に用いられ
るパケットのヘッダが、データ読出しを指示するプロセ
ッサの、例えばコンパイラによって作成され、そのヘッ
ダがデータ読出し指示プロセッサからのデータ読出し指
示パケットのデータ部としてデータ転送元プロセッサに
送られる。
【0012】読出し指示パケットを受け取ったデータ転
送元プロセッサは、読出し指示パケットのデータ部をデ
ータ転送パケットのヘッダとして用いて、そのヘッダに
指定されている転送データを主記憶から読出し、データ
転送パケットを作成して、データ転送宛先プロセッサ、
例えばデータ読出し指示プロセッサ、または第3のプロ
セッサに送出する。この時データ転送元プロセッサでは
受信したデータ読出し指示パケットのデータ部、すなわ
ちデータ転送パケットのヘッダがデータ転送パケットヘ
ッダ記憶手段4を構成するヘッダキューに格納された時
点で、そのヘッダキューへの書込みアドレスが歩進され
ることから、データ転送パケットの作成の必要を認識す
る。
送元プロセッサは、読出し指示パケットのデータ部をデ
ータ転送パケットのヘッダとして用いて、そのヘッダに
指定されている転送データを主記憶から読出し、データ
転送パケットを作成して、データ転送宛先プロセッサ、
例えばデータ読出し指示プロセッサ、または第3のプロ
セッサに送出する。この時データ転送元プロセッサでは
受信したデータ読出し指示パケットのデータ部、すなわ
ちデータ転送パケットのヘッダがデータ転送パケットヘ
ッダ記憶手段4を構成するヘッダキューに格納された時
点で、そのヘッダキューへの書込みアドレスが歩進され
ることから、データ転送パケットの作成の必要を認識す
る。
【0013】以上のように、本発明によればデータを読
出すべきプロセッサのスーパバイザプログラムに対する
割込みを行うことなく、他プロセッサからのデータ読出
しを行うことができる。
出すべきプロセッサのスーパバイザプログラムに対する
割込みを行うことなく、他プロセッサからのデータ読出
しを行うことができる。
【0014】
【実施例】図2は本発明のデータ読出し制御方式を用い
るマルチプロセッサシステムの全体構成ブロック図であ
る。同図において、複数のプロセッサ(処理装置)10
a、10b,10c,・・・がネットワーク11内のク
ロスバースイッチ網12によって相互に接続されてい
る。クロスバースイッチ網12はn本の入力、およびn
本の出力を持っており、例えばプロセッサAの出力Tか
ら他の任意のプロセッサBの入力Rへの接続を行って通
信を可能にするものであり、複数のプロセッサの出力T
と既に接続が決定しているプロセッサの入力Rと重複し
ない複数のプロセッサの入力Rとの間の接続を可能とす
るネットワークである。
るマルチプロセッサシステムの全体構成ブロック図であ
る。同図において、複数のプロセッサ(処理装置)10
a、10b,10c,・・・がネットワーク11内のク
ロスバースイッチ網12によって相互に接続されてい
る。クロスバースイッチ網12はn本の入力、およびn
本の出力を持っており、例えばプロセッサAの出力Tか
ら他の任意のプロセッサBの入力Rへの接続を行って通
信を可能にするものであり、複数のプロセッサの出力T
と既に接続が決定しているプロセッサの入力Rと重複し
ない複数のプロセッサの入力Rとの間の接続を可能とす
るネットワークである。
【0015】図3は図2の各プロセッサの構成図であ
る。同図において、プロセッサはデータ転送を行うため
の送信部15、他プロセッサからのデータを受信する受
信部16、後述するヘッダキューや転送データを格納す
るための主記憶17(MSU)、転送データの送受信に
あたり主記憶17へのアクセスを制御する記憶アクセス
制御部18、および全体の制御を行う中央処理装置(C
PU)19を備えている。
る。同図において、プロセッサはデータ転送を行うため
の送信部15、他プロセッサからのデータを受信する受
信部16、後述するヘッダキューや転送データを格納す
るための主記憶17(MSU)、転送データの送受信に
あたり主記憶17へのアクセスを制御する記憶アクセス
制御部18、および全体の制御を行う中央処理装置(C
PU)19を備えている。
【0016】図4はパケットヘッダの実施例のフォーマ
ットである。同図においてパケットヘッダは、例えば 1
28バイトであり、ワード0には受信プロセッサのアドレ
ス、ワード1には転送データ(ボディーデータ、読出し
指示パケットの場合にはヘッダ 128バイト)の量を示す
要素数、ワード2には発信プロセッサのアドレス、ワー
ド3には受信プロセッサ内部でマルチに処理が動いてい
る場合のプロセス識別子(PID)、ワード4には送信
データアクセスモード、受信データアクセスモード、お
よびフラグが格納されている。
ットである。同図においてパケットヘッダは、例えば 1
28バイトであり、ワード0には受信プロセッサのアドレ
ス、ワード1には転送データ(ボディーデータ、読出し
指示パケットの場合にはヘッダ 128バイト)の量を示す
要素数、ワード2には発信プロセッサのアドレス、ワー
ド3には受信プロセッサ内部でマルチに処理が動いてい
る場合のプロセス識別子(PID)、ワード4には送信
データアクセスモード、受信データアクセスモード、お
よびフラグが格納されている。
【0017】ここで送信/受信データアクセスモードの
内容は、データが連続データであるか、インダイレクト
アドレスを用いているか、または本発明で直接に関係す
るデータの返信要求であるかが示されている。またフラ
グの内容としては、受信プロセッサのアドレス変換指定
フラグ、送信アドレス変換指定フラグ、受信アドレス変
換指定フラグ、送信割込み指定フラグ、および受信割込
み指定フラグがある。
内容は、データが連続データであるか、インダイレクト
アドレスを用いているか、または本発明で直接に関係す
るデータの返信要求であるかが示されている。またフラ
グの内容としては、受信プロセッサのアドレス変換指定
フラグ、送信アドレス変換指定フラグ、受信アドレス変
換指定フラグ、送信割込み指定フラグ、および受信割込
み指定フラグがある。
【0018】ここで送信割込み指定フラグは、送信プロ
セッサにおいてパケットの全てのボディデータ(データ
部)をスイッチ回路に送出したときに割込みを発生させ
るためのフラグ、受信割込み指定フラグは受信プロセッ
サにおいてパケットの全てのボディデータをスイッチ回
路から受信し、主記憶(MSU)に格納したときに割込
みを発生させるためのフラグである。
セッサにおいてパケットの全てのボディデータ(データ
部)をスイッチ回路に送出したときに割込みを発生させ
るためのフラグ、受信割込み指定フラグは受信プロセッ
サにおいてパケットの全てのボディデータをスイッチ回
路から受信し、主記憶(MSU)に格納したときに割込
みを発生させるためのフラグである。
【0019】パケットヘッダのワード5は送信ベースア
ドレス、すなわちデータ転送の場合に送信プロセッサの
主記憶内部で転送データ格納領域の先頭を示すアドレ
ス、ワード6は受信プロセッサ内で転送データが格納さ
れるべき主記憶内領域の先頭を示す受信ベースアドレ
ス、ワード7は送信アクセス距離、ワード8は受信アク
セス距離である。ここで送信および受信アクセス距離は
主記憶内の連続(等間隔)データにおけるボディデータ
の要素間の間隔をバイト単位で指定するものである。ヘ
ッダの残りの部分、ワード9〜31はソフトウェア通信
領域として用いられる。
ドレス、すなわちデータ転送の場合に送信プロセッサの
主記憶内部で転送データ格納領域の先頭を示すアドレ
ス、ワード6は受信プロセッサ内で転送データが格納さ
れるべき主記憶内領域の先頭を示す受信ベースアドレ
ス、ワード7は送信アクセス距離、ワード8は受信アク
セス距離である。ここで送信および受信アクセス距離は
主記憶内の連続(等間隔)データにおけるボディデータ
の要素間の間隔をバイト単位で指定するものである。ヘ
ッダの残りの部分、ワード9〜31はソフトウェア通信
領域として用いられる。
【0020】なお、パケットヘッダのフォーマットは読
出し指示パケットとデータ転送パケットとで相違がな
く、同一のものである。図5は読出し指示パケットのデ
ータ部としてのボディデータの実施例である。同図はデ
ータが読出されるべきプロセッサ、すなわちデータ転送
元プロセッサからデータ転送宛先プロセッサ(これが読
出し指示プロセッサと同一のとき返信要求モードとい
う)に対してデータ転送用に用いられるパケットのヘッ
ダとなるものであり、そのフォーマットは図4と全く同
様である。そしてワード4の送信/受信データアクセス
モードの内容として、例えばデータ読出し指示プロセッ
サに対する読出しデータの返信要求が指示されることに
なる。
出し指示パケットとデータ転送パケットとで相違がな
く、同一のものである。図5は読出し指示パケットのデ
ータ部としてのボディデータの実施例である。同図はデ
ータが読出されるべきプロセッサ、すなわちデータ転送
元プロセッサからデータ転送宛先プロセッサ(これが読
出し指示プロセッサと同一のとき返信要求モードとい
う)に対してデータ転送用に用いられるパケットのヘッ
ダとなるものであり、そのフォーマットは図4と全く同
様である。そしてワード4の送信/受信データアクセス
モードの内容として、例えばデータ読出し指示プロセッ
サに対する読出しデータの返信要求が指示されることに
なる。
【0021】図6はデータ転送元プロセッサからデータ
転送宛先プロセッサへのデータ転送パケットのデータ
部、すなわちボディデータのフォーマットである。この
ボディデータは図5のワード1に格納されている転送デ
ータ要素数によって指定される量のデータからなってお
り、そのデータ量は例えば0バイトから32Mバイトの範
囲にある。
転送宛先プロセッサへのデータ転送パケットのデータ
部、すなわちボディデータのフォーマットである。この
ボディデータは図5のワード1に格納されている転送デ
ータ要素数によって指定される量のデータからなってお
り、そのデータ量は例えば0バイトから32Mバイトの範
囲にある。
【0022】図7はデータ転送部の実施例の構成ブロッ
ク図である。同図において左側のムーバコントロールブ
ロック21、ヘッダキュー22、およびボディデータ2
3はプロセッサの主記憶内部に格納される。
ク図である。同図において左側のムーバコントロールブ
ロック21、ヘッダキュー22、およびボディデータ2
3はプロセッサの主記憶内部に格納される。
【0023】ムーバコントロールブロック21は、プロ
グラムにそれぞれ対応して、ここでは6組設けられるヘ
ッダキュー22のそれぞれの先頭アドレス、すなわちヘ
ッダキューオリジン(HQO)、およびそのHQOの有
効/無効を示すVを格納するものである。ヘッダキュー
の種類としてはSVリプライ、SVトランスファ、ユー
ザ0リプライ、ユーザ1リプライ、ユーザ0トランスフ
ァ、およびユーザ1トランスファの6つがある。ここで
SVリプライは他のプロセッサのスーパバイザが発行し
た自プロセッサ内のデータの読出し要求のボディデータ
を格納し、またユーザnリプライは他のユーザ(コンパ
イラ)nが発行した自プロセッサ内のデータ読出し要求
のボディデータを格納するものであり、これらが本発明
に直接関係するものである。
グラムにそれぞれ対応して、ここでは6組設けられるヘ
ッダキュー22のそれぞれの先頭アドレス、すなわちヘ
ッダキューオリジン(HQO)、およびそのHQOの有
効/無効を示すVを格納するものである。ヘッダキュー
の種類としてはSVリプライ、SVトランスファ、ユー
ザ0リプライ、ユーザ1リプライ、ユーザ0トランスフ
ァ、およびユーザ1トランスファの6つがある。ここで
SVリプライは他のプロセッサのスーパバイザが発行し
た自プロセッサ内のデータの読出し要求のボディデータ
を格納し、またユーザnリプライは他のユーザ(コンパ
イラ)nが発行した自プロセッサ内のデータ読出し要求
のボディデータを格納するものであり、これらが本発明
に直接関係するものである。
【0024】これに対してSVトランスファは自プロセ
ッサのスーパバイザが発行した転送指示のパケットヘッ
ダを格納する領域に対応し、ユーザトランスファは自プ
ロセッサのユーザ(コンパイラ)nが発行した転送指示
のヘッダを格納する領域に対応する。
ッサのスーパバイザが発行した転送指示のパケットヘッ
ダを格納する領域に対応し、ユーザトランスファは自プ
ロセッサのユーザ(コンパイラ)nが発行した転送指示
のヘッダを格納する領域に対応する。
【0025】図7の右側でムーバコントロールブロック
アドレス(MCBA)指示部24は、ムーバコントロー
ルブロック21の先頭アドレスに0,8,16,24, 32、
または40バイトを加算器25によって加算することによ
って、ムーバコントロールブロック21に格納されてい
る各ヘッダキューに対するHQOのいずれかを選択す
る。すなわちムーバコントロールブロック21には6種
類のヘッダキューに対する先頭アドレスが格納されてお
り、その格納アドレスは8バイト毎になっているため
に、どのプログラムに対するデータ読出し、または転送
を先に行うかによって優先的に選択対象が決定される。
なお、ここでデータ読出し、または転送対象決定時には
後述するヘッダキューライトポインタ(HQWP)とヘ
ッダキューリードポインタ(HQRP)との差が0より
大きいようなヘッダキューを対象として選択される。
アドレス(MCBA)指示部24は、ムーバコントロー
ルブロック21の先頭アドレスに0,8,16,24, 32、
または40バイトを加算器25によって加算することによ
って、ムーバコントロールブロック21に格納されてい
る各ヘッダキューに対するHQOのいずれかを選択す
る。すなわちムーバコントロールブロック21には6種
類のヘッダキューに対する先頭アドレスが格納されてお
り、その格納アドレスは8バイト毎になっているため
に、どのプログラムに対するデータ読出し、または転送
を先に行うかによって優先的に選択対象が決定される。
なお、ここでデータ読出し、または転送対象決定時には
後述するヘッダキューライトポインタ(HQWP)とヘ
ッダキューリードポインタ(HQRP)との差が0より
大きいようなヘッダキューを対象として選択される。
【0026】データ転送の場合には、ムーバコントロー
ルブロック21内から選択されたプログラム対応のヘッ
ダキューの先頭アドレス(HQO)は、カレント転送ヘ
ッダキューオリジン(CTQO)としてCTQOの指示
部26に格納され、その内容はヘッダキューリードポイ
ンタ(HQRP)27と乗算器29との積、すなわちH
QRPの 128倍と加算器30によって加算される。
ルブロック21内から選択されたプログラム対応のヘッ
ダキューの先頭アドレス(HQO)は、カレント転送ヘ
ッダキューオリジン(CTQO)としてCTQOの指示
部26に格納され、その内容はヘッダキューリードポイ
ンタ(HQRP)27と乗算器29との積、すなわちH
QRPの 128倍と加算器30によって加算される。
【0027】なお、読出し要求のボディ(転送ヘッダ)
の格納アドレスは、ムーバコントロールブロック21内
から選択されたプログラム対応のヘッダキューの先頭ア
ドレス(HQO)がカレントリプライヘッダキューオリ
ジン(CRQO)に格納され、対応するヘッダキューラ
イトポインタ(HQWP)27と乗算器29の積、すな
わちHQWPの 128倍と加算器30によって加算されて
求められる。
の格納アドレスは、ムーバコントロールブロック21内
から選択されたプログラム対応のヘッダキューの先頭ア
ドレス(HQO)がカレントリプライヘッダキューオリ
ジン(CRQO)に格納され、対応するヘッダキューラ
イトポインタ(HQWP)27と乗算器29の積、すな
わちHQWPの 128倍と加算器30によって加算されて
求められる。
【0028】ここでヘッダキューリードポインタ(HQ
RP)27、およびヘッダキーライトポインタ(HQW
P)28は6種類のヘッダキュー22に対してそれぞれ
設けられており、それぞれのヘッダキューの先頭から見
て、次に読み出されるべきヘッダの位置、および次にヘ
ッダが書き込まれるべき位置を指示する。従ってHQW
PがHQRPより大きい時には、データ読出し、または
転送のために作成され、ヘッダキュー22に格納された
ヘッダがまだ読み出されていない、すなわちデータ読出
し、または転送に用いられていないことを示す。
RP)27、およびヘッダキーライトポインタ(HQW
P)28は6種類のヘッダキュー22に対してそれぞれ
設けられており、それぞれのヘッダキューの先頭から見
て、次に読み出されるべきヘッダの位置、および次にヘ
ッダが書き込まれるべき位置を指示する。従ってHQW
PがHQRPより大きい時には、データ読出し、または
転送のために作成され、ヘッダキュー22に格納された
ヘッダがまだ読み出されていない、すなわちデータ読出
し、または転送に用いられていないことを示す。
【0029】前述のように各ヘッダはその長さが 128バ
イトであり、HQRPに 128倍してCTQOと加算する
ことにより、次にデータ転送のために読み出すべきヘッ
ダが指示されることになる。
イトであり、HQRPに 128倍してCTQOと加算する
ことにより、次にデータ転送のために読み出すべきヘッ
ダが指示されることになる。
【0030】このアドレスとして仮想アドレスを用いて
いるプログラム、例えばユーザ0/1トランスファの場
合には、アドレス変換レジスタ(ATR)変換部31に
よってアドレス変換が行われた後にヘッダキュー22の
対応するアドレスが検索されるが、スーパバイザおよび
リプライの時にはアドレス変換は行われない。そしてヘ
ッダキュー22から読み出されたヘッダ33は図4に示
したフォーマットのものであり、このワード0に格納さ
れている受信プロセッサのアドレス(RCV.NETP
A)に対して、前述の受信プロセッサアドレス変換指定
フラグが1の時にはネットワークポートアドレス変換レ
ジスタ(NTR)変換部32によってアドレス変換が行
われる。受信プロセッサのプロセス識別子に対しても必
要に応じてアドレス変換が行われる。
いるプログラム、例えばユーザ0/1トランスファの場
合には、アドレス変換レジスタ(ATR)変換部31に
よってアドレス変換が行われた後にヘッダキュー22の
対応するアドレスが検索されるが、スーパバイザおよび
リプライの時にはアドレス変換は行われない。そしてヘ
ッダキュー22から読み出されたヘッダ33は図4に示
したフォーマットのものであり、このワード0に格納さ
れている受信プロセッサのアドレス(RCV.NETP
A)に対して、前述の受信プロセッサアドレス変換指定
フラグが1の時にはネットワークポートアドレス変換レ
ジスタ(NTR)変換部32によってアドレス変換が行
われる。受信プロセッサのプロセス識別子に対しても必
要に応じてアドレス変換が行われる。
【0031】パケットヘッダ33の内容によって、送信
アドレス発生部34によって転送すべきデータ、または
パケットヘッダの主記憶内でのアドレスが指示され、送
信変換フラグが1の時にはATR変換部35によってア
ドレス変換が行われた後に主記憶からボディデータ23
が取り出され、合成部36によってパケットヘッダ33
とボディデータ23とがパケットに組立てられてスイッ
チ回路網、すなわちネットワークに送出される。
アドレス発生部34によって転送すべきデータ、または
パケットヘッダの主記憶内でのアドレスが指示され、送
信変換フラグが1の時にはATR変換部35によってア
ドレス変換が行われた後に主記憶からボディデータ23
が取り出され、合成部36によってパケットヘッダ33
とボディデータ23とがパケットに組立てられてスイッ
チ回路網、すなわちネットワークに送出される。
【0032】図8はプロセッサ内のデータ受信部の実施
例の構成ブロック図である。説明の順序は逆となるが、
ここでは読み出されたデータがデータ転送元プロセッサ
からデータ転送宛先プロセッサ、例えばデータ読み出し
指示プロセッサに対してデータ転送パケットとして送ら
れた場合の、受信データの主記憶への格納についてまず
説明する。
例の構成ブロック図である。説明の順序は逆となるが、
ここでは読み出されたデータがデータ転送元プロセッサ
からデータ転送宛先プロセッサ、例えばデータ読み出し
指示プロセッサに対してデータ転送パケットとして送ら
れた場合の、受信データの主記憶への格納についてまず
説明する。
【0033】図8において、スイッチ回路からパケット
を受け取るとそのパケットのヘッダ40はレシーブバッ
ファ43に格納されるが、その格納アドレスとしてはレ
シーブバッファアドレスセレクタ(RBASEL)42
が指示するRBA0、またはRBA1のいずれかが選択
される。またパケットのボディデータ41は主記憶内に
ボディデータ46として格納されるが、その格納アドレ
スは受信アドレス発生部44によって受信パケットのヘ
ッダ40の内容により指示され、受信変換フラグが1の
時にはATR変換部45によってアドレス変換されて、
そのアドレスが指定される。
を受け取るとそのパケットのヘッダ40はレシーブバッ
ファ43に格納されるが、その格納アドレスとしてはレ
シーブバッファアドレスセレクタ(RBASEL)42
が指示するRBA0、またはRBA1のいずれかが選択
される。またパケットのボディデータ41は主記憶内に
ボディデータ46として格納されるが、その格納アドレ
スは受信アドレス発生部44によって受信パケットのヘ
ッダ40の内容により指示され、受信変換フラグが1の
時にはATR変換部45によってアドレス変換されて、
そのアドレスが指定される。
【0034】図9はデータ読出し指示プロセッサからの
読出し指示パケットを受け取った時、例えば返信要求モ
ードの場合のデータ受信部の動作の説明図である。この
動作を説明するために、図9には図7のデータ転送部の
一部が描かれている。
読出し指示パケットを受け取った時、例えば返信要求モ
ードの場合のデータ受信部の動作の説明図である。この
動作を説明するために、図9には図7のデータ転送部の
一部が描かれている。
【0035】読出し指示パケットのデータ部、すなわち
ボディデータはデータ転送元プロセッサから転送宛先プ
ロセッサに送られるデータ転送パケットのヘッダとして
用いられるために、データ転送元プロセッサのデータ転
送部内のヘッダキュー22に格納される。その格納アド
レスは、ムーバコントロールブロック21に格納されて
いるヘッダキューオリジン(HQO)を基にして、図6
におけると同様に決定される。ヘッダキュー22への格
納後にヘッダキューライトポインタ(HQWP)27の
値が歩進される。これによってデータ転送部はデータ転
送パケットの存在を認識することになる。
ボディデータはデータ転送元プロセッサから転送宛先プ
ロセッサに送られるデータ転送パケットのヘッダとして
用いられるために、データ転送元プロセッサのデータ転
送部内のヘッダキュー22に格納される。その格納アド
レスは、ムーバコントロールブロック21に格納されて
いるヘッダキューオリジン(HQO)を基にして、図6
におけると同様に決定される。ヘッダキュー22への格
納後にヘッダキューライトポインタ(HQWP)27の
値が歩進される。これによってデータ転送部はデータ転
送パケットの存在を認識することになる。
【0036】図10はヘッダキューに対するヘッダのキ
ューイング処理のフローチャートである。同図において
キューイング処理が開始されると、ステップ(S)50
でヘッダキューライトポインタHQWPとヘッダキュー
リードポインタHQRPとが読み出され、S51でHQ
WPの値がHQRPの値以上か否かが判定され、yes
のときにはS52、noの時にはS53の処理によって
ヘッダが格納される。
ューイング処理のフローチャートである。同図において
キューイング処理が開始されると、ステップ(S)50
でヘッダキューライトポインタHQWPとヘッダキュー
リードポインタHQRPとが読み出され、S51でHQ
WPの値がHQRPの値以上か否かが判定され、yes
のときにはS52、noの時にはS53の処理によって
ヘッダが格納される。
【0037】S52の処理は、例えば図7においてヘッ
ダがヘッダキューの最初の位置(アドレス)からアドレ
スn−1まで格納されてHQWPがnをポイントし、そ
のうちアドレスm−1までが読み出されてHQRPがm
をポイント(n≧m)している状態に対応する。このと
き、読み出されていない未処理のヘッダは(n−1)−
m+1=n−mとなる。
ダがヘッダキューの最初の位置(アドレス)からアドレ
スn−1まで格納されてHQWPがnをポイントし、そ
のうちアドレスm−1までが読み出されてHQRPがm
をポイント(n≧m)している状態に対応する。このと
き、読み出されていない未処理のヘッダは(n−1)−
m+1=n−mとなる。
【0038】ここで、図7のヘッダキューには2048個の
ヘッダキューを格納する領域が存在するが、本実施例に
おいてはHQWPとHQRPとが等しい場合に転送すべ
きヘッダが存在しないとする制御方式を用いているため
に、同時にヘッダキューに存在可能なヘッダ数は2047と
なる。例えば図7でHQWPとHQRPの初期値がとも
に0であり、ヘッダを転送することなく、順次格納して
いく場合を考える。まず、アドレス0にヘッダを格納す
るとHQWPは1となる。ヘッダ格納を続行して、アド
レス2046までは問題なくヘッダ格納が実行される。しか
し、アドレス2047にヘッダを格納すると、HQWPは0
に戻るために、アドレス0に格納されていたヘッダは存
在しないと見なされることになる。その結果同時に存在
可能なヘッダは2047となり、S52では2047−(n−
m)個までの範囲でヘッダが格納される。
ヘッダキューを格納する領域が存在するが、本実施例に
おいてはHQWPとHQRPとが等しい場合に転送すべ
きヘッダが存在しないとする制御方式を用いているため
に、同時にヘッダキューに存在可能なヘッダ数は2047と
なる。例えば図7でHQWPとHQRPの初期値がとも
に0であり、ヘッダを転送することなく、順次格納して
いく場合を考える。まず、アドレス0にヘッダを格納す
るとHQWPは1となる。ヘッダ格納を続行して、アド
レス2046までは問題なくヘッダ格納が実行される。しか
し、アドレス2047にヘッダを格納すると、HQWPは0
に戻るために、アドレス0に格納されていたヘッダは存
在しないと見なされることになる。その結果同時に存在
可能なヘッダは2047となり、S52では2047−(n−
m)個までの範囲でヘッダが格納される。
【0039】S53の処理はHQWPが2047に達した後
に、再び0から増加する状態に対応する。HQWPが
m、HQRPがn(n>m)とすると、アドレス0から
m−1までのm個と、nから2047までの(2047−n+
1)個の領域には未処理のヘッダが格納されており、格
納可能なヘッダ数は、 2047−m−(2047−n+1)=n−m−1 となり、この個数までの範囲でヘッダ格納が行われる。
に、再び0から増加する状態に対応する。HQWPが
m、HQRPがn(n>m)とすると、アドレス0から
m−1までのm個と、nから2047までの(2047−n+
1)個の領域には未処理のヘッダが格納されており、格
納可能なヘッダ数は、 2047−m−(2047−n+1)=n−m−1 となり、この個数までの範囲でヘッダ格納が行われる。
【0040】S52、またはS53の処理に続いて、S
54で格納されたヘッダ数が加算された値が新しいHQ
WPとされて処理を終了する。図11,12は転送デー
タの送信処理の実施例フローチャートである。なお、読
出し指示パケットの場合にも、ボディデータがパケット
ヘッダとなる以外は、処理は同様である。処理が開始さ
れると、まずステップ(S)60においてヘッダキュー
ライトポインタ(HQWP)とヘッダキューリードポイ
ンタ(HQRP)とが等しくないヘッダキューが存在す
るか否かが判定され、存在しない場合にはS60の処理
が繰り返される。存在する場合にはS61でそのような
ヘッダキューの中で優先度の高いものが選択され、S6
2で例えば選択されたヘッダキューが最も低い優先度に
なるように優先度が変更され、S63で選択されたヘッ
ダキューに対応するムーバコントロールブロック(MC
B)のエントリが読み出され、S64で選択されたヘッ
ダキューのヘッダキューオリジン(HQO)が有効か否
かが判定され、無効の場合にはS60からの処理が繰り
返される。
54で格納されたヘッダ数が加算された値が新しいHQ
WPとされて処理を終了する。図11,12は転送デー
タの送信処理の実施例フローチャートである。なお、読
出し指示パケットの場合にも、ボディデータがパケット
ヘッダとなる以外は、処理は同様である。処理が開始さ
れると、まずステップ(S)60においてヘッダキュー
ライトポインタ(HQWP)とヘッダキューリードポイ
ンタ(HQRP)とが等しくないヘッダキューが存在す
るか否かが判定され、存在しない場合にはS60の処理
が繰り返される。存在する場合にはS61でそのような
ヘッダキューの中で優先度の高いものが選択され、S6
2で例えば選択されたヘッダキューが最も低い優先度に
なるように優先度が変更され、S63で選択されたヘッ
ダキューに対応するムーバコントロールブロック(MC
B)のエントリが読み出され、S64で選択されたヘッ
ダキューのヘッダキューオリジン(HQO)が有効か否
かが判定され、無効の場合にはS60からの処理が繰り
返される。
【0041】HQOが有効な場合には、S65でその値
がカレント転送ヘッダキューオリジン(CTQO)とし
てセットされ、S66で転送すべきパケットのヘッダが
読み出され、ユーザ0/1トランスファの時はアドレス
変換が行われる。続いてS67でリードポインタ(HQ
RP)の値が歩進され、S68で受信プロセッサアドレ
ス変換が指定されている時にはアドレス変換が行われ、
再度ヘッダのワード0にセットされ、S69でネットワ
ークに対してヘッダの全ワードが送出される。
がカレント転送ヘッダキューオリジン(CTQO)とし
てセットされ、S66で転送すべきパケットのヘッダが
読み出され、ユーザ0/1トランスファの時はアドレス
変換が行われる。続いてS67でリードポインタ(HQ
RP)の値が歩進され、S68で受信プロセッサアドレ
ス変換が指定されている時にはアドレス変換が行われ、
再度ヘッダのワード0にセットされ、S69でネットワ
ークに対してヘッダの全ワードが送出される。
【0042】続いて図12のS70で送信要素数カウン
タの値が初期化され、S71で主記憶内の転送されるべ
きボディデータのアドレスが求められ、S72でアドレ
ス変換が指定されている時にはアドレス変換が行われ、
S73でボディデータが主記憶(MSU)から読み出さ
れ、S74でネットワークに対してボディデータが送出
され、S75で送信要素数カウンタの値が歩進され、S
76でネットワークに送信データ要素数のボディが全て
送出されたか否かが判定され、全て送出されるまでS7
1からの処理が繰り返される。
タの値が初期化され、S71で主記憶内の転送されるべ
きボディデータのアドレスが求められ、S72でアドレ
ス変換が指定されている時にはアドレス変換が行われ、
S73でボディデータが主記憶(MSU)から読み出さ
れ、S74でネットワークに対してボディデータが送出
され、S75で送信要素数カウンタの値が歩進され、S
76でネットワークに送信データ要素数のボディが全て
送出されたか否かが判定され、全て送出されるまでS7
1からの処理が繰り返される。
【0043】図13、14は読出し指示パケット、例え
ば読出し指示プロセッサへの返信要求パケットの受信処
理実施例のフローチャートである。同図において、受信
処理が開始されると、まずS80においてネットワーク
からパケットが到着したか否かが判定され、到着してい
ない場合にはS80の処理が繰り返される。到着した時
にはS81で到着したパケットのヘッダが受信部にセッ
トされ、S82で図9のレシーブバッファアドレスセレ
クタ42が指示するRBA0、またはRBA1によって
示されるアドレスにヘッダが格納され、S83で受信要
素数カウンタが初期化され、S84で格納対象のヘッダ
キューがオーバーフローするか否かが判定される。ここ
で返信要求パケットのデータ部、すなわちデータ転送用
パケットのヘッダを格納するヘッダキューに格納可能な
ヘッダの数は図7で示したように2048個であり、その個
数によって格納対象のヘッダキューがオーバーフローす
るか否かが判定される。
ば読出し指示プロセッサへの返信要求パケットの受信処
理実施例のフローチャートである。同図において、受信
処理が開始されると、まずS80においてネットワーク
からパケットが到着したか否かが判定され、到着してい
ない場合にはS80の処理が繰り返される。到着した時
にはS81で到着したパケットのヘッダが受信部にセッ
トされ、S82で図9のレシーブバッファアドレスセレ
クタ42が指示するRBA0、またはRBA1によって
示されるアドレスにヘッダが格納され、S83で受信要
素数カウンタが初期化され、S84で格納対象のヘッダ
キューがオーバーフローするか否かが判定される。ここ
で返信要求パケットのデータ部、すなわちデータ転送用
パケットのヘッダを格納するヘッダキューに格納可能な
ヘッダの数は図7で示したように2048個であり、その個
数によって格納対象のヘッダキューがオーバーフローす
るか否かが判定される。
【0044】S84でヘッダキューがオーバーフローし
ない場合には、S85で返信要求パケットのヘッダ、す
なわち応答パケットヘッダが格納されるヘッダキューに
対応するムーバコントロールブロックのエントリが読出
され、S86で選択されたヘッダキューのヘッダキュー
オリジン(HQO)が有効か否かが判定される。
ない場合には、S85で返信要求パケットのヘッダ、す
なわち応答パケットヘッダが格納されるヘッダキューに
対応するムーバコントロールブロックのエントリが読出
され、S86で選択されたヘッダキューのヘッダキュー
オリジン(HQO)が有効か否かが判定される。
【0045】HQOが有効の時には、S87でその値が
カレントリプライヘッダキューオリジン(CRQO)の
値としてセットされ、図14のS88でネットワークか
らボディデータ、すなわちデータ転送パケットのヘッダ
が受信され、S89でそのヘッダが格納されるヘッダキ
ューのアドレスが求められ、S90でボディデータがM
SUに格納され、S91で受信要素数カウンタが歩進さ
れ、S92でボディデータが 128バイト、すなわちヘッ
ダの長さだけ格納されたか否かが判定され、格納が終了
するまでS88からの処理が繰り返され、格納が終了す
るとS93で応答パケットヘッダが格納されたヘッダキ
ューのライトポインタが歩進されて処理を終了する。
カレントリプライヘッダキューオリジン(CRQO)の
値としてセットされ、図14のS88でネットワークか
らボディデータ、すなわちデータ転送パケットのヘッダ
が受信され、S89でそのヘッダが格納されるヘッダキ
ューのアドレスが求められ、S90でボディデータがM
SUに格納され、S91で受信要素数カウンタが歩進さ
れ、S92でボディデータが 128バイト、すなわちヘッ
ダの長さだけ格納されたか否かが判定され、格納が終了
するまでS88からの処理が繰り返され、格納が終了す
るとS93で応答パケットヘッダが格納されたヘッダキ
ューのライトポインタが歩進されて処理を終了する。
【0046】図13のS86で選択されたヘッダキュー
のHQOが無効の時には、S95でネットワークからボ
ディデータが受信され、S96でそのボディデータが廃
棄され、S97で受信要素数カウンタのカウント値が歩
進され、S98でボディデータが 128バイト廃棄された
と判定されるまでS95からの処理が繰り返され、 128
バイト廃棄された時点で処理を終了する。
のHQOが無効の時には、S95でネットワークからボ
ディデータが受信され、S96でそのボディデータが廃
棄され、S97で受信要素数カウンタのカウント値が歩
進され、S98でボディデータが 128バイト廃棄された
と判定されるまでS95からの処理が繰り返され、 128
バイト廃棄された時点で処理を終了する。
【0047】図13のS84で格納対象のヘッダキュー
がオーバーフローすると判定された時には、図9におい
てボディデータとしてのデータ転送パケットのヘッダは
レシーブバッファ43に格納される。このために図14
のS100でネットワークからボディデータが受信され
ると、S101でヘッダ格納に使用されたレシーブバッ
ファのアドレス、例えばRBA0が示すアドレスに 128
バイトが加算された値と受信要素数カウンタの値からボ
ディデータを格納するアドレスが求めら、S102でボ
ディデータが主記憶(MSU)に格納され、S103で
受信要素数カウンタの値が歩進され、S104でボディ
データを 128バイトだけ格納したか否かが判定され、格
納されていない場合にはS100から処理か繰り返さ
れ、格納されたと判定された時点でS105でオーバー
フロー割込み要求がセットされて処理を終了する。
がオーバーフローすると判定された時には、図9におい
てボディデータとしてのデータ転送パケットのヘッダは
レシーブバッファ43に格納される。このために図14
のS100でネットワークからボディデータが受信され
ると、S101でヘッダ格納に使用されたレシーブバッ
ファのアドレス、例えばRBA0が示すアドレスに 128
バイトが加算された値と受信要素数カウンタの値からボ
ディデータを格納するアドレスが求めら、S102でボ
ディデータが主記憶(MSU)に格納され、S103で
受信要素数カウンタの値が歩進され、S104でボディ
データを 128バイトだけ格納したか否かが判定され、格
納されていない場合にはS100から処理か繰り返さ
れ、格納されたと判定された時点でS105でオーバー
フロー割込み要求がセットされて処理を終了する。
【0048】図15は転送データの受信処理の実施例フ
ローチャートである。同図において処理が開始される
と、S110でネットワークからパケットが到着したか
否かが判定され、到着していない場合にはS110の処
理が繰り返される。到着した場合には、S111でパケ
ットヘッダが受信部にセットされ、S112でレシーブ
バッファ内のパケットの格納アドレスを示すRBA0、
またはRBA1によって指示される主記憶内の領域にヘ
ッダが格納され、S113で受信要素数カウンタの初期
化が行われる。
ローチャートである。同図において処理が開始される
と、S110でネットワークからパケットが到着したか
否かが判定され、到着していない場合にはS110の処
理が繰り返される。到着した場合には、S111でパケ
ットヘッダが受信部にセットされ、S112でレシーブ
バッファ内のパケットの格納アドレスを示すRBA0、
またはRBA1によって指示される主記憶内の領域にヘ
ッダが格納され、S113で受信要素数カウンタの初期
化が行われる。
【0049】続いてS114でネットワークからボディ
データが受信され、S115でヘッダの内容によってボ
ディデータを格納すべき主記憶内のアドレスが求めら
れ、S116で制御フラグとしてアドレス変換が指定さ
れている時にはアドレス変換が行われ、S117でボデ
ィデータが主記憶に格納され、S118で受信要素数カ
ウンタの値が歩進され、S119で主記憶に対して転送
データ要素数のボディデータが格納されたか否かが判定
され、まだ全てのデータが格納されていない場合にはS
114からの処理が格納が終了するまで続けられる。
データが受信され、S115でヘッダの内容によってボ
ディデータを格納すべき主記憶内のアドレスが求めら
れ、S116で制御フラグとしてアドレス変換が指定さ
れている時にはアドレス変換が行われ、S117でボデ
ィデータが主記憶に格納され、S118で受信要素数カ
ウンタの値が歩進され、S119で主記憶に対して転送
データ要素数のボディデータが格納されたか否かが判定
され、まだ全てのデータが格納されていない場合にはS
114からの処理が格納が終了するまで続けられる。
【0050】
【発明の効果】以上詳細に説明したように、本発明によ
ればマルチプロセッサシステムのプロセッサ間通信にお
いて、他プロセッサの記憶領域の内容を読み出す場合
に、そのプロセッサのスーパバイザプログラムに対する
割込みを伴わずにデータ読出しが実行されるために、ス
ーパバイザプログラムの割込み処理実行によるオーバヘ
ッドが解消され、データ読出しが高速となり、マルチプ
ロセッサシステムにおけるプロセッサ間通信の高速化に
寄与するところが大きい。
ればマルチプロセッサシステムのプロセッサ間通信にお
いて、他プロセッサの記憶領域の内容を読み出す場合
に、そのプロセッサのスーパバイザプログラムに対する
割込みを伴わずにデータ読出しが実行されるために、ス
ーパバイザプログラムの割込み処理実行によるオーバヘ
ッドが解消され、データ読出しが高速となり、マルチプ
ロセッサシステムにおけるプロセッサ間通信の高速化に
寄与するところが大きい。
【図1】本発明の原理ブロック図である。
【図2】本発明の他プロセッサからのデータ読出し制御
方式を用いるマルチプロセッサシステムの全体構成を示
すブロック図である。
方式を用いるマルチプロセッサシステムの全体構成を示
すブロック図である。
【図3】プロセッサの実施例の構成を示す図である。
【図4】パケットヘッダの実施例フォーマットを示す図
である。
である。
【図5】返信要求モードにおける読出し指示パケットの
データ部としてのボディデータの実施例フォーマットを
示す図である。
データ部としてのボディデータの実施例フォーマットを
示す図である。
【図6】データ転送パケットのデータ部としてのボディ
データの実施例フォーマットを示す図である。
データの実施例フォーマットを示す図である。
【図7】データ転送部の実施例の詳細構成を示すブロッ
ク図である。
ク図である。
【図8】データ受信部の実施例の詳細構成を示すブロッ
ク図である。
ク図である。
【図9】読出し指示(返信要求)パケットを受信した時
のデータ受信部の動作を説明する図である。
のデータ受信部の動作を説明する図である。
【図10】ヘッダキューに対するヘッダキューイング処
理実施例のフローチャートである。
理実施例のフローチャートである。
【図11】送信処理実施例のフローチャート(その1)
である。
である。
【図12】送信処理実施例のフローチャート(その2)
である。
である。
【図13】返信要求パケットの受信処理実施例のフロー
チャート(その1)である。
チャート(その1)である。
【図14】返信要求パケットの受信処理実施例のフロー
チャート(その2)である。
チャート(その2)である。
【図15】転送データの受信処理実施例のフローチャー
トである。
トである。
1 読出し指示パケットヘッダ記憶手段 2 読出し指示パケットデータ部記憶手段 3 読出し指示パケット作成手段 4 データ転送パケットヘッダ記憶手段 5 転送データ記憶手段 6 転送パケット作成手段 10a,10b,10c プロセッサ 11 ネットワーク 12 クロスバースイッチ網 21 ムーバコントロールブロック 22 ヘッダキュー 27 ヘッダキューリードポインタ(HQRP) 28 ヘッダキューライトポインタ(HQWP) 42 レシーブバッファアドレスセレクタ(RBAS
EL) 43 レシーブバッファ
EL) 43 レシーブバッファ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 出羽 正実 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 杉浦 信行 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭62−60043(JP,A) 特開 平3−132131(JP,A) 特開 平3−255749(JP,A)
Claims (5)
- 【請求項1】 複数のプロセッサがスイッチ回路によっ
て相互に接続されたマルチプロセッサシステムにおい
て、 該マルチプロセッサシステム内で他プロセッサからのデ
ータ読出しを指示するプロセッサが、データ読出しを指
示する命令コードが格納されたパケットヘッダを記憶す
る読出し指示パケットヘッダ記憶手段(1)と、 該読出し指示パケットのデータ部として、データが読出
されるべきプロセッサからデータ読出し指示プロセッサ
によって指定されるデータ転送宛先プロセッサにデータ
転送を行うためのパケットのヘッダを記憶する読出し指
示パケットデータ部記憶手段(2)と、 該読出し指示パケットヘッダ部記憶手段(1)と読出し
指示パケットデータ部記憶手段(2)との記憶内容を用
いて、読出し指示パケットを作成してスイッチ回路に送
出する読出し指示パケット作成手段(3)とを備え、 該スイッチ回路から該読出し指示パケットを受信するデ
ータ転送元プロセッサが、該読出し指示パケットのデー
タ部を格納するデータ転送パケットヘッダ記憶手段
(4)と、 データ転送宛先プロセッサに転送すべきデータを記憶す
る転送データ記憶手段(5)と、 該データ転送パケットヘッダ記憶手段(4)と転送デー
タ記憶手段(5)との記憶内容を用いて、データ転送パ
ケットを作成して該スイッチ回路を介してデータ転送宛
先プロセッサに送出する転送パケット作成手段(6)と
を備え、データ転送元プロセッサにおけるスーパバイザ
への割り込みによるオーバヘッドを解消することを特徴
とする他プロセッサからのデータ読出し制御方式。 - 【請求項2】 前記読出し指示パケット作成手段
(3)、または転送パケット作成手段(6)が、前記読
出し指示パケットヘッダ記憶手段(1)、またはデータ
転送パケットヘッダ記憶手段(4)を構成するヘッダキ
ューに対するパケットヘッダの書込みアドレスと読出し
アドレスとの差によって作成すべきパケットの存在を認
識することを特徴とする請求項1記載の他プロセッサか
らのデータ読出し制御方式。 - 【請求項3】 前記データ転送宛先プロセッサが、デー
タ転送元プロセッサから受信したデータ転送パケットに
格納されている転送データを、該パケットのヘッダ部の
内容に従って自プロセッサの主記憶に格納するデータ受
信部を備えたことを特徴とする請求項1記載の他プロセ
ッサからのデータ読出し制御方式。 - 【請求項4】 前記データ転送パケットのヘッダ部が該
パケットの受信プロセッサが、転送データ量、送信プロ
セッサにおけるメモリアクセス属性、受信プロセッサに
おけるメモリアクセス属性を指定し、該パケットのデー
タ部が該ヘッダ部の指定する転送データ量のデータを含
むことを特徴とする請求項3記載の他プロセッサからの
データ読出し制御方式。 - 【請求項5】 前記データ読出し指示プロセッサのコン
パイラが、他プロセッサからのデータ読出しの必要が生
じた時に、前記読出し指示パケットのヘッダ部およびデ
ータ部を作成し、前記読出し指示パケットヘッダ記憶手
段(1)および読出し指示パケットデータ部記憶手段
(2)に格納することを特徴とする請求項1記載の他プ
ロセッサからのデータ読出し制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3337229A JP2764867B2 (ja) | 1991-12-19 | 1991-12-19 | 他プロセッサからのデータ読出し制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3337229A JP2764867B2 (ja) | 1991-12-19 | 1991-12-19 | 他プロセッサからのデータ読出し制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05173992A JPH05173992A (ja) | 1993-07-13 |
JP2764867B2 true JP2764867B2 (ja) | 1998-06-11 |
Family
ID=18306660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3337229A Expired - Fee Related JP2764867B2 (ja) | 1991-12-19 | 1991-12-19 | 他プロセッサからのデータ読出し制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2764867B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6260043A (ja) * | 1985-09-10 | 1987-03-16 | Matsushita Electric Ind Co Ltd | 通信制御装置 |
GB8915135D0 (en) * | 1989-06-30 | 1989-08-23 | Inmos Ltd | Message routing |
JPH03255749A (ja) * | 1990-03-06 | 1991-11-14 | Nec Corp | 通信制御装置のデータ転送方式 |
-
1991
- 1991-12-19 JP JP3337229A patent/JP2764867B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05173992A (ja) | 1993-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5652911A (en) | Multinode distributed data processing system for use in a surface vehicle | |
US5630059A (en) | Expedited message transfer in a multi-nodal data processing system | |
Gibbons et al. | The Queue-Read Queue-Write PRAM model: Accounting for contention in parallel algorithms | |
US5446915A (en) | Parallel processing system virtual connection method and apparatus with protection and flow control | |
JP2977688B2 (ja) | マルチプロセッシング装置、方法、及びこれらに使用するプロセッサ | |
JP3473975B2 (ja) | ネットワークシステムおよびネットワークにおける通信方法 | |
JP3544390B2 (ja) | 並列計算機で用いられるメッセージ通信方法 | |
JPH04232561A (ja) | 多重並列コンピュータ・システム | |
US6070182A (en) | Data processor having integrated boolean and adder logic for accelerating storage and networking applications | |
JPH1196127A (ja) | 第1のコンピュータと第2のコンピュータとの間で遠隔ディスク読取り操作を実施する方法と装置 | |
JPH06309252A (ja) | 相互接続インタフェース | |
JP2534229B2 (ja) | マルチプロセス・コンピュ―タ装置における分散デ―タ処理方法 | |
EP0459774B1 (en) | File access system in distributed data processing system | |
JP2764867B2 (ja) | 他プロセッサからのデータ読出し制御方式 | |
US20070079077A1 (en) | System, method, and computer program product for shared memory queue | |
JP2736237B2 (ja) | 遠隔メモリアクセス制御装置 | |
JP3181344B2 (ja) | マルチプロセッサシステム | |
EP0578496B1 (en) | Job execution method in multi-CPU system | |
JPH1185546A (ja) | 異種os上プロセス間通信方法 | |
JPS62212763A (ja) | 計算機ネツトワ−クにおけるジヨブ実行方式 | |
JP3058010B2 (ja) | プロセッサ間通信方法及び装置 | |
Whitcroft et al. | The CBIC: Architectural support for message passing | |
Buzzard | High performance communications for hypercube multiprocessors | |
US5875299A (en) | disk access apparatus for performing a stride processing of data | |
JP3641837B2 (ja) | 分散メモリ型並列計算機のデータ転送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19980310 |
|
LAPS | Cancellation because of no payment of annual fees |