JPS63282857A - プログラムの暴走防止方式 - Google Patents
プログラムの暴走防止方式Info
- Publication number
- JPS63282857A JPS63282857A JP62118209A JP11820987A JPS63282857A JP S63282857 A JPS63282857 A JP S63282857A JP 62118209 A JP62118209 A JP 62118209A JP 11820987 A JP11820987 A JP 11820987A JP S63282857 A JPS63282857 A JP S63282857A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- microprogram
- microprocessor
- sequence counter
- runaway
- 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
Links
- 230000002159 abnormal effect Effects 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 31
- 230000002265 prevention Effects 0.000 claims description 10
- 230000005856 abnormality Effects 0.000 abstract description 5
- 238000011084 recovery Methods 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000004886 process control Methods 0.000 description 1
- 235000012976 tarts Nutrition 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
この発明は、マイクロプロセッサの処理動作におけるプ
ログラムの暴走防止方式に関するものである。
ログラムの暴走防止方式に関するものである。
[従来の技術]
第3図と第4図は、従来の暴走防止方式を示すマイクロ
プログラムのフローチャートと、これを実現する構成図
を示すものである。
プログラムのフローチャートと、これを実現する構成図
を示すものである。
第4図において、(1)はマイクロプロセッサ、(3)
はデコーダ、(4)はリセット端子付のシーケンスカウ
ンタであり、そのカウンタの出力はマイクロプロセッサ
(1)のノンマスカブル割込(以下、NMI と称す。
はデコーダ、(4)はリセット端子付のシーケンスカウ
ンタであり、そのカウンタの出力はマイクロプロセッサ
(1)のノンマスカブル割込(以下、NMI と称す。
: Non Maskarable Interrup
t)端子に接続されている。
t)端子に接続されている。
次に動作について説明する。マイクロプロセッサ(1)
の動作は、マイクロプログラムによって処理の順序が規
定され、第3図に示すように5TARTから開始され、
5TOPとなるまでそのマイクロプログラムの順序に従
って実行される。そして、このマイクロプログラム中に
rOUT XXX Jで示される部分は、第4図のデコ
ーダ(3)からカウンタリセットの出力が発生するリセ
ット処理動作を行わせるものであり、このようなリセッ
ト処理動作間r OUT XXX J 〜r OUT
XXX J間の処理時間が例えば所定時間IB、6ms
x 7 = 116.2ms以内で終了するようにマ
イクロプログラムを作っておくことにより、第4図のカ
ウンタ(4)の出力は、通常時常に出力されることなく
、マイクロプロセッサ(1)にはNMIが発生しない。
の動作は、マイクロプログラムによって処理の順序が規
定され、第3図に示すように5TARTから開始され、
5TOPとなるまでそのマイクロプログラムの順序に従
って実行される。そして、このマイクロプログラム中に
rOUT XXX Jで示される部分は、第4図のデコ
ーダ(3)からカウンタリセットの出力が発生するリセ
ット処理動作を行わせるものであり、このようなリセッ
ト処理動作間r OUT XXX J 〜r OUT
XXX J間の処理時間が例えば所定時間IB、6ms
x 7 = 116.2ms以内で終了するようにマ
イクロプログラムを作っておくことにより、第4図のカ
ウンタ(4)の出力は、通常時常に出力されることなく
、マイクロプロセッサ(1)にはNMIが発生しない。
一方、雷など各種ノイズが発生してマイクロプロセッサ
(1)の動作が一時的に不良となり、マイクロプログラ
ムの処理が異常状態(暴走状態)となることがある。こ
のような場合は、正しい処理が行われずリセット処理動
作rOUT XXX Jの動作自身が行われなくなった
り、上記のリセット処理励作問、つまりrOUT XX
X J 〜rolIT XXX J間の処理時間が所定
時間= 116.2msを越えたりすることが多い。し
たがって、デコーダ(3)の出力がカウンタ(4)のカ
ウンタ時間以内に出なくなり、カウンタ(4)の出力が
出てマイクロプロセッサ(1)に対してNMIが発生す
る。すなわち、暴走が検出され、第3図に示されるNM
I発生時の異常処理を行えば(例えば、プログラムの5
TARTに戻って初めからやり直すなど)、暴走防止を
行うことができる。
(1)の動作が一時的に不良となり、マイクロプログラ
ムの処理が異常状態(暴走状態)となることがある。こ
のような場合は、正しい処理が行われずリセット処理動
作rOUT XXX Jの動作自身が行われなくなった
り、上記のリセット処理励作問、つまりrOUT XX
X J 〜rolIT XXX J間の処理時間が所定
時間= 116.2msを越えたりすることが多い。し
たがって、デコーダ(3)の出力がカウンタ(4)のカ
ウンタ時間以内に出なくなり、カウンタ(4)の出力が
出てマイクロプロセッサ(1)に対してNMIが発生す
る。すなわち、暴走が検出され、第3図に示されるNM
I発生時の異常処理を行えば(例えば、プログラムの5
TARTに戻って初めからやり直すなど)、暴走防止を
行うことができる。
なお、このような暴走防止方式を一般に、「ウォッチ・
ドッグ・タイマによる方式」と呼んでいる。
ドッグ・タイマによる方式」と呼んでいる。
[発明が解決しようとする問題点コ
従来の暴走防止方式は、以上のように構成されているの
で、リセット処理動作rol]T XXX jのマイク
ロプログラム命令およびリセット処理動作間、つまりr
ouTXXX J 〜rol]T XXX J間の時間
が正しい状態のまま暴走した場合、例えば第5図に示す
ような永久ループで暴走している場合は、暴走を防止す
ることができない問題点があった。
で、リセット処理動作rol]T XXX jのマイク
ロプログラム命令およびリセット処理動作間、つまりr
ouTXXX J 〜rol]T XXX J間の時間
が正しい状態のまま暴走した場合、例えば第5図に示す
ような永久ループで暴走している場合は、暴走を防止す
ることができない問題点があった。
この発明は、上記のような問題点を解消するためになさ
れたもので、雷などのノイズ発生によって一部の特定の
マイクロプログラム部分で永久ループ(暴走)を引起し
た際でも暴走を検出して暴走を防止することのできる信
頼性の高いプログラムの暴走防止方式を得ることを目的
とする。
れたもので、雷などのノイズ発生によって一部の特定の
マイクロプログラム部分で永久ループ(暴走)を引起し
た際でも暴走を検出して暴走を防止することのできる信
頼性の高いプログラムの暴走防止方式を得ることを目的
とする。
[問題点を解決するための手段]
この発明に係るプログラムの暴走防止方式は、マイクロ
プロセッサによる各処理が終了する毎にカウントアツプ
またはダウンするシーケンスカウンタを備え、当該マイ
クロプロセッサに対し一定周期で割込を行ってこのシー
ケンスカウンタの内容を読むことによって各処理が順次
行われていることを検出し、順次行われていないときは
所定の異常処理を行い、マイクロプログラムの暴走を防
止することを特徴とするものである。
プロセッサによる各処理が終了する毎にカウントアツプ
またはダウンするシーケンスカウンタを備え、当該マイ
クロプロセッサに対し一定周期で割込を行ってこのシー
ケンスカウンタの内容を読むことによって各処理が順次
行われていることを検出し、順次行われていないときは
所定の異常処理を行い、マイクロプログラムの暴走を防
止することを特徴とするものである。
[作用]
この発明において、シーケンスカウンタは、処理が1つ
終了する毎にカウントアツプしていくようにしであるの
で、曇走時に処理が終了しなかったり、カウントアツプ
動作が不正となった場合には、このシーケンスカウンタ
チェックの部分で確実に暴走を検出できる。
終了する毎にカウントアツプしていくようにしであるの
で、曇走時に処理が終了しなかったり、カウントアツプ
動作が不正となった場合には、このシーケンスカウンタ
チェックの部分で確実に暴走を検出できる。
[実施例]
以下、この発明の一実施例を図について説明する。第1
図と第2図は、この発明のマイクロプログラムのフロー
チャートと、このマイクロプログラムを実行させるため
の構成図であり、(1)はマイクロプロセッサ、(2)
はこのマイクロプロセッサの各処理が終了する毎にカウ
ントアツプするシーケンスカウンタ、(5)は各処理が
終了する毎に実行した処理ナンバーを記憶するシーケン
スカウンタ用レジスタを示し、上記マイクロプロセッサ
(1)に対し一定周期で割込を行って上記カウンタ(2
)の内容を読むことによって各処理が順次行われている
か否かを検出し、行われていない場合には暴走を防止す
べく所定の異常処理を行うシステムを構成できるように
なっている。
図と第2図は、この発明のマイクロプログラムのフロー
チャートと、このマイクロプログラムを実行させるため
の構成図であり、(1)はマイクロプロセッサ、(2)
はこのマイクロプロセッサの各処理が終了する毎にカウ
ントアツプするシーケンスカウンタ、(5)は各処理が
終了する毎に実行した処理ナンバーを記憶するシーケン
スカウンタ用レジスタを示し、上記マイクロプロセッサ
(1)に対し一定周期で割込を行って上記カウンタ(2
)の内容を読むことによって各処理が順次行われている
か否かを検出し、行われていない場合には暴走を防止す
べく所定の異常処理を行うシステムを構成できるように
なっている。
上記構成の動作について説明する。
第1図のマイクロプログラムの通常時の動作は、5TA
RT (開始)で、まずイニシャライズを行い状態を初
期化し、シーケンスカウンタ(2)をリセット後処理制
御の下で処理#l〜処理#4のいずれかの処理を実行し
ていく。そして、この処理#1〜処理#4のいずれかの
処理が終了する毎にその実行した処理ナンバーを記憶し
、シーケンスカウンタ(2)をカウントアツプした状態
でマイクロプロセッサ(1)への割込が入って次の処理
を行うまで待ち状態となる。なお、このシーケンスカウ
ンタ(2)の内容は、マイクロプロセッサ(1)に割込
が入るたびにチェックされ、正しく1づつインクリメン
トされていることを確認してから次の処理に穆るように
動作する。
RT (開始)で、まずイニシャライズを行い状態を初
期化し、シーケンスカウンタ(2)をリセット後処理制
御の下で処理#l〜処理#4のいずれかの処理を実行し
ていく。そして、この処理#1〜処理#4のいずれかの
処理が終了する毎にその実行した処理ナンバーを記憶し
、シーケンスカウンタ(2)をカウントアツプした状態
でマイクロプロセッサ(1)への割込が入って次の処理
を行うまで待ち状態となる。なお、このシーケンスカウ
ンタ(2)の内容は、マイクロプロセッサ(1)に割込
が入るたびにチェックされ、正しく1づつインクリメン
トされていることを確認してから次の処理に穆るように
動作する。
一方、雷など各種ノイズが発生して第2図におけるマイ
クロプロセッサ(1)の動作が一時的に不良となり、゛
マイクロプログラムの処理が異常状態(暴走状態)とな
ると、第1図における処理制御の途中でハング状態とな
ったり、処理#lの途中から処理#3に飛んだり、何を
行うかわからなくなる。このような場合でも一定周期で
割込みが発生しシーケンスナンバーをチェックするので
、マイクロプログラムの処理が異常であったことが検出
できると共に、そのときの処理ナンバーがシーケンスカ
ウンタ用レジスタ(5)に記憶されているため復帰時の
りカバリ−処置を適切に行うことができる。
クロプロセッサ(1)の動作が一時的に不良となり、゛
マイクロプログラムの処理が異常状態(暴走状態)とな
ると、第1図における処理制御の途中でハング状態とな
ったり、処理#lの途中から処理#3に飛んだり、何を
行うかわからなくなる。このような場合でも一定周期で
割込みが発生しシーケンスナンバーをチェックするので
、マイクロプログラムの処理が異常であったことが検出
できると共に、そのときの処理ナンバーがシーケンスカ
ウンタ用レジスタ(5)に記憶されているため復帰時の
りカバリ−処置を適切に行うことができる。
なお、上記実施例では、処理#1〜処理#4の場合につ
いて述べたが、処理の数が異なる場合にも当然適用でき
る。そして、上記実施例では、処理制御を持つ階層構造
のプログラムについて説明を行ったが、このような構造
をとらないプログラムに対しても同様の考え方が適用で
きるのはもちろんである。
いて述べたが、処理の数が異なる場合にも当然適用でき
る。そして、上記実施例では、処理制御を持つ階層構造
のプログラムについて説明を行ったが、このような構造
をとらないプログラムに対しても同様の考え方が適用で
きるのはもちろんである。
また、上記実施例では、シーケンスカウンタをカウント
アツプすることにより説明を行ったが、カウントダウン
することによっても同様の作用をする。
アツプすることにより説明を行ったが、カウントダウン
することによっても同様の作用をする。
[発明の効果コ
以上のように、この発明によれば、マイクロプログラム
の処理が終了する毎にシーケンスカウンタをカウントア
ツプすると共にマイクロプロセッサの割込入力に定期的
に信号を入れることによってそのシーケンスカウンタを
チェックするようにしたため信頼性の高い暴走防止を行
うことができる。
の処理が終了する毎にシーケンスカウンタをカウントア
ツプすると共にマイクロプロセッサの割込入力に定期的
に信号を入れることによってそのシーケンスカウンタを
チェックするようにしたため信頼性の高い暴走防止を行
うことができる。
第1図はこの発明の一実施例による暴走防止マイクロプ
ログラムのフローチャート、第2図はこの暴走防止マイ
クロプログラムを実行させるための構成図、第3図と第
4図は従来の暴走防止方式を説明するフローチャートと
その構成図、第5図は従来例の永久ループでの暴走状態
を示す説明図である。 図中、(1)はマイクロプロセッサ、(2)はシーケン
スカウンタ、(5)はシーケンスカウンタ用レジスト。 なお、各図中、同一符号は同一または相当部分を示す。
ログラムのフローチャート、第2図はこの暴走防止マイ
クロプログラムを実行させるための構成図、第3図と第
4図は従来の暴走防止方式を説明するフローチャートと
その構成図、第5図は従来例の永久ループでの暴走状態
を示す説明図である。 図中、(1)はマイクロプロセッサ、(2)はシーケン
スカウンタ、(5)はシーケンスカウンタ用レジスト。 なお、各図中、同一符号は同一または相当部分を示す。
Claims (2)
- (1)マイクロプロセッサによる各処理が終了する毎に
カウントアップまたはダウンするシーケンスカウンタを
備え、当該マイクロプロセッサに対し一定周期で割込を
行ってこのシーケンスカウンタの内容を読むことによっ
て各処理が順次行われていることを検出し、順次行われ
ていないときは所定の異常処理を行い、マイクロプログ
ラムの暴走を防止することを特徴とするプログラムの暴
走防止方式。 - (2)各処理が終了する毎に実行した処理ナンバーがシ
ーケンスカウンタ用レジスタに記憶されることを特徴と
する特許請求の範囲第1項記載のプログラムの暴走防止
方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62118209A JPS63282857A (ja) | 1987-05-15 | 1987-05-15 | プログラムの暴走防止方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62118209A JPS63282857A (ja) | 1987-05-15 | 1987-05-15 | プログラムの暴走防止方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63282857A true JPS63282857A (ja) | 1988-11-18 |
Family
ID=14730905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62118209A Pending JPS63282857A (ja) | 1987-05-15 | 1987-05-15 | プログラムの暴走防止方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63282857A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03288942A (ja) * | 1990-04-05 | 1991-12-19 | Zexel Corp | マイクロコンピュータにおけるプログラム暴走検出方法 |
JPH05197593A (ja) * | 1992-01-22 | 1993-08-06 | Nec Corp | アプリケーションプログラムのループ/ストール監視装置 |
CN104182276A (zh) * | 2014-09-08 | 2014-12-03 | 南京宁普防雷设备制造有限公司 | 一种采用软件降低防雷计数器功耗的方法 |
-
1987
- 1987-05-15 JP JP62118209A patent/JPS63282857A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03288942A (ja) * | 1990-04-05 | 1991-12-19 | Zexel Corp | マイクロコンピュータにおけるプログラム暴走検出方法 |
JPH05197593A (ja) * | 1992-01-22 | 1993-08-06 | Nec Corp | アプリケーションプログラムのループ/ストール監視装置 |
CN104182276A (zh) * | 2014-09-08 | 2014-12-03 | 南京宁普防雷设备制造有限公司 | 一种采用软件降低防雷计数器功耗的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH044616B2 (ja) | ||
JPS63282857A (ja) | プログラムの暴走防止方式 | |
JPS63282858A (ja) | プログラムの暴走防止方式 | |
JPS586971B2 (ja) | 演算処理装置 | |
WO2007075128A3 (en) | Gorbadey's method for ensuring the reliable operation of the program computing means | |
JP2924732B2 (ja) | 情報処理装置の自己診断方法 | |
JP2836084B2 (ja) | 計算機の検査装置 | |
JPH1078896A (ja) | 産業用電子計算機 | |
JPS59148961A (ja) | プロセツサの動作監視方式 | |
JPH03268001A (ja) | 調節計 | |
JPH0293738A (ja) | 割込み処理方式 | |
JPH05120073A (ja) | 割込み処理監視回路 | |
JP5493929B2 (ja) | モジュール演算処理装置 | |
JP3183982B2 (ja) | ディジタル制御装置 | |
JPS632922Y2 (ja) | ||
JPH0135369B2 (ja) | ||
JPS6125250A (ja) | 情報処理装置の障害回復方法 | |
JPH11184735A (ja) | プログラム暴走検出方法および暴走検出ルーチンを含む記録媒体 | |
JPS63313245A (ja) | マイクロコンピュ−タの暴走検出方法 | |
JPS63280345A (ja) | プログラム異常検出方法 | |
JPH01243132A (ja) | 障害処理方式 | |
JPS6065346A (ja) | コンピュ−タシステムの再作動装置 | |
JPS62190533A (ja) | 割込マスク制御方式 | |
JPS6220013A (ja) | マイクロコンピユ−タ応用機器の電源切断装置 | |
JPH02126342A (ja) | マイクロコンピュータの暴走検出方法 |