JP2004046643A - キャッシュ装置および記憶手段選択方法 - Google Patents
キャッシュ装置および記憶手段選択方法 Download PDFInfo
- Publication number
- JP2004046643A JP2004046643A JP2002204643A JP2002204643A JP2004046643A JP 2004046643 A JP2004046643 A JP 2004046643A JP 2002204643 A JP2002204643 A JP 2002204643A JP 2002204643 A JP2002204643 A JP 2002204643A JP 2004046643 A JP2004046643 A JP 2004046643A
- Authority
- JP
- Japan
- Prior art keywords
- tag
- cache
- address
- data
- accessed
- 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.)
- Abandoned
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】演算処理装置のアクセス効率を向上する。
【解決手段】主記憶装置6とCPU4との間で転送されるデータを格納するキャッシュ装置1において、転送されるデータを格納する複数のキャッシュバンクと、アクセス要求を受けたデータのアドレスのバンク62を読み出し、バンク62の値に対応するキャッシュバンクを選択するキャッシュバンク制御装置5とを設け、キャッシュバンク制御装置5は、選択したキャッシュバンクとCPU4がアクセスするように制御する。
【選択図】 図1
【解決手段】主記憶装置6とCPU4との間で転送されるデータを格納するキャッシュ装置1において、転送されるデータを格納する複数のキャッシュバンクと、アクセス要求を受けたデータのアドレスのバンク62を読み出し、バンク62の値に対応するキャッシュバンクを選択するキャッシュバンク制御装置5とを設け、キャッシュバンク制御装置5は、選択したキャッシュバンクとCPU4がアクセスするように制御する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、演算処理装置と主記憶装置との間で転送されるデータを格納するキャッシュ装置および記憶手段選択方法に関する。
【0002】
【従来の技術】
従来、CPU(Central Processing Unit;中央処理装置)と主記憶装置との間に、キャッシュ装置と呼ばれる記憶装置が設けられている。一般に、コンピュータシステムでは、主記憶装置に大容量で低速なデバイスを用い、キャッシュ装置に小容量で高速なデバイスを用いることによりコストとパフォーマンスのバランスをとっている。
【0003】
キャッシュ装置が設けられたコンピュータシステムでは、CPUが主記憶装置にアクセスする際、最初にキャッシュ装置を検索して、キャッシュ装置内にアクセスするデータがあるか否かを判断する。判断した結果、キャッシュメモリにアクセスするデータがあれば(キャッシュヒットという。)CPUはメインメモリには直接アクセスせずにキャッシュメモリにアクセスする。判断した結果、キャッシュ装置にアクセスするデータがなければ(キャッシュミスという。)、CPUはメインメモリにアクセスする。
【0004】
図6は、マルチプロセッサにおける従来のキャッシュ装置100の構成を示すブロック図である。キャッシュ装置100は、複数のCPU130および主記憶装置150に接続されている。キャッシュ装置100は、データのタグを記憶するタグRAM(Random Access Memory)121、タグに対応するインデックスを記憶するキャッシュRAM122、タグとインデックスが対応しているか否かを判定する判定回路123、トラフィックの管理を行うキャッシュ制御回路140から構成される。
【0005】
キャッシュ制御回路140には、調停回路141が設けられており、複数のCPU130からアクセス要求が出されたとき、適当なCPU130を選択して、選択したCPU130にアクセス権を受け渡す。このとき、アクセス権を受けられなかったCPU130は、アクセス権を受けたCPU130の処理を待機し、この処理が終了した後に、キャッシュ装置100にアクセスする。
【0006】
【発明が解決しようとする課題】
このように、マルチプロセッサシステムでは、複数のCPU130がキャッシュ装置100にアクセスするため、アクセス権を受けられなかったCPU130は、アクセス権を受けるまで待機しなければならず、スループットが低下する。
【0007】
本発明は、上記課題に鑑みてなされたものであって、演算処理装置との間のアクセス効率を向上したキャッシュ装置および記憶手段選択方法に関する。
【0008】
【課題を解決するための手段】
上述した目的を達成するために、本発明にかかるキャッシュ装置は、演算処理装置と主記憶装置との間で転送されるデータを格納するキャッシュ装置において、転送されるデータを記憶する複数の記憶手段と、演算処理装置から主記憶装置へのアクセス要求に応じて、複数の記憶手段のうち一つの記憶手段を選択し、演算処理装置と選択した記憶手段との間の伝送を制御する制御手段とを備え、制御手段は、演算処理装置によってアクセス要求を受けたアドレスの所定の位置に存在するビットを読み出し、読み出したビットの値に対応する記憶手段を演算処理装置がアクセスする記憶手段として選択する。
【0009】
また、本発明にかかる記憶手段選択方法は、演算処理装置と主記憶装置との間で転送されるデータを格納する複数の記憶手段を備えたキャッシュ装置の記憶手段選択方法であって、演算処理装置がアクセスを要求したアドレスの所定の位置に存在するビットを読み出し、読み出したビットの値に対応する記憶手段を当該演算処理装置がアクセスする記憶手段として選択する。
【0010】
【発明の実施の形態】
以下、本発明を適用したキャッシュ装置を具体的に説明する。図1は、本発明を適用したキャッシュ装置1が用いられたコンピュータシステムのブロック図である。図1に示すコンピュータシステムは、複数のCPU4と、1つのキャッシュ装置1と、1つの主記憶装置6とを備えて構成されている。このコンピュータシステムは、主記憶装置に対して複数のCPUがアクセスするいわゆるマルチプロセッサ型のシステムである。
【0011】
図1に示すように、キャッシュ装置1は、第1のキャッシュバンク2および第2のキャッシュバンク3と、第1のキャッシュバンク2と第2のキャッシュバンク3のいずれかをCPUのアクセス先として選択するキャッシュバンク制御回路5とから構成される。
【0012】
キャッシュバンク制御回路5は、バンク判定回路51、第1の切換回路52、第2の切換回路53を有する。キャッシュバンク制御回路5は、CPU4のアクセス要求に応じて、第1のキャッシュバンク2と第2のキャッシュバンク3のいずれかをCPU4のアクセス先として選択する。また、キャッシュバンク制御回路は、複数のCPU4に対するアクセスの調停を行う。
【0013】
バンク判定回路51は、CPU4がアクセスする主記憶装置のアドレスに基づいて、1つのキャッシュバンクを選択する。バンク判定回路51は、キャッシュバンクを選択する際、アドレスの所定の位置に存在するビットを読み出す。このとき読み出したビットの値をバンクと呼び、バンク判定回路は、バンクの値が0ならば第1のキャッシュバンク2、1ならば第2のキャッシュバンク3というようにバンクの値に対応するキャッシュバンクを選択する。
【0014】
第1の切換回路52は、複数のCPU4と、第1のキャッシュバンク2とを結ぶバスの調停を行う。また、第2の切換回路53は、複数のCPU4と、第2のキャッシュバンク3とを結ぶバスの調停を行う。第1の切換回路52は、CPU4の状態および第1のキャッシュバンク2の状態を入力し、第1のキャッシュバンク2がビジー状態のときには、CPU4を待機させる。そして、第1のキャッシュバンク2が使用可能になると、第1の切換回路52は、スイッチを切り換え、CPU4から出力されたデータを第1のキャッシュバンク2に出力する。
【0015】
また、第1の切換回路52は、第1のキャッシュバンク2が使用可能になると、第1のキャッシュバンク2から出力されたデータをCPU4に出力する。なお、第2の切換回路53と第2のキャッシュバンク3は、第1の切換回路53と第1のキャッシュバンク2と対応しており、同様の処理を行う。そのため、第2の切換回路53と第2のキャッシュバンク3の説明を省略する。
【0016】
次に、図2のフローチャートを参照して、キャッシュバンク制御回路5の動作について説明する。この処理は、キャッシュバンク制御回路5によって実行される。キャッシュバンク制御回路5は、CPU4から出力されるアクセス命令、データ、アドレスなどの情報を待機している(ステップS1)。キャッシュバンク制御回路5は、CPU4からアクセス命令、データ、アドレスなどの情報を入力すると、入力したデータをもとに、どのキャッシュバンクへアクセスするかを判定する(ステップS2)。
【0017】
アクセスするキャッシュバンクを判定する方法について具体的に説明する。アドレスは図3に示すように、タグ61、バンク62、インデックス63の3つの領域に区分されている。タグ61は、アドレスの上位数ビットであり、インデックス63は、アドレスの下位数ビットである。バンク62は、タグ61とインデックス63の中間に位置する1ビットのデータである。バンク判定回路51は、アドレスのバンク62を読み出し、バンク61の値が0であるとき、第1のキャッシュバンク2を選択し(ステップS2;YES)、バンク61の値が1であるとき第2のキャッシュバンク3を選択する(ステップS2;NO)。
【0018】
ステップS2において、第1のキャッシュバンク2が選択された場合(ステップS2;NO)、キャッシュバンク制御回路5は、アクセスの調停を行う(ステップS3)。アクセスの調停とは、単一のキャッシュバンクに対して複数のCPU4のアクセス要求が発生した場合に実行する処理であり、CPU4に付けられた優先順位に基づいて、第1のキャッシュバンク2に出力するデータの順序を変更する。キャッシュバンク制御回路5は、アクセスの調停が終了すると、第1の切換回路52にキューを出力する。
【0019】
第1の切換回路52は、第1のキャッシュバンク2の状態を監視し、第1のキャッシュバンク2が使用可能になったとき、キューに蓄積されたCPU4からのアクセスに基づいて、CPU4からのデータを第1のキャッシュバンク2に出力する。また、第1の切換回路52は、CPU4のリード命令に応じて、第1のキャッシュバンク2のデータが読み出された場合には、読み出されたデータをCPU4に出力する(ステップS4)。キャッシュバンク制御回路5は、キューを出力すると待機状態に入り、次のアクセスを待機する(ステップS1)。
【0020】
また、ステップS2において、第2のキャッシュバンク3が選択された場合(ステップS2;NO)、キャッシュバンク制御回路5は、CPU4の調停を行い(ステップS5)、第2の切換回路53にキューを出力する。第2の切換回路53は、第2のキャッシュバンク3の状態を監視し、第2のキャッシュバンク3が使用可能になったとき、キューに蓄積されたCPU4からのアクセスに基づいて、CPU4からのデータを第2のキャッシュバンク3に出力する。また、第2の切換回路53は、CPU4のリード命令に応じて、第2のキャッシュバンク3のデータが読み出された場合には、読み出されたデータをCPU4に出力する(ステップS6)。キャッシュバンク制御回路5は、キューを出力すると待機状態に入り、次のアクセスを待機する(ステップS1)。
【0021】
このように、キャッシュバンク制御回路5は、CPU4から入力されたアドレスをもとにキャッシュバンクを選択し、このキャッシュバンクに対して、データのリードまたはライトを実行させる。
【0022】
また、キャッシュバンク制御回路5は、調停機能を備えており、CPUに優先順位を設けている。そして、複数のCPU4からのアクセスが1つのキャッシュバンクに集中した場合には、優先順位の高いCPU4からのアクセスをキューに入れる制御を行う。
【0023】
次に、キャッシュバンクについて説明する。図4は、第1のキャッシュバンク2および第2のキャッシュバンク3の内部構成を示すブロック図である。第1のキャッシュバンク2、第2のキャッシュバンク3は、タグを記憶するタグRAM12、データを記憶するキャッシュRAM13、キャッシュヒットかキャッシュミスかを判定する判定回路14、トラフィックの管理を行うキャッシュ制御回路11から構成される。キャッシュ制御回路11には、キャッシュバンク制御回路5および主記憶装置6が接続され、キャッシュバンク制御回路5を介してCPU4からのアドレスとデータを入力し、主記憶装置6からアドレスとデータを入力する。
【0024】
キャッシュ制御回路11は、キャッシュバンク制御回路5、主記憶装置6、タグRAM12、キャッシュRAM13、判定回路14、キャッシュ制御回路に接続された装置の間におけるデータのやりとりを制御する。キャッシュ制御回路11は、キャッシュバンク制御回路5を介してCPU4からのアクセス要求を受けつける。また、キャッシュ制御回路11は、CPU4から出力されたアドレスおよびデータを入力し、入力したアドレスをタグとインデックスに分割する。キャッシュ制御回路11は、アドレスをタグとインデックスに分割すると、タグをインデックスで参照されるタグRAM12のアドレスに記憶させ、データをインデックスで参照されるキャッシュRAM12のアドレスに記憶させる。
【0025】
タグRAM12は、タグとキャッシュを更新するための情報とデータの属性を記憶している。タグは、アドレスの上位の数ビットを切り出したデータであり、CPU4からのアクセス要求があったデータがキャッシュバンクに記憶されているか否かを検出するために用いられる。キャッシュを更新するための情報とは、LRU(Least Recently Used)方式、FIFO(First−In First−Out)方式などのキャッシュ更新方法に必要とされる内部状態として用いられる。データの属性は、データが有効か無効か、主記憶装置6とのデータコヒーレンシは取れているかといった情報として用いられる。
【0026】
キャッシュRAM13は、データを記憶する。インデックスは、アドレスの下位数ビットに対応する値であり、タグRAM12とキャッシュRAMを参照するアドレスとして利用される。キャッシュRAM13は、キャッシュ制御回路11からインデックスを入力し、入力したインデックスに対応するデータをキャッシュ制御回路11に出力する。
【0027】
判定回路14は、CPU4からアクセスの要求を受けたアドレスのタグとタグRAM12に記憶されているタグを比較し、比較結果をキャッシュ制御回路11に出力する。
【0028】
次に、図5のフローチャートを参照して、キャッシュバンクにアクセスする手順を示す。以下の説明では、第1のキャッシュバンク2の手順について記述するが、第2のキャッシュバンク3も同様の動作を行う。そのため、第2のキャッシュバンク3における動作の説明は省略する。
【0029】
キャッシュ制御回路11は、キャッシュバンク制御回路5から出力されるCPU4のアクセス命令を待機する(ステップS11)。キャッシュ制御回路11は、キャッシュバンク制御回路5からCPU4のアクセス命令を入力すると、CPU4がアクセスするアドレスの下位数ビット、すなわちインデックス63を読み出す。そして、キャッシュ制御回路11は、インデックスに対応するタグをタグRAM12から読み出すとともに、インデックスに対応するデータをキャッシュRAM13から読み出す(ステップS12)。
【0030】
キャッシュ制御回路11は、タグRAM12から読み出したタグの値と、CPU4から指定されたアドレスのタグ62の値を判定回路14に出力する。ここで、CPU4の命令がリード命令の場合(ステップS13;YES)、判定回路14は、タグRAM12に記憶されたタグの値とアドレスから読み出したタグ62の値とを比較し、この結果をキャッシュ制御回路11に出力する(ステップS14)。
【0031】
キャッシュ制御回路11は、判定回路14の判定結果を入力し、タグRAM12のタグとアドレスのタグ62が一致する場合(ステップS14;YES)、CPU4から指定されたデータが第1のキャッシュバンク2に記憶されていることを認識し、ステップS11で読み出したキャッシュRAM13のデータをCPU4に転送する(ステップS15)。そして、キャッシュ制御回路11は、タグRAM12の値を更新する(ステップS17)。第1のキャッシュバンク2は、タグRAM12の更新を終了すると待機状態になり、キャッシュ制御回路11は、第1のキャッシュバンク2が使用可能状態であることを示す信号をキャッシュバンク制御回路5に出力する(ステップS11)。
【0032】
また、判定回路14の判定結果が不一致の場合(ステップS14;NO)、キャッシュ制御回路11は、主記憶装置6から該当するアドレスのデータを読み出し、このデータをCPU4に転送するとともに、キャッシュRAM13にこのデータを記憶させる(ステップS16)。また、キャッシュ制御回路11は、ライトバックを行う必要のあるデータがある場合、主記憶装置6にライトバックを行う。次いで、キャッシュ制御回路11は、タグRAM12の値を更新する(ステップS17)。キャッシュバンク2は、タグRAM12の更新を終了すると待機状態になり、キャッシュ制御回路11は、第1のキャッシュバンク2が使用可能状態であることを示す信号をキャッシュバンク制御回路5に出力する(ステップS11)。
【0033】
また、ステップS13において、CPU4の命令がライト命令であった場合(ステップS13;NO)、キャッシュ制御装置24aは、タグRAM12から読み出したタグの値とアドレスから読み出したタグ61の値とを判定回路14に出力する。判定回路14は、これらの値が一致するか否かを判定し、判定結果をキャッシュ制御回路11に出力する(ステップS18)。キャッシュ制御回路11は、判定回路14の判定結果を入力し、2つのタグが一致する場合(ステップS18;YES)、キャッシュ制御回路11は、CPU4に指定されたデータがキャッシュバンク内に記憶されているものと認識し、CPU4から出力されたデータをキャッシュRAM13に上書きする(ステップS19)。そして、キャッシュ制御回路11は、タグRAM12の値を更新する(ステップS17)。第1のキャッシュバンク2は、タグRAM12の更新を終了すると待機状態になり、キャッシュ制御回路11は、第1のキャッシュバンク2が使用可能状態であることを示す信号をキャッシュバンク制御回路5に出力する(ステップS11)。
【0034】
また、判定回路14がタグRAM12のタグとアドレスのタグは一致しないと判定した場合(ステップS18;NO)、キャッシュ制御回路11は、CPU4から入力したデータをキャッシュRAM13に書き込む。また、キャッシュ制御回路11は、ライトバックを行う必要のあるデータがある場合、主記憶装置6にライトバックを行う。そして、キャッシュ制御回路11は、タグRAM12の値を更新する(ステップS17)。一連の処理が終了すると第1のキャッシュバンク2は待機状態になり、キャッシュ制御装置24aは、キャッシュバンク制御回路5に対して、使用可能状態であることを示す信号を出力する(ステップS11)。
【0035】
このように、キャッシュバンクは、タグとインデックスをもとにキャッシュバンク内のデータを検索し、CPU4の指定したデータがキャッシュバンクに存在する場合には、このデータの読み書きを行う。また、CPU4の指定したデータがキャッシュバンクに存在しない場合には、主記憶装置6にアクセスし、目的のデータの取得とキャッシュバンクに記憶されたデータの更新を行う。このキャッシュバンクの動作は、従来のキャッシュ装置と同様の動作である。従来のキャッシュ装置と本発明のキャッシュ装置1の違いは、キャッシュ装置1に複数のキャッシュバンクが設けられている点、CPU4とキャッシュバンクの間にキャッシュバンク制御回路5が設けられ、キャッシュバンク制御回路5がCPU4とキャッシュバンクとの間の調停を行う点にある。
【0036】
以上のように、本発明を適用したキャッシュ装置2は、複数のキャッシュバンクを有する。そして、CPU4とキャッシュバンクの間には、キャッシュバンク制御回路5が設けられており、キャッシュバンク制御回路5は、CPU4から指定されたアドレスをもとに使用するキャッシュバンクを選択する。キャッシュバンクの選択方法は、アドレスのバンクと呼ばれる部分に記録された値をもとに決定する。
【0037】
本発明を適用したキャッシュ装置1は、複数のキャッシュバンクを有するため、あるCPU4があるキャッシュバンクにアクセスしていも、他のCPU4が他のキャッシュバンクにアクセスすることができれば、先にアクセスしたCPU4の処理を待つことなく、キャッシュバンクにアクセスすることができる。そのため、CPU4のアクセス効率が向上し、命令やデータの遅延が生じにくくなる。よって、プログラムのリアルタイム処理および高速処理が可能となる。
【0038】
なお、本発明は上記実施の形態に限定されるものではなく、本発明の要旨を含む範囲での変形、改良は、本発明に含まれるものとする。例えば、本実施の形態において、キャッシュバンクの個数は2つとしたが、必ずしも2つである必要はなく、さらに多くのキャッシュバンクを設けるようにしてもよい。
【0039】
また、本実施の形態において、バンクの長さは1ビットとしたが、キャッシュバンクの個数に応じてバンクの長さは変更してもよい。例えば、キャッシュバンクが4つある場合には、バンクの長さを2ビットにすると、バンクの値とキャッシュバンクの個数が対応するようになる。
【0040】
また、本形態のタグRAMにおいて、タグ以外に、キャッシュを更新するための情報とデータの属性を記憶するとしたが、キャッシュを更新するための情報とデータの属性を記憶するRAMはタグRAMに限定されない。
【0041】
また、個々のキャッシュバンクで行うキャッシュRAMの更新方法に関しては、LRU(Least Recently Used)方式、FIFO(First−In First−Out)方式などがあるが更新方法に関しては、特に限定されない。さらに、キャッシュバンク内のデータの配置方法としては、ダイレクト・マップ、フル・アソシアティブ、セット・アソシアティブなどがあるが、データの配置方法についても特に限定されない。
【0042】
【発明の効果】
上述した目的を達成するために、本発明にかかるキャッシュ装置は、演算処理装置と主記憶装置との間で転送されるデータを格納するキャッシュ装置において、転送されるデータを記憶する複数の記憶手段と、演算処理装置から主記憶装置へのアクセス要求に応じて、複数の記憶手段のうち一つの記憶手段を選択し、演算処理装置と選択した記憶手段との間の伝送を制御する制御手段とを備え、制御手段は、演算処理装置によってアクセス要求を受けたアドレスの所定の位置に存在するビットを読み出し、読み出したビットの値に対応する記憶手段を演算処理装置がアクセスする記憶手段として選択することにより、演算処理装置との間のアクセス効率が向上する。
【0043】
また、本発明にかかる記憶手段選択方法は、演算処理装置と主記憶装置との間で転送されるデータを格納する複数の記憶手段を備えたキャッシュ装置の記憶手段選択方法であって、演算処理装置がアクセスを要求したアドレスの所定の位置に存在するビットを読み出し、読み出したビットの値に対応する記憶手段を当該演算処理装置がアクセスする記憶手段として選択することにより、演算処理装置との間のアクセス効率が向上する。
【図面の簡単な説明】
【図1】本発明を適用したキャッシュ装置を内蔵するコンピュータシステムのブロック図である。
【図2】キャッシュバンク制御装置の動作を示すフローチャートである。
【図3】アドレス上のバンクの位置を示す図である。
【図4】キャッシュバンクの構成を示すブロック図である。
【図5】キャッシュバンクの動作を示すブロック図である。
【図6】従来のキャッシュ装置の構成を示すブロック図である。
【符号の説明】
1 キャッシュ装置、2 第1のキャッシュバンク、3 第2のキャッシュバンク、4 CPU、5 キャッシュバンク制御装置、6 主記憶装置、11 キャッシュ制御回路、12 タグRAM、13 キャッシュRAM、14 ヒット判定回路、51 バンク判定回路、52第1の切換回路、53 第2の切換回路、61 タグ、62 バンク、63 インデックス
【符号の説明】
【発明の属する技術分野】
本発明は、演算処理装置と主記憶装置との間で転送されるデータを格納するキャッシュ装置および記憶手段選択方法に関する。
【0002】
【従来の技術】
従来、CPU(Central Processing Unit;中央処理装置)と主記憶装置との間に、キャッシュ装置と呼ばれる記憶装置が設けられている。一般に、コンピュータシステムでは、主記憶装置に大容量で低速なデバイスを用い、キャッシュ装置に小容量で高速なデバイスを用いることによりコストとパフォーマンスのバランスをとっている。
【0003】
キャッシュ装置が設けられたコンピュータシステムでは、CPUが主記憶装置にアクセスする際、最初にキャッシュ装置を検索して、キャッシュ装置内にアクセスするデータがあるか否かを判断する。判断した結果、キャッシュメモリにアクセスするデータがあれば(キャッシュヒットという。)CPUはメインメモリには直接アクセスせずにキャッシュメモリにアクセスする。判断した結果、キャッシュ装置にアクセスするデータがなければ(キャッシュミスという。)、CPUはメインメモリにアクセスする。
【0004】
図6は、マルチプロセッサにおける従来のキャッシュ装置100の構成を示すブロック図である。キャッシュ装置100は、複数のCPU130および主記憶装置150に接続されている。キャッシュ装置100は、データのタグを記憶するタグRAM(Random Access Memory)121、タグに対応するインデックスを記憶するキャッシュRAM122、タグとインデックスが対応しているか否かを判定する判定回路123、トラフィックの管理を行うキャッシュ制御回路140から構成される。
【0005】
キャッシュ制御回路140には、調停回路141が設けられており、複数のCPU130からアクセス要求が出されたとき、適当なCPU130を選択して、選択したCPU130にアクセス権を受け渡す。このとき、アクセス権を受けられなかったCPU130は、アクセス権を受けたCPU130の処理を待機し、この処理が終了した後に、キャッシュ装置100にアクセスする。
【0006】
【発明が解決しようとする課題】
このように、マルチプロセッサシステムでは、複数のCPU130がキャッシュ装置100にアクセスするため、アクセス権を受けられなかったCPU130は、アクセス権を受けるまで待機しなければならず、スループットが低下する。
【0007】
本発明は、上記課題に鑑みてなされたものであって、演算処理装置との間のアクセス効率を向上したキャッシュ装置および記憶手段選択方法に関する。
【0008】
【課題を解決するための手段】
上述した目的を達成するために、本発明にかかるキャッシュ装置は、演算処理装置と主記憶装置との間で転送されるデータを格納するキャッシュ装置において、転送されるデータを記憶する複数の記憶手段と、演算処理装置から主記憶装置へのアクセス要求に応じて、複数の記憶手段のうち一つの記憶手段を選択し、演算処理装置と選択した記憶手段との間の伝送を制御する制御手段とを備え、制御手段は、演算処理装置によってアクセス要求を受けたアドレスの所定の位置に存在するビットを読み出し、読み出したビットの値に対応する記憶手段を演算処理装置がアクセスする記憶手段として選択する。
【0009】
また、本発明にかかる記憶手段選択方法は、演算処理装置と主記憶装置との間で転送されるデータを格納する複数の記憶手段を備えたキャッシュ装置の記憶手段選択方法であって、演算処理装置がアクセスを要求したアドレスの所定の位置に存在するビットを読み出し、読み出したビットの値に対応する記憶手段を当該演算処理装置がアクセスする記憶手段として選択する。
【0010】
【発明の実施の形態】
以下、本発明を適用したキャッシュ装置を具体的に説明する。図1は、本発明を適用したキャッシュ装置1が用いられたコンピュータシステムのブロック図である。図1に示すコンピュータシステムは、複数のCPU4と、1つのキャッシュ装置1と、1つの主記憶装置6とを備えて構成されている。このコンピュータシステムは、主記憶装置に対して複数のCPUがアクセスするいわゆるマルチプロセッサ型のシステムである。
【0011】
図1に示すように、キャッシュ装置1は、第1のキャッシュバンク2および第2のキャッシュバンク3と、第1のキャッシュバンク2と第2のキャッシュバンク3のいずれかをCPUのアクセス先として選択するキャッシュバンク制御回路5とから構成される。
【0012】
キャッシュバンク制御回路5は、バンク判定回路51、第1の切換回路52、第2の切換回路53を有する。キャッシュバンク制御回路5は、CPU4のアクセス要求に応じて、第1のキャッシュバンク2と第2のキャッシュバンク3のいずれかをCPU4のアクセス先として選択する。また、キャッシュバンク制御回路は、複数のCPU4に対するアクセスの調停を行う。
【0013】
バンク判定回路51は、CPU4がアクセスする主記憶装置のアドレスに基づいて、1つのキャッシュバンクを選択する。バンク判定回路51は、キャッシュバンクを選択する際、アドレスの所定の位置に存在するビットを読み出す。このとき読み出したビットの値をバンクと呼び、バンク判定回路は、バンクの値が0ならば第1のキャッシュバンク2、1ならば第2のキャッシュバンク3というようにバンクの値に対応するキャッシュバンクを選択する。
【0014】
第1の切換回路52は、複数のCPU4と、第1のキャッシュバンク2とを結ぶバスの調停を行う。また、第2の切換回路53は、複数のCPU4と、第2のキャッシュバンク3とを結ぶバスの調停を行う。第1の切換回路52は、CPU4の状態および第1のキャッシュバンク2の状態を入力し、第1のキャッシュバンク2がビジー状態のときには、CPU4を待機させる。そして、第1のキャッシュバンク2が使用可能になると、第1の切換回路52は、スイッチを切り換え、CPU4から出力されたデータを第1のキャッシュバンク2に出力する。
【0015】
また、第1の切換回路52は、第1のキャッシュバンク2が使用可能になると、第1のキャッシュバンク2から出力されたデータをCPU4に出力する。なお、第2の切換回路53と第2のキャッシュバンク3は、第1の切換回路53と第1のキャッシュバンク2と対応しており、同様の処理を行う。そのため、第2の切換回路53と第2のキャッシュバンク3の説明を省略する。
【0016】
次に、図2のフローチャートを参照して、キャッシュバンク制御回路5の動作について説明する。この処理は、キャッシュバンク制御回路5によって実行される。キャッシュバンク制御回路5は、CPU4から出力されるアクセス命令、データ、アドレスなどの情報を待機している(ステップS1)。キャッシュバンク制御回路5は、CPU4からアクセス命令、データ、アドレスなどの情報を入力すると、入力したデータをもとに、どのキャッシュバンクへアクセスするかを判定する(ステップS2)。
【0017】
アクセスするキャッシュバンクを判定する方法について具体的に説明する。アドレスは図3に示すように、タグ61、バンク62、インデックス63の3つの領域に区分されている。タグ61は、アドレスの上位数ビットであり、インデックス63は、アドレスの下位数ビットである。バンク62は、タグ61とインデックス63の中間に位置する1ビットのデータである。バンク判定回路51は、アドレスのバンク62を読み出し、バンク61の値が0であるとき、第1のキャッシュバンク2を選択し(ステップS2;YES)、バンク61の値が1であるとき第2のキャッシュバンク3を選択する(ステップS2;NO)。
【0018】
ステップS2において、第1のキャッシュバンク2が選択された場合(ステップS2;NO)、キャッシュバンク制御回路5は、アクセスの調停を行う(ステップS3)。アクセスの調停とは、単一のキャッシュバンクに対して複数のCPU4のアクセス要求が発生した場合に実行する処理であり、CPU4に付けられた優先順位に基づいて、第1のキャッシュバンク2に出力するデータの順序を変更する。キャッシュバンク制御回路5は、アクセスの調停が終了すると、第1の切換回路52にキューを出力する。
【0019】
第1の切換回路52は、第1のキャッシュバンク2の状態を監視し、第1のキャッシュバンク2が使用可能になったとき、キューに蓄積されたCPU4からのアクセスに基づいて、CPU4からのデータを第1のキャッシュバンク2に出力する。また、第1の切換回路52は、CPU4のリード命令に応じて、第1のキャッシュバンク2のデータが読み出された場合には、読み出されたデータをCPU4に出力する(ステップS4)。キャッシュバンク制御回路5は、キューを出力すると待機状態に入り、次のアクセスを待機する(ステップS1)。
【0020】
また、ステップS2において、第2のキャッシュバンク3が選択された場合(ステップS2;NO)、キャッシュバンク制御回路5は、CPU4の調停を行い(ステップS5)、第2の切換回路53にキューを出力する。第2の切換回路53は、第2のキャッシュバンク3の状態を監視し、第2のキャッシュバンク3が使用可能になったとき、キューに蓄積されたCPU4からのアクセスに基づいて、CPU4からのデータを第2のキャッシュバンク3に出力する。また、第2の切換回路53は、CPU4のリード命令に応じて、第2のキャッシュバンク3のデータが読み出された場合には、読み出されたデータをCPU4に出力する(ステップS6)。キャッシュバンク制御回路5は、キューを出力すると待機状態に入り、次のアクセスを待機する(ステップS1)。
【0021】
このように、キャッシュバンク制御回路5は、CPU4から入力されたアドレスをもとにキャッシュバンクを選択し、このキャッシュバンクに対して、データのリードまたはライトを実行させる。
【0022】
また、キャッシュバンク制御回路5は、調停機能を備えており、CPUに優先順位を設けている。そして、複数のCPU4からのアクセスが1つのキャッシュバンクに集中した場合には、優先順位の高いCPU4からのアクセスをキューに入れる制御を行う。
【0023】
次に、キャッシュバンクについて説明する。図4は、第1のキャッシュバンク2および第2のキャッシュバンク3の内部構成を示すブロック図である。第1のキャッシュバンク2、第2のキャッシュバンク3は、タグを記憶するタグRAM12、データを記憶するキャッシュRAM13、キャッシュヒットかキャッシュミスかを判定する判定回路14、トラフィックの管理を行うキャッシュ制御回路11から構成される。キャッシュ制御回路11には、キャッシュバンク制御回路5および主記憶装置6が接続され、キャッシュバンク制御回路5を介してCPU4からのアドレスとデータを入力し、主記憶装置6からアドレスとデータを入力する。
【0024】
キャッシュ制御回路11は、キャッシュバンク制御回路5、主記憶装置6、タグRAM12、キャッシュRAM13、判定回路14、キャッシュ制御回路に接続された装置の間におけるデータのやりとりを制御する。キャッシュ制御回路11は、キャッシュバンク制御回路5を介してCPU4からのアクセス要求を受けつける。また、キャッシュ制御回路11は、CPU4から出力されたアドレスおよびデータを入力し、入力したアドレスをタグとインデックスに分割する。キャッシュ制御回路11は、アドレスをタグとインデックスに分割すると、タグをインデックスで参照されるタグRAM12のアドレスに記憶させ、データをインデックスで参照されるキャッシュRAM12のアドレスに記憶させる。
【0025】
タグRAM12は、タグとキャッシュを更新するための情報とデータの属性を記憶している。タグは、アドレスの上位の数ビットを切り出したデータであり、CPU4からのアクセス要求があったデータがキャッシュバンクに記憶されているか否かを検出するために用いられる。キャッシュを更新するための情報とは、LRU(Least Recently Used)方式、FIFO(First−In First−Out)方式などのキャッシュ更新方法に必要とされる内部状態として用いられる。データの属性は、データが有効か無効か、主記憶装置6とのデータコヒーレンシは取れているかといった情報として用いられる。
【0026】
キャッシュRAM13は、データを記憶する。インデックスは、アドレスの下位数ビットに対応する値であり、タグRAM12とキャッシュRAMを参照するアドレスとして利用される。キャッシュRAM13は、キャッシュ制御回路11からインデックスを入力し、入力したインデックスに対応するデータをキャッシュ制御回路11に出力する。
【0027】
判定回路14は、CPU4からアクセスの要求を受けたアドレスのタグとタグRAM12に記憶されているタグを比較し、比較結果をキャッシュ制御回路11に出力する。
【0028】
次に、図5のフローチャートを参照して、キャッシュバンクにアクセスする手順を示す。以下の説明では、第1のキャッシュバンク2の手順について記述するが、第2のキャッシュバンク3も同様の動作を行う。そのため、第2のキャッシュバンク3における動作の説明は省略する。
【0029】
キャッシュ制御回路11は、キャッシュバンク制御回路5から出力されるCPU4のアクセス命令を待機する(ステップS11)。キャッシュ制御回路11は、キャッシュバンク制御回路5からCPU4のアクセス命令を入力すると、CPU4がアクセスするアドレスの下位数ビット、すなわちインデックス63を読み出す。そして、キャッシュ制御回路11は、インデックスに対応するタグをタグRAM12から読み出すとともに、インデックスに対応するデータをキャッシュRAM13から読み出す(ステップS12)。
【0030】
キャッシュ制御回路11は、タグRAM12から読み出したタグの値と、CPU4から指定されたアドレスのタグ62の値を判定回路14に出力する。ここで、CPU4の命令がリード命令の場合(ステップS13;YES)、判定回路14は、タグRAM12に記憶されたタグの値とアドレスから読み出したタグ62の値とを比較し、この結果をキャッシュ制御回路11に出力する(ステップS14)。
【0031】
キャッシュ制御回路11は、判定回路14の判定結果を入力し、タグRAM12のタグとアドレスのタグ62が一致する場合(ステップS14;YES)、CPU4から指定されたデータが第1のキャッシュバンク2に記憶されていることを認識し、ステップS11で読み出したキャッシュRAM13のデータをCPU4に転送する(ステップS15)。そして、キャッシュ制御回路11は、タグRAM12の値を更新する(ステップS17)。第1のキャッシュバンク2は、タグRAM12の更新を終了すると待機状態になり、キャッシュ制御回路11は、第1のキャッシュバンク2が使用可能状態であることを示す信号をキャッシュバンク制御回路5に出力する(ステップS11)。
【0032】
また、判定回路14の判定結果が不一致の場合(ステップS14;NO)、キャッシュ制御回路11は、主記憶装置6から該当するアドレスのデータを読み出し、このデータをCPU4に転送するとともに、キャッシュRAM13にこのデータを記憶させる(ステップS16)。また、キャッシュ制御回路11は、ライトバックを行う必要のあるデータがある場合、主記憶装置6にライトバックを行う。次いで、キャッシュ制御回路11は、タグRAM12の値を更新する(ステップS17)。キャッシュバンク2は、タグRAM12の更新を終了すると待機状態になり、キャッシュ制御回路11は、第1のキャッシュバンク2が使用可能状態であることを示す信号をキャッシュバンク制御回路5に出力する(ステップS11)。
【0033】
また、ステップS13において、CPU4の命令がライト命令であった場合(ステップS13;NO)、キャッシュ制御装置24aは、タグRAM12から読み出したタグの値とアドレスから読み出したタグ61の値とを判定回路14に出力する。判定回路14は、これらの値が一致するか否かを判定し、判定結果をキャッシュ制御回路11に出力する(ステップS18)。キャッシュ制御回路11は、判定回路14の判定結果を入力し、2つのタグが一致する場合(ステップS18;YES)、キャッシュ制御回路11は、CPU4に指定されたデータがキャッシュバンク内に記憶されているものと認識し、CPU4から出力されたデータをキャッシュRAM13に上書きする(ステップS19)。そして、キャッシュ制御回路11は、タグRAM12の値を更新する(ステップS17)。第1のキャッシュバンク2は、タグRAM12の更新を終了すると待機状態になり、キャッシュ制御回路11は、第1のキャッシュバンク2が使用可能状態であることを示す信号をキャッシュバンク制御回路5に出力する(ステップS11)。
【0034】
また、判定回路14がタグRAM12のタグとアドレスのタグは一致しないと判定した場合(ステップS18;NO)、キャッシュ制御回路11は、CPU4から入力したデータをキャッシュRAM13に書き込む。また、キャッシュ制御回路11は、ライトバックを行う必要のあるデータがある場合、主記憶装置6にライトバックを行う。そして、キャッシュ制御回路11は、タグRAM12の値を更新する(ステップS17)。一連の処理が終了すると第1のキャッシュバンク2は待機状態になり、キャッシュ制御装置24aは、キャッシュバンク制御回路5に対して、使用可能状態であることを示す信号を出力する(ステップS11)。
【0035】
このように、キャッシュバンクは、タグとインデックスをもとにキャッシュバンク内のデータを検索し、CPU4の指定したデータがキャッシュバンクに存在する場合には、このデータの読み書きを行う。また、CPU4の指定したデータがキャッシュバンクに存在しない場合には、主記憶装置6にアクセスし、目的のデータの取得とキャッシュバンクに記憶されたデータの更新を行う。このキャッシュバンクの動作は、従来のキャッシュ装置と同様の動作である。従来のキャッシュ装置と本発明のキャッシュ装置1の違いは、キャッシュ装置1に複数のキャッシュバンクが設けられている点、CPU4とキャッシュバンクの間にキャッシュバンク制御回路5が設けられ、キャッシュバンク制御回路5がCPU4とキャッシュバンクとの間の調停を行う点にある。
【0036】
以上のように、本発明を適用したキャッシュ装置2は、複数のキャッシュバンクを有する。そして、CPU4とキャッシュバンクの間には、キャッシュバンク制御回路5が設けられており、キャッシュバンク制御回路5は、CPU4から指定されたアドレスをもとに使用するキャッシュバンクを選択する。キャッシュバンクの選択方法は、アドレスのバンクと呼ばれる部分に記録された値をもとに決定する。
【0037】
本発明を適用したキャッシュ装置1は、複数のキャッシュバンクを有するため、あるCPU4があるキャッシュバンクにアクセスしていも、他のCPU4が他のキャッシュバンクにアクセスすることができれば、先にアクセスしたCPU4の処理を待つことなく、キャッシュバンクにアクセスすることができる。そのため、CPU4のアクセス効率が向上し、命令やデータの遅延が生じにくくなる。よって、プログラムのリアルタイム処理および高速処理が可能となる。
【0038】
なお、本発明は上記実施の形態に限定されるものではなく、本発明の要旨を含む範囲での変形、改良は、本発明に含まれるものとする。例えば、本実施の形態において、キャッシュバンクの個数は2つとしたが、必ずしも2つである必要はなく、さらに多くのキャッシュバンクを設けるようにしてもよい。
【0039】
また、本実施の形態において、バンクの長さは1ビットとしたが、キャッシュバンクの個数に応じてバンクの長さは変更してもよい。例えば、キャッシュバンクが4つある場合には、バンクの長さを2ビットにすると、バンクの値とキャッシュバンクの個数が対応するようになる。
【0040】
また、本形態のタグRAMにおいて、タグ以外に、キャッシュを更新するための情報とデータの属性を記憶するとしたが、キャッシュを更新するための情報とデータの属性を記憶するRAMはタグRAMに限定されない。
【0041】
また、個々のキャッシュバンクで行うキャッシュRAMの更新方法に関しては、LRU(Least Recently Used)方式、FIFO(First−In First−Out)方式などがあるが更新方法に関しては、特に限定されない。さらに、キャッシュバンク内のデータの配置方法としては、ダイレクト・マップ、フル・アソシアティブ、セット・アソシアティブなどがあるが、データの配置方法についても特に限定されない。
【0042】
【発明の効果】
上述した目的を達成するために、本発明にかかるキャッシュ装置は、演算処理装置と主記憶装置との間で転送されるデータを格納するキャッシュ装置において、転送されるデータを記憶する複数の記憶手段と、演算処理装置から主記憶装置へのアクセス要求に応じて、複数の記憶手段のうち一つの記憶手段を選択し、演算処理装置と選択した記憶手段との間の伝送を制御する制御手段とを備え、制御手段は、演算処理装置によってアクセス要求を受けたアドレスの所定の位置に存在するビットを読み出し、読み出したビットの値に対応する記憶手段を演算処理装置がアクセスする記憶手段として選択することにより、演算処理装置との間のアクセス効率が向上する。
【0043】
また、本発明にかかる記憶手段選択方法は、演算処理装置と主記憶装置との間で転送されるデータを格納する複数の記憶手段を備えたキャッシュ装置の記憶手段選択方法であって、演算処理装置がアクセスを要求したアドレスの所定の位置に存在するビットを読み出し、読み出したビットの値に対応する記憶手段を当該演算処理装置がアクセスする記憶手段として選択することにより、演算処理装置との間のアクセス効率が向上する。
【図面の簡単な説明】
【図1】本発明を適用したキャッシュ装置を内蔵するコンピュータシステムのブロック図である。
【図2】キャッシュバンク制御装置の動作を示すフローチャートである。
【図3】アドレス上のバンクの位置を示す図である。
【図4】キャッシュバンクの構成を示すブロック図である。
【図5】キャッシュバンクの動作を示すブロック図である。
【図6】従来のキャッシュ装置の構成を示すブロック図である。
【符号の説明】
1 キャッシュ装置、2 第1のキャッシュバンク、3 第2のキャッシュバンク、4 CPU、5 キャッシュバンク制御装置、6 主記憶装置、11 キャッシュ制御回路、12 タグRAM、13 キャッシュRAM、14 ヒット判定回路、51 バンク判定回路、52第1の切換回路、53 第2の切換回路、61 タグ、62 バンク、63 インデックス
【符号の説明】
Claims (6)
- 演算処理装置と主記憶装置との間で転送されるデータを格納するキャッシュ装置において、
上記転送されるデータを記憶する複数の記憶手段と、
上記演算処理装置から主記憶装置へのアクセス要求に応じて、上記複数の記憶手段のうち一つの記憶手段を選択し、当該演算処理装置と選択した記憶手段との間の伝送を制御する制御手段とを備え、
上記制御手段は、上記演算処理装置によってアクセス要求を受けたアドレスの所定の位置に存在するビットを読み出し、読み出したビットの値に対応する記憶手段を当該演算処理装置がアクセスする記憶手段として選択することを特徴とするキャッシュ装置。 - アドレスの上位の数ビットに対応するタグを記憶するタグ記憶手段と、
アドレスの下位の数ビットに対応するインデックスと当該アドレスに格納されたデータとを関連付けて記憶するデータ記憶手段と、
上記演算処理装置によってアクセス要求を受けたアドレスのタグとタグ記憶手段に記憶されたタグとを比較し、データ記憶手段がアクセス要求を受けたデータを記憶しているか否かを判定する判定手段とを備え、
上記制御手段は、上記演算処理装置によってアクセス要求を受けたアドレスのタグとインデックスの間に位置するビットを読み出し、読み出したビットの値に対応する記憶手段を当該演算処理装置のアクセスする記憶手段として選択することを特徴とする請求項1記載のキャッシュ装置。 - アドレスの上位の数ビットに対応するタグを記憶するタグ記憶手段と、
アドレスの下位の数ビットに対応するインデックスと当該アドレスに格納されたデータとを関連付けて記憶するデータ記憶手段と、
上記演算処理装置によってアクセス要求を受けたアドレスのタグとタグ記憶手段に記憶されたタグとを比較し、データ記憶手段にアクセス要求を受けたデータが記憶されているか否かを判定する判定手段とを備え、
上記制御手段は、上記演算処理装置によってアクセス要求を受けたアドレスのうち、タグの下位ビットもしくはインデックスの上位ビットに重複した位置のビットを読み出し、読み出したビットの値に対応する記憶手段を当該演算処理装置のアクセスする記憶手段として選択することを特徴とする請求項1記載のキャッシュ装置。 - 演算処理装置と主記憶装置との間で転送されるデータを格納する複数の記憶手段を備えたキャッシュ装置の記憶手段選択方法であって、
上記演算処理装置がアクセスを要求したアドレスの所定の位置に存在するビットを読み出し、読み出したビットの値に対応する記憶手段を当該演算処理装置がアクセスする記憶手段として選択することを特徴とする記憶手段選択方法。 - 上記キャッシュ装置は、アドレスの上位の数ビットに対応するタグを記憶するタグ記憶手段と、アドレスの下位の数ビットに対応するインデックスと当該アドレスに格納されたデータとを関連付けて記憶するデータ記憶手段と、上記演算処理装置によってアクセス要求を受けたアドレスのタグとタグ記憶手段に記憶されたタグとを比較し、データ記憶手段がアクセス要求を受けたデータを記憶しているか否かを判定する判定工程とを備え、
上記演算処理装置によってアクセス要求を受けたアドレスのタグとインデックスの間に位置するビットを読み出し、読み出したビットの値に対応する記憶手段を当該演算処理装置がアクセスする記憶手段として選択することを特徴とする請求項4記載の記憶手段選択方法。 - 上記キャッシュ装置は、アドレスの上位の数ビットに対応するタグを記憶するタグ記憶手段と、アドレスの下位の数ビットに対応するインデックスと当該アドレスに格納されたデータとを関連付けて記憶するデータ記憶手段と、上記演算処理装置によってアクセス要求を受けたアドレスのタグとタグ記憶手段に記憶されたタグとを比較し、データ記憶手段がアクセス要求を受けたデータを記憶しているか否かを判定する判定工程とを備え、
上記演算処理装置によってアクセス要求を受けたアドレスのタグの下位ビット、もしくはインデックスの上位ビットに重複した位置のビットを読み出し、読み出したビットの値に対応する記憶手段を当該演算処理装置がアクセスする記憶手段として選択することを特徴とする請求項4記載の記憶手段選択方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002204643A JP2004046643A (ja) | 2002-07-12 | 2002-07-12 | キャッシュ装置および記憶手段選択方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002204643A JP2004046643A (ja) | 2002-07-12 | 2002-07-12 | キャッシュ装置および記憶手段選択方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004046643A true JP2004046643A (ja) | 2004-02-12 |
Family
ID=31710187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002204643A Abandoned JP2004046643A (ja) | 2002-07-12 | 2002-07-12 | キャッシュ装置および記憶手段選択方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004046643A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015505631A (ja) * | 2012-02-02 | 2015-02-23 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | マルチバンクキャッシュメモリ |
US11720498B2 (en) | 2021-05-13 | 2023-08-08 | Fujitsu Limited | Arithmetic processing device and arithmetic processing method |
-
2002
- 2002-07-12 JP JP2002204643A patent/JP2004046643A/ja not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015505631A (ja) * | 2012-02-02 | 2015-02-23 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | マルチバンクキャッシュメモリ |
US11720498B2 (en) | 2021-05-13 | 2023-08-08 | Fujitsu Limited | Arithmetic processing device and arithmetic processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100274327B1 (ko) | 캐시가 일관된 다중 처리기 컴퓨터 시스템에서 다중 미결동작을 제공하기 위한 장치 및 그 방법 | |
US5353426A (en) | Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete | |
CN100421088C (zh) | 用于管理高速缓存数据的数字数据处理设备和方法 | |
JP5536658B2 (ja) | バッファメモリ装置、メモリシステム及びデータ転送方法 | |
JP4451717B2 (ja) | 情報処理装置および情報処理方法 | |
JPH0364893B2 (ja) | ||
US7761665B2 (en) | Handling of cache accesses in a data processing apparatus | |
US6496917B1 (en) | Method to reduce memory latencies by performing two levels of speculation | |
JP2000285023A (ja) | ファイル制御装置 | |
US6078993A (en) | Data supplying apparatus for independently performing hit determination and data access | |
JP2007156821A (ja) | キャッシュシステム及び共用2次キャッシュ | |
JP2001147858A (ja) | ハイブリッドコヒーレンスプロトコル | |
JP2918531B1 (ja) | キャッシュメモリ制御装置 | |
JP2001249846A (ja) | キャッシュメモリ装置及びデータ処理システム | |
US20020188805A1 (en) | Mechanism for implementing cache line fills | |
JP2005508549A (ja) | アンキャッシュ素子のための帯域幅の向上 | |
US20080016296A1 (en) | Data processing system | |
JP3964821B2 (ja) | プロセッサ、キャッシュシステム及びキャッシュメモリ | |
JP2004046643A (ja) | キャッシュ装置および記憶手段選択方法 | |
JP3626609B2 (ja) | マルチプロセッサシステム | |
JPH0756808A (ja) | データキャッシュバッファ及び記憶方法 | |
JP3516326B2 (ja) | 共有キャッシュメモリを有するメモリコントローラ及びこれを備えたコンピュータシステム | |
JP2001290704A (ja) | マルチプロセス制御装置及びマルチプロセス制御方法 | |
JP2685455B2 (ja) | データ処理装置 | |
EP1426866A1 (en) | A method to reduce memory latencies by performing two levels of speculation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050530 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20070625 |