WO2011142015A1 - 演算器異常判定装置及び方法 - Google Patents

演算器異常判定装置及び方法 Download PDF

Info

Publication number
WO2011142015A1
WO2011142015A1 PCT/JP2010/058069 JP2010058069W WO2011142015A1 WO 2011142015 A1 WO2011142015 A1 WO 2011142015A1 JP 2010058069 W JP2010058069 W JP 2010058069W WO 2011142015 A1 WO2011142015 A1 WO 2011142015A1
Authority
WO
WIPO (PCT)
Prior art keywords
arithmetic
unit
comparison
abnormality
abnormality determination
Prior art date
Application number
PCT/JP2010/058069
Other languages
English (en)
French (fr)
Inventor
宗徳 中村
裕子 假家
Original Assignee
トヨタ自動車株式会社
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 トヨタ自動車株式会社 filed Critical トヨタ自動車株式会社
Priority to PCT/JP2010/058069 priority Critical patent/WO2011142015A1/ja
Priority to DE112010005554T priority patent/DE112010005554T5/de
Priority to JP2012514642A priority patent/JPWO2011142015A1/ja
Priority to US13/697,240 priority patent/US20130055038A1/en
Publication of WO2011142015A1 publication Critical patent/WO2011142015A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2226Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test ALU

Definitions

  • the present invention relates to an arithmetic unit abnormality determination device and an arithmetic unit abnormality determination method for determining abnormality of an arithmetic unit.
  • Patent Document 1 discloses a configuration in which one microcomputer also executes a calculation monitoring routine in addition to a main control routine and a run pulse generation routine.
  • the microcomputer performs self-diagnosis by the arithmetic monitoring process to determine whether the arithmetic process executed in each control process of the main control process is normally executed, and the execution of the main control process is externally executed based on the diagnosis result. Cancel from.
  • an object of the present invention is to provide an arithmetic unit abnormality determination device and an arithmetic unit abnormality determination method that can determine an abnormality of an arithmetic unit with high accuracy by determining the presence or absence of an abnormality in a comparison operation.
  • an arithmetic unit abnormality determination device that determines abnormality of an arithmetic unit, A comparison calculation abnormality determination unit that performs a comparison calculation using the calculator and determines whether or not the comparison calculation is abnormal; Arithmetic / logical operation of a predetermined arithmetic expression including at least one of arithmetic operation and logical operation using the arithmetic unit, an operation result obtained by the arithmetic / logical operation, and a stored value of a correct answer value corresponding thereto
  • An arithmetic unit abnormality determination device comprising an arithmetic / logical operation abnormality determination unit that determines whether there is an abnormality in the arithmetic / logical operation by performing a comparison operation.
  • an arithmetic unit abnormality determination method for determining abnormality of an arithmetic unit, Performing a comparison operation using the calculator, and determining whether the comparison operation is abnormal; and Arithmetic / logical operation of a predetermined arithmetic expression including at least one of arithmetic operation and logical operation using the arithmetic unit, an operation result obtained by the arithmetic / logical operation, and a stored value of a correct answer value corresponding thereto And a step of determining the presence / absence of abnormality of the arithmetic / logical operation by performing a comparison operation.
  • an arithmetic unit abnormality determination device and an arithmetic unit abnormality determination method capable of accurately determining an abnormality of an arithmetic unit by determining the presence or absence of an abnormality in a comparison operation.
  • FIG. 1 shows an example of a configuration of a main part of an electronic arithmetic unit 10 including an example of an arithmetic unit abnormality determination device according to the present invention.
  • the electronic arithmetic unit 10 includes a microcomputer 20 and a power supply IC 30 as shown in FIG.
  • the microcomputer 20 includes a CPU (Central Processing Unit) 21, which includes an ALU (Arithmetic and Logic Unit) 22 that performs arithmetic and logical operations, and a PSU (Program Status Unit) 24 that holds a program status word. And a BSF (barrel shifter) 26 for performing a shift operation.
  • the microcomputer 20 also includes a port 26 that outputs a watchdog cancel signal (WDC) to the power supply IC 30.
  • WDC watchdog cancel signal
  • the power supply IC 30 is provided outside the microcomputer 20 and connected to the microcomputer 20.
  • the power supply IC 30 includes a watchdog timer (WDT) 32, an abnormality detection unit 34 that detects an abnormality of the microcomputer 20, and a reset that resets the microcomputer 20 when an abnormality of the microcomputer 20 is detected by the abnormality detection unit 34. And a reset unit (RST) 36 for outputting a signal.
  • the abnormality detection unit 34 may determine whether there is an abnormality in the microcomputer 20 based on the monitoring result of the WDC 32 sent from the microcomputer 20.
  • the abnormality detection unit 34 may reset the WDC in a case where WDC inversion does not occur within a predetermined time or an abnormality (for example, an inversion cycle smaller than a predetermined reference level) occurs in the WDC inversion cycle (pulse width).
  • the microcomputer 20 is reset via 36.
  • the reset unit 36 may forcibly stop the microcomputer 20 by turning off the power, or may turn it on again after turning off the power.
  • FIG. 2 is a time-series diagram illustrating an example of the timing of the abnormality detection process of the electronic arithmetic device 10.
  • the monitoring process of the microcomputer 20 is executed when an interrupt occurs every 1 ms, for example. This interrupt (pulse) is output by the highest priority processing in the microcomputer 20.
  • the presence / absence of abnormality such as the calculation results of the ALU 22, PSU 24 and BSF 26 is mainly monitored and determined. Details of the contents of the monitoring process will be described later with reference to FIG.
  • the control process may be executed independently of the monitoring process.
  • the control process may be a process related to vehicle control (for example, control of a hybrid system), for example.
  • the control process is executed every 8 ms.
  • the watchdog cancel signal (WDC) is inverted when it is normal as a result of the monitoring process. Therefore, the WDC is inverted every 1 ms when normal.
  • the WDC is stopped. For example, as shown in FIG. 2, the WDC is stopped if, for example, there is an abnormality in the calculation result at point A or an interrupt of 1 ms has not occurred.
  • the voltage exceeds the reset threshold (see arrow B in the figure), and the microcomputer 20 is reset.
  • the monitoring / judgment of abnormality such as the calculation results of the ALU 22, PSU 24, and BSF 26 in the monitoring process may be executed at intervals of an integer multiple of interrupts every 1 ms, such as every 4 ms.
  • the WDC is inverted when an interrupt occurs every 1 ms except for a period that is an integer multiple of the interrupt every 1 ms. Inverted according to the monitoring / judgment result of abnormality such as the calculation result.
  • FIG. 3 is a diagram showing the main functions related to the monitoring process of an embodiment of the arithmetic unit abnormality determination device 40 according to the present invention.
  • the arithmetic unit abnormality determination device 40 includes a comparison calculation abnormality determination unit 42 and an arithmetic / logic operation abnormality determination unit 44.
  • the comparison operation abnormality determination unit 42 and the arithmetic / logic operation abnormality determination unit 44 are configured so that the CPU 21 of the microcomputer 20 monitors a monitoring processing program (FIG. 4) stored in a memory (not shown) such as a ROM in the microcomputer 20. This is realized by executing (see).
  • FIG. 4 is a diagram illustrating an example of a monitoring processing program.
  • the program shown in FIG. 4 is described in C language, but may be described in other languages (including high-level languages such as JAVA (registered trademark)).
  • the monitoring processing program shown in FIG. 4 includes check sections P and Q for comparison operations and a check section R for arithmetic / logic operations as main features.
  • ZF zero flag
  • ZF 1
  • ZF 1
  • the arithmetic / logical operation check unit R determines whether there is an abnormality in the arithmetic / logical operation by comparing the operation result according to a predetermined arithmetic expression and the stored value of the correct answer value corresponding thereto by a comparison operation.
  • arithmetic expression is used as a preferable example.
  • galuchk in the check unit R corresponds to 0x6A in Equation 1.
  • the predetermined arithmetic expression is preferably set so as to include all types of arithmetic operations and all types of logical operations. Thereby, it is possible to check whether there is an abnormality in various operations without omission.
  • shift operation is incorporated in the Y1 part
  • logical AND is incorporated in the Y2 part
  • product of four arithmetic operations is incorporated in the Y3 part
  • the Y4 part is incorporated in the Y4 part.
  • the quotient of the arithmetic operation is incorporated, the sum of the arithmetic operation is incorporated in the Y5 part, the OR of the logical operation is incorporated in the Y6 part, the NOT of the logical operation is incorporated in the Y7 part, and the arithmetic operation is incorporated in the Y8 part.
  • the difference is built in.
  • the values (0x6A and 0x9E) in the AND (Y2 part) of the logical operation are preferably selected to include all of 0 & 0, 0 & 1, 1 & 0, 1 & 1.
  • the numerical value (the numerical value of the result of Y3 part and the numerical value of the result of Y4 part) in the sum of the four arithmetic operations (part Y5) is preferably a combination of 0 and 1, so that four patterns of summation are covered. More preferably, it is set so that a total of eight patterns of summation is covered by the presence or absence of carry.
  • the numerical value (the numerical value obtained by summing the Y3 part and the Y4 part and 0x0D) in the OR (Y6 part) of the logical operation includes all of 0
  • the Branching out of the “if” statement indicates that there is an abnormality in the operation of the predetermined arithmetic expression. Therefore, in this case, the WDC is stopped.
  • the check results of the three check units P, Q, and R are combined under an AND condition as a condition for inverting WDC (WDC output condition). Therefore, the WDC is inverted only when it is determined that all the three check units P, Q, and R are normal. That is, when it is determined that any one of the three check units P, Q, and R is abnormal, the WDC is stopped, and as a result, the microcomputer 20 is reset.
  • FIG. 6 is a flowchart showing a flow of an example of the monitoring process executed by the arithmetic unit abnormality determination device 40.
  • step 600 the arithmetic / logical operation abnormality determination unit 44 performs arithmetic / logical operation of a predetermined arithmetic expression. That is, the left side of the arithmetic expression shown in Equation 1 is calculated.
  • the predetermined arithmetic expression is stored in advance in a ROM or the like together with the answer value. Further, a plurality of types of predetermined arithmetic expressions may be prepared. In this case, the predetermined arithmetic expressions may be read out so as to be used one by one in a predetermined order from among the plurality of types of arithmetic expressions.
  • step 602 the comparison calculation abnormality determination unit 42 checks whether or not the comparison calculation is normal. This check may be executed by the above-described method (see the comparison operation check units P and Q in FIG. 4). That is, a comparison operation between the same values is performed, a comparison operation between different values is performed, and if any one of them is abnormal, it is determined that the comparison operation is abnormal. If the comparison operation is normal, the process proceeds to step 604. On the other hand, if the comparison operation is abnormal, nothing is executed and the process ends. In this case, the WDC is stopped and the microcomputer 20 is reset.
  • step 604 the arithmetic / logic operation abnormality determination unit 44 stores the operation result of the arithmetic / logical operation performed in step 600 and the corresponding correct answer value (the right side of the arithmetic expression shown in Equation 1) ( (ROM value) is compared to check whether the arithmetic / logical operation performed in step 600 is normal (see the arithmetic / logical operation check section R in FIG. 4). If the result of the arithmetic / logical operation performed in step 600 matches the correct answer value, it is determined that the arithmetic / logical operation is normal, and the process proceeds to step 606.
  • the correct answer value the right side of the arithmetic expression shown in Equation 1
  • step 600 if the calculation result of the arithmetic / logical operation performed in step 600 does not match the correct answer value, it is determined that the arithmetic / logical operation is abnormal, nothing is executed, and the process ends. In this case, the WDC is stopped and the microcomputer 20 is reset.
  • step 606 WDC output (inversion) is performed. Therefore, the microcomputer 20 is not reset.
  • the presence or absence of an abnormality in a comparison operation is checked by checking the presence or absence of an abnormality in the comparison operation at a level at which the comparison operator is expanded in assembler. Can be judged.
  • the ALU 22 is monitored in parallel with the WDC monitoring by introducing the ALU check condition (see FIG. 6) into the WDC output condition.
  • Such a configuration is advantageous in that a monitoring system can be realized at low cost because hardware resources are efficiently used.
  • the ALU 22 and the like may be monitored by changing the WDC pulse width in conjunction with the ALU check result (see steps 602 and 604 in FIG. 6).
  • a monitoring microcomputer is required for ALU check, or a high-performance monitoring IC is required.
  • a dedicated pulse may be output only when the ALU check result is normal (see YES in step 604 in FIG. 6). In this case, however, a dedicated connection line for monitoring dedicated pulses is required between the microcomputer 20 and the power supply IC 30.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

 本発明は、演算器の異常を判定する演算器異常判定装置であって、前記演算器を用いて比較演算を実施し、該比較演算の異常の有無を判定する比較演算異常判定部と、前記演算器を用いて算術演算及び論理演算のうちの少なくとも一方を含む所定の演算式を算術/論理演算し、該算術/論理演算により得られる演算結果と、それに対応する正答値の記憶値とを比較演算することで、該算術/論理演算の異常の有無を判定する算術/論理演算異常判定部とを備えることを特徴とする。

Description

演算器異常判定装置及び方法
 本発明は、演算器の異常を判定する演算器異常判定装置及び演算器異常判定方法に関する。
 従来から、演算手段によって演算可能な所定の演算問題を所定の監視周期毎に演算手段に演算させてその演算結果を取得し、演算結果と、演算問題に対して予め設定された答えとを照合することで演算処理が正常に実行されたか否かを判定する演算装置が知られている(例えば、特許文献1参照)。また、特許文献1には、1つのマイコンが、メイン制御ルーチン及びランパルス生成ルーチンに加えて、演算監視ルーチンをも実行する構成が開示される。この構成では、マイコンは、メイン制御処理の各制御処理で実行する演算処理が正常に実行されているか否かを演算監視処理によって自己診断し、その診断結果に基づいてメイン制御処理の実行を外部から中止する。
特許第4003420号公報(図7(b))
 しかしながら、上述の特許文献1に開示されるような構成では、演算結果と、演算問題に対して予め設定された答えとを照合する際には、比較演算を行う必要があるが、この比較演算が正常に行われていない場合には、誤った診断結果が出力される虞がある。
 そこで、本発明は、比較演算の異常の有無を判定することで精度良く演算器の異常を判定することができる演算器異常判定装置及び演算器異常判定方法の提供を目的とする。
 上記目的を達成するため、本発明の一局面によれば、演算器の異常を判定する演算器異常判定装置であって、
 前記演算器を用いて比較演算を実施し、該比較演算の異常の有無を判定する比較演算異常判定部と、
 前記演算器を用いて算術演算及び論理演算のうちの少なくとも一方を含む所定の演算式を算術/論理演算し、該算術/論理演算により得られる演算結果と、それに対応する正答値の記憶値とを比較演算することで、該算術/論理演算の異常の有無を判定する算術/論理演算異常判定部とを備えることを特徴とする演算器異常判定装置が提供される。
 また、本発明のその他の一局面によれば、演算器の異常を判定する演算器異常判定方法であって、
 前記演算器を用いて比較演算を実施し、該比較演算の異常の有無を判定するステップと、
 前記演算器を用いて算術演算及び論理演算のうちの少なくとも一方を含む所定の演算式を算術/論理演算し、該算術/論理演算により得られる演算結果と、それに対応する正答値の記憶値とを比較演算することで、該算術/論理演算の異常の有無を判定するステップとを備えることを特徴とする、演算器異常判定方法が提供される。
 本発明によれば、比較演算の異常の有無を判定することで精度良く演算器の異常を判定することができる演算器異常判定装置及び演算器異常判定方法が得られる。
本発明による演算器異常判定装置1の一実施例を含む電子演算装置10の要部構成の一例を示す図である。 電子演算装置10の異常検出処理のタイミングの一例を示す時系列図である。 本発明による演算器異常判定装置40の一実施例の要部機能を示す図である。 監視処理プログラムの一例を示す図である。 演算式の内訳を示す図である。 演算器異常判定装置40により実行される監視処理の一例の流れを示すフローチャートである。
 以下、図面を参照して、本発明を実施するための最良の形態の説明を行う。
 図1は、本発明による演算器異常判定装置の一実施例を含む電子演算装置10の要部構成の一例を示す。
 電子演算装置10は、図1に示すように、マイクロコンピューター20と、電源IC30とを含む。
 マイクロコンピューター20は、CPU(中央演算処理装置)21を含み、CPU21は、算術・論理演算を行うALU(Arithmetic and Logic Unit)22、プログラム・ステータス・ワードの保持を行うPSU(Program Status Unit)24、シフト演算を行うBSF(バレルシフタ)26等を含む。マイクロコンピューター20は、また、ウォッチドックキャンセル信号(WDC)を電源IC30に出力するポート26を含む。
 電源IC30は、マイクロコンピューター20の外部に設けられ、マイクロコンピューター20に接続される。電源IC30は、ウォッチドックタイマー(WDT)32と、マイクロコンピューター20の異常を検知する異常検知部34と、異常検知部34によりマイクロコンピューター20の異常が検知された際にマイクロコンピューター20をリセットさせるリセット信号を出力するリセット部(RST)36とを含む。異常検知部34は、マイクロコンピューター20から送られるWDCのWDT32による監視結果に基づいて、マイクロコンピューター20の異常の有無を判定してもよい。例えば、異常検知部34は、一定時間内にWDCの反転が生じない場合や、WDCの反転周期(パルス幅)に異常(例えば所定基準レベルよりも小さい反転周期)が発生した場合等、リセット部36を介してマイクロコンピューター20をリセットさせる。尚、リセット部36は、電源切断によりマイクロコンピューター20を強制停止させてもよいし、電源を切断した後に再投入してもよい。
 図2は、電子演算装置10の異常検出処理のタイミングの一例を示す時系列図である。マイクロコンピューター20の監視処理は、図2に示すように、例えば1ms毎の割り込み発生時に実行される。この割り込み(パルス)は、マイクロコンピューター20における最優先度処理にて出力される。監視処理では、主にALU22、PSU24及びBSF26の演算結果等の異常の有無を監視・判断する。監視処理の内容の詳細は、図3以降を参照して、後述する。尚、制御処理は、監視処理から独立して実行されてもよい。制御処理は、例えば車両制御(例えばハイブリッドシステムの制御)に関する処理であってよい。図示の例では、制御処理は、8ms毎に実行される。ウォッチドックキャンセル信号(WDC)は、監視処理の結果、正常時は反転される。従って、WDCは、正常時は、1ms毎に反転される。他方、監視処理の結果、異常時は、WDCは停止される。例えば、図2に示すように、A点にて例えば演算結果の異常や1msの割り込み未発生があった場合、WDCが停止される。その結果、電源IC30において、電圧がリセット閾値を超えて(図中の矢印B参照)マイクロコンピューター20のリセットが生じる。尚、監視処理におけるALU22、PSU24及びBSF26の演算結果等の異常の監視・判断は、例えば4ms毎といったように、1ms毎の割り込みの整数倍の周期毎に実行されてもよい。この場合、1ms毎の割り込みの整数倍の周期以外では、WDCは、1ms毎の割り込み発生時に反転され、1ms毎の割り込みの整数倍の周期では、WDCは、監視処理におけるALU22、PSU24及びBSF26の演算結果等の異常の監視・判断結果に応じて反転される。
 図3は、本発明による演算器異常判定装置40の一実施例の監視処理に係る要部機能を示す図である。演算器異常判定装置40は、図3に示すように、比較演算異常判定部42と、算術/論理演算異常判定部44とを含む。これらの比較演算異常判定部42及び算術/論理演算異常判定部44は、マイクロコンピューター20のCPU21が、マイクロコンピューター20内のROM等のメモリ(図示せず)に記憶された監視処理プログラム(図4参照)を実行することによって実現される。
 図4は、監視処理プログラムの一例を示す図である。尚、図4に示すプログラムは、C言語で記述されているが、当然ながら他の言語(JAVA(登録商標)等の高級言語を含む)で記述されてもよい。
 図4に示す監視処理プログラムは、主なる特徴として、比較演算のチェック部P,Qと、算術/論理演算のチェック部Rとを含む。
 ここで、比較演算のチェック部P,Qは、比較演算子(==)に基づく比較演算をアセンブラ展開したレベルでチェックするための構成である。即ち、比較演算子(==)は、アセンブラ展開するとcmp,bne*の2つの命令に展開されるため、命令毎に確認が実行される。尚、比較演算子(!=)は、アセンブラ展開すると、cmp,be*の2つの命令に展開される。cmpは、2つの値の差を取り、ゼロ(一致)ならば、ゼロフラグ(ZF)を立てる(ZF=1)。bneは、ZF=0のとき、if文の外に分岐させる。beは、ZF=1のとき、if文の外に分岐させる。
 具体的には、チェック部Pでは、比較演算子(==)に基づく同一の値同士の比較演算が実行される。本例では、チェック部Pでは、1と1の差を取り、ゼロならば、ゼロフラグを立て(ZF=1)、ZF=0のとき、if文の外に分岐させる、という処理が実行される。ここで、比較演算子(==)に基づく比較演算に係る部分に異常が無い場合は、1と1の差を取ると、ゼロとなり、ゼロフラグが立ち、ZF=1であるので、if文の外に分岐されることはない。
 チェック部Pにおいて、if文の外に分岐されることは、比較演算子(==)に基づく同一の値同士の比較演算に異常があることを表す。従って、この場合は、WDCは停止される。
 チェック部Qでは、比較演算子(!=)に基づく異なる値同士の比較演算が実行される。本例では、チェック部Qでは、異なる値s_buf1とs_buf2(共にROM値)の差を取り、ゼロならば、ゼロフラグを立て(ZF=1)、ZF=1のとき、if文の外に分岐させる、という処理が実行される。ここで、比較演算子(!=)に基づく比較演算に係る部分に異常が無い場合は、異なる値s_buf1とs_buf2の差を取ると、ゼロとならず、ゼロフラグが立たず、ZF=0であるので、if文の外に分岐されることはない。
 チェック部Qにおいて、if文の外に分岐されることは、比較演算子(!=)に基づく異なる値同士の比較演算に異常があることを表す。従って、この場合は、WDCは停止される。
 ここで、例えばcmpに係る回路部分に異常があり、常にゼロを出力するような異常が発生した場合、チェック部Pでは、ゼロフラグが立ち、ZF=1であるので、if文の外に分岐されることはない。他方、チェック部Qでは、ゼロフラグが立ち、ZF=1であるので、if文の外に分岐される。このようにして、チェック部Pに加えて、チェック部Qを設けることにより、比較演算子(==)に基づく比較演算をアセンブラ展開したレベルで正確にチェックすることができ、比較演算における異常の有無を高い信頼性をもって判断することができる。
 算術/論理演算のチェック部Rでは、所定の演算式に従った演算結果と、それに対応する正答値の記憶値とを比較演算により比較することで、算術/論理演算の異常の有無が判定される。本例では、好ましい一例として、以下の演算式が使用される。
Figure JPOXMLDOC01-appb-M000001
 
尚、図4との関係について、チェック部R中のgaluchkは、数1中の0x6Aに対応する。
 ここで、所定の演算式は、好ましくは、算術演算の全ての種類と論理演算の全ての種類が含まれるように設定される。これにより、各種演算の異常の有無を漏れなくチェックすることができる。数1の式では、図5に示すように、Y1部にてシフト演算が組み込まれ、Y2部にて論理演算のANDが組み込まれ、Y3部にて四則演算の積が組み込まれ、Y4部にて四則演算の商が組み込まれ、Y5部にて四則演算の和が組み込まれ、Y6部に論理演算のORが組み込まれ、Y7部に論理演算のNOTが組み込まれ、Y8部にて四則演算の差が組み込まれている。
 また、論理演算のAND(Y2部)における数値(0x6Aと0x9E)は、好ましくは、0&0、0&1、1&0、1&1の全てを含むような値が選択される。また、四則演算の和(Y5部)における数値(Y3部の結果の数値とY4部の結果の数値)は、好ましくは、0,1の組み合わせで4パターンの和算が網羅されるように、設定され、更に好ましくは、繰り上がりの有無で計8パターンの和算が網羅されるように、設定される。また、論理演算のOR(Y6部)における数値(Y3部とY4部の和算で得られる数値と、0x0D)は、0|0、0|1、1|0、1|1の全てを含むような値が選択される。これにより、各種演算における各種パターンの全てを漏れなくチェックすることができる。
 チェック部Rにおいて、所定の演算式に従った演算結果と、それに対応する正答値の記憶値とが一致しない場合は、ゼロフラグが立たず、ZF=0であるので、if文の外に分岐される。if文の外に分岐されることは、所定の演算式の演算に異常があることを表す。従って、この場合は、WDCは停止される。
 このように、図4に示す監視処理では、WDCを反転させるための条件(WDC出力条件)として3つのチェック部P,Q,Rのチェック結果がアンド条件で結合されている。従って、3つのチェック部P,Q,Rの全てにおいて正常であると判断された場合にのみ、WDCが反転される。即ち、3つのチェック部P,Q,Rのいずれか1つにおいて異常であると判断されると、WDCが停止され、その結果、マイクロコンピューター20がリセットされる。
 ところで、数1の左辺の演算に異常が無い場合は、チェック部Rにおいて、ゼロフラグが立ち、ZF=1であるので、if文の外に分岐されることはない。しかしながら、例えばcmpに係る回路部分に異常があり、常にゼロを出力するような異常(即ち、異なるものを比較した場合に、同一であると判定する態様の異常)が発生した場合、チェック部Rにおいて、数1の左辺の演算に異常がある場合でも、ゼロフラグが立ち、ZF=1であるので、if文の外に分岐されることはない。しかしながら、図4に示す監視処理では、かかる場合には、チェック部Qにおいて、ゼロフラグが立ち、ZF=1であるので、if文の外に分岐される。これにより、数1の左辺の演算に異常があるにも拘わらず、かかる異常を検知できずにマイクロコンピューター20がリセットされないことを防止することができる。このようにして、WDC出力条件に、「異なる定数同士を比較し、同一でないならば」という条件を付加することで、比較演算の異常に起因して算術/論理演算の異常が隠れてしまうことを効果的に防止することができる。
 図6は、演算器異常判定装置40により実行される監視処理の一例の流れを示すフローチャートである。
 ステップ600では、算術/論理演算異常判定部44において、所定の演算式の算術/論理演算が実施される。即ち、数1で示した演算式の左辺が演算される。尚、所定の演算式は、その回答値と共にROM等に予め記憶される。また、所定の演算式は、複数種類用意されてもよく、この場合、複数種類の演算式のうちから1つずつ所定の順序で使用されるように読み出されてもよい。
 ステップ602では、比較演算異常判定部42において、比較演算が正常であるか否かがチェックされる。このチェックは、上述した方法で実行されてもよい(図4の比較演算のチェック部P,Q参照)。即ち、同一の値同士の比較演算を実施すると共に、異なる値同士の比較演算を実施し、いずれか一方に異常がある場合に、比較演算に異常があると判定する。比較演算が正常である場合は、ステップ604に進む。他方、比較演算が異常である場合は、何も実行せず、そのまま終了する。この場合、WDCが停止されることになり、マイクロコンピューター20がリセットされる。
 ステップ604では、算術/論理演算異常判定部44において、上記ステップ600で実施された算術/論理演算の演算結果と、それに対応する正答値(数1で示した演算式の右辺)の記憶値(ROM値)とを比較することにより、上記ステップ600で実施された算術/論理演算が正常であるか否かがチェックされる(図4の算術/論理演算のチェック部R参照)。上記ステップ600で実施された算術/論理演算の演算結果が正答値と一致する場合は、算術/論理演算が正常であると判断して、ステップ606に進む。他方、上記ステップ600で実施された算術/論理演算の演算結果が正答値と一致しない場合は、算術/論理演算が異常であると判断して、何も実行せず、そのまま終了する。この場合、WDCが停止されることになり、マイクロコンピューター20がリセットされる。
 ステップ606では、WDC出力(反転)が実施される。従って、マイクロコンピューター20がリセットされない。
 以上説明した本実施例の演算器異常判定装置40によれば、とりわけ、以下のような優れた効果が奏される。
 上述の如く、本実施例の演算器異常判定装置40によれば、比較演算の異常の有無を、比較演算子をアセンブラ展開したレベルでチェックすることで、比較演算の異常の有無を高い信頼性をもって判断することができる。これにより、同比較演算を伴う算術/論理演算の異常判定を精度良く実行することができる。また、これにより、単一のマイクロコンピューター20内で自身の異常の有無を精度良く判定することができ、単一のマイクロコンピューター20と単一の電源IC30にて低コストで高信頼性の監視機能を実現することができる。即ち、本実施例の演算器異常判定装置40によれば、複数のマイクロコンピューター間で監視し合うようなシステムに比べて、信頼性を維持しつつ、低コスト化を図ることができる。
 以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなく、上述した実施例に種々の変形及び置換を加えることができる。
 例えば、上述した実施例において、他の演算機能を追加してチェックすることも可能である。例えば、上述した実施例では、浮動小数点の演算の異常の有無はチェックしていないが、浮動小数点の演算を数1の式に組み込んでチェックすることも可能である。
 また、上述した実施例では、好ましい実施例として、WDC出力条件に、ALUチェック条件(図6参照)を導入することで、WDC監視と並列でALU22等を監視している。かかる構成は、ハードウェア資源を効率的に利用するので、低コストで監視システムを実現できる点で有利である。しかしながら、WDCのパルス幅をALUチェック結果(図6のステップ602,604参照)と連動させて変化させることで、ALU22等を監視してもよい。但し、この場合は、ALUチェック用に監視マイコンが必要となり、又は、高性能な監視ICが必要となる。また、WDC出力とは別に、専用パルスを、ALUチェック結果が正常であるときのみ(図6のステップ604のYES参照)出力することとしてもよい。但し、この場合は、マイクロコンピューター20と電源IC30との間に、専用パルスの監視用の接続線が別途必要となる。
 10  電子演算装置
 20  マイクロコンピューター
 21  CPU
 22  ALU
 24  PSU
 26  BSF
 28  ポート
 30  電源IC
 32  ウォッチドックタイマー
 34  異常検知部
 36  リセット部
 40  演算器異常判定装置
 42  比較演算異常判定部
 44  算術/論理演算異常判定部

Claims (8)

  1.  演算器の異常を判定する演算器異常判定装置であって、
     前記演算器を用いて比較演算を実施し、該比較演算の異常の有無を判定する比較演算異常判定部と、
     前記演算器を用いて算術演算及び論理演算のうちの少なくとも一方を含む所定の演算式を算術/論理演算し、該算術/論理演算により得られる演算結果と、それに対応する正答値の記憶値とを比較演算することで、該算術/論理演算の異常の有無を判定する算術/論理演算異常判定部とを備えることを特徴とする、演算器異常判定装置。
  2.  前記比較演算異常判定部は、比較演算子をアセンブラ展開したレベルで前記比較演算の異常の有無を判定する、請求項1に記載の演算器異常判定装置。
  3.  前記比較演算異常判定部は、同一の値同士の比較演算を実施すると共に、異なる値同士の比較演算を実施し、いずれか一方に異常がある場合に、前記比較演算に異常があると判定する、請求項1に記載の演算器異常判定装置。
  4.  前記算術/論理演算異常判定部は、前記比較演算異常判定部により前記比較演算に異常がないと判定された場合に、前記判定を行う、請求項1に記載の演算器異常判定装置。
  5.  当該演算器異常判定装置は、前記演算器を含むコンピューターにより実現される、請求項1に記載の演算器異常判定装置。
  6.  前記コンピューターは、前記比較演算異常判定部及び前記算術/論理演算異常判定部のいずれかにより演算に異常があると判定された場合に、外部回路からリセットされるように構成される、請求項5に記載の演算器異常判定装置。
  7.  前記外部回路は、前記コンピューターの電源ICである、請求項6に記載の演算器異常判定装置。
  8.  演算器の異常を判定する演算器異常判定方法であって、
     前記演算器を用いて比較演算を実施し、該比較演算の異常の有無を判定するステップと、
     前記演算器を用いて算術演算及び論理演算のうちの少なくとも一方を含む所定の演算式を算術/論理演算し、該算術/論理演算により得られる演算結果と、それに対応する正答値の記憶値とを比較演算することで、該算術/論理演算の異常の有無を判定するステップとを備えることを特徴とする、演算器異常判定方法。
PCT/JP2010/058069 2010-05-12 2010-05-12 演算器異常判定装置及び方法 WO2011142015A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2010/058069 WO2011142015A1 (ja) 2010-05-12 2010-05-12 演算器異常判定装置及び方法
DE112010005554T DE112010005554T5 (de) 2010-05-12 2010-05-12 Recheneinheitabnormitätsbestimmungsvorrichtung und recheneinheitabnormitätsbestimmumgsverfahren
JP2012514642A JPWO2011142015A1 (ja) 2010-05-12 2010-05-12 演算器異常判定装置及び方法
US13/697,240 US20130055038A1 (en) 2010-05-12 2010-05-12 Computing unit abnormality determining apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/058069 WO2011142015A1 (ja) 2010-05-12 2010-05-12 演算器異常判定装置及び方法

Publications (1)

Publication Number Publication Date
WO2011142015A1 true WO2011142015A1 (ja) 2011-11-17

Family

ID=44914083

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/058069 WO2011142015A1 (ja) 2010-05-12 2010-05-12 演算器異常判定装置及び方法

Country Status (4)

Country Link
US (1) US20130055038A1 (ja)
JP (1) JPWO2011142015A1 (ja)
DE (1) DE112010005554T5 (ja)
WO (1) WO2011142015A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102213676B1 (ko) * 2019-12-19 2021-02-05 현대오트론 주식회사 산술 연산 감시 기능을 구비하는 오토사 시스템용 단말 장치 및 오토사 시스템의 산술 연산 감시 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006286015A (ja) * 2006-06-07 2006-10-19 Fujitsu Ltd 演算処理装置及びその自己診断方法
JP2006336564A (ja) * 2005-06-02 2006-12-14 Fujitsu Ten Ltd 電子制御装置および電子制御機器のデータ保存方法
JP2009268300A (ja) * 2008-04-28 2009-11-12 Toshiba Corp 開閉器制御用子局

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5249702B2 (ja) * 1971-10-04 1977-12-19
WO1991005319A1 (en) * 1989-10-02 1991-04-18 Kabushiki Kaisha Komatsu Seisakusho Managing system for construction machines
JPH043420A (ja) 1990-04-20 1992-01-08 Nec Corp コンタクトホール埋め込み方法
JP2000259444A (ja) * 1999-03-10 2000-09-22 Nec Ibaraki Ltd データ処理装置及びその試験方法
JP4096481B2 (ja) * 2000-01-21 2008-06-04 株式会社Ihi サーボ制御装置
JP2002099447A (ja) * 2000-09-22 2002-04-05 Fujitsu Ltd プロセッサ
JP4345547B2 (ja) * 2004-03-31 2009-10-14 トヨタ自動車株式会社 ハイブリッド車両の制御システム
JP5407589B2 (ja) * 2009-06-29 2014-02-05 富士通株式会社 演算回路および演算処理装置ならびに演算処理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006336564A (ja) * 2005-06-02 2006-12-14 Fujitsu Ten Ltd 電子制御装置および電子制御機器のデータ保存方法
JP2006286015A (ja) * 2006-06-07 2006-10-19 Fujitsu Ltd 演算処理装置及びその自己診断方法
JP2009268300A (ja) * 2008-04-28 2009-11-12 Toshiba Corp 開閉器制御用子局

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102213676B1 (ko) * 2019-12-19 2021-02-05 현대오트론 주식회사 산술 연산 감시 기능을 구비하는 오토사 시스템용 단말 장치 및 오토사 시스템의 산술 연산 감시 방법

Also Published As

Publication number Publication date
DE112010005554T5 (de) 2013-03-14
US20130055038A1 (en) 2013-02-28
JPWO2011142015A1 (ja) 2013-07-22

Similar Documents

Publication Publication Date Title
JP5163807B2 (ja) マイコン相互監視システム及びマイコン相互監視方法
CN107003915B (zh) 驱动控制装置
US20060200278A1 (en) Generic software fault mitigation
US9753437B2 (en) Safety device and computation method for safety device
US8793533B2 (en) Method and device for performing failsafe hardware-independent floating-point arithmetic
KR101978984B1 (ko) 프로세서의 오류를 검출하는 장치 및 방법
JP2010128627A (ja) 車載用電子制御装置
US20150369603A1 (en) Inertial force detection device
US9221492B2 (en) Method for operating an electrical power steering mechanism
US20120150492A1 (en) Method and Device for Monitoring a Device Equipped with a Microprocessor
CA2689416A1 (en) Control apparatus and control method
WO2011142015A1 (ja) 演算器異常判定装置及び方法
JP4747930B2 (ja) 電子制御装置、及び、演算機能検査方法
JP4328969B2 (ja) 制御装置の診断方法
JP5226653B2 (ja) 車載制御装置
JP2014178730A (ja) 制御装置の異常監視装置および異常監視方法
JP5575086B2 (ja) 電子制御装置
JP2012248022A (ja) 情報処理装置、故障検出装置、故障検出方法
WO2010055562A1 (ja) マイクロコンピュータ
KR20140039356A (ko) 소프트웨어 모듈의 오류 검출 장치 및 그 방법
RU2615314C1 (ru) Способ повышения надежности микроэвм
JP3962956B6 (ja) 情報処理装置および情報処理方法
JP3962956B2 (ja) 情報処理装置および情報処理方法
JP2006309639A (ja) コンピュータ異常検知回路およびコンピュータ異常検知方法
JP5529794B2 (ja) マイクロコンピュータ及び異常メモリアクセス検出方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10851398

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012514642

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13697240

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 112010005554

Country of ref document: DE

Ref document number: 1120100055548

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10851398

Country of ref document: EP

Kind code of ref document: A1