JP4664586B2 - キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム - Google Patents
キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 71
- 238000012545 processing Methods 0.000 claims description 33
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000007726 management method Methods 0.000 claims 11
- 238000013523 data management Methods 0.000 claims 1
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
例えば、一般的なパソコンでは、マイクロプロセッサ内にあるレジスタ、キャッシュメモリ、メインメモリ、ハードディスクといった各記憶装置を、階層化して用いている。
キャッシュ制御装置は、マイクロプロセッサからアクセス要求されたデータがキャッシュメモリに格納されていなければ、当該データを含む、連続したアドレスに格納されているデータ群をメインメモリから取得して、キャッシュメモリに格納する。
また、マイクロプロセッサがアクセス要求するデータが格納されていないためアクセスに失敗することをキャッシュミスと呼ぶ。
キャッシュミスが起こると、キャッシュ制御装置は、メインメモリから要求されたデータを含むデータ群をライン単位でキャッシングするが、その間、マイクロプロセッサはキャッシングが終わるまで待ち状態となる。
マイクロプロセッサが処理するプログラムのメモリアクセスパターンには、アクセスされたメインメモリアドレスの近傍アドレスが、近い将来にアクセスされる確率が高いことを示す空間的局所性と、アクセスされたメインメモリアドレスが、近い将来に再びアクセスされる確率が高いことを示す時間的局所性の2つの性質があるので、キャッシュミスによってライン単位でキャッシングしたデータ群は、近い将来にアクセスされる可能性が高いと言える。
主なキャッシュ制御方法として、フルアソシエィティブ方式、ダイレクトマッピング方式、セットアソシエィティブ方式の3つが挙げられ、これらのキャッシュ制御方法については、下記の非特許文献に詳しく説明されている。
斎藤忠夫・大森健児共著「現代 計算機アーキテクチャ原理」オーム社出版、平成6年4月10日、p112
本発明は、上記問題を解決するべくなされたものであり、複数のタスクを並行処理するコンピュータシステムにおいて、あるタスクの処理によって、別のタスクのキャッシュヒット率が低下する可能性をなくすべく、新たなキャッシュ制御方法を用いてキャッシュメモリを制御するキャッシュ制御装置及び当該キャッシュ制御方法を提供することを目的とする。
上記目的を達成するために本発明に係るキャッシュ制御装置は、複数のタスクを並行処理するマイクロプロセッサ、キャッシュメモリ及びメインメモリを備えたコンピュータシステムにおいて、キャッシュメモリを制御するキャッシュ制御装置であって、前記各タスクと前記キャッシュメモリのメモリ領域を分割した各領域とを対応付けて管理する領域管理手段と、前記マイクロプロセッサからアクセス対象のデータが存在する前記メインメモリのアドレスを受け付けるアドレス受付手段と、あるタスクの処理過程において前記アドレスを受け付けたときに、当該アドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから当該アドレスに存在するデータを含むデータ群を取得し、当該タスクと対応付けられている領域に格納するキャッシング手段とを備えることを特徴とする。
この構成により、マイクロプロセッサによって並行処理されているタスクの数に応じて、キャッシュメモリを分割して各タスクと各領域とを対応付けて管理することができる。
この構成により、各タスクの処理において必要とされるキャッシュメモリサイズが確保することができる。例えば、高速アクセスを必要としないタスクには、割り当てるキャッシュサイズを小さくし、高速アクセスを必要とするタスクには、割り当てるキャッシュサイズを大きくするといった調整が可能である。
また、前記タスクIDは、識別対象のタスクであるプログラムが格納されているメモリアドレスであるとしてもよいし、前記タスクIDは、識別対象のタスクであるプログラムが格納されているメモリアドレスを変換したものであるとしてもよい。
また、前記キャッシュ制御装置は、あるタスクの処理過程において前記アドレス受付手段により受け付けられたアドレスに存在するデータが前記キャッシュメモリに格納されているかどうかを、当該キャッシュメモリの全メモリ領域を確認して判定する判定手段を備えることとしてもよい。
この構成により、キャッシュメモリ内に格納されているデータ群を素早く検出することができる。
また、前記各領域のうち複数のウェイを含む領域については、セットアソシエィティブ方式を用いてキャッシング制御を行うこととしてもよい。
また、本発明に係るキャッシュ制御方法は、複数のタスクを並行処理するマイクロプロセッサ、キャッシュメモリ及びメインメモリを備えたコンピュータシステムにおいて用いられるキャッシュ制御方法であって、前記各タスクと前記キャッシュメモリのメモリ領域を分割した各領域とを対応付けて管理する領域管理ステップと、前記マイクロプロセッサからアクセス対象のデータが存在する前記メインメモリのアドレスを受け付けるアドレス受付ステップと、あるタスクの処理過程において前記アドレスを受け付けたときに、当該アドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから当該アドレスに存在するデータを含むデータ群を取得し、当該タスクと対応付けられている領域に格納するキャッシングステップとを含むことを特徴とする。
<コンピュータシステムの構成>
図1は、本発明に係るキャッシュ制御装置を含むコンピュータシステムの構成を示す図である。
マイクロプロセッサ3は、プログラムの処理及び各種演算を行なうデバイスであり、OS(Operating System)制御下において、複数のプログラムをタスクとしてマルチタスク処理を行う。
タスクIDは、タスクとして処理されるプログラムが格納されているメインメモリアドレスを示す論理アドレスを変換して生成する。
更に、マイクロプロセッサ3は、OS等のシステム管理を行うプログラムを処理した際に、処理するタスクの数、各タスクを識別するタスクID、各タスクが必要とするキャッシュメモリサイズ等を含む領域指定情報を領域指定信号線106を介してキャッシュ制御装置1に送る。
キャッシュメモリ2は、メインメモリ4より高速にデータアクセスが可能な記憶媒体であり、例えば、SRAM(Static Random Access Memory)である。
MMU5は、キャッシュ制御装置1からメモリアクセス信号線104を介して送られてきたメインメモリアドレスを示す論理アドレスを物理アドレスに変換する。
メモリコントローラは、メモリアクセス信号線104を介してキャッシュ制御装置1から送信されてきたメインメモリアドレス(物理アドレス)を受けると、当該アドレスを含む連続したアドレスに存在するデータ群をメインメモリ4から読み出して、データ信号105を介してキャッシュ制御装置1に当該データ群を送る。
<キャッシュ制御装置の構成>
次にキャッシュ制御装置1の構成について図面を用いて詳しく説明する。
キャッシュ制御装置1は、タスクID入力レジスタ11、領域管理部12、アドレス分解部14、キャッシュ内アドレス生成部15、hit/miss判定部16、キャッシュディレクトリ17、キャッシング部18、データアクセス部19から成る。領域管理部12は、領域決定部13を含む。
図2に示す各領域情報には、マイクロプロセッサ3によって並行処理されている各タスクのタスクIDが記載されている。
タスクID入力レジスタ11からタスクIDが送られてくると、領域管理部12は、送られてきたタスクIDと各領域情報に記載されているタスクIDを比較器(cmp)で比較する。送られてきたタスクIDと領域情報に記載されているタスクIDが一致した比較器は、領域を示す領域番号を領域決定部13に送る。
図3は、領域管理テーブルの具体的な一例を示す図である。
領域管理テーブル20は、領域番号、ベースアドレス及びサイズを組にして対応付けた表である。
ベースアドレスは、各領域の開始位置を示すキャッシュ内アドレスである。
サイズは、各領域の容量を示す値であり、値1が1ラインに相当する。
なお、1ラインを16バイトとし、メインメモリの1アドレスには1バイト分のデータが格納されているものとする。
アドレス分解部14は、マイクロプロセッサ3からメモリアクセス信号線102を介して送られてきたメインメモリアドレス(論理アドレス)を受け付けて、当該メインメモリアドレス(論理アドレス)を3つのフィールドに分解する。分解される各フィールドをタグ、インデックス、バイトセレクトと呼ぶことにする。
タグは、キャッシュ内アドレス生成部15によって生成されたキャッシュ内アドレスに格納されているデータ群が、マイクロプロセッサ3から要求されたデータを含むデータ群であるか否かを判別するのに用いられる。
バイトセレクトは、ライン単位のデータ群の中から要求されたデータを選択するのに用いられる。
本実施の形態において1ラインは、16個のデータであるので、メインメモリアドレス(論理アドレス)の下位4ビットをバイトセレクトとして用いる。
例えば、指定された領域のサイズが256ライン(256×16バイト=4096バイト)の場合、メインメモリアドレス(論理アドレス)の上位4ビットをタグフィールド、続く8ビットをインデックスフィールドとする。インデックスの8ビットで、指定された領域の256ラインを表す。
アドレス分解部14は、インデックスをキャッシュ内アドレス生成部15に送り、タグをhit/miss判定部16に送り、バイトセレクトをデータアクセス部19に送る。
hit/miss判定部16は、キャッシュディレクトリ17を参照し、アドレス分解部14から送られてきたタグが、当該キャッシュディレクトリ17にキャッシュ内アドレスと対応付けて記録されているかどうかを確認して、キャッシュヒット又はキャッシュミスの判定を行う。キャッシュディレクトリ17は、キャッシュ内アドレスとタグとを対応付けたテーブルである。
キャッシュミスの判定である場合、hit/miss判定部16は、キャッシュ内アドレス生成部15から送られてきたキャッシュ内アドレスと、アドレス分解部14から送られてきたタグをキャッシング部18に送る。
そして、キャッシング部18は、データ信号線105を介してメインメモリ4から送られてきたライン単位のデータ群を取得して、hit/miss判定部16から受けたキャッシュ内アドレスに格納し、キャッシュディレクトリ17にタグとキャッシュ内アドレスとを対応付けて記録する。
リードアクセスである場合、該当データを読み出して、データ信号線103を介してマイクロプロセッサ3に送る。
次に、キャッシュ制御装置1が、マイクロプロセッサ3からリードアクセスを受けて行うキャッシュ制御処理について説明する。
図5は、キャッシュ制御装置1が、マイクロプロセッサ3からリードアクセスを受けて行うキャッシュ制御処理を説明するためのフローチャートである。
領域管理部12は、各領域情報に記載されているタスクIDと、タスクID入力レジスタ11から送られてきたタスクIDとを、比較器(cmp)で比較して領域番号を領域決定部13に送る。
アドレス分解部14は、マイクロプロセッサ3から送られてきたメインメモリアドレスを受け付けて(ステップS3)、タグ、インデックス、バイトセレクトに分解する。
hit/miss判定部16は、キャッシュディレクトリ17を参照して、送られてきたタグがキャッシュ内アドレスと対応付けて記録されているか否かを判定する(ステップS4)。
タグがキャッシュ内アドレスと対応付けて記録されていない場合、すなわちキャッシュミスの場合(ステップS4:MISS)、キャッシュ制御装置1は、メインメモリ4にデータ群の取得要求を行い(ステップS6)、メインメモリ4から送られてきたデータ群を、キャッシュ内アドレスに格納する(ステップS7)。また、キャッシュディレクトリ17に、データ群を格納したキャッシュ内アドレスとタグとを対応付けて記録する。
なお、ライトアクセスを受けた場合も、リードアクセスとほぼ同様のキャッシュ制御処理を行い、異なる点は、キャッシュメモリ2内のデータを読み出す代わりに、マイクロプロセッサ3から送られてきた書き込み用データをキャッシュメモリ2に書き込む点である。
次に上記実施の形態の変形例について説明する。
上記実施の形態で説明したキャッシュ制御装置1は、領域指定信号線106を介してマイクロプロセッサ3から領域指定情報を受け付け、並行処理される各タスクの数だけキャッシュメモリ2のメモリ領域を分割して、各タスクを識別するタスクIDと各領域とを対応付けて管理していたが、マイクロプロセッサ3から、特定のタスクを識別するタスクID及び当該タスクの処理に必要なキャッシュメモリサイズが含まれる領域指定情報を受け付けて、特定のタスクを識別するタスクIDを特定領域と対応付けて管理するようにしてもよい。
図2に示す領域管理部12に含まれる領域情報は、本変形例の場合、特定領域情報のみが存在し、特定領域情報には、指定された特定のタスクを識別するタスクIDが記載されている。特定領域情報に記載されているタスクIDとタスクID入力レジスタ11から送られてきたタスクIDとの一致、不一致を比較する比較器(cmp)も1つだけである。それ以外の機能部については、上記実施形態で説明したキャッシュメモリ制御装置1と同様である。
図6は、変形例のキャッシュ制御装置1が行うキャッシュ制御処理を説明するためのフローチャートである。
まず、タスクID入力レジスタ11が、マイクロプロセッサ3から送られてきたタスクIDを受け付け(ステップS10)、領域管理部12に送る。
ここでいうリアルタイム性の保証とは、所定時間内に所定の処理を完了することを保証するという意味である。係るアプリケーションプログラムとして、映像や音声等のストリームデータの再生処理又は録画処理をするメディア処理アプリケーションプログラムが挙げられる。
<補足>
なお、本発明は上記実施の形態及び変形例に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
上述した実施の形態の領域管理テーブル20は、領域番号、ベースアドレス及びサイズを組にして対応付けていたが、本発明のキャッシュ制御装置は、領域番号をウェイ番号とし、タスクIDとウェイとを対応付けて領域管理をするものであってもよい。
複数のウェイを含む領域については、セットアソシエィティブ方式を用いてキャッシング制御を行うようにしてもよい。
(2)上記実施の形態において、キャッシュ制御装置1は、各領域と各タスクとの対応付け及び領域のサイズを、マイクロプロセッサ3から通知された領域指定情報に基づいて設定したが、他の外部装置から係る領域指定情報を受け付けて設定するものであってもよい。例えば、タスク管理を行うハードウェアから受け付けてもよい。
(4)上記実施の形態において、キャッシュ制御装置1は、マイクロプロセッサ3からタスクIDを受け付けて領域指定を行っていたが、マルチプロセッサや、複数のプロセッサからプロセッサIDを受け付けて領域指定を行ってもよいし、プロセッサIDとタスクIDを共に受け付けて領域指定を行ってもよい。
例えば、マイクロプロセッサ3が、タスクA、タスクB及びタスクCを並行処理する場合、前記領域管理部12は、マイクロプロセッサ3から通知された領域指定情報に基づいて、キャッシュメモリ2を2つの領域に分割して、第1の領域と、タスクAを識別するタスクID及びタスクBを識別するタスクIDと対応付け、また、第2の領域とタスクCを識別するタスクIDとを対応付けて管理し、キャッシング部18は、タスクA又はタスクBの処理過程においてキャッシュミスがあった場合、キャッシングしたデータ群を第1の領域に格納し、タスクCの処理過程においてキャッシュミスがあった場合、キャッシングしたデータ群を、第2の領域に格納するようにしてもよい。
(9)上記実施の形態において、キャッシュ制御装置1がタスクID信号線101を介してマイクロプロセッサ3から受け付けるタスクIDは、タスクとして処理されるプログラムが格納されているメインメモリアドレスを示す論理アドレスそのものであってもよく、また、プログラムカウンタの値であってもよい。
(11)上記実施の形態及び変形例のコンピュータシステムは、複数のタスクを時分割で並行処理していたが、複数のマイクロプロセッサ又は複数のタスクを同時処理することが可能なマルチプロセッサによって、複数のタスクを同時に並行処理するものであって、キャッシュメモリ2を共有して用いるものであってもよい。
(13)上記変形例において、リアルタイム性を保証する必要性のあるアプリケーションプログラムには、リアルタイム性の保証が必要である旨を示すフラグ情報が含まれているとしたが、係るフラグ情報は、リアルタイム性の保証を要求する度合いを示す要求レベルを含むものであってもよい。
(14)上記変形例において、例えば、ディスプレイにウィンドウを表示させるアプリケーションプログラムであって、別のアプリケーションプログラムによって表示されているウィンドウより前面に表示されている場合に、その前面に表示されたウィンドウのアプリケーションプログラムをリアルタイム性を保証する必要性のあるアプリケーションプログラムとしてもよい。また、タスクとして処理される各アプリケーションプログラムの動作履歴を、OSが管理して、Activeになっている頻度が多いものをリアルタイム性を保証する必要性のあるアプリケーションプログラムとしてもよい。
(16)本発明は、前記制御プログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリ等に記録したものとしてもよい。
(18)本発明は、前記制御プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記制御プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するものとしてもよい。
2 キャッシュメモリ
3 マイクロプロセッサ
4 メインメモリ
5 MMU
11 タスクID入力レジスタ
12 領域管理部
13 領域決定部
14 アドレス分解部
15 キャッシュ内アドレス生成部
16 hit/miss判定部
17 キャッシュディレクトリ
18 キャッシング部
19 データアクセス部
Claims (16)
- 複数のタスクを並行処理するマイクロプロセッサ、キャッシュメモリ及びメインメモリを備えたコンピュータシステムにおいて、キャッシュメモリを制御するキャッシュ制御装置であって、
前記各タスクと前記キャッシュメモリのメモリ領域を分割した各領域とを対応付けて管理する領域管理手段と、
前記マイクロプロセッサからアクセス対象のデータが存在する前記メインメモリのアドレスを受け付けるアドレス受付手段と、
あるタスクの処理過程において前記アドレスを受け付けたときに、当該アドレスに存在するデータが前記キャッシュメモリに格納されているかどうかを、当該キャッシュメモリの全メモリ領域を確認して判定し、当該アドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから当該アドレスに存在するデータを含むデータ群を取得し、当該タスクと対応付けられている領域にのみ格納するキャッシング手段とを備える
ことを特徴とするキャッシュ制御装置。 - 前記領域管理手段は、前記キャッシュメモリのメモリ領域の分割を、前記各タスクと前記各タスクに対応したキャッシュ内アドレスに加算するベースアドレスとして管理することを特徴とする請求項1記載のキャッシュ制御装置。
- 前記領域管理手段は、前記マイクロプロセッサによって並行処理されているタスクの数に応じて前記キャッシュメモリのメモリ領域を複数の領域に分割し、各領域と各タスクとを対応付けて管理することを特徴とする請求項1記載のキャッシュ制御装置。
- 前記領域管理手段は、前記マイクロプロセッサによって並行処理されているタスクの数の情報と各タスクの処理に必要とされるキャッシュメモリサイズの情報とを受け付けて、係る情報に基づいて前記キャッシュメモリのメモリ領域を分割し、分割された各領域と各タスクとを対応付けて管理することを特徴とする請求項3記載のキャッシュ制御装置。
- 前記キャッシュ制御装置は、
前記マイクロプロセッサが処理中のタスクを識別するタスクIDを受け付けるタスクID受付手段を備え、
前記領域管理手段は、前記キャッシュメモリ内の各領域と、前記各タスクのタスクIDとを対応付けて管理し、
前記キャッシング手段は、前記タスクIDが受け付けたタスクIDが示すタスクの処理過程においてメインメモリから取得したデータ群を、当該タスクIDと対応付けられている領域に格納する
ことを特徴とする請求項4記載のキャッシュ制御装置。 - 前記タスクIDは、識別対象のタスクであるプログラムが格納されているメモリアドレスであることを特徴とする請求項5記載のキャッシュ制御装置。
- 前記タスクIDは、識別対象のタスクであるプログラムが格納されているメモリアドレスを変換したものであることを特徴とする請求項5記載のキャッシュ制御装置。
- 前記マイクロプロセッサは、OS(Operating System )制御下でマルチタスク処理するものであり、
前記タスクIDは、前記OSによって割り振られるプロセスIDであることを特徴とする請求項5記載のキャッシュ制御装置。 - 前記キャッシュメモリは、複数のウェイで構成されており、
前記領域管理手段によって各タスクと対応付けて管理されている各領域は、1又は複数のウェイを含む領域であることを特徴とする請求項5記載のキャッシュ制御装置。 - 前記各領域のうち複数のウェイを含む領域については、セットアソシエィティブ方式を用いてキャッシング制御を行うことを特徴とする請求項9記載のキャッシュ制御装置。
- 前記領域管理手段は、前記キャッシュメモリのメモリ領域を特定領域と一般領域に分割し、前記マイクロプロセッサによって並行処理される複数のタスクのうち、特定のタスクを特定領域と対応付けて管理し、
前記キャッシング手段は、前記特定のタスクの処理過程において、前記アドレス受付手段により第1のアドレスを受け付けたときに、第1のアドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから第1のアドレスに存在するデータを含むデータ群を取得して、前記特定領域に格納し、前記特定のタスク以外のタスクの処理過程において、前記アドレス受付手段により第2のアドレスを受け付けたときに、第2のアドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから第2のアドレスに存在するデータを含むデータ群を取得して、前記一般領域に格納することを特徴とする請求項1記載のキャッシュ制御装置。 - 前記マイクロプロセッサは、第1のタスク、第2のタスク及び第3のタスクを並行処理し、
前記領域管理手段は、前記キャッシュメモリを第1の領域と第2の領域とに分割し、第1の領域と第1のタスク及び第2のタスクとを対応付け、第2の領域と第3のタスクとを対応付けて管理し、
前記キャッシング手段は、第1のタスク又は第2のタスクの処理過程において前記メインメモリから取得したデータ群を、第1の領域に格納し、第3のタスクの処理過程において前記メインメモリから取得したデータ群を、第2の領域に格納することを特徴とする請求項1記載のキャッシュ制御装置。 - 複数のタスクを並行処理するマイクロプロセッサ、キャッシュメモリ及びメインメモリを備えたコンピュータシステムにおいて用いられる、キャッシュ制御方法であって、
領域管理手段は、前記各タスクと前記キャッシュメモリのメモリ領域を分割した各領域とを対応付けて管理する領域管理ステップと、
アドレス受付手段は、前記マイクロプロセッサからアクセス対象のデータが存在する前記メインメモリのアドレスを受け付けるアドレス受付ステップと、
キャッシング手段は、あるタスクの処理過程において前記アドレスを受け付けたときに、当該アドレスに存在するデータが前記キャッシュメモリに格納されているかどうかを、当該キャッシュメモリの全メモリ領域を確認して判定し、当該アドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから当該アドレスに存在するデータを含むデータ群を取得し、当該タスクと対応付けられている領域にのみ格納するキャッシングステップとを含む
ことを特徴とするキャッシュ制御方法。 - 複数のタスクを並行処理するマイクロプロセッサ、キャッシュ制御装置、キャッシュメモリ及びメインメモリを備えたコンピュータシステムであって、
前記キャッシュ制御装置は、
前記各タスクと前記キャッシュメモリのメモリ領域を分割した各領域とを対応付けて管理する領域管理手段と、
前記マイクロプロセッサからアクセス対象のデータが存在する前記メインメモリのアドレスを受け付けるアドレス受付手段と、
あるタスクの処理過程において前記アドレスを受け付けたときに、当該アドレスに存在するデータが前記キャッシュメモリに格納されているかどうかを、当該キャッシュメモリの全メモリ領域を確認して判定し、当該アドレスに存在するデータが前記キャッシュメモリに格納されていない場合、前記メインメモリから当該アドレスに存在するデータを含むデータ群を取得し、当該タスクと対応付けられている領域にのみ格納するキャッシング手段とを備える
ことを特徴とするコンピュータシステム。 - 前記コンピュータシステムは、
前記マイクロプロセッサが発したアクセス対象のデータが存在する前記メインメモリのアドレスを示す論理アドレスを物理アドレスに変換し、当該物理アドレスを前記アドレス受付手段に送るアドレス変換手段を備え、
前記キャッシュ制御装置は、
前記キャッシング手段により格納されたデータ群を、前記アドレス受付手段が、前記アドレス変換手段より受け付けた前記物理アドレスを用いて管理するデータ群管理手段を備える
ことを特徴とする請求項14に記載のコンピュータシステム。 - 前記キャッシュ制御装置は、
前記キャッシング手段により格納されたデータ群を、前記アドレス受付手段が受け付けた、前記マイクロプロセッサが発したアクセス対象のデータが存在する前記メインメモリのアドレスを示す論理アドレスを用いて管理するデータ群管理手段を備え、
前記コンピュータシステムは、
前記キャッシュ制御装置から発せられたアクセス対象のデータが存在するメインメモリのアドレスを示す論理アドレスを物理アドレスに変換し、当該物理アドレスを前記メインメモリに送るアドレス変換手段を備える
ことを特徴とする請求項14に記載のコンピュータシステム。
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)
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)
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 | キャッシュメモリシステム |
-
2003
- 2003-11-05 JP JP2003376178A patent/JP4664586B2/ja not_active Expired - Lifetime
Patent Citations (12)
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 |