JP2000187600A - ウオッチドッグタイマ方式 - Google Patents
ウオッチドッグタイマ方式Info
- Publication number
- JP2000187600A JP2000187600A JP10365044A JP36504498A JP2000187600A JP 2000187600 A JP2000187600 A JP 2000187600A JP 10365044 A JP10365044 A JP 10365044A JP 36504498 A JP36504498 A JP 36504498A JP 2000187600 A JP2000187600 A JP 2000187600A
- Authority
- JP
- Japan
- Prior art keywords
- state
- program
- execution state
- watchdog timer
- data
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error 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)【要約】
【課題】 システムの異常性を、プログラムの実行状態
に合わせて割り当てた値の変化として捉えることによっ
て、より確実な異常性チェック機能を持つウオッチドッ
グタイマ方式を提供する。 【解決手段】 プロセッサ(CPU)1から、プログラ
ムの実行状態に合わせて定義された実行状態データを、
カウンタ(WDTC)がオーバーフローしない前にレジ
スタ5に保持する。その保持された実行状態データとあ
らかじめROM6に保持されているプログラムの状態系
列を示す状態系列データとを比較器9で比較し、相違し
ていた時、リセット信号を発生させる。
に合わせて割り当てた値の変化として捉えることによっ
て、より確実な異常性チェック機能を持つウオッチドッ
グタイマ方式を提供する。 【解決手段】 プロセッサ(CPU)1から、プログラ
ムの実行状態に合わせて定義された実行状態データを、
カウンタ(WDTC)がオーバーフローしない前にレジ
スタ5に保持する。その保持された実行状態データとあ
らかじめROM6に保持されているプログラムの状態系
列を示す状態系列データとを比較器9で比較し、相違し
ていた時、リセット信号を発生させる。
Description
【0001】
【発明の属する技術分野】本発明は、産業用計算機及び
フォールトトレラント計算機における、ソフト/ハード
での障害監視機能として一般的に用いられるウオッチド
ッグタイマ方式に関し、その機能の一部として状態比較
及び状態一致の機能を設けたことを特徴としている。
フォールトトレラント計算機における、ソフト/ハード
での障害監視機能として一般的に用いられるウオッチド
ッグタイマ方式に関し、その機能の一部として状態比較
及び状態一致の機能を設けたことを特徴としている。
【0002】
【従来の技術】ウオッチドッグタイマ(Watch−D
og−Timer)機能は、特に産業用計算機や、機械
や製品の制御用コントローラ等のように停止してはなら
ない計算機に対し、プログラムのバグ等で計算機の停止
の検出のために用いられている。
og−Timer)機能は、特に産業用計算機や、機械
や製品の制御用コントローラ等のように停止してはなら
ない計算機に対し、プログラムのバグ等で計算機の停止
の検出のために用いられている。
【0003】このような、ウオッチドッグタイマ機能
は、一般的に有益であり、近年ワンチップCPUなどで
は1つのLSI内に混載されることもある。しかし、こ
れは「計算機が一定時間にウオッチドッグタイマをクリ
アすること=プログラムが正常に動作している」、とい
うように計算機の異常性を定義しているためである。例
えば、バグによりプログラムがウオッチドッグタイマの
クリアを含むような永久ループに入り込んだ場合、前述
の定義には当てはまらないため、このバグを検出するこ
とができない。
は、一般的に有益であり、近年ワンチップCPUなどで
は1つのLSI内に混載されることもある。しかし、こ
れは「計算機が一定時間にウオッチドッグタイマをクリ
アすること=プログラムが正常に動作している」、とい
うように計算機の異常性を定義しているためである。例
えば、バグによりプログラムがウオッチドッグタイマの
クリアを含むような永久ループに入り込んだ場合、前述
の定義には当てはまらないため、このバグを検出するこ
とができない。
【0004】また、ハード的な障害があったとき、計算
されるべき値に異常が発生したがそれがシステム内で取
り得る値であったため、異なる動作をしてしまったとい
うような場合が存在する。これらのより高度な計算機の
異常性を検出することが要求されている。
されるべき値に異常が発生したがそれがシステム内で取
り得る値であったため、異なる動作をしてしまったとい
うような場合が存在する。これらのより高度な計算機の
異常性を検出することが要求されている。
【0005】この要請に応えるために、例えば、特開平
4−241642号公報に開示されているように、通過
状態表示レジスタを用いて「チェックポイントをクリ
ア」なおかつ「ウオッチドッグタイマをクリアする」こ
とを正常として定義し、異常性の検出を行うことが提案
されている。
4−241642号公報に開示されているように、通過
状態表示レジスタを用いて「チェックポイントをクリ
ア」なおかつ「ウオッチドッグタイマをクリアする」こ
とを正常として定義し、異常性の検出を行うことが提案
されている。
【0006】この先行技術文献に開示された手法では、 1.明確に「プログラムの実行状態」を定義していな
い。 2.通るべきチェックポイントの時間的順序は検出しな
い。 3.通過状態表示レジスタセット命令とウオッチドッグ
タイマクリア命令の複数の命令を使用するので、プログ
ラム作成が複雑化する。
い。 2.通るべきチェックポイントの時間的順序は検出しな
い。 3.通過状態表示レジスタセット命令とウオッチドッグ
タイマクリア命令の複数の命令を使用するので、プログ
ラム作成が複雑化する。
【0007】
【発明が解決しようとする課題】このため、先行技術文
献の手法は、チェックポイントを設定する通過状態表示
レジスタセット命令とウオッチドッグタイマクリア命令
を含む永久ループの検出が行えない。また、プログラム
を作成する時に、チェックポイントとしての通過状態表
示レジスタセット命令を、ウオッチドッグタイマクリア
命令に比較してどれくらい時間的な差を付けるべきなの
か、が明確となっていない点や、通過状態表示レジスタ
セット命令を実行するプログラムルートとウオッチドッ
グタイマクリア命令のあるプログラムルートが一致する
ように、条件分岐等で考慮してプログラムを作る必要が
ある点といった、プログラマにとって使いにくいといっ
た欠点がある。
献の手法は、チェックポイントを設定する通過状態表示
レジスタセット命令とウオッチドッグタイマクリア命令
を含む永久ループの検出が行えない。また、プログラム
を作成する時に、チェックポイントとしての通過状態表
示レジスタセット命令を、ウオッチドッグタイマクリア
命令に比較してどれくらい時間的な差を付けるべきなの
か、が明確となっていない点や、通過状態表示レジスタ
セット命令を実行するプログラムルートとウオッチドッ
グタイマクリア命令のあるプログラムルートが一致する
ように、条件分岐等で考慮してプログラムを作る必要が
ある点といった、プログラマにとって使いにくいといっ
た欠点がある。
【0008】さらには、チェックポイントのチェックと
なっているため、フォールトトレラント計算機の設計の
ような複数の計算機間での比較を行えないという問題も
ある(チェックポイントの値の設定と、その確認が分割
されているため)。
なっているため、フォールトトレラント計算機の設計の
ような複数の計算機間での比較を行えないという問題も
ある(チェックポイントの値の設定と、その確認が分割
されているため)。
【0009】本発明の主な目的は、システムの異常性
を、プログラムの実行状態に合わせて割り当てた値の変
化として捉えることによって、より確実な異常性チェッ
ク機能を持つウオッチドッグタイマ方式を提供すること
にある。
を、プログラムの実行状態に合わせて割り当てた値の変
化として捉えることによって、より確実な異常性チェッ
ク機能を持つウオッチドッグタイマ方式を提供すること
にある。
【0010】
【課題を解決するための手段】本発明は、カウンタの値
がオーバーフローすることで計算機全体にリセットを発
生させるウオッチドッグタイマ方式において、計算機の
プロセッサから、プログラムの実行状態に合わせて定義
された実行状態データを、カウンタがオーバーフローし
ない前に保持する実行状態保持手段と、その保持された
実行状態データとプログラムの状態系列を示す状態系列
データとを比較し、相違していた時、リセット信号を発
生させる比較手段とを有することを特徴とする。
がオーバーフローすることで計算機全体にリセットを発
生させるウオッチドッグタイマ方式において、計算機の
プロセッサから、プログラムの実行状態に合わせて定義
された実行状態データを、カウンタがオーバーフローし
ない前に保持する実行状態保持手段と、その保持された
実行状態データとプログラムの状態系列を示す状態系列
データとを比較し、相違していた時、リセット信号を発
生させる比較手段とを有することを特徴とする。
【0011】プログラムの状態系列があらかじめ決まっ
ている場合には、状態系列データをあらかじめROM等
の状態系列保存手段に保存しておき、これを順次読み出
して実行状態データと比較すれば良い。
ている場合には、状態系列データをあらかじめROM等
の状態系列保存手段に保存しておき、これを順次読み出
して実行状態データと比較すれば良い。
【0012】柔軟なプログラムの状態遷移に対応する場
合には、実行状態保持手段に保持された実行状態データ
からステートマシンにて状態系列データを生成する。
合には、実行状態保持手段に保持された実行状態データ
からステートマシンにて状態系列データを生成する。
【0013】複数の計算機との間で異常検知を行う場合
には、他の計算機から送られてくる状態系列データを選
択手段で選択して比較手段に入力すれば良い。
には、他の計算機から送られてくる状態系列データを選
択手段で選択して比較手段に入力すれば良い。
【0014】
【発明の実施の形態】次に、本発明の実施の形態を図面
に基づいて詳述する。
に基づいて詳述する。
【0015】図1に示すように、本発明を適用した計算
機システムは、マイクロプロセッサ(以下、「CPU」
と記す)1と、メモリ(以下、「MEM」と記す)2
と、外部入出力装置(以下、「I/O」と記す)3と、
各々を接続するバス(以下、「BUS」と記す)という
一般的な計算機の構成に対し、本発明によるウオッチド
ッグタイマ機能を持ったLSI(以下、「WDT−LS
I」と記す)4を設けている。
機システムは、マイクロプロセッサ(以下、「CPU」
と記す)1と、メモリ(以下、「MEM」と記す)2
と、外部入出力装置(以下、「I/O」と記す)3と、
各々を接続するバス(以下、「BUS」と記す)という
一般的な計算機の構成に対し、本発明によるウオッチド
ッグタイマ機能を持ったLSI(以下、「WDT−LS
I」と記す)4を設けている。
【0016】CPU(1)は、MEM(2)からプログ
ラムを取り出し、解釈、実行する。その命令によりCP
U(1)は、MEM(2),I/O(3)からデータを
取り出したり、処理し、出力する。この時、そのプログ
ラムの実行状態(例えば、初期化処理中、入力処理中、
処理中、出力中など)に対して、一意に決定された値を
定義しておく。
ラムを取り出し、解釈、実行する。その命令によりCP
U(1)は、MEM(2),I/O(3)からデータを
取り出したり、処理し、出力する。この時、そのプログ
ラムの実行状態(例えば、初期化処理中、入力処理中、
処理中、出力中など)に対して、一意に決定された値を
定義しておく。
【0017】WDT−LSI(4)は、図2を用いて後
ほど詳述するように、内部に一定のカウンタ(以下、こ
のカウンタを「WDTC」と記す)7を持ち、そのカウ
ンタ値がオーバーフローすることで計算機全体にリセッ
トを発生する機能を持つ。つまり、この計算機では、一
定時間ごとにCPU等がWDTC(7)をクリアする必
要があり、これが行われない場合、計算機は異常動作を
行っているとして再起動をかける仕組みとなっている。
ほど詳述するように、内部に一定のカウンタ(以下、こ
のカウンタを「WDTC」と記す)7を持ち、そのカウ
ンタ値がオーバーフローすることで計算機全体にリセッ
トを発生する機能を持つ。つまり、この計算機では、一
定時間ごとにCPU等がWDTC(7)をクリアする必
要があり、これが行われない場合、計算機は異常動作を
行っているとして再起動をかける仕組みとなっている。
【0018】そのため、CPU(1)は、プログラムの
実行に従って、その実行状態をWDT−LSI(4)へ
WDTC(7)がオーバーフローしない程度の間隔で通
知する。
実行に従って、その実行状態をWDT−LSI(4)へ
WDTC(7)がオーバーフローしない程度の間隔で通
知する。
【0019】さらに、本発明では、CPU等がWDTC
クリアの時に一意の値をWDT−LSI(4)へ、あら
かじめ時系列にあわせて設定された数列として書き込ま
なければカウンタはクリアされない、という動作を実行
する。
クリアの時に一意の値をWDT−LSI(4)へ、あら
かじめ時系列にあわせて設定された数列として書き込ま
なければカウンタはクリアされない、という動作を実行
する。
【0020】従って、CPU(1)は、プログラムの実
行状態に合わせてWDT−LSI(4)へ書き込む値を
決定し、WDT−LSI(4)へWDTC(7)がオー
バーフローする前に値を書き込むことでシステムの正常
性を常に宣言する。また、従来では検出できなかったシ
ステムの異常性を、WDT−LSI(4)に書き込む値
があらかじめ決定されていた数列から外れた場合につい
て検出することが出来る。
行状態に合わせてWDT−LSI(4)へ書き込む値を
決定し、WDT−LSI(4)へWDTC(7)がオー
バーフローする前に値を書き込むことでシステムの正常
性を常に宣言する。また、従来では検出できなかったシ
ステムの異常性を、WDT−LSI(4)に書き込む値
があらかじめ決定されていた数列から外れた場合につい
て検出することが出来る。
【0021】例えば、 1.従来のウオッチドッグタイマ機能では、「プログラ
ムが、WDT−LSIへのアクセスを含むループにて永
久ループを実行する」という暴走を検出できなかったも
のが検出できる。 2.あらかじめ決定されていたシーケンスから外れた動
作をしたことを検出できる(原因解析が出来る)。 3.プログラムの実行状態から値が決められることか
ら、従来では困難であったシステム全体の状態の把握が
可能となる。これにより、フォールトトレラント計算機
を構成する計算機の状態一致の検出が行える。 という効果が得られる。
ムが、WDT−LSIへのアクセスを含むループにて永
久ループを実行する」という暴走を検出できなかったも
のが検出できる。 2.あらかじめ決定されていたシーケンスから外れた動
作をしたことを検出できる(原因解析が出来る)。 3.プログラムの実行状態から値が決められることか
ら、従来では困難であったシステム全体の状態の把握が
可能となる。これにより、フォールトトレラント計算機
を構成する計算機の状態一致の検出が行える。 という効果が得られる。
【0022】次に、図2を参照して、WDT−LSI
(4)の内部構成を詳細に説明する。WDT−LSI
(4)は、CPU(1)からの書き込み値、つまりプロ
グラムの実行状態に対して一意に決定された値を保持す
るレジスタ(5)と、あらかじめ決められた状態系列を
保存するROM(6)と、一定のカウンタ(以下、この
カウンタを「WDTC」と記す)(7)と、状態系列保
存用ROM(6)のためのステートカウンタ(以下、
「S_CNT」と記す)(8)と、状態系列保存用RO
M(6)のデータとレジスタ(5)の実行状態データと
を比較する比較器(9)と、リセット信号出力のための
OR回路10と、全体を制御するコントローラ(以下、
「CTRL」と記す)11とからなる。
(4)の内部構成を詳細に説明する。WDT−LSI
(4)は、CPU(1)からの書き込み値、つまりプロ
グラムの実行状態に対して一意に決定された値を保持す
るレジスタ(5)と、あらかじめ決められた状態系列を
保存するROM(6)と、一定のカウンタ(以下、この
カウンタを「WDTC」と記す)(7)と、状態系列保
存用ROM(6)のためのステートカウンタ(以下、
「S_CNT」と記す)(8)と、状態系列保存用RO
M(6)のデータとレジスタ(5)の実行状態データと
を比較する比較器(9)と、リセット信号出力のための
OR回路10と、全体を制御するコントローラ(以下、
「CTRL」と記す)11とからなる。
【0023】CPU(1)からの実行状態データに対
し、WDT−LSI(4)は、状態系列保存ROM
(6)のS_CNT(8)で示されるアドレスに対して
リードを実行し、その読み出された状態系列データとC
PU(1)からの実行状態データであるレジスタ(5)
の内容とを比較器9で比較し、S_CNT(8)を1つ
増加させる。この時、S_CNT(8)がアドレスの上
限値を超えた場合、規定のアドレス値(任意に設定可
能)へS_CNT(8)を初期化する。比較した結果、
違っていればWDT−LSI(4)はCPU(1)以
下、全てにリセットを発生し、初期状態から再実行す
る。
し、WDT−LSI(4)は、状態系列保存ROM
(6)のS_CNT(8)で示されるアドレスに対して
リードを実行し、その読み出された状態系列データとC
PU(1)からの実行状態データであるレジスタ(5)
の内容とを比較器9で比較し、S_CNT(8)を1つ
増加させる。この時、S_CNT(8)がアドレスの上
限値を超えた場合、規定のアドレス値(任意に設定可
能)へS_CNT(8)を初期化する。比較した結果、
違っていればWDT−LSI(4)はCPU(1)以
下、全てにリセットを発生し、初期状態から再実行す
る。
【0024】かくして、あらかじめ決められた状態遷移
以外の事象が発生した場合、システムの異常として検出
することが出来る。
以外の事象が発生した場合、システムの異常として検出
することが出来る。
【0025】WDT−LSI(4)は、内部のWDTC
(7)がオーバーフローを起こした時、RESET信号
を出し、システム全体をリセットする。しかし、CTR
L(11)がCPU(1)からの書き込みを検出し、C
PU(1)からの実行状態データをレジスタ(5)に保
持したとき、WDTC(7)はリセットされ、RESE
T信号送出は先送りされる。CTRL(11)は、レジ
スタ(5)に実行状態データを保持するのと同時に、R
OM(6)のアドレスとしてS_CNT(8)に値を入
力し、リードアクセスを発生させ、ROM(6)内の状
態系列データとレジスタ(5)の実行状態データとを比
較器9で比較する。一致していれば、S_CNT(8)
をインクリメントし、不一致ならば、RESET信号を
出し、システム全体をリセットする。
(7)がオーバーフローを起こした時、RESET信号
を出し、システム全体をリセットする。しかし、CTR
L(11)がCPU(1)からの書き込みを検出し、C
PU(1)からの実行状態データをレジスタ(5)に保
持したとき、WDTC(7)はリセットされ、RESE
T信号送出は先送りされる。CTRL(11)は、レジ
スタ(5)に実行状態データを保持するのと同時に、R
OM(6)のアドレスとしてS_CNT(8)に値を入
力し、リードアクセスを発生させ、ROM(6)内の状
態系列データとレジスタ(5)の実行状態データとを比
較器9で比較する。一致していれば、S_CNT(8)
をインクリメントし、不一致ならば、RESET信号を
出し、システム全体をリセットする。
【0026】図1,2のCPU(1),MEM(2),
I/O(3)は、当業者にとってよく知られており、ま
た本発明とは直接関係しないので、その詳細な構成は省
略する。
I/O(3)は、当業者にとってよく知られており、ま
た本発明とは直接関係しないので、その詳細な構成は省
略する。
【0027】以下、本実施例の一連の動作につき説明す
る。まず、WDT−LSI(4)の動作ついて図3のタ
イミングチャートを用いて説明する。通常、WDT−L
SI(4)にクリア書き込みをしない場合、WDT−L
SI(4)は、外部供給クロックにより内部カウンタで
あるWDTC(7)をインクリメントするウオッチドッ
グタイマ動作をする。このため、一定のx秒(x秒は、
システムで一意の値として、システムごとに設計され
る)書き込みが無い(CPUからのWR信号が無い)
と、WDTC(7)がオーバーフローを起こし、RES
ET信号が送出される。
る。まず、WDT−LSI(4)の動作ついて図3のタ
イミングチャートを用いて説明する。通常、WDT−L
SI(4)にクリア書き込みをしない場合、WDT−L
SI(4)は、外部供給クロックにより内部カウンタで
あるWDTC(7)をインクリメントするウオッチドッ
グタイマ動作をする。このため、一定のx秒(x秒は、
システムで一意の値として、システムごとに設計され
る)書き込みが無い(CPUからのWR信号が無い)
と、WDTC(7)がオーバーフローを起こし、RES
ET信号が送出される。
【0028】一方、WDT−LSI(4)への実行状態
の書き込み動作(WDTCのクリア動作)に付いては、
図4及び図5のタイミングチャートに従って実行され
る。すなわち、CPU(1)からのプログラム実行状態
の書き込み動作は、CPU−WR信号とBUS信号によ
ってWDT−LSI(4)へ通知される。これを受け
て、図2のCTRL(11)は、レジスタ(5)にBU
S上の値をロードすると同時に、WDTC(7)をクリ
アする。その後、ROM(6)からの状態系列データ
(予定されているプログラムの実行状態)と、レジスタ
(5)のデータとが等しいかどうか、比較器(9)が演
算する。その結果が、不等の場合は、システムのリセッ
ト信号を出し、S_CNT(8)を0クリアする。ま
た、等しい場合は、リセット信号は出さず、S_CNT
(8)をインクリメントする。
の書き込み動作(WDTCのクリア動作)に付いては、
図4及び図5のタイミングチャートに従って実行され
る。すなわち、CPU(1)からのプログラム実行状態
の書き込み動作は、CPU−WR信号とBUS信号によ
ってWDT−LSI(4)へ通知される。これを受け
て、図2のCTRL(11)は、レジスタ(5)にBU
S上の値をロードすると同時に、WDTC(7)をクリ
アする。その後、ROM(6)からの状態系列データ
(予定されているプログラムの実行状態)と、レジスタ
(5)のデータとが等しいかどうか、比較器(9)が演
算する。その結果が、不等の場合は、システムのリセッ
ト信号を出し、S_CNT(8)を0クリアする。ま
た、等しい場合は、リセット信号は出さず、S_CNT
(8)をインクリメントする。
【0029】WDT−LSI(4)は、このようなウオ
ッチドッグタイマ機能を備えているので、CPU(1)
のプログラムが一定時間、永久ループ等に入り込み、シ
ステムが停止した場合、システム全体のリセットが入
り、正常動作となる。従って、無停止型計算機やフォー
ルトトレラント計算機を構成することができる。
ッチドッグタイマ機能を備えているので、CPU(1)
のプログラムが一定時間、永久ループ等に入り込み、シ
ステムが停止した場合、システム全体のリセットが入
り、正常動作となる。従って、無停止型計算機やフォー
ルトトレラント計算機を構成することができる。
【0030】さらには、本実施例では、プログラムの実
行状態に対して値を割り振り、ウオッチドッグタイマの
カウンタクリア時に、その値があらかじめ決まった状態
遷移をしているかどうか比較するようになっているの
で、単にシステムが停止していることのみを検出するの
ではなく、異常なプログラム動作のフローに落ち込んで
いることを検出することもできる。
行状態に対して値を割り振り、ウオッチドッグタイマの
カウンタクリア時に、その値があらかじめ決まった状態
遷移をしているかどうか比較するようになっているの
で、単にシステムが停止していることのみを検出するの
ではなく、異常なプログラム動作のフローに落ち込んで
いることを検出することもできる。
【0031】しかも、複数の無停止型計算機やフォール
トトレラント計算機があり、各プログラムが同一の場
合、時間的な動作の状態は同じようになっているので、
プログラムの実行状態の値のみの比較によって異常動作
(この場合の異常動作は、ハード的な障害等の発生を原
因とするようなプログラム状態の差異)を検出するとい
う効果もある。また、プログラムのデバッグ時に、あら
かじめ予想していたプログラム実行状態へ遷移すること
を確認/検出するためにも使用することができる。
トトレラント計算機があり、各プログラムが同一の場
合、時間的な動作の状態は同じようになっているので、
プログラムの実行状態の値のみの比較によって異常動作
(この場合の異常動作は、ハード的な障害等の発生を原
因とするようなプログラム状態の差異)を検出するとい
う効果もある。また、プログラムのデバッグ時に、あら
かじめ予想していたプログラム実行状態へ遷移すること
を確認/検出するためにも使用することができる。
【0032】なお、上記実施例では、無停止型計算機と
して、WDT−LSI(4)はシステム全体にリセット
信号を出力するだけであったが、前述のようなデバッグ
機能として使用する場合、CPU(1)の割り込み信号
等に出力するとしてもよい。
して、WDT−LSI(4)はシステム全体にリセット
信号を出力するだけであったが、前述のようなデバッグ
機能として使用する場合、CPU(1)の割り込み信号
等に出力するとしてもよい。
【0033】また、状態系列保存用ROM(6)だと、
プログラムの実行状態の変化として常に決まった動作し
か行えないため、大雑把にしかプログラムの実行状態を
把握できない。そこで、ROMの代わりに、ステートマ
シンを構成し、そこで生成される状態と比較するという
構成を採ることもできる。
プログラムの実行状態の変化として常に決まった動作し
か行えないため、大雑把にしかプログラムの実行状態を
把握できない。そこで、ROMの代わりに、ステートマ
シンを構成し、そこで生成される状態と比較するという
構成を採ることもできる。
【0034】その構成を第2の実施例として図6に示
す。この場合の基本的構成は上記の通りであるが、WD
T−LSI内部のROMについて変形を加えている。す
なわち、同図において、図2の状態系列保存用ROM
(6)の部分を、状態保存用レジスタと内部フリップフ
ロップの状態を入力とするステートマシン12として構
成する。すなわち、図2のROM(6)の場合だと、プ
ログラムの実行状態が、ROM(6)の内容の繰り返し
という遷移以外に対応できない、という問題点がある
が、ステートマシン12にすることによって、プログラ
ムの任意の状態遷移に対する状態系列データを、レジス
タ(5)に保持された実行状態データから適時に生成す
ることが可能となる。
す。この場合の基本的構成は上記の通りであるが、WD
T−LSI内部のROMについて変形を加えている。す
なわち、同図において、図2の状態系列保存用ROM
(6)の部分を、状態保存用レジスタと内部フリップフ
ロップの状態を入力とするステートマシン12として構
成する。すなわち、図2のROM(6)の場合だと、プ
ログラムの実行状態が、ROM(6)の内容の繰り返し
という遷移以外に対応できない、という問題点がある
が、ステートマシン12にすることによって、プログラ
ムの任意の状態遷移に対する状態系列データを、レジス
タ(5)に保持された実行状態データから適時に生成す
ることが可能となる。
【0035】このように、第2の実施例では、さらに、
柔軟なプログラムの状態遷移に対応するという効果が得
られる。
柔軟なプログラムの状態遷移に対応するという効果が得
られる。
【0036】本構成において、ステートマシン12は別
のCPUとプログラムやシーケンサとしてもよい。ま
た、WDT−LSI(4)の内部のROM(6)をRA
Mによって構成し、他のCPU/シーケンサでプログラ
ム実行状態をダイナミックに変更していくということも
可能である。
のCPUとプログラムやシーケンサとしてもよい。ま
た、WDT−LSI(4)の内部のROM(6)をRA
Mによって構成し、他のCPU/シーケンサでプログラ
ム実行状態をダイナミックに変更していくということも
可能である。
【0037】上記各実施例では、1個の無停止型計算機
に対してプログラムの状態を含めたウオッチドッグタイ
マ機能を導入するという作用効果を、本発明によるWD
T−LSI(4)を用いて得ているが、プログラムの実
行状態を規定するということから、複数の無停止型計算
機の間で、どの無停止型計算機が異常状態に落ち込んで
いるかということを検出することが可能となる。
に対してプログラムの状態を含めたウオッチドッグタイ
マ機能を導入するという作用効果を、本発明によるWD
T−LSI(4)を用いて得ているが、プログラムの実
行状態を規定するということから、複数の無停止型計算
機の間で、どの無停止型計算機が異常状態に落ち込んで
いるかということを検出することが可能となる。
【0038】また、複数の無停止型計算機やフォールト
トレラント計算機の間の障害検出については、WDT−
LSI(4)のROM(6)を除去し、他のWDT−L
SI内のプログラム実行状態保持レジスタからの入力を
使用することで構成できる。
トレラント計算機の間の障害検出については、WDT−
LSI(4)のROM(6)を除去し、他のWDT−L
SI内のプログラム実行状態保持レジスタからの入力を
使用することで構成できる。
【0039】そのための構成を、第3の実施例として図
7,図8に示す。本実施例のフォールトトレラント計算
機では、n台(nは自然数)の無停止型計算機からなる
故障検出コントローラをWDT−LSI(4)にて構成
する。このような構成の場合、前述したようなWDT−
LSI(4)内部のROM(6)のような形であらかじ
めプログラムの実行状態を記憶しておくことも可能であ
るが、より柔軟に他の無停止型計算機との間でWDT−
LSI(4)に書き込まれたプログラムの実行状態の値
を多数決により比較し、故障装置を検出するという構成
を採ることが出来る。
7,図8に示す。本実施例のフォールトトレラント計算
機では、n台(nは自然数)の無停止型計算機からなる
故障検出コントローラをWDT−LSI(4)にて構成
する。このような構成の場合、前述したようなWDT−
LSI(4)内部のROM(6)のような形であらかじ
めプログラムの実行状態を記憶しておくことも可能であ
るが、より柔軟に他の無停止型計算機との間でWDT−
LSI(4)に書き込まれたプログラムの実行状態の値
を多数決により比較し、故障装置を検出するという構成
を採ることが出来る。
【0040】この場合、図8に示すように、WDT−L
SI(4)の状態保持用レジスタ(5)に対しCPU
(1)から値書き込みがあった場合に、Hとなるreg
−enable信号をセレクタ13に入力し、上述した
実施例で述べたようなレジスタ(5)の書き込み時点で
値の比較を行うのではなく、n個のWDT−LSI
(4)のreg−enable信号が全てHになった時
点で、レジスタ(5)の中でもっとも一致した数が多い
プログラムの実行状態を正常値として、比較器9で比較
を行うようにする。この時、reg−enable信号
が既にHなのに書き込みがあった場合、WDTC(7)
はクリアするが、値はレジスタ(5)にロードせず、C
PU等をHALTするように構成することで同期化機能
を付加することができる。
SI(4)の状態保持用レジスタ(5)に対しCPU
(1)から値書き込みがあった場合に、Hとなるreg
−enable信号をセレクタ13に入力し、上述した
実施例で述べたようなレジスタ(5)の書き込み時点で
値の比較を行うのではなく、n個のWDT−LSI
(4)のreg−enable信号が全てHになった時
点で、レジスタ(5)の中でもっとも一致した数が多い
プログラムの実行状態を正常値として、比較器9で比較
を行うようにする。この時、reg−enable信号
が既にHなのに書き込みがあった場合、WDTC(7)
はクリアするが、値はレジスタ(5)にロードせず、C
PU等をHALTするように構成することで同期化機能
を付加することができる。
【0041】従って、n台の無停止型計算機からなるフ
ォールトトレラント計算機について、ウオッチドッグタ
イマ機能と、プログラムの実行状態のチェックという動
作が得られる。
ォールトトレラント計算機について、ウオッチドッグタ
イマ機能と、プログラムの実行状態のチェックという動
作が得られる。
【0042】しかも、本実施例では、あらかじめプログ
ラムの実行状態の時間系列を制定する必要はないとして
いるので、プログラムが頻繁に変更されるようなプログ
ラムにおいてもROMの変更を必要としないこと、ま
た、多数決による値の決定を行うためより異常動作の検
出能力が高いという相乗的(格別)な効果を奏する。
ラムの実行状態の時間系列を制定する必要はないとして
いるので、プログラムが頻繁に変更されるようなプログ
ラムにおいてもROMの変更を必要としないこと、ま
た、多数決による値の決定を行うためより異常動作の検
出能力が高いという相乗的(格別)な効果を奏する。
【0043】
【発明の効果】以上述べたように本発明によれば次のよ
うな効果がある。 プログラムが一定時間、永久ループ等に入り込み、
システムが停止した場合、システム全体のリセットが入
り、正常動作となるので、無停止型計算機やフォールト
トレラント計算機を構成することができる。
うな効果がある。 プログラムが一定時間、永久ループ等に入り込み、
システムが停止した場合、システム全体のリセットが入
り、正常動作となるので、無停止型計算機やフォールト
トレラント計算機を構成することができる。
【0044】 プログラムの実行状態に対して値を割
り振り、ウオッチドッグタイマのカウンタクリア時に、
その値があらかじめ決まった状態遷移をしているかどう
か比較するので、単にシステムが停止していることのみ
を検出するのではなく、異常なプログラム動作のフロー
に落ち込んでいることを検出することもできる。
り振り、ウオッチドッグタイマのカウンタクリア時に、
その値があらかじめ決まった状態遷移をしているかどう
か比較するので、単にシステムが停止していることのみ
を検出するのではなく、異常なプログラム動作のフロー
に落ち込んでいることを検出することもできる。
【0045】 複数の無停止型計算機やフォールトト
レラント計算機があり、各プログラムが同一の場合、時
間的な動作の状態は同じようになっているので、プログ
ラムの実行状態の値のみの比較によって異常動作を検出
するという効果もある。
レラント計算機があり、各プログラムが同一の場合、時
間的な動作の状態は同じようになっているので、プログ
ラムの実行状態の値のみの比較によって異常動作を検出
するという効果もある。
【0046】 プログラムのデバッグ時に、あらかじ
め予想していたプログラム実行状態へ遷移することを確
認/検出するためにも使用することができる。
め予想していたプログラム実行状態へ遷移することを確
認/検出するためにも使用することができる。
【0047】 請求項3に係る発明によれば、柔軟な
プログラムの状態遷移に対応できる。 請求項4に係る発明によれば、複数の無停止型計算
機の間で、どの無停止型計算機が異常状態に落ち込んで
いるかということを検出することが可能となる。
プログラムの状態遷移に対応できる。 請求項4に係る発明によれば、複数の無停止型計算
機の間で、どの無停止型計算機が異常状態に落ち込んで
いるかということを検出することが可能となる。
【図1】本発明を適用する計算機システムの基本構成を
示すブロック図である。
示すブロック図である。
【図2】本発明の第1の実施例を示すブロック図であ
る。
る。
【図3】図2中のWDT−LSIの主な動作を示すタイ
ミングチャートである。
ミングチャートである。
【図4】詳細な動作を示すタイミングチャートである。
【図5】同様のタイミングチャートである。
【図6】本発明の第2の実施例を示すブロック図であ
る。
る。
【図7】本発明の第3の実施例の概要構成を示すブロッ
ク図である。
ク図である。
【図8】第3の実施例の詳細構成を示すブロック図であ
る。
る。
1 マイクロプロセッサ(CPU) 2 メモリ(MEM) 3 外部入出力装置(I/O) 4 ウオッチドッグタイマ機能を持ったLSI(WD
T−LSI) 5 レジスタ 6 状態系列保存用ROM 7 カウンタ(WDTC) 8 ステートカウンタ(S_CNT) 9 比較器 10 OR回路 11 コントローラ(CTRL) 12 ステートマシン 13 セレクタ
T−LSI) 5 レジスタ 6 状態系列保存用ROM 7 カウンタ(WDTC) 8 ステートカウンタ(S_CNT) 9 比較器 10 OR回路 11 コントローラ(CTRL) 12 ステートマシン 13 セレクタ
Claims (4)
- 【請求項1】カウンタの値がオーバーフローすることで
計算機全体にリセットを発生させるウオッチドッグタイ
マ方式において、計算機のプロセッサから、プログラム
の実行状態に合わせて定義された実行状態データを、前
記カウンタがオーバーフローしない前に保持する実行状
態保持手段と、その保持された実行状態データとプログ
ラムの状態系列を示す状態系列データとを比較し、相違
していた時、リセット信号を発生させる比較手段とを有
することを特徴とするウオッチドッグタイマ方式。 - 【請求項2】プログラムの状態系列を示す状態系列デー
タをあらかじめ保存する状態系列保存手段と、その保存
された状態系列データを順次読み出す読出手段とを有す
る請求項1記載のウオッチドッグタイマ方式。 - 【請求項3】プログラムの状態遷移に対する状態系列デ
ータを、実行状態保持手段に保持された実行状態データ
から生成するステートマシンを有する請求項1記載のウ
オッチドッグタイマ方式。 - 【請求項4】他の計算機から送られてくる状態系列デー
タを選択して比較手段に入力する選択手段を有する請求
項1記載のウオッチドッグタイマ方式。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10365044A JP2000187600A (ja) | 1998-12-22 | 1998-12-22 | ウオッチドッグタイマ方式 |
CA002292991A CA2292991C (en) | 1998-12-22 | 1999-12-21 | Watch dog timer system |
US09/468,318 US6212134B1 (en) | 1998-12-22 | 1999-12-21 | Watch dog timer system |
CN99126399A CN1109976C (zh) | 1998-12-22 | 1999-12-21 | 监视计时器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10365044A JP2000187600A (ja) | 1998-12-22 | 1998-12-22 | ウオッチドッグタイマ方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000187600A true JP2000187600A (ja) | 2000-07-04 |
Family
ID=18483300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10365044A Pending JP2000187600A (ja) | 1998-12-22 | 1998-12-22 | ウオッチドッグタイマ方式 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6212134B1 (ja) |
JP (1) | JP2000187600A (ja) |
CN (1) | CN1109976C (ja) |
CA (1) | CA2292991C (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009289119A (ja) * | 2008-05-30 | 2009-12-10 | Nec Electronics Corp | ウォッチドッグ・タイマ及びマイクロコンピュータ |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7308300B2 (en) * | 2001-05-30 | 2007-12-11 | Acist Medical Systems, Inc. | Medical injection system |
KR100471147B1 (ko) | 2002-02-05 | 2005-03-08 | 삼성전자주식회사 | 보안 기능을 갖는 반도체 집적 회로 |
US20070050685A1 (en) * | 2005-08-23 | 2007-03-01 | Tsai Chung-Hung | Method of resetting an unresponsive system and system capable of recovering from an unresponsive condition |
US7644322B2 (en) * | 2006-11-21 | 2010-01-05 | Atmel Corporation | Hardware flow control monitor |
CN102193839A (zh) * | 2010-03-12 | 2011-09-21 | 鸿富锦精密工业(深圳)有限公司 | 电子装置及其启动方法 |
JP2012088815A (ja) * | 2010-10-15 | 2012-05-10 | Toshiba Corp | マイクロプロセッサ動作監視システム |
CN102006370B (zh) * | 2010-11-19 | 2014-12-10 | 中兴通讯股份有限公司 | 在ngn中对窄带用户进行呼损分析的实现方法及装置 |
EP3022653B1 (en) * | 2013-07-18 | 2020-12-02 | NXP USA, Inc. | Fault detection apparatus and method |
CN104598379B (zh) * | 2015-01-04 | 2017-08-18 | 中国人民解放军信息工程大学 | 利用处理器pmc特性检测隐藏执行指令的方法 |
US9477490B2 (en) * | 2015-01-05 | 2016-10-25 | Dell Software Inc. | Milestone based dynamic multiple watchdog timeouts and early failure detection |
CN104679196B (zh) * | 2015-03-10 | 2018-07-06 | 江苏邦融微电子有限公司 | 基于处理器的自检测、异常时复位系统及其实现方法 |
JP6407127B2 (ja) * | 2015-11-05 | 2018-10-17 | 日立オートモティブシステムズ株式会社 | 電子制御装置及び電子制御方法 |
US9697065B1 (en) | 2016-03-09 | 2017-07-04 | Nxp Usa, Inc. | Systems and methods for managing reset |
CN106856481B (zh) * | 2017-03-17 | 2017-12-26 | 湖南新云网科技有限公司 | 一种基于透明计算的网络隔离方法、系统、网卡及应用 |
US10157087B1 (en) | 2017-07-14 | 2018-12-18 | Nxp Usa, Inc. | Robust boot block design and architecture |
CN111367702B (zh) * | 2020-03-06 | 2024-03-08 | 北京龙鼎源科技股份有限公司 | 一种多任务软件看门狗处理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59211143A (ja) * | 1983-05-17 | 1984-11-29 | Nissan Motor Co Ltd | マイクロコンピユ−タを用いた車両用制御回路 |
JPH01140350A (ja) * | 1987-11-27 | 1989-06-01 | Nec Corp | マイクロコンピュータのプログラム暴走検出回路 |
JPH04241642A (ja) * | 1991-01-16 | 1992-08-28 | Nec Corp | マイクロコンピュータの暴走検出方式 |
JPH06332755A (ja) * | 1993-05-19 | 1994-12-02 | Mitsubishi Electric Corp | ウォッチドッグタイマ回路 |
US5860002A (en) * | 1996-07-12 | 1999-01-12 | Digital Equipment Corporation | System for assigning boot strap processor in symmetric multiprocessor computer with watchdog reassignment |
-
1998
- 1998-12-22 JP JP10365044A patent/JP2000187600A/ja active Pending
-
1999
- 1999-12-21 CN CN99126399A patent/CN1109976C/zh not_active Expired - Fee Related
- 1999-12-21 US US09/468,318 patent/US6212134B1/en not_active Expired - Fee Related
- 1999-12-21 CA CA002292991A patent/CA2292991C/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009289119A (ja) * | 2008-05-30 | 2009-12-10 | Nec Electronics Corp | ウォッチドッグ・タイマ及びマイクロコンピュータ |
Also Published As
Publication number | Publication date |
---|---|
CA2292991C (en) | 2002-07-16 |
CN1258042A (zh) | 2000-06-28 |
CA2292991A1 (en) | 2000-06-22 |
CN1109976C (zh) | 2003-05-28 |
US6212134B1 (en) | 2001-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000187600A (ja) | ウオッチドッグタイマ方式 | |
US7698594B2 (en) | Reconfigurable processor and reconfiguration method executed by the reconfigurable processor | |
US20020161818A1 (en) | Thread control system and method in a computer system | |
JPH01258057A (ja) | 複数のプロセッサを同期する装置 | |
US5155821A (en) | Command performing order change-over system in data processor | |
US20110214125A1 (en) | Task management control apparatus and method having redundant processing comparison | |
US20090217090A1 (en) | Method, operating system and computing hardware for running a computer program | |
US20020116670A1 (en) | Failure supervising method and apparatus | |
CA1212478A (en) | Data processor with interrupt facility | |
CN1329839C (zh) | 一种计算机cpu抗干扰的设计方法 | |
JPH07113898B2 (ja) | 障害検出方式 | |
EP0423773A2 (en) | Emergency resumption processing apparatus for an information processing system | |
US20060195849A1 (en) | Method for synchronizing events, particularly for processors of fault-tolerant systems | |
JPH1115661A (ja) | Cpuの自己診断方法 | |
JPS6113626B2 (ja) | ||
JP2002229811A (ja) | 論理分割システムの制御方法 | |
KR19990057809A (ko) | 오류 방지 시스템 | |
JPH06214831A (ja) | 中央処理装置の異常検出装置 | |
KR100414059B1 (ko) | Rtos에서의 와치독 타이머를 이용한 오동작 감시시스템 및 방법 | |
JPH01300366A (ja) | 共有データ競合制御方式 | |
JPS6072040A (ja) | プログラムの実行時間監視方式 | |
JPH01310422A (ja) | マイクロコンピュータのリセット回路 | |
JPH08123704A (ja) | 制御装置 | |
CN116069442A (zh) | 信息处理装置、车辆以及信息处理方法 | |
JPH11265304A (ja) | 演算処理装置 |