JP3185780B2 - システム監視装置及びその方法 - Google Patents

システム監視装置及びその方法

Info

Publication number
JP3185780B2
JP3185780B2 JP04960899A JP4960899A JP3185780B2 JP 3185780 B2 JP3185780 B2 JP 3185780B2 JP 04960899 A JP04960899 A JP 04960899A JP 4960899 A JP4960899 A JP 4960899A JP 3185780 B2 JP3185780 B2 JP 3185780B2
Authority
JP
Japan
Prior art keywords
instruction
branch
address
word
instruction word
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.)
Expired - Fee Related
Application number
JP04960899A
Other languages
English (en)
Other versions
JP2000250785A (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.)
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 JP04960899A priority Critical patent/JP3185780B2/ja
Publication of JP2000250785A publication Critical patent/JP2000250785A/ja
Application granted granted Critical
Publication of JP3185780B2 publication Critical patent/JP3185780B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、システムの障害監
視装置に関し、特にプログラムの不具合およびハードウ
ェア故障による無限ループ発生時に、速やかかつ的確な
障害情報の収集を可能とするシステム監視装置に関す
る。
【0002】
【従来の技術】従来、この種のシステム監視方法として
は、特開平6−236299号公報および特許第277
6765号公報に述べられているように、タイマを用い
て一定時間内までにプロセスが終了するか否かを確認し
ている。これは、正常に動作しているプロセスが予め設
定している時間内に終了することを前提として、特定の
プロセスが一定時間内に終了しないことをタイムアウト
により検出する。このタイムアウトが検出された場合に
は、該プロセスがプロセッサシステム障害などにより無
限ループに移入したと判断することで異常検出を行って
いる。
【0003】また、特開平9−62520号公報には、
複数のタスクをそれぞれの優先度に応じて実行するシス
テムにおいて、周期的に実行中のタスクを認識し、所定
回数同じタスクの実行中が検出されると無限ループに陥
ったものと判断してシステムをリスタートさせる技術が
記載されている。
【0004】このようにして検出される無限ループには
一般に以下の2通りが存在する。まず第1は、プログラ
ムの不具合や予期せぬハードウェア故障により分岐すべ
き条件がいつまでも満たされない偶発的な場合である。
そして第2は、プログラムが正常に動いている時には辿
り着かないフローに無限セルフループを故意に埋め込
み、プログラムの実行において不具合が発生した際には
該フローを実行させて上述の監視方法により障害発生の
検出を行わせる意図的な場合である。
【0005】
【発明が解決しようとする課題】ところが、上述のよう
な従来技術では、その無限ループの種類に関わらずシス
テム障害であると判定される一定時間までは無限ループ
による同一動作が延々と行われていた。このため、プロ
セッサ内部に保持しているトレースデータ等の解析用デ
ータ群が書き潰されるという不具合があった。これは、
解析用データが有限なハードウェア(レジスタなど)に
より保持されているため、保持先が一巡した場合には保
持内容を古い順に上書することで、より最近の情報を残
す形態を採っているためである。このため、障害解析時
に内部データを引き抜いても所望のデータが得られず、
デバッグ時の解析に時間が掛かるという問題があった。
【0006】また、従来のシステム監視方法では、プロ
セスの実行時間を基準とした監視を行っていたために、
特定時間の動作をさせた後でしか異常検出を行うことが
できず、システム障害と判定されるまでの一定時間は、
無駄にプロセッサが占有されてしまうという問題もあっ
た。
【0007】本発明の目的は、無限ループによるシステ
ム障害時、特に自己アドレスへの無条件分岐による意図
的な無限セルフループによるシステム障害の発生時にお
いて、無限セルフループの発生を早期に検出すること
で、無限セルフループの実行によるプロセッサ内の有効
な解析用データの書き潰しを抑止して障害解析の効率低
下を防止し、さらには、無限セルフループの実行による
リソースの無駄な占有を最小限に防ぐことで効率のよい
リソース提供を可能とする装置を提供することにある。
【0008】
【課題を解決するための手段】上記課題を解決するため
に、本発明のシステム監視装置は、実行される命令語が
無条件に分岐を行う命令であるか否かを判定する無条件
分岐判定手段と、前記実行される命令語の分岐先が前記
実行される命令語の自身であるか否かを判定する分岐先
アドレス判定手段と、前記無条件分岐命令判定手段およ
び前記分岐先アドレス判定手段の判定結果から前記実行
される命令語が無限セルフループ命令であるか否かを判
定する無限セルフループ判定手段とを有する。
【0009】また、前記命令語は、オペレーションコー
ドと、分岐判定に参照される分岐判定参照ビットと、オ
ペランドデータのアドレスまたは分岐命令に対する分岐
先アドレスを指し示すアドレス指示語とを含み、前記無
条件分岐判定手段は、前記オペレーションコードおよび
前記分岐判定参照ビットを入力して当該命令語が無条件
に分岐を行う命令であるか否かを判定し、前記分岐先ア
ドレス判定手段は、前記アドレス指示語および前記実行
される命令語の記憶装置上のアドレスを入力して当該命
令語が自己の命令語へ分岐するセルフループ命令か否か
を判定する。
【0010】さらに、前記無条件分岐判定手段は、前記
オペレーションコードが分岐命令を示し、かつ、前記分
岐判定参照ビットが全て分岐を示していることを検出す
ることにより、前記実行される命令語が無条件で分岐す
る命令であると判定する。
【0011】さらに、前記分岐先アドレス判定手段は、
前記アドレス指示語が示すアドレスと前記実行される命
令語の記憶装置上のアドレスとを比較して、一致する場
合には前記実行される命令語がセルフループ命令である
と判断する。
【0012】 また、前記セルフループ判定手段は、前
記実行される命令語が無限セルフループ命令であると判
断した場合、ソフトウェア管理プログラムに通知する。
【0013】 前記セルフループ判定手段は、前記実行
される命令語が無限セルフループ命令であると判断した
場合、診断プログラムに通知して障害処理プロセスを実
行させる。
【0014】さらに、上記課題を解決するための本発明
のシステム監視方法は、前記命令語のオペレーションコ
ードから前記命令語が分岐命令であるか否かを判定し、
前記命令語の分岐判定に参照される分岐判定参照ビット
から前記命令語が無条件での分岐を示しているか否かを
判定し、前記命令語のオペランドデータのアドレスまた
は分岐命令に対する分岐先アドレスを指し示すアドレス
指示語が前記命令語自身の記憶装置上のアドレスを示し
ているか否かを判定し、前記命令語が、分岐命令であっ
て、無条件で分岐を行い、かつ、分岐先が前記命令語自
身であると判定された場合には、所定の装置に対して通
知を行う。
【0015】また、前記所定装置に対する通知は、診断
部に対して障害処理プロセスの起動を促す信号である。
【0016】さらに、前記所定装置に対する通知は、命
令の処理履歴を格納しているトレーサメモリへの新規書
き込みの抑止信号である。
【0017】
【発明の実施の形態】次に本発明の実施の形態について
図面を参照して説明する。
【0018】図1を参照すると、本発明のシステム監視
装置は、処理すべき命令の命令語を受けとる命令レジス
タ1と、命令レジスタ1に保持されている命令語の主記
憶上の所在を示すアドレスを保持するアドレスレジスタ
2と、処理を行う命令が無条件で分岐を行う分岐命令で
あるか否かを判別する無条件分岐判定回路3と、分岐命
令の分岐先アドレスが処理される当該命令語自身のアド
レスであるか否かを判別する分岐先アドレス判定回路4
と、当該命令語が無条件分岐でかつ自己分岐を行う無限
セルフループ命令であるか否かを判断する無限セルフル
ープ判定回路5とを含んで構成される。
【0019】図2を参照すると、命令語10は、オペレ
ーションコード11(以下、OPコードという。)、分
岐判定参照ビット12(以下、CF(Condition Flag)ビ
ットという。)およびアドレス指示語13(以下、AS
(Address Sillable)フィールドという。)の3つを有し
て構成されている。OPコード11は、命令語10が何
れの命令であるかを表すオペレーションコードである。
CFビット12は、複数のビットから構成されて分岐命
令の際に分岐を行うか否かを判定を行うために参照され
るフラグである。ASフィールド13は、演算命令など
におけるオペランドデータのアドレスまたは分岐命令に
対する分岐先アドレスを指し示す指示語である。
【0020】通常、命令語10が分岐命令である場合、
命令語10のCFビット12と先行命令により設定され
たコンディションコード(以下、CCという。)との値
に基づき分岐判定が行われる。CCとは、先行命令によ
り設定される分岐判定を行うための値であり、命令語1
0のCFビット12のいずれのビットを分岐判定に用い
るかを指し示すものである。
【0021】CFビット12が4ビットで構成されてい
る場合、CCの取り得る値は、“0”,“1”,
“2”,“3”の4つの値であり、これらの値はそれぞ
れCFビット12の1ビット目、2ビット目、3ビット
目、4ビット目に対応する。例えばCCが”0”であっ
たとすると、CFビット12中の0ビット目が分岐判定
のためのフラグとして参照されることになる。ここで、
この0ビット目が”1”であれば、分岐実行と判断され
てASフィールド13によって求められる分岐先アドレ
スに分岐が行われる。これに対し、0ビット目が”0”
であれば、分岐実行せずと判断されて分岐は行われずに
後続命令の処理が行われることになる。
【0022】したがって、CFビットの値が全て“1”
の場合、CCの値に関わらず分岐判定で参照されるフラ
グは常に“1”となるため、該命令は無条件に分岐が行
われることを意味する。逆に、CFビットの値に1つで
も“0”が含まれていれば、該命令は参照するビットに
よっては分岐を行わない可能性があることを意味する。
【0023】命令レジスタ1に保持された命令語10の
OPコード11およびCFビット12は、無条件分岐判
定回路3に出力されて当該命令語10が無条件に分岐を
行う命令か否かの判定が行われる。
【0024】無条件判定回路3は、まず、命令語10の
OPコード11から当該命令語が分岐命令であるか否か
を判定する。それとともに、CFビット12の全ビット
が“1”であるか否かを判定して分岐条件が無条件で行
われるか否かの判定を行う。これにより、命令語10
が、分岐命令でかつ無条件に分岐を行う命令であるか否
かの判定が行われる。
【0025】また、分岐先アドレス判定回路4には、命
令語10のASフィールド13およびアドレスレジスタ
2に保持されるアドレスが出力される。ここで、ASフ
ィールド13は分岐命令における分岐先アドレスを示し
ており、アドレスレジスタ2に保持されたアドレスは命
令レジスタ1に保持されている命令語10の主記憶上の
アドレスを示している。分岐先アドレス判定回路4で
は、この2つの値の比較判定を行うことで、分岐命令に
おける分岐先アドレスが当該命令語自身への分岐である
か否かの判定を行う。
【0026】無限セルフループ判定回路5は、無条件分
岐判定回路3および分岐先アドレス判定回路4からの判
定信号を入力として、処理を行う命令語10が無条件に
分岐し、かつ、自己の命令語へ分岐を行う無限セルフル
ープ命令であるか否かの判定を行う。例えば、無条件分
岐判定回路3が無条件分岐命令と判断した際には”1”
を出力し、分岐先アドレス判定回路4が分岐先アドレス
が自己の命令語のアドレスと同一と判断した際には”
1”を出力するとした場合、これら信号の論理積をとっ
て“1”を出力するようにすることで、与えられた命令
が無限セルフループ命令であることを判定、検出するこ
とができる。
【0027】次に、本発明の実施の形態の動作について
図面を参照して詳細に説明する。図3を参照すると、
(図示せぬ)プロセッサは、命令語10を処理状況に応
じて命令レジスタ1に対して供給を行う(S1)。命令
レジスタ1において受け取られた命令語10は、(図示
せぬ)命令実行処理回路に送出され、逐次処理が行われ
る。
【0028】ここで、本発明においては、命令レジスタ
1へ命令語10が供給された際に、命令レジスタ1に保
持された命令語10のOPコード11とCFビット12
の値を無条件分岐判定回路3に、ASフィールド13と
アドレスレジスタ2に保持される当該命令語の主記憶上
のアドレスとを分岐先アドレス判定回路4にそれぞれ出
力する(S2)。
【0029】無条件分岐判定回路3では、まず、入力さ
れた命令語10のOPコード11から当該命令語10が
分岐命令か否かを判定する。また、CFビット12の各
ビットの値を判読し、全てのビットが“1”であるか否
かを判定する(S3)。
【0030】一方、分岐先アドレス判定回路4は、AS
フィールド13で示される分岐先のアドレスとアドレス
レジスタ2に保持された当該命令語10の主記憶上のア
ドレスが一致するか否かの判定が行われる(S4)。
【0031】無限セルフループ判定回路5は、無条件分
岐判定回路3および分岐先アドレス判定回路4の判定結
果から実行処理される命令語10が無限セルフループ命
令であるか否かの判定を行う(S5)。命令語10が無
限セルフループ回路であると判定されると、無限セルフ
ループ判定回路5はマイクロプロセッサ、診断部などに
対して通知を行う(S6)。
【0032】以上のように、命令レジスタ1に命令語1
0が保持されると、保持された命令語10の各パラメー
タ(OPコード11,CFビット12およびASフィー
ルド13)により、無条件に分岐する命令で、かつ、自
己の命令語への分岐を行う命令である無限セルフループ
命令であるか否かの判定が行われる。
【0033】無限セルフループ判定回路5において命令
語が無限セルフループ命令であると判定された場合は、
この結果をトリガとして診断部へシステム異常検出を通
知し、診断部による障害処理プロセスへ移入させてもよ
い。また、マイクロプログラムへの割り込み信号として
OSへのシステム異常通知フローを起動させるトリガと
してもよい。同様に、各命令の実行に伴う処理履歴を格
納しているトレーサメモリへの新規書き込みの抑止信号
としても有効である。
【0034】なお、本発明が上記各実施例に限定され
ず、本発明の技術思想の範囲内において、各実施例は適
宜変更され得ることは明らかである。
【0035】このように、本発明の実施の形態によれ
ば、従来のような意図的な無限セルフループの実行とタ
イマを用いたシステム監視手段によるシステム異常検出
に比べ、タイムオーバを待たずに早期にシステム異常を
検出することが可能となる。これにより、システム異常
によって一定時間セルフループが行われることによるプ
ロセッサの無駄な占有がなくなり、効率の良いリソース
提供が可能となる。さらに、無限セルフループによって
プロセッサ内のトレース情報が書き潰されることもなく
なり、デバッグの効率化も図ることが可能となる。
【0036】
【発明の効果】以上の説明で明らかなように、本発明に
よると、無限ループのうち無条件に分岐する命令でかつ
自己の命令語が分岐先となる命令である無限セルフルー
プ命令を早期に検出して、システム異常を速やかにソフ
トウェア管理プログラムや診断部へ通知することができ
る。
【0037】これにより、効率良くリソースを活用する
ことができ、さらに、プロセッサ内部に存在するトレー
スデータなどの障害解析データを書き潰すことも無くな
り効率の良いデバッグを行うことも可能となる。
【0038】さらに別の効果として、従来のタイマ監視
によるシステム異常検出に比べてシステム異常を早期に
検出できるため、一定時間無限ループで占有されてしま
うプロセッサを早期に開放することが可能となり、リソ
ースの効率良い提供が可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態の構成を示すブロック図で
ある。
【図2】命令語のフォーマットを示した図である。
【図3】本発明の実施の形態の動作を説明するフローチ
ャートである。
【符号の説明】
1 命令レジスタ 2 アドレスレジスタ 3 無条件分岐判定回路 4 分岐先アドレス判定回路 5 無限セルフループ判定回路 10 命令語 11 OPコード(オペレーションコード) 12 CFビット(分岐判定参照ビット) 13 ASフィールド(アドレス指示語)
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 11/28 - 11/36 G06F 9/30 - 9/42

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 命令語を逐次処理するシステムの監視装
    置において、 実行される命令語が無条件に分岐を行う命令であるか否
    かを判定する無条件分岐判定手段と、 前記実行される命令語の分岐先が前記実行される命令語
    の自身であるか否かを判定する分岐先アドレス判定手段
    と、 前記無条件分岐命令判定手段および前記分岐先アドレス
    判定手段の判定結果から前記実行される命令語が無限セ
    ルフループ命令であるか否かを判定する無限セルフルー
    プ判定手段とを有することを特徴とするシステム監視装
    置。
  2. 【請求項2】 前記命令語は、オペレーションコード
    と、分岐判定に参照される分岐判定参照ビットと、オペ
    ランドデータのアドレスまたは分岐命令に対する分岐先
    アドレスを指し示すアドレス指示語とを含み、 前記無条件分岐判定手段は、前記オペレーションコード
    および前記分岐判定参照ビットを入力して当該命令語が
    無条件に分岐を行う命令であるか否かを判定し、 前記分岐先アドレス判定手段は、前記アドレス指示語お
    よび前記実行される命令語の記憶装置上のアドレスを入
    力して当該命令語が自己の命令語へ分岐するセルフルー
    プ命令か否かを判定することを特徴とする請求項1記載
    のシステム監視装置。
  3. 【請求項3】 前記無条件分岐判定手段は、前記オペレ
    ーションコードが分岐命令を示し、かつ、前記分岐判定
    参照ビットが全て分岐を示していることを検出すること
    により、前記実行される命令語が無条件で分岐する命令
    であると判定することを特徴とする請求項2記載のシス
    テム監視装置。
  4. 【請求項4】 前記分岐先アドレス判定手段は、前記ア
    ドレス指示語が示すアドレスと前記実行される命令語の
    記憶装置上のアドレスとを比較して、一致する場合には
    前記実行される命令語がセルフループ命令であると判断
    することを特徴とする請求項2記載のシステム監視装
    置。
  5. 【請求項5】 前記セルフループ判定手段は、前記実行
    される命令語が無限セルフループ命令であると判断した
    場合、ソフトウェア管理プログラムに通知することを特
    徴とする請求項3または4記載のシステム監視装置。
  6. 【請求項6】 前記セルフループ判定手段は、前記実行
    される命令語が無限セルフループ命令であると判断した
    場合、診断プログラムに通知して障害処理プロセスを実
    行させることを特徴とする請求項3または4記載のシス
    テム監視装置。
  7. 【請求項7】 命令語を逐次処理するシステムのシステ
    ム監視方法であって、 前記命令語のオペレーションコードから前記命令語が分
    岐命令であるか否かを判定し、 前記命令語の分岐判定に参照される分岐判定参照ビット
    から前記命令語が無条件での分岐を示しているか否かを
    判定し、 前記命令語のオペランドデータのアドレスまたは分岐命
    令に対する分岐先アドレスを指し示すアドレス指示語が
    前記命令語自身の記憶装置上のアドレスを示しているか
    否かを判定し、 前記命令語が、分岐命令であって、無条件で分岐を行
    い、かつ、分岐先が前記命令語自身であると判定された
    場合には、所定の装置に対して通知を行うことを特徴と
    するシステム監視方法。
  8. 【請求項8】 前記所定装置に対する通知は、診断部に
    対して障害処理プロセスの起動を促す信号であることを
    特徴とする請求項7記載のシステム監視方法。
  9. 【請求項9】 前記所定装置に対する通知は、命令の処
    理履歴を格納しているトレーサメモリへの新規書き込み
    の抑止信号であることを特徴とする請求項7記載のシス
    テム監視方法。
JP04960899A 1999-02-26 1999-02-26 システム監視装置及びその方法 Expired - Fee Related JP3185780B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04960899A JP3185780B2 (ja) 1999-02-26 1999-02-26 システム監視装置及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04960899A JP3185780B2 (ja) 1999-02-26 1999-02-26 システム監視装置及びその方法

Publications (2)

Publication Number Publication Date
JP2000250785A JP2000250785A (ja) 2000-09-14
JP3185780B2 true JP3185780B2 (ja) 2001-07-11

Family

ID=12835961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04960899A Expired - Fee Related JP3185780B2 (ja) 1999-02-26 1999-02-26 システム監視装置及びその方法

Country Status (1)

Country Link
JP (1) JP3185780B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5161022B2 (ja) * 2008-10-06 2013-03-13 日本電信電話株式会社 解析装置、解析方法及び解析プログラム

Also Published As

Publication number Publication date
JP2000250785A (ja) 2000-09-14

Similar Documents

Publication Publication Date Title
US8250543B2 (en) Software tracing
US5758168A (en) Interrupt vectoring for optionally architected facilities in computer systems
RU2224280C1 (ru) Механизм обнаружения исключительных ситуаций потери значимости при спекулятивном выполнении операций с плавающей точкой согласно стандарту ииэр
US20070180315A1 (en) Reconfigurable processor and reconfiguration method executed by the reconfigurable processor
US5109514A (en) Method and apparatus for executing concurrent CO processor operations and precisely handling related exceptions
JP4903149B2 (ja) コンピュータシステム上でコンピュータプログラムを処理する方法
EP2431876A1 (en) Method and device for exception handling in embedded system
US7783865B2 (en) Conditional data watchpoint management
US7765434B2 (en) Resource efficient software tracing for problem diagnosis
US20020099893A1 (en) System and method for the handling of system management interrupts in a multiprocessor computer system
JP2008513899A (ja) コンピュータシステム上でコンピュータプログラムを処理する方法
CN115391079A (zh) 一种基于五级流水线处理器的中断与异常处理方法
CA1212478A (en) Data processor with interrupt facility
US9092333B2 (en) Fault isolation with abstracted objects
US5963737A (en) Interupt vectoring for trace exception facility in computer systems
US6785883B1 (en) Software system for tracing data
JP3185780B2 (ja) システム監視装置及びその方法
JPH07105023A (ja) データ処理システム内でスプリアス割込みを検出するための方法及び装置
JPH02294739A (ja) 障害検出方式
US7100027B1 (en) System and method for reproducing system executions using a replay handler
EP2645258B1 (en) Multiprocessor system, apparatus and methods
JPH0245838A (ja) プログラム実行状態監視方法
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
JPH01503340A (ja) データ処理ユニット
US11152076B2 (en) Apparatus and method for executing debug instructions

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010403

LAPS Cancellation because of no payment of annual fees