(57)【特許請求の範囲】
【請求項１】
予め割り当てられた処理を実行する第一コアと第二コアとを少なくとも有するマルチコアＣＰＵを備える制御装置であって、
前記第二コアに、前記第一コアの異常を検知させる第一コア監視手段と、
前記第一コアに、前記第二コアの異常を検知させる第二コア監視手段と、
を備え、
前記第一コアは、前記第二コア監視手段を介して前記第二コアの異常を検知すると、前記第二コアにより実行される処理を代行する第一代行処理を実行し、
前記第二コアは、前記第一コア監視手段を介して前記第一コアの異常を検知すると、前記第一コアにより実行される処理を代行する第二代行処理を実行すること、
を特徴とし、
前記第一コアは、前記第一コア監視手段に対し、当該第一コアが正常に動作していることを通知するための処理である第一異常監視用処理を定期的に実行し、
前記第二コアは、前記第二コア監視手段に対し、当該第二コアが正常に動作していることを通知するための処理である第二異常監視用処理を定期的に実行し、
前記第一コア監視手段は、前記第一コアにより実行される前記第一異常監視用処理が予め定められた期間にわたり実行されない場合に、前記第二コアに対し、前記第一コアに異常が発生したことを通知する監視回路により実現され、
前記第二コア監視手段は、前記第一コアにより実行される処理であって、前記第二コアにより実行される前記第二異常監視用処理が実行されるか否かを監視すると共に、該第二異常監視用処理が予め定められた期間にわたり実行されない場合に、前記第二コアに異常が発生したものとみなす処理により実現されること、
を特徴とし、
前記マルチコアＣＰＵは、前記監視回路を備えるマイクロコントローラとして構成され、
前記第一コアは、前記第二コアに対し、当該第一コアが正常に動作していることを通知するための処理である第三異常監視用処理を定期的に実行し、
前記第二コアは、
前記第一コアにより実行される前記第三異常監視用処理が実行されるか否かを監視すると共に、該第三異常監視用処理が予め定められた期間にわたり実行されない場合に、前記第一コアに異常が発生したものとみなす監視処理を実行し、
前記監視処理により前記第一コアの異常を検知し、且つ、前記第一コア監視手段を介して前記第一コアの異常が検知されなかった場合には、前記マルチコアＣＰＵをリセットすること、
を特徴とする制御装置。
【請求項２】
請求項１に記載の制御装置において、
前記第一コアは、前記第一代行処理として、前記第二コアにより実行される処理を、該第二コアが実行するよりも低負荷となる方法で実行し、
前記第二コアは、前記第二代行処理として、前記第一コアにより実行される処理を、該第一コアが実行するよりも低負荷となる方法で実行すること、
を特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアＣＰＵを備える制御装置に関する。
【背景技術】
【０００２】
複数のコアを１つのパッケージに集積したマルチコアＣＰＵが知られている。このマルチコアＣＰＵによれば、低い動作クロックで高い処理能力を得ることができ、消費電力や熱損失を低減させることができる。
【０００３】
ところで、マルチコアＣＰＵは、一般的に、異常が生じた場合には、異常状態から回復させるべくマルチコアＣＰＵ全体をリセットするという思想で設計されている。このため、例えば、マルチコアＣＰＵを車両のパワートレインシステムの制御に用い、一方のコアにエンジン制御を、他方のコアにトランスミッション制御を行わせた場合には、いずれかのコアのみに異常が生じた場合であっても、マルチコアＣＰＵ全体がリセットされてしまう。そして、このリセットによりコアの異常が回復した場合にはシステムの稼動が再開されるが、異常から回復しなかった場合には、マルチコアＣＰＵ全体のリセットが繰り返し行われてしまい、システムが稼動しなくなってしまう。
【０００４】
このような問題に鑑み、特許文献１に記載の発明では、マスタ側コアとスレーブ側コアからなるマルチコアＣＰＵにおいて、監視ＩＣでマスタ側コアの動作を監視すると共に、マスタ側コアでスレーブ側コアの動作を監視する。そして、監視ＩＣによりマスタ側コアの異常が検知された場合には、マルチコアＣＰＵ全体をリセットし、マスタ側コアによりスレーブ側コアの異常が検知された場合には、フェールセーフ処理として、マスタ側コアにてスレーブ側コアで行われる処理を簡略化して実行することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２７４５６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の発明によれば、スレーブ側コアのみに異常が発生した場合にシステムの縮退運転を行うことができ、該システムが完全に停止してしまうことを防ぐことができる。しかしながら、マスタ側コアのみに異常が発生した場合には、マルチコアＣＰＵ全体がリセットされてしまい、リセットによりマスタ側コアが異常から回復しない場合には、マルチコアＣＰＵ全体のリセットが繰り返し行われてしまう。このため、スレーブ側コアには異常が発生していないにも関らず、システム全体が稼動しなくなってしまう。
【０００７】
本願発明は上記課題に鑑みてなされたものであり、マルチコアＣＰＵにおける少なくとも二つのコアに関して、これらのコアのうちの一方に異常が発生したした場合であっても、これらのコアにより実現される機能を継続して稼動させることが可能となる制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題に鑑みてなされた請求項１に記載の発明は、予め割り当てられた処理を実行する第一コアと第二コアとを少なくとも有するマルチコアＣＰＵを備える制御装置であって、第二コアに、第一コアの異常を検知させる第一コア監視手段と、第一コアに、第二コアの異常を検知させる第二コア監視手段と、を備えることを特徴とする。そして、第一コア
は、第二コア監視手段を介して第二コアの異常を検知すると、第二コアにより実行される処理を代行する第一代行処理を実行し、第二コアは、第一コア監視手段を介して第一コアの異常を検知すると、第一コアにより実行される処理を代行する第二代行処理を実行することを特徴とする。
そして、第一コアは、第一コア監視手段に対し、当該第一コアが正常に動作していることを通知するための処理である第一異常監視用処理を定期的に実行し、第二コアは、第二コア監視手段に対し、当該第二コアが正常に動作していることを通知するための処理である第二異常監視用処理を定期的に実行する。また、第一コア監視手段は、第一コアにより実行される第一異常監視用処理が予め定められた期間にわたり実行されない場合に、第二コアに対し、第一コアに異常が発生したことを通知する監視回路により実現される。一方、第二コア監視手段は、第一コアにより実行される処理であって、第二コアにより実行される第二異常監視用処理が実行されるか否かを監視すると共に、該第二異常監視用処理が予め定められた期間にわたり実行されない場合に、第二コアに異常が発生したものとみなす処理により実現される。
さらに、マルチコアＣＰＵは、監視回路を備えるマイクロコントローラとして構成され、第一コアは、第二コアに対し、当該第一コアが正常に動作していることを通知するための処理である第三異常監視用処理を定期的に実行する。また、第二コアは、第一コアにより実行される第三異常監視用処理が実行されるか否かを監視すると共に、該第三異常監視用処理が予め定められた期間にわたり実行されない場合に、第一コアに異常が発生したものとみなす監視処理を実行し、監視処理により第一コアの異常を検知し、且つ、第一コア監視手段を介して第一コアの異常が検知されなかった場合には、マルチコアＣＰＵをリセットする。
【０００９】
こうすることにより、第一コア或いは第二コアの一方に異常が発生した場合であっても、他方のコアにより異常が発生したコアの処理が実行されるため、第一コア及び第二コアにより実現される機能を継続して稼動させることができる。
また、監視回路により第二コアの異常を検知することができ、第一コアの処理負荷を抑えることができる。
また、この監視回路に異常が発生するという場合も想定されるが、監視回路に異常が発生した場合に、該監視回路を異常から回復させることが可能となる。
【００１０】
しかしながら、一方のコアに異常が発生した際に、他方のコアで異常が発生したコアにて実行される処理をそのまま実行するとなると、他方のコアの処理負荷が大きくなりすぎてしまう。
【００１１】
そこで、請求項２に記載の制御装置は、第一コアは、第一代行処理として、第二コアにより実行される処理を、該第二コアが実行するよりも低負荷となる方法で実行し、第二コアは、第二代行処理として、第一コアにより実行される処理を、該第一コアが実行するよりも低負荷となる方法で実行する。
【００１２】
こうすることにより、異常が発生したコアで行われる処理を実行する際の処理負荷を抑制することができる。
【図面の簡単な説明】
【００１７】
【図１】第一実施形態の制御装置の構成を示すブロック図と、マルチコアＣＰＵの構成を示すブロック図である。
【図２】第二コアの異常検知時の動作についてのシーケンス図である。
【図３】第一コアの異常検知時の動作についてのシーケンス図である。
【図４】第二実施形態の制御装置の構成を示すブロック図である。
【図５】ウォッチドックタイマの異常検知時の動作についてのシーケンス図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【００１９】
［第一実施形態］
［構成の説明］
まず、第一実施形態の制御装置１の構成について説明する。図１（ａ）に記載されているように、制御装置１は、第一コア１１及び第二コア１２と、第一コア１１の動作を監視するウォッチドックタイマ（ＷＤＴとも記載）１３とを備えるマイクロコントローラであるマルチコアＣＰＵ１０を有している。また、このマルチコアＣＰＵ１０は、上述の第一コア１１，第二コア１２，ＷＤＴ１３に加え、各種Ｉ／Ｏポートを制御するＩ／Ｏ部１４や、ＲＡＭ１５，ＲＯＭ１６等を有しており、これらは、内部バス１７により接続されている（図１（ｂ）参照）。
【００２０】
なお、第一コア１１と第二コア１２は、ＲＯＭ１６に記憶されているプログラムにより動作し、各コアは、制御装置１の機能を実現するため予め割り当てられた処理を実行するよう構成されている。具体的には、例えば、制御装置１が車両のパワートレインシステムの制御に用いられる場合であれば、第一コア１１にてエンジンを制御するための処理を行うと共に、第二コア１２にてトランスミッションを制御するための処理を行っても良い。また、これ以外にも、例えば、第一コア１１にて制御装置１の全体を統括制御すると共に、第二コア１２では第一コア１１からの指示に応じて画像処理等の特定の処理を行っても良い。
【００２１】
また、第一コア１１は、ＷＤＴ１３により動作が監視されると共に、第二コア１２は、第一コア１１により動作が監視される。具体的には、ＷＤＴ１３は、例えば数μｓ〜数ｍｓ程度のサイクルで自身が備えるタイマをカウントアップすると共に、第一コア１１からの指示により該タイマをクリアする。そして、第一コア１１からの指示が無いまま該タイマが所定値に達すると（すなわち、前回の指示から所定時間が経過すると）、第一コア１１に異常が発生したものとみなして第二コア１２に通知する。一方、第一コア１１は、ＲＡＭ１５における第一コア１１及び第二コア１２からアクセス可能な領域に設けられた第二コア監視タイマ１１ａを、例えば数μｓ〜数ｍｓ程度のサイクルでカウントアップすると共に、第二コア１２は、定期的なタイミングで第二コア監視タイマ１１ａをクリアする。そして、第二コア監視タイマ１１ａが所定値に達すると（すなわち、所定時間にわたり第二コア１２による第二コア監視タイマ１１ａのクリアが行われないと）、第二コア１２に異常が発生したものとみなす。なお、第一コア１１或いは第二コア１２に異常が生じたとみなされる所定時間とは、制御装置１のプログラムの構造等に応じて適宜定められる時間であり、例えば、数十ｍｓ程度の時間とすることが考えられる。
【００２２】
また、詳細については後述するが、第一コア１１は、第二コア１２の異常を検知すると、以後、第二コア１２にて実行される処理を代行して行い、第二コア１２もまた、第一コア１１の異常を検知すると、以後、第一コア１１にて実行される処理を代行して行う。これにより、第一コア１１或いは第二コア１２の一方が故障した場合であっても、制御装置１により実現される機能を継続して稼動させることができる。
【００２３】
［動作の説明］
次に、第一実施形態の制御装置１における第二コア１２の異常検知時の動作や、第一コア１１の異常検知時の動作について説明する。
（１）第二コア１２の異常検知時の動作について
まず、第二コア１２の異常検知時の動作について、図２に記載のシーケンス図を用いて説明する。なお、該シーケンス図により表される処理は、制御装置１の電源投入時に開始される処理である。
【００２４】
既に述べたように、第一コア１１は上述したサイクルで第二コア監視タイマ１１ａをカウントアップすると共に（Ｓ２１０，Ｓ２３０，Ｓ２４５，Ｓ２６５）、ＷＤＴ１３もまた、上述したサイクルで自身が備えるタイマをカウントアップする（Ｓ２２０，Ｓ２４０，Ｓ２６０，Ｓ２８０）。
【００２５】
また、第一コア１１は、定期的なタイミングで、ＷＤＴ１３に出力される信号の値を反転させる等してＷＤＴ１３に対しタイマのクリアを指示すると共に（Ｓ２１５，Ｓ２３５，Ｓ２５５，Ｓ２７５）、第二コア１２もまた、定期的なタイミングで第二コア監視タイマ１１ａをクリアする（Ｓ２０５，Ｓ２２５）。
【００２６】
ここで、第二コア１２に異常が発生すると（Ｓ２５０）、以後、第二コア１２による第二コア監視タイマ１１ａのクリアが行われなくなる。一方、第一コア１１による第二コア監視タイマ１１ａのカウントや、ＷＤＴ１３のタイマのクリアは継続して行われると共に、ＷＤＴ１３によるタイマのカウントは継続して行われる。
【００２７】
そして、第二コア監視タイマ１１ａが満了すると、第一コア１１にて第二コア１２の異常が検知される（Ｓ２７０）。そして、以後、第一コア１１は、第二コア１２にて行われるべき処理を代行して実行する（Ｓ２８５）。
【００２８】
具体的には、例えば、第一コア１１は、第二コア１２で実行される処理を、第二コア１２が実行するよりも低負荷となる方法で実行しても良い。すなわち、第一コア１１は、第二コア１２にて行われる処理を、固定値（フェールセーフ値）を用いて行うことで、第二コア１２にて行われる処理を代行して実行しても良い。また、第二コア１２により行われる演算をより簡易的な方法で行うことで、第二コア１２にて行われる処理を代行して実行しても良い。
【００２９】
また、例えば、制御装置１が車両のパワートレインシステムの制御に用いられ、第一コア１１にてエンジンを制御するための処理を行うと共に、第二コア１２にてトランスミッションを制御するための処理を行うと仮定する。このような場合であれば、第一コア１１は、第二コア１２に代行して、トランスミッションを制御するための処理を低負荷となる方法で実行しても良い。このとき、第一コア１１は、トランスミッションのギア段を固定値としてトランスミッションを制御するための処理を行っても良いし、車速とエンジン回転数等に基づき簡易的な方法でギア段を算出して該処理を行っても良い。
（２）第一コア１１の異常検知時の動作について
次に、第一コア１１の異常検知時の動作について、図３に記載のシーケンス図を用いて説明する。なお、該シーケンス図により表される処理は、制御装置１の電源投入時に開始される処理である。
【００３０】
既に述べたように、第一コア１１は上述したサイクルで第二コア監視タイマ１１ａをカウントアップすると共に（Ｓ３１０，Ｓ３３０）、ＷＤＴ１３もまた、上述したサイクルで自身が備えるタイマをカウントアップする（Ｓ３２０，Ｓ３４０）。
【００３１】
また、第一コア１１は、定期的なタイミングで、ＷＤＴ１３に出力される信号の値を反転させる等してＷＤＴ１３に対しタイマのクリアを指示すると共に（Ｓ３１５，Ｓ３３５）、第二コア１２もまた、定期的なタイミングで第二コア監視タイマ１１ａをクリアする（Ｓ３０５，Ｓ３２５，Ｓ３５０）。
【００３２】
ここで、第一コア１１に異常が発生すると（Ｓ３４５）、以後、第一コア１１によるＷＤＴ１３のタイマのクリアが行われなくなる。一方、第二コア１２による第二コア監視タイマ１１ａのクリアや、ＷＤＴ１３によるタイマのカウントは継続して行われる。
【００３３】
そして、ＷＤＴ１３のタイマが満了すると（Ｓ３５５）、ＷＤＴ１３からの信号により、第二コア１２にてウォッチドックタイマ割込みが発生する（Ｓ３６０）。これにより、第二コア１２にて第一コア１１の異常が検知され、以後、第二コア１２は、第一コア１１にて行われるべき処理を代行して実行する（Ｓ３６５）。
【００３４】
なお、第二コア１２は、例えば、第一コア１１で実行される処理を、第一コア１１が実行するよりも低負荷となる方法で実行しても良い。すなわち、第二コア１２は、第一コア１１にて行われる処理を、固定値（フェールセーフ値）を用いて行うことで、第一コア１１にて行われる処理を代行して実行しても良い。また、第一コア１１により行われる演算をより簡易的な方法で行うことで、第一コア１１にて行われる処理を代行して実行しても良い。
【００３５】
その後、ＷＤＴ１３は、第二コア１２の動作を監視するため、タイマのカウントアップを再開する（Ｓ３７０）と共に、第二コア１２は、定期的なタイミングで、第一コア１１と同様にしてＷＤＴ１３に対しタイマのクリアを指示する（Ｓ３７５）。そして、ＷＤＴ１３は、タイマが満了した場合には、マルチコアＣＰＵ１０全体をリセットする。
【００３６】
［効果］
第一実施形態の制御装置１によれば、第一コア１１或いは第二コア１２の一方に異常が生じた場合には、他方のコアにて、異常が発生したコアの処理が、該コアが実行するよりも低負荷となる方法で実行される。このため、第一コア１１或いは第二コア１２の一方に異常が生じた場合であっても、制御装置１により実現される機能を、一部を縮小した状態で継続して稼動させることができる。
【００３７】
［第二実施形態］
［構成の説明］
次に、第二実施形態の制御装置１００の構成について説明する。図４に記載されているように、制御装置１００は、第一実施形態と同様の第一コア１１１及びＷＤＴ１１３や、Ｉ／Ｏ部，ＲＡＭ，ＲＯＭ等（図示なし）を有すると共に、第一コア１１１の動作を監視するための第一コア監視タイマ１１２ａをカウントアップする第二コア１１２を有するマイクロコントローラであるマルチコアＣＰＵ１１０を備える。
【００３８】
第二実施形態の制御装置１００では、第一実施形態と同様に、ＷＤＴ１１３による第一コア１１１の動作の監視と、第一コア１１１による第二コア１１２の動作の監視が行われると共に、これらに加え、第二コア１１２による第一コア１１１の動作の監視が行われる。
【００３９】
具体的には、第二コア１１２は、ＲＡＭにおける第一コア１１１及び第二コア１１２からアクセス可能な領域に設けられた第一コア監視タイマ１１２ａを、例えば数μｓ〜数ｍｓ程度のサイクルでカウントアップすると共に、第一コア１１１は、定期的なタイミングで第一コア監視タイマ１１２ａをクリアする。そして、第一コア監視タイマ１１２ａが所定値に達すると（すなわち、所定時間にわたり第一コア１１１による第一コア監視タイマ１１２ａのクリアが行われないと）、第一コア１１１に異常が発生したものとみなす。なお、この所定時間とは、制御装置１００のプログラムの構造等に応じて適宜定められる時間であり、例えば、数十ｍｓ程度の時間とすることが考えられる。
【００４０】
また、第一実施形態と同様、第一コア１１１は、第二コア１１２の異常を検知した場合には、第二コア１１２にて実行される処理を代行して行うと共に、第二コア１１２は、ＷＤＴ１１３により第一コア１１１の異常が検知された場合には、第一コア１１１にて実行される処理を代行して行う。
【００４１】
また、詳細については後述するが、第一コア監視タイマ１１２ａにより第一コア１１１の異常が検知され、且つ、ＷＤＴ１１３により第一コア１１１の異常が検知されなかった場合には、第二コア１１２は、マルチコアＣＰＵ１１０全体をリセットする。これにより、ＷＤＴ１１３に異常が発生した場合に、ＷＤＴ１１３を異常から回復させることが可能となる。
【００４２】
［動作の説明］
次に、第二実施形態の制御装置１００の動作について説明する。制御装置１００は、第一コア１１１により第二コア１１２の異常が検知された場合や、ＷＤＴ１１３により第一コア１１１の異常が検知された場合には、第一実施形態の制御装置１と同様に、異常が発生したコアにて行われる処理を、他方のコアが代行して実行する。また、これに加え、第二コア１１２により第一コア１１１の異常が検知され、且つ、ＷＤＴ１１３により第一コア１１１の異常が検知されなかった場合には、マルチコアＣＰＵ１１０全体をリセットする。ここでは、このときの動作について、図５に記載のシーケンス図を用いて説明する。なお、該シーケンス図により表される処理は、制御装置１００の電源投入時に開始される処理である。
【００４３】
既に述べたように、第一コア１１１は上述したサイクルで第二コア監視タイマ１１１ａをカウントアップすると共に（Ｓ４１５）、第二コア１１２は上述したサイクルで第一コア監視タイマ１１２ａをカウントアップする（Ｓ４２５，Ｓ４４５，Ｓ４５５）。また、ＷＤＴ１１３もまた、所定サイクルで自身が備えるタイマをカウントアップする。
【００４４】
また、第一コア１１１は、定期的なタイミングでＷＤＴ１１３に対しタイマのクリアを指示すると共に（Ｓ４３０）、定期的なタイミングで第一コア監視タイマ１１２ａをクリアする（Ｓ４２０）。第二コア１１２もまた、定期的なタイミングで第二コア監視タイマ１１１ａをクリアする（Ｓ４０５，Ｓ４４０，Ｓ４５０）。
【００４５】
ここで、ＷＤＴ１１３の異常が発生すると（Ｓ４１０）、以後、ＷＤＴ１１３によるタイマのカウントアップが行われなくなる。また、さらにその後、第一コア１１１の異常が発生すると、以後、第一コア１１１による第一コア監視タイマ１１２ａのクリアが行われなくなる（Ｓ４３５）。
【００４６】
そして、第一コア監視タイマ１１２ａが満了すると、第二コア１１２にて第一コア１１１の異常が検知される（Ｓ４６０）。
第二コア１１２は、第一コア監視タイマ１１２ａにより第一コア１１１の異常を検知すると、ＷＤＴ割込み待ちタイマのカウントを開始し、ＷＤＴ１１３からウォッチドックタイマ割込みを発生させる信号が入力されることを待つ（Ｓ４６５）。
【００４７】
そして、ＷＤＴ割込み待ちタイマが満了すると、ＷＤＴ１１３に異常が発生したものとみなし（Ｓ４７０）、マルチコアＣＰＵ１１０全体をリセットする（Ｓ４７５）。
なお、ＷＤＴ割込み待ちタイマの満了前にＷＤＴ１１３からの信号によりウォッチドックタイマ割込みが発生した場合には、第二コア１１２は、第一実施形態と同様にして、第一コア１１１にて行われる処理を代行して実行する。
【００４８】
［効果］
第二実施形態の制御装置１００によれば、第一実施形態と同様に、第一コア１１１或いは第二コア１１２の一方に異常が生じた場合であっても、制御装置１００により実現される機能を、一部を縮小した状態で継続して稼動させることができる。
【００４９】
また、ＷＤＴ１１３に異常が生じた場合には、マルチコアＣＰＵ１１０全体がリセットされるため、ＷＤＴ１１３を異常から回復させることができる。
［他の実施形態］
（１）第一，第二実施形態のマルチコアＣＰＵは二つのコアを有しているが、これに限定されることは無く、三つ以上のコアを有していても良い。このような場合であっても、第一コア及び第二コアが互いに動作を監視すると共に、一方のコアに異常が生じた場合に他方のコアで異常が生じたコアの処理を代行することで、第一コア或いは第二コアに異常が生じた場合であっても、これらのコアにより実現される機能を、一部を縮小した状態で継続して稼動させることができる。
（２）また、第一，第二実施形態の制御装置では、第一コア，第二コアの一方に異常が発生した場合には、他方のコアで異常が発生したコアの処理を代行しているが、これに替えて、異常が発生したコアの制御対象を安全停止させる処理を行っても良い。こうすることにより、一方のコアに異常が生じた場合に、該コアの制御対象が動作し続けてしまうこと等を防ぐことができる。
（３）また、第一，第二実施形態の制御装置では、一方のコアの異常が検知されると、すぐに、他方のコアで異常が発生したコアの処理の代行を開始している。しかしながら、異常が発生したコア（或いはマルチコアＣＰＵ全体）のリセットにより、該コアが異常から回復する場合もあり、一方のコアに異常が生じた際には該コア（或いはマルチコアＣＰＵ全体）をリセットし、該コアの異常発生回数が所定の数に達した後に、他方のコアで、異常が発生したコアの処理の代行を開始しても良い。こうすることにより、異常が発生したコアを正常な状態に回復させることが可能となる。
（４）また、第一，第二実施形態の制御装置では、ＷＤＴにより第一コアの動作が監視されると共に、第一コアに設けられた第二コア監視タイマにより第二コアの動作が監視されるが、これに限定されることは無く、ＷＤＴに替えて、第二コアに設けられた監視用タイマにより第一コアの動作を監視しても良い。また、例えば、マルチコアＣＰＵにＷＤＴを二つ設け、これらのＷＤＴにより第一コア，第二コアの監視を行っても良い。このような場合であっても、同様の効果を得ることができる。
【００５０】
［特許請求の範囲との対応］
上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。
【００５１】
ＷＤＴが第一コア監視手段，監視回路に、第一コアが第二コア監視手段に相当する。
また、第二コアの異常検知時の動作におけるＳ２８５が第一代行処理に、第一コアの異常検知時の動作におけるＳ３６５が第二代行処理に相当する。
【００５２】
また、ＷＤＴのタイマをクリアする指示が第一異常監視用処理に、第二コア監視タイマのクリアが第二異常監視用処理に、第一コア監視タイマのクリアが第三異常監視用処理に相当する。
【００５３】
また、第一コア監視タイマのカウント等の処理（ウォッチドックタイマの異常検知時の動作におけるＳ４２５，Ｓ４４５，Ｓ４５５，Ｓ４６０）が、監視処理に相当する。
【符号の説明】
【００５４】
１…制御装置、１０…マルチコアＣＰＵ、１１…第一コア、１１ａ…第二コア監視タイマ、１２…第二コア、１３…ＷＤＴ、１４…Ｉ／Ｏ部、１５…ＲＡＭ、１６…ＲＯＭ、１７…内部バス、１００…制御装置、１１０…マルチコアＣＰＵ、１１１…第一コア、１１１ａ…第二コア監視タイマ、１１２…第二コア、１１２ａ…第一コア監視タイマ、１１３…ＷＤＴ。
【図１】
0005601127.tif 000002
【図２】
0005601127.tif 000003
【図３】
0005601127.tif 000004
【図４】
0005601127.tif 000005
【図５】
0005601127.tif 000006