Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4454566B2 - プログラム暴走監視回路および方法 - Google Patents
[go: Go Back, main page]

JP4454566B2 - プログラム暴走監視回路および方法 - Google Patents

プログラム暴走監視回路および方法 Download PDF

Info

Publication number
JP4454566B2
JP4454566B2 JP2005323019A JP2005323019A JP4454566B2 JP 4454566 B2 JP4454566 B2 JP 4454566B2 JP 2005323019 A JP2005323019 A JP 2005323019A JP 2005323019 A JP2005323019 A JP 2005323019A JP 4454566 B2 JP4454566 B2 JP 4454566B2
Authority
JP
Japan
Prior art keywords
program
information
runaway
program runaway
monitoring
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
JP2005323019A
Other languages
English (en)
Other versions
JP2007133458A (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 Platforms Ltd
Original Assignee
NEC AccessTechnica 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
Application filed by NEC AccessTechnica Ltd filed Critical NEC AccessTechnica Ltd
Priority to JP2005323019A priority Critical patent/JP4454566B2/ja
Publication of JP2007133458A publication Critical patent/JP2007133458A/ja
Application granted granted Critical
Publication of JP4454566B2 publication Critical patent/JP4454566B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明はプログラム制御プロセッサ上で実行されているプログラムの暴走を監視する技術に関する。
プログラムの暴走を監視する技術としてはこれまで種々のものが提案されてきた。たとえば、特開昭63−298453号公報(特許文献1)には、プログラムの単一ステップの実行の有無に依存するのではなく、複数の任意ステップの命令コードのシグネチャと予め求めたシグネチャデータとを比較することにより暴走を検出するプログラム暴走監視回路が開示されている。この暴走監視回路は、実行した命令コードのシグネチャを求めるためのリニア・フィードバック・シフトレジスタ(LFSR)を有し、プログラムメモリには、このLFSRに取り込む命令コードかどうかを判断するためのイネーブルビットが付加されている。
特開平6−259288号公報(特許文献2)に開示された暴走監視回路では、CPUの命令のプログラムアドレスに対して次のアドレスを予め記憶しておき、当該次のアドレスとCPUが実際に発生する次のプログラムアドレスとを常に比較して不一致が生じたときに暴走を検出する。
また、特開2000−57021号公報(特許文献3)には、ウォッチドッグタイマ内に、その動作状態を判別する手段を設け、スタンバイ制御信号によりウォッチドッグタイマが動作を停止させているときに限り、供給されるクロックを停止させることによりウォッチドッグタイマの誤動作を回避する方法が開示されている。
特開昭63−298453号公報 特開平6−259288号公報 特開2000−57021号公報
本発明は、ウォッチドッグタイマやプログラムの単一ステップに依存することなく、プログラムの暴走を確実に検出することができる新たなプログラム暴走監視方法および回路を提供する。
本発明によれば、プログラム実行中のプログラム制御プロセッサが使用するバス上のデータを用いてプログラムの暴走の有無を検出する。たとえば、バス上の情報を設定された時間間隔で読み取り、前回の読取情報と今回の読取情報とから同一情報の領域を検索し、その検索結果に基づいてプログラムの暴走の有無を検出する。
本発明によるプログラム暴走監視回路は、プログラム制御プロセッサが使用するバス上のアドレス情報およびデータ情報を設定されたタイミングで読み取るバス情報読み取り手段と、読み取られたアドレス情報およびデータ情報の組をエントリ情報として設定されたタイミングごとに交互に蓄積する第1メモリ手段および第2メモリ手段と、第1メモリ手段に蓄積された第1エントリ情報と第2メモリ手段に蓄積された第2エントリ情報とを比較して同一情報領域の存在の有無を判定する比較判定手段と、比較判定手段の判定結果に基づいてプログラムの暴走を監視する監視手段と、を有することを特徴とする。
前記バス情報読み取り手段は、前記バス上のイネーブル信号を契機として、前記バス上のアドレス情報およびデータ情報を前記プログラム制御プロセッサの動作クロックに従って読み取ることができる。
前記監視手段は、前記比較判定手段による同一情報領域の存在を示す判定結果が複数回発生したときにプログラムの暴走を検出することができる。監視手段は、前記同一情報領域の存在を示す判定結果の回数をカウントするカウント手段を有し、前記カウント値が所定しきい値を超えたときにプログラムの暴走を検出することが望ましい。特に、所定しきい値はプログラム暴走の誤認を回避できる値に設定されることが望ましい。
本発明によるプログラム暴走監視方法は、プログラム制御プロセッサが使用するバス上のアドレス情報およびデータ情報の組をエントリ情報として設定されたタイミングで順次読み取り、前回のタイミングで読み取られた第1エントリ情報と今回のタイミングで読み取られた第2エントリ情報とを比較して同一情報領域を検索し、同一情報領域の有無によりプログラムの暴走を監視する、ことを特徴とする。
本発明によれば、プログラム制御プロセッサが使用するバス上のアドレス情報およびデータ情報の組をエントリ情報として用いてプログラムの暴走の有無を検出することができる。すなわち、前回のタイミングで読み取られたバス上のエントリ情報と今回のタイミングで読み取られたエントリ情報とを比較し、それらの情報の間に同一情報領域が存在するか否かの判定に基づいてプログラム暴走の確実な監視が可能である。
特に、同一情報領域の存在を示す判定が所定しきい値を超える回数続いた場合にプログラム暴走と判定することにより、暴走の検出精度が向上するとともに暴走の誤認を確実に回避することができ、暴走監視の信頼性を向上させることができる。
図1は本発明の一実施形態によるプログラム暴走監視回路のブロック図である。CPU(Central Processing Unit)1はプログラム制御プロセッサであり、予めプログラムされた命令に従って動作を行い、バスを通して、アドレスおよびデータ情報B、CPU動作クロックC、イネーブル信号Aを含む制御信号など種々の情報を転送する。
プログラム暴走監視回路に設けられたタイマ部2は、外部から供給されるクロックに従って時間計測を行い、外部より設定された時間が経過すると読み取り部3へ開始通知を出力して時間計測を停止する。タイマ部2の時間計測は、後述するメモリ部4あるいは5からの許容容量到達通知により再開する。
読み取り部3は、CPU動作クロックCおよびイネーブル信号Aに従って、アドレスおよびデータ情報Bをバスから読み出す。読み出されたアドレスおよびデータ情報は、読み取り動作ごとに交互に選択されたメモリ部4あるいはメモリ部5に格納される。読み取り部3の読み取り動作は、タイマ部2からの開始通知により開始し、メモリ部4あるいは5からの許容容量到達通知により停止する。
メモリ部4およびメモリ部5は、それぞれ予め設定された許容容量を有するメモリであり、読み取り部3からのイネーブル信号により選択されたメモリ部4または5が読み取られたアドレスおよびデータ情報を格納する。メモリ部4および5は、データを許容容量まで蓄積すると、許容容量到達通知をタイマ部2、読み取り部3および比較判定部6へそれぞれ出力する。
比較判定部6は、メモリ部4およびメモリ部5にそれぞれ格納された前回および今回のアドレスおよびデータ情報Bを比較し、同じ順序で格納された同一情報を検索する。同一順序の同一情報が存在すれば、比較判定部6はカウンタ監視部7へ同一情報検出通知を出力する。
カウンタ監視部7は同一情報検出通知の回数をカウントし、カウント値が外部から与えられた所定のしきい値を超えたときにアラームを外部へ出力する。
図2は本実施形態によるプログラム暴走監視回路の動作を説明するための状態遷移図である。
状態S10: まず、タイマ部2が起動され、外部クロックに従って時間計測を開始する。設定された時間が経過すると、タイマ部2は時間計測を停止し、開始通知を出力する。
状態S20: 開始通知により読み取り部3が起動する。読み取り部3は、イネーブル信号Aに従ったタイミングで、アドレスおよびデータ情報BをバスからCPU動作クロックCに従って読み出す。読み取り部3は、前回選択したメモリ部とは別のメモリ部を選択し、選択したメモリ部4あるいは5に読み出されたアドレスおよびデータ情報を蓄積する。
状態S30: メモリ部4あるいは5から許容容量到達通知を入力すると、読み取り部3は読み取り動作を停止する。そして次の情報を読み取るために状態S10へ戻ってタイマ部2が起動され、上述した状態S10〜状態S30がメモリ部4および5を交互に選択しながら繰り返される。このように読み取り動作を実行することで、メモリ部4および5には前回の読み取り情報と今回の読み取り情報とが交互に蓄積されることになる。
状態S40: メモリ部4あるいは5から許容容量到達通知を入力すると、比較判定部6はメモリ部4およびメモリ部5にそれぞれ格納された前回および今回のアドレスおよびデータ情報Bを比較し、同じ順序で格納された同一データの有無を判定する。同一順序の同一情報を検出したとき、あるいは、メモリ部4あるいは5の上限に格納された情報が一致したとき、比較判定部6はカウンタ監視部7へ同一情報検出通知を出力する。同一順序の同一データを検出したとき、あるいは、検索中にメモリ部4あるいは5のアドレス上限値に到達したときには、比較判定部6は検索動作を停止する。なお、比較判定部6の検索動作の詳細は後述する。
状態S50: カウンタ監視部7は同一情報検出通知の発生を監視し、その回数をカウントする。カウント値は所定のしきい値と比較され、カウント数がしきい値を超えたときに、カウンタ監視部7はプログラムの暴走と判断してアラームを外部へ通知する。
なお、タイマ部2の設定時間により読み取り動作の周期を調整することができ、適切な頻度でプログラム暴走監視が可能となる。
図3は本実施形態における比較判定部6の検索動作を説明するための模式図である。メモリ部4には、バスから前回読み取られたアドレス(A10, A11, A12, … A1n)とそれぞれのアドレスに対応したデータ(D10, D11, D12, … D1n)とがメモリ部4の下限(Start)から上限(End)へ向けて順に蓄積されているものとする。メモリ部5には、今回読み取られたアドレス(B10, B11, B12, … B1m)とそれぞれのアドレスに対応したデータ(E10, E11, E12, … E1m)とがメモリ部5の下限(Start)から上限(End)へ向けて順に蓄積されているものとする。なお、ここではm=nとする。
比較判定部6はメモリ部4およびメモリ部5からエントリ情報を順次読み出して比較し、同一順序の同一データを検索する。次に、図3に示すメモリの状態を仮定して、比較判定部6の検索動作を詳細に説明する。
図4は比較判定部6の検索動作の流れを概略的に示すフローチャートである。比較判定部6は、今回の読み取り情報を蓄積したメモリ部5から許容容量到達通知を入力すると(ステップS101)、前回の読み取り情報を蓄積したメモリ部4の最初のエントリ情報(A10, D10)を読み出し、メモリ部5に同一情報が存在するかどうかをサーチする。存在しなければ、次のエントリ情報(A11, D11)を読み出し同様のサーチを繰り返す。以下同様に、エントリ情報(A1n, D1n)を上限として、メモリ部4から順次データを読み出しながら、同一情報が検出されるまで上記サーチを繰り返す(ステップS102)。
このサーチによりメモリ部4のエントリ情報(A1i, D1i)とメモリ部5のエントリ情報(B1j, E1j)とが一致したと仮定する。図3の例では、メモリ部4のエントリ情報(A13, D13)と同一の情報がメモリ部5のエントリ情報(B11, E11)として存在するものとする。
この一致を検出すると、比較判定部6は、一致したエントリ情報に続くエントリ情報をメモリ部4および5からそれぞれ読み出す。ここでは、メモリ部4のエントリ情報(A1i+1, D1i+1)とメモリ部5のエントリ情報(B1j+1, E1j+1)とがそれぞれ読み出され、同一か否かが判定される。 (A1i+1, D1i+1)=(B1j+1, E1j+1)であれば、さらに続くデータをメモリ部4および5からそれぞれ読み出す。ここでは、メモリ部4の情報(A1i+2, D1i+2)とメモリ部5の情報(B1j+2, E1j+2)とがそれぞれ読み出され、同一か否かが判定される。(A1i+1, D1i+1)≠(B1j+1, E1j+1)であれば、この時点で検索を中止する(ステップS105)。以下同様に、同一であれば次のエントリ情報の比較を行うという動作をいずれかのエントリ情報がメモリ部の上限に到達するまで繰り返し、同一でなければその時点で検索を中止する(ステップS103)。
こうして一方のメモリ部のエントリ情報が上限に到達すると、同一のエントリ情報が同一の順序で両方のメモリ部に格納されていると判断し、同一情報検出通知をカウント監視部7へ送出する(ステップS104)。たとえば、図3に示すように、メモリ部4の領域aのエントリ情報(A13, D13)〜(A1n, D1n)とメモリ部5の領域bのエントリ情報(B11, E11)〜(B1(m-2), E1(m-2))とが一致したと判定される。
なお、ステップS102において一方のメモリ部の上限エントリ情報が一致した場合には、上限エントリに到達しているのでステップS103では「全て一致」と判定され、同一情報検出通知がカウント監視部7へ出力されることになる。しかしながら、この一致は実際には同一情報検出とは言えない。したがって、このような同一情報検出通知だけでアラームが外部へ出力される事態を回避するのが望ましい。そこで、本実施形態では、カウント監視部7にカウントしきい値を設定し、同一情報検出通知の回数が設定しきい値を超えない限りアラームを出力しないようにしている。
このようにカウント監視部7にしきい値を設定することは暴走監視の信頼性を向上させるという利点もある。プログラム暴走が発生した場合には同一情報検出通知が繰り返しカウント監視部7に出力されるはずであるから、カウントしきい値を適当な値に設定することで、プログラム暴走の誤認を回避できると共に、実際の暴走を迅速にかつ確実に検知することもできる。
また、上記実施形態では、ステップS103に示すように、同一であれば次のエントリ情報の比較を行うという動作をいずれかのエントリ情報がメモリ部の上限に到達するまで繰り返すが、メモリ部の上限に到達する前であっても、所定の長さ同一情報領域が継続していれば「全て一致」と判定するようにしても良い。
本発明によるプログラム暴走監視回路および方法は、CPUを用いたコンピュータあるいは情報処理装置などに適用可能である。
本発明の一実施形態によるプログラム暴走監視回路のブロック図である。 本実施形態によるプログラム暴走監視回路の動作を説明するための状態遷移図である。 本実施形態における比較判定部6の検索動作を説明するための模式図である。 比較判定部6の検索動作の流れを概略的に示すフローチャートである。
符号の説明
1 CPU
2 読み取り部
3 タイマ部
4 メモリ部
5 メモリ部
6 比較判定部
7 カウント監視部

Claims (13)

  1. プログラム制御プロセッサ上で実行されているプログラムの暴走を監視する回路において、
    前記プログラム制御プロセッサが使用するバス上のアドレス情報およびデータ情報を設定されたタイミングで読み取るバス情報読み取り手段と、
    前記読み取られたアドレス情報およびデータ情報の組をエントリ情報として前記設定されたタイミングごとに交互に蓄積する第1メモリ手段および第2メモリ手段と、
    前記第1メモリ手段に蓄積された第1エントリ情報と前記第2メモリ手段に蓄積された第2エントリ情報とを比較して同一情報領域の存在の有無を判定する比較判定手段と、
    前記比較判定手段の判定結果に基づいてプログラムの暴走を監視する監視手段と、
    を有することを特徴とするプログラム暴走監視回路。
  2. 前記バス情報読み取り手段は、前記バス上のイネーブル信号を契機として、前記バス上のアドレス情報およびデータ情報を前記プログラム制御プロセッサの動作クロックに従って読み取ることを特徴とする請求項1に記載のプログラム暴走監視回路。
  3. 前記同一情報領域は同一情報が同一順序で複数配列された領域であることを特徴とする請求項1または2に記載のプログラム暴走監視回路。
  4. 前記監視手段は、前記比較判定手段による同一情報領域の存在を示す判定結果が複数回発生したときに、プログラムの暴走を検出することを特徴とする請求項1−3のいずれかに記載のプログラム暴走監視回路。
  5. 前記監視手段は、前記同一情報領域の存在を示す判定結果の回数をカウントするカウント手段を有し、前記カウント値が所定しきい値を超えたときにプログラムの暴走を検出することを特徴とする請求項4に記載のプログラム暴走監視回路。
  6. 前記所定しきい値は、プログラム暴走の誤認を回避できる値に設定されたことを特徴とする請求項5に記載のプログラム暴走監視回路。
  7. プログラム制御プロセッサ上で実行されているプログラムの暴走を監視する方法において、
    前記プログラム制御プロセッサが使用するバス上のアドレス情報およびデータ情報の組をエントリ情報として設定されたタイミングで順次読み取り、
    前回のタイミングで読み取られた第1エントリ情報と今回のタイミングで読み取られた第2エントリ情報とを比較して同一情報領域を検索し、
    前記同一情報領域の有無によりプログラムの暴走を監視する、
    ことを特徴とするプログラム暴走監視方法。
  8. 前記同一情報領域は同一情報が同一順序で複数配列された領域であることを特徴とする請求項7に記載のプログラム暴走監視方法。
  9. 前記同一情報領域が複数回検索されたときに、プログラムの暴走を検出することを特徴とする請求項7または8に記載のプログラム暴走監視方法。
  10. 前記同一情報領域が所定しきい値を超える回数検索されたときにプログラムの暴走を検出することを特徴とする請求項9に記載のプログラム暴走監視方法。
  11. 前記所定しきい値は、プログラム暴走の誤認を回避できる値に設定されたことを特徴と
    する請求項10に記載のプログラム暴走監視方法。
  12. 請求項1−6のいずれかに記載のプログラム暴走監視回路を有する情報処理装置。
  13. 請求項7−11のいずれかに記載のプログラム暴走監視方法を採用した情報処理装置。
JP2005323019A 2005-11-08 2005-11-08 プログラム暴走監視回路および方法 Expired - Fee Related JP4454566B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005323019A JP4454566B2 (ja) 2005-11-08 2005-11-08 プログラム暴走監視回路および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005323019A JP4454566B2 (ja) 2005-11-08 2005-11-08 プログラム暴走監視回路および方法

Publications (2)

Publication Number Publication Date
JP2007133458A JP2007133458A (ja) 2007-05-31
JP4454566B2 true JP4454566B2 (ja) 2010-04-21

Family

ID=38155097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005323019A Expired - Fee Related JP4454566B2 (ja) 2005-11-08 2005-11-08 プログラム暴走監視回路および方法

Country Status (1)

Country Link
JP (1) JP4454566B2 (ja)

Also Published As

Publication number Publication date
JP2007133458A (ja) 2007-05-31

Similar Documents

Publication Publication Date Title
JP5914521B2 (ja) 処理装置、トレースユニット、および診断装置
US9335183B2 (en) Method for reliably operating a sensor
CN109726058B (zh) 检测方法、装置及计算机设备
CN105204968B (zh) 一种故障内存检测方法和装置
JP4815141B2 (ja) 回路異常動作検出システム
JP2009129301A (ja) 自己診断回路及び自己診断方法
JP2019159786A (ja) 情報処理装置、情報処理方法、プログラム
JP4454566B2 (ja) プログラム暴走監視回路および方法
JP5093473B2 (ja) 車両故障検知装置
JP2011154459A (ja) コンピュータシステムのプログラム異常動作検出装置
CN101145992A (zh) 单板任务异常检测方法与系统
JP2015162030A (ja) 故障指摘装置、故障指摘方法および故障指摘プログラム
JP2005293164A (ja) タスク監視方式
CN109659901B (zh) 直流电机的保护方法、装置及电子设备
JPH11330931A (ja) 制御システムにおけるクロック動作監視装置及び方法
JP5915560B2 (ja) 分析装置
CN113655707A (zh) 安全仪表系统的表决控制方法、装置和电子装置
WO2010055562A1 (ja) マイクロコンピュータ
JP4842036B2 (ja) 半導体装置と、タイミング制御回路の異常検出方法
JP4627275B2 (ja) 監視プログラム、監視方法、および、監視装置
JP2870202B2 (ja) プロセッサ間相互監視方法及びその装置
JP2002163008A (ja) プログラマブルコントローラ暴走検出回路およびその方法
JPH0581138A (ja) マイクロプログラム制御装置
JP4797831B2 (ja) 信号処理装置及び信号処理方法
JP4932193B2 (ja) パルス信号測定装置及び方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091214

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: 20100119

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100202

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees