(57)【要約】【課題】異常が発生したコアを特定し、リセットする。【解決手段】本実施形態の電子制御装置は、４つ以上のコア１１、１２、１３、１４を有するマイコン３を備え、通常コアと監視コアで１組となってロックステップ方式の並列処理を行うように構成されたものであって、各組の通常コアと監視コアの演算結果を比較する演算結果比較部１５を備え、前記演算結果比較部１５は、ある１組の通常コアと監視コアの演算結果が異なっている場合に、その組に別の組の監視コアを加え、３つのコアで並列処理を行い、３つの演算結果に基づいて異常コアを特定するように構成されたものである。【選択図】図３
2020190985.tif 000002
【特許請求の範囲】
【請求項１】
４つ以上のコア（１１、１２、１３、１４）を有するマイコン（３）を備え、通常コアと監視コアで１組となってロックステップ方式の並列処理を行うように構成された電子制御装置であって、
各組の通常コアと監視コアの演算結果を比較する演算結果比較部（１５）を備え、
前記演算結果比較部は、ある１組の通常コアと監視コアの演算結果が異なっている場合に、その組に別の組の監視コアを加え、３つのコアで並列処理を行い、３つの演算結果に基づいて異常コアを特定するように構成された電子制御装置。
【請求項２】
前記演算結果比較部は、前記３つのコアの中から、演算結果が他の２つのコアの演算結果と一致しなかったコアを異常コアとして特定するように構成された請求項１記載の電子制御装置。
【請求項３】
前記３つのコアの中から、演算結果が一致した２つのコアを、新たな１組の通常コアと監視コアとして処理を実行するように構成された請求項１または２記載の電子制御装置。
【請求項４】
前記異常コアが特定されたときに、特定された異常コアだけをリセットするリセット部を備えた請求項１または２記載の電子制御装置。
【請求項５】
リセットされて正常に復帰したコアを新たな監視コアとし、組になっていない別の通常コアと組にするように構成された請求項４記載の電子制御装置。
【請求項６】
通常コアの数が監視コアの数よりも多い場合には、１つの組を構成する通常コアと監視コアの組合せを、動的に変化させるように構成された請求項１から５のいずれか一項記載電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置に関する。
【背景技術】
【０００２】
４つ以上のコアを有するマイコンを備えた電子制御装置においては、通常コアと監視コアのペアを２組以上作り、それぞれロックステップ方式の並列処理を行うように構成されているものがある。この構成では、いずれか１組の通常コアと監視コアの演算結果が異なっていた場合、その１組の通常コアと監視コアのうちの１つのコアが異常であると判断し、マイコン全体をリセットしていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１４３３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来構成では、コアの異常が発生した場合、その異常コアを特定しないで、マイコン全体、即ち、４つ以上のコアすべてをリセットしていた。これに対して、近年、４つ以上のコアの中から、１つの異常コアを特定し、特定した１つの異常コアだけをリセットするように制御する対策が求められている。
本発明の目的は、異常が発生したコアだけをリセットすることができる電子制御装置を提供することにある。
【課題を解決するための手段】
【０００５】
請求項１の発明は、４つ以上のコア１１、１２、１３、１４を有するマイコン３を備え、通常コアと監視コアで１組となってロックステップ方式の並列処理を行うように構成された電子制御装置であって、各組の通常コアと監視コアの演算結果を比較する演算結果比較部１５を備え、前記演算結果比較部１５は、ある１組の通常コアと監視コアの演算結果が異なっている場合に、その組に別の組の監視コアを加え、３つのコアで並列処理を行い、３つの演算結果に基づいて異常コアを特定するように構成されたものである。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態を示すもので、電子制御装置の全体構成を示すブロック図
【図２】４つのコアの組み合わせを示す図
【図３】第１通常コアの監視制御のフローチャート
【図４】４つのコアの組み合わせと、演算結果の比較を説明する図
【図５】第１通常コアと第１監視コアの演算結果が不一致である状態を説明する図
【図６】３つのコアの再演算を説明する図
【図７】４つのコアの組み合わせを変更した状態と、演算結果の比較を説明する図
【図８】第２通常コアの監視制御のフローチャート
【図９】第２実施形態を示すもので、５つのコアの組み合わせを示す図
【図１０】通常コアと監視コアの組合せを動的に変化させる制御のフローチャート
【図１１】通常コアと監視コアの組合せを動的に変化させた一例を示す図
【図１２】通常コアと監視コアの組合せを動的に変化させた他の例を示す図
【図１３】第２通常コアの監視処理で異常が発生した状態を説明する図
【図１４】３つのコアの再演算を説明する図
【図１５】５つのコアの組み合わせを変更した状態と、演算結果の比較を説明する図
【発明を実施するための形態】
【０００７】
（第１実施形態）
以下、第１実施形態について、図１ないし図８を参照して説明する。まず、図１を参照しながら、本実施形態の電子制御装置１の構成について説明する。電子制御装置１は、車両の各種センサ（不図示）と電気的に接続されており、それらから伝達される情報等を用いながら車両の原動機であるエンジン２を制御する。エンジン２は、複数の気筒を有するガソリンエンジンである。
【０００８】
電子制御装置１は、マイクロコンピュータ３と、リセットＩＣ４と、出力回路５、６、７を搭載している。電子制御装置１は、通常運転モード及び退避走行モードの２つの運転モードを有しており、各運転モードを実行してエンジン２を制御することで車両を走行させる。
【０００９】
マイクロコンピュータ３（以下、「マイコン３」とも称する）は、所謂マルチコアの電子機器であり、例えば４つのコア、即ち、第１コア１１と、第２コア１２と、第３コア１３と、第４コア１４とを有している。また、マイコン３は、演算結果比較部１５と、ＲＯＭ１６と、ＲＡＭ１７と、リセット回路１８と、周辺Ｉ／Ｏ１９等を有している。
【００１０】
第１コア１１は、バス２０に接続されており、所定のプログラムに従って演算を行う機能を有している。第１コア１１は、図２に示すように、初期状態では、第１通常コアとして使用されている。第２コア１２は、バス２０に接続されており、所定のプログラムに従って演算を行う機能を有しており、第１コア１１と同一クロックで同期して第１コア１１と同一の演算を行うチェック用コアである。第２コア１２は、図２に示すように、初期状態では、第１監視コアとして使用されている。この場合、第１通常コア１１と第１監視コア１２で１組となってロックステップ方式の並列処理が実行される構成となっている。
【００１１】
また、第３コア１３は、バス２０に接続されており、所定のプログラムに従って演算を行う機能を有している。第３コア１３は、図２に示すように、初期状態では、第２通常コアとして使用されている。第４コア１４は、バス２０に接続されており、所定のプログラムに従って演算を行う機能を有しており、第３コア１３と同一クロックで同期して第３コア１３と同一の演算を行うチェック用コアである。第４コア１４は、図２に示すように、初期状態では、第２監視コアとして使用されている。この場合、第２通常コア１３と第２監視コア１４で１組となってロックステップ方式の並列処理が実行される構成となっている。
【００１２】
演算結果比較部１５は、バス２０に接続され、第１通常コア１１、第１監視コア１２、第２通常コア１３、及び第２監視コア１４と通信可能である。演算結果比較部１５は、第１通常コア１１の演算結果と第１監視コア１２の演算結果の比較処理と、第２通常コア１３の演算結果と第２監視コア１４の演算結果の比較処理と、比較処理が不一致であったときに異常コアを特定する異常コア特定処理等を実行する機能を有する。演算結果比較部１５は、バス２０を介して、比較結果や特定結果等を通知する。
【００１３】
尚、第１通常コア１１の演算結果と第１監視コア１２の演算結果は、第１通常コア１１及び第１監視コア１２がいずれも正常である場合は一致し、いずれか一方のコアが異常である場合は不一致となる。同様に、第２通常コア１３の演算結果と第２監視コア１４の演算結果は、第２通常コア１３及び第２監視コア１４がいずれも正常である場合は一致し、いずれか一方のコアが異常である場合は不一致となる。
【００１４】
ＲＯＭ１６は、第１コア１１等とバス２０を介して相互に通信可能とされた記憶領域である。ＲＯＭ１６には、エンジン２の制御を行うための複数のプログラムや各種データが記憶されている。
【００１５】
ＲＡＭ１７は、第１コア１１等とバス２０を介して通信可能とされた記憶領域である。ＲＡＭ１７には、第１コア１１による演算結果、第２コア１２による演算結果、第３コア１３による演算結果、第４コア１４による演算結果、各演算結果の比較結果、比較結果が不一致の場合に特定された異常コアの情報等の種々のデータが一時的に記憶される。
【００１６】
リセット回路１８は、第１コア１１等とバス２０を介して通信可能とされた電子回路である。リセット回路１８は、４つのコア１１、１２、１３、１４のリセット処理を各別に実行することができる。リセット回路１８は、リセットＩＣ４から入力されるリセット信号に基づいてマイコン３、即ち、４つのコア１１、１２、１３、１４の各別のリセット処理を実行する。
【００１７】
周辺Ｉ／Ｏ１９は、マイコン３とその周辺機器との間で、通信を行うためのインターフェイスである。マイコン３は、この周辺Ｉ／Ｏ１９を介して、制御対象である電子スロットル２１用の出力回路５や、燃料噴射弁２２用の出力回路６や、点火装置２３用の出力回路７に制御信号（即ち、制御指令）を送信する。
【００１８】
また、マイコン３の演算結果比較部１５は、特定した異常コア、即ち、４つのコア１１、１２、１３、１４の中のいずれか１つのコアをリセットするための信号を周辺Ｉ／Ｏ１９を介してリセットＩＣ４に送信する。
【００１９】
リセットＩＣ４は、マイコン３から、特定された異常コアをリセットするための信号を受信するＩＣである。リセットＩＣ４は、特定された異常コアのリセット処理を実行するためのリセット信号をマイコン３のリセット回路１８に送信する。そして、リセット回路１８は、リセットＩＣ４からの上記リセット信号を入力して、特定された異常コアのリセット処理を実行する。
【００２０】
出力回路５、６、７は、それぞれ電子スロットル２１、燃料噴射弁２２、点火装置２３に制御信号を送信する電子回路である。電子スロットル２１、燃料噴射弁２２、点火装置２３は、上記制御信号に基づいて動作し、エンジン２を駆動させる。
【００２１】
次に、図３ないし図７を参照しながら、マイコン３の演算結果比較部１５において行われる処理、即ち、ある１組の通常コア及び監視コアの演算結果の不一致が発生したときに異常コアを特定する処理について説明する。図３のフローチャートは、マイコン３の制御、具体的には、第１通常コア１１を監視する制御の内容、即ち、第１通常コア１１及び第１監視コア１２の演算結果の不一致が発生したときに異常コアを特定する処理の内容を示すものである。
【００２２】
まず、図３のステップＳ１０においては、第１通常コア１１による演算と第１監視コア１２による演算（即ち、ロックステップ方式の並列処理）を実行する。続いて、ステップＳ２０へ進み、図４に示すように、演算結果比較部１５により、第１通常コア１１による演算結果と第１監視コア１２による演算結果を比較する。そして、ステップＳ３０へ進み、演算結果がＮＧ（即ち、不一致）であるか否かを判断する。ここで、演算結果が一致したときには、「ＮＯ」へ進み、本制御を終了する。
【００２３】
また、上記ステップＳ３０において、図５に示すように、演算結果がＮＧであるときには（ＹＥＳ）、ステップＳ４０へ進む。このステップＳ４０では、図６に示すように、第１通常コア１１による演算と、第１監視コア１２による演算と、２組目の第２監視コア１４による演算とを実行する、即ち、３個のコア１１、１２、１４で再演算を実行する。続いて、ステップＳ５０へ進み、演算結果比較部１５により、第１通常コア１１による演算結果と第１監視コア１２による演算結果と第２監視コア１４による演算結果とを比較する。
【００２４】
そして、ステップＳ６０へ進み、３つの演算結果の中で第１通常コア１１による演算結果だけがＮＧ（即ち、不一致）であるか否かを判断する。ここで、第１通常コア１１による演算結果だけがＮＧであるときには（ＹＥＳ）、第１通常コア１１、即ち、第１コア１１が異常コアであると特定し、特定結果をＲＡＭ１７に記憶し、ステップＳ７０へ進む。このステップＳ７０では、図７に示すように、第１監視コア１２を第１通常コア１２とすると共に、第２監視コア１４を第１監視コア１４とし、第１通常コア１２と第１監視コア１４で１つの組を構成し、これ以降は、この組でロックステップ方式の並列処理を行うようにする。
【００２５】
続いて、ステップＳ８０へ進み、上記特定した異常コアである第１通常コア１１、即ち、第１コア１１をリセットする。この場合、演算結果比較部１５は、第１コア１１が異常コアである情報と、第１コア１１をリセットする指示情報を周辺Ｉ／Ｏ１９を介してリセットＩＣ４に送信すると、リセットＩＣ４は、第１コア１１をリセットするリセット信号をリセット回路１８に送信する。これにより、リセット回路１８は、第１コア１１のリセット処理を実行するように構成されている。
【００２６】
この後、ステップＳ９０へ進み、図７に示すように、第２通常コア１３を第２監視コア１３とすると共に、上記リセットしたコア１１、即ち、第１通常コア１１を第２通常コア１１とし、第２通常コア１１と第２監視コア１３で１つの組を構成し、これ以降は、この組でロックステップ方式の並列処理を行うようにする。これにより、本制御を終了する。
【００２７】
また、上記ステップＳ６０において、第１通常コア１１による演算結果だけがＮＧでないときには（ＮＯ）、ステップＳ１００へ進み、第１監視コア１２による演算結果だけがＮＧであるか否かを判断する。ここで、第１監視コア１２による演算結果だけがＮＧであるときには（ＹＥＳ）、第１監視コア１２、即ち、第２コア１２が異常コアであると特定し、特定結果をＲＡＭ１７に記憶し、ステップＳ１１０へ進む。このステップＳ１１０では、第２監視コア１４を第１監視コア１４とし、第１通常コア１１と第１監視コア１４で１つの組を構成し、これ以降は、この組でロックステップ方式の並列処理を行うようにする。
【００２８】
続いて、ステップＳ１２０へ進み、上記特定した異常コアである第１監視コア１２、即ち、第２コア１２をリセットする。この場合、演算結果比較部１５は、第２コア１２が異常コアである情報と、第２コア１２をリセットする指示情報を周辺Ｉ／Ｏ１９を介してリセットＩＣ４に送信すると、リセットＩＣ４は、第２コア１２をリセットするリセット信号をリセット回路１８に送信する。これにより、リセット回路１８は、第２コア１２のリセット処理を実行するように構成されている。
【００２９】
この後、ステップＳ１３０へ進み、上記リセットしたコア１２、即ち、第１監視コア１２を第２監視コア１２とし、第２通常コア１３と第２監視コア１２で１つの組を構成し、これ以降は、この組でロックステップ方式の並列処理を行うようにする。これにより、本制御を終了する。
【００３０】
また、上記ステップＳ１００において、第１監視コア１２による演算結果だけがＮＧでないときには（ＮＯ）、即ち、３つの演算結果がすべて異なるときには、ステップＳ１４０へ進み、４つのコア１１、１２、１３、１４を全て、即ち、マイコン３全体をリセットする。これにより、本制御を終了する。
【００３１】
次に、図８を参照しながら、他の１組の通常コア及び監視コアの演算結果の不一致が発生したときに、異常コアを特定する処理について説明する。図８のフローチャートは、マイコン３の制御、具体的には、第２通常コア１３を監視する制御の内容、即ち、第２通常コア１３及び第２監視コア１４の演算結果の不一致が発生したときに異常コアを特定する処理の内容を示すものである。
【００３２】
まず、図８のステップＳ２１０においては、第２通常コア１３による演算と第２監視コア１４による演算（即ち、ロックステップ方式の並列処理）を実行する。続いて、ステップＳ２２０へ進み、演算結果比較部１５により、第２通常コア１３による演算結果と第２監視コア１４による演算結果を比較する。そして、ステップＳ２３０へ進み、演算結果がＮＧ（即ち、不一致）であるか否かを判断する。ここで、演算結果が一致したときには、「ＮＯ」へ進み、本制御を終了する。
【００３３】
また、上記ステップＳ２３０において、演算結果がＮＧであるときには（ＹＥＳ）、ステップＳ２４０へ進む。このステップＳ２４０では、第２通常コア１３による演算と、第２監視コア１４による演算と、１組目の第１監視コア１２による演算とを実行する、即ち、３個のコア１３、１４、１２で再演算を実行する。続いて、ステップＳ２５０へ進み、演算結果比較部１５により、第２通常コア１３による演算結果と第２監視コア１４による演算結果と第１監視コア１２による演算結果とを比較する。
【００３４】
そして、ステップＳ２６０へ進み、３つの演算結果の中で第２通常コア１３による演算結果だけがＮＧ（即ち、不一致）であるか否かを判断する。ここで、第２通常コア１３による演算結果だけがＮＧであるときには（ＹＥＳ）、第２通常コア１３、即ち、第３コア１３が異常コアであると特定し、特定結果をＲＡＭ１７に記憶し、ステップＳ２７０へ進む。このステップＳ２７０では、第２監視コア１４を第２通常コア１４とすると共に、第１監視コア１２を第２監視コア１２とし、第２通常コア１４と第２監視コア１２で１つの組を構成し、これ以降は、この組でロックステップ方式の並列処理を行うようにする。
【００３５】
続いて、ステップＳ２８０へ進み、上記特定した異常コアである第２通常コア１３、即ち、第３コア１３をリセットする。この場合、図３のステップＳ８０とほぼ同様にして、第３コア１３のリセット処理を実行するように構成されている。
【００３６】
この後、ステップＳ２９０へ進み、第１通常コア１１を第１監視コア１１とすると共に、上記リセットしたコア１３、即ち、第２通常コア１３を第１通常コア１３とし、第１通常コア１３と第１監視コア１１で１つの組を構成し、これ以降は、この組でロックステップ方式の並列処理を行うようにする。これにより、本制御を終了する。
【００３７】
また、上記ステップＳ２６０において、第２通常コア１３による演算結果だけがＮＧでないときには（ＮＯ）、ステップＳ３００へ進み、第２監視コア１４による演算結果だけがＮＧであるか否かを判断する。ここで、第２監視コア１４による演算結果だけがＮＧであるときには（ＹＥＳ）、第２監視コア１４、即ち、第４コア１４が異常コアであると特定し、特定結果をＲＡＭ１７に記憶し、ステップＳ３１０へ進む。このステップＳ３１０では、第１監視コア１２を第２監視コア１２とし、第２通常コア１３と第２監視コア１２で１つの組を構成し、これ以降は、この組でロックステップ方式の並列処理を行うようにする。
【００３８】
続いて、ステップＳ３２０へ進み、上記特定した異常コアである第２監視コア１４、即ち、第４コア１４をリセットする。この場合、図３のステップＳ８０とほぼ同様にして、第４コア１４のリセット処理を実行するように構成されている。
【００３９】
この後、ステップＳ３３０へ進み、上記リセットしたコア１４、即ち、第２監視コア１４を第１監視コア１４とし、第１通常コア１１と第１監視コア１４で１つの組を構成し、これ以降は、この組でロックステップ方式の並列処理を行うようにする。これにより、本制御を終了する。
【００４０】
また、上記ステップＳ３００において、第２監視コア１４による演算結果だけがＮＧでないときには（ＮＯ）、即ち、３つの演算結果がすべて異なるときには、ステップＳ３４０へ進み、４つのコア１１、１２、１３、１４を全て、即ち、マイコン３全体をリセットする。これにより、本制御を終了する。
【００４１】
このような構成の本実施形態においては、各組の通常コアと監視コアの演算結果を比較し、ある１組の通常コアと監視コアの演算結果が異なっている場合に、その組に別の組の監視コアを加え、３つのコアで並列処理を行い、３つの演算結果に基づいて異常コアを特定するように構成した。この構成によれば、特定した異常が発生したコアだけをリセットすることが可能となる。
【００４２】
また、上記実施形態では、３つのコアの中から、演算結果が他の２つのコアの演算結果と一致しなかったコアを異常コアとして特定するように構成したので、異常コアを正確に且つ確実に特定することができる。
【００４３】
上記実施形態では、３つのコアの中から、演算結果が一致した２つのコアを、新たな１組の通常コアと監視コアとして処理を実行するように構成したので、正常な２つのコアの組で演算処理を実行することができる。
【００４４】
上記実施形態では、異常コアが特定されたときに、特定された異常コアだけをリセット回路１８によりリセットするように構成したので、特定された異常コアだけをリセットすることができる。
【００４５】
上記実施形態では、リセットされて正常に復帰したコアを新たな監視コアとし、組になっていない別の通常コアと組にするように構成したので、正常な２つのコアからなる他の１つの組で演算処理を実行することができる。
【００４６】
（第２実施形態）
図９ないし図１５は、第２実施形態を示すものである。尚、第１実施形態と同一構成には、同一符号を付している。第２実施形態では、図９に示すように、マイコン３は、例えば５つのコア、即ち、第１コア１１と、第２コア１２と、第３コア１３と、第４コア１４と、第５コア３１とを有している。
【００４７】
初期状態では、図９に示すように、第１コア１１は第１通常コアとして使用され、第２コア１２は第１監視コアとして使用され、第１通常コア１１と第１監視コア１２で１組となってロックステップ方式の並列処理が実行される。そして、第３コア１３は第２通常コアとして使用され、第４コア１４は第２監視コアとして使用され、第２通常コア１３と第２監視コア１４で１組となってロックステップ方式の並列処理が実行される。第５コア３１は、第３通常コアとして使用され、初期状態では、組を構成していない。
【００４８】
第２実施形態においては、通常コアの数が監視コアの数よりも多い構成となっている。そして、第２実施形態では、通常コア及び監視コアの組み合わせが動的に変化されるように構成されている。
【００４９】
具体的には、図１０のステップＳ５１０では、第１通常コア１１の監視処理が実行される。この第１通常コア１１の監視処理としては、前述した図３に示す監視処理とほぼ同じ制御が実行されるように構成されている。続いて、ステップＳ５２０へ進み、第２通常コア１３の監視処理が実行される。この第２通常コア１３の監視処理としては、前述した図８に示す監視処理とほぼ同じ制御が実行されるように構成されている。
【００５０】
この後、ステップＳ５３０へ進み、第３通常コア３１と第１監視コア１２を１つの組みとするように変更する。そして、ステップＳ５４０へ進み、第１通常コア１１と第２監視コア１４を他の１つの組みとするように変更する。これにより、図９の初期状態のコアの組み合わせから、図１１に示すようなコアの組み合わせで、演算が実行されるようになる。即ち、通常コア及び監視コアの組み合わせが動的に変化する構成となっている。
【００５１】
次いで、ステップＳ５５０へ進み、第１通常コア１１の監視処理が実行される。この第１通常コア１１の監視処理としては、前述した図３に示す監視処理とほぼ同じ制御が実行されるように構成されている。この図３に示す監視処理を流用する場合には、第２監視コア（即ち、第４コア）１４を第１監視コアとして、図３の監視処理を実行するように制御すれば良い。
【００５２】
続いて、ステップＳ５６０へ進み、第３通常コア３１の監視処理が実行される。この第３通常コア３１の監視処理としては、前述した図３または図８に示す監視処理とほぼ同じ制御が実行されるように構成されている。例えば図８の監視処理を流用する場合には、第３通常コア３１を第２通常コアとし、第１監視コア１２を第２監視コアとして、図８の監視処理を実行するように制御すれば良い。
【００５３】
この後、ステップＳ５７０へ進み、第２通常コア１３と第１監視コア（即ち、第２コア）１２を１つの組みとするように変更する。そして、ステップＳ５８０へ進み、第３通常コア３１と第２監視コア（即ち、第４コア）１４を他の１つの組みとするように変更する。これにより、図１１に示すコアの組み合わせから、図１２に示すようなコアの組み合わせで、演算が実行されるようになる。即ち、通常コア及び監視コアの組み合わせが動的に変化する構成となっている。
【００５４】
そして、ステップＳ５９０へ進み、第２通常コア１３の監視処理が実行される。この第２通常コア１３の監視処理としては、前述した図８に示す監視処理とほぼ同じ制御が実行されるように構成されている。この図８に示す監視処理を流用する場合には、第１監視コア１２を第２監視コアとして、図８の監視処理を実行するように制御すれば良い。
【００５５】
続いて、ステップＳ６００へ進み、第３通常コア３１の監視処理が実行される。この第３通常コア３１の監視処理としては、前述した図３または図８に示す監視処理とほぼ同じ制御が実行されるように構成されている。例えば図８の監視処理を流用する場合には、第３通常コア３１を第２通常コアとして図８の監視処理を実行するように制御すれば良い。
【００５６】
この後、ステップＳ６１０へ進み、第１通常コア１１と第１監視コア（即ち、第２コア）１２を１つの組みとするように変更する。そして、ステップＳ６２０へ進み、第２通常コア１３と第２監視コア（即ち、第４コア）１４を他の１つの組みとするように変更する。これにより、図１２に示すコアの組み合わせから、図９に示すようなコアの組み合わせ、即ち、初期状態の組み合わせで、演算が実行されるようになり、本制御を終了する。
【００５７】
ここで、例えばステップＳ５２０の第２通常コア１３の監視処理において、演算結果の不一致が発生した場合のコアの組み合わせの変化の一例について、図１３、図１４、図１５を参照して説明する。まず、図１３に示す組み合わせ状態、即ち、初期状態で、第２通常コア１３の演算結果と第２監視コア１４の演算結果を比較し、不一致になった場合には、図１４に示すように、第１監視コア１２を加えて、３個のコアで再演算を実行する。そして、３個の演算結果の多数決をとり、１個だけ異なる演算結果のコア例えば第２通常コア１３を特定する。続いて、図１５に示すように、上記異なる演算結果の第２通常コア（即ち、第３コア）１３を、リセットして第３監視コア１３として、この第３監視コア１３を第３通常コア３１と組み合わせる。更に、第２監視コア（即ち、第４コア）１４を第２通常コア１４とすると共に、第１監視コア（即ち、第２コア）１２を第２監視コア１２として、これら第２通常コア１４と第２監視コア１２を組み合わせる。そして、これ以降は、上記組み合わせた２組のコアで演算処理を実行する。
【００５８】
上述した以外の第２実施形態の構成は、第１実施形態の構成と同じ構成となっている。従って、第２実施形態においても、第１実施形態とほぼ同じ作用効果を得ることができる。特に、第２実施形態では、マイコン３が例えば５つのコアを備えるように構成し、通常コア及び監視コアの組み合わせを動的に変化させるように構成したので、５つのコアを均等に動作させることができ、また、コアの異常を速やかに検出することができる。
【００５９】
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【００６０】
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリーを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウエア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリーと一つ以上のハードウエア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
【符号の説明】
【００６１】
図面中、１は電子制御装置、２はエンジン、３はマイクロコンピュータ、４はリセットＩＣ、１１は第１コア、１２は第２コア、１３は第３コア、１４は第４コア、１５は演算結果比較部、１８はリセット回路、１９は周辺Ｉ／Ｏ、２０はバス、３１は第５コアである。
【図１】
2020190985.tif 000003
【図２】
2020190985.tif 000004
【図３】
2020190985.tif 000005
【図４】
2020190985.tif 000006
【図５】
2020190985.tif 000007
【図６】
2020190985.tif 000008
【図７】
2020190985.tif 000009
【図８】
2020190985.tif 000010
【図９】
2020190985.tif 000011
【図１０】
2020190985.tif 000012
【図１１】
2020190985.tif 000013
【図１２】
2020190985.tif 000014
【図１３】
2020190985.tif 000015
【図１４】
2020190985.tif 000016
【図１５】
2020190985.tif 000017