(57)【要約】【課題】キャッシュメモリやバスへの負荷を低減することができる車両用装置、車両用装置の制御方法を提供する。【解決手段】実施形態の車両用装置１は、複数のＣＰＵモジュール１６と、複数のＣＰＵモジュール１６にそれぞれ割り当てられている複数のキャッシュメモリ１７と、複数のキャッシュメモリ１７を同期させるメモリ同期部（１３、１６）と、を備え、メモリ同期部は、キャッシュメモリ１７に描画されるサーフェスを同期させるものであり、同期対象となるサーフェスを複数のタイルに分割するとともに、分割したタイルのうち描画が完了したタイルから順次同期させる。【選択図】図１８
2020177073.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＰＵモジュール（１６）と、
複数の前記ＣＰＵモジュールにそれぞれ割り当てられている複数のキャッシュメモリ（１７）と、
複数の前記キャッシュメモリを同期させるメモリ同期部（１３、１６）と、を備え、
前記メモリ同期部は、前記キャッシュメモリに描画されるサーフェスを同期させるものであり、同期対象となるサーフェスを複数のタイルに分割するとともに、分割したタイルのうち描画が完了したタイルから順次同期させる車両用装置。
【請求項２】
単独の前記ＣＰＵモジュールが利用するサーフェスについては前記キャッシュメモリに配置する一方、他の前記ＣＰＵモジュールと共有されるサーフェスについてはメインメモリ（１２）に配置する請求項１記載の車両用装置。
【請求項３】
前記メモリ同期部は、同一のタイルと重複しない経路で順次同期させる請求項１または２記載の車両用装置。
【請求項４】
複数の前記ＣＰＵモジュール上でそれぞれオペレーティングシステム（２０）が実行される請求項１から３のいずれか一項記載の車両用装置。
【請求項５】
複数の表示器（２、３、４）への表示を制御する請求項１から４のいずれか一項記載の車両用装置。
【請求項６】
車両用装置（１）に設けられている複数のキャッシュメモリ（１７）を同期させる制御方法であって、
ＣＰＵモジュール（１６）にそれぞれ割り当てられている複数の前記キャッシュメモリ（１７）に描画されたサーフェスを複数のタイルに分割する処理と、
分割したタイルのうち描画が完了したタイルから順次同期させる処理と、
を含む車両用装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用装置、車両用装置の制御方法に関する。
【背景技術】
【０００２】
従来、車両に設けられる表示器は、例えば特許文献１のように個別の装置によって制御されていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−９７９２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さて、近年では、車両に複数の表示器を設けたコックピットシステムの採用が広がりつつある。その場合、各表示器を個別の装置で制御すると、装置間での帯域の制限や同期の遅れなどによって、シームレスなユーザインターフェースが実現できなくなる可能性がある。そのため、各表示器の制御を１つの車両用装置に集約することによって、上記した帯域の制限や同期の遅れの解消が図られている。
【０００５】
しかしながら、各表示器の制御を１つの車両用装置に集約した結果、車両用装置のキャッシュメモリやバスへの負荷が増加してしまうという問題が新たに発生した。この問題は、表示器の大型化や高精細化が進むとさらに顕著になる。
【０００６】
また、例えば複数のコンテンツを表示する場合には、ＣＰＵモジュールやオペレーティングシステムを跨いでコンテンツを共有する必要があり、キャッシュメモリやバスへの負荷がさらに増加することが予想される。そのため、キャッシュメモリやバスへの負荷を低減することが強く求められている。
【０００７】
本発明の目的は、キャッシュメモリやバスへの負荷を低減することができる車両用装置、車両用装置の制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明では、車両用装置（１）は、複数のＣＰＵモジュール（１６）と、複数のＣＰＵモジュールにそれぞれ割り当てられている複数のキャッシュメモリ（１７）と、複数のキャッシュメモリを同期させるメモリ同期部（１３、１６）と、を備え、メモリ同期部は、キャッシュメモリに描画されるサーフェスを同期させるものであり、同期対象となるサーフェスを複数のタイルに分割するとともに、分割したタイルのうち描画が完了したタイルから順次同期させる。これにより、キャッシュメモリを同期させる処理が分散され、キャッシュメモリやバスへの負荷を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態におけるコックピットシステムの構成例を示す図
【図２】車両用装置の電気的構成例を示す図
【図３】車両用装置のソフトウェア構成例を示す図
【図４】メータディスプレイの表示態様の一例を示す図
【図５】センターディスプレイの表示態様の一例を示す図
【図６】ヘッドアップディスプレイの表示態様の一例を示す図
【図７】各アプリに割り当てられている物理面の一例を示す図
【図８】比較例としての、従来の手法による表示態様の一例を示す図
【図９】同期処理の流れを示す図
【図１０】サーフェスの取り込み態様の一例を示す図
【図１１】車両用装置による表示態様の一例を示す図
【図１２】第２実施形態における車両用装置の構成例を示す図
【図１３】車両用装置の他の構成例を示す図
【図１４】第３実施形態におけるサーフェスの取り込み態様の一例を示す図その１
【図１５】サーフェスの取り込み態様の一例を示す図その２
【図１６】第４実施形態における比較例としてのサーフェスを共有するシーケンスを示す図
【図１７】サーフェスを共有する順序の一例を示す図
【図１８】メモリ同期処理の流れを示す図
【図１９】サーフェスを共有するシーケンスを示す図
【図２０】タイルを同期する経路を示す図
【図２１】第５実施形態におけるタイルを同期する経路を示す図その１
【図２２】タイルを同期する経路を示す図その２
【図２３】タイルを同期する経路を示す図その３
【図２４】タイルを同期する経路を示す図その４
【図２５】第６実施形態における配置領域の特定例を示す図
【図２６】領域配置処理の流れを示す図
【図２７】他の配置領域の特定例を示す図その１
【図２８】他の配置領域の特定例を示す図その２
【図２９】他の配置領域の特定例を示す図その３
【図３０】他の配置領域の特定例を示す図その４
【発明を実施するための形態】
【００１０】
以下、まず、第１実施形態から第３実施形態で基本的な構成とユースケースならびにそこに生じる課題を解決するための手法について説明し、その後、第４実施形態および第５実施形態において、キャッシュメモリやバスへの負荷を低減する手法について説明する。なお、各実施形態において実質的に共通する部位には同一の符号を付して説明する。
【００１１】
（第１実施形態）
以下、第１実施形態について説明する。図１に示すように、車両用装置１は、例えば、メータディスプレイ２、センターディスプレイ３およびヘッドアップディスプレイ４の３つの表示器を備えるコックピットシステム５を構成している。
【００１２】
メータディスプレイ２は、例えば液晶ディスプレイや有機ＥＬディスプレイで構成されており、ダッシュボードの運転者の正面付近に設けられるものを想定している。センターディスプレイ３は、例えば液晶ディスプレイや有機ＥＬディスプレイで構成され、センターコンソール付近に設けられるものを想定している。
【００１３】
ヘッドアップディスプレイ４は、例えば液晶ディスプレイや有機ＥＬディスプレイあるいはフロントウィンドに画像を投影する投影器で構成されており、ダッシュボード上の運転者の正面付近に設けられるものを想定している。ただし、表示器の数や配置あるいは構成は一例であり、これらに限定されない。
【００１４】
なお、図１では車両用装置１が複数の表示器に接続されている例を示しているが、後述するように、第１実施形態の車両用装置１は、１つのユーザインターフェースにおけるサーフェスを同期させることを目的としている。そのため、車両用装置１に接続される表示器は１つ以上であればよい。
【００１５】
この車両用装置１は、車両に設けられている幾つかの電子制御装置６（以下、ＥＣＵ６）と通信可能に接続されている。なお、車両用装置１もＥＣＵ６の１つとして考えることはできるものの、理解し易くするために、本明細書では車両用装置１とＥＣＵ６とを分けている。
【００１６】
車両用装置１は、図２に示すように、ＣＰＵ１０、バスマスタ１１、メインメモリ１２、グラフィック処理ユニット１３(以下、ＧＰＵ１３）、画像処理ユニット１４（以下、ＩＰＵ１４）、通信部１５などを備えている。
【００１７】
ＧＰＵ１３は、後述するように、アプリケーションプログラムから指示されたサーフェスを実際に描画する機能部である。なお、サーフェスとは、平易に言えば、ある瞬間に表示されているコンテンツ画像の元となる画像データである。ＩＰＵ１４は、描画されたサーフェスを各表示器に映像信号として出力する機能部である。
【００１８】
ＣＰＵ１０は、複数のコア１０ａを備えている。ここでは、一例としてコア１０ａの数は８個としている。これら８個のコア１０ａは、４個ずつにとりまとめられ、２つのＣＰＵモジュール１６ＡとＣＰＵモジュール１６Ｂに割り振られている。つまり、車両用装置１内には、機能的に独立して動作可能な複数のＣＰＵモジュール１６が設けられている。
【００１９】
また、ＣＰＵモジュール１６Ａは相対的にリアルタイム性が要求されるアプリケーション群２２Ａに割り当てられ、ＣＰＵモジュール１６Ｂは相対的にリアルタイム性が要求されないアプリケーション群２２Ｂに割り当てられている。以下、ＣＰＵモジュール１６に共通する説明をする際にはＡまたはＢを付さず、単にＣＰＵモジュール１６と称する。
【００２０】
各ＣＰＵモジュール１６およびＧＰＵ１３にはそれぞれ専用のキャッシュメモリ１７が設けられている。以下、ＣＰＵモジュール１６Ａに設けられているものを便宜的にキャッシュ１７Ａと称し、ＣＰＵモジュール１６Ｂに設けられているものを便宜的にキャッシュ１７Ｂと称し、ＧＰＵ１３に設けられているものを便宜的にキャッシュ１７Ｇと称する。そして、各キャッシュメモリ１７は、バス１１ａおよびバスマスタ１１を介してメインメモリ１２とＩＰＵ１４に接続されており、相互にデータの送受信が可能に構成されている。
【００２１】
通信部１５は、他のＥＣＵ６との間の通信を行う。この通信部１５は、例えばＣｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋインターフェースで構成されている。なお、ＥＣＵ６の種類によっては、例えばＷｉｆｉのような無線通信方式、あるいは、ＵＳＢのような有線通信方式を採用することもできる。
【００２２】
車両用装置１は、図３に示すように、ＣＰＵ１０上でオペレーティングシステム２０（以下、ＯＳ２０）が実行され、そのＯＳ２０上で複数のアプリケーションプログラム２１（以下、アプリ２１）が実行されている。ＯＳ２０上で実行されるアプリ２１としては、メータアプリ２１ａ、ナビアプリ２１ｂ、安全アプリ２１ｃ、映像アプリ２１ｄ、ＨＵＤアプリ２１ｅなどが設けられている。なお、ＨＵＤは、Ｈｅａｄ  Ｕｐ  Ｄｉｓｐｌａｙの略である。また、各アプリ２１は一例であり、ＯＳ２０上で実行されるアプリ２１はこれらに限定されない。
【００２３】
メータアプリ２１ａは、車両の速度や回転数あるいは警告などをユーザに報知するものであるとともに、主にメータディスプレイ２に表示されるサーフェスを描画する。例えば、メータアプリ２１ａは、図４に通常表示モードとして示すユーザインターフェース２３のように、速度計Ｍ１や回転数計Ｍ２あるいは警告灯Ｍ３などのコンテンツを表示するためのサーフェスを描画する。
【００２４】
ただし、メータアプリ２１ａが描画したサーフェスは、センターディスプレイ３やヘッドアップディスプレイ４にも表示可能である。また、メータアプリ２１ａによって描画されるサーフェスは、例示した他のアプリ２１によって描画されるサーフェスよりも、相対的にリアルタイム性が要求されるものとなっている。また、実際にはメータアプリ２１ａがＧＰＵ１３に指示してサーフェスを描画させているものの、説明の簡略化のために、ここではメータアプリ２１が描画すると表現している。これは、他のアプリ２１についても同様である。
【００２５】
ナビアプリ２１ｂは、ナビゲーション機能を実現するものであるとともに、主にセンターディスプレイ３に表示されるサーフェスを描画する。例えば、ナビアプリ２１ｂは、図５に示すように、地図や車両の現在位置などを含むナビゲーション画面Ｍ４などのコンテンツを表示するためのサーフェスを描画する。ただし、ナビアプリ２１ｂが描画したサーフェスは、例えば図４にナビ表示モードとして示すようにメータディスプレイ２に表示することもできるし、ヘッドアップディスプレイ４にも表示することもできる。
【００２６】
安全アプリ２１ｃは、メニューの表示や運転支援用の各種の機能を実現するものであるとともに、主にセンターディスプレイ３に表示されるサーフェスを描画する。例えば、安全アプリ２１ｃは、図５に示すように、対象となる機能やコンテンツを選択するための複数のアイコンＭ５などのコンテンツを表示するためのサーフェスを描画する。ただし、安全アプリ２１ｃが描画したサーフェスは、例えば図４にメニュー表示モードとして示すようにメータディスプレイ２に表示することもできるし、ヘッドアップディスプレイ４にも表示することもできる。
【００２７】
ＨＵＤアプリ２１ｅは、例えば速度や今後の進路などをユーザに報知するものであるとともに、主にヘッドアップディスプレイ４に表示されるサーフェスを描画する。例えば、ＨＵＤアプリ２１ｅは、図６に示すように、現在の速度情報Ｍ６や時刻情報Ｍ７あるいは曲がり角までの距離や曲がる方向などを示す進路情報Ｍ８を表示するためのサーフェスを描画する。ただし、ＨＵＤアプリ２１ｅが描画したサーフェスは、メータディスプレイ２やセンターディスプレイ３にも表示可能である。
【００２８】
これらの各アプリ２１には、図７に示すように、サーフェスを描画するための物理面３０が個別に割り当てられている。つまり、各アプリ２１は、コンテンツの保持単位であるサーフェスを自身に割り当てられている物理面３０に描画する描画部として機能する。また、各アプリ２１は、詳細は後述するが、コンテンツの保持単位であるサーフェスを自身に割り当てられている物理面３０に取り込んで同期させる同期部に相当する。
【００２９】
これらの物理面３０は、キャッシュメモリ１７やメインメモリ１２上に、必要となるサーフェスを描画つまりは配置できる大きさで確保されている。なお、物理面３０の大きさは必ずしも表示器の画素数と一致させる必要はない。これは、物理面３０に描画されたサーフェスのうち必要なサーフェスが選択されて表示器に表示されるためである。
【００３０】
本実施形態では、メータアプリ２１ａには物理面３０Ａが割り当てられており、ナビアプリ２１ｂには物理面３０Ｂが割り当てられており、安全アプリ２１ｃには物理面３０Ｃが割り当てられており、映像アプリ２１ｄには物理面３０Ｄが割り当てられており、ＨＵＤアプリ２１ｅには物理面３０Ｅが割り当てられている。そして、各物理面３０には、各アプリ２１によって１つ以上のサーフェスが描画される。
【００３１】
例えば、物理面３０Ａには、メータアプリ２１ａによってサーフェスＳＡ１〜ＳＡ３が描画される。同様に、物理面３０Ｂには、ナビアプリ２１ｂによってサーフェスＳＢ１が描画される。物理面３０Ｃには、安全アプリ２１ｃによってサーフェスＳＣ１、ＳＣ２が描画される。なお、図７では、説明の簡略化のために、安全アプリ２１ｃによって描画される複数のサーフェスをまとめてサーフェスＳＣ１としている。物理面３０Ｄには、映像アプリ２１によってサーフェスＳＤ１が描画される。物理面３０Ｅには、ＨＵＤアプリ２１ｅによってサーフェスＳＥ１〜ＳＥ３が描画される。なお、これらのサーフェスは一例である。
【００３２】
また、各表示器に表示されるコンテンツは、少なくとも１つがアニメーション動作するものとなっている。ここで、アニメーション動作とは、コンテンツを示す画像の位置や大きさが徐々に変化したり、画像が回転したり、スワイプ操作にともなってユーザインターフェース２３が全体的に移動したり、画像が徐々にフェードインあるいはフェードアウトしたり、画像の色が変化したりするような表示態様である。
【００３３】
例えば、図４に示したように、速度計Ｍ１や回転数計Ｍ２あるいは地図やメニューなどは、表示モードや表示先の表示器によってその大きさや位置が変化するコンテンツである。ただし、アニメーション動作はこれらに限定されず、ある時点から連続的あるは断続的に表示態様が変化するものであればアニメーション動作に含まれる。
【００３４】
次に、上記した構成の作用について説明する。
上記したように、各物理面３０は各アプリ２１に個別に割り当てられており、その物理面３０に各アプリ２１が個別にサーフェスを描画している。このとき、各物理面３０に描画されたサーフェスをＩＰＵ１４で合成するという従来の手法で表示を行うと、表示されるコンテンツの同期ずれが生じるおそれがある。
【００３５】
これは、サーフェスを描画が完了するタイミングが各アプリ２１で異なることがあるためである。ここで、従来の手法を用いて、図８に示す比較例：画面遷移のナビ表示モードにおいて速度計Ｍ１や回転数計Ｍ２を拡大表示するアニメーション動作をさせる場合を想定してみる。なお、図８では、コンテンツの符号は図示を省略している。
【００３６】
この場合、相対的に地図を縮小必要があることから、図８に比較例：シーケンスとして示すように、メータアプリ２１ａは、まず、更新するサーフェスの大きさや位置を演算し、その演算結果をナビアプリ２１ｂに通知するとともに、更新後の大きさや位置に合わせたサーフェスを描画する。一方、ナビアプリ２１ｂは、メータアプリ２１ａから通知を受け取ると、通知に基づいてサーフェスの更新後の大きさや位置を特定し、その大きさや位置となるように新たなサーフェスを描画つまりは更新する。
【００３７】
このとき、メータアプリ２１ａ側でサーフェスの描画が先に完了したとすると、その時点でＩＰＵ１４によってサーフェスが合成されて表示されることになる。ただし、ナビアプリ２１ｂ側ではサーフェスの描画が完了していないため、元のサーフェスがそのまま表示されることになる。その結果、図８に同期ずれ状態として示すように、速度計Ｍ１や回転数計Ｍ２とナビゲーション画面Ｍ４とが重なった状態となる。
【００３８】
そして、その後にナビアプリ２１ｂでのサーフェスの描画が完了すると、図８に同期状態として示すように、各サーフェスが意図した通りの状態で表示されることになる。なお、図８に示した同期ずれは一例であり、例えば枠内にメニューを表示するような場合には、枠を移動させてもメニューが移動しないといった同期ずれが発生する可能性がある。
【００３９】
このように、従来の手法を用いた場合には、表示がずれるなど、異なる物理面３０に描画されたサーフェスを同期させることができなかった。また、表示器に表示する際の同期がずれるため、ユーザが視認できてしまい、不具合感を抱かせる懸念もある。
【００４０】
そこで、車両用装置１では、以下のようにして、異なる物理面３０に描画されるサーフェスを同期させている。なお、以下の処理はいずれのアプリ２１によっても実施可能であるものの、ここでは、上記した図８の例と対比させて、メータアプリ２１ａが描画する速度計Ｍ１などのサーフェスと、ナビアプリ２１ｂが描画するナビゲーション画面Ｍ４のサーフェスとを同期させる場合を例にして説明する。
【００４１】
メータアプリ２１ａは、図９に示す同期処理を実行しており、ステップＳ１において、上記した図７で示したように、自身に割り当てられている物理面３０Ａに、サーフェスＳＡ１〜ＳＡ３を描画する。例えば、メータアプリ２１ａは、速度計Ｍ１を表示するためのサーフェスＳＡ１、回転数計Ｍ２を表示するためのサーフェスＳＡ２、警告灯Ｍ３を表示するためのサーフェスＳＡ３を描画する。
【００４２】
そして、メータアプリ２１ａは、同期処理のステップＳ２において、他の物理面３０に描画されたサーフェスを取り込む。この場合、メータアプリ２１ａは、図１０に示すように、サーフェスＳＡ１〜ＳＡ３を描画した物理面３０Ａに、ナビアプリ２１ｂによって他の物理面３０Ｂに描画されたサーフェスＳＢ１を取り込む。なお、取り込んだ時点では、サーフェスＳＢ１は、ナビアプリ２１ｂが描画した大きさや形状となっている。
【００４３】
続いて、メータアプリ２１ａは、同期処理のステップＳ３において、自身が描画したサーフェスＳＡ１〜ＳＡ３と取り込んだサーフェスＳＢ１を含め、各サーフェスの位置や大きさあるいは変形量などを演算する。つまり、メータアプリ２１ａは、取り込んだサーフェスＳＢ１をテクスチャーとして扱い、そのテクスチャーの位置や大きさあるいは変形量を演算することにより、擬似的に自身が描画したものとして処理する。
【００４４】
演算が終わると、メータアプリ２１ａは、同期処理のステップＳ４において、演算結果に従って自身の物理面３０Ａに各サーフェスを描画する。これにより、図１０に示すように、物理面３０Ａには、メータアプリ２１ａが描画したサーフェスＳＡ１〜ＳＡ３とナビアプリ２１ｂが描画したサーフェスＳＢ１とが、演算した大きさや位置に従って描画される。つまり、演算結果に従って各サーフェスが再描画あるいは再配置される。
【００４５】
このとき、他の物理面３０Ｂに描画されていたサーフェスＳＢ１は、物理面３０Ａに取り込まれた時点で物理面３０Ｂからは切り離されている。このため、ナビアプリ２１ｂの描画動作に関わらず、メータアプリ２１ａ側でサーフェスＳＢ１を適切な大きさや位置あるいは変形量で表示させることが可能な状態となっている。
【００４６】
そのため、メータアプリ２１ａは、同期処理のステップＳ５において、再描画あるいは再配置が完了した各サーフェスの表示を指示することにより、各サーフェスを適切な状態で表示することができるようになる。これは、アニメーション動作させた際、速度計Ｍ１や回転数計Ｍ２を拡大するにつれてナビゲーション画面Ｍ４が縮小されて、それらが重なることなくシームレスに表示を変更できることを意味している。
【００４７】
より具体的には、車両用装置１では、図１１に実施例：シーケンスとして示すように、各アプリ２１でそれぞれサーフェスを描画する。そして、他の物理面３０に描画されたサーフェスを必要とするアプリ２１、ここでは、メータアプリ２１ａは、ナビアプリ２１ｂが描画したサーフェスを自身の物理面３０に取り込み、取り込んだサーフェスの位置や大きさなどを演算して再描画する。
【００４８】
これにより、例えばメータアプリ２１ａが速度計Ｍ１や回転数計Ｍ２を拡大表示するようなアニメーション動作をさせる場合において、メータアプリ２１ａ側で、そのアニメーション動作に対応するように異なる物理面３０に描画されたサーフェスの大きさや位置などを制御することができる。従って、実施例：画面遷移として示すように、速度計Ｍ１や回転数計Ｍ２とナビゲーション画面Ｍ４とが重なることが防止される。すなわち、異なる物理面３０に描画されたサーフェスを同期させることができる。なお、図１１では、コンテンツの符号は図示を省略している。
【００４９】
以上説明した実施形態によれば、次のような効果を得ることができる。
車両用装置１は、複数のコンテンツを１つのユーザインターフェース２３で提供可能なものであって、コンテンツの保持単位であるサーフェスを同期させる同期部を備えている。そして、同期部は、自身に割り当てられている物理面３０とは異なる他の物理面３０に描画されたサーフェスを取り込み、取り込んだサーフェスを自身が描画したサーフェスとして扱うことにより、自身が描画したサーフェスと他の物理面３０に描画されたサーフェスとを同期させる。
【００５０】
これにより、異なる物理面３０に描画されたサーフェスであっても、ユーザインターフェース２３に表示する際には、その表示が更新されるタイミングを同期部が制御することができる。つまり、他の物理面３０に描画されたサーフェスを共有することが可能になる。これにより、異なる物理面３０に描画されたサーフェスを同期させることができる。より具体的には、自身が描画したサーフェスと他の物理面３０に描画されたサーフェスとを同期させることができ、表示がずれるなど、ユーザが視認できてしまう状態を回避することができる。
【００５１】
また、車両用装置１の制御方法は、複数のコンテンツを１つのユーザインターフェース２３で提供する際に、コンテンツの保持単位であるサーフェスを自身に割り当てられている物理面３０に描画する工程と、自身に割り当てられている物理面３０とは異なる他の物理面３０に描画されたサーフェスを取り込む工程と、取り込んだサーフェスを自身が描画したサーフェスとして扱うことにより、自身が描画したサーフェスと他の物理面３０に描画されたサーフェスとを同期させる工程と、を含んでいる。
【００５２】
このような車両用装置１の制御方法によっても、異なる物理面３０に描画されたサーフェスを同期させることができ、自身が描画したサーフェスと他の物理面３０に描画されたサーフェスとを同期させることができる。
【００５３】
また、車両用装置１では、コンテンツのうち少なくとも１つは、アニメーション動作するものである。コンテンツをアニメーション動作させる場合、元になるサーフェスが同期していないと、コンテンツの表示がずれたり重なって表示されたりするなど、ユーザが視認できるような不具合が生じる可能性がある。そこで、元になるサーフェスを同期させることにより、コンテンツの位置や大きさを変化させた場合であっても、上記した不具合が生じることを防止できる。
【００５４】
車両用装置１は、複数のアプリ２１が実行されるものであり、同期部は、アプリ２１として実装されており、自身が描画したサーフェスと、他のアプリ２１によって他の物理面３０に描画されたサーフェスとを同期させる。これにより、それぞれのアプリ２１に過度に負荷が掛かることを抑制できる。
【００５５】
そのため、実施形態のメータアプリ２１ａのように、他の物理面３０に描画されるサーフェスよりも相対的にリアルタイム性が必要とされるサーフェスを描画するアプリ２１であっても、必要とされる速度計Ｍ１や回転数計Ｍ２あるいは警告灯Ｍ３の表示を遅延させることなく、他の物理面３０に描画されたサーフェスと同期させることができる。
【００５６】
車両用装置１は、複数のＣＰＵモジュール１６を備えており、同期部は、自身が描画したサーフェスと、他のＣＰＵモジュール１６側に設けられている他の物理面３０に描画されたサーフェスとを同期させる。この場合、物理面３０はＣＰＵモジュール１６ごとに管理されるため、メータアプリ２１ａがサーフェスを描画する物理面３０Ａと、ナビアプリ２１ｂがサーフェスを描画する物理面３０Ｂとは、ＣＰＵモジュール１６を跨いで共有されることになる。このような構成によっても、上記した制御方法を採用することにより、異なる物理面３０に描画されたサーフェスを同期させることができる。
【００５７】
（第２実施形態）
次に、第２実施形態について説明する。第２実施形態では、第１実施形態とは異なる車両用装置１の構成例について説明する。なお、説明の簡略化のために、車両用装置１やＯＳ２０あるいはアプリ２１には共通する符号を付して説明する。また、同期制御の方法などは、第１実施形態と共通する。
【００５８】
<第１の構成例＞
第１の構成例では、車両用装置１は、図１２に示すように、ＣＰＵ１０上でハイパーバイザ４０が実行され、そのハイパーバイザ４０上で複数例えば２つのＯＳ２０ＡおよびＯＳ２０Ｂが実行される。このとき、ＯＳ２０ＡはＣＰＵモジュール１６Ａに割り当てられており、ＯＳ２０ＢはＣＰＵモジュール１６Ｂに割り当てられている。本実施形態では、ＯＳ２０Ａは相対的にリアルタイム性が高い処理を担当し、ＯＳ２０Ｂは相対的にリアルタイム性が低い処理を担当するものを想定している。
【００５９】
そのため、ＯＳ２０Ａでは、リアルタイム性が要求される例えばメータアプリ２１ａが実行され、ＯＳ２０Ｂでは、リアルタイム性がＯＳ２０Ａほど要求されないナビアプリ２１ｂや安全アプリ２１ｃ、映像アプリ２１ｄやＨＵＤアプリ２１ｅなどが実行される。なお、ＯＳ２０の種類やアプリ２１ケーションの配置は一例であり、これらに限定されない。
【００６０】
この場合、物理面３０はＯＳ２０ごとに管理されるため、メータアプリ２１ａがサーフェスを描画する物理面３０Ａと、ナビアプリ２１ｂがサーフェスを描画する物理面３０Ｂとは、ＣＰＵモジュール１６およびＯＳ２０を跨ぐことになる。換言すると、同期部は、ＣＰＵモジュール１６およびＯＳ２０を跨いでサーフェスを共有する必要がある。このような場合であっても、第１実施形態で説明した制御方法を採用することにより、異なる物理面３０、ここでは、異なるＣＰＵモジュール１６側の異なるＯＳ２０側の物理面３０に描画されたサーフェスを共有して同期させることができる。
【００６１】
また、第１実施形態では同期部つまりは自身でもサーフェスを描画するアプリ２１により各サーフェスを同期部として用いる構成を例示したが、同期専用の同期アプリ２１ｆを実装し、サーフェスの描画とサーフェスの共有とを別々に処理する構成とすることもできる。換言すると、コンテンツの保持単位であるサーフェスを自身に割り当てられている物理面３０に描画する同期部と、自身に割り当てられている物理面３０に他の物理面３０に描画されたサーフェスを取り込み、取り込んだサーフェスの位置や大きさあるいは変形量を演算する同期部としてのアプリ２１ｆを備える構成とすることもできる。このような構成によっても、同期部によって描画されたサーフェスを同期部で取り込むことにより、異なる物理面３０に描画されたサーフェスを同期させることができる。この同期アプリ２１ｆは、全ての表示器を対象とする構成とすることもできるし、各表示器に個別に設ける構成とすることもできる。
【００６２】
なお、ハイパーバイザ４０は、ＯＳ２０Ａの機能として実行される構成とすることもできる。すなわち、ＣＰＵ１０上でＯＳ２０Ａを実行し、そのＯＳ２０の機能としてハイパーバイザ４０を動作させ、そのハイパーバイザ４０上でＯＳ２０Ｂを実行する構成とすることもできる。
【００６３】
<第２の構成例＞
第２の構成例では、車両用装置１は、図１３に示すように、複数のＣＰＵ１０を備え、各ＣＰＵ１０上でそれぞれＯＳ２０ＡおよびＯＳ２０Ｂが実行される。この場合、物理面３０はＣＰＵ１０ごとに管理されるため、メータアプリ２１ａがサーフェスを描画する物理面３０Ａと、ナビアプリ２１ｂがサーフェスを描画する物理面３０Ｂとは、ＣＰＵ１０を跨ぐことになる。
【００６４】
換言すると、同期部は、ＣＰＵ１０を跨いでサーフェスを共有する必要がある。このような場合であっても、第１実施形態で説明した制御方法を採用することにより、異なる物理面３０、ここでは、異なるＣＰＵモジュール１６側の物理面３０に描画されたサーフェスを共有して同期させることができる。
【００６５】
（第３実施形態）
次に、第３実施形態について説明する。第３実施形態では、車両用装置１とＥＣＵ６との間でサーフェスを同期させる例について説明する。なお、説明の簡略化のために、車両用装置１やＯＳ２０あるいはアプリ２１には共通する符号を付して説明する。また、車両用装置１の構成は第１実施形態や第２実施形態と共通し、同期制御の方法は第１実施形態と共通するものを採用することができる。
【００６６】
第３実施形態では、図１４に示すように、車両用装置１は、他のＥＣＵ６に通信可能に接続されるものであり、自身の側で同期部によって物理面３０に描画されたサーフェスと、ＥＣＵ６側の他の物理面３０に描画されたサーフェスとを、第１実施形態と同様の制御方法を用いて同期させる。
【００６７】
具体的には、車両用装置１は、上記した図９の処理に従って、例えばメータアプリ２１ａであれば、物理面３０Ｆに描画されたサーフェスを自身の物理面３０Ａに取り込み、位置や大きさあるいは変形量を演算し、演算結果に基づいて各サーフェスを描画し、その後に表示することで、自身が物理面３０Ａに描画したサーフェスと、異なる物理面３０Ｆに描画されたサーフェスを同期させる。
【００６８】
このとき、車両用装置１は、ＥＣＵ６側の物理面３０Ｆに描画されたサーフェスを、個別にコネクションを貼って取り込む構成とすることができる。これにより、必要となるサーフェスを個別に取り込むことが可能になり、異なる物理面３０に描画されたサーフェスを同期させることができる。
【００６９】
あるいは、車両用装置１は、ＥＣＵ６側の物理面３０Ｆに描画された複数のサーフェスをＥＣＵ６側でまとめたサーフェス群ＳＧを一括して取り込むとともに、取り込んだサーフェス群ＳＧを例えばメータアプリ２１ａに割り当てられている物理面３０Ａに個別に分配するアプリ２１として分配部２１ｇを設ける構成とすることもできる。
【００７０】
これにより、サーフェスを取り込む処理を簡略化しつつ、また、車両用装置１とＥＣＵ６との間の通信量を削減しつつ、異なる物理面３０に描画されたサーフェスを同期させることができる。なお、分配部２１ｇは、ハードウェアで構成することもできる。
【００７１】
（第４実施形態）
次に、第４実施形態について説明する。第４実施形態および後述する第５実施形態では、キャッシュメモリやバスへの負荷を低減する手法について説明する。なお、車両用装置１の構成は第１実施形態から第３実施形態と共通するため、図１から図１５も必要に応じて参照しながら説明する。
【００７２】
図１や図１２あるいは図１３に示したように、車両用装置１は、複数のＣＰＵモジュール１６を備えている。各ＣＰＵモジュール１６には、それぞれ個別にキャッシュ１７が設けられている。この車両用装置１は、図２に示した電気的構成を備えているとともに、各アプリ２１は、図７に示したように個別の物理面３０にサーフェスをそれぞれ描画する。この物理面３０は、キャッシュ１７またはメインメモリ１２に設けられている。
【００７３】
まず、ＣＰＵモジュール１６Ｂ側で描画されたサーフェスを、ＣＰＵモジュール１６Ａ側で共有する場合を想定し、サーフェスを共有する際の基本的な流れについて説明する。図１６に示すように、ＣＰＵモジュール１６Ｂは、共有されるサーフェスを実際に描画するための描画要求をＧＰＵ１３に出力する。この描画要求は、図１７に示す矢印Ｆ１のように、ＣＰＵモジュールＢからＧＰＵ１３に対して出力される。なお、これらに先だって、ＣＰＵモジュール１６ＡからＣＰＵモジュール１６Ｂに対してサーフェスを共有する旨の通知が行われている。
【００７４】
描画要求を受けたＧＰＵ１３は、図１７に示す矢印Ｆ２のように、自身のキャッシュ１７Ｇにサーフェスを描画する。このとき、ＧＰＵ１３は、キャッシュ１７Ｇに乗らなかった分については、図１７に示す矢印Ｆ３のように随時メインメモリ１２へライトバックする。
【００７５】
描画が完了すると、図１６に示すように、ＧＰＵ１３からＣＰＵモジュールＢに対して描画完了が通知される。ただし、従来の描画手法では、サーフェス全体の描画が完了した時点で描画完了が通知されていた。
【００７６】
さて、描画完了の通知を受けたＣＰＵモジュールＢは、サーフェスを共有するための共有要求をＧＰＵ１３に出力する。以下、共有要求をｒｅｑとも示す。この共有要求は、図１７に示す矢印Ｆ４のように、ＣＰＵモジュールＢ側からＧＰＵ１３に対して出力される。
【００７７】
共有要求を受けたＧＰＵ１３は、対象となるサーフェスをメインメモリ１２にライトバックする。以下、ライトバックをｗｂとも示す。このとき、サーフェスがキャッシュ１７Ｇ上に配置されていれば、図１７に示す矢印Ｆ５のように、キャッシュ１７Ｇからメインメモリ１２へのライトバックが行われる。
【００７８】
その後、図１６に示すように、メインメモリからＣＰＵモジュールＡ側へのスヌープが行われる。以下、スヌープをｓｎとも示す。このスヌープは、図１７に示す矢印Ｆ６のように、メインメモリ１２からＣＰＵモジュールＡのキャッシュ１７Ａに対して行われる。これにより、各ＣＰＵモジュール１６に設けられているキャッシュ間で共有すべきサーフェスが同期される。
【００７９】
ところで、図１７に矢印Ｆ４にて示す共有要求、矢印Ｆ５にて示すライトバック、および矢印Ｆ６にて示すスヌープは、サーフェスを共有するごとに発生する。そのため、サーフェスを共有するごとにバス１１ａに負荷が掛かってレイテンシが大きくなる。
【００８０】
また、上記した従来の描画手法の場合には、サーフェス全体を描画したタイミングで共有要求を出力している。そのため、図１６に負荷集中期間として示すように、負荷がそのタイミングに集中するとともに、サーフェス全体についてスヌープが必要になるため、１回のスヌープが完了するまでに掛かる期間が長くなる。その結果、リアルタイム性を必要とするメータディスプレイへの表示などがスムーズに行われなくなるおそれがある。以下、負荷集中期間を便宜的にｌｐとも示す。
【００８１】
そこで、車両用装置１では、以下のようにしてバス負荷の低減を図っている。なお、以下では、説明の簡略化のために車両用装置１を主体にして説明するが、これらの処理は、ＣＰＵモジュール１６とＧＰＵ１３とによって協同して行われるものである。つまり、本実施形態の場合、ＣＰＵモジュール１６とＧＰＵ１３は、複数のキャッシュ１７を同期させるメモリ同期部として機能する。より詳細には、ＣＰＵモジュール１６、ＯＳ２０、アプリ２１、あるいはＣＰＵモジュール１６側から指示を受けたＧＰＵ１３などによりメモリ同期部を構成することができる。
【００８２】
車両用装置１は、図１８に示す処理を実行しており、まず、共有要求を出力する。具体的には、図１９に実施例として示すように、ＣＰＵモジュール１６ＢからＧＰＵ１３に対して共有要求が出力される。この共有要求は、次に描画要求されるサーフェスが共有されるものであることをＧＰＵ１３に通知するものである。
【００８３】
続いて、車両用装置１は、図１８のステップＳ１２において、サーフェスを実際に描画する描画要求を出力する。この場合、図１９に示すように、ＣＰＵモジュール１６ＢからＧＰＵ１３に対して描画要求が出力される。
【００８４】
続いて、車両用装置１は、図１８のステップＳ１３において、サーフェスを複数のタイルに分割する。この場合、車両用装置１は、図２０に示すように、１つのサーフェスを例えばＴ（０，０）からＴ（Ｘ，Ｙ）までの二次元配列の複数のタイルに分割する。そして、車両用装置１は、図１８のステップＳ１４において、描画が完了したタイルから順次同期させる。
【００８５】
つまり、車両用装置１は、タイルを順次メインメモリ１２にライトバックすることにより、共有されるサーフェスをメインメモリ１２に配置して同期可能にしている。換言すると、共有されるサーフェスは、非キャッシュとされている。なお、共有されないサーフェスは、キャッシュ１７に配置されることになる。
【００８６】
このとき、車両用装置１は、例えば図２０に矢印にて示す経路のように、Ｔ（０，０）からＴ（１、０）のようにＴ（Ｘ，０）に向かう経路でタイルを同期させた後、Ｔ（１，０）からＴ（１、Ｙ）に向かう経路で同期させ、最終的にＴ（０，Ｙ）からＴ（Ｘ、Ｙ）に向かう経路で、サーフェス内のタイルを横方向で順次同期させている。すなわち、車両用装置１は、同一のタイルを重複しない経路で各タイルを順次同期させている。なお、描画が完了していないタイルは飛ばされることになる。
【００８７】
そして、車両用装置１は、図１８のステップＳ１５において、全てのタイルを同期したか否かを判定する。車両用装置１は、全てのタイルを同期していない場合には、ステップＳ１５がＮＯとなり、未だ同期されていないタイルを同期させる。この場合、既に同期したタイルは飛ばされることになる。
【００８８】
この場合、図１９に示すように、描画が完了したタイルから順次メインメモリ１２にライトバックされ、ＣＰＵモジュール１６Ａ側にスヌープされる。換言すると、上記した図１６の従来の描画手法とは異なり、１つのサーフェスに対するライトバックとスヌープが、複数回に分散して実行される。また、タイルごとにライトバックされることから、１回のスヌープが完了するまでの期間も従来の描画手法よりも短くなる。
【００８９】
これにより、キャッシュ１７を同期させる際のバス負荷を低減することができる。つまり、車両用装置１および制御方法によれば、バス負荷を分散させることができるとともに、１回のスヌープが完了するまでに掛かる期間を短縮することができる。従って、リアルタイム性を必要とするメータディスプレイへの表示などをスムーズに行うことができるようになる。
【００９０】
以上説明した車両用装置１によれば、次のような効果を得ることができる。
車両用装置１は、複数のＣＰＵモジュール１６と、複数のＣＰＵモジュール１６にそれぞれ割り当てられている複数のキャッシ１７と、本実施形態ではＣＰＵモジュール１６とＧＰＵ１３とによって構成され、複数のキャッシュ１７を同期させるメモリ同期部と、を備えている。そして、メモリ同期部は、キャッシュ１７に描画されるサーフェスを同期させるものであり、同期対象となるサーフェスを複数のタイルに分割するとともに、分割したタイルのうち描画が完了したタイルから順次同期させる。
【００９１】
これにより、キャッシュ１７を同期させる際のバス負荷を低減することができる。また、バス負荷を分散させることができるとともに、１回のスヌープが完了するまでに掛かる期間を短縮することができる。従って、キャッシュ１７やバス１１ａへの負荷を低減することができる。また、リアルタイム性を必要とするメータディスプレイへの表示などをスムーズに行うことができるようになる。
【００９２】
また、ＣＰＵモジュール１６にそれぞれ割り当てられている複数のキャッシュ１７に描画されたサーフェスを複数のタイルに分割する処理と、分割したタイルのうち描画が完了したタイルから順次同期させる処理と、を含む車両用装置１の制御方法によっても、同様に、キャッシュ１７やバス１１ａへの負荷を低減することができる。
【００９３】
車両用装置１は、単独のＣＰＵモジュール１６が利用するサーフェスについてはキャッシュ１７に配置する一方、他のＣＰＵモジュール１６と共有されるサーフェスについてはメインメモリ１２に配置する。これにより、単独で利用するサーフェスについては高速に描画することができるとともに、共有するサーフェスについては他のＣＰＵモジュールから利用することができる。従って、複数のコンテンツを１つのユーザインターフェースで提供する際などに有意である。
【００９４】
車両用装置１は、サーフェスを矩形状のタイルに分割し、同一のタイルと重複しない経路で順次同期させる。より詳細には、車両用装置１は、同期が完了しているタイルを重複せずに、サーフェス内の全てのタイルを同期させている。これにより、無駄な同期処理つまりはバス負荷が発生することを防止できる。
【００９５】
車両用装置１は、複数のＣＰＵモジュール１６上でそれぞれＯＳ２０が実行される。つまり、車両用装置１の場合、ＯＳ２０を跨いでサーフェスを共有している。これにより、リアルタイム性やマルチメディア性能によってＯＳ２０を分けて実装する場合であっても、サーフェスを好適に共有することができる。
【００９６】
車両用装置１は、複数の表示器への表示を制御する。この場合、各表示器において、異なるアプリ２１や異なるＯＳ２０あるいは異なるＣＰＵモジュール１６側で描画されたサーフェスが必要になることが想定される。このような場合であっても、車両用装置１または上記した制御方法を採用することにより、キャッシュ１７やバス１１ａへの負荷を低減することができることから、シームレス且つスムーズにサーフェスを共有することができる。
また、第４実施形態および以下に説明する第５実施形態の構成および手法は、後述する第６実施形態の構成および手法と組み合わせて採用することができる。すなわち、本実施形態のバス負荷を分散させる構成と、後述するバス負荷そのものを低減させる構成とは、互いに組み合わせることができる。
【００９７】
（第５実施形態）
以下、第５実施形態について説明する。第５実施形態では、タイルを同期させる際の他の経路について説明する。
【００９８】
車両用装置１は、Ｔ（０，０）からＴ（Ｘ，Ｙ）までの二次元配列の複数のタイルに分割する場合、例えば図２１に矢印にて示す経路のように、Ｔ（０，０）からＴ（Ｘ，０）に向かう経路でタイルを同期させた後、Ｔ（Ｘ，１）からＴ（０、１）に向かう経路でタイルを同期させ、その後、Ｔ（０，２）からＴ（Ｘ、２）に向かう経路でタイルを同期させるといったように、サーフェス内を横方向に往復する経路でタイルを同期させることができる。このような経路であっても、同一のタイルと重複しない経路で順次同期させることができる。
【００９９】
また、車両用装置１は、Ｔ（０，０）からＴ（Ｘ，Ｙ）までの二次元配列の複数のタイルに分割する場合、例えば図２２に矢印にて示す経路のように、Ｔ（０，０）からＴ（０，Ｙ）に向かう経路でタイルを同期させた後、Ｔ（１，０）からＴ（１、Ｙ）に向かう経路でタイルを同期させ、その後、Ｔ（０，２）からＴ（Ｘ、２）に向かう経路でタイルを同期させるといったように、サーフェス内を縦方向に向かう経路でタイルを同期させることができる。このような経路であっても、同一のタイルと重複しない経路で順次同期させることができる。
【０１００】
また、車両用装置１は、Ｔ（０，０）からＴ（Ｘ，Ｙ）までの二次元配列の複数のタイルに分割する場合、例えば図２３に矢印にて示す経路のように、Ｔ（０，０）からＴ（０，Ｙ）に向かう経路でタイルを同期させた後、Ｔ（１，Ｙ）からＴ（１、０）に向かう経路でタイルを同期させ、その後、Ｔ（２，０）からＴ（２、Ｙ）に向かう経路でタイルを同期させるといったように、サーフェス内を縦方向に往復する経路でタイルを同期させることができる。このような経路であっても、同一のタイルと重複しない経路で順次同期させることができる。
【０１０１】
また、車両用装置１は、Ｔ（０，０）からＴ（Ｘ，Ｙ）までの二次元配列の複数のタイルに分割する場合、例えば図２４に矢印にて示す経路のように、Ｔ（０，０）からＴ（Ｘ，０）に向かう経路でタイルを同期させた後、Ｔ（Ｘ、Ｙ）に向かう経路でタイルを同期させ、その後、Ｔ（０，Ｙ）に向かう経路でタイルを同期させるといったように、サーフェス内を外縁部から中心に向かって回り込む経路でタイルを同期させることができる。このような経路であっても、同一のタイルと重複しない経路で順次同期させることができる。これとは逆に、サーフェスの中心から外縁に向かって回り込む経路でタイルを同期させることもできる。
【０１０２】
（第６実施形態）
次に、第６実施形態について説明する。第６実施形態では、キャッシュメモリやバスへの負荷を低減するための手法であって、第４実施形態や第５実施形態とは異なる手法について説明する。なお、車両用装置１の構成は第１実施形態から第３実施形態と共通するため、図１から図１５も必要に応じて参照しながら説明する。また、バス負荷については第４実施形態と共通するため、図１７等も参照しながら説明する。
【０１０３】
図２や図１２あるいは図１３に示したように、車両用装置１は、複数のＣＰＵモジュール１６を備えている。また、車両用装置１は、図１２あるいは図１３に示したように複数のＯＳ２０が実行される。各ＣＰＵモジュール１６には、それぞれ個別にキャッシュ１７が設けられている。この車両用装置１は、図２に示した電気的構成を備えているとともに、各アプリ２１は、図７に示したように個別の物理面３０にサーフェスをそれぞれ描画する。この物理面３０は、キャッシュ１７またはメインメモリ１２に設けられている。
【０１０４】
例えば物理面３０Ａに描画されたサーフェスＳＡ１〜ＳＡ３は、図２５に示すように、フレームバッファ５０に配置され、その後、表示器に出力される。このフレームバッファ５０は、各サーフェスをＸＹの二次元座標系を元に合成したものである。そのため、このフレームバッファに配置されたサーフェスが表示されることで、各コンテンツがユーザに視認可能に提供されることになる。このフレームバッファ５０は、例えばメインメモリ上に設けられている。また、フレームバッファ５０は、各表示器にそれぞれ個別の領域として設けられている。
【０１０５】
さて、上記した第４実施形態の図１７に示したように、ＣＰＵモジュール１６やＯＳ２０を跨いでサーフェスを共有する際には、キャッシュ１７を同期させるためにバス負荷が発生する。換言すると、ＣＰＵモジュール１６やＯＳ２０を跨がないサーフェスについては、メインメモリ１２へのライトバックやキャッシュ１７へのスヌープが不要になると考えられる。
【０１０６】
そこで、車両用装置１は、以下のようにして不要なライトバックやスヌープが発生しないようにしている。具体的には、車両用装置１は、図２６に示す領域配置処理を実行し、ステップＳ２１において、例えば図２５に示す共有領域５１を特定する。図２５の場合、車両用装置１は、フレームバッファ５０の全体を共有領域５１として特定している。この特定は、本実施形態の場合、ＣＰＵモジュール１６によって行われる。
【０１０７】
そして、車両用装置１は、図２６のステップＳ２２において、特定した共有領域５１を同期させている。この場合、車両用装置１は、フレームバッファ５０の全体が複数のＣＰＵモジュール１６によって共有されるものとして、メインメモリ１２に配置している。これにより、フレームバッファ５０の全体を共有することができる。
【０１０８】
この配置は、ＣＰＵモジュール１６およびＧＰＵ１３により行われる。すなわち、ＣＰＵモジュール１６およびＧＰＵ１３は、配置部を構成する。より詳細には、ＣＰＵモジュール１６、ＯＳ２０、アプリ２１、あるいはＣＰＵモジュール１６側から指示を受けたＧＰＵ１３などにより配置部を構成することができる。
【０１０９】
これにより、フレームバッファ５０に配置されたサーフェスについては、他のＣＰＵモジュール１６側へのライトバックやスヌープが行われないことから、不要なバス負荷が発生することを防止することができる。従って、キャッシュメモリやバスへの負荷を低減することができる。
【０１１０】
以上説明した車両用装置１およびその制御方法によれば、次のような効果を得ることができる。
車両用装置１は、複数のＣＰＵモジュール１６と、複数のＣＰＵモジュール１６に割り当てられているキャッシュ１７と、複数のＣＰＵモジュール１６で共有される共有領域５１を特定する特定部としてのＣＰＵモジュール１６と、特定部で特定された共有領域５１をメインメモリ１２に配置する領域配置部としてのＣＰＵモジュール１６およびＧＰＵ１３とを備えている。
【０１１１】
これにより、共有が必要となる共有領域５１についてはライトバックやスヌープが発生するものの、共有が必要ない領域についてはライトバックやスヌープが発生せず、不要なバス負荷が発生することを防止できる。
【０１１２】
また、複数のＣＰＵモジュール１６を有する車両用装置１において、複数のＣＰＵモジュール１６で共有される共有領域５１を特定する処理と、特定した共有領域５１をメインメモリ１２に配置する処理とを含む制御方法によっても、キャッシュメモリやバスへの負荷を低減することができる。
【０１１３】
また、車両用装置１は、フレームバッファ５０全体を共有領域５１として特定している。これにより、ユーザインターフェースを提供する際に必要な全てのサーフェスを共有することができる。
【０１１４】
ところで、ユーザインターフェースを提供する場合には、必ずしも画面全体を常に更新することが必要ない場合がある。そして、画面の更新が必要ない部分については共有しないようにすれば、バス負荷をさらに低減することができると考えられる。
【０１１５】
そのため、車両用装置１は、例えば図２７に示すように、フレームバッファ５０の一部を共有領域５１として特定する構成とすることもできる。この場合、車両用装置１は、フレームバッファ５０内に矩形の領域を設定し、その領域を共有領域５１として特定する構成とすることができる。あるいは、車両用装置１は、フレームバッファ５０内にピクセルマップで領域を設定し、その領域を共有領域５１として特定する構成とすることができる。このような構成によっても、不要なライトバックやスヌープを削減でき、キャッシュメモリやバスへの負荷を低減することができる。
【０１１６】
また、車両用装置１は、例えば図２８に示すように、１つのサーフェスを共有領域５１として特定する構成とすることもできる。また、車両用装置１は、例えば図２９に示すように、サーフェス内に矩形の領域を設定し、その領域を共有領域５１として特定する構成とすることができる。また、車両用装置１は、例えば図３０に示すように、サーフェス内にピクセルマップで領域を設定し、その領域を共有領域５１として特定する構成とすることができる。このような構成によっても、不要なライトバックやスヌープを削減でき、キャッシュメモリやバスへの負荷を低減することができる。
【０１１７】
また、第６実施形態の構成および手法は、上記した第４実施形態および第５実施形態の構成および手法と組み合わせて採用することができる。すなわち、本実施形態のバス負荷そのものを低減させる構成と上記したバス負荷を分散させる構成とは、互いに組み合わせることができる。
【０１１８】
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に含まれるものである。
【０１１９】
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
【符号の説明】
【０１２０】
図面中、１は車両用装置、２はメータディスプレイ（表示器）、３はセンターディスプレイ（表示器）、４はヘッドアップディスプレイ（表示器）、６は電子制御装置（他の装置）、１３はＧＰＵ（メモリ同期部、特定部、領域配置部）、１６Ａ、１６ＢはＣＰＵモジュール（メモリ同期部、特定部、領域配置部）、２０Ａ、２０Ｂはオペレーティングシステム、２１はアプリ（アプリケーションプログラム）、２１ａはメータアプリ（同期部）、２１ｂはナビアプリ（同期部）、２１ｃは安全アプリ（同期部）、２１ｄは映像アプリ（同期部）、２１ｅはＨＵＤアプリ（同期部）、２１ｆは同期アプリ（同期部）、２１ｇは分配部、２３はユーザインターフェース、３０Ａ〜３０Ｆは物理面、Ｍ１〜Ｍ８はコンテンツ、ＳＡ１〜ＳＡ３、ＳＢ１、ＳＣ１、ＳＤ１、ＳＥ１はサーフェス、ＳＧはサーフェス群を示す。
【図１】
2020177073.tif 000003
【図２】
2020177073.tif 000004
【図３】
2020177073.tif 000005
【図４】
2020177073.tif 000006
【図５】
2020177073.tif 000007
【図６】
2020177073.tif 000008
【図７】
2020177073.tif 000009
【図８】
2020177073.tif 000010
【図９】
2020177073.tif 000011
【図１０】
2020177073.tif 000012
【図１１】
2020177073.tif 000013
【図１２】
2020177073.tif 000014
【図１３】
2020177073.tif 000015
【図１４】
2020177073.tif 000016
【図１５】
2020177073.tif 000017
【図１６】
2020177073.tif 000018
【図１７】
2020177073.tif 000019
【図１８】
2020177073.tif 000020
【図１９】
2020177073.tif 000021
【図２０】
2020177073.tif 000022
【図２１】
2020177073.tif 000023
【図２２】
2020177073.tif 000024
【図２３】
2020177073.tif 000025
【図２４】
2020177073.tif 000026
【図２５】
2020177073.tif 000027
【図２６】
2020177073.tif 000028
【図２７】
2020177073.tif 000029
【図２８】
2020177073.tif 000030
【図２９】
2020177073.tif 000031
【図３０】
2020177073.tif 000032