JP2020177073A - 車両用装置、車両用装置の制御方法 - Google Patents
車両用装置、車両用装置の制御方法 Download PDFInfo
- Publication number
- JP2020177073A JP2020177073A JP2019077776A JP2019077776A JP2020177073A JP 2020177073 A JP2020177073 A JP 2020177073A JP 2019077776 A JP2019077776 A JP 2019077776A JP 2019077776 A JP2019077776 A JP 2019077776A JP 2020177073 A JP2020177073 A JP 2020177073A
- Authority
- JP
- Japan
- Prior art keywords
- vehicle device
- drawn
- application
- tiles
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000015654 memory Effects 0.000 claims abstract description 66
- 230000001360 synchronised effect Effects 0.000 claims abstract description 39
- 230000008569 process Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K35/00—Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Controls And Circuits For Display Device (AREA)
- Instrument Panels (AREA)
Abstract
【課題】キャッシュメモリやバスへの負荷を低減することができる車両用装置、車両用装置の制御方法を提供する。【解決手段】実施形態の車両用装置1は、複数のCPUモジュール16と、複数のCPUモジュール16にそれぞれ割り当てられている複数のキャッシュメモリ17と、複数のキャッシュメモリ17を同期させるメモリ同期部(13、16)と、を備え、メモリ同期部は、キャッシュメモリ17に描画されるサーフェスを同期させるものであり、同期対象となるサーフェスを複数のタイルに分割するとともに、分割したタイルのうち描画が完了したタイルから順次同期させる。【選択図】図18
Description
本発明は、車両用装置、車両用装置の制御方法に関する。
従来、車両に設けられる表示器は、例えば特許文献1のように個別の装置によって制御されていた。
さて、近年では、車両に複数の表示器を設けたコックピットシステムの採用が広がりつつある。その場合、各表示器を個別の装置で制御すると、装置間での帯域の制限や同期の遅れなどによって、シームレスなユーザインターフェースが実現できなくなる可能性がある。そのため、各表示器の制御を1つの車両用装置に集約することによって、上記した帯域の制限や同期の遅れの解消が図られている。
しかしながら、各表示器の制御を1つの車両用装置に集約した結果、車両用装置のキャッシュメモリやバスへの負荷が増加してしまうという問題が新たに発生した。この問題は、表示器の大型化や高精細化が進むとさらに顕著になる。
また、例えば複数のコンテンツを表示する場合には、CPUモジュールやオペレーティングシステムを跨いでコンテンツを共有する必要があり、キャッシュメモリやバスへの負荷がさらに増加することが予想される。そのため、キャッシュメモリやバスへの負荷を低減することが強く求められている。
本発明の目的は、キャッシュメモリやバスへの負荷を低減することができる車両用装置、車両用装置の制御方法を提供することにある。
上記目的を達成するために、本発明では、車両用装置(1)は、複数のCPUモジュール(16)と、複数のCPUモジュールにそれぞれ割り当てられている複数のキャッシュメモリ(17)と、複数のキャッシュメモリを同期させるメモリ同期部(13、16)と、を備え、メモリ同期部は、キャッシュメモリに描画されるサーフェスを同期させるものであり、同期対象となるサーフェスを複数のタイルに分割するとともに、分割したタイルのうち描画が完了したタイルから順次同期させる。これにより、キャッシュメモリを同期させる処理が分散され、キャッシュメモリやバスへの負荷を低減することができる。
以下、まず、第1実施形態から第3実施形態で基本的な構成とユースケースならびにそこに生じる課題を解決するための手法について説明し、その後、第4実施形態および第5実施形態において、キャッシュメモリやバスへの負荷を低減する手法について説明する。なお、各実施形態において実質的に共通する部位には同一の符号を付して説明する。
(第1実施形態)
以下、第1実施形態について説明する。図1に示すように、車両用装置1は、例えば、メータディスプレイ2、センターディスプレイ3およびヘッドアップディスプレイ4の3つの表示器を備えるコックピットシステム5を構成している。
以下、第1実施形態について説明する。図1に示すように、車両用装置1は、例えば、メータディスプレイ2、センターディスプレイ3およびヘッドアップディスプレイ4の3つの表示器を備えるコックピットシステム5を構成している。
メータディスプレイ2は、例えば液晶ディスプレイや有機ELディスプレイで構成されており、ダッシュボードの運転者の正面付近に設けられるものを想定している。センターディスプレイ3は、例えば液晶ディスプレイや有機ELディスプレイで構成され、センターコンソール付近に設けられるものを想定している。
ヘッドアップディスプレイ4は、例えば液晶ディスプレイや有機ELディスプレイあるいはフロントウィンドに画像を投影する投影器で構成されており、ダッシュボード上の運転者の正面付近に設けられるものを想定している。ただし、表示器の数や配置あるいは構成は一例であり、これらに限定されない。
なお、図1では車両用装置1が複数の表示器に接続されている例を示しているが、後述するように、第1実施形態の車両用装置1は、1つのユーザインターフェースにおけるサーフェスを同期させることを目的としている。そのため、車両用装置1に接続される表示器は1つ以上であればよい。
この車両用装置1は、車両に設けられている幾つかの電子制御装置6(以下、ECU6)と通信可能に接続されている。なお、車両用装置1もECU6の1つとして考えることはできるものの、理解し易くするために、本明細書では車両用装置1とECU6とを分けている。
車両用装置1は、図2に示すように、CPU10、バスマスタ11、メインメモリ12、グラフィック処理ユニット13(以下、GPU13)、画像処理ユニット14(以下、IPU14)、通信部15などを備えている。
GPU13は、後述するように、アプリケーションプログラムから指示されたサーフェスを実際に描画する機能部である。なお、サーフェスとは、平易に言えば、ある瞬間に表示されているコンテンツ画像の元となる画像データである。IPU14は、描画されたサーフェスを各表示器に映像信号として出力する機能部である。
CPU10は、複数のコア10aを備えている。ここでは、一例としてコア10aの数は8個としている。これら8個のコア10aは、4個ずつにとりまとめられ、2つのCPUモジュール16AとCPUモジュール16Bに割り振られている。つまり、車両用装置1内には、機能的に独立して動作可能な複数のCPUモジュール16が設けられている。
また、CPUモジュール16Aは相対的にリアルタイム性が要求されるアプリケーション群22Aに割り当てられ、CPUモジュール16Bは相対的にリアルタイム性が要求されないアプリケーション群22Bに割り当てられている。以下、CPUモジュール16に共通する説明をする際にはAまたはBを付さず、単にCPUモジュール16と称する。
各CPUモジュール16およびGPU13にはそれぞれ専用のキャッシュメモリ17が設けられている。以下、CPUモジュール16Aに設けられているものを便宜的にキャッシュ17Aと称し、CPUモジュール16Bに設けられているものを便宜的にキャッシュ17Bと称し、GPU13に設けられているものを便宜的にキャッシュ17Gと称する。そして、各キャッシュメモリ17は、バス11aおよびバスマスタ11を介してメインメモリ12とIPU14に接続されており、相互にデータの送受信が可能に構成されている。
通信部15は、他のECU6との間の通信を行う。この通信部15は、例えばController Area Networkインターフェースで構成されている。なお、ECU6の種類によっては、例えばWifiのような無線通信方式、あるいは、USBのような有線通信方式を採用することもできる。
車両用装置1は、図3に示すように、CPU10上でオペレーティングシステム20(以下、OS20)が実行され、そのOS20上で複数のアプリケーションプログラム21(以下、アプリ21)が実行されている。OS20上で実行されるアプリ21としては、メータアプリ21a、ナビアプリ21b、安全アプリ21c、映像アプリ21d、HUDアプリ21eなどが設けられている。なお、HUDは、Head Up Displayの略である。また、各アプリ21は一例であり、OS20上で実行されるアプリ21はこれらに限定されない。
メータアプリ21aは、車両の速度や回転数あるいは警告などをユーザに報知するものであるとともに、主にメータディスプレイ2に表示されるサーフェスを描画する。例えば、メータアプリ21aは、図4に通常表示モードとして示すユーザインターフェース23のように、速度計M1や回転数計M2あるいは警告灯M3などのコンテンツを表示するためのサーフェスを描画する。
ただし、メータアプリ21aが描画したサーフェスは、センターディスプレイ3やヘッドアップディスプレイ4にも表示可能である。また、メータアプリ21aによって描画されるサーフェスは、例示した他のアプリ21によって描画されるサーフェスよりも、相対的にリアルタイム性が要求されるものとなっている。また、実際にはメータアプリ21aがGPU13に指示してサーフェスを描画させているものの、説明の簡略化のために、ここではメータアプリ21が描画すると表現している。これは、他のアプリ21についても同様である。
ナビアプリ21bは、ナビゲーション機能を実現するものであるとともに、主にセンターディスプレイ3に表示されるサーフェスを描画する。例えば、ナビアプリ21bは、図5に示すように、地図や車両の現在位置などを含むナビゲーション画面M4などのコンテンツを表示するためのサーフェスを描画する。ただし、ナビアプリ21bが描画したサーフェスは、例えば図4にナビ表示モードとして示すようにメータディスプレイ2に表示することもできるし、ヘッドアップディスプレイ4にも表示することもできる。
安全アプリ21cは、メニューの表示や運転支援用の各種の機能を実現するものであるとともに、主にセンターディスプレイ3に表示されるサーフェスを描画する。例えば、安全アプリ21cは、図5に示すように、対象となる機能やコンテンツを選択するための複数のアイコンM5などのコンテンツを表示するためのサーフェスを描画する。ただし、安全アプリ21cが描画したサーフェスは、例えば図4にメニュー表示モードとして示すようにメータディスプレイ2に表示することもできるし、ヘッドアップディスプレイ4にも表示することもできる。
HUDアプリ21eは、例えば速度や今後の進路などをユーザに報知するものであるとともに、主にヘッドアップディスプレイ4に表示されるサーフェスを描画する。例えば、HUDアプリ21eは、図6に示すように、現在の速度情報M6や時刻情報M7あるいは曲がり角までの距離や曲がる方向などを示す進路情報M8を表示するためのサーフェスを描画する。ただし、HUDアプリ21eが描画したサーフェスは、メータディスプレイ2やセンターディスプレイ3にも表示可能である。
これらの各アプリ21には、図7に示すように、サーフェスを描画するための物理面30が個別に割り当てられている。つまり、各アプリ21は、コンテンツの保持単位であるサーフェスを自身に割り当てられている物理面30に描画する描画部として機能する。また、各アプリ21は、詳細は後述するが、コンテンツの保持単位であるサーフェスを自身に割り当てられている物理面30に取り込んで同期させる同期部に相当する。
これらの物理面30は、キャッシュメモリ17やメインメモリ12上に、必要となるサーフェスを描画つまりは配置できる大きさで確保されている。なお、物理面30の大きさは必ずしも表示器の画素数と一致させる必要はない。これは、物理面30に描画されたサーフェスのうち必要なサーフェスが選択されて表示器に表示されるためである。
本実施形態では、メータアプリ21aには物理面30Aが割り当てられており、ナビアプリ21bには物理面30Bが割り当てられており、安全アプリ21cには物理面30Cが割り当てられており、映像アプリ21dには物理面30Dが割り当てられており、HUDアプリ21eには物理面30Eが割り当てられている。そして、各物理面30には、各アプリ21によって1つ以上のサーフェスが描画される。
例えば、物理面30Aには、メータアプリ21aによってサーフェスSA1〜SA3が描画される。同様に、物理面30Bには、ナビアプリ21bによってサーフェスSB1が描画される。物理面30Cには、安全アプリ21cによってサーフェスSC1、SC2が描画される。なお、図7では、説明の簡略化のために、安全アプリ21cによって描画される複数のサーフェスをまとめてサーフェスSC1としている。物理面30Dには、映像アプリ21によってサーフェスSD1が描画される。物理面30Eには、HUDアプリ21eによってサーフェスSE1〜SE3が描画される。なお、これらのサーフェスは一例である。
また、各表示器に表示されるコンテンツは、少なくとも1つがアニメーション動作するものとなっている。ここで、アニメーション動作とは、コンテンツを示す画像の位置や大きさが徐々に変化したり、画像が回転したり、スワイプ操作にともなってユーザインターフェース23が全体的に移動したり、画像が徐々にフェードインあるいはフェードアウトしたり、画像の色が変化したりするような表示態様である。
例えば、図4に示したように、速度計M1や回転数計M2あるいは地図やメニューなどは、表示モードや表示先の表示器によってその大きさや位置が変化するコンテンツである。ただし、アニメーション動作はこれらに限定されず、ある時点から連続的あるは断続的に表示態様が変化するものであればアニメーション動作に含まれる。
次に、上記した構成の作用について説明する。
上記したように、各物理面30は各アプリ21に個別に割り当てられており、その物理面30に各アプリ21が個別にサーフェスを描画している。このとき、各物理面30に描画されたサーフェスをIPU14で合成するという従来の手法で表示を行うと、表示されるコンテンツの同期ずれが生じるおそれがある。
上記したように、各物理面30は各アプリ21に個別に割り当てられており、その物理面30に各アプリ21が個別にサーフェスを描画している。このとき、各物理面30に描画されたサーフェスをIPU14で合成するという従来の手法で表示を行うと、表示されるコンテンツの同期ずれが生じるおそれがある。
これは、サーフェスを描画が完了するタイミングが各アプリ21で異なることがあるためである。ここで、従来の手法を用いて、図8に示す比較例:画面遷移のナビ表示モードにおいて速度計M1や回転数計M2を拡大表示するアニメーション動作をさせる場合を想定してみる。なお、図8では、コンテンツの符号は図示を省略している。
この場合、相対的に地図を縮小必要があることから、図8に比較例:シーケンスとして示すように、メータアプリ21aは、まず、更新するサーフェスの大きさや位置を演算し、その演算結果をナビアプリ21bに通知するとともに、更新後の大きさや位置に合わせたサーフェスを描画する。一方、ナビアプリ21bは、メータアプリ21aから通知を受け取ると、通知に基づいてサーフェスの更新後の大きさや位置を特定し、その大きさや位置となるように新たなサーフェスを描画つまりは更新する。
このとき、メータアプリ21a側でサーフェスの描画が先に完了したとすると、その時点でIPU14によってサーフェスが合成されて表示されることになる。ただし、ナビアプリ21b側ではサーフェスの描画が完了していないため、元のサーフェスがそのまま表示されることになる。その結果、図8に同期ずれ状態として示すように、速度計M1や回転数計M2とナビゲーション画面M4とが重なった状態となる。
そして、その後にナビアプリ21bでのサーフェスの描画が完了すると、図8に同期状態として示すように、各サーフェスが意図した通りの状態で表示されることになる。なお、図8に示した同期ずれは一例であり、例えば枠内にメニューを表示するような場合には、枠を移動させてもメニューが移動しないといった同期ずれが発生する可能性がある。
このように、従来の手法を用いた場合には、表示がずれるなど、異なる物理面30に描画されたサーフェスを同期させることができなかった。また、表示器に表示する際の同期がずれるため、ユーザが視認できてしまい、不具合感を抱かせる懸念もある。
そこで、車両用装置1では、以下のようにして、異なる物理面30に描画されるサーフェスを同期させている。なお、以下の処理はいずれのアプリ21によっても実施可能であるものの、ここでは、上記した図8の例と対比させて、メータアプリ21aが描画する速度計M1などのサーフェスと、ナビアプリ21bが描画するナビゲーション画面M4のサーフェスとを同期させる場合を例にして説明する。
メータアプリ21aは、図9に示す同期処理を実行しており、ステップS1において、上記した図7で示したように、自身に割り当てられている物理面30Aに、サーフェスSA1〜SA3を描画する。例えば、メータアプリ21aは、速度計M1を表示するためのサーフェスSA1、回転数計M2を表示するためのサーフェスSA2、警告灯M3を表示するためのサーフェスSA3を描画する。
そして、メータアプリ21aは、同期処理のステップS2において、他の物理面30に描画されたサーフェスを取り込む。この場合、メータアプリ21aは、図10に示すように、サーフェスSA1〜SA3を描画した物理面30Aに、ナビアプリ21bによって他の物理面30Bに描画されたサーフェスSB1を取り込む。なお、取り込んだ時点では、サーフェスSB1は、ナビアプリ21bが描画した大きさや形状となっている。
続いて、メータアプリ21aは、同期処理のステップS3において、自身が描画したサーフェスSA1〜SA3と取り込んだサーフェスSB1を含め、各サーフェスの位置や大きさあるいは変形量などを演算する。つまり、メータアプリ21aは、取り込んだサーフェスSB1をテクスチャーとして扱い、そのテクスチャーの位置や大きさあるいは変形量を演算することにより、擬似的に自身が描画したものとして処理する。
演算が終わると、メータアプリ21aは、同期処理のステップS4において、演算結果に従って自身の物理面30Aに各サーフェスを描画する。これにより、図10に示すように、物理面30Aには、メータアプリ21aが描画したサーフェスSA1〜SA3とナビアプリ21bが描画したサーフェスSB1とが、演算した大きさや位置に従って描画される。つまり、演算結果に従って各サーフェスが再描画あるいは再配置される。
このとき、他の物理面30Bに描画されていたサーフェスSB1は、物理面30Aに取り込まれた時点で物理面30Bからは切り離されている。このため、ナビアプリ21bの描画動作に関わらず、メータアプリ21a側でサーフェスSB1を適切な大きさや位置あるいは変形量で表示させることが可能な状態となっている。
そのため、メータアプリ21aは、同期処理のステップS5において、再描画あるいは再配置が完了した各サーフェスの表示を指示することにより、各サーフェスを適切な状態で表示することができるようになる。これは、アニメーション動作させた際、速度計M1や回転数計M2を拡大するにつれてナビゲーション画面M4が縮小されて、それらが重なることなくシームレスに表示を変更できることを意味している。
より具体的には、車両用装置1では、図11に実施例:シーケンスとして示すように、各アプリ21でそれぞれサーフェスを描画する。そして、他の物理面30に描画されたサーフェスを必要とするアプリ21、ここでは、メータアプリ21aは、ナビアプリ21bが描画したサーフェスを自身の物理面30に取り込み、取り込んだサーフェスの位置や大きさなどを演算して再描画する。
これにより、例えばメータアプリ21aが速度計M1や回転数計M2を拡大表示するようなアニメーション動作をさせる場合において、メータアプリ21a側で、そのアニメーション動作に対応するように異なる物理面30に描画されたサーフェスの大きさや位置などを制御することができる。従って、実施例:画面遷移として示すように、速度計M1や回転数計M2とナビゲーション画面M4とが重なることが防止される。すなわち、異なる物理面30に描画されたサーフェスを同期させることができる。なお、図11では、コンテンツの符号は図示を省略している。
以上説明した実施形態によれば、次のような効果を得ることができる。
車両用装置1は、複数のコンテンツを1つのユーザインターフェース23で提供可能なものであって、コンテンツの保持単位であるサーフェスを同期させる同期部を備えている。そして、同期部は、自身に割り当てられている物理面30とは異なる他の物理面30に描画されたサーフェスを取り込み、取り込んだサーフェスを自身が描画したサーフェスとして扱うことにより、自身が描画したサーフェスと他の物理面30に描画されたサーフェスとを同期させる。
車両用装置1は、複数のコンテンツを1つのユーザインターフェース23で提供可能なものであって、コンテンツの保持単位であるサーフェスを同期させる同期部を備えている。そして、同期部は、自身に割り当てられている物理面30とは異なる他の物理面30に描画されたサーフェスを取り込み、取り込んだサーフェスを自身が描画したサーフェスとして扱うことにより、自身が描画したサーフェスと他の物理面30に描画されたサーフェスとを同期させる。
これにより、異なる物理面30に描画されたサーフェスであっても、ユーザインターフェース23に表示する際には、その表示が更新されるタイミングを同期部が制御することができる。つまり、他の物理面30に描画されたサーフェスを共有することが可能になる。これにより、異なる物理面30に描画されたサーフェスを同期させることができる。より具体的には、自身が描画したサーフェスと他の物理面30に描画されたサーフェスとを同期させることができ、表示がずれるなど、ユーザが視認できてしまう状態を回避することができる。
また、車両用装置1の制御方法は、複数のコンテンツを1つのユーザインターフェース23で提供する際に、コンテンツの保持単位であるサーフェスを自身に割り当てられている物理面30に描画する工程と、自身に割り当てられている物理面30とは異なる他の物理面30に描画されたサーフェスを取り込む工程と、取り込んだサーフェスを自身が描画したサーフェスとして扱うことにより、自身が描画したサーフェスと他の物理面30に描画されたサーフェスとを同期させる工程と、を含んでいる。
このような車両用装置1の制御方法によっても、異なる物理面30に描画されたサーフェスを同期させることができ、自身が描画したサーフェスと他の物理面30に描画されたサーフェスとを同期させることができる。
また、車両用装置1では、コンテンツのうち少なくとも1つは、アニメーション動作するものである。コンテンツをアニメーション動作させる場合、元になるサーフェスが同期していないと、コンテンツの表示がずれたり重なって表示されたりするなど、ユーザが視認できるような不具合が生じる可能性がある。そこで、元になるサーフェスを同期させることにより、コンテンツの位置や大きさを変化させた場合であっても、上記した不具合が生じることを防止できる。
車両用装置1は、複数のアプリ21が実行されるものであり、同期部は、アプリ21として実装されており、自身が描画したサーフェスと、他のアプリ21によって他の物理面30に描画されたサーフェスとを同期させる。これにより、それぞれのアプリ21に過度に負荷が掛かることを抑制できる。
そのため、実施形態のメータアプリ21aのように、他の物理面30に描画されるサーフェスよりも相対的にリアルタイム性が必要とされるサーフェスを描画するアプリ21であっても、必要とされる速度計M1や回転数計M2あるいは警告灯M3の表示を遅延させることなく、他の物理面30に描画されたサーフェスと同期させることができる。
車両用装置1は、複数のCPUモジュール16を備えており、同期部は、自身が描画したサーフェスと、他のCPUモジュール16側に設けられている他の物理面30に描画されたサーフェスとを同期させる。この場合、物理面30はCPUモジュール16ごとに管理されるため、メータアプリ21aがサーフェスを描画する物理面30Aと、ナビアプリ21bがサーフェスを描画する物理面30Bとは、CPUモジュール16を跨いで共有されることになる。このような構成によっても、上記した制御方法を採用することにより、異なる物理面30に描画されたサーフェスを同期させることができる。
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態では、第1実施形態とは異なる車両用装置1の構成例について説明する。なお、説明の簡略化のために、車両用装置1やOS20あるいはアプリ21には共通する符号を付して説明する。また、同期制御の方法などは、第1実施形態と共通する。
次に、第2実施形態について説明する。第2実施形態では、第1実施形態とは異なる車両用装置1の構成例について説明する。なお、説明の簡略化のために、車両用装置1やOS20あるいはアプリ21には共通する符号を付して説明する。また、同期制御の方法などは、第1実施形態と共通する。
<第1の構成例>
第1の構成例では、車両用装置1は、図12に示すように、CPU10上でハイパーバイザ40が実行され、そのハイパーバイザ40上で複数例えば2つのOS20AおよびOS20Bが実行される。このとき、OS20AはCPUモジュール16Aに割り当てられており、OS20BはCPUモジュール16Bに割り当てられている。本実施形態では、OS20Aは相対的にリアルタイム性が高い処理を担当し、OS20Bは相対的にリアルタイム性が低い処理を担当するものを想定している。
第1の構成例では、車両用装置1は、図12に示すように、CPU10上でハイパーバイザ40が実行され、そのハイパーバイザ40上で複数例えば2つのOS20AおよびOS20Bが実行される。このとき、OS20AはCPUモジュール16Aに割り当てられており、OS20BはCPUモジュール16Bに割り当てられている。本実施形態では、OS20Aは相対的にリアルタイム性が高い処理を担当し、OS20Bは相対的にリアルタイム性が低い処理を担当するものを想定している。
そのため、OS20Aでは、リアルタイム性が要求される例えばメータアプリ21aが実行され、OS20Bでは、リアルタイム性がOS20Aほど要求されないナビアプリ21bや安全アプリ21c、映像アプリ21dやHUDアプリ21eなどが実行される。なお、OS20の種類やアプリ21ケーションの配置は一例であり、これらに限定されない。
この場合、物理面30はOS20ごとに管理されるため、メータアプリ21aがサーフェスを描画する物理面30Aと、ナビアプリ21bがサーフェスを描画する物理面30Bとは、CPUモジュール16およびOS20を跨ぐことになる。換言すると、同期部は、CPUモジュール16およびOS20を跨いでサーフェスを共有する必要がある。このような場合であっても、第1実施形態で説明した制御方法を採用することにより、異なる物理面30、ここでは、異なるCPUモジュール16側の異なるOS20側の物理面30に描画されたサーフェスを共有して同期させることができる。
また、第1実施形態では同期部つまりは自身でもサーフェスを描画するアプリ21により各サーフェスを同期部として用いる構成を例示したが、同期専用の同期アプリ21fを実装し、サーフェスの描画とサーフェスの共有とを別々に処理する構成とすることもできる。換言すると、コンテンツの保持単位であるサーフェスを自身に割り当てられている物理面30に描画する同期部と、自身に割り当てられている物理面30に他の物理面30に描画されたサーフェスを取り込み、取り込んだサーフェスの位置や大きさあるいは変形量を演算する同期部としてのアプリ21fを備える構成とすることもできる。このような構成によっても、同期部によって描画されたサーフェスを同期部で取り込むことにより、異なる物理面30に描画されたサーフェスを同期させることができる。この同期アプリ21fは、全ての表示器を対象とする構成とすることもできるし、各表示器に個別に設ける構成とすることもできる。
なお、ハイパーバイザ40は、OS20Aの機能として実行される構成とすることもできる。すなわち、CPU10上でOS20Aを実行し、そのOS20の機能としてハイパーバイザ40を動作させ、そのハイパーバイザ40上でOS20Bを実行する構成とすることもできる。
<第2の構成例>
第2の構成例では、車両用装置1は、図13に示すように、複数のCPU10を備え、各CPU10上でそれぞれOS20AおよびOS20Bが実行される。この場合、物理面30はCPU10ごとに管理されるため、メータアプリ21aがサーフェスを描画する物理面30Aと、ナビアプリ21bがサーフェスを描画する物理面30Bとは、CPU10を跨ぐことになる。
第2の構成例では、車両用装置1は、図13に示すように、複数のCPU10を備え、各CPU10上でそれぞれOS20AおよびOS20Bが実行される。この場合、物理面30はCPU10ごとに管理されるため、メータアプリ21aがサーフェスを描画する物理面30Aと、ナビアプリ21bがサーフェスを描画する物理面30Bとは、CPU10を跨ぐことになる。
換言すると、同期部は、CPU10を跨いでサーフェスを共有する必要がある。このような場合であっても、第1実施形態で説明した制御方法を採用することにより、異なる物理面30、ここでは、異なるCPUモジュール16側の物理面30に描画されたサーフェスを共有して同期させることができる。
(第3実施形態)
次に、第3実施形態について説明する。第3実施形態では、車両用装置1とECU6との間でサーフェスを同期させる例について説明する。なお、説明の簡略化のために、車両用装置1やOS20あるいはアプリ21には共通する符号を付して説明する。また、車両用装置1の構成は第1実施形態や第2実施形態と共通し、同期制御の方法は第1実施形態と共通するものを採用することができる。
次に、第3実施形態について説明する。第3実施形態では、車両用装置1とECU6との間でサーフェスを同期させる例について説明する。なお、説明の簡略化のために、車両用装置1やOS20あるいはアプリ21には共通する符号を付して説明する。また、車両用装置1の構成は第1実施形態や第2実施形態と共通し、同期制御の方法は第1実施形態と共通するものを採用することができる。
第3実施形態では、図14に示すように、車両用装置1は、他のECU6に通信可能に接続されるものであり、自身の側で同期部によって物理面30に描画されたサーフェスと、ECU6側の他の物理面30に描画されたサーフェスとを、第1実施形態と同様の制御方法を用いて同期させる。
具体的には、車両用装置1は、上記した図9の処理に従って、例えばメータアプリ21aであれば、物理面30Fに描画されたサーフェスを自身の物理面30Aに取り込み、位置や大きさあるいは変形量を演算し、演算結果に基づいて各サーフェスを描画し、その後に表示することで、自身が物理面30Aに描画したサーフェスと、異なる物理面30Fに描画されたサーフェスを同期させる。
このとき、車両用装置1は、ECU6側の物理面30Fに描画されたサーフェスを、個別にコネクションを貼って取り込む構成とすることができる。これにより、必要となるサーフェスを個別に取り込むことが可能になり、異なる物理面30に描画されたサーフェスを同期させることができる。
あるいは、車両用装置1は、ECU6側の物理面30Fに描画された複数のサーフェスをECU6側でまとめたサーフェス群SGを一括して取り込むとともに、取り込んだサーフェス群SGを例えばメータアプリ21aに割り当てられている物理面30Aに個別に分配するアプリ21として分配部21gを設ける構成とすることもできる。
これにより、サーフェスを取り込む処理を簡略化しつつ、また、車両用装置1とECU6との間の通信量を削減しつつ、異なる物理面30に描画されたサーフェスを同期させることができる。なお、分配部21gは、ハードウェアで構成することもできる。
(第4実施形態)
次に、第4実施形態について説明する。第4実施形態および後述する第5実施形態では、キャッシュメモリやバスへの負荷を低減する手法について説明する。なお、車両用装置1の構成は第1実施形態から第3実施形態と共通するため、図1から図15も必要に応じて参照しながら説明する。
次に、第4実施形態について説明する。第4実施形態および後述する第5実施形態では、キャッシュメモリやバスへの負荷を低減する手法について説明する。なお、車両用装置1の構成は第1実施形態から第3実施形態と共通するため、図1から図15も必要に応じて参照しながら説明する。
図1や図12あるいは図13に示したように、車両用装置1は、複数のCPUモジュール16を備えている。各CPUモジュール16には、それぞれ個別にキャッシュ17が設けられている。この車両用装置1は、図2に示した電気的構成を備えているとともに、各アプリ21は、図7に示したように個別の物理面30にサーフェスをそれぞれ描画する。この物理面30は、キャッシュ17またはメインメモリ12に設けられている。
まず、CPUモジュール16B側で描画されたサーフェスを、CPUモジュール16A側で共有する場合を想定し、サーフェスを共有する際の基本的な流れについて説明する。図16に示すように、CPUモジュール16Bは、共有されるサーフェスを実際に描画するための描画要求をGPU13に出力する。この描画要求は、図17に示す矢印F1のように、CPUモジュールBからGPU13に対して出力される。なお、これらに先だって、CPUモジュール16AからCPUモジュール16Bに対してサーフェスを共有する旨の通知が行われている。
描画要求を受けたGPU13は、図17に示す矢印F2のように、自身のキャッシュ17Gにサーフェスを描画する。このとき、GPU13は、キャッシュ17Gに乗らなかった分については、図17に示す矢印F3のように随時メインメモリ12へライトバックする。
描画が完了すると、図16に示すように、GPU13からCPUモジュールBに対して描画完了が通知される。ただし、従来の描画手法では、サーフェス全体の描画が完了した時点で描画完了が通知されていた。
さて、描画完了の通知を受けたCPUモジュールBは、サーフェスを共有するための共有要求をGPU13に出力する。以下、共有要求をreqとも示す。この共有要求は、図17に示す矢印F4のように、CPUモジュールB側からGPU13に対して出力される。
共有要求を受けたGPU13は、対象となるサーフェスをメインメモリ12にライトバックする。以下、ライトバックをwbとも示す。このとき、サーフェスがキャッシュ17G上に配置されていれば、図17に示す矢印F5のように、キャッシュ17Gからメインメモリ12へのライトバックが行われる。
その後、図16に示すように、メインメモリからCPUモジュールA側へのスヌープが行われる。以下、スヌープをsnとも示す。このスヌープは、図17に示す矢印F6のように、メインメモリ12からCPUモジュールAのキャッシュ17Aに対して行われる。これにより、各CPUモジュール16に設けられているキャッシュ間で共有すべきサーフェスが同期される。
ところで、図17に矢印F4にて示す共有要求、矢印F5にて示すライトバック、および矢印F6にて示すスヌープは、サーフェスを共有するごとに発生する。そのため、サーフェスを共有するごとにバス11aに負荷が掛かってレイテンシが大きくなる。
また、上記した従来の描画手法の場合には、サーフェス全体を描画したタイミングで共有要求を出力している。そのため、図16に負荷集中期間として示すように、負荷がそのタイミングに集中するとともに、サーフェス全体についてスヌープが必要になるため、1回のスヌープが完了するまでに掛かる期間が長くなる。その結果、リアルタイム性を必要とするメータディスプレイへの表示などがスムーズに行われなくなるおそれがある。以下、負荷集中期間を便宜的にlpとも示す。
そこで、車両用装置1では、以下のようにしてバス負荷の低減を図っている。なお、以下では、説明の簡略化のために車両用装置1を主体にして説明するが、これらの処理は、CPUモジュール16とGPU13とによって協同して行われるものである。つまり、本実施形態の場合、CPUモジュール16とGPU13は、複数のキャッシュ17を同期させるメモリ同期部として機能する。より詳細には、CPUモジュール16、OS20、アプリ21、あるいはCPUモジュール16側から指示を受けたGPU13などによりメモリ同期部を構成することができる。
車両用装置1は、図18に示す処理を実行しており、まず、共有要求を出力する。具体的には、図19に実施例として示すように、CPUモジュール16BからGPU13に対して共有要求が出力される。この共有要求は、次に描画要求されるサーフェスが共有されるものであることをGPU13に通知するものである。
続いて、車両用装置1は、図18のステップS12において、サーフェスを実際に描画する描画要求を出力する。この場合、図19に示すように、CPUモジュール16BからGPU13に対して描画要求が出力される。
続いて、車両用装置1は、図18のステップS13において、サーフェスを複数のタイルに分割する。この場合、車両用装置1は、図20に示すように、1つのサーフェスを例えばT(0,0)からT(X,Y)までの二次元配列の複数のタイルに分割する。そして、車両用装置1は、図18のステップS14において、描画が完了したタイルから順次同期させる。
つまり、車両用装置1は、タイルを順次メインメモリ12にライトバックすることにより、共有されるサーフェスをメインメモリ12に配置して同期可能にしている。換言すると、共有されるサーフェスは、非キャッシュとされている。なお、共有されないサーフェスは、キャッシュ17に配置されることになる。
このとき、車両用装置1は、例えば図20に矢印にて示す経路のように、T(0,0)からT(1、0)のようにT(X,0)に向かう経路でタイルを同期させた後、T(1,0)からT(1、Y)に向かう経路で同期させ、最終的にT(0,Y)からT(X、Y)に向かう経路で、サーフェス内のタイルを横方向で順次同期させている。すなわち、車両用装置1は、同一のタイルを重複しない経路で各タイルを順次同期させている。なお、描画が完了していないタイルは飛ばされることになる。
そして、車両用装置1は、図18のステップS15において、全てのタイルを同期したか否かを判定する。車両用装置1は、全てのタイルを同期していない場合には、ステップS15がNOとなり、未だ同期されていないタイルを同期させる。この場合、既に同期したタイルは飛ばされることになる。
この場合、図19に示すように、描画が完了したタイルから順次メインメモリ12にライトバックされ、CPUモジュール16A側にスヌープされる。換言すると、上記した図16の従来の描画手法とは異なり、1つのサーフェスに対するライトバックとスヌープが、複数回に分散して実行される。また、タイルごとにライトバックされることから、1回のスヌープが完了するまでの期間も従来の描画手法よりも短くなる。
これにより、キャッシュ17を同期させる際のバス負荷を低減することができる。つまり、車両用装置1および制御方法によれば、バス負荷を分散させることができるとともに、1回のスヌープが完了するまでに掛かる期間を短縮することができる。従って、リアルタイム性を必要とするメータディスプレイへの表示などをスムーズに行うことができるようになる。
以上説明した車両用装置1によれば、次のような効果を得ることができる。
車両用装置1は、複数のCPUモジュール16と、複数のCPUモジュール16にそれぞれ割り当てられている複数のキャッシ17と、本実施形態ではCPUモジュール16とGPU13とによって構成され、複数のキャッシュ17を同期させるメモリ同期部と、を備えている。そして、メモリ同期部は、キャッシュ17に描画されるサーフェスを同期させるものであり、同期対象となるサーフェスを複数のタイルに分割するとともに、分割したタイルのうち描画が完了したタイルから順次同期させる。
車両用装置1は、複数のCPUモジュール16と、複数のCPUモジュール16にそれぞれ割り当てられている複数のキャッシ17と、本実施形態ではCPUモジュール16とGPU13とによって構成され、複数のキャッシュ17を同期させるメモリ同期部と、を備えている。そして、メモリ同期部は、キャッシュ17に描画されるサーフェスを同期させるものであり、同期対象となるサーフェスを複数のタイルに分割するとともに、分割したタイルのうち描画が完了したタイルから順次同期させる。
これにより、キャッシュ17を同期させる際のバス負荷を低減することができる。また、バス負荷を分散させることができるとともに、1回のスヌープが完了するまでに掛かる期間を短縮することができる。従って、キャッシュ17やバス11aへの負荷を低減することができる。また、リアルタイム性を必要とするメータディスプレイへの表示などをスムーズに行うことができるようになる。
また、CPUモジュール16にそれぞれ割り当てられている複数のキャッシュ17に描画されたサーフェスを複数のタイルに分割する処理と、分割したタイルのうち描画が完了したタイルから順次同期させる処理と、を含む車両用装置1の制御方法によっても、同様に、キャッシュ17やバス11aへの負荷を低減することができる。
車両用装置1は、単独のCPUモジュール16が利用するサーフェスについてはキャッシュ17に配置する一方、他のCPUモジュール16と共有されるサーフェスについてはメインメモリ12に配置する。これにより、単独で利用するサーフェスについては高速に描画することができるとともに、共有するサーフェスについては他のCPUモジュールから利用することができる。従って、複数のコンテンツを1つのユーザインターフェースで提供する際などに有意である。
車両用装置1は、サーフェスを矩形状のタイルに分割し、同一のタイルと重複しない経路で順次同期させる。より詳細には、車両用装置1は、同期が完了しているタイルを重複せずに、サーフェス内の全てのタイルを同期させている。これにより、無駄な同期処理つまりはバス負荷が発生することを防止できる。
車両用装置1は、複数のCPUモジュール16上でそれぞれOS20が実行される。つまり、車両用装置1の場合、OS20を跨いでサーフェスを共有している。これにより、リアルタイム性やマルチメディア性能によってOS20を分けて実装する場合であっても、サーフェスを好適に共有することができる。
車両用装置1は、複数の表示器への表示を制御する。この場合、各表示器において、異なるアプリ21や異なるOS20あるいは異なるCPUモジュール16側で描画されたサーフェスが必要になることが想定される。このような場合であっても、車両用装置1または上記した制御方法を採用することにより、キャッシュ17やバス11aへの負荷を低減することができることから、シームレス且つスムーズにサーフェスを共有することができる。
また、第4実施形態および以下に説明する第5実施形態の構成および手法は、後述する第6実施形態の構成および手法と組み合わせて採用することができる。すなわち、本実施形態のバス負荷を分散させる構成と、後述するバス負荷そのものを低減させる構成とは、互いに組み合わせることができる。
また、第4実施形態および以下に説明する第5実施形態の構成および手法は、後述する第6実施形態の構成および手法と組み合わせて採用することができる。すなわち、本実施形態のバス負荷を分散させる構成と、後述するバス負荷そのものを低減させる構成とは、互いに組み合わせることができる。
(第5実施形態)
以下、第5実施形態について説明する。第5実施形態では、タイルを同期させる際の他の経路について説明する。
以下、第5実施形態について説明する。第5実施形態では、タイルを同期させる際の他の経路について説明する。
車両用装置1は、T(0,0)からT(X,Y)までの二次元配列の複数のタイルに分割する場合、例えば図21に矢印にて示す経路のように、T(0,0)からT(X,0)に向かう経路でタイルを同期させた後、T(X,1)からT(0、1)に向かう経路でタイルを同期させ、その後、T(0,2)からT(X、2)に向かう経路でタイルを同期させるといったように、サーフェス内を横方向に往復する経路でタイルを同期させることができる。このような経路であっても、同一のタイルと重複しない経路で順次同期させることができる。
また、車両用装置1は、T(0,0)からT(X,Y)までの二次元配列の複数のタイルに分割する場合、例えば図22に矢印にて示す経路のように、T(0,0)からT(0,Y)に向かう経路でタイルを同期させた後、T(1,0)からT(1、Y)に向かう経路でタイルを同期させ、その後、T(0,2)からT(X、2)に向かう経路でタイルを同期させるといったように、サーフェス内を縦方向に向かう経路でタイルを同期させることができる。このような経路であっても、同一のタイルと重複しない経路で順次同期させることができる。
また、車両用装置1は、T(0,0)からT(X,Y)までの二次元配列の複数のタイルに分割する場合、例えば図23に矢印にて示す経路のように、T(0,0)からT(0,Y)に向かう経路でタイルを同期させた後、T(1,Y)からT(1、0)に向かう経路でタイルを同期させ、その後、T(2,0)からT(2、Y)に向かう経路でタイルを同期させるといったように、サーフェス内を縦方向に往復する経路でタイルを同期させることができる。このような経路であっても、同一のタイルと重複しない経路で順次同期させることができる。
また、車両用装置1は、T(0,0)からT(X,Y)までの二次元配列の複数のタイルに分割する場合、例えば図24に矢印にて示す経路のように、T(0,0)からT(X,0)に向かう経路でタイルを同期させた後、T(X、Y)に向かう経路でタイルを同期させ、その後、T(0,Y)に向かう経路でタイルを同期させるといったように、サーフェス内を外縁部から中心に向かって回り込む経路でタイルを同期させることができる。このような経路であっても、同一のタイルと重複しない経路で順次同期させることができる。これとは逆に、サーフェスの中心から外縁に向かって回り込む経路でタイルを同期させることもできる。
(第6実施形態)
次に、第6実施形態について説明する。第6実施形態では、キャッシュメモリやバスへの負荷を低減するための手法であって、第4実施形態や第5実施形態とは異なる手法について説明する。なお、車両用装置1の構成は第1実施形態から第3実施形態と共通するため、図1から図15も必要に応じて参照しながら説明する。また、バス負荷については第4実施形態と共通するため、図17等も参照しながら説明する。
次に、第6実施形態について説明する。第6実施形態では、キャッシュメモリやバスへの負荷を低減するための手法であって、第4実施形態や第5実施形態とは異なる手法について説明する。なお、車両用装置1の構成は第1実施形態から第3実施形態と共通するため、図1から図15も必要に応じて参照しながら説明する。また、バス負荷については第4実施形態と共通するため、図17等も参照しながら説明する。
図2や図12あるいは図13に示したように、車両用装置1は、複数のCPUモジュール16を備えている。また、車両用装置1は、図12あるいは図13に示したように複数のOS20が実行される。各CPUモジュール16には、それぞれ個別にキャッシュ17が設けられている。この車両用装置1は、図2に示した電気的構成を備えているとともに、各アプリ21は、図7に示したように個別の物理面30にサーフェスをそれぞれ描画する。この物理面30は、キャッシュ17またはメインメモリ12に設けられている。
例えば物理面30Aに描画されたサーフェスSA1〜SA3は、図25に示すように、フレームバッファ50に配置され、その後、表示器に出力される。このフレームバッファ50は、各サーフェスをXYの二次元座標系を元に合成したものである。そのため、このフレームバッファに配置されたサーフェスが表示されることで、各コンテンツがユーザに視認可能に提供されることになる。このフレームバッファ50は、例えばメインメモリ上に設けられている。また、フレームバッファ50は、各表示器にそれぞれ個別の領域として設けられている。
さて、上記した第4実施形態の図17に示したように、CPUモジュール16やOS20を跨いでサーフェスを共有する際には、キャッシュ17を同期させるためにバス負荷が発生する。換言すると、CPUモジュール16やOS20を跨がないサーフェスについては、メインメモリ12へのライトバックやキャッシュ17へのスヌープが不要になると考えられる。
そこで、車両用装置1は、以下のようにして不要なライトバックやスヌープが発生しないようにしている。具体的には、車両用装置1は、図26に示す領域配置処理を実行し、ステップS21において、例えば図25に示す共有領域51を特定する。図25の場合、車両用装置1は、フレームバッファ50の全体を共有領域51として特定している。この特定は、本実施形態の場合、CPUモジュール16によって行われる。
そして、車両用装置1は、図26のステップS22において、特定した共有領域51を同期させている。この場合、車両用装置1は、フレームバッファ50の全体が複数のCPUモジュール16によって共有されるものとして、メインメモリ12に配置している。これにより、フレームバッファ50の全体を共有することができる。
この配置は、CPUモジュール16およびGPU13により行われる。すなわち、CPUモジュール16およびGPU13は、配置部を構成する。より詳細には、CPUモジュール16、OS20、アプリ21、あるいはCPUモジュール16側から指示を受けたGPU13などにより配置部を構成することができる。
これにより、フレームバッファ50に配置されたサーフェスについては、他のCPUモジュール16側へのライトバックやスヌープが行われないことから、不要なバス負荷が発生することを防止することができる。従って、キャッシュメモリやバスへの負荷を低減することができる。
以上説明した車両用装置1およびその制御方法によれば、次のような効果を得ることができる。
車両用装置1は、複数のCPUモジュール16と、複数のCPUモジュール16に割り当てられているキャッシュ17と、複数のCPUモジュール16で共有される共有領域51を特定する特定部としてのCPUモジュール16と、特定部で特定された共有領域51をメインメモリ12に配置する領域配置部としてのCPUモジュール16およびGPU13とを備えている。
車両用装置1は、複数のCPUモジュール16と、複数のCPUモジュール16に割り当てられているキャッシュ17と、複数のCPUモジュール16で共有される共有領域51を特定する特定部としてのCPUモジュール16と、特定部で特定された共有領域51をメインメモリ12に配置する領域配置部としてのCPUモジュール16およびGPU13とを備えている。
これにより、共有が必要となる共有領域51についてはライトバックやスヌープが発生するものの、共有が必要ない領域についてはライトバックやスヌープが発生せず、不要なバス負荷が発生することを防止できる。
また、複数のCPUモジュール16を有する車両用装置1において、複数のCPUモジュール16で共有される共有領域51を特定する処理と、特定した共有領域51をメインメモリ12に配置する処理とを含む制御方法によっても、キャッシュメモリやバスへの負荷を低減することができる。
また、車両用装置1は、フレームバッファ50全体を共有領域51として特定している。これにより、ユーザインターフェースを提供する際に必要な全てのサーフェスを共有することができる。
ところで、ユーザインターフェースを提供する場合には、必ずしも画面全体を常に更新することが必要ない場合がある。そして、画面の更新が必要ない部分については共有しないようにすれば、バス負荷をさらに低減することができると考えられる。
そのため、車両用装置1は、例えば図27に示すように、フレームバッファ50の一部を共有領域51として特定する構成とすることもできる。この場合、車両用装置1は、フレームバッファ50内に矩形の領域を設定し、その領域を共有領域51として特定する構成とすることができる。あるいは、車両用装置1は、フレームバッファ50内にピクセルマップで領域を設定し、その領域を共有領域51として特定する構成とすることができる。このような構成によっても、不要なライトバックやスヌープを削減でき、キャッシュメモリやバスへの負荷を低減することができる。
また、車両用装置1は、例えば図28に示すように、1つのサーフェスを共有領域51として特定する構成とすることもできる。また、車両用装置1は、例えば図29に示すように、サーフェス内に矩形の領域を設定し、その領域を共有領域51として特定する構成とすることができる。また、車両用装置1は、例えば図30に示すように、サーフェス内にピクセルマップで領域を設定し、その領域を共有領域51として特定する構成とすることができる。このような構成によっても、不要なライトバックやスヌープを削減でき、キャッシュメモリやバスへの負荷を低減することができる。
また、第6実施形態の構成および手法は、上記した第4実施形態および第5実施形態の構成および手法と組み合わせて採用することができる。すなわち、本実施形態のバス負荷そのものを低減させる構成と上記したバス負荷を分散させる構成とは、互いに組み合わせることができる。
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に含まれるものである。
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
図面中、1は車両用装置、2はメータディスプレイ(表示器)、3はセンターディスプレイ(表示器)、4はヘッドアップディスプレイ(表示器)、6は電子制御装置(他の装置)、13はGPU(メモリ同期部、特定部、領域配置部)、16A、16BはCPUモジュール(メモリ同期部、特定部、領域配置部)、20A、20Bはオペレーティングシステム、21はアプリ(アプリケーションプログラム)、21aはメータアプリ(同期部)、21bはナビアプリ(同期部)、21cは安全アプリ(同期部)、21dは映像アプリ(同期部)、21eはHUDアプリ(同期部)、21fは同期アプリ(同期部)、21gは分配部、23はユーザインターフェース、30A〜30Fは物理面、M1〜M8はコンテンツ、SA1〜SA3、SB1、SC1、SD1、SE1はサーフェス、SGはサーフェス群を示す。
Claims (6)
- 複数のCPUモジュール(16)と、
複数の前記CPUモジュールにそれぞれ割り当てられている複数のキャッシュメモリ(17)と、
複数の前記キャッシュメモリを同期させるメモリ同期部(13、16)と、を備え、
前記メモリ同期部は、前記キャッシュメモリに描画されるサーフェスを同期させるものであり、同期対象となるサーフェスを複数のタイルに分割するとともに、分割したタイルのうち描画が完了したタイルから順次同期させる車両用装置。 - 単独の前記CPUモジュールが利用するサーフェスについては前記キャッシュメモリに配置する一方、他の前記CPUモジュールと共有されるサーフェスについてはメインメモリ(12)に配置する請求項1記載の車両用装置。
- 前記メモリ同期部は、同一のタイルと重複しない経路で順次同期させる請求項1または2記載の車両用装置。
- 複数の前記CPUモジュール上でそれぞれオペレーティングシステム(20)が実行される請求項1から3のいずれか一項記載の車両用装置。
- 複数の表示器(2、3、4)への表示を制御する請求項1から4のいずれか一項記載の車両用装置。
- 車両用装置(1)に設けられている複数のキャッシュメモリ(17)を同期させる制御方法であって、
CPUモジュール(16)にそれぞれ割り当てられている複数の前記キャッシュメモリ(17)に描画されたサーフェスを複数のタイルに分割する処理と、
分割したタイルのうち描画が完了したタイルから順次同期させる処理と、
を含む車両用装置の制御方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019077776A JP2020177073A (ja) | 2019-04-16 | 2019-04-16 | 車両用装置、車両用装置の制御方法 |
DE112020002011.8T DE112020002011T5 (de) | 2019-04-16 | 2020-03-30 | Fahrzeugvorrichtung und steuerverfahren für fahrzeugvorrichtung |
CN202080028245.9A CN113711300A (zh) | 2019-04-16 | 2020-03-30 | 车辆用装置、车辆用装置的控制方法 |
PCT/JP2020/014558 WO2020213380A1 (ja) | 2019-04-16 | 2020-03-30 | 車両用装置、車両用装置の制御方法 |
US17/498,885 US11640358B2 (en) | 2019-04-16 | 2021-10-12 | Vehicular device and control method for vehicular device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019077776A JP2020177073A (ja) | 2019-04-16 | 2019-04-16 | 車両用装置、車両用装置の制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020177073A true JP2020177073A (ja) | 2020-10-29 |
Family
ID=72837126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019077776A Pending JP2020177073A (ja) | 2019-04-16 | 2019-04-16 | 車両用装置、車両用装置の制御方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11640358B2 (ja) |
JP (1) | JP2020177073A (ja) |
CN (1) | CN113711300A (ja) |
DE (1) | DE112020002011T5 (ja) |
WO (1) | WO2020213380A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020177074A (ja) * | 2019-04-16 | 2020-10-29 | 株式会社デンソー | 車両用装置、車両用装置の制御方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010026297A (ja) * | 2008-07-22 | 2010-02-04 | Nec Corp | 画像合成システム、表示制御方法、描画処理装置、及び制御プログラム |
WO2012107975A1 (ja) * | 2011-02-09 | 2012-08-16 | パナソニック株式会社 | 仮想計算機表示装置、仮想計算機表示方法、仮想計算機表示プログラム、記録媒体、及び集積回路 |
US20180286053A1 (en) * | 2017-04-01 | 2018-10-04 | Intel Corporation | Decoupled multi-layer render frequency |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3258300B2 (ja) | 1999-09-03 | 2002-02-18 | 松下電器産業株式会社 | Dma転送装置および画像復号装置 |
JP5229727B2 (ja) * | 2008-09-01 | 2013-07-03 | 日本電気株式会社 | マルチ画像表示システム、画像処理方法及びプログラム |
JP2010190765A (ja) * | 2009-02-19 | 2010-09-02 | Hitachi Ltd | ナビゲーション装置およびナビゲーション装置の表示方法 |
US9373182B2 (en) | 2012-08-17 | 2016-06-21 | Intel Corporation | Memory sharing via a unified memory architecture |
US9378572B2 (en) | 2012-08-17 | 2016-06-28 | Intel Corporation | Shared virtual memory |
JP6335335B2 (ja) | 2014-06-30 | 2018-05-30 | インテル・コーポレーション | タイルベースのレンダリングgpuアーキテクチャのための任意のタイル形状を有する適応可能なパーティションメカニズム |
DE102015218464A1 (de) * | 2014-09-26 | 2016-03-31 | Yazaki Corporation | Fahrzeuganzeigevorrichtung |
JP2016097928A (ja) | 2014-11-26 | 2016-05-30 | 株式会社デンソー | 車両用表示制御装置 |
JP6539057B2 (ja) * | 2015-02-06 | 2019-07-03 | 矢崎総業株式会社 | 車両用表示装置 |
JP2017030600A (ja) * | 2015-08-03 | 2017-02-09 | 日本精機株式会社 | ヘッドアップディスプレイ装置 |
GB2543064B (en) * | 2015-10-06 | 2018-08-22 | Displaylink Uk Ltd | Managing display data |
JP2017191145A (ja) | 2016-04-11 | 2017-10-19 | キヤノン株式会社 | 画像処理装置、画像処理方法、およびプログラム |
US10402147B2 (en) * | 2016-11-09 | 2019-09-03 | Toyota Motor Engineering & Manufacturing North America, Inc. | Vehicle multimedia display system |
JP6485519B1 (ja) | 2017-10-24 | 2019-03-20 | 横浜ゴム株式会社 | ゴム組成物、ヘテロ環変性グリセリン脂肪酸エステル及びヘテロ環変性グリセリン脂肪酸エステルの製造方法 |
US10997686B2 (en) * | 2019-01-09 | 2021-05-04 | Intel Corporation | Workload scheduling and distribution on a distributed graphics device |
-
2019
- 2019-04-16 JP JP2019077776A patent/JP2020177073A/ja active Pending
-
2020
- 2020-03-30 CN CN202080028245.9A patent/CN113711300A/zh active Pending
- 2020-03-30 DE DE112020002011.8T patent/DE112020002011T5/de active Pending
- 2020-03-30 WO PCT/JP2020/014558 patent/WO2020213380A1/ja active Application Filing
-
2021
- 2021-10-12 US US17/498,885 patent/US11640358B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010026297A (ja) * | 2008-07-22 | 2010-02-04 | Nec Corp | 画像合成システム、表示制御方法、描画処理装置、及び制御プログラム |
WO2012107975A1 (ja) * | 2011-02-09 | 2012-08-16 | パナソニック株式会社 | 仮想計算機表示装置、仮想計算機表示方法、仮想計算機表示プログラム、記録媒体、及び集積回路 |
US20180286053A1 (en) * | 2017-04-01 | 2018-10-04 | Intel Corporation | Decoupled multi-layer render frequency |
Also Published As
Publication number | Publication date |
---|---|
US11640358B2 (en) | 2023-05-02 |
DE112020002011T5 (de) | 2022-01-27 |
US20220027276A1 (en) | 2022-01-27 |
WO2020213380A1 (ja) | 2020-10-22 |
CN113711300A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160125851A1 (en) | Rendering method, rendering apparatus, and electronic apparatus | |
US20110057935A1 (en) | Tiling Compaction in Multi-Processor Systems | |
JP5045428B2 (ja) | 画像表示システム、画像表示方法及びプログラム | |
US9286122B2 (en) | Display techniques using virtual surface allocation | |
US9177533B2 (en) | Virtual surface compaction | |
US20220024315A1 (en) | Vehicular device and control method for vehicular device | |
US20160111067A1 (en) | Virtual surface gutters | |
CN115943421A (zh) | 单通道的渲染和后处理滤波 | |
JP4780101B2 (ja) | 画像表示システム、画像表示方法及びプログラム | |
JP5788075B2 (ja) | グラフィックスデータ処理装置及びグラフィックスデータ処理システム | |
US12008676B2 (en) | Vehicle device, drawing requests using priority queues, and vehicle device control method | |
WO2020213380A1 (ja) | 車両用装置、車両用装置の制御方法 | |
WO2020213400A1 (ja) | 車両用装置、車両用装置の制御方法 | |
US20140292617A1 (en) | System, method, and computer program product for reducing image artifacts on multiple displays | |
CN114756192B (zh) | 一种多操作系统同屏显示方法和装置 | |
JP2007133493A (ja) | 情報処理装置、グラフィックプロセッサ、制御用プロセッサおよび情報処理方法 | |
JP7174926B2 (ja) | 表示制御システム、移動体、表示制御方法、表示装置、表示方法及びプログラム | |
JP5229727B2 (ja) | マルチ画像表示システム、画像処理方法及びプログラム | |
KR100978814B1 (ko) | 단일 애플리케이션 프로세서로 멀티 3d 그래픽을 디스플레이하는 그래픽 가속 시스템 및 그 방법 | |
US12020343B2 (en) | Vehicle device and vehicle device control method | |
WO2013145580A1 (ja) | 情報表示装置 | |
JP2010244324A (ja) | 画面表示処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210303 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220817 |