JP5473841B2 - 中央処理演算装置、及び異常検査方法 - Google Patents

中央処理演算装置、及び異常検査方法 Download PDF

Info

Publication number
JP5473841B2
JP5473841B2 JP2010201045A JP2010201045A JP5473841B2 JP 5473841 B2 JP5473841 B2 JP 5473841B2 JP 2010201045 A JP2010201045 A JP 2010201045A JP 2010201045 A JP2010201045 A JP 2010201045A JP 5473841 B2 JP5473841 B2 JP 5473841B2
Authority
JP
Japan
Prior art keywords
signal
memory
address
input
management device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010201045A
Other languages
English (en)
Other versions
JP2012058975A (ja
Inventor
実 中出
信一 戸田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2010201045A priority Critical patent/JP5473841B2/ja
Application filed by Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to CN201180031495.9A priority patent/CN103069393B/zh
Priority to EP11823308.9A priority patent/EP2615551B1/en
Priority to KR1020127033489A priority patent/KR101453184B1/ko
Priority to ES11823308T priority patent/ES2745120T3/es
Priority to US13/806,883 priority patent/US8966320B2/en
Priority to PCT/JP2011/064116 priority patent/WO2012032829A1/ja
Publication of JP2012058975A publication Critical patent/JP2012058975A/ja
Application granted granted Critical
Publication of JP5473841B2 publication Critical patent/JP5473841B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2215Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings

Description

本発明は、中央処理演算装置、及び異常検査方法に関するものである。
RAM(Random Access Memory)等のページ単位毎(例えば、数kバイト毎)に区切られた物理メモリへCPU(Central Processing Unit:中央処理演算装置)がアクセスするために、仮想アドレスが用いられる場合がある。仮想アドレスとは、不連続な物理メモリの領域を仮想的に連続とした仮想メモリのアドレスであり、物理アドレスとは異なる。そのため、CPUが仮想アドレスを用いる場合、メモリ管理装置(Memory Management Unit、以下、「MMU」という。)が、仮想アドレスを物理アドレスに変換することによって、CPUによる物理メモリへのアクセスを可能としている。
MMUは、物理アドレスを仮想アドレスに変換するための変換テーブルであるページテーブルを、RAMからページ索引バッファ(Translation Look-aside Buffer、以下、「TLB」という。)に読み込み(ロードし)、該ページテーブルを用いてCPUからアクセス要求があった仮想アドレスを物理アドレスに変換している。
ページテーブルは、図4の模式図に示すように、物理メモリ50のメモリページ毎にアクセスするためのメモリページエントリが設けられ、各メモリページエントリには、対応するメモリページの仮想アドレス及び物理アドレスが記述されている。MMU52に設けられたTLB54には、物理メモリ50に記憶されているページテーブル情報から必要なモリページエントリが読み込まれ、記憶される。
また、メモリページエントリには、「読み」、「書き」、及び「実行」等を示すメモリ保護属性が記述されている。特許文献1に記載の技術は、MMUに読み込まれるページテーブルのメモリページエントリのメモリ保護属性の保護ビットに値を設定することによって、あるタスクしか使用しない大域変数を他のタスクが間違って書き換えてしまい、タスクが暴走してしまうことを防ぐことを可能とする技術である。
特開平10−289158号公報
一方、図4の模式図に示されるCPU56からMMU52へ、存在しない物理アドレスに対応する仮想アドレスが入力された場合、MMU52は、不正アクセスであることを示す信号であるCPU例外(ページフォルト)通知をCPU56へ出力する。しかし、不正アクセスが生じたにもかかわらず、MMU52の故障により、MMU52がCPU例外通知を出力しない場合には、CPU56の停止(ハングアップ)、暴走、又は接続されている他の装置への出力値の突変等、CPU56の動作が異常となる可能性がある。
本発明は、このような事情に鑑みてなされたものであって、不正アクセスを検知できない異常がメモリ管理装置に発生しているか否かを、他のプログラムを実行したままで検査できる中央処理演算装置、及び異常検査方法を提供することを目的とする。
上記課題を解決するために、本発明の中央処理演算装置は以下の手段を採用する。
すなわち、本発明に係る中央処理演算装置は、物理メモリのアドレスである物理アドレスと仮想メモリのアドレスである仮想アドレスとを変換し、前記仮想アドレスから変換された前記物理アドレスで前記物理メモリへのアクセスができない場合に、不正アクセスであることを示す第1信号を出力するメモリ管理装置に接続され、前記仮想アドレスを前記メモリ管理装置へ出力すると共に、前記第1信号が入力可能とされ、前記第1信号が入力された場合に、実行中のプログラムを停止させる中央処理演算装置であって、前記中央処理演算装置の動作モードを、前記メモリ管理装置から前記第1信号が出力された場合であっても実行中のプログラムを停止させないテストモードに変更する変更手段と、前記テストモードにおいて、前記メモリ管理装置に前記第1信号を出力させるための第2信号を前記メモリ管理装置へ出力する出力手段と、前記出力手段によって前記第2信号が前記メモリ管理装置へ出力された後に、前記第1信号の入力の有無を検出する検出手段と、を備え、前記検出手段によって、前記メモリ管理装置からの前記第1信号の入力が無いことが検出された場合に、実行中のプログラムを停止させる。
本発明によれば、本発明に係る中央処理演算装置は、メモリ管理装置接続されている。
メモリ管理装置は、物理メモリのアドレスである物理アドレスと仮想メモリのアドレスである仮想アドレスとを変換し、仮想アドレスから変換された物理アドレスで物理メモリへのアクセスができない場合に、不正アクセスであることを示す第1信号を出力する。なお、物理メモリとは、例えばRAM等であり、仮想メモリとは、不連続な物理メモリの領域を仮想的に連続としたメモリである。そして、中央処理演算装置は、仮想アドレスをメモリ管理装置へ出力すると共に、第1信号が入力可能とされ、第1信号が入力された場合に、実行中のプログラムを停止させる。
そして、変更手段によって、中央処理演算装置の動作モードが、メモリ管理装置から第1信号が出力された場合であっても実行中のプログラムを停止させないテストモードに変更される。
動作モードがテストモードに変更された後、出力手段によって、メモリ管理装置に第1信号を出力させるための第2信号が、メモリ管理装置へ出力される。すなわち、第2信号とは、物理メモリに不正アクセスを行うための信号である。
そして、第2信号がメモリ管理装置へ出力された後に、検出手段によって、第1信号の入力の有無が検出される。
そして、中央処理演算装置は、検出手段によって、メモリ管理装置からの第1信号の入力が無いことが検出された場合に、実行中のプログラムを停止させる。
第1信号の入力が無い場合とは、すなわち、中央処理演算装置による不正アクセスを検知できない故障がメモリ管理装置に発生している場合である。このような場合に、中央処理演算装置が、プログラムを実行し続け、不正アクセスを実行してしまった場合には、中央処理演算装置の停止、暴走、又は接続されている他の装置への出力値の突変等、中央処理演算装置の動作が異常となる可能性がある。
そのため、本発明は、動作モードがテストモードの場合であって、第1信号の入力が無いことが検出された場合に、実行中のプログラムを停止させるので、動作が異常となること防止することができる。
このように、本発明は、中央処理演算装置の動作モードをテストモードに変更した後に、物理メモリに不正アクセスを行うための第2信号を出力し、不正アクセスが行われたことを示す第1信号の入力の有無を検出するので、不正アクセスを検知できない異常がメモリ管理装置に発生しているか否かを、他のプログラムを実行したままで検査できる。
また、本発明の中央処理演算装置は、前記変更手段が、前記テストモードにおいて前記第1信号が入力された場合に、前記テストモードを解除し、前記検出手段が、前記テストモードが解除された場合に、前記第1信号が入力されたことを検出してもよい。
本発明によれば、テストモードにおいて第1信号が入力された場合に、変更手段によって、テストモードが解除され、テストモードが解除された場合に、検出手段によって、第1信号が入力されたことが検出される。
このように、本発明は、テストモードにおいて第1信号が入力されると、まずテストモードを解除するので、動作モードがテストモードとなっている期間を必要以上に長くすることを抑制することができる。
また、本発明の中央処理演算装置は、前記第2信号を、前記仮想メモリに存在しない仮想アドレスを示す信号、前記物理メモリに存在しない物理アドレスを示す信号、又は前記仮想アドレスに対して、前記物理メモリにアクセスするためのメモリページエントリに設定したメモリ保護属性に違反するアクセスを行うための信号としてもよい。
本発明によれば、第2信号を仮想メモリに存在しない仮想アドレスを示す信号、物理メモリに存在しない物理アドレスを示す信号、又はメモリ保護属性に違反するアクセスを行うための信号とするので、容易に物理メモリへ不正アクセスするための信号を生成できる。
さらに、上記課題を解決するために、本発明の異常検査方法は以下の手段を採用する。
すなわち、本発明に係る異常検査方法は、物理メモリのアドレスである物理アドレスと仮想メモリのアドレスである仮想アドレスとを変換し、前記仮想アドレスから変換された前記物理アドレスで前記物理メモリへのアクセスができない場合に、不正アクセスであることを示す第1信号を出力するメモリ管理装置に接続され、前記仮想アドレスを前記メモリ管理装置へ出力すると共に、前記第1信号が入力可能とされ、前記第1信号が入力された場合に、実行中のプログラムを停止させる中央処理演算装置で実行される異常検査方法であって、前記中央処理演算装置の動作モードを、前記メモリ管理装置から前記第1信号が出力された場合であっても実行中のプログラムを停止させないテストモードに変更する第1工程と、前記テストモードにおいて、前記メモリ管理装置に前記第1信号を出力させるための第2信号を前記メモリ管理装置へ出力する第2工程と、前記第2信号が前記メモリ管理装置へ出力された後に、前記第1信号の入力の有無を検出する第3工程と、前記第3工程によって、前記メモリ管理装置からの前記第1信号の入力が無いことが検出された場合に、実行中のプログラムを停止させる第4工程と、を含む。
本発明によれば、中央処理演算装置の動作モードをテストモードに変更した後に、物理メモリに不正アクセスを行うための第2信号を出力し、不正アクセスが行われたことを示す第1信号の入力の有無を検出するので、不正アクセスを検知できない異常がメモリ管理装置に発生しているか否かを、他のプログラムを実行したままで検査できる。
本発明によれば、不正アクセスを検知できない異常がメモリ管理装置に発生しているか否かを、他のプログラムを実行したままで検査できる、という優れた効果を有する。
本発明の実施形態に係る情報処理装置の電気系の要部構成を示す図である。 本発明の実施形態に係るRAMに記憶されているページテーブル情報の構成を示す模式図である。 本発明の実施形態に係る異常検査プログラムの処理の流れを示すフローチャートである。 従来のMMUによる処理の説明に要する模式図である。
以下に、本発明に係る異常検査装置、中央処理演算装置、及び異常検査方法の一実施形態について、図面を参照して説明する。
以下、本発明の一実施形態について説明する。
図1は、本実施形態に係る情報処理装置10の電気的構成を示すブロック図である。
情報処理装置10は、情報処理装置10全体の動作を司るCPU12、CPU12による各種プログラムの実行時のワークエリア等として用いられる物理メモリであるRAM14、各種プログラムや各種情報(データ)等が予め記憶されたROM(Read Only Memory)16、各種プログラム及び各種情報を記憶する記憶手段としてのHDD(Hard Disk Drive)18を備えている。なお、記憶手段としては、HDD18に限らず、フラッシュROM等、データを記憶できるものであれば他の記憶手段を用いてもよい。
CPU12は、プログラムを実行するためのプログラム実行部22、及びCPU例外通知が入力された場合に、実行しているプログラムの停止処理を行う例外処理部24を備えている。
また、CPU12は、仮想アドレスと物理アドレスとを変換するための変換テーブル(以下、「ページテーブル」という。)に基づいて、CPU12から出力される仮想アドレスを物理アドレスに変換するMMU20に内部バス40を介して接続されている。
ページテーブルは、図2に示すように、物理メモリであるRAM14のページ単位毎(メモリページ♯1〜♯N(Nは整数))に設けられたメモリページエントリ(メモリページ♯1エントリ〜メモリページ♯Nエントリ)を複数含んでいる。なお、メモリページエントリは、対応するメモリページの仮想アドレス、物理アドレス、並びに「読み」、「書き」、「実行」、及び全ての権限を持つユーザのアクセスのみを受け付ける「スーパーユーザモード」等を示すメモリ保護属性が記述されている。
MMU20は、TLB26、アドレス変換部28、メモリ保護部30を備えている。
TLB26は、ページテーブルを示すページテーブル情報を記憶する。より具体的には、TLB26は、RAM14に記憶されているページテーブル情報からCPU12で実行されるプログラムに応じて必要とされるメモリページエントリを読み込み、記憶する。
アドレス変換部28は、TLB26に読み込まれたページテーブル情報を用いて仮想アドレスと物理アドレスとの変換処理を行う。
メモリ保護部30は、アドレス変換部28によって仮想アドレスから変換された物理アドレスでは、物理メモリにアクセスできない不正アクセスの有無を検出し、不正アクセスを検出した場合に、不正アクセスであることを示す信号であるCPU例外通知をCPU12へ出力する。
なお、ページテーブル情報は、予めHDD18に記憶されており、情報処理装置10の動作が開始されると、HDD18からRAM14に送信され、記憶される。そして、RAM14に記憶されたページテーブル情報は、CPU12で実行されるプログラムに応じてTLB26に読み込まれる。
また、情報処理装置10は、キーボード及びマウス等から構成され、各種操作の入力を受け付ける操作入力部32、例えば液晶ディスプレイ装置等の画像表示部34を備えている。なお、操作入力部32は、キーボード及びマウス等に限らず、プッシュボタン等、情報処理装置10に対する操作の入力を受け付けるものであれば、他の入力装置であってもよい。また、画像表示部34は、液晶ディスプレイ等に限らず、LED(Light Emitting Diode)等情報処理装置10を使用するユーザに種々の情報を報知できるものであれば、他の表示装置であってもよい。
さらに、情報処理装置10は、通信回線36を介して他の情報処理装置や、情報処理装置10によって制御される他の装置等の外部装置と接続され、該外部装置との各種情報の入出力を行う入出力処理部38を備えている。
なお、通信回線36は、電気事業者によって提供される広域通信回線又はLAN(Local Area Network)等の構内通信網、又は外部パス等であり、有線回線又は無線回線の何れであってもよい。
これらMMU20、RAM14、ROM16、HDD18、操作入力部32、画像表示部34、及び入出力処理部38は、内部バス40を介して相互に電気的に接続されている。従って、CPU12はMMU20を介して、RAM14、ROM16、及びHDD18へのアクセス、操作入力部32に対する操作状態の把握、画像表示部34に対する画像の表示、及び入出力処理部38を介した外部装置との各種情報の送受信等を各々行なうことができる。
ここで、上述したように、CPU12からMMU20へ、存在しない物理アドレスに対応する仮想アドレスが入力された場合、MMU20は、CPU例外通知をCPU12へ出力する。しかし、不正アクセスが生じたにもかかわらず、MMU20の故障により、MMU20がCPU例外通知を出力しない場合には、CPU12の停止、暴走、又は接続されている他の装置への出力値の突変等、CPU12の動作が異常となる可能性がある。
そこで、本実施形態に係る情報処理装置10は、不正アクセスを検知できない異常がメモリ管理装置に発生しているか否かを、他のプログラムを実行したままで検査する異常検査処理を実行する。
次に、本実施形態に係る情報処理装置10の作用を説明する。
図3は、操作入力部32を介して異常検査処理の実行指示が入力された場合に、CPU12によって実行される異常検査プログラムの処理の流れを示すフローチャートであり、該プログラムはHDD18の所定領域に予め記憶されている。なお、RAM14には、異常検査処理の実行指示が入力されると異常検査プログラムがHDD14から送信、記憶される。なお、TLB26には、異常検査プログラムの動作開始と共に、異常検査プログラムに対応したページテーブル情報が読み込まれる。
ステップ100では、動作モードをテストモードに変更する。テストモードとは、MMU20からCPU例外通知が出力され、CPU12に入力された場合であっても、CPU12が実行中のプログラムを停止させない動作モードである。なお、本実施形態に係るCPU12は、一例として、テストモードに変更した場合は、動作モードがテストモードであることを示すフラグを立てる。
次のステップ102では、物理メモリであるRAM14への不正アクセスを実行する。
本ステップにおいて、CPU12は、不正アクセスを実行するために仮想メモリに存在しない仮想アドレスを示すアドレス信号、RAM14に存在しない物理アドレスに対応する仮想アドレスを示すアドレス信号、又は仮想アドレスに対して、物理メモリにアクセスするためのメモリページエントリに設定したメモリ保護属性に違反するアクセスを行うためのアクセス信号をMMU20に出力する。
なお、メモリ保護属性に違反するアクセスを行うためのアクセス信号とは、例えば、書き込み属性を有しないメモリページの仮想アドレスに書き込みを行うための信号、実行属性を有しないメモリページの仮想アドレスを実行する(仮想アドレスから命令コードをフェッチする)ための信号、又はスーパーユーザモード属性を有しないメモリページの仮想アドレスに一般ユーザモードでアクセスする信号等である。
MMU20は、上記アドレス信号が入力されると、TLB26に読み込まれているページテーブル情報に基づいて、仮想アドレスを物理アドレスに変換する。しかし、入力されたアドレス信号では、不正アクセスとなってしまうため、異常が生じていないMMU20は、CPU例外通知をCPU12へ出力する。
次のステップ104では、予め定められた時間内にCPU例外通知が入力されたか否かを判定し、肯定判定の場合は、ステップ106へ移行する一方、否定判定の場合は、ステップ108へ移行する。
ステップ106では、テストモードを解除する。これにより、CPU12の動作モードは、CPU例外通知が入力された場合に、CPU12が実行中のプログラムを停止させる通常の動作モードに変更される。本実施形態に係るCPU12は、テストモードを解除すると共に、動作モードがテストモードであることを示すフラグを解除する。
次のステップ108では、テストモードが解除済みか否かを判定し、肯定判定の場合は、本プログラムを終了する一方、否定判定の場合は、ステップ110へ移行する。なお、本実施形態に係るCPU12は、動作モードがテストモードであることを示すフラグが立っている場合を肯定判定とし、該フラグが立っていない場合を否定判定とする。
すなわち、テストモードが解除されている場合は、MMU20がCPU12に対してCPU例外通知を出力した場合である。一方、テストモードが解除されていない場合は、MMU20がCPU12に対してCPU例外通知を出力していない場合であり、MMU20に不正アクセスを検知できない異常が生じていることを示している。
ステップ110では、実行中のプログラムが有るか否かを判定し、肯定判定の場合は、ステップ112へ移行する一方、否定判定の場合は、ステップ114へ移行する。
ステップ112では、プログラム実行部22で実行中のプログラムを停止させる。
ステップ114では、MMU20に不正アクセスを検知できない異常が生じていること、並びに実行中のプログラムを停止させた場合には、停止させたプログラムの名称等を画像表示部34の画面へ表示させることで報知する報知処理を行った後に、本プログラムを終了する。
以上説明したように、本実施形態に係るCPU12は、動作モードを、MMU20からCPU例外通知が出力された場合であっても実行中のプログラムを停止させないテストモードに変更した後に、MMU20にCPU例外通知信号を出力させるための信号をMMU20へ出力し、MMU20からのCPU例外通知の入力の有無を検出する。
これにより、本実施形態に係るCPU12は、不正アクセスを検知できない異常がMMU20に発生しているか否かを、他のプログラムを実行したままで検査できる。
また、本実施形態に係るCPU12は、テストモードにおいてCPU例外通知が入力された場合に、テストモードを解除し、テストモードを解除したことによって、CPU例外通知が入力されたことを検出するので、動作モードがテストモードとなっている期間を必要以上に長くすることを抑制することができる。
また、本実施形態に係るCPU12は、MMU20にCPU例外通知信号を出力させるための信号を仮想メモリに存在しない仮想アドレスを示す信号、物理メモリに存在しない物理アドレスを示す信号、又は仮想アドレスに対して、物理メモリにアクセスするためのメモリページエントリに設定したメモリ保護属性に違反するアクセスを行うための信号とするので、容易に物理メモリへ不正アクセスするための信号を生成できる。
さらに、本実施形態に係るCPU12は、動作モードがテストモードの場合であって、CPU例外通知の入力が無いことが検出された場合に、実行中のプログラムを停止させるので、動作が異常となること防止することができる。
以上、本発明を、上記実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、該変更または改良を加えた形態も本発明の技術的範囲に含まれる。
例えば、上記実施形態では、テストモードの解除によって、MMU20からCPU例外通知が出力されたことを検出する場合について説明したが、本発明は、これに限定されるものではなく、CPU例外通知そのものを検出することによって、MMU20からCPU例外通知が出力されたことを検出する形態としてもよい。
また、上記実施形態では、物理メモリをRAM14とする場合について説明したが、本発明は、これに限定されるものではなく、物理メモリをRAM14及びHDD18とする形態としてもよい。
また、上記実施形態では、報知処理として画像表示装置を介して報知する場合について説明したが、本発明は、これに限定されるものではなく、例えば、入出力処理部28に印刷装置が接続されている場合には、該印刷装置に報知内容を記した文章を紙媒体等に画像として形成させることで報知する形態、又は不図示のスピーカで音声として報知させる形態としてもよい。
10 情報処理装置
12 CPU
14 RAM
20 MMU
24 例外処理部

Claims (4)

  1. 物理メモリのアドレスである物理アドレスと仮想メモリのアドレスである仮想アドレスとを変換し、前記仮想アドレスから変換された前記物理アドレスで前記物理メモリへのアクセスができない場合に、不正アクセスであることを示す第1信号を出力するメモリ管理装置に接続され、前記仮想アドレスを前記メモリ管理装置へ出力すると共に、前記第1信号が入力可能とされ、前記第1信号が入力された場合に、実行中のプログラムを停止させる中央処理演算装置であって、
    前記中央処理演算装置の動作モードを、前記メモリ管理装置から前記第1信号が出力された場合であっても実行中のプログラムを停止させないテストモードに変更する変更手段と、
    前記テストモードにおいて、前記メモリ管理装置に前記第1信号を出力させるための第2信号を前記メモリ管理装置へ出力する出力手段と、
    前記出力手段によって前記第2信号が前記メモリ管理装置へ出力された後に、前記第1信号の入力の有無を検出する検出手段と、
    を備え
    前記検出手段によって、前記メモリ管理装置からの前記第1信号の入力が無いことが検出された場合に、実行中のプログラムを停止させる中央処理演算装置
  2. 前記変更手段は、前記テストモードにおいて前記第1信号が入力された場合に、前記テストモードを解除し、
    前記検出手段は、前記テストモードが解除された場合に、前記第1信号が入力されたことを検出する請求項1記載の中央処理演算装置
  3. 前記第2信号は、前記仮想メモリに存在しない仮想アドレスを示す信号、前記物理メモリに存在しない物理アドレスを示す信号、又は前記仮想アドレスに対して、前記物理メモリにアクセスするためのメモリページエントリに設定したメモリ保護属性に違反するアクセスを行うための信号である請求項1又は請求項2記載の中央処理演算装置
  4. 物理メモリのアドレスである物理アドレスと仮想メモリのアドレスである仮想アドレスとを変換し、前記仮想アドレスから変換された前記物理アドレスで前記物理メモリへのアクセスができない場合に、不正アクセスであることを示す第1信号を出力するメモリ管理装置に接続され、前記仮想アドレスを前記メモリ管理装置へ出力すると共に、前記第1信号が入力可能とされ、前記第1信号が入力された場合に、実行中のプログラムを停止させる中央処理演算装置で実行される異常検査方法であって、
    前記中央処理演算装置の動作モードを、前記メモリ管理装置から前記第1信号が出力された場合であっても実行中のプログラムを停止させないテストモードに変更する第1工程と、
    前記テストモードにおいて、前記メモリ管理装置に前記第1信号を出力させるための第2信号を前記メモリ管理装置へ出力する第2工程と、
    前記第2信号が前記メモリ管理装置へ出力された後に、前記第1信号の入力の有無を検出する第3工程と、
    前記第3工程によって、前記メモリ管理装置からの前記第1信号の入力が無いことが検出された場合に、実行中のプログラムを停止させる第4工程と、
    を含む異常検査方法。
JP2010201045A 2010-09-08 2010-09-08 中央処理演算装置、及び異常検査方法 Active JP5473841B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2010201045A JP5473841B2 (ja) 2010-09-08 2010-09-08 中央処理演算装置、及び異常検査方法
EP11823308.9A EP2615551B1 (en) 2010-09-08 2011-06-21 Abnormality inspection device, central processing unit, and abnormality inspection method
KR1020127033489A KR101453184B1 (ko) 2010-09-08 2011-06-21 중앙 처리 연산 장치 및 이상 검사 방법
ES11823308T ES2745120T3 (es) 2010-09-08 2011-06-21 Dispositivo de inspección de anomalías, unidad central de procesamiento y método de inspección de anomalías
CN201180031495.9A CN103069393B (zh) 2010-09-08 2011-06-21 中央处理运算装置以及异常检查方法
US13/806,883 US8966320B2 (en) 2010-09-08 2011-06-21 Fault inspection unit, central processing unit, and fault inspection method
PCT/JP2011/064116 WO2012032829A1 (ja) 2010-09-08 2011-06-21 異常検査装置、中央処理演算装置、及び異常検査方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010201045A JP5473841B2 (ja) 2010-09-08 2010-09-08 中央処理演算装置、及び異常検査方法

Publications (2)

Publication Number Publication Date
JP2012058975A JP2012058975A (ja) 2012-03-22
JP5473841B2 true JP5473841B2 (ja) 2014-04-16

Family

ID=45810434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010201045A Active JP5473841B2 (ja) 2010-09-08 2010-09-08 中央処理演算装置、及び異常検査方法

Country Status (7)

Country Link
US (1) US8966320B2 (ja)
EP (1) EP2615551B1 (ja)
JP (1) JP5473841B2 (ja)
KR (1) KR101453184B1 (ja)
CN (1) CN103069393B (ja)
ES (1) ES2745120T3 (ja)
WO (1) WO2012032829A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013022166B4 (de) 2013-03-14 2024-04-25 Nvidia Corporation Seitenzustandsverzeichnis zur verwaltung eines vereinheitlichten virtuellen speichers
JP6194764B2 (ja) * 2013-11-08 2017-09-13 富士通株式会社 情報処理装置、制御方法、および制御プログラム
CN106294089A (zh) * 2015-06-23 2017-01-04 阿里巴巴集团控股有限公司 辅助对被监控内存空间的访问监控的方法和装置
US9921897B2 (en) * 2016-01-06 2018-03-20 International Business Machines Corporation Testing a non-core MMU
EP3249541B1 (en) * 2016-05-27 2020-07-08 NXP USA, Inc. A data processor
US10114768B2 (en) * 2016-08-29 2018-10-30 Intel Corporation Enhance memory access permission based on per-page current privilege level
US10713177B2 (en) 2016-09-09 2020-07-14 Intel Corporation Defining virtualized page attributes based on guest page attributes
JP6771443B2 (ja) * 2017-09-21 2020-10-21 株式会社東芝 演算処理装置およびその方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137824A (ja) * 1994-11-15 1996-05-31 Mitsubishi Semiconductor Software Kk セルフテスト機能内蔵シングルチップマイコン
JPH10289158A (ja) 1997-04-11 1998-10-27 Hitachi Ltd タスク管理装置
US6233667B1 (en) * 1999-03-05 2001-05-15 Sun Microsystems, Inc. Method and apparatus for a high-performance embedded memory management unit
JP4182740B2 (ja) * 2002-12-06 2008-11-19 沖電気工業株式会社 マイクロコンピュータ
JP2005216012A (ja) 2004-01-29 2005-08-11 Fujitsu Ltd 設計支援装置、設計支援方法、設計支援プログラムおよび記録媒体
GB2422926B (en) * 2005-02-04 2008-10-01 Advanced Risc Mach Ltd Data processing apparatus and method for controlling access to memory
JP4523639B2 (ja) 2005-03-24 2010-08-11 富士通株式会社 ファームウェアによるメモリエラーアドレス管理
US7739474B2 (en) * 2006-02-07 2010-06-15 International Business Machines Corporation Method and system for unifying memory access for CPU and IO operations
US8522080B2 (en) * 2008-03-24 2013-08-27 Emulex Design & Manufacturing Corporation Generation of simulated errors for high-level system validation
US8060730B2 (en) * 2008-05-30 2011-11-15 Freescale Semiconductor, Inc. Selective MISR data accumulation during exception processing

Also Published As

Publication number Publication date
JP2012058975A (ja) 2012-03-22
ES2745120T3 (es) 2020-02-27
EP2615551B1 (en) 2019-08-07
CN103069393A (zh) 2013-04-24
CN103069393B (zh) 2016-03-02
KR101453184B1 (ko) 2014-10-22
US20130103984A1 (en) 2013-04-25
EP2615551A4 (en) 2017-08-30
EP2615551A1 (en) 2013-07-17
US8966320B2 (en) 2015-02-24
KR20130031852A (ko) 2013-03-29
WO2012032829A1 (ja) 2012-03-15

Similar Documents

Publication Publication Date Title
JP5473841B2 (ja) 中央処理演算装置、及び異常検査方法
US10445154B2 (en) Firmware-related event notification
JP5579003B2 (ja) アドレス変換検査装置、中央処理演算装置、及びアドレス変換検査方法
KR101679947B1 (ko) 입력/출력 에러-억제 이벤트 후의 복구
JP2006178936A5 (ja)
KR101701014B1 (ko) 운영 체제에의 악성 활동 보고
US20140149634A1 (en) Detection of guest disk cache
US20150199279A1 (en) Method and system for method for tracking transactions associated with a system memory management unit of a portable computing device
CH716656A2 (it) Sistema e metodo di generazione e archivazione di metadati specifici dell'informatica forense.
US8490207B2 (en) Performing zero-copy sends in a networked file system with cryptographic signing
US9262274B2 (en) Persistent data across reboots
KR20170060815A (ko) 메모리의 커널영역을 보호하기 위한 전자장치 및 방법
JP2006040140A (ja) 情報処理装置及びマルチヒット制御方法
JP4668556B2 (ja) タスク管理システム
US20110252256A1 (en) Methods, systems, and computer program products for managing an idle computing component
CN103514402A (zh) 入侵检测方法及装置
US20150186240A1 (en) Extensible i/o activity logs
US20120047504A1 (en) Methods, systems, and computer program products for maintaining a resource based on a cost of energy
JP2011070528A (ja) マルチプロセッサシステム及びメモリアクセス制御方法
CN113867834A (zh) 调试插件调用方法、装置及计算机可读存储介质
JP2013205972A (ja) エミュレーション装置、及びエミュレーションプログラム
US11853598B2 (en) Software memory tagging for heap overflow protection
JP2013205857A (ja) 障害処理方法、情報処理装置および障害処理プログラム
JP2010049437A (ja) リモートメンテナンスシステム、リモートメンテナンス装置、リモートメンテナンス方法およびそのプログラム
JP2008140161A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130611

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131203

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140204

R151 Written notification of patent or utility model registration

Ref document number: 5473841

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151