(57)【特許請求の範囲】
【請求項１】
物理メモリのアドレスである物理アドレスと仮想メモリのアドレスである仮想アドレスとを変換するための変換テーブルに基づいて、前記仮想アドレスと前記物理アドレスとを変換するメモリ管理装置と、
前記メモリ管理装置に設けられ、前記変換テーブルを示す変換テーブル情報を記憶するバッファと、
前記メモリ管理装置外に設けられ、前記変換テーブル情報、及び前記変換テーブル情報に付加され、前記メモリ管理装置による前記仮想アドレスと前記物理アドレスとの変換の異常の有無を検出するための異常検出情報を記憶している記憶手段と、
前記異常検出情報に基づいて、前記異常の有無を検出する異常検出手段と、
を備え、
前記物理メモリは、予め定められた物理アドレスに予め定められた値が記憶され、
前記異常検出情報は、前記予め定められた物理アドレスと前記仮想アドレスとを変換するための情報であり、
前記異常検出手段は、前記バッファに読み込まれた前記異常検出情報を用いて、前記予め定められた物理アドレスに対応する前記仮想アドレスによって、前記物理メモリに記憶されている値を読み出し、読み出した該値と前記予め定められた値との異同を検出するアドレス変換検査装置。
【請求項２】
請求項１に記載のアドレス変換検査装置を備えた中央処理演算装置であって、
前記アドレス変換検査装置が備える前記異常検出手段によって、前記メモリ管理装置による前記仮想アドレスと前記物理アドレスとの変換の異常が検出された場合に、実行中のプログラムを停止させる中央処理演算装置。
【請求項３】
物理メモリのアドレスである物理アドレスと仮想メモリのアドレスである仮想アドレスとを変換するための変換テーブルを示す変換テーブル情報を外部の記憶手段からバッファへ記憶し、該バッファに記憶した変換テーブル情報に基づいて、前記仮想アドレスと前記物理アドレスとを変換するメモリ管理装置にアクセスする中央処理演算装置のアドレス変換検査方法であって、
前記変換テーブル情報に付加され、前記メモリ管理装置による前記仮想アドレスと前記物理アドレスとの変換の異常の有無を検出するための異常検出情報に基づいて、前記異常の有無を検出するために、
前記物理メモリは、予め定められた物理アドレスに予め定められた値が記憶され、
前記異常検出情報は、前記予め定められた物理アドレスと前記仮想アドレスとを変換するための情報であり、
前記バッファに読み込まれた前記異常検出情報を用いて、前記予め定められた物理アドレスに対応する前記仮想アドレスによって、前記物理メモリに記憶されている値を読み出し、読み出した該値と前記予め定められた値との異同を検出するアドレス変換検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドレス変換検査装置、中央処理演算装置、及びアドレス変換検査方法に関するものである。
【背景技術】
【０００２】
ＲＡＭ（Random Access Memory）等のページ単位毎（例えば、数ｋバイト毎)に区切られた物理メモリへＣＰＵ（Central Processing Unit：中央処理演算装置）がアクセスするために、仮想アドレスが用いられる場合がある。仮想アドレスとは、不連続な物理メモリの領域を仮想的に連続とした仮想メモリのアドレスであり、物理アドレスとは異なる。そのため、ＣＰＵが仮想アドレスを用いる場合、メモリ管理装置（Memory Management Unit、以下、「ＭＭＵ」という。）が、仮想アドレスを物理アドレスに変換することによって、ＣＰＵによる物理メモリへのアクセスを可能としている。
【０００３】
ＭＭＵは、物理アドレスを仮想アドレスに変換するための変換テーブルであるページテーブルを、ＲＡＭからページ索引バッファ（Translation Look-aside Buffer、以下、「ＴＬＢ」という。）に読み込み（ロードし）、該ページテーブルを用いてＣＰＵからアクセス要求があった仮想アドレスを物理アドレスに変換している。
ページテーブルは、図６の模式図に示すように、物理メモリ５０のメモリページ毎にアクセスするためのメモリページエントリが設けられ、各メモリページエントリには、対応するメモリページの仮想アドレス及び物理アドレスが記述されている。ＭＭＵ５２に設けられたＴＬＢ５４には、物理メモリ５０に記憶されているページテーブル情報から必要なモリページエントリが読み込まれ、記憶される。
【０００４】
また、メモリページエントリには、「読み」、「書き」、及び「実行」等を示すメモリ保護属性が記述されている。特許文献１に記載の技術は、ＭＭＵに読み込まれるページテーブルのメモリページエントリのメモリ保護属性の保護ビットに値を設定することによって、あるタスクしか使用しない大域変数を他のタスクが間違って書き換えてしまい、タスクが暴走してしまうことを防ぐことを可能とする技術である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２８９１５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方、図６の模式図に示されるＭＭＵ５２のＴＬＢ５４に読み込まれたページテーブルの破損、及びＭＭＵ５２の故障等により、ＣＰＵ５６がＭＭＵ５２を介して物理メモリ５０へ正常にアクセスできない場合には、ＣＰＵ５６の停止（ハングアップ）、暴走、又は接続されている他の装置への出力値の突変等、ＣＰＵ５６の動作が異常となる可能性がある。
【０００７】
本発明は、このような事情に鑑みてなされたものであって、メモリ管理装置に設けられたバッファに読み込まれた変換テーブルを用いて、中央処理演算装置が物理メモリへ正常にアクセスできるか否かを他のプログラムを実行したままで検査できるアドレス変換検査装置、中央処理演算装置、及びアドレス変換検査方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のアドレス変換検査装置は以下の手段を採用する。
すなわち、本発明に係るアドレス変換検査装置は、物理メモリのアドレスである物理アドレスと仮想メモリのアドレスである仮想アドレスとを変換するための変換テーブルに基づいて、前記仮想アドレスと前記物理アドレスとを変換するメモリ管理装置と、前記メモリ管理装置に設けられ、前記変換テーブルを示す変換テーブル情報を記憶するバッファと、前記メモリ管理装置外に設けられ、前記変換テーブル情報、及び前記変換テーブル情報に付加され、前記メモリ管理装置による前記仮想アドレスと前記物理アドレスとの変換の異常の有無を検出するための異常検出情報を記憶している記憶手段と、前記異常検出情報に基づいて、前記異常の有無を検出する異常検出手段と、を備える。
【０００９】
本発明によれば、メモリ管理装置によって、物理メモリのアドレスである物理アドレスと仮想メモリのアドレスである仮想アドレスとを変換するための変換テーブルに基づいて、仮想アドレスと物理アドレスとが変換される。メモリ管理装置に設けられたバッファには、上記変換に用いられる変換テーブルを示す変換テーブル情報が記憶される。
物理メモリとは、例えばＲＡＭ等であり、仮想メモリとは、不連続な物理メモリの領域を仮想的に連続としたメモリである。そして、中央処理演算装置が仮想アドレスを用いる場合は、仮想アドレスを用いて物理メモリに直接アクセスできないため、メモリ管理装置によって変換テーブルに基づいて仮想アドレスと物理アドレスとが変換される。この変換によって、中央処理演算装置は物理メモリにアクセス可能とされている。
ところで、変換テーブル情報は、メモリ管理装置に設けられているバッファに読み込まれる前には、メモリ管理装置外に設けられている記憶手段に記憶されている。該記憶手段には、メモリ管理装置による仮想アドレスと物理アドレスとの変換の異常の有無を検出するための異常検出情報が、変換テーブル情報に付加されて記憶されている。
そして、異常検出手段によって、上記異常検出情報に基づいて、メモリ管理装置による仮想アドレスと物理アドレスとの変換の異常の有無が検出される。
【００１０】
このように、本発明は、変換テーブル情報に付加されている異常検出情報を用いて、メモリ管理装置による仮想アドレスと物理アドレスとの変換の異常の有無を検出するので、メモリ管理装置に設けられたバッファに読み込まれた変換テーブルを用いて、中央処理演算装置が物理メモリへ正常にアクセスできるか否かを他のプログラムを実行したままで検査できる。
【００１１】
また、本発明のアドレス変換検査装置は、前記異常検出情報が、前記変換テーブル情報により示される前記変換テーブルに基づいて生成された、巡回冗長検査（Cyclic Redundancy Check）に用いるＣＲＣ値であり、前記異常検出手段が、前記バッファに前記変換テーブル情報と共に異常検出情報が読み込まれる前に、読み込みの対象となる前記変換テーブル情報により示される前記変換テーブルに基づいて新たなＣＲＣ値を生成し、前記異常検出情報としてのＣＲＣ値と該新たなＣＲＣ値との異同を検出してもよい。
【００１２】
本発明によれば、異常検出情報は、変換テーブル情報により示される前記変換テーブルに基づいて生成された、巡回冗長検査に用いるＣＲＣ値である。そして、異常検出手段は、バッファに変換テーブル情報と共に異常検出情報が読み込まれる前に、読み込みの対象となる変換テーブル情報により示される変換テーブルに基づいて新たなＣＲＣ値を生成し、異常検出情報としてのＣＲＣ値と該新たなＣＲＣ値との異同を検出する。
これにより、本発明は、バッファに読み込まれた変換テーブルの破損の有無が検出できるので、中央処理演算装置が物理メモリへ正常にアクセスできるか否かを他のプログラムを実行したままで検査できる。
【００１３】
また、本発明のアドレス変換検査装置は、前記異常検出情報を前記変換テーブルに対してページ単位で付加してもよい。
本発明によれば、一般的に、物理メモリはページ単位に区切られ、変換テーブルは、中央処理演算装置がページ単位で物理メモリにアクセスできるように生成されているため、異常検出情報が、変換テーブルに対してページ単位で付加される。
これにより、本発明は、ページ単位で変換テーブルの破損の有無を検査することができる。
【００１４】
また、本発明のアドレス変換検査装置は、前記物理メモリの予め定められた物理アドレスに予め定められた値が記憶され、前記異常検出情報を、前記予め定められた物理アドレスと前記仮想アドレスとを変換するための情報とし、前記異常検出手段が、前記バッファに読み込まれた前記異常検出情報を用いて、前記予め定められた物理アドレスに対応する前記仮想アドレスによって、前記物理メモリに記憶されている値を読み出し、読み出した該値と前記予め定められた値との異同を検出してもよい。
【００１５】
本発明によれば、物理メモリは、予め定められた物理アドレスに予め定められた値が記憶され、異常検出情報は、上記予め定められた物理アドレスと仮想アドレスとを変換するための情報とされている。
そして、異常検出手段によって、バッファに読み込まれた異常検出情報を用いて、予め定められた物理アドレスに対応する仮想アドレスによって、物理メモリに記憶されている値が読み出され、読み出された該値と予め定められた値との異同が検出される。すなわち、メモリ管理装置が入力された仮想アドレスを正しく物理アドレスに変換できる場合は、読み出された値と予め定められた値とが同じとなる一方、メモリ管理装置が入力された仮想アドレスを正しく物理アドレスに変換できない場合は、読み出された値と予め定められた値とが異なる。
【００１６】
これにより、本発明は、メモリ管理装置による仮想メモリと物理メモリとの変換の異常の有無を検出できるので、中央処理演算装置が物理メモリへ正常にアクセスできるか否かを他のプログラムを実行したままで検査できる。
【００１７】
また、上記課題を解決するために、本発明の中央処理演算装置は以下の手段を採用する。
すなわち、本発明に係る中央処理演算装置は、上記記載のアドレス変換検査装置を備えた中央処理演算装置であって、前記アドレス変換検査装置が備える前記異常検出手段によって、前記メモリ管理装置による前記仮想アドレスと前記物理アドレスとの変換の異常が検出された場合に、実行中のプログラムを停止させる。
【００１８】
本発明によれば、中央処理演算装置は、上記記載のアドレス変換検査装置を備えている。そして、中央処理演算装置は、アドレス変換検査装置が備える異常検出手段によって、メモリ管理装置による仮想アドレスと物理アドレスとの変換の異常が検出された場合に、実行中のプログラムを停止させる。
これにより、本発明は、メモリ管理装置による仮想アドレスと物理アドレスとの変換の異常を原因として、中央処理演算装置の動作が異常となること防止することができる。
【００１９】
さらに、上記課題を解決するために、本発明のアドレス変換検査方法は以下の手段を採用する。
すなわち、本発明に係るアドレス変換検査方法は、物理メモリのアドレスである物理アドレスと仮想メモリのアドレスである仮想アドレスとを変換するための変換テーブルを示す変換テーブル情報を外部の記憶手段からバッファへ記憶し、該バッファに記憶した変換テーブル情報に基づいて、前記仮想アドレスと前記物理アドレスとを変換するメモリ管理装置にアクセスする中央処理演算装置のアドレス変換検査方法であって、前記変換テーブル情報に付加され、前記メモリ管理装置による前記仮想アドレスと前記物理アドレスとの変換の異常の有無を検出するための異常検出情報に基づいて、前記異常の有無を検出する。
【００２０】
本発明によれば、変換テーブル情報に付加されている異常検出情報を用いて、メモリ管理装置による仮想アドレスと物理アドレスとの変換の異常の有無を検出するので、メモリ管理装置に設けられたバッファに読み込まれた変換テーブルを用いて、中央処理演算装置が物理メモリへ正常にアクセスできるか否かを他のプログラムを実行したままで検査できる。
【発明の効果】
【００２１】
本発明によれば、メモリ管理装置に設けられたバッファに読み込まれた変換テーブルを用いて、中央処理演算装置が物理メモリへ正常にアクセスできるか否かを他のプログラムを実行したままで検査できる、という優れた効果を有する。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１実施形態に係る情報処理装置の電気系の要部構成を示す図である。
【図２】本発明の第１実施形態に係るＲＡＭに記憶されているページテーブル情報及び異常検出情報の構成を示す模式図である。
【図３】本発明の第１実施形態に係るアドレス変換検査プログラムの処理の流れを示すフローチャートである。
【図４】本発明の第２実施形態に係るＲＡＭに記憶されているページテーブル情報及び異常検出情報の構成を示す模式図である。
【図５】本発明の第２実施形態に係るアドレス変換検査プログラムの処理の流れを示すフローチャートである。
【図６】従来のＭＭＵによる処理の説明に要する模式図である。
【発明を実施するための形態】
【００２３】
以下に、本発明に係るアドレス変換検査装置、中央処理演算装置、及びアドレス変換検査方法の一実施形態について、図面を参照して説明する。
【００２４】
〔第１実施形態〕
以下、本発明の第１実施形態について説明する。
図１は、本実施形態に係る情報処理装置１０の電気的構成を示すブロック図である。
情報処理装置１０は、情報処理装置１０全体の動作を司るＣＰＵ１２、ＣＰＵ１２による各種プログラムの実行時のワークエリア等として用いられる物理メモリであるＲＡＭ１４、各種プログラムや各種情報（データ）等が予め記憶されたＲＯＭ（Read Only Memory）１６、各種プログラム及び各種情報を記憶する記憶手段としてのＨＤＤ（Hard Disk Drive）１８を備えている。なお、記憶手段としては、ＨＤＤ１８に限らず、フラッシュＲＯＭ等、データを記憶できるものであれば他の記憶手段を用いてもよい。
【００２５】
ＣＰＵ１２は、プログラムを実行するためのプログラム実行部２２、及び後述するＣＰＵ例外（ページフォルト）通知が入力された場合に、実行しているプログラムの停止処理を行う例外処理部２４を備えている。
【００２６】
また、ＣＰＵ１２は、仮想アドレスと物理アドレスとを変換するための変換テーブル（以下、「ページテーブル」という。）に基づいて、ＣＰＵ１２から出力される仮想アドレスを物理アドレスに変換するＭＭＵ２０に内部バス４０を介して接続されている。
ページテーブルは、図２に示すように、物理メモリであるＲＡＭ１４のページ単位毎（メモリページ♯１〜♯Ｎ（Ｎは整数））に設けられたメモリページエントリ（メモリページ♯１エントリ〜メモリページ♯Ｎエントリ）を複数含んでいる。なお、メモリページエントリは、対応するメモリページの仮想アドレス、物理アドレス、並びに「読み」、「書き」、「実行」、及び全ての権限を持つユーザのアクセスのみを受け付ける「スーパーユーザモード」等を示すメモリ保護属性が記述されている。
【００２７】
ＭＭＵ２０は、ＴＬＢ２６、アドレス変換部２８、メモリ保護部３０を備えている。
ＴＬＢ２６は、ページテーブルを示すページテーブル情報を記憶する。より具体的には、ＴＬＢ２６は、ＲＡＭ１４に記憶されているページテーブル情報からＣＰＵ１２で実行されるプログラムに応じて必要とされるメモリページエントリを読み込み、記憶する。
アドレス変換部２８は、ＴＬＢ２６に読み込まれたページテーブル情報を用いて仮想アドレスと物理アドレスとの変換処理を行う。
メモリ保護部３０は、アドレス変換部２８によって仮想アドレスから変換された物理アドレスでは、物理メモリにアクセスできない不正アクセスの有無を検出し、不正アクセスを検出した場合に、不正アクセスであることを示す信号であるＣＰＵ例外通知をＣＰＵ１２へ出力する。
【００２８】
なお、ページテーブル情報は、予めＨＤＤ１８に記憶されており、情報処理装置１０の動作が開始されると、ＨＤＤ１８からＲＡＭ１４に送信され、記憶される。そして、ＲＡＭ１４に記憶されたページテーブル情報は、ＣＰＵ１２で実行されるプログラムに応じてＴＬＢ２６に読み込まれる。
【００２９】
また、情報処理装置１０は、キーボード及びマウス等から構成され、各種操作の入力を受け付ける操作入力部３２、例えば液晶ディスプレイ装置等の画像表示部３４を備えている。なお、操作入力部３２は、キーボード及びマウス等に限らず、プッシュボタン等、情報処理装置１０に対する操作の入力を受け付けるものであれば、他の入力装置であってもよい。また、画像表示部３４は、液晶ディスプレイ等に限らず、ＬＥＤ（Light Emitting Diode）等情報処理装置１０を使用するユーザに種々の情報を報知できるものであれば、他の表示装置であってもよい。
さらに、情報処理装置１０は、通信回線３６を介して他の情報処理装置や、情報処理装置１０によって制御される他の装置等の外部装置と接続され、該外部装置との各種情報の入出力を行う入出力処理部３８を備えている。
なお、通信回線３６は、電気事業者によって提供される広域通信回線又はＬＡＮ（Local Area Network）等の構内通信網、又は外部パス等であり、有線回線又は無線回線の何れであってもよい。
【００３０】
これらＭＭＵ２０、ＲＡＭ１４、ＲＯＭ１６、ＨＤＤ１８、操作入力部３２、画像表示部３４、及び入出力処理部３８は、内部バス４０を介して相互に電気的に接続されている。従って、ＣＰＵ１２はＭＭＵ２０を介して、ＲＡＭ１４、ＲＯＭ１６、及びＨＤＤ１８へのアクセス、操作入力部３２に対する操作状態の把握、画像表示部３４に対する画像の表示、及び入出力処理部３８を介した外部装置との各種情報の送受信等を各々行なうことができる。
【００３１】
ここで、ＭＭＵ２０のＴＬＢ２６に読み込まれたページテーブルの破損、及びＭＭＵ２０の故障等により、ＣＰＵ１２がＭＭＵ２０を介してＲＡＭ１４へ正常にアクセスできない場合には、ＣＰＵ１２の停止、暴走、又は接続されている他の装置への出力値の突変等、ＣＰＵ１２の動作が異常となる可能性がある。そのため、本第１実施形態に係るＭＭＵ２０のＴＬＢ２６には、ページテーブル情報、及びＭＭＵ２０による仮想アドレスと物理アドレスとの変換の異常の有無を検出するための異常検出情報がＲＡＭ１４から読み込まれる。
【００３２】
本第１実施形態に係る異常検出情報は、ページテーブル情報により示されるページテーブルに基づいて生成された、巡回冗長検査（Cyclic Redundancy Check）に用いるＣＲＣ値である。なお、ＣＲＣ値を生成する方法としては、従来既知の方法を用いればよく、本第１実施形態ではその説明を省略する。
そして、図２に示すようにＣＲＣ値は、物理メモリであるＲＡＭ１４のメモリページ♯１〜♯Ｎに各々対応するメモリページ♯１エントリ〜メモリページ♯Ｎエントリ毎に設けられている。すなわち、ＣＲＣ値は、ＲＡＭ１４のページ単位毎に生成される。
そして、本第１実施形態に係るＣＰＵ１２は、ＴＬＢ２６にページテーブル情報が読み込まれる前に、該ページテーブル情報に付加されている異常検出情報に基づいて、ＭＭＵ２０による仮想アドレスと物理アドレスとの変換の異常の有無を検出するアドレス変換検査処理を行う。
【００３３】
次に、本第１実施形態に係る情報処理装置１０の作用を説明する。
【００３４】
図３は、ＲＡＭ１４に記憶されているページテーブル情報が、ＴＬＢ２６に異常検出情報と共に読み込まれる前に、ＣＰＵ１２によって実行されるアドレス変換検査プログラムの処理の流れを示すフローチャートであり、該プログラムはＨＤＤ１８の所定領域に予め記憶されている。
【００３５】
ステップ１００では、ＴＬＢ２６に読み込まれる対象となるページテーブル情報のメモリページエントリ毎に該メモリページエントリに基づいて新たなＣＲＣ値を生成する。
【００３６】
次のステップ１０２では、ＴＬＢ２６に読み込まれる対象となるページテーブル情報の異常検出情報としてのＣＲＣ値とステップ１００で生成した新たなＣＲＣ値とをメモリページエントリ毎に比較する。
【００３７】
次のステップ１０４では、異常検出情報としてのＣＲＣ値と新たなＣＲＣ値とが異なるか否かを判定し、肯定判定の場合、読み込みの対象となっているページデータ情報をＴＬＢ２６に読み込ませることなく、ステップ１０６へ移行する一方、否定判定の場合は、読み込みの対象となっているページテーブル情報をＴＬＢ２６に読み込ませ、本プログラムを終了する。
すなわち、ステップ１０４で肯定判定となる場合は、ＴＬＢ２６に読み込まれたページデータ情報により示されるページデータが何らかの理由により破損していることを検出したこととなる。なお、ページテーブルの破損の原因は、不正なプログラムによるページテーブルの書き換え、ＲＡＭ１４に生じた、例えば放射線の影響による一過性のエラーによりページテーブルのビット化け等である。
【００３８】
ステップ１０６では、実行中のプログラムが有るか否かを判定し、肯定判定の場合は、ステップ１０８へ移行する一方、否定判定の場合は、ステップ１１０へ移行する。
【００３９】
ステップ１０８では、プログラム実行部２２で実行中のプログラムを停止させ、ステップ１１０へ移行する。
【００４０】
ステップ１１０では、ページデータの破損の発生、並びに実行中のプログラムを停止させた場合には、停止させたプログラムの名称等を画像表示部３４の画面へ表示させることで報知する報知処理を行った後に、本プログラムを終了する。また、該報知処理において、破損を検出したメモリページエントリを報知してもよい。
【００４１】
なお、異常検出情報としてのＣＲＣ値は、ページテーブル情報が生成されると共に生成され、ＨＤＤ１８に記憶されてもよいし、ＣＰＵ１２を初期化する毎、ページテーブルの属性を変更する毎、又はページテーブル情報をＴＬＢ２６に読み込ませる毎に生成し、更新されてもよい。
特に、ページテーブル情報が生成されると共にＣＲＣ値を生成し、ＨＤＤ１８に記憶した場合にＣＲＣ値が異なることが検出されると、ページテーブルは、ＨＤＤ１８からＲＡＭ１４を介してＴＬＢ２６に読み込まれる過程で破損したと考えられる。
また、属性が変更される等、内容が時々刻々変化するページテーブルに対しては、ページテーブル情報をＲＡＭ１４からＴＬＢ２６に読み込む毎にＣＲＣ値を生成しなければならない。
【００４２】
以上説明したように、本第１実施形態に係る情報処理装置１０は、ＭＭＵ２０によって、物理アドレスと仮想アドレスとを変換するための変換テーブルに基づいて、仮想アドレスと物理アドレスとが変換される。なお、ＭＭＵ２０に設けられているＴＬＢ２６には、変換テーブルを示す変換テーブル情報が記憶される。
変換テーブル情報は、ＴＬＢ２６に読み込まれる前には、ＭＭＵ２０外に設けられているＲＡＭ１４に、ＭＭＵ２０による仮想アドレスと物理アドレスとの変換の異常の有無を検出するための異常検出情報が付加されて記憶されている。
そして、ＣＰＵ１２は、異常検出情報に基づいて、ＭＭＵ２０による仮想アドレスと物理アドレスとの変換の異常の有無を検出する。
このように、本第１実施形態に係るＣＰＵ１２は、ページテーブル情報に付加されている異常検出情報を用いて、ＭＭＵ２０による仮想アドレスと物理アドレスとの変換の異常の有無を検出するので、ＭＭＵ２０に設けられたＴＬＢ２６に読み込まれたページテーブルを用いて、ＣＰＵ１２が物理メモリへ正常にアクセスできるか否かを他のプログラムを実行したままで検査できる。
【００４３】
また、本第１実施形態に係る異常検出情報は、ページテーブル情報により示されるページテーブルに基づいて生成された、巡回冗長検査に用いるＣＲＣ値であり、ＴＬＢ２６にページテーブル情報が読み込まれる前に、読み込みの対象となるページテーブル情報により示されるページテーブルに基づいて新たなＣＲＣ値を生成し、異常検出情報としてのＣＲＣ値と該新たなＣＲＣ値との異同を検出する。
これにより、本第１実施形態に係るＣＰＵ１２は、ＴＬＢ２６に読み込まれたページテーブルの破損の有無が検出できるので、ＣＰＵ１２が物理メモリへ正常にアクセスできるか否かを他のプログラムを実行したままで検査できる。
【００４４】
また、本第１実施形態に係る異常検出情報は、ページテーブルに対してページ単位で付加されるので、ページ単位でページテーブルの破損の有無を検査することができる。
【００４５】
さらに、本第１実施形態に係るＣＰＵ１２は、ＭＭＵ２０による仮想アドレスと物理アドレスとの変換の異常が検出された場合に、実行中のプログラムを停止させるので、ＭＭＵ２０による仮想アドレスと物理アドレスとの変換の異常を原因として、ＣＰＵ１２の動作が異常となることを防止することができる。
【００４６】
〔第２実施形態〕
以下、本発明の第２実施形態について説明する。
【００４７】
なお、本第２実施形態に係る情報処理装置１０の構成は、図１に示される第１実施形態に係る情報処理装置１０の構成と同様であるので説明を省略する。
本第２実施形態では、物理メモリであるＲＡＭ１４の予め定められた物理アドレスに予め定められた値（以下、「マジックパターン」という。）を記憶させ、異常検出情報を予め定められた物理アドレスと仮想アドレスとを変換するための情報とする。
【００４８】
すなわち、本第２実施形態に係る異常検出情報は、図４に示すように、マジックパターンが記憶されているメモリページ♯α（αは、１〜Ｎとは異なる整数）にアクセスするためのメモリページエントリであり、該メモリページエントリがページテーブル情報に付加されている。なお、本第２実施形態に係るメモリページ♯αには、マジックパターンの一例として０ｘ５Ａ５Ａ５Ａ５Ａが記憶されている。また、ＲＡＭ１４に記憶されているマジックパターンと同じ情報が、後述するアドレス変換検査プログラムに予め記述されている。
【００４９】
なお、情報処理装置１０の構成として、ＣＰＵ１２がＭＭＵ２０を介さずにＲＡＭ１４への書き込みが可能であれば、ＲＡＭ１４へのマジックパターンの書き込みは、ＭＭＵ２０を動作させる前に行うことが望ましいが、これに限らず、ＭＭＵ２０の動作開始後にＲＡＭ１４にマジックパターンを書き込んでもよい。
また、マジックパターンは、所定時間間隔毎に変更されてもよいし、マジックパターンが書き込まれる物理アドレスも、所定時間間隔毎に変化されてもよい。
【００５０】
次に、本第２実施形態に係る情報処理装置１０の作用を説明する。
【００５１】
図５は、本第２実施形態に係る異常検出処理を行う場合に、ＣＰＵ１２のプログラム実行部２２によって実行されるアドレス変換検査プログラムの処理の流れを示すフローチャートであり、該プログラムはＨＤＤ１８の所定領域に予め記憶されている。なお、アドレス変換検査プログラムは、予め定められた時間間隔毎（例えば、１０分毎）に、ＨＤＤ１８からＲＡＭ１４に送信、記憶されて、実行される。
【００５２】
まず、ステップ３００では、異常検出情報としてのメモリページエントリの仮想アドレスにアクセスすることによって、異常検出情報がＴＬＢ２６に読み込まれているか否かを判定し、肯定判定の場合は、ステップ３０４へ移行する一方、否定判定の場合は、ステップ３０２へ移行する。すなわち、アクセスできない場合は、異常検出情報がＴＬＢ２６に読み込まれていない場合であり、アクセスできる場合は、異常検出情報がＴＬＢ２６に読み込まれている場合である。
【００５３】
ステップ３０２では、異常検出情報としてのメモリページエントリがＴＬＢ２６に読み込まれていないため、異常検出情報をＲＡＭ１４からＴＬＢ２６に読み込ませる。
【００５４】
ステップ３０４では、ＲＡＭ１４に記憶されているマジックパターンを読み込むための仮想アドレスをＭＭＵ２０に出力し、ＴＬＢ２６に読み込ませた異常検出情報としてのメモリページエントリに基づいて仮想アドレスを物理アドレスに変換させ、ＲＡＭ１４からマジックナンバーを読み出す。
【００５５】
次のステップ３０６では、アドレス変換検査プログラムに予め記述されているマジックパターンとＲＡＭ１４から読み出したマジックパターンとの異同を検出する。すなわち、本ステップでは、アドレス変換検査プログラムに予め記述されているマジックパターンとＲＡＭ１４から読み出したマジックパターンとが一致するか否かを判定し、肯定判定の場合は、本プログラムを終了する一方、否定判定の場合は、ステップ３０８へ移行する。
なお、ＭＭＵ２０が入力された仮想メモリを正しく物理メモリに変換できている場合は、ＲＡＭ１４から読み出されたマジックパターンとアドレス変換検査プログラムに予め記述されているマジックパターンとが同じとなる一方、ＭＭＵ２０が入力された仮想メモリを正しく物理メモリに変換できない場合は、ＲＡＭ１４から読み出されたマジックパターンとアドレス変換検査プログラムに予め記述されているマジックパターンとが異なる。ＲＡＭ１４から読み出されたマジックパターンとアドレス変換検査プログラムに予め記述されているマジックパターンとが異なる場合は、ＭＭＵ２０による仮想メモリと物理メモリとの変換に異常、すなわち、ＭＭＵ２０に故障が生じていると考えられる。
【００５６】
ステップ３０８では、実行中のプログラムが有るか否かを判定し、肯定判定の場合は、ステップ３１０へ移行する一方、否定判定の場合は、ステップ３１２へ移行する。
【００５７】
ステップ３１０では、プログラム実行部２２で実行中のプログラムを停止させる。
【００５８】
ステップ３１２では、マジックパターンが不一致とであったこと、及び実行中のプログラムを停止させた場合には、停止させたプログラムの名称等を画像表示部３４の画面へ表示させることで報知する報知処理を行った後に、本プログラムを終了する。
【００５９】
なお、上記ステップ３０４で、マジックパターンをＲＡＭ１４から読み出すことができなかった場合も、ステップ３０６では、マジックパターンが不一致であったとして、その後の処理を継続する。マジックパターンをＲＡＭ１４から読み出すことができなかった場合も、ＭＭＵ２０による仮想メモリと物理メモリとの変換に異常、すなわち、ＭＭＵ２０に故障が生じていると考えられる。
【００６０】
以上説明したように、本第２実施形態に係る情報処理装置１０は、物理メモリの予め定められた物理アドレスにマジックパターンを記憶し、異常検出情報を上記予め定められた物理アドレスと仮想アドレスとを変換するための情報としている。そして、本第２実施形態に係るＣＰＵ１２は、ＴＬＢ２６に読み込まれた異常検出情報を用いて、予め定められた物理アドレスに対応する仮想アドレスによって、物理メモリに記憶されている値を読み出し、読み出された値とマジックパターンとの異同を検出する。
これにより、本第２実施形態に係るＣＰＵ１２は、ＭＭＵ２０による仮想メモリと物理メモリとの変換の異常の有無を検出できるので、ＣＰＵ１２が物理メモリへ正常にアクセスできるか否かを他のプログラムを実行したままで検査できる。
【００６１】
以上、本発明を、上記各実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記各実施形態に多様な変更または改良を加えることができ、該変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【００６２】
例えば、上記各実施形態では、物理メモリをＲＡＭ１４とする場合について説明したが、本発明は、これに限定されるものではなく、物理メモリをＲＡＭ１４及びＨＤＤ１８とする形態としてもよい。
【００６３】
また、上記各実施形態では、報知処理として画像表示装置を介して報知する場合について説明したが、本発明は、これに限定されるものではなく、例えば、入出力処理部２８に印刷装置が接続されている場合には、該印刷装置に報知内容を記した文章を紙媒体等に画像として形成させることで報知する形態、又は不図示のスピーカで音声として報知させる形態としてもよい。
【符号の説明】
【００６４】
１０    情報処理装置
１２    ＣＰＵ
１４    ＲＡＭ
２０    ＭＭＵ
２６    ＴＬＢ
３０    メモリ保護部
【図１】
0005579003.tif 000002
【図２】
0005579003.tif 000003
【図３】
0005579003.tif 000004
【図４】
0005579003.tif 000005
【図５】
0005579003.tif 000006
【図６】
0005579003.tif 000007