JP2011141756A - Cpu failure detection method and cpu failure detection device - Google Patents

Cpu failure detection method and cpu failure detection device Download PDF

Info

Publication number
JP2011141756A
JP2011141756A JP2010002189A JP2010002189A JP2011141756A JP 2011141756 A JP2011141756 A JP 2011141756A JP 2010002189 A JP2010002189 A JP 2010002189A JP 2010002189 A JP2010002189 A JP 2010002189A JP 2011141756 A JP2011141756 A JP 2011141756A
Authority
JP
Japan
Prior art keywords
buffer
processing result
software
output
processing
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
JP2010002189A
Other languages
Japanese (ja)
Inventor
Manabu Noriyasu
学 則安
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2010002189A priority Critical patent/JP2011141756A/en
Publication of JP2011141756A publication Critical patent/JP2011141756A/en
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To shorten a time required for the self diagnosis of an output part, and to detect a failure of a resource of a CPU. <P>SOLUTION: The CPU failure detection method includes a step in which predetermined processing by first algorithm is executed using a first resource, and its processing result is stored in a first buffer, a step in which predetermined processing by second algorithm is executed using a second resource, and its processing result is stored in a second buffer, a step in which the processing result stored in the first buffer is compared with the processing result stored in the second buffer, and when both of them agree with each other, the processing result stored in one of the buffers is outputted to the outside, but when there is no agreement between them, an abnormality detection error is outputted, and a step in which, in the case that the processing result has been outputted to the outside, the processing result outputted to the outside is compared with the processing result stored in any buffer, and when there is no agreement between them, an abnormality detection error is outputted. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、CPU故障検出技術に関し、特に、CPU自体を2重化することなくCPUの故障検出を行なうCPU故障検出方法およびCPU故障検出装置に関する。   The present invention relates to a CPU failure detection technique, and more particularly, to a CPU failure detection method and a CPU failure detection apparatus that detect a CPU failure without duplicating the CPU itself.

ディジタル機器の誤出力防止方法に関して、特許文献1には、ソフトウェアと出力部の2重化を図ることが記載されている。   Regarding a method for preventing an erroneous output of a digital device, Patent Document 1 describes that software and an output unit are duplicated.

図3は、特許文献1に記載された発明を概念的に説明するためのブロック図である。特許文献1によれば、本図に示すように、CPU1に2つのプログラム(ソフトウェア)P1、P2を持たせるとともに、ディジタル出力部(DO)2A、2Bを2重化している。ここで、ソフトウェアP1、P2としてはアルゴリズムをまったく同じものにしてもよいが、互いに異なるアルゴリズムのものでもよい。また、ソフトウェアP1、P2の実行タイミングとしては、サージノイズが乗る場合等を考慮して互いに時間をずらして実行するようにする。   FIG. 3 is a block diagram for conceptually explaining the invention described in Patent Document 1. In FIG. According to Patent Document 1, as shown in the figure, the CPU 1 is provided with two programs (software) P1 and P2, and the digital output units (DO) 2A and 2B are duplicated. Here, the software P1 and P2 may have the same algorithm, but may have different algorithms. Further, the execution timing of the software P1 and P2 is executed while shifting the time with respect to each other in consideration of a case where surge noise is applied.

図4は、特許文献1に記載された実施例を示すフローチャートである。これは、2系列のソフトウェア処理を示しており、同時並列処理の形式で図示しているが時分割的に処理するものであり、ここでは例えば左側の処理から開始するものとする。   FIG. 4 is a flowchart showing an embodiment described in Patent Document 1. This shows two series of software processing, which is illustrated in the form of simultaneous parallel processing, but is processed in a time-sharing manner. Here, for example, the processing on the left side is assumed to start.

すなわち、制御データ11を受信し、これを受信データ変換テーブル12Aにより所定のアルゴリズムに適合する形式に変換したのちソフトウェア処理1を実行し、出力データ13を得る。14では出力データのチェックを実行し、OK(良好)のときだけDO−1へ出力し(CHT:チェックアンドトランスファー)、リレー15Aを駆動してその接点151を動作させる。ここまでの処理が終了した後、右側の処理を上記と同様に実行してOKならばDO−2へ出力し、リレー15Bを駆動してその接点152を動作させる。   That is, the control data 11 is received and converted into a format suitable for a predetermined algorithm by the received data conversion table 12A, and then software processing 1 is executed to obtain output data 13. At 14, the output data is checked, and when it is OK (good), it is output to DO-1 (CHT: check and transfer), the relay 15A is driven and its contact 151 is operated. After the processing so far is completed, the processing on the right side is executed in the same manner as described above, and if OK, output to DO-2, the relay 15B is driven and the contact 152 is operated.

ただし、ソフトウェア処理1とソフトウェア処理2とはそのアルゴリズムは互いに異なるものとし、したがってデータを変換するために用いるテーブルも違うものを用いることとする(12A,12B)。   However, software processing 1 and software processing 2 have different algorithms, and therefore, tables used for converting data are also different (12A, 12B).

そして、両データが揃った時点で両者の論理積がとられ、両者とも一致したときデータは正しいものとして利用装置側へ与えられる。   Then, when both data are prepared, the logical product of the two is obtained, and when both coincide, the data is given to the utilization apparatus side as being correct.

特開平5−27994号公報Japanese Patent Laid-Open No. 5-27994

特許文献1に記載された技術は、ソフトウェアによるRAS(Reliability Availability Serviceability)機能を持たせた上で、ソフトウェア処理とその出力処理とを2重化するようにしている。これにより、CPUすべてを2重化するのに比べ、ハードウェアコストを削減するとともに、実装面積を小さくしている。   The technique described in Patent Document 1 provides software processing and its output processing in a duplex manner with a software RAS (Reliability Availability Serviceability) function. As a result, the hardware cost is reduced and the mounting area is reduced as compared with the case where all the CPUs are duplicated.

しかしながら、2重化したソフトウェアのそれぞれで出力部の自己診断も実行するため、自己診断時間が長いという問題がある。また、2重化したソフトウェアのアルゴリズムを変えたとしても、ソフトウェア実行のために使用するCPU内のレジスタ等のリソースの故障が検出できないという問題がある。   However, since the self-diagnosis of the output unit is also executed by each of the duplicated software, there is a problem that the self-diagnosis time is long. In addition, even if the algorithm of the duplicated software is changed, there is a problem that a failure of a resource such as a register in the CPU used for executing the software cannot be detected.

そこで、本発明は、CPU自体を2重化することなくCPUの故障検出を行なう手法において、出力部の自己診断の時間を短縮するとともに、CPUのリソースの故障を検出可能とすることを目的とする。   SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to reduce the time required for self-diagnosis of an output unit and to detect a CPU resource failure in a method for detecting a CPU failure without duplicating the CPU itself. To do.

上記課題を解決するため、本発明のCPU故障検出方法は、複数のリソースを備え、読み込んだソフトウェアを実行するソフトウェア実行部と、前記ソフトウェア実行部の処理結果を選択的に格納する第1バッファおよび第2バッファと、出力制御部とを備えたCPUにおけるCPU故障検出方法であって、前記ソフトウェア実行部が、第1のアルゴリズムによる所定の処理を、前記リソースのうちの第1のリソースを用いて実行し、その処理結果を前記第1バッファに格納するステップと、前記ソフトウェア実行部が、第2のアルゴリズムによる前記所定の処理を、前記リソースのうちの第2のリソースを用いて実行し、その処理結果を前記第2バッファに格納するステップと、前記出力制御部が、前記第1バッファに格納されている処理結果と前記第2バッファに格納されている処理結果とを比較し、両者が一致している場合には、いずれかのバッファに格納されている処理結果を外部に出力し、両者が不一致の場合には、異常検出エラーを出力するステップと、前記処理結果が外部に出力された場合に、前記出力制御部が、外部に出力された処理結果と、いずれかのバッファに格納されている処理結果とを比較し、両者が不一致の場合には異常検出エラーを出力するステップとを有する。   In order to solve the above-described problem, a CPU failure detection method of the present invention includes a software execution unit that includes a plurality of resources and executes read software, a first buffer that selectively stores a processing result of the software execution unit, and A CPU failure detection method in a CPU including a second buffer and an output control unit, wherein the software execution unit performs a predetermined process by a first algorithm using a first resource among the resources. Executing and storing the processing result in the first buffer, and the software execution unit executes the predetermined processing according to a second algorithm using a second resource of the resources, and A step of storing a processing result in the second buffer; and a process in which the output control unit is stored in the first buffer. When the result is compared with the processing result stored in the second buffer and the two match, the processing result stored in one of the buffers is output to the outside, and the two do not match Includes a step of outputting an abnormality detection error, and when the processing result is output to the outside, the output control unit outputs the processing result output to the outside and the processing result stored in any of the buffers. And outputting an abnormality detection error if the two do not match.

本発明では、同じ処理を異なるアルゴリズムと異なるリソースを用いて行ない、両者の処理結果を比較するようにしているため、CPU内の故障検出能力を向上させることができる。また、実際に出力された処理結果と、バッファに格納している処理結果とを比較するようにしているため、出力部の診断を行なうための出力部の2重化が不要となり、自己診断が1回で済むことになる。これにより、出力部の自己診断の時間を短縮することができる。   In the present invention, the same processing is performed using different algorithms and different resources, and the processing results of both are compared. Therefore, the failure detection capability in the CPU can be improved. In addition, since the actually output processing result is compared with the processing result stored in the buffer, duplication of the output unit for diagnosing the output unit is unnecessary, and self-diagnosis is possible. It only takes one time. Thereby, the time of the self-diagnosis of an output part can be shortened.

上記課題を解決するため、本発明のCPU故障検出装置は、複数のリソースを備え、読み込んだソフトウェアを実行するソフトウェア実行部と、前記ソフトウェア実行部の処理結果を選択的に格納する第1バッファおよび第2バッファと、前記第1バッファに格納されている処理結果と前記第2バッファに格納されている処理結果とを比較し、両者が一致している場合には、いずれかのバッファに格納されている処理結果を外部に出力し、両者が不一致の場合には、異常検出エラーを出力し、さらに、前記処理結果が外部に出力された場合に、外部に出力された処理結果と、いずれかのバッファに格納されている処理結果とを比較し、両者が不一致の場合には異常検出エラーを出力する出力制御部と、前記ソフトウェア実行部に、第1のアルゴリズムによる所定の処理を、前記リソースのうちの第1のリソースを用いて実行させ、その処理結果を前記第1バッファに格納させる第1のソフトウェアと、前記ソフトウェア実行部に、第2のアルゴリズムによる前記所定の処理を、前記リソースのうちの第2のリソースを用いて実行させ、その処理結果を前記第2バッファに格納させる第2のソフトウェアとを格納したメモリと、を備える。   In order to solve the above problems, a CPU failure detection apparatus of the present invention comprises a plurality of resources, a software execution unit that executes read software, a first buffer that selectively stores a processing result of the software execution unit, and The second buffer and the processing result stored in the first buffer are compared with the processing result stored in the second buffer. If the two match, the result is stored in one of the buffers. If the two do not match, an error detection error is output, and if the processing result is output to the outside, either the processing result output to the outside The output control unit that outputs an abnormality detection error if the two do not match, and the software execution unit Predetermined processing based on the rhythm is executed using the first resource of the resources, and the processing result is stored in the first buffer, and the software execution unit uses the second algorithm. A memory storing second software for executing the predetermined process using a second resource of the resources and storing the processing result in the second buffer.

ここで、複数のリソースは、例えば、複数本のレジスタを含むことができる。   Here, the plurality of resources can include, for example, a plurality of registers.

本発明によれば、CPU自体を2重化することなくCPUの故障検出を行なう手法において、出力部の自己診断の時間が短縮されるとともに、CPUのリソースの故障が検出可能となる。   According to the present invention, in the method of detecting a CPU failure without duplicating the CPU itself, the time for self-diagnosis of the output unit is shortened, and a failure in CPU resources can be detected.

本発明の実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of embodiment of this invention. 本発明の実施形態の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of embodiment of this invention. 特許文献1に記載された発明を概念的に説明するためのブロック図である。It is a block diagram for demonstrating the invention described in patent document 1 notionally. 特許文献1に記載された実施例を示すフローチャートである。10 is a flowchart showing an embodiment described in Patent Document 1.

本発明の実施の形態について図面を参照して説明する。図1は、本発明の実施形態の構成を示すブロック図である。   Embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the configuration of the embodiment of the present invention.

本図に示すように、CPU100は、ソフトウェア実行部110、バッファA120A、バッファB120B、出力制御部130を備えおり、メモリ200に格納されたソフトウェアA210AとソフトウェアB210Bとを実行し、処理結果を出力する構成となっている。   As shown in the figure, the CPU 100 includes a software execution unit 110, a buffer A 120A, a buffer B 120B, and an output control unit 130, executes the software A 210A and the software B 210B stored in the memory 200, and outputs a processing result. It has a configuration.

なお、CPU100は、従来と同様のRAS機能を備えているものとする。また、CPU100と、ソフトウェアA210AとソフトウェアB210Bとが格納されたメモリ200とでCPU故障検出装置として機能することができる。   Note that the CPU 100 is assumed to have the same RAS function as the conventional one. Further, the CPU 100 and the memory 200 in which the software A 210A and the software B 210B are stored can function as a CPU failure detection device.

ソフトウェア実行部110は、実行形式に変換されたソフトウェアA210AおよびソフトウェアB210Bを読み込んで、それぞれのソフトウェアにしたがった実行処理を行なう。ソフトウェア実行部110は、ソフトウェアの実行処理を行なうために複数本のレジスタ等のリソース群112を有している。   The software execution unit 110 reads the software A 210A and the software B 210B converted into the execution format, and performs an execution process according to each software. The software execution unit 110 has a resource group 112 such as a plurality of registers for performing software execution processing.

ソフトウェアの実行処理の際に、どのレジスタを用いるか、使用するメモリアドレス範囲をどのように割り当てるかは、ソフトウェア実行部110で実行するソフトウェアの記述に委ねられる。ソフトウェア実行に利用されるメモリは、CPU100の外部に存在する場合と、ソフトウェア実行部110のリソースの1つとしてCPU100に内蔵される場合とがある。   In the execution process of software, which register is used and how the memory address range to be used is assigned is left to the description of the software executed by the software execution unit 110. The memory used for software execution may exist outside the CPU 100 or may be built in the CPU 100 as one of the resources of the software execution unit 110.

ソフトウェア実行部110の出力結果は、第1バッファとして機能するバッファA120A、第2バッファとして機能するバッファB120Bに選択的に一時的に格納される。バッファA120A、バッファB120Bのいずれのバッファに格納されるかは、ソフトウェア実行部110で実行するソフトウェアの記述に委ねられる。   The output result of the software execution unit 110 is selectively temporarily stored in the buffer A 120A functioning as the first buffer and the buffer B 120B functioning as the second buffer. Whether the data is stored in the buffer A 120A or the buffer B 120B is left to the description of the software executed by the software execution unit 110.

出力制御部130は、ソフトウェア実行部110の処理結果を外部に出力する。この際に、バッファA120Aに格納された処理結果と、バッファB120Bに格納された処理結果とが一致しない場合には、外部への出力を行なわず、異常検出エラーを出力する。また、実際に出力された処理結果と、バッファA120Aに格納された処理結果とが一致しない場合には、異常検出エラーを出力する。   The output control unit 130 outputs the processing result of the software execution unit 110 to the outside. At this time, if the processing result stored in the buffer A 120A does not match the processing result stored in the buffer B 120B, an abnormality detection error is output without outputting to the outside. Further, when the processing result actually output does not match the processing result stored in the buffer A 120A, an abnormality detection error is output.

これらの処理を行なうため、出力制御部130は、バッファ比較部131、出力部132、出力モニタ部133、出力比較部134、異常通知部135を備えている。   In order to perform these processes, the output control unit 130 includes a buffer comparison unit 131, an output unit 132, an output monitor unit 133, an output comparison unit 134, and an abnormality notification unit 135.

バッファ比較部131は、バッファA120AとバッファB120Bに格納されている処理結果とを比較し、両者が一致しているかどうかを判断する。両者が一致していると判断した場合には、出力部132に通知し、両者が一致していないと判断した場合には、異常通知部135に通知する。   The buffer comparison unit 131 compares the processing results stored in the buffer A 120A and the buffer B 120B, and determines whether or not they match. When it is determined that the two match, the output unit 132 is notified, and when it is determined that they do not match, the abnormality notification unit 135 is notified.

出力部132は、バッファ比較部131がバッファA120AとバッファB120Bに格納されている処理結果が一致していると判断した場合に、バッファA120Aに格納されている出力結果を外部に出力する。   When the buffer comparison unit 131 determines that the processing results stored in the buffer A 120A and the buffer B 120B match, the output unit 132 outputs the output result stored in the buffer A 120A to the outside.

出力モニタ部133は、出力部132から実際に出力された処理結果を取得する。   The output monitor unit 133 acquires the processing result actually output from the output unit 132.

出力比較部134は、出力モニタ部133が取得した実際に出力された処理結果と、バッファA120Aに格納されている処理結果とを比較し、両者が一致しているかどうかを判断する。両者が一致していないと判断した場合には、異常通知部135に通知する。   The output comparison unit 134 compares the actually output processing result acquired by the output monitor unit 133 with the processing result stored in the buffer A 120A, and determines whether or not they match. If it is determined that the two do not match, the abnormality notification unit 135 is notified.

異常通知部135は、バッファ比較部131が、バッファA120AとバッファB120Bに格納されている処理結果が一致していないと判断した場合、あるいは、出力比較部134が、実際に出力された処理結果と、バッファA120Aに格納されている処理結果とが一致していないと判断した場合に、異常検出エラーを出力する。   The abnormality notification unit 135 determines that the buffer comparison unit 131 determines that the processing results stored in the buffer A 120A and the buffer B 120B do not match, or the output comparison unit 134 determines that the processing result actually output is When it is determined that the processing result stored in the buffer A 120A does not match, an abnormality detection error is output.

なお、以上の構成においてバッファA120AとバッファB120Bの役割を逆にしてもよい。   In the above configuration, the roles of the buffer A 120A and the buffer B 120B may be reversed.

ソフトウェアA210Aと、ソフトウェアB210Bとは、同じ処理を行なうために開発されたソフトウェアであり、ソフトウェア実行部110が解釈可能な書式で作成されている。ソフトウェアA210Aと、ソフトウェアB210Bとは、テキスト形式であっても、実行形式であってもよい。テキスト形式の場合には、ソフトウェア実行部110に読み込まれる際に実行形式に変換される。   Software A 210A and software B 210B are software developed to perform the same processing, and are created in a format that can be interpreted by software execution unit 110. Software A 210A and software B 210B may be in a text format or an execution format. In the case of a text format, it is converted into an execution format when read by the software execution unit 110.

ソフトウェアA210AとソフトウェアB210Bとは同じ処理を行なうが、ソフトウェアA210Aは、アルゴリズムAにより処理を行ない、ソフトウェアB210Bは、アルゴリズムAと異なるアルゴリズムBにより処理を行なうように作成されている。   Software A 210A and software B 210B perform the same processing, but software A 210A performs processing by algorithm A, and software B 210B is created to perform processing by algorithm B different from algorithm A.

ここで、ソフトウェアA210Aは、第1のソフトウェアとして機能し、アルゴリズムAは、第1のアルゴリズムとして機能する。また、ソフトウェアB210Bは、第2のソフトウェアとして機能し、アルゴリズムBは、第2のアルゴリズムとして機能する。   Here, the software A 210A functions as first software, and the algorithm A functions as a first algorithm. The software B 210B functions as second software, and the algorithm B functions as a second algorithm.

また、ソフトウェアA210AとソフトウェアB210Bとは、異なるリソースを用いて処理を行なうように作成されている。すなわち、ソフトウェアA210AとソフトウェアB210Bとで、使用するレジスタの割り当てを異ならせている。   The software A 210A and the software B 210B are created so as to perform processing using different resources. That is, the allocation of registers to be used is different between software A 210A and software B 210B.

ここで、ソフトウェアA210Aが用いるリソースは第1のリソースとして機能し、ソフトウェアB210Bが用いるリソースは第2のリソースとして機能する。   Here, the resource used by the software A 210A functions as a first resource, and the resource used by the software B 210B functions as a second resource.

次に、本実施形態の処理手順について図2のフローチャートを参照して説明する。処理を開始すると、先ず、CPU100のソフトウェア実行部110が、ソフトウェアA210Aを実行する(S101)。すなわち、アルゴリズムAによる処理を、リソースAを用いて行なう。   Next, the processing procedure of this embodiment is demonstrated with reference to the flowchart of FIG. When the process is started, first, the software execution unit 110 of the CPU 100 executes the software A 210A (S101). That is, the processing by algorithm A is performed using resource A.

そして、ソフトウェアA210Aによる処理結果をバッファA120Aに格納する(S102)。   Then, the processing result by the software A 210A is stored in the buffer A 120A (S102).

次いで、CPU100のソフトウェア実行部110は、ソフトウェアB210Bを実行する(S103)。すなわち、アルゴリズムBによる処理を、リソースBを用いて行なう。   Next, the software execution unit 110 of the CPU 100 executes the software B 210B (S103). That is, the processing by algorithm B is performed using resource B.

そして、ソフトウェアB210Bによる処理結果をバッファB120Bに格納する(S104)。   Then, the processing result by the software B 210B is stored in the buffer B 120B (S104).

ソフトウェアA210A、ソフトウェアB210Bによる処理が終了すると、バッファ比較部131が、バッファA120AとバッファB120Bに格納されている処理結果とを比較し、両者が一致しているかどうかを判断する(S105)。   When the processing by the software A 210A and the software B 210B is completed, the buffer comparison unit 131 compares the processing results stored in the buffer A 120A and the buffer B 120B, and determines whether or not they match (S105).

その結果、両者が不一致の場合には(S105:No)、CPU100内のレジスタ等のリソースが故障していると考えられるため、異常通知部135が、異常検出エラーを出力し、処理を終了する(S109)。この場合、処理結果は外部に出力されない。   As a result, when the two do not match (S105: No), it is considered that a resource such as a register in the CPU 100 is out of order, so the abnormality notification unit 135 outputs an abnormality detection error and ends the processing. (S109). In this case, the processing result is not output to the outside.

このように、本実施形態では、同じ処理を異なるアルゴリズムと異なるリソースを用いて行ない、両者の処理結果を比較するようにしているため、CPU100内の故障検出能力を向上させることができる。   As described above, in this embodiment, the same processing is performed using different algorithms and different resources, and the processing results of both are compared. Therefore, the failure detection capability in the CPU 100 can be improved.

一方、両者が一致している場合には(S105:Yes)、出力部132が、バッファA120Aに格納されている処理結果を外部に出力する(S106)。もちろん、バッファB120Bに格納されている処理結果を出力してもよい。   On the other hand, if the two match (S105: Yes), the output unit 132 outputs the processing result stored in the buffer A 120A to the outside (S106). Of course, the processing result stored in the buffer B120B may be output.

そして、出力モニタ部133が、出力部132から実際に出力された処理結果を取得する(S107)。次いで、出力比較部134が、実際に出力された処理結果とバッファA120Aに格納された処理結果とを比較し、両者が一致しているかどうかを判断する(S108)。もちろん、バッファB120Bに格納されている処理結果と比較してもよい。   Then, the output monitor unit 133 acquires the processing result actually output from the output unit 132 (S107). Next, the output comparison unit 134 compares the actually output processing result with the processing result stored in the buffer A 120A, and determines whether or not they match (S108). Of course, the processing result stored in the buffer B120B may be compared.

その結果、両者が不一致の場合には(S108:No)、CPU100内の出力部132が故障していると考えられるため、異常通知部135が、異常検出エラーを出力し、処理を終了する(S109)。   As a result, if the two do not match (S108: No), it is considered that the output unit 132 in the CPU 100 is out of order, so the abnormality notification unit 135 outputs an abnormality detection error and ends the processing ( S109).

このように、本実施形態では、実際に出力された処理結果と、バッファに格納している処理結果とを比較するようにしているため、出力部の診断を行なうための出力部の2重化が不要となり、自己診断が1回で済むことになる。これにより、出力部の自己診断の時間を短縮することができる。   As described above, in the present embodiment, since the actually output processing result is compared with the processing result stored in the buffer, the output unit for diagnosing the output unit is duplicated. Is unnecessary, and self-diagnosis is completed only once. Thereby, the time of the self-diagnosis of an output part can be shortened.

一方、両者が一致している場合には(S108:Yes)、CPU100に異常が検出されなかったものとして、正常終了する。   On the other hand, if the two match (S108: Yes), it is assumed that no abnormality has been detected by the CPU 100 and the process ends normally.

以上説明したように、本実施形態によれば、CPU自体を2重化することなくCPUの故障検出を行なう手法において、出力部の自己診断の時間を短縮するとともに、レジスタ等のCPUのリソースの故障を検出可能とすることができる。   As described above, according to the present embodiment, in the method of detecting a failure of the CPU without duplicating the CPU itself, the self-diagnosis time of the output unit is shortened, and the resources of the CPU such as a register are reduced. A failure can be detected.

なお、CPUがリソースとしてレジスタに加えメモリを内蔵する場合には、ソフトウェアA210AとソフトウェアB210Bとで異なるメモリアドレス範囲を使用するようにすることで、内蔵メモリの故障を検出することができるようになる。その他のリソースを有している場合も同様に故障を検出することができるようになる。   When the CPU incorporates a memory in addition to a register as a resource, a failure of the built-in memory can be detected by using different memory address ranges for the software A 210A and the software B 210B. . A failure can be detected in the same manner when other resources are included.

110…ソフトウェア実行部、112…リソース群、120A…バッファA、120B…バッファB、130…出力制御部、131…バッファ比較部、132…出力部、133…出力モニタ部、134…出力比較部、135…異常通知部、200…メモリ、210A…ソフトウェアA、210B…ソフトウェアB DESCRIPTION OF SYMBOLS 110 ... Software execution part, 112 ... Resource group, 120A ... Buffer A, 120B ... Buffer B, 130 ... Output control part, 131 ... Buffer comparison part, 132 ... Output part, 133 ... Output monitor part, 134 ... Output comparison part, 135 ... Abnormality notification unit, 200 ... Memory, 210A ... Software A, 210B ... Software B

Claims (3)

複数のリソースを備え、読み込んだソフトウェアを実行するソフトウェア実行部と、前記ソフトウェア実行部の処理結果を選択的に格納する第1バッファおよび第2バッファと、出力制御部とを備えたCPUにおけるCPU故障検出方法であって、
前記ソフトウェア実行部が、第1のアルゴリズムによる所定の処理を、前記リソースのうちの第1のリソースを用いて実行し、その処理結果を前記第1バッファに格納するステップと、
前記ソフトウェア実行部が、第2のアルゴリズムによる前記所定の処理を、前記リソースのうちの第2のリソースを用いて実行し、その処理結果を前記第2バッファに格納するステップと、
前記出力制御部が、前記第1バッファに格納されている処理結果と前記第2バッファに格納されている処理結果とを比較し、両者が一致している場合には、いずれかのバッファに格納されている処理結果を外部に出力し、両者が不一致の場合には、異常検出エラーを出力するステップと、
前記処理結果が外部に出力された場合に、前記出力制御部が、外部に出力された処理結果と、いずれかのバッファに格納されている処理結果とを比較し、両者が不一致の場合には異常検出エラーを出力するステップとを有することを特徴とするCPU故障検出方法。
CPU failure in a CPU comprising a plurality of resources, a software execution unit that executes the loaded software, a first buffer and a second buffer that selectively store processing results of the software execution unit, and an output control unit A detection method,
The software execution unit executing a predetermined process by a first algorithm using the first resource of the resources, and storing the process result in the first buffer;
The software execution unit executing the predetermined processing by a second algorithm using a second resource of the resources, and storing the processing result in the second buffer;
The output control unit compares the processing result stored in the first buffer with the processing result stored in the second buffer, and if the two match, stores in one of the buffers Output the processed result to the outside, and if both do not match, output an abnormality detection error;
When the processing result is output to the outside, the output control unit compares the processing result output to the outside with the processing result stored in one of the buffers. And a step of outputting an abnormality detection error.
複数のリソースを備え、読み込んだソフトウェアを実行するソフトウェア実行部と、
前記ソフトウェア実行部の処理結果を選択的に格納する第1バッファおよび第2バッファと、
前記第1バッファに格納されている処理結果と前記第2バッファに格納されている処理結果とを比較し、両者が一致している場合には、いずれかのバッファに格納されている処理結果を外部に出力し、両者が不一致の場合には、異常検出エラーを出力し、さらに、前記処理結果が外部に出力された場合に、外部に出力された処理結果と、いずれかのバッファに格納されている処理結果とを比較し、両者が不一致の場合には異常検出エラーを出力する出力制御部と、
前記ソフトウェア実行部に、第1のアルゴリズムによる所定の処理を、前記リソースのうちの第1のリソースを用いて実行させ、その処理結果を前記第1バッファに格納させる第1のソフトウェアと、前記ソフトウェア実行部に、第2のアルゴリズムによる前記所定の処理を、前記リソースのうちの第2のリソースを用いて実行させ、その処理結果を前記第2バッファに格納させる第2のソフトウェアとを格納したメモリと、を備えたことを特徴とするCPU故障検出装置。
A software execution unit that includes a plurality of resources and executes the loaded software;
A first buffer and a second buffer for selectively storing a processing result of the software execution unit;
The processing result stored in the first buffer is compared with the processing result stored in the second buffer, and if both match, the processing result stored in any buffer is Output to the outside, if both do not match, output an abnormality detection error, and when the processing result is output to the outside, the processing result output to the outside and stored in one of the buffers Output control unit that outputs an abnormality detection error when both do not match,
First software for causing the software execution unit to execute a predetermined process according to a first algorithm using a first resource of the resources and storing the processing result in the first buffer; A memory storing second software for causing the execution unit to execute the predetermined processing by the second algorithm using the second resource of the resources and storing the processing result in the second buffer. And a CPU failure detection device.
前記複数のリソースには、複数本のレジスタが含まれることを特徴とする請求項2に記載のCPU故障検出装置。   The CPU failure detection apparatus according to claim 2, wherein the plurality of resources include a plurality of registers.
JP2010002189A 2010-01-07 2010-01-07 Cpu failure detection method and cpu failure detection device Pending JP2011141756A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010002189A JP2011141756A (en) 2010-01-07 2010-01-07 Cpu failure detection method and cpu failure detection device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010002189A JP2011141756A (en) 2010-01-07 2010-01-07 Cpu failure detection method and cpu failure detection device

Publications (1)

Publication Number Publication Date
JP2011141756A true JP2011141756A (en) 2011-07-21

Family

ID=44457546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010002189A Pending JP2011141756A (en) 2010-01-07 2010-01-07 Cpu failure detection method and cpu failure detection device

Country Status (1)

Country Link
JP (1) JP2011141756A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021255926A1 (en) * 2020-06-19 2021-12-23 富士通株式会社 Control method, information processing device, and control program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021255926A1 (en) * 2020-06-19 2021-12-23 富士通株式会社 Control method, information processing device, and control program

Similar Documents

Publication Publication Date Title
JP2011123545A (en) Comparison redundancy type information processing apparatus
JP2006285631A (en) Duplex system
JP2015018414A (en) Microcomputer
JP5608409B2 (en) Self-diagnosis system and test circuit determination method
JPH0375834A (en) Apparatus and method of sequentially correcting parity
JP2011141756A (en) Cpu failure detection method and cpu failure detection device
JP4900680B2 (en) Semiconductor memory test equipment
JP2011128821A (en) Redundant field apparatus
JP6580279B2 (en) Test apparatus, test method and test program
JP2011154459A (en) Program abnormal operation detection device for computer system
JP2010102565A (en) Duplex controller
JP2012150661A (en) Processor operation inspection system and its inspection method
JP2019087020A (en) Semiconductor device and semiconductor system comprising the same
JP2019020864A (en) Arithmetic unit
JP2019046274A (en) Input and output device
JP6133614B2 (en) Fault log collection device, fault log collection method, and fault log collection program
CN104809038B (en) FIFO exception handling method and device
JP2011039667A (en) Numerical value controller
JP2008262557A (en) Task management device for controller and task management method for controller
JP2009282849A (en) Microcomputer
JP2005092621A (en) Electronic control device
JP2004093198A (en) Electronic device having self-diagnosis function
JP6275098B2 (en) Control device and register failure recovery method
JP2008192108A (en) Duplex information processing system
JP2011134261A (en) Arithmetic processing unit, information processor, and method of controlling arithmetic processing unit