JP2020140592A - Information processing system - Google Patents

Information processing system Download PDF

Info

Publication number
JP2020140592A
JP2020140592A JP2019037140A JP2019037140A JP2020140592A JP 2020140592 A JP2020140592 A JP 2020140592A JP 2019037140 A JP2019037140 A JP 2019037140A JP 2019037140 A JP2019037140 A JP 2019037140A JP 2020140592 A JP2020140592 A JP 2020140592A
Authority
JP
Japan
Prior art keywords
arithmetic processing
monitored
processing unit
program counter
value
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.)
Pending
Application number
JP2019037140A
Other languages
Japanese (ja)
Inventor
大造 冨永
Daizo Tominaga
大造 冨永
政彦 水村
Masahiko Mizumura
政彦 水村
孝久 古賀
Takahisa Koga
孝久 古賀
正喜 矢島
Masaki Yajima
正喜 矢島
和幸 平田
Kazuyuki Hirata
和幸 平田
健太 小泉
Kenta Koizumi
健太 小泉
淳貴 水上
Junki Mizukami
淳貴 水上
歩賛名 木村
Hosana KIMURA
歩賛名 木村
和也 吉成
Kazuya Yoshinari
和也 吉成
龍平 小林
Ryuhei Kobayashi
龍平 小林
裕介 森田
Yusuke Morita
裕介 森田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2019037140A priority Critical patent/JP2020140592A/en
Publication of JP2020140592A publication Critical patent/JP2020140592A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

To enable highly accurate detection of occurrence of an abnormal state in which an arithmetic processing unit to be monitored falls into an infinite loop, as compared with a case where a program counter value is simply monitored.SOLUTION: A control unit 31 receives, via an input unit 34, a confirmation signal transmitted from another CPU to be monitored. The control unit 31 reads, when a preset confirmation signal cannot be received from a CPU to be monitored for a preset period or longer, via the input unit 34, the program counter value from the CPU to be monitored. Then, the control unit 31 executes, when the read program counter value is periodically repeating a same change pattern, processing for returning the CPU to be monitored to a normal state.SELECTED DRAWING: Figure 2

Description

本発明は、情報処理システムに関する。 The present invention relates to an information processing system.

特許文献1には、以前に実行したプログラムアドレスと現プログラム実行アドレスとの一致を検出し、その一致間隔が等間隔か否かを検出し、等間隔のプログラム実行アドレス一致が検出された場合に、その一致の繰り返し数をカウントし、カウント値が所定値以上になると無限ループに入った暴走状態であると検出するようにした暴走検出方法が開示されている。 In Patent Document 1, when a match between a previously executed program address and a current program execution address is detected, whether or not the matching interval is equal is detected, and when an equal interval program execution address match is detected, , A runaway detection method is disclosed in which the number of repetitions of the match is counted, and when the count value exceeds a predetermined value, it is detected as a runaway state in an infinite loop.

特許文献2には、デュアルプロセッサシステムにおいて、2つのプロセッサ間に設けられた共通メモリを用いて、いずれからのプロセッサに障害が発生した場合でもある程度自律的に復旧してシステム機能の回復が図れるようにした障害管理方式が開示されている。 Patent Document 2 states that in a dual processor system, a common memory provided between two processors can be used to autonomously recover to some extent even if a failure occurs in any of the processors so that the system function can be recovered. The trouble management method described above is disclosed.

特開平10−161908号公報Japanese Unexamined Patent Publication No. 10-161908 特開平10−269097号公報Japanese Unexamined Patent Publication No. 10-269097

本発明の目的は、監視対象の演算処理装置が無限ループに陥った異常状態の発生を、単にプログラムカウンタの値を監視するだけの場合と比較して、高い精度で検出することが可能な情報処理システムを提供することである。 An object of the present invention is information capable of detecting the occurrence of an abnormal state in which the arithmetic processing unit to be monitored falls into an infinite loop with higher accuracy than in the case of simply monitoring the value of the program counter. It is to provide a processing system.

請求項1に係る本発明は、複数の演算処理装置を有し、
前記複数の演算処理装置のうちの少なくとも1つは、
監視対象の演算処理装置から送信される確認信号を受信する受信手段と、
監視対象の演算処理装置におけるプログラムカウンタの値を読み出す読出手段と、
予め設定されている確認信号を監視対象の演算処理装置から予め設定された期間以上受信することができない場合、前記読出手段により監視対象の演算処理装置からプログラムカウンタの値を読み出し、当該プログラムカウンタの値が同一の変化パターンを周期的に繰り返している場合、監視対象の演算処理装置を正常な状態に復帰させるための処理を実行する実行手段とを備えた情報処理システムである。
The present invention according to claim 1 has a plurality of arithmetic processing units.
At least one of the plurality of arithmetic processing units
A receiving means for receiving a confirmation signal transmitted from the arithmetic processing unit to be monitored, and
A reading means for reading the value of the program counter in the arithmetic processing unit to be monitored, and
When the preset confirmation signal cannot be received from the arithmetic processing unit to be monitored for more than a preset period, the reading means reads the value of the program counter from the arithmetic processing unit to be monitored, and the program counter of the program counter is read. It is an information processing system provided with an execution means for executing a process for returning a monitored arithmetic processing unit to a normal state when a change pattern having the same value is periodically repeated.

請求項2に係る本発明は、前記実行手段が、監視対象の演算処理装置から読み出したプログラムカウンタの値が同一の変化パターンを繰り返す周期が、予め設定された期間よりも短い場合に、監視対象の演算処理装置を正常な状態に復帰させるための処理を実行する請求項1記載の情報処理システムである。 The present invention according to claim 2 is to be monitored when the cycle in which the execution means repeats a change pattern in which the value of the program counter read from the arithmetic processing unit to be monitored has the same change pattern is shorter than a preset period. The information processing system according to claim 1, wherein the processing for returning the arithmetic processing unit to the normal state is executed.

請求項3に係る本発明は、前記実行手段が、監視対象の演算処理装置から読み出したプログラムカウンタの値が同一の変化パターンを繰り返している際の変動幅が予め設定された値よりも狭い場合に、監視対象の演算処理装置を正常な状態に復帰させるための処理を実行する請求項1記載の情報処理システムである。 The present invention according to claim 3 is the case where the fluctuation range when the value of the program counter read from the arithmetic processing unit to be monitored repeats the same change pattern is narrower than the preset value. The information processing system according to claim 1, wherein a process for returning the arithmetic processing unit to be monitored to a normal state is executed.

請求項4に係る本発明は、前記実行手段が、監視対象の演算処理装置から読み出したプログラムカウンタの値が同一の変化パターンを繰り返している際の繰り返し回数が予め設定された値以上となった場合に、監視対象の演算処理装置を正常な状態に復帰させるための処理を実行する請求項1記載の情報処理システムである。 In the present invention according to claim 4, the number of repetitions when the value of the program counter read from the arithmetic processing unit to be monitored repeats the same change pattern by the execution means is equal to or more than a preset value. The information processing system according to claim 1, wherein the processing for returning the monitored arithmetic processing unit to a normal state is executed.

請求項5に係る本発明は、前記実行手段が、監視対象の演算処理装置をリセットすることにより正常な状態に復帰させる請求項1から4のいずれか記載の情報処理システムである。 The present invention according to claim 5 is the information processing system according to any one of claims 1 to 4, wherein the executing means returns to a normal state by resetting the arithmetic processing unit to be monitored.

請求項6に係る本発明は、前記実行手段が、監視対象の演算処理装置のプログラムカウンタの値を、復帰するための処理を実行する命令が格納された番地に書き換えることにより正常な状態に復帰させる請求項1から4のいずれか記載の情報処理システムである。 According to the sixth aspect of the present invention, the executing means returns to a normal state by rewriting the value of the program counter of the arithmetic processing unit to be monitored to the address in which the instruction for executing the processing for returning is stored. The information processing system according to any one of claims 1 to 4.

請求項7に係る本発明は、前記実行手段により復帰処理が実行される前に、プログラムカウンタの値が同一の変化パターンを周期的に繰り返していると判定された演算処理装置から、動作状態を記録した履歴情報を取得する取得手段をさらに備えた請求項1から6のいずれか記載の情報処理システムである。 According to the seventh aspect of the present invention, before the return processing is executed by the execution means, the operating state is determined from the arithmetic processing unit determined to periodically repeat the same change pattern of the program counter value. The information processing system according to any one of claims 1 to 6, further comprising an acquisition means for acquiring the recorded history information.

請求項8に係る本発明は、前記複数の演算処理装置が、それぞれ、次に実行する命令が格納された領域を示す情報をプログラムカウンタの値として記憶しつつ、予め格納された複数の命令を順次実行する演算処理装置である請求項1から7のいずれか記載の情報処理システムである。 According to the eighth aspect of the present invention, each of the plurality of arithmetic processing units stores information indicating an area in which an instruction to be executed next is stored as a value of a program counter, and a plurality of instructions stored in advance. The information processing system according to any one of claims 1 to 7, which is an arithmetic processing unit that is sequentially executed.

請求項9に係る本発明は、前記複数の演算処理装置は2つの演算処理装置であり、当該2つの演算処理装置は、それぞれ、一方の演算処理装置が他方の演算処理装置を監視対象とする相互監視を行うことにより、いずれか一方の演算処理装置が異常状態となった場合に他方の演算処理装置により正常な状態に復帰させるための処理が実行される請求項1記載の情報処理システムである。 In the present invention according to claim 9, the plurality of arithmetic processing units are two arithmetic processing units, and in each of the two arithmetic processing units, one arithmetic processing unit monitors the other arithmetic processing unit. The information processing system according to claim 1, wherein a process for returning to a normal state by the other arithmetic processing unit is executed when one of the arithmetic processing units becomes an abnormal state by performing mutual monitoring. is there.

請求項1に係る本発明によれば、監視対象の演算処理装置が無限ループに陥った異常状態の発生を、単にプログラムカウンタの値を監視するだけの場合と比較して、高い精度で検出することが可能な情報処理システムを提供することができる。 According to the first aspect of the present invention, the occurrence of an abnormal state in which the arithmetic processing unit to be monitored falls into an infinite loop is detected with high accuracy as compared with the case where the value of the program counter is simply monitored. It is possible to provide an information processing system capable of providing an information processing system.

請求項2に係る本発明によれば、正常な動作を無限ループに陥った異常状態と誤判定することを防ぐことが可能な情報処理システムを提供することができる。 According to the second aspect of the present invention, it is possible to provide an information processing system capable of preventing a normal operation from being erroneously determined as an abnormal state in an infinite loop.

請求項3に係る本発明によれば、正常な動作を無限ループに陥った異常状態と誤判定することを防ぐことが可能な情報処理システムを提供することができる。 According to the third aspect of the present invention, it is possible to provide an information processing system capable of preventing a normal operation from being erroneously determined as an abnormal state in an infinite loop.

請求項4に係る本発明によれば、正常な動作を無限ループに陥った異常状態と誤判定することを防ぐことが可能な情報処理システムを提供することができる。 According to the fourth aspect of the present invention, it is possible to provide an information processing system capable of preventing a normal operation from being erroneously determined as an abnormal state in an infinite loop.

請求項5に係る本発明によれば、監視対象の演算処理装置が無限ループに陥った場合でも正常な状態に復帰させることが可能な情報処理システムを提供することができる。 According to the fifth aspect of the present invention, it is possible to provide an information processing system capable of returning to a normal state even when the arithmetic processing unit to be monitored falls into an infinite loop.

請求項6に係る本発明によれば、監視対象の演算処理装置が無限ループに陥った場合でも、リセットすることなく正常な状態に復帰させることが可能な情報処理システムを提供することができる。 According to the sixth aspect of the present invention, it is possible to provide an information processing system capable of returning to a normal state without resetting even when the arithmetic processing unit to be monitored falls into an infinite loop.

請求項7に係る本発明によれば、監視対象の演算処理装置を正常な状態に復帰させた後であっても、監視対象の演算処理装置が無限ループに陥った原因を解明することが可能な情報処理システムを提供することができる。 According to the seventh aspect of the present invention, it is possible to clarify the cause of the monitored arithmetic processing unit falling into an infinite loop even after the monitored arithmetic processing unit is returned to a normal state. Information processing system can be provided.

請求項8に係る本発明によれば、監視対象の演算処理装置が無限ループに陥った異常状態の発生を、単にプログラムカウンタの値を監視するだけの場合と比較して、高い精度で検出することが可能な情報処理システムを提供することができる。 According to the eighth aspect of the present invention, the occurrence of an abnormal state in which the arithmetic processing unit to be monitored falls into an infinite loop is detected with high accuracy as compared with the case where the value of the program counter is simply monitored. It is possible to provide an information processing system capable of providing an information processing system.

請求項9に係る本発明によれば、2つの演算処理装置がそれぞれお互いに監視しあう相互監視を行う際に、いずれか一方の演算処理装置が無限ループに陥った異常状態の発生を、単にプログラムカウンタの値を監視するだけの場合と比較して、高い精度で検出することが可能な情報処理システムを提供することができる。 According to the ninth aspect of the present invention, when two arithmetic processing units monitor each other and perform mutual monitoring, the occurrence of an abnormal state in which one of the arithmetic processing units falls into an infinite loop is simply generated. It is possible to provide an information processing system capable of detecting with high accuracy as compared with the case of only monitoring the value of the program counter.

本発明の一実施形態の情報処理システム10のシステム構成を示す図である。It is a figure which shows the system structure of the information processing system 10 of one Embodiment of this invention. 本発明の一実施形態におけるCPU20のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware structure of the CPU 20 in one Embodiment of this invention. 本発明の一実施形態のCPU20の動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation of CPU 20 of one Embodiment of this invention. CPU20Bが無限ループに陥って異常状態となった場合の様子を示す図である。It is a figure which shows the state when the CPU 20B falls into an infinite loop and becomes an abnormal state. チェックモードに入ったCPU20Aが、CPU20Bからプログラムカウンタ33Bの値を読み出す様子を示す図である。It is a figure which shows how the CPU 20A which entered the check mode reads the value of the program counter 33B from the CPU 20B. プログラムカウンタの値が周期的に同一の変化パターンを繰り返している場合の一例を示す図である。It is a figure which shows an example of the case where the value of a program counter repeats the same change pattern periodically. CPU20AがCPU20Bからログ情報37Bを取得した後にリセット処理を実行する様子を示す図である。It is a figure which shows a mode that the CPU 20A executes a reset process after acquiring the log information 37B from the CPU 20B.

次に、本発明の実施の形態について図面を参照して詳細に説明する。 Next, an embodiment of the present invention will be described in detail with reference to the drawings.

図1は本発明の一実施形態の情報処理システム10のシステム構成を示す図である。 FIG. 1 is a diagram showing a system configuration of an information processing system 10 according to an embodiment of the present invention.

本実施形態の情報処理システムは、図1に示されるように、演算処理装置である2つのCPU20A、20Bを有している。 As shown in FIG. 1, the information processing system of the present embodiment has two CPUs 20A and 20B which are arithmetic processing devices.

本実施形態におけるCPU20A、20Bは、予め設定されたそれぞれ異なる処理を実行している。本実施形態の情報処理システム10のような2CPU構成によれば、役割分担と負荷分散により処理の効率化を図ることができるという利点が得られるため、高いリアルタイム性が要求されるようなシステムを実現する際には有利な構成である。 The CPUs 20A and 20B in the present embodiment are executing preset different processes. According to the two-CPU configuration such as the information processing system 10 of the present embodiment, there is an advantage that the processing efficiency can be improved by the division of roles and the load distribution, so that a system that requires high real-time performance can be obtained. It is an advantageous configuration when it is realized.

このようなCPUを有するシステムでは、CPUを実行しているプログラムが何らかの理由によりループ処理から抜け出すことができずに永遠に同じループ処理を実行し続ける状態である無限ループに陥ってしまうと、システムがハングアップ状態となってしまう。そして、システムがこのようなハングアップ状態になると、そのシステムは外部からのユーザによる操作を受け付けなくなり主電源を一旦落としてリセットしなければ正常な状態に復帰することができなくなってしまう。 In a system having such a CPU, if the program executing the CPU cannot get out of the loop processing for some reason and falls into an infinite loop in which the same loop processing is continuously executed forever, the system Will hang up. Then, when the system is in such a hang-up state, the system does not accept operations by the user from the outside and cannot return to the normal state unless the main power supply is once turned off and reset.

また、システムがこのような無限ループ状態に陥ると、外部からの操作を受け付けないため、ログ情報を取得して原因解明を行うことができない。このような理由により無限ループを原因とする不具合の解析には時間がかかることが一般的である。 In addition, when the system falls into such an infinite loop state, it does not accept operations from the outside, so it is not possible to acquire log information and clarify the cause. For this reason, it generally takes time to analyze a defect caused by an infinite loop.

本実施形態におけるCPU20A、20Bは、それぞれ、他方のCPUを監視対象として、他方のCPUが無限ループに陥った異常状態となっているか否かを常時相互監視している。 The CPUs 20A and 20B in the present embodiment each monitor the other CPU and constantly mutually monitor whether or not the other CPU is in an abnormal state in an infinite loop.

この相互監視を行うために、CPU20A、20Bは、予め設定された確認信号をそれぞれ相互に他方のCPUに対して、例えば5秒間隔というような予め設定された間隔で定期的に出力する。 In order to perform this mutual monitoring, the CPUs 20A and 20B periodically output preset confirmation signals to the other CPU at preset intervals such as, for example, 5 second intervals.

図1では、CPU20AはCPU20Bに対して1101 1100という8ビットの確認信号を出力し、CPU20BはCPU20Aに対して1010 1001という8ビットの確認信号を出力する場合が示されている。 FIG. 1 shows a case where the CPU 20A outputs an 8-bit confirmation signal of 1101 1100 to the CPU 20B and the CPU 20B outputs an 8-bit confirmation signal of 1010 1001 to the CPU 20A.

なお、図1では、8ビットの確認信号を相互に送信するような構成が示されているが、確認信号はこのような信号に限定されるものではなくどのような情報を確認信号として用いるようにしても良い。例えば、それぞれのCPUに異なる識別番号が付与されている場合に、各CPUは自己の識別番号を確認信号として出力するようにしても良い。 Note that FIG. 1 shows a configuration in which 8-bit confirmation signals are mutually transmitted, but the confirmation signal is not limited to such a signal, and what kind of information should be used as the confirmation signal. You can do it. For example, when different identification numbers are assigned to each CPU, each CPU may output its own identification number as a confirmation signal.

次に、CPU20A、20Bのハードウェア構成について図2を参照して説明する。なお、CPU20A、20Bは共に基本的な構成は同じであるため、CPU20A、20Bの共通の構成を説明する際には単にCPU20として表現する。 Next, the hardware configurations of the CPUs 20A and 20B will be described with reference to FIG. Since the basic configurations of the CPUs 20A and 20B are the same, they are simply expressed as the CPU 20 when explaining the common configurations of the CPUs 20A and 20B.

CPU20は、図2に示されるように、制御部31と、命令コード格納部32と、プログラムカウンタ33と、入力部34と、出力部35と、内部メモリ36とを有している。また、内部メモリ36には、CPU20の現在の動作状態を記録した履歴情報であるログ情報37が格納されている。 As shown in FIG. 2, the CPU 20 includes a control unit 31, an instruction code storage unit 32, a program counter 33, an input unit 34, an output unit 35, and an internal memory 36. Further, the internal memory 36 stores log information 37, which is history information recording the current operating state of the CPU 20.

CPU20は、次に実行する命令コードが格納された領域を示す情報をプログラムカウンタの値として記憶しつつ、予め格納された複数の命令コードを順次実行する演算処理装置である。 The CPU 20 is an arithmetic processing unit that sequentially executes a plurality of pre-stored instruction codes while storing information indicating an area in which an instruction code to be executed next is stored as a value of a program counter.

制御部31は、命令コード格納部32に格納されている複数の命令コード、つまりプログラムを順次読み出して実行することにより各種制御を行っている。そして、プログラムカウンタ33は、次に実行すべき命令コードが格納された領域を示す情報を記憶している。 The control unit 31 performs various controls by sequentially reading and executing a plurality of instruction codes, that is, programs stored in the instruction code storage unit 32. Then, the program counter 33 stores information indicating an area in which the instruction code to be executed next is stored.

入力部34は、制御部31による制御に基づいてCPU20の外部からの信号を入力する。出力部35は、制御部31による制御に基づいてCPU20の外部に信号を出力する。 The input unit 34 inputs a signal from the outside of the CPU 20 based on the control by the control unit 31. The output unit 35 outputs a signal to the outside of the CPU 20 based on the control by the control unit 31.

制御部31は、出力部35を介して、予め設定されている確認信号を他方のCPUに出力する。また、制御部31は、監視対象の他方のCPUから送信される確認信号を、入力部34を介して受信する。 The control unit 31 outputs a preset confirmation signal to the other CPU via the output unit 35. Further, the control unit 31 receives a confirmation signal transmitted from the other CPU to be monitored via the input unit 34.

そして、制御部31は、入力部34を介して、監視対象のCPUにおけるプログラムカウンタの値を読み出すことができるような構成となっている。 The control unit 31 is configured so that the value of the program counter in the CPU to be monitored can be read out via the input unit 34.

そして、制御部31は、予め設定されている確認信号を監視対象のCPUから予め設定された期間以上受信することができない場合、入力部34を介して監視対象のCPUからプログラムカウンタの値を読み出す。例えば、確認信号を5秒間隔で出力するよう設定されている場合、監視対象のCPUから10秒間以上確認信号が出力されない場合に、入力部34を介して監視対象のCPUからプログラムカウンタの値を読み出す。 Then, when the control unit 31 cannot receive the preset confirmation signal from the monitored CPU for a predetermined period or longer, the control unit 31 reads the value of the program counter from the monitored CPU via the input unit 34. .. For example, when the confirmation signal is set to be output at 5-second intervals, when the confirmation signal is not output from the monitored CPU for 10 seconds or more, the value of the program counter is output from the monitored CPU via the input unit 34. read out.

そして、制御部31は、読み出したプログラムカウンタの値が同一の変化パターンを周期的に繰り返している場合、監視対象のCPUを正常な状態に復帰させるための処理を実行する。 Then, when the read program counter value is periodically repeating the same change pattern, the control unit 31 executes a process for returning the monitored CPU to a normal state.

具体的には、制御部31は、監視対象のCPUをリセットすることにより正常な状態に復帰させる。または、制御部31は、監視対象のCPUのプログラムカウンタの値を、復帰するための処理を実行する命令が格納された番地に書き換えることにより正常な状態に復帰させるようにしても良い。 Specifically, the control unit 31 returns to a normal state by resetting the CPU to be monitored. Alternatively, the control unit 31 may restore the normal state by rewriting the value of the program counter of the CPU to be monitored to the address in which the instruction for executing the restoration process is stored.

なお、制御部31は、監視対象のCPUから読み出したプログラムカウンタの値が同一の変化パターンを周期的に繰り返しているか否かの判定を行う際に、プログラムカウンタの値が同一の変化パターンを繰り返す周期が、予め設定された期間よりも短い場合に、監視対象のCPUを正常な状態に復帰させるための処理を実行するようにしても良い。 The control unit 31 repeats the change pattern with the same program counter value when determining whether or not the program counter value read from the monitored CPU periodically repeats the same change pattern. When the cycle is shorter than the preset period, the process for returning the monitored CPU to the normal state may be executed.

また、制御部31は、監視対象のCPUから読み出したプログラムカウンタの値が同一の変化パターンを周期的に繰り返しているか否かの判定を行う際に、プログラムカウンタの値が同一の変化パターンを繰り返している際の変動幅が予め設定された値よりも狭い場合に、監視対象のCPUを正常な状態に復帰させるための処理を実行するようにしても良い。 Further, when the control unit 31 determines whether or not the change pattern of the program counter read from the monitored CPU periodically repeats the same change pattern, the control unit 31 repeats the change pattern of the same program counter value. When the fluctuation range during the program is narrower than the preset value, a process for returning the monitored CPU to a normal state may be executed.

さらに、制御部31は、監視対象のCPUから読み出したプログラムカウンタの値が同一の変化パターンを繰り返している際の繰り返し回数が予め設定された値以上となった場合に、監視対象のCPUを正常な状態に復帰させるための処理を実行するようにしても良い。 Further, when the value of the program counter read from the CPU to be monitored becomes equal to or more than a preset value when the same change pattern is repeated, the control unit 31 normalizes the CPU to be monitored. The process for returning to the normal state may be executed.

そして、無限ループの状態に陥ったCPUを正常な状態に復帰させた後に、無限ループの状態に陥った原因を解明するために、制御部31は、復帰処理を実行する前に、プログラムカウンタの値が同一の変化パターンを周期的に繰り返していると判定されたCPUから、動作状態を記録したログ情報37を取得する。 Then, after returning the CPU that has fallen into the infinite loop state to the normal state, in order to clarify the cause of the fall into the infinite loop state, the control unit 31 sets the program counter before executing the return process. The log information 37 that records the operating state is acquired from the CPU that is determined to periodically repeat the change pattern having the same value.

そして、制御部31は、ログ情報37の取得後に、無限ループの状態に陥ったCPUを正常な状態に復帰させるための処理を実行する。 Then, after acquiring the log information 37, the control unit 31 executes a process for returning the CPU that has fallen into the infinite loop state to the normal state.

次に、本実施形態の情報処理システムの動作について図面を参照して詳細に説明する。 Next, the operation of the information processing system of the present embodiment will be described in detail with reference to the drawings.

先ず、本実施形態のCPU20の動作を図3のフローチャートを参照して説明する。 First, the operation of the CPU 20 of the present embodiment will be described with reference to the flowchart of FIG.

なお、以下の説明では、一例として図4に示すようにCPU20Bが無限ループに陥って異常状態となった場合を用いて説明する。図4では、CPU20Bが無限ループに陥ることにより、CPU20Bから確認信号がCPU20Aに送信されなくなる様子が示されている。 In the following description, as an example, as shown in FIG. 4, a case where the CPU 20B falls into an infinite loop and becomes an abnormal state will be described. FIG. 4 shows how the confirmation signal is not transmitted from the CPU 20B to the CPU 20A due to the CPU 20B falling into an infinite loop.

CPU20Aは、ステップS101において、CPU20Bから出力される確認信号を継続的に受信して、予め設定された期間以内に少なくとも1回の確認信号を受信することによりCPU20Bが正常な状態であることを確認し続けている。 In step S101, the CPU 20A continuously receives the confirmation signal output from the CPU 20B, and confirms that the CPU 20B is in a normal state by receiving the confirmation signal at least once within a preset period. Continue to do.

そして、CPU20Aは、ステップS101において、予め設定されている確認信号を監視対象のCPUBから予め設定された期間以上受信することができなくなった場合、ステップS102において、動作モードをチェックモードにする。 Then, when the CPU 20A cannot receive the preset confirmation signal from the monitored CPU B for a period longer than the preset period in step S101, the operation mode is set to the check mode in step S102.

このチェックモードになると、CPU20Aは、図5に示すようにCPU20Bからプログラムカウンタ33Bの値を読み出す。なお、以下の説明においては、CPU20Bにおける構成を説明する際には、図2に示した符号にBという文字を付与して示すものとする。 In this check mode, the CPU 20A reads the value of the program counter 33B from the CPU 20B as shown in FIG. In the following description, when the configuration of the CPU 20B is described, the characters B are added to the reference numerals shown in FIG.

そして、CPU20Aは、ステップS104において、CPU20Bから読み出したプログラムカウンタの値が同一の変化パターンを周期的に繰り返しているか否かの判定を行う。 Then, in step S104, the CPU 20A determines whether or not the value of the program counter read from the CPU 20B periodically repeats the same change pattern.

CPU20Aは、プログラムカウンタの値が同一の変化パターンを周期的に繰り返しているか否かの判定の際には、充分な期間においてプログラムカウンタの値の変化を観察する。 The CPU 20A observes a change in the value of the program counter for a sufficient period of time when determining whether or not the change pattern in which the value of the program counter is the same is periodically repeated.

図6にプログラムカウンタの値が周期的に同一の変化パターンを繰り返している場合の一例を示す。 FIG. 6 shows an example in which the value of the program counter periodically repeats the same change pattern.

図6に示した変化パターン例を参照すると、同一の変化パターンが同一周期、同一変動幅で繰り返されている様子が示されている。この変化パターンの周期を検出するためには、同一の値が現れる期間を測定することにより変化パターンの周期を検出することができる。 With reference to the change pattern example shown in FIG. 6, it is shown that the same change pattern is repeated with the same period and the same fluctuation width. In order to detect the cycle of this change pattern, the cycle of the change pattern can be detected by measuring the period during which the same value appears.

CPU20Bが無限ループの状態に陥った場合、このような同一の変化パターンが永遠と繰り返されることになる。そのため、CPU20Aは、ステップS104において、このようなプログラムカウンタの値において同一の変化パターンが周期的に複数回繰り返されていることを検出すると、CPU20Bは無限ループの状態となっていると判定する。 When the CPU 20B falls into an infinite loop state, such the same change pattern will be repeated forever. Therefore, when the CPU 20A detects in step S104 that the same change pattern is periodically repeated a plurality of times in the value of such a program counter, the CPU 20B determines that the CPU 20B is in an infinite loop state.

すると、CPU20Aは、ステップS105において、ログ情報37BをCPU20Bから取得し、ステップS106において、CPU20Bのリセット処理を実行する。CPU20AがCPU20Bからログ情報37Bを取得した後にリセット処理を実行する様子を図7に示す。 Then, the CPU 20A acquires the log information 37B from the CPU 20B in step S105, and executes the reset process of the CPU 20B in step S106. FIG. 7 shows how the CPU 20A executes the reset process after acquiring the log information 37B from the CPU 20B.

なお、CPU20Aが、無限ループの状態となったCPU20Bを正常な状態に復帰させるために、リセット処理を行うのではなくプログラムカウンタの値を書き換えて強制的に無限ループを終了させるようにしても良い。 In addition, in order for the CPU 20A to return the CPU 20B in the infinite loop state to the normal state, the infinite loop may be forcibly terminated by rewriting the value of the program counter instead of performing the reset process. ..

本実施形態では、最初に確認信号が監視対象のCPUから出力されなくなることを確認してから、プログラムの値が同一の変化パターンを周期的に繰り返しているか否かの判定を行っている。このようにしている理由としては、無限ループの状態となっていない正常な状態の場合でもプログラムカウンタの値が周期的に同一の変化パターンで遷移するような場合があるため、プログラムカウンタの値のみで判定を行うと誤判定をする可能性があるからである。 In the present embodiment, after first confirming that the confirmation signal is no longer output from the CPU to be monitored, it is determined whether or not the program value periodically repeats the same change pattern. The reason for doing this is that even in a normal state that is not in an infinite loop state, the value of the program counter may periodically transition in the same change pattern, so only the value of the program counter This is because there is a possibility of making an erroneous judgment if the judgment is made with.

つまり、確認信号が予め設定された時間以上出力されないことと、プログラムカウンタの値が同一の変化パターンを周期的に繰り返していることの両方を検出して初めて監視対象のCPUが無限ループの状態に陥っていると判定することにより、上記のような誤判定の可能性を低くすることができる。 That is, the CPU to be monitored enters an infinite loop state only after detecting both that the confirmation signal is not output for a preset time or longer and that the value of the program counter repeats the same change pattern periodically. By determining that the device has fallen, the possibility of the above-mentioned erroneous determination can be reduced.

さらに、プログラムカウンタの値が同一の変化パターンを周期的に繰り返しているか否かを判定する処理と比較して、確認信号が出力されているか否かの判定を行うための処理は監視を行うCPUにとって処理負担が少ない。そのため、通常は確認信号のみで監視を行い、確認信号が確認できなくなって初めてプログラムカウンタの値を監視するようにすることにより監視するための処理負担を低く抑えることができる。 Further, the process for determining whether or not a confirmation signal is output is compared with the process for determining whether or not the same change pattern of the program counter value is periodically repeated by the monitoring CPU. The processing load is small for. Therefore, normally, monitoring is performed only by the confirmation signal, and the value of the program counter is monitored only after the confirmation signal cannot be confirmed, so that the processing load for monitoring can be suppressed to a low level.

なお、本実施形態では、監視を行うCPUは、監視対象のCPUから確認信号が出力されなくなったことを確認してチェックモードに入り、監視対象のCPUのプログラムカウンタの値を読み出して無限ループの状態となっているか否かを判定していたが、判定順序を入れ替えるようにしても良い。 In this embodiment, the monitoring CPU confirms that the confirmation signal is no longer output from the monitored CPU, enters the check mode, reads the value of the program counter of the monitored CPU, and performs an infinite loop. Although it was determined whether or not it was in a state, the determination order may be changed.

つまり、監視を行うCPUが、正常な状態において、監視対象のCPUのプログラムカウンタの値を読み出して同一の変化パターンが周期的に繰り返されていると判定した場合にチェックモードに入り、監視対象のCPUから確認信号が出力されなくなったことを確認して無限ループの状態となっていると最終的に判定するようにしても良い。 That is, when the monitoring CPU reads the value of the program counter of the CPU to be monitored and determines that the same change pattern is periodically repeated in a normal state, the check mode is entered and the monitor is to be monitored. After confirming that the confirmation signal is no longer output from the CPU, it may be finally determined that the state is in an infinite loop.

[変形例]
上記実施形態では、2つのCPU20A、20Bがお互いを相互監視する場合の構成について説明したが、本発明はこれに限定されるものではなく、複数のCPUうちの少なくとも1つのCPUが他のCPUを監視対象として監視する構成の場合でも同様に本発明を適用することができるものである。
[Modification example]
In the above embodiment, the configuration in which the two CPUs 20A and 20B mutually monitor each other has been described, but the present invention is not limited to this, and at least one CPU among the plurality of CPUs is the other CPU. The present invention can be similarly applied even in the case of a configuration in which monitoring is performed as a monitoring target.

また、3つ以上のCPUにより構成される情報処理システムにおいて、各CPUがそれぞれ他のCPUを監視するような構成とする場合についても本発明を適用することが可能である。 Further, in an information processing system composed of three or more CPUs, the present invention can be applied to a case where each CPU monitors another CPU.

10 情報処理システム
20、20A、20B CPU
31 制御部
32 命令コード格納部
33 プログラムカウンタ
34 入力部
35 出力部
36 内部メモリ
37 ログ情報
10 Information processing system 20, 20A, 20B CPU
31 Control unit 32 Instruction code storage unit 33 Program counter 34 Input unit 35 Output unit 36 Internal memory 37 Log information

Claims (9)

複数の演算処理装置を有し、
前記複数の演算処理装置のうちの少なくとも1つは、
監視対象の演算処理装置から送信される確認信号を受信する受信手段と、
監視対象の演算処理装置におけるプログラムカウンタの値を読み出す読出手段と、
予め設定されている確認信号を監視対象の演算処理装置から予め設定された期間以上受信することができない場合、前記読出手段により監視対象の演算処理装置からプログラムカウンタの値を読み出し、当該プログラムカウンタの値が同一の変化パターンを周期的に繰り返している場合、監視対象の演算処理装置を正常な状態に復帰させるための処理を実行する実行手段と、
を備えた情報処理システム。
It has multiple arithmetic processing units
At least one of the plurality of arithmetic processing units
A receiving means for receiving a confirmation signal transmitted from the arithmetic processing unit to be monitored, and
A reading means for reading the value of the program counter in the arithmetic processing unit to be monitored, and
When the preset confirmation signal cannot be received from the arithmetic processing unit to be monitored for more than a preset period, the reading means reads the value of the program counter from the arithmetic processing unit to be monitored, and the program counter of the program counter is read. When the change pattern with the same value is periodically repeated, the execution means for executing the process for returning the monitored arithmetic processing unit to the normal state and
Information processing system equipped with.
前記実行手段が、監視対象の演算処理装置から読み出したプログラムカウンタの値が同一の変化パターンを繰り返す周期が、予め設定された期間よりも短い場合に、監視対象の演算処理装置を正常な状態に復帰させるための処理を実行する請求項1記載の情報処理システム。 When the cycle in which the execution means repeats the same change pattern of the program counter value read from the monitored arithmetic processing unit is shorter than a preset period, the monitored arithmetic processing unit is put into a normal state. The information processing system according to claim 1, which executes a process for restoring. 前記実行手段が、監視対象の演算処理装置から読み出したプログラムカウンタの値が同一の変化パターンを繰り返している際の変動幅が予め設定された値よりも狭い場合に、監視対象の演算処理装置を正常な状態に復帰させるための処理を実行する請求項1記載の情報処理システム。 When the value of the program counter read from the arithmetic processing unit to be monitored by the execution means is narrower than the preset value when the value of the program counter repeats the same change pattern, the arithmetic processing unit to be monitored is used. The information processing system according to claim 1, wherein a process for returning to a normal state is executed. 前記実行手段は、監視対象の演算処理装置から読み出したプログラムカウンタの値が同一の変化パターンを繰り返している際の繰り返し回数が予め設定された値以上となった場合に、監視対象の演算処理装置を正常な状態に復帰させるための処理を実行する請求項1記載の情報処理システム。 The execution means is the arithmetic processing unit to be monitored when the value of the program counter read from the arithmetic processing unit to be monitored becomes equal to or more than a preset value when the same change pattern is repeated. The information processing system according to claim 1, wherein a process for returning the CPU to a normal state is executed. 前記実行手段が、監視対象の演算処理装置をリセットすることにより正常な状態に復帰させる請求項1から4のいずれか記載の情報処理システム。 The information processing system according to any one of claims 1 to 4, wherein the executing means returns to a normal state by resetting the arithmetic processing unit to be monitored. 前記実行手段が、監視対象の演算処理装置のプログラムカウンタの値を、復帰するための処理を実行する命令が格納された番地に書き換えることにより正常な状態に復帰させる請求項1から4のいずれか記載の情報処理システム。 Any one of claims 1 to 4 in which the executing means rewrites the value of the program counter of the arithmetic processing unit to be monitored to the address in which the instruction for executing the process for returning is stored, thereby returning to the normal state. The information processing system described. 前記実行手段により復帰処理が実行される前に、プログラムカウンタの値が同一の変化パターンを周期的に繰り返していると判定された演算処理装置から、動作状態を記録した履歴情報を取得する取得手段をさらに備えた請求項1から6のいずれか記載の情報処理システム。 Acquisition means for acquiring history information recording an operating state from an arithmetic processing unit determined to periodically repeat a change pattern having the same program counter value before the return process is executed by the execution means. The information processing system according to any one of claims 1 to 6, further comprising. 前記複数の演算処理装置が、それぞれ、次に実行する命令が格納された領域を示す情報をプログラムカウンタの値として記憶しつつ、予め格納された複数の命令を順次実行する演算処理装置である請求項1から7のいずれか記載の情報処理システム。 The plurality of arithmetic processing units are arithmetic processing units that sequentially execute a plurality of pre-stored instructions while storing information indicating an area in which an instruction to be executed next is stored as a value of a program counter. The information processing system according to any one of Items 1 to 7. 前記複数の演算処理装置は2つの演算処理装置であり、当該2つの演算処理装置は、それぞれ、一方の演算処理装置が他方の演算処理装置を監視対象とする相互監視を行うことにより、いずれか一方の演算処理装置が異常状態となった場合に他方の演算処理装置により正常な状態に復帰させるための処理が実行される請求項1記載の情報処理システム。 The plurality of arithmetic processing units are two arithmetic processing units, and each of the two arithmetic processing units performs mutual monitoring in which one arithmetic processing unit monitors the other arithmetic processing unit. The information processing system according to claim 1, wherein when one arithmetic processing unit goes into an abnormal state, the other arithmetic processing unit executes a process for returning to the normal state.
JP2019037140A 2019-03-01 2019-03-01 Information processing system Pending JP2020140592A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019037140A JP2020140592A (en) 2019-03-01 2019-03-01 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019037140A JP2020140592A (en) 2019-03-01 2019-03-01 Information processing system

Publications (1)

Publication Number Publication Date
JP2020140592A true JP2020140592A (en) 2020-09-03

Family

ID=72264973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019037140A Pending JP2020140592A (en) 2019-03-01 2019-03-01 Information processing system

Country Status (1)

Country Link
JP (1) JP2020140592A (en)

Similar Documents

Publication Publication Date Title
US7444263B2 (en) Performance metric collection and automated analysis
US11480948B2 (en) Monitoring target selecting device, monitoring target selecting method, and program
CN110674149B (en) Service data processing method and device, computer equipment and storage medium
CN110580220A (en) method for measuring execution time of code segment and terminal equipment
CN111736579B (en) Industrial control equipment safety detection method based on log inquiry and retention
JP2020140592A (en) Information processing system
US9690639B2 (en) Failure detecting apparatus and failure detecting method using patterns indicating occurrences of failures
US10628161B2 (en) Processor for correlation-based infinite loop detection
CN102693176A (en) Processor operation monitoring system and monitoring method thereof
JP2016085496A (en) Abnormality sign detection device and method of computer system
EP3349398B1 (en) Method for monitoring an iot device and using it as battery protection watchdog for iot devices
CN113917385A (en) Self-detection method and system for electric energy meter
JP5958987B2 (en) Information processing device, failure diagnosis control device, failure determination method, failure determination program
JP2012108848A (en) Operation log collection system and program
US11016459B2 (en) Governance of the control process by the state of the node
EP2284693A1 (en) Wait instruction
JP2870250B2 (en) Microprocessor runaway monitor
CN114326670B (en) Detection method and device for executing tasks by controller, storage medium and electronic device
JP7433173B2 (en) supervisory control system
JP4454566B2 (en) Program runaway monitoring circuit and method
JP2002163008A (en) Circuit and method for detecting run-away of programable controller
JP2020160986A (en) Controller and diagnostic program
CN114095217A (en) Evidence obtaining and tracing method and system for failing host snapshot
KR200293236Y1 (en) Watchdog Timer Apparatus
CN114357028A (en) Abnormal state detection method and device for state machine, electronic device and storage medium

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20201102