JP4664586B2 - キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム - Google Patents

キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム Download PDF

Info

Publication number
JP4664586B2
JP4664586B2 JP2003376178A JP2003376178A JP4664586B2 JP 4664586 B2 JP4664586 B2 JP 4664586B2 JP 2003376178 A JP2003376178 A JP 2003376178A JP 2003376178 A JP2003376178 A JP 2003376178A JP 4664586 B2 JP4664586 B2 JP 4664586B2
Authority
JP
Japan
Prior art keywords
task
address
area
cache
memory
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.)
Expired - Lifetime
Application number
JP2003376178A
Other languages
English (en)
Other versions
JP2004178571A (ja
Inventor
広之 森下
督三 清原
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003376178A priority Critical patent/JP4664586B2/ja
Publication of JP2004178571A publication Critical patent/JP2004178571A/ja
Application granted granted Critical
Publication of JP4664586B2 publication Critical patent/JP4664586B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、キャッシュメモリを制御するキャッシュ制御装置及びキャッシュ制御方法に関する。
現在の主なコンピュータシステムは、いくつかの記憶装置を階層化して用いている。これは、アクセス速度は速いがコストの高い記憶装置と、アクセス速度は遅いがコストの安い記憶装置とを組み合わせて用いることで、擬似的に高速で大容量、且つコストの安い記憶システムを得ることを目的としている。
例えば、一般的なパソコンでは、マイクロプロセッサ内にあるレジスタ、キャッシュメモリ、メインメモリ、ハードディスクといった各記憶装置を、階層化して用いている。
キャッシュメモリは、メインメモリよりアクセス速度が高速なメモリであり、キャッシュメモリへのデータの読み出し及び書き込みといったアクセス制御はキャッシュ制御装置によってなされる。
キャッシュ制御装置は、マイクロプロセッサからアクセス要求されたデータがキャッシュメモリに格納されていなければ、当該データを含む、連続したアドレスに格納されているデータ群をメインメモリから取得して、キャッシュメモリに格納する。
メインメモリからキャッシュメモリへのデータ転送をキャッシングと呼び、その転送単位は、キャッシュメモリの記憶単位であるライン(又はブロックともいう。)である。
また、マイクロプロセッサがアクセス要求するデータが格納されていないためアクセスに失敗することをキャッシュミスと呼ぶ。
キャッシュミスが起こると、キャッシュ制御装置は、メインメモリから要求されたデータを含むデータ群をライン単位でキャッシングするが、その間、マイクロプロセッサはキャッシングが終わるまで待ち状態となる。
反対に、マイクロプロセッサがアクセス要求するデータがキャッシュメモリに格納されていて、アクセスに成功することをキャッシュヒットと呼び、キャッシュヒットした回数を総アクセス回数で割った値をキャッシュヒット率と呼ぶ。
マイクロプロセッサが処理するプログラムのメモリアクセスパターンには、アクセスされたメインメモリアドレスの近傍アドレスが、近い将来にアクセスされる確率が高いことを示す空間的局所性と、アクセスされたメインメモリアドレスが、近い将来に再びアクセスされる確率が高いことを示す時間的局所性の2つの性質があるので、キャッシュミスによってライン単位でキャッシングしたデータ群は、近い将来にアクセスされる可能性が高いと言える。
キャッシングされたライン単位のデータ群は、所定のキャッシュ制御方法(マッピング方式ともいう。)に基づいて、キャッシュメモリ内の指定された場所に格納される。
主なキャッシュ制御方法として、フルアソシエィティブ方式、ダイレクトマッピング方式、セットアソシエィティブ方式の3つが挙げられ、これらのキャッシュ制御方法については、下記の非特許文献に詳しく説明されている。
なお、フルアソシエィティブ方式は、キャッシュメモリ上に空いている場所があれば、どこでも記憶してもよい方式であり、最もキャッシュメモリの使用効率が高いものであるが、比較器を多数備える必要があるため、一般的にはあまり用いられていない。
斎藤忠夫・大森健児共著「現代 計算機アーキテクチャ原理」オーム社出版、平成6年4月10日、p112
ところで、タスクAとタスクBを並行処理するコンピュータシステムにおいて、ダイレクトマッピング方式又はセットアソシエィティブ方式を用いてキャッシングを行う場合、タスクAの処理によりキャッシングされたデータ群Aが格納されている場所に、タスクBの処理によりキャッシングされたデータ群Bが格納されることにより、データ群Aが上書き消去されることがある。
タスクAのアクセス対象となるデータがデータ群Bに含まれている可能性は低いため、この上書きによって、タスクAの処理におけるキャッシュヒット率が低下する可能性が高まるという問題が発生する。
本発明は、上記問題を解決するべくなされたものであり、複数のタスクを並行処理するコンピュータシステムにおいて、あるタスクの処理によって、別のタスクのキャッシュヒット率が低下する可能性をなくすべく、新たなキャッシュ制御方法を用いてキャッシュメモリを制御するキャッシュ制御装置及び当該キャッシュ制御方法を提供することを目的とする。

上記目的を達成するために本発明に係るキャッシュ制御装置は、複数のタスクを並行処理するマイクロプロセッサ、キャッシュメモリ及びメインメモリを備えたコンピュータシステムにおいて、キャッシュメモリを制御するキャッシュ制御装置であって、前記各タスクと前記キャッシュメモリのメモリ領域を分割した各領域とを対応付けて管理する領域管理手段と、前記マイクロプロセッサからアクセス対象のデータが存在する前記メインメモリのアドレスを受け付けるアドレス受付手段と、あるタスクの処理過程において前記アドレスを受け付けたときに、当該アドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから当該アドレスに存在するデータを含むデータ群を取得し、当該タスクと対応付けられている領域に格納するキャッシング手段とを備えることを特徴とする。
上記構成により、複数のタスクを並行処理するコンピュータシステムに上記キャッシュ制御装置を備えることにより、あるタスク(第1のタスクとする。)の処理によってキャッシングされたデータ群は第1のタスクと対応付けられている領域に格納され、別のタスク(第2のタスクとする。)の処理によってキャッシングされたデータ群は第2のタスクと対応付けられている領域に格納されるので、従来のキャッシュ制御方法において生じていた、第1のタスク処理によってキャッシングされたデータ群が、第2のタスク処理によってキャッシングされたデータ群によって上書きされるという問題を解決することができる。すなわち、第2のタスク処理によって、第1のタスク処理におけるキャッシュヒット率が低下する可能性をなくすことができる。
また、前記領域管理手段は、前記マイクロプロセッサによって並行処理されているタスクの数に応じて前記キャッシュメモリのメモリ領域を複数の領域に分割し、各領域と各タスクとを対応付けて管理することとしてもよい。
この構成により、マイクロプロセッサによって並行処理されているタスクの数に応じて、キャッシュメモリを分割して各タスクと各領域とを対応付けて管理することができる。
また、前記領域管理手段は、前記マイクロプロセッサによって並行処理されているタスクの数の情報と各タスクの処理に必要とされるキャッシュメモリサイズの情報とを受け付けて、係る情報に基づいて前記キャッシュメモリのメモリ領域を分割し、分割された各領域と各タスクとを対応付けて管理することとしてもよい。
この構成により、各タスクの処理において必要とされるキャッシュメモリサイズが確保することができる。例えば、高速アクセスを必要としないタスクには、割り当てるキャッシュサイズを小さくし、高速アクセスを必要とするタスクには、割り当てるキャッシュサイズを大きくするといった調整が可能である。
また、前記キャッシュ制御装置は、前記マイクロプロセッサが処理中のタスクを識別するタスクIDを受け付けるタスクID受付手段を備え、前記領域管理手段は、前記キャッシュメモリ内の各領域と、前記各タスクのタスクIDとを対応付けて管理し、前記キャッシング手段は、前記タスクIDが受け付けたタスクIDが示すタスクの処理過程においてメインメモリから取得したデータ群を、当該タスクIDと対応付けられている領域に格納することとしてもよい。
ここで、タスクIDは、マイクロプロセッサから受け付けてもよいし、タスク管理している他のハードウェアから受け付けてもよい。
また、前記タスクIDは、識別対象のタスクであるプログラムが格納されているメモリアドレスであるとしてもよいし、前記タスクIDは、識別対象のタスクであるプログラムが格納されているメモリアドレスを変換したものであるとしてもよい。
また、前記マイクロプロセッサは、OS(Operating System )制御下でマルチタスク処理するものであり、前記タスクIDは、前記OSによって割り振られるプロセスIDであるとしてもよい。
また、前記キャッシュ制御装置は、あるタスクの処理過程において前記アドレス受付手段により受け付けられたアドレスに存在するデータが前記キャッシュメモリに格納されているかどうかを、当該キャッシュメモリの全メモリ領域を確認して判定する判定手段を備えることとしてもよい。
また、前記キャッシュ制御装置は、あるタスクの処理過程において前記アドレス受付手段により受け付けられたアドレスに存在するデータが前記キャッシュメモリに格納されているかどうかを、前記領域管理手段によって前記タスクと対応付けられている領域のみを確認して判定する判定手段を備えることとしてもよい。
この構成により、キャッシュメモリ内に格納されているデータ群を素早く検出することができる。
また、 前記キャッシュメモリは、複数のウェイで構成されており、前記領域管理手段によって各タスクと対応付けて管理されている各領域は、1又は複数のウェイを含む領域であるとしてもよい。
また、前記各領域のうち複数のウェイを含む領域については、セットアソシエィティブ方式を用いてキャッシング制御を行うこととしてもよい。
また、前記領域管理手段は、前記キャッシュメモリのメモリ領域を特定領域と一般領域に分割し、前記マイクロプロセッサによって並行処理される複数のタスクのうち、特定のタスクを特定領域と対応付けて管理し、前記キャッシング手段は、前記特定のタスクの処理過程において、前記アドレス受付手段により第1のアドレスを受け付けたときに、第1のアドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから第1のアドレスに存在するデータを含むデータ群を取得して、前記特定領域に格納し、前記特定のタスク以外のタスクの処理過程において、前記アドレス受付手段により第2のアドレスを受け付けたときに、第2のアドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから第2のアドレスに存在するデータを含むデータ群を取得して、前記一般領域に格納するとしてもよい。
この構成により、例えば、リアルタイム性を保証する必要性のあるアプリケーションプログラムを特定のタスクであるとして、当該タスクと特定領域とを対応付けて管理することにより、特定のタスクの処理過程においてキャッシングされたデータ群は、他のタスク処理においてキャッシングされたデータ群によって上書きされる恐れはないので、当該タスク処理におけるキャッシュヒット率が低下する可能性をなくすことができ、リアルタイム性を保証することができる。
また、前記マイクロプロセッサは、第1のタスク、第2のタスク及び第3のタスクを並行処理し、前記領域管理手段は、前記キャッシュメモリを第1の領域と第2の領域とに分割し、第1の領域と第1のタスク及び第2のタスクとを対応付け、第2の領域と第3のタスクとを対応付けて管理し、前記キャッシング手段は、第1のタスク又は第2のタスクの処理過程において前記メインメモリから取得したデータ群を、第1の領域に格納し、第3のタスクの処理過程において前記メインメモリから取得したデータ群を、第2の領域に格納するとしてもよい。
この構成により、第1のタスクと第2のタスクが、同じ局所性のアクセスパターンである場合に、キャッシュヒット率を高めることができる。
また、本発明に係るキャッシュ制御方法は、複数のタスクを並行処理するマイクロプロセッサ、キャッシュメモリ及びメインメモリを備えたコンピュータシステムにおいて用いられるキャッシュ制御方法であって、前記各タスクと前記キャッシュメモリのメモリ領域を分割した各領域とを対応付けて管理する領域管理ステップと、前記マイクロプロセッサからアクセス対象のデータが存在する前記メインメモリのアドレスを受け付けるアドレス受付ステップと、あるタスクの処理過程において前記アドレスを受け付けたときに、当該アドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから当該アドレスに存在するデータを含むデータ群を取得し、当該タスクと対応付けられている領域に格納するキャッシングステップとを含むことを特徴とする。
また、本発明に係るコンピュータシステムは、複数のタスクを並行処理するマイクロプロセッサ、キャッシュ制御装置、キャッシュメモリ及びメインメモリを備えたコンピュータシステムであって、前記キャッシュ制御装置は、前記各タスクと前記キャッシュメモリのメモリ領域を分割した各領域とを対応付けて管理する領域管理手段と、前記マイクロプロセッサからアクセス対象のデータが存在する前記メインメモリのアドレスを受け付けるアドレス受付手段と、あるタスクの処理過程において前記アドレスを受け付けたときに、当該アドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから当該アドレスに存在するデータを含むデータ群を取得し、当該タスクと対応付けられている領域に格納するキャッシング手段とを備えることを特徴とする。
また、前記コンピュータシステムは、前記マイクロプロセッサが発したアクセス対象のデータが存在する前記メインメモリのアドレスを示す論理アドレスを物理アドレスに変換し、当該物理アドレスを前記アドレス受付手段に送るアドレス変換手段を備え、前記キャッシュ制御装置は、前記キャッシング手段により格納されたデータ群を、前記アドレス受付手段が、前記アドレス変換手段より受け付けた前記物理アドレスを用いて管理するデータ群管理手段を備えることとしてもよい。
また、前記キャッシュ制御装置は、前記キャッシング手段により格納されたデータ群を、前記アドレス受付手段が受け付けた、前記マイクロプロセッサが発したアクセス対象のデータが存在する前記メインメモリのアドレスを示す論理アドレスを用いて管理するデータ群管理手段を備え、前記コンピュータシステムは、前記キャッシュ制御装置から発せられたアクセス対象のデータが存在するメインメモリのアドレスを示す論理アドレスを物理アドレスに変換し、当該物理アドレスを前記メインメモリに送るアドレス変換手段を備えることとしてもよい。
以下、本発明の一実施形態であるキャッシュ制御装置について、図面を用いて説明する。
<コンピュータシステムの構成>
図1は、本発明に係るキャッシュ制御装置を含むコンピュータシステムの構成を示す図である。
本システムは、キャッシュ制御装置1、キャッシュメモリ2、マイクロプロセッサ3、メインメモリ4、MMU(Memory Management Unit)5、ハードディスク(図示せず)等を備える。なお、本発明の特徴を説明する上で必要のない装置については、説明及び図示を省略する。
マイクロプロセッサ3は、プログラムの処理及び各種演算を行なうデバイスであり、OS(Operating System)制御下において、複数のプログラムをタスクとしてマルチタスク処理を行う。
また、マイクロプロセッサ3は、処理するタスクが切り替ると、タスクID信号線101を介して、現在処理されるタスクを識別するタスクIDをキャッシュ制御装置1に送る。
タスクIDは、タスクとして処理されるプログラムが格納されているメインメモリアドレスを示す論理アドレスを変換して生成する。
また、マイクロプロセッサ3は、メモリアクセス信号線102を介してアクセス要求するメインメモリアドレスを示す論理アドレスをキャッシュ制御装置1に送り、当該アクセス要求がリードアクセスの場合、要求したメインメモリアドレスに存在するデータをキャッシュ制御装置1からデータ信号線103を介して受け取る。
更に、マイクロプロセッサ3は、OS等のシステム管理を行うプログラムを処理した際に、処理するタスクの数、各タスクを識別するタスクID、各タスクが必要とするキャッシュメモリサイズ等を含む領域指定情報を領域指定信号線106を介してキャッシュ制御装置1に送る。
キャッシュ制御装置1は、キャッシュメモリ2に対するデータアクセスを制御する装置であり、従来のキャッシュ制御装置とは異なる特徴として、マイクロプロセッサ3によってマルチタスク処理されている各タスクと、キャッシュメモリ2のメモリ領域を分割した各領域とを対応付けて管理し、あるタスクの実行過程においてキャッシングされたライン単位のデータ群を、当該タスクと対応付けられている領域に格納する点が挙げられる。
係る特徴を実現するキャッシュ制御装置1の機能構成については後で詳しく述べる。
キャッシュメモリ2は、メインメモリ4より高速にデータアクセスが可能な記憶媒体であり、例えば、SRAM(Static Random Access Memory)である。
MMU5は、キャッシュ制御装置1からメモリアクセス信号線104を介して送られてきたメインメモリアドレスを示す論理アドレスを物理アドレスに変換する。
メインメモリ4は、キャッシュメモリ2よりアクセス速度が低速な記憶媒体であり、例えば、DRAM(Dynamic Random Access Memory)である。なお、メインメモリ4には、メインメモリ4に対するデータアクセスを制御するメモリコントローラが備わっている。
メモリコントローラは、メモリアクセス信号線104を介してキャッシュ制御装置1から送信されてきたメインメモリアドレス(物理アドレス)を受けると、当該アドレスを含む連続したアドレスに存在するデータ群をメインメモリ4から読み出して、データ信号105を介してキャッシュ制御装置1に当該データ群を送る。
<キャッシュ制御装置の構成>
次にキャッシュ制御装置1の構成について図面を用いて詳しく説明する。
図2は、キャッシュ制御装置1の機能構成を示す図である。
キャッシュ制御装置1は、タスクID入力レジスタ11、領域管理部12、アドレス分解部14、キャッシュ内アドレス生成部15、hit/miss判定部16、キャッシュディレクトリ17、キャッシング部18、データアクセス部19から成る。領域管理部12は、領域決定部13を含む。
領域管理部12は、マイクロプロセッサ3から領域指定信号線106を介して送られてきた領域指定情報に基づいて、キャッシュメモリ2のメモリ領域を分割し、各領域とタスクIDとを対応付けて管理する。
図2に示す各領域情報には、マイクロプロセッサ3によって並行処理されている各タスクのタスクIDが記載されている。
タスクID入力レジスタ11は、マイクロプロセッサ3からタスクID信号線101を介して送られてきたタスクIDを受け付け、領域管理部12に送る。
タスクID入力レジスタ11からタスクIDが送られてくると、領域管理部12は、送られてきたタスクIDと各領域情報に記載されているタスクIDを比較器(cmp)で比較する。送られてきたタスクIDと領域情報に記載されているタスクIDが一致した比較器は、領域を示す領域番号を領域決定部13に送る。
領域決定部13は、マイクロプロセッサ3から領域指定信号線106を介して送られてきた領域指定情報に基づいて領域管理テーブルを生成し、保持している。
図3は、領域管理テーブルの具体的な一例を示す図である。
領域管理テーブル20は、領域番号、ベースアドレス及びサイズを組にして対応付けた表である。
領域番号は、割り当てられた各領域を識別する番号である。
ベースアドレスは、各領域の開始位置を示すキャッシュ内アドレスである。
サイズは、各領域の容量を示す値であり、値1が1ラインに相当する。
なお、1ラインを16バイトとし、メインメモリの1アドレスには1バイト分のデータが格納されているものとする。
領域決定部13は、領域管理部12から送られてきた領域番号を受けて、領域管理表を参照し、当該領域番号と対応するベースアドレスをキャッシュ内アドレス生成部15に、サイズをアドレス分解部14に送る。
アドレス分解部14は、マイクロプロセッサ3からメモリアクセス信号線102を介して送られてきたメインメモリアドレス(論理アドレス)を受け付けて、当該メインメモリアドレス(論理アドレス)を3つのフィールドに分解する。分解される各フィールドをタグ、インデックス、バイトセレクトと呼ぶことにする。
図4は、16ビットで表されたメインメモリアドレス(論理アドレス)を分解する場合の3つのフィールドを示す図である。
タグは、キャッシュ内アドレス生成部15によって生成されたキャッシュ内アドレスに格納されているデータ群が、マイクロプロセッサ3から要求されたデータを含むデータ群であるか否かを判別するのに用いられる。
インデックスは、キャッシュ内アドレスを生成するのに用いられる。
バイトセレクトは、ライン単位のデータ群の中から要求されたデータを選択するのに用いられる。
本実施の形態において1ラインは、16個のデータであるので、メインメモリアドレス(論理アドレス)の下位4ビットをバイトセレクトとして用いる。
タグフィールドとインデックスフィールドそれぞれのフィールドサイズは、領域決定部13から送られてくる領域のサイズに応じて変わる。
例えば、指定された領域のサイズが256ライン(256×16バイト=4096バイト)の場合、メインメモリアドレス(論理アドレス)の上位4ビットをタグフィールド、続く8ビットをインデックスフィールドとする。インデックスの8ビットで、指定された領域の256ラインを表す。
また、指定された領域のサイズが128ラインであれば、メインメモリアドレスの上位5ビットをタグフィールド、続く7ビットをインデックスフィールドとし、インデックスの7ビットで、指定された領域の128ラインを表す。
アドレス分解部14は、インデックスをキャッシュ内アドレス生成部15に送り、タグをhit/miss判定部16に送り、バイトセレクトをデータアクセス部19に送る。
キャッシュ内アドレス生成部15は、領域決定部13から送られてきたベースアドレスと、アドレス分解部14から送られてきたインデックスを加算して、ライン単位のデータ群を格納するキャッシュメモリのアドレスを示すキャッシュ内アドレスを生成する。生成されたキャッシュ内アドレスは、hit/miss判定部16に送られる。
hit/miss判定部16は、キャッシュディレクトリ17を参照し、アドレス分解部14から送られてきたタグが、当該キャッシュディレクトリ17にキャッシュ内アドレスと対応付けて記録されているかどうかを確認して、キャッシュヒット又はキャッシュミスの判定を行う。キャッシュディレクトリ17は、キャッシュ内アドレスとタグとを対応付けたテーブルである。
キャッシュヒットの判定である場合、hit/miss判定部16は、アクセスするキャッシュ内アドレスをデータアクセス部19に送る。
キャッシュミスの判定である場合、hit/miss判定部16は、キャッシュ内アドレス生成部15から送られてきたキャッシュ内アドレスと、アドレス分解部14から送られてきたタグをキャッシング部18に送る。
キャッシング部18は、hit/miss判定部16がキャッシュミス判定をした場合に、アドレス分解部14が受け取ったメインメモリアドレス(論理アドレス)をメモリアクセス信号線104を介してMMU5に送る。MMU5は論理アドレスを変換した物理アドレスをメインメモリ4に送る。
そして、キャッシング部18は、データ信号線105を介してメインメモリ4から送られてきたライン単位のデータ群を取得して、hit/miss判定部16から受けたキャッシュ内アドレスに格納し、キャッシュディレクトリ17にタグとキャッシュ内アドレスとを対応付けて記録する。
データアクセス部19は、hit/miss判定部16からキャッシュ内アドレスを、アドレス分解部14からバイトセレクトを受けて、当該キャッシュ内アドレスに格納されているデータ群からバイトセレクトを用いて、要求されたデータのみを選択してデータの書き込み又は読み出しを行う。
リードアクセスである場合、該当データを読み出して、データ信号線103を介してマイクロプロセッサ3に送る。
<動作>
次に、キャッシュ制御装置1が、マイクロプロセッサ3からリードアクセスを受けて行うキャッシュ制御処理について説明する。
図5は、キャッシュ制御装置1が、マイクロプロセッサ3からリードアクセスを受けて行うキャッシュ制御処理を説明するためのフローチャートである。
まず、タスクID入力レジスタ11が、マイクロプロセッサ3から送られてきたタスクIDを受け付け(ステップS1)、領域管理部12に送る。
領域管理部12は、各領域情報に記載されているタスクIDと、タスクID入力レジスタ11から送られてきたタスクIDとを、比較器(cmp)で比較して領域番号を領域決定部13に送る。
領域決定部13は、送られてきた領域番号を受けて、領域管理表を参照して領域を決定し(ステップS2)、当該領域番号と対応するベースアドレスをキャッシュ内アドレス生成部15に、サイズをアドレス分解部14に送る。
アドレス分解部14は、マイクロプロセッサ3から送られてきたメインメモリアドレスを受け付けて(ステップS3)、タグ、インデックス、バイトセレクトに分解する。
続いて、キャッシュアドレス生成部15において、インデックスと、ベースアドレスを加算することでキャッシュ内アドレスを生成する。タグとキャッシュ内アドレスは、hit/miss判定部16に送られる。
hit/miss判定部16は、キャッシュディレクトリ17を参照して、送られてきたタグがキャッシュ内アドレスと対応付けて記録されているか否かを判定する(ステップS4)。
タグがキャッシュ内アドレスと対応付けて記録されている場合、すなわちキャッシュヒットの場合(ステップS4:HIT)、ステップS8に進む。
タグがキャッシュ内アドレスと対応付けて記録されていない場合、すなわちキャッシュミスの場合(ステップS4:MISS)、キャッシュ制御装置1は、メインメモリ4にデータ群の取得要求を行い(ステップS6)、メインメモリ4から送られてきたデータ群を、キャッシュ内アドレスに格納する(ステップS7)。また、キャッシュディレクトリ17に、データ群を格納したキャッシュ内アドレスとタグとを対応付けて記録する。
ステップS8において、キャッシュ制御装置1は、要求されたデータをマイクロプロセッサ3に送出して、マイクロプロセッサ3から受けたリードアクセスにより行ったキャッシュ制御処理を終了する。
なお、ライトアクセスを受けた場合も、リードアクセスとほぼ同様のキャッシュ制御処理を行い、異なる点は、キャッシュメモリ2内のデータを読み出す代わりに、マイクロプロセッサ3から送られてきた書き込み用データをキャッシュメモリ2に書き込む点である。
<変形例>
次に上記実施の形態の変形例について説明する。
上記実施の形態で説明したキャッシュ制御装置1は、領域指定信号線106を介してマイクロプロセッサ3から領域指定情報を受け付け、並行処理される各タスクの数だけキャッシュメモリ2のメモリ領域を分割して、各タスクを識別するタスクIDと各領域とを対応付けて管理していたが、マイクロプロセッサ3から、特定のタスクを識別するタスクID及び当該タスクの処理に必要なキャッシュメモリサイズが含まれる領域指定情報を受け付けて、特定のタスクを識別するタスクIDを特定領域と対応付けて管理するようにしてもよい。
図7は、特定領域と一般領域とに分割して管理されているキャッシュメモリ2Aを示す図である。
図2に示す領域管理部12に含まれる領域情報は、本変形例の場合、特定領域情報のみが存在し、特定領域情報には、指定された特定のタスクを識別するタスクIDが記載されている。特定領域情報に記載されているタスクIDとタスクID入力レジスタ11から送られてきたタスクIDとの一致、不一致を比較する比較器(cmp)も1つだけである。それ以外の機能部については、上記実施形態で説明したキャッシュメモリ制御装置1と同様である。
この変形例におけるキャッシュ制御装置のキャッシュ制御処理について説明する。
図6は、変形例のキャッシュ制御装置1が行うキャッシュ制御処理を説明するためのフローチャートである。
まず、タスクID入力レジスタ11が、マイクロプロセッサ3から送られてきたタスクIDを受け付け(ステップS10)、領域管理部12に送る。
領域管理部12は、領域情報に記載されているタスクIDと、タスクID入力レジスタ11から送られてきたタスクIDとを、比較器(cmp)で比較し、一致すれば(ステップS11:YES)、特定領域を示す領域番号を領域決定部13に送り、図5に示すステップS3に進む。一致しなければ、(ステップS11:NO)、一般領域を示す領域番号を領域決定部13に送り、図5に示すステップS3に進む。ステップS3以降は、上記実施形態で説明したキャッシュ制御処理の動作と同様である。
特定領域と対応付けられるタスク(プログラム)は、例えば、リアルタイム性の保証を必要とするアプリケーションプログラム等である。
ここでいうリアルタイム性の保証とは、所定時間内に所定の処理を完了することを保証するという意味である。係るアプリケーションプログラムとして、映像や音声等のストリームデータの再生処理又は録画処理をするメディア処理アプリケーションプログラムが挙げられる。
このようなリアルタイム性の保証を必要とするアプリケーションプログラムには、予め当該プログラムがリアルタイム性の保証が必要である旨を示すフラグ情報及び必要なキャッシュメモリサイズ情報を含ませておき、マイクロプロセッサ3は、係るアプリケーションプログラムを1タスクとして、その他複数のタスクと合わせて並行処理する際に、フラグ情報を読み取ることで当該アプリケーションプログラムのタスクが特定のタスクであるとして、キャッシュ制御装置1に通知することができる。
<補足>
なお、本発明は上記実施の形態及び変形例に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)キャッシュメモリ2は、複数のウェイで構成されたものであってもよい。ウェイは、物理的又は論理的に独立しているメモリ領域の単位である。
上述した実施の形態の領域管理テーブル20は、領域番号、ベースアドレス及びサイズを組にして対応付けていたが、本発明のキャッシュ制御装置は、領域番号をウェイ番号とし、タスクIDとウェイとを対応付けて領域管理をするものであってもよい。
図8は、各領域に複数のウェイが含まれる形で領域管理されたキャッシュメモリ2Bを示す図である。
複数のウェイを含む領域については、セットアソシエィティブ方式を用いてキャッシング制御を行うようにしてもよい。
(2)上記実施の形態において、キャッシュ制御装置1は、各領域と各タスクとの対応付け及び領域のサイズを、マイクロプロセッサ3から通知された領域指定情報に基づいて設定したが、他の外部装置から係る領域指定情報を受け付けて設定するものであってもよい。例えば、タスク管理を行うハードウェアから受け付けてもよい。
(3)本発明に係るキャッシュ制御装置は、マイクロプロセッサ又は他の外部装置から受けた領域指定情報に基づいて、動的に領域の生成及び消去が可能であるとしてもよい。
(4)上記実施の形態において、キャッシュ制御装置1は、マイクロプロセッサ3からタスクIDを受け付けて領域指定を行っていたが、マルチプロセッサや、複数のプロセッサからプロセッサIDを受け付けて領域指定を行ってもよいし、プロセッサIDとタスクIDを共に受け付けて領域指定を行ってもよい。
(5)上記実施の形態において、各領域と各タスクとの対応関係は1対1であるが、複数のタスクが、同じメインメモリアドレスに存在するデータをアクセスする確率が高い場合、1つの領域と複数のタスクとを対応付けて管理してもよい。
例えば、マイクロプロセッサ3が、タスクA、タスクB及びタスクCを並行処理する場合、前記領域管理部12は、マイクロプロセッサ3から通知された領域指定情報に基づいて、キャッシュメモリ2を2つの領域に分割して、第1の領域と、タスクAを識別するタスクID及びタスクBを識別するタスクIDと対応付け、また、第2の領域とタスクCを識別するタスクIDとを対応付けて管理し、キャッシング部18は、タスクA又はタスクBの処理過程においてキャッシュミスがあった場合、キャッシングしたデータ群を第1の領域に格納し、タスクCの処理過程においてキャッシュミスがあった場合、キャッシングしたデータ群を、第2の領域に格納するようにしてもよい。
(6)実施の形態において、hit/miss判定部16は、キャッシュディレクトリ17に記録されている全てのキャッシュ内アドレスとタグとを対応付けた情報を参照してキャッシュミス、キャッシュヒットの判定をしていたが、キャッシュディレクトリ17に記録されている情報のうち、指定された領域内のキャッシュ内アドレスのみを参照するようにしてもよい。
(7)実施の形態において説明したコンピュータシステムにおいて、MMU5は、キャッシュ制御装置1とメインメモリ4の間に備えられていたが、マイクロプロセッサ3とキャッシュ制御装置1との間に備えられていてもよい。これにより、キャッシュメモリ制御装置1は、キャッシングしたデータ群をMMUによって変換されたメインメモリ4の物理アドレスに基づいて管理することができる。
(8)同一のアプリケーションプログラムが、複数の異なるタスクとして動作する場合は、OS又はタスク管理を行うハードウェアからタスク判別信号を受けて判別するようにしてもよい。
(9)上記実施の形態において、キャッシュ制御装置1がタスクID信号線101を介してマイクロプロセッサ3から受け付けるタスクIDは、タスクとして処理されるプログラムが格納されているメインメモリアドレスを示す論理アドレスそのものであってもよく、また、プログラムカウンタの値であってもよい。
(10)上記実施の形態において、キャッシュ制御装置1とキャッシュメモリ2は、それぞれ単体のデバイスであるとして説明したが、本発明は、キャッシュ制御装置1の機能とキャッシュメモリ2の機能を含む1のデバイスであってもよく、更に、マイクロプロセッサ3の機能をも含む1のデバイスであってもよい。
(11)上記実施の形態及び変形例のコンピュータシステムは、複数のタスクを時分割で並行処理していたが、複数のマイクロプロセッサ又は複数のタスクを同時処理することが可能なマルチプロセッサによって、複数のタスクを同時に並行処理するものであって、キャッシュメモリ2を共有して用いるものであってもよい。
(12)上記実施の形態及び変形例のコンピュータシステムは、複数のタスクを並行処理する前に、その並行処理の状況下において、マイクロプロセッサ3が、リアルタイム性を保証する必要性のあるアプリケーションプログラムのリアルタイム性を十分に保証できるだけの処理能力を持つものかどうかを判定し、十分な処理能力を持たないと判定した場合に、上述したようなキャッシュ制御処理をキャッシュ制御装置1に行わせるものであってもよい。
また、リアルタイム性の保証が必要なアプリケーションプログラムは、係る判定を行うためのテストプログラムを含むものであってもよい。
(13)上記変形例において、リアルタイム性を保証する必要性のあるアプリケーションプログラムには、リアルタイム性の保証が必要である旨を示すフラグ情報が含まれているとしたが、係るフラグ情報は、リアルタイム性の保証を要求する度合いを示す要求レベルを含むものであってもよい。
また、要求レベルが大きいフラグ情報を持つアプリケーションプログラムのタスクに、十分なキャッシュメモリ領域が割り当てられない場合、動的に他のタスクと対応付けられている領域のサイズを減らして、当該要求レベルが大きいフラグ情報を持つアプリケーションプログラムのタスクに割り当てるようにしてもよい。
(14)上記変形例において、例えば、ディスプレイにウィンドウを表示させるアプリケーションプログラムであって、別のアプリケーションプログラムによって表示されているウィンドウより前面に表示されている場合に、その前面に表示されたウィンドウのアプリケーションプログラムをリアルタイム性を保証する必要性のあるアプリケーションプログラムとしてもよい。また、タスクとして処理される各アプリケーションプログラムの動作履歴を、OSが管理して、Activeになっている頻度が多いものをリアルタイム性を保証する必要性のあるアプリケーションプログラムとしてもよい。
(15)本発明は、上記実施の形態に示すキャッシュ制御方法であるとしてもよい。また、キャッシュ制御方法を実現する制御プログラムであるとしてもよいし、前記制御プログラムからなるデジタル信号であるとしてもよい。
(16)本発明は、前記制御プログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリ等に記録したものとしてもよい。
(17)本発明は、前記制御プログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
(18)本発明は、前記制御プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記制御プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するものとしてもよい。
本発明に係るキャッシュ制御装置を、複数のタスクを並行処理するマイクロプロセッサ、キャッシュメモリ及びメインメモリを備えたコンピュータシステムに用いることにより、あるタスクの処理によって、別のタスクのキャッシュヒット率が低下する可能性をなくすことができるので、リアルタイム性の保証が必要とされるアプリケーションプログラムを含む複数のプログラムをマルチタスク処理するコンピュータシステムにおいて大変有用である。
本発明に係るキャッシュ制御装置を含むコンピュータシステムの構成を示す図である。 キャッシュ制御装置1の構成を示す図である。 領域管理テーブルの具体的な一例を示す図である。 16ビットで表されたメインメモリアドレスを分解する場合の3つのフィールドを示す図である。 キャッシュ制御装置1が行うキャッシュ制御処理を説明するためのフローチャートである。 変形例のキャッシュ制御装置1が行うキャッシュ制御処理を説明するためのフローチャートである。 特定領域と一般領域とに分割して管理されているキャッシュメモリ2Aを示す図である。 各領域に複数のウェイが含まれたキャッシュメモリ2Bを示す図である。
符号の説明
1 キャッシュ制御装置
2 キャッシュメモリ
3 マイクロプロセッサ
4 メインメモリ
5 MMU
11 タスクID入力レジスタ
12 領域管理部
13 領域決定部
14 アドレス分解部
15 キャッシュ内アドレス生成部
16 hit/miss判定部
17 キャッシュディレクトリ
18 キャッシング部
19 データアクセス部

Claims (16)

  1. 複数のタスクを並行処理するマイクロプロセッサ、キャッシュメモリ及びメインメモリを備えたコンピュータシステムにおいて、キャッシュメモリを制御するキャッシュ制御装置であって、
    前記各タスクと前記キャッシュメモリのメモリ領域を分割した各領域とを対応付けて管理する領域管理手段と、
    前記マイクロプロセッサからアクセス対象のデータが存在する前記メインメモリのアドレスを受け付けるアドレス受付手段と、
    あるタスクの処理過程において前記アドレスを受け付けたときに、当該アドレスに存在するデータが前記キャッシュメモリに格納されているかどうかを、当該キャッシュメモリの全メモリ領域を確認して判定し、当該アドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから当該アドレスに存在するデータを含むデータ群を取得し、当該タスクと対応付けられている領域にのみ格納するキャッシング手段とを備える
    ことを特徴とするキャッシュ制御装置。
  2. 前記領域管理手段は、前記キャッシュメモリのメモリ領域の分割を、前記各タスクと前記各タスクに対応したキャッシュ内アドレスに加算するベースアドレスとして管理することを特徴とする請求項1記載のキャッシュ制御装置。
  3. 前記領域管理手段は、前記マイクロプロセッサによって並行処理されているタスクの数に応じて前記キャッシュメモリのメモリ領域を複数の領域に分割し、各領域と各タスクとを対応付けて管理することを特徴とする請求項1記載のキャッシュ制御装置。
  4. 前記領域管理手段は、前記マイクロプロセッサによって並行処理されているタスクの数の情報と各タスクの処理に必要とされるキャッシュメモリサイズの情報とを受け付けて、係る情報に基づいて前記キャッシュメモリのメモリ領域を分割し、分割された各領域と各タスクとを対応付けて管理することを特徴とする請求項記載のキャッシュ制御装置。
  5. 前記キャッシュ制御装置は、
    前記マイクロプロセッサが処理中のタスクを識別するタスクIDを受け付けるタスクID受付手段を備え、
    前記領域管理手段は、前記キャッシュメモリ内の各領域と、前記各タスクのタスクIDとを対応付けて管理し、
    前記キャッシング手段は、前記タスクIDが受け付けたタスクIDが示すタスクの処理過程においてメインメモリから取得したデータ群を、当該タスクIDと対応付けられている領域に格納する
    ことを特徴とする請求記載のキャッシュ制御装置。
  6. 前記タスクIDは、識別対象のタスクであるプログラムが格納されているメモリアドレスであることを特徴とする請求項記載のキャッシュ制御装置。
  7. 前記タスクIDは、識別対象のタスクであるプログラムが格納されているメモリアドレスを変換したものであることを特徴とする請求項記載のキャッシュ制御装置。
  8. 前記マイクロプロセッサは、OS(Operating System )制御下でマルチタスク処理するものであり、
    前記タスクIDは、前記OSによって割り振られるプロセスIDであることを特徴とする請求項記載のキャッシュ制御装置。
  9. 前記キャッシュメモリは、複数のウェイで構成されており、
    前記領域管理手段によって各タスクと対応付けて管理されている各領域は、1又は複数のウェイを含む領域であることを特徴とする請求項記載のキャッシュ制御装置。
  10. 前記各領域のうち複数のウェイを含む領域については、セットアソシエィティブ方式を用いてキャッシング制御を行うことを特徴とする請求項記載のキャッシュ制御装置。
  11. 前記領域管理手段は、前記キャッシュメモリのメモリ領域を特定領域と一般領域に分割し、前記マイクロプロセッサによって並行処理される複数のタスクのうち、特定のタスクを特定領域と対応付けて管理し、
    前記キャッシング手段は、前記特定のタスクの処理過程において、前記アドレス受付手段により第1のアドレスを受け付けたときに、第1のアドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから第1のアドレスに存在するデータを含むデータ群を取得して、前記特定領域に格納し、前記特定のタスク以外のタスクの処理過程において、前記アドレス受付手段により第2のアドレスを受け付けたときに、第2のアドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから第2のアドレスに存在するデータを含むデータ群を取得して、前記一般領域に格納することを特徴とする請求項1記載のキャッシュ制御装置。
  12. 前記マイクロプロセッサは、第1のタスク、第2のタスク及び第3のタスクを並行処理し、
    前記領域管理手段は、前記キャッシュメモリを第1の領域と第2の領域とに分割し、第1の領域と第1のタスク及び第2のタスクとを対応付け、第2の領域と第3のタスクとを対応付けて管理し、
    前記キャッシング手段は、第1のタスク又は第2のタスクの処理過程において前記メインメモリから取得したデータ群を、第1の領域に格納し、第3のタスクの処理過程において前記メインメモリから取得したデータ群を、第2の領域に格納することを特徴とする請求項1記載のキャッシュ制御装置。
  13. 複数のタスクを並行処理するマイクロプロセッサ、キャッシュメモリ及びメインメモリを備えたコンピュータシステムにおいて用いられる、キャッシュ制御方法であって、
    領域管理手段は、前記各タスクと前記キャッシュメモリのメモリ領域を分割した各領域とを対応付けて管理する領域管理ステップと、
    アドレス受付手段は、前記マイクロプロセッサからアクセス対象のデータが存在する前記メインメモリのアドレスを受け付けるアドレス受付ステップと、
    キャッシング手段は、あるタスクの処理過程において前記アドレスを受け付けたときに、当該アドレスに存在するデータが前記キャッシュメモリに格納されているかどうかを、当該キャッシュメモリの全メモリ領域を確認して判定し、当該アドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから当該アドレスに存在するデータを含むデータ群を取得し、当該タスクと対応付けられている領域にのみ格納するキャッシングステップとを含む
    ことを特徴とするキャッシュ制御方法。
  14. 複数のタスクを並行処理するマイクロプロセッサ、キャッシュ制御装置、キャッシュメモリ及びメインメモリを備えたコンピュータシステムであって、
    前記キャッシュ制御装置は、
    前記各タスクと前記キャッシュメモリのメモリ領域を分割した各領域とを対応付けて管理する領域管理手段と、
    前記マイクロプロセッサからアクセス対象のデータが存在する前記メインメモリのアドレスを受け付けるアドレス受付手段と、
    あるタスクの処理過程において前記アドレスを受け付けたときに、当該アドレスに存在するデータが前記キャッシュメモリに格納されているかどうかを、当該キャッシュメモリの全メモリ領域を確認して判定し、当該アドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから当該アドレスに存在するデータを含むデータ群を取得し、当該タスクと対応付けられている領域にのみ格納するキャッシング手段とを備える
    ことを特徴とするコンピュータシステム。
  15. 前記コンピュータシステムは、
    前記マイクロプロセッサが発したアクセス対象のデータが存在する前記メインメモリのアドレスを示す論理アドレスを物理アドレスに変換し、当該物理アドレスを前記アドレス受付手段に送るアドレス変換手段を備え、
    前記キャッシュ制御装置は、
    前記キャッシング手段により格納されたデータ群を、前記アドレス受付手段が、前記アドレス変換手段より受け付けた前記物理アドレスを用いて管理するデータ群管理手段を備える
    ことを特徴とする請求項1に記載のコンピュータシステム。
  16. 前記キャッシュ制御装置は、
    前記キャッシング手段により格納されたデータ群を、前記アドレス受付手段が受け付けた、前記マイクロプロセッサが発したアクセス対象のデータが存在する前記メインメモリのアドレスを示す論理アドレスを用いて管理するデータ群管理手段を備え、
    前記コンピュータシステムは、
    前記キャッシュ制御装置から発せられたアクセス対象のデータが存在するメインメモリのアドレスを示す論理アドレスを物理アドレスに変換し、当該物理アドレスを前記メインメモリに送るアドレス変換手段を備える
    ことを特徴とする請求項1に記載のコンピュータシステム。
JP2003376178A 2002-11-11 2003-11-05 キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム Expired - Lifetime JP4664586B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003376178A JP4664586B2 (ja) 2002-11-11 2003-11-05 キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002327429 2002-11-11
JP2003376178A JP4664586B2 (ja) 2002-11-11 2003-11-05 キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム

Publications (2)

Publication Number Publication Date
JP2004178571A JP2004178571A (ja) 2004-06-24
JP4664586B2 true JP4664586B2 (ja) 2011-04-06

Family

ID=32716127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003376178A Expired - Lifetime JP4664586B2 (ja) 2002-11-11 2003-11-05 キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム

Country Status (1)

Country Link
JP (1) JP4664586B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8035650B2 (en) * 2006-07-25 2011-10-11 Qualcomm Incorporated Tiled cache for multiple software programs
JP2008097572A (ja) * 2006-09-11 2008-04-24 Matsushita Electric Ind Co Ltd 演算装置、コンピュータシステム、および携帯機器
JP5040773B2 (ja) 2008-03-31 2012-10-03 富士通株式会社 メモリバッファ割当装置およびプログラム
JP2010244435A (ja) 2009-04-08 2010-10-28 Panasonic Corp キャッシュ制御装置及びキャッシュ制御方法
JP6042170B2 (ja) * 2012-10-19 2016-12-14 ルネサスエレクトロニクス株式会社 キャッシュ制御装置及びキャッシュ制御方法
JP2019179413A (ja) * 2018-03-30 2019-10-17 株式会社デンソー キャッシュメモリ

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62126447A (ja) * 1985-11-28 1987-06-08 Nec Corp アドレス変換方法
JPS62144257A (ja) * 1985-12-19 1987-06-27 Mitsubishi Electric Corp キヤツシユメモリ
JPH03235144A (ja) * 1990-02-13 1991-10-21 Sanyo Electric Co Ltd キャッシュメモリ制御装置
JPH04100158A (ja) * 1990-08-18 1992-04-02 Pfu Ltd キャッシュ制御方式
JPH06282488A (ja) * 1993-03-25 1994-10-07 Mitsubishi Electric Corp キャッシュ記憶装置
JPH08263378A (ja) * 1995-03-22 1996-10-11 Nec Ibaraki Ltd ディスクキャッシュ制御装置
JPH10232834A (ja) * 1997-01-30 1998-09-02 Sgs Thomson Microelectron Ltd キャッシュメモリを作動する方法およびコンピュータシステム
JPH10293720A (ja) * 1997-03-05 1998-11-04 Sgs Thomson Microelectron Ltd コンピュータシステムにおけるキャッシュ・コヒーレンシー機構および主メモリに保持されている項目に関してキャッシュの内容のコヒーレンシー状態を変更する方法
JPH11509356A (ja) * 1997-01-30 1999-08-17 エスティーマイクロエレクトロニクス、リミテッド キャッシュシステム
JP2000056993A (ja) * 1998-08-10 2000-02-25 Hitachi Ltd 外部記憶装置コントローラのキャッシュメモリ制御方法
JP2000276403A (ja) * 1999-03-23 2000-10-06 Nec Corp キャッシュメモリシステム

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62126447A (ja) * 1985-11-28 1987-06-08 Nec Corp アドレス変換方法
JPS62144257A (ja) * 1985-12-19 1987-06-27 Mitsubishi Electric Corp キヤツシユメモリ
JPH03235144A (ja) * 1990-02-13 1991-10-21 Sanyo Electric Co Ltd キャッシュメモリ制御装置
JPH04100158A (ja) * 1990-08-18 1992-04-02 Pfu Ltd キャッシュ制御方式
JPH06282488A (ja) * 1993-03-25 1994-10-07 Mitsubishi Electric Corp キャッシュ記憶装置
JPH08263378A (ja) * 1995-03-22 1996-10-11 Nec Ibaraki Ltd ディスクキャッシュ制御装置
JPH10232834A (ja) * 1997-01-30 1998-09-02 Sgs Thomson Microelectron Ltd キャッシュメモリを作動する方法およびコンピュータシステム
JPH10232839A (ja) * 1997-01-30 1998-09-02 Sgs Thomson Microelectron Ltd キャッシュシステムおよびキャッシュメモリの作動方法
JPH11509356A (ja) * 1997-01-30 1999-08-17 エスティーマイクロエレクトロニクス、リミテッド キャッシュシステム
JPH10293720A (ja) * 1997-03-05 1998-11-04 Sgs Thomson Microelectron Ltd コンピュータシステムにおけるキャッシュ・コヒーレンシー機構および主メモリに保持されている項目に関してキャッシュの内容のコヒーレンシー状態を変更する方法
JP2000056993A (ja) * 1998-08-10 2000-02-25 Hitachi Ltd 外部記憶装置コントローラのキャッシュメモリ制御方法
JP2000276403A (ja) * 1999-03-23 2000-10-06 Nec Corp キャッシュメモリシステム

Also Published As

Publication number Publication date
JP2004178571A (ja) 2004-06-24

Similar Documents

Publication Publication Date Title
US9996466B2 (en) Apparatus, system and method for caching compressed data
US6795897B2 (en) Selective memory controller access path for directory caching
JP5313168B2 (ja) プロセッサにおいてキャッシュポリシーを設定するための方法および装置
US10152428B1 (en) Virtual memory service levels
US8291175B2 (en) Processor-bus attached flash main-memory module
US8122216B2 (en) Systems and methods for masking latency of memory reorganization work in a compressed memory system
US7962700B2 (en) Systems and methods for reducing latency for accessing compressed memory using stratified compressed memory architectures and organization
US7783859B2 (en) Processing system implementing variable page size memory organization
JP3264319B2 (ja) バスブリッジ
US8055851B2 (en) Line swapping scheme to reduce back invalidations in a snoop filter
JP5583274B2 (ja) コンピュータ・メモリを管理する方法、対応するコンピュータ・プログラム製品、およびそのためのデータ・ストレージ・デバイス
US10628318B2 (en) Cache sector usage prediction
US20110320720A1 (en) Cache Line Replacement In A Symmetric Multiprocessing Computer
JP2011204060A (ja) ディスク装置
JP2009524137A (ja) 上位レベル・キャッシュのエビクション候補を識別するための巡回スヌープ
US7197605B2 (en) Allocating cache lines
US7246202B2 (en) Cache controller, cache control method, and computer system
US20140115226A1 (en) Cache management based on physical memory device characteristics
US7308557B2 (en) Method and apparatus for invalidating entries within a translation control entry (TCE) cache
EP3485382B1 (en) System and method for storing cache location information for cache entry transfer
JP4664586B2 (ja) キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム
US8812782B2 (en) Memory management system and memory management method
US6931510B1 (en) Method and system for translation lookaside buffer coherence in multiprocessor systems
US6918023B2 (en) Method, system, and computer program product for invalidating pretranslations for dynamic memory removal
JP2636746B2 (ja) 入出力キャッシュ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100325

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110107

R150 Certificate of patent or registration of utility model

Ref document number: 4664586

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

EXPY Cancellation because of completion of term