(57)【要約】【課題】回路の簡略化及びコスト削減を図れるとともに容易に障害の発生原因を追求することができるＣＰＵ監視システム、装置、及び方法を提供する。【解決手段】割り込みルーチンＲは、一定の時間間隔で実行され、カウンタのインクリメントを行うとともに、カウント値が所定の閾値以内である場合には、ＣＰＵ２０に設けられたウォッチドッグタイマのクリアを行う。リセットタスクＴＳ３は、割り込みルーチンＲが実行される時間間隔よりも長い時間間隔で実行されてカウンタのクリアを行う。割り込みルーチンＲはＣＰＵ２０で実行されるタスクの優先度に拘わらず実行可能であるが、リセットタスクＴＳ３は、ＣＰＵ２０で実行されるタスクのうちで最も低い優先度に設定されている。【選択図】図２
2007264856.tif 000002
【特許請求の範囲】
【請求項１】
ウォッチドッグタイマを備えるＣＰＵの実行状況を監視するＣＰＵ監視システムにおいて、
カウントを行うカウント手段と、
第１の所定時間毎に、前記カウント手段にカウントさせるとともに前記カウント手段のカウント値が所定値以内である場合には前記ウォッチドッグタイマをクリアする割り込み手段と、
前記第１の所定期間よりも長い第２の所定時間毎に、前記カウント手段のカウント値をクリアするリセット手段と
を備えることを特徴とするＣＰＵ監視システム。
【請求項２】
ウォッチドッグタイマを備えるＣＰＵの実行状況を監視するＣＰＵ監視システムにおいて、
カウントを行うカウント手段と、
前記カウント手段にカウントさせ、前記カウント手段のカウント値が所定値以内である場合には前記ウォッチドッグタイマをクリアする割り込みルーチンを第１の所定時間毎に実行させるとともに、前記カウント手段のカウント値をクリアするリセットタスクを前記第１の所定期間よりも長い第２の所定時間毎に実行させるタスク制御手段と
を備えることを特徴とするＣＰＵ監視システム。
【請求項３】
前記割り込みルーチンは、前記ＣＰＵで実行されるタスクの優先度に拘わらず実行可能であり、
前記リセットタスクは、前記ＣＰＵで実行されるタスクのうちで最も低い優先度が設定されている
ことを特徴とする請求項２記載のＣＰＵ監視システム。
【請求項４】
前記タスク制御手段は、前記リセットタスク以外のタスクを実行させる場合には、実行開始時にフラグをセットし、実行終了時にセットしたフラグをクリアする制御を行うことを特徴とする請求項２又は請求項３記載のＣＰＵ監視システム。
【請求項５】
前記割り込みルーチンは、前記カウント手段のカウント値が前記所定値よりも大である場合には、前記フラグがセットされているタスクに関する情報を待避することを特徴とする請求項４記載のＣＰＵ監視システム。
【請求項６】
ウォッチドッグタイマを備えるＣＰＵの実行状況を監視するＣＰＵ監視装置において、
カウントを行うカウント手段と、
第１の所定時間毎に、前記カウント手段にカウントさせるとともに前記カウント手段のカウント値が所定値以内である場合には前記ウォッチドッグタイマをクリアする割り込み手段と、
前記第１の所定期間よりも長い第２の所定時間毎に、前記カウント手段のカウント値をクリアするリセット手段と
を備えることを特徴とするＣＰＵ監視装置。
【請求項７】
ウォッチドッグタイマを備えるＣＰＵの実行状況を監視するＣＰＵ監視装置において、
カウントを行うカウント手段と、
前記カウント手段にカウントさせ、前記カウント手段のカウント値が所定値以内である場合には前記ウォッチドッグタイマをクリアする割り込みルーチンを第１の所定時間毎に実行させるとともに、前記カウント手段のカウント値をクリアするリセットタスクを前記第１の所定期間よりも長い第２の所定時間毎に実行させるタスク制御手段と
を備えることを特徴とするＣＰＵ監視装置。
【請求項８】
前記割り込みルーチンは、前記ＣＰＵで実行されるタスクの優先度に拘わらず実行可能であり、
前記リセットタスクは、前記ＣＰＵで実行されるタスクのうちで最も低い優先度が設定されている
ことを特徴とする請求項７記載のＣＰＵ監視装置。
【請求項９】
ウォッチドッグタイマを備えるＣＰＵの実行状況を監視するＣＰＵ監視方法において、
第１の所定時間毎にカウント手段によりカウントを行う第１ステップと、
前記第１の所定期間よりも長い第２の所定時間毎に前記カウント手段のカウント値をクリアする第２ステップと、
前記カウント手段のカウント値が所定値以内である場合には前記ウォッチドッグタイマをクリアする第３ステップと
を含むことを特徴とするＣＰＵ監視方法。
【請求項１０】
前記第１ステップは、前記ＣＰＵで実行されるタスクの優先度に拘わらず実行され、
前記第２ステップは、前記ＣＰＵで実行されるタスクのうちで最も低い優先度が設定されて実行される
ことを特徴とする請求項９記載のＣＰＵ監視方法。
【請求項１１】
前記ＣＰＵでタスクを実行させるときに実行開始時にフラグをセットするステップと、
前記タスクの実行終了時にセットしたフラグをクリアするステップと
を含むことを特徴とする請求項９又は請求項１０記載のＣＰＵ監視方法。
【請求項１２】
前記カウント手段のカウント値が前記所定値よりも大である場合には、前記フラグがセットされているタスクに関する情報を待避する第４ステップを含むことを特徴とする請求項９から請求項１１の何れか一項に記載のＣＰＵ監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵ（中央処理装置）の実行状況を監視するＣＰＵ監視システム、装置、及び方法に関する。
【背景技術】
【０００２】
従来から、ＣＰＵの実行状況を監視するためにウォッチドッグタイマが用いられている。ここで、ウォッチドッグタイマとは、一定時間毎に計時のためのカウンタをリセットする機能を備え、所定の期間内にカウンタがリセットされないときにはＣＰＵをリセットするものである。かかるウォッチドックタイマを用いてＣＰＵを常時監視することにより、暴走した状態にあるＣＰＵを復帰させることが可能となる。
【０００３】
図３は、ウォッチドッグタイマを用いた従来のＣＰＵ監視方法の一例を示すタイミングチャートである。図３に示す通り、従来は、監視対象であるＣＰＵ１００の外部に外付けウォッチドッグタイマ（以下、ＷＤＴという）１０１を設け、この外付けＷＤＴ１０１を用いてＣＰＵ１００の実行状況を監視している。いま、ＣＰＵ１００にて、ＡタスクＴＳ１１及びＢタスクＴＳ１２の２つのタスクと、外付けＷＤＴ１０１を定期的にクリアするためのタスク（ＷＤＴタスクＴＳ１３）とが実行される場合を考える。尚、これらのタスクのうち、ＡタスクＴＳ１１の優先度が最も高く、次にＢタスクＴＳ１２の優先度が高く、ＷＤＴタスクＴＳ１３の優先度が最も低いとする。
【０００４】
図３に示す通り、ＣＰＵ１００は、ＡタスクＴＳ１１及びＢタスクＴＳ１２並びにＷＤＴタスクＴＳ１３を時分割で実行する。ここで、ＡタスクＴＳ１１及びＢタスクＴＳ１２は、ＷＤＴタスクＴＳ１３よりも優先度が高いため、ＷＤＴタスクＴＳ１３に優先して実行される。ＷＤＴタスクＴＳ１３は一定時間毎に実行され、ＷＤＴタスクＴＳ１３の実行により外付けＷＤＴ１０１のカウンタがクリアされる。ＷＤＴタスクＴＳ１３は、例えば３秒程度の時間間隔で実行される。よって、外付けＷＤＴ１０１のカウンタがクリアされる時間間隔Ｔ１１，Ｔ１２は３秒程度である。
【０００５】
いま、外付けＷＤＴ１０１のカウンタがクリアされた後にＡタスクＴＳ１１が実行され、このＡタスクＴＳ１１が何らかの原因で暴走した場合を考える。前述の通り、ＡタスクＴＳ１１は最も優先度が高いため、ＡタスクＴＳ１１が暴走してしまうとＡタスクＴＳ１１がＣＰＵ１００を占有してしまう。このため、ＷＤＴタスクＴＳ１３が実行されず、外付けＷＤＴ１０１のカウンタはクリアされず外付けＷＤＴ１０１のカウンタがカウントアップされ続ける。そして、外付けＷＤＴ１０１のカウンタをクリアしてから所定期間Ｔ１３（例えば、１０秒程度）が経過すると、外付けＷＤＴ１０１はタイムアウトとなり、ＣＰＵ１００に対してリセット信号を出力する。これにより、ＣＰＵ１００がリセットされる。
【０００６】
また、以下の特許文献１には、実行対象となるタスクの切替えの際に退避・保存、復帰・設定していた各タスクのコンテキスト情報に加えて暴走検出用タイマーカウント値・情報を合わせて退避・復帰することで、タスクの暴走検出を行う方法及び装置が提案されている。
【特許文献１】特開２００５−１０７７５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、図３を用いて説明した従来のＣＰＵ監視方法では、外付けＷＤＴ１０１を用いてＣＰＵ１００の監視を行っている。ここで、ＷＤＴを内蔵したＣＰＵも存在するが、内蔵のＷＤＴは定期的に行われるリセット（カウンタのリセット）の時間間隔が１．５秒程度と短かく、暴走に至るような状況でなくとも一時的な負荷によりリセットが実施できないことがある。このため、図３に示す例では、定期的に行われるリセットの時間間隔がより長い外付けＷＤＴを設けている。しかしながら、外付けＷＤＴを設けると、回路が複雑になるとともにコストが上昇してしまうという問題があった。
【０００８】
また、従来は、外付けＷＤＴ１０１のタイムアウトによりＣＰＵ１００をリセットしているが、ＣＰＵ１００がリセットされた時点で待避・保存されるタスクに関する情報はほとんどない。このため、ＣＰＵ１００がリセットされた後でリセットが生じた原因を追求するのに時間を要し、デバッグを行うのが困難であるという問題があった。
【０００９】
本発明は、上記事情に鑑みてなされたものであり、回路の簡略化及びコスト削減を図れるとともに容易に障害の発生原因を追求することができるＣＰＵ監視システム、装置、及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のＣＰＵ監視システムは、ウォッチドッグタイマを備えるＣＰＵの実行状況を監視するＣＰＵ監視システムにおいて、カウントを行うカウント手段と、第１の所定時間毎に、前記カウント手段にカウントさせるとともに前記カウント手段のカウント値が所定値以内である場合には前記ウォッチドッグタイマをクリアする割り込み手段と、前記第１の所定期間よりも長い第２の所定時間毎に、前記カウント手段のカウント値をクリアするリセット手段とを備えることを特徴としている。
上記課題を解決するために、本発明のＣＰＵ監視システムは、ウォッチドッグタイマを備えるＣＰＵの実行状況を監視するＣＰＵ監視システムにおいて、カウントを行うカウント手段と、前記カウント手段にカウントさせ、前記カウント手段のカウント値が所定値以内である場合には前記ウォッチドッグタイマをクリアする割り込みルーチンを第１の所定時間毎に実行させるとともに、前記カウント手段のカウント値をクリアするリセットタスクを前記第１の所定期間よりも長い第２の所定時間毎に実行させるタスク制御手段とを備えることを特徴としている。
ここで、本発明のＣＰＵ監視システムは、前記割り込みルーチンが、前記ＣＰＵで実行されるタスクの優先度に拘わらず実行可能であり、前記リセットタスクは、前記ＣＰＵで実行されるタスクのうちで最も低い優先度が設定されていることを特徴としている。
また、本発明のＣＰＵ監視システムは、前記タスク制御手段が、前記リセットタスク以外のタスクを実行させる場合には、実行開始時にフラグをセットし、実行終了時にセットしたフラグをクリアする制御を行うことを特徴としている。
更に、本発明のＣＰＵ監視システムは、前記割り込みルーチンが、前記カウント手段のカウント値が前記所定値よりも大である場合には、前記フラグがセットされているタスクに関する情報を待避することを特徴としている。
上記課題を解決するために、本発明のＣＰＵ監視装置は、ウォッチドッグタイマを備えるＣＰＵの実行状況を監視するＣＰＵ監視装置において、カウントを行うカウント手段と、第１の所定時間毎に、前記カウント手段にカウントさせるとともに前記カウント手段のカウント値が所定値以内である場合には前記ウォッチドッグタイマをクリアする割り込み手段と、前記第１の所定期間よりも長い第２の所定時間毎に、前記カウント手段のカウント値をクリアするリセット手段とを備えることを特徴としている。
また、本発明のＣＰＵ監視装置は、ウォッチドッグタイマを備えるＣＰＵの実行状況を監視するＣＰＵ監視装置において、カウントを行うカウント手段と、前記カウント手段にカウントさせ、前記カウント手段のカウント値が所定値以内である場合には前記ウォッチドッグタイマをクリアする割り込みルーチンを第１の所定時間毎に実行させるとともに、前記カウント手段のカウント値をクリアするリセットタスクを前記第１の所定期間よりも長い第２の所定時間毎に実行させるタスク制御手段とを備えることを特徴としている。
更に、本発明のＣＰＵ監視装置は、前記割り込みルーチンは、前記ＣＰＵで実行されるタスクの優先度に拘わらず実行可能であり、前記リセットタスクは、前記ＣＰＵで実行されるタスクのうちで最も低い優先度が設定されていることを特徴としている。
上記課題を解決するために、本発明のＣＰＵ監視方法は、ウォッチドッグタイマを備えるＣＰＵの実行状況を監視するＣＰＵ監視方法において、第１の所定時間毎にカウント手段によりカウントを行う第１ステップと、前記第１の所定期間よりも長い第２の所定時間毎に前記カウント手段のカウント値をクリアする第２ステップと、前記カウント手段のカウント値が所定値以内である場合には前記ウォッチドッグタイマをクリアする第３ステップとを含むことを特徴としている。
また、本発明のＣＰＵ監視方法は、前記第１ステップが、前記ＣＰＵで実行されるタスクの優先度に拘わらず実行され、前記第２ステップは、前記ＣＰＵで実行されるタスクのうちで最も低い優先度が設定されて実行されることを特徴としている。
また、本発明のＣＰＵ監視方法は、前記ＣＰＵでタスクを実行させるときに実行開始時にフラグをセットするステップと、前記タスクの実行終了時にセットしたフラグをクリアするステップとを含むことを特徴としている。
更に、本発明のＣＰＵ監視方法は、前記カウント手段のカウント値が前記所定値よりも大である場合には、前記フラグがセットされているタスクに関する情報を待避する第４ステップを含むことを特徴としている。
【発明の効果】
【００１１】
本発明によれば、第１の所定時間毎にカウント手段によりカウントを行い、第１の所定期間よりも長い第２の所定時間毎にカウント手段のカウント値をクリアし、カウント手段のカウント値が所定値以内である場合にはウォッチドッグタイマをクリアし、カウント値が所定値よりも大きい場合にはウォッチドッグタイマをクリアしていないため、外付けのウォッチドックタイマが無くともＣＰＵの監視を行うことができる。これにより、回路の簡略化及びコスト削減を図ることができる。
また、ＣＰＵでタスクを実行させるときに実行開始時にフラグをセットし、タスクの実行終了時にセットしたフラグをクリアしているため、暴走等によりフラグがセットされたままのタスクを容易に特定することができる。また、フラグがセットされたままのタスクに関する情報を待避することにより、容易に障害の発生原因を追求することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明の一実施形態によるＣＰＵ監視システム、装置、及び方法について詳細に説明する。図１は、本発明のＣＰＵ監視システムを備えるＰＨＳ基地局の要部構成を示すブロック図である。尚、本実施形態では、本発明のＣＰＵ監視システムをＰＨＳ基地局に適用する場合を例に挙げて説明するが、本発明のＣＰＵ監視システムはＰＨＳ基地局に設けられたＣＰＵの監視を行う場合に制限されず、任意のＣＰＵの監視に適用することが可能である。
【００１３】
図１に示す通り、ＰＨＳ基地局１０は、第１，第２送受信装置１１，１２、モデム部１３、制御部１４、及びＤＳＵ（Digital Service Unit）１５を備えている。第１，第２送受信装置１１，１２は、ＰＨＳ端末（通信端末装置）と無線通信を行う高周波回路（アンテナも含む）であって、ＰＨＳ端末から受信した受信信号をモデム部１３に出力すると共に、モデム部１３から入力された送信信号をＰＨＳ端末に送信する。
【００１４】
モデム部１３は、上記受信信号の復号化又は送信信号の生成（符号化）を行うものであり、受信信号を復調して得られた信号（復号化音声信号や復号化画像信号）を制御部１４に出力する。また、制御部１４から出力された送信用の音声信号や画像信号を符号化して符号化音声信号や符号化画像信号を生成して第１送受信装置１１又は第２送受信装置１２に出力する。
【００１５】
制御部１４は、ＣＰＵ２０、音声・画像変換部２１、ＳＤＲＡＭ（Synchronous DRAM（Dynamic Random Access Memory））２２、ＳＲＡＭ（Static RandomAccess Memory）２３、ＦｌａｓｈＲＯＭ（Flash Read Only Memory）２４、ＢＯＯＴＲＯＭ（Boot Read Only Memory）２５、ＦＰＧＡ（Field Programmable Gate Array）２６、及びＵＳＢ部２７を備えている。
【００１６】
図１に示す通り、制御部１４は、ＣＰＵ２０、音声・画像変換部２１、ＳＤＲＡＭ２２、ＳＲＡＭ２３、ＦｌａｓｈＲＯＭ２４、ＢＯＯＴＲＯＭ２５、ＦＰＧＡ２６、及びＵＳＢ部２７がバスラインＢによって接続されたものであり、ＳＤＲＡＭ２２に記憶された制御プログラムに基づいてモデム部１３とＤＳＵ１５との間でのデータの授受を制御する。
【００１７】
ＣＰＵ２０は、タスク制御部２０ａとウォッチドッグタイマ（ＷＤＴ）２０ｂとを備えている。尚、ここでは説明の便宜上、ＣＰＵ２０がタスク制御部２０ａを備えているとして説明を進めるが、このタスク制御部２０ａは、ＣＰＵ２０がＳＤＲＡＭ２２に記憶された制御プログラムを実行することでソフトウェア的に実現されるものであっても良い。タスク制御部２０ａは、ＣＰＵ２０で実行される各種タスクの実行を制御する。また、詳細は後述するが、本実施形態ではＣＰＵ２０で割り込みルーチンが実行される。タスク制御部２０ａはこの割り込みルーチンの実行も制御する。
【００１８】
更に、タスク制御部２０ａはＣＰＵ２０でタスクを実行させる場合には、実行開始時にフラグをセットし、実行終了時（タスクの一時的な停止時を含む）にセットしたフラグをクリアする制御を行う。この制御は、ＣＰＵ２０で実行されるタスク毎に行われる。つまり、タスク毎にそれぞれ異なるフラグが設定され、あるタスクの実行が開始された場合にはそのタスクのフラグがセットされ、そのタスクが終了して異なるタスクの実行が開始される場合には、終了されるタスクのフラグがクリアされるとともに、実行が開始されるタスクのフラグがセットされる。
【００１９】
ＷＤＴ２０ｂは、計時のためのカウンタを備えており、カウンタがリセットされずにある値をカウントしきってしまうとＣＰＵ２０をリセットする。このＷＤＴ２０ｂはＣＰＵ２０内に内蔵されている。尚、詳細は後述するが、ＷＤＴ２０ｂは、ＣＰＵ２０で実行される割り込みルーチンにより所定の時間間隔でリセットされる。
【００２０】
音声・画像変換部２１は、ＣＰＵ２０による制御の下で、前述した復号化音声信号や復号化画像信号を回線網への送信に適した音声信号や画像信号に信号変換してＣＰＵ２０に出力する。また、ＣＰＵ２０から入力された回線網からの音声信号や画像信号をＰＨＳ端末用の音声信号や画像信号に変換してモデム部１３に出力する。
【００２１】
ＳＤＲＡＭ２２は、ＣＰＵ２０が実行する制御プログラムを記憶する。また、ＳＤＲＡＭ２２には、記憶領域２２ａ，２２ｂが設けられている。記憶領域２２ａには、ＣＰＵ２０での割り込みルーチンの実行によりインクリメントされ、リセットタスク（詳細は後述する）の実行によりクリアされるカウント値が記憶される。尚、詳細は後述するが、この記憶領域２２ａはカウンタとして用いられる。また、記憶領域２２ｂは、ＣＰＵ２０でのタスクの実行開始によりセットされ、実行終了によりクリアされるフラグが記憶される。
【００２２】
ＳＲＡＭ２３は、ＣＰＵ２０の処理結果等を一時的に記憶するものである。ＦｌａｓｈＲＯＭ２４は、例えばＤＳＵ１５を介して上位制御系からダウンロードした展開前の制御プログラムを記憶するものである。ＢＯＯＴＲＯＭ２５は、ＰＨＳ基地局１０の起動時にＣＰＵ２０に実行されるブートプログラム（起動プログラム）を記憶するものである。ＦＰＧＡ２６は、モデム部１３やＤＳＵ１５等のハードウェアを制御するために設けられたプログラマブルロジック回路である。ＵＳＢ部２７は、メンテナンス用のコンピュータ等の外部装置とデータの授受を行うためのインタフェース回路である。
【００２３】
次に、以上説明したＰＨＳ基地局１０に適用される本発明のＣＰＵ監視システムの動作について説明する。図２は、本発明の一実施形態によるＣＰＵ監視方法を示すタイミングチャートである。図２に示す通り、本実施形態においては、ＣＰＵ２０で割り込みルーチンＲとリセットタスクＴＳ３とが実行され、これらによりＣＰＵ２０の実行状況を監視している。また、ここでは、ＣＰＵ２０にて、上記の割り込みルーチンＲとリセットタスクＴＳ３以外に、ＡタスクＴＳ１及びＢタスクＴＳ２の２つのタスクが実行される場合を考える。
【００２４】
ＣＰＵ２０のタスク制御部２０ａは、図２に示す通り、ＡタスクＴＳ１及びＢタスクＴＳ２並びにリセットタスクＴＳ３の実行開始・終了を制御する。具体的に、タスク制御部２０ａは、タスクＴＳ１，ＴＳ２及びリセットタスクＴＳ３を時分割で実行させる。尚、これらのタスクのうち、ＡタスクＴＳ１の優先度が最も高く、次にＢタスクＴＳ２の優先度が高いものとする。リセットタスクＴＳ３は、ＣＰＵ２０で実行されるタスクのうち最も低い優先度に設定される。つまり、ＡタスクＴＳ１及びＢタスクＴＳ２は、リセットタスクＴＳ３よりも優先度が高いため、リセットタスクＴＳ３に優先して実行される。また、割り込みルーチンＲは、ＣＰＵ２０で実行されるタスクの優先度に拘わらず実行可能である。
【００２５】
タスク制御部２０は、割り込みルーチンＲを一定時間毎（例えば、１００ミリ秒毎）に実行させるとともに、リセットタスクＴＳ３を割り込みルーチンＲの時間間隔よりも長い一定期間毎（例えば、３秒毎）に実行させる制御を行う。また、リセットタスクＴＳ３以外のタスクを実行させる場合には、実行開始時にタスクの実行が開始された旨を示すフラグをＳＤＲＡＭ２２の記憶領域２２ｂに記憶することによりフラグをセットし、実行終了時にそのフラグをクリアする制御を行う。尚、このフラグはタスク毎に用意される。
【００２６】
割り込みルーチンＲは、実行される度に、カウンタとして用いられるＳＤＲＡＭ２２の記憶領域２２ａに記憶された値（カウント値）をインクリメントする処理を行うとともに、そのカウント値が予め設定された所定の閾値以内であるか否かを判断する。この閾値としては、例えば１０秒の間に割り込みルーチンＲが実行される回数に設定される。尚、以下の説明では、便宜的に、割り込みルーチンＲが記憶領域２２ａに記憶されたカウント値をインクリメントする処理を「カウンタのインクリメント」という。
【００２７】
また、割り込みルーチンＲは、上記の判断により、記憶領域２２ａに記憶されたカウント値が所定の閾値以内である場合には、ＣＰＵ２０に設けられたＷＤＴ２０ｂをクリアする処理を行う。これにより、カウント値が所定の閾値以内である場合には、ＷＤＴ２０ｂは、例えば１００ミリ秒毎にクリアされることになる。これに対し、記憶領域２２ａに記憶されたカウント値が所定の閾値よりも大きい場合には、記憶領域２２ｂにおいてフラグがセットされているタスクに関する情報を、例えばＳＤＲＡＭ２２に待避する。
【００２８】
いま、基地局１０の電源投入等により動作が開始されたとすると、ＳＤＲＡＭ２２に記憶された制御プログラムが読み出されてＣＰＵ２０で実行される。ＣＰＵ２０のタスク制御部２０ａは、ＣＰＵ２０の動作が開始されてから所定の時間（例えば、１００ミリ秒）経過すると割り込みルーチンＲを実行させる。割り込みルーチンＲが実行されると、カウンタのインクリメントが行われるとともに（ステップＳ１）、このカウント値が閾値以内であるかが判断される（ステップＳ２）。
【００２９】
ここで、初期状態においては、カウンタのカウント値が「０」に設定されているため、上記ステップＳ２における判断処理の判断結果は「ＹＥＳ」となる。これにより、割り込みルーチンＲからＷＤＴ２０ｂに対してリセット信号が出力され（ステップＳ３）、ＷＤＴ２０ｂがクリアされる（ステップＳ４）。
【００３０】
次に、タスク制御部２０ａがＡタスクＴＳ１の実行を開始させたとする。ＡタスクＴＳ１の実行を開始させるときに、タスク制御部２０ａは、ＡタスクＴＳ１の実行が開始された旨を示すフラグをＳＤＲＡＭ２２の記憶領域２２ｂに記憶することによりＡタスクＴＳ１についてのフラグ（以下、Ａフラグという）をセットする（ステップＳ５）。
【００３１】
次いで、ＡタスクＴＳ１が実行されている間に、ＢタスクＴＳ２の実行開始要求があったとする。このとき、タスク制御部２０ａは、まずＡタスクＴＳ１を終了させるとともにＡフラグをクリアする（ステップＳ６）。次いで、ＢタスクＴＳ２の実行を開始させるとともに、ＢタスクＴＳ２の実行が開始された旨を示すフラグをＳＤＲＡＭ２２の記憶領域２２ｂに記憶することによりＢタスクＴＳ２についてのフラグ（以下、Ｂフラグという）をセットする（ステップＳ５）。
【００３２】
次に、ＣＰＵ２０の動作が開始されてから所定の時間（例えば、３秒）が経過すると、タスク制御部２０ａは、リセットタスクＴＳ３を実行させる。このとき、タスク制御部２０ａは、リセットタスクＴＳ３の実行を開始する前に、ＢタスクＴＳ２を終了させるとともにＢフラグをクリアする（ステップＳ８）。リセットタスクＴＳ３が実行されると、カウンタとして用いられるＳＤＲＡＭ２２の記憶領域２２ａに記憶された値（カウント値）をクリアする処理が行われる（ステップＳ９）。かかる処理により、カウンタのカウント値が「０」に設定される。尚、以下の説明では、便宜的に、リセットタスクＴＳ３が記憶領域２２ａに記憶されたカウント値をクリアする処理を「カウンタのクリア」という。
【００３３】
リセットタスクＴＳ３が終了した後で、ＡタスクＴＳ１が実行されるとするとタスク制御部２０ａはＡフラグをセットする（ステップＳ１０）。以下同様に、ＣＰＵ２０で正常に複数のタスクが実行されている場合には、タスク制御部２０ｂによりタスクの実行及び終了が制御されるとともに、タスクについてのフラグのセット及びクリアが行われる。また、一定の時間間隔（例えば、１００ミリ秒）で割り込みルーチンＲが実行されてカウンタのインクリメント及びＷＤＴ２０ｂのクリアが行われるとともに、所定の時間間隔（例えば、３秒）でリセットタスクＴＳ３が実行されてカウンタのクリアが行われる。
【００３４】
いま、ＢタスクＴＳ２の実行が開始されてＢフラグがセットされ（ステップＳ１１）、その後にＢタスクＴＳ２が何らかの原因で暴走した場合を考える。ＢタスクＴＳ２が暴走した場合であっても、割り込みルーチンＲはＣＰＵ２０で実行されるタスクの優先度に拘わらず実行可能である。従って、ＢタスクＴＳ２が暴走した場合であっても、一定の時間間隔でカウンタのインクリメントが行われ、カウント値が閾値以内であれば、割り込みルーチンＲからＷＤＴ２０ｂに対してリセット信号が出力され（ステップＳ１２）、ＷＤＴ２０ｂがクリアされる（ステップＳ１３）。
【００３５】
これに対し、リセットタスクＴＳ３は、ＢタスクＴＳ２よりも優先度が低いため、ＢタスクＴＳ２が暴走してしまうと実行不可能になる。このため、ＢタスクＴＳ２が暴走している間はカウンタのクリアは行われない。この結果として、割り込みルーチンＲによるカウンタのインクリメントが継続されて、カウント値は次第に増加することになる。ＢタスクＴＳ２が暴走してから所定時間経過した後（詳しくは、最後にリセットタスクＴＳ３によりカウンタのクリアが行われてから２０秒程度経過した後）に、割り込みルーチンＲが実行されると、カウンタのインクリメントが行われるとともに（ステップＳ１４）、このカウント値が閾値以内であるかが判断される（ステップＳ１５）。ここで、カウント値が閾値を超えているとステップＳ１５の判断結果は「ＮＯ」となる。
【００３６】
割り込みルーチンＲで行われる判断処理の判断結果が「ＮＯ」になると、割り込みルーチンＲは、まずＳＤＲＡＭ２２の記憶領域２２ｂにおいて、セットされているフラグ（クリアされていないフラグ）を検索し、クリアされていないフラグがある場合には、このフラグについてのタスクに関する情報をＳＤＲＡＭ２２に待避する（ステップＳ１６）。図２に示す例では、ステップＳ１１でＢフラグがセットされており、クリアが行われていないため、ＢタスクＴＳ２に関する情報がＳＤＲＡＭ２２に待避される。
【００３７】
また、ステップＳ１５の判断結果が「ＮＯ」である場合には、割り込みルーチンＲからＷＤＴ２０ｂにリセット信号が送信されない。このため、ＷＤＴ２０ｂがクリアされず、ＷＤＴ２０ｂでのカウントが継続されることになる。そして、ＷＤＴ２０ｂがクリアされなくなってから所定の時間が経過すると、ＷＤＴ２０ｂはタイムアウトとなり、ＣＰＵ２０がリセットされる。
【００３８】
以上説明した通り、本実施形態では、割り込みルーチンＲを一定の時間間隔で実行させてカウンタのインクリメントを行うとともに、割り込みルーチンＲが実行される時間間隔よりも長い時間間隔でリセットタスクＴＳ３を実行させてカウンタのクリアを行っている。ここで、割り込みルーチンＲはＣＰＵ２０で行われるタスクの優先度に拘わらず実行可能であるが、リセットタスクＴＳ３はＣＰＵ２０で実行されるタスクのうちの最も低い優先度に設定されているため、タスクが暴走してしまうと実行不可能になる。カウンタのカウント値が所定の閾値以内であれば、ＷＤＴ２０ｂは割り込みルーチンＲによりクリアされるが、カウンタのカウント値が所定の閾値よりも大きいとＷＤＴ２０ｂはクリアされなくなってＷＤＴ２０ｂによりＣＰＵ２０がリセットされる。以上により、図３に示す外付けＷＤＴ１０１が無くとも、ＣＰＵ２０の実行状況を監視することができ、回路の簡略化及びコスト削減を図ることができる。
【００３９】
また、本実施形態では、リセットタスクＴＳ３以外のタスクを実行させる場合には、実行開始時にフラグをセットし、実行終了時にセットしたフラグをクリアしている。そして、カウンタのカウント値が所定の閾値よりも大きい場合には、割り込みルーチンＲによって、フラグがセットされたままである（フラグがクリアされていない）タスクに関する情報を待避している。このため、暴走等の障害が発生したタスクを容易に特定することができ、これにより、容易に障害の発生原因を追求することができる。
【００４０】
以上、本発明の一実施形態によるＣＰＵ監視システム、装置、及び方法について説明したが、本発明は上記実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、以上説明した実施形態では、ＳＤＲＡＭ２２の記憶領域２２ａにカウント値を記憶させ、割り込みルーチンＲがカウント値をインクリメントする場合を例に挙げて説明したが、割り込みルーチンＲの指示に従ってインクリメントを行うカウンタを設けた構成であっても良い。
【図面の簡単な説明】
【００４１】
【図１】本発明のＣＰＵ監視システムを備えるＰＨＳ基地局の要部構成を示すブロック図である。
【図２】本発明の一実施形態によるＣＰＵ監視方法を示すタイミングチャートである。
【図３】ウォッチドッグタイマを用いた従来のＣＰＵ監視方法の一例を示すタイミングチャートである。
【符号の説明】
【００４２】
２０              ＣＰＵ
２０ａ            タスク制御部
２０ｂ            ウォッチドッグタイマ
２２ａ，２２ｂ    記憶領域
Ｒ                割り込みルーチン
ＴＳ３            リセットタスク
【図１】
2007264856.tif 000003
【図２】
2007264856.tif 000004
【図３】
2007264856.tif 000005