(57)【要約】      （修正有）【課題】仮想メモリ空間上におけるページフォルトの発生を最小限に抑えるとともに、物理メモリ空間上における無駄な空き領域の発生を最小限に抑えることができるメモリ管理装置を提供する。【解決手段】物理メモリ空間１６上に設定された保護領域であるプログラム領域のアドレスおよびサイズに基づいて、仮想メモリ空間の先頭アドレスから順に、当該仮想メモリ空間に設定可能な複数のページサイズのうちアライメント可能な最大のページサイズを順次算出するページサイズ算出部２１と、その算出結果に基づいてアドレス変換テーブル１２を生成するテーブル生成部とを備えることにより、物理メモリ空間１６上に設定された保護領域のアドレスおよびサイズに合うように、複数のサイズを組み合わせて仮想メモリ空間上にページを設定することができるようにする。【選択図】図２
2013140546.tif 000002
【特許請求の範囲】
【請求項１】
仮想メモリ空間上の仮想アドレスを物理メモリ空間上の物理アドレスに変換する仮想記憶管理機能と、上記物理メモリ空間上の設定領域を保護するメモリ保護機能とを有するメモリ管理装置において、
上記物理メモリ空間において上記メモリ保護機能により保護すべき領域として設定された保護領域のアドレスおよびサイズに基づいて、上記仮想メモリ空間の先頭アドレスから順に、当該仮想メモリ空間に設定可能な複数のページサイズのうちアライメント可能な最大のページサイズを順次算出するページサイズ算出部と、
上記ページサイズ算出部により算出された複数のページサイズを用いて、上記仮想メモリ空間上の仮想アドレスを上記物理メモリ空間上の物理アドレスに変換するための変換エントリをページ単位で記憶して成るアドレス変換テーブルを生成するテーブル生成部とを備えたことを特徴とするメモリ管理装置。
【請求項２】
上記テーブル生成部は、上記保護領域に対して設定されたページに対し、保護状態であることを示す属性を付与することを特徴とする請求項１に記載のメモリ管理装置。
【請求項３】
上記ページサイズ算出部は、上記仮想メモリ空間に設定するページが上記保護領域と非保護領域との境界を跨ぐことがないか否かという基準と、上記仮想メモリ空間に設定する各ページの先頭アドレスがページサイズに合ったアドレスになっているかどうかという基準とに基づいて、アライメント可能か否かを判定することを特徴とする請求項１または２に記載のメモリ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ管理装置に関し、特に、仮想メモリ空間上の仮想アドレスを物理メモリ空間上の物理アドレスに変換する仮想記憶管理機能と、記物理メモリ空間上の設定領域を保護するメモリ保護機能とを有するメモリ管理装置に用いて好適なものである。
【背景技術】
【０００２】
一般に、コンピュータのＣＰＵが要求するメモリアクセスを処理する装置として、ＭＭＵ（Memory Management Unit）が知られている（例えば、特許文献１，２参照）。ＭＭＵは、仮想記憶管理機能やメモリ保護機能を主な機能として備えている。仮想記憶管理機能は、仮想メモリ空間上の仮想アドレスを物理メモリ空間上の物理アドレスに変換する機能である。メモリ保護機能は、メモリ上の指定した物理アドレスの領域のデータを破壊することがないように保護する機能である。
【０００３】
仮想記憶やメモリ保護を実現する方法としては、セグメント方式やページング方式などがあるが、実際にはページング方式がよく使われている。ページング方式では、ＣＰＵは仮想メモリ空間をある一定サイズの「ページ」と呼ばれる小さな断片に分割して管理し、ページ毎に物理アドレスをマッピングする。また、ページ毎に、保護状態であることを示す属性を付与するなどの処理により、メモリ保護を実現する。
【０００４】
図５は、ＭＭＵの仮想記憶管理機能について説明するための図である。図５において、ＣＰＵ１０１は、アドレス変換テーブル１０２およびＴＬＢ（Translation Lookaside Buffer）と呼ばれる変換バッファ１０３を用いて、ＲＯＭ、ＲＡＭ、内蔵Ｉ／Ｏなどから成る不連続な物理メモリ空間１０６を、連続な仮想メモリ空間１０５にマッピングする。このマッピングは、仮想メモリ空間１０５を一定のサイズ毎に分割したページ単位で行われる。
【０００５】
アドレス変換テーブル１０２および変換バッファ１０３には、仮想メモリ空間１０５上の仮想アドレスを物理メモリ空間１０６上の物理アドレスに変換するための変換エントリが記憶されている。アドレス変換テーブル１０２は、仮想メモリ空間１０５の全体をカバーする変換エントリを記憶している。一方、変換バッファ１０３は、仮想メモリ空間１０５の一部をカバーする変換エントリを記憶しており、キャッシュとして利用される。
【０００６】
ＭＭＵ１０４は、変換バッファ１０３に記憶されている変換エントリに従って、ＣＰＵ１０１によってアクセスされた仮想メモリ空間１０５上の仮想アドレスを物理メモリ空間１０６上の物理アドレスに変換することにより、物理メモリ空間１０６へのメモリアクセスを処理する。
【０００７】
すなわち、ＣＰＵ１０１が仮想メモリ空間１０５上の仮想アドレスにアクセスすると、ＭＭＵ１０４は変換バッファ１０３を参照する。ここで、アクセスされた仮想アドレスに該当する変換エントリが変換バッファ１０３に存在する場合、ＭＭＵ１０４は、その変換エントリに従ってアドレス変換を行い、物理メモリ空間１０６上の物理アドレスにアクセスする。
【０００８】
一方、アクセスされた仮想アドレスに該当する変換エントリが変換バッファ１０３に存在しない場合、ＭＭＵ１０４は、「ページフォルト」と呼ばれる例外をＣＰＵ１０１に対して発行する。ページフォルトが発生すると、ＣＰＵ１０１は、ＣＰＵ１０１からアクセスされた仮想アドレスに対応する物理アドレスの変換エントリを、アドレス変換テーブル１０２から変換バッファ１０３に登録する。その後、ＭＭＵ１０４は、変換バッファ１０３に新たに登録された変換エントリに従ってアドレス変換を行い、物理メモリ空間１０６上の物理アドレスにアクセスする。
【０００９】
図６は、ＭＭＵのメモリ保護機能について説明するための図である。図６に示すように、一般にシステムのプログラムは、物理メモリ空間１０６のＲＯＭに格納されている。ただし、システムのリソースとしてＲＡＭに余裕がある場合は、より高速なＲＡＭ上にプログラムが展開（コピー）される。ＲＡＭ上でプログラムを実行させた方が、より高速に動作し、パフォーマンス上有利だからである。
【００１０】
ただ、この場合に問題となるのは、自由に読み書き可能なＲＡＭ上にプログラム領域が存在することになるため、プログラム自身の不具合（暴走など）によって、プログラムが予期せず書き換えられてしまうことがある。そうなると、動作不良を引きこす可能性が出てしまう。
【００１１】
そのため、ＭＭＵ１０４は、ＲＡＭ上のプログラム領域に対応する仮想アドレス空間に対して、ＲＡＭ上の他のワークメモリ領域と異なるアクセス属性を持たせることにより、物理メモリ空間１０６上のプログラム領域を保護する。すなわち、ＲＡＭ上のワークメモリ領域に対応する仮想アドレス空間にはリードライト属性（読み書き可能なことを示す属性）を与える一方、ＲＡＭ上のプログラム領域に対応する仮想アドレス空間にはリードオンリー属性（読み出しのみ可能なことを示す属性）を与える。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００９−２０８８１号公報
【特許文献２】特開平９−３１９６５８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
図５で説明したように、ＭＭＵ１０４を用いてメモリアクセスを行う場合、ページフォルトという例外が必ず発生する。ページフォルトが発生すると、ＣＰＵ１０１の例外処理によって新たな変換エントリがアドレス変換テーブル１０２から変換バッファ１０３に登録されるまでの間は、プログラムの実行は停止しているのと同等の状態になる。そのため、動作パフォーマンスを上げる観点から、ページフォルトの発生を最小限に抑えることが望まれる。
【００１４】
一方、図６で説明したメモリ保護は、ページ単位で行われる。通常、ページサイズは固定である。一般的には、１ＭＢ（メガバイナリバイト）、６４ＫＢ（キロバイナリバイト）、４ＫＢの何れかの固定サイズで各ページが構成される。この場合、上述したようにページフォルトの発生を極力少なくするためには、設定するページ数を少なくするためにページサイズを大きくする（すなわち、各ページのサイズを１ＭＢとする）ことが必要となる。
【００１５】
しかしながら、ページサイズを１ＭＢとすると、その大きな１ＭＢのページサイズに合わせて物理メモリ空間１０６のアライメントが発生するため、物理メモリ空間１０６に無駄な空き領域が発生する。すなわち、図７に示すように、物理メモリ空間１０６のＲＡＭ上に設定したプログラム領域のサイズが１ＭＢ単位でちょうど割り切れない場合、そのプログラム領域を保護するために仮想メモリ空間１０５上においてリードオンリー属性が与えられる領域は、プログラム領域のサイズよりも大きな領域（図７の例では１ＭＢ×４＝４ＭＢの領域）となる。
【００１６】
そのため、仮想メモリ空間１０５上でリードオンリー属性が与えられたページに対応する物理メモリ空間１０６上の領域（４ＭＢの領域）のうち、プログラム領域以外の領域は、プログラム領域としてもワークメモリ領域としても使用されない無駄な空き領域となってしまうという問題があった。
【００１７】
逆に、図８に示すように、ページサイズを最小の４ＫＢにすると、その小さなページサイズに合わせて物理メモリ空間１０６のアライメントを行うことができるため、物理メモリ空間１０６に無駄な空き領域は発生しにくくなる。しかしながら、ページフォルトの発生頻度が高くなってしまい、システムの動作パフォーマンスが低下してしまうという問題があった。
【００１８】
なお、上記特許文献１には、ページサイズを可変とし、隣接するページテーブルエントリを、より大きなメモリページサイズのページテーブルエントリに統合することが記載されている。また、上記特許文献２には、ページサイズを可変とし、メモリフォルトの発生を低減させることが記載されている。しかしながら、これらの特許文献１，２に記載の技術を用いても、ページフォルトの発生の抑制と無駄な空き領域の発生の抑制とを両立させることはできない。
【００１９】
本発明は、このような問題を解決するために成されたものであり、仮想メモリ空間上におけるページフォルトの発生を最小限に抑えるとともに、物理メモリ空間上における無駄な空き領域の発生を最小限に抑えることができるようにすることを目的とする。
【課題を解決するための手段】
【００２０】
上記した課題を解決するために、本発明では、物理メモリ空間上に設定された保護領域のアドレスおよびサイズに基づいて、仮想メモリ空間の先頭アドレスから順に、当該仮想メモリ空間に設定可能な複数のページサイズのうちアライメント可能な最大のページサイズを順次算出し、その算出結果に基づいてアドレス変換テーブルを生成するようにしている。
【発明の効果】
【００２１】
上記のように構成した本発明によれば、物理メモリ空間上に設定された保護領域のアドレスおよびサイズに合うように、複数のサイズを組み合わせて仮想メモリ空間上にページを設定することができる。これにより、物理メモリ空間上における無駄な空き領域の発生を最小限に抑えることができる。しかも、仮想メモリ空間にページを設定する際に、できるだけ大きなサイズのページが優先して設定されることになるので、全体としてのページ数を極力少なくすることができる。これにより、仮想メモリ空間上におけるページフォルトの発生を最小限に抑えことができる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態によるメモリ管理装置を含むコンピュータシステムの構成例を示す図である。
【図２】本実施形態によるメモリ管理装置の機能構成例を示す図である。
【図３】本実施形態のメモリ管理装置によるページのアライメント例を示す図である。
【図４】本実施形態によるメモリ管理装置の動作例を示すフローチャートである。
【図５】ＭＭＵの仮想記憶管理機能について説明するための図である。
【図６】ＭＭＵのメモリ保護機能について説明するための図である。
【図７】仮想メモリ空間の保護領域に最大サイズのページを設定した場合の問題点を説明するためのである。
【図８】仮想メモリ空間の保護領域に最小サイズのページを設定した場合の問題点を説明するためのである。
【発明を実施するための形態】
【００２３】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態によるメモリ管理装置を含むコンピュータシステムの構成例を示す図である。図１において、ＣＰＵ１１は、アドレス変換テーブル１２および変換バッファ（ＴＬＢ）１３を用いて、ＲＯＭ、ＲＡＭ、内蔵Ｉ／Ｏなどから成る不連続な物理メモリ空間１６を、連続な仮想メモリ空間１５にマッピングする。本実施形態のメモリ管理装置では、このマッピングを、仮想メモリ空間１５を複数のサイズで分割した可変サイズのページ単位で行うところに特徴がある。
【００２４】
アドレス変換テーブル１２および変換バッファ１３には、仮想メモリ空間１５上の仮想アドレスを物理メモリ空間１６上の物理アドレスに変換するための変換エントリがページ単位で記憶されている。アドレス変換テーブル１２は、仮想メモリ空間１５の全体をカバーする変換エントリを記憶している。一方、変換バッファ１３は、仮想メモリ空間１５の一部をカバーする変換エントリを記憶しており、キャッシュとして利用される。
【００２５】
ＭＭＵ１４は、本発明のメモリ管理装置に相当するものである。このＭＭＵ１４は、変換バッファ１３に記憶されている変換エントリに従って、ＣＰＵ１１によってアクセスされた仮想メモリ空間１５上の仮想アドレスを物理メモリ空間１６上の物理アドレスに変換することにより、物理メモリ空間１６へのメモリアクセスを処理する。
【００２６】
すなわち、ＣＰＵ１１が仮想メモリ空間１５上の仮想アドレスにアクセスすると、ＭＭＵ１４は変換バッファ１３を参照する。ここで、アクセスされた仮想アドレスに該当する変換エントリが変換バッファ１３に存在する場合、ＭＭＵ１４は、その変換エントリに従ってアドレス変換を行い、物理メモリ空間１６上の物理アドレスにアクセスする。
【００２７】
一方、アクセスされた仮想アドレスに該当する変換エントリが変換バッファ１３に存在しない場合、ＭＭＵ１４は、ページフォルトの例外をＣＰＵ１１に対して発行する。ページフォルトが発生すると、ＣＰＵ１１は、ＣＰＵ１１からアクセスされた仮想アドレスに対応する物理アドレスの変換エントリを、アドレス変換テーブル１２から変換バッファ１３に登録する。その後、ＭＭＵ１４は、変換バッファ１３に新たに登録された変換エントリに従ってアドレス変換を行い、物理メモリ空間１６上の物理アドレスにアクセスする。
【００２８】
また、ＭＭＵ１４は、物理メモリ空間１６上の設定領域をメモリ保護機能により保護する。すなわち、ＭＭＵ１４は、物理メモリ空間１６のＲＡＭ上に展開されたプログラム領域に対応する仮想メモリ空間１５上の仮想アドレス領域に対して、ＲＡＭ上の他のワークメモリ領域と異なるアクセス属性を持たせることにより、物理メモリ空間１６上のプログラム領域を保護する。具体的には、ＲＡＭ上のワークメモリ領域に対応する仮想アドレス領域にはリードライト属性を与える一方、ＲＡＭ上のプログラム領域に対応する仮想アドレス領域にはリードオンリー属性を与える。この属性を与えるのも、可変サイズのページ単位で行う。
【００２９】
図２は、本実施形態によるＭＭＵ１４の機能構成例を示す図である。また、図３は、ＭＭＵ１４によってアライメントされた仮想メモリ空間１５上における各ページの一例を示す図である。図２に示すように、本実施形態のＭＭＵ１４は、その機能構成として、ページサイズ算出部２１およびテーブル生成部２２を備えている。
【００３０】
ページサイズ算出部２１は、物理メモリ空間１６においてメモリ保護機能により保護すべき領域として設定されたプログラム領域のアドレスおよびサイズに基づいて、仮想メモリ空間１５の先頭アドレスから順に、当該仮想メモリ空間１５に設定可能な複数のページサイズのうちアライメント可能な最大のページサイズを順次算出する。
【００３１】
テーブル生成部２２は、ページサイズ算出部２１により算出された複数のページサイズを用いて、アドレス変換テーブル１２を生成する。このときテーブル生成部２２は、保護領域（プログラム領域）に対して設定されたページに対し、保護状態であることを示す属性（リードオンリー属性）を付与する。一方、テーブル生成部２２は、非保護領域（ワークメモリ領域）に対して設定されたページに対し、非保護状態であることを示す属性（リードライトページ属性）を付与する。
【００３２】
本実施形態において、仮想メモリ空間１５に設定することが可能な複数のページサイズは、１ＭＢ（＝１０２４ＫＢ）、６４ＫＢ、４ＫＢの３種類であるとする。ページサイズ算出部２１は、仮想メモリ空間１５の各アドレスにおいて、これら３種類のページサイズのうちアライメント可能な最大のページサイズを算出する。アライメントが可能か否かは、次の２点を基準にして判定する。
【００３３】
第１の基準は、仮想メモリ空間１５に設定するページが、保護領域（リードオンリーページ領域）と非保護領域（リードライトページ領域）との境界を跨ぐことがないか否かという基準である。具体的には、境界を跨ぐ場合にはアライメント不可能であり、跨がない場合にアライメント可能とする。
【００３４】
例えば、図３に示す物理メモリ空間１６の最初にあるワークメモリ領域３１のサイズが３００４ＫＢであったとする。また、１ＫＢ当たり１アドレスであると仮定する。この場合、ワークメモリ領域３１に対応するリードライトページ領域３１’に対して、最も大きな１ＭＢのページを先頭から２つ続けてアライメントすることは可能であるが、３つ目はアライメント不可能となる。３つ目のページも１ＭＢのサイズにすると、当該ページがリードライトページ領域３１’と次のリードオンリーページ領域３２’との境界を跨いでしまうからである。実際に、３つ目のページに対してアライメント可能な最大のページサイズは、６４ＫＢということになる。同様に、４つ目のページに対してアライメント可能な最大のページサイズは、４ＫＢということになる。
【００３５】
第２の基準は、仮想メモリ空間１５に設定する各ページの先頭アドレスが、設定しようとするページサイズに合ったアドレスになっているかどうか、つまり、そのページサイズの倍数になっているか否かという基準である。具体的には、ページの先頭アドレスがそのページサイズの倍数になっていない場合にはアライメント不可能であり、倍数になっている場合にはアライメント可能とする。
【００３６】
上述のように、図３に示す物理メモリ空間１６の最初にあるワークメモリ領域３１のサイズが３００４ＫＢであるとすると、ワークメモリ領域３１に対応するリードライトページ領域３１’の次に配置されているリードオンリーページ領域３２’の先頭アドレスは３００４Ｋということになる。
【００３７】
この３００４Ｋというのは１Ｍの倍数ではないので、最もサイズの大きい１ＭＢのページはアライメントすることができない。また、次に大きい６４Ｋの倍数でもないので、６４ＫＢのページもアライメントすることができない。これに対して、３００４Ｋは４Ｋの倍数であるから、アライメントが可能である。したがって、リードオンリーページ領域３２’の先頭には、４ＫＢのページをアライメントすることになる。
【００３８】
リードオンリーページ領域３２’の先頭に４ＫＢのページを設定すると、次に設定すべきページの先頭アドレスは、３００８Ｋとなる。この３００８Ｋというのは１Ｍの倍数ではないので、最もサイズの大きい１ＭＢのページはアライメントすることができない。しかし、３００８Ｋは次に大きいる６４Ｋの倍数に該当するので、６４ＫＢのページはアライメントが可能である。もちろん、３００８Ｋは４Ｋの倍数でもあるので、４ＫＢのページもアライメントが可能である。ここでは、アライメント可能なページサイズうち最大のページサイズとして、６４ＫＢを採用することになる。
【００３９】
このようにして、リードオンリーページ領域３２’の先頭から４ＫＢ、６４ＫＢのページを２つ設定すると、次に設定すべきページの先頭アドレスは、３０７２Ｋとなる。この３０７２Ｋというのは１ＭＢ（＝１０２４ＫＢ）の倍数に該当するので、１ＭＢのページをアライメント可能である。よって、リードオンリーページ領域３２’の先頭から３つ目のページには、１ＭＢのページをアライメントすることになる。
【００４０】
以下同様にして、リードオンリーページ領域３２’の全体に対して可変サイズのページを順次アライメントしていく。そして、リードオンリーページ領域３２’のアライメントが終了したら、その後に続くリードライトページ領域３３’に対しても同様に可変サイズのページを順次アライメントしていく。これにより、仮想メモリ空間１５の全体に対するページのアライメントが完了する。
【００４１】
図４は、上記のように構成した本実施形態によるメモリ管理装置の動作例を示すフローチャートである。図４に示すフローチャートは、例えば、アドレス変換テーブル１２の生成がユーザにより指示されたときに開始する。まず、ページサイズ算出部２１は、仮想メモリ空間１５の先頭アドレスに設定すべきページのサイズとして、当該仮想メモリ空間１５に設定可能な複数のページサイズのうち最大のページサイズ（１ＭＢ）を仮設定する（ステップＳ１）。
【００４２】
そして、ページサイズ算出部２１は、物理メモリ空間１６において保護領域として設定されたプログラム領域３２のアドレスおよびサイズに基づいて、ステップＳ１で仮設定したページサイズにてアライメントが可能か否かを判定する（ステップＳ２）。この判定は、上述した２つの基準に従って行う。ここで、アライメントができないと判定した場合、ページサイズ算出部２１は、ページサイズを１段階縮小し（ステップＳ３）する。そして、ステップＳ１に戻り、縮小したページサイズを改めて仮設定する。
【００４３】
一方、ステップＳ１で仮設定したページサイズにてアライメントが可能であると判定した場合、ページサイズ算出部２１はそのページサイズをテーブル生成部２２に通知する。この通知を受けてテーブル生成部２２は、通知されたサイズのページを仮想メモリ空間１５に設定するとともに、当該ページにリードライト属性またはリードオンリー属性を付与し、その内容をアドレス変換テーブル１２に書き込む（ステップＳ４）。
【００４４】
次に、ページサイズ算出部２１は、ページを設定すべき仮想メモリ空間１５上のアドレス（Ｘ）を、現在のアドレスに対してステップＳ４で設定したページサイズに相当するアドレスを加えた値に更新する（ステップＳ５）。そして、更新したアドレスが、仮想メモリ空間１５の終端アドレスよりも大きくなるか否かを判定する（ステップＳ６）。
【００４５】
更新したアドレスが仮想メモリ空間１５の終端アドレスよりも大きくない場合は、仮想メモリ空間１５上でページをまだ設定していない領域が残っているということなので、処理はステップＳ１に戻る。この場合、ページサイズ算出部２１は、仮想メモリ空間１５に設定可能な最大のページサイズを再び仮設定する。一方、更新したアドレスが仮想メモリ空間１５の終端アドレスよりも大きくなった場合は、仮想メモリ空間１５に対するページの設定が完了したということなので、図４に示すフローチャートの処理は終了する。
【００４６】
以上詳しく説明したように、本実施形態では、物理メモリ空間１６上に設定された保護領域であるプログラム領域３２のアドレスおよびサイズに基づいて、仮想メモリ空間１５の先頭アドレスから順に、当該仮想メモリ空間１５に設定可能な複数のページサイズのうちアライメント可能な最大のページサイズを順次算出し、その算出結果に基づいてアドレス変換テーブル１２を生成するようにしている。
【００４７】
このように構成した本実施形態によれば、物理メモリ空間１６上に設定された保護領域のアドレスおよびサイズに合うように、複数のサイズを組み合わせて仮想メモリ空間１５上にページを設定することができる。これにより、物理メモリ空間１６上における無駄な空き領域の発生を最小限に抑えることができる。しかも、仮想メモリ空間１５にページを設定する際に、できるだけ大きなサイズのページが優先して設定されることになるので、全体としてのページ数を極力少なくすることができる。これにより、仮想メモリ空間１５上におけるページフォルトの発生を最小限に抑えことができる。
【００４８】
なお、上記実施形態では、仮想メモリ空間１５に設定可能な複数のページサイズとして、１ＭＢ、６４ＫＢ、４ＫＢの３種類を例示したが、これは単なる一例に過ぎず、本発明はこれに限定されない。
【００４９】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００５０】
１２  アドレス変換テーブル
１４  ＭＭＵ（メモリ管理装置）
１５  仮想メモリ空間
１６  物理メモリ空間
【図１】
2013140546.tif 000003
【図２】
2013140546.tif 000004
【図３】
2013140546.tif 000005
【図４】
2013140546.tif 000006
【図５】
2013140546.tif 000007
【図６】
2013140546.tif 000008
【図７】
2013140546.tif 000009
【図８】
2013140546.tif 000010