(57)【要約】【課題】  ＲＯＭとＲＡＭを有する情報処理装置において、省メモリとプログラムの実行速度の高速化を図る。【解決手段】  物理ページと仮想ページとを対応づけるページテーブルにおいて、転送フラグを設定したページをＲＡＭへ転送して高速実行し、転送フラグを設定していないページをＲＯＭから実行することで省メモリを図る。【選択図】  図１
2009069969.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行する実行手段と、前記実行手段が実行可能な形式で前記プログラムを格納している第１メモリと、前記第１メモリよりも高速にアクセス可能であり主記憶として用いられる第２メモリと、を備える情報処理装置におけるプログラム実行方法であって、
仮想アドレス空間の各仮想要素に対して、前記第１及び第２メモリの物理アドレス空間において対応する物理要素と、前記仮想要素又は物理要素が転送対象であるか否かの情報とを、記憶手段に記憶する記憶工程と、
前記記憶手段を参照し、前記実行手段から要求された仮想要素が、前記転送対象に対応する場合に当該要求された仮想要素に対応する物理要素を前記第２メモリへ転送して実行し、前記転送対象でない場合に当該要求された仮想要素に対応する物理要素を前記第１メモリから実行する実行工程と、
を有することを特徴とするプログラム実行方法。
【請求項２】
前記実行手段からのアクセス頻度に応じて前記転送対象を決定する決定工程を有することを特徴とする請求項１に記載のプログラム実行方法。
【請求項３】
予め前記実行手段からのアクセス頻度が多いと予測される要素を前記転送対象として決定することを特徴とする請求項１に記載のプログラム実行方法。
【請求項４】
前記実行工程では、前記第２メモリの状況に応じて前記転送対象を転送することを特徴とする請求項１乃至３のいずれか一項に記載のプログラム実行方法。
【請求項５】
前記実行工程では、前記プログラムの進行状況に応じて前記転送対象を転送することを特徴とする請求項１乃至４のいずれか一項に記載のプログラム実行方法。
【請求項６】
前記実行工程では、所定数までの前記転送対象を同時に転送することを特徴とする請求項１乃至５のいずれか１項に記載のプログラム実行方法。
【請求項７】
前記第２メモリにおいて、前記第１メモリから転送された前記転送対象を優先的に置換する置換工程を有することを特徴とする請求項１乃至６のいずれか１項に記載のプログラム実行方法。
【請求項８】
プログラムを実行する実行手段と、前記実行手段が実行可能な形式で前記プログラムを格納している第１メモリと、前記第１メモリよりも高速にアクセス可能で主記憶として用いられる第２メモリとを備える情報処理装置であって、
仮想アドレス空間の各仮想要素に対して、前記第１及び第２メモリの物理アドレス空間において対応する物理要素と、前記仮想要素が転送対象であるか否かの情報とを、記憶する記憶手段と、
前記記憶手段を参照し、前記実行手段から要求された仮想要素が、前記転送対象である場合に当該要求された仮想要素に対応する物理要素を前記第２メモリへ転送して前記実行手段に実行させ、前記転送対象でない場合に当該要求された仮想要素に対応する物理要素を前記第１メモリから前記実行手段に実行させる制御手段と、
を有することを特徴とする情報処理装置。
【請求項９】
プログラムを実行する実行手段と、前記実行手段が実行可能な形式で前記プログラムを格納している第１メモリと、前記第１メモリよりも高速にアクセス可能で主記憶として用いられる第２メモリとを備える情報処理装置に、
仮想アドレス空間の各仮想要素に対して、前記第１及び第２メモリの物理アドレス空間において対応する物理要素と、前記仮想要素が転送対象であるか否かの情報とを、記憶手段に記憶する記憶工程と、
前記記憶手段を参照し、前記実行手段から要求された仮想要素が、前記転送対象である場合に当該要求された仮想要素に対応する物理要素を前記第２メモリへ転送して実行し、前記転送対象でない場合に当該要求された仮想要素に対応する物理要素を前記第１メモリから実行する実行工程と、
を実行させるコンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主記憶として用いるＲＡＭの使用量を削減し、かつ、プログラムコードの実行を高速化する技術に関するものである。
【背景技術】
【０００２】
近年、組み込み機器の分野において、主記憶として用いるＲＡＭの使用量を削減することが求められている。
【０００３】
そこで、特許文献１に記載の発明では、ページテーブルを操作することで、全てのプログラムコードをＲＯＭに配置したまま実行し、主記憶として用いるＲＡＭの使用量を削減している。
【０００４】
一方で、特許文献２の発明は、ＲＯＭにプログラムを配置しておき、プログラムを実行する際に、ページ単位でＲＯＭからＲＡＭにプログラムを転送しながら実行するというものである。
【特許文献１】特開２００５−７８４１９
【特許文献２】特開平７−１１４４９９
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の発明においては、主記憶として用いるＲＡＭの使用量の削減にはつながるものの、全てのプログラムコードをＲＡＭに比べて低速なＲＯＭで実行するため、ＲＡＭでからプログラムを実行する場合と比較して実行時間が大幅に増加してしまう。
【０００６】
また、特許文献２の発明においては、プログラムの全てのページが、ＣＰＵから各ページにアクセスがある毎にページフォルトしてＲＡＭに転送される。
【０００７】
すなわち、ＲＡＭ実行を取り入れることで、ＲＯＭ直接実行に比べると実行時に要する時間の短縮は図ることが出来るものの、ＲＯＭ上の全てのページが必ず一度はページフォルトになる。また、ＲＯＭへの書き戻しが行われることより、プログラム実行時間の増加をもたらすという短所も併せ持っている。
【０００８】
以上の問題を鑑みて、本発明の目的は、プログラムの実行に必要となるＲＡＭの使用量を削減した上で、なおかつ、プログラムコードの高速実行を実現する装置および方法、プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するための本発明に係る代表的な構成は、プログラムを実行する実行手段と、前記実行手段が実行可能な形式で前記プログラムを格納している第１メモリと、前記第１メモリよりも高速にアクセス可能であり主記憶として用いられる第２メモリと、を備える情報処理装置におけるプログラム実行方法であって、
仮想アドレス空間の各仮想要素に対して、前記第１及び第２メモリの物理アドレス空間において対応する物理要素と、前記仮想要素又は物理要素が転送対象であるか否かの情報とを、記憶手段に記憶する記憶工程と、
前記記憶手段を参照し、前記実行手段から要求された仮想要素が、前記転送対象に対応する場合に当該要求された仮想要素に対応する物理要素を前記第２メモリへ転送して実行し、前記転送対象でない場合に当該要求された仮想要素に対応する物理要素を前記第１メモリから実行する実行工程と、
を有することを特徴とするものである。
【発明の効果】
【００１０】
本発明によれば、ＲＯＭにプログラムコードを格納した情報処理装置において、ＲＯＭにあるプログラムコードの一部を、主記憶として用いるＲＡＭに転送し、ＲＡＭから実行することによって、ＲＡＭの使用量を削減し、かつ、プログラムの実行時間を短縮させることができる。
【００１１】
さらに、アクセス頻度に応じて、又はアクセス頻度を予測してＲＡＭに転送する対象を決定するため、よりプログラムの高速化の効果が得られる。または、ＲＡＭの使用量に応じて転送対象を転送して実行するため、ＲＡＭの使用量を適度に保つ事ができる。
【００１２】
さらに、プログラムの進行状況に応じて転送対象を転送して実行するため、よりフレキシブルに転送対象を設定できる。
【００１３】
さらに、ＲＡＭに転送対象を転送する際、一度に所定数までの転送対象を転送するため、割り込み処理の回数を減らし、プログラムの実行時間の短縮ができる。
【００１４】
さらに、ＲＯＭから転送された要素を優先的に置換することにより、ＲＯＭへの書き戻し処理が不要であるため、ＲＡＭを節約しつつプログラムの実行時間の短縮ができる。
【発明を実施するための最良の形態】
【００１５】
＜実施例１＞
図２は、本発明を適用した情報処理装置２００のシステム構成を示す概略図である。
【００１６】
２１０はプログラム実行手段としてのＣＰＵである。ＣＰＵ２１０は複数の演算処理装置によって構成してもよい。２３０はＣＰＵ２１０がアクセス可能な第１メモリであって、オペレーティングシステムやアプリケーションのプログラムのプログラムコードをＣＰＵ２１０が実行可能な形式で格納する。
【００１７】
第１メモリに格納されるプログラムコードは既存の技術であるＸＩＰ（ＥＸＥＣＵＴＥ  ＩＮ  ＰＬＡＣＥ）に対応しており、プログラムコード中のテキスト部分はＲＡＭに展開する事なく実行できる形式で格納されている。
【００１８】
２２０は第１メモリよりアクセス速度が高速で主記憶として用いる第２メモリであり、オペレーティングシステムや、ＣＰＵ２１０が処理中のデータや命令を一時的に格納する。
【００１９】
本実施例では、第１メモリとして読み取り専用で不揮発性のメモリであるＲＯＭ（以下、ＲＯＭ２３０）を、第２メモリとして揮発性であるが前記ＲＯＭ２３０よりも高速なＲＡＭ（以下、ＲＡＭ２２０）を用いる。
【００２０】
２４０はＨＤＤなどの二次記憶装置であって、オペレーティングシステムなどを格納する外部記憶装置である。また、主記憶であるＲＡＭ２２０のデータをスワップアウトすることとなった場合に、データが保存される場所の一つとしても用いる事ができる。
【００２１】
２５０はメモリ管理を担う制御手段としてのＭＭＵ（ＭＥＭＯＲＹ  ＭＡＮＡＧＥＭＥＮＴ  ＵＮＩＴ）であり、ＣＰＵ２１０からのアクセスに応じてＲＯＭ２３０、ＲＡＭ２２０にアクセスする。
【００２２】
図１は、本発明の一実施形態である情報処理装置１００においてアドレス変換の様子を示したものである。
【００２３】
以下、本実施形態では仮想記憶方式の１つであり、仮想アドレス空間と物理アドレス空間の夫々を所定サイズの要素（ここではページ）に分割して対応付けるページング方式を用いて説明する。
【００２４】
情報処理装置１００は仮想記憶方式を取っており、情報処理装置１００上に実装されている主記憶よりも大きな記憶領域を仮想的に提供する仕組みになっている。１１０はプロセス毎に持っている仮想アドレス空間の一つである。物理アドレス空間１２０、１５０はＲＯＭ２３０の有する物理要素（以下、ＲＯＭページと略称）の集合体である物理アドレス空間、１６０はＲＡＭ２２０の有する物理要素の集合体（以下、ＲＡＭページと略称）である物理アドレス空間を示す。
【００２５】
ここで、アドレス空間とは一般的に全アドレス領域を示している。要素とは、物理アドレス空間と仮想アドレス空間を対応付ける際に用いる、固定サイズの連続したサイズのアドレス領域を割当てられている形式上のデータである。物理要素の場合は物理アドレスを割当てられ、実際にその物理アドレスに電気的な情報として格納されている。一方、仮想要素の場合は仮想アドレスを割当てられ、仮想的にその仮想アドレスに格納されているものとして扱う。
【００２６】
また、本発明は仮想アドレス空間の仮想要素と物理アドレス空間仮想要素の対応情報に転送対象要素の設定するため、物理アドレス空間を自由なサイズの要素に分割し、仮想アドレス空間に対応付けるセグメンテーション方式においても適用できる。セグメンテーション方式では、ページング方式のように全ての要素を同じ大きさに統一する必要はない。従って、統一された大きさの要素を用いない場合は仮想アドレス空間に収められるデータが断片化する恐れがある。断片化を避けるためには、例えば、物理アドレス空間とセグメントを対応付けるテーブルと、セグメントをページに対応付けるテーブルと、ページを仮想アドレスに対応付けるテーブルによって多段にメモリマッピングを行う方法がある。ページングを用いてからセグメントを用いる逆の方式もある。
【００２７】
装置１００の有するＭＭＵ２５０は、仮想アドレス空間のＲＯＭページと物理アドレス空間のＲＡＭページを対応付けて、その対応情報をページテーブル１３０として対応情報記憶手段に記憶する。対応情報の形式は必ずしもテーブルでなくてもよいが、以下はテーブルを用いる場合を説明する。また、対応情報にアクセスする頻度が高い場合、対応情報記憶手段としてＭＭＵ２５０の有するＲＡＭ等、主記憶として用いるＲＡＭ２２０よりも高速な記憶媒体を用いる事が好ましい。また、ページテーブルを記憶する構成と、どのページが転送対象であるかの情報を記憶する構成は別に設ける事が好ましい。なお、ＭＭＵ２５０はＣＰＵ２１０に内蔵されていてもよい。
【００２８】
１４０は転送対象記述部であり、どのプログラムコードをＲＡＭ２２０に転送し実行するかを設定情報として格納している。ＲＯＭよりも高速なＲＡＭ２２０に転送して実行する事で、転送に処理時間はかかるもののＣＰＵの要求頻度が多い場合はプログラムの実行に要する時間が短縮される。予め、既存のプロファイル（シミュレーション）技術によって、プログラムの設計段階で、呼び出し頻度の高い関数やコードなどを特定し、ＲＡＭ２２０から実行する事でプログラムの高速化に貢献するプログラムコードを設定する。
【００２９】
以下、本実施形態の情報処理装置２００が、ＲＯＭページにあるプログラムコードを実行する詳細を説明する。
【００３０】
まず、プログラムの実行に先立って、ＭＭＵ２５０が物理アドレス空間を所定サイズの物理要素（以下、物理ページ）に分割し、同じく所定サイズに分割された仮想アドレス空間の１つの仮想要素（以下、仮想ページ）に対応づける。この対応情報を、作成したページテーブルに記憶する。この時、転送対象記述部を参照し、ＲＡＭに転送する事が予め設定されている物理ページを仮想アドレスと対応付ける際は、該ページテーブルのエントリにて、例えばフラグ部分にて転送対象要素であることを示す転送対象フラグを設定する。
【００３１】
仮想アドレス空間にマッピングされたプログラムコードを実行する際、ＣＰＵが仮想ページに要求をする度にページテーブルを参照し、要求がある仮想ページを含むページエントリの状態に応じて処理が分岐される。
【００３２】
まず、ページテーブルのページエントリにて、ＣＰＵに要求された仮想ページに対応するページがＲＯＭページで、かつ、転送対象フラグが無い場合は、要求されたＲＯＭページはＲＡＭ２２０に転送されることなく、ＲＯＭ２３０からＣＰＵ２１０に実行される。
【００３３】
一方、要求された仮想ページに対応する物理ページがＲＯＭ２３０に対応付けられており、かつ、転送対象フラグが有る場合は、ＭＭＵ２５０が割り込み処理（以下、ページフォルト）を発生させ、ＲＡＭ２２０に領域を確保しＲＯＭページを転送する。その後、ＲＡＭ２２０のＲＡＭページから実行される。また、このページフォルトの際には、転送対象記述部の当該ページのエントリに、転送先であるＲＡＭ２２０のページのアドレスを記憶更新する。
【００３４】
ページテーブルのページエントリにて、要求された仮想ページに対応する物理ページがＲＡＭ２２０に対応付けられている場合は、ＲＡＭ２２０からコードが実行される。
【００３５】
また、プログラムの実行が進むにつれて、ＲＡＭ２２０で使用済みのページが増加し、ついには空きページが無くなることでページアウトが発生する。ページアウトの対象となるページがＲＯＭ２３０から転送されたＲＡＭページであった場合（すなわち転送対象フラグの有るＲＡＭページであった場合）、当該ＲＡＭ２２０のページが破棄される。
【００３６】
このとき、当該ページテーブルエントリの記憶更新が行われ、転送対象記述部を参照することで、物理ページ番号がＲＡＭ２２０のものからＲＯＭ上のものに戻される。
【００３７】
さらに、転送対象記述部の当該エントリより、ＲＡＭ２２０のページ番号が削除される。
【００３８】
図３は、本実施例の転送対象記述部３００を示している。図のように転送対象記述部では、ＲＡＭ２２０に転送する事が設定される転送対象要素と、ＲＯＭ側のページ番号と、転送した先のＲＡＭ２２０側のページ番号との関連付けをテーブル形式で示している。
【００３９】
ここで、転送対象フラグのあるＲＯＭページは、対応付けられている仮想ページにアクセスがあると、ＲＡＭ２２０に転送され、ＲＡＭ２２０からＣＰＵに実行される。
【００４０】
また、ＲＯＭページを転送した先のＲＡＭページのページ番号については、予め設定しておくものではなく、転送対象要素であるＲＯＭページをＲＡＭ２２０へ転送するページフォルトが発生した時に記述する。また、ＲＡＭ２２０へ転送した仮想ページがページアウトする際には転送先のＲＡＭページのページ番号は消去する。
【００４１】
図３の例では、ＲＯＭ側ページのうち、ページ番号ｐ＿０，ｐ＿３のページについて、転送対象である事を示すフラグを設定しており、ｐ＿０についてはＲＡＭ２２０のページ番号ｐ＿ｘのページに対応付けされていることを示している。
【００４２】
転送対象記述部３００はテーブル形式をとっているが、各物理ページが転送するか否かが記述可能であれば、リスト形式でもよい。転送対象記述部３００は、必ずしも全ての物理ページに対して転送のフラグを設定する必要はなく、転送対象要素の物理ページ番号を記述するだけでもよい。
【００４３】
なお、転送対象記述部３００は予めＲＯＭ２３０などに、転送対象要素とＲＯＭ側のページ番号が関連付けられた状態で記憶され、プログラムの実行に先立って書き込み可能な媒体に転送される形が望ましい。
【００４４】
図４は、本実施例のページテーブルの概略を示したものである。
一般的にページテーブルにおいては、全ての物理ページ番号と対応付けされた仮想ページ番号、および、ページの状況を示すフラグ部分が記述される。
本実施例のページテーブルではフラグ部分において、ＲＡＭ２２０に転送する事が設定されているページについてはフラグを立て、その旨が示される。
【００４５】
図４の例では、仮想ページ番号ｖ＿０，ｖ＿１，…，ｖ＿ｎのそれぞれが、物理ページ番号ｐ＿０，ｐ＿１，…，ｐ＿ｎに対応しており、うち仮想ページ番号ｖ＿０と、ｖ＿３については、転送対象要素であることが関連付けられて示されている。
【００４６】
図３に示した転送対象記述部３００の、ＲＯＭに記憶した転送対象要素とＲＯＭページのページ番号との関連付けを、後述するページテーブルに加えてもよい。図３に示した転送対象記述部３００や、図４に示したページテーブル４００は物理アドレス空間と仮想アドレス空間の変換情報として常に最新の対応付けを反映する必要がある。
【００４７】
図５は、ページフォルトの発生処理を示す、詳細フローチャートである。
【００４８】
ステップＳ５００では、転送対象フラグを有する仮想ページへのアクセスであるかを確認する。
【００４９】
ステップＳ５００にてＹｅｓであった場合は、ステップＳ５１０で、仮想ページに対応する物理ページがＲＯＭページであるかを確認する。
【００５０】
ステップＳ５００にてＮｏであった場合は、アクセスがあるページが転送対象要素ではないので、ステップＳ５２０にて、アクセスのあるページをＲＡＭ２２０に転送せずＲＯＭ２３０から実行する。
【００５１】
ステップＳ５１０にてＹｅｓであった場合は、ステップＳ５３０で、ページフォルトを発生させる。
【００５２】
詳細は後述するが、このページフォルトにより、ＲＯＭ上のプログラムコードがＲＡＭ２２０に転送され、ＲＡＭ２２０からＣＰＵ２１０に実行される。
【００５３】
ステップＳ５１０にてＮｏであった場合は、ステップＳ５４０で、ページフォルトを発生させずにそのまま処理を続行する。
【００５４】
このページフォルト発生手段の一連の動作により、転送を示すフラグが立っていながら、ＲＡＭ２２０に転送されていない仮想ページにアクセスした際は、ページフォルトを発生させることが出来るようになる。
【００５５】
図６は、ページフォルト発生に関連してＭＭＵ２５０が行う概略処理を示す、フローチャートである。
【００５６】
ステップＳ６００でページフォルトが発生する。
【００５７】
ステップＳ６１０では、ページフォルト発生要因が何であったかを確認する。
【００５８】
ページフォルト発生要因が、転送対象フラグが有るＲＯＭページに対応付けられている仮想ページへのアクセスである場合は、ステップＳ６２０にて、当該ＲＯＭページを空いているＲＡＭページに転送する。その後、ステップＳ６３０にてページテーブルエントリおよび転送対象記述部に新たな対応付け情報を更新記憶する。
【００５９】
ページフォルト発生要因が、転送対象フラグの有る仮想ページがページアウトの対象となった事である場合は、ＲＡＭページが破棄され、ステップＳ６４０で、ページテーブルエントリ４００および転送対象記述部３００に新たな対応付け情報を更新記憶する。
【００６０】
これらの要因でなかった場合は、ステップＳ６５０にて例えば、ＨＤＤ２４０にスワップアウトされたスワップファイルを読み込むなど、通常のページフォルト処理を続行する。
【００６１】
これらのページフォルト処理により、転送対象要素であるＲＯＭページのＲＡＭ２２０への転送、および、ＲＯＭ２３０から転送されたページをＲＡＭ２２０にて破棄した後に、再度転送対象要素をＲＯＭ２３０からＲＡＭ２２０へ転送する事が出来るようになる。
【００６２】
なお、ページフォルトの発生はオペレーティングシステム等のソフトウェアによって引き起こしても良い。
【００６３】
図７は、ＭＭＵ２５０がページテーブルエントリおよび転送対象記述部３００を記述する処理を示す、詳細フローチャートである。
【００６４】
ステップＳ７００では、ページテーブルエントリおよび転送対象記述部３００に記述をする処理を引き起こす要因は何かを確認する。
【００６５】
要因が、ページテーブルを新規に作成するためであった場合、ステップＳ７１０で、転送対象記述部３００を参照し、対応付けしたいＲＯＭページのページ番号を記述する。さらに、ＲＡＭ２２０へ転送したいページである場合には、ページテーブルのフラグ部分に転送対象フラグを記述する。
【００６６】
一方、転送対象フラグの有るＲＯＭページに対応付けられている仮想ページへのアクセスである場合、ステップＳ７２０で、該仮想ページに対応付けられているＲＯＭページのページ番号に、転送対象要素を転送した先のＲＡＭページのページ番号を更新記憶する。引き続き、ステップＳ７３０では、転送対象記述部３００に、転送した先のＲＡＭ２２０のページ番号を記入する。ページテーブル４００に転送対象記述部３００が含まれる場合は、ステップＳ７２０とＳ７３０は同時に行われる。但し、ページアウト処理をする時のために、転送対象記述部３００に転送元のＲＯＭページのページ番号は残しておく。
【００６７】
また、要因が、ＲＯＭ２３０から転送されたページがページアウトの対象となった事である場合は、ステップＳ７４０で、転送対象記述部３００を参照し、ページアウト対象のページエントリの変換情報を、ＲＯＭページのページ番号に更新記憶する。
【００６８】
引き続き、ステップＳ７５０では、転送対象記述部における、ＲＡＭ２２０のページ番号を消去する。
【００６９】
このページテーブルエントリおよび転送対象記述部３００を記述することにより、ＲＯＭから転送したＲＡＭ２２０のページに対して仮想アドレスからアクセスができるようになる。
【００７０】
以上の構成によって、プロファイルによって判定されるアクセス頻度が高いと予測され、転送対象として決定されるプログラムコードを、ページ単位で指定してＲＡＭ２２０から実行できるため、コード実行高速化に繋がる。
なお上述の実施例でＲＯＭに格納しているプログラムコードは、ＣＰＵが直接読み取り可能なＸＩＰ形式（無圧縮）であるとして説明している。しかし、展開プログラムを別途に用意し、転送対象要素を圧縮した形式で格納して、ＲＡＭ２２０に転送する時に展開してもよい。
【００７１】
＜実施例２＞
実施例２では、ＲＯＭページをＲＡＭ２２０のページに転送する場合に、図８に示す転送ページ数記述部８００にて設定されている数まで、他の転送するページについても併せてＲＡＭ２２０に転送する。実施例１と同一機能を有する構成や処理、機能的に変わらないものについてはその説明を省略する。
【００７２】
実施例２ではステップＳ６２０において、ページフォルトの要因となったＲＯＭページに加え、転送対象要素で未だＲＡＭ２２０に転送されていないページに対しても、転送ページ数記述部８００に記述された所定数まで、同時にＲＡＭ２２０へ転送する。
【００７３】
図８では、ＲＡＭ２２０に転送されていない転送対象要素にアクセスが有る場合に、４ページを上限に、未転送である転送対象要素をＲＡＭ２２０に転送する設定を示している。
【００７４】
転送ページ数記述部８００を設けることにより、実施例１では転送するページを１ページ転送する度にページフォルトを発生させていたが、実施例２では複数の転送するページをＲＡＭ２２０に転送する際に一回のページフォルトで済むようになる。以上、実施例２の構成によるとページフォルト発生の減少につながり、プログラム実行時間の減少に寄与する。
【００７５】
＜実施例３＞
実施例１では、ページアウトが発生した場合に、特にページ置換アルゴリズムを指定していなかった。しかしながら、実施例３では図９に示すページ置換アルゴリズムを用いることにより、ＲＯＭから転送したＲＡＭページを優先的に置換する。
【００７６】
実施例１、２と同一機能を有する構成や処理、機能的に変わらないものについてはその説明を省略する。
【００７７】
実施例１では、特にページ置換アルゴリズムを指定していなかったが、実施例３では図９に示すページ置換を行う。
【００７８】
図９は、ページ置換アルゴリズムの動作を示す、フローチャートである。
【００７９】
ステップＳ９００では、ＲＯＭから転送したＲＡＭページが、ページアウトの候補としてなりえるかを確認する。
【００８０】
ステップＳ９００にてＹｅｓであった場合は、ステップＳ９１０で、ＲＯＭから転送したＲＡＭページを優先的に、ページアウトする。
【００８１】
ステップＳ９００にてＮｏであった場合は、ステップＳ９２０で、通常のページ置換アルゴリズムを実施しページを置換する。
【００８２】
ＲＯＭから転送したＲＡＭページがページアウトの対象となったときは、単に当該ＲＡＭページが破棄されるだけであるが、他のＲＡＭ２２０のページであれば二次記憶装置に退避するスワップアウトが発生させてもよい。
従って、実施例３では二次記憶装置に退避するスワップアウトの回数が減少し、プログラム実行時間の減少に寄与する。
【００８３】
前述の実施例の他にも、転送対象フラグに優先順位を設け、主記憶として用いるＲＡＭの使用状況に応じてＲＡＭに転送する優先順位を設定する事で、ＲＡＭの使用量を適切に維持したまま、部分的にプログラムの高速化が図れる。
【００８４】
また、転送対象フラグに属性を設け、プログラムのフェーズもしくは進行状況に応じて対応する属性のページをＲＡＭに転送して実行するようにしてもよい。
【００８５】
複数の変換情報を多段に複数用いて仮想要素と物理要素を対応づける際には、途中の少なくとも１つのテーブル（変換情報）に転送対象フラグを設けられればよい。
【００８６】
ちなみに、前述の本発明の一実施形態による情報処理装置は、各構成を全てハードウェアで構成したり、または、各構成全てをソフトウェアで構成したり、あるいはハードウェアとソフトウェアの両方で構成したりする事も可能である。
【００８７】
また、前述の実施形態の構成を成すコンピュータが読取り可能なプログラムコードを外部記憶装置や機能拡張ユニット、記憶媒体から読み込み実行する事も考えられる。
【図面の簡単な説明】
【００８８】
【図１】本実施例において仮想アドレスを物理アドレスに変換する概略を示すブロック図である。
【図２】本実施例における情報処理装置のシステム構成の概略図である。
【図３】転送対象記述部の具体例を示した表である。
【図４】ページテーブルおよびページテーブルエントリの具体例を示した表である。
【図５】ページフォルトの概略発生処理を示すフローチャートである。
【図６】ページフォルトに関連する概略処理を示すフローチャートである。
【図７】ページテーブルエントリおよび転送対象記述部を記述する概略処理を示すフローチャートである。
【図８】転送ページ数記述部の具体例を示したものである。
【図９】ページ置換アルゴリズムを示すフローチャートである。
【符号の説明】
【００８９】
１１０  仮想アドレス空間
１２０  物理アドレス空間
１３０  ページテーブル
１４０  転送対象記述部
１５０  ＲＯＭページ
１６０  ＲＡＭページ
２１０  ＣＰＵ
２２０  ＲＡＭ
２３０  ＲＯＭ
２４０  ＨＤＤ
２５０  ＭＭＵ
【図１】
2009069969.tif 000003
【図２】
2009069969.tif 000004
【図３】
2009069969.tif 000005
【図４】
2009069969.tif 000006
【図５】
2009069969.tif 000007
【図６】
2009069969.tif 000008
【図７】
2009069969.tif 000009
【図８】
2009069969.tif 000010
【図９】
2009069969.tif 000011