(57)【要約】  タイマに対するタイムアウト時間設定のオーバヘッドを削減し、二重化されたタイマのうちで故障したタイマの識別を可能にすることを目的とし、タイマから割込み信号を出力し、監視対象システム内のプロセッサにあらかじめ定められた処理を実行させるシステム監視装置が、共通で同一の時間間隔毎に、かつその時間間隔の半分だけ互いにずれた時点で割込み信号を出力する動作を、タイムアウト時間のリロード機能を用いて繰り返す２つのタイマを備える。
2008072350.tif 000002
【特許請求の範囲】
【請求項１】
タイマから割込み信号を出力し、監視対象システム内のプロセッサに予め定められた処理を実行させるシステム監視装置であって、
共通の時間間隔毎に、該時間間隔が互いに半分ずれた時点で割込み信号を出力する動作を、タイムアウト時間のリロード機能を用いて繰り返す２つのタイマを備え、
前記プロセッサが、該２つのタイマのうちのいずれかのタイマからの割込み信号の入力が繰り返される毎に、該２つのタイマの故障の有無を判定することを特徴とする二重化タイマを用いたシステム監視装置。
【請求項２】
前記システム監視装置が、前記２つのタイマのうちのいずれかのタイマからの割込み信号の入力に対応して、該割込み信号を出力したタイマの識別子を示すフラグを格納するフラグレジスタをさらに備え、
前記プロセッサが、タイマからの次の割込み信号の入力に対応して、該次の割込み信号を出力したタイマの識別子と該フラグレジスタの格納内容とを比較して、タイマ故障の有無を判定することを特徴とする請求項１記載の二重化タイマを用いたシステム監視装置。
【請求項３】
前記２つのタイマが、ともに前記タイムアウト時間を格納するリロード用レジスタを備えるとともに、
一方のタイマが、さらに右１ビットシフト回路を備え、
前記システムの起動時にプロセッサから送られる前記共通で同一の時間間隔の値のタイムアウト時間の設定を要求するコマンドに対応して、該一方のタイマ内のカウンタに、該右１ビットシフト回路を介して該時間間隔の半分の値がカウントアウト時間として設定されることを特徴とする請求項１記載の二重化タイマを用いたシステム監視装置。
【請求項４】
前記２つのタイマが、ともに前記タイムアウト時間を格納するリロード用レジスタを備えるとともに、
一方のタイマが、前記プロセッサからのバスと該一方のタイマ内のカウンタとの間の２つの経路のうちで、該リロード用レジスタを介する経路上で、該バスとリロード用レジスタとの間に左１ビットシフト回路を備え、
他方のタイマが前記プロセッサからのバスと該他方のタイマ内のカウンタとの間で、前記リロード用レジスタを介する経路と、介しない経路との２つの経路の接続点と前記バスの間に接続される左１ビットシフト回路をさらに備え、
前記システムの起動時にプロセッサから送られる、前記タイムアウト時間として前記時間間隔の半分の値を設定することを要求するコマンドに対応して、前記一方のタイマ内のカウンタに、前記リロード用レジスタを介しない経路によってカウントアウト時間の設定が行われることを特徴とする請求項１記載の二重化タイマを用いたシステム監視装置。
【請求項５】
前記システム監視装置が、前記２つのタイマのうちのいずれかのタイマからの割込み信号の入力に対応して、前記システム内に備えられているシステム時計の示す時刻が格納されるメモリをさらに備え、
前記プロセッサが、前記タイマ識別子の比較結果と、前記次の割込み信号の入力時のシステム時計の示す時刻と前記メモリに格納されている前回の割込み信号入力時刻との時間差とに基づいて、二重化されたタイマのうちの故障タイマの識別を行うことを特徴とする請求項２記載の二重化タイマを用いたシステム監視装置。
【請求項６】
前記プロセッサが、前記２つのタイマのうちで故障と判定された一方のタイマを切り離し、他方のタイマからの割込み信号を用いて、前記監視対象システムの動作を継続させることを特徴とする請求項５記載の二重化タイマを用いたシステム監視装置。
【請求項７】
タイマから割込み信号を出力し、監視対象システム内のプロセッサに予め定められた処理を実行させるシステム監視方法であって、
２つのタイマが、共通の時間間隔毎に、該時間間隔が互いに半分ずれた時点で割込み信号を出力する動作を、タイムアウト時間のリロード機能を用いて繰り返し、
前記プロセッサが、該２つのタイマのうちのいずれかのタイマからの割込み信号の入力が繰り返される毎に、該２つのタイマの故障の有無を判定することを特徴とする二重化タイマを用いたシステム監視方法。
【請求項８】
前記システムの起動時に前記プロセッサが、タイマに対するタイムアウト時間として、前記２つのタイマのうちの一方に前記共通で同一の時間間隔の半分の値を前記リロード機能を無効として設定し、他方のタイマに該同一の時間間隔の値をリロード機能を有効として設定し、
該一方のタイマが最初の割込み信号を出力した時点で、該一方のタイマのタイムアウト時間を前記同一の時間間隔の値に、前記リロード機能を有効として再設定することを特徴とする請求項７記載の二重化タイマを用いたシステム監視方法。
【請求項９】
前記２つのタイマのうちのいずれかのタイマからの割込み信号の入力に対応して、該割込み信号を出力したタイマの識別子を示すフラグをフラグレジスタに格納し、
前記プロセッサが、タイマからの次の割込み信号の入力に対応して、該次の割込み信号を出力したタイマの識別子と該フラグレジスタの格納内容とを比較して、タイマ故障の有無を判定することを特徴とする請求項７記載の二重化タイマを用いたシステム監視方法。
【請求項１０】
前記２つのタイマのうちのいずれかのタイマからの割込み信号の入力に対応して、前記システム内に備えられているシステム時計の示す時刻をメモリに格納し、
前記プロセッサが、前記タイマ識別子の比較結果と、前記次の割込み信号の入力時のシステム時計の示す時刻と前記メモリに格納されている前回の割込み信号入力時刻との時間差とに基づいて、二重化されたタイマのうちの故障タイマの識別を行うことを特徴とする請求項９記載の二重化タイマを用いたシステム監視方法。
【請求項１１】
前記プロセッサが、前記２つのタイマのうちで故障と判定された一方のタイマを切り離し、他方のタイマからの割込み信号を用いて、前記監視対象システムの動作を継続させることを特徴とする請求項１０記載の二重化タイマを用いたシステム監視方法。
【請求項１２】
タイマから割込み信号を出力し、監視対象マルチプロセッサシステム内の各プロセッサに予め定められた処理を実行させるシステム監視装置であって、
共通で同一の時間間隔毎に、かつ該時間間隔の半分だけ互いにずれた時点で割込み信号を出力する動作を、タイムアウト時間のリロード機能を用いて繰り返す２つのタイマを備え、
該マルチプロセッサシステム内の少なくとも１台のプロセッサが、該２つのタイマのうちのいずれかのタイマからの割込み信号の入力が繰り返される毎に、該２つのタイマの故障の有無を判定することを特徴とする二重化タイマを用いたシステム監視装置。
【請求項１３】
前記マルチプロセッサシステムの起動時に前記少なくとも１台のプロセッサが、タイマに対するタイムアウト時間として、前記２つのタイマのうちの一方に前記共通で同一の時間間隔の半分の値を前記リロード機能を無効として設定し、他方のタイマに該同一の時間間隔の値をリロード機能を有効として設定し、
該一方のタイマが最初の割込み信号を出力した時点で、該一方のタイマのタイムアウト時間を前記同一の時間間隔の値に、前記リロード機能を有効として再設定することを特徴とする請求項１２記載の二重化タイマを用いたシステム監視装置。
【請求項１４】
前記システム監視装置が、前記２つのタイマのうちのいずれかのタイマからの割込み信号の入力に対応して、該割込み信号を出力したタイマの識別子を示すフラグを格納するフラグレジスタをさらに備え、
前記少なくとも１台のプロセッサが、タイマからの次の割込み信号の入力に対応して、該次の割込み信号を出力したタイマの識別子と該フラグレジスタの格納内容とを比較して、タイマ故障の有無を判定することを特徴とする請求項１２記載の二重化タイマを用いたシステム監視装置。
【請求項１５】
前記マルチプロセッサシステムが、前記複数のプロセッサに対して前記２つのタイマのうちのいずれかのタイマから割込み信号が入力された時、該複数のプロセッサからそれぞれ出力される現在時刻の値が格納される共有メモリをさらに備え、
前記少なくとも１台のプロセッサが、前記タイマの識別子の比較結果と、該共有メモリの格納内容とに基づいて、二重化されたタイマのうちの故障タイマの識別を行うことを特徴とする請求項１２記載の二重化タイマを用いたシステム監視装置。
【請求項１６】
前記少なくとも１台のプロセッサが、前記２つのタイマのうちで故障と判定された一方のタイマを切り離し、他方のタイマからの割込み信号を用いて、前記監視対象システムの動作を継続させることを特徴とする請求項１５記載の二重化タイマを用いたシステム監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシステムの監視方式に係り、タイマからの割込みに対応して定期的に定められた処理を実施しているシステムにおいて、タイマの故障を適切に検出し、システム停止などの必要な処理を行うことを可能とするシステム監視装置、および監視方法に関する。
【背景技術】
【０００２】
システムに定期的に何かの動作をさせたい場合、タイマを使って定期的にシステムを制御するプロセッサのＣＰＵに割込みをかける、といった方法が一般的に用いられている。またシステムの信頼性を上げるために、多少コストがかかっても、信頼性向上のための制御などを２重化、３重化することもよくとられる手法である。ＣＰＵに割込みをかけるタイマについても同様で、タイマの信頼性を上げるためにタイマを２重化している従来例として次のような文献がある。【０００３】
特許文献１では、図１に示すような構成で、２つのタイマに異なるタイムアウト時間を設定する。図２に示すように、タイマＴ１にはタイムアウト時間としてＡという値を、タイマＴ２にはタイムアウト時間としてＢという値を設定する。ここでＡ＜Ｂとする。ここでタイマは０からカウントアップして、設定したタイムアウト時間になると割込みをあげる構成になっているものとしている。タイマをセットしてＡ時間経過後、タイマＴ１がタイムアウトしてＣＰＵに割込みがかかる。割込みがかかるとＣＰＵはタイマＴ２のタイマ値をリードする。リードしたタイマ値をＡ‘とすると、タイマ２が正常であれば、Ａ＜Ａ’の関係が成り立っているはずである。従って
・タイマＴ１より先にタイマＴ２がタイムアウトする、
・タイマＴ１のタイムアウト後、タイマＴ２のタイマ値がＡ＜Ａ’の関係を満たしていない、
ことを検出すると、タイマが故障したと判断することができる。【０００４】
特許文献１では、タイマＴ１がタイムアップして両方のタイマが正常に動作していると判断した場合は、次回はタイマＴ２にタイムアウト時間Ａを、タイマＴ１にタイムアウト時間Ｂを設定して、両者のタイマの機能を、１回ごとに入れ換えている。そこで、１回のタイマからの割込みに対応して本来実行されるべき作業に必要な処理をＣＰＵに行わせるのに、タイマの設定を２回ずつ行う必要が有り、処理が煩雑であった。【０００５】
別の従来技術としての特許文献２における構成を図３に、タイムチャートを図４に示す。この文献では、２つのタイマＴ１、タイマＴ２に、タイマＴ１の方が先にタイムアウトするように、タイムアウト時間をセットする。まずタイマＴ１がタイムアウトするが、ＭＰＵは割込みを受けて、作業フラグをＯＮにするとともに、タイマＴ１をタイマＴ２がタイムアウトしてからタイムアウトするように、タイムアウト時間を再セットする。次にタイマＴ２がタイムアウトして割込みが発生すると、ＭＰＵは作業フラグがＯＮであるかどうか確認し、ＯＮであれば作業フラグをＯＦＦにする。この時作業フラグがもともとＯＦＦであればタイマＴ１が故障したと判断する。次に正常であれば再びタイマＴ１がタイムアウトして割込みが発生する。ＭＰＵは作業フラグがＯＦＦであるか確認し、ＯＮになっているとタイマＴ２が故障したと判断する。ＯＦＦの場合はもとに戻って、タイマＴ１、タイマＴ２をタイマＴ１が先にタイムアウトするようにタイムアウト時間をセットする。特許文献２でも、１回のタイマからの割込みに対応して実行されるべき作業に必要な処理をＭＰＵに行わせるのに、タイマの設定を例えば３回行う必要が有り、処理が煩雑であった。【０００６】
このように特許文献１、特許文献２の従来技術では、タイマからの割込みに対応して実行されるべき作業に必要な処理をプロセッサに行わせるためにタイマの設定を複数回ずつ行う必要があり、処理が煩雑になるという問題点があった。【０００７】
またどちらの特許文献においても、二重化されたタイマのいずれに故障が発生したかを判別することができず、タイマの故障発生時には基本的にはシステムをシャットダウンするしか方法はないという問題点があった。特許文献２においては、故障タイマの判別が可能と記述されているが、この判別はタイマが故障して割込みをあげなくなったような場合に対応しており、例えばタイマが設定された時間よりも早く割込みをあげるようになったような場合には必ずしも故障タイマの判別ができるとは限らないという問題点があった。
【特許文献１】特開昭６０−０５９４４７  「マイクロコンピュータシステム」
【特許文献２】特開平１１−６５９８６  「タイマの障害検出システム及び検出方法並びに検出方法を実行するためのプログラムを記録した記録媒体」
【発明の開示】
【０００８】
本発明の目的は、上述の問題点に鑑み、タイマに対するタイムアウト時間設定のオーバヘッドを削減することと、二重化されたタイマのうちで故障したタイマの判別を可能とすることである。
【０００９】
本発明のシステム監視装置は、タイマから割込み信号を出力し、監視対象システム内のプロセッサに予め定められた処理を実行させるものであり、共通の時間間隔（２Ｔ）毎に、その時間間隔が互いに半分（Ｔ）ずれた時点で割込み信号を出力する動作を、タイムアウト時間のリロード機能を用いて繰り返す２つのタイマを少なくとも備えるものであって、プロセッサが２つのタイマのいずれかからの割込み信号の入力が繰り返される毎に、２つのタイマの故障の有無を判定する。
【００１０】
また本発明のシステム監視装置は、いずれかのタイマからの割込み信号の入力に対応して、その割込み信号を出力したタイマの識別子を示すフラグを格納するフラグレジスタをさらに備え、プロセッサがタイマからの次の割込み信号の入力に対応して、その割込み信号を出力したタイマの識別子とフラグレジスタの格納内容とを比較して、タイマ故障の有無を判定する。
【００１１】
さらに本発明のシステム監視装置は、２つのタイマからの割込み信号の入力に対応して、システム内に備えられているシステム時計が示す時刻を格納するためのメモリをさらに備え、プロセッサが前述のタイマ識別子の比較の結果と、次の割込み信号の入力時のシステム時計の示す時刻とメモリに格納されている前回の割込み信号入力時刻との時間差とに基づいて、二重化されたタイマのうちの故障タイマの識別を行う。
【００１２】
このように本発明においては、基本的にタイマに対するタイムアウト時間の設定がタイマのリロード機能を用いて行われ、タイマに対するタイムアウト時間の設定のためのオーバヘッドを削減することができる。
【００１３】
また割込み信号を出力したタイマの識別子とフラグレジスタの格納内容との比較によって、例えば割込み信号を出力しなくなったタイマを識別することや、割込み信号の入力時点と前回の割込み信号の入力時点との比較によって、例えば設定されたタイムアウト時間としての２Ｔと大きく異なる時間間隔で割込みをあげた故障タイマを識別することが可能となる。
【００１４】
本発明によれば、タイマに対するタイムアウト時間のリロード機能を利用して、タイマに対するタイムアウト時間設定のオーバヘッドを従来技術に比較して大きく削減することが可能となる。またフラグレジスタの格納内容やシステム時計の示す時刻を利用して、二重化されたタイマのうちの故障タイマの識別を行うことが可能となり、一方のタイマが故障しても、故障していないタイマを利用してシステム動作を継続することも可能となり、二重化タイマを用いたシステム監視装置の実用性向上に寄与するところが大きい。
【図面の簡単な説明】
【００１５】
【図１】第１の従来例におけるシステム監視方式の構成ブロック図である。
【図２】第１の従来例におけるタイムアウト時間設定方法の説明図である。
【図３】第２の従来例におけるシステム監視方式の構成ブロック図である。
【図４】第２の従来例におけるタイムアウト時間設定方法の説明図である。
【図５】第１の実施例の構成ブロック図である。
【図６】第１の実施例におけるタイマ故障検出処理のメインルーチンのフローチャートである。
【図７】図６に対する割込み処理１のフローチャートである。
【図８】図６に対する割込み処理２のフローチャートである。
【図９】高信頼タイマの第１の例の構成ブロック図である。
【図１０】高信頼タイマの第２の例の構成ブロック図である。
【図１１】第２の実施例の構成ブロック図である。
【図１２】第２の実施例における割込み処理１のフローチャートである。
【図１３】第２の実施例における割込み処理２のフローチャートである。
【図１４】第３の実施例の構成ブロック図である。
【図１５】第３の実施例における割込み処理２のフローチャートである。
【発明を実施するための最良の形態】
【００１６】
図５は、本発明の第１の実施例の構成ブロック図である。同図において第１の実施例は２つのタイマ１、２、割込みコントローラ３、プロセッサ４を備え、プロセッサ４と２つのタイマ１、２との間はバス５によって接続され、タイマ１、２からはそれぞれ割込み通知信号が割込みコントローラ３に与えられ、割込みコントローラ３からはプロセッサ４に対して割込み制御信号が与えられる構成となっている。プロセッサ４は、タイマ１、２からの割込みに対応してタイマの故障の有無を判定するとともに、割込み処理として予め定められた作業を実行するために必要な処理を実行するＣＰＵ６を備えると共に、図示しないメモリとしてのＲＯＭやＲＡＭ、入出力部などを備えることは当然である。【００１７】
図５において本発明の二重化タイマを用いたシステム監視装置は、タイマ１、２、および割込みコントローラ３によって構成されると考えることもでき、また図５の構成要素をすべて備えたプロセッサシステムとして１つのチップ上に形成されると考えることもできる。【００１８】
なお割込みコントローラ３は、タイマ１とタイマ２とから同時に割込み（通知）信号が出力されたとき、あるいは片方のタイマから割込み信号が出力され、それに対応した割込み処理が実行されている間に他方のタイマから割込み信号が出力された場合の調停動作などを行い、その調停動作の結果として、割込み信号を出力したタイマの識別子などを示す割込み制御信号をプロセッサ４の内部のＣＰＵ６に出力するものであり、本発明のタイマ故障検出方式とは直接には関係のないものである。【００１９】
図６から図８は、第１の実施例におけるタイマ故障検出処理のフローチャートである。まず図６のメインルーチンにおいて処理が開始されると、ステップＳ１でタイマ１のタイムアウト時間がＴ、タイマ２のタイムアウト時間が２Ｔに設定される。この時、タイマ１はリロード機能がない状態に、タイマ２はリロード機能がある状態に設定される。リロード機能とはタイマがタイムアウトしたときに、例えばリロード用レジスタに予め設定されたタイムアウト時間を自動的にタイマに再設定し、タイマとしての機能を継続する機能であり、ステップＳ１でタイムアウト時間が２Ｔに設定されたタイマ２は時間２Ｔ毎にタイムアウトし、定期的に割込み信号を割込みコントローラ３に与えることになる。【００２０】
続いてステップＳ２でタイマ１からの割込み待ち状態となるが、ここでタイマ１から割込み信号が出力されたとき、すなわち割込みが上がった場合には、ＣＰＵ６によって割込み処理１が実行されるように、プロセッサ４の内部で図示しないメモリに保持されている割込みテーブルの内容が設定される。【００２１】
図６のメインルーチンのスタート時点から時間Ｔが経過すると、タイマ１がタイムアウトし、割込みをあげることによって、サブルーチンとしての図７の割込み処理１が開始される。この割込み処理１では、まずステップＳ６でタイマ１のタイムアウト時間がメインルーチンスタート時点のＴではなく２Ｔに設定され、タイマ１に対してもリロード機能ありの設定が行われる。さらに次の割込みの時点で、前回どちらのタイマから割込みがあがっていたかを識別するためのフラグとしての、プリービアス・タイマ・フラグを格納するフラグレジスタが、例えばタイマ１、タイマ２と割込みコントローラ３とによって構成されるシステム監視装置内に用意され、この時点で割り込みをあげたタイマ１の識別子としての“０”がそのフラグとして、プロセッサ４内のＣＰＵ６によって、バス５を介してフラグレジスタにセットされる。【００２２】
続いてステップＳ７で前述の割込みテーブルの内容が、割込みに対応して割込み処理２を実行するように変更され、タイマ割込みに対して本来実行すべき予め定められた作業を行うための処理が起動され、メインルーチンへのリターンが行われる。以上の処理によって、タイマ１とタイマ２は共通で同一の時間間隔２Ｔ毎に、かつその時間間隔の半分、すなわち時間Ｔだけ互いにずれた時点で、割込み信号を割込みコントローラ３に出力することになる。【００２３】
続いて図６のステップＳ３でタイマ１、またはタイマ２からの割込み待ちの状態となる。２つのタイマが正常に動作している場合には、タイマ２がさらに時間Ｔの後にタイムアウトし、割込みをあげることによって、割込み処理２が実行される。【００２４】
図８は、サブルーチンとしての割込み処理２のフローチャートである。割込み処理２がスタートすると、まずステップＳ１０で割込みをあげたタイマの識別子（タイマＩＤ）がチェックされ、ステップＳ１１でそのタイマＩＤとプリービアス・タイマ・フラグの値が一致するか否かが判定される。【００２５】
タイマの動作が正常であれば、ここではタイマＩＤの値はタイマ２のＩＤとしての“１”であり、プリービアス・タイマ・フラグの値は“０”であるために、これらの値は一致せず、ステップＳ１２でプリービアス・タイマ・フラグの値が反転、すなわち“１”とされ、最後にタイマ割込みに対応して本来実行すべき作業に必要な処理が起動されて、メインルーチンへのリターンが行われる。【００２６】
タイマが正常動作を続けている間は、さらに時間Ｔの後にタイマ１がタイムアウトし、同様の割込み処理２が繰り返されることになる。タイマの故障として、例えばタイマ１が故障して割込みをあげなくなった場合には、タイマ２から連続して割込みがあがるようになる。あるいはタイマ１が設定された時間より短い時間でタイムアウトを起こしてしまうようになった場合には短くなった度合いにもよるが、ある程度時間が経過するとタイマ１から連続して割込みがあがるようになる。【００２７】
このようにタイマの故障によって、どちらかのタイマから連続して割込みがあがるようになると、図８のステップＳ１１でタイマＩＤとプリービアス・タイマ・フラグとの値が一致すると判定され、ステップＳ１３でシステムの停止が指示される。【００２８】
タイマ１とタイマ２の２つのタイマのうちでどちらのタイマが故障したのかを判別できれば、故障したタイマを切り離し、故障していないタイマを用いてシステム動作を継続することもできるが、前述のように故障の仕方によって、故障した方のタイマから連続して割込みがあがる場合と、故障していないタイマから連続して割込みがあがる場合との両方のケースが存在するために、この第１の実施例では故障タイマの識別を行うことができず、どちらかのタイマが故障した時点でシステム停止が行われる。【００２９】
この第１の実施例では、機能的には従来例と同等のシステム監視機能を実現することができる。従来例では１回のタイマ割込み処理に対応して、タイマに対して少なくとも２回のタイムアウト時間の設定を毎回行うことが必要であったが、第１の実施例ではタイマのリロード機能を利用することによって、タイムアウト時間設定の回数を大幅に削減することができ、システム監視装置におけるタイムアウト時間設定のオーバヘッドを格段に少なくすることが可能となる。【００３０】
図５の実施例ではリロード機能を持つ一般的なタイマを２個使うために、タイマ１に対して最初にタイムアウト時間としてＴを設定し、次に２Ｔを設定する処理が必要となる。処理をさらに簡略化するために図９、または図１０の高信頼タイマを使用することによって、例えばシステムの起動時にＣＰＵ６から２つのタイマ１、タイマ２に１つのコマンドを与えるだけで２つのタイマに対するタイムアウト時間の設定を１回で行うことが可能となる。【００３１】
図９は、高信頼タイマの第１の構成例のブロック図である。同図において高信頼タイマ１０は２つのタイマ１１と１２とによって構成され、図５のＣＰＵ６からはバス５を介して同一のコマンドが２つのタイマに対して与えられる。割込み信号がタイマ１１とタイマ１２とからそれぞれ割込みコントローラ３に与えられる点は図５と同じである。【００３２】
２つのタイマ１１、１２のうちで、タイマ１２はリロード機能を持つ一般的なタイマと同一の構成を持っている。すなわちタイマ１２に対してＣＰＵ６からタイムアウト時間として２Ｔを設定するためのコマンドが与えられると、その値２Ｔがリロード用レジスタ１５に格納されると共に、例えばセレクタを介してカウンタ１６に対して設定される。カウンタ１６がダウンカウンタであるとすると、カウントダウンしてカウント時間が２Ｔに達し、カウント値が“０”となった時点で、０検出回路１７から割込み信号が割込みコントローラ３に対して出力されることになる。そしてこの０検出の時点で、０検出回路１７からカウンタ１６の図示しないセット端子に対してセット信号が与えられ、リロード用レジスタ１５の格納内容がカウンタ１６にセットされ、カウントダウンの動作が続行される。【００３３】
これに対してタイマ１１は、本発明に特有の構成として、さらに右１ビットシフト回路１８を備えている。このタイマ１１においては、バス５を介してＣＰＵ６から時間２Ｔを設定するコマンドが与えられると、右１ビットシフト回路１８によってその値を２で割る演算が実行され、実行結果の時間Ｔの値が、例えばセレクタを介してカウンタ１６に設定され、カウンタ１６のカウント時間がＴに達し、カウント値が“０”となると、０検出回路１７から割込み信号が割込みコントローラ３に与えられる。またコマンドの入力時点でリロード用レジスタ１５には時間２Ｔの値が格納される。そして０検出回路１７からカウンタ１６に対してセット信号が与えられた時点で、セレクタを介してリロード用レジスタ１５に格納されている時間２Ｔの値がカウンタ１６に設定され、カウンタ１６のカウントダウンの動作が行われることになる。【００３４】
図１０は、高信頼タイマの第２の例の構成ブロック図である。同図において高信頼タイマ２０は２つのタイマ２１と２２によって構成されている。これらの２つのタイマはいずれも従来から使用されている一般的なものではなく、それぞれ左１ビットシフト回路２５を備え、本発明に特有の構成を持っている。【００３５】
図１０の高信頼タイマ２０に対しては、図５のＣＰＵ６から時間Ｔをタイムアウト時間として設定することを指示するコマンドが与えられる。タイマ２１側ではその時間Ｔの値がカウンタ１６に設定されると共に、２を乗算する演算を行う左１ビットシフト回路２５によって２倍された値２Ｔがリロード用レジスタ１５に格納される。そしてカウンタ１６のカウント値が“０”になった時点で、前述と同様にリロード用レジスタ１５の内容がカウンタ１６にセットされることになる。【００３６】
タイマ２２側では、ＣＰＵ６からのコマンドの入力時点で左１ビットシフト回路２５によって２Ｔの値が得られ、その値がそのままカウンタ１６に設定され、同時にリロード用レジスタ１５にも２Ｔの値が格納される。カウンタ１６がカウントダウンし、０検出回路１７によってカウント値としての“０”が検出されると、リロード用レジスタ１５に格納されている内容がカウンタ１６にセットされ、カウントダウンの動作が続行される。【００３７】
以上に説明した第１の実施例では、２つのタイマのうち故障したタイマの識別を行うことができないため、タイマの故障が検出された時点でシステムの動作が停止される。これに対して、２つのタイマのうちで故障したタイマの識別を可能とし、一方のタイマが故障しても、他方のタイマの機能を利用してシステムの動作を続行することが可能な実施例を第２の実施例として説明する。なお、第１の実施例においてフラグレジスタはシステム監視装置内に備えられるものとしたが、図５のプロセッサ４内にフラグレジスタを備えることも当然可能である。【００３８】
図１１は、第２の実施例の構成ブロック図である。同図を第１の実施例を示す図５と比較すると、システム全体としての統一的な時刻を示すシステム時計３０がバス５にさらに接続されている点が異なっている。そしてこの第２の実施例では、プロセッサ４の内部のＣＰＵ６が、実施例１におけるタイマＩＤとプリービアス・タイマ・フラグの値との比較に加えて、割込み制御信号が割込みコントローラ３から与えられた時刻と、例えばシステム監視装置内で図示しないメモリに格納されている前回の割込み制御信号の入力時刻（Ｔｐｒｅｖ）の値を比較することによって、２つのタイマのうちでどちらのタイマが故障したかを判別する処理を行うことになる。【００３９】
第２の実施例におけるタイマ故障検出処理のメインルーチンのフローチャートは第１の実施例に対する図６と同じであり、その説明を省略する。
図１２は、第２の実施例における割込み処理１のフローチャートである。同図の処理は、第１の実施例における図６のステップＳ２と同様に、タイマ１からの割込みがあがった時点で開始される処理であり、まずステップＳ１６で図７のステップＳ６と同様にタイマ１のタイムアウト時間が２Ｔに設定され、またリロード機能ありの状態が設定され、プリービアス・タイマ・フラグの値がタイマ１の識別子を示す“０”に設定された後に、ステップＳ１７で図７のステップＳ７における処理に加えて、システム時計の示す現在時刻の値Ｔｎｏｗがリードされ、その値がＴｐｒｅｖの値を格納する、図示しないメモリに格納されて、メインルーチンへのリターンが行われる。【００４０】
図１３は、第２の実施例における割込み処理２のフローチャートである。メインルーチンとしての図６のステップＳ３でタイマ１、またはタイマ２からの割込みがあがると、ステップＳ２０で割込みをあげたタイマの識別子（タイマＩＤ）がチェックされ、また図１１のシステム時計３０の指示する時刻の値（Ｔｎｏｗ）がリードされ、ステップＳ２１でタイマＩＤとプリービアス・タイマ・フラグの値が一致するか否かが判定される。【００４１】
両者の値が一致しない場合にはタイマの動作は正常なものであると判定され、ステップＳ２２でプリービアス・タイマ・フラグの値が反転され、ステップＳ２３でＴｐｒｅｖの値を格納するメモリにＴｎｏｗの値が代入され、タイマ割込みに対して実行すべき本来の作業に必要な処理が起動されて、メインルーチンへのリターンが行われる。２つのタイマが正常に動作している間は、割込み処理２としてステップＳ２０からステップＳ２３までの処理が繰り返される。【００４２】
タイマ１、タイマ２のいずれかに故障が発生すると、前述のように同一のタイマから連続して割込みがあがることになる。同一のタイマから割込みがあがった場合には、ステップＳ２１でタイマＩＤの値とプリービアス・タイマ・フラグの値が一致すると判定され、ステップＳ２４で現在の時刻ＴｎｏｗとＴｐｒｅｖの値を格納するメモリの値との差がＴｄｉｆｆとして計算され、ステップＳ２５でその値が２つのタイマの定常的な割込み周期２Ｔ程度に一致するか否かが判定される。実際にはある程度の誤差があると考えられるので、例えば±１０％程度の範囲であればＴｄｉｆｆと２Ｔとが一致したものと判定され、ステップＳ２６で割込みを上げなかった側のタイマが故障したものとしてそのタイマが切り離され、割込みをあげた方のタイマのタイムアウト時間がＴに再設定され、リロード機能ありの状態とされる。そしてＴｐｒｅｖを格納するメモリにＴｎｏｗの値が代入され、タイマ割込みに対する本来の作業に必要な処理が起動されて、メインルーチンへのリターンが行われる。【００４３】
ステップＳ２１でタイマＩＤの値とプリービアス・タイマ・フラグの値が一致したと判定された以後のステップＳ２５の判定において、Ｔｄｉｆｆの値が２Ｔに一致しないと判定されると、ステップＳ２７でＴｄｉｆｆの値がＴ程度であるか否かが±１０％の誤差の範囲で判定され、両者が一致していると判定されると、以前にステップＳ２６でタイムアウト時間がＴに再設定された、切り離されていない方のタイマが正常に動作しているものとして、ステップＳ２３でＴｐｒｅｖを格納するメモリにＴｎｏｗの値が代入され、タイマ割込みに対応する本来の作業に必要な処理が起動されて、メインルーチンへのリターンが行われる。【００４４】
タイマが設定タイムアウト時間よりも短い時間で割込みをあげるような壊れ方をすると、Ｔｄｉｆｆが、例えば２Ｔにも、またＴにも一致しない値となる。例えばメインルーチンの図６のステップＳ２でタイマ１からの割込みがあがり、図１２の割込み処理１が終了してメインルーチンのステップＳ３で、タイマ２からの割込みがあがる前にタイマ１からの割込みがあがったとすると、図１０のステップＳ２１でタイマＩＤとプリービアス・タイマ・フラグの値が一致すると判定されるが、Ｔｄｉｆｆの値が２Ｔにも、またＴにも一致しないものとすると、ステップＳ２８の処理に移行し、割込みをあげなかった方のタイマ、ここではタイマ２が稼働中であるか否かが判定され、稼働中である場合には、ステップＳ２９で割込みをあげた側のタイマ、すなわちタイマ１が切り離されて、メインルーチンへのリターンが行われる。この時、割込みをあげなかった方のタイマ２が稼働中でない場合には、ステップＳ３０で両方のタイマが故障したものと判定され、システム停止の指示が行われる。【００４５】
ステップＳ２９でタイマ１が切り離され、タイマ２が稼働中である状態で再びメインルーチンの図６のステップＳ３でタイマ２からの割込みがあがると、ステップＳ２１においてタイマＩＤはタイマ２の識別子であり、プリービアス・タイマ・フラグの値はタイマ１の識別子のままとなっているために、両者は一致しないと判定され、ステップＳ２２でプリービアス・タイマ・フラグの値が反転され、ステップＳ２３でＴｐｒｅｖを格納するメモリにＴｎｏｗが格納され、タイマ割込みに対する本来の作業に必要な処理が起動され、メインルーチンへのリターンが行われる。【００４６】
すでにタイマ１が切り離されているために、メインルーチンの図６のステップＳ３で検出される次の割込みはタイマ２からの割込みである。この割込みがあがると、ステップＳ２１でタイマＩＤとプリービアス・タイマ・フラグとの値が一致していると判定され、ステップＳ２４で求められるＴｄｉｆｆの値がステップＳ２５で２Ｔ程度であると判定され、ステップＳ２６の処理の後にメインルーチンへのリターンが行われる。ただしここでは割込みをあげなかった側のタイマ、すなわちタイマ１はすでに切り離されているので、タイマ切り離しの処理は省略され、その他の処理が行われた後にメインルーチンへのリターンが行われる。【００４７】
以上説明したように、この第２の実施例ではシステム全体で統一的な時刻を示すシステム時計を活用することによって、２つのタイマのうちどちらが故障したかの判別が可能となり、１つのタイマが故障してもシステム動作を継続することが可能となる。ただし１つのタイマによる監視機能を用いてシステム動作を継続している場合には、例えば残ったタイマが故障して割込みをあげなくなってもそれを検出できず、故障検出機能が十分に働かないために、１つのタイマを用いての動作は、例えばシステムの停止が困難であるときの緊急避難的な処置である。基本的には片方のタイマの故障検出時に、例えばアラームを発生することによってシステムの管理者に注意を促し、システムを停止できるタイミングになったらシステムの動作を停止し、故障したタイマを含む基板の交換などの修理を行うことが必要である。【００４８】
また第２の実施例では、システム内の時刻を統一的に示すシステム時計を利用してタイマ故障の判別を行ったが、必ずしもシステム時計を使う必要はなく、同様のカウンタなどがシステムに搭載されていれば、それを使うことも当然可能である。さらにシステム時計の示す時刻を格納するメモリを、システム監視装置内でなく、図１１のプロセッサ４の内部に備えることも当然可能である。【００４９】
次に第３の実施例について説明する。この第３の実施例は、本発明のシステム監視方式を高信頼組込みマルチプロセッサシステムに適用したものである。図１４は、第３の実施例の構成ブロック図である。同図においては複数、ここでは４個のプロセッサ・エレメント（ＰＥ）４０から４３、および共有メモリ３５がマルチプロセッサシステムを構成しており、各プロセッサ・エレメント４０から４３に対して、図５の第１の実施例におけると同様に割込みコントローラ３が接続される構成となっている。【００５０】
この第３の実施例では、マルチプロセッサシステムとしての信頼性を向上させるために、４つのプロセッサ・エレメント（ＰＥ）４０から４３が、ある決められた時間毎に共有メモリ３５内の所定のデータ、すなわち生存情報を更新するものとする。各ＰＥはタイマからの割込みに対応して起動されるチェックルーチンによって、共有メモリ３５に書き込まれた各ＰＥの生存情報をチェックし、更新されていないものがあればＰＥは故障しているものと判断する。【００５１】
共有メモリ３５に書き込まれる生存情報は、タイマからの割込みがある毎に更新されるものであればどのようなデータでもよく、各ＰＥに内蔵されるローカルなタイマの値を使うことも可能である。第３の実施例でタイマを二重化していない場合には、タイマが故障してしまうと各ＰＥの内部でチェックルーチンが起動されず、ＰＥの故障を検出することができなくなる。【００５２】
この第３の実施例では複数個、ここでは４個のＰＥの中でマスタとなるＰＥを決めておき、マスタＰＥが故障したＰＥを切り離すことによって、システムの信頼性を確保するものとする。マスタＰＥの決め方はどのような方法を用いてもよく、例えば識別子（ＩＤ）が最も小さいＰＥがマスタとなるというルールを用いることもできる。マスタＰＥが故障する場合もあるため、例えばマスタＰＥの次にＩＤが小さいＰＥが次のマスタ候補になるという規則を決めておき、マスタＰＥが故障した場合には次のマスタ候補のＰＥがマスタＰＥを切り離し、以後マスタＰＥとして動作するものとする。【００５３】
第３の実施例におけるタイマ故障検出処理のメインルーチン、および割込み処理１のフローチャートは第１の実施例に対する図６、図７と同じであるものとする。ただしここでは図１４のＰＥ４０から４３のそれぞれが、図６のメインルーチン、図７の割込み処理１、および図１５で説明する割込み処理２を基本的に実行するものとし、前述のように、例えば故障ＰＥの切り離しやシステム全体の緊急停止指示などに必要な処理は、マスタＰＥだけが行うものとする。メインルーチン、割込み処理１、割込み処理２のすべてをマスタＰＥだけが実行することも可能であるが、マスタＰＥが故障した場合の処理の引継ぎなどが面倒になるため、ここではメインルーチンを含む処理の大部分が各ＰＥによって並列的に実行されるものとして、フローチャートを説明する。【００５４】
図１５は、第３の実施例における割込み処理２のフローチャートである。メインルーチン、すなわち図６のステップＳ３でタイマ１、またはタイマ２からの割込みがあがると、割込み処理２がスタートし、まずステップＳ３５で割込みをあげたタイマのＩＤがチェックされ、ステップＳ３６で自ＰＥの生存情報を含めて、すべてのＰＥの生存情報（各ＰＥ個別の共有メモリの値）がチェックされ、ステップＳ３７で故障と判定されたＰＥの数が“０”、“１”、またはそれ以上のいずれであるかが判定される。【００５５】
故障したＰＥの数が“０”である場合には当然マスタＰＥも正常であり、各ＰＥはステップＳ３８で自分がマスタＰＥであるか否かを判定し、マスタＰＥでない場合にはメインルーチンへのリターン動作を実行する。そしてマスタＰＥだけがステップＳ３９以降の処理を実行する。【００５６】
すなわちマスタＰＥによってステップＳ３９で、ステップＳ３５でチェックされたタイマＩＤとプリービアス・タイマ・フラグの値が一致するか否かが判定され、一致しない場合にはタイマの動作が正常であるため、ステップＳ４０でプリービアス・タイマ・フラグの値が反転されて、メインルーチンへのリターンが行われる。【００５７】
ステップＳ３９でタイマＩＤとプリービアス・タイマ・フラグの値が一致する場合には、ステップＳ４１からＳ４７で、第２の実施例に対する図１３のステップＳ２４からＳ３０までに類似した処理が行われる。すなわち第２の実施例でシステム時計の示す時刻を用いてＴｄｉｆｆが計算されたのに対して（もちろん本実施例でもシステム時計の値を用いても構わない）、第３の実施例ではステップＳ４１で共有メモリに格納された生存情報からＴｄｉｆｆの値が計算され、ステップＳ４２でその値が±１０％以内の誤差を含んで２Ｔ程度であるか否かが判定され、２Ｔ程度であれば、ステップＳ４３で割込みをあげなかった側のタイマが切り離され、割込みを上げたほうのタイマのタイムアウト時間がＴに再設定された後に、ステップＳ４０でプリービアス・タイマ・フラグの値が反転されて、メインルーチンへのリターンが行われる。【００５８】
Ｔｄｉｆｆの値が２Ｔ程度でない場合には、ステップＳ４４でその値がＴ程度であるか否かが判定され、Ｔ程度である場合にはすでに１つのタイマが切り離され、残りのタイマによって動作が継続されているものと判定されて、メインルーチンへのリターンが行われる。Ｔ程度でない場合には、ステップＳ４５で割込みをあげなかったほうのタイマが稼働中であるか否かが判定され、稼働中である場合にはステップＳ４６で割込みをあげた側のタイマが切り離されて、メインルーチンへのリターンが行われる。割込みをあげなかった方のタイマが稼働中でない場合には、２つのタイマがともに故障したことになるため、ステップＳ４７でシステムの緊急停止指示が行われる。【００５９】
ステップＳ３７で故障と判定されたＰＥの数が１個である場合には、ステップＳ５０で故障したＰＥがマスタＰＥであるか否かが判定され、マスタＰＥでない場合にはステップＳ５１で自分がマスタＰＥであるか否かが判定され、マスタＰＥでない場合にはメインルーチンへのリターンが行われる。【００６０】
ステップＳ５０でマスタＰＥが故障したと判定されると、ステップＳ５２で自分が次のマスタＰＥの候補であるか否かが判定され、その候補でない場合にはメインルーチンへのリターンが行われ、その候補である場合、およびステップＳ５１で自分がマスタＰＥであると判定された場合には、ステップＳ５３でマスタＰＥ（あるいは新しいマスタＰＥ）によって故障ＰＥが切り離され、ステップＳ４０でプリービアス・タイマ・フラグの値が反転されて、メインルーチンへのリターンが行われる。【００６１】
ここで故障と判定されたＰＥの数が１個の場合には、タイマＩＤとプリービアス・タイマ・フラグの値の比較などのタイマ故障検出のための処理は実行されないものとする。すなわち、例えば１ｍｓ程度の短い時間間隔でＰＥの故障判定を繰り返すものとすれば、その短い時間間隔の間にＰＥとタイマとが共に故障する確率は非常に小さいものと考えられるため、本実施例では故障と判定されたＰＥの数が１個だけの場合には、タイマの故障検出に必要な処理を行わないものとする。【００６２】
ステップＳ３７で故障と判定されたＰＥの数が２個以上の場合には、ステップＳ６０でタイマＩＤとプリービアス・タイマ・フラグの値とが比較され、一致している場合にはタイマが故障して所定の周期より短い時間で連続して割込みをあげ、各ＰＥの生存情報が更新されなかったものと判断する。そしてステップＳ６１で自分がマスタＰＥであるか否かが判定され、マスタＰＥでない場合にはメインルーチンへのリターンが行われる。マスタＰＥである場合には、ステップＳ６２で割込みをあげなかった方のタイマが稼働中であるか否かが判定され、稼働中でない場合には両方のタイマが故障したことになるのでステップＳ６３でシステムに対して緊急停止が指示される。稼働中である場合には、ステップＳ６４で割込みをあげたタイマが切り離され、割込みをあげなかった方のタイマのタイムアウト時間がＴに再設定され、ステップＳ４０でプリービアス・タイマ・フラグの値が反転された後に、メインルーチンへのリターンが行われる。【００６３】
ステップＳ６０でタイマＩＤとプリービアス・タイマ・フラグの値が一致しないと判定されると、本当に複数のＰＥが同時に故障したと判断し、以下のステップで緊急停止処理を行う。すなわちステップＳ６５で自分が故障していない正常のＰＥで、かつ正常ＰＥの中で最もＩＤが小さいＰＥかが判定され、この２つの条件を満たす場合にはステップＳ６３で緊急停止の指示が行われる。これは図１４で４個のＰＥのうち２個が故障した状態に対して緊急停止が指示されるものである。【００６４】
ステップＳ６５の条件が成立しない場合、例えば自分が故障ＰＥである場合には、ステップＳ６６ですべてのＰＥが故障し、かつ自分がマスタＰＥであるか否かが判定され、例えば自分がマスタＰＥでない場合にはメインルーチンへのリターンが行われる。すべてのＰＥが故障している場合にはリターン後の処理内容が明確ではないが、ここではステップＳ６６の条件が成立しない場合にはメインルーチンへのリターンが行われるものとする。ステップＳ６６の条件が成立する場合には、ステップＳ６３でシステムに対する緊急停止指示が行われる。ここでは単一のＰＥのみが緊急停止処理を指示したが、緊急時であるので全ＰＥが緊急停止処理を指示してもよい。【００６５】
このように第３の実施例では、タイマからの割込みに対応してマルチプロセッサシステムを構成する各プロセッサ・エレメントの故障検出を行うシステムにおいてタイマを二重化することによって、システムの信頼性を上げることが可能となる。
【図１】
2008072350.tif 000003
【図２】
2008072350.tif 000004
【図３】
2008072350.tif 000005
【図４】
2008072350.tif 000006
【図５】
2008072350.tif 000007
【図６】
2008072350.tif 000008
【図７】
2008072350.tif 000009
【図８】
2008072350.tif 000010
【図９】
2008072350.tif 000011
【図１０】
2008072350.tif 000012
【図１１】
2008072350.tif 000013
【図１２】
2008072350.tif 000014
【図１３】
2008072350.tif 000015
【図１４】
2008072350.tif 000016
【図１５】
2008072350.tif 000017
【手続補正書】
【提出日】平成21年1月21日(2009.1.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
タイマから割込み信号を出力し、監視対象システム内のプロセッサに予め定められた処理を実行させるシステム監視装置であって、
共通の時間間隔毎に、該時間間隔が互いに半分ずれた時点で割込み信号を出力する動作を、タイムアウト時間のリロード機能を用いて繰り返す２つのタイマを備え、
前記プロセッサが、該２つのタイマのうちのいずれかのタイマからの割込み信号の入力が繰り返される毎に、該２つのタイマの故障の有無を判定することを特徴とする二重化タイマを用いたシステム監視装置。
【請求項２】
前記システム監視装置が、前記２つのタイマのうちのいずれかのタイマからの割込み信号の入力に対応して、該割込み信号を出力したタイマの識別子を示すフラグを格納するフラグレジスタをさらに備え、
前記プロセッサが、タイマからの次の割込み信号の入力に対応して、該次の割込み信号を出力したタイマの識別子と該フラグレジスタの格納内容とを比較して、タイマ故障の有無を判定することを特徴とする請求項１記載の二重化タイマを用いたシステム監視装置。
【請求項３】
前記２つのタイマが、ともに前記タイムアウト時間を格納するリロード用レジスタを備えるとともに、
一方のタイマが、さらに右１ビットシフト回路を備え、
前記システムの起動時にプロセッサから送られる前記共通で同一の時間間隔の値のタイムアウト時間の設定を要求するコマンドに対応して、該一方のタイマ内のカウンタに、該右１ビットシフト回路を介して該時間間隔の半分の値がカウントアウト時間として設定されることを特徴とする請求項１記載の二重化タイマを用いたシステム監視装置。
【請求項４】
前記２つのタイマが、ともに前記タイムアウト時間を格納するリロード用レジスタを備えるとともに、
一方のタイマが、前記プロセッサからのバスと該一方のタイマ内のカウンタとの間の２つの経路のうちで、該リロード用レジスタを介する経路上で、該バスとリロード用レジスタとの間に左１ビットシフト回路を備え、
他方のタイマが前記プロセッサからのバスと該他方のタイマ内のカウンタとの間で、前記リロード用レジスタを介する経路と、介しない経路との２つの経路の接続点と前記バスの間に接続される左１ビットシフト回路をさらに備え、
前記システムの起動時にプロセッサから送られる、前記タイムアウト時間として前記時間間隔の半分の値を設定することを要求するコマンドに対応して、前記一方のタイマ内のカウンタに、前記リロード用レジスタを介しない経路によってカウントアウト時間の設定が行われることを特徴とする請求項１記載の二重化タイマを用いたシステム監視装置。
【請求項５】
前記システム監視装置が、前記２つのタイマのうちのいずれかのタイマからの割込み信号の入力に対応して、前記システム内に備えられているシステム時計の示す時刻が格納されるメモリをさらに備え、
前記プロセッサが、前記タイマ識別子の比較結果と、前記次の割込み信号の入力時のシステム時計の示す時刻と前記メモリに格納されている前回の割込み信号入力時刻との時間差とに基づいて、二重化されたタイマのうちの故障タイマの識別を行うことを特徴とする請求項２記載の二重化タイマを用いたシステム監視装置。
【請求項６】
タイマから割込み信号を出力し、監視対象システム内のプロセッサに予め定められた処理を実行させるシステム監視方法であって、
２つのタイマが、共通の時間間隔毎に、該時間間隔が互いに半分ずれた時点で割込み信号を出力する動作を、タイムアウト時間のリロード機能を用いて繰り返し、
前記プロセッサが、該２つのタイマのうちのいずれかのタイマからの割込み信号の入力が繰り返される毎に、該２つのタイマの故障の有無を判定することを特徴とする二重化タイマを用いたシステム監視方法。
【請求項７】
前記システムの起動時に前記プロセッサが、タイマに対するタイムアウト時間として、前記２つのタイマのうちの一方に前記共通で同一の時間間隔の半分の値を前記リロード機能を無効として設定し、他方のタイマに該同一の時間間隔の値をリロード機能を有効として設定し、
該一方のタイマが最初の割込み信号を出力した時点で、該一方のタイマのタイムアウト時間を前記同一の時間間隔の値に、前記リロード機能を有効として再設定することを特徴とする請求項６記載の二重化タイマを用いたシステム監視方法。
【請求項８】
前記２つのタイマのうちのいずれかのタイマからの割込み信号の入力に対応して、該割込み信号を出力したタイマの識別子を示すフラグをフラグレジスタに格納し、
前記プロセッサが、タイマからの次の割込み信号の入力に対応して、該次の割込み信号を出力したタイマの識別子と該フラグレジスタの格納内容とを比較して、タイマ故障の有無を判定することを特徴とする請求項６記載の二重化タイマを用いたシステム監視方法。
【請求項９】
前記２つのタイマのうちのいずれかのタイマからの割込み信号の入力に対応して、前記システム内に備えられているシステム時計の示す時刻をメモリに格納し、
前記プロセッサが、前記タイマ識別子の比較結果と、前記次の割込み信号の入力時のシステム時計の示す時刻と前記メモリに格納されている前回の割込み信号入力時刻との時間差とに基づいて、二重化されたタイマのうちの故障タイマの識別を行うことを特徴とする請求項８記載の二重化タイマを用いたシステム監視方法。
【請求項１０】
タイマから割込み信号を出力し、監視対象マルチプロセッサシステム内の各プロセッサに予め定められた処理を実行させるシステム監視装置であって、
共通で同一の時間間隔毎に、かつ該時間間隔の半分だけ互いにずれた時点で割込み信号を出力する動作を、タイムアウト時間のリロード機能を用いて繰り返す２つのタイマを備え、
該マルチプロセッサシステム内の少なくとも１台のプロセッサが、該２つのタイマのうちのいずれかのタイマからの割込み信号の入力が繰り返される毎に、該２つのタイマの故障の有無を判定することを特徴とする二重化タイマを用いたシステム監視装置。
【国際調査報告】
2008072350.tif 000018
2008072350.tif 000019
2008072350.tif 000020
2008072350.tif 000021