JP2009223714A - 演算回路及び演算回路の異常解析方法 - Google Patents

演算回路及び演算回路の異常解析方法 Download PDF

Info

Publication number
JP2009223714A
JP2009223714A JP2008068723A JP2008068723A JP2009223714A JP 2009223714 A JP2009223714 A JP 2009223714A JP 2008068723 A JP2008068723 A JP 2008068723A JP 2008068723 A JP2008068723 A JP 2008068723A JP 2009223714 A JP2009223714 A JP 2009223714A
Authority
JP
Japan
Prior art keywords
history
information
program
processing unit
central processing
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.)
Pending
Application number
JP2008068723A
Other languages
English (en)
Inventor
Katsumi Onuki
克巳 大貫
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.)
NEC Corp
Original Assignee
NEC Corp
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
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008068723A priority Critical patent/JP2009223714A/ja
Publication of JP2009223714A publication Critical patent/JP2009223714A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】商用運用中の機器であっても現状の動作に影響を及ぼすことなく、プログラムの状態を把握し、異常状態に至る過程も含めた解析を可能にする。
【解決手段】履歴メモリ30に蓄積された履歴情報を、コマンド制御装置50からの読み出しコマンドを用いて、履歴制御部20経由で履歴情報300として履歴メモリ30から読み出す。これにより、プログラム動作中の何度も異常が発生する状況に陥った場合でも、異常発生毎に履歴メモリ30上の異なる領域に履歴データを格納しているので、複数回の異常情報を過去に遡り得ることができ、異常になるまでの経緯を知ることができ、プログラムの障害解析の時間を短縮することが可能となる。また、プログラムが動作する生の監視情報102を予め決められた条件で取得するため、たとえ商用運用中の機器であっても現状の動作に影響を及ぼすこと無く、プログラムの状態が把握できる。
【選択図】図1

Description

本発明は演算回路及び演算回路の異常解析方法に係り、特に中央処理装置(CPU)とメモリで構成される演算回路及び演算回路で発生した異常を解析する異常解析方法に関する。
CPUとメモリで構成される演算回路において、CPUで実行中のプログラムの異常をウォッチ・ドッグ・タイマ(WDT)を用いて検出することが一般に行われる(例えば、特許文献1参照)。この特許文献1には、CPUは、プログラムの正常動作時にI/O信号と共にプログラムの実行箇所についてのデータを発信し、プログラムの暴走等により発生したCPUの動作異常時に、WDTが所定のカウント数を超えると、プログラムの実行箇所のデータをバックアップメモリに記憶し、異常についての情報を装置の外部に表示する構成の異常検出方法が開示されている。
また、上記の特許文献1には、CPUの動作異常時に、CPUの復旧方法についての情報を記録した後プログラムを再び実行し、上記の情報を参照して異常発生した部分を回避するように復旧方法を切り替える方法が開示されている。
また、プログラムの内部に予め埋め込まれたエラー処理プログラムで、プログラムの異常箇所(エラー)を検出する方法も知られている。エラー処理プログラムは、エラーの発生したプログラムの動作部分の命令コード、ポインタ値、CPUのレジスタ情報などの情報をCPUから読み出し保持する仕組みを持つ。この異常検出方法では、検出したエラーの状態をプログラムが外部のメモリに書き込んだり、あるいは、プログラムがCPUの内部状態をメモリに書き込む事でエラーのログ(履歴)を残す仕組みが一般に行われている。
特開2006−23970号公報
しかしながら、特許文献1記載の異常検出方法では、WDTを備えていることが前提となっており、WDTによる異常動作のトリガとしており、異常動作のトリガとして様々な条件を設定することができない。また、WDTが起きた時点のデータ(すなわち、CPUが異常動作した箇所のデータ)を記録するのみであり、異常動作の解析ができない。
また、特許文献1記載の異常検出方法では、CPUの動作異常時に、CPUの復旧方法についての情報を記録した後プログラムを再び実行し、上記の情報を参照して異常発生した部分を回避するように復旧方法を切り替えるようにしているが、これは異常の対象がWDTのときのみ可能であり、一般のCPUとその動作プログラムがWDTエラー以外で異常になった場合は、その異常を検出することができず、回避も不可能である。
一方、エラー処理プログラムで、プログラムの異常箇所(エラー)を検出する方法では、メモリに書き込んだエラーログ(履歴)は、CPUリセット、電源断からの復旧で消去される場合が多い。また、エラー処理プログラムは、予め取得する情報が決められているため、動作途中で取得情報を変更する事ができない欠点がある。
また、エラー処理プログラムがCPUから読み出して保持する、エラーの発生したプログラムの動作部分の命令コード、ポインタ値、CPUのレジスタ情報などの情報は、プログラムがエラーした時点の1回のみ記録するため、プログラムが停止した時点の情報は判るが、異常になる経緯の判定が難しい。また、プログラムをデバッグさせながら走らせる事で経緯を解析することは可能であるが、商用運用中のシステムではデバッグができない。
更に、組み込みシステムなどの動作タイミングが重要な要件となるプログラムは、デバッグシステムの適用で動作タイミングが変更されてしまい、プログラムのエラーが再現できなくなる可能性もある。このように、エラー処理プログラムでプログラムのエラーを検出する方法では、再現性が低い、エラー要因の特定が困難になる、あるいは、エラー原因を特定するまでの解析に非常に多大な時間を必要とするなどの欠点がある。
本発明は以上の点に鑑みなされたもので、商用運用中の機器であっても現状の動作に影響を及ぼすことなく、プログラムの状態が把握できる演算回路及び演算回路の異常解析方法を提供することを目的とする。
また、本発明の他の目的は、異常状態に至る過程も含めた解析を可能にし、プログラムの障害解析時間を大幅に短縮できる演算回路及び演算回路の異常解析方法を提供することにある。
上記の目的を達成するため、本発明の演算回路は、中央処理装置と、中央処理装置を動作させるプログラムコードを格納しているプログラムメモリと、該プログラムが動作するときに用いるデータを格納するデータメモリとを有する演算回路において、中央処理装置は、予め決められたプログラムの動作異常状態の検出条件で、その中央処理装置上で動作するプログラムが正常か異常かを示す監視情報を生成する手段を備え、中央処理装置から出力される監視情報に基づき、異常検出時までのプログラムの命令コード及びデータと異常検出時の中央処理装置内の情報とを履歴情報として格納する履歴情報格納手段を有することを特徴とする。
また、上記の目的を達成するため、本発明の演算回路の異常解析方法は、予め決められたプログラムの動作異常状態の検出条件で、動作するプログラムが正常か異常かを示す監視情報を生成する手段を備えた中央処理装置と、中央処理装置から出力される監視情報に基づき、異常検出時までのプログラムの命令コード及びデータと異常検出時の中央処理装置内の情報とを履歴情報として格納する履歴情報格納手段とを備えた演算回路の異常解析方法であって、履歴情報格納手段より読み出した履歴情報をデバッグ情報に基づきデバッグして、物理データとオペレーションコードに分離する第1のステップと、オペレーションコードを逆コンパイルして得たソースコードと物理データとの比較を行う第2のステップと、第2のステップの比較結果に基づき、デバッガ上でプログラムを動作させて異常個所の解析結果を得る第3のステップとを含むことを特徴とする。
本発明によれば、商用運用中の機器であっても現状の動作に影響を及ぼすことなく、プログラムの状態が把握でき、異常状態に至る過程も含めた解析を可能にでき、更には、プログラムの障害解析時間を著しく短縮できる。
次に、本発明の実施形態について図面と共に詳細に説明する。
(第1の実施形態)
図1は、本発明になる演算回路の第1の実施形態のブロック図を示す。本実施形態の演算回路は、中央処理装置(CPU)10と、CPU10に双方向のデータバス100で接続されたプログラムメモリ11及びデータメモリ12と、履歴制御部20と、CPU10に双方向のモニタ線103で接続された履歴メモリ30と、コマンドライン101で履歴制御部20に接続されたコマンド制御装置50とからなる。
プログラムメモリ11は、CPU10を動作させるプログラムコードを格納している。データメモリ12は、プログラムが動作する時に用いるデータを格納する。コマンド制御装置50は、履歴制御部20に対しプログラムの動作異常時のトリガ設定、履歴情報の読み出し、履歴情報の消去を行う目的で配置され、トリガ条件の変更が必要な場合、履歴情報の読み出し、履歴情報の消去が必要な場合の時のみ、履歴制御部20に情報を与える。コマンド制御装置50から履歴制御部20に与えられるトリガ情報は、予め決められたプログラムエラー条件、割り込み要因、特定の命令実行、アドレス、データ、発生回数指定、履歴情報のデータ量、リングバッファ設定、上書きバッファ設定、などの履歴情報獲得に必要な様々な条件設定を行うことができる。履歴の記録を完了するトリガの発生回数の指定をCPU10の外部のコマンド制御装置50から行うことで、トリガの回数分の履歴情報を履歴メモリ30に記憶することができる。
履歴制御部20は、不揮発性メモリを持ち、コマンド制御装置50から与えられた情報を全て不揮発性メモリに保持する。従って、履歴制御部20に保持された情報は電源が切断された場合や、CPU10にリセットがかかった場合などでも消去されることはない。履歴制御部20は、監視情報102を用いてCPU10と接続される。この監視情報102は、プログラム動作が正常か異常かの情報がメッセージとしてCPU10から履歴制御部20に送られてくる。また、履歴制御部20は、履歴メモリ30に制御情報200を出力し、履歴メモリ30から履歴情報300が供給される。この制御情報200は、履歴制御部20が保持している履歴情報の制御方法を示すメッセージであり、履歴メモリ30の使い方を指示する。
履歴メモリ30は、CPU10で処理される全ての命令とデータとがモニタ線103を介して供給され、履歴制御部20から指示された制御方法で蓄える。履歴メモリ30は、電源が切断された場合、CPU10にリセットがかかり、ブートアップ、リブートした場合などでも蓄積した情報が消去されることはない、不揮発性メモリで構成される。また、履歴情報300は、履歴メモリ30の内容をコマンド制御装置50からの制御により履歴制御部20経由で読み出すために用いられる。
次に、本実施形態の動作について説明する。まず、CPU10を動作させるプログラムメモリ11のプログラムが正常である場合、CPU10は、監視情報102により履歴制御部20に対し正常な状態を通知する。この場合、履歴制御部20から履歴メモリ30に対してエラー情報の保持命令を出さず、履歴メモリ30は継続的にモニタ線103を介して供給されるCPU10の命令とデータを蓄積する。
次に、プログラムが異常状態になった場合について説明する。予め決められたプログラムの動作異常状態の検出条件で、CPU10がプログラムの動作の異常検出を行い、プログラムが致命的な欠陥状況になった場合、プログラムのエラー処理ルーチンを使った処理が実行され、異常発生の割り込みが利用され、ウォッチ・ドッグ・タイマのタイムアウトが発生するなどのエラー状態になる。その時点で、CPU10は、監視情報102により履歴制御部20に対し異常状態を通知する。履歴制御部20は、監視情報102によりプログラムの異常状態を検出すると、制御情報200としてエラーメッセージを出力する。
履歴メモリ30は、制御情報200により与えられるエラーメッセージで、1レコードの履歴情報を保持すると共に、エラーメッセージを受信した時点で、CPU10のエラーログ情報も履歴情報に付加する。通常のCPU10の動作では、エラー発生時にプログラムが最初の状態から再び動作を開始するか、そのままの状態で止まるかの設定がされている。再び動作開始の設定がされている場合は、履歴メモリ30は、1度蓄えたレコードとは別のアドレス領域にCPU10の処理するすべての命令とデータを格納し始め、新たな履歴情報を構築する。
このように、本実施形態では、プログラムが動作する事によって発生するエラーをプログラム自身が検出する場合や、CPU10自身がエラーや異常を検出する場合、ウォッチ・ドッグ・タイマのタイムアウト発生などの異常状態の時に、異常状態になった事を履歴制御部20に伝える仕組みを構築することで、プログラムの動作の異常を検出した直前までのプログラムの動作情報と異常発生時のCPU10内の各種情報を履歴メモリ30に蓄積することが可能になる。なお、履歴制御部20は、異常発生毎に履歴メモリ30上の異なる領域に履歴情報を格納させる。
本実施形態では、異常動作は記録のトリガにしかならず、過去に遡ってプログラムの動作の異常を検出した直前までのプログラムの動作情報と異常発生時のCPU10内の各種情報を履歴メモリ30に蓄積するものであり、残す情報の内容範囲がCPUの異常個所のデータのみの場合よりも広い。
また、本実施形態では、この履歴メモリ30に蓄積された履歴情報を、コマンド制御装置50からの読み出しコマンドを用いて、履歴制御部20経由で履歴情報300として履歴メモリ30から読み出すことで、プログラム動作中の何度も異常が発生する状況に陥った場合でも、異常発生毎に履歴メモリ30上の異なる領域に履歴データを格納しているので、複数回の異常情報を過去に遡り得ることができ、これにより異常になるまでの経緯を知ることができ、プログラムの障害解析の時間を短縮することが可能となる。
また、本実施形態では、プログラムが動作する生の監視情報102を予め決められた条件で取得するため、たとえ商用運用中の機器であっても現状の動作に影響を及ぼすこと無く、プログラムの状態が把握できる。
また、一度異常発生した場合に、次にそのプログラム部分を通過する場合に、異常発生した部分を回避するように復旧方法を切り替えるような、異常の対象がWDTである特許文献1の構成では、異常の対象がCPUとその動作プログラムがWDTエラー以外で異常になった場合には検出ができないし、回避も不可能であるが、本実施形態では、復旧ではなく解析を目的にしているために、上記のWDTエラー以外の異常の解析もできる。
更に、本実施形態では、CPU10の外部の仕組みで履歴保持用の回路を構成できるので、一般のCPU盤に適用可能である。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。図2は、本発明になる演算回路の第2の実施形態のブロック図を示す。同図中、図1と同一構成部分には同一符号を付し、その説明を省略する。本実施形態の演算回路は、図1に示した第1の実施の形態の演算回路の要部を内部に組み込んだ履歴保持機能付きCPU60である。すなわち、図2において、履歴保持機能付きCPU60は、CPU10と履歴制御部20と履歴メモリ30とを1つのCPU内に構築した構成である。
本実施形態の動作は図1で説明した動作と同様であり、第1の実施形態と同様の特長を有する。すなわち、本実施形態も第1の実施形態と同様に、CPU10上でプログラムが動作した命令コードとデータの履歴を記録する仕組みと、プログラムがエラーした時点の要因を記録する仕組みと、記録した2つの情報を保持する仕組みを持ち、CPU10に外部から与えられるコマンドにより、保持された情報を読み出す手段と消去する手段を備えると共に、履歴と要因を記録するかどうかをCPU10に外部から与えられるコマンドで選択できる手段を持つように構成したものである。また、本実施形態も履歴メモリ30に記録した履歴情報は、CPU10のリセットでは消去されず電源断からの復旧で初期化される機能が初期化されない機能かを選択できる機能を持ち、履歴の量、記録完了のトリガ条件、履歴保持の方法を変更でき、システムに合った最適な障害履歴を獲得できるように構成される。
更に、本実施形態では、履歴保持機能付きCPU60内にCPU10、履歴制御部20及び履歴メモリ30が組み込まれているので、履歴保持機能付きCPU60を大規模集積回路(LSI)としたとき、全体形状を第1の実施形態よりも小型化できる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。図3は、本発明になる演算回路の第3の実施形態のブロック図を示す。同図中、図1と同一構成部分には同一符号を付し、その説明を省略する。
図3に示すように、本実施形態の演算回路は、CPU10、履歴制御部20、及び履歴メモリ30を内部に有する履歴保持機能付きCPU70の外部に、プログラムメモリ11、データメモリ12、コマンド制御装置50と、外部履歴メモリ31とを設けた構成である。本実施形態の履歴保持機能付きCPU70は、第2の実施形態の履歴保持機能付きCPU60と略同様の構成であるが、履歴保持機能付きCPU70は、履歴制御部20からの制御情報200を外部履歴メモリ31に供給すると共に、外部履歴メモリ31からも履歴情報301が供給される点が履歴保持機能付きCPU60と異なる。
外部履歴メモリ31は、履歴メモリ30と同等の機能を持ち、CPU10で処理される全ての命令とデータとがモニタ線103を介して供給され、履歴制御部20から指示された制御方法で蓄える。外部履歴メモリ31は、電源が切断された場合、CPU10にリセットがかかり、ブートアップ、リブートした場合などでも消去されることはない、不揮発性メモリで構成される。これにより、本実施形態によれば、外部履歴メモリ31を用いることで、履歴メモリの容量の拡張が簡単に行える特徴を持つ。
次に、本発明による履歴情報から異常を解析する方法について説明する。
図4は、本発明になる演算回路の異常解析方法の一実施の形態の説明図を示す。図1乃至図3のいずれかのコマンド制御装置50からの読み出しコマンドに基づいて、履歴メモリ30(又は外部履歴メモリ31)から読み出された履歴情報300は、コマンド制御装置50に保持されているものとする。この保持された履歴情報は、コマンド制御装置50より動作ログ情報として、外部に置かれた図4のログ解析ツール500に読み込む。以下、ログ解析ツール500の動作を説明する。
ログ解析ツール500に入力された履歴情報300は、まず、デバッガ501に取り込まれる。デバッガ501は、デバッグ情報502に基づき動作するように設定されている。このデバッグ情報502は、CPU10を動作させる元のソースコード、CPU10の構成情報、I/O情報、メモリの情報、メモリのスタック情報、外部デバイスの情報など実際に動作する環境に必要な情報全てが含まれる。
デバッガ501は、上記のデバッグ情報502に基づき、履歴情報300を物理データ511とオペレーションコード512とに分離する。物理データ511は、物理データ処理部503でメモリエリア、レジスタデータ展開、実アドレス、相対アドレス、アクセスした時間などの物理情報変換が行われた後、変換後の全てのデータが抽出データ513としてデータ比較部506に与えられる。
一方、オペレーションコード512は、逆コンパイル504で、オペレーションコード512からCPU10のニーモニック情報或いはデバッガ501で指定される高級言語レベルまで逆コンパイルされ、履歴情報300のオペレーションコード部分からソースコードが生成される。この生成されたソースコードは、履歴情報300が持つ実行された時間、順番が付与され、ソースコード514としてコード比較部505に与えられる。
次に、コード比較部505は、デバッガ501上にある元のソースコードと履歴情報300から得られたソースコード514とを比較して一致箇所の検出を行い、検出したコード一致データ515をデータ比較部506に与える。データ比較部506は、抽出データ513とコード一致データ515とを比較し、ソースコードの一致検出の履歴時間と抽出データ513の履歴時間との関連付けを保ちながら、ソースコード514の実行時間をキーにしたデータのアクセス順序の組み替えを行って比較結果データ516を生成し、その比較結果データ516を異常箇所の特定部507に与える。
異常箇所の特定部507は、比較結果データ516をデバッガ501上のデータに組み込み、デバッガ501上でプログラムを動作させ、実動作で異常になった箇所まで走らせ、処理の流れの正常性、処理データの正常性、異常状態になる直前の情報などを解析し、得られた解析結果517を異常部分の表示部508に与える。
異常部分の表示部508は、異常個所の特定部507から入力された解析結果517を、ソースプログラムや処理のデータ、異常に陥った原因などの形に翻訳し、人に見易い形で、GUI(graphical user interface)などを用いて表示する。
このように、本実施形態では、異常状態を履歴情報300から解析し表示する機能を有するため、機械語や実メモリのデータではなく、人間が理解し易い形に表示することが可能である。
なお、本発明は以上の実施形態に限定されるものではなく、例えば、図4のログ解析ツール500は、ソフトウェア構成でも実現可能であり、本発明によるコマンド制御装置50に組み込む事や外部のパーソナルコンピュータ、サーバー機器などに組み込み利用が可能である。
また、図3の実施形態は履歴メモリを履歴保持機能付きCPU70の内部と外部に設けているが、外部だけに設けるようにしてもよい。更に、履歴メモリ30は、不揮発性メモリとして説明したが、揮発性メモリか不揮発性メモリの選択が可能な構成としてもよく、揮発性メモリを選択した場合は、演算回路の電源断からの復旧時に記憶された履歴情報が消去される。
本発明の演算回路は、組み込み分野のCPU盤及び回路、車載搭載機器のCPU回路、CPU及びその周辺回路LSIに利用可能である。
本発明の演算回路の第1の実施形態のブロック図である。 本発明の演算回路の第2の実施形態のブロック図である。 本発明の演算回路の第3の実施形態のブロック図である。 本発明の演算回路の異常解析方法の一実施の形態の説明図である。
符号の説明
10 中央処理装置(CPU)
11 プログラムメモリ
12 データメモリ
20 履歴制御部
30 履歴メモリ
31 外部履歴メモリ
50 コマンド制御装置
60、70 履歴保持機能付きCPU
100 データバス
101 コマンドライン
102 監視情報
103 モニタ線
200 制御情報
300、301 履歴情報
500 ログ解析ツール
501 デバッガ
502 デバッグ情報
503 物理データ処理部
504 逆コンパイル
505 コード比較部
506 データ比較部
507 異常箇所の特定部
508 異常部分の表示部

Claims (15)

  1. 中央処理装置と、該中央処理装置を動作させるプログラムコードを格納しているプログラムメモリと、該プログラムが動作するときに用いるデータを格納するデータメモリとを有する演算回路において、
    前記中央処理装置は、予め決められたプログラムの動作異常状態の検出条件で、その中央処理装置上で動作するプログラムが正常か異常かを示す監視情報を生成する手段を備え、
    前記中央処理装置から出力される前記監視情報に基づき、前記異常検出時までの前記プログラムの命令コード及びデータと異常検出時の前記中央処理装置内の情報とを履歴情報として格納する履歴情報格納手段を有することを特徴とする演算回路。
  2. 中央処理装置と、該中央処理装置を動作させるプログラムコードを格納しているプログラムメモリと、該プログラムが動作するときに用いるデータを格納するデータメモリとを有する演算回路において、
    前記中央処理装置は、予め決められたプログラムの動作異常状態の検出条件で、その中央処理装置上で動作するプログラムが正常か異常かを示す監視情報を生成する手段を備え、
    前記プログラムの命令コード及びデータと前記中央処理装置内の情報とを履歴情報として記憶する履歴メモリと、
    前記監視情報が入力されると共に履歴情報獲得に必要な条件が設定されており、前記監視情報が異常を示し、かつ、前記条件を満足する時は、その異常検出時までの前記プログラムの命令コード及びデータと異常検出時の前記中央処理装置内の情報とを、前記中央処理装置のエラーログ情報と共に1つの履歴情報として前記履歴メモリに記憶させる履歴制御手段と
    を有することを特徴とする演算回路。
  3. 前記履歴制御手段に対し前記履歴情報獲得に必要な条件を設定すると共に、前記履歴メモリの記憶履歴情報の読み出し、記憶履歴情報の消去を行うためのコマンド制御手段を更に有することを特徴とする請求項2記載の演算回路。
  4. 前記コマンド制御手段は、予め決められたプログラムエラー条件、割り込み要因、特定の命令実行、アドレス、データのうちの少なくともいずれかを前記履歴情報獲得に必要な条件として前記履歴制御手段に設定することを特徴とする請求項3記載の演算回路。
  5. 前記履歴制御手段は、前記監視情報に基づき異常検出毎に前記履歴メモリ上の異なる領域に前記履歴情報を格納することを特徴とする請求項2乃至4のうちいずれか一項記載の演算回路。
  6. 前記中央処理装置、前記履歴メモリ、及び前記履歴制御手段は、前記中央処理装置とは異なる履歴保持機能付き中央処理装置内に組み込まれていることを特徴とする請求項2乃至4のうちいずれか一項記載の演算回路。
  7. 前記履歴保持機能付き中央処理装置の外部に、前記履歴制御手段により前記監視情報が異常を示し、かつ、前記条件を満足する時は、その異常検出時までの前記プログラムの命令コード及びデータと異常検出時の前記中央処理装置内の情報とを、前記中央処理装置のエラーログ情報と共に1つの履歴情報として記憶する外部履歴メモリが更に設けられていることを特徴とする請求項2乃至4のうちいずれか一項記載の演算回路。
  8. 前記履歴制御手段は、前記履歴情報獲得に必要な条件を不揮発性の記憶部に記憶し、前記履歴メモリは不揮発性メモリであることを特徴とする請求項2乃至4のうちいずれか一項記載の演算回路。
  9. 予め決められたプログラムの動作異常状態の検出条件で、動作するプログラムが正常か異常かを示す監視情報を生成する手段を備えた中央処理装置と、
    前記中央処理装置から出力される前記監視情報に基づき、前記異常検出時までの前記プログラムの命令コード及びデータと異常検出時の前記中央処理装置内の情報とを履歴情報として格納する履歴情報格納手段とを備えた演算回路の異常解析方法であって、
    前記履歴情報格納手段より読み出した前記履歴情報をデバッグ情報に基づきデバッグして、物理データとオペレーションコードに分離する第1のステップと、
    前記オペレーションコードを逆コンパイルして得たソースコードと前記物理データとの比較を行う第2のステップと、
    前記第2のステップの比較結果に基づき、デバッガ上で前記プログラムを動作させて異常個所の解析結果を得る第3のステップと
    を含むことを特徴とする演算回路の異常解析方法。
  10. 予め決められたプログラムの動作異常状態の検出条件で、動作するプログラムが正常か異常かを示す監視情報を生成する手段を備えた中央処理装置と、
    前記プログラムの命令コード及びデータと前記中央処理装置内の情報とを履歴情報として記憶する履歴メモリと、
    前記監視情報が入力されると共に履歴情報獲得に必要な条件が設定されており、前記監視情報が異常を示し、かつ、前記条件を満足する時は、その異常検出時までの前記プログラムの命令コード及びデータと異常検出時の前記中央処理装置内の情報とを、前記中央処理装置のエラーログ情報と共に1つの履歴情報として前記履歴メモリに記憶させる履歴制御手段とを備えた演算回路の異常解析方法であって、
    前記履歴メモリより読み出した前記履歴情報をデバッグ情報に基づきデバッグして、物理データとオペレーションコードに分離する第1のステップと、
    前記オペレーションコードを逆コンパイルして得たソースコードと、前記第1のステップでデバッグ対象の元の履歴情報のソースコードとの一致箇所の検出を行う第2のステップと、
    前記第2のステップで得られたコード一致検出の履歴時間と前記物理データの履歴時間との関連付けを保ちながら、前記ソースコードの実行時間をキーにした前記物理データのアクセス順序の組み替えを行って比較結果データを生成する第3のステップと、
    前記第3のステップで生成された前記比較結果データをデバッガ上でデータに組み込んで前記プログラムを動作させて異常個所の解析結果を得る第4のステップと
    を含むことを特徴とする演算回路の異常解析方法。
  11. 前記演算回路は、前記履歴制御手段に対し前記履歴情報獲得に必要な条件を設定すると共に、前記履歴メモリの記憶履歴情報の読み出し、記憶履歴情報の消去を行うためのコマンド制御手段を更に有することを特徴とする請求項10記載の演算回路の異常解析方法。
  12. 前記履歴メモリは、前記履歴制御手段により前記監視情報に基づき異常検出毎に異なる領域に前記履歴情報を格納していることを特徴とする請求項10記載の演算回路の異常解析方法。
  13. 前記中央処理装置、前記履歴メモリ、及び前記履歴制御手段は、前記中央処理装置とは異なる履歴保持機能付き中央処理装置内に組み込まれていることを特徴とする請求項10記載の演算回路の異常解析方法。
  14. 前記履歴保持機能付き中央処理装置の外部に、前記履歴制御手段により前記監視情報が異常を示し、かつ、前記条件を満足する時は、その異常検出時までの前記プログラムの命令コード及びデータと異常検出時の前記中央処理装置内の情報とを、前記中央処理装置のエラーログ情報と共に1つの履歴情報として記憶する外部履歴メモリが更に設けられていることを特徴とする請求項10記載の演算回路の異常解析方法。
  15. 前記履歴制御手段は、前記履歴情報獲得に必要な条件を不揮発性の記憶部に記憶し、前記履歴メモリは不揮発性メモリであることを特徴とする請求項10記載の演算回路の異常解析方法。
JP2008068723A 2008-03-18 2008-03-18 演算回路及び演算回路の異常解析方法 Pending JP2009223714A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008068723A JP2009223714A (ja) 2008-03-18 2008-03-18 演算回路及び演算回路の異常解析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008068723A JP2009223714A (ja) 2008-03-18 2008-03-18 演算回路及び演算回路の異常解析方法

Publications (1)

Publication Number Publication Date
JP2009223714A true JP2009223714A (ja) 2009-10-01

Family

ID=41240402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008068723A Pending JP2009223714A (ja) 2008-03-18 2008-03-18 演算回路及び演算回路の異常解析方法

Country Status (1)

Country Link
JP (1) JP2009223714A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013178638A (ja) * 2012-02-28 2013-09-09 Ricoh Co Ltd 画像処理回路、画像処理装置及び画像処理回路の制御方法
JP2014085872A (ja) * 2012-10-24 2014-05-12 Sumitomo Electric Ind Ltd 障害発生トレースシステム及び光通信システム用光モジュール
US9811442B2 (en) 2015-12-11 2017-11-07 International Business Machines Corporation Dynamic trace level control
JP2020088806A (ja) * 2018-11-30 2020-06-04 キヤノン株式会社 情報処理装置、およびその制御方法、プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013178638A (ja) * 2012-02-28 2013-09-09 Ricoh Co Ltd 画像処理回路、画像処理装置及び画像処理回路の制御方法
JP2014085872A (ja) * 2012-10-24 2014-05-12 Sumitomo Electric Ind Ltd 障害発生トレースシステム及び光通信システム用光モジュール
US9811442B2 (en) 2015-12-11 2017-11-07 International Business Machines Corporation Dynamic trace level control
US9811443B2 (en) 2015-12-11 2017-11-07 International Business Machines Corporation Dynamic trace level control
JP2020088806A (ja) * 2018-11-30 2020-06-04 キヤノン株式会社 情報処理装置、およびその制御方法、プログラム
JP7309349B2 (ja) 2018-11-30 2023-07-18 キヤノン株式会社 情報処理装置、およびその制御方法、プログラム

Similar Documents

Publication Publication Date Title
CN103186461B (zh) 一种现场数据的保存方法和恢复方法以及相关装置
US20120331449A1 (en) Device, method and computer program product for evaluating a debugger script
US20150212923A1 (en) Nontransitory processor readable recording medium having fault injection program recorded therein and fault injection method
TWI544410B (zh) 利用執行單步驟以進行編碼診斷
US20120254662A1 (en) Automated test system and automated test method
TWI361978B (en) Method for debugging a computer system
JP2009223714A (ja) 演算回路及び演算回路の異常解析方法
JP2009211625A (ja) 情報処理装置の起動ログ保存方法
JP5133649B2 (ja) 電子機器およびメモリ管理プログラム
JP6981920B2 (ja) 半導体装置、およびデバッグ方法
US8990624B2 (en) Emulator verification system, emulator verification method
JP2007172414A (ja) 組込機器向けのコンパクトコアダンププログラム及びコンパクトコアダンプを用いた方法
KR20190076217A (ko) 멀티 코어를 이용한 동적 바이너리 인스트루멘테이션 장치 및 방법
US20090222633A1 (en) Information processing system and information processing method capable of performing detailed state notification even in a difficult situation
JP2003281076A (ja) Dmaコントローラの不正アクセス検出装置、不正アクセス検出方法およびそのプログラム
JP2009123108A (ja) 情報処理装置
EP3998532A1 (en) Method for the selective tracing of the execution of instructions, related processing device and processor
US20080195896A1 (en) Apparratus and method for universal programmable error detection and real time error detection
JP2009140136A (ja) 再現試験システム
JP2017167615A (ja) ログ取得装置、演算装置、プロセッサ、処理方法、プログラム
JPH1091477A (ja) 制御用マイクロコンピュータ装置及び該装置の保守ツール
JP2003263340A (ja) デバッグ装置
JP2006011991A (ja) コンピュータ制御装置およびこのソフトウェア実行記録方式
JP2010244183A (ja) 装置検査システム、装置検査方法、装置検査プログラム
JP2009110110A (ja) 監視制御システム、監視制御方法、および監視制御プログラム