(57)【特許請求の範囲】
【請求項１】
論理アドレスから物理アドレスに変換するためのアドレス変換回路であって、プログラムを変更することによって任意の論理回路を構成可能なプログラマブルロジック回路を有し、前記論理アドレスと前記物理アドレスとの変換規則を前記プログラマブルロジック回路の論理回路として実現するようにしたことを特徴とするアドレス変換回路。
【請求項２】
前記論理アドレスの一部をなす論理ページ番号が入力された時にその前記論理ページ番号に対応する物理ページ番号を出力するよう前記プログラマブルロジック回路をプログラムするようにしたことを特徴とする請求項１記載のアドレス変換回路。
【請求項３】
前記論理ページ番号が前記プログラマブルロジック回路で前記物理ページ番号に変換することができない範囲にある場合、その論理ページ番号を前記物理ページ番号に変換可能とするためのプログラムを生成する手段を含むことを特徴とする請求項２記載のアドレス変換回路。
【請求項４】
論理アドレスから物理アドレスに変換するためのアドレス変換方法であって、プログラムを変更することによって任意の論理回路を構成可能なプログラマブルロジック回路にプログラムを供給することで、前記論理アドレスと前記物理アドレスとの変換規則を前記プログラマブルロジック回路の論理回路として実現するようにしたことを特徴とするアドレス変換方法。
【請求項５】
前記論理アドレスの一部をなす論理ページ番号が入力された時にその前記論理ページ番号に対応する物理ページ番号を出力するよう前記プログラマブルロジック回路をプログラムするようにしたことを特徴とする請求項４記載のアドレス変換方法。
【請求項６】
前記論理ページ番号が前記プログラマブルロジック回路で前記物理ページ番号に変換することができない範囲にある場合、その論理ページ番号を前記物理ページ番号に変換可能とするためのプログラムを生成するようにしたことを特徴とする請求項５記載のアドレス変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はアドレス変換回路及びそれに用いるアドレス変換方法に関し、特に論理アドレスから物理アドレスへのアドレス変換等の変換操作に用いられる記憶装置に関する。
【０００２】
【従来の技術】
プロセッサ間通信時の論理アドレスから物理アドレスへのアドレス変換においては、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が設定した論理アドレスと物理アドレスとの対応によって行う必要がある。
【０００３】
プロセッサ間通信をシステムコールなしに行うには、その保護のためにメモリアドレスとして論理アドレスを用いる必要があり、アドレス変換の操作が必須である。
【０００４】
論理アドレスと物理アドレスとの対応はページ単位で行われる。アドレス変換テーブルにはある論理ページ番号に対応する物理ページ番号が書かれており、論理アドレスの一部を論理ページ番号として上記のアドレス変換テーブルを引くことで物理ページ番号に変換し、物理アドレスを得る。
【０００５】
しかしながら、計算に使われるデータ量が増えるにしたがって、論理アドレスに使われるビット数が増大し、論理ページ番号の空間が非常に大きいものになっている。
【０００６】
そのため、通信装置内にアドレス変換テーブルをすべて持つことはできず、主記憶上のアドレス変換テーブルの一部を必要に応じて通信装置内にキャッシュすることによってアドレス変換を行っている。
【０００７】
従来方法で用いられる変換テーブルメモリの構成を図３に示す。図３において、変換テーブルメモリ２００には論理ページ番号２０１と、それに対応する物理ページ番号２０２とが格納されている。
【０００８】
変換する論理ページ番号がこの変換テーブルメモリ２００にあれば、それに対応する物理ページ番号を使ってアドレス変換が行われる。また、変換する論理ページ番号がこの変換テーブルメモリ２００になければ、主記憶上にあるページテーブルを参照し、論理ページ番号に対応する物理ページ番号を読出して、この変換テーブルメモリ２００に格納することでアドレス変換を行っている。
【０００９】
【発明が解決しようとする課題】
上述した従来のアドレス変換方法では、上記のアドレス変換のオーバヘッドがプロセッサ間通信のオーバヘッドとなるため、このオーバヘッドを削減するのにできるだけ多くの論理ページ番号と物理ページ番号との対応エントリを変換テーブルメモリにキャッシュし、主記憶のページテーブルへのアクセスを少なくする必要がある。
【００１０】
しかしながら、論理ページ番号と、それに対応する物理ページ番号との組みをそのまま記憶しているので、論理ページ番号の空間が大きくなり、変換テーブルメモリに非常に多くの記憶容量が必要となる。
【００１１】
そこで、本発明の目的は上記の問題点を解消し、通信装置内のアドレス変換回路に多くのアドレス変換の情報をキャッシュすることができるアドレス変換回路及びそれに用いるアドレス変換方法を提供することにある。
【００１２】
【課題を解決するための手段】
本発明によるアドレス変換回路は、論理アドレスから物理アドレスに変換するためのアドレス変換回路であって、プログラムを変更することによって任意の論理回路を構成可能なプログラマブルロジック回路を備え、前記論理アドレスと前記物理アドレスとの変換規則を前記プログラマブルロジック回路の論理回路として実現するようにしている。
【００１４】
本発明によるアドレス変換方法は、論理アドレスから物理アドレスに変換するためのアドレス変換方法であって、プログラムを変更することによって任意の論理回路を構成可能なプログラマブルロジック回路にプログラムを供給することで、前記論理アドレスと前記物理アドレスとの変換規則を前記プログラマブルロジック回路の論理回路として実現するようにしている。
【００１５】
すなわち、プロセッサ間通信に使用されるアドレス変換テーブルでは、プロセッサ間通信に使われるページが通信の終るまで主記憶に張り付けられる場合が多く、その内容が書き換えられる頻度が低い。また、上記のアドレス変換テーブルでは、論理ページ番号への物理ページの割り当てがＯＳによって行われ、ＯＳのページ管理方式において連続する物理ページの領域が割り当てられる場合も少なくない。
【００１６】
このような特徴をもつアドレス変換テーブルでは、論理ページ番号と、それに対応する物理ページ番号とをそのまま覚えるのではなく、その規則のようなものをプログラムによって、任意の論理回路を構成可能なプログラマブルロジック回路にプログラムし、論理回路として構成して記憶することによって、より効率的にアドレス変換テーブルを記憶することが可能となる。
【００１７】
上記のように、アドレス変換テーブルを効率良く保持することによって、主記憶への論理ページ番号と物理ページ番号との対応の読出しアクセスをできるだけ少なくすることが可能となる。
【００１８】
【発明の実施の形態】
次に、本発明の実施例について図面を参照して説明する。図１は本発明の一実施例によるプロセッサ間通信システムの構成を示すブロック図である。図１において、本発明の一実施例によるプロセッサ間通信システムは複数のプロセッサ１−１〜１−ｎがネットワーク１００に接続された並列計算機システムである。プロセッサ１−１〜１−ｎはそれぞれＣＰＵ２と、主記憶装置３と、送信装置４と、受信装置５とから構成されている。
【００１９】
送信装置４は送信を指示するコマンドを保持するコマンドレジスタ４１と、主記憶装置３上の送信データ３１を指している論理アドレスを物理アドレスに変換するためのアドレス変換回路４２と、ネットワーク１００に送るパケットを作成するパケット生成回路４５とから構成されている。
【００２０】
受信装置５はネットワーク１００からきたパケットの書込みアドレスを保持する書込みアドレスレジスタ５１と、書込みアドレスを論理アドレスから物理アドレスに変換するアドレス変換回路５３と、受信データ３２を主記憶装置３に書込むデータ書込み回路５２とから構成されている。
【００２１】
送信装置４のアドレス変換回路４２及び受信装置５のアドレス変換回路５３にはそれぞれプログラマブルロジック回路４３，５４と、そのプログラムを保持するためのプログラムメモリ４４，５５とが設けられている。
【００２２】
主記憶装置３には、アドレス変換の論理アドレスと物理アドレスとの対応を示すページテーブル３３と、それを基に変換されたプログラマブルロジック回路４３，５４用のプログラム３４とが格納されている。このプログラム３４はプログラムメモリ４４，５５にそれぞれロードされる。
【００２３】
この図１を参照して、本発明の一実施例によるプロセッサ間通信システムにおけるパケットを送信する手順について説明する。
【００２４】
送信を依頼するコマンドはコマンドレジスタ４１に格納される。コマンドには送信データのアドレスを示す読出しアドレスが含まれており、アドレス変換回路４２によって論理アドレスから物理アドレスに変換され、パケット生成回路４５に渡される。パケット生成回路４５は主記憶装置３上の送信データ３１を読出してパケットを作成し、ネットワーク１００に送り出す。
【００２５】
次に、本発明の一実施例によるプロセッサ間通信システムにおけるパケットを受信する手順を説明する。
【００２６】
受信するパケットには書込みアドレスが含まれており、その書込みアドレスが書込みアドレスレジスタ５１に格納される。書込みアドレスレジスタ５１に格納された論理アドレスで指定された書込みアドレスをアドレス変換回路５３で物理アドレスに変換し、データ書込み回路５２が受信データ３２を主記憶装置３上に書込む。
【００２７】
アドレス変換回路４２，５３ではプログラマブルロジック回路４３，５４に入力として論理アドレスの上位部の論理ページ番号が与えられ、その出力として物理ページ番号が出力される。本実施例では論理ページ番号と物理ページ番号との対応が、プログラマブルロジック回路４３，５４によって構成された論理回路として実現されている。
【００２８】
図２は本発明の一実施例によるページテーブル３３からプログラマブルロジック回路４３，５４のプログラムを生成する手順を示す図である。この図２を参照して本発明の一実施例によるアドレス変換情報をプログラマブルロジック回路４３，５４のプログラムにする手順について説明する。
【００２９】
まず、図示せぬＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって論理ページ番号１０１と物理ページ番号１０２との対応表であるページテーブル３３が作成される。このページテーブル３３の情報からルール１０３が作られる。この例では、論理ページ番号の０ｘ００００〜０ｘ１ｆｆｆ，０ｘ８０００〜０ｘ９ｆｆｆがそれぞれ物理アドレスで連続する物理ページの領域にマップされた場合を示している。
【００３０】
すなわち、ルール１０３として、「論理ページ番号が０ｘ００００〜０ｘ１ｆｆｆならば、物理ページ番号＝論理ページ番号＋０ｘ１０００」、「論理ページ番号が０ｘ８０００〜０ｘ９ｆｆｆならば、物理ページ番号＝論理ページ番号−０ｘ４０００」が作成される。
【００３１】
最後に、このルール１０３をプログラマブルロジック回路４３，５４で実現する論理回路を表すプログラム１０４に変換する。すなわち、プログラム１０４として、論理ページ番号と０ｘ００００とを比較する比較器１０５と、論理ページ番号と０ｘ１ｆｆｆとを比較する比較器１０６と、論理ページ番号と０ｘ８０００とを比較する比較器１０７と、比較器１０５〜１０７の比較結果に応じて「０ｘ１０００」または「−０ｘ４０００」を出力する選択器（ＳＥＬ）１０８と、論理ページ番号に選択器１０８の出力を加算する加算器１０９とが、プログラマブルロジック回路４３，５４で論理回路として実現される。
【００３２】
上記の処理によって変換されたプログラム１０４は、主記憶装置３上に格納され、プログラム３４として、送信装置４及び受信装置５のアドレス変換回路４２，５３のプログラムメモリ４４，５５にロードされる。
【００３３】
論理ページ番号がアドレス変換回路４２，５３で変換することができない範囲にある場合、アドレス変換回路４２，５３はＣＰＵ２に対して割込みを発生させ、主記憶装置３上の新たなページテーブル３３の情報を基にプログラム３４を作成し、プログラムメモリ４４，５５にロードする。
【００３４】
このように、論理アドレスと物理アドレスとの変換規則をプログラマブルロジック回路４３，５４の論理回路として実現することで、アドレス変換回路４２，５３に多くのアドレス変換の情報をキャッシュすることができる。物理ページ番号が連続するようなページの割り付けがなされる場合には、非常に多くの論理ページのアドレス変換情報をアドレス変換回路４２，５３にキャッシュすることが可能となる。
【００３５】
【発明の効果】
以上説明したように本発明によれば、論理アドレスから物理アドレスに変換するためのアドレス変換回路において、プログラムを変更することによって任意の論理回路を構成可能なプログラマブルロジック回路にプログラムメモリからプログラムを供給することで、論理アドレスと物理アドレスとの変換規則をプログラマブルロジック回路の論理回路として実現することによって、通信装置内のアドレス変換回路に多くのアドレス変換の情報をキャッシュすることができるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施例によるプロセッサ間通信システムの構成を示すブロック図である。
【図２】本発明の一実施例によるページテーブルからプログラマブルロジック回路のプログラムを生成する手順を示す図である。
【図３】従来のアドレス変換回路の変換テーブルメモリの構成を示す図である。
【符号の説明】
１−１〜１−ｎ  プロセッサ
２  ＣＰＵ
３  主記憶装置
４  送信装置
５  受信装置
３１  送信データ
３２  受信データ
３３  ページテーブル
３４  プログラム
４１  コマンドレジスタ
４２，５３  アドレス変換回路
４３，５４  プログラマブルロジック回路
４４，５５  プログラムメモリ
４４  パケット生成回路
５１  書込みアドレスレジスタ
５２  データ書込み回路
１００  ネットワーク
１０１  論理ページ番号
１０２  物理ページ番号
１０３  ルール
１０４  論理回路のプログラム
１０５〜１０７  比較器
１０８  選択器
１０９  加算器
【図１】
0004345245.tif 000002
【図２】
0004345245.tif 000003
【図３】
0004345245.tif 000004