JPH10275097A - データ処理システムの暴走検出方法 - Google Patents
データ処理システムの暴走検出方法Info
- Publication number
- JPH10275097A JPH10275097A JP9079953A JP7995397A JPH10275097A JP H10275097 A JPH10275097 A JP H10275097A JP 9079953 A JP9079953 A JP 9079953A JP 7995397 A JP7995397 A JP 7995397A JP H10275097 A JPH10275097 A JP H10275097A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- watchdog timer
- interrupt
- reset
- program
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
が非常に困難である。また、プログラムのモジュール化
が困難である。 【解決手段】 処理手段101が処理プログラム201
の第1の処理を実行している期間は、ウォッチドッグタ
イマ121のみが動作する。処理手段101が処理プロ
グラム202の割り込み処理I1を実行している期間は
ウォッチドッグタイマ122のみが動作する。第1の処
理の実行中に暴走が発生し、第1の処理の実行時間が異
常に長くなった場合は、ウォッチドッグタイマ121へ
のリセットが行われないので、ウォッチドッグタイマ1
21のオーバーフローが発生し、ウォッチドッグタイマ
121から暴走検出信号がオアゲート131を通して出
力される。また、割り込み処理I1の実行期間中に暴走
が発生した場合は、ウォッチドッグタイマ122から暴
走検出信号がオアゲート131を通して出力される。
Description
の暴走検出方法に係り、特にコンピュータを用いたデー
タ処理システムの暴走検出方法に関する。
ムにおける暴走検出方法の一つとして、従来よりウォッ
チドッグ・タイマを用いる方法が知られている(特開昭
62−175840号公報)。図7はこの従来のデータ
処理システムの暴走検出方法の一例の構成図を示す。ま
た、図8は、図7中の手段701で処理される処理プロ
グラム750のより詳細に記述した例を示す。
理プログラム750及びそれを処理する処理手段701
と、処理手段701による処理プログラム750の稼働
中でリセットされるウォッチドッグ・タイマ711と、
ウォッチドッグ・タイマ711のオーバーフローにより
発生される暴走検出信号721より構成されている。
示す処理プログラムに相当し、初期処理(ステップ80
1)、第1の処理(ステップ802)を順次に実行した
後ウォッチドッグタイマをリセットし(ステップ80
3)、第2の処理をn回ループした後(ステップ80
4)、ウォッチドッグタイマをリセットし(ステップ8
05)、再びステップ802に戻って第1の処理を実行
することを繰り返す。なお、ステップ803とステップ
805は同一のウォッチドッグタイマのリセットであ
り、以下の説明を進める上で便宜上異なるステップで示
してある。
1がオーバーフローするまでの時間をT、図8のステッ
プ802における第1の処理の処理時間をTa、ステッ
プ804の第2の処理の処理時間をTbとすると、Ta
<T、かつ、n×Tb<Tとなるように、ステップ80
2及び804のウォッチドッグタイマリセットの位置が
設定される。
トが設定された処理手段701においては、正常動作時
はウォッチドッグタイマ711にオーバーフローが発生
することはなく、従って暴走検出信号721も発生しな
い。
により、第1の処理及び第2の処理のいずれかが途中で
停止してしまったり、第2の処理の処理回数がn回を越
えて異常に長くなってしまうような予期しない長い処理
時間が発生し、ウォッチドッグタイマ711のリセット
が時間Tを越えて行われないと、ウォッチドッグタイマ
711がオーバーフローし、暴走検出信号721が発生
する。以上の図7の従来の構成により、暴走検出ができ
る。
いては、サブルーチンや割り込み処理の使用による処理
の多重化、並びに処理項目を一つの固まりとし、極力、
他の処理プログラムと分離するプログラムのモジュール
化が一般的になっている。これらは、優先順位の高い処
理を設けることで処理の即時性を向上するためや、プロ
グラムの再利用性、開発効率化を進めるために用いられ
る一般的な方法であるが、近年、プログラムサイズは増
加の一途を辿っており、小型のマイクロコンピュータに
おいてさえ、全体で数万ステップものプログラムサイズ
を持つものが珍しくない。このため、長大なプログラム
中での即時性の確保、並びにプログラムの開発効率化の
ためには、これらの手法は必須となりつつある。
ラムのモジュール化を行った場合にウォッチドッグタイ
マのリセットをどの程度の頻度でどのようにプログラム
中に入れるかということは、非常に難しい問題であり、
プログラムのモジュール化を進める上で大きな問題とな
っている。
処理される処理プログラム750の詳細の異なる例を示
したものである。図9において、図8と同一処理は同一
符号を付してある。図9に示す処理プログラム752
は、前記図7の処理プログラム750に相当し、初期処
理(ステップ801)、第1の処理(ステップ802)
を順次に実行した後ウォッチドッグタイマをリセットし
(ステップ803)、第2の処理をn回ループした後
(ステップ804)、ウォッチドッグタイマをリセット
し(ステップ805)、再びステップ802に戻って第
1の処理を実行することを繰り返す。
であるが、この処理プログラム752では更に第1の処
理の処理期間中に、割り込み処理I1を処理し(ステッ
プ806)、第2の処理の処理期間中に割り込み処理I
2を処理する(ステップ807)。割り込み処理I1及
びI2は即時性が要求される処理であり、定期的に発生
する処理である。図8の処理プログラム751と図9の
処理プログラム752との相違点は、図9の処理プログ
ラム752においては、これらの割り込み処理による多
重化が考慮されていることにある。
1がオーバーフローするまでの時間をT、図9における
第1の処理の処理時間をTa、割り込み処理I1の処理
時間をTi1、第2の処理の処理時間をTb、割り込み
処理I2の処理時間をTi2とすると、Ta+Ti1<
T かつ n×(Tb+Ti2)<Tとなるよう
に、ステップ803のウォッチドッグタイマのリセット
位置と、ステップ805のウォッチドッグタイマのリセ
ット位置とが設定される。
される。しかしながら、割り込み処理I1並びにI2が
不定期に発生する場合には、図9のような処理プログラ
ム752の構成は使用できない。これは、例えばステッ
プ802の第1の処理の期間中に複数の割り込み処理I
1やI2が発生すると、ウォッチドッグタイマのリセッ
トの間隔が、 Ta+n1×Ti1+n2×Ti2>T (n1は割り込み処理I1の発生回数、n2は割り込み
処理I2の発生回数)となり、処理は正常に行われてい
るにもかかわらず、これらの割り込み処理期間中にウォ
ッチドッグタイマ711がオーバーフローしてしまう可
能性があるからである。
間T及びステップ803及び805のウォッチドッグタ
イマのリセットの位置は、このような可能性も考慮して
設定されるべきであるが、今日のデータ処理システム、
特にマイクロコンピュータにおいては、周辺機能が多数
付いており、割り込み要因も10を越えることが少なく
なく、また、その処理時間も数十マイクロ秒から数ミリ
秒と多岐にわたっており、このようなオーバーフローの
可能性を排除した時間Tやウォッチドッグタイマのリセ
ットの設定は極めて困難である。
に発生する場合でも、これらの処理の処理時間がプログ
ラムの修正などにより延びたりすると、ステップ803
及び805のウォッチドッグタイマのリセットの位置を
Ta+Ti1<T かつ n×(Tb+Ti2)<
Tを満足するように修正する必要があるため、プログラ
ムのモジュール化が困難であった。
処理手段701で処理される処理プログラム750の第
3の例を示す。図10中、図9と同一処理には同一符号
を付してある。図10に示す処理プログラム753は、
前記図7の処理プログラム750に相当し、初期処理
(ステップ801)、第1の処理(ステップ802)を
順次に実行した後ウォッチドッグタイマをリセットし
(ステップ803)、第2の処理をn回ループした後
(ステップ804)、ウォッチドッグタイマをリセット
し(ステップ805)、再びステップ802に戻って第
1の処理を実行することを繰り返す。
であるが、この処理プログラム753では更に第1の処
理の処理期間中に、ウォッチドッグタイマをリセットし
た後(ステップ808)、割り込み処理I1を実行し
(ステップ809)、また、第2の処理の処理期間中
に、ウォッチドッグタイマをリセットした後(ステップ
810)、割り込み処理I2を処理する(ステップ81
1)。割り込み処理I1及びI2は即時性が要求される
処理であり、定期的に発生する処理である。
1がオーバーフローするまでの時間をT、図10におけ
る第1の処理の処理時間をTa、割り込み処理I1の処
理時間をTi1、第2の処理の処理時間をTb、割り込
み処理I2の処理時間をTi2とすると、Ta+Ti1
<T かつ n×(Tb+Ti2)<Tとなるよう
に、ステップ803のウォッチドッグタイマのリセット
位置と、ステップ805のウォッチドッグタイマのリセ
ット位置とが設定される。
暴走が検出される。また、この図10の例では割り込み
処理I1、I2中の先頭においても、ステップ808、
810でウォッチドッグタイマのリセットを行うこと
で、図9の処理プログラム752において問題となって
いた割り込み処理が複数発生したときに、ウォッチドッ
グタイマ711がオーバーフローするという問題を解決
できるよう構成されている。
0を図10に示した処理プログラム753の構成とした
場合、第2の処理のn回のループにおいてループ回数の
暴走が発生しても、ウォッチドッグタイマ711は、割
り込み処理I2中で毎回リセットされるため、そのよう
な暴走が検出できないという新しい問題が発生する。
する、多重処理に注目した暴走検出方法として、特開昭
62−175840号公報記載のものが知られている。
図11はこの公報記載の従来の暴走検出方法の一例の概
念図を示す。図11において、マルチレベル構造の処理
プログラム901は、最高レベルの処理プログラムA、
次レベルの処理プログラムB及び最低レベルの処理プロ
グラムCとこれら各処理プログラムA、B及びCの実行
後に実行されるリセットプログラムa、b及びcから構
成されている。更に、この従来方法においては、最高レ
ベルの処理プログラムAを所定周期で起動するタイマ9
02、リセットプログラムa、b及びcによってリセッ
トされるウォッチドッグタイマ903a、903b及び
903c、オアゲート904及び障害発生検出回路90
5を用いる。
ルの処理プログラムAを起動する。処理プログラムAが
終了すると、リセットプログラムaによりウォッチドッ
グタイマ903aがリセットされた後、次レベルの処理
プログラムBの実行が開始される。処理プログラムBの
実行が終了すると、リセットプログラムbによりウォッ
チドッグタイマ903bがリセットされた後最低レベル
の処理プログラムCの実行が開始される。処理プログラ
ムCが終了すると、リセットプログラムcによりウォッ
チドッグタイマ903cがリセットされた後処理装置は
アイドル状態に移行する。この後、タイマ902からの
周期Tの信号により再度、処理プログラムAからの処理
を繰り返す。
了がタイマ902からの処理プログラムAの再起動に間
に合わなかった場合は、その時点でプログラムB、Cの
処理を中断して状態を退避し、上位レベルのプログラム
の処理を行った後、退避時のレベルに再度達した時点
で、以前の処理を再開するよう構成されている。
チドッグタイマ903aのオーバーフローするまでの時
間の設定は、ウォッチドッグタイマ903aをリセット
する処理プログラムAが周期Tで常に起動されることか
ら負荷変動に基づく実行時間のばらつきを考慮して例え
ば1.5T程度の値に設定されるとされている。また、
ウォッチドッグタイマ903b及び903cのオーバー
フローするまでの時間は、処理プログラムBとCのレベ
ルと負荷変動に基づくリセット間隔のばらつきを考慮し
て、例えばそれぞれ3T、6T程度の値に設定されると
されている。
のいずれかにオーバーフローが発生すると、オアゲート
904を経て障害発生検出回路905に通知され、障害
発生検出信号が出力され、警報の発生や予備装置への切
り換えが行われる。
〜図10と共に説明した従来の暴走検出方法では、プロ
グラムの多重化に対応することが非常に困難である。ま
た、図11に示した従来の暴走検出方法では、どの程度
の負荷変動が発生するかを適切に見込むことは図7と図
9の従来方法の説明にて前述した通り非常に難しい。
暴走検出方法では、プログラムのモジュール化が困難で
ある。図11に示した従来の暴走検出方法でも、プログ
ラムの修正などにより上位レベルの処理プログラムの処
理時間が延びた場合、下位レベルの処理プログラムのウ
ォッチドッグタイマのリセット位置がずれるため、下位
レベルの処理プログラムも同時に修正するか、下位レベ
ルの処理プログラムに対応したウォッチドッグタイマの
オーバーフロー時間を修正せねばならず、プログラムを
モジュール化することが困難である。
れも処理するプログラムが時分割で多重化されているに
もかかわらず、各処理プログラムに対応したウォッチド
ッグタイマは動作が時分割では多重化されていないた
め、処理するプログラムとの間で動作の同期がとれない
ためである。
プログラムの多重化を行うに好適であり、その結果多重
処理を有するプログラムの開発を容易とするデータ処理
システムの暴走検出方法を提供することを目的とする。
モジュール化を行うに好適であり、その結果プログラム
の資源化を図り、再利用性を高め得るデータ処理システ
ムの暴走検出方法を提供することにある。
成するため、複数の処理プログラムをレベルに応じた優
先順位のもとに実行するデータ処理システムの暴走発生
を検出する暴走検出方法において、複数の処理プログラ
ムのそれぞれに個別に対応する複数のウォッチドッグタ
イマを配置し、これら複数のウォッチドッグタイマは対
応する処理プログラム内でのみリセット可能であり、複
数のウォッチドッグタイマへのクロックの供給はその時
処理されている処理プログラムに対応したウォッチドッ
グタイマのみに行い、これら複数のウォッチドッグタイ
マのオーバーフローに基づきデータ処理システムの暴走
発生を検出するようにしたものである。
ッチドッグタイマの動作は、その時処理されている処理
プログラムに対応して時分割的、排他的である。すなわ
ち、処理するプログラムは時分割で多重化されているの
に対応して、各処理プログラムに対応したウォッチドッ
グタイマも時分割で多重化されているため、異なるレベ
ルにおけるウォッチドッグタイマの動作を考慮しなくて
もよい。従って、割り込み処理の処理時間と割り込み前
に処理していた処理プログラムに対応するウォッチドッ
グタイマとの間には時間関係が存在しないため、従来の
暴走検出方法で問題となっていた「不定期に発生する割
り込み処理によるウォッチドッグタイマのオーバーフロ
ーの発生」を解決できる。
の処理プログラムにサイズの変更が発生した時に、他の
プログラムにおいてウォッチドッグタイマのリセットの
位置を変更する必要」が解決される。
各処理プログラムの処理期間中に、定期的若しくは不定
期的に発生する第1の割り込み要求に基づいて第1の割
り込み処理が行われた時は、複数のウォッチドッグタイ
マとは異なる第1の割り込み処理用のウォッチドッグタ
イマに対してのみクロックの供給を行い、割り込み処理
終了時に第1の割り込み処理用のウォッチドッグタイマ
に対してリセット信号を供給すると共に、第1の割り込
み要求直前に処理していた処理プログラムの処理を再開
し、かつ、その再開した処理プログラムに対応したウォ
ッチドッグタイマのみにクロックを切替供給し、第1の
割り込み処理用のウォッチドッグタイマのオーバーフロ
ーに基づきデータ処理システムの暴走発生を検出するよ
うにしたものである。
なく、第1の割り込み要求についても第1の割り込み処
理用のウォッチドッグタイマのオーバーフローに基づき
データ処理システムの暴走発生を検出でき、各処理プロ
グラム内でウォッチドッグタイマのリセットを設定する
時に、割り込み処理などによる多重化の影響を考慮しな
くともよい。
中に、定期的若しくは不定期的に発生する更に即時性が
要求される第2の割り込み要求に基づいて第2の割り込
み処理が行われた時は、第2の割り込み処理用のウォッ
チドッグタイマに対してのみクロックの供給を行い、割
り込み処理終了時に第2の割り込み処理用のウォッチド
ッグタイマに対してリセット信号を供給すると共に、第
2の割り込み要求直前に処理していた第1の割り込み処
理の処理を再開し、かつ、その再開した第1の割り込み
処理に対応したウォッチドッグタイマのみにクロックを
切替供給し、第2の割り込み処理用のウォッチドッグタ
イマのオーバーフローに基づきデータ処理システムの暴
走発生を検出することを特徴とする。
更に優先度の高い第2の割り込み要求についても第2の
割り込み処理用のウォッチドッグタイマのオーバーフロ
ーに基づきデータ処理システムの暴走発生を検出でき、
各処理プログラム内でウォッチドッグタイマのリセット
を設定する時に、割り込み処理などによる多重化の影響
を考慮しなくともよい。
ットの位置は、対応する処理プログラムの総処理時間よ
りも長い値に設定されている。
て図面と共に説明する。図1は本発明になる暴走検出方
法の第1の実施の形態の構成図を示す。この第1の実施
の形態は、処理プログラム201と処理プログラム20
2を処理すると共に、処理プログラム201から処理プ
ログラム202が起動された時、及び処理プログラム2
02が終了して処理プログラム201に復帰する時にそ
の時処理しているプログラムの状態を示す信号INT、
RETIを生成する処理手段101と、処理手段101
から出力されるINT信号及びRETI信号に基づい
て、リセット信号及びクロックを発生するリセット・ク
ロック切替回路111と、第1のウォッチドッグタイマ
121及び第2のウォッチドッグタイマ122と、オア
ゲート131とから構成されている。
理手段101から出力されるINT信号及びRETI信
号に基づいて、処理手段101が処理プログラム201
を処理している時はウォッチドッグタイマ121にのみ
リセット信号とクロックを供給し、処理手段101が処
理プログラム202を処理している時はウォッチドッグ
タイマ122にのみリセット信号とクロックを供給す
る。オアゲート131は、ウォッチドッグタイマ121
から出力されるオーバーフロー信号と、ウォッチドッグ
タイマ122から出力されるオーバーフロー信号との論
理和をとり、暴走検出信号を生成する。
る処理プログラム201と202をより詳細に示す図で
ある。図2において、第1のレベルの処理プログラム2
01は、初期処理、第1の処理、第1のウォッチドッグ
タイマリセット、n回の第2の処理、第2のウォッチド
ッグタイマリセットを順次に実行した後(ステップ21
1〜215)、第1の処理に戻り、以後ステップ211
〜215の処理を繰り返す。第2のレベルの処理プログ
ラム202は、第1の処理の処理期間中に割り込み処理
I1とウォッチドッグタイマリセットし(ステップ22
1、222)、また第2の処理の処理期間中に割り込み
処理I2とウォッチドッグタイマリセットする(ステッ
プ223、224)。割り込み処理I1及びI2は、即
時性が要求される処理であり、定期的若しくは不定期に
発生する処理である。
1がオーバーフローするまでの時間をT121、図2に
おける第1の処理の処理時間をTa、第2の処理の処理
時間をTbとすると、Ta<T121 かつ n×Tb
<T121となるように、図2のステップ213及びス
テップ215のウォッチドッグタイマのリセットの位置
が設定される。
マ122がオーバーフローするまでの時間をT122、
割り込み処理I1の処理時間をTi1、割り込み処理I
2の処理時間をTi2とすると、Ti1<T122 か
つ Ti2<T122となるように、図2のステップ2
22及びステップ224の各割り込み処理のウォッチド
ッグタイマのリセットの位置が設定される。
1の実施の形態の動作について説明する。図1の処理手
段101は、まず、図2中の第1のレベルの処理プログ
ラム201の初期処理を実行する(ステップ211)。
この初期処理においてウォッチドッグタイマ121及び
122は動作状態に入ると共にリセットされる。その
後、第1の処理を開始する(ステップ212)。このと
き、処理手段101が第1の処理を実行している期間
は、ウォッチドッグタイマ121のみにクロックが供給
され、ウォッチドッグタイマ122にはクロックは供給
されない。
段101は第1の処理の実行を中断し、割り込み処理I
1を開始すると共に(ステップ221)、リセット・ク
ロック切替回路111に対しINT信号を発生する。リ
セット・クロック切替回路111は、INT信号により
ウォッチドッグタイマ121へのクロックの供給を停止
し、代わりにウォッチドッグタイマ122へクロックの
供給を開始する。割り込み処理I1が終了すると、ウォ
ッチドッグタイマ122のリセットが行われるが(ステ
ップ222)、このリセットのためのリセット信号はリ
セット・クロック切替回路111によりウォッチドッグ
タイマ122にのみ供給される。
開する共に、リセット・クロック切替回路111に対し
RETI信号を発生する。リセット・クロック切替回路
111によりウォッチドッグタイマ121へのクロック
供給を再開すると共に、ウォッチドッグタイマ122へ
のクロック供給を停止する。第1の処理の処理が終了す
ると、ウォッチドッグタイマのリセットが行われる(ス
テップ213)が、リセット・クロック切替回路111
により、このリセットのためのリセット信号はウォッチ
ドッグタイマ121のみに供給される。
開始する(ステップ214)。このとき、処理手段10
1がn回のループ処理の第2の処理を実行している期間
は、ウォッチドッグタイマ121のみにクロックが供給
され、ウォッチドッグタイマ122にはクロックは供給
されない。
段101は第2の処理の実行を中断し、割り込み処理I
2を開始すると共に(ステップ223)、リセット・ク
ロック切替回路111に対しINT信号を発生する。リ
セット・クロック切替回路111は、INT信号により
ウォッチドッグタイマ121へのクロックの供給を停止
し、代わりにウォッチドッグタイマ122へクロックの
供給を開始する。割り込み処理I2が終了すると、ウォ
ッチドッグタイマ122のリセットが行われるが(ステ
ップ224)、このリセットのためのリセット信号はリ
セット・クロック切替回路111によりウォッチドッグ
タイマ122にのみ供給される。
開する共に、リセット・クロック切替回路111に対し
RETI信号を発生する。リセット・クロック切替回路
111によりウォッチドッグタイマ121へのクロック
供給を再開すると共に、ウォッチドッグタイマ122へ
のクロック供給を停止する。第2の処理の処理が終了す
ると、ウォッチドッグタイマのリセットが行われる(ス
テップ215)が、リセット・クロック切替回路111
により、このリセットのためのリセット信号はウォッチ
ドッグタイマ121のみに供給される。
処理を実行している期間は、ウォッチドッグタイマ12
1のみが動作し、ウォッチドッグタイマのリセットはウ
ォッチドッグタイマ121のみが対象となり、処理手段
101が割り込み処理I1を実行している期間はウォッ
チドッグタイマ122のみが動作し、ウォッチドッグタ
イマのリセットはウォッチドッグタイマ122のみが対
象となることが理解される。
グタイマ121のオーバーフロー時間T121、及び割
り込み処理I1の処理時間Ti1とウォッチドッグタイ
マ122のオーバーフロー時間T122は、それぞれ Ta<T121、 Ti1<T122 となるように設定されているので、正常な動作時にはウ
ォッチドッグタイマ121及び122は必ずオーバーフ
ローが発生する前にリセットされるので、暴走検出信号
は発生しない。
し、第1の処理の実行時間が異常に長くなった場合は、
ウォッチドッグタイマ121へのリセットが行われない
ので、ウォッチドッグタイマ121のオーバーフローが
発生し、ウォッチドッグタイマ121から暴走検出信号
がオアゲート131を通して出力される。また、割り込
み処理I1の実行期間中に暴走が発生し、割り込み処理
I1の処理時間が異常に長くなった場合はウォッチドッ
グタイマ122へのリセットが行われないので、ウォッ
チドッグタイマ122のオーバーフローが発生し、ウォ
ッチドッグタイマ122から暴走検出信号がオアゲート
131を通して出力される。
正常な動作時にはウォッチドッグタイマ121及び12
2は必ずオーバーフローが発生する前にリセットされる
ので、暴走検出信号は発生しない。一方、割り込み処理
I2の処理時間が異常に長くなった場合はウォッチドッ
グタイマ122へのリセットが行われないので、ウォッ
チドッグタイマ122のオーバーフローが発生し、ウォ
ッチドッグタイマ122から暴走検出信号がオアゲート
131を通して出力される。
態によって、多重化された処理において暴走検出が可能
であることが理解される。
においては、第1の処理の修正が必要となり、第1の処
理の処理時間が増大した場合、プログラムの修正は第1
の処理の処理時間Taとウォッチドッグタイマ121の
オーバーフロー時間T121が Ta<T121 なる関係を満たすように第1の処理を修正することによ
り、他の処理を一切修正する必要がない。このことは、
第2の処理、割り込み処理I1及び割り込み処理I2に
ついても同様で、これら4つの処理は他の処理とは独立
に修正することができる。
路111の一例の回路図を示す。2入力オアゲート31
4、315の一方の入力端子には入力端子311、31
2を介してINT信号、RETI信号が入力され、他方
の入力端子には他方の出力端子が接続され、フリップフ
ロップを構成している。これにより、割り込み処理が発
生したとき図1の処理手段101からINT信号が出力
されて端子311を介してノアゲート314の一方の入
力端子に入力され、ノアゲート315から”1”の信号
が出力される。また、RETI信号が端子312を介し
てノアゲート315に入力されたときには、ノアゲート
315から”0”の信号が出力される。
初期処理中でウォッチドッグタイマの動作許可がなされ
た時点よりクロック発生回路321からクロックが発生
開始される。このクロックはアンドゲート317及び3
20にそれぞれ供給される。また、システム起動時及び
割り込み処理からの起動時には、図1の処理手段101
から発生されたRETI信号が端子312を介してノア
ゲート315に入力され、ノアゲート315から”0”
の信号が出力され、アンドゲート319及び320の各
一方の入力端子に入力され、これらをゲート「閉」状態
とする。
してアンドゲート317及び318の各一方の入力端子
に”1”の信号が入力されて、これらをゲート「開」状
態とする。一方、入力端子313には処理手段101か
らウォッチドッグタイマリセット信号が入力されてアン
ドゲート317及び319にそれぞれ供給される。
実行期間中は、クロック発生回路321からのクロック
はアンドゲート318を通してウォッチドッグタイマ1
21にのみ供給され、リセット信号はアンドゲート31
7を通してウォッチドッグタイマ121にのみ供給され
る。
1の処理手段101から発生されたINT信号が端子3
11を介してノアゲート314に入力され、ノアゲート
315から”1”の信号が出力され、アンドゲート31
9及び320の各一方の入力端子に入力され、これらを
ゲート「開」状態とする。また、これと同時にインバー
タ316を介してアンドゲート317及び318の各一
方の入力端子に”0”の信号が入力されて、これらをゲ
ート「閉」状態とする。これにより、割り込み処理の実
行期間中は、クロック発生回路321からのクロックは
アンドゲート320を通してウォッチドッグタイマ12
2にのみ供給され、リセット信号はアンドゲート319
を通してウォッチドッグタイマ122にのみ供給され
る。
説明する。図4は本発明になる暴走検出方法の第2の実
施の形態の構成図を示す。この第2の実施の形態は、処
理プログラム501と処理プログラム502と処理プロ
グラム503とを処理すると共に、その時処理している
プログラムの優先度を示す信号P1及びP2を生成する
処理手段401と、処理手段401から出力される優先
度を示す信号P1及びP2に基づいて、リセット信号及
びクロックを発生するリセット・クロック切替回路41
1と、第1のウォッチドッグタイマ421、第2のウォ
ッチドッグタイマ422及び第3のウォッチドッグタイ
マ423と、オアゲート431とから構成されている。
理手段401から出力される優先度を示す信号P1及び
P2に基づいて、処理手段401が処理プログラム50
1を処理している時はウォッチドッグタイマ421にの
みリセット信号とクロックを供給し、処理手段401が
処理プログラム502を処理している時はウォッチドッ
グタイマ422にのみリセット信号とクロックを供給
し、処理手段401が処理プログラム503を処理して
いる時はウォッチドッグタイマ423にのみリセット信
号とクロックを供給する。オアゲート431は、ウォッ
チドッグタイマ421、422及び423から出力され
るオーバーフロー信号の論理和をとり、暴走検出信号を
生成する。
る処理プログラム501、502及び503をより詳細
に示す図である。図5において、第1のレベルの処理プ
ログラム501は、初期処理、第1の処理、第1のウォ
ッチドッグタイマリセット、n回の第2の処理、第2の
ウォッチドッグタイマリセットを順次に実行した後(ス
テップ511〜515)、第1の処理に戻り、以後ステ
ップ511〜515の処理を繰り返す。
第1の処理の処理期間中に割り込み処理I1とウォッチ
ドッグタイマリセットする(ステップ521、52
2)。また、第3のレベルの処理プログラム503は、
割り込み処理I1の処理期間中に、割り込み処理I2と
ウォッチドッグタイマリセットし(ステップ531、5
32)、第2の処理の処理期間中に割り込み処理I3と
ウォッチドッグタイマリセットする(ステップ533、
534)。割り込み処理I1は、即時性が要求される処
理であり、定期的若しくは不定期に発生する処理であ
る。割り込み処理I2及びI3は、割り込み処理I1よ
りも更に即時性が要求される処理であり、定期的若しく
は不定期に発生する処理である。
1がオーバーフローするまでの時間をT421、図5に
おける第1の処理の処理時間をTa、第2の処理の処理
時間をTbとすると、Ta<T421 かつ n×Tb
<T421となるように、図5のステップ513及びス
テップ515のウォッチドッグタイマのリセットの位置
が設定される。
マ422、423がオーバーフローするまでの時間をT
422、T423、割り込み処理I1の処理時間をTi
1、割り込み処理I2の処理時間をTi2、割り込み処
理I3の処理時間をTi3とすると、 Ti1<T422、Ti2<T423、Ti3<T42
3 となるように、図4のステップ522、ステップ532
及びステップ534の各割り込み処理のウォッチドッグ
タイマのリセットの位置が設定される。
施の形態の違いは、図1の第1の実施の形態において
は、各ウォッチドッグタイマへのリセット・クロックの
切り換えを、処理手段101が処理を第1のレベルの処
理プログラム201から第2のレベルの処理プログラム
202へ移行するときに発生するINT信号と、第2の
レベルの処理プログラム202から第1のレベルの処理
プログラム201に復帰する時に発生するRETI信号
に基づいて行うのに対し、図4の実施の形態において
は、処理手段401がどのレベルの処理プログラムを処
理しているかを直接P1、P2信号として発生し、P
1、P2信号に基づいて切り換えを行う点にある。ま
た、図1の実施の形態においては処理が二重に多重化さ
れているのに対し、図4の実施の形態においては、処理
が三重に多重化されている点も異なる。
2の実施の形態の動作について説明する。図4の処理手
段401は、まず、図5中の第1のレベルの処理プログ
ラム501の初期処理を実行する(ステップ511)。
この初期処理においてウォッチドッグタイマ421〜4
23は動作状態に入ると共にリセットされる。その後、
第1の処理を開始する(ステップ512)。このとき、
処理手段401が第1の処理を実行している期間は、ウ
ォッチドッグタイマ421のみにクロックが供給され、
ウォッチドッグタイマ422及び423にはクロックは
供給されない。
段401は第1の処理の実行を中断し、割り込み処理I
1を開始すると共に(ステップ521)、リセット・ク
ロック切替回路411に対し信号P1及びP2を発生す
る。リセット・クロック切替回路411は、信号P1及
びP2によりウォッチドッグタイマ421へのクロック
の供給を停止し、代わりにウォッチドッグタイマ422
へクロックの供給を開始する。
優先度の高い割込要求が発生すると、処理手段401は
割り込み処理I1の処理を中断し、割り込み処理I2の
処理を開始する(ステップ531)。このとき、リセッ
ト・クロック切替回路411は、信号P1及びP2によ
りウォッチドッグタイマ422へのクロックの供給を停
止し、代わりにウォッチドッグタイマ423へクロック
の供給を開始する。
ドッグタイマ423のリセットが行われるが(ステップ
532)、このリセットのためのリセット信号はリセッ
ト・クロック切替回路411によりウォッチドッグタイ
マ423にのみ供給される。
1の処理を再開するが、この時リセット・クロック切替
回路411によりウォッチドッグタイマ422へのクロ
ック供給が再開されると共に、ウォッチドッグタイマ4
23へのクロック供給が停止される。その後、割り込み
処理I1の処理が終了すると、ウォッチドッグタイマの
リセットが行われるが(ステップ522)、リセット・
クロック切替回路411によりこのリセットはウォッチ
ドッグタイマ422のみに対して行われる。
行を再開するが、このときリセット・クロック切替回路
411によりウォッチドッグタイマ421へのクロック
供給が再開されると共に、ウォッチドッグタイマ422
へのクロックは供給が停止される。第1の処理の実行が
終了すると、ウォッチドッグタイマのリセットが行われ
る(ステップ513)。このリセットはリセット・クロ
ック切替回路411により、ウォッチドッグタイマ42
1のみに対して行われる。
開始する(ステップ514)。このとき、処理手段40
1がn回のループ処理の第2の処理を実行している期間
は、ウォッチドッグタイマ421のみにクロックが供給
され、ウォッチドッグタイマ422及び423にはクロ
ックは供給されない。
段401は第2の処理の実行を中断し、割り込み処理I
3を開始すると共に(ステップ533)、リセット・ク
ロック切替回路411に対し信号P1及びP2を出力す
る。リセット・クロック切替回路111は、これにより
ウォッチドッグタイマ421へのクロックの供給を停止
し、代わりにウォッチドッグタイマ423へクロックの
供給を開始する。割り込み処理I3が終了すると、ウォ
ッチドッグタイマ423のリセットが行われるが(ステ
ップ534)、このリセットのためのリセット信号はリ
セット・クロック切替回路411によりウォッチドッグ
タイマ423にのみ供給される。
開する共に、リセット・クロック切替回路411に対し
信号P1、P2を発生する。リセット・クロック切替回
路411はウォッチドッグタイマ421へのクロック供
給を再開すると共に、ウォッチドッグタイマ423への
クロック供給を停止する。第2の処理の処理が終了する
と、ウォッチドッグタイマのリセットが行われる(ステ
ップ515)が、リセット・クロック切替回路411に
より、このリセットのためのリセット信号はウォッチド
ッグタイマ421のみに供給される。
処理を実行している期間は、ウォッチドッグタイマ42
1のみが動作し、ウォッチドッグタイマのリセットはウ
ォッチドッグタイマ421のみが対象となり、処理手段
401が割り込み処理I1を実行している期間はウォッ
チドッグタイマ422のみが動作し、ウォッチドッグタ
イマのリセットはウォッチドッグタイマ422のみが対
象となることが理解される。また、処理手段401が割
り込み処理I2又はI3を実行している期間はウォッチ
ドッグタイマ423のみが動作し、ウォッチドッグタイ
マのリセットはウォッチドッグタイマ423のみが対象
となることが理解される。
ッチドッグタイマ421のオーバーフロー時間T421
及び割り込み処理I1、I2、I3の処理時間Ti1、
Ti2、Ti3とウォッチドッグタイマ422、423
のオーバーフロー時間T422、T423は前述の通り
Ta<T421、Ti1<T422、Ti2<T42
3、Ti3<T423となるように設定されているの
で、正常な動作時にはウォッチドッグタイマ421、4
22、423は必ずオーバーフローが発生する前にリセ
ットされ、暴走検出信号は発生しない。
し、第1の処理の実行時間が異常に長くなった場合は、
ウォッチドッグタイマ421へのリセットが行われない
ので、ウォッチドッグタイマ421のオーバーフローが
発生し、暴走検出信号が発生する。また、割り込み処理
I1の処理中に暴走が発生し、割り込み処理I1の実行
時間が異常に長くなった場合はウォッチドッグタイマ4
22へのリセットが行われないので、ウォッチドッグタ
イマ422のオーバーフローが発生し、暴走検出信号が
発生する。
に暴走が発生し、割り込み処理I2、I3の実行時間が
異常に長くなった場合は、ウォッチドッグタイマ423
へのリセットが行われないので、ウォッチドッグタイマ
423のオーバーフローが発生し、暴走検出信号が発生
する。
態によっても、多重化された処理において暴走検出が可
能であることが理解される。また、図4の第2の実施の
形態においても、多重処理を含むループが暴走しても暴
走検出が可能であることが理解される。
ては、第1の処理の修正が必要となり、第1の処理の処
理時間が増大した場合、プログラムの修正は第1の処理
の処理時間Taとウォッチドッグタイマ421のオーバ
ーフロー時間T421が Ta<T421 を満たされるように第1の処理を修正することにより、
他の処理を一切修正する必要がない。
1〜I3に関しても同様である。これらの処理は他の処
理とは全く独立に修正することが可能である。
路411の一例の回路図を示す。図6において、クロッ
ク発生回路624は、図5のステップ511の初期処理
中でウォッチドッグタイマの動作許可がなされた時点よ
り動作開始してクロックを発生して2入力アンドゲート
619、621及び623の各一方の入力端子に入力す
る。割り込み処理が発生した時、前記処理手段401は
その割り込み処理の優先度に従ってその割り込み処理の
処理期間中、図5のP1、P2信号を発生する。
テップ514の第2の処理の処理期間中は、P1=0、
P2=0であるので、図6の入力端子611よりの信号
P1がインバータ616を介して入力され、かつ、入力
端子612よりの信号P2がインバータ617を介して
入力されるアンドゲート614の出力信号が”1”とな
り、信号P1が直接に入力されるアンドゲート615の
出力信号が”0”となるので、アンドゲート614の出
力信号が入力されるアンドゲート618及び619がそ
れぞれゲート「開」状態となる。
力されるアンドゲート620及び621と、信号P2が
入力されるアンドゲート622及び623はいずれもゲ
ート「閉」状態となる。従って、第1の処理及び第2の
処理の処理期間中はアンドゲート618を通して入力端
子613よりのリセット信号がウォッチドッグタイマ4
21にのみ出力され、アンドゲート619を通してクロ
ック発生回路624よりのクロックがウォッチドッグタ
イマ421のみに出力される。
P1=1、P2=0であるので、アンドゲート615の
出力信号は”1”、アンドゲート614の出力信号は”
0”であり、アンドゲート620を通して入力端子61
3よりのリセット信号がウォッチドッグタイマ422に
のみ出力され、アンドゲート621を通してクロック発
生回路624よりのクロックがウォッチドッグタイマ4
22のみに出力される。
中は、P2=1であるので、アンドゲート614及び6
15の各出力信号はいずれも”0”であり、かつ、アン
ドゲート622及び623がそれぞれゲート「開」状態
となるので、アンドゲート622を通して入力端子61
3よりのリセット信号がウォッチドッグタイマ423に
のみ出力され、アンドゲート623を通してクロック発
生回路624よりのクロックがウォッチドッグタイマ4
23のみに出力される。
処理するプログラムは時分割で多重化されているのに対
応して、各処理プログラムに対応したウォッチドッグタ
イマも時分割で多重化されているため、異なるレベルに
おけるウォッチドッグタイマの動作を考慮しなくてもよ
いため、プログラムの多重化が容易にでき、その結果多
重処理を有するプログラムの開発を容易にできる。
内でウォッチドッグタイマのリセットを設定する時に、
割り込み処理などによる多重化の影響を考慮しなくとも
よいため、プログラムのモジュール化が容易にでき、そ
の結果プログラムの資源化を図り、再利用性を高めるこ
とができる。
をより詳細に示す図である。
回路図である。
をより詳細に示す図である。
回路図である。
ートである。
ートである。
ャートである。
る。
ッグタイマ 131、431 オアゲート 201、202、501〜503 処理プログラム
Claims (4)
- 【請求項1】 複数の処理プログラムをレベルに応じた
優先順位のもとに実行するデータ処理システムの暴走発
生を検出する暴走検出方法において、 前記複数の処理プログラムのそれぞれに個別に対応する
複数のウォッチドッグタイマを配置し、これら複数のウ
ォッチドッグタイマは対応する処理プログラム内でのみ
リセット可能であり、該複数のウォッチドッグタイマへ
のクロックの供給はその時処理されている処理プログラ
ムに対応したウォッチドッグタイマのみに行い、これら
複数のウォッチドッグタイマのオーバーフローに基づき
前記データ処理システムの暴走発生を検出することを特
徴とするデータ処理システムの暴走検出方法。 - 【請求項2】 前記複数の処理プログラムの各処理プロ
グラムの処理期間中に、定期的若しくは不定期的に発生
する第1の割り込み要求に基づいて第1の割り込み処理
が行われた時は、前記複数のウォッチドッグタイマとは
異なる第1の割り込み処理用のウォッチドッグタイマに
対してのみクロックの供給を行い、該割り込み処理終了
時に該第1の割り込み処理用のウォッチドッグタイマに
対してリセット信号を供給すると共に、前記第1の割り
込み要求直前に処理していた処理プログラムの処理を再
開し、かつ、その再開した処理プログラムに対応したウ
ォッチドッグタイマのみにクロックを切替供給し、前記
第1の割り込み処理用のウォッチドッグタイマのオーバ
ーフローに基づき前記データ処理システムの暴走発生を
検出することを特徴とする請求項1記載のデータ処理シ
ステムの暴走検出方法。 - 【請求項3】 前記第1の割り込み処理の処理中に、定
期的若しくは不定期的に発生する更に即時性が要求され
る第2の割り込み要求に基づいて第2の割り込み処理が
行われた時は、第2の割り込み処理用のウォッチドッグ
タイマに対してのみクロックの供給を行い、該割り込み
処理終了時に該第2の割り込み処理用のウォッチドッグ
タイマに対してリセット信号を供給すると共に、前記第
2の割り込み要求直前に処理していた前記第1の割り込
み処理の処理を再開し、かつ、その再開した第1の割り
込み処理に対応したウォッチドッグタイマのみにクロッ
クを切替供給し、前記第2の割り込み処理用のウォッチ
ドッグタイマのオーバーフローに基づき前記データ処理
システムの暴走発生を検出することを特徴とする請求項
2記載のデータ処理システムの暴走検出方法。 - 【請求項4】 前記複数のウォッチドッグタイマのリセ
ットの位置は、対応する処理プログラムの総処理時間よ
りも長い値に設定されていることを特徴とする請求項1
記載のデータ処理システムの暴走検出方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP09079953A JP3137025B2 (ja) | 1997-03-31 | 1997-03-31 | データ処理システムの暴走検出方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP09079953A JP3137025B2 (ja) | 1997-03-31 | 1997-03-31 | データ処理システムの暴走検出方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10275097A true JPH10275097A (ja) | 1998-10-13 |
| JP3137025B2 JP3137025B2 (ja) | 2001-02-19 |
Family
ID=13704685
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP09079953A Expired - Fee Related JP3137025B2 (ja) | 1997-03-31 | 1997-03-31 | データ処理システムの暴走検出方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3137025B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012022469A (ja) * | 2010-07-13 | 2012-02-02 | Toshiba Tec Corp | 電子機器およびその制御プログラム |
| US9436627B2 (en) | 2011-08-25 | 2016-09-06 | International Business Machines Corporation | Detection of abnormal operation caused by interrupt processing |
| JP2017045303A (ja) * | 2015-08-27 | 2017-03-02 | ファナック株式会社 | パソコン機能異常時の要因検出が可能な制御装置 |
-
1997
- 1997-03-31 JP JP09079953A patent/JP3137025B2/ja not_active Expired - Fee Related
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012022469A (ja) * | 2010-07-13 | 2012-02-02 | Toshiba Tec Corp | 電子機器およびその制御プログラム |
| US9436627B2 (en) | 2011-08-25 | 2016-09-06 | International Business Machines Corporation | Detection of abnormal operation caused by interrupt processing |
| DE112012002647B4 (de) | 2011-08-25 | 2019-05-09 | International Business Machines Corporation | Erkennen eines durch Interrupt-Verarbeitung verursachten anormalen Betriebs |
| JP2017045303A (ja) * | 2015-08-27 | 2017-03-02 | ファナック株式会社 | パソコン機能異常時の要因検出が可能な制御装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3137025B2 (ja) | 2001-02-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR950005217B1 (ko) | 프로세서 클럭 신호 제어 방법 및 정보 처리 시스템 | |
| JPH11224205A (ja) | プロセス制御システム | |
| WO2004021169A1 (en) | Reducing interrupt latency while polling | |
| RU2134446C1 (ru) | Способ управления перегрузкой сообщениями элементарной программы в мультипроцессорной управляющей системе (варианты) | |
| KR20030024619A (ko) | 클록 감시 장치 | |
| JP3137025B2 (ja) | データ処理システムの暴走検出方法 | |
| CA2530149C (en) | Starting control method, duplex platform system, and information processor | |
| KR20230167901A (ko) | 멀티 스레드 프로그램의 실행 주기 보정 방법 | |
| JPH064318A (ja) | エラー検出方式 | |
| JP3690555B2 (ja) | 時刻管理変更装置および外部割込み保護装置 | |
| JP2001331461A (ja) | マルチプロセッサシステム及びプロセッサスケジュリング方法 | |
| JPH06230988A (ja) | 計算機 | |
| JPH11327959A (ja) | プロセッサの異常監視方法及び装置 | |
| JPH076155A (ja) | シングルチップ・マイクロコンピュータ | |
| JPS62175840A (ja) | マルチレベル・ウオツチドツグ・タイマ−方式 | |
| JPH033041A (ja) | タイムアウト監視回路 | |
| JPH11345129A (ja) | インターバルタイマ回路 | |
| JPH0973404A (ja) | ウオッチドッグタイマ回路 | |
| JPS5916054A (ja) | マイクロ・プロセツサ | |
| JP3700581B2 (ja) | マイクロコンピュータ | |
| JP2004171040A (ja) | タイマ回路 | |
| JP2631541B2 (ja) | プログラマブルコントローラ | |
| JP4083954B2 (ja) | 異常監視装置及び異常監視方法 | |
| JP3001526B1 (ja) | 割り込み処理回路及び割り込みデバッグ方法 | |
| JP3308670B2 (ja) | イベントドリブン型処理装置の故障検出装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071208 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081208 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091208 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091208 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101208 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101208 Year of fee payment: 10 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101208 Year of fee payment: 10 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111208 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111208 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121208 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121208 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131208 Year of fee payment: 13 |
|
| LAPS | Cancellation because of no payment of annual fees |