JPH05257751A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JPH05257751A
JPH05257751A JP3314983A JP31498391A JPH05257751A JP H05257751 A JPH05257751 A JP H05257751A JP 3314983 A JP3314983 A JP 3314983A JP 31498391 A JP31498391 A JP 31498391A JP H05257751 A JPH05257751 A JP H05257751A
Authority
JP
Japan
Prior art keywords
stop
signal
control circuit
watchdog timer
instruction
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
Application number
JP3314983A
Other languages
English (en)
Other versions
JP2814800B2 (ja
Inventor
Sachiko Okayama
幸子 岡山
Tsuyoshi Katayose
強 片寄
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP3314983A priority Critical patent/JP2814800B2/ja
Publication of JPH05257751A publication Critical patent/JPH05257751A/ja
Application granted granted Critical
Publication of JP2814800B2 publication Critical patent/JP2814800B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【目的】 プログラムの暴走があって、本来期待されな
いSTOP命令が実行されてもウォッチドックタイマが
停止することなく、システムの異常を検出できるマイク
ロコンピュータを提供する。さらに、異常を検出した時
点で、システムの異常に対処できるマイクロコンピュー
タを提供する。 【構成】 CPU1と、割込み制御回路2と、クロック
発生回路3と、スタンバイ制御回路5aと、ウォッチド
ッグタイマ6とを有する。そして、ウォッチドッグタイ
マ6のカウント値をクリアする命令の直後にSTOP命
令が実行されたことを記憶する記憶回路と、前記記憶回
路の内容とスタンバイ状態を起動させる信号とのレベル
を比較する手段と、前記比較手段の結果が一致するとき
はスタンバイ状態に入り、一致しないときは割込み処理
を要求する手段とを備えている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロコンピュータ
に関し、特にマイクロコンピュータのシステム異常を検
出するウォッチドッグタイマに関する。
【0002】
【従来の技術】従来のマイクロコンピュータには、プロ
グラムの暴走及びシステムの異常等に対処するためのウ
ォッチドッグタイマを内蔵しているものがある。
【0003】ウォッチドッグタイマはカウント値のクリ
ア手段を備え、カウント値のオーバーフロー情報を出力
するカウンタにより構成される。ウォッチドッグタイマ
のカウンタスタート命令を実行してカウントをスタート
させ、カウント値がオーバーフローする前に、プログラ
ムの流れの中でウォッチドッグタイマのカウント値をク
リアする命令(以下ウォッチドッグタイマ・クリア命令
と記す)を実行することにより、ウォッチドッグタイマ
のカウント値をオーバーフローさせないことで、プログ
ラムが正常に動作していることを確認するものである。
プログラムの暴走及びシステムの異常等が発生し、ウォ
ッチドッグタイマ・クリア命令が実行されないときは、
カウント値のオーバーフローを生じ、マイクロコンピュ
ータの中央処理装置(以下、CPUと記す)がウォッチ
ドッグタイマのカウント値のオーバーフローを検出し、
異常等に対する処理ルーチンを実行することで、ユーザ
ーはマイクロコンピュータのシステム全体の信頼度を高
めることができる。
【0004】更に、ウォッチドッグタイマ・クリア命令
は、プログラムの暴走によって不用意にカウント値のク
リアがかからないように、特殊なコード構成を取ってい
る場合がある。例えば、 RSTWDT #imm8(1),#imm8
(2) という構成をとるウォッチドッグタイマ・クリア命令
は、2バイト命令で3バイト目と4バイト目のオペレー
ションコード、#imm8(1)と#imm8(2)が
お互いに補数であるときに、ウォッチドッグタイマのカ
ウント値をクリアする方法をとっている。プログラムの
暴走等により3バイト目と4バイト目のオペレーション
コードがお互に補数でない場合は、ソフトウェア割込み
が発生し、CPUが異常に対する処理ルーチンを実行す
る。
【0005】また、マイクロコンピュータは低消費電力
を図るスタンバイ機能として、システムクロックを停止
させるSTOP状態がある。STOP命令を実行するこ
とにより、全てのクロックが停止し、応用システム全体
が停止してSTOP状態となる。STOP状態に入った
ウォッチドッグタイマはカウントを停止する。
【0006】図5は従来のマイクロコンピュータの構成
例を示すブロック図である。図5のマイクロコンピュー
タは、システム全体を制御するCPU1と、割込みを制
御する割込み制御回路2と、システムクロック30を発
生するクロック発生回路3と、スタンバイ機能を制御す
るスタンバイ機能制御回路5bと、プログラムの異常を
検出するウォッチドッグタイマ6とを有する。
【0007】CPU1は、STOP命令を実行すること
を示すSTOPオーダー32をスタンバイ制御回路5b
へ出力する。割込み制御回路2は割込みを受けて、CP
U1へ割込みが発生したことを知らせる割込み発生信号
31を出力する。クロック発生回路3は、各機能ブロッ
クへシステムクロックを出力する。スタンバイ機能制御
回路5bは、STOP状態を起動するSTOP_A信号
37をクロック発生回路3へ出力する。
【0008】マイクロコンピュータがSTOP状態に入
る時は、CPU1はSTOP命令を解読して、STOP
オーダ32を”1”にする。STOPオーダ32を入力
したスタンバイ制御回路5bは、STOP_A信号37
を”1”とする。STOP_A信号37を入力したクロ
ック発生回路3は、システムクロック30を停止する。
システムクロック30を入力してカウント動作をしてい
るウォッチドッグタイマ6は、カウントを停止する。
【0009】通常使用状態で、CPU1がウォッチドッ
グタイマ・クリア命令を実行して、ウォッチドッグタイ
マ・クリア信号37を”1”にすると、ウォッチドッグ
タイマ6のカウント値をクリアし、カウントを再開す
る。CPU1がウォッチドッグタイマ・クリア命令を読
み出したときに、プログラムの暴走等により、命令コー
ドが特殊なコード構成をとることができないときは、ソ
フトウェア割込みが発生する。このソフトウェア割込み
によって、CPU1がプログラムの異常に対処する。
【0010】
【発明が解決しようとする課題】上述した従来のマイク
ロコンピュータでは、ウォッチドッグタイマのカウント
値がオーバーフローしないように、プログラム中に特殊
なプログラム構成をとるウォッチドッグタイマ・クリア
命令を挿入することで、CPUがプログラムの暴走に対
処できるようになっている。しかしながら、ウォッチド
ッグタイマ・クリア命令を実行する前に、プログラムの
暴走によりSTOP命令が実行されてSTOP状態に入
ると、ウォッチドッグタイマはカウントを停止してしま
うので、プログラムが正常に動作していないことをウォ
ッチドッグタイマのカウント値のオーバーフローによっ
て検出することができない。また、他の手段を用いて、
プログラムの暴走を検出することもできない。
【0011】本発明はかかる問題点に鑑みてなされたも
のであって、プログラムの暴走等により本来期待されて
いないSTOP命令が実行されてしまう前にCPUがシ
ステムの異常を検出し、更に、前記プログラムの暴走等
に対処できるマイクロコンピュータを提供することを目
的とする。
【0012】
【課題を解決するための手段】本発明に係るマイクロコ
ンピュータは、中央処理装置と、割込みを制御する割込
み制御回路と、システム全体にシステムクロックを供給
するクロック発生回路と、低消費電力を実現するための
スタンバイ制御回路と、ウォッチドッグタイマを有する
マイクロコンピュータにおいて、ウォッチドッグタイマ
のカウント値をクリアする命令の直後にSTOP命令が
実行したことを記憶する記憶回路と、前記記憶回路の内
容とスタンバイ状態を起動させる信号とのレベルを比較
する手段と、前記比較手段の結果が一致する時はスタン
バイ状態に入り、一致しない時は割込み処理を要求する
手段とを備えたことを特徴とする。
【0013】
【作用】本発明のマイクロコンピュータにおいては、ス
タンバイ制御回路5aは、STOP命令でSTOP状態
を起動するSTOP_A信号37を”1”にする。ウォ
ッチドッグタイマ・クリア命令とSTOP命令が連続し
て実行されたときにSRフリップフロップ13の出力
が”1”になる。SRフリップフロップ13とSTOP
_A信号37が共に”1”である場合は、STOP_B
信号38を”1”にし、クロック発生回路3にシステム
クロックの発生を停止させる。SRフリップフロップ1
3が”0”でSTOP_A信号37が”1”である場合
は、割込み要求信号35aが”1”となる。また、クロ
ック発生回路3がシステムクロックを停止しない。
【0014】従って、本来期待されないSTOP命令が
実行されてもウォッチドッグタイマが停止することな
く、ウォッチドッグタイマのカウント値のオーバーフロ
ーによってシステムの異常を検出することができる。
【0015】
【実施例】次に、本発明の実施例について、添付の図面
を参照して説明する。
【0016】図1は、本発明の実施例に係るマイクロコ
ンピュータを示すブロック図である。図1に示すマイク
ロコンピュータは、システム全体を制御するCPU1
と、各割込みを処理する割込み制御回路2と、システム
クロック30を発生するクロック発生回路3と、ウォッ
チドッグタイマ・クリア命令とSTOP命令が連続して
実行されたことを検出するSTOP信号制御回路4a
と、スタンバイ機能を制御するスタンバイ制御回路5a
とを有する。
【0017】CPU1は、STOP信号制御回路4aへ
ウォッチドッグタイマ・クリア信号37と各実行命令の
終了を示すエンド信号34と、STOP信号制御回路4
aの情報を初期化するリセット信号33と、スタンバイ
制御回路5aに対しSTOP命令を実行することを示す
STOPオーダ32とを出力し、また、スタンバイ制御
回路5aへSTOPオーダ32を出力している。割込み
制御回路2は、CPU1へ割込み処理を要求する割込み
発生信号31を出力している。クロック発生回路3は、
各機能へシステムクロック30を出力している。STO
P信号制御回路4aは、論理積ゲート(以下ANDゲー
トと記す)24へSTOP_A信号37を制御するST
OP許可信号36を出力する。ANDゲート24は、ク
ロック発生回路3へSTOP状態を起動させるSTOP
_B信号38を出力し、また、スタンバイ制御回路5a
へSTOP_A信号37と比較するためにSTOP_B
信号38を出力する。
【0018】STOP信号制御回路4aの内部は、ウォ
ッチドッグタイマ6と、CPU1が出力したウォッチド
ッグタイマ・クリア信号37を入力するSRフリップフ
ロップ(以下SRF/Fと記す)11と、1命令実行毎の
終了タイミングを示すエンド信号34とSRF/F11の
出力を入力するANDゲート21と、ANDゲート21
の出力を入力するSRF/F12と、SRF/F12の信号を
遅延させるディレイ回路27と、エンド信号34とディ
レイ回路27の出力とリセット信号33を入力するAN
DORゲート22と、SRF/F12の出力とSTOPオ
ーダー32を入力するANDゲート23と、ANDゲー
ト23の出力を入力するSRF/F13で構成される。
【0019】SRF/F13の出力であるSTOP許可信
号36はスタンバイ制御回路5aが出力したSTOP_
A信号37と共にANDゲート24に入力されている。
【0020】スタンバイ制御回路5аは、STOP_Α
信号とSTOP_Β信号38を比較して一致しない時は
割込み要求信号35aを″1″にする機能が従来のスタ
ンバイ制御回路5bに追加してある。STOP_Α信号
37とSTOP_Β信号38が一致するときは、スタン
バイ制御回路5aは、割込み要求信号35aを″0″に
したままである。
【0021】図2及び図3は、プログラムの暴走がない
場合におけるウォッチドッグタイマ・クリア命令とST
OP命令を実行したときのタイミング図である。図2
は、ウォッチドッグタイマ・クリア 命令を実行した直
後にSTOP命令を実行した場合で、STOP状態に入
る条件である。これに対し、図3は、ウォッチドッグタ
イマ・クリア 命令を実行した直後にSTOP以外の命
令(例としてNOP命令)を実行し、その後にSTOP
命令を実行した場合で、STOP状態に入れない条件で
ある。
【0022】図2及び図3におけるWDTはウォッチド
ッグタイマ・クリア命令、STOPはSTOP命令を表
わす。実行サイクルは各命令の実行期間を示す。
【0023】図1と図2を用いて、マイクロコンピュ−
タがSTOP状態に入る場合について説明する。CPU
1が予めリセット信号33で初期化し、SRF/F11,
12,13の出力の初期値は、いずれも" 0" である。
ウォッチドッグタイマ・クリア 信号37が" 1" にな
ると、SRF/F11は" 1" にセットされる。次にウォ
ッチドッグタイマ・クリア命令実行時のエンド信号34
が”1”になると、ANDゲート21の出力は”1”と
なり、SRF/F12を”1”にセットする。SRF/F12
の”1”である出力はディレイ回路27によって遅延さ
れ、ANDORゲート22に入力する。STOPオーダ
ー32が”1”になると、ANDゲート23の出力は”
1”となって、SRF/F13を”1”にセットする。S
TOP命令実行時にエンド信号34が”1”になると、
ANDORゲート22の出力は”1”となって、SRF/
F11とSRF/F12を”0”にリセットする。STOP
_Α信号37が”1”になると、SRF/F13の出力で
あるSTOP許可信号36は”1”であるので、AND
ゲート24の出力STOP_B信号38が”1”とな
り、クロック発生回路3がシステムクロック30の発生
を停止する。
【0024】一方、スタンバイ制御回路5aはSTOP
_Α信号37とSTOP_B信号38とを比較するが、
この場合両者が一致しているので、STOP要求割込み
信号35aを”0”のままとする。従って、マイクロコ
ンピュータはSTOP状態に入る。なお、STOP状態
解除時に、CPU1はリセット信号33でSRF/F13
を”0”にリセットする。
【0025】次に、図1と図3を用いてマイクロコンピ
ュータがSTOP状態に入れない場合について説明す
る。CPU1が予めリセット信号33で初期化し、SR
F/F11,12,13の出力の初期値はいずれも”0”
である。ウォッチドッグタイマ・クリア信号37が”
1”になると、SRF/F11は”1”にセットされる。
次にウォッチドッグタイマ・クリア命令実行後のエンド
信号34が”1”になると、ANDゲート21は”1”
となり、SRF/F12を”1”にセットする。SRF/F1
2の”1”である出力はディレイ回路27によって遅延
され、ANDORゲート22に入力する。NOP命令実
行時にエンド信号34が”1”になると、ANDORゲ
ート22の出力は”1”となって、SRF/F11とSRF
/F12を”0”にリセットする。STOPオーダ32
が”1”になっても、SRF/F12の出力は”0”であ
るので、ANDゲート23の出力は”0”となり、SR
F/F13の出力であるSTOP許可信号36は”0”の
ままである。STOP_Α信号37が”1”になっても
ANDゲート24の出力であるSTOP_B信号38
は”0”のままである。
【0026】従って、クロック発生回路3はシステムク
ロックを発生し続け、マイクロコンピュ−タはSTOP
状態に入れない。一方、スタンバイ制御回路は、STO
P_Α信号37とSTOP_B信号38とを比較して一
致しないので、STOP要求割込み信号35aを”1”
とする。
【0027】その後、割込み制御回路2からの割込み発
生信号31によってCPU1は、正しくSTOP命令が
実行されていないとして、割込み処理を行なう。
【0028】次に、図4を参照して、本発明の第2の実
施例について説明する。
【0029】先の第1の実施例では、割込み要求信号3
5аをスタンバイ制御回路5аから出力したが、第2の
実施例では、STOP信号制御回路4bから割込み要求
信号35bを出力する。第2の実施例のスタンバイ制御
回路5bは、従来のスタンバイ制御回路と同じである。
【0030】一方、STOP信号制御回路4bは、ST
OPオ−ダ32を入力するSRF/F14とSRF/F13の
出力を入力するインバ−タ26と、インバ−タ26の出
力とSRF/F14の出力を入力するANDゲ−ト25
と、ANDゲ−ト25の出力を入力する割込み発生回路
15が追加されている。割込み発生回路15は、割込み
制御回路2へ、割込み要求信号35bを割込み要求信号
35аと同じ機能とタイミングで出力する。他の機能
は、STOP信号制御回路4аと同じである。
【0031】SRF/F11,12,13のタイミングは
第1の実施例と同じであるので、STOP信号制御回路
4bより割込み要求信号35bが出力される動作だけを
説明する。SRF/F14は、SRF/F11,12,13と
同様にリセット信号33で″0″にリセットされるの
で、出力初期値は、″0″である。
【0032】次に、図2を参照してSTOP状態に入る
場合について説明する。STOP命令実行時にSTOP
オ−ダ32が″1″となるとSRF/F14は″1″にセ
ットされる。SRF/F13の出力であるSTOP許可信
号36は″1″であるから、インバ−タ25の出力は″
0″となる。SRF/F14の出力とインバ−タ26の出
力を入力したANDゲ−ト25の出力は″0″となる。
ANDゲ−ト25の出力を入力した割込み発生回路15
は、STOP許可信号36が″1″で、かつSTOPオ
−ダ32が″1″であるので、割込み要求信号35b
は″0″のままである。STOP_Β信号38は、″
1″であるので、マイクロコンピュ−タはSTOP状態
に入る。
【0033】次に、図3を参照してSTOP状態に入れ
ない場合について説明する。STOP命令実行時にST
OPオ−ダが″1″となると、SRF/F14はSRF/F1
3と同じタイミングで″1″にセットされる。SRF/F
13の出力であるSTOP許可信号36は″0″である
から、インバ−タ25の出力は″1″となり、ANDゲ
−ト24の出力は″1″となる。割込み発生回路15
は、STOP許可信号36が″0″で、かつSTOPオ
−ダ32が″1″であるので、割込み要求信号35b
を″1″とする。このとき、STOP_Β信号38は″
0″であるので、STOP状態に入れない。
【0034】第1の実施例と同様に割込み要求信号35
bが″1″になると、割込み制御回路2は割込み発生信
号31を″1″とし、CPUIは割込み処理を行なう。
【0035】
【発明の効果】本発明のマイクロコンピュータによれ
ば、ウォッチドッグタイマ・クリア命令とSTOP命令
を連続して実行してはじめて、STOP状態に入る。従
って、プログラムの暴走等により本来期待されていない
STOP命令が誤って実行されてしまう前にCPUがシ
ステムの異常を検出できる。また、前記システムの異常
に対処する割込み処理を行なうことができる。これによ
り、システムの信頼度が高いマイクロコンピュータを提
供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係るマイクロコンピュ
ータを示すブロック図である。
【図2】同じくそのマイクロコンピュータがSTOP状
態に入る場合のタイミング図である。
【図3】同じくそのマイクロコンピュータがSTOP状
態に入れない場合のタイミング図である。
【図4】本発明の第2の実施例に係るマイクロコンピュ
ータを示すブロック図である。
【図5】従来のマイクロコンピュータの一例を示すブロ
ック図である。
【符号の説明】
1;CPU 2;割込み制御回路 3;クロック発生回路 4;STOP信号制御回路 5a,5b;スタンバイ制御回路 6;ウォッチドッグタイマ 11,12,13,14;SRフリップフロップ 15;割込み発生回路 21,23,24,25;ANDゲート 22;ANDORゲート 26;インバータ 27;ディレイ回路 30;システムクロック 31;割込み発生信号 32;STOPオーダ 33;リセット信号 34;エンド信号 35a,35b;割込み要求信号 36;STOP許可信号 37;STOP_A信号 38;STOP_B信号

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 中央処理装置と、割込みを制御する割込
    み制御回路と、システム全体にシステムクロックを供給
    するクロック発生回路と、低消費電力を実現するための
    スタンバイ制御回路と、ウォッチドッグタイマとを有す
    るマイクロコンピュータにおいて、ウォッチドッグタイ
    マのカウント値をクリアする命令の直後にSTOP命令
    が実行したことを記憶する記憶回路と、前記記憶回路の
    内容とスタンバイ状態を起動させる信号とのレベルを比
    較する手段と、前記比較手段の結果が一致するときはス
    タンバイ状態に入り、一致しないときは割込み処理を要
    求する手段とを備えたことを特徴とするマイクロコンピ
    ュータ。
JP3314983A 1991-11-28 1991-11-28 マイクロコンピュータ Expired - Fee Related JP2814800B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3314983A JP2814800B2 (ja) 1991-11-28 1991-11-28 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3314983A JP2814800B2 (ja) 1991-11-28 1991-11-28 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JPH05257751A true JPH05257751A (ja) 1993-10-08
JP2814800B2 JP2814800B2 (ja) 1998-10-27

Family

ID=18060012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3314983A Expired - Fee Related JP2814800B2 (ja) 1991-11-28 1991-11-28 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP2814800B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660975B2 (en) 2004-11-29 2010-02-09 Seiko Epson Corporation Electronic apparatus and control method thereof
JP2014016840A (ja) * 2012-07-10 2014-01-30 Toyota Industries Corp ウオッチドッグタイマ回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660975B2 (en) 2004-11-29 2010-02-09 Seiko Epson Corporation Electronic apparatus and control method thereof
JP2014016840A (ja) * 2012-07-10 2014-01-30 Toyota Industries Corp ウオッチドッグタイマ回路

Also Published As

Publication number Publication date
JP2814800B2 (ja) 1998-10-27

Similar Documents

Publication Publication Date Title
US5473767A (en) Method and apparatus for asynchronously stopping the clock in a processor
US4791557A (en) Apparatus and method for monitoring and controlling the prefetching of instructions by an information processing system
JPH0561692A (ja) マイクロプロセツサの割込み制御装置
US5630107A (en) System for loading PLL from bus fraction register when bus fraction register is in either first or second state and bus unit not busy
KR100204850B1 (ko) 특정저장영역의 기입보호기능을 구비한 정보처리장치 및 그방법
US6968410B2 (en) Multi-threaded processing of system management interrupts
JP2814800B2 (ja) マイクロコンピュータ
US5761492A (en) Method and apparatus for uniform and efficient handling of multiple precise events in a processor by including event commands in the instruction set
JP7276755B2 (ja) 処理速度整合回路およびマイクロプロセッサ
JPH0883178A (ja) 情報処理装置
JP5012562B2 (ja) マイクロコンピュータ
KR100414059B1 (ko) Rtos에서의 와치독 타이머를 이용한 오동작 감시시스템 및 방법
JP2665043B2 (ja) Cpuの暴走検出回路
JPH0756774A (ja) ウォッチドッグタイマ
KR100442290B1 (ko) 프로그램 카운터 제어회로
KR100314805B1 (ko) 파이프라인제어프로세서를위한부팅회로
JP2636074B2 (ja) マイクロプロセッサ
JP2006099654A (ja) 半導体回路装置
JPH05224966A (ja) 命令誤動作防止方式
JPH0559449B2 (ja)
JPH0744407A (ja) マイクロコンピュータのバックアップ装置
JPH087679B2 (ja) マイクロプロセッサ
JP2870083B2 (ja) ウオッチドッグタイマ内蔵マイクロコンピュータ
JPH0555905B2 (ja)
JPH0659921A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees