JP4983806B2 - System monitoring apparatus and monitoring method using dual timer - Google Patents
System monitoring apparatus and monitoring method using dual timer Download PDFInfo
- Publication number
- JP4983806B2 JP4983806B2 JP2008549181A JP2008549181A JP4983806B2 JP 4983806 B2 JP4983806 B2 JP 4983806B2 JP 2008549181 A JP2008549181 A JP 2008549181A JP 2008549181 A JP2008549181 A JP 2008549181A JP 4983806 B2 JP4983806 B2 JP 4983806B2
- Authority
- JP
- Japan
- Prior art keywords
- timer
- time
- interrupt signal
- timers
- processor
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 48
- 238000012544 monitoring process Methods 0.000 title claims description 29
- 230000009977 dual effect Effects 0.000 title claims 2
- 230000008569 process Effects 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 22
- 238000012806 monitoring device Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000004083 survival effect Effects 0.000 description 7
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Description
本発明はシステムの監視方式に係り、タイマからの割込みに対応して定期的に定められた処理を実施しているシステムにおいて、タイマの故障を適切に検出し、システム停止などの必要な処理を行うことを可能とするシステム監視装置、および監視方法に関する。 The present invention relates to a system monitoring method, and in a system that regularly performs processing corresponding to an interrupt from a timer, it appropriately detects a timer failure and performs necessary processing such as system shutdown. The present invention relates to a system monitoring apparatus and a monitoring method that can be performed.
システムに定期的に何かの動作をさせたい場合、タイマを使って定期的にシステムを制御するプロセッサのCPUに割込みをかける、といった方法が一般的に用いられている。またシステムの信頼性を上げるために、多少コストがかかっても、信頼性向上のための制御などを2重化、3重化することもよくとられる手法である。CPUに割込みをかけるタイマについても同様で、タイマの信頼性を上げるためにタイマを2重化している従来例として次のような文献がある。 When it is desired to cause the system to periodically perform some operation, a method of interrupting a CPU of a processor that periodically controls the system using a timer is generally used. Further, in order to increase the reliability of the system, even if it costs a little, it is a technique that is often used to double or triple the control for improving the reliability. The same applies to the timer that interrupts the CPU, and there is the following document as a conventional example in which the timer is duplicated in order to increase the reliability of the timer.
特許文献1では、図1に示すような構成で、2つのタイマに異なるタイムアウト時間を設定する。図2に示すように、タイマT1にはタイムアウト時間としてAという値を、タイマT2にはタイムアウト時間としてBという値を設定する。ここでA<Bとする。ここでタイマは0からカウントアップして、設定したタイムアウト時間になると割込みをあげる構成になっているものとしている。タイマをセットしてA時間経過後、タイマT1がタイムアウトしてCPUに割込みがかかる。割込みがかかるとCPUはタイマT2のタイマ値をリードする。リードしたタイマ値をA‘とすると、タイマ2が正常であれば、A<A’の関係が成り立っているはずである。従って
・タイマT1より先にタイマT2がタイムアウトする、
・タイマT1のタイムアウト後、タイマT2のタイマ値がA<A’の関係を満たしていない、
ことを検出すると、タイマが故障したと判断することができる。In
-After timer T1 times out, the timer value of timer T2 does not satisfy the relationship of A <A '.
If this is detected, it can be determined that the timer has failed.
特許文献1では、タイマT1がタイムアップして両方のタイマが正常に動作していると判断した場合は、次回はタイマT2にタイムアウト時間Aを、タイマT1にタイムアウト時間Bを設定して、両者のタイマの機能を、1回ごとに入れ換えている。そこで、1回のタイマからの割込みに対応して本来実行されるべき作業に必要な処理をCPUに行わせるのに、タイマの設定を2回ずつ行う必要が有り、処理が煩雑であった。
In
別の従来技術としての特許文献2における構成を図3に、タイムチャートを図4に示す。この文献では、2つのタイマT1、タイマT2に、タイマT1の方が先にタイムアウトするように、タイムアウト時間をセットする。まずタイマT1がタイムアウトするが、MPUは割込みを受けて、作業フラグをONにするとともに、タイマT1をタイマT2がタイムアウトしてからタイムアウトするように、タイムアウト時間を再セットする。次にタイマT2がタイムアウトして割込みが発生すると、MPUは作業フラグがONであるかどうか確認し、ONであれば作業フラグをOFFにする。この時作業フラグがもともとOFFであればタイマT1が故障したと判断する。次に正常であれば再びタイマT1がタイムアウトして割込みが発生する。MPUは作業フラグがOFFであるか確認し、ONになっているとタイマT2が故障したと判断する。OFFの場合はもとに戻って、タイマT1、タイマT2をタイマT1が先にタイムアウトするようにタイムアウト時間をセットする。特許文献2でも、1回のタイマからの割込みに対応して実行されるべき作業に必要な処理をMPUに行わせるのに、タイマの設定を例えば3回行う必要が有り、処理が煩雑であった。
FIG. 3 shows a configuration in
このように特許文献1、特許文献2の従来技術では、タイマからの割込みに対応して実行されるべき作業に必要な処理をプロセッサに行わせるためにタイマの設定を複数回ずつ行う必要があり、処理が煩雑になるという問題点があった。
As described above, in the conventional techniques of
またどちらの特許文献においても、二重化されたタイマのいずれに故障が発生したかを判別することができず、タイマの故障発生時には基本的にはシステムをシャットダウンするしか方法はないという問題点があった。特許文献2においては、故障タイマの判別が可能と記述されているが、この判別はタイマが故障して割込みをあげなくなったような場合に対応しており、例えばタイマが設定された時間よりも早く割込みをあげるようになったような場合には必ずしも故障タイマの判別ができるとは限らないという問題点があった。
本発明の目的は、上述の問題点に鑑み、タイマに対するタイムアウト時間設定のオーバヘッドを削減することと、二重化されたタイマのうちで故障したタイマの判別を可能とすることである。 In view of the above-described problems, an object of the present invention is to reduce the time-out time setting overhead for a timer and to determine a faulty timer among duplicated timers.
本発明のシステム監視装置は、タイマから割込み信号を出力し、監視対象システム内のプロセッサに予め定められた処理を実行させるものであり、共通の時間間隔(2T)毎に、その時間間隔が互いに半分(T)ずれた時点で割込み信号を出力する動作を、タイムアウト時間のリロード機能を用いて繰り返す2つのタイマを少なくとも備えるものであって、プロセッサが2つのタイマのいずれかからの割込み信号の入力が繰り返される毎に、2つのタイマの故障の有無を判定する。 The system monitoring apparatus of the present invention outputs an interrupt signal from a timer and causes a processor in the monitoring target system to execute a predetermined process, and the time intervals are mutually equal for each common time interval (2T). At least two timers that repeat an operation of outputting an interrupt signal at a time point shifted by half (T) using a timeout time reload function, and the processor inputs an interrupt signal from one of the two timers. Each time is repeated, it is determined whether or not two timers have failed.
また本発明のシステム監視装置は、いずれかのタイマからの割込み信号の入力に対応して、その割込み信号を出力したタイマの識別子を示すフラグを格納するフラグレジスタをさらに備え、プロセッサがタイマからの次の割込み信号の入力に対応して、その割込み信号を出力したタイマの識別子とフラグレジスタの格納内容とを比較して、タイマ故障の有無を判定する。 The system monitoring apparatus of the present invention further includes a flag register that stores a flag indicating an identifier of the timer that has output the interrupt signal in response to the input of the interrupt signal from any one of the timers. Corresponding to the input of the next interrupt signal, the identifier of the timer that output the interrupt signal is compared with the stored contents of the flag register to determine the presence or absence of a timer failure.
さらに本発明のシステム監視装置は、2つのタイマからの割込み信号の入力に対応して、システム内に備えられているシステム時計が示す時刻を格納するためのメモリをさらに備え、プロセッサが前述のタイマ識別子の比較の結果と、次の割込み信号の入力時のシステム時計の示す時刻とメモリに格納されている前回の割込み信号入力時刻との時間差とに基づいて、二重化されたタイマのうちの故障タイマの識別を行う。 Furthermore, the system monitoring apparatus of the present invention further includes a memory for storing a time indicated by a system clock provided in the system in response to the input of interrupt signals from the two timers, and the processor includes the timer described above. Based on the result of the comparison of the identifiers and the time difference between the time indicated by the system clock when the next interrupt signal is input and the previous interrupt signal input time stored in the memory, the fault timer among the duplicated timers Identify.
このように本発明においては、基本的にタイマに対するタイムアウト時間の設定がタイマのリロード機能を用いて行われ、タイマに対するタイムアウト時間の設定のためのオーバヘッドを削減することができる。 In this way, in the present invention, the timeout time setting for the timer is basically performed using the reload function of the timer, and the overhead for setting the timeout time for the timer can be reduced.
また割込み信号を出力したタイマの識別子とフラグレジスタの格納内容との比較によって、例えば割込み信号を出力しなくなったタイマを識別することや、割込み信号の入力時点と前回の割込み信号の入力時点との比較によって、例えば設定されたタイムアウト時間としての2Tと大きく異なる時間間隔で割込みをあげた故障タイマを識別することが可能となる。 In addition, by comparing the identifier of the timer that output the interrupt signal and the stored contents of the flag register, for example, the timer that no longer outputs the interrupt signal can be identified, or the time when the interrupt signal is input and the time when the previous interrupt signal is input By comparison, for example, it becomes possible to identify a failure timer that raised an interrupt at a time interval greatly different from 2T as a set timeout time.
本発明によれば、タイマに対するタイムアウト時間のリロード機能を利用して、タイマに対するタイムアウト時間設定のオーバヘッドを従来技術に比較して大きく削減することが可能となる。またフラグレジスタの格納内容やシステム時計の示す時刻を利用して、二重化されたタイマのうちの故障タイマの識別を行うことが可能となり、一方のタイマが故障しても、故障していないタイマを利用してシステム動作を継続することも可能となり、二重化タイマを用いたシステム監視装置の実用性向上に寄与するところが大きい。 According to the present invention, it is possible to significantly reduce the time-out time setting overhead for the timer as compared with the prior art by using the time-out time reload function for the timer. It is also possible to identify the failure timer among the duplicated timers using the contents stored in the flag register and the time indicated by the system clock. It is also possible to continue system operation using this, which greatly contributes to improving the practicality of a system monitoring device using a duplex timer.
図5は、本発明の第1の実施例の構成ブロック図である。同図において第1の実施例は2つのタイマ1、2、割込みコントローラ3、プロセッサ4を備え、プロセッサ4と2つのタイマ1、2との間はバス5によって接続され、タイマ1、2からはそれぞれ割込み通知信号が割込みコントローラ3に与えられ、割込みコントローラ3からはプロセッサ4に対して割込み制御信号が与えられる構成となっている。プロセッサ4は、タイマ1、2からの割込みに対応してタイマの故障の有無を判定するとともに、割込み処理として予め定められた作業を実行するために必要な処理を実行するCPU6を備えると共に、図示しないメモリとしてのROMやRAM、入出力部などを備えることは当然である。
FIG. 5 is a block diagram showing the configuration of the first embodiment of the present invention. In the figure, the first embodiment includes two
図5において本発明の二重化タイマを用いたシステム監視装置は、タイマ1、2、および割込みコントローラ3によって構成されると考えることもでき、また図5の構成要素をすべて備えたプロセッサシステムとして1つのチップ上に形成されると考えることもできる。
In FIG. 5, the system monitoring apparatus using the duplex timer of the present invention can be considered to be composed of
なお割込みコントローラ3は、タイマ1とタイマ2とから同時に割込み(通知)信号が出力されたとき、あるいは片方のタイマから割込み信号が出力され、それに対応した割込み処理が実行されている間に他方のタイマから割込み信号が出力された場合の調停動作などを行い、その調停動作の結果として、割込み信号を出力したタイマの識別子などを示す割込み制御信号をプロセッサ4の内部のCPU6に出力するものであり、本発明のタイマ故障検出方式とは直接には関係のないものである。
The interrupt
図6から図8は、第1の実施例におけるタイマ故障検出処理のフローチャートである。まず図6のメインルーチンにおいて処理が開始されると、ステップS1でタイマ1のタイムアウト時間がT、タイマ2のタイムアウト時間が2Tに設定される。この時、タイマ1はリロード機能がない状態に、タイマ2はリロード機能がある状態に設定される。リロード機能とはタイマがタイムアウトしたときに、例えばリロード用レジスタに予め設定されたタイムアウト時間を自動的にタイマに再設定し、タイマとしての機能を継続する機能であり、ステップS1でタイムアウト時間が2Tに設定されたタイマ2は時間2T毎にタイムアウトし、定期的に割込み信号を割込みコントローラ3に与えることになる。
6 to 8 are flowcharts of the timer failure detection process in the first embodiment. First, when processing is started in the main routine of FIG. 6, the timeout time of
続いてステップS2でタイマ1からの割込み待ち状態となるが、ここでタイマ1から割込み信号が出力されたとき、すなわち割込みが上がった場合には、CPU6によって割込み処理1が実行されるように、プロセッサ4の内部で図示しないメモリに保持されている割込みテーブルの内容が設定される。
Subsequently, in step S2, an interrupt waiting state from the
図6のメインルーチンのスタート時点から時間Tが経過すると、タイマ1がタイムアウトし、割込みをあげることによって、サブルーチンとしての図7の割込み処理1が開始される。この割込み処理1では、まずステップS6でタイマ1のタイムアウト時間がメインルーチンスタート時点のTではなく2Tに設定され、タイマ1に対してもリロード機能ありの設定が行われる。さらに次の割込みの時点で、前回どちらのタイマから割込みがあがっていたかを識別するためのフラグとしての、プリービアス・タイマ・フラグを格納するフラグレジスタが、例えばタイマ1、タイマ2と割込みコントローラ3とによって構成されるシステム監視装置内に用意され、この時点で割り込みをあげたタイマ1の識別子としての“0”がそのフラグとして、プロセッサ4内のCPU6によって、バス5を介してフラグレジスタにセットされる。
When the time T elapses from the start point of the main routine of FIG. 6, the
続いてステップS7で前述の割込みテーブルの内容が、割込みに対応して割込み処理2を実行するように変更され、タイマ割込みに対して本来実行すべき予め定められた作業を行うための処理が起動され、メインルーチンへのリターンが行われる。以上の処理によって、タイマ1とタイマ2は共通で同一の時間間隔2T毎に、かつその時間間隔の半分、すなわち時間Tだけ互いにずれた時点で、割込み信号を割込みコントローラ3に出力することになる。
Subsequently, in step S7, the contents of the above-described interrupt table are changed to execute the interrupt
続いて図6のステップS3でタイマ1、またはタイマ2からの割込み待ちの状態となる。2つのタイマが正常に動作している場合には、タイマ2がさらに時間Tの後にタイムアウトし、割込みをあげることによって、割込み処理2が実行される。
Subsequently, in step S3 of FIG. 6, the
図8は、サブルーチンとしての割込み処理2のフローチャートである。割込み処理2がスタートすると、まずステップS10で割込みをあげたタイマの識別子(タイマID)がチェックされ、ステップS11でそのタイマIDとプリービアス・タイマ・フラグの値が一致するか否かが判定される。
FIG. 8 is a flowchart of interrupt
タイマの動作が正常であれば、ここではタイマIDの値はタイマ2のIDとしての“1”であり、プリービアス・タイマ・フラグの値は“0”であるために、これらの値は一致せず、ステップS12でプリービアス・タイマ・フラグの値が反転、すなわち“1”とされ、最後にタイマ割込みに対応して本来実行すべき作業に必要な処理が起動されて、メインルーチンへのリターンが行われる。
If the operation of the timer is normal, the value of the timer ID is “1” as the ID of
タイマが正常動作を続けている間は、さらに時間Tの後にタイマ1がタイムアウトし、同様の割込み処理2が繰り返されることになる。タイマの故障として、例えばタイマ1が故障して割込みをあげなくなった場合には、タイマ2から連続して割込みがあがるようになる。あるいはタイマ1が設定された時間より短い時間でタイムアウトを起こしてしまうようになった場合には短くなった度合いにもよるが、ある程度時間が経過するとタイマ1から連続して割込みがあがるようになる。
While the timer continues to operate normally, after a time T, the
このようにタイマの故障によって、どちらかのタイマから連続して割込みがあがるようになると、図8のステップS11でタイマIDとプリービアス・タイマ・フラグとの値が一致すると判定され、ステップS13でシステムの停止が指示される。 As described above, when an interrupt is continuously generated from one of the timers due to the failure of the timer, it is determined in step S11 in FIG. 8 that the values of the timer ID and the previous timer flag match, and in step S13, the system is determined. Is stopped.
タイマ1とタイマ2の2つのタイマのうちでどちらのタイマが故障したのかを判別できれば、故障したタイマを切り離し、故障していないタイマを用いてシステム動作を継続することもできるが、前述のように故障の仕方によって、故障した方のタイマから連続して割込みがあがる場合と、故障していないタイマから連続して割込みがあがる場合との両方のケースが存在するために、この第1の実施例では故障タイマの識別を行うことができず、どちらかのタイマが故障した時点でシステム停止が行われる。
If it is possible to determine which of the two timers,
この第1の実施例では、機能的には従来例と同等のシステム監視機能を実現することができる。従来例では1回のタイマ割込み処理に対応して、タイマに対して少なくとも2回のタイムアウト時間の設定を毎回行うことが必要であったが、第1の実施例ではタイマのリロード機能を利用することによって、タイムアウト時間設定の回数を大幅に削減することができ、システム監視装置におけるタイムアウト時間設定のオーバヘッドを格段に少なくすることが可能となる。 In the first embodiment, a system monitoring function that is functionally equivalent to that of the conventional example can be realized. In the conventional example, it is necessary to set at least two timeout periods for the timer every time in response to one timer interrupt process. However, in the first embodiment, the timer reload function is used. As a result, the number of times of setting the timeout time can be greatly reduced, and the overhead of setting the timeout time in the system monitoring apparatus can be remarkably reduced.
図5の実施例ではリロード機能を持つ一般的なタイマを2個使うために、タイマ1に対して最初にタイムアウト時間としてTを設定し、次に2Tを設定する処理が必要となる。処理をさらに簡略化するために図9、または図10の高信頼タイマを使用することによって、例えばシステムの起動時にCPU6から2つのタイマ1、タイマ2に1つのコマンドを与えるだけで2つのタイマに対するタイムアウト時間の設定を1回で行うことが可能となる。
In the embodiment of FIG. 5, in order to use two general timers having a reload function, it is necessary to first set T as a timeout time for
図9は、高信頼タイマの第1の構成例のブロック図である。同図において高信頼タイマ10は2つのタイマ11と12とによって構成され、図5のCPU6からはバス5を介して同一のコマンドが2つのタイマに対して与えられる。割込み信号がタイマ11とタイマ12とからそれぞれ割込みコントローラ3に与えられる点は図5と同じである。
FIG. 9 is a block diagram of a first configuration example of the high reliability timer. In the figure, the high-
2つのタイマ11、12のうちで、タイマ12はリロード機能を持つ一般的なタイマと同一の構成を持っている。すなわちタイマ12に対してCPU6からタイムアウト時間として2Tを設定するためのコマンドが与えられると、その値2Tがリロード用レジスタ15に格納されると共に、例えばセレクタを介してカウンタ16に対して設定される。カウンタ16がダウンカウンタであるとすると、カウントダウンしてカウント時間が2Tに達し、カウント値が“0”となった時点で、0検出回路17から割込み信号が割込みコントローラ3に対して出力されることになる。そしてこの0検出の時点で、0検出回路17からカウンタ16の図示しないセット端子に対してセット信号が与えられ、リロード用レジスタ15の格納内容がカウンタ16にセットされ、カウントダウンの動作が続行される。
Of the two
これに対してタイマ11は、本発明に特有の構成として、さらに右1ビットシフト回路18を備えている。このタイマ11においては、バス5を介してCPU6から時間2Tを設定するコマンドが与えられると、右1ビットシフト回路18によってその値を2で割る演算が実行され、実行結果の時間Tの値が、例えばセレクタを介してカウンタ16に設定され、カウンタ16のカウント時間がTに達し、カウント値が“0”となると、0検出回路17から割込み信号が割込みコントローラ3に与えられる。またコマンドの入力時点でリロード用レジスタ15には時間2Tの値が格納される。そして0検出回路17からカウンタ16に対してセット信号が与えられた時点で、セレクタを介してリロード用レジスタ15に格納されている時間2Tの値がカウンタ16に設定され、カウンタ16のカウントダウンの動作が行われることになる。
On the other hand, the
図10は、高信頼タイマの第2の例の構成ブロック図である。同図において高信頼タイマ20は2つのタイマ21と22によって構成されている。これらの2つのタイマはいずれも従来から使用されている一般的なものではなく、それぞれ左1ビットシフト回路25を備え、本発明に特有の構成を持っている。
FIG. 10 is a configuration block diagram of a second example of the high reliability timer. In the figure, the high-
図10の高信頼タイマ20に対しては、図5のCPU6から時間Tをタイムアウト時間として設定することを指示するコマンドが与えられる。タイマ21側ではその時間Tの値がカウンタ16に設定されると共に、2を乗算する演算を行う左1ビットシフト回路25によって2倍された値2Tがリロード用レジスタ15に格納される。そしてカウンタ16のカウント値が“0”になった時点で、前述と同様にリロード用レジスタ15の内容がカウンタ16にセットされることになる。
A command instructing to set the time T as a timeout time is given to the high-
タイマ22側では、CPU6からのコマンドの入力時点で左1ビットシフト回路25によって2Tの値が得られ、その値がそのままカウンタ16に設定され、同時にリロード用レジスタ15にも2Tの値が格納される。カウンタ16がカウントダウンし、0検出回路17によってカウント値としての“0”が検出されると、リロード用レジスタ15に格納されている内容がカウンタ16にセットされ、カウントダウンの動作が続行される。
On the
以上に説明した第1の実施例では、2つのタイマのうち故障したタイマの識別を行うことができないため、タイマの故障が検出された時点でシステムの動作が停止される。これに対して、2つのタイマのうちで故障したタイマの識別を可能とし、一方のタイマが故障しても、他方のタイマの機能を利用してシステムの動作を続行することが可能な実施例を第2の実施例として説明する。なお、第1の実施例においてフラグレジスタはシステム監視装置内に備えられるものとしたが、図5のプロセッサ4内にフラグレジスタを備えることも当然可能である。
In the first embodiment described above, the failed timer of the two timers cannot be identified, so that the system operation is stopped when a timer failure is detected. On the other hand, an embodiment in which the failure of one of the two timers can be identified, and even if one of the timers fails, the operation of the system can be continued using the function of the other timer. Will be described as a second embodiment. Although the flag register is provided in the system monitoring apparatus in the first embodiment, it is naturally possible to provide the flag register in the
図11は、第2の実施例の構成ブロック図である。同図を第1の実施例を示す図5と比較すると、システム全体としての統一的な時刻を示すシステム時計30がバス5にさらに接続されている点が異なっている。そしてこの第2の実施例では、プロセッサ4の内部のCPU6が、実施例1におけるタイマIDとプリービアス・タイマ・フラグの値との比較に加えて、割込み制御信号が割込みコントローラ3から与えられた時刻と、例えばシステム監視装置内で図示しないメモリに格納されている前回の割込み制御信号の入力時刻(Tprev)の値を比較することによって、2つのタイマのうちでどちらのタイマが故障したかを判別する処理を行うことになる。
FIG. 11 is a block diagram of the configuration of the second embodiment. 5 is different from FIG. 5 showing the first embodiment in that a
第2の実施例におけるタイマ故障検出処理のメインルーチンのフローチャートは第1の実施例に対する図6と同じであり、その説明を省略する。
図12は、第2の実施例における割込み処理1のフローチャートである。同図の処理は、第1の実施例における図6のステップS2と同様に、タイマ1からの割込みがあがった時点で開始される処理であり、まずステップS16で図7のステップS6と同様にタイマ1のタイムアウト時間が2Tに設定され、またリロード機能ありの状態が設定され、プリービアス・タイマ・フラグの値がタイマ1の識別子を示す“0”に設定された後に、ステップS17で図7のステップS7における処理に加えて、システム時計の示す現在時刻の値Tnowがリードされ、その値がTprevの値を格納する、図示しないメモリに格納されて、メインルーチンへのリターンが行われる。The flowchart of the main routine of the timer failure detection process in the second embodiment is the same as that in FIG. 6 for the first embodiment, and a description thereof will be omitted.
FIG. 12 is a flowchart of interrupt
図13は、第2の実施例における割込み処理2のフローチャートである。メインルーチンとしての図6のステップS3でタイマ1、またはタイマ2からの割込みがあがると、ステップS20で割込みをあげたタイマの識別子(タイマID)がチェックされ、また図11のシステム時計30の指示する時刻の値(Tnow)がリードされ、ステップS21でタイマIDとプリービアス・タイマ・フラグの値が一致するか否かが判定される。
FIG. 13 is a flowchart of interrupt
両者の値が一致しない場合にはタイマの動作は正常なものであると判定され、ステップS22でプリービアス・タイマ・フラグの値が反転され、ステップS23でTprevの値を格納するメモリにTnowの値が代入され、タイマ割込みに対して実行すべき本来の作業に必要な処理が起動されて、メインルーチンへのリターンが行われる。2つのタイマが正常に動作している間は、割込み処理2としてステップS20からステップS23までの処理が繰り返される。
If the two values do not match, it is determined that the operation of the timer is normal, the value of the previous timer flag is inverted in step S22, and the value of Tnow is stored in the memory storing the value of Tprev in step S23. Is substituted, a process necessary for the original work to be executed in response to the timer interrupt is started, and a return to the main routine is performed. While the two timers are operating normally, the processing from step S20 to step S23 is repeated as interrupt
タイマ1、タイマ2のいずれかに故障が発生すると、前述のように同一のタイマから連続して割込みがあがることになる。同一のタイマから割込みがあがった場合には、ステップS21でタイマIDの値とプリービアス・タイマ・フラグの値が一致すると判定され、ステップS24で現在の時刻TnowとTprevの値を格納するメモリの値との差がTdiffとして計算され、ステップS25でその値が2つのタイマの定常的な割込み周期2T程度に一致するか否かが判定される。実際にはある程度の誤差があると考えられるので、例えば±10%程度の範囲であればTdiffと2Tとが一致したものと判定され、ステップS26で割込みを上げなかった側のタイマが故障したものとしてそのタイマが切り離され、割込みをあげた方のタイマのタイムアウト時間がTに再設定され、リロード機能ありの状態とされる。そしてTprevを格納するメモリにTnowの値が代入され、タイマ割込みに対する本来の作業に必要な処理が起動されて、メインルーチンへのリターンが行われる。
When a failure occurs in either the
ステップS21でタイマIDの値とプリービアス・タイマ・フラグの値が一致したと判定された以後のステップS25の判定において、Tdiffの値が2Tに一致しないと判定されると、ステップS27でTdiffの値がT程度であるか否かが±10%の誤差の範囲で判定され、両者が一致していると判定されると、以前にステップS26でタイムアウト時間がTに再設定された、切り離されていない方のタイマが正常に動作しているものとして、ステップS23でTprevを格納するメモリにTnowの値が代入され、タイマ割込みに対応する本来の作業に必要な処理が起動されて、メインルーチンへのリターンが行われる。 If it is determined in step S25 that the value of the timer ID does not match 2T in the determination in step S25 after it is determined in step S21 that the value of the timer ID matches the value of the previous timer flag, the value of Tdiff in step S27. Is determined within a range of error of ± 10%, and if it is determined that they match, the time-out time has been reset to T in step S26 before. Assuming that the other timer is operating normally, the value of Tnow is assigned to the memory storing Tprev in step S23, and the processing necessary for the original work corresponding to the timer interrupt is started, and the process returns to the main routine. Return is made.
タイマが設定タイムアウト時間よりも短い時間で割込みをあげるような壊れ方をすると、Tdiffが、例えば2Tにも、またTにも一致しない値となる。例えばメインルーチンの図6のステップS2でタイマ1からの割込みがあがり、図12の割込み処理1が終了してメインルーチンのステップS3で、タイマ2からの割込みがあがる前にタイマ1からの割込みがあがったとすると、図10のステップS21でタイマIDとプリービアス・タイマ・フラグの値が一致すると判定されるが、Tdiffの値が2Tにも、またTにも一致しないものとすると、ステップS28の処理に移行し、割込みをあげなかった方のタイマ、ここではタイマ2が稼働中であるか否かが判定され、稼働中である場合には、ステップS29で割込みをあげた側のタイマ、すなわちタイマ1が切り離されて、メインルーチンへのリターンが行われる。この時、割込みをあげなかった方のタイマ2が稼働中でない場合には、ステップS30で両方のタイマが故障したものと判定され、システム停止の指示が行われる。
If the timer breaks in such a way that an interrupt is raised in a time shorter than the set timeout time, Tdiff becomes a value that does not match 2T or T, for example. For example, an interrupt from the
ステップS29でタイマ1が切り離され、タイマ2が稼働中である状態で再びメインルーチンの図6のステップS3でタイマ2からの割込みがあがると、ステップS21においてタイマIDはタイマ2の識別子であり、プリービアス・タイマ・フラグの値はタイマ1の識別子のままとなっているために、両者は一致しないと判定され、ステップS22でプリービアス・タイマ・フラグの値が反転され、ステップS23でTprevを格納するメモリにTnowが格納され、タイマ割込みに対する本来の作業に必要な処理が起動され、メインルーチンへのリターンが行われる。
When the
すでにタイマ1が切り離されているために、メインルーチンの図6のステップS3で検出される次の割込みはタイマ2からの割込みである。この割込みがあがると、ステップS21でタイマIDとプリービアス・タイマ・フラグとの値が一致していると判定され、ステップS24で求められるTdiffの値がステップS25で2T程度であると判定され、ステップS26の処理の後にメインルーチンへのリターンが行われる。ただしここでは割込みをあげなかった側のタイマ、すなわちタイマ1はすでに切り離されているので、タイマ切り離しの処理は省略され、その他の処理が行われた後にメインルーチンへのリターンが行われる。
Since
以上説明したように、この第2の実施例ではシステム全体で統一的な時刻を示すシステム時計を活用することによって、2つのタイマのうちどちらが故障したかの判別が可能となり、1つのタイマが故障してもシステム動作を継続することが可能となる。ただし1つのタイマによる監視機能を用いてシステム動作を継続している場合には、例えば残ったタイマが故障して割込みをあげなくなってもそれを検出できず、故障検出機能が十分に働かないために、1つのタイマを用いての動作は、例えばシステムの停止が困難であるときの緊急避難的な処置である。基本的には片方のタイマの故障検出時に、例えばアラームを発生することによってシステムの管理者に注意を促し、システムを停止できるタイミングになったらシステムの動作を停止し、故障したタイマを含む基板の交換などの修理を行うことが必要である。 As described above, in the second embodiment, it is possible to determine which of the two timers has failed by utilizing a system clock that indicates a uniform time in the entire system, and one timer fails. Even then, the system operation can be continued. However, if system operation is continued using a monitoring function with one timer, for example, even if the remaining timer fails and no interrupt is raised, it cannot be detected and the failure detection function does not work sufficiently. The operation using one timer is an emergency evacuation procedure when it is difficult to stop the system, for example. Basically, when a failure of one timer is detected, for example, an alarm is generated to alert the system administrator, and when it is time to stop the system, the operation of the system is stopped. It is necessary to perform repairs such as replacement.
また第2の実施例では、システム内の時刻を統一的に示すシステム時計を利用してタイマ故障の判別を行ったが、必ずしもシステム時計を使う必要はなく、同様のカウンタなどがシステムに搭載されていれば、それを使うことも当然可能である。さらにシステム時計の示す時刻を格納するメモリを、システム監視装置内でなく、図11のプロセッサ4の内部に備えることも当然可能である。
In the second embodiment, a timer failure is determined using a system clock that uniformly indicates the time in the system. However, it is not always necessary to use the system clock, and a similar counter is mounted on the system. Of course, it is possible to use it. Furthermore, it is naturally possible to provide a memory for storing the time indicated by the system clock in the
次に第3の実施例について説明する。この第3の実施例は、本発明のシステム監視方式を高信頼組込みマルチプロセッサシステムに適用したものである。図14は、第3の実施例の構成ブロック図である。同図においては複数、ここでは4個のプロセッサ・エレメント(PE)40から43、および共有メモリ35がマルチプロセッサシステムを構成しており、各プロセッサ・エレメント40から43に対して、図5の第1の実施例におけると同様に割込みコントローラ3が接続される構成となっている。Next, a third embodiment will be described. In the third embodiment, the system monitoring system of the present invention is applied to a highly reliable embedded multiprocessor system. FIG. 14 is a configuration block diagram of the third embodiment. In the figure a plurality, here four processor elements (PE) 4 0 4 3, and the shared
この第3の実施例では、マルチプロセッサシステムとしての信頼性を向上させるために、4つのプロセッサ・エレメント(PE)40から43が、ある決められた時間毎に共有メモリ35内の所定のデータ、すなわち生存情報を更新するものとする。各PEはタイマからの割込みに対応して起動されるチェックルーチンによって、共有メモリ35に書き込まれた各PEの生存情報をチェックし、更新されていないものがあればPEは故障しているものと判断する。In the third embodiment, in order to improve the reliability of the multi-processor system, four processor elements (PE) 4 0 4 3, there determined time each predetermined in the shared
共有メモリ35に書き込まれる生存情報は、タイマからの割込みがある毎に更新されるものであればどのようなデータでもよく、各PEに内蔵されるローカルなタイマの値を使うことも可能である。第3の実施例でタイマを二重化していない場合には、タイマが故障してしまうと各PEの内部でチェックルーチンが起動されず、PEの故障を検出することができなくなる。
The survival information written in the shared
この第3の実施例では複数個、ここでは4個のPEの中でマスタとなるPEを決めておき、マスタPEが故障したPEを切り離すことによって、システムの信頼性を確保するものとする。マスタPEの決め方はどのような方法を用いてもよく、例えば識別子(ID)が最も小さいPEがマスタとなるというルールを用いることもできる。マスタPEが故障する場合もあるため、例えばマスタPEの次にIDが小さいPEが次のマスタ候補になるという規則を決めておき、マスタPEが故障した場合には次のマスタ候補のPEがマスタPEを切り離し、以後マスタPEとして動作するものとする。 In the third embodiment, the master PE is determined among a plurality of PEs, here four PEs, and the master PE is separated from the faulty PE, thereby ensuring the reliability of the system. Any method may be used for determining the master PE. For example, a rule that the PE with the smallest identifier (ID) becomes the master may be used. Since the master PE may fail, for example, a rule that the PE with the next smallest ID after the master PE becomes the next master candidate is determined. If the master PE fails, the next master candidate PE becomes the master candidate. It is assumed that the PE is disconnected and thereafter operates as a master PE.
第3の実施例におけるタイマ故障検出処理のメインルーチン、および割込み処理1のフローチャートは第1の実施例に対する図6、図7と同じであるものとする。ただしここでは図14のPE40から43のそれぞれが、図6のメインルーチン、図7の割込み処理1、および図15で説明する割込み処理2を基本的に実行するものとし、前述のように、例えば故障PEの切り離しやシステム全体の緊急停止指示などに必要な処理は、マスタPEだけが行うものとする。メインルーチン、割込み処理1、割込み処理2のすべてをマスタPEだけが実行することも可能であるが、マスタPEが故障した場合の処理の引継ぎなどが面倒になるため、ここではメインルーチンを含む処理の大部分が各PEによって並列的に実行されるものとして、フローチャートを説明する。The main routine of the timer failure detection process in the third embodiment and the flowchart of the interrupt
図15は、第3の実施例における割込み処理2のフローチャートである。メインルーチン、すなわち図6のステップS3でタイマ1、またはタイマ2からの割込みがあがると、割込み処理2がスタートし、まずステップS35で割込みをあげたタイマのIDがチェックされ、ステップS36で自PEの生存情報を含めて、すべてのPEの生存情報(各PE個別の共有メモリの値)がチェックされ、ステップS37で故障と判定されたPEの数が“0”、“1”、またはそれ以上のいずれであるかが判定される。
FIG. 15 is a flowchart of interrupt
故障したPEの数が“0”である場合には当然マスタPEも正常であり、各PEはステップS38で自分がマスタPEであるか否かを判定し、マスタPEでない場合にはメインルーチンへのリターン動作を実行する。そしてマスタPEだけがステップS39以降の処理を実行する。 If the number of failed PEs is “0”, the master PE is also normal, and each PE determines whether or not it is a master PE in step S38. Execute the return operation. Only the master PE executes the processing from step S39.
すなわちマスタPEによってステップS39で、ステップS35でチェックされたタイマIDとプリービアス・タイマ・フラグの値が一致するか否かが判定され、一致しない場合にはタイマの動作が正常であるため、ステップS40でプリービアス・タイマ・フラグの値が反転されて、メインルーチンへのリターンが行われる。 That is, in step S39, the master PE determines whether or not the timer ID checked in step S35 matches the value of the previous timer flag. If not, the timer operates normally. As a result, the value of the previous timer flag is inverted and the process returns to the main routine.
ステップS39でタイマIDとプリービアス・タイマ・フラグの値が一致する場合には、ステップS41からS47で、第2の実施例に対する図13のステップS24からS30までに類似した処理が行われる。すなわち第2の実施例でシステム時計の示す時刻を用いてTdiffが計算されたのに対して(もちろん本実施例でもシステム時計の値を用いても構わない)、第3の実施例ではステップS41で共有メモリに格納された生存情報からTdiffの値が計算され、ステップS42でその値が±10%以内の誤差を含んで2T程度であるか否かが判定され、2T程度であれば、ステップS43で割込みをあげなかった側のタイマが切り離され、割込みを上げたほうのタイマのタイムアウト時間がTに再設定された後に、ステップS40でプリービアス・タイマ・フラグの値が反転されて、メインルーチンへのリターンが行われる。 If the timer ID and the value of the previous timer flag match in step S39, processing similar to that in steps S24 to S30 in FIG. 13 for the second embodiment is performed in steps S41 to S47. That is, Tdiff is calculated using the time indicated by the system clock in the second embodiment (of course, the system clock value may be used in this embodiment as well), but in the third embodiment, step S41 is performed. In step S42, the value of Tdiff is calculated from the survival information stored in the shared memory. In step S42, it is determined whether the value is about 2T including an error within ± 10%. In S43, the timer that did not raise the interrupt is disconnected, and the timeout time of the timer that raised the interrupt is reset to T. Then, in step S40, the value of the previous timer flag is inverted, and the main routine Return to is made.
Tdiffの値が2T程度でない場合には、ステップS44でその値がT程度であるか否かが判定され、T程度である場合にはすでに1つのタイマが切り離され、残りのタイマによって動作が継続されているものと判定されて、メインルーチンへのリターンが行われる。T程度でない場合には、ステップS45で割込みをあげなかったほうのタイマが稼働中であるか否かが判定され、稼働中である場合にはステップS46で割込みをあげた側のタイマが切り離されて、メインルーチンへのリターンが行われる。割込みをあげなかった方のタイマが稼働中でない場合には、2つのタイマがともに故障したことになるため、ステップS47でシステムの緊急停止指示が行われる。 If the value of Tdiff is not about 2T, it is determined in step S44 whether or not the value is about T. If it is about T, one timer is already disconnected, and the operation continues with the remaining timers. It is determined that it has been performed, and a return to the main routine is performed. If it is not about T, it is determined in step S45 whether or not the timer that did not raise an interrupt is in operation, and if it is in operation, the timer that raised the interrupt in step S46 is disconnected. Return to the main routine. If the timer that did not raise the interrupt is not in operation, both timers have failed, and an emergency stop instruction for the system is issued in step S47.
ステップS37で故障と判定されたPEの数が1個である場合には、ステップS50で故障したPEがマスタPEであるか否かが判定され、マスタPEでない場合にはステップS51で自分がマスタPEであるか否かが判定され、マスタPEでない場合にはメインルーチンへのリターンが行われる。 If the number of PEs determined to be faulty in step S37 is one, it is determined in step S50 whether the faulty PE is the master PE. It is determined whether or not it is a PE, and if it is not a master PE, a return to the main routine is performed.
ステップS50でマスタPEが故障したと判定されると、ステップS52で自分が次のマスタPEの候補であるか否かが判定され、その候補でない場合にはメインルーチンへのリターンが行われ、その候補である場合、およびステップS51で自分がマスタPEであると判定された場合には、ステップS53でマスタPE(あるいは新しいマスタPE)によって故障PEが切り離され、ステップS40でプリービアス・タイマ・フラグの値が反転されて、メインルーチンへのリターンが行われる。 If it is determined in step S50 that the master PE has failed, it is determined in step S52 whether or not it is a candidate for the next master PE, and if it is not the candidate, a return to the main routine is performed. If it is a candidate and if it is determined in step S51 that it is a master PE, the faulty PE is separated by the master PE (or a new master PE) in step S53, and the previous timer flag is set in step S40. The value is inverted and a return to the main routine is made.
ここで故障と判定されたPEの数が1個の場合には、タイマIDとプリービアス・タイマ・フラグの値の比較などのタイマ故障検出のための処理は実行されないものとする。すなわち、例えば1ms程度の短い時間間隔でPEの故障判定を繰り返すものとすれば、その短い時間間隔の間にPEとタイマとが共に故障する確率は非常に小さいものと考えられるため、本実施例では故障と判定されたPEの数が1個だけの場合には、タイマの故障検出に必要な処理を行わないものとする。 Here, when the number of PEs determined to be faulty is one, processing for timer fault detection such as comparison of the timer ID and the value of the previous timer flag is not executed. That is, for example, if the PE failure determination is repeated at a short time interval of about 1 ms, it is considered that the probability that both the PE and the timer will fail during the short time interval is very small. In the case where the number of PEs determined to be faulty is only one, processing necessary for timer fault detection is not performed.
ステップS37で故障と判定されたPEの数が2個以上の場合には、ステップS60でタイマIDとプリービアス・タイマ・フラグの値とが比較され、一致している場合にはタイマが故障して所定の周期より短い時間で連続して割込みをあげ、各PEの生存情報が更新されなかったものと判断する。そしてステップS61で自分がマスタPEであるか否かが判定され、マスタPEでない場合にはメインルーチンへのリターンが行われる。マスタPEである場合には、ステップS62で割込みをあげなかった方のタイマが稼働中であるか否かが判定され、稼働中でない場合には両方のタイマが故障したことになるのでステップS63でシステムに対して緊急停止が指示される。稼働中である場合には、ステップS64で割込みをあげたタイマが切り離され、割込みをあげなかった方のタイマのタイムアウト時間がTに再設定され、ステップS40でプリービアス・タイマ・フラグの値が反転された後に、メインルーチンへのリターンが行われる。 If the number of PEs determined to be faulty in step S37 is 2 or more, the timer ID is compared with the value of the previous timer flag in step S60. If they match, the timer has failed. Interrupts are continuously raised in a time shorter than a predetermined cycle, and it is determined that the survival information of each PE has not been updated. In step S61, it is determined whether or not it is the master PE. If it is not the master PE, a return to the main routine is performed. If it is the master PE, it is determined in step S62 whether or not the timer that did not raise an interrupt is operating. If not, both timers have failed, so in step S63. An emergency stop is instructed to the system. If it is in operation, the timer that raised the interrupt in step S64 is disconnected, the timeout time of the timer that did not raise the interrupt is reset to T, and the value of the previous timer flag is inverted in step S40 After that, a return to the main routine is performed.
ステップS60でタイマIDとプリービアス・タイマ・フラグの値が一致しないと判定されると、本当に複数のPEが同時に故障したと判断し、以下のステップで緊急停止処理を行う。すなわちステップS65で自分が故障していない正常のPEで、かつ正常PEの中で最もIDが小さいPEかが判定され、この2つの条件を満たす場合にはステップS63で緊急停止の指示が行われる。これは図14で4個のPEのうち2個が故障した状態に対して緊急停止が指示されるものである。 If it is determined in step S60 that the values of the timer ID and the previous timer flag do not match, it is determined that a plurality of PEs have failed at the same time, and emergency stop processing is performed in the following steps. That is, in step S65, it is determined whether the PE is a normal PE that has not failed and the PE having the smallest ID among the normal PEs. If these two conditions are satisfied, an emergency stop instruction is issued in step S63. . In FIG. 14, an emergency stop is instructed when two of the four PEs fail.
ステップS65の条件が成立しない場合、例えば自分が故障PEである場合には、ステップS66ですべてのPEが故障し、かつ自分がマスタPEであるか否かが判定され、例えば自分がマスタPEでない場合にはメインルーチンへのリターンが行われる。すべてのPEが故障している場合にはリターン後の処理内容が明確ではないが、ここではステップS66の条件が成立しない場合にはメインルーチンへのリターンが行われるものとする。ステップS66の条件が成立する場合には、ステップS63でシステムに対する緊急停止指示が行われる。ここでは単一のPEのみが緊急停止処理を指示したが、緊急時であるので全PEが緊急停止処理を指示してもよい。 If the condition of step S65 is not satisfied, for example, if it is a faulty PE, it is determined in step S66 whether all the PEs are faulty and whether it is a master PE. In that case, a return to the main routine is performed. When all the PEs are faulty, the processing content after the return is not clear, but here, if the condition of step S66 is not satisfied, a return to the main routine is performed. If the condition in step S66 is satisfied, an emergency stop instruction is issued to the system in step S63. Here, only a single PE has instructed the emergency stop process, but since it is an emergency, all PEs may instruct the emergency stop process.
このように第3の実施例では、タイマからの割込みに対応してマルチプロセッサシステムを構成する各プロセッサ・エレメントの故障検出を行うシステムにおいてタイマを二重化することによって、システムの信頼性を上げることが可能となる。 As described above, in the third embodiment, the reliability of the system can be improved by duplicating the timer in the system that detects the failure of each processor element constituting the multiprocessor system in response to the interrupt from the timer. It becomes possible.
Claims (9)
共通の時間間隔毎に、該時間間隔が互いに半分ずれた時点で割込み信号を出力する動作を、タイムアウト時間のリロード機能を用いて繰り返す2つのタイマを備え、
前記プロセッサが、該2つのタイマのうちのいずれかのタイマからの割込み信号の入力が繰り返される毎に、該2つのタイマの故障の有無を判定し、
前記2つのタイマが、ともに前記タイムアウト時間を格納するリロード用レジスタを備えるとともに、
一方のタイマが、さらに右1ビットシフト回路を備え、
前記システムの起動時にプロセッサから送られる前記共通で同一の時間間隔の値のタイムアウト時間の設定を要求するコマンドに対応して、該一方のタイマ内のカウンタに、該右1ビットシフト回路を介して該時間間隔の半分の値がカウントアウト時間として設定されることを特徴とする二重化タイマを用いたシステム監視装置。A system monitoring device that outputs an interrupt signal from a timer and causes a processor in the monitored system to execute a predetermined process,
For each common time interval, two timers that repeat the operation of outputting an interrupt signal when the time intervals deviate from each other by using a timeout time reload function are provided,
Each time the processor repeats input of an interrupt signal from one of the two timers, the processor determines whether the two timers are faulty ,
The two timers each have a reload register for storing the timeout time,
One timer further includes a right 1-bit shift circuit,
In response to a command sent from the processor at the time of starting the system to request the setting of a timeout time of the same and same time interval value, the counter in the one timer is connected to the counter via the right 1-bit shift circuit. A system monitoring apparatus using a duplex timer , wherein half the time interval is set as a count-out time .
前記プロセッサが、タイマからの次の割込み信号の入力に対応して、該次の割込み信号を出力したタイマの識別子と該フラグレジスタの格納内容とを比較して、タイマ故障の有無を判定することを特徴とする請求項1記載の二重化タイマを用いたシステム監視装置。The system monitoring device further includes a flag register that stores a flag indicating an identifier of the timer that has output the interrupt signal in response to an interrupt signal input from one of the two timers,
In response to the next interrupt signal input from the timer, the processor compares the identifier of the timer that has output the next interrupt signal with the stored contents of the flag register to determine the presence or absence of a timer failure. The system monitoring apparatus using the duplex timer according to claim 1.
前記プロセッサが、前記タイマ識別子の比較結果と、前記次の割込み信号の入力時のシステム時計の示す時刻と前記メモリに格納されている前回の割込み信号入力時刻との時間差とに基づいて、二重化されたタイマのうちの故障タイマの識別を行うことを特徴とする請求項2記載の二重化タイマを用いたシステム監視装置。 The system monitoring device further includes a memory for storing a time indicated by a system clock provided in the system in response to an interrupt signal input from one of the two timers,
The processor is duplicated based on the comparison result of the timer identifier and the time difference between the time indicated by the system clock when the next interrupt signal is input and the previous interrupt signal input time stored in the memory. 3. A system monitoring apparatus using a duplex timer according to claim 2, wherein a failure timer is identified among the timers .
共通の時間間隔毎に、該時間間隔が互いに半分ずれた時点で割込み信号を出力する動作を、タイムアウト時間のリロード機能を用いて繰り返す2つのタイマを備え、
前記プロセッサが、該2つのタイマのうちのいずれかのタイマからの割込み信号の入力が繰り返される毎に、該2つのタイマの故障の有無を判定し、
前記2つのタイマが、ともに前記タイムアウト時間を格納するリロード用レジスタを備えるとともに、
一方のタイマが、前記プロセッサからのバスと該一方のタイマ内のカウンタとの間の2つの経路のうちで、該リロード用レジスタを介する経路上で、該バスとリロード用レジスタとの間に左1ビットシフト回路を備え、
他方のタイマが前記プロセッサからのバスと該他方のタイマ内のカウンタとの間で、前記リロード用レジスタを介する経路と、介しない経路との2つの経路の接続点と前記バスの間に接続される左1ビットシフト回路をさらに備え、
前記システムの起動時にプロセッサから送られる、前記タイムアウト時間として前記時間間隔の半分の値を設定することを要求するコマンドに対応して、前記一方のタイマ内のカウンタに、前記リロード用レジスタを介しない経路によってカウントアウト時間の設定が行われることを特徴とする二重化タイマを用いたシステム監視装置。 A system monitoring device that outputs an interrupt signal from a timer and causes a processor in the monitored system to execute a predetermined process,
For each common time interval, two timers that repeat the operation of outputting an interrupt signal when the time intervals deviate from each other by using a timeout time reload function are provided,
Each time the processor repeats input of an interrupt signal from one of the two timers, the processor determines whether the two timers are faulty,
The two timers each have a reload register for storing the timeout time,
One of the two paths between the bus from the processor and the counter in the one timer, on the path through the reload register, is left between the bus and the reload register. A 1-bit shift circuit,
The other timer is connected between the bus and the connection point of the two routes, the route through the reload register and the route through the reload register, between the bus from the processor and the counter in the other timer. A left 1-bit shift circuit,
In response to a command sent from the processor at the time of starting the system and requesting setting of a half value of the time interval as the timeout time, the counter in the one timer is not passed through the reload register. system monitoring apparatus using a double reduction timer you characterized in that the setting of the counting-out time is performed by the path.
2つのタイマが、ともに前記タイムアウト時間を格納するリロード用レジスタを備えるとともに、一方のタイマが、さらに右1ビットシフト回路を備え、
前記システムの起動時にプロセッサから送られる共通で同一の時間間隔の値のタイムアウト時間の設定を要求するコマンドに対応して、該一方のタイマ内のカウンタに、該右1ビットシフト回路を介して該時間間隔の半分の値をカウントアウト時間として設定し、
前記2つのタイマが、前記共通の時間間隔毎に、該時間間隔が互いに半分ずれた時点で割込み信号を出力する動作を、タイムアウト時間のリロード機能を用いて繰り返し、
前記プロセッサが、該2つのタイマのうちのいずれかのタイマからの割込み信号の入力が繰り返される毎に、該2つのタイマの故障の有無を判定することを特徴とする二重化タイマを用いたシステム監視方法。A system monitoring method for outputting an interrupt signal from a timer and causing a processor in a monitored system to execute a predetermined process,
Two timers each include a reload register for storing the timeout time, and one timer further includes a right 1-bit shift circuit,
In response to a command that is sent from the processor at the time of starting the system and requests the setting of the timeout time of the same time interval value, the counter in the one timer is connected to the counter via the right 1-bit shift circuit. Set half the time interval as the countout time,
The two timer, for each of the common time interval, the operation to output the interrupt signal when said time interval is shifted half together repeated with reload function timeout period,
System monitoring using a duplex timer, wherein the processor determines the presence or absence of a failure of the two timers each time an interrupt signal from one of the two timers is repeatedly input Method.
該一方のタイマが最初の割込み信号を出力した時点で、該一方のタイマのタイムアウト時間を前記同一の時間間隔の値に、前記リロード機能を有効として再設定することを特徴とする請求項5記載の二重化タイマを用いたシステム監視方法。When the system is started up, the processor sets, as a timeout time for the timer , half of the same time interval common to the one timer to disable the reload function, and sets the same time interval to the other timer. Set the value of to enable the reload function,
When the said one of the timer outputs a first interrupt signal, the time-out period of one timer said the value of the same time interval, according to claim 5, characterized in that resetting the reload function as an effective System monitoring method using a dual timer.
前記プロセッサが、タイマからの次の割込み信号の入力に対応して、該次の割込み信号を出力したタイマの識別子と該フラグレジスタの格納内容とを比較して、タイマ故障の有無を判定することを特徴とする請求項5記載の二重化タイマを用いたシステム監視方法。In response to the input of the interrupt signal from one of the two timers, a flag indicating the identifier of the timer that output the interrupt signal is stored in the flag register,
In response to the next interrupt signal input from the timer, the processor compares the identifier of the timer that has output the next interrupt signal with the stored contents of the flag register to determine the presence or absence of a timer failure. The system monitoring method using a duplex timer according to claim 5 .
前記プロセッサが、前記タイマ識別子の比較結果と、前記次の割込み信号の入力時のシステム時計の示す時刻と前記メモリに格納されている前回の割込み信号入力時刻との時間差とに基づいて、二重化されたタイマのうちの故障タイマの識別を行うことを特徴とする請求項7記載の二重化タイマを用いたシステム監視方法。In response to the input of an interrupt signal from one of the two timers, the time indicated by the system clock provided in the system is stored in the memory,
The processor is duplicated based on the comparison result of the timer identifier and the time difference between the time indicated by the system clock when the next interrupt signal is input and the previous interrupt signal input time stored in the memory. 8. The system monitoring method using a duplex timer according to claim 7, wherein a failure timer is identified among the timers.
共通で同一の時間間隔毎に、かつ該時間間隔の半分だけ互いにずれた時点で割込み信号を出力する動作を、タイムアウト時間のリロード機能を用いて繰り返す2つのタイマを備え、
該マルチプロセッサシステム内の少なくとも1台のプロセッサが、該2つのタイマのうちのいずれかのタイマからの割込み信号の入力が繰り返される毎に、該2つのタイマの故障の有無を判定し、
前記2つのタイマが、ともに前記タイムアウト時間を格納するリロード用レジスタを備えるとともに、
一方のタイマが、さらに右1ビットシフト回路を備え、
前記マルチプロセッサシステムの起動時に前記少なくとも1台のプロセッサから送られる前記共通で同一の時間間隔の値のタイムアウト時間の設定を要求するコマンドに対応して、該一方のタイマ内のカウンタに、該右1ビットシフト回路を介して該時間間隔の半分の値がカウントアウト時間として設定されることを特徴とする二重化タイマを用いたシステム監視装置。A system monitoring device that outputs an interrupt signal from a timer and causes each processor in the monitoring target multiprocessor system to execute a predetermined process,
Two timers that repeat the operation of outputting an interrupt signal at the same common time interval and at a time shifted from each other by half of the time interval by using a reload function of a timeout time,
Each time at least one processor in the multiprocessor system repeats input of an interrupt signal from one of the two timers, it determines whether or not the two timers have failed ,
The two timers each have a reload register for storing the timeout time,
One timer further includes a right 1-bit shift circuit,
In response to a command sent from the at least one processor when the multiprocessor system is started to request the setting of a timeout time of the same and same time interval value, the counter in the one timer has the right A system monitoring apparatus using a duplex timer, wherein a half value of the time interval is set as a count-out time via a 1-bit shift circuit .
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2006/325085 WO2008072350A1 (en) | 2006-12-15 | 2006-12-15 | System-monitoring device using dualized timer, and monitoring method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008072350A1 JPWO2008072350A1 (en) | 2010-03-25 |
JP4983806B2 true JP4983806B2 (en) | 2012-07-25 |
Family
ID=39511382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008549181A Expired - Fee Related JP4983806B2 (en) | 2006-12-15 | 2006-12-15 | System monitoring apparatus and monitoring method using dual timer |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4983806B2 (en) |
WO (1) | WO2008072350A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020003806A1 (en) * | 2018-06-27 | 2020-01-02 | 日立オートモティブシステムズ株式会社 | Battery management device and integrated circuit |
US11550649B2 (en) * | 2021-03-17 | 2023-01-10 | Qualcomm Incorporated | System-on-chip timer failure detection and recovery using independent redundant timers |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6059447A (en) * | 1983-09-09 | 1985-04-05 | Nippon Signal Co Ltd:The | Microcomputer system |
JPH01209516A (en) * | 1988-02-17 | 1989-08-23 | Hitachi Ltd | System for monitoring timer working |
JPH02304636A (en) * | 1989-05-19 | 1990-12-18 | Mitsubishi Electric Corp | Watch dog timer circuit |
JPH04182842A (en) * | 1990-11-19 | 1992-06-30 | Fujitsu Ltd | Timer monitor system |
JPH04205243A (en) * | 1990-11-30 | 1992-07-27 | Nec Corp | Timer control method |
JPH0566812A (en) * | 1991-09-05 | 1993-03-19 | Yaskawa Electric Corp | Dual watch dog timer for programmable controller |
JPH1166031A (en) * | 1997-08-11 | 1999-03-09 | Mitsubishi Electric Corp | Integrated timer for microcomputer |
JPH1165986A (en) * | 1997-08-27 | 1999-03-09 | Nec Corp | System and method for detecting fault of timer and recording medium recording program for executing the same |
JP3616367B2 (en) * | 2001-10-24 | 2005-02-02 | 三菱電機株式会社 | Electronic control device |
-
2006
- 2006-12-15 WO PCT/JP2006/325085 patent/WO2008072350A1/en active Application Filing
- 2006-12-15 JP JP2008549181A patent/JP4983806B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPWO2008072350A1 (en) | 2010-03-25 |
WO2008072350A1 (en) | 2008-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100375044C (en) | Information processing apparatus and control method therefor | |
JP2005302024A (en) | Method and system of arbitration, and program storage device (method and system of arbitration for redundant controller by output interlock mechanism and automatic switching function) | |
US9575911B2 (en) | Interrupt controller and a method of controlling processing of interrupt requests by a plurality of processing units | |
US4839895A (en) | Early failure detection system for multiprocessor system | |
JPH08320835A (en) | Fault detecting method for external bus | |
JP4983806B2 (en) | System monitoring apparatus and monitoring method using dual timer | |
JP6049961B1 (en) | CPU monitoring device | |
JP5332257B2 (en) | Server system, server management method, and program thereof | |
JP4655718B2 (en) | Computer system and control method thereof | |
EP3428799B1 (en) | Data access device and access error notification method | |
JP2005092695A (en) | Duplication controller, and method for determining equalization mode thereof | |
JPH0895614A (en) | Controller | |
JP4507875B2 (en) | Multiplexer and legacy device multiplexing method | |
JP4066950B2 (en) | Computer system and maintenance method thereof | |
JP2006277690A (en) | Cluster system, cluster switching method, and cluster switching control program | |
JP4613019B2 (en) | Computer system | |
JP2704137B2 (en) | Current / spare switching method | |
JPS6116340A (en) | Emergency operation device of processor system | |
JP4387863B2 (en) | Disturbance occurrence detection program and disturbance occurrence detection method | |
JP5906807B2 (en) | Arithmetic processing device and stall monitoring method | |
JP2007026038A (en) | Path monitoring system, path monitoring method and path monitoring program | |
JPH01310422A (en) | Resetting circuit for microcomputer | |
JPH1165986A (en) | System and method for detecting fault of timer and recording medium recording program for executing the same | |
JPS63100563A (en) | Faulty processor detecting system | |
JPS62245456A (en) | Time monitor and control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120111 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120327 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120409 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150511 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |