(57)【要約】【課題】車両に搭載される複数個の機器の動作をマルチコアプロセッサで構成される統合制御装置で制御すると共に、各コアで演算の高速処理化を図りつつ、各コアで並行して行われる演算を同期させてリアルタイム性を確保するようにした車両の制御装置を提供する。【解決手段】統合制御装置を１個のプロセッサ・パッケージ４０ｂ１内に封入された複数個のプロセッサ・コア４０ｂ２と、バス４０ｂ３，４０ｂ６で接続される専用メモリ４０ｂ４，４０ｂ５と共有メモリ４０ｂ７とから構成して複数個の機器を複数個のドライバで接続すると共に、複数個のプロセッサ・コアを、その一つ（Ｃ４）を除く、残余（Ｃ１，Ｃ２，Ｃ３）が複数個の機器に出力すべき制御指令値をそれぞれ演算すると共に、一つ（Ｃ４）が残余のそれぞれの演算した制御指令値の共有メモリ４０ｂ７での書込み／読込みを禁止／許可するように設定する。【選択図】図５
2016118818.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載される複数個の機器と、前記車両と複数個の機器の状態を検出する複数個の検出器と、前記複数個の検出器の出力に基づいて前記複数個の機器の動作を制御する制御指令値を統合的に算出して前記複数個の機器に出力する統合制御装置とを備えた車両の制御装置において、前記統合制御装置を１個のプロセッサ・パッケージ内に封入された複数個のプロセッサ・コアと、バスで接続される前記複数個のプロセッサ・コアそれぞれの専用メモリと共有メモリとから構成して前記複数個の機器を複数個のドライバで接続すると共に、前記複数個のプロセッサ・コアを、その一つを除く、残余が前記複数個の機器に出力すべき制御指令値をそれぞれ演算すると共に、前記一つが前記残余のそれぞれの演算した制御指令値の前記共有メモリでの書込み／読込みを禁止／許可するように設定することを特徴とする車両の制御装置。
【請求項２】
前記共有メモリでの書込み／読込みが所定の制御周期ごとに禁止／許可されると共に、前記複数個のプロセッサ・コアの制御状態に応じて前記いずれかを休止させることを特徴とする請求項１記載の車両の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は車両の制御装置に関し、より詳しくは車両に搭載される各種の機器の動作を統合的に制御可能なマルチコアプロセッサからなる制御装置に関する。
【背景技術】
【０００２】
マルチコアプロセッサ（複数個のプロセッサ・コア）からなる車両の制御装置の例としては、例えば特許文献１記載の技術が知られている。特許文献１記載の技術は、第１のコアが実行する第１のアプリと第２のコアが実行する第２のアプリがそれぞれ外部にデータを送信するように構成している。
【０００３】
より具体的には特許文献１記載の技術は、バスを介して外部の機器と通信するための通信手段と、第１のコアと第２のコアの間でデータ通信する内部通信手段と、第２のアプリの第１の送信データを、通信手段ではなく、内部通信手段に出力する出力先変更手段と、内部通信手段から取得した第１の送信データを第１のアプリまたは通信手段のいずれかに出力するかを第１の送信データの送信先情報が登録されたリストテーブルに従って制御するデータ送信先制御手段とを備えるように構成している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１２８７８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１記載の技術は、複数の電子制御装置を統合した制御装置をマルチコアプロセッサで構成するに際し、統合前のソフトウエアを修正しないで済ませることを課題とすることから、上記したように内部通信手段という仮想ＣＡＮバスを用いて通信するように構成している結果、折角マルチコアプロセッサを採用しながら、演算の高速処理というその利点を十分に利用しきれていない憾みがあった。
【０００６】
他方、複数の電子制御装置を統合した制御装置をマルチコアプロセッサで構成する場合、各コアで演算の高速処理化を図りつつ、各コアで並行して行われる演算を同期させてリアルタイム性をどのように確保すべきかが問題となる。
【０００７】
従って、この発明の課題は、上記した不都合を解消し、車両に搭載される複数個の機器の動作をマルチコアプロセッサで構成される統合制御装置で制御すると共に、各コアで演算の高速処理化を図りつつ、各コアで並行して行われる演算を同期させてリアルタイム性を確保するようにした車両の制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記した課題を解決するために、請求項１にあっては、車両に搭載される複数個の機器と、前記車両と複数個の機器の状態を検出する複数個の検出器と、前記複数個の検出器の出力に基づいて前記複数個の機器の動作を制御する制御指令値を統合的に算出して前記複数個の機器に出力する統合制御装置とを備えた車両の制御装置において、前記統合制御装置を１個のプロセッサ・パッケージ内に封入された複数個のプロセッサ・コアと、バスで接続される前記複数個のプロセッサ・コアそれぞれの専用メモリと共有メモリとから構成して前記複数個の機器を複数個のドライバで接続すると共に、前記複数個のプロセッサ・コアを、その一つを除く、残余が前記複数個の機器に出力すべき制御指令値をそれぞれ演算すると共に、前記一つが前記残余のそれぞれの演算した制御指令値の前記共有メモリでの書込み／読込みを禁止／許可するように設定する如く構成した。
【０００９】
請求項２に係る車両の制御装置にあっては、前記共有メモリでの書込み／読込みが所定の制御周期ごとに禁止／許可されると共に、前記複数個のプロセッサ・コアの制御状態に応じて前記いずれかを休止させる如く構成した。
【発明の効果】
【００１０】
請求項１に係る車両の制御装置にあっては、統合制御装置を１個のプロセッサ・パッケージ内に封入された複数個のプロセッサ・コアと、バスで接続される複数個のプロセッサ・コアそれぞれの専用メモリと共有メモリとから構成して複数個の機器を複数個のドライバで接続すると共に、前数個のプロセッサ・コアを、その一つを除く、残余が複数個の機器に出力すべき制御指令値をそれぞれ演算すると共に、一つが残余のそれぞれの演算した制御指令値の共有メモリでの書込み／読込みを禁止／許可するように設定する如く構成したので、複数個のコアの一つを除く残余に制御指令値を演算させることで各コアでの演算の高速処理化を図ることができると共に、一つが各コアの共有メモリでの書込み／読込みを禁止／許可することで、演算を同期化させてリアルタイム性を確保することができる。
【００１１】
請求項２に係る車両の制御装置にあっては、共有メモリでの書込み／読込みが所定の制御周期ごとに禁止／許可されると共に、複数個のプロセッサ・コアの制御状態に応じていずれかを休止させる如く構成したので、上記した効果に加え、制御状態に応じて例えば演算処理が必要とされないコアを休止させることで消費電流を低減させることができる。
【図面の簡単な説明】
【００１２】
【図１】この発明の実施形態に係る車両の制御装置を全体的に示す概略図である。
【図２】図１に示す装置の構成をより詳細に示すブロック図である。
【図３】図１に示す車両の構成を概略的に示す概略図である。
【図４】図３の制御系の構成を概略的に示す概略図である。
【図５】図２に示す統合制御装置の構成を詳細に示すブロック図である。
【図６】図２に示すドライバの構成を詳細に示すブロック図である。
【図７】図２に示すマルチコアプロセッサの処理（動作）を示すフロー・チャートである。
【図８】図７に示すマルチコアプロセッサのうちのＣ４（コア４）の処理をより詳細に示すフロー・チャートである。
【図９】図８フロー・チャートの共有メモリからの読込み処理と他コアの書込み禁止／読込み許可処理を示すサブ・ルーチン・フロー・チャートである。
【図１０】図８フロー・チャートのＴ／Ｍissドライバの送受信処理を示すサブ・ルーチン・フロー・チャートである。
【図１１】図８フロー・チャートの入出力信号処理を示すサブ・ルーチン・フロー・チャートである。
【図１２】図８フロー・チャートの演算結果の共有メモリ書込みと他コアの書込み許可／読込み禁止処理を示すサブ・ルーチン・フロー・チャートである。
【図１３】図７に示すＣ１（コア１）の処理をより具体的に示すフロー・チャートである。
【図１４】図１３フロー・チャートの共有メモリの更新値の読込み処理を示すサブ・ルーチン・フロー・チャートである。
【図１５】図１３フロー・チャートの演算結果の共有メモリ書込み処理を示すサブ・ルーチン・フロー・チャートである。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照してこの発明に係る車両の制御装置を実施するための形態について説明する。
【００１４】
（実施形態）
図１はこの発明の実施形態に係る車両の制御装置を全体的に示す概略図、図２は図１に示す装置の構成をより詳細に示すブロック図、図３は図１に示す車両の構成を概略的に示す概略図、図４は図３の制御系の構成を概略的に示す概略図、図５は図２に示す統合制御装置の構成を詳細に示すブロック図、図６は図２に示すドライバ（エンジンドライバ）の構成を詳細に示すブロック図である。
【００１５】
最初に図３を参照してこの実施形態に係る制御装置が対象とする車両について説明すると、符号１は車両（ハイブリッド車両）を示し、車両１にはブラシレスモータあるいは交流同期電動機からなるモータ（電動機）１０とエンジン（内燃機関。駆動源）１２が搭載される。
【００１６】
エンジン１２はガソリン噴射式火花点火式で４気筒を備えると共に、スロットルバルブと車両運転席床面に配置されるアクセルペダルとの機械的な連結が絶たれ、モータなどのアクチュエータで開閉されるＤＢＷ（Drive By Wire）機構１２ａによって駆動される。
【００１７】
エンジン１２の出力は連結軸１４（図４に示す）を介して自動変速機（以下「変速機」という）１６に入力される。変速機１６はＣＶＴ（無段変速機）からなると共に、トルクコンバータ（図示せず）を備え、エンジン１２の出力はトルクコンバータを介して変速機１６に入力される。
【００１８】
変速機１６はエンジン１２などの出力を変速し、駆動力伝達軸（図示せず）とドライブシャフト１８を介して車輪（駆動輪）２０に伝達して車両１を走行させる。このように車両１は、パラレル方式のハイブリッド車両からなる。
【００１９】
モータ１０とエンジン１２は連結軸１４を介して変速機１６に接続される。モータ１０はエンジン１２が回転するとき常に回転し、始動時には通電されてエンジン１２をクランキングして始動させると共に、発進時や加速時などにも通電されてエンジン１２に代わって車両１を走行させる（あるいはエンジンの回転をアシスト（増速）する）。
【００２０】
モータ１０は、通電されないときはエンジン１２の回転に伴って空転すると共に、減速時には連結軸１４の回転によって生じた運動エネルギを電気エネルギに変換して出力する回生機能を有するジェネレータ（発電機）として機能する。
【００２１】
図４に示す如く、モータ１０は、パワードライブユニット（ＰＤＵ）２２を介してバッテリ２４に接続される。ＰＤＵ２２はインバータを備え、バッテリ２４から供給（放電）される直流（電力）を交流に変換してモータ１０に供給すると共に、モータ１０の回生動作によって発電された交流を直流に変換してバッテリ２４に供給する。このように、ＰＤＵ２２を介してモータ１０の駆動・回生が制御される。
【００２２】
以上を前提としてこの実施形態に係る車両の制御装置を説明すると、制御装置は、図１に示す如く、車両１に搭載される機器、即ち、モータ１０を動作させるモータドライバ３０と、エンジン１２を動作させるエンジンドライバ３２と、変速機１６を動作させるＴ／Ｍissドライバ３４と、バッテリ２４を動作させると共に、その動作を監視するバッテリ監視ドライバ３６と、それらドライバに接続される統合制御装置４０とを備える。
【００２３】
図２は図１に示す構成をより具体的に示すブロック図である。尚、図示の簡略化のため、図２においてモータドライバ３０とバッテリ監視ドライバ３６の図示を省略した。
【００２４】
図示の如く、統合制御装置４０は、入出力回路４０ａとマルチコアプロセッサ４０ｂからなる。
【００２５】
図５は統合制御装置４０の構成、より具体的にはそのマルチコアプロセッサ４０ｂの構成を詳細に示すブロック図である。
【００２６】
図５に示す如く、マルチコアプロセッサ４０ｂは、１個のプロセッサ・パッケージ４０ｂ１内に封入された複数個、詳しくは４個のプロセッサ・コア（以下「コア」という）４０ｂ２と、４個のコア４０ｂ２にそれぞれバス（専用バス）４０ｂ３で接続される４個の１次キャッシュメモリ（専用メモリ）４０ｂ４と４個の２次キャッシュメモリ（専用メモリ）４０ｂ５と、コア４０ｂ２と１次、２次キャッシュメモリ４０ｂ４，４０ｂ５にバス（専用バス）４０ｂ３とバス（メインバス）４０ｂ６によって接続される１個の共有メモリ（メインメモリＭ）４０ｂ７を備える。図示の如く、マルチコアプロセッサ４０ｂは、所謂、対称型構造のマルチコアプロセッサからなる。
【００２７】
４個のコア４０ｂ２はＣ１（コア１），Ｃ２（コア２），Ｃ３（コア３），Ｃ４（コア４）から、４個の１次キャッシュメモリ４０ｂ４はＣＡ１，ＣＡ２，ＣＡ３，ＣＡ４から、４個の２次キャッシュメモリ４０ｂ５はＣＢ１，ＣＢ２，ＣＢ３，ＣＢ４からなる。
【００２８】
各コア４０ｂ２（Ｃｎ）は演算に必要な値を対応する１次キャッシュメモリ４０ｂ４または２次キャッシュメモリ４０ｂ５（例えばコア１（Ｃ１）はＣＡ１，ＣＢ１、コア２（Ｃ２）はＣＡ２，ＣＢ２）に格納し、共有メモリ４０ｂ７で読込む／書込むべき制御指令値あるいは演算結果を共有メモリ４０ｂ７に格納／更新する。
【００２９】
図示の構成においては、各コア４０ｂ２と１次、２次キャッシュメモリ４０ｂ４，４０ｂ５は、バス（専用バス）４０ｂ３で接続され、バス（メインバス）４０ｂ６で接続される共有メモリ４０ｂ７よりも高速にアクセス可能であり、処理速度が高くなるように設定される。尚、共有メモリ４０ｂ７には２つ以上のコアが同時にアクセスできないように調整される。
【００３０】
図３の説明に戻ると、車両１あるいはそれに搭載される機器（図２の場合にはエンジン１２と変速機１６）には車両１と機器の状態を検出する複数個のセンサ（検出器）が配置される。
【００３１】
即ち、車両１において車輪２０のそれぞれの付近には車輪速センサ４４が配置されて車輪２０の所定回転ごとにパルス信号を出力すると共に、運転席の床面のアクセルペダル（図示せず）の付近にはＡＰ開度センサ４６が配置されて運転者によるアクセルペダルの開度（踏み込み量）ＡＰを示す出力を生じる。ブレーキペダル（図示せず）の付近にはブレーキスイッチ５０が配置されて運転者によるブレーキ操作がなされたときオン信号を出力する。
【００３２】
エンジン１２のカム（ＣＡＭ）軸（図示せず）の付近にはクランク角センサ５２が配置され、エンジン１２のピストンのＴＤＣ位置付近でＴＤＣ信号を出力すると共に、所定クランク角度ごとにＣＲＫ信号を出力する。
【００３３】
エンジン１２の冷却水通路には水温センサ５４が配置されてエンジン水温ＴＷを示す信号を出力すると共に、吸気通路の入口付近には吸気温センサ５６が配置されて吸気温ＴＡを示す信号を出力する。
【００３４】
変速機１６において入力軸（メインシャフト）と出力軸（カウンタシャフト）（共に図示せず）の付近には第１、第２の回転数センサ６０，６２が配置されて変速機入力軸回転数ＮＭと変速機出力軸回転数ＮＣを示す信号を出力すると共に、変速機１６が収容されるケース（図示せず）の底部（オイルパン）の付近には油温センサ６４が配置され、自動変速機油ＡＴＦの油温ＴＡＴＦを示す信号を出力する。
【００３５】
上記以外に多くのセンサが配置されるが、この発明の本質と直接の関連を有しないため、図示と説明を省略する。また、前記した如く、図２ではモータドライバ３０とバッテリ監視ドライバ３６の図示を省略したことから、それらのセンサも図示と説明を省略する。
【００３６】
統合制御装置４０は、車両１に搭載される４個の機器（モータ１０、エンジン１２、変速機１６、バッテリ２４）と複数個（機器の個数に対応する４個）のドライバ（モータドライバ３０、エンジンドライバ３２、Ｔ／Ｍissドライバ３４、バッテリ監視ドライバ３６）で導電線（信号線）７０を介して接続される。
【００３７】
図６はエンジンドライバ３２の構成を示すブロック図である。図示は省略するが、他のドライバ３０，３４，３６も類似する構成を備える。
【００３８】
図示の如く、エンジンドライバ３２は、ＣＰＵ３２ａと、Ａ／Ｄ変換を必要とするセンサ出力の入力回路３２ｂと、Ａ／Ｄ変換に代えて波形処理を必要とする回転系のセンサ出力の入力回路３２ｃと、エンジン１２の気筒ｎの燃焼室付近に配置されるインジェクタ（燃料噴射弁）と点火装置にＩＮＪｎ（気筒ｎの噴射信号）とＩＧＮｎ（気筒ｎの点火系信号）を出力する出力回路３２ｄと、ＤＢＷ機構１２ａと統合制御装置４０に接続されてＤＢＷ機構１２ａのアクチュエータにＴＨ信号を通信するなどの処理を行う通信回路３２ｅとを備える。
【００３９】
図示の如く、図３を参照して説明したセンサのうち、クランク角センサ５２と水温センサ５４と吸気温センサ５６の出力はエンジンドライバ３２に入力される。
【００４０】
図２と図６に示す如く、エンジンドライバ３２は、ＣＲＫ，ＴＤＣからなる実エンジン回転情報と、ＴＷ，ＴＡなどの水温センサ５４、吸気温センサ５６の出力と、診断情報（図示せず）などを通信回路３２ｅから統合制御装置４０に送る。統合制御装置４０は目標エンジン回転数、噴射信号ＩＮＪｎと、点火系信号ＩＧＮｎと、ＦＣ（フュエルカット）指示信号などをエンジンドライバ３２に送る。
【００４１】
また、第１、第２の回転数センサ６０，６２と油温センサ６４の出力はＴ／Ｍissドライバ３４に入力され、Ｔ／Ｍissドライバ３４は実ギア段と、それらセンサ値（ＴＡＴＦ，ＮＭ，ＮＣ）と、ＬＣ情報（トルクコンバータのロックアップクラッチの状態）と、診断情報（図示せず）などを統合制御装置４０に送ると共に、統合制御装置４０は目標ギア段、ＬＣ制御指示値などをＴ／Ｍissドライバ３４に送る。
【００４２】
また、点火装置とＡＰ開度センサ４６とブレーキスイッチ５０などの車両状態を示す機器ないしセンサとシフタ（シフタユニット）７２は統合制御装置４０と導電線７０で接続され、それらの出力は、ドライバ３２，３４を介することなく、統合制御装置４０の入出力回路４０ａに直接入力され、入力値はそこでＡ／Ｄ変換、波形処理される。
【００４３】
次いで図５を参照してマルチコアプロセッサ４０ｂの動作を説明すると、この実施形態にあっては、Ｃ１，Ｃ２，Ｃ３，Ｃ４からなる４個のコア４０ｂ２は制御する対象を予め設定すると共に、特定のコアＣ４は統合制御装置４０自体の入出力処理とドライバ３０，３２，３４，３６との送受信処理と各コアＣ１，Ｃ２，Ｃ３の共有メモリ４０ｂ７へのアクセス制御の管理を優先するように設定（指定）する。
【００４４】
即ち、４個のコア４０ｂ２、即ち、Ｃ１，Ｃ２，Ｃ３，Ｃ４を、４個のコアの一つ（Ｃ４）を除く、残余（Ｃ１，Ｃ２，Ｃ３）がモータ１０、エンジン１２、変速機１６、バッテリ２４からなる４個の機器に出力すべき制御指令値をそれぞれ演算すると共に、一つ（Ｃ４）が残余（Ｃ１，Ｃ２，Ｃ３）のそれぞれの演算した制御指令値の共有メモリ４０ｂ７の書込み／読込みを禁止／許可するように設定（指定）する。
【００４５】
具体的には、コアＣ１は目標ギア段算出、目標駆動トルク算出、エンジン／モータアシスト切替処理などの駆動力制御を実行するように設定され、コアＣ２は目標エンジントルク算出、エンジン停止と始動判定などのエンジン制御を実行するように設定され、コアＣ３は目標モータトルク算出、バッテリ容量監視、モータ指示トルク算出などのモータ／バッテリ制御を実行するように設定される。
【００４６】
コアＣ４は入出力信号制御、送受信と共有メモリ４０ｂ７の管理、具体的にはアクセル開度ＡＰ算出、ブレーキスイッチ入力処理、点火系信号ＩＧＮｎ入力処理、シフタ制御、図示しない他の制御ユニット（例えばＶＳＡ（Vehicle Stability Assist）制御ユニットやそれとのドライバ送受信）を実行するように設定される。
【００４７】
これは、マルチコアプロセッサの特徴である高速演算処理、即ち、各コア４０ｂ２と１次キャッシュメモリ４０ｂ４と２次キャッシュメモリ４０ｂ５での演算速度が速いことと、共有メモリ４０ｂ７にアクセスする際に２つのコアが同時にアクセスできないために調整が必要となって処理時間が増加することを前提とするためである。
【００４８】
演算に際し、各コア４０ｂ２は処理に必要な演算メモリとして対応する１次キャッシュメモリ４０ｂ４、即ち、Ｃ１はＣＡ１，Ｃ２はＣＡ２，Ｃ３はＣＡ３をそれぞれ使用して処理する。
【００４９】
また、２次キャッシュメモリ４０ｂ５には共有メモリ４０ｂ７で読込む／書込む制御指令値と各コア４０ｂ２の演算結果が一時的に保持されることから、Ｃ１，Ｃ２，Ｃ３は演算処理に必要な共有メモリ情報を２次キャッシュメモリ４０ｂ５に保持すると共に、保持した値をＣ１，Ｃ２，Ｃ３の全ての処理の完了に同期して更新する。尚、Ｃ４と相互監視に必要な情報に関しては共有メモリ４０ｂ７にアクセス可能である。
【００５０】
また、送受信データや各コア４０ｂ２に引き渡すべき演算結果と更新カウンタと各コア４０ｂ２の状態監視が共有メモリ４０ｂ７に保持される（後述する図１０のＳ６０４でその受信が処理される）。
【００５１】
図７は図２に示すマルチコアプロセッサ４０ｂの処理（動作）を示すフロー・チャートである。
【００５２】
図示の如く、Ｃ１からＣ４までの４個のコア４０ｂ２は同一時刻から処理が開始し、以降、並行して実行する（Ｓ：処理ステップ）。
【００５３】
コアＣ１，Ｃ２，Ｃ３はＳ１０からＳ１６，Ｓ１００からＳ１０４，Ｓ２００からＳ２０６において前記した処理を実行し、一旦待機する。
【００５４】
コアＣ４は、Ｓ３００からＳ３０８において前記したＴ／Ｍissドライバ３４とエンジンドライバ３２とバッテリ監視ドライバ３６とモータドライバ３０と他の制御系（ＶＳＡ制御ユニットなど）の送受信処理を実行し、Ｓ３１０において入出力信号処理を実行する。
【００５５】
次いでＳ３１２に進み、演算結果の共有メモリ４０ｂ７への書込みと他コアの書込みを許可する一方（即ち、コアＣ１，Ｃ２，Ｃ３がＳ２０，Ｓ１０６，Ｓ２０８で共有メモリ４０ｂ７に書込みを実行することを許可する）、他コアの読込みを禁止する。ここまでの処理を１制御周期とする。尚、同図で「書込み許可エリア」「読込み許可エリア」は、制御周期の中で共有メモリ４０ｂ７への書込み／読込みが許可されている時間帯を意味する。
【００５６】
次の制御周期において、Ｃ１，Ｃ２，Ｃ３はＣ４の許可に応じ、Ｓ２０，Ｓ１０６，Ｓ２０８において演算結果を共有メモリ４０ｂ７に書込む。
【００５７】
次の制御周期において、Ｃ４はＳ３１４において共有メモリ４０ｂ７からの読込み処理と他コアの書込みを禁止する一方、他コアの読込みを許可する。
【００５８】
次の制御周期において、それに応じ、Ｃ１，Ｃ２，Ｃ３はＳ２２，Ｓ１０８，Ｓ２１０において共有メモリ４０ｂ７の更新値を読込む。以降、Ｃ１からＣ４は制御周期ごとに上記した処理を繰り返す。
【００５９】
図８は図７に示すマルチコアプロセッサ４０ｂのうちのＣ４（コア４）の処理をより詳細に示すフロー・チャートである。
【００６０】
Ｓ４００において制御周期の時間を計測するカウント値をリセットして時間計測を開始し、Ｓ４０２に進み、図７フロー・チャートのＳ３１４で前記した共有メモリからの読込み処理と他コアの書込み禁止／読込み許可処理を実行する。
【００６１】
図９はその処理を示すサブ・ルーチン・フロー・チャートである。
【００６２】
以下説明すると、Ｓ５００において共有メモリ４０ｂ７への書込みを禁止し、Ｓ５０２に進み、共有メモリ４０ｂ７からの読込みを許可する。次いでＳ５０４に進み、全てのコアが読込みを完了したか否か判断し、否定されるときはＳ５０２に戻る一方、肯定されるときはＳ５０６に進み、共有メモリ４０ｂ７からの読込みを禁止する。
【００６３】
図８フロー・チャートに戻ると、次いでＳ４０４からＳ４１４において図７フロー・チャートのＳ３００からＳ３１０で前記した処理を実行する。
【００６４】
図１０はその中のＳ４０４のＴ／Ｍissドライバ３４の送受信処理を示すサブ・ルーチン・フロー・チャートである。
【００６５】
以下説明すると、Ｓ６００において受信エラーがあるか否か判断し、肯定されるときはＳ６０２に進み、受信エラー処理を実行する。この受信エラー処理ではＴ／Ｍissドライバ３４より最新の変速機１６の制御状態が受信できなかったため、制御代替値やフェールセーフ動作が可能な制御値を共有メモリ４０ｂ７に保持させる。
【００６６】
次いで（あるいはＳ６００で否定されるときは直ちに）Ｓ６０４に進み、最新の受信があるか否か判断する。Ｓ６０４で肯定されるときはＳ６０６に進み、Ｔ／Ｍissドライバ３４への制御変更がある場合、コア１が起動されたか起動中であるのを確認し、Ｓ６０８に進み、受信値を共有メモリ４０ｂ７に保存する。一方、Ｓ６０４で否定されるときはＳ６１０に進み、Ｔ／Ｍissドライバ３４への制御変更がない場合、コア１を休止させる。
【００６７】
次いでＳ６１２に進み、共有メモリ４０ｂ７に保存（格納）された制御指令値を送信する。
【００６８】
図示は省略するが、図８フロー・チャートのＳ４０６からＳ４１２までの処理も図１０と同様に行われる。
【００６９】
図１１は図８フロー・チャートのＳ４１４の入出力信号処理を示すサブ・ルーチン・フロー・チャートである。
【００７０】
以下説明すると、Ｓ７００において信号の故障検知を実行し、Ｓ７０２に進み、異常ないか否か判断する。Ｓ７０２で否定されるときはＳ７０４に進み、制御指令値を冗長信号に持ち替えるなどの代替値制御を実行する。
【００７１】
次いで（Ｓ７０２で肯定されるときは直ちに）Ｓ７０６に進み、信号処理と制御指令値の共有メモリ４０ｂ７への書込み処理を実行する。
【００７２】
図８フロー・チャートの説明に戻ると、Ｓ４１６に進み、制御周期待ち処理を実行する。これはＳ４００で開始した時間計測値が所定値になるまで待機する処理を意味する。
【００７３】
次いでＳ４１８に進み、図７フロー・チャートのＳ３１２で前記した演算結果の共有メモリ書込みと他コアの書込み許可／読込み禁止処理を実行する。
【００７４】
図１２はその処理を示すサブ・ルーチン・フロー・チャートである。
【００７５】
以下説明すると、Ｓ８００においてＣ１からＣ３の処理状態を監視し、Ｓ８０２に進み、全てのコア（Ｃ１からＣ３）の処理が終了したか否か判断し、否定されるときはＳ８００に戻る一方、肯定されるときはＳ８０４に進み、共有メモリ４０ｂ７への書込みを許可する。
【００７６】
次いでＳ８０６に進み、全てのコア（Ｃ１からＣ３）の読込みが完了したか否か判断し、否定されるときはＳ８０４に戻る一方、肯定されるときはＳ８０８に進み、共有メモリ４０ｂ７への書込みを禁止する。
【００７７】
図１３は図７に示すＣ１（コア１）の処理をより詳細に示すフロー・チャートである。
【００７８】
Ｓ９００において図７フロー・チャートのＳ２２で前記した共有メモリ４０ｂ７の更新値の読込み処理を実行する。
【００７９】
図１４はその処理を示すサブ・ルーチン・フロー・チャートである。
【００８０】
以下説明すると、Ｓ１０００において共有メモリ４０ｂ７の読込みが許可されるのを待機し、許可されたと判断されるとＳ１００２に進み、必要な制御指令値を共有メモリ４０ｂ７から２次キャッシュメモリＣＢ１に保存する（共有メモリから読込み、読込み値を２次キャッシュメモリに格納する）。次いでＳ１００４に進み、読込み終了をＣ４に通知する。
【００８１】
図１３フロー・チャートに戻ると、次いでＳ９０２からＳ９０８において図７フロー・チャートのＳ１０からＳ１６で前記した処理を実行し、次いでＳ９１０に進み、Ｓ２０で前記した演算結果の共有メモリ書込みを実行する。
【００８２】
図１５はその処理を示すサブ・ルーチン・フロー・チャートである。
【００８３】
以下説明すると、Ｓ１１００において処理終了をＣ４に通知し、Ｓ１１０２に進み、共有メモリ４０ｂ７への書込みが許可されているか否か判断し、否定されるときはＳ１１０４に進み、待機状態をカウント（待機時間を計測）する。
【００８４】
制御周期はコアＣ４によって管理されるが、このように各コアＣ１，Ｃ２，Ｃ３がそれぞれの全ての制御処理が完了した時点で共有メモリ４０ｂ７への書込みが許可されるまでの時間をカウントさせておくことで、１制御周期に対して各コアに制御時間の余裕（アイドル時間）がどれだけあるかを把握することが可能となる。
【００８５】
次いで（Ｓ１１０２で肯定されるときは直ちに）Ｓ１１０６に進み、演算結果を２次キャッシュメモリＣＢ１から共有メモリ４０ｂ７に保存（２次キャッシュメモリから読込み、読込み値を共有メモリに格納）し、Ｓ１１０８に進み、処理終了をＣ４に通知する。
【００８６】
上記した如く、この実施形態にあっては、車両１に搭載される複数個の機器（モータ１０、エンジン１２、自動変速機１６、バッテリ２４）と、前記車両と複数個の機器の状態を検出する複数個の検出器（車輪速センサ４４、ＡＰ開度センサ４６、ブレーキスイッチ５０、クランク角センサ５２、水温センサ５４、吸気温センサ５６、第１、第２の回転数センサ６０，６２、油温センサ６４）と、前記複数個の検出器の出力に基づいて前記複数個の機器の動作を制御する制御指令値を統合的に算出して前記複数個の機器に出力する統合制御装置４０とを備えた車両の制御装置において、前記統合制御装置を１個のプロセッサ・パッケージ４０ｂ１内に封入された複数個のプロセッサ・コア４０ｂ２と、バス４０ｂ３，４０ｂ６で接続される前記複数個のプロセッサ・コアそれぞれの専用メモリ（１次キャッシュメモリ（ＣＡ１，ＣＡ２，ＣＡ３，ＣＡ４）４０ｂ４と２次キャッシュメモリ（ＣＢ１，ＣＢ２，ＣＢ３，ＣＢ４）４０ｂ５）と共有メモリ（メインメモリＭ）４０ｂ７とから構成して前記複数個の機器を複数個のドライバで接続すると共に、前記複数個のプロセッサ・コアを、その一つ（Ｃ４）を除く、残余（Ｃ１，Ｃ２，Ｃ３）が前記複数個の機器に出力すべき制御指令値をそれぞれ演算すると共に、前記一つ（Ｃ４）が前記残余のそれぞれの演算した制御指令値の前記共有メモリ４０ｂ７での書込み／読込みを禁止／許可するように設定する如く構成したので、複数個のコア４０ｂ２の一つを除く残余に制御指令値を演算させることで各コアでの演算の高速処理化を図ることができると共に、一つが各コアの共有メモリ４０ｂ７での書込み／読込みを禁止／許可することで、演算を同期化させてリアルタイム性を確保することができる。
【００８７】
また、前記共有メモリ４０ｂ７での書込み／読込みが所定の制御周期ごとに禁止／許可されると共に、前記複数個のプロセッサ・コア４０ｂ２の制御状態に応じて前記いずれかを休止させる（図１０フロー・チャートのＳ６１０）如く構成したので、上記した効果に加え、制御状態に応じて例えば演算処理が必要とされないコアを休止させる、例えば車両１がアイドル停止中にエンジン制御を実施する必要がない場合にＣ２を休止させたり、Ｐレンジで停車中にＣ１を休止させたりすることで消費電流を低減させることができる。
【００８８】
尚、上記において車両に搭載される機器としてモータ１０、エンジン１２などを挙げたが、それに限られるものではなく、機器はどのようなものであっても良く、例えばＶＳＡ（Vehicle Stability Assist），ＥＰＢ（Electric Parking Brake），ＡＣＣ（Adaptive Cruise Control）の制御をドライバと一体型として演算処理を行うようなものであっても良い。
【符号の説明】
【００８９】
１  車両、１０  モータ（機器）、１２  エンジン（機器）、１６  自動変速機（変速機。機器）、２４  バッテリ（機器）、３０  モータドライバ、３２  エンジンドライバ、３４  Ｔ／Ｍissドライバ、３６  バッテリ監視ドライバ、４０  統合制御装置、４０ａ  入出力回路、４０ｂ  マルチコアプロセッサ、４０ｂ１  プロセッサ・パッケージ、４０ｂ２  プロセッサ・コア（コア）（Ｃｎ）、４０ｂ３  バス（サブバス）、４０ｂ４  １次キャッシュメモリ（専用メモリ）（ＣＡｎ）、４０ｂ５  ２次キャッシュメモリ（専用メモリ）（ＣＢｎ）、４０ｂ６  バス（メインバス）、４０ｂ７  共有メモリ（メインメモリＭ）、４４  車輪速センサ、４６  ＡＰ開度センサ、５０  ブレーキスイッチ、５２  クランク角センサ、５４  水温センサ、５６  吸気温センサ、６０，６２  第１、第２の回転数センサ、６４  油温センサ、７０  導電線（信号線）、７２  シフタ
【図１】
2016118818.tif 000003
【図２】
2016118818.tif 000004
【図３】
2016118818.tif 000005
【図４】
2016118818.tif 000006
【図５】
2016118818.tif 000007
【図６】
2016118818.tif 000008
【図７】
2016118818.tif 000009
【図８】
2016118818.tif 000010
【図９】
2016118818.tif 000011
【図１０】
2016118818.tif 000012
【図１１】
2016118818.tif 000013
【図１２】
2016118818.tif 000014
【図１３】
2016118818.tif 000015
【図１４】
2016118818.tif 000016
【図１５】
2016118818.tif 000017