ウォッチドッグタイマ(うぉっちどっぐたいま)
プログラムの暴走や停止といった異常を検知するため、マイコンの内部や外部に設けられる監視用のハードウェアタイマ。英語の Watchdog Timer から WDT とも略される。システムが正常に稼働している間はプログラムから定期的にカウント値が初期化されるが、一定時間内に初期化されないままタイムアウトすると、異常発生とみなしてCPUへリセット信号や割込みを送る。
詳細解説
組込み機器などでは、無限ループやデッドロックによってソフトウェアが応答しなくなった際、人手を介さずに自動で復旧させる仕組みが求められます。ウォッチドッグタイマは常にカウントを続けており、プログラムが正しく動いている間は、タイムアウトに達する前の決まった周期でタイマをクリアし続けます。もしプログラムが暴走してクリア処理を実行できなくなると、タイマが満了してシステムの強制リセットや終了処理が働き、初期状態への復帰が図られます。
異常検知時の通知手段としては、ハードウェアリセットのほか、ソフトウェアで受付を禁止できないノンマスカブル割込み(NMI)が用いられます。プログラム側で無効化できる通常のマスカブル割込みでは、暴走時に割込み自体が禁止されていると異常を通知できないためです。なお、一定周期で処理を起動するためのインターバルタイマとは、周期的にカウントを繰り返す点は似ていますが、タイムアウトの到達を正常時ではなく異常時の契機とする点で役割が異なります。
ウォッチドッグタイマが問われた過去問
- 2021(R3)秋 午前 問21組込みシステムにおける,ウォッチドッグタイマの機能はどれか。
ウォッチドッグタイマが登場する過去問
- 2015(H27)秋 午前II 問18SVC(SuperVisor Call)割込みが発生する要因として,適切なものはどれか。