(57)【要約】マイクロプロセッサ装置は、前記装置をリセットすることができるタイマと、ハードウェアである複数のレジスタ（４）と、を備え、前記複数のレジスタ（４）は、前記複数のレジスタの集合的な所定の状態が前記装置をリセットすることを防ぐように論理的に構成される。前記装置は、複数の機能を有するソフトウェア（２）を備え、前記複数の機能は、前記複数の機能のそれぞれが正常に実行されたときは、前記複数のレジスタを前記所定の状態にするように構成される。
2015525915.tif 000002
【特許請求の範囲】
【請求項１】
マイクロプロセッサ装置であって、
前記装置をリセットすることができるタイマと、ハードウェアである複数のレジスタと、を備え、
前記複数のレジスタは、前記複数のレジスタの集合的な所定の状態が前記装置をリセットすることを防ぐように論理的に構成され、
前記装置は、複数の機能を有するソフトウェアを備え、前記複数の機能は、前記複数の機能のそれぞれが正常に実行されたときは、前記複数のレジスタを前記所定の状態にするように構成されている、
ことを特徴とするマイクロプロセッサ装置。
【請求項２】
前記複数のソフトウェア機能のそれぞれは、処理が正しく実行された場合は前記複数のレジスタに所定のビットを書き込むように構成され、前記複数のレジスタのそれぞれに同一のビットが格納された場合に前記タイマがリセットされる、
ことを特徴とする請求項１に記載のマイクロプロセッサ装置。
【請求項３】
前記複数のレジスタは、自動的にリセットされる、
ことを特徴とする請求項１または２に記載のマイクロプロセッサ装置。
【請求項４】
前記タイマがリセットされたとき、または、前記ウォッチドッグがタイムアウトしてシステムリセットが行われたときに、前記複数のレジスタは自動的にリセットされる、
ことを特徴とする請求項３に記載のマイクロプロセッサ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、マイクロプロセッサ（例：半導体チップ上に実装されたもの）の制御に関する。
【背景技術】
【０００２】
（背景知識）
マイクロプロセッサ装置の正常な動作を保証するために、マイクロプロセッサ装置にウォッチドッグ機能を備えることは一般的である。通常、このウォッチドッグ機能は、カウントダウンタイマが０になったときに前記装置が強制的にリセットされるように構成される。しかし、前記装置の操作または機能が成功裏に実施されたことを前記装置が示した場合は、前記タイマはリスタートされる（これによりリセットは延期される）。これは、前記装置の正常な動作のフェールセーフモニタリングを行うためである。通常の動作の下では、前記タイマは決して０にならない。より複雑な装置においては、前記ウォッチドッグタイマがリセットされるようにするために、書き込まれるべき数多くのソフトウェアフラグのそれぞれを維持するファームウェアを前記装置上で実行させることが提案されている。これにより複数の独立したメインモジュールやサブモジュールがモニタリングされ、それらのうちのいずれかが誤作動した場合は、リセットが行われる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、出願人はこの構成の欠点を認識した。つまり、任意のソフトウェアは、原則として、任意のメモリ位置に書き込みを行うために、ソフトウェアのある種の誤動作の際は、前記タイマをリセットするようなレジスタに直接書き込みが行われるために誤動作に対する保護機能が迂回されてしまうことがあり得る。
【課題を解決するための手段】
【０００４】
（発明の要約）
本発明は、この問題に対処することを目的としている。本発明の第一の態様によれば、本発明は、マイクロプロセッサ装置であって、前記装置をリセットすることができるタイマと、ハードウェアである複数のレジスタと、を備え、前記複数のレジスタは、前記複数のレジスタの集合的な所定の状態が前記装置をリセットすることを防ぐように論理的に構成され、前記装置は、複数の機能を有するソフトウェアを備え、前記複数の機能は、前記複数の機能のそれぞれが正常に実行されたときは、前記複数のレジスタを前記所定の状態にするよう構成されている、ことを特徴とするマイクロプロセッサ装置である。
【図面の簡単な説明】
【０００５】
【図１】半導体チップ上に実装されたマイクロプロセッサの論理的サブシステムを示す。
【図２】ウォッチドッグタイマのプロセスのフローチャートを示す。
【発明を実施するための形態】
【０００６】
（発明の詳細な説明）
本発明は、ソフトウェアに複数のインプットが与えられるために上記の問題に対して脆弱なウォッチドッグ機能ではなく、ハードウェアである複数のレジスタを使用して前記ウォッチドッグタイマを提供することを当業者なら理解するであろう。このような構成を使用することは、一つの間違ったメモリ位置に書き込みを行うことによって誤って前記ウォッチドッグタイマがリセットされることはない、ということを実際的に意味する。なぜなら、全ての前記ハードウェアレジスタの状態は、前記メインウォッチドッグタイマがリセットされる前において正しくなければならず、この状態はハードウェア的な配線で作られたものだからである。
【０００７】
便宜上、前記タイマをリセットするためには、ハードウェアである前記複数のレジスタの全ては同じ状態にならなければならない。（例：すべて１またはすべて０）。全て１のケースでは、前記複数のレジスタの全てが前記ソフトウェアにより適切に書き込まれた場合に前記タイマをリセットする（これにより前記装置のリセットが防がれる）ために、簡略化されたハードウェアであるＡＮＤゲートを使用することができる。従って、一連の実施例において、前記複数のソフトウェア機能のそれぞれは、処理が正常に行われた場合に、所定のビットを前記複数のレジスタに書き込むように構成される。そして、もし同一ビットが前記複数のレジスタのそれぞれに書き込まれた場合、前記タイマはリセットされる。
【０００８】
便宜上、前記複数のレジスタは、適切な時点で自動的にリセットされる（前記ウォッチドッグタイマをリセットするのに必要な前記所定のビットとは反対のビットに）。これは、所定の時間間隔であっても良いが、前記タイマがリセットされた時、前記ウォッチドッグが再スタートされた時、または、前記ウォッチドッグがタイムアウトになり、システムリセットされた時、であった方がより好都合である。このような自動リセットにより、継続的で定期的なモニタリングの維持が保証される。この自動リセットはソフトウェアと同期しており、通常はソフトウェアにより実行されるが、ハードウェアレベルで同じように実行することもできる。
【０００９】
本発明によれば、複数のソフトウェア機能が単一のハードウェアレジスタに書き込みを行うことがあり得る。これにより、ソフトウェア上のエラーの際に前記保護機能のいくつかが迂回されてしまうというリスクが再び生じるが、従来提案技術の障害を引き起こすことはない。
【００１０】
本発明の特定の実施例について、例示目的のみのために、本発明に基づくマイクロプロセッサの一部の図式的論理図を示す付随図面を参照して説明をする。
【００１１】
図１は、複数のリロードレジスタ４とデータ通信するソフトウェアインタフェース２を有する半導体チップ上に実装されるマイクロプロセッサの論理回路のサブシステムを示している。前記複数のリロードレジスタ４の全てはＡＮＤゲート６に接続されている。ＡＮＤゲート６の出力は、前記ウォッチドッグカウンタ８に接続されている。前記ウォッチドッグカウンタの出力は、それがある特定の値（例：０）に達したときに、システムリセットを行うために使用される。
【００１２】
前記装置の動作中、前記ウォッチドッグカウンタは、最初、ある値（例：使用するタイムアウト値）を構成レジスタから読みだすことにより構成される。次に、前記複数のリロードレジスタ４の全ては０に設定され、関連する前記構成レジスタによって指定されるタイムアウト値を読み込む。次に前記ウォッチドッグカウンタから１が引かれ、前記複数のリロードレジスタの全てが１になったかどうかのチェックが（前記ＡＮＤゲート６の値を読むことによって）実施される。そしてもし前記ウォッチドッグカウンタが０に達していなければ、もう一度１が引かれ、このループが繰り返される。
【００１３】
前記ソフトウェアが実行されている時、メインルーチンあるいは一または複数のサブルーチンのような前記ソフトウェアの様々な機能は、前記様々な機能が成功裏に完了し次第、前記複数のリロードレジスタ４に１ビットを書き込むよう設定されている。ひとたび前記複数のリロードレジスタ４が全て１になると、前記ＡＮＤゲート６は１になる。これにより、前記ウォッチドッグカウンタ８はリセットされ（例：タイムアウト値の再読み込みが行われる）、さらに前記複数のリロードレジスタは、再び０になる。
【００１４】
前記複数のソフトウェア機能がすべて意図したように動作している限り、前記複数のリロードレジスタのそれぞれに十分な頻度で書き込みを行うので、前記ウォッチドッグカウンタ８は０にならない。しかし、前記複数のソフトウェア機能のうち一つまたはそれ以上が正しく機能せず、対応するレジスタに書き込みが行われない場合、前記ＡＮＤゲート６は１にならず、前記ウォッチドッグカウンタ８はリセットされない。これが続くと、前記ウォッチドッグカウンタ８は０に達し、システムリセットが促され、これにより前述のソフトウェア上の問題が解決されることが期待される。
【００１５】
ソフトウェア上のエラーが生じても、前記複数のリロードレジスタ４の一つが誤って書き込まれるにとどまり、前記ソフトウェアのいかなる一部も、前記ウォッチドッグカウンタ８を直接リセットすることはできないという事が理解されよう。
【符号の説明】
【００１６】
２      ソフトウェアインタフェース
４      リロードレジスタ
６      ＡＮＤゲート
８      ウォッチドッグカウンタ
【図１】
2015525915.tif 000003
【図２】
2015525915.tif 000004
【国際調査報告】
2015525915.tif 000005
2015525915.tif 000006