JPH05257749A - プログラム暴走検出回路 - Google Patents

プログラム暴走検出回路

Info

Publication number
JPH05257749A
JPH05257749A JP4055198A JP5519892A JPH05257749A JP H05257749 A JPH05257749 A JP H05257749A JP 4055198 A JP4055198 A JP 4055198A JP 5519892 A JP5519892 A JP 5519892A JP H05257749 A JPH05257749 A JP H05257749A
Authority
JP
Japan
Prior art keywords
program
signal
cpu
pulse
output
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
JP4055198A
Other languages
English (en)
Inventor
Yasuo Okuno
泰男 奥野
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 JP4055198A priority Critical patent/JPH05257749A/ja
Publication of JPH05257749A publication Critical patent/JPH05257749A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 CPUなどのプログラム処理回路が暴走を始
めた場合でも、特定のプログラムを実行することが可能
なプログラム暴走検出回路を提供する。 【構成】 CPU2は、割込み入力端子、リセット入力
端子およびパルス出力端子を有しており、各々モノマル
チ3,4に接続される。CPU2が正常なプログラム動
作を行っている場合は、信号Tに一定周期毎にパルスが
出力され、モノマルチ3,4の出力が反転しない。しか
し、暴走を始めると信号Tへのパルス出力が所定期間内
に無いことを検知して割込み信号Iを発生する。さら
に、割込みが受け付けられない場合は、モノマルチ4が
リセット信号Rを発生する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラムを実行して
データの入出力処理や演算処理を行うデータ処理装置な
どに適用可能であって、所定のプログラムどおりに動作
しなくなる状態、いわゆるプログラム暴走を検出するプ
ログラム暴走検出回路に関する。
【0002】
【従来の技術】図7は、従来のプログラム暴走検出回路
51を有するデータ処理装置の一例を示すブロック図で
ある。
【0003】所定のプログラムを実行してデータの入出
力処理や演算処理を行うデータ処理装置は、一般に、プ
ログラムやデータが記憶されるリードオンリメモリ(R
OM)55およびランダムアクセスメモリ(RAM)5
6と、プログラムを実行する中央処理装置(CPU)5
2と、大量のデータを保存できる磁気ディスク等の外部
記憶装置58と、これを接続する入出力インターフェー
ス(I/O)57と、キーボードなどのデータ入力手段
(図示せず)と、陰極線管(CRT)やプリンタ等のデ
ータ出力手段(図示せず)などで構成される。
【0004】CPU52は、一般に、データの記憶位置
を指定するアドレスバス端子と、データが伝送されるデ
ータバス端子などの外部端子を備え、その内部に、デー
タの論理計算を行う算術論理演算ユニット(ALU)
と、データを一時的に記憶する複数のレジスタと、実行
中のプログラムデータの位置を示すプログラムカウンタ
と、プログラムデータから命令の内容を解読する命令デ
コーダと、入出力信号のタイミングを制御する制御回路
と、CPUの状態を示すステータスレジスタなどを備え
ており、その他に、現在実行しているプログラムを一時
中断して、別のプログラムを実行するための優先度に応
じた複数の割込み端子と、一時中断したプログラムを再
開するのに必要なデータをRAMに退避させる位置を示
すスタックポインタを備え、さらに、CPUがどのよう
な状態であっても強制的に初期状態に戻すためのリセッ
ト端子を備えている。
【0005】CPU52がプログラムを実行する場合、
プログラムカウンタが示すデータをアドレスバスに出力
することによってROMまたはRAMの記憶位置を指定
して、その位置に記憶されたデータをデータバスから取
り込んだ後、プログラム命令を解読してデータ処理を行
う。このような手順を繰り返して、複数のステップから
成るプログラムを実行する。
【0006】このようなデータ処理装置において、電源
電圧の変動、ノイズやサージの混入に基づく突発的原
因、またはプログラムの設計ミスやプログラム実行の初
期データの設定ミスなどの人為的原因などによって、記
憶されたデータや伝送中のデータが変化することがあ
り、特にプログラムカウンタ内のデータが変化してしま
うと、所定のプログラムを実行することが不可能になっ
て、いわゆる暴走状態に陥る。CPU52が暴走を始め
ると、RAM56や外部記憶装置58の内容を書き換え
たり、プリンタなどの周辺機器を故障に至らしめること
があるため、CPU52の暴走を速やかに検出してCP
U52をリセットして暴走を停止する必要がある。その
対策として、プログラム暴走検出回路51を付加してい
る。
【0007】CPU52は、所定のプログラム動作に従
って一定周期のパルス信号を信号Tとして出力してお
り、パルス信号はリトリガブルモノステーブルマルチバ
イブレータ(以下、「モノマルチ」と略記する。)53
に入力され、モノマルチの出力は信号RとしてCPU5
2のリセット入力端子に入力される。
【0008】モノマルチ53は、入力パルスのパルス前
端から所定時間までの幅を有するパルスを出力する機能
を有し、パルス入力から所定時間までに次のパルス入力
があったときは、出力すべきパルス巾がさらに延びて最
新の入力パルスのパルス前端が基準となって所定時間ま
での巾を有するパルス出力を行う。したがって、連続し
たパルス入力の周期が、該所定時間より短い場合は、モ
ノマルチ53の出力の信号レベルは変化しないため、C
PU52が正常にプログラム動作している限り、モノマ
ルチ53に次々とパルスが入力されて、モノマルチ53
の出力が反転せず、CPU52がリセットされない。
【0009】一方、CPU52が何らかの原因で暴走を
始めると、信号Tにパルス信号を出力するプログラムが
動作しなくなるため、モノマルチ53へのパルス入力が
停止する。
【0010】すると、モノマルチ53の出力が反転し
て、信号RがCPU52のリセット入力端子に入力され
て、CPU52がリセットされる。
【0011】このようにして、CPU52の暴走を検出
して、CPU52をリセットすることによって、プログ
ラム暴走を停止している。
【0012】
【発明が解決しようとする課題】しかしながら、従来の
プログラム暴走検出回路では、CPUのリセットによっ
て暴走を停止しているため、CPUが初期状態に戻って
しまい、(1)CPU暴走によるRAMの内容の書き換
えを防ぐ目的でRAMの内容を外部記憶装置へ保存する
データ退避処理、(2)所定のプログラム動作中にCP
U暴走が発生しても、所定のプログラムを終了する前に
実行すべき処理、(3)CPU暴走が発生した時点での
CPUの状態を保存する処理、などの各処理を実行する
ことができないという課題がある。
【0013】本発明の目的は、前述した課題を解決する
ため、CPUなどのプログラム処理回路の暴走が発生し
ても特定のプログラムを実行することが可能なプログラ
ム暴走検出回路を提供することである。
【0014】
【課題を解決するための手段】本発明は、割込み入力端
子、リセット入力端子およびパルス出力端子を有するプ
ログラム処理回路と、前記パルス出力端子からパルス信
号が出力された後、第1所定期間内に次のパルス信号が
出力されないことを検知して、前記割込み入力端子に出
力する第1暴走検知手段と、前記パルス出力端子からパ
ルス信号が出力された後、第1所定期間より長い第2所
定期間内に次のパルス信号が出力されないことを検知し
て、前記リセット入力端子に出力する第2暴走検知手段
とを備えたことを特徴とするプログラム暴走検出回路で
ある。
【0015】
【作用】本発明に従えば、プログラム処理回路が正常に
所定のプログラムを実行している場合には、パルス出力
端子から一定周期毎にパルス信号が出力されており、第
1暴走検知手段および第2暴走検知手段は、プログラム
処理回路への割込みまたはリセットを行わない。
【0016】しかし、プログラム処理回路が暴走を始め
て、所定のプログラムを実行しなくなった場合、暴走を
開始した時点以後は、パルス出力端子からパルス信号が
出力されなくなる。第1暴走検知手段は、最後のパルス
信号から第1所定時間内に次のパルス信号が出力されな
いことを検知して、プログラム処理回路へ割込みを行っ
て、所定の割込みプログラムを実行することができる。
【0017】さらに、第1暴走検知手段の割込みが受け
付けられなかった場合は、第1所定期間より長い第2所
定期間に設定された第2暴走検知手段がプログラム処理
回路をリセットして、プログラム処理回路を初期状態に
戻して、暴走を停止することができる。
【0018】
【実施例】図1は、本発明の一実施例であるプログラム
暴走検出回路1を有するデータ処理装置のブロック図で
ある。
【0019】データ処理装置は、従来と同様に、プログ
ラムデータが記憶されるリードオンリメモリ(ROM)
5およびランダムアクセスメモリ(RAM)6と、所定
のプログラムを実行するプログラム処理回路である中央
処理装置(CPU)2と、大量のデータを保存できる磁
気ディスクなどの外部記憶装置8と、外部記憶装置と連
結するための入出力インターフェイス(I/O)7と、
これらを相互に接続するバス9とで構成され、この他に
もキーボード等のデータ入力手段(図示せず)と、陰極
線管(CRT)やプリンタ等のデータ出力手段等の周辺
機器(図示せず)が接続される。
【0020】プログラム暴走検出回路1は、CPU2
と、第1暴走検知手段であるモノマルチ3と、第2暴走
検知手段であるモノマルチ4とで構成される。
【0021】CPU2は、割込み入力端子、リセット入
力端子およびパルス出力端子を有している。CPU2
は、所定のプログラムを実行するとともに、このプログ
ラムに組み込まれた別のプログラムの実行によって、一
定周期のパルス信号を信号Tとして出力している。
【0022】また、これらのプログラムの実行中に割込
み入力端子に割込み信号が入力されると、これらのプロ
グラム実行を一時中断して、別の割込み処理プログラム
の実行を開始する。この割込み処理が終了すると、中断
していたプログラムの実行を再開する。さらに、CPU
2が、あるプログラムを実行している場合に、リセット
入力端子にリセット信号が入力されると、プログラム実
行を中断してCPU2は強制的に初期状態に設定され
る。
【0023】図2は、CPU2が正常にプログラムを実
行しているときのフローチャートの一例である。
【0024】図2(a)において、ステップa1から始
めて、ステップa2においてデータ処理の中心部分をな
すメインプログラムを実行しており、その終了後は、再
びステップa2においてメインプログラムを続行する。
図2(b)は、CPU2に接続されたタイマ(図示せ
ず)が、CPU2に割込みを行ったときのフローチャー
トである。タイマ割込みがかかると、CPU2は、メイ
ンプログラムの実行を一時中止して、ステップa11か
ら始めて、ステップa12において信号Tにパルスを出
力するタイマ割込みプログラムを実行する。したがっ
て、タイマが一定周期で割込みを行うことによって、信
号Tに一定周期のパルス信号を出力する。
【0025】信号Tは、モノマルチ3およびモノマルチ
4に入力され、モノマルチ3の出力は信号Iとして割込
み入力端子に入力され、モノマルチ4の出力は信号Rと
してリセット入力端子に入力される。
【0026】モノマルチ3は、入力パルスのパルス立上
がりから第1所定期間までの幅を有するパルスを出力す
る機能を有し、パルス入力から第1所定時間までに次の
パルス入力があれば、出力すべきパルス巾がさらに延び
て最新の入力パルスのパルス立上がりが基準となって第
1所定時間までの幅を有するパルス出力を行う。したが
って、連続したパルス入力の周期が所定時間より短い場
合は、モノマルチ3の出力の信号レベルは反転しない。
【0027】モノマルチ4も、モノマルチ3と同様な動
作を行うが、出力パルス幅を決定する第2所定時間が、
モノマルチ3の第1所定時間より長く設定されているこ
とが相異する。タイマ割込みが終了すると、ステップa
13においてメインプログラムの実行に戻る。
【0028】図3は、CPU2が正常にプログラム実行
している場合のプログラム暴走検出回路1の各信号のタ
イミングチャートである。
【0029】CPU2は、前述したタイマ割込みによっ
て、信号Tとしてパルス幅tw、パルス周期tpのパル
ス信号を連続して出力している。モノマルチ3の第1所
定時間およびモノマルチ4の第2所定時間は、いずれも
信号Tのパルス周期tpより長いため、信号Iおよび信
号Rのレベルは変化しない。なお、CPU2の動作クロ
ック周波数が8MHzである場合、パルス周期tpは1
0〜100msecの範囲が好ましく、第1所定時間は
パルス周期tpの2倍程度が好ましく、第2所定時間は
第1所定時間の2倍程度が好ましい。
【0030】次に、CPU2が暴走した場合を説明す
る。
【0031】図4は、CPU2が暴走した場合のプログ
ラム暴走検出回路1の各信号のタイミングチャートであ
る。
【0032】CPU2が正常にプログラムを実行してい
る場合は、信号Tにパルス信号が出力されているが、暴
走を開始すると(時刻t2)、前述したタイマ割込みプ
ログラムが実行されず、信号Tにパルス信号が出力され
なくなる。
【0033】モノマルチ3は、最後のパルス入力の立上
がりから(時刻t1)第1所定期間内(図において、期
間PAに相当する。)に次のパルス入力が無いことを検
知して、信号Iをレベル反転する(時刻t3)。する
と、CPU2へ割込み信号が入力されて、暴走を検知し
たときの暴走検知割込みプログラムを実行する。
【0034】図5は、CPU2が、モノマルチ3から割
込み信号によって実行する暴走検知割込みプログラムの
フローチャートの一例である。
【0035】ステップb1から暴走検知割込みプログラ
ムが開始して、ステップb2において所定巾のパルスを
信号Tに出力して、モノマルチ3の出力レベルを反転さ
せるとともに(時刻t4)、ステップb3において、プ
リンタやCRTなどのデータ出力手段に、メインプログ
ラム実行中に暴走が発生した旨のエラーを表示する。デ
ータ処理装置の使用者は、このエラー表示を見て、暴走
発生を認識する。
【0036】次に、ステップb4において、メインプロ
グラムを続行するか否かを判断する。メインプログラム
の優先度、緊急度の必要性からそのまま続行したい場合
は、特別の処理を実行せずに、ステップb5においてエ
ラー表示を解除して、ステップb6でメインプログラム
に戻る。
【0037】一方、ステップb4において、メインプロ
グラムを直ちに実行する必要がない場合、ステップb7
においてCPU2の動作状態を確認して、ステップb8
において、CPU2およびRAM6に記憶されたメモリ
データを外部記憶装置8に保存する。
【0038】ステップb9において、暴走検知割込みプ
ログラムをそのまま終了するのであれば、ステップb1
0でメインプログラムに戻るが、暴走検知割込みプログ
ラムを終了しないのであれば、ステップb4へ移行す
る。
【0039】このようにして、暴走によって書き換えの
おそれがあるメモリデータを別の記憶装置へ待避した
り、緊急な処理を必要とするプログラムを優先して実行
したり、暴走が発生した時点でのCPUやその周辺機器
の状態を保存して暴走原因を究明したり、データ処理装
置の使用者に暴走発生を告知することができる。
【0040】次に、CPU2が暴走しても、CPUや割
込み信号回路の故障により、モノマルチ3からの割込み
要求を受け付けられない場合を説明する。
【0041】図6は、モノマルチ3からの割込みが実行
されなかったときのプログラム暴走検出回路1の各信号
のタイミングチャートである。
【0042】時刻t1で信号Tがパルス信号を出力した
後、時刻t2でCPU2が暴走して、以後信号Tからモ
ノマルチ3へパルス信号が入力されないときは、図4に
示したときと同様に、第1所定時間(期間PA)経過後
に、信号Iが反転してCPU2へ割込み信号を入力する
が、暴走検知割込みプログラムを実行しないため信号T
にパルス信号が出力されない。
【0043】モノマルチ4は、時刻t1から第2所定時
間(期間PB)経過して時刻t4までに信号Tにパルス
信号が無いことを検知して、信号Rの出力レベルを反転
させる。
【0044】すると、CPU2のリセット入力端子にリ
セット信号が入力され、CPU2は実行中のプログラム
を全て中止して、初期状態に戻る。
【0045】このようにして、暴走検知割込みプログラ
ムが実行されないときでも、最終的にリセット信号によ
り暴走を停止することができる。
【0046】なお、以上の実施例において、第1および
第2暴走検知手段として、リトリガブルモノステーブル
マルチバイブレータを用いた例を示したが、リセット可
能なタイマやリセット可能なクロックカウンタなどの時
間計測手段でも実現することができる。
【0047】また、以上の実施例において、CPUの暴
走状態によっては、割込み信号をマスクするフラグが立
っていることがあるため、モノマルチ3の出力は、優先
度の高い割込み入力端子へ入力されることが好ましく、
特に、マスク不可能な割込み入力端子へ入力されること
が好ましい。
【0048】さらに、以上の実施例において、CPUが
タイマ割込みによって信号Tにパルス信号を出力する例
を説明したが、タイマ機能を有するプログラムを組み込
むことによって信号Tにパルス信号を一定周期で出力す
る構成でも構わない。
【0049】
【発明の効果】以上詳説したように、本発明によれば、
プログラム処理回路が暴走を始めた場合に、まずプログ
ラム処理回路へ割込みをかけることによって、所定の割
込みプログラムを実行することができる。
【0050】さらに、この割込みが受け付けられない場
合でも、プログラム処理回路をリセットすることにより
暴走を確実に停止することができる。
【図面の簡単な説明】
【図1】本発明の一実施例であるプログラム暴走検出回
路を有するデータ処理装置のブロック図である。
【図2】CPUが正常にプログラムを実行しているとき
のフローチャートの一例である。
【図3】CPUが正常にプログラムを実行している場合
のプログラム暴走検出回路の各信号のタイミングチャー
トである。
【図4】CPUが暴走した場合のプログラム暴走検出回
路の各信号のタイミングチャートである。
【図5】CPUがモノマルチ3からの割込み信号によっ
て、実行する暴走検知割込みプログラムのフローチャー
トの一例である。
【図6】モノマルチ3からの割込みが実行されなかった
ときのプログラム暴走検出回路の各信号のタイミングチ
ャートである。
【図7】従来のプログラム暴走検出回路を有するデータ
処理装置の一例を示すブロック図である。
【符号の説明】
1 プログラム暴走検出回路 2 CPU 3,4 リトリガブルモノステーブルマルチバイブレー

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 割込み入力端子、リセット入力端子およ
    びパルス出力端子を有するプログラム処理回路と、 前記パルス出力端子からパルス信号が出力された後、第
    1所定期間内に次のパルス信号が出力されないことを検
    知して、前記割込み入力端子に出力する第1暴走検知手
    段と、 前記パルス出力端子からパルス信号が出力された後、第
    1所定期間より長い第2所定期間内に次のパルス信号が
    出力されないことを検知して、前記リセット入力端子に
    出力する第2暴走検知手段とを備えたことを特徴とする
    プログラム暴走検出回路。
JP4055198A 1992-03-13 1992-03-13 プログラム暴走検出回路 Pending JPH05257749A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4055198A JPH05257749A (ja) 1992-03-13 1992-03-13 プログラム暴走検出回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4055198A JPH05257749A (ja) 1992-03-13 1992-03-13 プログラム暴走検出回路

Publications (1)

Publication Number Publication Date
JPH05257749A true JPH05257749A (ja) 1993-10-08

Family

ID=12991987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4055198A Pending JPH05257749A (ja) 1992-03-13 1992-03-13 プログラム暴走検出回路

Country Status (1)

Country Link
JP (1) JPH05257749A (ja)

Similar Documents

Publication Publication Date Title
JP4887150B2 (ja) コプロセッサを監視及びリセットするための方法及び装置
EP0464615B1 (en) Microcomputer equipped with DMA controller
EP0313097B1 (en) Microcomputer system including master processor and slave processor
JPH11219302A (ja) デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置
US4839895A (en) Early failure detection system for multiprocessor system
US6463492B1 (en) Technique to automatically notify an operating system level application of a system management event
US6321289B1 (en) Apparatus for automatically notifying operating system level applications of the occurrence of system management events
JP2001318807A (ja) タスク切り替え制御方法及び装置
JPH11259340A (ja) コンピュータの再起動制御回路
JP2001147821A (ja) プロセッサ
JPH0764886A (ja) シリアルインターフェイス装置を有する処理装置
JPH0764822A (ja) マイクロコンピュータ
JP2716274B2 (ja) インサーキット・エミュレータ
JPH0475147A (ja) 情報処理システムにおける時間監視装置
JPH10283219A (ja) 情報処理装置起動方式
JPS6211745B2 (ja)
JP2755205B2 (ja) データ処理装置の低消費電力化方式
JPS5935250A (ja) プログラム制御装置
JPH0748198B2 (ja) マルチプロセッサシステム
JPH0635757A (ja) Cpuの異常検出装置
JPH0132539B2 (ja)
JPH05216701A (ja) 入出力命令のリカバリタイム調整回路
JPH0149975B2 (ja)
JPH07182251A (ja) マイクロプロセッサ
JPH01237852A (ja) 異常監視タイマ制御装置