JP2015060551A - キャッシュメモリ制御装置 - Google Patents

キャッシュメモリ制御装置 Download PDF

Info

Publication number
JP2015060551A
JP2015060551A JP2013195856A JP2013195856A JP2015060551A JP 2015060551 A JP2015060551 A JP 2015060551A JP 2013195856 A JP2013195856 A JP 2013195856A JP 2013195856 A JP2013195856 A JP 2013195856A JP 2015060551 A JP2015060551 A JP 2015060551A
Authority
JP
Japan
Prior art keywords
vcpu
cache memory
core
area
microcomputer
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
Application number
JP2013195856A
Other languages
English (en)
Inventor
近藤 信行
Nobuyuki Kondo
信行 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2013195856A priority Critical patent/JP2015060551A/ja
Publication of JP2015060551A publication Critical patent/JP2015060551A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】キャッシュメモリを共用する複数のリクエスタ夫々の性能保証を行いやすくできるキャッシュメモリ制御装置を提供すること。【解決手段】キャッシュメモリ制御装置は、キャッシュメモリ12bと、キャッシュメモリ12bを共用して、このキャッシュメモリ12bにアクセスする第2VCPU32及び第3VCPU33と、第2VCPU32及び第3VCPU33のどちらがキャッシュメモリ12bにアクセスしようとしているかを識別すると共に、識別した第2VCPU32又は第3VCPU33に対応付けられた、第2VCPU用領域12b1又は第3VCPU用領域12b2を用いるように制御するメモリコントローラ12aとを備えている。【選択図】図2

Description

本発明は、キャッシュメモリの割り当てを制御するキャッシュメモリ制御装置。
従来、キャッシュメモリに関する技術として、特許文献1に開示されたものがある。
特開2011−18196号公報
ところで、キャッシュメモリは、複数のリクエスタで共有することが考えられる。言い換えると、複数のリクエスタが共通のキャッシュメモリにアクセスすることが考えられる。なお、リクエスタとは、キャッシュメモリにアクセスするアプリケーション、アプリケーション内のタスク、仮想コア、ハードウェア機能など、ある単位のまとまりを示すものである。よって、複数のリクエスタとしては、例えば、第一制御アプリケーションと第二制御アプリケーションや、第一タスクと第二タスクやなどがあげられる。なお、図面及び以下の説明では、アプリケーションを省略してアプリとも記載する。
また、マイコンは、各リクエスタによる所定の処理が、ある決まった時間内に完了することを保証することが求められることがある(性能保証)。また、キャッシュメモリを用いたマイコンでは、キャッシュヒットするか、キャッシュミスになるかにより性能が大きく変動することがある。そして、キャッシュヒットするか、キャッシュミスになるかは、それまで動作していたリクエスタのソフトウェア特性などによって異なる。
従って、複数のリクエスタでキャッシュメモリを共有した場合、各リクエスタがキャッシュメモリをお互いに汚染することで、各リクエスタの性能保証が難しくなる可能性がある。つまり、各リクエスタがキャッシュメモリをお互いに汚染すると、キャッシュメモリの状態が変化する。これによって、各リクエスタの処理時間が変動して、各リクエスタの性能保証が難しくなる可能性がある。
また、設計段階や開発段階において、マイコン又はマイコンを搭載した制御装置の実機評価によって性能保証を行うことも考えられる。しかしながら、マイコン又はマイコンを搭載した制御装置は、設計段階や開発段階を経て製品が完成した後に、機能が追加されたり、タスクとしてユーザアプリをインストールして使うこともありうる。なお、ユーザアプリとは、市場にてエンドユーザが開発したアプリである。
しかしながら、機能が追加された場合、機能が追加するたびに評価を行う必要があった。また、ユーザアプリがインストールされた場合、評価を行うことができないことがある。更に、ユーザアプリがインストールされたことによって、ユーザアプリと他のリクエスタがキャッシュメモリをお互いに汚染することで、各リクエスタの性能保証が難しくなる可能性がある。
本発明は、上記問題点に鑑みなされたものであり、キャッシュメモリを共用する複数のリクエスタ夫々の性能保証を行いやすくできるキャッシュメモリ制御装置を提供することを目的とする。
上記目的を達成するために本発明は、
キャッシュメモリ(12b,13b,15b〜19b)と、
キャッシュメモリを共用して、キャッシュメモリにアクセスする複数のリクエスタ(32,33,34,52,53,62,63,83〜85,103,104)と、
複数のリクエスタのうち、キャッシュメモリにアクセスしようとしているリクエスタを識別すると共に、識別したリクエスタ用に対応付けられた、キャッシュメモリにおける使用領域を用いるように制御する制御手段(12a,13a,15a〜18a)と、
を備えていることを特徴とする。
このように、本発明は、複数のリクエスタのうち、キャッシュメモリにアクセスしようとしているリクエスタを識別する。そして、本発明は、識別したリクエスタ用に対応付けられた、キャッシュメモリにおける使用領域を用いるように制御する。従って、本発明は、各リクエスタが自身に対応付けられた、キャッシュメモリにおける使用領域しか使用しないようにすることができる。このため、複数のリクエスタでキャッシュメモリを共用しても、リクエスタ間でのキャッシュメモリの状態変化を抑制できる。よって、本発明は、複数のリクエスタ夫々の性能保証を行いやすくできる。
なお、特許請求の範囲およびこの項に記載した括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、発明の技術的範囲を限定するものではない。
実施形態におけるキャッシュメモリ制御装置を備えたマイコンを概念的に説明する図面である。 実施形態における第2コアの概略構成を示すブロック図である。 (a)(b)は、実施形態のキャッシュメモリ制御装置におけるキャッシュメモリの状態を示すイメージ図である。 (a)(b)は、比較例のキャッシュメモリ制御装置におけるキャッシュメモリの状態を示すイメージ図である。 変形例1におけるキャッシュメモリ制御装置を備えたマイコンを概念的に説明する図面である。 変形例1における第5コアの概略構成を示すブロック図である。 変形例1における第3コアの概略構成を示すブロック図である。 変形例2におけるキャッシュメモリ制御装置を備えたマイコンを概念的に説明する図面である。 変形例2における第6コアの概略構成を示すブロック図である。 変形例3におけるキャッシュメモリ制御装置を備えたマイコンを概念的に説明する図面である。 変形例3における第7コアの概略構成を示すブロック図である。 変形例4におけるキャッシュメモリ制御装置を備えたマイコンを概念的に説明する図面である。 変形例4における第8コアの概略構成を示すブロック図である。 変形例5におけるキャッシュメモリ制御装置を備えたマイコンを概念的に説明する図面である。 変形例6におけるキャッシュメモリ制御装置を備えたマイコンを概念的に説明する図面である。 変形例6における第9コアの概略構成を示すブロック図である。
以下において、図面を参照しながら、発明を実施するための複数の形態を説明する。各形態において、先行する形態で説明した事項に対応する部分には同一の参照符号を付して重複する説明を省略する場合がある。各形態において、構成の一部のみを説明している場合は、構成の他の部分については先行して説明した他の形態を参照し適用することができる。
本発明のキャッシュメモリ制御装置は、図1に示すマイコンに搭載されてなるものである。マイコンは、例えば、車両に搭載された車載制御装置に設けられており、プログラムを実行するための演算ユニット及びレジスタなどからなるマイコンコアなどを備えている。マイコンコアは、物理コア、実コアなどと称することもできる。
本実施形態では、マイコンコアとして第1コア11〜第4コア14を備えたマイコンを採用している。よって、マイコンは、マルチコアマイコンと称することもできる。しかしながら、本発明はこれに限定されない。本発明は、例えば、コアを二つだけ備えたマイコン、コアを三つだけ備えたマイコン、五つ以上のコアを備えたマイコン、又はコアを一つだけ備えたマイコンなどであっても適用することができる。なお、マイコンは、車載制御装置に限らず、民生の電子機器に設けられていてもよい。
第1コア11〜第4コア14は、自身のリソースをクロック単位で時分割して使用することで仮想的に複数のコアが存在しているように動作させるCPU仮想化技術を利用して、仮想CPU(以下、VCPUとも称する)31〜34を並列動作させることができる。本実施形態では、第1VCPU31〜第4VCPU34の四つのVCPUを備えたマイコンを採用している。また、マイコンは、マイコン電源投入時における各第1VCPU31〜第4VCPU34の動作状態を管理するソフトウェアであるハイパーバイザ20を搭載している。また、VCPUに関しては、周知技術であるため詳しい説明は省略する。また、VCPUの個数に関しては、上記に限定されない。なお、CPUは、Central Processing Unitの略である。
更に、マイコンは、第1VCPU31〜第4VCPU34上で1以上のOS41を独立かつ並行に動作させることができる。また、OS41上では、第1制御アプリ51、ユーザアプリ52、第2制御アプリ53、情報アプリ54が実行可能な構成となっている。このように、本実施形態では、ハードウェア(VCPU)とソフトウェアによる仮想化の例を採用している。なお、OSは、Operating Systemの略である。
第1制御アプリ51及び第2制御アプリ53は、例えば車両のエンジン制御に関するアプリ、トランスミッション制御、及びボディ系の制御などに関するアプリなどである。なお、ボディ系の制御とは、照明の制御、ドアロックの施錠及び解錠の制御、ワイパーの制御などである。ユーザアプリ52は、エンドユーザが開発したアプリであり、例えばダウンロードなどしてマイコンにインストールされたアプリである。情報アプリ54は、例えば車両の走行距離や燃費などの車両情報を車室内の画面に表示させるためのアプリである。
次に、第1コア11〜第4コア14に関して、詳しく説明する。なお、第1コア11〜第4コア14は、同様の構成を有しているため、ここでは第2コア12を用いて説明する。
図1の点線部分に示すように、第2コア12上では、第2VCPU32と第3VCPU33が動作可能に構成されている。また、図2に示すように、第2コア12は、第2VCPU32及び第3VCPU33に共用されるキャッシュメモリ12bと、第2VCPU32と第3VCPU33に対するキャッシュメモリ12bの割り当てを制御するメモリコントローラ12aとを備えている。
つまり、第2VCPU32及び第3VCPU33の夫々は、一つのキャッシュメモリ12bを共有している。よって、第2VCPU32及び第3VCPU33は、共にキャッシュメモリ12bにアクセスすることになる。また、図2に示すように、キャッシュメモリ12bは、第2VCPU32が使用する第2VCPU用領域12b1と、第3VCPU33が使用する第3VCPU用領域12b2とに分けられている。
なお、この第2VCPU32及び第3VCPU33は、本発明の特許請求の範囲におけるリクエスタに相当する。本実施形態では、リクエスタとして第2VCPU32及び第3VCPU33を採用しているが、本発明はこれに限定されない。リクエスタは、予め決められた単位のハードウェア、又は予め決められた単位のソフトウェアであり、キャッシュメモリにアクセスするものであれば採用することができる。リクエスタのその他の例に関しては、後ほど変形例1〜6で説明する。
一方、メモリコントローラ12aは、第2VCPU32と第3VCPU33のうち、キャッシュメモリ12bにアクセスしようとしているVCPUを識別する(制御手段)。つまり、メモリコントローラ12aは、第2VCPU32がキャッシュメモリ12bにアクセスしようとしているのか、第3VCPU33がキャッシュメモリ12bにアクセスしようとしているのかを識別する。そして、メモリコントローラ12aは、識別したリクエスタ(第2VCPU32と第3VCPU33のいずれか一方)用に対応付けられた、キャッシュメモリ12bにおける使用領域を用いるように制御する(制御手段)。つまり、キャッシュメモリ12bは、各リクエスタの夫々に対して、独立的(言い換えると、排他的)に対応付けられた使用領域が設けられている。言い換えると、キャッシュメモリ12bは、各リクエスタの夫々に専用の使用領域が設けられている。しかしながら、このキャッシュメモリ12bにおける各仕様領域は、キャッシュメモリ12bにおいて連続的に設けられていてもよいし、離散的に設けられていてもよい。
メモリコントローラ12aは、例えば第2VCPU32がキャッシュメモリ12bにアクセスしようとしていると識別した際には、キャッシュメモリ12bの第2VCPU用領域12b1を用いるように制御する。言い換えると、メモリコントローラ12aは、第2VCPU32がキャッシュメモリ12bにアクセスしようとしていると識別した際には、キャッシュメモリ12bの第2VCPU用領域12b1にアクセスするように制御する。同様に、メモリコントローラ12aは、第3VCPU33がキャッシュメモリ12bにアクセスしようとしていると識別した際には、キャッシュメモリ12bの第3VCPU用領域12b2を用いるように制御する。
なお、第1VCPU31〜第4VCPU34の夫々は、動作時におけるマイコンのハードウェア状態が異なるものである。そこで、メモリコントローラ12aは、このハードウェア状態に基づいて、キャッシュメモリ12bにアクセスしようとしているリクエスタを識別する。例えば、第2VCPU32が動作している場合と、第3VCPU33が動作している場合とでは、マイコンのハードウェアであるレジスタの値が異なる。よって、メモリコントローラ12aは、レジスタの値に基づいて、第2VCPU32と第3VCPU33のどちらが、キャッシュメモリ12bにアクセスしようとしているかを識別することができる。つまり、メモリコントローラ12aは、CPU仮想化技術を利用した場合、ハードウェア機能を用いてリクエスタを識別する、と言い換えることができる。
キャッシュメモリ12bを用いるのは、データの読み出しを高速化することが、そもそもの狙いである。よって、キャッシュメモリ12bは、なるべく高速に(低レイテンシで)、データを読み出しできることが望ましい。本実施形態のように、ハードウェア機能を用いてリクエスタを識別することによって、高速なデータの読み出し効果が期待できる。つまり、ハードウェア機能を用いてリクエスタを識別することによって、特定の記憶領域に格納されたデータを識別子として用いる場合よりも高速にデータを読み出しできる。言い換えると、メモリコントローラ12aは、RAMに記憶された各リクエスタに関連付けられた識別子を読み込んで、キャッシュメモリ12bにアクセスしようとしているリクエスタを識別する場合よりも高速にデータを読み出しできる。しかしながら、メモリコントローラ12aは、これに限定されない。メモリコントローラ12aは、キャッシュメモリ12bにアクセスしようとしているリクエスタを識別できれば特に限定されない。
また、本実施形態では、メモリコントローラ12aは、複数のリクエスタの夫々に対して、キャッシュメモリ12bの使用領域が静的且つ固定的に対応付けられた使用領域を用いるように制御する例を採用している。言い換えると、第2VCPU用領域12b1は、第2VCPU32の使用領域であり、キャッシュメモリ12bの物理位置又はアドレスが静的且つ固定的に決められている。同様に、第3VCPU用領域12b2は、第3VCPU33の使用領域であり、キャッシュメモリ12bの物理位置又はアドレスが静的且つ固定的に決められている。よって、第2VCPU用領域12b1は、第2VCPU32に対して静的且つ固定的に対応付けられている、と称することができる。そして、第3VCPU用領域12b2は、第3VCPU33に対して静的且つ固定的に対応付けられている、と称することができる。
この場合、第2VCPU32に割り当てるキャッシュメモリ12bの使用領域を示す設定値と、第3VCPU33に割り当てるキャッシュメモリ12bの使用領域を示す設定値は、予めハードウェアによって定められた設定領域に不揮発で書き込んでおく。なお、この設定値は、割り当て値と称することもできる。そして、メモリコントローラ12aが第2VCPU32及び第3VCPU33に対して、第2VCPU用領域12b1及び第3VCPU用領域12b2を使用するように制御する際には、ハードウェアが設定値を自動で読み込んで反映することができる。
例えば、キャッシュメモリ12bは、ある決まった四つのキャッシュラインが第2VCPU用領域12b1であり、他の決まった四つのキャッシュラインが第3VCPU用領域12b2、などとなる。そして、第2VCPU用領域12b1は、四つのキャッシュラインから五つのキャッシュラインや三つのキャッシュラインに変更されない。第3VCPU用領域12b2に関しても同様である。
このように、第2VCPU32と第3VCPU33の夫々に対して、キャッシュメモリ12bの使用領域を静的且つ固定的に対応付けることで、メモリコントローラ12aのロジックを小さく(言い換えると、簡素化)することができ処理の高速化が期待できる。しかしながら、各リクエスタに対するキャッシュメモリ12bの使用領域の割り当ては、これに限定されない。各リクエスタに対して、キャッシュメモリ12bの使用領域を動的に割り当ててもよい。言い換えると、各リクエスタに対して、キャッシュメモリ12bの使用領域を動的に対応付けてもよい。なお、このキャッシュメモリ12bの使用領域を動的に対応付ける例に関しては、後ほど変形例にて説明する。
更に、第2VCPU32と第3VCPU33の夫々に対する、キャッシュメモリ12bの使用領域の割り当てについては、比率で決めてもよいし、絶対サイズで決めてもよい。
例えば、第2VCPU32と第3VCPU33は、キャッシュメモリ12bを3対1の比率で使用する、と決めてもよい。この場合、第2VCPU用領域12b1と第3VCPU用領域12b2の比率は3対1となる。
また、第2VCPU32には、キャッシュメモリ12bの全体容量にかかわらず、キャッシュメモリ12bにおける○○キロバイト与える、と決めてもよい。この場合、第2VCPU用領域12b1は、○○キロバイトとなる。
更に、第2VCPU32には、キャッシュメモリ12bにおけるn1キロバイト与え、第3VCPU33には、キャッシュメモリ12bにおけるn2キロバイト与える、と決めてもよい。この場合、第2VCPU用領域12b1は、n1キロバイトとなり、第3VCPU用領域12b2は、n2キロバイトとなる。なお、このように、第2VCPU用領域12b1と第3VCPU用領域12b2とを割り当て、且つ、キャッシュメモリ12bに余り領域が発生した場合は、この余り領域は使用してもよいし、使用しなくてもよい。
ここで、図3及び図4に示すキャッシュメモリ12bの状態の一例を用いて、本実施形態のメモリコントローラ12aと、比較例のメモリコントローラとを対比して説明する。なお、比較例のメモリコントローラは、メモリコントローラ12aが設けられているマイコンと同様のマイコンに設けられるものである。しかしながら、比較例のメモリコントローラは、メモリコントローラ12aと異なり、リクエスタの識別を行わない。また、比較例のメモリコントローラに対応する第2VCPU、第3VCPU、キャッシュメモリ、第2VCPU用領域、第3VCPU用領域に関しては、便宜上、本実施形態と同様の符号を付与する。
まず、図4を用いて、比較例のメモリコントローラによって制御されるキャッシュメモリ12bの状態に関して説明する。なお、第2VCPU32によるキャッシュメモリ12bの利用頻度は固定と仮定する。
図4(a)は、第2VCPU32によるキャッシュメモリ12bの利用頻度と、第3VCPU33によるキャッシュメモリ12bの利用頻度とが同等である第1ケースのキャッシュメモリ12bの状態を示している。この第1ケースの場合、キャッシュメモリ12bは、第2VCPU用領域12b1と第3VCPU用領域12b2とが4ラインずつ割り振られることになる。なお、図3及び図4におけるキャッシュメモリ12b中の数字は、キャッシュされた順番を示している。
これに対して、図4(b)は、第2VCPU32によるキャッシュメモリ12bの利用頻度よりも、第3VCPU33によるキャッシュメモリ12bの利用頻度のほうが多い第2ケースのキャッシュメモリ12bの状態を示している。この第2ケースの場合、キャッシュメモリ12bは、第3VCPU33によって9,10,11番目にキャッシュされることで、4,6,8番目にキャッシュされた第2VCPU用領域12b1が上書きされて第3VCPU用領域12b2となってしまう。このように、比較例のメモリコントローラは、第3VCPU33が第2VCPU用領域12b1を上書きするので、キャッシュメモリ12bの状態が変化する。このため、比較例のメモリコントローラでは、第2VCPU32の処理時間が第1ケースよりも第2ケースの方が長くなる。よって、比較例のメモリコントローラでは、第2VCPU32の処理時間が変動して性能保証が難しくなる可能性がある。
次に、図3を用いて、メモリコントローラ12aによって制御されるキャッシュメモリ12bの状態に関して説明する。なお、第2VCPU32によるキャッシュメモリ12bの利用頻度は固定と仮定する。また、メモリコントローラ12aは、第2VCPU32と第3VCPU33の夫々に対して、4ラインずつキャッシュメモリ12bの領域を割り当てるものとする。
図3(a)は、第2VCPU32によるキャッシュメモリ12bの利用頻度と、第3VCPU33によるキャッシュメモリ12bの利用頻度とが同等である第1ケースのキャッシュメモリ12bの状態を示している。この第1ケースの場合、キャッシュメモリ12bは、第2VCPU用領域12b1と第3VCPU用領域12b2とが4ラインずつ割り振られることになる。このように、第1ケースでは、メモリコントローラ12aによって制御されるキャッシュメモリ12bの状態と、比較例のメモリコントローラによって制御されるキャッシュメモリ12bの状態とは同様である。
これに対して、図3(b)は、第2VCPU32によるキャッシュメモリ12bの利用頻度よりも、第3VCPU33によるキャッシュメモリ12bの利用頻度のほうが多い第2ケースのキャッシュメモリ12bの状態を示している。
メモリコントローラ12aは、9番目に第3VCPU33がキャッシュメモリ12bにアクセスしようとした場合、キャッシュメモリ12bにアクセスしようとリクエスタが第3VCPU33であると識別する。そして、メモリコントローラ12aは、識別した第3VCPU33に対応付けられた、第3VCPU用領域12b2を用いるように制御する。従って、キャッシュメモリ12bは、1番目にキャッシュされた第3VCPU用領域12b2が上書きされる。同様に、キャッシュメモリ12bは、9,10番目に第3VCPU33がキャッシュメモリ12bにアクセスしようとした場合、2,3番目にキャッシュされた第3VCPU用領域12b2が上書きされる。
よって、この第2ケースの場合、キャッシュメモリ12bは、第3VCPU33によって9,10,11番目にキャッシュされることで、1,2,3番目にキャッシュされた第3VCPU用領域12b2が上書きされる。つまり、メモリコントローラ12aは、第3VCPU33が第2VCPU用領域12b1を上書きすることなく、第3VCPU用領域12b2を上書きするので、キャッシュメモリ12bの状態は変化しない。このため、メモリコントローラ12aでは、第2VCPU32の処理時間が第1ケースと第2ケースとでかわらない。よって、メモリコントローラ12aでは、第2VCPU32の処理時間が変動して性能保証が難しくなることを抑制できる。
ここまでに説明したように、メモリコントローラ12aは、リクエスタである第2VCPU32と第3VCPU33のうち、キャッシュメモリ12bにアクセスしようとしているリクエスタを識別する。そして、メモリコントローラ12aは、識別したリクエスタに対応付けられた、キャッシュメモリ12bにおける第2VCPU用領域12b1又は第3VCPU用領域12b2を用いるように制御する。
従って、メモリコントローラ12aは、第2VCPU32と第3VCPU33が自身に対応付けられた、キャッシュメモリ12bにおける第2VCPU用領域12b1又は第3VCPU用領域12b2しか使用しないようにすることができる。このため、メモリコントローラ12aは、第2VCPU32と第3VCPU33でキャッシュメモリ12bを共用しても、第2VCPU32と第3VCPU33間でのキャッシュメモリ12bの状態変化を抑制できる。つまり、メモリコントローラ12aは、第2VCPU32が動作している場合と、第3VCPU33が動作している場合とで、キャッシュメモリ12bの状態変化を抑制できる。よって、メモリコントローラ12aは、第2VCPU32と第3VCPU33夫々の性能保証を行いやすくできる。
なお、各リクエスタ専用のキャッシュメモリの使用領域指定は、「特定の物理コアにおけるキャッシュメモリのあるキャッシュラインからあるキャッシュラインまで」でも良い。また、各リクエスタ専用のキャッシュメモリの使用領域指定は、「特定の物理コアのキャッシュメモリ」でも良い。また、各リクエスタ専用のキャッシュメモリの使用領域指定は、「複数の物理コアのいずれかのキャッシュメモリ」でも良い。また、各リクエスタ専用のキャッシュメモリの使用領域指定は、「複数の物理コアのいずれかのキャッシュメモリでも良いが、そのキャッシュメモリのあるキャッシュラインからあるキャッシュラインまで」でも良い。また、各リクエスタ専用のキャッシュメモリの使用領域指定は、これらを組み合わせても良い。ただし、どのような指定を行うかで、性能保証のやりやすさは異なってくる。
以上、本発明の好ましい実施形態について説明した。しかしながら、本発明は、上述した実施形態に何ら制限されることはなく、本発明の趣旨を逸脱しない範囲において、種々の変形が可能である。本発明は、発明を実施するための形態おいて示された組み合わせに限定されることなく、種々の組み合わせによって実施可能である。
(変形例1)
図5〜図7を用いて、変形例1に関して説明する。図5に示すように、変形例1のマイコンは、上述の実施形態のマイコンと同様に四つのコアを備えている。しかしながら、変形例1のマイコンは、上述の第2コア12のかわりに第5コア15を備えている。
図5の点線部分に示すように、第5コア15上では、第2VCPU32と第3VCPU33が動作している。また、図6に示すように、第5コア15は、第2VCPU32及び第3VCPU33に共用されるキャッシュメモリ15bと、第2VCPU32と第3VCPU33に対するキャッシュメモリ15bの割り当てを制御するメモリコントローラ15aとを備えている。なお、キャッシュメモリ15bは、第2VCPU32が使用する第2VCPU用領域15b1と、第3VCPU33が使用する第3VCPU用領域15b2とを形成可能に構成されている。このように、第2VCPU32及び第3VCPU33の夫々は、一つのキャッシュメモリ15bを共有している。よって、第2VCPU32及び第3VCPU33は、共にキャッシュメモリ15bにアクセスすることになる。
更に、第5コア15は、設定値が記憶されている設定値記憶部15cを備えている。この設定値記憶部15cには、第2VCPU32及び第3VCPU33の夫々に対して設定値が記憶されている。例えば、設定値記憶部15cは、設定値が、第2VCPU32の及び第3VCPU33の夫々に関連付けられたマップとして記憶されている。また、設定値記憶部15cは、設定値が、第2VCPU32の識別子32a及び第3VCPU33の識別子32a夫々に関連付けられたマップとして記憶されている。
また、図5及び図6に示すように、第2VCPU32、第3VCPU33、及び第4VCPU34の夫々は、個別に識別子32a、識別子33a、及び識別子34aが関連付けられていても良い。この識別子32a、識別子33a、及び識別子34aの夫々は、特許請求の範囲における識別子データに相当する。また、識別子32a、識別子33a、及び識別子34aの夫々は、例えば、マイコンのハードウェアにて用意される。具体的には、識別子32a、識別子33a、及び識別子34aの夫々は、ある特定の記憶領域(メモリやレジスタ)に格納されたデータである。なお、ここでの説明は省略するが、第1VCPU31に関しても、同様に識別子が関連付けられている。
そして、図6に示すように、メモリコントローラ15aは、識別子32a及び識別子33aに基づいて、第2VCPU32と第3VCPU33のうち、キャッシュメモリ15bにアクセスしようとしているVCPUを識別する(制御手段)。つまり、メモリコントローラ15aは、識別子32a及び識別子33aに基づいて、第2VCPU32がキャッシュメモリ15bにアクセスしようとしているのか、第3VCPU33がキャッシュメモリ15bにアクセスしようとしているのかを識別する。このように、メモリコントローラ15aは、各リクエスタに固有のデータである識別子を用いて、キャッシュメモリ15bにアクセスしようとしているVCPUを識別しても、上述の効果を奏することができる。
また、メモリコントローラ15aは、識別したリクエスタ(第2VCPU32と第3VCPU33のいずれか一方)に対応付けられた、キャッシュメモリ15bにおける使用領域を用いるように制御する(制御手段)。メモリコントローラ15aは、例えば第2VCPU32がキャッシュメモリ15bにアクセスしようとしていると識別した際には、キャッシュメモリ15bの第2VCPU用領域15b1を用いるように制御する。言い換えると、メモリコントローラ15aは、第2VCPU32がキャッシュメモリ15bにアクセスしようとしていると識別した際には、キャッシュメモリ15bの第2VCPU用領域15b1にアクセスするように制御する。同様に、メモリコントローラ15aは、第3VCPU33がキャッシュメモリ15bにアクセスしようとしていると識別した際には、キャッシュメモリ15bの第3VCPU用領域15b2を用いるように制御する。
また、メモリコントローラ15aは、予め決められた条件に応じて、複数のリクエスタの夫々に対してキャッシュメモリ15bにおける使用領域を動的に対応付けて、その使用領域を用いるように制御する。つまり、メモリコントローラ15aは、第2VCP32と第3VCPU33の夫々が使用する使用領域を動的に切り替える。
例えば、設定値記憶部15cにおいて、第2VCPU32及び第3VCPU33の夫々に関連付けられた設定値を複数の条件毎に記憶しておく。一方、メモリコントローラ15aは、複数の条件のうち、どの条件が成立しているかを判定する。また、メモリコントローラ15aは、条件成立の判定結果と、設定値記憶部15cの記憶内容とから、現在の条件に対応した設定値を選択する。つまり、設定値記憶部15cに記憶された設定値は、条件に応じて切り替わることになる。よって、メモリコントローラ15aは、現在成立している条件に対応しており、且つ、キャッシュメモリ15bにアクセスしようとしているリクエスタ(第2VCPU32と第3VCPU33のいずれか一方)に対応付けられた設定値を選択することになる。このようにすることで、メモリコントローラ15aは、第2VCP32と第3VCPU33の夫々が使用する使用領域を動的に切り替えることができる。
また、設定値記憶部15cは、書き換え可能に設定値が記憶されていてもよい。この場合、マイコンは、複数の条件のうち、どの条件が成立しているかを判定する条件判定部(図示省略)を備える。そして、条件判定部は、条件成立の判定結果に応じて、設定値記憶部15cに記憶された設定値を書き換える。この場合、条件判定部は、例えば予め決められた計算式を用いて、条件成立の判定結果に応じた演算を実行することで設定値を決定すると共に、設定値記憶部15cに記憶された設定値を書き換える。このようにしても、メモリコントローラ15aは、第2VCP32と第3VCPU33の夫々が使用する使用領域を動的に切り替えることができる。このようにすることで、キャッシュメモリ15bの管理に柔軟性を持たせることができる。
ここで、キャッシュメモリ15bにおける使用領域を動的に切り替える際の設定値に関して、一例を用いて説明する。例えば、ある条件が成立した場合の設定値は、キャッシュメモリ15bのキャッシュライン1〜3,5が第2VCPU用領域15b1であり、キャッシュメモリ15bのキャッシュライン4,6〜8が第3VCPU用領域15b2であることを示すものとする。そして、別の条件が成立した場合の設定値は、キャッシュメモリ15bのキャッシュライン1が第2VCPU用領域15b1であり、キャッシュメモリ15bのキャッシュライン2〜8が第3VCPU用領域15b2であることを示すものとする。また、更に別の条件が成立した場合の設定値は、第2VCPU用領域15b1をゼロとして、キャッシュメモリ15bのキャッシュライン1〜8が第3VCPU用領域15b2であることを示すものであってもよい。
また、使用領域を動的に切り替える条件として、例えば、マイコンにおけるソフトウェアが動作している際の車両状態やマイコンの発熱状態、又は、ソフトウェアで予め定められたモードや、マイコンの動作モードなどを採用することができる。
このように、第2VCP32と第3VCPU33の夫々が使用する使用領域を動的に切り替えることによって、キャッシュメモリ15bの管理に柔軟性を持たせやすい。つまり、ユースケースを考えた場合、キャッシュメモリ15bの最適な管理や分割粒度は異なると思われる。例えば、極めて多くのリクエスタに対して、キャッシュメモリの使用領域を与える場合、非常に細粒度の管理が必要になることも考えられる。しかしながら、変形例1では、マイコンの状況やマイコンの搭載環境の状況に応じて、第2VCP32及び第3VCPU33の使用領域を切り替えることができるので、キャッシュメモリ15bの管理や分割粒度を最適化しやすい。
また、図5の点線部分に示すように、第3コア13上では、第4VCPU34が動作している。また、図6に示すように、第3コア13は、第4VCPU34に使用されるキャッシュメモリ13bと、第4VCPU34に対するキャッシュメモリ13bの割り当てを制御するメモリコントローラ13aとを備えている。さらに、第3コア13は、設定値が記憶されている設定値記憶部13cを備えている。そして、メモリコントローラ13aは、識別子34aに基づいて、第4VCPU34がキャッシュメモリ13bにアクセスしようとしているVCPUを識別する(制御手段)。
なお、変形例1においても、複数のリクエスタの夫々に対して、キャッシュメモリ15bの使用領域が静的且つ固定的に対応付けられた使用領域を用いるように制御してもよい。この場合、設定値記憶部15cに記憶されている、第2VCPU32及び第3VCPU33の夫々に関連付けられた設定値は、車両状態、マイコンの発熱状態、ソフトウェアで予め定められたモード、マイコンの動作モードなどによって変更されない。よって、静的且つ固定的に対応付けられた使用領域を用いる場合、使用領域を動的に切り替える条件を設定する必要がない。
また、この場合、第2VCPU32に割り当てるキャッシュメモリ15bの使用領域を示す設定値と、第3VCPU33に割り当てるキャッシュメモリ15bの使用領域を示す設定値は、設計時に決めておく。例えば、設定値は、ソフトウェア設計段階で決めておき、動作時にはブートアップ時等に、設定値記憶部15cに読み込まれるようにする。そして、設定値は、設定値記憶部15cに読み込まれると、それ以降は変更されないようにする。
つまり、第2VCPU32に割り当てるキャッシュメモリ15bの設定値と、第3VCPU33に割り当てるキャッシュメモリ15bの設定値とは、設計時に決めておく。そして、メモリコントローラ15aは、この設計時に決めた設定値でいかなる状況でも固定することで、第2VCPU32に対しては第2VCPU用領域15b1を用い、第3VCPU33に対しては第3VCPU用領域15b2を用いるようにする。このようにしても、本発明の目的は達成することができる。
(変形例2)
図8及び図9を用いて、変形例2に関して説明する。図8に示すように、変形例2のマイコンは、上述の実施形態のマイコンと同様に四つのコアを備えている。しかしながら、変形例2のマイコンは、上述の第2コア12のかわりに第6コア16を備えている。更に、変形例2のマイコンは、第1仮想コア61〜第4仮想コア64が設けられている。変形例2では、ソフトウェア(ハイパーバイザ)のみによる仮想化の例を採用している。なお、仮想コアに関しては、周知技術であるため詳しい説明は省略する。
図8の点線部分に示すように、第6コア16には、第2仮想コア62と第3仮想コア63が設けられている。また、図9に示すように、第6コア16は、第2仮想コア62と第3仮想コア63に共用されるキャッシュメモリ16bと、第2仮想コア62と第3仮想コア63に対するキャッシュメモリ16bの割り当てを制御するメモリコントローラ16aとを備えている。なお、キャッシュメモリ16bは、第2仮想コア62が使用する第2仮想コア用領域16b1と、第3仮想コア63が使用する第3仮想コア用領域16b2とを形成可能に構成されている。
更に、第6コア16は、設定値が記憶されている設定値記憶部16cを備えている。この設定値記憶部16cには、第2仮想コア62と第3仮想コア63の夫々に対して設定値が記憶されている。また、図9に示すように、第2仮想コア62と第3仮想コア63の夫々は、個別に識別子62a、識別子63aが関連付けられている。なお、第6コア16の動作は、第5コア15と同様であるため、詳しい説明は省略する。
この変形例2に示すように、本発明は、リクエスタとして仮想コアを採用することもできる。そして、変形例2においても、上述の実施形態と同様の効果を奏することができる。
(変形例3)
図10及び図11を用いて、変形例3に関して説明する。図10に示すように、変形例3のマイコンは、上述の実施形態のマイコンと同様に四つのコアを備えている。しかしながら、変形例3のマイコンは、上述の第2コア12のかわりに第7コア17を備えている。更に、変形例3のマイコンは、第1コア11,第7コア17,第3コア13,第4コア14上でマルチコアOS70が動作するように構成されている。また、マルチコアOS70上では、第1制御アプリ51、ユーザアプリ52、第2制御アプリ53、情報アプリ54が実行可能な構成となっている。このように、変形例3では、マルチコアOS70を採用した場合の例を採用している。なお、マルチコアOSに関しては、周知技術であるため詳しい説明は省略する。
図10の点線部分に示すように、第7コア17は、ユーザアプリ52と第2制御アプリ53を実行するものである。また、図11に示すように、第7コア17は、ユーザアプリ52と第2制御アプリ53に共用されるキャッシュメモリ17bを備えている。このキャッシュメモリ17bは、ユーザアプリ52が使用するユーザアプリ用領域17b1と、第2制御アプリ53が使用する第2制御アプリ用領域17b2とを形成可能に構成されている。また、第7コア17は、ユーザアプリ52と第2制御アプリ53に対するキャッシュメモリ17bの割り当てを制御するメモリコントローラ17aを備えている。
更に、第7コア17は、設定値が記憶されている設定値記憶部17cを備えている。この設定値記憶部17cには、ユーザアプリ52と第2制御アプリ53の夫々に対して設定値が記憶されている。また、図11に示すように、ユーザアプリ52と第2制御アプリ53の夫々は、個別に識別子52a、識別子53aが関連付けられている。なお、第7コア17の動作は、第5コア15と同様であるため、詳しい説明は省略する。
この変形例3に示すように、本発明は、リクエスタとしてアプリを採用することもできる。そして、変形例3においても、上述の実施形態と同様の効果を奏することができる。
(変形例4)
図12及び図13を用いて、変形例4に関して説明する。図12に示すように、変形例4のマイコンは、上述の変形例3のマイコンと同様に四つのコアを備えている。しかしながら、変形例4のマイコンは、上述の第7コア17のかわりに第8コア18を備えている。また、変形例4のマイコンは、変形例3のマイコンと同様に、マルチコアOS70上で、第1制御アプリ51、ユーザアプリ52、第2制御アプリ53、情報アプリ54が実行可能な構成となっている。更に、変形例4のマイコンは、第1制御アプリ51、ユーザアプリ52、第2制御アプリ53、情報アプリ54が、第1タスク81〜第6タスク86に分割されている。
図12の点線部分に示すように、第8コア18は、第3タスク83〜第5タスク85を実行するものである。また、図13に示すように、第8コア18は、第3タスク83〜第5タスク85に共用されるキャッシュメモリ18bを備えている。このキャッシュメモリ18bは、第3タスク83が使用する第3タスク用領域18b1と、第4タスク84が使用する第4タスク用領域18b2と、第5タスク85が使用する第5タスク用領域18b3とを形成可能に構成されている。
また、第8コア18は、第3タスク83〜第5タスク85の夫々に対するキャッシュメモリ18bの割り当てを制御するメモリコントローラ18aを備えている。更に、第8コア18は、設定値が記憶されている設定値記憶部18cを備えている。この設定値記憶部18cには、第3タスク83〜第5タスク85の夫々に対して設定値が記憶されている。また、図13に示すように、第3タスク83〜第5タスク85の夫々は、個別に識別子83a,識別子84a,識別子85aが関連付けられている。なお、第8コア18の動作は、第7コア17と同様であるため、詳しい説明は省略する。
この変形例4に示すように、本発明は、リクエスタとしてタスクを採用することもできる。そして、変形例4においても、上述の実施形態と同様の効果を奏することができる。
また、本変形例4で採用したように、一つのキャッシュメモリ18bを、第3タスク83〜第5タスク85のように、三つのリクエスタが共用していてもよい。更に、本発明は、一つのキャッシュメモリを四つ以上のリクエスタで共用していてもよい。
(変形例5)
図14を用いて、変形例5に関して説明する。図14に示すように、変形例5のマイコンは、変形例4のマイコンと同様に四つのコアを備えている。また、変形例5のマイコンは、マルチコアOS70上で、情報アプリ90が実行可能な構成となっている。更に、変形例5のマイコンは、情報アプリ90が第1タスク81〜第6タスク86に分割されている。
図14の点線部分に示すように、第8コア18は、第3タスク83〜第5タスク85を実行するものである。よって、第8コア18は、変形例4の図13と同様に、第3タスク83〜第5タスク85に共用されるキャッシュメモリ18bを備えている。この変形例5においても、上述の実施形態と同様の効果を奏することができる。
(変形例6)
図15及び図16を用いて、変形例3に関して説明する。図15に示すように、変形例6のマイコンは、上述の実施形態のマイコンと同様に四つのコアを備えている。しかしながら、変形例6のマイコンは、上述の第2コア12のかわりに第9コア19を備えている。そして、変形例6のマイコンは、第1コア11,第9コア19,第3コア13,第4コア14上でマルチコアOS70を動作させることができる。また、変形例6のマイコンは、マルチコアOS70上で第1HMT101〜第5HMT105を並列動作させることができ、且つ、第1HMT101〜第5HMT105上で情報アプリ90が実行可能な構成となっている。更に、変形例6のマイコンは、情報アプリ90が第1タスク81〜第6タスク86に分割されている。このように、変形例6では、マルチコアOS70と第1HMT101〜第5HMT105を採用した場合の例を採用している。なお、HMTは、Hardware Multi Threadの略であり、周知技術であるため詳しい説明は省略する。
図15の点線部分に示すように、第9コア19は、第3HMT103と第4HMT104が動作可能に構成されている。また、図16に示すように、第9コア19は、第3HMT103と第4HMT104に共用されるキャッシュメモリ19bを備えている。このキャッシュメモリ19bは、第3HMT103が使用する第3HMT用領域19b1と、第4HMT104が使用する第4HMT用領域19b2とを形成可能に構成されている。また、第9コア19は、第3HMT103と第4HMT104に対するキャッシュメモリ19bの割り当てを制御するメモリコントローラ19aを備えている。
更に、第9コア19は、設定値が記憶されている設定値記憶部19cを備えている。この設定値記憶部19cには、第3HMT103と第4HMT104の夫々に対して設定値が記憶されている。また、図16に示すように、第3HMT103と第4HMT104の夫々は、個別に識別子103a、識別子104aが関連付けられている。なお、第9コア19の動作は、第5コア15などと同様であるため、詳しい説明は省略する。
この変形例6に示すように、本発明は、リクエスタとしてHMTを採用することもできる。そして、変形例6においても、上述の実施形態と同様の効果を奏することができる。
なお、上述の実施形態、変形例1〜6などで説明したように、リクエスタの単位としては、アプリケーション毎、アプリケーション内のタスク毎、仮想コア毎、ハードウェアの纏まり毎(HMT毎、VCPU毎)とすることができる。更に、図示は省略するが、リクエスタとしては、例えば仮想コアとGTMなどを採用することもできる。GTMは、Global Timer Moduleの略である。
また、リクエスタの分割例としては、以下のようなものが考えられる。例えば、単一機能で電子制御装置が存在するようなアプリで分割する。具体的には、エンジン制御アプリを一つのリクエスタ、トランスミッション制御アプリを他のリクエスタとする。この場合、エンジン制御アプリ及びトランスミッション制御アプリは、一つのキャッシュメモリを共用する。このようにすることで、ソフトウェアの開発容易さを担保でき、且つソフトウェアの開発容易さを向上させることができる。
また、ユーザアプリと、予めマイコンに用意されている電子制御装置の機能アプリ(例えば、第1制御アプリなど)とで分割する。このようにすることで、マイコンにユーザアプリと機能アプリとが設けられていた場合であっても、機能アプリは、キャッシュメモリに起因する性能影響がないため、品質を担保しやすくなる。
また、ASIL(Automotive Safety Integrity Level)が異なるタスクやアプリで分割する。このようにすることで、キャッシュメモリの性能影響に起因するリスクがないことを証明しやすい。
また、リアルタイム性が異なるタスクで分割する。このようにすることで、高いリアルタイム性が必要なタスクであるリクエスタに対して、キャッシュメモリの使用領域を集中的に割り当てることで、性能保証がしやすくなる。
11〜14 第1コア〜第4コア、12a メモリコントローラ、12b キャッシュメモリ、12b1 第2VCPU用領域、12b2 第3VCPU用領域、20 ハイパーバイザ、31〜34 第1VCPU〜第4VCPU、41 OS、51 第1制御アプリケーション、52 エンドユーザフリーアプリケーション、53 第2制御アプリケーション、54 情報アプリケーション

Claims (5)

  1. キャッシュメモリ(12b,13b,15b〜19b)と、
    前記キャッシュメモリを共用して、該キャッシュメモリにアクセスする複数のリクエスタ(32,33,34,52,53,62,63,83〜85,103,104)と、
    複数の前記リクエスタのうち、前記キャッシュメモリにアクセスしようとしている前記リクエスタを識別すると共に、識別した前記リクエスタ用に対応付けられた、前記キャッシュメモリにおける使用領域を用いるように制御する制御手段(12a,13a,15a〜18a)と、を備えていることを特徴とするキャッシュメモリ制御装置。
  2. 複数の前記リクエスタの夫々は、動作時のハードウェア状態が異なるものであり、
    前記制御手段は、前記ハードウェア状態に基づいて、前記キャッシュメモリにアクセスしようとしている前記リクエスタを識別することを特徴とする請求項1に記載のキャッシュメモリ制御装置。
  3. 複数の前記リクエスタの夫々に関連付けられた識別子データ(32a,33a,34a,52a,53a,62a,63a,83a〜85a,103a,104a)を有しており、
    前記制御手段は、前記識別子データに基づいて、前記キャッシュメモリにアクセスしようとしている前記リクエスタを識別することを特徴とする請求項1に記載のキャッシュメモリ制御装置。
  4. 前記制御手段は、複数の前記リクエスタの夫々に対して、静的且つ固定的に対応付けられた前記使用領域を用いるように制御することを特徴とする請求項1乃至3のいずれか一項に記載のキャッシュメモリ制御装置。
  5. 前記制御手段は、予め決められた条件に応じて、複数の前記リクエスタの夫々に対して前記使用領域を動的に対応付けると共に、該使用領域を用いるように制御することを特徴とする請求項1乃至3のいずれか一項に記載のキャッシュメモリ制御装置。
JP2013195856A 2013-09-20 2013-09-20 キャッシュメモリ制御装置 Pending JP2015060551A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013195856A JP2015060551A (ja) 2013-09-20 2013-09-20 キャッシュメモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013195856A JP2015060551A (ja) 2013-09-20 2013-09-20 キャッシュメモリ制御装置

Publications (1)

Publication Number Publication Date
JP2015060551A true JP2015060551A (ja) 2015-03-30

Family

ID=52817983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013195856A Pending JP2015060551A (ja) 2013-09-20 2013-09-20 キャッシュメモリ制御装置

Country Status (1)

Country Link
JP (1) JP2015060551A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019175940A1 (ja) * 2018-03-12 2019-09-19 大日本印刷株式会社 車両制御装置、無効化装置、コンピュータプログラム及び無効化方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019175940A1 (ja) * 2018-03-12 2019-09-19 大日本印刷株式会社 車両制御装置、無効化装置、コンピュータプログラム及び無効化方法

Similar Documents

Publication Publication Date Title
US9465750B2 (en) Memory protection circuit, method and processing unit utilizing memory access information register to selectively allow access to memory areas by virtual machines
CN102648449B (zh) 一种用于处理干扰事件的方法和图形处理单元
JP5413001B2 (ja) キャッシュメモリ
US9218302B2 (en) Page table management
US8943584B2 (en) Centralized device virtualization layer for heterogeneous processing units
JP5058970B2 (ja) シーケンサー・アドレス管理
US8151275B2 (en) Accessing copy information of MMIO register by guest OS in both active and inactive state of a designated logical processor corresponding to the guest OS
US20170123996A1 (en) Direct Mapped Files in Virtual Address-Backed Virtual Machines
CN111078323B (zh) 基于协程的数据处理方法、装置、计算机设备及存储介质
CN102736945B (zh) 一种运行应用程序的多个实例的方法和系统
KR102269912B1 (ko) 데이터 액세스를 위한 액세스 속성의 처리
JP2004252983A (ja) コプロセッサの性能を強化するシステムおよび方法
US9563466B2 (en) Method and apparatus for supporting programmable software context state execution during hardware context restore flow
JP2004272894A (ja) グラフィックス処理ユニットのマルチスレッド式カーネル
US20140351519A1 (en) System and method for providing cache-aware lightweight producer consumer queues
WO2020250606A1 (ja) 車両用制御装置、車両用表示システム、及び車両用表示制御方法
US20120030430A1 (en) Cache control apparatus, and cache control method
CN110781016B (zh) 一种数据处理方法、装置、设备及介质
US20210073131A1 (en) Partition identifiers for page table walk memory transactions
CN109964244B (zh) 用于图形处理的本地图像块
JP2012033001A (ja) 情報処理装置および情報処理方法
CN111427669A (zh) 计算机设备上的虚拟机的管理方法、装置、介质和系统
US8954969B2 (en) File system object node management
JP5533789B2 (ja) 車載電子制御装置
US12008676B2 (en) Vehicle device, drawing requests using priority queues, and vehicle device control method