JPWO2016204070A1 - Cpu監視装置 - Google Patents

Cpu監視装置 Download PDF

Info

Publication number
JPWO2016204070A1
JPWO2016204070A1 JP2016558434A JP2016558434A JPWO2016204070A1 JP WO2016204070 A1 JPWO2016204070 A1 JP WO2016204070A1 JP 2016558434 A JP2016558434 A JP 2016558434A JP 2016558434 A JP2016558434 A JP 2016558434A JP WO2016204070 A1 JPWO2016204070 A1 JP WO2016204070A1
Authority
JP
Japan
Prior art keywords
cpu
core
cpu core
memory area
data recorded
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.)
Granted
Application number
JP2016558434A
Other languages
English (en)
Other versions
JP6049961B1 (ja
Inventor
崇 町田
崇 町田
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.)
Olympus Corp
Original Assignee
Olympus 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 Olympus Corp filed Critical Olympus Corp
Application granted granted Critical
Publication of JP6049961B1 publication Critical patent/JP6049961B1/ja
Publication of JPWO2016204070A1 publication Critical patent/JPWO2016204070A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0733Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a data processing system embedded in an image processing device, e.g. printer, facsimile, scanner
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

CPU監視装置は、複数のCPUコアに対応して設けられた複数のメモリ領域を含むメモリと、複数のメモリ領域に記録されているデータの更新状況に基づいて複数のCPUコアで実行されている処理が正常に動作しているか否かを監視する監視部と、複数のCPUコアで実行されている処理が正常に動作していないことが監視部により検出されたときに、複数のCPUコアに対してリセット信号を出力するリセット信号出力部とを備え、複数のCPUコアの各々には、当該CPUコアでの処理優先度が最も低く、且つ、当該CPUコアに対応して設けられたメモリ領域に記録されているデータを更新するアイドル処理が割り当てられる。

Description

本発明は、マルチコアCPUを監視するCPU監視装置に関する。
近年、処理速度の向上や消費電力の削減等といた観点から、シングルコアCPU(Central Processing Unit)に代えてマルチコアCPUを搭載するようにした装置が増えている。
医療分野の装置においては、装置の異常動作が許されない状況にあることから、シングルコアCPUに代えてマルチコアCPUを搭載する場合には、マルチコアCPUを監視して、マルチコアCPUが異常な状態(例えばCPUコアの暴走等)になったときには速やかにマルチコアCPUを再起動させて正常な状態に戻す仕組みが必要である。
マルチコアCPUを監視する装置に関し、次のような装置が知られている。
例えば、同一パッケージ内に複数のコアを持つマイコンであっても、1個の監視部のみで、マイコンの暴走を正しく監視できるようにした電子制御装置が知られている(特許文献1参照)。また、例えば、三つ以上のCPUを備えるマイクロコンピュータシステムであっても、監視回路の数を増やすことなく適切にCPUの暴走監視ができ、さらには、監視回路を共用したときに何れのCPUに異常が発生しているのかを容易に判別することができるようにしたCPU監視装置が知られている(特許文献2参照)。
特開2010−33475号公報 特開2009−53952号公報
本発明は、マルチコアCPUが異常な状態になったときに速やかにマルチコアCPUを再起動させることができるCPU監視装置を提供することを目的とする。
本発明の第1の態様は、複数のCPUコアに対応して設けられた複数のメモリ領域を含むメモリと、前記複数のメモリ領域に記録されているデータの更新状況に基づいて前記複数のCPUコアで実行されている処理が正常に動作しているか否かを監視する監視部と、前記複数のCPUコアで実行されている処理が正常に動作していないことが前記監視部により検出されたときに、前記複数のCPUコアに対してリセット信号を出力するリセット信号出力部と、を備え、前記複数のCPUコアの各々には、当該CPUコアでの処理優先度が最も低く、且つ、当該CPUコアに対応して設けられたメモリ領域に記録されているデータを更新するアイドル処理が割り当てられる、CPU監視装置を提供する。
本発明の第2の態様は、第1の態様において、前記複数のCPUコアの各々には、当該複数のCPUコアの各々の負荷状況に応じて動的に、前記アイドル処理以外の処理が割り当てられる、CPU監視装置を提供する。
本発明の第3の態様は、第2の態様において、前記アイドル処理以外の処理は第1の処理を含み、当該第1の処理は、当該第1の処理が割り当てられたCPUコアに対応して設けられたメモリ領域に記録されているデータを更新する処理を含む、CPU監視装置を提供する。
本発明の第4の態様は、第2又は第3の態様において、前記アイドル処理以外の処理は第2の処理を含み、当該第2の処理は、当該第2の処理が割り当てられたCPUコアに対応して設けられたメモリ領域に記録されているデータを更新する処理を含まない、CPU監視装置を提供する。
本発明の第5の態様は、第4の態様において、前記複数のCPUコアの各々には、当該CPUコアのリソースの50%未満の範囲で前記第2の処理が割り当てられる、CPU監視装置を提供する。
本発明によれば、マルチコアCPUが異常な状態になったときに速やかにマルチコアCPUを再起動させることができる、という効果を奏する。
一実施の形態に係るCPU監視装置を含むマルチコアCPUシステムの構成例を示す図である。 第1CPUコア及び第2CPUコアの各々に割り当てられた更新処理及び非更新処理の一例を示す図である。 第1CPUコア及び第2CPUコアの各々に割り当てられた更新処理及び非更新処理の他の一例を示す図である。 第1CPUコア及び第2CPUコアが正常動作しているときのマルチコアCPUシステムの動作を示すタイミングチャートの一例である。 第2CPUコアが異常動作しているときのマルチコアCPUシステムの動作を示すタイミングチャートの一例である。
以下、図面を参照しながら、本発明の実施の形態について説明する。
図1は、本発明の一実施の形態に係るCPU監視装置を含むマルチコアCPUシステムの構成例を示す図である。なお、このマルチコアCPUシステムは、例えば、医療用内視鏡により取得された画像データを処理する画像処理装置等の医療用装置である。
図1において、マルチコアCPUシステム1は、マルチコアCPU10、メモリ20、第1アイドル処理部30、第2アイドル処理部40、更新処理部50、非更新処理部60、マルチコアWDT(watchdog timer)監視処理部70、及びWDTIC(watchdog timer integrated circuit)80を含む。
マルチコアCPU10は、第1CPUコア11及び第2CPUコア12を有するデュアルコアCPUである。
メモリ20は、第1CPUコア11に対応して設けられた第1メモリ領域21と、第2CPUコア12に対応して設けられた第2メモリ領域22とを含む。第1メモリ領域21には第1データが記録され、第2メモリ領域22には第2データが記録される。本実施形態では、第1データとして「0」又は「1」が記録され、第2データとして「0」又は「1」が記録される。
第1アイドル処理部30は、第1CPUコア11のみに割り当てられる第1アイドル処理が、その第1CPUコア11により実行されることによって実現される処理部である。第1アイドル処理は、第1CPUコア11での処理優先度が最も低く、且つ、第1メモリ領域21に記録されている第1データを更新する処理である。本実施形態では、その第1データを更新する処理として、第1データを「1」へ書き換える処理が行われる。
第2アイドル処理部40は、第2CPUコア12のみに割り当てられる第2アイドル処理が、その第2CPUコア12により実行されることによって実現される処理部である。第2アイドル処理は、第2CPUコア12での処理優先度が最も低く、且つ、第2メモリ領域22に記録されている第2データを更新する処理である。本実施形態では、その第2データを更新する処理として、第2データを「1」へ書き換える処理が行われる。
更新処理部50は、第1CPUコア11及び第2CPUコア12の各々の負荷状況に応じて動的に第1CPUコア11又は第2CPUコア12に割り当てられる更新処理が、その第1CPUコア11又は第2CPUコア12により実行されることによって実現される処理部である。更新処理は、例えば映像表示等のアプリケーションソフトウェアの処理であって、当該処理が割り当てられた第1CPUコア11又は第2CPUコア12に対応して設けられた第1メモリ領域21又は第2メモリ領域22に記録されている第1データ又は第2データを更新する処理を含む。本実施形態では、その第1データ又は第2データを更新する処理として、第1データ又は第2データを「1」へ書き換える処理が行われる。
非更新処理部60は、第1CPUコア11及び第2CPUコア12の各々の負荷状況に応じて動的に第1CPUコア11又は第2CPUコア12に割り当てられる非更新処理が、その第1CPUコア11又は第2CPUコア12により実行されることによって実現される処理部である。非更新処理は、例えばOS(Operating System)の処理であって、当該処理が割り当てられた第1CPUコア11又は第2CPUコア12に対応して設けられた第1メモリ領域21又は第2メモリ領域22に記録されている第1データ又は第2データを更新する処理を含まない。
マルチコアWDT監視処理部70は、第1メモリ領域21に記録されている第1データ及び第2メモリ領域22に記録されている第2データの更新状況に基づいて、第1CPUコア11及び第2CPUコア12で実行されている処理が正常に動作しているか否かを監視する。本実施形態では、マルチコアWDT監視処理部70は、所定時間毎に、第1メモリ領域21に記録されている第1データ及び第2メモリ領域22に記録されている第2データを監視すると共に、その第1データ及び第2データを更新する。なお、その第1データ及び第2データの更新は、その第1データ及び第2データを「0」へ書き換えることにより行われる。また、マルチコアWDT監視処理部70は、所定時間毎の監視タイミングにおいて、第1データ又は第2データが例えば連続する複数回の監視タイミングにおいて「0」である場合に、第1CPUコア11又は第2CPUコア12で実行されている処理が正常に動作していないとして、第1CPUコア11又は第2CPUコア12の異常を検出する。また、マルチコアWDT監視処理部70は、第1CPUコア11又は第2CPUコア12の異常を検出すると、第1CPUコア11又は第2CPUコア12が異常であることを示す「0」をWDTIC80へ出力する。なお、マルチコアWDT監視処理部70は、第1CPUコア11又は第2CPUコア12の異常を検出しない場合には、第1CPUコア11及び第2CPUコア12が正常であることを示す「1」をWDTIC80へ出力する。
WDTIC80は、第1CPUコア11及び第2CPUコア12で実行されている処理が正常に動作していないことがマルチコアWDT監視処理部70により検出されたときに、第1CPUコア11及び第2CPUコア12に対してリセット信号を出力する。なお、リセット信号は、第1CPUコア11及び第2CPUコア12を再起動させる信号である。本実施形態では、WDTIC80は、マルチコアWDT監視処理部70の出力信号が「1」から「0」に変化した場合に、第1CPUコア11及び第2CPUコア12に対してリセット信号を出力する。
なお、このような構成を有するマルチコアCPUシステム1において、更新処理及び非更新処理の各々は、上述のとおり、第1CPUコア11及び第2CPUコア12の各々の負荷状況に応じて動的に第1CPUコア11又は第2CPUコア12に割り当てられる。従って、例えば図2Aに示したように、第1CPUコア11及び第2CPUコア12の各々において、更新処理(「更新処理部」)と非更新処理(「非更新処理部」)とが交互に実行されるように割り当てられる場合には問題が生じない。しかしながら、例えば図2Bに示したように、非更新処理(「非更新処理部」)が第2CPUコア12に偏って割り当てられる場合には、第2メモリ領域22に記録されている第2データの更新が行われないことになることから、マルチコアWDT監視処理部70が誤って第2CPUコア12の異常を検出してしまう虞がある。そこで、マルチコアCPUシステム1では、そのような誤検出を防止するため、第1CPUコア11には当該第1CPUコア11のリソースの50%未満の範囲で非更新処理が割り当てられ、第2CPUコア12には当該第2CPUコア12のリソースの50%未満の範囲で非更新処理が割り当てられるようにされている。また、そのような範囲で非更新処理が割り当てられている場合において、マルチコアWDT監視処理部70は、誤って第1CPUコア11又は第2CPUコア12の異常を検出することがないようにされている。なお、図2A及び図2Bにおいて、「更新処理部」又は「非更新処理部」に続く数字(「1」、「2」、「3」、「4」、「5」)は、第1CPUコア11又は第2CPUコア12での処理優先度を示している。
このような構成を有するマルチコアCPUシステム1において、第1CPUコア11に対応して設けられた第1メモリ領域21と第2CPUコア12に対応して設けられた第2メモリ領域22とを含むメモリ20は、複数のCPUコアに対応して設けられた複数のメモリ領域を含むメモリの一例である。マルチコアWDT監視処理部70は、複数のメモリ領域に記録されているデータの更新状況に基づいて複数のCPUコアで実行されている処理が正常に動作しているか否かを監視する監視部の一例である。WDTIC80は、複数のCPUコアで実行されている処理が正常に動作していないことが監視部により検出されたときに、複数のCPUコアに対してリセット信号を出力するリセット信号出力部の一例である。第1アイドル処理(第1アイドル処理部30)及び第2アイドル処理(第2アイドル処理部40)は、複数のCPUコアの各々に割り当てられるアイドル処理(当該CPUコアでの処理優先度が最も低く、且つ、当該CPUコアに対応して設けられたメモリ領域に記録されているデータを更新する処理)の一例である。更新処理(更新処理部50)は、第1の処理(当該第1の処理が割り当てられたCPUコアに対応して設けられたメモリ領域に記録されているデータを更新する処理を含む)の一例である。非更新処理(非更新処理部60)は、第2の処理(当該第2の処理が割り当てられたCPUコアに対応して設けられたメモリ領域に記録されているデータを更新する処理を含まない)の一例である。
図3A及び図3Bは、マルチコアCPUシステム1の動作を示すタイミングチャートの一例である。より詳しくは、図3Aは、第1CPUコア11及び第2CPUコア12が正常動作しているときのタイミングチャートの一例を示し、図3Bは、図3Aに示した動作と同様の動作が行われるべきところ、第2CPUコア12が異常動作しているときのタイミングチャートの一例を示している。
図3Aに示した例では、時刻t1において、処理優先度に従って第1CPUコア11で実行されている更新処理によって第1メモリ領域21に記録されている第1データが「1」へ更新される。また、時刻t1の後の時刻t2において、処理優先度に従って第2CPUコア12で実行されている更新処理によって第2メモリ領域22に記録されている第2データが「1」へ更新される。なお、第1メモリ領域21に記録されている第1データ及び第2メモリ領域22に記録されている第2データの初期値は「0」であるとする。
その後、マルチコアWDT監視処理部70による監視タイミングの時刻である時刻t3において、第1メモリ領域21に記録されている第1データ及び第2メモリ領域22に記録されている第2データがマルチコアWDT監視処理部70により読み出される。この時点の第1データ及び第2データは共に「1」であるので、マルチコアWDT監視処理部70において、第1CPUコア11又は第2CPUコア12の異常は検出されない。そのため、マルチコアWDT監視処理部70の出力は、第1CPUコア11及び第2CPUコア12の正常を示す「1」のままである。なお、マルチコアWDT監視処理部70の出力の初期値は「1」であるとする。また、これに伴い、WDTIC80の出力は「0」のままであり、リセット信号(1つのパルス信号)の出力は行われない。そして、時刻t3の後の時刻t4において、マルチコアWDT監視処理部70により、第1メモリ領域21に記録されている第1データ及び第2メモリ領域22に記録されている第2データが共に「0」に更新される。
その後、時刻t5において、処理優先度に従って第1CPUコア11で次に実行されている更新処理(又は第1アイドル処理)によって第1メモリ領域21に記録されている第1データが「1」へ更新される。また、時刻t5の後の時刻t6において、処理優先度に従って第2CPUコア12で次に実行されている更新処理(又は第2アイドル処理)によって第2メモリ領域22に記録されている第2データが「1」へ更新される。
その後、マルチコアWDT監視処理部70による次の監視タイミングの時刻である時刻t7において、第1メモリ領域21に記録されている第1データ及び第2メモリ領域22に記録されている第2データがマルチコアWDT監視処理部70により読み出される。この時点の第1データ及び第2データも共に「1」であるので、マルチコアWDT監視処理部70において、第1CPUコア11又は第2CPUコア12の異常は検出されない。そのため、マルチコアWDT監視処理部70の出力は、第1CPUコア11及び第2CPUコア12の正常を示す「1」のままであり、WDTIC80の出力は「0」のままである。そして、時刻t7の後の時刻t8において、マルチコアWDT監視処理部70により、第1メモリ領域21に記録されている第1データ及び第2メモリ領域22に記録されている第2データが共に「0」に更新される。
第1CPUコア11及び第2CPUコア12が正常動作している場合には、このような動作が繰り返し行われる。
一方、図3Bに示した例では、時刻t1において、処理優先度に従って第1CPUコア11で実行されている更新処理によって、第1メモリ領域21に記録されている第1データが「1」へ更新される。しかしながら、時刻t1の後の時刻t2においては、第2CPUコア12の異常(例えば第2CPUコア12の暴走等)により、処理優先度に従って第2CPUコア12で実行される更新処理が正常に動作せず、第2メモリ領域22に記録されている第2データの更新(「1」への更新)が行われない。従って、第2データは「0」のままである。
その後、マルチコアWDT監視処理部70による監視タイミングの時刻である時刻t3において、第1メモリ領域21に記録されている第1データ及び第2メモリ領域22に記録されている第2データがマルチコアWDT監視処理部70により読み出される。なお、本例のマルチコアWDT監視処理部70では、第1データ又は第2データが、連続する2回の監視タイミングにおいて「0」である場合に、第1CPUコア11又は第2CPUコア12で実行されている処理が正常に動作していないとして、第1CPUコア11又は第2CPUコア12の異常を検出するものとする。従って、この時点では、第1データが「1」であり第2データが「0」ではあるが、マルチコアWDT監視処理部70において、第1CPUコア11又は第2CPUコア12の異常は検出されない。そのため、マルチコアWDT監視処理部70の出力は、第1CPUコア11及び第2CPUコア12の正常を示す「1」のままであり、WDTIC80の出力は「0」のままである。そして、時刻t3の後の時刻t4において、マルチコアWDT監視処理部70により、第1メモリ領域21に記録されている第1データ及び第2メモリ領域22に記録されている第2データが共に「0」に更新される。
その後、時刻t5において、処理優先度に従って第1CPUコア11で次に実行されている更新処理(又は第1アイドル処理)によって第1メモリ領域21に記録されている第1データが「1」へ更新される。しかしながら、時刻t5の後の時刻t6においても、第2CPUコア12の異常が続いており、第2メモリ領域22に記録されている第2データの更新(「1」への更新)が行われない。従って、第2データは「0」のままである。
その後、マルチコアWDT監視処理部70による次の監視タイミングの時刻である時刻t7において、第1メモリ領域21に記録されている第1データ及び第2メモリ領域22に記録されている第2データがマルチコアWDT監視処理部70により読み出される。この時点でも、第1データが「1」であり第2データが「0」である。従って、連続する2回の監視タイミング(t3及びt7)において第2データが「0」となることから、第2CPUコア12で実行されている処理が正常に動作していないとして、マルチコアWDT監視処理部70において、第2CPUコア12の異常が検出される。そのため、マルチコアWDT監視処理部70の出力が、第1CPUコア11又は第2CPUコア12の異常を示す「0」となる。また、WDTIC80では、マルチコアWDT監視処理部70の出力が「1」から「0」に変化したことに伴い、第1CPUコア11及び第2CPUコア12に対してリセット信号(1つのパルス信号)が出力される。これにより、第1CPUコア11及び第2CPUコア12は、そのリセット信号に応じて再起動し、第2CPUコア12は正常な状態に復帰する。そして、時刻t7の後の時刻t8において、マルチコアWDT監視処理部70により、第1メモリ領域21に記録されている第1データ及び第2メモリ領域22に記録されている第2データが共に「0」に更新される。
以上のように、本実施形態に係るCPU監視装置によれば、第1CPUコア11又は第2CPUコア12が異常な状態になると、その異常がマルチコアWDT監視処理部70により検出され、WDTIC80により第1CPUコア11及び第2CPUコア12に対してリセット信号が出力されるようになる。従って、マルチコアCPU10(第1CPUコア11又は第2CPUコア12)が異常な状態になると、速やかに、マルチコアCPU10(第1CPUコア11及び第2CPUコア12)を再起動させて正常な状態に戻すことができる。
なお、本実施形態に係るCPU監視装置を含むマルチコアCPUシステム1においては、次のような変形が可能である。
例えば、マルチコアCPU10を、3つ以上のCPUコアを有するように構成してもよい。但し、この場合、メモリ20には、その3つ以上のCPUコアに対応して3つ以上のメモリ領域が設けられる。また、その3つ以上のCPUコアの各々には、当該CPUコアでの処理優先度が最も低く、且つ、当該CPUコアに対応して設けられたメモリ領域に記録されているデータを更新するアイドル処理(アイドル処理部)が割り当てられる。また、更新処理(更新処理部50)は、その3つ以上のCPUコアの各々の負荷状況に応じて動的に、その3つ以上のCPUコアの何れか1つに割り当てられる。また、非更新処理(非更新処理部60)も、その3つ以上のCPUコアの各々の負荷状況に応じて動的に、その3つ以上のCPUコアの何れか1つに割り当てられる。また、マルチコアWDT監視処理部70は、その3つ以上のCPUコアに対応して設けられた3つ以上のメモリ領域の各々のデータの監視及び更新を行う。このような変形により、マルチコアCPU10が3つ以上のCPUコアを有する場合であっても、そのようなマルチコアCPU10が異常な状態になると、速やかに、そのマルチコアCPU10を再起動させて正常な状態に戻すことができる。
以上、上述した実施形態は、発明の理解を容易にするために本発明の具体例を示したものであり、本発明は上述の実施形態に限定されるものではない。本発明は、特許請求の範囲に規定された本発明の思想を逸脱しない範囲において、さまざまな変形、変更が可能である。
1 マルチコアCPUシステム
10 マルチコアCPU
11 第1CPUコア
12 第2CPUコア
20 メモリ
21 第1メモリ領域
22 第2メモリ領域
30 第1アイドル処理部
40 第2アイドル処理部
50 更新処理部
60 非更新処理部
70 マルチコアWDT監視処理部
80 WDTIC
本発明の第1の態様は、複数のCPUコアに対応して設けられた複数のメモリ領域を含むメモリと、前記複数のメモリ領域に記録されているデータの更新状況に基づいて前記複数のCPUコアで実行されている処理が正常に動作しているか否かを監視する監視部と、前記複数のCPUコアで実行されている処理が正常に動作していないことが前記監視部により検出されたときに、前記複数のCPUコアに対してリセット信号を出力するリセット信号出力部と、を備え、前記複数のCPUコアの各々には、当該CPUコアでの処理優先度が最も低く、且つ、当該CPUコアに対応して設けられたメモリ領域に記録されているデータを更新するアイドル処理が割り当てられるとともに、当該複数のCPUコアの各々の負荷状況に応じて動的に前記アイドル処理以外の処理が割り当てられ、前記アイドル処理以外の処理に含まれる第1の処理は、当該第1の処理が割り当てられたCPUコアに対応して設けられたメモリ領域に記録されているデータを更新する処理を含む、CPU監視装置を提供する。
本発明の第態様は、第の態様において、前記アイドル処理以外の処理に含まれる第2の処理は、当該第2の処理が割り当てられたCPUコアに対応して設けられたメモリ領域に記録されているデータを更新する処理を含まない、CPU監視装置を提供する。
本発明の第の態様は、第の態様において、前記複数のCPUコアの各々には、当該CPUコアのリソースの50%未満の範囲で前記第2の処理が割り当てられる、CPU監視装置を提供する。

Claims (5)

  1. 複数のCPUコアに対応して設けられた複数のメモリ領域を含むメモリと、
    前記複数のメモリ領域に記録されているデータの更新状況に基づいて前記複数のCPUコアで実行されている処理が正常に動作しているか否かを監視する監視部と、
    前記複数のCPUコアで実行されている処理が正常に動作していないことが前記監視部により検出されたときに、前記複数のCPUコアに対してリセット信号を出力するリセット信号出力部と、
    を備え、
    前記複数のCPUコアの各々には、当該CPUコアでの処理優先度が最も低く、且つ、当該CPUコアに対応して設けられたメモリ領域に記録されているデータを更新するアイドル処理が割り当てられる、
    ことを特徴とするCPU監視装置。
  2. 前記複数のCPUコアの各々には、当該複数のCPUコアの各々の負荷状況に応じて動的に、前記アイドル処理以外の処理が割り当てられる、
    ことを特徴とする請求項1記載のCPU監視装置。
  3. 前記アイドル処理以外の処理は第1の処理を含み、当該第1の処理は、当該第1の処理が割り当てられたCPUコアに対応して設けられたメモリ領域に記録されているデータを更新する処理を含む、
    ことを特徴とする請求項2記載のCPU監視装置。
  4. 前記アイドル処理以外の処理は第2の処理を含み、当該第2の処理は、当該第2の処理が割り当てられたCPUコアに対応して設けられたメモリ領域に記録されているデータを更新する処理を含まない、
    ことを特徴とする請求項2又は3記載のCPU監視装置。
  5. 前記複数のCPUコアの各々には、当該CPUコアのリソースの50%未満の範囲で前記第2の処理が割り当てられる、
    ことを特徴とする請求項4記載のCPU監視装置。
JP2016558434A 2015-06-16 2016-06-09 Cpu監視装置 Active JP6049961B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015121490 2015-06-16
JP2015121490 2015-06-16
PCT/JP2016/067261 WO2016204070A1 (ja) 2015-06-16 2016-06-09 Cpu監視装置

Publications (2)

Publication Number Publication Date
JP6049961B1 JP6049961B1 (ja) 2016-12-21
JPWO2016204070A1 true JPWO2016204070A1 (ja) 2017-06-29

Family

ID=57545292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016558434A Active JP6049961B1 (ja) 2015-06-16 2016-06-09 Cpu監視装置

Country Status (5)

Country Link
US (1) US20180107559A1 (ja)
EP (1) EP3312726A1 (ja)
JP (1) JP6049961B1 (ja)
CN (1) CN107735770A (ja)
WO (1) WO2016204070A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021140450A (ja) * 2020-03-05 2021-09-16 株式会社デンソー 電子制御装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019172718A1 (en) * 2018-03-09 2019-09-12 Samsung Electronics Co., Ltd. Electronic device and on-device method for enhancing user experience in electronic device
JP7494539B2 (ja) 2020-04-07 2024-06-04 株式会社リコー 表示装置、負荷制御方法、プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0190370B1 (en) * 1984-12-31 1990-04-04 International Business Machines Corporation Device for improving the detection of non-operational states in a non-attended interrupt-driven processor
JP2795140B2 (ja) * 1993-10-19 1998-09-10 松下電器産業株式会社 暴走監視装置
JP2010033475A (ja) * 2008-07-31 2010-02-12 Hitachi Ltd 電子制御装置
JP5335552B2 (ja) * 2009-05-14 2013-11-06 キヤノン株式会社 情報処理装置、その制御方法、及びコンピュータプログラム
US8776061B2 (en) * 2010-12-16 2014-07-08 International Business Machines Corporation Real-time distributed monitoring of local and global processor resource allocations and deallocations
KR101581608B1 (ko) * 2012-02-13 2015-12-30 미쓰비시덴키 가부시키가이샤 프로세서 시스템
US9032258B2 (en) * 2012-09-14 2015-05-12 Infineon Technologies Ag Safety system challenge-and-response using modified watchdog timer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021140450A (ja) * 2020-03-05 2021-09-16 株式会社デンソー 電子制御装置

Also Published As

Publication number Publication date
WO2016204070A1 (ja) 2016-12-22
JP6049961B1 (ja) 2016-12-21
EP3312726A1 (en) 2018-04-25
CN107735770A (zh) 2018-02-23
US20180107559A1 (en) 2018-04-19

Similar Documents

Publication Publication Date Title
JP6049961B1 (ja) Cpu監視装置
US10379931B2 (en) Computer system
JP2019095893A (ja) 半導体装置
JP2007323631A (ja) Cpu暴走判定回路
JP2010186242A (ja) 計算機システム
JP2008033890A (ja) マイクロコンピュータシステム
JP6148129B2 (ja) 情報処理装置、ファームウェア更新方法およびファームウェア更新プログラム
JP5517301B2 (ja) データ処理システム
JP2009175960A (ja) 仮想マルチプロセッサシステム
JP6352627B2 (ja) コンピュータシステム及びその動作方法
JP2008257589A (ja) プロセッサ異常監視機能を備えたマルチプロセッサシステム
US20060195849A1 (en) Method for synchronizing events, particularly for processors of fault-tolerant systems
JP2006227962A (ja) アプリケーションタスク監視システムおよび方法
US10540222B2 (en) Data access device and access error notification method
JP2021043725A (ja) 計算システム、計算方法及びプログラム
JP2012108848A (ja) 動作ログ収集システム及びプログラム
JP2012133458A (ja) マイコン、リソース割り当て方法
JP2005092430A (ja) ウォッチドッグタイマ
JP6765874B2 (ja) 電子制御装置
JP7278205B2 (ja) 演算装置および演算装置の監視方法
US20170060666A1 (en) Controller capable of detecting factor at time of abnormality of pc function
JP5494039B2 (ja) メモリ診断方法および電力変換装置の制御機器
US9342359B2 (en) Information processing system and information processing method
JP2010033475A (ja) 電子制御装置
JP5239985B2 (ja) バッファ制御システム及びバッファ制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160921

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160921

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160921

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20161101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161122

R151 Written notification of patent or utility model registration

Ref document number: 6049961

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250