(57)【要約】【課題】ＴＬＢにおいて、変換対象論理アドレスでＴＬＢエントリを索引する方式ではＴＬＢヒット率を向上させることが困難である。【解決手段】複数の計算機がパケット交換網を介して接続されるネットワークシステムで行なわれるデータ転送方法において、複数の計算機のそれぞれに、主記憶装置と、通信処理命令を発行するプロセッサと、プロセッサからの通信命令を処理し、パケット交換網を介して他の計算機と通信を行う通信装置とを設け、通信装置には、交換網に通信を送信する送信部と交換網から通信を受信する受信部それぞれがＴＬＢエントリを複数保持するＴＬＢを設け、プロセッサは送り元の計算機の情報を含む前記通信命令を発行することとし、受信部は、使用するＴＬＢエントリを送り元の計算機に応じて決定させる。【選択図】  図６
2004252838.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機がパケット交換網を介して接続されるネットワークシステムで行なわれるデータ転送方法において、
前記複数の計算機のそれぞれに、
主記憶装置と、
通信処理命令を発行するプロセッサと、
前記プロセッサからの通信命令を処理し、前記パケット交換網を介して他の計算機と通信を行う通信装置とを設け、
前記通信装置には、
交換網に通信を送信する送信部と交換網から通信を受信する受信部それぞれがＴＬＢエントリを複数保持するＴＬＢを設け、
前記プロセッサは送り元の計算機の情報を含む前記通信命令を発行することとし、前記受信部は、使用するＴＬＢエントリを送り元の計算機に応じて決定させることを特徴とするデータ転送方法。
【請求項２】
請求項１記載のデータ転送方法において、
送信部は、送り元の計算機の情報を含む通信パケットを生成して他の計算機へ送信することを特徴とするデータ転送方法。
【請求項３】
請求項１または請求項２に記載のデータ転送方法において、通信装置は、送り元の計算機から同一宛先計算機に対する同時に処理する通信命令の数を制限して処理を行なうことを特徴とするデータ転送方法。
【請求項４】
請求項２または請求項３に記載のデータ転送方法において、通信装置は、送り元の計算機における処理命令の識別番号を通信パケットに付与することとし、受信部は、前記処理命令の識別番号が同じである通信パケットについては使用するＴＬＢエントリを同じとすることを特徴とするデータ転送方法。
【請求項５】
複数の計算機がパケット交換網を介して接続されるネットワークシステムにおいて、
前記複数の計算機のそれぞれは、
主記憶装置と、
通信処理命令を発行するプロセッサと、
前記プロセッサからの通信命令を処理し、前記パケット交換網を介して他の計算機と通信を行う通信装置とを具備し、
前記通信装置は、
交換網に通信を送信する送信部と交換網から通信を受信する受信部それぞれがＴＬＢエントリを複数保持するＴＬＢを具備し、
前記プロセッサは送り元の計算機の情報を含む前記通信命令を発行し、前記受信部は、使用するＴＬＢエントリを送り元の計算機に応じて決定することを特徴とするネットワークシステム。
【請求項６】
請求項５記載のネットワークシステムにおいて、
送信部は、送り元の計算機の情報を含む通信パケットを生成して他の計算機へ送信することを特徴とするネットワークシステム。
【請求項７】
請求項５または請求項６に記載のネットワークシステムにおいて、
通信装置は、送り元の計算機から同一宛先計算機に対する同時に処理する通信命令の数を制限して処理を行なうことを特徴とするネットワークシステム。
【請求項８】
請求項６または請求項７に記載のネットワークシステムにおいて、
通信装置は、送り元の計算機における処理命令の識別番号を通信パケットに付与し、受信部は、前記処理命令の識別番号が同じである通信パケットについては使用するＴＬＢエントリを同じとすることを特徴とするネットワークシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の計算機が互に通信しながら各計算機上のジョブの処理を並列に実行するネットワークシステムと、前記計算機システムにおけるデータ転送方法に関する。
【０００２】
【従来の技術】
システム・エリア・ネットワークの普及により、複数の計算機を高速ネットワークにより接続し、各計算機が互いに通信しながら各計算機上のジョブの処理を並列に実行する分散コンピューティング方式が増加してきている。
【０００３】
複数の計算機による並列処理により、一つの計算機では実現不可能な大規模演算処理を実行することが可能となる。また、複数の計算機で通信を行いつつ演算を行うプログラム作成用の標準的なプログラム言語であるＨＰＦ（Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｆｏｒｔｒａｎ）あるいはライブラリであるＭＰＩ（Ｍｅｓｓａｇｅ  Ｐａｓｓｉｎｇ  Ｉｎｔｅｒｆａｃｅ）も開発され、並列処理は益々広範な領域で使用されるものとなっており、前記の機能を有する
計算機が増加してきている。
【０００４】
複数の計算機をネットワークで接続して相互通信による並列処理を実行すると、実際の演算を行う演算処理と、他の計算機との通信を行う通信処理とが最低限必要となる。
【０００５】
通信処理を行うにあたり、プロセッサが通信処理を行うのでは、通信処理のために演算能力が低下する。プロセッサの演算能力を可能な限り演算処理に使用するため、通信処理をプロセッサから取り除き、通信装置を実装することがある。
【０００６】
通信装置は、プロセッサからの通信命令を処理し、通信命令により指定された送り元のデータを指定された宛先に転送する。通信命令においては、送り元データの主記憶上のアドレスである送り元アドレス、転送するデータの長さである転送長、送り先の計算機を指定することにより実施されることが一般的である。
【０００７】
通信命令において、上記の送り元アドレス、転送長、送り先計算機を指定するものはＳｅｎｄ命令と呼ばれ、上記に加えて送り先の主記憶アドレスである送り先アドレスを指定するものはＲｅｍｏｔｅ  ＤＭＡ  Ｗｒｉｔｅ命令と呼ばれる。
【０００８】
通信命令にて指定される主記憶上のアドレスを物理アドレスとすると、通信処理装置に通信命令を送付するプロセスは物理アドレスを知ることができる特権プロセスに限られる。非特権プロセスであるユーザ・レベル・プロセスが通信処理を行う場合には、特権プロセスに通信を要求し、プロセス・スイッチにより特権プロセスが論理アドレスを物理アドレスに変換する処理を代理で実行する。このようなプロセス・スイッチ処理はユーザプロセスから見ると非常に長い時間がかかるため、プロセス・スイッチ処理が性能低下要因の一つとなっている。
【０００９】
上記のプロセス・スイッチ処理による性能低下を回避するために、通信装置が論理アドレスを物理アドレスに変換するアドレス変換機構を実装し、ユーザプロセスが特権プロセスを介することなく通信装置への通信命令発行を可能とすることをユーザ・レベル通信と呼び、低いレイテンシでの高性能の通信が要求されるネットワーク装置において実現されている。
【００１０】
アドレス変換機構を実装するにあたり、アドレス変換表を通信装置内に全て実装する方式、あるいはアドレス変換表を通信装置内に実装できない場合にはアドレス変換表を通信装置外部のメモリに実装し、通信装置にはその一部をＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋ  ａｓｉｄｅ  Ｂｕｆｆｅｒ）として実装する方式が採用されている。
【００１１】
一般にＴＬＢを実装する方式としては、以下の３方式が挙げられる。
【００１２】
（１）変換対象論理アドレスを用いて、全ＴＬＢエントリの論理アドレスの一部を比較し、一致したＴＬＢエントリをアドレス変換に用いるフル・アソシアティブ方式
（２）変換対象論理アドレスの一部のビットを変換に使用するＴＬＢエントリのアドレスとするダイレクト・マップ方式
（３）変換対象論理アドレスの一部のビットにより全ＴＬＢから一部のＴＬＢエントリのセットを選択し、上記選択されたセット内の全ＴＬＢエントリ内の論理アドレスと変換対象論理アドレスを比較するセット・アソシアティブ方式
上記のいずれの方式においても、ＴＬＢエントリの決定には変換対象論理アドレスを用いている。
【００１３】
ＴＬＢを実装する方式を採用した場合には、ＴＬＢのヒット率が転送性能に大きな影響を与える。このため、通信装置内に実装されたＴＬＢのヒット率
向上が期待されている。
【００１４】
通信装置がアドレス変換を行なう従来例としては、例えば特許文献１ないし特許文献３が挙げられる。特許文献１（特開平０５−０８９０５６号公報）には通信制御によりアドレス変換を行なう共有メモリにアクセスすることが開示されている。
特許文献２（特開平０７−２６２１４６号公報）にはアドレス変換をルータで行い、パケットによりプロセッサ間通信を行なうことが開示されている。特許文献３（特許第３２３７５９９号公報）にはアドレス変換をプロセッサ内で行なうことが開示されている。
【００１５】
【特許文献１】
特開平０５−０８９０５６号公報
【特許文献２】
特開平０７−２６２１４６号公報
【特許文献３】
特許第３２３７５９９号公報
【００１６】
【発明が解決しようとする課題】
上述したように、複数の計算機を用いて並列処理を行なうためにＴＬＢ方式による通信装置を計算機に実装する場合には、ＴＬＢのヒット率の向上が重要となる。
【００１７】
上述したように、通信装置内のＴＬＢの実装には一般的には、変換対象論理アドレスと各ＴＬＢエントリ内の論理アドレスを比較するダイレクトマップ方式、セット・アソシアティブ方式、あるいはフル・アソシアティブ方式のいずれかが使用される。
【００１８】
上記３つの方式では変換対象論理アドレスにより変換に使用するＴＬＢエントリが決定される。また、ＴＬＢのエントリ数はアドレス変換テーブルのサイズよりも小さいため、ＴＬＢにミスし、かつ、ＴＬＢに空きエントリがない場合に、ＴＬＢエントリの置き換えが実施される。
プロセッサの使用する論理アドレスには局所性が高く、また、最近使用されたもの程、再度使用される可能性が高いという挙動があるため、置き換えアルゴリズムとしてはＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）アルゴリズム、すなわち、最近、最も使われていないＴＬＢを置き換えるアルゴリズムが使用されることが多い。
【００１９】
ただし、データ転送においては、書き込み対象アドレスが単調に増加することが多く、過去に使用された主記憶アドレスが再利用される可能性が低いという、プロセッサのアクセスとは大きく異なる挙動を示すため、ＴＬＢエントリの置き換えアルゴリズムをＬＲＵとすると、ＴＬＢヒット率が低下するという第一の問題がある
。
【００２０】
さらに、通信装置の受信部が保持するＴＬＢは複数の通信相手に使用されるため、論理アドレスのみで使用されるＴＬＢエントリを使用すると、一つの通信相手の送信装置からのデータ転送により通信装置の受信部のＴＬＢエントリがすべて使用され、他の通信相手の送信装置からのデータ通信で使用していたＴＬＢエントリが置き換えられるため、ＴＬＢヒット率が低下するという第二の問題がある。
【００２１】
本発明は、複数の計算装置が通信装置を介して他の計算装置に通信する計算機システムにおいて、ユーザ・レベル通信を実現するためのアドレス変換装置としてＴＬＢを通信装置内に実装した装置のＴＬＢのヒット率を向上し、効率的に使用することのできる方式の提供を目的とする。
【００２２】
【課題を解決するための手段】
本発明のデータ転送方法およびネットワークシステムは、複数の計算機がパケット交換網を介して接続されるネットワークシステムで行なわれるデータ転送方法において、
前記複数の計算機のそれぞれに、
主記憶装置と、
通信処理命令を発行するプロセッサと、
前記プロセッサからの通信命令を処理し、前記パケット交換網を介して他の計算機と通信を行う通信装置とを設け、
前記通信装置には、
交換網に通信を送信する送信部と交換網から通信を受信する受信部それぞれがＴＬＢエントリを複数保持するＴＬＢを設け、  前記プロセッサは送り元の計算機の情報を含む前記通信命令を発行し、前記受信部は、使用するＴＬＢエントリを送り元の計算機に応じて決定させることを特徴とする。
【００２３】
前記送り元計算機の情報は、送信部が通信命令に含まれる送り元計算機情報を通信パケットに付加するか、あるいは通信装置が保持する自計算機の情報を通信パケットに付加する。
【００２４】
また、通信装置は、送り元の計算機から同一宛先に対する同時に処理する通信命令の数を制限して処理を行ない、送信部が同一の宛先に対して同時に複数の通信命令を処理することにより、送信をオーバラップさせ、かつ、高いＴＬＢヒット率を実現することができる。
【００２５】
さらに、通信装置は、送り元の計算機における処理命令の識別番号を通信パケットに付与することとし、受信部は、前記処理命令の識別番号が同じである通信パケットについては同一のＴＬＢエントリを使用することにより、受信部が使用するＴＬＢエントリ選択論理を簡素化することができる。
【００２６】
「作用」
本発明では、通信装置の受信部に実装されるＴＬＢのヒット率向上を目的とし、通信装置の受信部のＴＬＢにおいてＴＬＢエントリを通信要求の送り元計算機毎に独立した１エントリあるいは複数の専用ＴＬＢエントリを保持し、同一の送り元からの通信の宛先論理アドレスがＴＬＢにミスし、該送り元計算機専用に確保されたＴＬＢエントリに空きがない場合、前記送り元計算機専用ＴＬＢエントリのみを置き換え対象とする方式としている。
【００２７】
前記方式により、他の送り元からの通信による不要なＴＬＢエントリ追い出しを回避でき、かつ、ＴＬＢの置き換え対象を容易に選択することを可能にする。
【００２８】
さらに、通信要求の送り元計算機において、同一の宛先計算機に対する通信命令の同時処理命令数を、規定された数の命令以下に制限し、受信側の通信装置に上記同時処理命令数以上のＴＬＢエントリを実装し、かつ、前記通信命令毎にＴＬＢエントリを専用に割り当てることにより、複数の送り元計算機からの、それぞれ複数の通信命令により送信される通信パケットの受信時に、前記の通信で使用中のＴＬＢエントリの追い出しが発生する可能性を低下させ、ＴＬＢヒット率を向上させる。
【００２９】
【発明の実施の形態】
次に、本発明の実施例について図面を参照して説明する。
【００３０】
図１は本発明によるシステムの一実施例の構成を示すブロック図である。
【００３１】
図１に示されるシステムは、計算機１００ａ〜１００ｚが交換網５００を介して相互に接続されて通信を行うシステムであり、計算機１００ａ〜１００ｚのそれぞれは、演算処理および通信処理の指示を行うプロセッサ２００ａ〜２００ｚ、プロセッサ２００ａ〜２００ｚが処理を実施するためのデータを保持する主記憶装置３００ａ〜３００ｚと、プロセッサ２００ａ〜２００ｚからの通信命令を処理して交換網５００を通して通信処理を行う通信装置４００ａ〜４００ｚから構成され、通信装置４００ａ〜４００ｚはそれぞれ論理アドレスを物理アドレスに変換するためのＲＴＬＢ４１０ａ〜４１０ｚと、ＳＴＬＢ４７０ａ〜４７０ｚを内包している。
【００３２】
図１２は各計算機の内部構造を示すブロック図であり、図１２では代表して計算機１００ａ，１００ｂが示され、内部構造について計算機１００ａのみが示されている。また、各計算機の動作はすべて同様のものであるため、以下の説明では、図示されているプロセッサ２００ａ、主記憶装置３００ａ、主記憶装置３００ａ内のアドレス変換用のページテーブル３１０ａ、通信装置４００ａ、ＲＴＬＢ４１０ａ、ＳＴＬＢ４７０ａ、について、それぞれプロセッサ２００、主記憶装置３００、ページテーブル（Ｐａｇｅ  Ｔａｂｌｅ）３１０、通信装置４００、ＲＴＬＢ４１０、ＳＴＬＢ４７０として説明する。
【００３３】
通信装置４００は、送信部４５０と、送信部用ＴＬＢであるＳＴＬＢ４７０と、受信部用ＴＬＢであるＲＴＬＢ４１０と、受信部４６０と、から構成されている。
【００３４】
送信部４５０は、プロセッサ２００からの指示により、通信命令を主記憶装置３００から取り出し、通信命令内の送り元データの論理アドレスを、ページテーブル３１０の一部の内容を保持するＳＴＬＢ３７０により物理アドレスに変換した後に送信データを主記憶装置３００から取り出し、前記取り出したデータと通信命令から通信パケットを生成し、交換網５００を経由して宛先計算機に送付する。
【００３５】
ＳＴＬＢ４７０は、送信部４５０から受け取った論理アドレスを物理アドレスに変換するために前記論理アドレスと、主記憶装置３００内のページテーブル３１０から取り出したページ属性を含むページエントリを一時的に保持する。
【００３６】
ＲＴＬＢ４１０は、通信パケット内の宛先論理アドレスを物理アドレスに変換するために宛先論理アドレスと、主記憶装置３００内のページテーブル３１０から取り出したページ属性を含むページエントリを一時的に保持する。
【００３７】
受信部４６０は、交換網５００から通信パケットを受け取り、ＲＴＬＢ４１０を使用して宛先論理アドレスを宛先物理アドレスへの変換を行った後、宛先物理アドレスに前記通信パケット内のデータを主記憶装置３００に書き込む。
【００３８】
図４を用いてページテーブル３１０の内容を説明する。通信を実施するそれぞれのプロセス毎にページテーブルを確保し、それぞれを主記憶装置３００上に配置し、ページテーブル３１０を論理アドレスから物理アドレスへの変換に使用する。論理アドレスはプロセス毎に独立に存在するため、プロセス番号により使用するページテーブル３１０を決定する。論理アドレスは予め決められたサイズのページ内のオフセットと、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐａｇｅ  Ｎｕｍｂｅｒ）と呼ぶ論理ページ番号に分割する。
例えば、６４ｂｉｔの論理アドレス（６３−０）に対して４ＫＢｙｔｅのページサイズである場合、ＶＰＮは論理アドレス（６３−１２）を示し、オフセットは論理アドレス（１１−０）を示す。アドレス変換後の物理アドレスは、ＶＰＮをＰＰＮ（Ｐｈｙｓｉｃａｌ  Ｐａｇｅ  Ｎｕｍｂｅｒ）と呼ぶ物理ページ番号に置き換えたものであり、オフセットは変更されない。
【００３９】
ページテーブル３１０は複数のページ・エントリ３３０から構成され、前記ＶＰＮが使用するＴＬＢのページ・エントリ番号を示す。すなわち、ＶＰＮが３０であれば、３０番のＴＬＢのページ・エントリが使用される。ページ・エントリ３３０は、アドレス変換後のページ番号であるＰＰＮ３２０と、アドレス変換後のページがリード可能であることを示すリード可能属性３２２と、前記ページがライト可能であることを示すライト可能属性３２３と、ページ・エントリの内容が有効であることを示すエントリ有効フラグ３２１と、から構成される。
【００４０】
図１０は、プロセッサ２００が通信装置４００に指示する通信命令書式の一例を示す図である。
【００４１】
一つの通信命令８００は、命令の機能コードを示す命令コード８１０、宛先の計算機を示す宛先計算機番号８１１、宛先のプロセスを示す宛先プロセス番号８１２、宛先プロセスにおけるデータの書き込みアドレスを示す宛先論理アドレス８１３、転送するデータの長さを示す転送長８１４、送り元計算機番号８１５、転送するデータの送り元プロセス内での論理アドレスを示す送り元アドレス８１６、送り元のプロセスを示すプロセス番号８１７から構成される。
命令コード８１０には、宛先計算機内の論理アドレスを指定する場合はＲｅｍｏｔｅ  ＤＭＡＷｒｉｔｅの機能コードを、宛先計算機内の論理アドレスを受信部が内部に保持しているアドレスを使用する場合はＳｅｎｄの機能コードを指定し、前記命令コード８１０がＳｅｎｄを示している場合は、前記宛先論理アドレス８１３は無効である。
【００４２】
図１１は、図１０に示された通信命令８００を受けた通信装置４００が交換網５００に送信を行い、あるいは、交換網５００から受信する通信パケットの書式の一例を示す図である。
【００４３】
図１０に示された一つの通信命令８００は、通信の信頼性の確保と通信装置４００の構造簡素化のために、複数の通信パケット９００に分割して送信する。
【００４４】
通信パケット９００は、通信命令の命令コード８１０を設定した命令コード９１０と、通信命令８００の宛先計算機番号８１１を設定する宛先計算機番号９１１と、通信命令８００の宛先プロセス番号８１２を設定する通信相手のプロセスを示すプロセス番号（ＰＰＩＤ：Ｐａｃｋｅｔ  Ｐｒｏｃｅｓｓ  ＩＤ）９１２と、該パケットの宛先論理アドレスを設定する宛先プロセス内のデータの書き込み先を示す宛先論理アドレス（ＰＶＡ：Ｐａｃｋｅｔ  Ｖｉｒｔｕａｌ  Ａｄｄｒｅｓｓ）９１３と、該パケットのデータの長さを設定するデータ長９１４と、通信命令８００の送り元計算機番号８１５を設定する送り元識別のための送り元計算機番号９１５と、宛先に書き込まれるデータ９１７から構成される。
【００４５】
通信装置４００の交換網５００への送信部４５０において、同時に同一宛先に対する通信命令最大同時処理数を２個以上とする場合は、送信部４５０は、同時に処理する命令の識別番号を示す命令識別番号９１６を通信パケットに追加し、受信部４６０において使用するＴＬＢエントリを指定することにより、送信部４５０が同一宛先に対する複数通信命令の同時処理時のＴＬＢヒット率を向上させる。
【００４６】
図２は、通信装置４００が実装するＲＴＬＢ４１０の構成を示す図である。ＲＴＬＢ４１０は交換網からの受信パケットの送り元計算機毎にそれぞれ１エントリあるいは複数エントリが用意された複数のＴＬＢエントリから構成されている。１つのＴＬＢエントリはＴＬＢエントリ有効フラグ４２０、プロセス番号（ＴＰＩＤ：ＴＬＢ  Ｐｒｏｃｅｓｓ  ＩＤ）４２１、仮想ページ番号（ＴＶＰＮ：ＴＬＢ  Ｖｉｒｔｕａｌ  Ｐａｇｅ  Ｎｕｍｂｅｒ）４２２、および物理ページ番号（ＴＰＰＮ：ＴＬＢ  Ｐｈｙｓｉｃａｌ  Ｐａｇｅ  Ｎｕｍｂｅｒ）４２３から構成されている。
【００４７】
図３は、通信装置４００における論理アドレスを物理アドレスに変換するアドレス変換方式を示す図である。
【００４８】
図１１に示した通信パケット９００を受け付けた受信部４６０は、宛先プロセス番号（ＰＰＩＤ：Ｐａｃｋｅｔ  Ｐｒｏｃｅｓｓ  ＩＤ）９１２と、宛先論理アドレス（ＰＶＡ：Ｐａｃｋｅｔ
Ｖｉｒｔｕａｌ  Ａｄｄｒｅｓｓ）９１３とから物理アドレスを生成する。
【００４９】
ＰＶＡ９１３は仮想ページ番号（ＰＶＰＮ：Ｐａｃｋｅｔ  Ｖｉｒｔｕａｌ  Ｐａｇｅ  Ｎｕｍｂｅｒ）９２１と、オフセット（Ｏｆｆｓｅｔ）９２２とから構成される。ＰＰＩＤ９１２およびＰＶＰＮ９２１が、通信パケット９００に対応するＴＬＢエントリのＴＰＩＤ４２１およびＴＶＰＮ４２２と比較され、上記比較結果が共に一致し、かつ、該ＴＬＢエントリ有効フラグ４２０が有効を示していた場合に、ＴＬＢヒットとし、ＴＰＰＮ４２３とＯｆｆｓｅｔ９２２から変換後物理アドレス９３２が生成される。
【００５０】
上記手順によりＰＰＩＤ９１２と、ＰＶＡ９１３とから物理アドレス９３２にアドレス変換が行われる。
【００５１】
図４は、上記比較結果が不一致であった場合、あるいはＴＬＢエントリ有効フラグ４２０が有効を示していなかった場合、すなわちＴＬＢミスの場合のアドレス変換手順を説明するための図である。
【００５２】
通信装置４００を使用するソフトウエアは、論理アドレスを物理アドレスに変換するためのページテーブル３１０を主記憶装置３００内の通信装置４００がアクセス可能な領域内に予め確保する。１プロセスに対し１つのページテーブルが使用される。ページテーブル３１０は、複数のページ・エントリ３３０から構成され、前記ページ・エントリの１エントリは１ページのアドレス変換に使用され、変換する論理アドレスの一部である受信パケットのＰＶＰＮ９２１の値毎に１つの物理ページ番号（ＰＰＮ：Ｐｈｙｓｉｃａｌ  Ｐａｇｅ  Ｎｕｍｂｅｒ）３２０と、アドレス変換後のページがリード可能であることを示すリード可能属性３２２と、前記ページがライト可能であることを示すライト可能属性３２３と、ページ・エントリ３３０の内容が有効であることを示すエントリ有効ビット３２１と、から構成される。
【００５３】
アドレス変換によって生成される物理アドレスは前記ＰＰＮ３２０と、論理アドレスのページ内アドレスであるオフセットを組み合わせることによって生成される。例えば、論理アドレスが６４ビット、ページサイズが４ＫＢｙｔｅ、物理アドレスが５０ビットであった場合、前記ＰＰＮ３２０が物理アドレス（４９−１２）となり、前記オフセット（１１−０）が物理アドレス（１１−０）となる。ここで（）内はビット位置を示し（）内の”−”はビット範囲を示し、”−”の左側がＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ），  ”−”の右側がＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）を示す。つまり（６３−１２）はビット位置６３からビット位置１２までの５２ビットを示す。
【００５４】
前記ＴＬＢミスが発生した場合、通信装置４００は通信パケット９００のＰＰＩＤ９１２、ＰＶＰＮ９２１をＴＬＢミスしたエントリのそれぞれＴＰＩＤ４２１、ＴＶＰＮ４２２に登録し、ＰＶＰＮ９２１によりページ・テーブル３１０から読み出したページ・エントリ３３０を上記ＴＬＢエントリのＴＰＰＮ４２３更新し、ＴＬＢ有効フラグ４２０に前記読み出したページ・エントリ有効フラグ３２１の値をセットする。
【００５５】
上記ＴＬＢエントリ有効フラグ４２０をセットした後、通信パケット９００により、ＲＴＬＢ４１０を再索引する。
【００５６】
ＴＰＩＤ４２１、ＴＶＰＮ４２２には通信パケット９００内のそれぞれＰＰＩＤ９１２、ＰＶＰＮ９２１が登録されており、ＴＬＢエントリ有効フラグ４２０が有効を示す場合は、通信パケット９００はＴＬＢにヒットする。再索引によるＴＬＢヒット後のアドレス変換は初回索引時にＴＬＢにヒットした場合のアドレス変換と同様である。前記ＴＬＢエントリ有効フラグ４２０が無効を示す場合はアドレス変換の例外が発生し、パケットを破棄する、あるいはパケット送信元に不正を通知する等の例外処理を実施する。
【００５７】
図５は、ＴＬＢ索引アドレスを計算する方法を説明するための図である。
【００５８】
受信部４６０が、送り元計算機番号９１５、ＰＰＩＤ９１２、ＰＶＡ９１３および宛先に書き込むための通信データ（Ｄａｔａ）９１７を含む通信パケット９００を受け取った後、、送り元計算機番号９１５の値がＮであったとすると、ＴＬＢエントリＮを取り出す。
【００５９】
ＰＶＡ９１３はＰＶＰＮ９２１とＯｆｆｓｅｔ９２２から構成される。ＴＬＢエントリＮは送り元計算機専用に確保されたＴＬＢエントリであり、他の送り元計算機からの通信によって追い出されることはない。宛先アドレスが単調増加することが多いデータ転送の特徴を考慮すると、上記ＴＬＢエントリは、宛先アドレスのＰＶＰＮ９２１の値に変更があるまではＴＬＢエントリＮにヒットし続ける。前記のＴＬＢ構成により、他の送り元計算機からのアクセスによって有効なＴＬＢエントリが追い出されない。
【００６０】
図６は、命令識別番号９１６を用いて、通信装置４００の送信部４５０が同一宛先に対して複数の通信命令を処理する実施例を説明するための図である。
【００６１】
本実施例に示される通信パケット９００’は、図５で説明したＴＬＢ索引方式で用いられた通信パケット９００に、送信部が同一宛先に対して同時に処理する通信命令の識別番号である９１６が追加し、ＴＬＢの索引アドレスの生成に使用することを特徴とし、ＴＬＢ索引アドレスＮに、通信パケット９００’内の命令識別番号９１６を使用すること以外は上記図５で説明した方式と同様である。
【００６２】
通信パケット９００’を受け取った通信装置４００の受信部４６０は、送り元計算機番号９１５の値がｊ、命令識別番号９１６の値がｋ、通信装置４００の送信部が同一宛先に対して同時に処理する通信命令の数をＰｍａｘとすると、ＴＬＢエントリの索引アドレスＮを下記の式（１）により計算する。
【００６３】
Ｎ  ＝  Ｐｍａｘ  ×  ｊ  ＋  ｋ    （１）
ＴＬＢ索引アドレスＮに通信パケット９００’の命令識別番号９１６を使用することにより、通信装置４００の送信部４５０からの同一宛先計算機の通信装置４００へ同時に複数命令により生成された通信パケットを入れ換えて送信した場合にもＴＬＢエントリの追い出しが避けられ、ＴＬＢのヒット率を向上させることができる。
【００６４】
図１３を用いてＴＬＢ索引および置き換え動作を説明する。
【００６５】
Ｓ１００：ＴＬＢ索引開始。交換網５００から受信したパケット９００の論理アドレス変換動作を開始する。
【００６６】
Ｓ１１０：”ＴＬＢ索引アドレス生成”によりＴＬＢの索引アドレスを生成する。前記同時処置通信命令数をＰｍａｘ、通信命令識別番号９１６の値をｋ，  送り元計算機番号をｊとすると、前記式（１）から、
ＴＬＢ索引アドレス  ＝  Ｐｍａｘ  ｘ  ｊ  ＋  ｋ
となる。前記ＴＬＢ索引アドレスに登録されているＴＬＢエントリを対象エントリとして以下の処理を実施する。
【００６７】
Ｓ１２０：”ＰＶＰＮ  ＝  ＴＶＰＮ？”において、ＴＬＢのヒット判定が実施され、前記受信パケット９００の宛先プロセス番号ＰＰＩＤ９１２と、宛先論理アドレス９１３の仮想ページ番号であるＰＶＰＮ９２１とを、それぞれＴＬＢの対象エントリのプロセス番号ＴＰＩＤ４２１、仮想ページ番号ＴＶＰＮ４２２の値と比較する。前記ＰＩＤとＶＰＮの両方が一致し、かつ、ＴＬＢエントリ有効フラグ４２０が有効を示していた場合はＴＬＢヒットとなりＳ１３０へ、前記以外の場合はＴＬＢミスとなりＳ２００へ移行する。
【００６８】
前記はＴＬＢをダイレクトマップ方式で構成した場合の処理を示したものである。ＴＬＢをセット・アソシアティブ方式で構成した場合は、前記比較は全セットのＴＬＢエントリのＴＰＩＤとＴＶＰＮとを、受信パケットのＰＶＰＮとＰＰＩＤと比較する。前記複数のＴＬＢエントリ中、いずれか１つのＴＬＢエントリの一致が検出され、かつ、該ＴＬＢエントリのＴＬＢエントリ有効フラグ４２０の値が有効を示していた場合にＴＬＢヒットとし、ＴＬＢヒットでない場合をＴＬＢミスとする。
【００６９】
さらに、ＴＬＢをフル・アソシアティブ方式で構成した場合は、全ＴＬＢエントリのＴＶＰＮと受信パケットのＰＶＰＮを比較すること以外は前記セット・アソシアティブ方式と同様である。
【００７０】
Ｓ１３０：前ステップＳ１２０にてＴＬＢヒットの場合は、ＴＬＢの対象エントリの物理ページ番号ＴＰＰＮ４２３と、受信パケットの論理アドレスのページ内アドレスであるオフセット９２２の値から物理アドレスを生成する。
【００７１】
Ｓ５００：受信パケットの物理アドレス変換がステップＳ１３０にて完了し、ＴＬＢ動作が終了する。
【００７２】
Ｓ２００：ステップＳ１２０においてＴＬＢミスした場合、ＴＬＢの対象エントリ有効フラグ４２０が有効を示しているかをチェックする。有効であった場合はＳ２１０へ、無効であった場合はＳ２２０へ移行する。
【００７３】
Ｓ２１０：ＴＬＢ内の対象エントリのエントリ有効フラグ４２０を無効を示す値にクリアし、エントリを無効にする。
【００７４】
前記はＴＬＢをダイレクトマップ方式で構成した場合を示す。ＴＬＢをセット・アソシアティブ方式あるいはフル・アソシアティブ方式で構成した場合は、複数のＴＬＢエントリ中の１エントリをＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）方式等で選択し、前記選択されたエントリ有効フラグ４２０を無効を示す値にクリアし、以後
の処理対象エントリとする。
【００７５】
Ｓ２２０：ＴＬＢ内の対象エントリの論理ページ番号ＴＶＰＮ４２２に受信パケットのＰＶＰＮ９２１の値を設定する。
【００７６】
Ｓ２３０：ページ・テーブル３１０からページ・エントリ３３０を取り出す。ページ・エントリ３３０は受信パケットの論理ページ番号ＰＶＰＮ９２１により索引される。
【００７７】
Ｓ２４０：ページ・エントリ３３０から取り出した、物理ページ番号ＰＰＮ３２０および属性フラグのリード可能属性３２２と、ライト可能属性３２３と、ページ・エントリ有効フラグ３２１をＴＬＢの対象エントリに登録する。
【００７８】
Ｓ２５０：前記読み出したページ・エントリ有効フラグ３２１の値が有効を示し、かつ、前記ライト可能属性３２３が”１”であった場合、再度ＴＬＢを索引するためＳ１１０へ移行する。前記エントリ有効フラグ３２１の値が無効を示すか、あるいは、前記ライト可能属性３２３が”０”、すなわちライト不可であった場合は、ページ変換が失敗し、受信パケットを破棄し処理を終了するため、Ｓ５００へ移行する。
【００７９】
次に、通信装置４００の同一宛先計算機への複数通信命令の同時並行処理について説明する。
【００８０】
図７に示されるように、通信装置４００ａが交換網５００を通して通信装置４００ｂに通信を行う。図８は、通信装置４００ａが処理しようとする通信命令を示しており、通信装置４００ａはプロセッサからの要求により、宛先が通信装置４００ｂである通信命令１〜４の処理を実行する。通信命令１、２、３、４はそれぞれ５、３、３、１個のパケットに分割されて交換網５００を通して通信装置４００ｂに送られる。
【００８１】
図１４は通信装置４００ａが交換網５００を通して通信装置４００ｂに送信し、複数の通信命令から生成される通信パケットが通信命令の順序で送信される場合のパケット送信例を示す。通信命令１，２，３，４はそれぞれ５個、３個，３個，１個のパケットを送信する。
【００８２】
送信順序１〜５において通信命令１が通信パケット１−１〜１ー５の５パケットに分割して送信され、送信順序６〜８において通信命令２が通信パケット２−１〜２ー３の３パケット、送信順序９〜１１において通信命令３が通信パケット３−１〜３−３の３パケット、、送信順序１２において通信命令４が通信パケット４−１の１パケットが送信されている。通信命令１、２，３，４の最後のパケットはそれぞれ送信順序５，８，１１，１２に送信している。図１４の例においては、同時通信命令処理数が”２”であり、通信パケット内命令識別番号が１あるいは２のいずれかの値を取り、通信命令１，３においては前記識別番号の値が１，通信命令２，４においては前記識別番号の値が２である。
【００８３】
図９は、通信装置４００ａが交換網５００を通して通信装置４００ｂに送信し、複数の通信命令から生成される通信パケットがお互いに入り組んだ順序で送信された送信例を示す。
【００８４】
図９に示される例では、通信装置４００ａが同時に同一宛先に対して処理可能な通信命令の数が２であり、交換網５００に送信するパケットの生成元の未完了通信命令数は最大”２”である。前記未完了通信命令とは、通信命令の最終パケットが交換網に送信されていない通信命令を意味する。また、図９の通信命令１、２，３，４はそれぞれ図１４の通信命令１，２，３，４と同じ数のパケットに分割される。すなわち、通信命令１、２，３，４はそれぞれ５個，３個，３個，１個のパケットを送信する。
【００８５】
送信順序１および２において、通信装置４００ａは通信命令１により生成された通信パケット１−１，１−２についての命令識別番号を”１”として、交換網５００に送り、命令識別番号”１”を使用中とする。
【００８６】
送信順序３，４において、通信装置４００ａは通信命令１の全パケットを未送出であるが、通信命令２から生成された通信パケット２−１，２−２の準備ができており、かつ、通信命令２を処理しても同時送信命令数制限以下であるため、通信パケット２−１，２−２を既に使用中の命令識別番号である”１”とは異なる命令識別番号、すなわち命令識別番号”２”を付加して、交換網５００に送付し、命令識別番号”２”を使用中とする。
【００８７】
送信順序５では、通信装置４００ａは通信命令１用の通信パケット１−３を送付する。
【００８８】
送信順序６において、通信装置４００ａは通信命令２から生成された最後の通信パケット２−３を交換網５００に送付する。通信パケット２−３は通信命令２から生成される最後のパケットであるため、通信パケット２−３送付後に通信装置４００ａの宛先４００ｂに対する同時通信命令処理数が１個となり、宛先４００ｂに対して新たに通信命令の処理が実行可能となり、命令識別番号”２”を未使用状態とする。
【００８９】
送信順序７において、通信装置４００ａは新たに通信命令３の処理を開始し、通信パケット３−１に未使用の命令識別番号である命令識別番号”２”を付加して交換網５００に送付する。送信順序８，９においては通信命令１から生成された通信パケット１−４，１−５を送付する。通信パケット１−５は通信命令１から生成された最後の通信パケットであるため、通信命令１のパケット送信処理が完了し、通信装置４００ａの宛先通信装置４００ｂに対する同時命令処理数が１個になり、命令識別番号”１”が未使用となる。
【００９０】
送信順序１０において、通信装置４００ａは通信命令３の通信パケット３−２が交換網５００に送付する。
【００９１】
送信順序１１において、通信装置４００ａは新規に通信命令４の処理により生成された通信パケット４−１が未使用命令識別番号”１”が付加されて交換網５００に送付される。通信パケット４−１は通信命令４の最後の通信パケットであるため、命令識別番号”１”は未使用状態となる。
【００９２】
送信順序１２において、通信命令３の最後の通信パケット３−３を交換網５００に送付し、命令識別番号”２”を未使用状態とする。
【００９３】
次に、上記ＴＬＢが追い出されることによるＴＬＢヒット率低下の問題を解決する通信パケット送信部４５０における処理について説明する。
【００９４】
一つの通信命令においては、宛先論理アドレスは単調に増加することが多いというデータ転送の特徴、および通信パケットの受信部において、ＴＬＢエントリが送り元毎に決められた個数だけ確保されていることを考慮し、送信部４５０では同一宛先に対する同時に処理する通信命令の個数を上記制限数以下に抑えることにより、上記ＴＬＢヒット率を向上させる。さらに、送信部４５０が同時に処理する命令が使用する受信部４６０のＴＬＢエントリを指定するため、各パケットに命令識別番号９１６を付加することにより、同一通信命令８００により生成された通信パケット９００が通信装置４００の受信部４６０の同一ＴＬＢを使用する方式とする。
【００９５】
図１７を用いて送信部４５０の構成を詳細に説明する。送信部４５０はプロセッサから送信命令処理開始指示を受け取り、主記憶装置３００から送信命令を取り出し、前記取り出した送信命令をパケット生成部に送信する命令処理部４５１と、命令処理部から送信命令を受け取り、送信データバッファの論理アドレスをＳＴＬＢ４７０を使って物理アドレスに変換した後に主記憶装置３００から送信データを読み出し、前記読み出したデータから送信パケットを生成し、交換網５００に送信するパケット生成部４５２から構成される。
【００９６】
図１８を用いて同時送信命令数制限を２とした場合の送信部の動作を詳細に説明する。
【００９７】
命令処理開始：処理中命令数の初期値は”０”である。
【００９８】
Ｎ０１０：プロセッサ１００から命令処理部４５１に通信命令処理指示があった場合はＮ１００へ。
前記以外の場合はＮ０１０へ。
【００９９】
Ｎ１００：命令処理部４５１が主記憶装置３００から送信命令取り出す。
【０１００】
Ｎ１１０：命令処理部４５１が既にパケット生成部４５２へ送信指示をした送信命令の中で、新たに送信を完了した送信命令があればＮ１２０へ。前記完了済み送信命令がなければＮ１３０へ。
【０１０１】
Ｎ１２０：パケット生成部４５２から送信命令の完了通知を受け取り、前記完了
通知の数を命令処理部４５１内の処理中命令数から減算する。処理中命令数−＝完了命令数は、処理中命令数＝処理中命令数−完了命令数を省略表記したもの。
【０１０２】
Ｎ１３０：処理中命令数が２未満であればＮ１４０へ。前記以外の場合はＮ１１０へ。
【０１０３】
Ｎ１４０：命令処理部４５１からパケット生成部４５２へ通信命令を転送する。
【０１０４】
命令処理終了：１つの命令に対する命令処理部４５１の処理終了。
【０１０５】
命令処理部４５１から通信命令を受け取ったパケット生成部４５２は、通信命令８００内の送り元論理アドレス８１３をＳＴＬＢ３７０を使用して物理アドレスに変換し、転送長８１４の長さの送信データを主記憶装置３００から取り出し、前記データを規定の長さに分割し、分割されたそれぞれのデータからパケットを生成して交換網５００へ送信する。
【０１０６】
同時命令発行数制限はハードウェアで実装するＴＬＢのエントリ数が最も大きな制約となる。すなわち、送信部が同時に処理可能な命令数は受信側および送信側に実装可能なＴＬＢのエントリ数に依存する。送信部は同時処理可能な命令数のＴＬＢエントリを保持すれば十分なＴＬＢのヒット率が得られる。受信側は、同時処理可能な命令数×送り元計算機の数のＴＬＢエントリ、を保持すれば十分なＴＬＢのヒット率が得られる。
例えば、同時処理命令数が２、交換網５００で１０台の計算機を接続したとすると、受信部のＴＬＢエントリ数としては２×１０＝２０エントリ実装すれば十分である。また、同時処理命令数が１では大きなデータサイズの転送を実施した場合に、後続の小さいデータサイズの転送が長時間待たされることになるため、通常は同時処理命令数を２以上とする。
【０１０７】
次に、図１５、図１６を用いて同時命令数制限によりヒット率が向上する効果について説明する。
【０１０８】
先に図１５を用いて、同時送信命令制限のない場合の受信側ＴＬＢの動作を詳細に示す。
【０１０９】
図１５では受信側のＴＬＢエントリ数を１、送信命令１と送信命令２がそれぞれ２個のパケットを送信し、送信命令１がパケット１−１とパケット１−２，送信命令２がパケット２−１とパケット２−２を生成した場合の動作を示す。送信命令１と送信命令２の宛先アドレス８１３は異なるページを使用し、パケット１−１とパケット１−２は同一ページ内のアドレスへの転送とし、パケット２−１とパケット２−２は同一ページ内のアドレスへの転送とする。
【０１１０】
開始
Ｔ１１：パケット受信前のＴＬＢは無効状態。
Ｐ１１：パケット１−１を受信
Ｔ１２：ＴＬＢミス（ミス１回目）
Ｔ１３：ＴＬＢに送信命令１用の変換情報を登録する。
Ｐ１２：パケット２−１を受信
Ｔ１４：ＴＬＢミス（ミス２回目）。送信命令２と送信命令１は異ページを使用する。
Ｔ１５：ＴＬＢには送信命令２用の変換情報を登録する。
Ｐ１３：パケット１−２を受信
Ｔ１６：ＴＬＢミス（ミス３回目）。送信命令１と送信命令２は異ページを使用する。
Ｔ１７：ＴＬＢに送信命令１用の変換情報が登録される。
Ｐ１４：パケット２−２を受信。
Ｔ１８：ＴＬＢミス（ミス４回目）。送信命令２と送信命令１は異ページを使用する。
Ｔ１９：ＴＬＢには送信命令２用の変換情報を登録する。
終了
本動作においてＴＬＢミスが４回発生した。
【０１１１】
図１６を用いて、同時送信命令制限のある場合の受信側ＴＬＢの動作を詳細に示す。
【０１１２】
図１６では送信側の同時命令制限数が１であること以外は図１５と同じであり、受信側の
ＴＬＢエントリ数１、送信命令１と送信命令２がそれぞれ２個のパケットを送信し、送信命令１がパケット１−１とパケット１−２，送信命令がパケット２−１とパケット２−２を生成した場合の動作を示す。送信命令１と送信命令２の宛先アドレスは異なるページを使用し、パケット１−１とパケット１−２は同一ページ内のアドレスへの転送とし、パケット２−１とパケット２−２は同一ページ内のアドレスへの転送とする。
【０１１３】
開始
Ｔ２１：パケット受信前のＴＬＢは無効状態。
Ｐ２１：パケット１−１を受信
Ｔ２２：ＴＬＢミス（ミス１回目）
Ｔ２３：ＴＬＢに送信命令１用の変換情報を登録する。
Ｐ２２：パケット１−２を受信
Ｔ２４：ＴＬＢヒット（ヒット１回目）。パケット１−１とパケット１−２は同ページ使用。
Ｔ２５：ＴＬＢには送信命令１用の変換情報が登録済み。
Ｐ２３：パケット２−１を受信
Ｔ２６：ＴＬＢミス（ミス２回目）。送信命令１と送信命令２は異ページを使用する。
Ｔ２７：ＴＬＢに送信命令２用の変換情報が登録される。
Ｐ２４：パケット２−２を受信。
Ｔ２８：ＴＬＢヒット（ヒット２回目）。パケット２−１とパケット２−２は同ページ使用。
Ｔ２９：ＴＬＢには送信命令２用の変換情報が登録済み。
終了
本動作において、ＴＬＢミス２回と、ＴＬＢヒット２回が発生した。
【０１１４】
命令数制限をしない図１５ではＴＬＢヒットが４パケット中０回、すなわちＴＬＢヒット率は０％。一方、命令数制限をした図１６においてはＴＬＢヒットが４パケット中２回、すなわちＴＬＢヒット率５０％。従って、命令数制限によりヒット率を向上させる効果が見られた。
【０１１５】
【発明の効果】
本発明は上記のように構成されているので、以下に記載するような効果を奏する。
【０１１６】
複数の送り元からの通信パケットに対して、それぞれ独立にＴＬＢのエントリを割り当てることにより、異なる送り元通信装置からの通信パケットの宛先論理アドレスによってＴＬＢエントリが追い出されない効果がある。
【０１１７】
また、通信パケットの送り元計算機からの同一宛先計算機へ同時に処理する通信命令の数を制限する場合には、通信パケットの受信側においては、一つの送り元に対して保持すべきＴＬＢエントリの数を上記制限以下に押さえることが可能となるとともに、上記同時処理コマンド数分のＴＬＢエントリを保持される。これにより、常に送り元計算機が送信中の通信命令に対応するＴＬＢエントリを保持し続けることとなり、ＴＬＢヒット率を向上させる効果がある。
【０１１８】
また、通信パケット上に送り元通信装置の処理命令識別番号を付加し、受信部で使用するＴＬＢエントリを指定する場合には、送り元通信装置が処理中の１つの通信命令が常に同一ＴＬＢエントリを使用することに加えて、データ転送における１つの通信命令の宛先論理アドレスが単調増加する可能性が高いこととから、送り元が同時に複数の同一宛先への通信命令の処理を実行させることが可能となり、かつ、ＴＬＢヒット率を向上させる効果がある。
【図面の簡単な説明】
【図１】本発明の計算機システム
【図２】ＴＬＢ構成
【図３】アドレス変換方式
【図４】ページテーブル構成
【図５】ＴＬＢ索引方式その１
【図６】ＴＬＢ索引方式その２
【図７】通信方式
【図８】通信装置の処理命令例
【図９】通信装置のパケット送信例
【図１０】通信命令書式
【図１１】通信パケット書式
【図１２】計算機の内部構造を示すブロック図である。
【図１３】ページテーブルの内容を説明するための図である。
【図１４】ページテーブルの内容を説明するための図である。
【図１５】同時命令数制限によりヒット率が向上する効果について説明するための図である。
【図１６】同時命令数制限によりヒット率が向上する効果について説明するための図である。
【図１７】送信部４５０の構成を詳細に示すブロック図である。
【図１８】同時送信命令数制限を２とした場合の送信部の動作を示すフローチャートである。
【符号の説明】
１００ａ、１００ｂ、１００ｚ  計算機
２００ａ、２００ｂ、２００ｚ  プロセッサ
３００ａ、３００ｂ、３００ｚ  主記憶装置
３１０  ページ・テーブル
３２０  物理ページ番号
３２１  ページ・エントリ有効フラグ
３２２  ページ・リード可能属性
３２３  ページ・ライト可能属性
３３０  ページ・エントリ
４００  通信装置
４００ａ、４００ｂ、４００ｚ  通信装置
４１０ａ、４１０ｂ、４１０ｚ  ＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋ  ａｓｉｄｅ  Ｂｕｆｆｅｒ）
４１０  ＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋ  ａｓｉｄｅ  Ｂｕｆｆｅｒ）
４２０  ＴＬＢエントリ有効フラグ
４２１  ＴＰＩＤ（ＴＬＢ内プロセスＩＤ）
４２２  ＴＶＰＮ（ＴＬＢ内仮想アドレスページ番号）（  ＴＬＢ  Ｖｉｒｔｕａｌ  Ｐａｇｅ  Ｎｕｍｂｅｒ）
４２３  ＴＰＰＮ（ＴＬＢ内物理ページ番号）（ＴＬＢ  Ｐｈｙｓｉｃａｌ  Ｐａｇｅ  Ｎｕｍｂｅｒ）
４５０  通信装置の送信部
４５１  送信部の命令処理部
４５２  送信部のパケット生成部
４６０  通信装置の受信部
４７０  送信部が使用するＴＬＢ
５００  交換網
８００  通信命令
８１０  命令コード
８１１  宛先計算機番号
８１２  宛先プロセス番号
８１３  宛先論理アドレス
８１４  転送長
８１５  送り元計算機番号
８１６  送り元プロセス番号
８１７  送り元論理アドレス
９００  通信パケット
９１０  命令コード
９１１  宛先計算機番号
９１２  ＰＰＩＤ（パケット・プロセス・ＩＤ）（Ｐａｃｋｅｔ  Ｐｒｏｃｅｓｓ  ＩＤ）
９１３  ＰＶＡ（パケット仮想アドレス）（Ｐａｃｋｅｔ  Ｖｉｒｔｕａｌ  Ａｄｄｒｅｓｓ）
９１４  パケット内データ長
９１５  送り元計算機番号
９１６  命令識別番号
９１７  転送データ
９２１  ＰＶＰＮ（パケット仮想ページ番号）（Ｐａｃｋｅｔ  Ｖｉｒｔｕａｌ  Ｐａｇｅ  Ｎｕｍｂｅｒ）
９２２  Ｏｆｆｓｅｔ（仮想アドレス・オフセット）
９３２  変換後物理アドレス
【図１】
2004252838.tif 000003
【図２】
2004252838.tif 000004
【図３】
2004252838.tif 000005
【図４】
2004252838.tif 000006
【図５】
2004252838.tif 000007
【図６】
2004252838.tif 000008
【図７】
2004252838.tif 000009
【図８】
2004252838.tif 000010
【図９】
2004252838.tif 000011
【図１０】
2004252838.tif 000012
【図１１】
2004252838.tif 000013
【図１２】
2004252838.tif 000014
【図１３】
2004252838.tif 000015
【図１４】
2004252838.tif 000016
【図１５】
2004252838.tif 000017
【図１６】
2004252838.tif 000018
【図１７】
2004252838.tif 000019
【図１８】
2004252838.tif 000020