(57)【特許請求の範囲】
【請求項１】
それぞれが命令プロセッサと主記憶装置とネットワークインターフェース部とを具備する複数の要素プロセッサと、該複数の要素プロセッサを接続するネットワークを有し、該複数の要素プロセッサが具備する主記憶装置には一意のグローバルアドレスを持つ空間の分割された領域がそれぞれ割り当てられた並列計算機において、前記要素プロセッサ間でデータ転送を行うデータ転送方法であって、
前記複数の要素プロセッサの任意の一つに備えた命令プロセッサは、転送すべきデータの転送元グローバルアドレスと転送先グローバルアドレスと転送データ量を指定して自プロセッサ要素のネットワークインターフェース部に伝達し、
伝達を受けたネットワークインターフェース部では、
前記指定された転送元グローバルアドレスが、自要素プロセッサが具備する主記憶装置に割り当てられた領域内か否かを判定し、
前記指定された転送元グローバルアドレスが、自要素プロセッサが具備する主記憶装置に割り当てられた領域内であれば、該転送元グローバルアドレスと前記指定された転送データ量に基づき自要素プロセッサの主記憶装置から転送すべきデータを読み出し、前記指定された転送先グローバルアドレスと読み出したデータとを少なくとも含み且つデータを転送するメッセージであることを示す情報を付したデータメッセージを作成して前記転送先グローバルアドレスを含む領域が割り当てられた主記憶装置を具備する要素プロセッサに向けて前記ネットワークを介して送信し、
前記指定された転送元グローバルアドレスが、自要素プロセッサが具備する主記憶装置に割り当てられた領域内でなければ、前記指定された転送元グローバルアドレスと指定された転送先グローバルアドレスと指定された転送データ量の情報とを少なくとも含み且つデータ転送を要求するメッセージであることを示す情報を付した転送要求メッセージを作成し、該指定された転送元グローバルアドレスを含む領域が割り当てられた主記憶装置を具備する要素プロセッサに向けて前記ネットワークを介して送信することを特徴とするデータ転送方法。
【請求項２】
前記グローバルアドレスの所定上位ビットは該所定上位ビットで特定される領域が割り当てられた主記憶装置を具備する要素プロセッサの番号を示し、前記指定された転送元グローバルアドレスが自要素プロセッサが具備する主記憶装置に割り当てられた領域内か否かの判定は、該指定された転送元グローバルアドレスの前記所定上位ビットが自要素プロセッサの番号と一致するか否かにより判定することを特徴とする請求項１記載のデータ転送方法。
【請求項３】
前記転送要求メッセージを受信した要素プロセッサのネットワークインターフェース部では、該転送要求メッセージに含まれる転送元グローバルアドレスとデータ量を示す情報に基づき自要素プロセッサが具備する主記憶装置から転送すべきデータを読み出し、該転送要求メッセージに含まれる転送先グローバルアドレスと読み出したデータとを少なくとも含み且つデータを転送するメッセージであることを示す情報を付したデータメッセージを作成して該転送先グローバルアドレスを含む領域が割り当てられた主記憶装置を具備する要素プロセッサに向けて前記ネットワークを介して送信することを特徴とする請求項１記載のデータ転送方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、分散メモリ型並列計算機におけるデータ転送方法、それを実現する分散メモリ型並列計算機および要素プロセッサに関し、特に、並列計算機を構成する任意の要素プロセッサが、自らを含めて任意の２つの（送信側と受信側）要素プロセッサが具備する主記憶装置間でデータの送受信を可能とするデータ転送方法、それを実現する分散メモリ型並列計算機および要素プロセッサに関する。
【０００２】
【従来の技術】
近年の高度な情報化社会において、情報処理装置に対する処理量の増大、処理速度の高速化などが強く要求され、その要求に答えるために複数の演算プロセッサを連携して構成した並列計算機が開発された。ある並列計算機は、数台の演算プロセッサを有し、その数台の演算プロセッサで１つのメモリを共有して用いる形で構成された。この種の並列計算機はＴＣＭＰ（Ｔｉｇｈｔｌｙ  Ｃｏｕｐｌｅｄ  Ｍｕｌｔｉ−Ｐｒｏｃｅｓｓｏｒ）型の並列計算機と呼ばれている。一方でＴＣＭＰ型よりもより多くの演算プロセッサ、具体的には数百台から数千台の演算プロセッサを有する並列計算機も登場した。この並列計算機は、ハードウェア上の実現の難易度の観点から、全演算プロセッサで１つのメモリを共有するような方式をとらずに、それぞれの演算プロセッサが独立してメモリを有する方式をとったため、分散メモリ型の並列計算機と呼ばれている。
分散メモリ型の並列計算機はＴＣＭＰ型の並列計算機に比べて高性能を達成できる。しかし、分散メモリ型の並列計算機は、メモリが複数の演算プロセッサに分散されて設けられるため、単一演算プロセッサと単一メモリを想定した従来プログラミングスタイルに基づくプログラムの移植性やプログラミングの容易性などに問題点があるとの指摘も存在した。そこで、最近では、米国Ｓｔａｎｆｏｒｄ大学の研究に代表されるような分散メモリ型の並列計算機に対して、各演算プロセッサが互いに他の演算プロセッサが有するメモリを参照できるようにする分散共有メモリ方式を導入する傾向が高くなっている。
【０００３】
分散共有メモリを実現するためには、他の演算プロセッサが有するメモリをいかにして参照させるかという課題が存在する。この課題はアドレッシングによって解決する。具体的には、自らのアドレス空間に他の演算プロセッサが有するメモリをマッピングする。これによって実現されるアドレス空間を以降グローバルアドレス空間と呼ぶ。図６は、グローバルアドレス空間の例である。グローバルアドレス空間６０１は、並列計算機を構成する要素プロセッサの台数分に分割される。分割された領域６０３、６０５、・・・６０７はそれぞれ異なる要素プロセッサ用に割り当てられる。そして、それぞれの領域６０３、６０５、・・・６０７の中の領域６０２、６０４、・・・６０６に対して、該当する要素プロセッサが具備する主記憶装置がマップされる。
例えば、ＩＢＭが実験的に試作した並列計算機であるＲＰ３では、１９８５年のＩｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｐａｒａｌｌｅｌ  Ｐｒｏｃｅｓｓｉｎｇの予稿集７８２ページから７８９ページの予稿である”ＲＰ３  Ｐｒｏｃｅｓｓｏｒ−Ｍｅｍｏｒｙ  Ｅｌｅｍｅｎｔ”および特公平５−２０７７６号に開示されているとおり、図１３に示す形態のアドレスを用いて他の演算プロセッサが有するメモリを参照する。図１３のアドレスでは、参照すべきメモリを有する演算プロセッサをプロセッサ番号フィールド１３０１で指定し、そのメモリ内のアドレスをオフセットフィールド１３０２で指定している。
【０００４】
【発明が解決しようとする課題】
上述した従来の分散共有メモリ方式では、ある演算プロセッサが他の演算プロセッサが有するメモリを参照する場合に、自プロセッサが有するメモリを参照する時と同様なロード／ストア命令を用いていた。すなわち、分散共有メモリ方式を並列計算機を構成する要素プロセッサ間のデータ転送インタフェースとして捉えるならば、従来の分散共有メモリ実現方式では、ワード単位の小粒度のデータ転送しか実現し得なかった。
例えば、データベース処理にこの並列計算機を適用することを考えると、大規模なデータベースの（メモリ間）コピーが発生した場合に、多量のワード単位データ転送を行わなければならないため、オーバヘッドが大きくなり性能的に問題が大きい。
また、このインタフェースでは、データ転送を起動するプロセッサ自身が必ずデータ転送元あるいはデータ転送先のどちらかになる必要がある。すなわち、このインタフェースは、２方向のみのインタフェースである。
これに対し、分散メモリ型の並列計算機が基本的にサポートしているメッセージ・パッシング・インタフェースは、数ワードから数百、数千のワードを一度に転送できるインタフェースである。しかし、従来のメッセージ・パッシング・インタフェースでは、明示的にデータの送信先のプロセッサ番号を指定する必要があった。また、送信するデータは、自プロセッサの有するメモリ内に存在しなければならなかった。すなわち、従来のメッセージ・パッシング・インタフェースは、自プロセッサから他プロセッサへの一方向のインタフェースであった。
本発明の目的は、データ群の帰属先プロセッサを意識せず、かつ、可変量のデータ群を対象とし、しかも、任意要素プロセッサ間に対して任意要素プロセッサが起動可能なデータ転送方法、それを実現する分散メモリ型並列計算機および要素プロセッサを提供することにある。
【０００５】
【課題を解決するための手段】
上記課題を解決するために、本発明は、従来のメッセージ・パッシング・インタフェースに基づくデータ転送方式に、分散共有メモリ方式で実現するグローバルアドレス空間の考え方を導入したものである。
具体的には、図５に示すように、送信するデータ群の送信元プロセッサ（この場合、自プロセッサ）での先頭アドレス（ｓｒｃ−ａｄｒ）、送信先のプロセッサ番号（ｄｓｔ−ＰＵ＃）、送信先でのデータ群の書き込みメモリ領域の先頭アドレス（ｄｓｔ−ａｄｒ）、データ転送量（ｌｅｎｇｔｈ）、および、送受信対象データのメモリ領域における存在間隔（ｓｔｒｉｄｅ）の主に５つのパラメータで表現される従来のメッセージ・パッシング・インタフェースを変更し、図３に示すように、送信するデータ群の先頭グローバルアドレス（ｓｒｃ−ａｄｒ）、転送データ群の書き込み先の先頭グローバルアドレス（ｄｓｔ−ａｄｒ）、データ転送量（ｌｅｎｇｔｈ）、および、送受信対象データのメモリ領域における存在間隔（ｓｔｒｉｄｅ）という４つのパラメータで表現されるインタフェースを定義する。本インタフェースは、分散メモリ型の並列計算機において、該並列計算機を構成する要素プロセッサの各々に所属する主記憶装置を全てグローバルアドレス空間によって参照して、任意のグローバルアドレス領域から他の任意のグローバルアドレス領域へのメモリ領域間データコピーを実現するインタフェースである。本発明は、このようなインタフェースを用いてコピー態様でデータ転送を実現することを特徴としている。
【０００６】
【作用】
本発明は、上記手段によって、分散メモリ型の並列計算機において、データ転送をメモリ領域間データコピーの概念で実現できる。したがって、グローバルアドレス空間参照に際しても、ワード単位から数百、数千ワード以上のデータ群を一度に対象とできる。
また、データ転送という観点からは、データ転送起動者がデータまたはデータ群の帰属先プロセッサを意識する必要がなくなる。この特徴は、上記手段を適用する並列計算機向けのプログラムの記述容易性を高める効果がある。
さらに、上記手段によって実現されるデータ転送方法では、任意要素プロセッサ間（任意主記憶装置間）のデータ転送が可能であり、また、データ転送起動者を、データ転送元あるいはデータ転送先のいずれとも規定しない。すなわち、要素プロセッサＢから要素プロセッサＣへのデータ転送を要素プロセッサＢでも要素プロセッサＣでもない要素プロセッサＡが指示できる。これは、一方向のみのインタフェースであった従来のメッセージ・パッシング・インタフェースや、せいぜい２方向であった従来の分散共有メモリ方式に基づくデータ転送インタフェースを凌駕する多方向のインタフェースであり、この特徴がプログラムの記述容易性を高める効果も大きい。特にこの特徴はサーバ・クライアント・モデルのプログラム記述にとって効果が大きいと考えられる。
【０００７】
【実施例】
本発明の実施例を図を用いて詳細に説明する。
図２は、分散メモリ型の並列計算機を構成する要素プロセッサの一実施例である。同図において、要素プロセッサ２０１は、プログラム処理を行う命令プロセッサ２０２、命令プロセッサ２０２に接続され、命令プロセッサ２０２から出されるコマンド／アドレス／データの組に従って、後述する主記憶装置２０７、Ｉ／Ｏデバイス２０５およびネットワークインタフェース２０８内部などへのアクセスを発行するメモリアクセスインタフェース２０３、Ｉ／Ｏインタフェース２０４、メモリ制御ユニット２０６、他の要素プロセッサ（２０１と同様な構成を有する）と要素プロセッサ間結合網（ネットワーク）を介してパケットおよびデータの受渡しを行うネットワークインタフェース２０８、Ｉ／Ｏインタフェース２０４に接続されるＩ／Ｏデバイス２０５、メモリ制御ユニット２０６に接続される主記憶装置２０７、および、メモリアクセスインタフェース２０３、Ｉ／Ｏインタフェース２０４、メモリ制御ユニット２０６およびネットワークインタフェース２０８を接続するバス２０９などから構成される。
本発明は、データ転送を実現するデータ転送機構の根幹であるネットワークインタフェース２０８に関するものである。
【０００８】
次に、本発明で定義するデータ転送インタフェースについて説明する。
図３は、本発明で定義するデータ転送インタフェースをＣ言語などのプログラミング言語を使って関数の形で表現したものである。該インタフェースを適用する並列計算機向きのプログラム中でデータ転送を表現する場合には、実際に図３に準ずる形で記述される。
図３の第１パラメータ“ｓｒｃ−ａｄｒ”は、転送する一連のデータ群の先頭グローバルアドレスである。また、第２パラメータ“ｄｓｔ−ａｄｒ”は、転送データ群の書き込み先の先頭グローバルアドレスである。第３パラメータ“ｌｅｎｇｔｈ”は、転送データ量であり、第４パラメータ“ｓｔｒｉｄｅ”は、転送対象データのメモリ領域における存在間隔である。図１４に示すとおり、“ｓｔｒｉｄｅ”は、例えば、転送順で連続する転送対象データがアドレス順で隣り合うときに１、アドレス順で１つおきのとき２（以下同様）となる。
【０００９】
本発明で定義するデータ転送インタフェースでは、図３に示した４つのパラメータのうち、最低限第１、第２、第３の３つのパラメータを指定する必要がある（ｓｔｒｉｄｅは１に固定することで省略可能である。逆に、本データ転送方法を拡張すれば他にもパラメータを設定可能である）。
図３は、“ｓｒｃ−ａｄｒ”というグローバルアドレスから始まる“ｌｅｎｇｔｈ”×“ｓｔｒｉｄｅ”個分のデータ領域から、データを“ｌｅｎｇｔｈ”個だけ“ｓｔｒｉｄｅ”間隔で読出した後、読み出した全データを、“ｄｓｔ−ａｄｒ”というグローバルアドレスから始まる“ｌｅｎｇｔｈ”×“ｓｔｒｉｄｅ”個分のデータ領域へ“ｓｔｒｉｄｅ”間隔に“ｌｅｎｇｔｈ”個だけ書き込むという操作を表現している。すなわち、このインタフェースを用いて実現するのはデータ転送というよりは、むしろ、任意のグローバルアドレス領域から他の任意のグローバルアドレス領域へのメモリ領域間データコピーとみなすことができる。
なお、上記でグローバルアドレスと表現しているのは、図６に例示するようなグローバルアドレス空間上のアドレスであり、例えば、図１３のような形式をとる。図１３のアドレスは、参照すべきメモリを有する要素プロセッサをプロセッサ番号フィールド１３０１で指定し、そのメモリ内のアドレスをオフセットフィールド１３０２で指定している。また、図６のグローバルアドレス空間６０１は、要素プロセッサの台数分に分割されており、分割された領域６０３、６０５、・・・６０７はそれぞれ異なる要素プロセッサ用に割り当てられている。そして、それぞれの領域６０３、６０５、・・・６０７の中の領域６０２、６０４、・・・６０６に対して、該当する要素プロセッサが具備する主記憶がマップされている。
【００１０】
次に、図１を用いて本発明に基づくネットワークインタフェース２０８の構成および各部動作を詳細に説明する。なお、前もって、図１の信号線Ｌ１５、Ｌ１６、Ｌ１７について誤解のないように説明しておく。それぞれの信号線は紙面の都合上いくつかのレジスタを表現する四角の下側あるいは裏側を走っているイメージで書き入れている。信号線Ｌ１５は、送信元アドレスレジスタ１１７の下を通ってメッセージ送出部１０３の入力信号となっている。信号線Ｌ１６は、送信先アドレスレジスタ１１８および送信元アドレスレジスタ１１７の下を通ってメッセージ送出部１０３の入力信号となっている。信号線Ｌ１７は、送信データ長レジスタ１１９、送信先アドレスレジスタ１１８および送信元アドレスレジスタ１１７の下を通ってメッセージ送出部１０３の入力信号となっている。
図１におけるネットワークインタフェース２０８とバス２０９、ネットワークの接続関係は先に図２の説明で述べたとおりである。
【００１１】
ネットワークインタフェース２０８は、大きく分けてメッセージ送信部、メッセージ受信部、主記憶アクセス部およびバスインタフェース部１０１の４つの部分から構成される。
メッセージ送信部は、メッセージ送出部１０３、送信元アドレスレジスタ１１７、送信先アドレスレジスタ１１８、送信データ長レジスタ１１９、送信ストライド幅レジスタ１２０、書き込み制御部１２１、セレクタ１２３、セレクタ１２４、自要素プロセッサからの要求とネットワークを介したデータ転送要求（ヘッダ解析部から）を調停する要求調停部１２２、アドレス加算部１１６、比較器１０４、自ＰＵ番号レジスタ１０５（ＰＵは要素プロセッサの略称）などからなる。
メッセージ受信部は、メッセージ受取部１０６、ヘッダ解析部１０７およびアドレス加算部１１２などから構成される。
主記憶アクセス部は、主記憶読出し部１２５および主記憶書き込み部１２８から構成される。
バスインタフェース部１０１は、バス２０９に接続され、命令プロセッサ２０２からメモリアクセスインタフェース２０３を通し、さらにバス２０９を介して伝えられる以下の３種の要求を受取り、必要な処理をする。
（１）メッセージ送出部１０３へのメッセージ送信開始指令信号Ｌ１の伝達。
（２）要求調停部１２２へのメッセージ送信要求信号Ｌ１３の伝達。
（３）送信元アドレスレジスタ１１７、送信先アドレスレジスタ１１８、送信データ長レジスタ１１９、送信ストライド幅レジスタ１２０への値の書き込み。
さらに、バスインタフェース部１０１は、要求調停部１２２の調停結果を逆にバス２０９を介して、メモリアクセスインタフェース２０３を通し、命令プロセッサ２０２に伝える。また、バスインタフェース部１０１は、ネットワークインタフェース２０８内の主記憶読出し部１２５および主記憶書き込み部１２８からの主記憶アクセスを実現する。
【００１２】
メッセージ送信部内の送信元アドレスレジスタ１１７、送信先アドレスレジスタ１１８、送信データ長レジスタ１１９、送信ストライド幅レジスタ１２０は、それぞれ図３に示した４つのパラメータである“ｓｒｃ−ａｄｒ”すなわち転送する一連のデータ群の先頭グローバルアドレス、“ｄｓｔ−ａｄｒ”すなわち転送データ群の書き込み先の先頭グローバルアドレス、“ｌｅｎｇｔｈ”すなわち転送データ量、“ｓｔｒｉｄｅ”すなわち転送対象データのメモリ領域における存在間隔を格納するためのレジスタである。
送信元アドレスレジスタ１１７および送信先アドレスレジスタ１１８には、図１３に例示するような形式をとるグローバルアドレスが格納されるため、図７に示す形のレジスタ７０１を用いる。レジスタ７０１は、図１３におけるプロセッサ番号フィールド１３０１およびオフセットフィールド１３０２を格納するために、それぞれＰＵ番号フィールド７０２およびＰＵ内アドレスフィールド７０３を有する。
【００１３】
メッセージ送信部からは、送信元アドレスレジスタ１１７の内容に応じて要求メッセージ送信とデータメッセージ送信の２種類のメッセージ送信が発生しうる。送信元アドレスレジスタ１１７のＰＵ番号フィールドの内容を伝える信号線Ｌ２５の値と自ＰＵ番号レジスタ１０５の値を比較器１０４で比較した結果、値が等しければデータメッセージ送信が発生する。逆に、比較器１０４での比較の結果、値が異なれば、送信元アドレスレジスタ１１７のＰＵ番号フィールドの内容が示す要素プロセッサに対してデータ転送を要求する要求メッセージ送信が発生する。
要求メッセージとデータメッセージのそれぞれに対しては、図９、図１０に示す別個のメッセージヘッダ９０１および１００１が定義されている。
【００１４】
要求メッセージに対する図９のメッセージヘッダ９０１には、メッセージ種類９０２、送信元ＰＵ番号９０３、送信元アドレス９０４、送信先アドレス９０５、送信データ長９０６、送信ストライド幅９０７などの情報が含まれている。メッセージ種類９０２は、要求メッセージ／データメッセージの別を示す情報（１ビットで可）であり、この場合要求メッセージを示す。送信元ＰＵ番号９０３は、信号線Ｌ１４を介してメッセージ送出部１０３に伝えられる送信元アドレスレジスタ１１７のＰＵ番号フィールドの内容であり、すなわち、転送すべきデータが格納されている主記憶装置を有する要素プロセッサの番号である。送信元ＰＵ番号９０３は、この要求メッセージ自身の送信先要素プロセッサの番号でもある。送信元アドレス９０４、送信先アドレス９０５、送信データ長９０６、送信ストライド幅９０７は、それぞれ信号線Ｌ１４、Ｌ１５、Ｌ１６、Ｌ１７を介してメッセージ送出部１０３に伝えられる送信元アドレスレジスタ１１７、送信先アドレスレジスタ１１８、送信データ長レジスタ１１９、送信ストライド幅レジスタ１２０の内容である。
【００１５】
データメッセージに対する図１０のメッセージヘッダ１００１には、メッセージ種類９０２、送信先ＰＵ番号１００３、送信先アドレス９０５、送信データ長９０６、送信ストライド幅９０７などの情報が含まれている。メッセージ種類９０２は、前述のとおり要求メッセージ／データメッセージの別を示す情報であり、この場合データメッセージを示す。送信先ＰＵ番号１００３は、信号線Ｌ１５を介してメッセージ送出部１０３に伝えられる送信先アドレスレジスタ１１８のＰＵ番号フィールドの内容であり、すなわち、転送するデータを書き込むべき主記憶装置を有する要素プロセッサの番号である。送信先ＰＵ番号１００３は、このデータメッセージ自身の送信先要素プロセッサの番号でもある。送信先アドレス９０５、送信データ長９０６、送信ストライド幅９０７は、それぞれ信号線Ｌ１５、Ｌ１６、Ｌ１７を介してメッセージ送出部１０３に伝えられる送信先アドレスレジスタ１１８、送信データ長レジスタ１１９、送信ストライド幅レジスタ１２０の内容である。
【００１６】
メッセージ送出部１０３は、信号線Ｌ８を介して伝えられる比較器１０４での比較結果にしたがって、信号線Ｌ１４、Ｌ１５、Ｌ１６、Ｌ１７を介して伝えられる情報をもとに、上述のような要求メッセージ用およびデータメッセージ用のメッセージヘッダの作り分けを行い、そのメッセージヘッダを信号線Ｌ４を介してネットワークへ送出することで、要求メッセージおよびデータメッセージの種別分けを行う。さらに、その送信がデータメッセージ送信であった場合には、メッセージヘッダの送信に続いて転送データの送出を行う。データメッセージパケットを図１５に示す。
転送データの送出は、メッセージ送出部１０３が信号線Ｌ６を介して主記憶読出し部１２５に主記憶読出し要求を伝えて実現する。主記憶読出し部１２５は、バスインタフェース部１０１を介して主記憶読出しを行い、読み出したデータを信号線Ｌ３６を介して順次メッセージ送出部１０３に転送する。なお、メッセージ送出部１０３に転送する場合には、信号線Ｌ７を用いて有効信号も転送する。なお、有効信号とは、そのマシンサイクルにおいて、信号線Ｌ上に有効な読みだしデータがのっていることを示す信号である。メッセージ送出部１０３では、読出しデータを信号線Ｌ４を介して逐次ネットワークに送出する。送出したデータ数はメッセージ送出部１０３でカウントされ、そのカウント値が信号線Ｌ１６を介して伝えられる送信データ長と等しくなれば転送データの送出を完了し、これをもってメッセージ送出を完了する。
一方、送出したメッセージヘッダが要求メッセージ用であった場合には、メッセージヘッダの送出を完了し次第、メッセージ送出を完了する。
【００１７】
なお、メッセージ送出部１０３が上述のような動作を開始するためには、信号線Ｌ３を介してメッセージ送出開始信号が伝えられる必要がある。信号線Ｌ３は、信号線Ｌ１と信号線Ｌ２のＯＲ信号である。信号線Ｌ１は、前述したとおり命令プロセッサ２０２がメッセージ送出開始を要求した結果真値が伝えられる信号線であり、信号線Ｌ２は、メッセージ受信部内のヘッダ解析部１０７がメッセージ送出開始を要求して真値を伝える信号線である。また、メッセージ送出部１０３は、メッセージ送出を完了すると、その状態を信号線Ｌ４１を介して要求調停部１２２に伝える。命令プロセッサ２０２およびヘッダ解析部１０７がメッセージ送出開始を要求するためには、それぞれがまず要求調停部１２２に対して、メッセージ送出要求を伝える必要がある。命令プロセッサ２０２の要求は前述したとおり信号線Ｌ１３で伝えられ、ヘッダ解析部１０７の要求は信号線Ｌ１１で伝えられる。要求調停部１２２は、これらの要求を受けて何等かの形で優先度制御を行った後、メッセージ送出が完了している状態のときに、要求を認める側を示す信号を信号線Ｌ１２にのせる。信号線Ｌ１２の内容を見た命令プロセッサ２０２およびヘッダ解析部１０７は、その内容が自身を示していれば、前述のメッセージ送出開始を要求する。
【００１８】
メッセージ送信部が要求メッセージ送信とデータメッセージ送信の２種類のメッセージ送信を行うため、メッセージ受信部のメッセージ受取部１０６には、２種類のメッセージが到着しうる。概略的に述べると、メッセージ受信部は、要求メッセージが到着した場合には、同じネットワークインタフェース２０８内のメッセージ送信部に依頼して、要求されたデータ転送を開始する。また、データメッセージが到着した場合には、主記憶書き込み部１２８に依頼して主記憶装置への転送データの書き込みを行う。
メッセージが到着すると、メッセージ受取部１０６は、そのメッセージが伝える最初の情報であるメッセージヘッダ内のメッセージ種類９０２によってメッセージの種類を判別する。メッセージ種類が要求メッセージであった場合には、メッセージヘッダ９０１内のメッセージ種類９０２、送信元アドレス９０４、送信先アドレス９０５、送信データ長９０６、送信ストライド幅９０７の各情報を信号線Ｌ９を介してヘッダ解析部１０７内のヘッダレジスタ１０８に格納してメッセージ受信を完了する。
一方、メッセージ種類がデータメッセージであった場合には、メッセージヘッダ１００１内のメッセージ種類９０２、送信先アドレス９０５、送信データ長９０６、送信ストライド幅９０７の各情報を信号線Ｌ９を介してヘッダ解析部１０７内のヘッダレジスタ１０８に格納し、さらに後続する転送データを信号線Ｌ１０を介して主記憶書き込み部１２８に伝える。
【００１９】
メッセージ種類がデータメッセージであった場合、ヘッダ解析部１０７は、ヘッダレジスタ１０８内の送信先アドレスおよび送信ストライド幅をそれぞれ信号線Ｌ３１およびＬ３２を介してアドレス加算部１１２に伝え、送信データ長を、信号線Ｌ３５を介して主記憶書き込み部１２８内のカウンタ１２９に初期値として伝える。さらに、信号線Ｌ３３を介して主記憶書き込み部１２８に対して主記憶書き込みを要求する。要求を受けた主記憶書き込み部１２８は、アドレス加算部１１２が信号線Ｌ３４を介して与えるアドレスと、メッセージ受取部１０６から信号線Ｌ１０を介して伝えられ、主記憶書き込み部１２８内のレジスタ１３０にセットされるデータを持って主記憶アクセスを行い、これをカウンタ１２９に初期値として与えられた回数だけ繰り返す。メッセージ受取部１０６が送信データ長分の転送データを全て受取り、主記憶書き込み部１２８内のレジスタ１３０に最後のデータを書き込んだ時点で、メッセージ受取部１０６はメッセージ受信を完了し、メッセージ受取部１０６およびヘッダ解析部１０７は、受信したデータメッセージに対する処理を完了する。
【００２０】
一方、メッセージ種類が要求メッセージであった場合、ヘッダ解析部１０７は、前述のとおり、要求調停部１２２に対して信号線Ｌ１１を用いてメッセージ送出要求を伝え、然るべき後に要求調停部１２２から信号線Ｌ１２を介して要求を認める信号を受け取る。ヘッダ解析部１０７は、メッセージ送出要求が認められると、送信元アドレスレジスタ１１７、送信先アドレスレジスタ１１８、送信データ長レジスタ１１９および送信ストライド幅レジスタ１２０を順次選択し、各々のレジスタを指定するレジスタ選択信号を信号線Ｌ２２を介してセレクタ１２３に順次伝え、その都度各々のレジスタに書き込むべき値を、ヘッダレジスタ１０８の該当する領域から選択し、その値を順次信号線Ｌ２４でセレクタ１２４に伝える。送信元アドレスレジスタ１１７、送信先アドレスレジスタ１１８、送信データ長レジスタ１１９および送信ストライド幅レジスタ１２０の全てのレジスタへの値の設定が終了すると、ヘッダ解析部１０７は、メッセージ送出部１０３に対して信号線Ｌ２を介してメッセージ送出開始信号を伝達し、メッセージ送出を開始させる。ヘッダ解析部１０７は、メッセージ送出開始信号をメッセージ送出部１０３に伝達した時点で、受信した要求メッセージに対する処理を完了する。
【００２１】
ネットワークインタフェース２０８内のメッセージ送信部に対する処理依頼は、受信した要求メッセージに対するヘッダ解析部１０７の処理手順で説明したとおりの以下の手順で行われる。
（１）要求調停部１２２へのメッセージ送出要求伝達。
（２）要求調停部１２２からのメッセージ送出承認。
（３）送信元アドレスレジスタ１１７、送信先アドレスレジスタ１１８、送信データ長レジスタ１１９および送信ストライド幅レジスタ１２０へのメッセージ送信に係わるパラメータ値の設定。
（４）メッセージ送出部１０３へのメッセージ送出開始信号の伝達。
メッセージ送信部に対して処理を依頼する主体は、命令プロセッサ２０２およびヘッダ解析部１０７である。ヘッダ解析部１０７の処理依頼に係わる全動作については既に述べたとおりであり、命令プロセッサ２０２の処理依頼に係わる動作についても、（１）、（２）、（４）については既述した。命令プロセッサ２０２の（３）に係わる動作は、基本的にヘッダ解析部１０７の動作と同様であり、レジスタを指定するレジスタ選択信号を、（既に説明を加えたアクセスパスを介して最終的に）信号線Ｌ２１を介してセレクタ１２３に順次伝え、その都度各々のレジスタに書き込むべき値を、順次信号線Ｌ２３でセレクタ１２４に伝える。
なお、命令プロセッサ２０２からの処理依頼に対しては、結果として要求メッセージ送出とデータメッセージ送出の２種類が発行されうるが、ヘッダ解析部１０７からの処理依頼に対しては、結果としてデータメッセージ送出しか発行されえない。
【００２２】
送信元アドレスレジスタ１１７、送信先アドレスレジスタ１１８、送信データ長レジスタ１１９および送信ストライド幅レジスタ１２０への値の書き込みは、書き込み制御部１２１とセレクタ１２３およびセレクタ１２４を用いて実現する。
セレクタ１２３とセレクタ１２４は組となって機能し、セレクタ１２３が送信元アドレスレジスタ１１７、送信先アドレスレジスタ１１８、送信データ長レジスタ１１９および送信ストライド幅レジスタ１２０のいずれかを指定するレジスタ指定信号を信号線Ｌ１９を介して書き込み制御部１２１に伝達し、セレクタ１２４が信号線Ｌ１９で指定されるレジスタに書き込むべき値を信号線Ｌ２０を介して書き込み制御部１２１に伝達する。
信号線Ｌ１９の値は、信号線Ｌ２１および信号線Ｌ２２のうちのいずれかであり、信号線Ｌ２０の値は、信号線Ｌ２３および信号線Ｌ２４のうちのいずれかである。どちらを選択するかは、信号線Ｌ１２の値によって、すなわち、要求調停部１２２が命令プロセッサ２０２あるいはヘッダ解析部１０７のどちらに対してメッセージ送出承認を行っているかで定まる。要求調停部１２２が命令プロセッサ２０２に対してメッセージ送出承認を行っている場合には、信号線Ｌ２１の値と信号線Ｌ２３の値がそれぞれ信号線Ｌ１９の値と信号線Ｌ２０の値になる。要求調停部１２２がヘッダ解析部１０７に対してメッセージ送出承認を行っている場合には、信号線Ｌ２２の値と信号線Ｌ２４の値がそれぞれ信号線Ｌ１９の値と信号線Ｌ２０の値になる。
書き込み制御部１２１は、信号線Ｌ１９を介して伝わるレジスタ指定信号に基づいて送信元アドレスレジスタ１１７、送信先アドレスレジスタ１１８、送信データ長レジスタ１１９および送信ストライド幅レジスタ１２０のいずれかを選択し、その選択に対応して各々のレジスタに対応して設けられている書き込みパスＬ１８ａ、Ｌ１８ｂ、Ｌ１８ｃおよびＬ１８ｄのいずれかを有効にし、その有効になった書き込みパス上に信号線Ｌ２０を介して伝わる書き込み値をのせる。結果として、信号線Ｌ１９の値が指定するレジスタに信号線Ｌ２０の値が書き込まれる。
【００２３】
次に、先に概略的に述べた主記憶アクセス部の動作をさらに詳細に説明する。主記憶読出し部１２５は、データメッセージ送出時にメッセージ送出部１０３から信号線Ｌ６を介して伝わる起動信号（主記憶読出し要求）によって起動される。主記憶読出し部１２５は内部にカウンタ１２６およびデータ用レジスタ１２７を有する。カウンタ１２６には、主記憶読出し部１２５の起動時に信号線Ｌ２６を介して伝えられるその時点での送信データ長レジスタ１１９に格納されている値が初期値として設定される。以降、主記憶読出し部１２５が主記憶読出し要求を発行する度にカウンタ１２６の値は１づつ減じられる。主記憶読出し部１２５は、起動されてから以降、カウンタ１２６の値が０となるまで主記憶読出し要求の発行を繰り返す。カウンタ１２６の値が０となると、そのデータメッセージ送出に係わる主記憶読出し要求の発行は完了する。主記憶読出し要求の発行時、主記憶読出し部１２５は、主記憶アクセスコマンド線であるＬ３７に読出しコマンドを伝え、同時に主記憶読出しアドレス線Ｌ２８で読出しアドレスを伝える。なお、主記憶読出しアドレス線Ｌ２８はアドレス加算部１１６から伝えられる信号である。
【００２４】
アドレス加算部１１６は、内部に加算器１１５、セレクタ１１４、アドレス用レジスタ１１３を有する。加算器１１５は、アドレス用レジスタ１１３の値に、（（信号線Ｌ２７を介して伝えられる送信ストライド幅レジスタの値）×（送信単位データのバイトサイズ））の値を加えてその結果を信号線Ｌ２９に出力する。セレクタ１１４は、信号線Ｌ２９の値と信号線Ｌ１４を介して伝わる送信元アドレスレジスタ１１７の値のうちどちらかを選択し、その値をアドレス用レジスタ１１３にセットする。ただし、セレクタ１１４が信号線Ｌ１４の値を選択するのは、信号線Ｌ６によって主記憶読出し起動信号が伝わる時だけである。それ以外の場合は、信号線Ｌ２９の値を選択する。これによって、アドレス用レジスタ１１３の値を信号線Ｌ２８を介して主記憶読出しアドレスとして供給するアドレス加算部１１６は、主記憶読出し起動時にその回のデータメッセージ送出に係わる転送元データ領域の先頭アドレスを供給し、以降、その値にストライドを反映させた値を供給することができる。
主記憶読出しデータ線Ｌ３８を介して伝わる主記憶装置からの読出しデータは、逐次データ用レジスタ１２７で受け、信号線Ｌ３６を介してメッセージ送出部１０３に伝えられる。
【００２５】
一方、主記憶書き込み部１２８は、データメッセージ受信時にヘッダ解析部１０７から信号線Ｌ３３を介して伝わる起動信号（主記憶書き込み要求）によって起動される。主記憶書き込み部１２８は内部にカウンタ１２９およびデータ用レジスタ１３０を有する。カウンタ１２９には、主記憶書き込み部１２８の起動時に信号線Ｌ３５を介してヘッダ解析部１０７内のヘッダレジスタ１０８の該当領域から伝えられる送信データ長値が初期値として設定される。以降、主記憶書き込み部１２８が主記憶書き込み要求を発行する度にカウンタ１２９の値は１づつ減じられる。主記憶書き込み部１２８は、起動されてから以降、カウンタ１２９の値が０となるまで主記憶書き込み要求の発行を繰り返す。カウンタ１２９の値が０となると、そのデータメッセージ受信に係わる主記憶書き込みは完了する。主記憶書き込み要求の発行時、主記憶書き込み部１２８は、主記憶アクセスコマンド線であるＬ３９に書き込みコマンドを伝え、同時に主記憶読出しアドレス線Ｌ３４で書き込みアドレスを伝え、主記憶書き込みデータ線Ｌ４０を介して、メッセージ受取部１０６から信号線Ｌ１０を介してセットされているデータ用レジスタ１３０の値を伝える。なお、主記憶読出しアドレス線Ｌ３４はアドレス加算部１１２から伝えられる信号である。
【００２６】
アドレス加算部１１２は、アドレス加算部１１６と同様に、内部に加算器１１１、セレクタ１１０、アドレス用レジスタ１０９を有する。加算器は、アドレス用レジスタ１０９の値に、（（信号線Ｌ３２を介してヘッダ解析部１０７内のヘッダレジスタ１０８の該当領域から伝えられる送信ストライド幅値）×（送信単位データのバイトサイズ））の値を加えてその結果を信号線Ｌ３０に出力する。セレクタ１１０は、信号線Ｌ３０の値と信号線Ｌ３１を介してヘッダ解析部１０７内のヘッダレジスタ１０８の該当領域から伝わる送信先（書き込み先）アドレス値のうちどちらかを選択し、その値をアドレス用レジスタ１０９にセットする。ただし、セレクタ１１０が信号線Ｌ３１の値を選択するのは、信号線Ｌ３３によって主記憶書き込み起動信号が伝わる時だけである。それ以外の場合は、信号線Ｌ３０の値を選択する。これによって、アドレス用レジスタ１０９の値を信号線Ｌ３４を介して主記憶書き込みアドレスとして供給するアドレス加算部１１２は、主記憶書き込み起動時にその回のデータメッセージ受信に係わる転送先（書き込み先）データ領域の先頭アドレスを供給し、以降、その値にストライドを反映させた値を供給することができる。
【００２７】
以上で図１に示した本発明に基づくネットワークインタフェース２０８の構成および各部動作の説明を終了する。次に、本発明に係わるデータ転送方法に基づくデータ転送の処理の流れを説明する。
データ転送要求は、命令プロセッサ２０２から発行される。命令プロセッサ２０２は、ネットワークインタフェース２０８内の要求調停部１２２に対してデータ転送要求を発行し、要求調停部１２２からの許可を待つ。この時要求調停部１２２には、同じネットワークインタフェース２０８内のメッセージ受信部側（具体的には、ヘッダ解析部１０７）からもデータメッセージ送出要求が届いている場合があり、その場合には優先度制御の結果メッセージ受信部側に許可がおりる場合もある。
命令プロセッサ２０２は、要求調停部１２２からの許可を得ると、データ転送のためのパラメータである“ｓｒｃ−ａｄｒ”すなわち転送する一連のデータ群の先頭グローバルアドレス、“ｄｓｔ−ａｄｒ”すなわち転送データ群の書き込み先の先頭グローバルアドレス、“ｌｅｎｇｔｈ”すなわち転送データ量、“ｓｔｒｉｄｅ”すなわち転送対象データのメモリ領域における存在間隔をそれぞれ順番に送信元アドレスレジスタ１１７、送信先アドレスレジスタ１１８、送信データ長レジスタ１１９および送信ストライド幅レジスタ１２０にセットする。このパラメータの設定が終了すると、メッセージ送出部１０３へのデータ転送開始信号を伝達する。これでデータ転送が開始され、データ転送に係わる命令プロセッサ２０２の役割は終了する。
【００２８】
命令プロセッサ２０２から開始されたデータ転送に関して、送信元アドレスレジスタ１１７にセットされているパラメータ“ｓｒｃ−ａｄｒ”すなわち転送する一連のデータ群の先頭グローバルアドレスのＰＵ番号フィールド値が自プロセッサ番号である場合、メッセージ送出部１０３の制御の下、主記憶読出し部１２５が自らの主記憶装置２０７からデータを読み出して、データメッセージの送出が始まる。すなわち、実際にデータの転送が始まる。このデータメッセージは、送信先アドレスレジスタ１１８にセットされているパラメータ“ｄｓｔ−ａｄｒ”すなわち転送データ群の書き込み先先頭グローバルアドレスのＰＵ番号フィールド値が示す要素プロセッサ２０１に対して送出される。
データメッセージの送信先となった要素プロセッサ２０１は、ネットワークインタフェース２０８内のメッセージ受取部１０６でメッセージを受け、データメッセージであることを認識すると、メッセージ受取部１０６およびヘッダ解析部１０７の制御の下、主記憶書き込み部１２８が受信したデータを自らの主記憶装置２０７に書き込んでいく。全データの書き込みが終了した時点でこのデータ転送が完了する。
【００２９】
一方、命令プロセッサ２０２から開始されたデータ転送に関して、送信元アドレスレジスタ１１７にセットされているパラメータ“ｓｒｃ−ａｄｒ”すなわち転送する一連のデータ群の先頭グローバルアドレスのＰＵ番号フィールド値が自プロセッサ番号でない場合、そのＰＵ番号フィールド値が示す要素プロセッサ２０１に対してメッセージ送出部１０３が要求メッセージを送信する。
要求メッセージの送信先となった要素プロセッサ２０１は、ネットワークインタフェース２０８内のメッセージ受取部１０６でメッセージを受け、要求メッセージであることを認識すると、ヘッダ解析部１０７からデータメッセージ送信要求が発行される。ヘッダ解析部１０７は、ネットワークインタフェース２０８内の要求調停部１２２に対してデータメッセージ送信要求を発行し、要求調停部１２２からの許可を待つ。この時要求調停部１２２には、同じ要素プロセッサ２０１内の命令プロセッサ２０２からもデータ転送要求が届いている場合があり、その場合には優先度制御の結果命令プロセッサ２０２に許可がおりる場合もある。
【００３０】
ヘッダ解析部１０７は、要求調停部１２２からの許可を得ると、ヘッダレジスタ１０８に格納されている送信元アドレス９０４、送信先アドレス９０５、送信データ長９０６、送信ストライド幅９０７の各情報をそれぞれ順番に送信元アドレスレジスタ１１７、送信先アドレスレジスタ１１８、送信データ長レジスタ１１９および送信ストライド幅レジスタ１２０にセットする。この設定が終了すると、メッセージ送出部１０３へのデータメッセージ送出開始信号を伝達する。この時、送信元アドレスレジスタ１１７にセットされているグローバルアドレスのＰＵ番号フィールド値は常に自プロセッサ番号である。したがって、これでデータメッセージ送信が開始される。
以降、メッセージ送出部１０３の制御の下、主記憶読出し部１２５が自らの主記憶装置２０７からデータを読み出して、データメッセージを送出する。このデータメッセージは、送信先アドレスレジスタ１１８にセットされているグローバルアドレスのＰＵ番号フィールド値が示す要素プロセッサ２０１に対して送出される。
このデータメッセージの送信先となった要素プロセッサ２０１は、ネットワークインタフェース２０８内のメッセージ受取部１０６でメッセージを受け、データメッセージであることを認識すると、メッセージ受取部１０６およびヘッダ解析部１０７の制御の下、主記憶書き込み部１２８が受信したデータを自らの主記憶装置２０７に書き込んでいく。全データの書き込みが終了した時点でこのデータ転送が完了する。
以上が本発明に係わる実施例である。
なお、本実施例の変形例として次のものが考えられる。
【００３１】
（変形例１）
図３に示したデータ転送インタフェースを図４に示すようなインタフェースに変形する。図４の“ｓｒｃ−ａｄｒ”および“ｄｓｔ−ａｄｒ”は、グローバルアドレスではなく、それぞれ、送信元の要素プロセッサ２０１が所有する主記憶装置のアドレスおよび送信先の要素プロセッサ２０１が所有する主記憶装置のアドレスである。図４に示すインタフェースでは、“ｓｒｃ−ａｄｒ”および“ｄｓｔ−ａｄｒ”をグローバルアドレスとしない代わりに、データ転送の送信元および送信先をそれぞれ明示するための新たなパラメータ“ｓｒｃ−ＰＵ＃”および“ｄｓｔ−ＰＵ＃”を定義する。残りの“ｌｅｎｇｔｈ”、“ｓｔｒｉｄｅ”については図３のそれと同じである。
図４に示すインタフェースとした場合、図３に示すインタフェースのデータ転送に係わる要素プロセッサを意識しないでよいという特徴は失われるが、任意の要素プロセッサ間（主記憶装置間）のデータ転送を任意の要素プロセッサが起動できるという特徴はそのまま保有している。
【００３２】
図４に示すインタフェースを採用した場合の実施例からの機構上の主な変更点は以下の２点である。
（１）図７のような構成であった送信元アドレスレジスタ１１７および送信先アドレスレジスタ１１８を図８のような構成とし、このＰＵ番号レジスタ８０１とＰＵ内アドレスレジスタ８０２を連結して用いる。連結して用いれば、ＰＵ番号レジスタ８０１をＰＵ番号フィールド７０２として、さらに、ＰＵ内アドレスレジスタ８０２をＰＵ内アドレスフィールド７０３としてレジスタ７０１を擬似的に実現できる。
（２）図９、図１０に示したメッセージヘッダをそれぞれ図１１、図１２に示すように変更する。細かく記述すると、図９の送信元アドレス９０４は、図１１の送信元ＰＵ内アドレス１１０４に代わり、図９の送信先アドレス９０５は、図１１の送信先ＰＵ番号１１０５と送信先ＰＵ内アドレス１１０６に代わる。また、図１０の送信先アドレス９０５は、図１２の送信先ＰＵ内アドレス１２０５に代わる。
【００３３】
（変形例２）
バス２０９でメモリアクセスインタフェース２０３とネットワークインタフェース２０８を接続するのをやめ、メモリアクセスインタフェース２０３とネットワークインタフェース２０８を直結とする。この時、バスインタフェース部１０１に代わり新たなインタフェース処理部がネットワークインタフェース２０８内に必要となる。
【００３４】
【発明の効果】
本発明によれば、分散メモリ型並列計算機において、分散共有メモリ方式で実現される“データ転送起動者がデータまたはデータ群の帰属先プロセッサを特別意識する必要がない”というプログラム記述容易性の高さを継承した上で、分散共有メモリ方式上で実現されるデータ転送方式によっては従来実現できなかった数百、数千ワード以上のデータ群の一括転送が可能になった。
さらに、本発明によれば、任意要素プロセッサ間（任意主記憶装置間）のデータ転送が可能となり、また、データ転送起動者を、データ転送元あるいはデータ転送先のいずれとも規定しない。すなわち、要素プロセッサＢから要素プロセッサＣへのデータ転送を要素プロセッサＢでも要素プロセッサＣでもない要素プロセッサＡが指示できるようになった。これは、一方向のみのインタフェースであった従来のメッセージ・パッシング・インタフェースや、せいぜい２方向であった従来の分散共有メモリ方式上で実現されるデータ転送インタフェースを凌駕する多方向のインタフェースであり、この特徴によりプログラム記述容易性が一層向上する。
【図面の簡単な説明】
【図１】実施例におけるデータ転送方法を実現する分散メモリ型並列計算機の根幹であるネットワークインタフェースの構成図である。
【図２】実施例における並列計算機を構成する要素プロセッサの構成例を示す図である。
【図３】実施例におけるデータ転送インタフェースを示す図である。
【図４】変形例１におけるデータ転送インタフェースを示す図である。
【図５】従来のメッセージ・パッシング・インタフェースを示す図である。
【図６】実施例におけるグローバルアドレス空間を例示する図である。
【図７】実施例におけるグローバルアドレスを格納するためのレジスタを示す図である。
【図８】変形例１における並列計算機内の任意の主記憶アドレスを表現するための値の組を格納するレジスタ群を示す図である。
【図９】実施例における要求メッセージヘッダを示す図である。
【図１０】実施例におけるデータメッセージヘッダを示す図である。
【図１１】変形例１における要求メッセージヘッダを示す図である。
【図１２】変形例１におけるデータメッセージヘッダを示す図である。
【図１３】実施例におけるグローバルアドレスのフォーマットを例示する図である。
【図１４】実施例におけるデータ転送時のストライド値を説明するための図である。
【図１５】実施例におけるデータパケットを示す図である。
【符号の説明】
１０９  アドレス用レジスタ
１１３  アドレス用レジスタ
１２７  データ用レジスタ
１３０  データ用レジスタ
２０９  バス
７０１  グローバルアドレスレジスタ
８０１  ＰＵ番号レジスタ
８０２  ＰＵ内アドレスレジスタ
９０１  要求メッセージヘッダ
１００１  データメッセージヘッダ
１１０１  要求メッセージヘッダ
１２０１  データメッセージヘッダ
１３０１  プロセッサ番号フィールド
１３０２  オフセットフィールド
【図１】
0003641837.tif 000002
【図２】
0003641837.tif 000003
【図３】
0003641837.tif 000004
【図４】
0003641837.tif 000005
【図５】
0003641837.tif 000006
【図６】
0003641837.tif 000007
【図７】
0003641837.tif 000008
【図８】
0003641837.tif 000009
【図９】
0003641837.tif 000010
【図１０】
0003641837.tif 000011
【図１１】
0003641837.tif 000012
【図１２】
0003641837.tif 000013
【図１３】
0003641837.tif 000014
【図１４】
0003641837.tif 000015
【図１５】
0003641837.tif 000016