JPH02118741A - ソフトウェアの暴走監視タイマ - Google Patents
ソフトウェアの暴走監視タイマInfo
- Publication number
- JPH02118741A JPH02118741A JP63272217A JP27221788A JPH02118741A JP H02118741 A JPH02118741 A JP H02118741A JP 63272217 A JP63272217 A JP 63272217A JP 27221788 A JP27221788 A JP 27221788A JP H02118741 A JPH02118741 A JP H02118741A
- Authority
- JP
- Japan
- Prior art keywords
- reset
- binary counter
- bit
- software
- 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.)
- Granted
Links
- 238000012544 monitoring process Methods 0.000 claims description 8
- 229910002056 binary alloy Inorganic materials 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 210000004899 c-terminal region Anatomy 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 101000860173 Myxococcus xanthus C-factor Proteins 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Electronic Switches (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、マイクロ・コンピュータの周辺ハードウェア
に関し、特にカウント値がオーバーフローするシステム
・リセット信号を発生させる機能をもつソフトウェアの
暴走監視タイマの回路構成に関する。
に関し、特にカウント値がオーバーフローするシステム
・リセット信号を発生させる機能をもつソフトウェアの
暴走監視タイマの回路構成に関する。
従来、この種のタイマは、主に第5図に示すように、k
ビット・バイナリ・カウンタ5−1およびリセット制御
部5−2から構成されていた。
ビット・バイナリ・カウンタ5−1およびリセット制御
部5−2から構成されていた。
第5図の従来のソフトウェアの暴走監視タイマを具体例
で説明すると、以下のようになる。
で説明すると、以下のようになる。
まず、マイクロ・コンピュータに対し、外部から与えら
れるリセット信号によりシステム・リセットが行なわれ
る際、端子5−3にロウ・レベルが加わるものとする。
れるリセット信号によりシステム・リセットが行なわれ
る際、端子5−3にロウ・レベルが加わるものとする。
すると、リセット時には、リセット制御部5−2からは
ロウ・レベルの信号が出力される。従って、ロウ・アク
ティブのリセット端子をもつにビット・バイナリ・カウ
ンタ5−1.のカウント値は0に初期化される。
ロウ・レベルの信号が出力される。従って、ロウ・アク
ティブのリセット端子をもつにビット・バイナリ・カウ
ンタ5−1.のカウント値は0に初期化される。
端子5−4は、ソフトウェアによりにビット・バイナリ
・カウンタをリセットする命令を実行する際にロウ・レ
ベルとなる端子で、それ以外の時はハイ・レベルとなっ
ている。
・カウンタをリセットする命令を実行する際にロウ・レ
ベルとなる端子で、それ以外の時はハイ・レベルとなっ
ている。
この状態で、端子5−5にマイクロ・コンピュータの命
令サイクルに対して充分長い周期のクロックを加える。
令サイクルに対して充分長い周期のクロックを加える。
すると、マイクロ・コンピュータが何命名か実行すると
にビット・バイナリ・カラ〉・夕5−1のカウント値が
+1される。そして、カウント値がオーバーフローする
前ににビット・バイナリ・カウンタ5−1をリセットす
る命令、即ち、端子5−4をロウ・レベルにする命令を
実行する。
にビット・バイナリ・カラ〉・夕5−1のカウント値が
+1される。そして、カウント値がオーバーフローする
前ににビット・バイナリ・カウンタ5−1をリセットす
る命令、即ち、端子5−4をロウ・レベルにする命令を
実行する。
つまり、マイクロ・コンピュータが実行する命令の何ス
テップか毎に、kビット・バイナリ・カウンタ5−1を
リセットする命令を入れるという事である。以」−によ
り端子5−6は常にロウ・レベルに保たれる。もし、何
らかの理由でにビット・バイナリ・カウンタ5−1がリ
セットされずにオーバーフローして端子5−6がハイ・
レベルになった場合は、ソフトウェアが暴走した為にに
ビット・バイナリ・カウンタのリセットを行なう命令が
実行されなかったと判断する。
テップか毎に、kビット・バイナリ・カウンタ5−1を
リセットする命令を入れるという事である。以」−によ
り端子5−6は常にロウ・レベルに保たれる。もし、何
らかの理由でにビット・バイナリ・カウンタ5−1がリ
セットされずにオーバーフローして端子5−6がハイ・
レベルになった場合は、ソフトウェアが暴走した為にに
ビット・バイナリ・カウンタのリセットを行なう命令が
実行されなかったと判断する。
具体的には、マイクロ・コンピュータの回路構成として
、端子5−6がハイ・レベルになると、マイクロ・コン
ピュータに対して外部からリセット信号が加えられると
同等のシステム・リセット信号を発生させる様にしてお
く。従って、プログラムが暴走しつづける時間は、kビ
ット・バイナリ・カウンタ5−1がオーバー・フローす
るまでの時間だけという事になる。
、端子5−6がハイ・レベルになると、マイクロ・コン
ピュータに対して外部からリセット信号が加えられると
同等のシステム・リセット信号を発生させる様にしてお
く。従って、プログラムが暴走しつづける時間は、kビ
ット・バイナリ・カウンタ5−1がオーバー・フローす
るまでの時間だけという事になる。
しかし、この方式の従来のソフトウェアの暴走監視タイ
マは、以下の場合は、暴走を検出する事ができないとい
う欠点がある。
マは、以下の場合は、暴走を検出する事ができないとい
う欠点がある。
それは、kビット・バイナリ・カウンタ5−1をリセッ
トする命令を含む暴走無限ループに入ってしまった場合
であり、kビット・バイナリ・カウンタ5−1がオーバ
ーフローしない為、マイクロ・コンピュータの外部から
リセット信号を与えない限り、暴走しつづけるという欠
点がある。
トする命令を含む暴走無限ループに入ってしまった場合
であり、kビット・バイナリ・カウンタ5−1がオーバ
ーフローしない為、マイクロ・コンピュータの外部から
リセット信号を与えない限り、暴走しつづけるという欠
点がある。
本発明の目的は、上記欠点を除去し、暴走無限ループに
入った場合にも、実行している命令が暴走無限ループに
なっている事を判断し、システムリセット信号を発生さ
せる回路を提供することに有る。
入った場合にも、実行している命令が暴走無限ループに
なっている事を判断し、システムリセット信号を発生さ
せる回路を提供することに有る。
本発明のソフトウェアの暴走監視タイマの構成は、カラ
ンI〜・クロックによりカウントを続けるバーイナリ
カウンタがオーバーフローする以前に、該カウンタのカ
ウント値とソフトウェアでリセ・ソ1へし、オーバーフ
ローした場合にはシステムリセット信号を発生させる方
式のソフトウェアの暴走監視タイマにおいてにビット
バイナリ・カウンタと、該カウンタをソフトウェアでリ
セットする毎にリセット直前の第Qビット目から第mピ
ッ1−目までの(O≦η≦m<k )の値を格納するレ
ジスタと、該レジスタに格納される値が連続11回四回
であれば、前記バイナリ・カウンタのソフトウェアによ
るリセットを無効にするリセット制御部を含んで構成さ
れることを特徴とする。
ンI〜・クロックによりカウントを続けるバーイナリ
カウンタがオーバーフローする以前に、該カウンタのカ
ウント値とソフトウェアでリセ・ソ1へし、オーバーフ
ローした場合にはシステムリセット信号を発生させる方
式のソフトウェアの暴走監視タイマにおいてにビット
バイナリ・カウンタと、該カウンタをソフトウェアでリ
セットする毎にリセット直前の第Qビット目から第mピ
ッ1−目までの(O≦η≦m<k )の値を格納するレ
ジスタと、該レジスタに格納される値が連続11回四回
であれば、前記バイナリ・カウンタのソフトウェアによ
るリセットを無効にするリセット制御部を含んで構成さ
れることを特徴とする。
次に、本発明について図面を参照して説明する。
第1図は本発明の第1の実施例の回路図であり、本実施
例はに、、ff、ni、nの値をそれぞれ、7.1,5
.3に選んだ場合の例である。
例はに、、ff、ni、nの値をそれぞれ、7.1,5
.3に選んだ場合の例である。
端子】−5は、マイクロ・コンピュータに対して外部よ
りリセッI・信号を与える事によりロウ・レベルになり
、リセットの解除とと6にハイ・レベルになるものとす
る。即ち、マイクロ・コンピュータのシステム・リセッ
ト時にロウ・レベルになる。端子1−5がロウ・レベル
になると、2人力ANDゲート1−6の出力もロウ・レ
ベルになる。すると、端子1−5が直接ロウ・アクティ
ブのリセット端子に接続されたD型フリップ・フロップ
1−71〜1−75.1−81〜1−85゜]、 −9
1−1−95のQ出力がロウ・レベルとなり、また2人
力ANDゲート1−6の出力がロウ・アクティブのリセ
ット端子に接続された7ビツト・バイナリ・カウンタ1
−1のカウント値が0にリセットされる。従って、3人
力ANDゲート1−101〜]、−105および3人力
NORゲー1−1−111〜1−115のそれぞれの3
本の入力全てがロウ・レベルとなり、結果としてORゲ
ート1121〜1−125の出力がハイ・レベルに、5
人力NANDゲート1−13の出力がロウ・レベルに、
2人力NANDゲート1−17の出力がハイ・レベルに
それぞれ固定される。
りリセッI・信号を与える事によりロウ・レベルになり
、リセットの解除とと6にハイ・レベルになるものとす
る。即ち、マイクロ・コンピュータのシステム・リセッ
ト時にロウ・レベルになる。端子1−5がロウ・レベル
になると、2人力ANDゲート1−6の出力もロウ・レ
ベルになる。すると、端子1−5が直接ロウ・アクティ
ブのリセット端子に接続されたD型フリップ・フロップ
1−71〜1−75.1−81〜1−85゜]、 −9
1−1−95のQ出力がロウ・レベルとなり、また2人
力ANDゲート1−6の出力がロウ・アクティブのリセ
ット端子に接続された7ビツト・バイナリ・カウンタ1
−1のカウント値が0にリセットされる。従って、3人
力ANDゲート1−101〜]、−105および3人力
NORゲー1−1−111〜1−115のそれぞれの3
本の入力全てがロウ・レベルとなり、結果としてORゲ
ート1121〜1−125の出力がハイ・レベルに、5
人力NANDゲート1−13の出力がロウ・レベルに、
2人力NANDゲート1−17の出力がハイ・レベルに
それぞれ固定される。
マイクロ・コンピュータのシステム・リセットが解除さ
れ、端子〕−5の論理値はハイ・レベルになると、2人
力ANDゲート1−6の出力はハイ・レベルとなり、7
ビツト・バイナリ・カウンタ1−1およびD型フリップ
・フロップ1−71〜1−75.1−81〜1−85.
1−91〜195のリセットが解除される。リセットが
解除されると、7ビツト・バイナリ・カウンタ1−1は
、端子1−4に与えられるクロックによってカウントを
開始する。このクロックは、システム・クロックを分周
してつくる低い周波数のクロックである。また、同時に
、マイクロ・コンピュータは命令の実行を開始する。マ
イクロ・コンピュータの命令セットの中には、あらかじ
め7ビツト・バイナリ・カウンタ1−1をリセットする
命令を用意しておき、制御および演算等を行なう命令の
所々にそう人して7ビツト・バイナリ・カウンタ1−1
がオーバーフローしない様にリセットする。
れ、端子〕−5の論理値はハイ・レベルになると、2人
力ANDゲート1−6の出力はハイ・レベルとなり、7
ビツト・バイナリ・カウンタ1−1およびD型フリップ
・フロップ1−71〜1−75.1−81〜1−85.
1−91〜195のリセットが解除される。リセットが
解除されると、7ビツト・バイナリ・カウンタ1−1は
、端子1−4に与えられるクロックによってカウントを
開始する。このクロックは、システム・クロックを分周
してつくる低い周波数のクロックである。また、同時に
、マイクロ・コンピュータは命令の実行を開始する。マ
イクロ・コンピュータの命令セットの中には、あらかじ
め7ビツト・バイナリ・カウンタ1−1をリセットする
命令を用意しておき、制御および演算等を行なう命令の
所々にそう人して7ビツト・バイナリ・カウンタ1−1
がオーバーフローしない様にリセットする。
リセットを行なう為のハード上の手続きは以下の通りで
ある。
ある。
7ビツト・バイナリ・カウンタ1−1をリセットする命
令を実行すると、第3図に示すタイミングでAとBの信
号を発生する様に、マイクロ・コンピュータのハードを
構成し、A信号を端子1−15に、また、B信号を端子
1−14に与える。
令を実行すると、第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へ転送される。
に注目すると、信号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型フリップ・フロップ]−75〜1−71の
Q出力の値が順にハイ、ロウ、ハイ、ロウ、ハイのレベ
ルであるとする。すると、先のシステム・リセットによ
ってD型フリップ・フロップ1−85〜1−81..1
−95〜1−91のQ出力はロウ・レベルであるので、
2人力ORゲー1−1−125〜1−121の出力は順
にロウ、ハイ、ロウ、ハイ、ロウのレベルとなり、5人
力NANDゲート1−13の出力はハイ・レベルになる
。従って、信号Bによって、2人力NANDゲート1−
17の出力がロウ・レベルに、また2人力ANDゲート
1−6の出力もロウ・レベルとなり、7ビツト・バイナ
リ・カウンタJ、−1のカウント値が0にリセットされ
る。
5人力NANDゲート1−13の出力が決定する。例え
ば、今、D型フリップ・フロップ]−75〜1−71の
Q出力の値が順にハイ、ロウ、ハイ、ロウ、ハイのレベ
ルであるとする。すると、先のシステム・リセットによ
ってD型フリップ・フロップ1−85〜1−81..1
−95〜1−91のQ出力はロウ・レベルであるので、
2人力ORゲー1−1−125〜1−121の出力は順
にロウ、ハイ、ロウ、ハイ、ロウのレベルとなり、5人
力NANDゲート1−13の出力はハイ・レベルになる
。従って、信号Bによって、2人力NANDゲート1−
17の出力がロウ・レベルに、また2人力ANDゲート
1−6の出力もロウ・レベルとなり、7ビツト・バイナ
リ・カウンタJ、−1のカウント値が0にリセットされ
る。
万一、7ビツト・バイナリ・カウンタ1−1のカウント
値がオーバーフローしてしまった場合、マイクロ・コン
ピュータの命令実行のシーケンスがくずれ、暴走してし
まったとして、端子1−16から出力されるハイ・レベ
ル信号−をもにしてマイクロ・コンピュータにシステム
・リセットをかける。これは、従来の回路の動作ヒ同一
である。
値がオーバーフローしてしまった場合、マイクロ・コン
ピュータの命令実行のシーケンスがくずれ、暴走してし
まったとして、端子1−16から出力されるハイ・レベ
ル信号−をもにしてマイクロ・コンピュータにシステム
・リセットをかける。これは、従来の回路の動作ヒ同一
である。
もし、プログラムの暴走が無限ルーアとなり、かつ、そ
のループの中に7ビツト・バーイナリ・カンウンタ1−
1をリセットする命令が含まれていた場合は、次のよう
な動作となる。
のループの中に7ビツト・バーイナリ・カンウンタ1−
1をリセットする命令が含まれていた場合は、次のよう
な動作となる。
無限ループを形成するという事は、7ビツト・バイナリ
・カンウンタ1−1がリセットされる時のカウント値も
常に同一であると考えられる。
・カンウンタ1−1がリセットされる時のカウント値も
常に同一であると考えられる。
すると、今まで説明してきた手続きをとると、第1ビツ
トに関してはD型フリップ・フロツブ]−75と、]−
85と、1−95のQ出力が無限ループを3回まわると
一致する。第2と・y 1”から第5ビツトについても
同様である。すると、結果として、2人力ORゲー1−
1−125〜1−121の出力が全てハイ・レベルとな
り、5人力NANDゲート1−13の出力がロウ・レベ
ルとなる。従って、無限ループの3周目の7ビツト・バ
イナリ・カウンタ1−1をリセットする命令の信号Bは
、2人力NANDゲート1−17の信号Bが入力される
もう一方の側が、ロウ・レベルであるので、2人力NA
NDゲート1−17の出力はハイ・レベルのままとなり
、7ビツト・バイナリ・カウンタ】−1はリセットされ
ず、オーバーフローして端子1−16がハイ・レベルと
なってシステムリセッI−がかかり、無限ループを抜け
ることができる。
トに関してはD型フリップ・フロツブ]−75と、]−
85と、1−95のQ出力が無限ループを3回まわると
一致する。第2と・y 1”から第5ビツトについても
同様である。すると、結果として、2人力ORゲー1−
1−125〜1−121の出力が全てハイ・レベルとな
り、5人力NANDゲート1−13の出力がロウ・レベ
ルとなる。従って、無限ループの3周目の7ビツト・バ
イナリ・カウンタ1−1をリセットする命令の信号Bは
、2人力NANDゲート1−17の信号Bが入力される
もう一方の側が、ロウ・レベルであるので、2人力NA
NDゲート1−17の出力はハイ・レベルのままとなり
、7ビツト・バイナリ・カウンタ】−1はリセットされ
ず、オーバーフローして端子1−16がハイ・レベルと
なってシステムリセッI−がかかり、無限ループを抜け
ることができる。
本実施例において5D型フリツプ・フロップに第0ビツ
トの内容を格納しないのは、無限ループの1回の時間が
ループをまわる毎に多少違っていても無限ループと判断
できるようにする処置であり、また、第6ビツトを格納
しないのは、オーバーフローしない限り、第6ビツトの
Q出力がハイ・レベルにならないからである。
トの内容を格納しないのは、無限ループの1回の時間が
ループをまわる毎に多少違っていても無限ループと判断
できるようにする処置であり、また、第6ビツトを格納
しないのは、オーバーフローしない限り、第6ビツトの
Q出力がハイ・レベルにならないからである。
本回路の性質として、同一の周期で7ビツト・バイナリ
・カウンタ1−1がリセットされると、それが正常な命
令実行のシーケンスであっても、暴走したと判断してし
まう点があげられる。従って、7ビツ1−・バイナリ・
カウンタ1−1のリセッ1〜命令の実行は不定期に行な
わなければならない。
・カウンタ1−1がリセットされると、それが正常な命
令実行のシーケンスであっても、暴走したと判断してし
まう点があげられる。従って、7ビツ1−・バイナリ・
カウンタ1−1のリセッ1〜命令の実行は不定期に行な
わなければならない。
第2図は、本発明の第2の実施例の回路図であり、本実
施例はに、1.m、nの値をそれぞれ、7.1.5.5
に選んだ場合の例である。
施例はに、1.m、nの値をそれぞれ、7.1.5.5
に選んだ場合の例である。
端子2−5は、通常ハイ・レベルでマイクロ・コンピュ
ータのシステム・リセット時にロウ・レベルとなるもの
とする。端子2−5がロウ・レベルになると、2人力A
NDゲート2−6の出力もロウ・レベルとなり、7ビツ
ト・バイナリ・カウンタの2−1のカウント値がOに、
また、D型フリップ・フロップ2−71〜2−75のQ
出力およびフリップ・フロップ2−14.2−15,2
16で構成される3ビツト・バイナリ・カウンタのQ出
力がロウ・レベルにリセットされる。従って、EXNO
Rゲート2−81〜2−85の出力がハイ・レベルに、
5人力ANDゲートの出力がハイ・レベルに、3人力N
ANDゲート2−17の出力がハイ・レベルに、それぞ
れ固定される。
ータのシステム・リセット時にロウ・レベルとなるもの
とする。端子2−5がロウ・レベルになると、2人力A
NDゲート2−6の出力もロウ・レベルとなり、7ビツ
ト・バイナリ・カウンタの2−1のカウント値がOに、
また、D型フリップ・フロップ2−71〜2−75のQ
出力およびフリップ・フロップ2−14.2−15,2
16で構成される3ビツト・バイナリ・カウンタのQ出
力がロウ・レベルにリセットされる。従って、EXNO
Rゲート2−81〜2−85の出力がハイ・レベルに、
5人力ANDゲートの出力がハイ・レベルに、3人力N
ANDゲート2−17の出力がハイ・レベルに、それぞ
れ固定される。
システム・リセットが解除されると、端子2−5はハイ
・レベルとなり、7ビツト・バイナリ・カウンタ2−4
.D型フリップ・フロップ2−71〜:2−75および
バイナリ・クリップ・フロップ2−14 1−15.2
−16のリセットが解除される。リセットが解除される
と、7ビ・ント・バイナリ・カウンタ2−1は、端子2
−4に与えられるクロックによってカウントを開始する
。同時に、マイクロ・コンピュータは命令の実行を開始
する。そして、第一の実施例と同様に、7ビツト・バイ
ナリ・カウンタ2−1をリセットる命令によってオーバ
ーフローしないようにする。
・レベルとなり、7ビツト・バイナリ・カウンタ2−4
.D型フリップ・フロップ2−71〜:2−75および
バイナリ・クリップ・フロップ2−14 1−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に、それぞれ与える。
令を実行すると、第4図に示すタイミングでA、B、C
の信号を発生する様に、マイクロ・コンピュータのハー
ドを構成し、A信号を端子2−20に、B信号を端子2
−21に、C信号を端子2−22に、それぞれ与える。
EXNOR281〜2−85は、先にリセットされたD
型フリップ・フロップ2−71〜2−75のQ出力と、
カウントをつづける7ビツト・バイナリ、カウンタ2−
1の第1ビツトから第5ビツトの値とを逐時比較し、一
致したらハイ・レベルを出力する。
型フリップ・フロップ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−1.1の出力は信号Aと同
一の信号が現れる。また、2人力ANDゲート2−13
の出力はハイ・レベルのままとなる。逆に、5人力AN
Dゲート2−9の出力がロウ・レベルであれば、2人力
ANDゲート2−11の出力はロウ・レベルのままとな
り、2人力ANDゲート2−13の出力には信号Aの反
転の信号が現れる。
う全ビットが一致したらハイ・レベルを出力する。5人
力ANDゲート2−9の出力が確定している状態で信号
Aがハイ・レベルになり、再びロウ・レベルになると、
5人力ANDゲート2−9の出力がハイ・レベルであれ
ば、2人力ANDゲート2−1.1の出力は信号Aと同
一の信号が現れる。また、2人力ANDゲート2−13
の出力はハイ・レベルのままとなる。逆に、5人力AN
Dゲート2−9の出力がロウ・レベルであれば、2人力
ANDゲート2−11の出力はロウ・レベルのままとな
り、2人力ANDゲート2−13の出力には信号Aの反
転の信号が現れる。
即ち、信号Aによって7ビツト・バイナリ・カウンタ2
−1のカウント値とD型フリップ・フロップの格納値が
一致すると、バイナリ・フリップ・フロップ2−14〜
2−16で構成するバイナリカウンタのカウント値を+
1する。一致しない時は、カウント値をOにリセットす
る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する。一致しない時は、カウント値をOにリセットす
る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人力N
ANDゲート2−17の出力がロウ・レベルになる。す
ると、6回目の7ビツト・バイナリ・カウンタ2−1の
リセット命令を実行しても、2人力NANDゲート2−
10の出力は、ハイ・レベルに固定され、7ビツト・バ
イナリ・カウンタ2−1はリセットされず、オーバーフ
ローをおこして端子2−23をハイ・レベルにし、第一
の実施例と同様にシステム・リセットをかける。
第5ビツトの値が同一の値で5回リセットされると、バ
イナリフリップ・フロップ2−14〜2−16のQ出力
の値が順にハイ、ロウ、ハイのレベルとなり、3人力N
ANDゲート2−17の出力がロウ・レベルになる。す
ると、6回目の7ビツト・バイナリ・カウンタ2−1の
リセット命令を実行しても、2人力NANDゲート2−
10の出力は、ハイ・レベルに固定され、7ビツト・バ
イナリ・カウンタ2−1はリセットされず、オーバーフ
ローをおこして端子2−23をハイ・レベルにし、第一
の実施例と同様にシステム・リセットをかける。
以上のようにして、無限ループから抜けることができる
。
。
以上説明したように本発明は、マイクロ・コンピュータ
のシステムクロックを分周してつくるカウント・クロッ
クによりカウントをつづけるにビット・バイナリ・カウ
ンタと、そのカウンタをソフトウェアでリセットする毎
にリセット直前の第1ビツト目から第mビット目まで(
0≦1≦mくk)の値を格納するレジスタと、更にその
レジスタに格納される値が連続n回向−であれば、kビ
ット・バイナリ・カウンタのソフトウェアによるリセッ
トを無効にするリセット制御部を備える事により、従来
の暴走監視タイマの機能に加えて、プログラムの暴走か
にビット・バイナリ・カウンタをリセットする命令を含
む無限ループであっても、プログラムの暴走を検出でき
る効果がある。
のシステムクロックを分周してつくるカウント・クロッ
クによりカウントをつづけるにビット・バイナリ・カウ
ンタと、そのカウンタをソフトウェアでリセットする毎
にリセット直前の第1ビツト目から第mビット目まで(
0≦1≦mくk)の値を格納するレジスタと、更にその
レジスタに格納される値が連続n回向−であれば、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人力
A N Dデー1〜.1−71〜1−75. 1 −8
1〜1−85 1−91〜195・・・R端子がロウ
・L・ベルになるとQ出力がロウ・l/ベルにリセット
され、C端子に与えられる信号の立FがりエツジでD端
子から入力されるデータがC端子へ伝わるD型フリップ
・フロップ、]、−101〜4−105・・・3人力A
、 N Dゲート、1− i ]、 1〜4−115・
・・3人力NORゲート・、1−121〜1−125・
・・2人力ORゲート、■−13・・・5人力NAND
ゲート、1−14・・・バイナリ・カウンタ1−1をリ
セットする命令を実行する際、第3図の信号Bが与えら
れる端子、1−15・・・1−14と同様に信号へが与
えられる端子、]、 −16・・・バイナリ・カウンタ
メ最高位ビ・ソトのQ出力端子、1−17・・・2人力
NANDゲート、2−1・・・7ビツト・バイナリ・カ
ウンタ、22・・・バイナリ・カウンタ・2−1がリセ
ットされる直前の第1ビツトから第5ビツトの値を格納
するレジスタ、2−3・・・リセッI・制御部、2−4
・・・カウント・クロック入力端子、2−5・・・マイ
クロ・コンピュータのシステム・リセット時にロウ・レ
ベルになる端子、2−6・・・2人力ANDゲー)−1
2−71〜2−75・・・D型フリップ・クロップ、2
−81〜2−85・・・EXNORゲート(排他的論理
和の反転)2−9・・・5人力ANDゲート、2−10
・・・入力NANDゲート、1−11・・・2人力AN
Dゲート、2−12・・・インバータ、2−13・・・
2人力ANDゲー)・、2−14.2−15.1−16
・・・C,C端子に反転関係のクロックを入れ、C端子
に与えられるクロックの立−1ニリエツジ毎に、Q出力
を反転また、R端子にロウ・レベルの信号を与えるとQ
出力がロウ・1/ベルにリセッ■−・されるバイナリ・
フリップ・フロ・γプ、2−17・・・3人力NAND
ゲート、2−1.8・・2人力NANDゲート、2−1
9・・・インバ・−1り、2−20・・・バイナリ・カ
ウンタ2−1をリセットする命令を実行する際、第4図
の信号Aが与えられる端子、2−23・・・1−20と
同様に信号Bが与えられる端子、2−22・・・1−2
0と同様に信号Cが与えられる端子、2−23・・・バ
イナリ・カウンタの最高位ビットのQ出力端子、5−1
・・・kピッ1へ・バイナリ・カウンタ、5−2・・・
リセット制御部、5−3・・・マイクロ・コンピュータ
のシステムリセッ1−時にロウ・レベルになる端子、5
−4・・kビット・バイナリ・カウンタをリセッI・す
る命令を実行すると、−時的にロウ・レベルとなる端子
、5−5・・・カウント・クロック入力端子、56・−
・バイナリ・カウンタの最高位ビットのQ出勾。
の回路図、第3図は第1の実施例で使用する信号のタイ
ミング図、第4図は第2の実施例で使用する信号のタイ
ミング図、第5図は従来の例の回路図である。 1−1・・・7ビツト・バイナリ・カウンタ、1−2・
・・バイナリ・カウンタ1−1がリセットされる直前の
第1ビツトから第5ビツトの値を格納するレジスタ、1
−3・・・リセット制御部、1−4・・・システム・ク
ロックを分周してつくるカウント・クロック入力端子、
1−5・・・マイクロ・コンピュータのシステム・リセ
ット時にロウ・レベルになる端子、1−6・・・2人力
A N Dデー1〜.1−71〜1−75. 1 −8
1〜1−85 1−91〜195・・・R端子がロウ
・L・ベルになるとQ出力がロウ・l/ベルにリセット
され、C端子に与えられる信号の立FがりエツジでD端
子から入力されるデータがC端子へ伝わるD型フリップ
・フロップ、]、−101〜4−105・・・3人力A
、 N Dゲート、1− i ]、 1〜4−115・
・・3人力NORゲート・、1−121〜1−125・
・・2人力ORゲート、■−13・・・5人力NAND
ゲート、1−14・・・バイナリ・カウンタ1−1をリ
セットする命令を実行する際、第3図の信号Bが与えら
れる端子、1−15・・・1−14と同様に信号へが与
えられる端子、]、 −16・・・バイナリ・カウンタ
メ最高位ビ・ソトのQ出力端子、1−17・・・2人力
NANDゲート、2−1・・・7ビツト・バイナリ・カ
ウンタ、22・・・バイナリ・カウンタ・2−1がリセ
ットされる直前の第1ビツトから第5ビツトの値を格納
するレジスタ、2−3・・・リセッI・制御部、2−4
・・・カウント・クロック入力端子、2−5・・・マイ
クロ・コンピュータのシステム・リセット時にロウ・レ
ベルになる端子、2−6・・・2人力ANDゲー)−1
2−71〜2−75・・・D型フリップ・クロップ、2
−81〜2−85・・・EXNORゲート(排他的論理
和の反転)2−9・・・5人力ANDゲート、2−10
・・・入力NANDゲート、1−11・・・2人力AN
Dゲート、2−12・・・インバータ、2−13・・・
2人力ANDゲー)・、2−14.2−15.1−16
・・・C,C端子に反転関係のクロックを入れ、C端子
に与えられるクロックの立−1ニリエツジ毎に、Q出力
を反転また、R端子にロウ・レベルの信号を与えるとQ
出力がロウ・1/ベルにリセッ■−・されるバイナリ・
フリップ・フロ・γプ、2−17・・・3人力NAND
ゲート、2−1.8・・2人力NANDゲート、2−1
9・・・インバ・−1り、2−20・・・バイナリ・カ
ウンタ2−1をリセットする命令を実行する際、第4図
の信号Aが与えられる端子、2−23・・・1−20と
同様に信号Bが与えられる端子、2−22・・・1−2
0と同様に信号Cが与えられる端子、2−23・・・バ
イナリ・カウンタの最高位ビットのQ出力端子、5−1
・・・kピッ1へ・バイナリ・カウンタ、5−2・・・
リセット制御部、5−3・・・マイクロ・コンピュータ
のシステムリセッ1−時にロウ・レベルになる端子、5
−4・・kビット・バイナリ・カウンタをリセッI・す
る命令を実行すると、−時的にロウ・レベルとなる端子
、5−5・・・カウント・クロック入力端子、56・−
・バイナリ・カウンタの最高位ビットのQ出勾。
Claims (1)
- カウント・クロックによりカウントを続けるバイナリ・
カウンタがオーバーフローする以前に、該カウンタのカ
ウント値をソフトウェアでリセットし、オーバーフロー
した場合にはシステム・リセット信号を発生させる方式
のソフトウェアの暴走監視タイマにおいて、kビット・
バイナリ・カウンタと、該カウンタをソフトウェアでリ
セットする毎にリセット直前の第jビット目から第mビ
ット目までの(0≦j≦m<k)の値を格納するレジス
タと、該レジスタに格納される値が連続n回同一であれ
ば、前記バイナリ・カウンタのソフトウェアによるリセ
ットを無効にするリセット制御部を含むことを特徴とす
るソフトウェアの暴走監視タイマ。
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 true JPH02118741A (ja) | 1990-05-07 |
| JPH0743658B2 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) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU2002304276A1 (en) | 2001-06-11 | 2002-12-23 | Moshe Ben-Chorin | Device, system and method for color display |
| US8289266B2 (en) | 2001-06-11 | 2012-10-16 | Genoa Color Technologies Ltd. | Method, device and system for multi-color sequential LCD panel |
| EP1660937A2 (en) | 2003-08-04 | 2006-05-31 | Genoa Color Technologies Ltd. | Multi-primary color display |
Citations (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
Patent Citations (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 | プロセツサの動作監視回路 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0743658B2 (ja) | 1995-05-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS61292414A (ja) | プログラム可能な論理アレイ | |
| JPS62137663A (ja) | 論理シミュレーション方法 | |
| JP2002208844A (ja) | グリッチ除去回路 | |
| JP3714570B2 (ja) | 並列処理用割り算回路 | |
| JPH02118741A (ja) | ソフトウェアの暴走監視タイマ | |
| JPH057738B2 (ja) | ||
| JP3134449B2 (ja) | シリアル・パラレル変換回路 | |
| WO2003094353A1 (en) | High speed programmable counter architecture | |
| JPS58129658A (ja) | マイクロプログラム制御装置 | |
| JP4468564B2 (ja) | パルス幅変調回路 | |
| US7119587B2 (en) | High frequency divider state correction circuit | |
| JPH0113129B2 (ja) | ||
| JPS59184943A (ja) | 情報処理装置 | |
| JPS62501322A (ja) | 論理回路 | |
| JPS5828608B2 (ja) | 演算処理装置 | |
| JP2572971B2 (ja) | フリップフロップ等価回路 | |
| JP2614931B2 (ja) | 割込制御回路 | |
| JP4114722B2 (ja) | ステート回路 | |
| JPS5936034Y2 (ja) | T型フリップフロップ回路 | |
| JPS6130118A (ja) | タイマ−回路 | |
| JPH04172822A (ja) | アップダウンカウンタ | |
| JPS61175752A (ja) | デ−タ処理装置 | |
| EP0308061A2 (en) | Mask generation circuit | |
| JPH02202738A (ja) | シリアルデータ受信回路 | |
| JPH10107592A (ja) | 保持装置および保持回路 |