JPS63298453A - プログラム暴走監視回路 - Google Patents
プログラム暴走監視回路Info
- Publication number
- JPS63298453A JPS63298453A JP62134655A JP13465587A JPS63298453A JP S63298453 A JPS63298453 A JP S63298453A JP 62134655 A JP62134655 A JP 62134655A JP 13465587 A JP13465587 A JP 13465587A JP S63298453 A JPS63298453 A JP S63298453A
- Authority
- JP
- Japan
- Prior art keywords
- runaway
- output
- program
- instruction code
- signature
- 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
- 230000001960 triggered effect Effects 0.000 claims abstract description 4
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 4
- 239000000470 constituent Substances 0.000 description 2
- 238000013481 data capture Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔゛産業上の利用分野〕
本発明はマイクロコンピュータに関し、特に内蔵ソフト
ウェアが外的あるいは内的要因で暴走した場合これを検
出しシステムイニシャライズを実行する暴走監視回路に
関する。
ウェアが外的あるいは内的要因で暴走した場合これを検
出しシステムイニシャライズを実行する暴走監視回路に
関する。
従来、この種の暴走監視回路は、第4図の回路図に示す
ようにタイマーカウンタ321と、命令コードを記憶す
るROM311.前記ROM311からの命令をラッチ
するインストラクションラッチ325.およびインスト
ラクションデコーダ322によって構成され、所定の設
定時間内にタイマーカウンタ321が所定の命令コード
によってリセットされない場合、これを暴走状態として
、システムリセット回路315によりプログラムカウン
タ312をリセットし、システムイニシャライズを実行
する方式となっていた。
ようにタイマーカウンタ321と、命令コードを記憶す
るROM311.前記ROM311からの命令をラッチ
するインストラクションラッチ325.およびインスト
ラクションデコーダ322によって構成され、所定の設
定時間内にタイマーカウンタ321が所定の命令コード
によってリセットされない場合、これを暴走状態として
、システムリセット回路315によりプログラムカウン
タ312をリセットし、システムイニシャライズを実行
する方式となっていた。
上述した従来の暴走監視回路ではプログラムが暴走して
も、たまたまその暴走したルーチン内に監視用タイマー
カウンタのリセットを実行する命令コードが含まれてい
ると、当然タイマーカウンタはオーバーフローせず、暴
走を検出できないという欠点がある。
も、たまたまその暴走したルーチン内に監視用タイマー
カウンタのリセットを実行する命令コードが含まれてい
ると、当然タイマーカウンタはオーバーフローせず、暴
走を検出できないという欠点がある。
上述した従来の暴走監視回路に対し、本発明はプログラ
ムの1ステツプで暴走を検出するのではなく、ある所定
のステップ群の命令のシグネチャをあらかじめ求めであ
るシグネチャデータと比較することにより暴走を検出す
るという独創的内容を有する。
ムの1ステツプで暴走を検出するのではなく、ある所定
のステップ群の命令のシグネチャをあらかじめ求めであ
るシグネチャデータと比較することにより暴走を検出す
るという独創的内容を有する。
本発明の暴走監視回路は、実行した命令コードのシグネ
チャを求めるためのリニア・フィード・バック・シフト
レジスタ(以下LFSRと称す)と、このレジスタへ取
り込む命令コードがどうかを判断するためのイネーブル
ビットを付加したプログラム・メモリと、LFSRのデ
ータを所定のデータと比較する比較器と、比較器の一致
出力を取り込みタイマーカウンタをリセットするジャッ
ジフラグラッチと、タイマーカウンタのキャリー出力に
よってトリガーされるシステムリセット回路を有してい
る。
チャを求めるためのリニア・フィード・バック・シフト
レジスタ(以下LFSRと称す)と、このレジスタへ取
り込む命令コードがどうかを判断するためのイネーブル
ビットを付加したプログラム・メモリと、LFSRのデ
ータを所定のデータと比較する比較器と、比較器の一致
出力を取り込みタイマーカウンタをリセットするジャッ
ジフラグラッチと、タイマーカウンタのキャリー出力に
よってトリガーされるシステムリセット回路を有してい
る。
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例を示すブロック図である0本
図はマイクロコンピュータの構成ブロックの内1本発明
に関係の深いもののみを明示した簡略図である。111
はプログラムメモリであり110はこれに付随するイネ
ーブルビット部。
図はマイクロコンピュータの構成ブロックの内1本発明
に関係の深いもののみを明示した簡略図である。111
はプログラムメモリであり110はこれに付随するイネ
ーブルビット部。
112はプログラムカウンタでプログラムメモリ110
のアドレスを保持している。124はイネーブルとット
110の出力をラッチするフラグラッチ、116はフラ
グラッチ124の出力でトリガーされこの時点のROM
コードデータを取り込むリニア・フィードバック・レジ
スタ(以下LFSRと称す)、117はコンベアレジス
タと称し、あらかじめハードウェアで設定したコードデ
ータとLPSR116のデータを比較する。
のアドレスを保持している。124はイネーブルとット
110の出力をラッチするフラグラッチ、116はフラ
グラッチ124の出力でトリガーされこの時点のROM
コードデータを取り込むリニア・フィードバック・レジ
スタ(以下LFSRと称す)、117はコンベアレジス
タと称し、あらかじめハードウェアで設定したコードデ
ータとLPSR116のデータを比較する。
118はコンベアレジスタ117の一致、不一致出力を
ラッチするジャッジフラグラッチで、この一致出力によ
りタイマーカウンタ121をリセットする。121はタ
イマーカウンタでありジャッジフラグラッチ118の一
致出力によりリセットされる。また、リセットされずキ
ャリーが発生すると、このキャリーはシステムリセット
回路115をトリガーする。システムリセット回路11
5からはリセット出力114が発生する。
ラッチするジャッジフラグラッチで、この一致出力によ
りタイマーカウンタ121をリセットする。121はタ
イマーカウンタでありジャッジフラグラッチ118の一
致出力によりリセットされる。また、リセットされずキ
ャリーが発生すると、このキャリーはシステムリセット
回路115をトリガーする。システムリセット回路11
5からはリセット出力114が発生する。
以下に第1図を用いてその動作を説明する。
タイマーカウンタ121は当該回路を含むマイクロコン
ピュータの外部よりのイニシャライズ(システムリセッ
ト)により初期状態となる。
ピュータの外部よりのイニシャライズ(システムリセッ
ト)により初期状態となる。
゛ システムリセットの終了とともにプログラムカウン
タ112はROM111の最小アドレスからカウントア
ツプを開始する。ここでROM111の各命令コードに
はLFSR116への命令コード取り込みを許可するた
めのイネーブルビットが1ビット付加してある。本実施
例ではイネーブルビットが゛1パのときLFSRへの取
り込みを許可する。任意のROMアドレスにおいてこの
イネーブルビットが“1°°となると、そのマシンサイ
クル内でフラグラッチ124がこのイネーブルビット“
1″をラッチする。このラッチ出力123はLFSR1
16の取り込みクロックとなっており当該マシンサイク
ルの命令コードをLFSR116に取り込む。イネーブ
ルビットが“0′°の 2命令コードはLFSR116
には取り込まれないものとする。このシーケンスをあら
かじめ設定したプログラムエリアで実行すると、LFS
R116は符号理論で定まるイネーブルビットが“1″
′の命令コード群のシグネチャ(A +と称す)を保持
している。ここでiはイネーブルビットが“1′°の命
令コードをi回取り込んだことを示す、コンベアレジス
タ117は各マシンサイクルごとにあらかじめ設定して
あるシグネチャ(A、)とLFSR116からのAIを
比較しており、あるマシンサイクルでAI =A、どな
ると一致出力を発生する。一致出力はジャッジフラグラ
ッチ118にラッチされ、カウントを続けていたタイマ
ー・カウンタ121をリセットする。
タ112はROM111の最小アドレスからカウントア
ツプを開始する。ここでROM111の各命令コードに
はLFSR116への命令コード取り込みを許可するた
めのイネーブルビットが1ビット付加してある。本実施
例ではイネーブルビットが゛1パのときLFSRへの取
り込みを許可する。任意のROMアドレスにおいてこの
イネーブルビットが“1°°となると、そのマシンサイ
クル内でフラグラッチ124がこのイネーブルビット“
1″をラッチする。このラッチ出力123はLFSR1
16の取り込みクロックとなっており当該マシンサイク
ルの命令コードをLFSR116に取り込む。イネーブ
ルビットが“0′°の 2命令コードはLFSR116
には取り込まれないものとする。このシーケンスをあら
かじめ設定したプログラムエリアで実行すると、LFS
R116は符号理論で定まるイネーブルビットが“1″
′の命令コード群のシグネチャ(A +と称す)を保持
している。ここでiはイネーブルビットが“1′°の命
令コードをi回取り込んだことを示す、コンベアレジス
タ117は各マシンサイクルごとにあらかじめ設定して
あるシグネチャ(A、)とLFSR116からのAIを
比較しており、あるマシンサイクルでAI =A、どな
ると一致出力を発生する。一致出力はジャッジフラグラ
ッチ118にラッチされ、カウントを続けていたタイマ
ー・カウンタ121をリセットする。
タイマーカウンタ121は、AI =A、となる時間間
隔より長いあらかじめ設定してある時間間隔でキャリー
を発生する。ここで、プログラムが暴走した場合、前記
のA、とAlの一致が発生せずタイマー・カウンタ12
1はカウントを続はキャリーを発生する。このキャリー
はシステム・リセット回路115をトリガーしシステム
リセット出力114を発生する。従ってプログラムカウ
ンタはシステムリセットにより初期状態となり暴走状態
から抜は出すことができる。ここでLFSR116のビ
ット長をKとすれば、このレジスタのとり得る状態数は
2にとなり前記A+とA、の一致してしまう確率は1/
2にであるがkを8以上に設定すれば十分な暴走の検出
効果がある。また、プログラムの構成上のポイントは前
記タイマーカウンタのキャリー発生周期より短い周期で
所定の処理ルーチンを順回する点であることは明白であ
る。
隔より長いあらかじめ設定してある時間間隔でキャリー
を発生する。ここで、プログラムが暴走した場合、前記
のA、とAlの一致が発生せずタイマー・カウンタ12
1はカウントを続はキャリーを発生する。このキャリー
はシステム・リセット回路115をトリガーしシステム
リセット出力114を発生する。従ってプログラムカウ
ンタはシステムリセットにより初期状態となり暴走状態
から抜は出すことができる。ここでLFSR116のビ
ット長をKとすれば、このレジスタのとり得る状態数は
2にとなり前記A+とA、の一致してしまう確率は1/
2にであるがkを8以上に設定すれば十分な暴走の検出
効果がある。また、プログラムの構成上のポイントは前
記タイマーカウンタのキャリー発生周期より短い周期で
所定の処理ルーチンを順回する点であることは明白であ
る。
第2図は本発明の第2の実施例を示すブロック図である
。第1図に示す第1の実施例と異なる点はLFSR21
6へ取り込むコードデータがROM211にストアーし
てある命令コードの一部分である点を除き全て第1の実
施例と同一である0本実施例ではイネーブルビットが“
1パである命令コードの一部分(たとえば上位5ビット
分)がLFSR216に取り込まれる。この魚具外の動
作は第1の実施例と同一であるため説明を略す。本実施
例はROM容量の小さい(〜0.5にステップ)マイク
ロコントローラに適用することによりLFSR216,
コンベアレジスタ217のビット数を削減して第1の実
施例と同様の効果を得ることができる。
。第1図に示す第1の実施例と異なる点はLFSR21
6へ取り込むコードデータがROM211にストアーし
てある命令コードの一部分である点を除き全て第1の実
施例と同一である0本実施例ではイネーブルビットが“
1パである命令コードの一部分(たとえば上位5ビット
分)がLFSR216に取り込まれる。この魚具外の動
作は第1の実施例と同一であるため説明を略す。本実施
例はROM容量の小さい(〜0.5にステップ)マイク
ロコントローラに適用することによりLFSR216,
コンベアレジスタ217のビット数を削減して第1の実
施例と同様の効果を得ることができる。
第3図は第1図、第2図のLFSRl 16゜216の
具体的な例を示すブロック図である。
具体的な例を示すブロック図である。
ROM111あるいは211からの命令コードはコード
入力端子り、−D、より入力され、クロック405,4
06により402に示すレジスタであるLlおよび同様
に構成されるし2〜L8に取り込まれる。レジスタ40
2は、入力信号D1をラッチするデータラッチ407と
、このラッチ407の出力とフィードバック信号との排
他的論理和を出力するEXOR408と1.:のEXO
R408出力を格納するD型フリップ70ツブ404よ
り構成される。フィードバック信号は、シグネチャ出力
Qo〜Q?(403)の内、予め定めた出力の組合せの
排他的論理和を出力するEXOR409〜411により
得られる。
入力端子り、−D、より入力され、クロック405,4
06により402に示すレジスタであるLlおよび同様
に構成されるし2〜L8に取り込まれる。レジスタ40
2は、入力信号D1をラッチするデータラッチ407と
、このラッチ407の出力とフィードバック信号との排
他的論理和を出力するEXOR408と1.:のEXO
R408出力を格納するD型フリップ70ツブ404よ
り構成される。フィードバック信号は、シグネチャ出力
Qo〜Q?(403)の内、予め定めた出力の組合せの
排他的論理和を出力するEXOR409〜411により
得られる。
以上説明したように本発明はマイクロコンピュータのプ
ログラムが暴走しているかどうかを、プログラム上の1
ステツプのみで検出するのではなく、複数の分離した任
意ステップの命令コードのシグネチャを得ることにより
暴走状態を検出するためその検出確度が飛躍的に向上す
る効果がある。
ログラムが暴走しているかどうかを、プログラム上の1
ステツプのみで検出するのではなく、複数の分離した任
意ステップの命令コードのシグネチャを得ることにより
暴走状態を検出するためその検出確度が飛躍的に向上す
る効果がある。
第1図は本発明の第1の実施例を示すブロック図、第2
図は本発明の第2の実施例を示すブロック図、第3図は
本発明の構成要件の1つであるLFSRの8Bitレジ
スタの回路例を示すブロック図、第4図は従来例を示す
ブロック図である。 111.211.311・・・プログラムメモリ(RO
M)、112,212.312・・・プログラムカウン
タ、115,215,315・・・システムリセット回
路、122,222,322・・・インストラクション
デコーダ、116.126・・・LFSR1117,2
17・・・コンベアレジスタ、118,218・・・ジ
ャッジフラグラッチ、121.221・・・タイマー・
カウンタ、401・・・データ入力端子、402・・・
LFSRのIBit分のレジスタ、403・・・データ
出力端子、404・・・データフリップフロップ、40
5・・・リセット入力端子、406・・・データ取り込
みクロック入力端子、407・・・データラッチ、40
8〜411・・・EXOR。
図は本発明の第2の実施例を示すブロック図、第3図は
本発明の構成要件の1つであるLFSRの8Bitレジ
スタの回路例を示すブロック図、第4図は従来例を示す
ブロック図である。 111.211.311・・・プログラムメモリ(RO
M)、112,212.312・・・プログラムカウン
タ、115,215,315・・・システムリセット回
路、122,222,322・・・インストラクション
デコーダ、116.126・・・LFSR1117,2
17・・・コンベアレジスタ、118,218・・・ジ
ャッジフラグラッチ、121.221・・・タイマー・
カウンタ、401・・・データ入力端子、402・・・
LFSRのIBit分のレジスタ、403・・・データ
出力端子、404・・・データフリップフロップ、40
5・・・リセット入力端子、406・・・データ取り込
みクロック入力端子、407・・・データラッチ、40
8〜411・・・EXOR。
Claims (1)
- マイクロコンピュータにおけるプログラム暴走監視回路
において、プログラムカウンタ出力により読み出される
複数の命令コードを記憶するとともに前記各命令コード
に1ビットのイネーブルビットを付加したプログラムメ
モリと、前記プログラムメモリ出力のイネーブルビット
をラッチするフラグラッチと、前記フラグラッチ出力が
発生するごとに前記命令コードを取り込むリニアフィー
ドバックレジスタと、前記リニアフィードバックレジス
タのデータをあらかじめ設定してあるコードデータと比
較する比較器と、前記比較器出力を取り込むジャッジフ
ラグラッチと、前記ジャッジフラグラッチ出力あるいは
システムリセット回路出力でリセットされるタイマーカ
ウンタと、前記タイマーカウンタのキャリー出力でトリ
ガーされるとともに前記プログラムカウンタのリセット
を行う前記システムリセット回路を含むことを特徴とす
るプログラム暴走監視回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62134655A JPH0740232B2 (ja) | 1987-05-28 | 1987-05-28 | プログラム暴走監視回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62134655A JPH0740232B2 (ja) | 1987-05-28 | 1987-05-28 | プログラム暴走監視回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63298453A true JPS63298453A (ja) | 1988-12-06 |
JPH0740232B2 JPH0740232B2 (ja) | 1995-05-01 |
Family
ID=15133452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62134655A Expired - Lifetime JPH0740232B2 (ja) | 1987-05-28 | 1987-05-28 | プログラム暴走監視回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0740232B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03214809A (ja) * | 1990-01-19 | 1991-09-20 | Nec Corp | リニアフィードバック・シフトレジスタ |
-
1987
- 1987-05-28 JP JP62134655A patent/JPH0740232B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03214809A (ja) * | 1990-01-19 | 1991-09-20 | Nec Corp | リニアフィードバック・シフトレジスタ |
Also Published As
Publication number | Publication date |
---|---|
JPH0740232B2 (ja) | 1995-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201342110A (zh) | 在狀態機晶格中之計數器操作 | |
US3911261A (en) | Parity prediction and checking network | |
US20200004954A1 (en) | Monitoring Real-Time Processor Instruction Stream Execution | |
JPS63298453A (ja) | プログラム暴走監視回路 | |
CN101361278B (zh) | 奇偶校验位生成电路、计数电路以及计数方法 | |
CN111310162B (zh) | 基于可信计算的设备接入控制方法、装置、产品及介质 | |
US10846162B2 (en) | Secure forking of error telemetry data to independent processing units | |
JP2003046393A (ja) | 誤り検出装置 | |
JPS62293441A (ja) | デ−タ出力方式 | |
JPS62106552A (ja) | ル−プ検出装置 | |
US4347581A (en) | Input setting method for digital operational devices | |
Cullen et al. | FPGA-based satisfiability filters for deep packet inspection | |
JPH0486022A (ja) | パルス計数読み出し回路 | |
JP2752220B2 (ja) | 文字列処理装置 | |
SU1072050A1 (ru) | Устройство дл контрол блоков обнаружени и коррекции ошибок,работающих с кодом Хэмминга | |
JPS6052451B2 (ja) | マイクロ命令実行制御方式 | |
SU1465889A1 (ru) | Устройство дл контрол датчика информации | |
JPS63123133A (ja) | エラ−処理方式 | |
KR100234413B1 (ko) | 에러검출장치 및 정정 불능 판단장치 | |
JPS6136257B2 (ja) | ||
JPH04255032A (ja) | 制御記憶装置のエラー訂正方式 | |
JPS63206829A (ja) | 文字列検索装置の障害検出方式 | |
JPS61158232A (ja) | 逐次的プリアンブル信号検出回路 | |
JPS61237139A (ja) | 情報処理装置の誤動作検出方式 | |
JPH03266012A (ja) | リセット制御方式 |