(57)【特許請求の範囲】
【請求項１】
複数のプロセッサ各々がネットワークによって結合される並列コンピュータのプロセッサ間通信システムであって、
宛先プロセッサにデータを送信する前に、当該データの書込み論理アドレスを含んで構成されかつ前記宛先プロセッサに対してその書込み論理アドレスの当該宛先プロセッサにおける書込み物理アドレスへの変換を依頼するためのアドレス変換パケットを前記宛先プロセッサに送信する送信手段と、
送り元プロセッサから送られてきた前記アドレス変換パケット内の書込み論理アドレスを物理アドレスに変換する変換手段と、
前記アドレス変換パケットの受信後に送られてくるデータを前記変換手段の変換結果を基に主記憶手段に書込む書込み手段とを前記複数のプロセッサ各々に有し、
前記送信手段は、論理アドレスで指定された送信データの読出しアドレスを物理アドレスに変換する前に、前記宛先プロセッサに対して前記アドレス変換パケットを送信することを特徴とするプロセッサ間通信システム。
【請求項２】
前記変換手段の変換結果を記憶する記憶手段と、前記書込み手段での前記データの書込みによって前記物理アドレスが論理ページ境界を越えることで前記記憶手段に記憶している変換結果が使えなくなる前に次の論理ページのアドレスへの変換を先行して行う手段とを前記複数のプロセッサ各々に含み、
前記アドレス変換パケットにそのコマンドで送る総データ長の受信側でのページ数を指定して送り、前記宛先プロセッサにおいてそのページ数をカウントダウンすることで前記コマンドによって書かれる最後のページを予測し、前記最後のページの次のページ以降の無駄な先行するアドレス変換を抑止するようにしたことを特徴とする請求項１記載のプロセッサ間通信システム。
【請求項３】
１つの通信コマンドのデータが複数のパケットによって送られる場合、前記アドレス変換パケットをそのコマンドの最初のデータを送る前だけに送り、その後に当該データだけを送るようにしたことを特徴とする請求項２記載のプロセッサ間通信システム。
【請求項４】
前記アドレス変換パケットとデータとに送り元プロセッサ番号を指定して送信し、
前記記憶手段は、前記送り元プロセッサ毎に前記変換結果を管理し、同じ送り元プロセッサに対して現在使用中の変換結果と先行してアドレス変換した結果との２つの変換結果を記憶するようにしたことを特徴とする請求項２記載のプロセッサ間通信システム。
【請求項５】
複数のプロセッサ各々がネットワークによって結合される並列コンピュータのプロセッサ間通信方法であって、
前記複数のプロセッサ各々が、宛先プロセッサにデータを送信する前に、当該データの書込み論理アドレスを含んで構成されかつ前記宛先プロセッサに対してその書込み論理アドレスの当該宛先プロセッサにおける書込み物理アドレスへの変換を依頼するためのアドレス変換パケットを前記宛先プロセッサに送信するステップと、送り元プロセッサから送られてきた前記アドレス変換パケット内の書込み論理アドレスを物理アドレスに変換するステップと、前記アドレス変換パケットの受信後に送られてくるデータをその変換結果を基に主記憶手段に書込むステップとを実行し、
前記アドレス変換パケットを送信するステップは、論理アドレスで指定された送信データの読出しアドレスを物理アドレスに変換する前に、前記宛先プロセッサに対して前記アドレス変換パケットを送信することを特徴とするプロセッサ間通信方法。
【請求項６】
前記複数のプロセッサ各々が、前記変換結果を記憶手段に記憶するステップと、前記主記憶手段への前記データの書込みによって前記物理アドレスが論理ページ境界を越えることで前記記憶手段に記憶している変換結果が使えなくなる前に次の論理ページのアドレスへの変換を先行して行うステップとを実行し、
前記アドレス変換パケットにそのコマンドで送る総データ長の受信側でのページ数を指定して送り、前記宛先プロセッサにおいてそのページ数をカウントダウンすることで前記コマンドによって書かれる最後のページを予測し、前記最後のページの次のページ以降の無駄な先行するアドレス変換を抑止するようにしたことを特徴とする請求項５記載のプロセッサ間通信方法。
【請求項７】
１つの通信コマンドのデータが複数のパケットによって送られる場合、前記アドレス変換パケットをそのコマンドの最初のデータを送る前だけに送り、その後に当該データだけを送るようにしたことを特徴とする請求項６記載のプロセッサ間通信方法。
【請求項８】
前記アドレス変換パケットとデータとに送り元プロセッサ番号を指定して送信し、
前記記憶手段に前記変換結果を記憶するステップは、前記送り元プロセッサ毎に前記変換結果を管理し、同じ送り元プロセッサに対して現在使用中の変換結果と先行してアドレス変換した結果との２つの変換結果を記憶するようにしたことを特徴とする請求項６記載のプロセッサ間通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はプロセッサ間通信システム及びそれに用いるプロセッサ間通信方法に関し、特に複数のプロセッサがネットワークによって結合された並列コンピュータにおいてデータの読出しアドレスと書込みアドレスとに論理アドレスを使ったプロセッサ間通信方法に関する。
【０００２】
【従来の技術】
従来、プロセッサ間の通信においては、宛先プロセッサでのデータ書込みアドレスを間違えると、宛先プロセッサをシステムダウンさせる可能性がある。そのため、さまざまな手段によって宛先プロセッサを保護している。
【０００３】
例えば、受信バッファ領域を決めて、プロセッサ間通信ではこの領域以外には書込むことができなくする方法がある（以下、第１の従来技術とする）。この場合、書込みアドレスは宛先プロセッサの受信装置が決定した物理アドレスか、送り元プロセッサが指定してきた物理アドレスを、宛先プロセッサの受信装置がマスク等によって限定している。
【０００４】
また、書込みアドレスを物理アドレスではなく、論理アドレスで送り元が指定する方法もある（以下、第２の従来技術とする）。この場合、宛先プロセッサの受信装置がアドレス変換を行って物理アドレスに変換している。この方法では受信装置でアドレス変換して得られる物理アドレスを特定のアドレスの範囲に制限することができるため、宛先プロセッサを保護することができる。仮に、指定された書込みアドレスが不正な場合にはアドレス変換が失敗することになる。
【０００５】
上述した第１の従来技術では、受信バッファ領域からユーザ領域へのデータのコピーが必要になり、プロセッサ間通信のスループット性能とレイテンシ性能とを確保することが難しい。そのため、第２の従来技術の書込みアドレスを論理アドレスで指定する方法が使われることが多い。
【０００６】
しかしながら、第２の従来技術では指定された論理アドレスから物理アドレスに変換する手段が必要である。このアドレス変換はページを単位に行われ、通常ページサイズは４Ｋバイト等である。そのため、プロセッサ間通信で大量にデータを送るには、変換テーブルが非常に大きなものになり、受信装置内に全てを保持することができなくなる。したがって、変換テーブル全体を主記憶装置上に実装し、必要に応じて受信装置が主記憶装置から変換テーブルの一部を読出してアドレス変換を行うことになる。
【０００７】
そのため、アドレス変換では主記憶装置へのアクセスが発生し、プロセッサ間通信のオーバヘッドとなる。特に、パケットを受信した時にアドレス変換のために主記憶装置をアクセスすると、パケット内のデータの書込みをアドレス変換後でないと行うことができないため、その間、ネットワークを止めてしまうこととなり、他のプロセッサ間通信にも影響を与える。このようなオーバヘッドを削減することが、プロセッサ間通信の性能を向上するためには必要となる。
【０００８】
【発明が解決しようとする課題】
上述した従来のプロセッサ間の通信では、並列計算機システムにおいて宛先プロセッサでの書込みアドレスを論理アドレスで指定した場合、受信装置でのアドレス変換のオーバヘッドを削減したり、そのオーバヘッドを隠蔽したりすることが困難である。
【０００９】
そこで、本発明の目的は上記の問題点を解消し、受信装置でのアドレス変換のオーバヘッドの削減や隠蔽を図ることができるプロセッサ間通信システム及びそれに用いるプロセッサ間通信方法を提供することにある。
【００１０】
【課題を解決するための手段】
本発明による第１のプロセッサ間通信システムは、複数のプロセッサ各々がネットワークによって結合される並列コンピュータのプロセッサ間通信システムであって、
宛先プロセッサにデータを送信する前に、当該データの書込み論理アドレスを含んで構成されかつ前記宛先プロセッサに対してその書込み論理アドレスの当該宛先プロセッサにおける書込み物理アドレスへの変換を依頼するためのアドレス変換パケットを前記宛先プロセッサに送信する送信手段と、
送り元プロセッサから送られてきた前記アドレス変換パケット内の書込み論理アドレスを物理アドレスに変換する変換手段と、
前記アドレス変換パケットの受信後に送られてくるデータを前記変換手段の変換結果を基に主記憶手段に書込む書込み手段とを前記複数のプロセッサ各々に備え、
前記送信手段は、論理アドレスで指定された送信データの読出しアドレスを物理アドレスに変換する前に、前記宛先プロセッサに対して前記アドレス変換パケットを送信している。
【００１５】
本発明による第２のプロセッサ間通信システムは、前記変換手段の変換結果を記憶する記憶手段と、前記書込み手段での前記データの書込みによって前記物理アドレスが論理ページ境界を越えることで前記記憶手段に記憶している変換結果が使えなくなる前に次の論理ページのアドレスへの変換を先行して行う手段とを前記複数のプロセッサ各々に具備し、
前記アドレス変換パケットにそのコマンドで送る総データ長の受信側でのページ数を指定して送り、前記宛先プロセッサにおいてそのページ数をカウントダウンすることで前記コマンドによって書かれる最後のページを予測し、前記最後のページの次のページ以降の無駄な先行するアドレス変換を抑止するようにしている。
【００１６】
本発明による第３のプロセッサ間通信システムでは、１つの通信コマンドのデータが複数のパケットによって送られる場合、前記アドレス変換パケットをそのコマンドの最初のデータを送る前だけに送り、その後に当該データだけを送るようにしている。
【００１７】
本発明による第４のプロセッサ間通信システムは、前記アドレス変換パケットとデータとに送り元プロセッサ番号を指定して送信し、
前記記憶手段は、前記送り元プロセッサ毎に前記変換結果を管理し、同じ送り元プロセッサに対して現在使用中の変換結果と先行してアドレス変換した結果との２つの変換結果を記憶するようにしている。
【００１９】
本発明による第１のプロセッサ間通信方法は、複数のプロセッサ各々がネットワークによって結合される並列コンピュータのプロセッサ間通信方法であって、
前記複数のプロセッサ各々が、宛先プロセッサにデータを送信する前に、当該データの書込み論理アドレスを含んで構成されかつ前記宛先プロセッサに対してその書込み論理アドレスの当該宛先プロセッサにおける書込み物理アドレスへの変換を依頼するためのアドレス変換パケットを前記宛先プロセッサに送信するステップと、送り元プロセッサから送られてきた前記アドレス変換パケット内の書込み論理アドレスを物理アドレスに変換するステップと、前記アドレス変換パケットの受信後に送られてくるデータをその変換結果を基に主記憶手段に書込むステップとを実行し、
前記アドレス変換パケットを送信するステップは、論理アドレスで指定された送信データの読出しアドレスを物理アドレスに変換する前に、前記宛先プロセッサに対して前記アドレス変換パケットを送信している。
【００２４】
本発明による第２のプロセッサ間通信方法は、前記複数のプロセッサ各々が、前記変換結果を記憶手段に記憶するステップと、前記主記憶手段への前記データの書込みによって前記物理アドレスが論理ページ境界を越えることで前記記憶手段に記憶している変換結果が使えなくなる前に次の論理ページのアドレスへの変換を先行して行うステップとを実行し、
前記アドレス変換パケットにそのコマンドで送る総データ長の受信側でのページ数を指定して送り、前記宛先プロセッサにおいてそのページ数をカウントダウンすることで前記コマンドによって書かれる最後のページを予測し、前記最後のページの次のページ以降の無駄な先行するアドレス変換を抑止するようにしている。
【００２５】
本発明による第３のプロセッサ間通信方法では、１つの通信コマンドのデータが複数のパケットによって送られる場合、前記アドレス変換パケットをそのコマンドの最初のデータを送る前だけに送り、その後に当該データだけを送るようにしている。
【００２６】
本発明による第４のプロセッサ間通信方法は、前記アドレス変換パケットとデータとに送り元プロセッサ番号を指定して送信し、
前記記憶手段に前記変換結果を記憶するステップが、前記送り元プロセッサ毎に前記変換結果を管理し、同じ送り元プロセッサに対して現在使用中の変換結果と先行してアドレス変換した結果との２つの変換結果を記憶するようにしている。
【００２８】
すなわち、本発明の第１のプロセッサ間通信システムでは、宛先プロセッサでの書込みアドレスが論理アドレスで指定されている場合、宛先プロセッサでの書込みアドレスのアドレス変換を先行して行うためのアドレス変換を依頼するパケットを送っている。また、読出しアドレスも論理アドレスで指定されている場合には、このアドレス変換を依頼するパケットを、読出しアドレスを変換する前に送って先行するアドレス変換を早く始められるようにしている。
【００２９】
本発明の第２のプロセッサ間通信システムでは、続けて送られてくるデータの書込みアドレスのアドレス変換を先行してできるようにし、１つのコマンドのデータ転送中に発生するアドレス変換を事前に行うことによって、宛先プロセッサでの書込みアドレスのアドレス変換のオーバヘッドを隠蔽している。
【００３０】
本発明の第３のプロセッサ間通信システムでは、読出しアドレスも論理アドレスで指定されている場合、読出しアドレスのアドレス変換を先行してできるようにすることで、１つのコマンドのデータ転送中に発生する読出しアドレスのアドレス変換のオーバヘッドを隠蔽している。
【００３１】
本発明の第４のプロセッサ間通信では、読出しアドレス、書込みアドレスのアドレス変換を先行して行えるようにし、１つのコマンドのデータ転送中の読出しアドレス及び書込みアドレスのアドレス変換のオーバヘッドを隠蔽している。また、１つのコマンドが複数のパケットで送られる場合には、書込みアドレスのアドレス変換を依頼するパケットを最初の１回だけ送り、書込みアドレスのアドレス変換をデータが到着する前に行えるようにしている。さらに、書込みアドレスのアドレス変換結果は送り元プロセッサ毎に管理し、あるプロセッサが送ったパケットの書込みアドレスのアドレス変換結果が、他のプロセッサからのパケットによって壊されないようにしている。さらにまた、アドレス変換を依頼するパケットに書込み領域のページ数を付加して送り、先行して行われる書込みアドレスの変換が最後のページで止まり、不必要な先行アドレス変換を行わないようにしている。これによって、必要なアドレス変換が無駄なアドレス変換に邪魔されることを防いでいる。
【００３２】
上述したように、送り側プロセッサの送信装置が送るデータの読出しアドレスのアドレス変換やデータ読出しを行う前に、宛先プロセッサに書込みアドレスのアドレス変換を依頼するパケットを送ることによって、先行して書込みアドレスのアドレス変換を行い、データ到着時にアドレス変換の必要がないので、書込みアドレスを論理アドレスで指定したプロセッサ間通信において、宛先プロセッサの受信装置でのアドレス変換の時間を削減することが可能となる。
【００３３】
また、本発明を用いない場合、宛先プロセッサの受信装置のアドレス変換の時間を短くするには、アドレス変換テーブルを受信装置内に全て保持しておく必要があるが、本発明を用いると、アドレス変換を先行して行い、その結果だけを記憶すれば、データ到着時にはその結果を用いることが可能となるので、アドレス変換結果を保持するための記憶手段の容量を少なくすることが可能となる。
【００３４】
さらに、１つのコマンドで送られるデータが複数のページになる場合、読出しアドレスのアドレス変換、書込みアドレスのアドレス変換を先行して行うことによって、プロセッサ間の通信がアドレス変換によって中断されることなく行われる。したがって、受信装置でのアドレス変換のオーバヘッドの削減や隠蔽を図ることが可能となる。
【００３５】
【発明の実施の形態】
次に、本発明の一実施例について図面を参照して説明する。図１は本発明の一実施例によるプロセッサ間通信システムの構成を示すブロック図である。図１において、本発明の一実施例によるプロセッサ間通信システムは複数のプロセッサ１−１〜１−ｎがネットワーク１００に接続された並列コンピュータである。プロセッサ１−１〜１−ｎはそれぞれＣＰＵ２と、主記憶装置３と、送信装置４と、受信装置５とから構成されている。
【００３６】
送信装置４はコマンド読出し回路４１と、コマンドレジスタ４２と、パケット生成回路４３と、アドレス変換回路４４と、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）メモリ４５とから構成されている。
【００３７】
コマンド読出し回路４１はＣＰＵ２からの送信要求によって、主記憶装置３上に設けられたコマンドキュー３１からコマンド３１ａを読出し、コマンド３１ａの内容を検査し、エラーがなければ、コマンドレジスタ４２に格納する。
【００３８】
パケット生成回路４３はコマンドジスタ４２内のコマンド３１ａに書かれた読出しアドレスをアドレス変換回路４４を使って論理アドレスから物理アドレスに変換する。また、パケット生成回路４３はコマンドレジスタ４２内の宛先プロセッサ等の情報を使ってパケットのヘッダを生成する。
【００３９】
さらに、パケット生成回路４３はアドレス変換回路４４によって変換された物理読出しアドレスからのデータの読出しを主記憶装置３に依頼し、読出した送信データ３２をパケットとしてネットワーク１００に送出す。さらにまた、パケット生成回路４３はコマンドレジスタ４２内の宛先プロセッサの書込みアドレスからアドレス変換パケットを生成し、ネットワーク１００に送出す。
【００４０】
アドレス変換回路４４はコマンドレジスタ４２内の読出しアドレスを論理アドレスから物理アドレスに変換する。その際、アドレス変換回路４４は主記憶装置３上のページテーブル３３の情報を参照してアドレス変換を行う。ネットワーク１００とパケット生成回路４３との間にはＦＩＦＯメモリ４５があり、データ幅の変換やエラー検出符号等の作成を行う。
【００４１】
受信装置５はＦＩＦＯメモリ５１と、送り元プロセッサ番号レジスタ５２と、書込みアドレスレジスタ５３と、アドレス変換回路５４と、データ書込み回路５７と、総ページ数カウンタ５８とから構成されている。
【００４２】
ＦＩＦＯメモリ５１はネットワーク１００から送られてきたパケットを一時的に格納する。送り元プロセッサ番号レジスタ５２はパケットヘッダに含まれる、そのパケットを送信したプロセッサのプロセッサ番号を格納する。書込みアドレスレジスタ５３はパケットヘッダに含まれている、パケットのデータの書込みアドレスを格納する。
【００４３】
アドレス変換回路５４は書込みアドレスレジスタ５３内の書込みアドレスを論理アドレスから物理アドレスに変換し、データ書込み回路５７に物理書込みアドレスを渡す。アドレス変換回路５４内には変換テーブル５５があり、論理ページ番号５５ａと物理ページ番号５５ｂとの対応表が格納されている。この対応表は主記憶装置３上のページテーブル３３の値を参照して書換えられる。また、アドレス変換回路５４は送り元プロセッサ番号レジスタ５２内の送り元プロセッサ番号を使って変換テーブル５５の論理アドレス５５ａを読出し、その値と書込みアドレスレジスタ５３内の論理ページ番号５９とを比較するための比較器５６を持つ。
【００４４】
データ書込み回路５７はパケットで送られてきた受信データ３４を、主記憶装置３上の、アドレス変換回路５４から出力された書込みアドレスに書込む。総ページ数カウンタ５８は１つのコマンドで送られるデータの書込み側でのページ数を格納し、１つのページをアドレス変換する毎に１ずつ減らしていき、最後のページ以降の先行するアドレス変換を行わないようにする。総ページ数カウンタ５８は送り元プロセッサ毎にそれぞれのページ数をカウントする。
【００４５】
図２（ａ）は本発明の一実施例で用いられるアドレス変換パケットの構成を示す図であり、図２（ｂ）は本発明の一実施例で用いられる通常のパケットの構成を示す図である。すなわち、図２には本発明の一実施例によるプロセッサ間通信システムで通信される２種類のパケットの形式を示している。
【００４６】
アドレス変換パケットＡは宛先プロセッサ番号Ａ１と、送り元プロセッサ番号Ａ２と、書込み論理アドレスＡ３と、総転送ページ数Ａ４とから構成されている。宛先プロセッサ番号Ａ１はネットワーク１００内でのルーティングに使われ、総転送ページ数Ａ４は１つのコマンドで送る書込み側での総ページ数である。
【００４７】
通常のパケットＢは宛先プロセッサ番号Ｂ１と、送り元プロセッサ番号Ｂ２と、データ長Ｂ３と、書込み論理アドレスＢ４と、データＢ５とから構成されている。データ長Ｂ３はこのパケットで送るデータの長さである。
【００４８】
図３は図１の変換テーブル５５の詳細な構成を示す図である。図３において、変換テーブル５５は各送り元プロセッサ番号毎に２つの論理ページ番号５５２，５５５と物理ページ番号５５３，５５６との組みを格納することができる。それぞれにはその物理ページ番号が有効かどうかを示すビット５５４，５５７が付加されている。また、それぞれの送り元プロセッサ番号の組みのどちらが現在使われている情報かを示すビット５５１を持つ。先行してアドレス変換した結果はこのビット５５１で現在使われていない方に格納される。
【００４９】
変換テーブル５５から送り元プロセッサ番号６０１によって選ばれた２つの論理ページ番号は２つの比較器５６ａ，５６ｂで、書込みアドレスレジスタ５３からの論理ページ番号５９と比較され、その結果がＭＵＸ（ｍｕｌｔｉｐｌｅｘｅｒ）６０で物理アドレスを選択するのに使われる。
【００５０】
通常のアドレス変換の処理は以下のようになる。送り元プロセッサ番号６０１によって選ばれた２つの論理ページ番号５５２，５５５を書込みアドレスレジスタ５２からの論理ページ番号５９と比較する。もし、同じものがあれば、物理アドレス５５３、５５６からＭＵＸ６０によって選択してアドレス変換に使用される。
【００５１】
この時、物理ページ番号が有効でない場合にはその情報が主記憶装置３上のページテーブル３３から読出している途中なので、その読出しを待って、アドレス変換に使用する。また、ＭＵＸ６０で選択したものがビット５５１で示された現在使用しているものと違う場合には、ビット５５１を書き替えておく。
【００５２】
もし、どちらの論理ページ番号５５２，５５５も異なる場合にはページテーブル３３をアクセスする必要があるが、本発明を用いて先行してアドレス変換を行っている場合にはこのようなことは起こらない。
【００５３】
次に、先行して行うアドレス変換の処理について述べる。送り元プロセッサ番号６０１によって選ばれた２つの論理ページ番号５５２，５５５のうち、現在使っているのがどちらかを示すビット５５１で現在使っていない方に、書込みアドレスレジスタ５３からの論理ページ番号５９を書込む。その後に、対応するその物理ページが有効かどうかを示すビット５５４，５５７のいずれかを無効にしてから、主記憶装置３上のページテーブル３３をアクセスして物理ページ番号を読出し、変換テーブル５５の物理ページ番号５５３，５５６のいずれかに書込み、有効ビット５５４，５５７のいずれかを有効にする。
【００５４】
図４は本発明の一実施例による送り元プロセッサでのコマンドの処理手順を示すフローチャートであり、図５は本発明の一実施例による宛先プロセッサでのパケットの処理手順を示すフローチャートである。これら図１〜図５を参照して本発明の一実施例によるコマンド及びパケットの処理手順について説明する。
【００５５】
送り元プロセッサでコマンド処理が行われる場合、プロセッサ１−１からはアドレス変換パケットＡで宛先プロセッサに書込み論理アドレスＡ３と総転送ページ数Ａ４とが送信される。その後、プロセッサ１−１は読出しアドレスのアドレス変換を開始し（図４ステップＳ１）、読出しアドレスのアドレス変換が終了するのを待つ（図４ステップＳ２）。
【００５６】
プロセッサ１−１はアドレス変換が終了すると、１パケット分のデータの読出しを行い（図４ステップＳ３）、パケットを送信する（図４ステップＳ４）。今送ったパケットが最後のパケットでなければ（図４ステップＳ５）、プロセッサ１−１は読出しアドレスの先行アドレス変換が必要かどうかを判断し（図４ステップＳ６）、もし、読出しアドレスの先行アドレス変換が必要であれば、読出しアドレスの先行アドレス変換を開始する（図４ステップＳ６）。
【００５７】
読出しアドレスの先行アドレス変換が必要かどうかは読出したアドレスがページ境界に近付いているかどうかで判断し、先行アドレス変換の結果が必要になるまでに先行アドレス変換が終了するようなタイミングで開始する。この処理を最後のパケットを送り終るまで続ける。
【００５８】
続いて、宛先プロセッサでパケット処理が行われる場合、プロセッサ１−１はパケットを受信すると、それがアドレス変換パケットＡかどうかを調べる（図５ステップＳ１１）。コマンドの最初のパケットはアドレス変換パケットＡなので、パケットに指定された書込みアドレスの先行アドレス変換を行う（図５ステップＳ１２）。
【００５９】
そのうちに、通常のパケットが送られてくると（図５ステップＳ１１）、プロセッサ１−１は先行アドレス変換が終了しているかどうかを調べ、終了するまで待つ（図５ステップＳ１３）。アドレス変換が終了したかどうかは、図３に示す変換テーブル５５の送り元プロセッサ番号と論理ページ番号とが同じ変換テーブルのエントリの物理ページ番号で有効になっているかどうかで判断する。
【００６０】
アドレス変換が終了すると、プロセッサ１−１はデータを書込み（図５ステップＳ１４）、先行のアドレス変換が必要かどうかを調べる（図５ステップＳ１５）。先行のアドレス変換は読出しアドレスのアドレス変換と同じように、先行のアドレス変換結果を使用するパケットが到着する前にアドレス変換が終了しているタイミングで行う。また、総ページ数カウンタ５８が現在のページが最後のページでないことを示している場合にのみ先行アドレス変換を行う（図５ステップＳ１６）。
【００６１】
このように、送り側プロセッサの送信装置４が送るデータの読出しアドレスのアドレス変換やデータ読出しを行う前に、宛先プロセッサに書込みアドレスのアドレス変換を依頼するパケットを送ることによって、先行して書込みアドレスのアドレス変換を行い、データ到着時にアドレス変換の必要がなくなるので、書込みアドレスを論理アドレスで指定したプロセッサ間通信において、宛先プロセッサの受信装置５でのアドレス変換の時間を削減することができる。
【００６２】
また、本実施例を用いない場合、宛先プロセッサの受信装置のアドレス変換の時間を短くするにはアドレス変換テーブルを受信装置内に全て保持しておく必要があるが、本実施例を用いた場合にはアドレス変換を先行して行い、その結果だけを記憶すれば、データ到着時にはその結果を用いることができ、アドレス変換結果を保持するための記憶手段の容量が少なくていいことである。
【００６３】
さらに、１つのコマンドで送られるデータが複数のページになる場合、読出しアドレスのアドレス変換、書込みアドレスのアドレス変換を先行して行うことによって、プロセッサ間通信をアドレス変換によって中断することなく行うことができる。したがって、受信装置５でのアドレス変換のオーバヘッドの削減や隠蔽を図ることができる。
【００６４】
【発明の効果】
以上説明したように本発明によれば、複数のプロセッサ各々がネットワークによって結合される並列コンピュータのプロセッサ間通信システムにおいて、複数のプロセッサ各々が、宛先プロセッサへのデータ送信時に論理アドレスで指定された宛先プロセッサでの書込みアドレスのアドレス変換を依頼するためのパケットを宛先プロセッサに送信し、送り元プロセッサから送られてきた書込みアドレスを物理アドレスに変換し、その変換結果を、アドレス変換を依頼するためのパケットの後に送られてくるデータの書込みアドレスとすることによって、受信装置でのアドレス変換のオーバヘッドの削減や隠蔽を図ることができるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施例によるプロセッサ間通信システムの構成を示すブロック図である。
【図２】（ａ）は本発明の一実施例で用いられるアドレス変換パケットの構成を示す図、（ｂ）は本発明の一実施例で用いられる通常のパケットの構成を示す図である。
【図３】図１の変換テーブルの詳細な構成を示す図である。
【図４】本発明の一実施例による送り元プロセッサでのコマンドの処理手順を示すフローチャートである。
【図５】本発明の一実施例による宛先プロセッサでのパケットの処理手順を示すフローチャートである。
【符号の説明】
１−１〜１−ｎ  プロセッサ
２  ＣＰＵ
３  主記憶装置
４  送信装置
５  受信装置
３１  コマンドキュー
３１ａ  コマンド
３２  送信データ
３３  ページテーブル
３３ａ，５５ｂ，５５３，
５５６  物理ページ番号
３４  受信データ
４１  コマンド読出し回路
４２  コマンドレジスタ
４３  パケット生成回路
４４，５４  アドレス変換回路
４５，５１  ＦＩＦＯメモリ
５２  送り元プロセッサ番号レジスタ
５３  書込みアドレスレジスタ
５５  変換テーブル
５５ａ，５５２，５５５  論理ページ番号
５６，５６ａ，５６ｂ  比較器
５７  データ書込み回路
５８  総ページ数カウンタ
５９  書込みアドレスレジスタからの論理ページ番号
６０  ＭＵＸ
１００  ネットワーク
５０１  現在使っているのが０か１かを示すビット
５５４，５５７  物理ページ番号が有効かどうかを示すビット
６０１  送り元プロセッサ番号
Ａ  アドレス変換パケット
Ａ１，Ｂ１  宛先プロセッサ番号
Ａ２，Ｂ２  送り元プロセッサ番号
Ａ３，Ｂ３  書込み論理アドレス
Ａ４  総転送ページ数
Ｂ  通常のパケット
Ｂ５  データ長
【図１】
0003800037.tif 000002
【図２】
0003800037.tif 000003
【図３】
0003800037.tif 000004
【図４】
0003800037.tif 000005
【図５】
0003800037.tif 000006