JPH04211843A - マイクロプロセッサ装置 - Google Patents

マイクロプロセッサ装置

Info

Publication number
JPH04211843A
JPH04211843A JP3043504A JP4350491A JPH04211843A JP H04211843 A JPH04211843 A JP H04211843A JP 3043504 A JP3043504 A JP 3043504A JP 4350491 A JP4350491 A JP 4350491A JP H04211843 A JPH04211843 A JP H04211843A
Authority
JP
Japan
Prior art keywords
level
supervisor
microprocessor
gate
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
JP3043504A
Other languages
English (en)
Inventor
Aasaa Hatsukusutetsupu Suteiibun
スティーブン アーサー ハックステップ
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of JPH04211843A publication Critical patent/JPH04211843A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサの
動作監視に関するものである。
【0002】
【従来の技術】マイクロプロセッサを組入れた装置には
、そのマイクロプロセッサの動作を監視して故障を検出
するとリセットさせる監視すなわちモニタ回路を具える
ものが多い。このような回路は、一般に監視者回路(w
atchdogcircuit)と呼ばれている。公知
の監視者回路は、カウンタ又は再トリガ可能の単安定回
路の形のタイマー回路を有し、このタイマー回路が所定
時間経過してもリセットされなかった場合、このタイマ
ー回路がマイクロプロセッサをリセットしている。この
タイマー回路をリセットする命令として作用する監視者
指令は、マイクロプロセッサによって実行されるプログ
ラム内に組込まれている。このリセット命令は周期的に
発せられ、マイクロプロセッサが正しく動作していると
きには、タイマー回路を所定時間経過前に常にリセット
してタイマー回路がマイクロプロセッサをリセットしな
いようにしている。逆に、故障が発生すると、タイマー
回路はリセットされず、マイクロプロセッサがリセット
されるようになっている。
【0003】公知の監視者回路は、マイクロプロセッサ
に組込まれたプログラムの実行が停止されたり、或いは
監視者指令(タイマー回路リセット命令)を含むプログ
ラムの一部が実行されなかったりしても、正しく動作す
るであろうが、通常発生する幾つかの故障を判別できな
いという欠点がある。具体的にいえば、プログラムの他
の異なる部分の一連の動作が正しくなかったり、又は監
視者指令を含む部分以外のプログラム部分が実行されな
かったりすることによって生じる不良動作を判別しない
(したがって、マイクロプロセッサをリセットしてそれ
を直さない)のである。これら両タイプの不良動作は、
例えば、マイクロプロセッサのスタック(後入れ先出し
メモリ)(これは、サブルーチンのアドレスを保持して
いる。)が損われた場合に起こりうる。
【0004】
【発明が解決しようとする課題】本発明の課題は、上述
のような欠点のないマイクロプロセッサ装置を提供する
ことである。
【0005】
【課題を解決するための手段及び作用】本発明によるマ
イクロプロセッサ装置は、互いに異なり、プログラム実
行中に全部が実行されるべき複数の監視者指令を含むプ
ログラムを実行するマイクロプロセッサと、このマイク
ロプロセッサに接続され、所定順序以外の順序で監視者
指令が実行されるとマイクロプロセッサをリセットさせ
る監視手段とを有する。
【0006】このような装置は、プログラムの監視者指
令が入っている各部分が間違った順序で実行されたり、
或いはかような部分のどれかが実行されなかったりした
とき、マイクロプロセッサを確実にリセットさせる。
【0007】本発明の好適な実施例では、監視手段は、
マイクロプロセッサに接続され複数の出力線をもつ監視
者指令デコーダ手段を有し、この監視者指令デコーダ手
段は、各監視者指令の実行に応動して上記出力線のそれ
ぞれ1つを能動化させることにより、マイクロプロセッ
サが正しく動作しているとき、これら出力線を所定の順
序で能動化させる。監視手段はまた、これら出力線に接
続され、該出力線が上記所定順序以外の順序で能動化さ
れるとマイクロプロセッサをリセットさせる監視者回路
を有する。このような装置によれば、監視者指令が所定
順序以外の順序で実行されているかどうかを、もしそう
であれば、出力線も所定以外の順序で能動化されるので
、簡単に決定できる利点がある。すなわち、監視者回路
は、例えば、上記出力線が所定以外の順序で能動化され
ていることを検出すると、リセット命令をマイクロプロ
セッサのリセット入力に加える論理手段を含む。
【0008】この好適な実施例では、監視者回路は、タ
イマー回路のリセット後予め設定した時間を過ぎると、
マイクロプロセッサのリセット入力にリセット命令を加
えるタイマー回路を有し、このタイマー回路に、1つの
出力線が所定順序で能動化される度にタイマー回路をリ
セットする上記の論理手段を接続する。この構成による
と、監視者指令が全く出力されないとき、これは例えば
マイクロプロセッサがプログラムを実行しないときに起
こるが、監視者回路が確実にマイクロプロセッサをリセ
ットする利点がある。タイマー回路には、クロック信号
を受けるクロック入力をもち、全カウントを終了すると
リセット命令を発するカウンタを設けると好都合である
【0009】好適実施例の論理手段は、出力線数と同数
の段をもち、最初の監視者指令が実行されると上記出力
線が能動化されるべき態様と対応するパターンがロード
され(入れられ)る循環シフトレジスタと、各々が出力
線の1つにそれぞれ接続された第1の入力、及び上記シ
フトレジスタの各段にそれぞれ接続された第2の入力を
もつ複数のアンド機能回路と、これらのアンド機能回路
の各出力にそれぞれ接続された複数の入力をもつオアゲ
ート機能回路と、監視者指令が実行される度に上記シフ
トレジスタの内容を1つずつ進める手段とを有する。こ
のように構成すると、論理手段の構成を簡単にすること
ができる。
【0010】監視者指令は、プログラムの異なるレベル
に入れるのがよい(図2参照)。例えば、少なくとも1
つの監視者指令をプログラムの主ループに入れ、少なく
とも1つの監視者指令を主ループ実行中絶対に必要なサ
ブルーチンに入れる。このように構成すると、サブルー
チン不実行の判別を助けるだけでなく、プログラムを問
題のサブルーチンから誤って主ループ又は他のサブルー
チンに飛んで戻らせるようなマイクロプロセッサのスタ
ック(サブルーチンに対する戻りアドレスを保持する。 )における故障の判別をも助ける利点がある。
【0011】
【実施例】以下、図面により本発明を具体的に説明する
。図1は、本発明の実施例を示すブロック図である。 図2は、図1の装置のマイクロプロセッサにより実行さ
れるプログラムの流れ図である。
【0012】図1に示すマイクロプロセッサ装置は、マ
イクロプロセッサ10と、それぞれマイクロプロセッサ
10に接続されたデータバス12及びアドレスバス14
と、入力がアドレスバス14に接続され4本のアドレス
復号化出力線L1,L2,L3,L4をもつアドレスデ
コーダ16と、該出力線L1〜L4及びマイクロプロセ
ッサ10のリセット入力RSに接続された監視者回路2
2とを有する。
【0013】監視者回路22は、カウンタ26と論理手
段とを有し、論理手段は、シフトレジスタ28と、4つ
の2入力アンドゲート30.1,30.2,30.3及
び30.4と、2つの4入力オアゲート32及び34と
、2つのインバータ36及び38と、他の2入力アンド
ゲート40と、2入力オアゲート42とより成る。
【0014】ここで、図1は、分り易くするため正論理
形で、すなわち、信号が高レベル(論理レベル「1」)
にあるとき能動であるという約束に従って描いてある。 (これは、負論理形(低レベルすなわち論理レベル「0
」にあるとき能動)でマイクロプロセッサ回路を表わす
一般の取決めと反対である。)
【0015】シフトレジスタ28は、4段のシフトレジ
スタで、各々が入力D及び出力Qをもち図示のように直
列に接続された4つのD型ラッチ44.1,44.2,
44.3及び44.4を有する。このシフトレジスタ2
8は、バレル型(barrel type )(循環す
る)シフトレジスタである。すなわち、その出力(ラッ
チ44.4の出力Q)がその入力(ラッチ44.1の入
力D)に帰還接続され、これにより、このシフトレジス
タに最初に入れられた或るパターンの論理レベルもしく
はビットが、クロック信号が加えられる毎に1つずつ進
みながら該シフトレジスタを巡って無期限に循環する。
【0016】4入力オアゲート34の4つの入力は、そ
れぞれ出力線L1〜L4に接続する。該オアゲート34
の出力は、インバータ38を介してシフトレジスタ28
のクロック入力CLに接続する。該オアゲート34の出
力はまた、2入力アンドゲート40の入力の一方に接続
する。
【0017】2入力アンドゲート30.1〜30.4の
各々の一方の入力は、出力線L1〜L4のそれぞれ1本
に接続する。該アンドゲート30.1〜30.4の各々
の他方の入力は、シフトレジスタ28の各ラッチ44.
1〜44.4の出力Qにそれぞれ接続する。アンドゲー
ト30.1〜30.4の出力は、オアゲート32の4入
力の1つにそれぞれ接続する。オアゲート32の出力は
、カウンタ26のリセット入力Rに、また、インバータ
36を介して2入力アンドゲート40の他方の入力に接
続する。該アンドゲート40の出力は、2入力オアゲー
ト42の一方の入力に接続する。該オアゲート42の他
方の入力は、カウンタ26の桁上げ出力COに接続する
。該オアゲート42の出力は、マイクロプロセッサ10
のリセット入力RSに接続する。
【0018】監視者回路22の初期化回路46は、その
機能はあとで述べるが、入力をマイクロプロセッサ10
のリセット入力RSに、出力をカウンタ26のリセット
入力Rとシフトレジスタ28に接続する。カウンタ26
のクロック入力CKは、マイクロプロセッサ10により
公知の方法で発生されるクロック信号又はそれから導出
されるクロック信号を受ける。
【0019】マイクロプロセッサ10は、例えば、該マ
イクロプロセッサに接続するか又はその中に組込んだメ
モリ装置(図示せず)に格納したプログラムを実行する
ように構成する。あとで図2について詳しく述べるよう
に、プログラムに入れる指令は、監視者指令と呼ぶ少な
くとも2つの命令もしくは指令を含む。これらは、互い
に異なるものとし、プログラムが含む条件付き実行部分
(IF−THENループなど)以外のそれぞれ異なるプ
ログラム部分に入れる。そうすると、マイクロプロセッ
サ10が正しく動作している場合、すべての監視者指令
が実行され、しかも、監視者指令は予め定めた順序で実
行されることになる。プログラムが実行されるとき、そ
の指令のデータ部分はデータバス12に送り、その指令
のアドレス部分はアドレスバス14(したがって、アド
レスデコーダ16)に送る。アドレスデコーダ16は、
アドレスバス14を経て受けるアドレスが監視者指令で
あるかどうかを識別する。(この実施例では、各監視者
指令は、アドレスバス14にのみ情報を加える必要があ
り、データバス12に情報を加える必要がないので、各
監視者指令は1つのアドレス又はアドレス部分を有する
のみでよい。)アドレスデコーダ16は、少なくともそ
の出力線L1〜L4に関しては、監視者指令以外の指令
から生じるアドレスには応答しない。しかし、アドレス
デコーダ16は、監視者指令を検出すると、出力線L1
〜L4の1つを能動化する。監視者指令は互いに異なり
、アドレスデコーダ16はその各々に応答して出力線L
1〜L4の対応する1つを能動化する。したがって、プ
ログラムが正しく実行されている場合、出力線L1〜L
4は、上述した監視者指令の予め設定された実行順序に
対応する所定順序で能動化されることになる。
【0020】本実施例においては、例えば4つの監視者
指令がプログラムに含まれる場合、アドレスデコーダ1
6は、プログラムが正しく実行され、4つの監視者指令
が所定順序で実行され、出力線L1〜L4がL1,L2
,L3,及びL4の順序で能動化されるときに、作用す
ることになる。すなわち、監視者指令が実行されるに従
って、2進レベル・パターン1000,0100,00
10及び0001がこの順序で出力線L1,L2,L3
及びL4に出力される。
【0021】これより、上述のマイクロプロセッサ装置
の動作を説明する。マイクロプロセッサ10は電源を入
れると初期化され、監視者回路22も初期化される。監
視者回路22の初期化は、カウンタ26をそのリセット
入力Rを能動化し(すなわち、該入力Rに論理レベル1
を加え)てリセットし、論理レベル・パターン1000
をシフトレジスタ28に入れ(ロードし)、そのラッチ
44.1,44.2,44.3及び44.4の出力Qが
それぞれ論理レベル1,0,0,及び0になるようにし
て行う。マイクロプロセッサ10の初期化はそのリセッ
ト入力RSを能動化し(それに論理レベル1を加え)て
行うので、監視者回路22の初期化は、マイクロプロセ
ッサ10のリセット入力RSに接続され該リセット入力
RSに加えられる(マイクロプロセッサを初期化するた
めの)論理レベル1に応動する上述の初期化回路46に
よって行うことができる。しかし、監視者回路22の初
期化は、マイクロプロセッサがリセットされると常に監
視者回路22の初期化が行われるという命令をプログラ
ムに入れることにより、ハードウェアでなくソフトウェ
アで行ってもよい。この場合は、初期化回路46は不要
である。
【0022】マイクロプロセッサ10及び監視者回路2
2の初期化が終わると、マイクロプロセッサはプログラ
ムの実行を始める。最初の監視者指令が実行されるまで
は、アドレスデコーダ16が監視者指令以外の指令から
生じるアドレスバス14における情報に応答しないので
、出力線L1〜L4はすべて0レベル(非能動状態)に
ある。シフトレジスタ28のラッチ44.1,44.2
,44.3及び44.4の出力は、それぞれ1,0,0
,0のレベルにある。したがって、アンドゲート30.
1〜30.4の出力はすべて0レベルにあり、オアゲー
ト32の出力も0レベルにある。よって、カウンタ26
のリセット入力Rは0レベルにあり、カウンタ26はリ
セットされない。ゆえに、カウンタ26は、カウンタが
初期化の際リセットされたときのゼロからスタートし、
そのクロック入力CKに加えられるクロック信号パルス
をカウントする。
【0023】マイクロプロセッサ10は、最初の監視者
指令を実行すると、データバス12及びアドレスバス1
4を(他の指令に対すると同様に)能動化する。監視者
指令の場合、データバス12は何も作用をしない。しか
し、アドレスバス14は、監視者指令(アドレス)をア
ドレスデコーダ16に送り、該デコーダは、該指令を復
号化(デコード)し出力線L1を能動化する。したがっ
て、出力線L1,L2,L3,L4は、それぞれ1,0
,0,0のレベルになる(すなわち、出力線L1,L2
,L3,L4のレベル・パターンは、0000から10
00に変わる。)。よって、4入力オアゲート34(そ
れまで0レベルにある。)の出力はレベル1になり、ア
ンドゲート40の一方の入力(それまでは0レベル)に
レベル1が加えられる。また、シフトレジスタ28のラ
ッチ44.1,44.2,44.3,44.4の出力は
それぞれ未だ1,0,0,0のレベルにあるので、アン
ドゲート30.1〜30.4の出力は、(アンドゲート
30.1の両入力はレベル1となり、他のアンドゲート
30.2〜30.4の両入力はレベル0であるため)そ
れぞれ1,0,0,0のレベルになる。したがって、オ
アゲート32の出力は能動化され(レベル1となり)、
カウンタ26はゼロにリセットされる。更に、オアゲー
ト32の出力レベル1はインバータ36により反転され
、アンドゲート40(それまでレベル1にある。)の他
方の入力にレベル0が加えられる。よって、アンドゲー
ト40の出力は、オアゲート42の一方の入力に接続さ
れているが、0レベルのままである。したがって、カウ
ンタ26がクロック信号により満カウントにされておら
ず、カウンタ26の桁上げ出力COが0レベルのままで
あるため、オアゲート42の出力からマイクロプロセッ
サ10のリセット入力RSに加えられるレベルは0のま
まであり、マイクロプロセッサはリセットされない。
【0024】マイクロプロセッサのクロックの2,3サ
イクル後、マイクロプロセッサ10は、プログラムにお
ける次の指令を実行する前に、データバス12及びアド
レスバス14を非能動化する。その結果として、監視者
指令がアドレスデコーダ16に加えられなくなり、アド
レスデコーダは、有効な監視者指令の印加終了に応答し
てその出力線L1を再び非能動化する。こうして、出力
線L1〜L4はまた全部0レベルに戻る。また、オアゲ
ート34の出力レベルがレベル1からレベル0に戻り、
インバータ38により反転されて正向(立上がり)前縁
がシフトレジスタ28のクロック入力CLに加えられ、
シフトレジスタ28の内容が1つ進められる。よって、
シフトレジスタ28のラッチ44.1,44.2,44
.3,44.4の出力レベルは、それぞれ0,1,0,
0となる。したがって、出力線L1〜L4はすべて0レ
ベルにあるため、オアゲート32の4つの入力は、全部
レベル0に戻り、オアゲート32の出力も0レベルにな
り、カウンタ26は再びゼロからカウントを始めること
になる。
【0025】マイクロプロセッサ10が2番目の監視者
指令を実行し、それをアドレスバス14に出力すると、
アドレスデコーダ16はそれに応答して出力線L2を能
動化する。したがって、出力線L1,L2,L3,L4
は、それぞれ0,1,0,0のレベルになる(すなわち
、出力線L1,L2,L3,L4のレベル・パターンは
、0000から0100に変わる。)。よって、オアゲ
ート34の出力(それまでは0レベル)は再びレベル1
になり、レベル1がアンドゲート40の一方の入力(そ
れまで0レベル)に加えられる。また、シフトレジスタ
28のラッチ44.1,44.2,44.3,44.4
の出力レベルは、それぞれ0,1,0,0であるので、
アンドゲート30.1〜30.4の出力は、それぞれ0
,1,0,0のレベルとなる。したがって、最初の監視
者指令が実行されたときと同様に、オアゲート32の出
力は能動状態(レベル1)となり、カウンタ26はゼロ
にリセットされる。更に、オアゲート32の出力のレベ
ル1はインバータ36によって反転され、レベル0がア
ンドゲート40の他方の入力(それまではレベル1)に
加えられる。よって、アンドゲート40の出力は、オア
ゲート42の一方の入力に接続されているが、0レベル
のままである。したがって、カウンタ26はクロック信
号により満カウントにされておらず、該カウンタの桁上
げ出力COが0レベルのままであるため、オアゲート4
2の出力からマイクロプロセッサ10のリセット入力R
Sへ加えられるレベルは0のままであり、マイクロプロ
セッサはリセットされない。
【0026】マイクロプロセッサの2,3クロックパル
ス後に再び、マイクロプロセッサ10はデータバス12
及びアドレスバス14を非能動化し、アドレスデコーダ
16は、有効な監視者指令が加えられなくなって出力線
L2を再び非能動化する。こうして、出力線L1〜L4
は全部0レベルに戻る。また、オアゲート34の出力レ
ベルがレベル1からレベル0に戻り、インバータ38に
より反転されて立上がり前縁がシフトレジスタ28のク
ロック入力CLに加えられ、シフトレジスタ28の内容
がまた1つ進められる。こうして今度は、シフトレジス
タ28のラッチ44.1,44.2,44.3,44.
4の出力のレベルは、それぞれ0,0,1,0になる。 ゆえに、出力線L1〜L4が再び全部0レベルになるた
め、オアゲート32の4つの入力はすべて0レベルに戻
り、オアゲート32の出力も0レベルに戻り、カウンタ
26はゼロから再びカウントし始めることになる。
【0027】同様に、3番目の監視者指令が実行される
と、出力線L3が能動化され、アンドゲート30.1〜
30.4の出力がそれぞれ0,0,1,0のレベルとな
り、カウンタ26が再びリセットされ、シフトレジスタ
28は再び1つ進められてレベル・パターン0001を
出力する。同様に、4番目の監視者指令が実行されると
、出力線L4が能動化され、アンドゲート30.1〜3
0.4の出力がそれぞれ0,0,0,1のレベルとなり
、カウンタ26が再びリセットされる。プログラムが繰
返し実行されるものと仮定すると、シフトレジスタ28
は、また1つ進められてレベル・パターン1000を出
力し、プログラムの次の実行(プログラム・ループ)に
おける来たるべき1番目の監視者指令の到来に備える。 こうして、監視者指令が固有の順序で実行され、それに
より各監視者指令の実行毎に発生する出力線L1〜L4
の能動化パターンが、シフトレジスタ28が出力するパ
ターンに一致する限り、監視者指令が実行される度にカ
ウンタ26がリセットされる上述の動作が無期限に続く
ことになる。
【0028】いま、故障により、監視者指令が正しい順
序で実行されないと仮定する。もっと具体的にいえば、
シフトレジスタが最初の監視者指令に対するレベル・パ
ターン1000を出力しているとき、監視者指令の1つ
(例えば1番目)が飛越され、2番目の監視者指令が実
行される場合を考える。この場合、次に実行される監視
者指令が実際に所定順序で続くものとすれば、オアゲー
ト34の出力は依然としてレベル1である。しかし、実
行順序が正しく維持されている場合と異なり、出力線L
1〜L4におけるビット・パターンとシフトレジスタの
出力パターンとが一致しないため、アンドゲート30.
1〜30.4の両入力がレベル1になることはない。し
たがって、オアゲート32の出力は0レベルのままであ
り、インバータ36の出力もレベル1のままである。よ
って、アンドゲート40の両入力はレベル1(能動状態
)となり、アンドゲート40の出力レベルが1になり、
このレベル1は、オアゲート42を経てマイクロプロセ
ッサ10のリセット入力RSに加えられ、このマイクロ
プロセッサをリセットする。すなわち、アドレスデコー
ダ16及び監視者回路22は、上述した所定の順序以外
の順序で実行される監視者指令に応動してマイクロプロ
セッサ10を直ちにリセットするよう互いに協動し、監
視手段として作用する。
【0029】次に、監視者指令が所定以外の順序で実行
されるのではなく、全く実行されない故障が発生した場
合を考える。この場合、監視者回路22の論理手段は、
上述のようにアンドゲート40を介して直ちにマイクロ
プロセッサ10をリセットしない。それは、出力線L1
〜L4の全部がプログラム実行の故障により0レベル(
非能動状態)にあるのか、正常動作時の監視者指令の実
行の間隔に当たるために出力線L1〜L4が全部0レベ
ルにあるのかを上記論理手段が判別できないためである
。しかし、この場合も、監視者回路22はマイクロプロ
セッサ10をリセットすることになる。そのために、カ
ウンタ26の容量とそのクロック入力に加えるクロック
信号の速度とを、次のように選択する。すなわち、監視
者指令の連続的実行間の最大間隔より大きい所定時間が
経過したとき、カウンタ26は、リセットされない限り
全カウントをしてその桁上げ出力COにレベル1を発生
するようにする。つまり、該カウンタはタイマー回路と
して作用する。したがって、正常の動作では、カウンタ
26は、上述のように監視者指令が実行される毎に満カ
ウンタになる前に常にリセットされるが、プログラムが
実行されない故障の場合は、カウンタ26はリセットさ
れないことになる。よって、カウンタ26は実行停止後
間もなく満カウントし、その桁上げ出力COがレベル1
(能動状態)になり、そのレベル1がオアゲート42を
介してマイクロプロセッサ10のリセット入力RSに送
られ、マイクロプロセッサはリセットされる。
【0030】要約すると、監視者回路22は、監視者指
令が所定以外の順序で実行されたり、監視者指令が全く
実行されなかったりすると、マイクロプロセッサ10を
リセットするのである。
【0031】図2は、マイクロプロセッサ10によって
実行されるプログラムの例を示す流れ図である。図2に
示すプログラムは、複数のプログラム・レベルを有する
。具体的にいえば、例えば、レベル1〜4として示す4
つのレベルがある。レベル1は繰返し実行される主プロ
グラム・ループであり、このループは終りに達すると始
めに飛んで戻る。レベル2〜4は、主プログラム・ルー
プ実行中に必要なサブルーチンより成る。更に具体的に
いうと、レベル2は、主プログラム・ループにおける呼
出し指令に直接必要なサブルーチンSR2.1〜SR2
.4を有し、レベル3は、レベル2のサブルーチンにお
ける呼出し指令に必要なサブルーチンSR3.1〜SR
3.7を有し、レベル4は、レベル3のサブルーチンに
おける呼出し指令に必要なサブルーチンSR4.1〜S
R4.3を有する。
【0032】図2においてWDI1〜WDI4で示す4
つの監視者指令(watchdog instruct
ion)は、レベル1〜4の異なる場所に入れられる(
具体的には例えば、監視者指令WDI2及びWDI4は
レベル1(主プログラム・ループ)に入れ、監視者指令
WDI1はレベル4のサブルーチンSR4.1に入れ、
監視者指令WDI3はレベル2のサブルーチンSR2.
3に入れる。)。この配置は、サブルーチンの不実行の
判別を助けるのみならず、プログラムを間違って問題の
サブルーチンから主プログラム・ループ(レベル1)も
しくは他のサブルーチンに飛んで戻るような種類のマイ
クロプロセッサのスタック(これは、サブルーチンに対
する戻りアドレスを保持する。)における故障の判別を
も助ける、という利点を有する。
【0033】監視者指令WDI1〜WDI4は、プログ
ラム内の、それらの実行間隔が少なくともほぼ等しい位
置に入れるのがよい。すべての監視者指令とそれに続く
指令(同じループ又は次のループ内)との間隔は、勿論
、カウンタが満カウンタするに要する所定時間よりも小
さくする。
【0034】本発明は、勿論、これまで述べた例と異な
る方法で実施してもよい。例えば、上述の具体例では4
つの監視者指令に入れたが、監視者指令の数は任意の複
数でよい。また、タイマー回路は必ずしもカウンタでな
くてもよい。例えば、再トリガ可能の単安定(ワンショ
ット)回路でもよく、その場合はクロック信号は不要で
ある。更に、上述の例では論理手段をオアゲート及びア
ンドゲートで構成したが、論理を逆にしてノアゲート及
びナンドゲートを用いてもよい。すなわち、論理手段は
、もっと一般的にいえば、オア機能回路(オアゲート及
びノアゲート)及びアンド機能回路(アンドゲート又は
ナンドゲート)で構成することができる。
【0035】
【発明の効果】以上説明したとおり、本発明によれば、
監視者指令を互いに異なるものとしてそれぞれ異なるプ
ログラム部分に入れ、監視者指令が所定以外の順序で実
行されるとマイクロプロセッサをリセットするようにし
たので、従来のものが判別できなかったプログラムの種
々の部分に関連する故障に起因するマイクロプロセッサ
の不良動作を判別して、これを修正することができる。
【図面の簡単な説明】
【図1】本発明の実施例を示すブロック図である。
【図2】図1の装置のマイクロプロセッサにより実行さ
れるプログラムの流れ図である。
【符号の説明】
10  マイクロプロセッサ 16,22  監視手段

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  互いに異なり、プログラム実行中に全
    部が実行されるべき複数の監視者指令を含むプログラム
    を実行するマイクロプロセッサと、該マイクロプロセッ
    サに接続され、上記の監視者指令が所定順序以外の順序
    で実行されると、これに応動して上記マイクロプロセッ
    サをリセットさせる監視手段とを具えるマイクロプロセ
    ッサ装置。
JP3043504A 1990-03-08 1991-03-08 マイクロプロセッサ装置 Pending JPH04211843A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9005250A GB2241799B (en) 1990-03-08 1990-03-08 Supervision of microprocessors
GB90052507 1990-03-08

Publications (1)

Publication Number Publication Date
JPH04211843A true JPH04211843A (ja) 1992-08-03

Family

ID=10672272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3043504A Pending JPH04211843A (ja) 1990-03-08 1991-03-08 マイクロプロセッサ装置

Country Status (6)

Country Link
US (1) US5740360A (ja)
EP (1) EP0445936B1 (ja)
JP (1) JPH04211843A (ja)
KR (1) KR100238917B1 (ja)
DE (1) DE69114328T2 (ja)
GB (1) GB2241799B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0702298A2 (en) 1994-09-14 1996-03-20 NEC Corporation Microprogram controlled data processing system having a runaway monitor function

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU639308B2 (en) * 1990-03-09 1993-07-22 Sigtec Navigation Pty Ltd G p s receiver
GB9114975D0 (en) * 1991-07-11 1991-08-28 Int Computers Ltd Monitoring a computer system
GB2270399B (en) * 1992-09-05 1996-01-03 Marconi Gec Ltd Method of operating a distributed processor arrangement
FR2700032B1 (fr) * 1992-12-31 1995-02-10 Alsthom Gec Procédé de détection des erreurs d'exécution d'un logiciel.
DE19703890C1 (de) * 1997-02-03 1998-09-17 Bosch Gmbh Robert Watchdog-Bedienung
GB2328578A (en) * 1997-08-22 1999-02-24 Motion Media Techn Ltd Automatic reset of remote video surveillance system
GB2329266A (en) * 1997-09-10 1999-03-17 Ibm Automatic error recovery in data processing systems
DE19847986C2 (de) * 1998-10-17 2000-10-26 Daimler Chrysler Ag Einzelprozessorsystem
KR100394553B1 (ko) * 1998-12-24 2003-11-28 엘지전자 주식회사 아이피씨시스템에서특정프로세서에대한재시동장치및방법
US6496890B1 (en) 1999-12-03 2002-12-17 Michael Joseph Azevedo Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters
JP2005025309A (ja) * 2003-06-30 2005-01-27 Canon Inc 情報処理装置
US7484133B2 (en) * 2003-11-07 2009-01-27 Finisar Corporation Watch-dog instruction embedded in microcode
DE102005006832B4 (de) * 2005-02-15 2007-10-04 Infineon Technologies Ag Schaltungsanordnung und Verfahren zur gesicherten Datenverarbeitung und deren Verwendung
RU2305313C1 (ru) * 2005-12-27 2007-08-27 Яков Аркадьевич Горбадей Способ я.а. горбадея обеспечения надежной работы программного вычислительного средства
US8347149B2 (en) * 2008-10-01 2013-01-01 Cardiac Pacemakers, Inc. System and method for providing fault tolerant processing in an implantable medical device
US8330502B2 (en) * 2009-11-25 2012-12-11 Freescale Semiconductor, Inc. Systems and methods for detecting interference in an integrated circuit
KR101333950B1 (ko) * 2012-08-10 2013-11-27 주식회사 이노피아테크 셋톱박스의 가용성을 높이기 위한 소프트웨어 워치도그 타이머 구현 장치 및 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3713095A (en) * 1971-03-16 1973-01-23 Bell Telephone Labor Inc Data processor sequence checking circuitry
US4108359A (en) * 1977-03-30 1978-08-22 The United States Of America As Represented By The Secretary Of The Army Apparatus for verifying the execution of a sequence of coded instructions
JPS59114652A (ja) * 1982-12-21 1984-07-02 Nissan Motor Co Ltd ウォッチドッグ・タイマ回路
US4594685A (en) * 1983-06-24 1986-06-10 General Signal Corporation Watchdog timer
JPS60263235A (ja) * 1984-06-12 1985-12-26 Omron Tateisi Electronics Co マイクロコンピユ−タシステム
US4683532A (en) * 1984-12-03 1987-07-28 Honeywell Inc. Real-time software monitor and write protect controller
US4879647A (en) * 1985-06-11 1989-11-07 Nec Corporation Watchdog timer circuit suited for use in microcomputer
JPS61296443A (ja) * 1985-06-24 1986-12-27 Mitsubishi Electric Corp ウオツチドツグ・タイマ
GB2177241B (en) * 1985-07-05 1989-07-19 Motorola Inc Watchdog timer
US4727549A (en) * 1985-09-13 1988-02-23 United Technologies Corporation Watchdog activity monitor (WAM) for use wth high coverage processor self-test
GB2197507A (en) * 1986-11-03 1988-05-18 Philips Electronic Associated Data processing system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0702298A2 (en) 1994-09-14 1996-03-20 NEC Corporation Microprogram controlled data processing system having a runaway monitor function
EP0702298A3 (en) * 1994-09-14 1996-09-04 Nec Corp Firmware-controlled data processing system with pause monitoring function
US5838898A (en) * 1994-09-14 1998-11-17 Nec Corporation Microprogram controlled data processing system having a runaway monitor function

Also Published As

Publication number Publication date
EP0445936A3 (en) 1992-06-03
GB2241799A (en) 1991-09-11
GB2241799B (en) 1993-12-08
KR910017275A (ko) 1991-11-05
GB9005250D0 (en) 1990-05-02
EP0445936A2 (en) 1991-09-11
DE69114328T2 (de) 1996-05-02
DE69114328D1 (de) 1995-12-14
EP0445936B1 (en) 1995-11-08
KR100238917B1 (ko) 2000-01-15
US5740360A (en) 1998-04-14

Similar Documents

Publication Publication Date Title
JPH04211843A (ja) マイクロプロセッサ装置
JP2755581B2 (ja) デジタルデータ処理システム
US4669059A (en) Method and apparatus in a data processor for selectively disabling a power-down instruction
JPS59114652A (ja) ウォッチドッグ・タイマ回路
US4318172A (en) Store data buffer control system
US20030005241A1 (en) Write protect method
JP3055999B2 (ja) マイクロプログラム制御装置群
JP3170285B2 (ja) フォルトトレラント3ポート通信モジュール
JPH0346853B2 (ja)
JPS63263543A (ja) マルチレベルプログラミング方式
JP2870083B2 (ja) ウオッチドッグタイマ内蔵マイクロコンピュータ
JPS5827246A (ja) 論理装置
JPS6029128B2 (ja) マイクロプログラム制御装置
JP2626119B2 (ja) マイクロコンピュータ開発支援装置
JPH01211138A (ja) 計算機システムの監視回路用リセット回路
JPS61202234A (ja) アドレス制御回路
JPS58181159A (ja) 状態履歴記憶回路
JPS59129995A (ja) 記憶装置
JPS5844261B2 (ja) サブル−チン動作障害検出装置
JPS62137643A (ja) マイクロプロセサ動作バツクアツプ回路
JPH05257751A (ja) マイクロコンピュータ
JPS6052454B2 (ja) 制御回路
JPS6083149A (ja) コンピユ−タ
JPS5935455B2 (ja) セイギヨソウチ
JPS59218555A (ja) マイクロプログラム制御装置