JP2004302847A - Cpuの動作監視方法 - Google Patents
Cpuの動作監視方法 Download PDFInfo
- Publication number
- JP2004302847A JP2004302847A JP2003094853A JP2003094853A JP2004302847A JP 2004302847 A JP2004302847 A JP 2004302847A JP 2003094853 A JP2003094853 A JP 2003094853A JP 2003094853 A JP2003094853 A JP 2003094853A JP 2004302847 A JP2004302847 A JP 2004302847A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- main cpu
- monitoring
- state
- current
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】CPUシステムの信頼性を向上させることができ、特に、信頼性が高くないCPUシステムを信頼性が要求されるシステムの中に組み込んで利用しても、システムの信頼性を維持することができるCPUの動作監視方法を提供すること。
【解決手段】メインCPU1の電流負荷状態を検出する電流検出部3を設け、電流検出部3による電流値信号をサブCPU2に入力するようにし、メインCPU1の各処理に対する電流負荷の正常な範囲と、メインCPU1の暴走状態での電流負荷の範囲を記憶しておく記憶部5を設け、メインCPU1での各演算処理に対応する電流負荷が正常な範囲でも暴走状態の範囲でもない場合に予期しない動作状態であることを検知するようにした。
【選択図】 図1
【解決手段】メインCPU1の電流負荷状態を検出する電流検出部3を設け、電流検出部3による電流値信号をサブCPU2に入力するようにし、メインCPU1の各処理に対する電流負荷の正常な範囲と、メインCPU1の暴走状態での電流負荷の範囲を記憶しておく記憶部5を設け、メインCPU1での各演算処理に対応する電流負荷が正常な範囲でも暴走状態の範囲でもない場合に予期しない動作状態であることを検知するようにした。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、複数のCPUを機器が有する場合にメインとなるCPUの状態を他のCPUで監視するCPUの動作監視方法の技術分野に属する。
【0002】
【従来の技術】
従来のCPUの動作監視方法は、親となるCPUと子となるCPUの間のデータバスに共有メモリを設け、相互に送るデータに基づきエラーが無いか判定することで状態の判断を行っている(例えば、特許文献1参照。)。
【0003】
【特許文献1】
特開平8−305673号公報
【0004】
【発明が解決しようとする課題】
しかしながら、従来のCPUの動作監視方法にあっては、CPUの暴走あるいは過大負荷による異常動作は検出できるが、例えば、CPUが正常動作し、また負荷も一定範囲内にある場合においては、システムとして期待されていない動作、つまりある種のソフトウエア・バグのようなものは検出することができなかった。
【0005】
本発明は、上記問題点に着目してなされたもので、その目的とするところは、CPUシステムの信頼性を向上させることができ、特に、信頼性が高くないCPUシステムを信頼性が要求されるシステムの中に組み込んで利用しても、システムの信頼性を維持することができるCPUの動作監視方法を提供することにある。
【0006】
【課題を解決するための手段】
上記目的を達成するため、請求項1記載の発明では、演算処理を行うメインCPUを別に設けたサブCPUで監視するCPUの動作監視方法において、メインCPUの電流負荷状態を検出する電流値検出手段を設け、電流値検出手段による電流値信号をサブCPUに入力するようにし、メインCPUの各処理に対する電流負荷の正常な範囲と、メインCPUの暴走状態での電流負荷の範囲を記憶しておく記憶部を設け、メインCPUでの各演算処理に対応する電流負荷が正常な範囲でも暴走状態の範囲でもない場合に予期しない動作状態であることを検知することを特徴とする手段とした。
【0007】
請求項2記載の発明では、メインCPUが暴走状態と判断するとサブCPUからの信号でメインCPUが実行させるソフトウエア全体のリセットを行い、メインCPUが暴走ではないが予期しない動作状態と判断するとサブCPUからの信号でメインCPUがその実行動作をリセットするようにしたことを特徴とする手段とした。
【0008】
請求項3記載の発明では、サブCPUで実行するメインCPUを監視するソフトウエアが、リアルタイム動作する部分を有するようにしたことを特徴とする手段とした。
【0009】
【発明の作用と効果】
請求項1記載の発明では、メインCPUに流れる電流値を電流値検出手段によって検出し、その電流値信号をサブCPUに入力することにより、サブCPUでメインCPUの各処理に対応して電流負荷の状態を把握できるようにする。このようにして電流負荷の状態で監視するメインCPUが、各演算処理に対応する電流負荷の範囲を外れる状態になったことを検知できるようにすると、サブCPUとメインCPUで信号をやり取りしなくてもサブCPUでメインCPUの状態を把握することができるため、メインCPUのシステムに左右されることなくメインCPUの監視ができる。そのため、CPUシステムの信頼性を向上させることができ、特に、信頼性が高くないCPUシステムを信頼性が要求されるシステムの中に組み込んで利用しても、システムに依存することなくCPUの監視ができるので、システムの信頼性を維持することができる。
さらに本発明では、正常な電流負荷の範囲か、暴走状態を示す範囲か、又は、予期しない動作状態であるかを電流値から判断できるので、これを検知するので、CPUの暴走状態を検知して被害を最小限に食い止めることができ、システムの保護に役立つとともに、ソフトウエア・バグのように暴走ではない予期しない動作状態を検知して適切な処置ができるようにし、システムをさらに信頼性高く使用できる。
【0010】
請求項2記載の発明では、メインCPUが暴走状態と判断するとサブCPUからの信号でメインCPUが実行させるソフトウエア全体のリセットを行い、ソフトウエアの暴走状態が長く維持されることによるハード的なダメージやデータの消失などのダメージを早期に回避することができる。また、メインCPUが暴走ではないが予期しない動作状態と判断するとサブCPUからの信号でメインCPUがその実行動作をリセットする。そのため、暴走ではないが、ソフトウエアの暴走につながるような予期しない動作や使用する人にとっては重大なトラブルにつながる予期しない動作を検知して適切な処置を行える。このため、システムの信頼性はさらに向上できる。
【0011】
請求項3記載の発明では、サブCPUで実行するメインCPUを監視するソフトウエアが、リアルタイム動作する部分を有するようにしたため、イベントの発生等に左右されずに所定の時間または所定の時間毎にCPUの監視が行えるので、さらに確実な監視ができる。
【0012】
【発明の実施の形態】
以下、本発明のCPUの動作監視方法を実現する実施の形態を、請求項1〜3に係る発明に対応する実施例に基づいて説明する。
【0013】
(実施例)
【0014】
まず、構成を説明する。
図1は実施例のCPUの動作監視方法に用いる回路のブロック図である。図2は実施例のCPUの動作監視方法の説明図である。図3は実施例のCPUの動作監視方法におけるサブCPUでの処理の流れを示すフローチャートである。図1,2における主要符号を説明すると、1はメインCPU、2はサブCPU、3は電流検出部、4は電源部、5は記憶部である。
【0015】
実施例のCPUの動作監視方法では、メインCPU1とサブCPU2を設け、少なくともメインCPU1はサブCPU2からの信号を受けることができるようにする。
【0016】
さらに、電源部4からメインCPU1への電源供給の途中に電流検出部3を設ける。この電流検出部3からの電流信号は、サブCPU2に入力されるようにする。本実施例では、電流検出部3として電流検出用抵抗チップを用いている。
次に、メインCPUでの各処理に対応する正常な電流負荷範囲と暴走状態の範囲を示すデータを記憶しておく記憶部5を設ける。記憶部5に記憶させるデータは、しきい値となる図2に示すα,β,γの値となる。
【0017】
本実施例において、メインCPU1で実行するソフトウエアは、非リアルタイムOS(オペレーションシステム、以下OS)上で動くものとし、サブCPU2で実行する監視のためのソフトウエアはリアルタイム動作する部分を有するものとする。
また、本実施例において、「ソフトウエア全体のリセットを行う」とは電源リセットと同等のリセットを行い、電気的にCPUの内部を初期化することを指し、「実行動作をリセットする」とは状態変数を初期化し、現在の状態をデフォールトの状態にすることを指すものとする。
【0018】
メインCPU1に流れる電流値は、図2に示すように、通常の処理の場合には、その各処理に対応する消費電流値は図2中のαを超えてβ以下となる。この範囲を正常処理範囲とする。よって、メインCPU1の消費電流がこの範囲の場合には通常の処理だと判断できることとなる。
【0019】
次に、この電流値を越える電流値が流れると暴走と判断できる消費電流値のしきい値を図2中のγとする。また、消費電流値が0の場合には暴走によるCPUの停止状態と判断できるので、この場合には暴走停止状態と判断する。
【0020】
よって、消費電流が0を超えてα以下の状態、及び消費電流がβを超えてγ以下の状態ではバグなどが発生した暴走ではないが予期しない動作状態と判断することができる。
【0021】
次に、作用を説明する。
【0022】
[サブCPUでの監視制御]
図3は実施例のサブCPU2で実行されるメインCPU1の監視の処理の流れを示すフローチャートで、以下、各ステップについて説明する。
【0023】
ステップS1では、メインCPU1へ処理(ここでは処理Xとする)の実行を指令する。
【0024】
ステップS2では、ステップS1で指令した処理(処理X)に対応する消費電流値の範囲を示すデータであるα,β,γを記憶部から読み出す。
【0025】
ステップS3では、電流検出部3でメインCPU1の消費電流を検出し、電流信号をサブCPU2に入力する。
【0026】
ステップS4では、検出した電流値がαを超えてβ以下の範囲内にあるかどうかを判断し、範囲内であるならばステップS5に移行し、範囲外であるならばステップS6に移行する。
【0027】
ステップS5は、通常の状態を検出した状態である。
【0028】
ステップS6では、検出した電流値が0を超えてα以下の範囲か又はβを超えてγ以下の範囲にあるかどうかを判断し、範囲内ならばステップS7に移行し、範囲外ならばステップS9に移行する。
【0029】
ステップS7は、暴走ではないが予期しない動作状態を検出した状態である。
【0030】
ステップS8では、サブCPU2からメインCPU1に信号を送って、メインCPU1で実行している実行動作をリセットする。
【0031】
ステップS9は、暴走状態を検出した状態である。
【0032】
ステップS10では、サブCPU2からメインCPU1に信号を送って、メインCPU1で実行しているソフトウエアのリセットを行う。
【0033】
[メインCPUの監視作用]
▲1▼通常の動作
メインCPU1が通常の動作を行っている場合には、メインCPU1の電流負荷は処理Xに対応する消費電流となり、図2に示すαを超えてβ以下の範囲内となる。
そのことはステップS4で判断されてステップS5に移行し、通常状態であることとなる。この場合、特に処理を要しない。
【0034】
▲2▼予期しない動作の検出
メインCPU1がソフトウエアのバグなどを実行しているような状態では、処理Xに対応する正常な範囲を外れるような負荷が発生するが、処理としてはメインCPU1が通常に処理していることとなる。そのため、メインCPU1での消費電流は、通常の電流負荷よりも高くあるいは低く、かつ暴走状態と判断出来るほどではないものとなる。よって、ステップS3でサブCPU2に入力される電流検出部3で検出した電流値は、0を超えてα以下の範囲となるかあるいはβを超えてγ以下の範囲となる。
【0035】
このことは、ステップS6で判断され、ステップS7に移行し、予期しない動作状態を検出した状態となる。この状態になると、ステップS8で、サブCPU2からメインCPU1に信号を出力してメインCPU1が実行しているソフトウエア上の実行動作をキャンセルさせる。本実施例では、メインCPU1では、非リアルタイムOS上でソフトウエアを実行しているので、サブCPU2からの信号が入力されると、強制的なソフトウエアのリセットのイベントが発生して実行されることとなる。
このようにして強制的にソフトウエア上のバグ等の動作を実行しているメインCPU1の実行動作のリセットを行えば、ソフトウエアの暴走につながるような予期しない動作や使用する人にとっては重大なトラブルにつながる予期しない動作がリセットされる。
▲3▼暴走状態の検出
メインCPU1が暴走すると、通常の処理では生じないような負荷がメインCPU1に発生する。この負荷は電流負荷となる。あるいは暴走によりメインCPUが停止し電流値が0になる。このため、ステップS1でサブCPU2に入力される電流検出部3で検出した電流値はあらかじめ設定しているしきい値γを超えるか、0となる。このことはステップS6で判断されてステップS9に移行し、暴走状態が検出されたこととなる。この状態になると、ステップS10において、サブCPU2からメインCPU1へ信号を出力し、メインCPU1で実行しているソフトウエアを強制的にリセットさせる。本実施例では、メインCPU1では、非リアルタイムOS上でソフトウエアを実行しているので、サブCPU2からの信号が入力されると、強制的なソフトウエアのリセットのイベントが発生して実行されることとなる。
【0036】
このようにして強制的にソフトウエアのリセットを行えば、メインCPU1の暴走によるハードウエアへのダメージや記憶装置に記憶させたデータの消失などを生じる前にCPUによるソフトウエアの実行を止めて、新たにソフトウエアを起動する。
【0037】
次に、効果を説明する。
【0038】
実施例のCPUの動作監視方法にあっては、下記に列挙する効果を得ることができる。
【0039】
(1)演算処理を行うメインCPU1を別に設けたサブCPU2で監視するCPUの動作監視方法において、メインCPU1の電流負荷状態を検出する電流検出部3を設け、電流検出部3による電流値信号をサブCPU2に入力するようにし、メインCPU1の各処理に対する電流負荷の正常な範囲と、メインCPU1の暴走状態での電流負荷の範囲を記憶しておく記憶部5を設け、メインCPU1での各演算処理に対応する電流負荷が正常な範囲でも暴走状態の範囲でもない場合に予期しない動作状態であることを検知するため、メインCPU1のシステムに左右されることなくメインCPU1の監視ができる。そのため、CPUシステムの信頼性を向上させることができ、特に、信頼性が高くないCPUシステムを信頼性が要求されるシステムの中に組み込んで利用しても、システムに依存することなくCPUの監視ができるので、システムの信頼性を維持することができる。さらに、暴走状態を検知することにより被害を最小限に食い止めることができ、システムの保護に役立つとともに、ソフトウエア・バグのように暴走ではない予期しない動作状態を検知することにより、適切な処置ができるようにし、システムをさらに信頼性高く使用できる。
【0040】
(2)メインCPU1が暴走状態と判断するとサブCPU2からの信号でメインCPU1が実行させるソフトウエア全体のリセットを行い、メインCPU1が暴走ではないが予期しない動作状態と判断するとサブCPU2からの信号でメインCPU1がその実行動作をリセットするようにしたため、システムの信頼性はさらに向上できる。
【0041】
(3)サブCPU2で実行するメインCPU1を監視するソフトウエアが、リアルタイム動作する部分を有するようにしたため、さらに確実な監視ができる。
【0042】
以上、本発明のCPUの動作監視方法を実施例に基づき説明してきたが、具体的な構成については、これらの実施例に限られるものではなく、特許請求の範囲の各請求項に係る発明の要旨を逸脱しない限り、設計の変更や追加等は許容される。
【0043】
例えば、実施例では、メインCPU1の消費電流値によってメインCPU1の各処理に対応する電流負荷を検出していたが、メインCPU1の消費電流波形をパターン化して各処理に対応して判別させるようにしてもよい。
【図面の簡単な説明】
【図1】実施例のCPUの動作監視方法に用いる回路のブロック図である。
【図2】実施例のCPUの動作監視方法の説明図である。
【図3】実施例のCPUの動作監視方法におけるサブCPUでの処理の流れを示すフローチャートである。
【符号の説明】
1 メインCPU
2 サブCPU
3 電流検出部
4 電源部
5 記憶部
【発明の属する技術分野】
本発明は、複数のCPUを機器が有する場合にメインとなるCPUの状態を他のCPUで監視するCPUの動作監視方法の技術分野に属する。
【0002】
【従来の技術】
従来のCPUの動作監視方法は、親となるCPUと子となるCPUの間のデータバスに共有メモリを設け、相互に送るデータに基づきエラーが無いか判定することで状態の判断を行っている(例えば、特許文献1参照。)。
【0003】
【特許文献1】
特開平8−305673号公報
【0004】
【発明が解決しようとする課題】
しかしながら、従来のCPUの動作監視方法にあっては、CPUの暴走あるいは過大負荷による異常動作は検出できるが、例えば、CPUが正常動作し、また負荷も一定範囲内にある場合においては、システムとして期待されていない動作、つまりある種のソフトウエア・バグのようなものは検出することができなかった。
【0005】
本発明は、上記問題点に着目してなされたもので、その目的とするところは、CPUシステムの信頼性を向上させることができ、特に、信頼性が高くないCPUシステムを信頼性が要求されるシステムの中に組み込んで利用しても、システムの信頼性を維持することができるCPUの動作監視方法を提供することにある。
【0006】
【課題を解決するための手段】
上記目的を達成するため、請求項1記載の発明では、演算処理を行うメインCPUを別に設けたサブCPUで監視するCPUの動作監視方法において、メインCPUの電流負荷状態を検出する電流値検出手段を設け、電流値検出手段による電流値信号をサブCPUに入力するようにし、メインCPUの各処理に対する電流負荷の正常な範囲と、メインCPUの暴走状態での電流負荷の範囲を記憶しておく記憶部を設け、メインCPUでの各演算処理に対応する電流負荷が正常な範囲でも暴走状態の範囲でもない場合に予期しない動作状態であることを検知することを特徴とする手段とした。
【0007】
請求項2記載の発明では、メインCPUが暴走状態と判断するとサブCPUからの信号でメインCPUが実行させるソフトウエア全体のリセットを行い、メインCPUが暴走ではないが予期しない動作状態と判断するとサブCPUからの信号でメインCPUがその実行動作をリセットするようにしたことを特徴とする手段とした。
【0008】
請求項3記載の発明では、サブCPUで実行するメインCPUを監視するソフトウエアが、リアルタイム動作する部分を有するようにしたことを特徴とする手段とした。
【0009】
【発明の作用と効果】
請求項1記載の発明では、メインCPUに流れる電流値を電流値検出手段によって検出し、その電流値信号をサブCPUに入力することにより、サブCPUでメインCPUの各処理に対応して電流負荷の状態を把握できるようにする。このようにして電流負荷の状態で監視するメインCPUが、各演算処理に対応する電流負荷の範囲を外れる状態になったことを検知できるようにすると、サブCPUとメインCPUで信号をやり取りしなくてもサブCPUでメインCPUの状態を把握することができるため、メインCPUのシステムに左右されることなくメインCPUの監視ができる。そのため、CPUシステムの信頼性を向上させることができ、特に、信頼性が高くないCPUシステムを信頼性が要求されるシステムの中に組み込んで利用しても、システムに依存することなくCPUの監視ができるので、システムの信頼性を維持することができる。
さらに本発明では、正常な電流負荷の範囲か、暴走状態を示す範囲か、又は、予期しない動作状態であるかを電流値から判断できるので、これを検知するので、CPUの暴走状態を検知して被害を最小限に食い止めることができ、システムの保護に役立つとともに、ソフトウエア・バグのように暴走ではない予期しない動作状態を検知して適切な処置ができるようにし、システムをさらに信頼性高く使用できる。
【0010】
請求項2記載の発明では、メインCPUが暴走状態と判断するとサブCPUからの信号でメインCPUが実行させるソフトウエア全体のリセットを行い、ソフトウエアの暴走状態が長く維持されることによるハード的なダメージやデータの消失などのダメージを早期に回避することができる。また、メインCPUが暴走ではないが予期しない動作状態と判断するとサブCPUからの信号でメインCPUがその実行動作をリセットする。そのため、暴走ではないが、ソフトウエアの暴走につながるような予期しない動作や使用する人にとっては重大なトラブルにつながる予期しない動作を検知して適切な処置を行える。このため、システムの信頼性はさらに向上できる。
【0011】
請求項3記載の発明では、サブCPUで実行するメインCPUを監視するソフトウエアが、リアルタイム動作する部分を有するようにしたため、イベントの発生等に左右されずに所定の時間または所定の時間毎にCPUの監視が行えるので、さらに確実な監視ができる。
【0012】
【発明の実施の形態】
以下、本発明のCPUの動作監視方法を実現する実施の形態を、請求項1〜3に係る発明に対応する実施例に基づいて説明する。
【0013】
(実施例)
【0014】
まず、構成を説明する。
図1は実施例のCPUの動作監視方法に用いる回路のブロック図である。図2は実施例のCPUの動作監視方法の説明図である。図3は実施例のCPUの動作監視方法におけるサブCPUでの処理の流れを示すフローチャートである。図1,2における主要符号を説明すると、1はメインCPU、2はサブCPU、3は電流検出部、4は電源部、5は記憶部である。
【0015】
実施例のCPUの動作監視方法では、メインCPU1とサブCPU2を設け、少なくともメインCPU1はサブCPU2からの信号を受けることができるようにする。
【0016】
さらに、電源部4からメインCPU1への電源供給の途中に電流検出部3を設ける。この電流検出部3からの電流信号は、サブCPU2に入力されるようにする。本実施例では、電流検出部3として電流検出用抵抗チップを用いている。
次に、メインCPUでの各処理に対応する正常な電流負荷範囲と暴走状態の範囲を示すデータを記憶しておく記憶部5を設ける。記憶部5に記憶させるデータは、しきい値となる図2に示すα,β,γの値となる。
【0017】
本実施例において、メインCPU1で実行するソフトウエアは、非リアルタイムOS(オペレーションシステム、以下OS)上で動くものとし、サブCPU2で実行する監視のためのソフトウエアはリアルタイム動作する部分を有するものとする。
また、本実施例において、「ソフトウエア全体のリセットを行う」とは電源リセットと同等のリセットを行い、電気的にCPUの内部を初期化することを指し、「実行動作をリセットする」とは状態変数を初期化し、現在の状態をデフォールトの状態にすることを指すものとする。
【0018】
メインCPU1に流れる電流値は、図2に示すように、通常の処理の場合には、その各処理に対応する消費電流値は図2中のαを超えてβ以下となる。この範囲を正常処理範囲とする。よって、メインCPU1の消費電流がこの範囲の場合には通常の処理だと判断できることとなる。
【0019】
次に、この電流値を越える電流値が流れると暴走と判断できる消費電流値のしきい値を図2中のγとする。また、消費電流値が0の場合には暴走によるCPUの停止状態と判断できるので、この場合には暴走停止状態と判断する。
【0020】
よって、消費電流が0を超えてα以下の状態、及び消費電流がβを超えてγ以下の状態ではバグなどが発生した暴走ではないが予期しない動作状態と判断することができる。
【0021】
次に、作用を説明する。
【0022】
[サブCPUでの監視制御]
図3は実施例のサブCPU2で実行されるメインCPU1の監視の処理の流れを示すフローチャートで、以下、各ステップについて説明する。
【0023】
ステップS1では、メインCPU1へ処理(ここでは処理Xとする)の実行を指令する。
【0024】
ステップS2では、ステップS1で指令した処理(処理X)に対応する消費電流値の範囲を示すデータであるα,β,γを記憶部から読み出す。
【0025】
ステップS3では、電流検出部3でメインCPU1の消費電流を検出し、電流信号をサブCPU2に入力する。
【0026】
ステップS4では、検出した電流値がαを超えてβ以下の範囲内にあるかどうかを判断し、範囲内であるならばステップS5に移行し、範囲外であるならばステップS6に移行する。
【0027】
ステップS5は、通常の状態を検出した状態である。
【0028】
ステップS6では、検出した電流値が0を超えてα以下の範囲か又はβを超えてγ以下の範囲にあるかどうかを判断し、範囲内ならばステップS7に移行し、範囲外ならばステップS9に移行する。
【0029】
ステップS7は、暴走ではないが予期しない動作状態を検出した状態である。
【0030】
ステップS8では、サブCPU2からメインCPU1に信号を送って、メインCPU1で実行している実行動作をリセットする。
【0031】
ステップS9は、暴走状態を検出した状態である。
【0032】
ステップS10では、サブCPU2からメインCPU1に信号を送って、メインCPU1で実行しているソフトウエアのリセットを行う。
【0033】
[メインCPUの監視作用]
▲1▼通常の動作
メインCPU1が通常の動作を行っている場合には、メインCPU1の電流負荷は処理Xに対応する消費電流となり、図2に示すαを超えてβ以下の範囲内となる。
そのことはステップS4で判断されてステップS5に移行し、通常状態であることとなる。この場合、特に処理を要しない。
【0034】
▲2▼予期しない動作の検出
メインCPU1がソフトウエアのバグなどを実行しているような状態では、処理Xに対応する正常な範囲を外れるような負荷が発生するが、処理としてはメインCPU1が通常に処理していることとなる。そのため、メインCPU1での消費電流は、通常の電流負荷よりも高くあるいは低く、かつ暴走状態と判断出来るほどではないものとなる。よって、ステップS3でサブCPU2に入力される電流検出部3で検出した電流値は、0を超えてα以下の範囲となるかあるいはβを超えてγ以下の範囲となる。
【0035】
このことは、ステップS6で判断され、ステップS7に移行し、予期しない動作状態を検出した状態となる。この状態になると、ステップS8で、サブCPU2からメインCPU1に信号を出力してメインCPU1が実行しているソフトウエア上の実行動作をキャンセルさせる。本実施例では、メインCPU1では、非リアルタイムOS上でソフトウエアを実行しているので、サブCPU2からの信号が入力されると、強制的なソフトウエアのリセットのイベントが発生して実行されることとなる。
このようにして強制的にソフトウエア上のバグ等の動作を実行しているメインCPU1の実行動作のリセットを行えば、ソフトウエアの暴走につながるような予期しない動作や使用する人にとっては重大なトラブルにつながる予期しない動作がリセットされる。
▲3▼暴走状態の検出
メインCPU1が暴走すると、通常の処理では生じないような負荷がメインCPU1に発生する。この負荷は電流負荷となる。あるいは暴走によりメインCPUが停止し電流値が0になる。このため、ステップS1でサブCPU2に入力される電流検出部3で検出した電流値はあらかじめ設定しているしきい値γを超えるか、0となる。このことはステップS6で判断されてステップS9に移行し、暴走状態が検出されたこととなる。この状態になると、ステップS10において、サブCPU2からメインCPU1へ信号を出力し、メインCPU1で実行しているソフトウエアを強制的にリセットさせる。本実施例では、メインCPU1では、非リアルタイムOS上でソフトウエアを実行しているので、サブCPU2からの信号が入力されると、強制的なソフトウエアのリセットのイベントが発生して実行されることとなる。
【0036】
このようにして強制的にソフトウエアのリセットを行えば、メインCPU1の暴走によるハードウエアへのダメージや記憶装置に記憶させたデータの消失などを生じる前にCPUによるソフトウエアの実行を止めて、新たにソフトウエアを起動する。
【0037】
次に、効果を説明する。
【0038】
実施例のCPUの動作監視方法にあっては、下記に列挙する効果を得ることができる。
【0039】
(1)演算処理を行うメインCPU1を別に設けたサブCPU2で監視するCPUの動作監視方法において、メインCPU1の電流負荷状態を検出する電流検出部3を設け、電流検出部3による電流値信号をサブCPU2に入力するようにし、メインCPU1の各処理に対する電流負荷の正常な範囲と、メインCPU1の暴走状態での電流負荷の範囲を記憶しておく記憶部5を設け、メインCPU1での各演算処理に対応する電流負荷が正常な範囲でも暴走状態の範囲でもない場合に予期しない動作状態であることを検知するため、メインCPU1のシステムに左右されることなくメインCPU1の監視ができる。そのため、CPUシステムの信頼性を向上させることができ、特に、信頼性が高くないCPUシステムを信頼性が要求されるシステムの中に組み込んで利用しても、システムに依存することなくCPUの監視ができるので、システムの信頼性を維持することができる。さらに、暴走状態を検知することにより被害を最小限に食い止めることができ、システムの保護に役立つとともに、ソフトウエア・バグのように暴走ではない予期しない動作状態を検知することにより、適切な処置ができるようにし、システムをさらに信頼性高く使用できる。
【0040】
(2)メインCPU1が暴走状態と判断するとサブCPU2からの信号でメインCPU1が実行させるソフトウエア全体のリセットを行い、メインCPU1が暴走ではないが予期しない動作状態と判断するとサブCPU2からの信号でメインCPU1がその実行動作をリセットするようにしたため、システムの信頼性はさらに向上できる。
【0041】
(3)サブCPU2で実行するメインCPU1を監視するソフトウエアが、リアルタイム動作する部分を有するようにしたため、さらに確実な監視ができる。
【0042】
以上、本発明のCPUの動作監視方法を実施例に基づき説明してきたが、具体的な構成については、これらの実施例に限られるものではなく、特許請求の範囲の各請求項に係る発明の要旨を逸脱しない限り、設計の変更や追加等は許容される。
【0043】
例えば、実施例では、メインCPU1の消費電流値によってメインCPU1の各処理に対応する電流負荷を検出していたが、メインCPU1の消費電流波形をパターン化して各処理に対応して判別させるようにしてもよい。
【図面の簡単な説明】
【図1】実施例のCPUの動作監視方法に用いる回路のブロック図である。
【図2】実施例のCPUの動作監視方法の説明図である。
【図3】実施例のCPUの動作監視方法におけるサブCPUでの処理の流れを示すフローチャートである。
【符号の説明】
1 メインCPU
2 サブCPU
3 電流検出部
4 電源部
5 記憶部
Claims (3)
- 演算処理を行うメインCPUを別に設けたサブCPUで監視するCPUの動作監視方法において
前記メインCPUの電流負荷状態を検出する電流値検出手段を設け、同電流値検出手段による電流値信号を前記サブCPUに入力するようにし、
メインCPUの各処理に対する電流負荷の正常な範囲と、メインCPUの暴走状態での電流負荷の範囲を記憶しておく記憶部を設け、
メインCPUでの各演算処理に対応する電流負荷が正常な範囲でも暴走状態の範囲でもない場合に予期しない動作状態であることを検知することを特徴とするCPUの動作監視方法。 - 請求項1に記載されたCPUの動作監視方法において、
メインCPUが暴走状態と判断するとサブCPUからの信号でメインCPUが実行させるソフトウエア全体のリセットを行い、メインCPUが暴走ではないが予期しない動作状態と判断するとサブCPUからの信号でメインCPUがその実行動作をリセットするようにしたことを特徴とするCPUの動作監視方法。 - 請求項1又は請求項2に記載されたCPUの動作監視方法において、
サブCPUで実行するメインCPUを監視するソフトウエアが、リアルタイム動作する部分を有するようにしたことを特徴とするCPUの動作監視方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003094853A JP2004302847A (ja) | 2003-03-31 | 2003-03-31 | Cpuの動作監視方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003094853A JP2004302847A (ja) | 2003-03-31 | 2003-03-31 | Cpuの動作監視方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004302847A true JP2004302847A (ja) | 2004-10-28 |
Family
ID=33407331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003094853A Pending JP2004302847A (ja) | 2003-03-31 | 2003-03-31 | Cpuの動作監視方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004302847A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7483817B2 (en) | 2006-06-12 | 2009-01-27 | Fujitsu Limited | Test method, test program, and test device of data processing system |
JP2012208739A (ja) * | 2011-03-30 | 2012-10-25 | Nec Saitama Ltd | 端末装置並びにフリーズ検出方法及び端末装置の制御方法 |
WO2012147168A1 (ja) * | 2011-04-26 | 2012-11-01 | 富士通株式会社 | システム、および検出方法 |
JP2015144023A (ja) * | 2015-04-02 | 2015-08-06 | 富士通株式会社 | プロセッサシステム、および制御プログラム |
JP2016053805A (ja) * | 2014-09-03 | 2016-04-14 | 株式会社Dnpハイパーテック | Mpu保護装置 |
WO2017056308A1 (ja) * | 2015-10-02 | 2017-04-06 | 株式会社Dnpハイパーテック | Mpu保護装置 |
JP2017212002A (ja) * | 2017-07-19 | 2017-11-30 | 株式会社Dnpハイパーテック | Mpu保護装置 |
-
2003
- 2003-03-31 JP JP2003094853A patent/JP2004302847A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7483817B2 (en) | 2006-06-12 | 2009-01-27 | Fujitsu Limited | Test method, test program, and test device of data processing system |
JP2012208739A (ja) * | 2011-03-30 | 2012-10-25 | Nec Saitama Ltd | 端末装置並びにフリーズ検出方法及び端末装置の制御方法 |
WO2012147168A1 (ja) * | 2011-04-26 | 2012-11-01 | 富士通株式会社 | システム、および検出方法 |
CN103493023A (zh) * | 2011-04-26 | 2014-01-01 | 富士通株式会社 | 系统以及检测方法 |
JP5725169B2 (ja) * | 2011-04-26 | 2015-05-27 | 富士通株式会社 | システム、および検出方法 |
JP2016053805A (ja) * | 2014-09-03 | 2016-04-14 | 株式会社Dnpハイパーテック | Mpu保護装置 |
JP2015144023A (ja) * | 2015-04-02 | 2015-08-06 | 富士通株式会社 | プロセッサシステム、および制御プログラム |
WO2017056308A1 (ja) * | 2015-10-02 | 2017-04-06 | 株式会社Dnpハイパーテック | Mpu保護装置 |
JP2017212002A (ja) * | 2017-07-19 | 2017-11-30 | 株式会社Dnpハイパーテック | Mpu保護装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7454631B1 (en) | Method and apparatus for controlling power consumption in multiprocessor chip | |
JP6647289B2 (ja) | セーフティサブシステムを有するプログラマブルic | |
JP5163807B2 (ja) | マイコン相互監視システム及びマイコン相互監視方法 | |
WO2012062023A1 (zh) | 一种提高soc系统安全的总线监视器及其实现方法 | |
JPH07302139A (ja) | 集積プロセッサ、コンピュータシステムおよびコンピュータシステム内の電力を管理する方法 | |
JPS62157953A (ja) | 異常検知機能を備えたマイクロコンピユ−タ | |
JP6955858B2 (ja) | 制御装置 | |
JP2004302847A (ja) | Cpuの動作監視方法 | |
WO2018103185A1 (zh) | 故障处理的方法、计算机系统、基板管理控制器和系统 | |
JP2008293420A (ja) | 電子制御装置 | |
CN107179911A (zh) | 一种重启管理引擎的方法和设备 | |
JP4647276B2 (ja) | 半導体回路装置 | |
JP4479002B2 (ja) | Cpuの省電力機能を有する機器のデバッグシステム及び方法 | |
JP2870250B2 (ja) | マイクロプロセッサの暴走監視装置 | |
JP2007265157A (ja) | I/o装置の障害検出システム、及び、方法 | |
JP2009520290A (ja) | 耐故障性があるプロセッサシステム | |
JP2659067B2 (ja) | マイクロコンピュータのリセット回路 | |
JP2004310291A (ja) | ウォッチドッグタイマ故障検出回路を備えたcpuシステム | |
JP4396572B2 (ja) | 信号処理装置のリセット方法 | |
JP2006079180A (ja) | マイクロコンピュータ | |
CN118226942A (zh) | 一种微控制器处理异常复位方法 | |
JP2003044324A (ja) | 異常検出確認方法及び異常検出確認装置並びに異常検出確認プログラム | |
JPH03152637A (ja) | 異常診断システム | |
JPS5975328A (ja) | 電源異常検出装置 | |
JP2011181064A (ja) | 情報処理装置及び情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20051114 |