JPH0743658B2 - ソフトウェアの暴走監視タイマ - Google Patents
ソフトウェアの暴走監視タイマInfo
- Publication number
- JPH0743658B2 JPH0743658B2 JP63272217A JP27221788A JPH0743658B2 JP H0743658 B2 JPH0743658 B2 JP H0743658B2 JP 63272217 A JP63272217 A JP 63272217A JP 27221788 A JP27221788 A JP 27221788A JP H0743658 B2 JPH0743658 B2 JP H0743658B2
- Authority
- JP
- Japan
- Prior art keywords
- reset
- bit
- binary counter
- signal
- bit binary
- 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 - Lifetime
Links
Landscapes
- Debugging And Monitoring (AREA)
- Electronic Switches (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロコンピュータの周辺ハードウェアに
関し、特にカウント値がオーバーフローするシステム・
リセット信号を発生させる機能をもつソフトウェアの暴
走監視タイマの回路構成に関する。
関し、特にカウント値がオーバーフローするシステム・
リセット信号を発生させる機能をもつソフトウェアの暴
走監視タイマの回路構成に関する。
従来、この種のタイマは、主に第5図に示すように、K
ビット・バイナリ・カウンタ5−1およびリセット制御
部5−2から構成されていた。
ビット・バイナリ・カウンタ5−1およびリセット制御
部5−2から構成されていた。
第5図の従来のソフトウェアの暴走監視タイマを具体例
で説明すると、以下のようになる。
で説明すると、以下のようになる。
まず、マイクロコンピュータに対し、外部から与えられ
るリセット信号によりシステム・リセットが行なわれる
際、端子5−3にロウ・レベルが加わるものとする。す
ると、リセット時には、リセット制御部5−2からはロ
ウ・レベルの信号が出力される。従って、ロウ・アクテ
ィブのリセット端子をもつkビット・バイナリ・カウン
タ5−1のカウント値は0に初期化される。
るリセット信号によりシステム・リセットが行なわれる
際、端子5−3にロウ・レベルが加わるものとする。す
ると、リセット時には、リセット制御部5−2からはロ
ウ・レベルの信号が出力される。従って、ロウ・アクテ
ィブのリセット端子をもつkビット・バイナリ・カウン
タ5−1のカウント値は0に初期化される。
端子5−4は、ソフトウェアにより(K)ビット・バイ
ナリ・カウンタをリセットする命令で実行する際にロウ
・レベルとなる端子で、それ以外の時はハイ・レベルと
なっている。
ナリ・カウンタをリセットする命令で実行する際にロウ
・レベルとなる端子で、それ以外の時はハイ・レベルと
なっている。
この状態で、端子5−5にマイクロコンピュータの命令
サイクルに対して充分長い周期のクロックを加える。す
ると、マイクロコンピュータが何命令か実行するとビッ
ト・バイナリ・カウンタ5−1のカウント値が+1され
る。そして、カウント値がオーバーフローする前に
(K)ビット・バイナリ・カウンタ5−1をリセットす
る命令、即ち、端子5−4をロウ・レベルにする命令を
実行する。
サイクルに対して充分長い周期のクロックを加える。す
ると、マイクロコンピュータが何命令か実行するとビッ
ト・バイナリ・カウンタ5−1のカウント値が+1され
る。そして、カウント値がオーバーフローする前に
(K)ビット・バイナリ・カウンタ5−1をリセットす
る命令、即ち、端子5−4をロウ・レベルにする命令を
実行する。
つまり、マイクロコンピュータが実行する命令の何ステ
ップか毎に、(K)ビット・バイナリ・カウンタ5−1
をリセットする命令を入れるという事である。以上によ
り端子5−6は常にロウ・レベルに保たれる。もし、何
らかの理由で(K)ビット・バイナリ・カウンタ5−1
がリセットされずにオーバーフローして端子5−6がハ
イ・レベルになった場合は、ソフトウェアが暴走した為
にkビット・バイナリ・カウンタのリセットを行なう命
令が実行されなかったと判断する。
ップか毎に、(K)ビット・バイナリ・カウンタ5−1
をリセットする命令を入れるという事である。以上によ
り端子5−6は常にロウ・レベルに保たれる。もし、何
らかの理由で(K)ビット・バイナリ・カウンタ5−1
がリセットされずにオーバーフローして端子5−6がハ
イ・レベルになった場合は、ソフトウェアが暴走した為
にkビット・バイナリ・カウンタのリセットを行なう命
令が実行されなかったと判断する。
具体的には、マイクロコンピュータの回路構成として、
端子5−6がハイ・レベルになると、マイクロコンピュ
ータに対して外部からリセット信号が加えられると同等
のシステム・リセット信号を発生させる様にしておく。
従って、プログラムが暴走しつづける時間は、(K)ビ
ット・バイナリ・カウンタ5−1がオーバー・フローす
るまでの時間だけという事になる。
端子5−6がハイ・レベルになると、マイクロコンピュ
ータに対して外部からリセット信号が加えられると同等
のシステム・リセット信号を発生させる様にしておく。
従って、プログラムが暴走しつづける時間は、(K)ビ
ット・バイナリ・カウンタ5−1がオーバー・フローす
るまでの時間だけという事になる。
しかし、この方式の従来のソフトウェアの暴走監視タイ
マは、以下の場合は、暴走を検出する事ができないとい
う欠点がある。
マは、以下の場合は、暴走を検出する事ができないとい
う欠点がある。
それは、(K)ビット・バイナリ・カウンタ5−1をリ
セットする命令を含む暴走無限ループに入ってしまった
場合であり、(K)ビット・バイナリ・カウンタ5−1
がオーバーフローしない為、マイクロコンピュータの外
部からリセット信号を与えない限り、暴走しつづけると
いう欠点がある。
セットする命令を含む暴走無限ループに入ってしまった
場合であり、(K)ビット・バイナリ・カウンタ5−1
がオーバーフローしない為、マイクロコンピュータの外
部からリセット信号を与えない限り、暴走しつづけると
いう欠点がある。
本発明の目的は、上記欠点に除去し、暴走無限ループに
入った場合にも、実行している命令が暴走無限ループに
なっている事を判断し、システム・リセット信号を発生
させる回路を提供することに有る。
入った場合にも、実行している命令が暴走無限ループに
なっている事を判断し、システム・リセット信号を発生
させる回路を提供することに有る。
本発明のソフトウェアの暴走監視タイマの特徴は、シス
テム・クロックを分周して得られたカウント・クロック
を計数するとともに、その計数結果がオーバーフローす
る以前に所定の命令でリセットされ、オーバーフローし
たときにはリセット信号を発生するKビット・バイナリ
・カウンタを有し、前記オーバーフロー時のリセット信
号に応答してマイクロコンピュータにシステム・リセッ
トをかけるようにしたソフトウェアの暴走監視タイマに
おいて、前記Kビット・バイナリ・カウンタが前記所定
の命令でリセットされ、そのリセット毎に第Lビット目
から第Mビット目(0≦L≦M<K)までのリセット直
前の計数値出力がそれぞれ対応するNビット・シフトレ
ジスタに格納されてシフトされ、これらNビット・シフ
トレジスタの各ビット値がそれぞれ同一値になるとシス
テム・リセット信号を発生する第1のリセット制御手
段、または前記リセット直前の計数値出力がそれぞれ対
応するD型フリップ・フロップに格納されこの格納され
た値と次のリセット時の直前の計数値とがそれぞれ一致
する毎にこの一致信号がnビット・バイナリ・カウンタ
に供給されて計数され、あらかじめ定めた所定値になる
とシステム・リセット信号を発生する第2のリセット制
御手段のいずれか一方を備え、プログラムの暴走が無限
ループとなり、かつそのループの中に前記Kビット・バ
イナリ・カウンタをリセットする前記所定の命令が含ま
れているとき、この命令が少なくともN回実行される毎
に前記リセット直前の計数値出力が常に同一値であれ
ば、その後に実行される前記所定の命令によるリセット
を前記第1または前記第2のリセット制御手段のいずれ
か一方で無効にして前記Kビット・バイナリ・カウンタ
をオーバーフローさせ前記無限ループから抜けることに
ある 〔実施例〕 次に、本発明について図面を参照して説明する。
テム・クロックを分周して得られたカウント・クロック
を計数するとともに、その計数結果がオーバーフローす
る以前に所定の命令でリセットされ、オーバーフローし
たときにはリセット信号を発生するKビット・バイナリ
・カウンタを有し、前記オーバーフロー時のリセット信
号に応答してマイクロコンピュータにシステム・リセッ
トをかけるようにしたソフトウェアの暴走監視タイマに
おいて、前記Kビット・バイナリ・カウンタが前記所定
の命令でリセットされ、そのリセット毎に第Lビット目
から第Mビット目(0≦L≦M<K)までのリセット直
前の計数値出力がそれぞれ対応するNビット・シフトレ
ジスタに格納されてシフトされ、これらNビット・シフ
トレジスタの各ビット値がそれぞれ同一値になるとシス
テム・リセット信号を発生する第1のリセット制御手
段、または前記リセット直前の計数値出力がそれぞれ対
応するD型フリップ・フロップに格納されこの格納され
た値と次のリセット時の直前の計数値とがそれぞれ一致
する毎にこの一致信号がnビット・バイナリ・カウンタ
に供給されて計数され、あらかじめ定めた所定値になる
とシステム・リセット信号を発生する第2のリセット制
御手段のいずれか一方を備え、プログラムの暴走が無限
ループとなり、かつそのループの中に前記Kビット・バ
イナリ・カウンタをリセットする前記所定の命令が含ま
れているとき、この命令が少なくともN回実行される毎
に前記リセット直前の計数値出力が常に同一値であれ
ば、その後に実行される前記所定の命令によるリセット
を前記第1または前記第2のリセット制御手段のいずれ
か一方で無効にして前記Kビット・バイナリ・カウンタ
をオーバーフローさせ前記無限ループから抜けることに
ある 〔実施例〕 次に、本発明について図面を参照して説明する。
第1図は本発明の第1の実施例の回路図であり、本実施
例はバイナリ・カウンタを構成するフリップ・フロップ
の個数K=7,バイナリ・カウンタのビット列のうちレジ
スタに格納するビット列の最下位のビット番号L=1,バ
イナリ・カウンタのビット列のうちレジスタに格納する
ビット列の最上位のビット番号M=5,命令によるバイナ
リ・カウンタのリセット回数の設定値N=3に選んだ場
合の例である。
例はバイナリ・カウンタを構成するフリップ・フロップ
の個数K=7,バイナリ・カウンタのビット列のうちレジ
スタに格納するビット列の最下位のビット番号L=1,バ
イナリ・カウンタのビット列のうちレジスタに格納する
ビット列の最上位のビット番号M=5,命令によるバイナ
リ・カウンタのリセット回数の設定値N=3に選んだ場
合の例である。
端子1−5は、マイクロコンピュータに対して外部より
リセット信号を与える事によりロウ・レベルになり、リ
セットの解除とともにハイ・レベルになるものとする。
即ち、マイクロコンピュータのシステム・リセット時に
ロウ・レベルになる。端子1−5がロウ・レベルになる
と、2入力ANDゲート1−6の出力もロウ・レベルにな
る。すると、端子1−5が直接ロウ・アクティブのリセ
ット端子に接続されたD型フリップ・フロップ1−71〜
1−75,1−81〜1−85,1−91〜1−95は一例としてそれ
ぞれ3ビット・レジスタを構成しており、これらのQ出
力がロウ・レベルとなり、また2入力ANDゲート1−6
の出力がロウ・アクティブのリセット端子に接続された
7ビット・バイナリ・カウンタ1−1のカウント値が0
にリセットされる。従って、3入力ANDゲート1−101〜
1−105および3入力NORゲート1−111〜1−115のそれ
ぞれの3本の入力全てがロウ・レベルとなり、結果とし
てORゲート1−121〜1−125の出力がハイ・レベルに、
5入力NANDゲート1−13の出力がロウ・レベルに、2入
力NANDゲート1−17の出力がハイ・レベルにそれぞれ固
定される。
リセット信号を与える事によりロウ・レベルになり、リ
セットの解除とともにハイ・レベルになるものとする。
即ち、マイクロコンピュータのシステム・リセット時に
ロウ・レベルになる。端子1−5がロウ・レベルになる
と、2入力ANDゲート1−6の出力もロウ・レベルにな
る。すると、端子1−5が直接ロウ・アクティブのリセ
ット端子に接続されたD型フリップ・フロップ1−71〜
1−75,1−81〜1−85,1−91〜1−95は一例としてそれ
ぞれ3ビット・レジスタを構成しており、これらのQ出
力がロウ・レベルとなり、また2入力ANDゲート1−6
の出力がロウ・アクティブのリセット端子に接続された
7ビット・バイナリ・カウンタ1−1のカウント値が0
にリセットされる。従って、3入力ANDゲート1−101〜
1−105および3入力NORゲート1−111〜1−115のそれ
ぞれの3本の入力全てがロウ・レベルとなり、結果とし
てORゲート1−121〜1−125の出力がハイ・レベルに、
5入力NANDゲート1−13の出力がロウ・レベルに、2入
力NANDゲート1−17の出力がハイ・レベルにそれぞれ固
定される。
マイクロコンピュータのシステム・リセットが解除さ
れ、端子1−5の論理値はハイ・レベルになると、2入
力ANDゲート1−6の出力はハイ・レベルとなり、7ビ
ット・バイナリ・カウンタ1−1およびD型フリップ・
フロップ1−71〜1−75,1−81〜1−85,1−91〜1−95
のリセットが解除される。リセットが解除されると、7
ビット・バイナリ・カウンタ1−1は、端子1−4に与
えられるクロックによって開始する。このクロックは、
システム・クロックを分周してつくる低い周波数のクロ
ックである。また、同時に、マイクロコンピュータは命
令の実行を開始する。マイクロコンピュータの命令セッ
トの中には、あらかじめ7ビット・バイナリ・カウンタ
1−1をリセットする命令を用意しておき、制御および
演算等を行なう命令の所々にそう入して7ビット・バイ
ナリ・カウンタ1−1がオーバーフローしない様にリセ
ットする。
れ、端子1−5の論理値はハイ・レベルになると、2入
力ANDゲート1−6の出力はハイ・レベルとなり、7ビ
ット・バイナリ・カウンタ1−1およびD型フリップ・
フロップ1−71〜1−75,1−81〜1−85,1−91〜1−95
のリセットが解除される。リセットが解除されると、7
ビット・バイナリ・カウンタ1−1は、端子1−4に与
えられるクロックによって開始する。このクロックは、
システム・クロックを分周してつくる低い周波数のクロ
ックである。また、同時に、マイクロコンピュータは命
令の実行を開始する。マイクロコンピュータの命令セッ
トの中には、あらかじめ7ビット・バイナリ・カウンタ
1−1をリセットする命令を用意しておき、制御および
演算等を行なう命令の所々にそう入して7ビット・バイ
ナリ・カウンタ1−1がオーバーフローしない様にリセ
ットする。
リセットを行なう為のハード上の手続きは以下の通りで
ある。
ある。
7ビット・バイナリ・カウンタ1−1をリセットする命
令を実行すると、第3図に示すタイミングでAとBの信
号を発生する様に、マイクロ・コンピュータのハードを
構成し、A信号を端子1−15に、また、B信号を端子1
−14に与える。今、7ビット・バイナリ・カウンタ1−
1の第1ビットに注目すると、信号Aによって第1ビッ
トのQ出力の値がD型フリップ・フロップ1−75に格納
され、同時に、D型フリップ・フロップ1−75のQ出力
の値がD型フリップ・フロップ1−85に、また、1−85
の値が1−95にそれぞれ格納される。同様の手続きが、
第2ビットから第5ビットにも適用される。即ち、信号
Aによって、7ビット・バイナリ・カウンタ1−1のカ
ウント値の第1ビットから第5ビットの値が、D型フリ
ップ・フロップ1−75〜1−71へ転送される。
令を実行すると、第3図に示すタイミングでAとBの信
号を発生する様に、マイクロ・コンピュータのハードを
構成し、A信号を端子1−15に、また、B信号を端子1
−14に与える。今、7ビット・バイナリ・カウンタ1−
1の第1ビットに注目すると、信号Aによって第1ビッ
トのQ出力の値がD型フリップ・フロップ1−75に格納
され、同時に、D型フリップ・フロップ1−75のQ出力
の値がD型フリップ・フロップ1−85に、また、1−85
の値が1−95にそれぞれ格納される。同様の手続きが、
第2ビットから第5ビットにも適用される。即ち、信号
Aによって、7ビット・バイナリ・カウンタ1−1のカ
ウント値の第1ビットから第5ビットの値が、D型フリ
ップ・フロップ1−75〜1−71へ転送される。
転送が完了すると、信号Bがハイ・レベルになる以前の
5入力NANDゲート1−13の出力が決定する。例えば、
今、D型フリップ・フロップ1−75〜1−71のQ出力の
値が順にハイ,ロウ,ハイ,ロウ,ハイのレベルである
とする。すると、先のシステム・リセットによってD型
フリップ・フロップ1−85〜1−81,1−95〜1−91のQ
出力はロウ・レベルであるので、2入力ORゲート1−12
5〜1−121の出力は順にロウ,ハイ,ロウ,ハイ,ロウ
のレベルとなり、5入力NANDゲート1−13の出力はハイ
・レベルになる。従って、信号Bによって、2入力NAND
ゲート1−17の出力がロウ・レベルに、また2入力AND
ゲート1−6の出力もロウ・レベルとなり、7ビット・
バイナリ・カウンタ1−1のカウント値が0にリセット
される。
5入力NANDゲート1−13の出力が決定する。例えば、
今、D型フリップ・フロップ1−75〜1−71のQ出力の
値が順にハイ,ロウ,ハイ,ロウ,ハイのレベルである
とする。すると、先のシステム・リセットによってD型
フリップ・フロップ1−85〜1−81,1−95〜1−91のQ
出力はロウ・レベルであるので、2入力ORゲート1−12
5〜1−121の出力は順にロウ,ハイ,ロウ,ハイ,ロウ
のレベルとなり、5入力NANDゲート1−13の出力はハイ
・レベルになる。従って、信号Bによって、2入力NAND
ゲート1−17の出力がロウ・レベルに、また2入力AND
ゲート1−6の出力もロウ・レベルとなり、7ビット・
バイナリ・カウンタ1−1のカウント値が0にリセット
される。
万一、7ビット・バイナリ・カウンタ1−1のカウント
値がオーバーフローしてしまった場合、マイクロコンピ
ュータの命令実行のシーケンスがくずれ、暴走してしま
ったとして、端子1−16から出力されるハイ・レベル信
号をもとにしてマイクロコンピュータにシステム・リセ
ットをかける。これは、従来の回路の動作と同一であ
る。もし、プログラムの暴走が無限ループとなり、か
つ、そのループの中に7ビット・バイナリ・カウンタ1
−1をリセットする命令が含まれていた場合は、次のよ
うな動作となる。
値がオーバーフローしてしまった場合、マイクロコンピ
ュータの命令実行のシーケンスがくずれ、暴走してしま
ったとして、端子1−16から出力されるハイ・レベル信
号をもとにしてマイクロコンピュータにシステム・リセ
ットをかける。これは、従来の回路の動作と同一であ
る。もし、プログラムの暴走が無限ループとなり、か
つ、そのループの中に7ビット・バイナリ・カウンタ1
−1をリセットする命令が含まれていた場合は、次のよ
うな動作となる。
無限ループを形成するという事は、7ビット・バイナリ
・カウンタ1−1がリセットされる時のカウント値も常
に同一であると考えられる。すると、今まで説明してき
た手続きをとると、第1ビットに関してはD型フリップ
・フロップ1−75と、1−85と、1−95のQ出力が無限
ループを3回まわると一致する。第2ビットから第5ビ
ットについても同様である。すると、結果として、2入
力ORゲート1−125〜1−121の出力が全てハイ・レベル
となり、5入力NANDゲート1−13の出力がロウ・レベル
となる。従って、無限ループの3周目の7ビット・バイ
ナリ・カウンタ1−1をリセットする命令の信号Bは、
2入力NANDゲート1−17の信号Bが入力されるもう一方
の側が、ロウ・レベルであるので、2入力NANDゲート1
−17の出力はハイ・レベルのままとなり、7ビット・バ
イナリ・カウンタ1−1はリセットされず、オーバーフ
ローして端子1−16がハイ・レベルとなってシステムリ
セットがかかり、無限ループを抜けることができる。
・カウンタ1−1がリセットされる時のカウント値も常
に同一であると考えられる。すると、今まで説明してき
た手続きをとると、第1ビットに関してはD型フリップ
・フロップ1−75と、1−85と、1−95のQ出力が無限
ループを3回まわると一致する。第2ビットから第5ビ
ットについても同様である。すると、結果として、2入
力ORゲート1−125〜1−121の出力が全てハイ・レベル
となり、5入力NANDゲート1−13の出力がロウ・レベル
となる。従って、無限ループの3周目の7ビット・バイ
ナリ・カウンタ1−1をリセットする命令の信号Bは、
2入力NANDゲート1−17の信号Bが入力されるもう一方
の側が、ロウ・レベルであるので、2入力NANDゲート1
−17の出力はハイ・レベルのままとなり、7ビット・バ
イナリ・カウンタ1−1はリセットされず、オーバーフ
ローして端子1−16がハイ・レベルとなってシステムリ
セットがかかり、無限ループを抜けることができる。
本実施例において、D型フリップ・フロップに第0ビッ
トの内容を格納しないのは、無限ループの1回の時間が
ループをまわる毎に多少違っても無限ループと判断でき
るようにする処置であり、また、第6ビットを格納しな
いのは、オーバーフローしない限り、第6ビットのQ出
力がハイ・レベルにならないからである。
トの内容を格納しないのは、無限ループの1回の時間が
ループをまわる毎に多少違っても無限ループと判断でき
るようにする処置であり、また、第6ビットを格納しな
いのは、オーバーフローしない限り、第6ビットのQ出
力がハイ・レベルにならないからである。
本回路の性質として、同一の周期で7ビット・バイナリ
・カウンタ1−1がリセットされると、それが正常な命
令実行のシーケンスであっても、暴走したと判断してし
まう点があげられる。従って、7ビット・バイナリ・カ
ウンタ1−1のリセット命令の実行は不定期に行なわな
ければならない。
・カウンタ1−1がリセットされると、それが正常な命
令実行のシーケンスであっても、暴走したと判断してし
まう点があげられる。従って、7ビット・バイナリ・カ
ウンタ1−1のリセット命令の実行は不定期に行なわな
ければならない。
第2図は、本発明の第2の実施例の回路図であり、本実
施例はK,L,M,Nの値をそれぞれ、7,1,5,5に選んだ場合の
例である。
施例はK,L,M,Nの値をそれぞれ、7,1,5,5に選んだ場合の
例である。
端子2−5は、通常ハイ・レベルでマイクロコンピュー
タのシステム・リセット時にロウ・レベルとなるものと
する。端子2−5がロウ・レベルとなると、2入力AND
ゲート2−6の出力もロウ・レベルとなり、7ビット・
バイナリ・カウンタの2−1のカウント値が0に、ま
た、D型フリップ・フロップ2−71〜2−75のQ出力お
よびフリップ・フロップ2−14,2−15,2−16で構成され
る3ビット・バイナリ・カウンタのQ出力がロウ・レベ
ルにリセットされる。従って、EXNORゲート2−81〜2
−85の出力がハイ・レベルに、5入力ANDゲートの出力
がハイ・レベルに、3入力NANDゲート2−17の出力がハ
イ・レベルに、それぞれ固定される。
タのシステム・リセット時にロウ・レベルとなるものと
する。端子2−5がロウ・レベルとなると、2入力AND
ゲート2−6の出力もロウ・レベルとなり、7ビット・
バイナリ・カウンタの2−1のカウント値が0に、ま
た、D型フリップ・フロップ2−71〜2−75のQ出力お
よびフリップ・フロップ2−14,2−15,2−16で構成され
る3ビット・バイナリ・カウンタのQ出力がロウ・レベ
ルにリセットされる。従って、EXNORゲート2−81〜2
−85の出力がハイ・レベルに、5入力ANDゲートの出力
がハイ・レベルに、3入力NANDゲート2−17の出力がハ
イ・レベルに、それぞれ固定される。
システム・リセットが解除されると、端子2−5はハイ
・レベルとなり、7ビット・バイナリ・カウンタ2−1,
D型フリップ・フロップ2−71〜2−75およびバイナリ
・フリップ・フロップ2−14,2−15,2−16のリセットが
解除される。リセットが解除されると、7ビット・バイ
ナリ・カウンタ2−1は、端子2−4に与えられるクロ
ックによってカウントを開始する。同時に、マイクロ・
コンピュータは命令の実行を開始する。そして、第一の
実施例と同様に、7ビット・バイナリ・カウンタ2−1
をリセットる命令によってオーバーフローしないように
する。
・レベルとなり、7ビット・バイナリ・カウンタ2−1,
D型フリップ・フロップ2−71〜2−75およびバイナリ
・フリップ・フロップ2−14,2−15,2−16のリセットが
解除される。リセットが解除されると、7ビット・バイ
ナリ・カウンタ2−1は、端子2−4に与えられるクロ
ックによってカウントを開始する。同時に、マイクロ・
コンピュータは命令の実行を開始する。そして、第一の
実施例と同様に、7ビット・バイナリ・カウンタ2−1
をリセットる命令によってオーバーフローしないように
する。
リセットを行なう手続きについて第一の実施例とは異な
り、以下のようになる。
り、以下のようになる。
7ビット・バイナリ・カウンタ2−1をリセットする命
令を実行すると、第4図に示すタイミングでA,B,Cの信
号を発生する様に、マイクロコンピュータのハードを構
成し、A信号を端子2−20に、B信号を端子2−21に、
C信号を端子2−22に、それぞれ与える。EXNOR2−81〜
2−85は、先にリセットされたD型フリップ・フロップ
2−71〜2−75のQ出力と、カウントをつづける7ビッ
ト・バイナリ・カウンタ2−1の第1のビットから第5
ビットの値とを逐時比較し、一致したらハイ・レベルを
出力する。
令を実行すると、第4図に示すタイミングでA,B,Cの信
号を発生する様に、マイクロコンピュータのハードを構
成し、A信号を端子2−20に、B信号を端子2−21に、
C信号を端子2−22に、それぞれ与える。EXNOR2−81〜
2−85は、先にリセットされたD型フリップ・フロップ
2−71〜2−75のQ出力と、カウントをつづける7ビッ
ト・バイナリ・カウンタ2−1の第1のビットから第5
ビットの値とを逐時比較し、一致したらハイ・レベルを
出力する。
従って、5入力ANDゲート2−9は、その比較を行なう
全ビットが一致したらハイ・レベルを出力する。5入力
ANDゲート2−9の出力が確定している状態で信号Aが
ハイ・レベルになり、再びロウ・レベルになると、5入
力ANDゲート2−9の出力がハイ・レベルであれば、2
入力ANDゲート2−11の出力は信号Aと同一の信号が現
れる。また、2入力ANDゲート2−13の出力はハイ・レ
ベルのままとなる。逆に、5入力ANDゲート2−9の出
力がロウ・レベルであれば、2入力ANDゲート2−11の
出力はロウ・レベルのままとなり、2入力ANDゲート2
−13の出力には信号Aの反転の信号が現れる。
全ビットが一致したらハイ・レベルを出力する。5入力
ANDゲート2−9の出力が確定している状態で信号Aが
ハイ・レベルになり、再びロウ・レベルになると、5入
力ANDゲート2−9の出力がハイ・レベルであれば、2
入力ANDゲート2−11の出力は信号Aと同一の信号が現
れる。また、2入力ANDゲート2−13の出力はハイ・レ
ベルのままとなる。逆に、5入力ANDゲート2−9の出
力がロウ・レベルであれば、2入力ANDゲート2−11の
出力はロウ・レベルのままとなり、2入力ANDゲート2
−13の出力には信号Aの反転の信号が現れる。
即ち、信号Aによって7ビット・バイナリ・カウンタ2
−1のカウント値とD型フリップ・フロップの格納値が
一致すると、バイナリ・フリップ・フロップ2−14〜2
−16で構成するバイナリカウンタのカウント値を+1と
する。一致しない時は、カウント値を0にリセットす
る。次に、信号Bによって、今、比較した7ビット・バ
イナリ・カウンタ2−1のカウント値の第1ビット目か
ら第5ビット目までの値をD型フリップ・フロップ2−
71〜2−75に転送する。最後に、信号Cによって7ビッ
ト・バイナリ・カウンタ2−1をリセットする。信号C
が入力される2入力NANDゲート2−10のもう一方の入力
には、3入力NANDゲート2−17の出力が接続されてお
り、D型フリップ・フロップ2−14〜2−16のQ出力が
順にハイ,ロウ,ハイのレベルになっている時にのみ3
入力NANDゲート2−17の出力がロウ・レベルとなる。即
ち、通常の状態においては、信号Cによって、7ビット
・バイナリ・カウンタ2−1がリセットされることにな
る。
−1のカウント値とD型フリップ・フロップの格納値が
一致すると、バイナリ・フリップ・フロップ2−14〜2
−16で構成するバイナリカウンタのカウント値を+1と
する。一致しない時は、カウント値を0にリセットす
る。次に、信号Bによって、今、比較した7ビット・バ
イナリ・カウンタ2−1のカウント値の第1ビット目か
ら第5ビット目までの値をD型フリップ・フロップ2−
71〜2−75に転送する。最後に、信号Cによって7ビッ
ト・バイナリ・カウンタ2−1をリセットする。信号C
が入力される2入力NANDゲート2−10のもう一方の入力
には、3入力NANDゲート2−17の出力が接続されてお
り、D型フリップ・フロップ2−14〜2−16のQ出力が
順にハイ,ロウ,ハイのレベルになっている時にのみ3
入力NANDゲート2−17の出力がロウ・レベルとなる。即
ち、通常の状態においては、信号Cによって、7ビット
・バイナリ・カウンタ2−1がリセットされることにな
る。
ここで、第一の実施例と同様にプログラムが暴走し、7
ビット・バイナリ・カウンタ2−1をリセットする命令
を含む無限ループに入った場合を考える。
ビット・バイナリ・カウンタ2−1をリセットする命令
を含む無限ループに入った場合を考える。
7ビット・バイナリ・カウンタ2−1の第1ビットから
第5ビットの値が同一の値で5回リセットされると、バ
イナリフリップ・フロップ2−14〜2−16のQ出力の値
が順にハイ,ロウ,ハイのレベルとなり、3入力NANDゲ
ート2−17の出力がロウ・レベルになる。すると、6回
目の7ビット・バイナリ・カウンタ2−1のリセット命
令を実行しても、2入力NANDゲート2−10の出力は、ハ
イ・レベルに固定され、7ビット・バイナリ・カウンタ
2−1はリセットされず、オーバーフローをおこして端
子2−23をハイ・レベルにし、第一の実施例と同様にシ
ステム・リセットをかける。
第5ビットの値が同一の値で5回リセットされると、バ
イナリフリップ・フロップ2−14〜2−16のQ出力の値
が順にハイ,ロウ,ハイのレベルとなり、3入力NANDゲ
ート2−17の出力がロウ・レベルになる。すると、6回
目の7ビット・バイナリ・カウンタ2−1のリセット命
令を実行しても、2入力NANDゲート2−10の出力は、ハ
イ・レベルに固定され、7ビット・バイナリ・カウンタ
2−1はリセットされず、オーバーフローをおこして端
子2−23をハイ・レベルにし、第一の実施例と同様にシ
ステム・リセットをかける。
以上のようにして、無限ループから抜けることができ
る。
る。
以上説明したように本発明は、マイクロコンピュータの
システムクロックを分周してつくるカウント・クロック
によりカウントをつづけるKビット・バイナリ・カウン
タが所定の命令でリセットされ、そのリセット毎に第L
ビット目から第Mビット目(0≦L≦M<K)までのリ
セット直前の計数値出力がそれぞれ対応するNビット・
シフトレジスタに格納されてシフトされ、これらNビッ
ト・シフトレジスタの各ビット値がそれぞれ同一値にな
るとシステム・リセット信号を発生する第1のリセット
制御手段、または前記リセット直前の計数値出力がそれ
ぞれ対応するD型フリップ・フロップに格納されこの格
納された値と次のリセット時の直前の計数値とがそれぞ
れ一致する毎にこの一致信号がnビット・バイナリ・カ
ウンタに供給されて計数され、あらかじめ定めた所定値
になるとシステム・リセット信号を発生する第2のリセ
ット制御手段のいずれか一方を備えるので、プログラム
の暴走が無限ループとなり、かつそのループの中に前記
Kビット・バイナリ・カウンタをリセットする前記所定
の命令が含まれているとき、この命令が少なくともN回
実行される毎に前記リセット直前の計数値出力が常に同
一値であれば、その後に実行される前記所定の命令によ
るリセットを第1または第2のリセット制御手段のいず
れか一方で無効にしてKビット・バイナリ・カウンタを
オーバーフローさせることができる。したがって、従来
の暴走監視タイマの機能に加えてプログラムの暴走がK
ビット・バイナリ・カウンタをリセットする命令を含む
無限ループであっても、その無限ループから抜けること
ができ、かつプログラムの暴走を検出できる効果があ
る。
システムクロックを分周してつくるカウント・クロック
によりカウントをつづけるKビット・バイナリ・カウン
タが所定の命令でリセットされ、そのリセット毎に第L
ビット目から第Mビット目(0≦L≦M<K)までのリ
セット直前の計数値出力がそれぞれ対応するNビット・
シフトレジスタに格納されてシフトされ、これらNビッ
ト・シフトレジスタの各ビット値がそれぞれ同一値にな
るとシステム・リセット信号を発生する第1のリセット
制御手段、または前記リセット直前の計数値出力がそれ
ぞれ対応するD型フリップ・フロップに格納されこの格
納された値と次のリセット時の直前の計数値とがそれぞ
れ一致する毎にこの一致信号がnビット・バイナリ・カ
ウンタに供給されて計数され、あらかじめ定めた所定値
になるとシステム・リセット信号を発生する第2のリセ
ット制御手段のいずれか一方を備えるので、プログラム
の暴走が無限ループとなり、かつそのループの中に前記
Kビット・バイナリ・カウンタをリセットする前記所定
の命令が含まれているとき、この命令が少なくともN回
実行される毎に前記リセット直前の計数値出力が常に同
一値であれば、その後に実行される前記所定の命令によ
るリセットを第1または第2のリセット制御手段のいず
れか一方で無効にしてKビット・バイナリ・カウンタを
オーバーフローさせることができる。したがって、従来
の暴走監視タイマの機能に加えてプログラムの暴走がK
ビット・バイナリ・カウンタをリセットする命令を含む
無限ループであっても、その無限ループから抜けること
ができ、かつプログラムの暴走を検出できる効果があ
る。
従って、マイクロコンピュータにより制御を行なう系に
おける動作を信頼性をより向上する事ができる。
おける動作を信頼性をより向上する事ができる。
第1図および第2図は本発明の第1および第2の実施例
の回路図、第3図は第1の実施例で使用する信号のタイ
ミング図、第4図は第2の実施例で使用する信号のタイ
ミング図、第5図は従来の例の回路図である。 1−1……7ビット・バイナリ・カウンタ、1−2……
バイナリ・カウンタ1−1がリセットされる直前の第1
ビットから第5ビットの値を格納するレジスタ、1−3
……リセット制御部、1−4……システム・クロックを
分周してつくるカウント・クロック入力端子、1−5…
…マイクロコンピュータのシステム・リセット時にロウ
・レベルになる端子、1−6……2入力ANDゲート、1
−71〜1−75,1−81〜1−85,1−91〜1−95……R端子
がロウ・レベルになるとQ出力がロウ・レベルにリセッ
トされ、C端子に与えられる信号の立下がりエッジでD
端子から入力されるデータがQ端子へ伝わるD型フリッ
プ・フロップ、1−101〜1−105……3入力ANDゲー
ト、1−111〜1−115……3入力NORゲート、1−121〜
1−125……2入力ORゲート、1−13……5入力NANDゲ
ート、1−14……バイナリ・カウンタ1−1をリセット
する命令を実行する際、第3図の信号Bが与えられる端
子、1−15……1−14と同様に信号Aが与えられる端
子、1−16……バイナリ・カウンタの最高位ビットのQ
出力端子、1−17……2入力NANDゲート、2−1……7
ビット・バイナリ・カウンタ、2−1……バイナリ・カ
ウンタ・2−1がリセットされる直前の第1ビットから
第5ビットの値を格納するレジスタ、2−3……リセッ
ト制御部、2−4……カウント・クロック入力端子、2
−5……マイクロコンピュータのシステム・リセット時
にロウ・レベルになる端子、2−6……2入力ANDゲー
ト、2−71〜2−75……D型フリップ・フロップ、2−
81〜2−85……EXNORゲート(排他的論理和の反転)2
−9……5入力ANDゲート、2−10……入力NANDゲー
ト、2−11……2入力ANDゲート、2−12……インバー
タ、2−13……2入力ANDゲート、2−14,2−15,2−16
……C,C端子に反転関係のクロックを入れ、C端子に与
えられるクロックの立上りエッジ毎に、Q出力を反転ま
た、R端子にロウ・レベルの信号を与えるとQ出力がロ
ウ・レベルにリセットされるバイナリ・フリップ・フロ
ップ、2−17……3入力NANDゲート、2−18……2入力
NANDゲート、2−19……インバータ、2−20……バイナ
リ・カウンタ2−1をリセットする命令を実行する際、
第4図の信号Aが与えられる端子、2−21……1−20と
同様に信号Bが与えられる端子、2−22……1−20と同
様に信号Cが与えられる端子、2−23……バイナリ・カ
ウンタの最高位ビットのQ出力端子、5−1……(K)
ビット・バイナリ・カウンタ、5−2……リセット制御
部、5−3……マイクロコンピュータのシステム・リセ
ット時にロウ・レベルになる端子、5−4……kビット
・バイナリ・カウンタをリセットする命令を実行する
と、一時的にロウ・レベルとなる端子、5−5……カウ
ント・クロック入力端子、5−6……バイナリ・カウン
タの最高位ビットのQ出力。
の回路図、第3図は第1の実施例で使用する信号のタイ
ミング図、第4図は第2の実施例で使用する信号のタイ
ミング図、第5図は従来の例の回路図である。 1−1……7ビット・バイナリ・カウンタ、1−2……
バイナリ・カウンタ1−1がリセットされる直前の第1
ビットから第5ビットの値を格納するレジスタ、1−3
……リセット制御部、1−4……システム・クロックを
分周してつくるカウント・クロック入力端子、1−5…
…マイクロコンピュータのシステム・リセット時にロウ
・レベルになる端子、1−6……2入力ANDゲート、1
−71〜1−75,1−81〜1−85,1−91〜1−95……R端子
がロウ・レベルになるとQ出力がロウ・レベルにリセッ
トされ、C端子に与えられる信号の立下がりエッジでD
端子から入力されるデータがQ端子へ伝わるD型フリッ
プ・フロップ、1−101〜1−105……3入力ANDゲー
ト、1−111〜1−115……3入力NORゲート、1−121〜
1−125……2入力ORゲート、1−13……5入力NANDゲ
ート、1−14……バイナリ・カウンタ1−1をリセット
する命令を実行する際、第3図の信号Bが与えられる端
子、1−15……1−14と同様に信号Aが与えられる端
子、1−16……バイナリ・カウンタの最高位ビットのQ
出力端子、1−17……2入力NANDゲート、2−1……7
ビット・バイナリ・カウンタ、2−1……バイナリ・カ
ウンタ・2−1がリセットされる直前の第1ビットから
第5ビットの値を格納するレジスタ、2−3……リセッ
ト制御部、2−4……カウント・クロック入力端子、2
−5……マイクロコンピュータのシステム・リセット時
にロウ・レベルになる端子、2−6……2入力ANDゲー
ト、2−71〜2−75……D型フリップ・フロップ、2−
81〜2−85……EXNORゲート(排他的論理和の反転)2
−9……5入力ANDゲート、2−10……入力NANDゲー
ト、2−11……2入力ANDゲート、2−12……インバー
タ、2−13……2入力ANDゲート、2−14,2−15,2−16
……C,C端子に反転関係のクロックを入れ、C端子に与
えられるクロックの立上りエッジ毎に、Q出力を反転ま
た、R端子にロウ・レベルの信号を与えるとQ出力がロ
ウ・レベルにリセットされるバイナリ・フリップ・フロ
ップ、2−17……3入力NANDゲート、2−18……2入力
NANDゲート、2−19……インバータ、2−20……バイナ
リ・カウンタ2−1をリセットする命令を実行する際、
第4図の信号Aが与えられる端子、2−21……1−20と
同様に信号Bが与えられる端子、2−22……1−20と同
様に信号Cが与えられる端子、2−23……バイナリ・カ
ウンタの最高位ビットのQ出力端子、5−1……(K)
ビット・バイナリ・カウンタ、5−2……リセット制御
部、5−3……マイクロコンピュータのシステム・リセ
ット時にロウ・レベルになる端子、5−4……kビット
・バイナリ・カウンタをリセットする命令を実行する
と、一時的にロウ・レベルとなる端子、5−5……カウ
ント・クロック入力端子、5−6……バイナリ・カウン
タの最高位ビットのQ出力。
Claims (1)
- 【請求項1】システム・クロックを分周して得られたカ
ウント・クロックを計数するとともに、この計数結果が
オーバーフローする以前に所定の命令でリセットされ、
オーバーフローしたときにはリセット信号を発生するK
ビット・バイナリ・カウンタを有し、前記オーバーフロ
ー時のリセット信号に応答してマイクロコンピュータに
システム・リセットをかけるようにしたソフトウェアの
暴走監視タイマにおいて、前記Kビット・バイナリ・カ
ウンタが前記所定の命令でリセットされ、そのリセット
毎に第Lビット目から第Mビット目(0≦L≦M<K)
までのリセット直前の計数値出力がそれぞれ対応するN
ビット・シフトレジスタに格納されてシフトされ、これ
らNビット・シフトレジスタの各ビット値がそれぞれ同
一値になるとシステム・リセット信号を発生する第1の
リセット制御手段、または前記リセット直前の計数値出
力がそれぞれ対応するD型フリップ・フロップに格納さ
れこの格納された値と次のリセット時の直前の計数値と
がそれぞれ一致する毎にこの一致信号がnビット・バイ
ナリ・カウンタに供給されて計数され、あらかじめ定め
た所定値になるとシステム・リセット信号を発生する第
2のリセット制御手段のいずれか一方を備え、プログラ
ムの暴走が無限ループとなり、かつそのループの中に前
記Kビット・バイナリ・カウンタをリセットする前記所
定の命令が含まれているとき、この命令が少なくともN
回実行される毎に前記リセット直前の計数値出力が常に
同一値であれば、その後に実行される前記所定の命令に
よるリセットを前記第1または第2のリセット制御手段
のいずれか一方で無効にして前記Kビット・バイナリ・
カウンタをオーバーフローさせ前記無限ループから抜け
ることを特徴とするソフトウェアの暴走監視タイマ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63272217A JPH0743658B2 (ja) | 1988-10-27 | 1988-10-27 | ソフトウェアの暴走監視タイマ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63272217A JPH0743658B2 (ja) | 1988-10-27 | 1988-10-27 | ソフトウェアの暴走監視タイマ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02118741A JPH02118741A (ja) | 1990-05-07 |
| JPH0743658B2 true JPH0743658B2 (ja) | 1995-05-15 |
Family
ID=17510745
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63272217A Expired - Lifetime JPH0743658B2 (ja) | 1988-10-27 | 1988-10-27 | ソフトウェアの暴走監視タイマ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0743658B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7417799B2 (en) | 2003-08-04 | 2008-08-26 | Genoa Color Technologies Ltd. | Multi-primary color display |
| US8885120B2 (en) | 2001-06-11 | 2014-11-11 | Genoa Color Technologies Ltd. | Liquid crystal display device using a color-sequential method wherein the number of different colored LEDs is less than the number of primary colors used in the display |
| US9196203B2 (en) | 2001-06-11 | 2015-11-24 | Samsung Display Co., Ltd. | Device and system for a multi-color sequential LCD panel wherein the number of colors in a sequence of display colors is greater than the number of LED colors |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6133552A (ja) * | 1984-07-25 | 1986-02-17 | Nec Corp | 情報処理装置 |
| JPS6359637A (ja) * | 1986-08-29 | 1988-03-15 | Nec Corp | プロセツサの動作監視回路 |
-
1988
- 1988-10-27 JP JP63272217A patent/JPH0743658B2/ja not_active Expired - Lifetime
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8885120B2 (en) | 2001-06-11 | 2014-11-11 | Genoa Color Technologies Ltd. | Liquid crystal display device using a color-sequential method wherein the number of different colored LEDs is less than the number of primary colors used in the display |
| US9196203B2 (en) | 2001-06-11 | 2015-11-24 | Samsung Display Co., Ltd. | Device and system for a multi-color sequential LCD panel wherein the number of colors in a sequence of display colors is greater than the number of LED colors |
| US7417799B2 (en) | 2003-08-04 | 2008-08-26 | Genoa Color Technologies Ltd. | Multi-primary color display |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02118741A (ja) | 1990-05-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4179737A (en) | Means and methods for providing greater speed and flexibility of microinstruction sequencing | |
| US5684728A (en) | Data processing system having a saturation arithmetic operation function | |
| US4462072A (en) | Clock system having a stall capability to enable processing of errors | |
| JPS6338725B2 (ja) | ||
| GB2241799A (en) | Supervision of microprocessors | |
| JPH0743658B2 (ja) | ソフトウェアの暴走監視タイマ | |
| JPH1117531A (ja) | デジタル遅延回路及びデジタルpll回路 | |
| JPH057738B2 (ja) | ||
| US4206458A (en) | Numerical display system for electronic instrument | |
| JPH083514B2 (ja) | カウンタ・テスト装置 | |
| JPS5935533B2 (ja) | 非同期型数値制御計数器 | |
| JPH0113129B2 (ja) | ||
| JP2924968B2 (ja) | 時間双方向シミュレーション装置 | |
| US4468133A (en) | Electronic timepiece | |
| JPS593563A (ja) | 計算機システム評価用タイマ | |
| EP0305530A1 (en) | High-speed floating point arithmetic unit | |
| JPH04255028A (ja) | マイクロプロセッサ | |
| JP3070014B2 (ja) | シフト回路 | |
| JP3225613B2 (ja) | マイクロコンピュータ | |
| JPS6049938B2 (ja) | マイクロプログラムル−プ制御装置 | |
| JP3085690B2 (ja) | 中央演算処理装置 | |
| CN119829492A (zh) | 一种中断信号的控制电路和电子设备 | |
| RU1789977C (ru) | Ячейка однородной структуры | |
| JPS62271022A (ja) | マイクロプログラム制御装置 | |
| SU1663607A1 (ru) | Цифровой генератор функций |