JPH10161908A - マイクロコンピュータの暴走検出方法 - Google Patents

マイクロコンピュータの暴走検出方法

Info

Publication number
JPH10161908A
JPH10161908A JP8315775A JP31577596A JPH10161908A JP H10161908 A JPH10161908 A JP H10161908A JP 8315775 A JP8315775 A JP 8315775A JP 31577596 A JP31577596 A JP 31577596A JP H10161908 A JPH10161908 A JP H10161908A
Authority
JP
Japan
Prior art keywords
detection signal
counter
counting
program
contents
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.)
Granted
Application number
JP8315775A
Other languages
English (en)
Other versions
JP3145937B2 (ja
Inventor
Mitsuru Yoshida
満 吉田
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP31577596A priority Critical patent/JP3145937B2/ja
Publication of JPH10161908A publication Critical patent/JPH10161908A/ja
Application granted granted Critical
Publication of JP3145937B2 publication Critical patent/JP3145937B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 マイクロコンピュータの暴走検出において、
プログラムが、ウォッチドッグタイマのリセットルーチ
ンを含む無限ループに入ったような暴走に対しても、ソ
フトウェア的な特別な工夫なしに、確実な暴走検出を可
能とする。 【解決手段】 以前に実行したプログラムアドレスと現
プログラム実行アドレスとの一致を検出する第1比較器
3と、該一致間隔が等間隔か否かを検出する第2比較器
8と、等間隔のプログラム実行アドレス一致が検出され
た場合に、該一致の繰り返し数をカウントし、該カウン
ト値が所定値以上になれば、暴走検出信号を発生するカ
ウンタ9とを用いることにより、プログラムが、ウォッ
チドッグタイマのリセットルーチンを含む無限ループに
入ったような暴走に対しても、確実な暴走検出を可能と
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムにより
制御されるマイクロコンピュータに於いて、プログラム
が暴走したときに、それを検出し、正常な動作に復帰さ
せるための暴走検出方法に係るものであり、特に、プロ
グラムの任意の箇所で無限ループに入ったときに、それ
を検出して、正常な動作に復帰させるための暴走検出方
法に関するものである。
【0002】
【従来の技術】現在、マイクロコンピュータの暴走検出
方法としては、ウォッチドッグと呼ばれる方式が一般化
している。この方式は、常に時間カウントを行うタイマ
(インターバルタイマ)をプログラムの中で頻繁にリセ
ット(クリア)することにより、通常のプログラム動作
ではタイマオーバーフローが発生せず、一方、暴走状態
になると、タイマリセットのルーチンが働かないので、
タイマオーバーフローが発生して、暴走が検出され、プ
ログラムを正常な処理に戻すという方式である。図4
に、一般的なウォッチドッグタイマの構成例を示す。
【0003】
【発明が解決しようとする課題】通常マイクロコンピュ
ータが暴走しているときは、プログラムの同じ箇所を繰
り返し実行している場合が多い。その繰り返し実行の中
に、タイマリセットのルーチンが含まれていなければ、
上述の方式(ウォッチドッグタイマ方式)は有効であ
る。しかしながら、上述の方式では、マイクロコンピュ
ータが暴走しているとき、タイマリセットのルーチンを
含む処理を実行する状態であれば、タイマオーバーフロ
ーが発生せず、すなわち、ウォッチドッグタイマが働か
ずに、プログラムを正常な処理に戻せないという問題点
がある。
【0004】更に、タイマリセットのルーチンを含む処
理を実行する状態で暴走した場合を考慮して、タイマリ
セットの命令実行をカウントするカウンタを別に設け、
このカウンタが所定カウント数に達したときに、プログ
ラムを正常な処理に戻すという方式も考えられている
(特開平5−73361)。この方式によると、ウォッ
チドッグタイマ方式の欠点は概ね解消できるが、タイマ
リセットのルーチンや、カウンタのリセット処理を、ど
こに置くかを、プログラム設計において工夫する必要が
あり、プログラマに負担が強いられるという新たな問題
点が生じる。また、この方式においても、プログラムの
暴走により、カウンタのリセットルーチンと、インター
バルタイマのリセットルーチンを含む無限ループに入っ
た場合には、暴走を検出できないという問題点がある。
【0005】本発明は、上記従来の問題点を解決すべく
為されたものである。
【0006】
【課題を解決するための手段】本発明のマイクロコンピ
ュータの暴走検出方法は、プログラムにより制御される
マイクロコンピュータに於いて、上記プログラムの同一
アドレスを、同一時間間隔で所定回数繰り返し実行した
ことを検出して、暴走検出を行う構成としたことを特徴
とするものである。
【0007】また、本発明のマイクロコンピュータの暴
走検出方法は、プログラムカウンタ内容の待避手段、上
記プログラムカウンタの内容と上記プログラムカウンタ
内容待避手段の内容の一致・不一致を検出して一致検出
信号を出力する第1の比較手段、該第1の比較手段より
出力される任意の一致検出信号から次の一致検出信号ま
での経過時間を計測するタイマ手段、該タイマ手段の計
時内容の待避手段、上記第1の比較手段よりの一致検出
信号に基づいて、上記タイマ手段の計時内容と上記タイ
マ計時内容待避手段の内容との一致・不一致を検出し、
一致検出信号または不一致検出信号を出力する第2の比
較手段、該第2の比較手段よりの一致検出信号を計数す
る計数手段、上記第2の比較手段よりの一致検出信号に
応じて上記タイマ手段をリセットする手段、上記第2の
比較手段よりの不一致検出信号に応じて、上記タイマ手
段の計時内容の上記タイマ計時内容待避手段への待避及
び上記タイマ手段のリセットを実行すると共に、上記計
数手段のプリセットを実行する初期化手段を備え、上記
計数手段よりのオーバーフロー信号を暴走検出信号とす
ることを特徴とするものである。
【0008】更に、本発明のマイクロコンピュータの暴
走検出方法は、プログラムカウンタ内容の待避手段、上
記プログラムカウンタの内容と上記プログラムカウンタ
内容待避手段の内容の一致・不一致を検出して一致検出
信号を出力する第1の比較手段、該第1の比較手段より
出力される任意の一致検出信号から次の一致検出信号ま
での命令実行ステップ数を計数する第1の計数手段、該
第1の計数手段の計数内容の待避手段、上記第1の比較
手段よりの一致検出信号に基づいて、上記第1の計数手
段の計数内容と上記計数内容待避手段の内容との一致・
不一致を検出し、一致検出信号または不一致検出信号を
出力する第2の比較手段、該第2の比較手段よりの一致
検出信号を計数する第2の計数手段、上記第2の比較手
段よりの一致検出信号に応じて上記第1の計数手段をリ
セットする手段、上記第2の比較手段よりの不一致検出
信号に応じて、上記第1の計数手段の計数内容の上記計
数内容待避手段への待避及び上記第1の計数手段のリセ
ットを実行すると共に、上記第2の計数手段のプリセッ
トを実行する初期化手段を備え、上記第2の計数手段よ
りのオーバーフロー信号を暴走検出信号とすることを特
徴とするものである。
【0009】かかる本発明のマイクロコンピュータの暴
走検出方法によれば、プログラムの暴走により無限ルー
プに入ると、同一アドレスが同一時間間隔で所定回数繰
り返し実行された時点で、暴走が検出され、これに基づ
き、リセット信号或は割り込み信号を発生させて、プロ
グラムを正常な処理に戻すことができるものである。
【0010】
【発明の実施の形態】以下、本発明の実施形態につい
て、図面に基づき詳細に説明する。
【0011】図1は、本発明の第一の実施形態のブロッ
ク構成図である。
【0012】図において、1は、プログラムの実行アド
レスを指すプログラムカウンタ(PC1)、2は、同プ
ログラムカウンタ1の内容の待避領域(PC2)、3
は、プログラムカウンタ1の内容とプログラムカウンタ
内容待避領域2の内容の一致・不一致を検出して、一致
検出信号を出力する第1比較器、4は、第1比較器3よ
りの任意の一致検出信号出力から次の一致検出信号出力
までの経過時間を計測する第1カウンタ(タイマ)であ
る。該第1カウンタ4よりのオーバーフロー信号に基づ
いて、上記プログラムカウンタ1から、プログラムカウ
ンタ内容待避領域2へのアドレス転送動作が実行され
る。5は、第1カウンタ4の時間基準となるクロックを
発生する発振器(OSC)、6は、発振器5より出力さ
れるクロックを分周して第1カウンタ4のカウント信号
を作成・出力する分周器(Divider)である。7
は、上記第1カウンタ4の内容の待避用レジスタ、8
は、上記第1比較器3より一致検出信号が出力された時
点に於ける、第1カウンタ4の内容と、第1カウンタ内
容待避用レジスタ7の内容の一致・不一致を検出を検出
し、一致検出信号又は不一致検出信号を出力する第2比
較器、9は該第2比較器8よりの一致検出信号を計数す
る第2カウンタである。第2比較器8よりの一致検出信
号に基づいて上記第2カウンタ9のカウントアップと共
に上記第1カウンタ4のリセットが実行される。一方、
第2比較器8よりの不一致検出信号に基づいて、上記第
2カウンタ9のプリセット(初期値設定)が実行される
と共に、上記第1カウンタ4から第1カウンタ内容待避
用レジスタ7への転送動作と、第1カウンタ4のリセッ
トが実行される。また、上記第1カウンタ4よりのオー
バーフロー信号に基づいて、上述の、プログラムカウン
タ1からプログラムカウンタ内容待避領域2への転送動
作と共に、上記第2カウンタ9のプリセットが実行され
る。上記第2カウンタ9からのオーバーフロー信号が暴
走検出信号となる。
【0013】以上の構成により、プログラムの同一アド
レスを、同一時間間隔で所定回数実行すると、第2カウ
ンタ9のオーバーフローが生じて、プログラムの暴走を
検出することができるものである。
【0014】上記第2カウンタ9のオーバーフロー信号
に基づいて、所定の割り込み信号を発生させて、プログ
ラムを正常処理に戻す。或は、上記第2カウンタのオー
バーフロー信号に基づいてリセット信号を発生させて、
マイクロコンピュータを初期化する。
【0015】図2は、上に説明した処理の流れを示す流
れ図である。ただし、本図では、処理の流れを分かり易
くするために、処理を直列的に図示しているが、実際に
は、図1に示すようにハードウェア的に並列的に処理さ
れるため、例えば、プログラムカウンタ1(PC1)と
プログラムカウンタ内容待避領域2(PC2)の比較処
理と、第1カウンタ4(カウンタ1)のオーバーフロー
処理が同時並行的に発生することも許されるものとす
る。
【0016】上記第一の実施形態に於いては、第1比較
器3よりの任意の一致検出信号出力から次の一致検出信
号出力までの経過時間を計測するためのタイマ手段を設
ける構成としていたが、これに代えて、第1比較器より
の任意の一致検出信号出力から次の一致検出信号出力ま
での命令実行ステップ数を計数する計数手段を設ける構
成としてもよい。
【0017】図3は、そのように構成した、本発明の第
二の実施形態のブロック構成図である。
【0018】図において、1は、プログラムの実行アド
レスを指すプログラムカウンタ(PC1)、2は、同プ
ログラムカウンタ1の内容の待避領域(PC2)、3
は、プログラムカウンタ1の内容とプログラムカウンタ
内容待避領域2の内容の一致・不一致を検出して、一致
検出信号を出力する第1比較器、4は、第1比較器3よ
りの任意の一致検出信号出力から次の一致検出信号出力
までの命令実行ステップ数を計数する第1カウンタであ
る。該第1カウンタ4よりのオーバーフロー信号に基づ
いて、上記プログラムカウンタ1からプログラムカウン
タ内容待避領域2へのアドレス転送動作が実行される。
5は、マイクロコンピュータの時間基準となるクロック
を発生する発振器(OSC)、6は、発振器5より出力
されるクロックを分周してシステムクロックを作成・出
力する分周器である。該分周器6よりのシステムクロッ
クに基づいて、上記プログラムカウンタ1のカウントア
ップが行われると共に、上記第1カウンタ4のカウント
アップが実行される。7は、上記第1カウンタ4の内容
の待避用レジスタ、8は、上記第1比較器3より一致検
出信号が出力された時点に於ける、第1カウンタ4の内
容と、第1カウンタ内容待避用レジスタ7の内容の一致
・不一致を検出を検出し、一致検出信号又は不一致検出
信号を出力する第2比較器、9は、該第2比較器8より
の一致検出信号を計数する第2カウンタである。第2比
較器8よりの一致検出信号に基づいて上記第2カウンタ
9のカウントアップと共に上記第1カウンタ4のリセッ
トが実行される。一方、第2比較器8よりの不一致検出
信号に基づいて、上記第2カウンタ9のプリセット(初
期値設定)が実行されると共に、上記第1カウンタ4か
ら第1カウンタ内容待避用レジスタ7への転送動作と第
1カウンタ4のリセットが実行される。また、上記第1
カウンタ4よりのオーバーフロー信号に基づいて、上述
の、プログラムカウンタ1からプログラムカウンタ内容
待避領域2への転送動作と共に、上記第2カウンタ9の
プリセットが実行される。上記第2カウンタ9からのオ
ーバーフロー信号が暴走検出信号となる。
【0019】以上の構成により、プログラムの同一アド
レスを、同一時間間隔で所定回数実行すると、第2カウ
ンタ9のオーバーフローが生じて、プログラムの暴走を
検出することができるものである。
【0020】本実施形態によれば、マイクロコンピュー
タのシステムクロックに基づいて、第1カウンタ4のカ
ウント動作が制御されるため、上記第一の実施形態と比
較して、より正確な時間間隔の測定が可能となるもので
ある。
【0021】
【発明の効果】以上詳細に説明したように、本発明によ
れば、比較的小規模な回路により、マイクロコンピュー
タのプログラムが同じ箇所を繰り返し実行している暴走
状態となった場合に、その実行箇所にかかわらず、暴走
状態を認識し、プログラムを正常な処理に戻すことがで
きる極めて有用な暴走検出方式を提供することが可能と
なるものである。また、従来技術であるウォッチドッグ
と併用することにより、暴走検出の確実性を増すことも
可能であり、より安全性の高いマイコンシステムを実現
することができる。
【0022】なお、特開平3−292545号公報に於
いて、プログラム実行中に上位アドレスが規定時間以上
変わらない場合に無限ループと判断する方式が開示され
ている。しかし、この方式では、例えば、次のような条
件で無限ループが発生したときに、その検出ができない
(例として、プログラムカウンタが12ビットで、上位
4ビットを暴走検出用として、比較するとする)。
【0023】(例1)アドレスが、5F0Hと610H
の間で暴走した場合、すなわち、上位アドレスが変わる
境目を挟んで無限ループとなった場合。
【0024】(例2)アドレスが7xxHで暴走した
が、その中で、アドレスが3xxHにあるサブルーチン
を呼んでいる場合。
【0025】このような事例は、よく起こることであ
り、したがって、該公開公報の検出方式は不十分である
といえる。
【0026】これに対して、本発明に於いては、プログ
ラムのあるアドレスが等時間間隔で繰り返し実行された
ときに無限ループと判断するため、上記の例1、例2の
場合でも暴走を検出でき、またプログラムに負担をかけ
ない方式となっているものである。
【図面の簡単な説明】
【図1】本発明の第一の実施形態のブロック構成図であ
る。
【図2】同実施形態における処理の流れを示す流れ図で
ある。
【図3】本発明の第二の実施形態のブロック構成図であ
る。
【図4】一般的なウォッチドッグタイマの構成例を示す
図である。
【符号の説明】
1 プログラムカウンタ 2 プログラムカウンタ内容待避領域 3 第1比較器 4 第1カウンタ 5 発振器 6 分周器 7 第1カウンタ内容待避用レジスタ 8 第2比較器 9 第2カウンタ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 プログラムにより制御されるマイクロコ
    ンピュータに於いて、 上記プログラムの同一アドレスを、同一時間間隔で所定
    回数繰り返し実行したことを検出して、暴走検出を行う
    構成としたことを特徴とする、マイクロコンピュータの
    暴走検出方法。
  2. 【請求項2】 プログラムカウンタ内容の待避手段、上
    記プログラムカウンタの内容と上記プログラムカウンタ
    内容待避手段の内容の一致・不一致を検出して一致検出
    信号を出力する第1の比較手段、該第1の比較手段より
    出力される任意の一致検出信号から次の一致検出信号ま
    での経過時間を計測するタイマ手段、該タイマ手段の計
    時内容の待避手段、上記第1の比較手段よりの一致検出
    信号に基づいて、上記タイマ手段の計時内容と上記タイ
    マ計時内容待避手段の内容との一致・不一致を検出し、
    一致検出信号または不一致検出信号を出力する第2の比
    較手段、該第2の比較手段よりの一致検出信号を計数す
    る計数手段、上記第2の比較手段よりの一致検出信号に
    応じて上記タイマ手段をリセットする手段、上記第2の
    比較手段よりの不一致検出信号に応じて、上記タイマ手
    段の計時内容の上記タイマ計時内容待避手段への待避及
    び上記タイマ手段のリセットを実行すると共に、上記計
    数手段のプリセットを実行する初期化手段を備え、上記
    計数手段よりのオーバーフロー信号を暴走検出信号とす
    ることを特徴とする、請求項1に記載のマイクロコンピ
    ュータの暴走検出方法。
  3. 【請求項3】 プログラムカウンタ内容の待避手段、上
    記プログラムカウンタの内容と上記プログラムカウンタ
    内容待避手段の内容の一致・不一致を検出して一致検出
    信号を出力する第1の比較手段、該第1の比較手段より
    出力される任意の一致検出信号から次の一致検出信号ま
    での命令実行ステップ数を計数する第1の計数手段、該
    第1の計数手段の計数内容の待避手段、上記第1の比較
    手段よりの一致検出信号に基づいて、上記第1の計数手
    段の計数内容と上記計数内容待避手段の内容との一致・
    不一致を検出し、一致検出信号または不一致検出信号を
    出力する第2の比較手段、該第2の比較手段よりの一致
    検出信号を計数する第2の計数手段、上記第2の比較手
    段よりの一致検出信号に応じて上記第1の計数手段をリ
    セットする手段、上記第2の比較手段よりの不一致検出
    信号に応じて、上記第1の計数手段の計数内容の上記計
    数内容待避手段への待避及び上記第1の計数手段のリセ
    ットを実行すると共に、上記第2の計数手段のプリセッ
    トを実行する初期化手段を備え、上記第2の計数手段よ
    りのオーバーフロー信号を暴走検出信号とすることを特
    徴とする、請求項1に記載のマイクロコンピュータの暴
    走検出方法。
JP31577596A 1996-11-27 1996-11-27 マイクロコンピュータの暴走検出方法 Expired - Fee Related JP3145937B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31577596A JP3145937B2 (ja) 1996-11-27 1996-11-27 マイクロコンピュータの暴走検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31577596A JP3145937B2 (ja) 1996-11-27 1996-11-27 マイクロコンピュータの暴走検出方法

Publications (2)

Publication Number Publication Date
JPH10161908A true JPH10161908A (ja) 1998-06-19
JP3145937B2 JP3145937B2 (ja) 2001-03-12

Family

ID=18069407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31577596A Expired - Fee Related JP3145937B2 (ja) 1996-11-27 1996-11-27 マイクロコンピュータの暴走検出方法

Country Status (1)

Country Link
JP (1) JP3145937B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010055562A1 (ja) * 2008-11-13 2010-05-20 富士通マイクロエレクトロニクス株式会社 マイクロコンピュータ
JP2012137877A (ja) * 2010-12-24 2012-07-19 Toshiba Corp 二次電池装置、プロセッサ、監視プログラム、および、車両

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010055562A1 (ja) * 2008-11-13 2010-05-20 富士通マイクロエレクトロニクス株式会社 マイクロコンピュータ
JP5115628B2 (ja) * 2008-11-13 2013-01-09 富士通セミコンダクター株式会社 マイクロコンピュータ
US8522081B2 (en) 2008-11-13 2013-08-27 Fujitsu Semiconductor Limited Microcomputer outputting failure detection result
JP2012137877A (ja) * 2010-12-24 2012-07-19 Toshiba Corp 二次電池装置、プロセッサ、監視プログラム、および、車両

Also Published As

Publication number Publication date
JP3145937B2 (ja) 2001-03-12

Similar Documents

Publication Publication Date Title
JPH02202642A (ja) プログラム動作監視装置
US6321289B1 (en) Apparatus for automatically notifying operating system level applications of the occurrence of system management events
JP2001318807A (ja) タスク切り替え制御方法及び装置
US6463492B1 (en) Technique to automatically notify an operating system level application of a system management event
JP3145937B2 (ja) マイクロコンピュータの暴走検出方法
US5500809A (en) Microcomputer system provided with mechanism for controlling operation of program
JPH09114541A (ja) 割り込み発生時刻確認回路、処理装置
JP2516711B2 (ja) ウォッチドッグタイマ装置
JPH09237205A (ja) プログラム暴走検出装置
JP2557785Y2 (ja) シングルチップマイクロコンピュータ
KR19980013834A (ko) 마이크로 프로세서의 프로그램 수행 시간 검출 회로
JPH0226245B2 (ja)
JPH01251142A (ja) プログラムトレース方式
JPH09113556A (ja) パルス計測回路及びその計測方法
JPH11102298A (ja) タイマ制御方法、その回路、およびそのプログラム記録 媒体
JPH0498540A (ja) プロセッサ負荷監視方式
JPH0365739A (ja) 制御装置
JPH0451332A (ja) プロセス/タスク実行時間測定回路
JPH04195638A (ja) 半導体集積回路
JPH07260845A (ja) パルス周期計測回路
JPH04192037A (ja) 半導体集積回路
JPH0573361A (ja) マイクロコンピユータ
JPS6120139A (ja) 割込み制御方式
JPH10161887A (ja) 割込み信号同期化方法及び割込み信号同期化装置
JPH08292900A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080105

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090105

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees