(57)【特許請求の範囲】
【請求項１】
複数のＣＰＵコアに対応して設けられた複数のメモリ領域を含むメモリと、
前記複数のメモリ領域に記録されているデータの更新状況に基づいて前記複数のＣＰＵコアで実行されている処理が正常に動作しているか否かを監視する監視部と、
前記複数のＣＰＵコアで実行されている処理が正常に動作していないことが前記監視部により検出されたときに、前記複数のＣＰＵコアに対してリセット信号を出力するリセット信号出力部と、
を備え、
前記複数のＣＰＵコアの各々には、当該ＣＰＵコアでの処理優先度が最も低く、且つ、当該ＣＰＵコアに対応して設けられたメモリ領域に記録されているデータを更新するアイドル処理が割り当てられるとともに、当該複数のＣＰＵコアの各々の負荷状況に応じて動的に前記アイドル処理以外の処理が割り当てられ、
前記アイドル処理以外の処理に含まれる第１の処理は、当該第１の処理が割り当てられたＣＰＵコアに対応して設けられたメモリ領域に記録されているデータを更新する処理を含むことを特徴とするＣＰＵ監視装置。
【請求項２】
前記アイドル処理以外の処理に含まれる第２の処理は、当該第２の処理が割り当てられたＣＰＵコアに対応して設けられたメモリ領域に記録されているデータを更新する処理を含まないことを特徴とする請求項１記載のＣＰＵ監視装置。
【請求項３】
前記複数のＣＰＵコアの各々には、当該ＣＰＵコアのリソースの５０％未満の範囲で前記第２の処理が割り当てられることを特徴とする請求項２記載のＣＰＵ監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアＣＰＵを監視するＣＰＵ監視装置に関する。
【背景技術】
【０００２】
近年、処理速度の向上や消費電力の削減等といた観点から、シングルコアＣＰＵ（Central Processing Unit）に代えてマルチコアＣＰＵを搭載するようにした装置が増えている。【０００３】
医療分野の装置においては、装置の異常動作が許されない状況にあることから、シングルコアＣＰＵに代えてマルチコアＣＰＵを搭載する場合には、マルチコアＣＰＵを監視して、マルチコアＣＰＵが異常な状態（例えばＣＰＵコアの暴走等）になったときには速やかにマルチコアＣＰＵを再起動させて正常な状態に戻す仕組みが必要である。【０００４】
マルチコアＣＰＵを監視する装置に関し、次のような装置が知られている。
例えば、同一パッケージ内に複数のコアを持つマイコンであっても、１個の監視部のみで、マイコンの暴走を正しく監視できるようにした電子制御装置が知られている（特許文献１参照）。また、例えば、三つ以上のＣＰＵを備えるマイクロコンピュータシステムであっても、監視回路の数を増やすことなく適切にＣＰＵの暴走監視ができ、さらには、監視回路を共用したときに何れのＣＰＵに異常が発生しているのかを容易に判別することができるようにしたＣＰＵ監視装置が知られている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−３３４７５号公報
【特許文献２】特開２００９−５３９５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、マルチコアＣＰＵが異常な状態になったときに速やかにマルチコアＣＰＵを再起動させることができるＣＰＵ監視装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様は、複数のＣＰＵコアに対応して設けられた複数のメモリ領域を含むメモリと、前記複数のメモリ領域に記録されているデータの更新状況に基づいて前記複数のＣＰＵコアで実行されている処理が正常に動作しているか否かを監視する監視部と、前記複数のＣＰＵコアで実行されている処理が正常に動作していないことが前記監視部により検出されたときに、前記複数のＣＰＵコアに対してリセット信号を出力するリセット信号出力部と、を備え、前記複数のＣＰＵコアの各々には、当該ＣＰＵコアでの処理優先度が最も低く、且つ、当該ＣＰＵコアに対応して設けられたメモリ領域に記録されているデータを更新するアイドル処理が割り当てられるとともに、当該複数のＣＰＵコアの各々の負荷状況に応じて動的に前記アイドル処理以外の処理が割り当てられ、前記アイドル処理以外の処理に含まれる第１の処理は、当該第１の処理が割り当てられたＣＰＵコアに対応して設けられたメモリ領域に記録されているデータを更新する処理を含む、ＣＰＵ監視装置を提供する。
【００１０】
本発明の第２態様は、第１の態様において、前記アイドル処理以外の処理に含まれる第２の処理は、当該第２の処理が割り当てられたＣＰＵコアに対応して設けられたメモリ領域に記録されているデータを更新する処理を含まない、ＣＰＵ監視装置を提供する。
【００１１】
本発明の第３の態様は、第２の態様において、前記複数のＣＰＵコアの各々には、当該ＣＰＵコアのリソースの５０％未満の範囲で前記第２の処理が割り当てられる、ＣＰＵ監視装置を提供する。
【発明の効果】
【００１２】
本発明によれば、マルチコアＣＰＵが異常な状態になったときに速やかにマルチコアＣＰＵを再起動させることができる、という効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】一実施の形態に係るＣＰＵ監視装置を含むマルチコアＣＰＵシステムの構成例を示す図である。
【図２Ａ】第１ＣＰＵコア及び第２ＣＰＵコアの各々に割り当てられた更新処理及び非更新処理の一例を示す図である。
【図２Ｂ】第１ＣＰＵコア及び第２ＣＰＵコアの各々に割り当てられた更新処理及び非更新処理の他の一例を示す図である。
【図３Ａ】第１ＣＰＵコア及び第２ＣＰＵコアが正常動作しているときのマルチコアＣＰＵシステムの動作を示すタイミングチャートの一例である。
【図３Ｂ】第２ＣＰＵコアが異常動作しているときのマルチコアＣＰＵシステムの動作を示すタイミングチャートの一例である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、本発明の実施の形態について説明する。
図１は、本発明の一実施の形態に係るＣＰＵ監視装置を含むマルチコアＣＰＵシステムの構成例を示す図である。なお、このマルチコアＣＰＵシステムは、例えば、医療用内視鏡により取得された画像データを処理する画像処理装置等の医療用装置である。
【００１５】
図１において、マルチコアＣＰＵシステム１は、マルチコアＣＰＵ１０、メモリ２０、第１アイドル処理部３０、第２アイドル処理部４０、更新処理部５０、非更新処理部６０、マルチコアＷＤＴ（watchdog timer）監視処理部７０、及びＷＤＴＩＣ（watchdog timer integrated circuit）８０を含む。
【００１６】
マルチコアＣＰＵ１０は、第１ＣＰＵコア１１及び第２ＣＰＵコア１２を有するデュアルコアＣＰＵである。
メモリ２０は、第１ＣＰＵコア１１に対応して設けられた第１メモリ領域２１と、第２ＣＰＵコア１２に対応して設けられた第２メモリ領域２２とを含む。第１メモリ領域２１には第１データが記録され、第２メモリ領域２２には第２データが記録される。本実施形態では、第１データとして「０」又は「１」が記録され、第２データとして「０」又は「１」が記録される。
【００１７】
第１アイドル処理部３０は、第１ＣＰＵコア１１のみに割り当てられる第１アイドル処理が、その第１ＣＰＵコア１１により実行されることによって実現される処理部である。第１アイドル処理は、第１ＣＰＵコア１１での処理優先度が最も低く、且つ、第１メモリ領域２１に記録されている第１データを更新する処理である。本実施形態では、その第１データを更新する処理として、第１データを「１」へ書き換える処理が行われる。
【００１８】
第２アイドル処理部４０は、第２ＣＰＵコア１２のみに割り当てられる第２アイドル処理が、その第２ＣＰＵコア１２により実行されることによって実現される処理部である。第２アイドル処理は、第２ＣＰＵコア１２での処理優先度が最も低く、且つ、第２メモリ領域２２に記録されている第２データを更新する処理である。本実施形態では、その第２データを更新する処理として、第２データを「１」へ書き換える処理が行われる。
【００１９】
更新処理部５０は、第１ＣＰＵコア１１及び第２ＣＰＵコア１２の各々の負荷状況に応じて動的に第１ＣＰＵコア１１又は第２ＣＰＵコア１２に割り当てられる更新処理が、その第１ＣＰＵコア１１又は第２ＣＰＵコア１２により実行されることによって実現される処理部である。更新処理は、例えば映像表示等のアプリケーションソフトウェアの処理であって、当該処理が割り当てられた第１ＣＰＵコア１１又は第２ＣＰＵコア１２に対応して設けられた第１メモリ領域２１又は第２メモリ領域２２に記録されている第１データ又は第２データを更新する処理を含む。本実施形態では、その第１データ又は第２データを更新する処理として、第１データ又は第２データを「１」へ書き換える処理が行われる。
【００２０】
非更新処理部６０は、第１ＣＰＵコア１１及び第２ＣＰＵコア１２の各々の負荷状況に応じて動的に第１ＣＰＵコア１１又は第２ＣＰＵコア１２に割り当てられる非更新処理が、その第１ＣＰＵコア１１又は第２ＣＰＵコア１２により実行されることによって実現される処理部である。非更新処理は、例えばＯＳ（Operating System）の処理であって、当該処理が割り当てられた第１ＣＰＵコア１１又は第２ＣＰＵコア１２に対応して設けられた第１メモリ領域２１又は第２メモリ領域２２に記録されている第１データ又は第２データを更新する処理を含まない。
【００２１】
マルチコアＷＤＴ監視処理部７０は、第１メモリ領域２１に記録されている第１データ及び第２メモリ領域２２に記録されている第２データの更新状況に基づいて、第１ＣＰＵコア１１及び第２ＣＰＵコア１２で実行されている処理が正常に動作しているか否かを監視する。本実施形態では、マルチコアＷＤＴ監視処理部７０は、所定時間毎に、第１メモリ領域２１に記録されている第１データ及び第２メモリ領域２２に記録されている第２データを監視すると共に、その第１データ及び第２データを更新する。なお、その第１データ及び第２データの更新は、その第１データ及び第２データを「０」へ書き換えることにより行われる。また、マルチコアＷＤＴ監視処理部７０は、所定時間毎の監視タイミングにおいて、第１データ又は第２データが例えば連続する複数回の監視タイミングにおいて「０」である場合に、第１ＣＰＵコア１１又は第２ＣＰＵコア１２で実行されている処理が正常に動作していないとして、第１ＣＰＵコア１１又は第２ＣＰＵコア１２の異常を検出する。また、マルチコアＷＤＴ監視処理部７０は、第１ＣＰＵコア１１又は第２ＣＰＵコア１２の異常を検出すると、第１ＣＰＵコア１１又は第２ＣＰＵコア１２が異常であることを示す「０」をＷＤＴＩＣ８０へ出力する。なお、マルチコアＷＤＴ監視処理部７０は、第１ＣＰＵコア１１又は第２ＣＰＵコア１２の異常を検出しない場合には、第１ＣＰＵコア１１及び第２ＣＰＵコア１２が正常であることを示す「１」をＷＤＴＩＣ８０へ出力する。
【００２２】
ＷＤＴＩＣ８０は、第１ＣＰＵコア１１及び第２ＣＰＵコア１２で実行されている処理が正常に動作していないことがマルチコアＷＤＴ監視処理部７０により検出されたときに、第１ＣＰＵコア１１及び第２ＣＰＵコア１２に対してリセット信号を出力する。なお、リセット信号は、第１ＣＰＵコア１１及び第２ＣＰＵコア１２を再起動させる信号である。本実施形態では、ＷＤＴＩＣ８０は、マルチコアＷＤＴ監視処理部７０の出力信号が「１」から「０」に変化した場合に、第１ＣＰＵコア１１及び第２ＣＰＵコア１２に対してリセット信号を出力する。
【００２３】
なお、このような構成を有するマルチコアＣＰＵシステム１において、更新処理及び非更新処理の各々は、上述のとおり、第１ＣＰＵコア１１及び第２ＣＰＵコア１２の各々の負荷状況に応じて動的に第１ＣＰＵコア１１又は第２ＣＰＵコア１２に割り当てられる。従って、例えば図２Ａに示したように、第１ＣＰＵコア１１及び第２ＣＰＵコア１２の各々において、更新処理（「更新処理部」）と非更新処理（「非更新処理部」）とが交互に実行されるように割り当てられる場合には問題が生じない。しかしながら、例えば図２Ｂに示したように、非更新処理（「非更新処理部」）が第２ＣＰＵコア１２に偏って割り当てられる場合には、第２メモリ領域２２に記録されている第２データの更新が行われないことになることから、マルチコアＷＤＴ監視処理部７０が誤って第２ＣＰＵコア１２の異常を検出してしまう虞がある。そこで、マルチコアＣＰＵシステム１では、そのような誤検出を防止するため、第１ＣＰＵコア１１には当該第１ＣＰＵコア１１のリソースの５０％未満の範囲で非更新処理が割り当てられ、第２ＣＰＵコア１２には当該第２ＣＰＵコア１２のリソースの５０％未満の範囲で非更新処理が割り当てられるようにされている。また、そのような範囲で非更新処理が割り当てられている場合において、マルチコアＷＤＴ監視処理部７０は、誤って第１ＣＰＵコア１１又は第２ＣＰＵコア１２の異常を検出することがないようにされている。なお、図２Ａ及び図２Ｂにおいて、「更新処理部」又は「非更新処理部」に続く数字（「１」、「２」、「３」、「４」、「５」）は、第１ＣＰＵコア１１又は第２ＣＰＵコア１２での処理優先度を示している。
【００２４】
このような構成を有するマルチコアＣＰＵシステム１において、第１ＣＰＵコア１１に対応して設けられた第１メモリ領域２１と第２ＣＰＵコア１２に対応して設けられた第２メモリ領域２２とを含むメモリ２０は、複数のＣＰＵコアに対応して設けられた複数のメモリ領域を含むメモリの一例である。マルチコアＷＤＴ監視処理部７０は、複数のメモリ領域に記録されているデータの更新状況に基づいて複数のＣＰＵコアで実行されている処理が正常に動作しているか否かを監視する監視部の一例である。ＷＤＴＩＣ８０は、複数のＣＰＵコアで実行されている処理が正常に動作していないことが監視部により検出されたときに、複数のＣＰＵコアに対してリセット信号を出力するリセット信号出力部の一例である。第１アイドル処理（第１アイドル処理部３０）及び第２アイドル処理（第２アイドル処理部４０）は、複数のＣＰＵコアの各々に割り当てられるアイドル処理（当該ＣＰＵコアでの処理優先度が最も低く、且つ、当該ＣＰＵコアに対応して設けられたメモリ領域に記録されているデータを更新する処理）の一例である。更新処理（更新処理部５０）は、第１の処理（当該第１の処理が割り当てられたＣＰＵコアに対応して設けられたメモリ領域に記録されているデータを更新する処理を含む）の一例である。非更新処理（非更新処理部６０）は、第２の処理（当該第２の処理が割り当てられたＣＰＵコアに対応して設けられたメモリ領域に記録されているデータを更新する処理を含まない）の一例である。
【００２５】
図３Ａ及び図３Ｂは、マルチコアＣＰＵシステム１の動作を示すタイミングチャートの一例である。より詳しくは、図３Ａは、第１ＣＰＵコア１１及び第２ＣＰＵコア１２が正常動作しているときのタイミングチャートの一例を示し、図３Ｂは、図３Ａに示した動作と同様の動作が行われるべきところ、第２ＣＰＵコア１２が異常動作しているときのタイミングチャートの一例を示している。
【００２６】
図３Ａに示した例では、時刻ｔ１において、処理優先度に従って第１ＣＰＵコア１１で実行されている更新処理によって第１メモリ領域２１に記録されている第１データが「１」へ更新される。また、時刻ｔ１の後の時刻ｔ２において、処理優先度に従って第２ＣＰＵコア１２で実行されている更新処理によって第２メモリ領域２２に記録されている第２データが「１」へ更新される。なお、第１メモリ領域２１に記録されている第１データ及び第２メモリ領域２２に記録されている第２データの初期値は「０」であるとする。
【００２７】
その後、マルチコアＷＤＴ監視処理部７０による監視タイミングの時刻である時刻ｔ３において、第１メモリ領域２１に記録されている第１データ及び第２メモリ領域２２に記録されている第２データがマルチコアＷＤＴ監視処理部７０により読み出される。この時点の第１データ及び第２データは共に「１」であるので、マルチコアＷＤＴ監視処理部７０において、第１ＣＰＵコア１１又は第２ＣＰＵコア１２の異常は検出されない。そのため、マルチコアＷＤＴ監視処理部７０の出力は、第１ＣＰＵコア１１及び第２ＣＰＵコア１２の正常を示す「１」のままである。なお、マルチコアＷＤＴ監視処理部７０の出力の初期値は「１」であるとする。また、これに伴い、ＷＤＴＩＣ８０の出力は「０」のままであり、リセット信号（１つのパルス信号）の出力は行われない。そして、時刻ｔ３の後の時刻ｔ４において、マルチコアＷＤＴ監視処理部７０により、第１メモリ領域２１に記録されている第１データ及び第２メモリ領域２２に記録されている第２データが共に「０」に更新される。
【００２８】
その後、時刻ｔ５において、処理優先度に従って第１ＣＰＵコア１１で次に実行されている更新処理（又は第１アイドル処理）によって第１メモリ領域２１に記録されている第１データが「１」へ更新される。また、時刻ｔ５の後の時刻ｔ６において、処理優先度に従って第２ＣＰＵコア１２で次に実行されている更新処理（又は第２アイドル処理）によって第２メモリ領域２２に記録されている第２データが「１」へ更新される。
【００２９】
その後、マルチコアＷＤＴ監視処理部７０による次の監視タイミングの時刻である時刻ｔ７において、第１メモリ領域２１に記録されている第１データ及び第２メモリ領域２２に記録されている第２データがマルチコアＷＤＴ監視処理部７０により読み出される。この時点の第１データ及び第２データも共に「１」であるので、マルチコアＷＤＴ監視処理部７０において、第１ＣＰＵコア１１又は第２ＣＰＵコア１２の異常は検出されない。そのため、マルチコアＷＤＴ監視処理部７０の出力は、第１ＣＰＵコア１１及び第２ＣＰＵコア１２の正常を示す「１」のままであり、ＷＤＴＩＣ８０の出力は「０」のままである。そして、時刻ｔ７の後の時刻ｔ８において、マルチコアＷＤＴ監視処理部７０により、第１メモリ領域２１に記録されている第１データ及び第２メモリ領域２２に記録されている第２データが共に「０」に更新される。
【００３０】
第１ＣＰＵコア１１及び第２ＣＰＵコア１２が正常動作している場合には、このような動作が繰り返し行われる。
一方、図３Ｂに示した例では、時刻ｔ１において、処理優先度に従って第１ＣＰＵコア１１で実行されている更新処理によって、第１メモリ領域２１に記録されている第１データが「１」へ更新される。しかしながら、時刻ｔ１の後の時刻ｔ２においては、第２ＣＰＵコア１２の異常（例えば第２ＣＰＵコア１２の暴走等）により、処理優先度に従って第２ＣＰＵコア１２で実行される更新処理が正常に動作せず、第２メモリ領域２２に記録されている第２データの更新（「１」への更新）が行われない。従って、第２データは「０」のままである。
【００３１】
その後、マルチコアＷＤＴ監視処理部７０による監視タイミングの時刻である時刻ｔ３において、第１メモリ領域２１に記録されている第１データ及び第２メモリ領域２２に記録されている第２データがマルチコアＷＤＴ監視処理部７０により読み出される。なお、本例のマルチコアＷＤＴ監視処理部７０では、第１データ又は第２データが、連続する２回の監視タイミングにおいて「０」である場合に、第１ＣＰＵコア１１又は第２ＣＰＵコア１２で実行されている処理が正常に動作していないとして、第１ＣＰＵコア１１又は第２ＣＰＵコア１２の異常を検出するものとする。従って、この時点では、第１データが「１」であり第２データが「０」ではあるが、マルチコアＷＤＴ監視処理部７０において、第１ＣＰＵコア１１又は第２ＣＰＵコア１２の異常は検出されない。そのため、マルチコアＷＤＴ監視処理部７０の出力は、第１ＣＰＵコア１１及び第２ＣＰＵコア１２の正常を示す「１」のままであり、ＷＤＴＩＣ８０の出力は「０」のままである。そして、時刻ｔ３の後の時刻ｔ４において、マルチコアＷＤＴ監視処理部７０により、第１メモリ領域２１に記録されている第１データ及び第２メモリ領域２２に記録されている第２データが共に「０」に更新される。
【００３２】
その後、時刻ｔ５において、処理優先度に従って第１ＣＰＵコア１１で次に実行されている更新処理（又は第１アイドル処理）によって第１メモリ領域２１に記録されている第１データが「１」へ更新される。しかしながら、時刻ｔ５の後の時刻ｔ６においても、第２ＣＰＵコア１２の異常が続いており、第２メモリ領域２２に記録されている第２データの更新（「１」への更新）が行われない。従って、第２データは「０」のままである。
【００３３】
その後、マルチコアＷＤＴ監視処理部７０による次の監視タイミングの時刻である時刻ｔ７において、第１メモリ領域２１に記録されている第１データ及び第２メモリ領域２２に記録されている第２データがマルチコアＷＤＴ監視処理部７０により読み出される。この時点でも、第１データが「１」であり第２データが「０」である。従って、連続する２回の監視タイミング（ｔ３及びｔ７）において第２データが「０」となることから、第２ＣＰＵコア１２で実行されている処理が正常に動作していないとして、マルチコアＷＤＴ監視処理部７０において、第２ＣＰＵコア１２の異常が検出される。そのため、マルチコアＷＤＴ監視処理部７０の出力が、第１ＣＰＵコア１１又は第２ＣＰＵコア１２の異常を示す「０」となる。また、ＷＤＴＩＣ８０では、マルチコアＷＤＴ監視処理部７０の出力が「１」から「０」に変化したことに伴い、第１ＣＰＵコア１１及び第２ＣＰＵコア１２に対してリセット信号（１つのパルス信号）が出力される。これにより、第１ＣＰＵコア１１及び第２ＣＰＵコア１２は、そのリセット信号に応じて再起動し、第２ＣＰＵコア１２は正常な状態に復帰する。そして、時刻ｔ７の後の時刻ｔ８において、マルチコアＷＤＴ監視処理部７０により、第１メモリ領域２１に記録されている第１データ及び第２メモリ領域２２に記録されている第２データが共に「０」に更新される。
【００３４】
以上のように、本実施形態に係るＣＰＵ監視装置によれば、第１ＣＰＵコア１１又は第２ＣＰＵコア１２が異常な状態になると、その異常がマルチコアＷＤＴ監視処理部７０により検出され、ＷＤＴＩＣ８０により第１ＣＰＵコア１１及び第２ＣＰＵコア１２に対してリセット信号が出力されるようになる。従って、マルチコアＣＰＵ１０（第１ＣＰＵコア１１又は第２ＣＰＵコア１２）が異常な状態になると、速やかに、マルチコアＣＰＵ１０（第１ＣＰＵコア１１及び第２ＣＰＵコア１２）を再起動させて正常な状態に戻すことができる。
【００３５】
なお、本実施形態に係るＣＰＵ監視装置を含むマルチコアＣＰＵシステム１においては、次のような変形が可能である。
例えば、マルチコアＣＰＵ１０を、３つ以上のＣＰＵコアを有するように構成してもよい。但し、この場合、メモリ２０には、その３つ以上のＣＰＵコアに対応して３つ以上のメモリ領域が設けられる。また、その３つ以上のＣＰＵコアの各々には、当該ＣＰＵコアでの処理優先度が最も低く、且つ、当該ＣＰＵコアに対応して設けられたメモリ領域に記録されているデータを更新するアイドル処理（アイドル処理部）が割り当てられる。また、更新処理（更新処理部５０）は、その３つ以上のＣＰＵコアの各々の負荷状況に応じて動的に、その３つ以上のＣＰＵコアの何れか１つに割り当てられる。また、非更新処理（非更新処理部６０）も、その３つ以上のＣＰＵコアの各々の負荷状況に応じて動的に、その３つ以上のＣＰＵコアの何れか１つに割り当てられる。また、マルチコアＷＤＴ監視処理部７０は、その３つ以上のＣＰＵコアに対応して設けられた３つ以上のメモリ領域の各々のデータの監視及び更新を行う。このような変形により、マルチコアＣＰＵ１０が３つ以上のＣＰＵコアを有する場合であっても、そのようなマルチコアＣＰＵ１０が異常な状態になると、速やかに、そのマルチコアＣＰＵ１０を再起動させて正常な状態に戻すことができる。
【００３６】
以上、上述した実施形態は、発明の理解を容易にするために本発明の具体例を示したものであり、本発明は上述の実施形態に限定されるものではない。本発明は、特許請求の範囲に規定された本発明の思想を逸脱しない範囲において、さまざまな変形、変更が可能である。
【符号の説明】
【００３７】
１        マルチコアＣＰＵシステム
１０      マルチコアＣＰＵ
１１      第１ＣＰＵコア
１２      第２ＣＰＵコア
２０      メモリ
２１      第１メモリ領域
２２      第２メモリ領域
３０      第１アイドル処理部
４０      第２アイドル処理部
５０      更新処理部
６０      非更新処理部
７０      マルチコアＷＤＴ監視処理部
８０      ＷＤＴＩＣ
【要約】
ＣＰＵ監視装置は、複数のＣＰＵコアに対応して設けられた複数のメモリ領域を含むメモリと、複数のメモリ領域に記録されているデータの更新状況に基づいて複数のＣＰＵコアで実行されている処理が正常に動作しているか否かを監視する監視部と、複数のＣＰＵコアで実行されている処理が正常に動作していないことが監視部により検出されたときに、複数のＣＰＵコアに対してリセット信号を出力するリセット信号出力部とを備え、複数のＣＰＵコアの各々には、当該ＣＰＵコアでの処理優先度が最も低く、且つ、当該ＣＰＵコアに対応して設けられたメモリ領域に記録されているデータを更新するアイドル処理が割り当てられる。【図１】
0006049961.tif 000002
【図２Ａ】
0006049961.tif 000003
【図２Ｂ】
0006049961.tif 000004
【図３Ａ】
0006049961.tif 000005
【図３Ｂ】
0006049961.tif 000006