JPH1055310A - キャッシュ・サブアレイ・アービトレーションの改良 - Google Patents

キャッシュ・サブアレイ・アービトレーションの改良

Info

Publication number
JPH1055310A
JPH1055310A JP9096265A JP9626597A JPH1055310A JP H1055310 A JPH1055310 A JP H1055310A JP 9096265 A JP9096265 A JP 9096265A JP 9626597 A JP9626597 A JP 9626597A JP H1055310 A JPH1055310 A JP H1055310A
Authority
JP
Japan
Prior art keywords
memory
memory location
address
cache
access request
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
JP9096265A
Other languages
English (en)
Inventor
Piitaa Riu Peichiyun
ペイチュン・ピーター・リウ
Ei Shiyaa Sarimu
サリム・エイ・シャー
Pii Shingu Rajinderu
ラジンデル・ピー・シング
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH1055310A publication Critical patent/JPH1055310A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0851Cache with interleaved addressing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 保留命令中の任意のメモリ・アクセス要求で
必要なデータを事前取出しするためにプロセッサ命令の
保留線から複数のアドレス・オペランドを受け取るため
のキャッシュ・サブアレイ・アービトレーション回路を
提供する。 【解決手段】 このサブアレイ・アービトレーション回
路は、キャッシュ内のメモリ位置に対応する少なくとも
2つのアドレスを比較し、どのサブアレイにメモリ位置
が存在するかを判定する。2つのメモリ位置が同一サブ
アレイ内に存在する場合、アービトレーション回路は優
先順位が高い方のアドレスをそのサブアレイに送る。受
け取ったアドレス・オペランドがキャッシュ・ミスの実
アドレスである場合、アービトレーション回路は他の事
前取出しメモリ・アクセス要求より前にキャッシュ・ミ
ス・アドレスをそのサブアレイに送る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この開示は、一般にデータ処
理システムに関し、具体的には同一キャッシュ・メモリ
内の各種サブアレイから一度に複数の命令を取り出すこ
とができる処理システムに関する。
【0002】
【従来の技術】最新のマイクロプロセッサ・システムで
は、技術の改良が続くにつれて、プロセッサ・サイクル
時間が減少し続けている。また、推論実行、パイプライ
ンの深さの増加、実行エレメントの増加などの設計技法
により、処理システムのパフォーマンスが引き続き改良
されている。パフォーマンスの改良により、プロセッサ
はより速い速度でメモリからデータとメモリを要求する
ので、メモリ・インタフェースにかかる負担が重くな
る。処理システムのパフォーマンスを上昇させるため、
キャッシュ・メモリ・システムが実現されることが多
い。
【0003】キャッシュ・メモリを使用する処理システ
ムは、当技術分野では周知のものである。キャッシュ・
メモリは、非常に高速のメモリ・デバイスであって、最
小限の待ち時間で現行プログラムおよびデータをプロセ
ッサ(ここでは「CPU」ともいう)が使用できるよう
にすることにより、データ処理システムの速度を増加す
るものである。大規模オンチップ・キャッシュ(L1キ
ャッシュまたは1次キャッシュ)を実現するとメモリ待
ち時間の短縮に役立つが、これは、より大規模なオフチ
ップ・キャッシュ(L2キャッシュまたは2次キャッシ
ュ)により増強される場合が多い。
【0004】キャッシュ・メモリ・システムの陰にある
主な利点は、最も頻繁にアクセスされる命令とデータを
高速キャッシュ・メモリ内に保持することにより、処理
システム全体の平均メモリ・アクセス時間がキャッシュ
のアクセス時間に近づくという点である。キャッシュ・
メモリはメイン・メモリのサイズのうちの小さい断片に
すぎないが、「参照のローカル性」というプログラムの
特性により、メモリ要求の大きい断片が高速キャッシュ
・メモリで正常に検出される。この特性により、所与の
時間間隔中のメモリ参照は局部限定されたいくつかのメ
モリ区域に制限されがちである。
【0005】キャッシュ・メモリの基本動作は周知であ
る。CPUからメモリへのアクセスが必要になると、キ
ャッシュが検査される。CPUがアドレス指定したワー
ドがキャッシュ内で見つかった場合、そのワードが高速
メモリから読み取られる。CPUがアドレス指定したワ
ードがキャッシュ内で見つからなかった場合、そのワー
ドを読み取るためにメイン・メモリがアクセスされる。
次に、アクセス中のワードを含む1ブロック分のワード
がメイン・メモリからキャッシュ・メモリに転送され
る。このようにして追加のデータがキャッシュに転送
(事前取出し)されるので、今後のメモリ参照により高
速キャッシュ・メモリで必要なワードが見つかる可能性
が高くなる。
【0006】キャッシュの使用により、コンピュータ・
システムの平均メモリ・アクセス時間を大幅に改善する
ことができる。キャッシュ・メモリのパフォーマンス
は、「ヒット率」という数量で測定される場合が多い。
CPUがメモリにアクセスし、キャッシュ内でそのワー
ドを見つけると、結果的にキャッシュ「ヒット」にな
る。キャッシュ・メモリではなくメイン・メモリでその
ワードが見つかった場合は、結果的にキャッシュ「ミ
ス」になる。ほとんどの時間、CPUがメイン・メモリ
ではなくキャッシュ内でそのワードを見つけた場合は、
結果的にヒット率が高くなり、平均アクセス時間は高速
キャッシュ・メモリのアクセス時間に近くなる。
【0007】待ち時間を短縮するための時間より先に、
オンチップL1キャッシュにメモリ・データを供給しよ
うとして、事前取出し技法が実施される場合が多い。プ
ロセッサが必要としたときに命令とデータのコピーが必
ずL1キャッシュ内にあるように、十分早い時点で前も
って命令とデータを事前取出しすることが理想的であ
る。命令やデータの事前取出しは当技術分野では周知の
ものである。しかし、既存の事前取出し技法では、命令
やデータの事前取出しが時期尚早の場合が多い。命令や
データを事前取出しし、事前取出しした命令やデータを
使用しない場合の問題には2つの面がある。第1に、事
前取出ししたデータにより、プロセッサが必要とするデ
ータが置換されている可能性がある。第2に、事前取出
しメモリ・アクセスにより、後続のプロセッサ・キャッ
シュ再ロードが事前取出しアクセスを待ち、その結果、
必要なデータの待ち時間が増加している可能性がある。
どちらの影響もCPUの効率を低下させるものである。
【0008】さらに、積極的にL1キャッシュにデータ
を事前取出しすると、推論的に事前取出ししたデータに
よって、近い将来必要になりそうなL2キャッシュ内の
複数行が置換される可能性がある。事前取出しした行が
あまり使用されない場合、ストア操作によって変更され
ない場合、あるいはプログラムによってまったく使用さ
れない場合(不良推測事前取出しの場合)でも、このよ
うな事態になる可能性がある。また、積極的な事前取出
し方式でL1キャッシュに事前取出ししたデータによっ
て、L2キャッシュ内のデータをスラッシング(置換)
することもできる。
【0009】最新のキャッシュ・メモリでは、通常、単
一サイクル中に複数回のメモリ・アクセスが行われる。
これは、複数のアレイまたは「サブアレイ」でキャッシ
ュ・メモリを実現することによって行われる。複数のア
ドレスがまとめてキャッシュ・メモリに到達した場合、
各サブアレイごとに優先順位が最も高いソースから発生
したアドレスが選択される。サブアレイ向けのアドレス
が1つだけである場合、優先順位の決定は一切不要であ
る。
【0010】積極的取出しの障害の中には、アドレス生
成の方法に関するものもある。多くのアーキテクチャで
は、アドレス・オペランドを算術操作することにより、
メモリ・アクセスのためにアドレスが生成される。たと
えば、ロード操作では、2つのオペランドをまとめて加
算して、取り出すべきメモリ・データの有効アドレスを
形成することが必要になる可能性がある。一方のアドレ
ス・オペランドは汎用レジスタ(GPR)Aから読み取
ったものであり、もう一方はGPR Bから読み取った
ものである可能性がある。メモリ内の有効アドレス(E
A)を入手するために加算操作を行わなければならな
い。
【0011】
【発明が解決しようとする課題】しかし、積極的な実施
態様では、アドレス生成がサイクル・リミッタになる。
このような2つのロード操作をまとめて試行した場合、
2つのEAを入手するために2回の別個の加算操作(E
A0=GPR A+GPR BとEA1=GPRC+G
PR D)を行わなければならず、次に2つのEAを検
査して、各EAがキャッシュ内の同一サブアレイにアク
セスしているかどうかを判定しなければならない。同一
サブアレイにアクセスしている場合、2つのEAのアー
ビトレーションを行って、どちらが優先順位を受け取る
かを判定しなければならない。キャッシュ・サブアレイ
間のアービトレーションに要する時間を最小限にすると
有利である。
【0012】
【課題を解決するための手段】本発明は、サブアレイ選
択に関連するオペランド・データを受け取り、アービト
レーション回路内でオペランドの算術操作を繰り返す。
本発明の一実施例は、キャッシュ・メモリが受ける少な
くとも2回のメモリ・アクセス間でアービトレーション
(調停)を行うためのサブアレイ・アービトレーション
回路を含む。このサブアレイ・アービトレーション回路
は、第1のアドレスと第2のアドレスとを受け取り、キ
ャッシュ・メモリ内の第1のメモリ位置に関連する第1
の有効アドレスを生成するための第1の加算器と、第3
のアドレスと第4のアドレスとを受け取り、キャッシュ
・メモリ内の第2のメモリ位置に関連する第2の有効ア
ドレスを生成するための第2の加算器とを含む。このサ
ブアレイ・アービトレーションは、第1のメモリ位置と
第2のメモリ位置がキャッシュ・メモリの別個のサブア
レイに存在するかどうかを判定するための優先順位回路
をさらに含む。第1のメモリ位置と第2のメモリ位置が
別個のサブアレイに存在する場合、サブアレイ・アービ
トレーション回路は、第1の有効アドレスを第1のサブ
アレイに送り、第2の有効アドレスを第2のサブアレイ
に送る。
【0013】本発明の他の実施例では、複数のサブアレ
イを含むキャッシュ・メモリが受け取る第1のメモリ・
アクセス要求と第2のメモリ・アクセス要求とのアービ
トレーションを行うためのアービトレーション回路が開
示されているが、このアービトレーション回路は、第1
のメモリ・アクセス要求に関連する第1のアドレスと第
2のアドレスとを受け取り、キャッシュ・メモリ内の第
1のメモリ位置に関連する第1の有効アドレスを生成す
るための第1の加算器と、キャッシュ・メモリ内の第2
のメモリ位置にアクセスするための第2のメモリ・アク
セス要求に関連する第3のアドレスを受け取るための回
路と、第1のメモリ位置と第2のメモリ位置がキャッシ
ュ・メモリの別個のサブアレイ内に位置するかどうかを
判定するための優先順位判定回路とを含む。このサブア
レイ・アービトレーションは、第1のメモリ位置と第2
のメモリ位置がキャッシュ・メモリの別個のサブアレイ
に存在するかどうかを判定するための優先順位回路をさ
らに含む。第1のメモリ位置と第2のメモリ位置が別個
のサブアレイに存在する場合、サブアレイ・アービトレ
ーション回路は、第1の有効アドレスを第1のサブアレ
イに送り、第3のアドレスを第2のサブアレイに送る。
【0014】上記の説明では、以下のキャッシュ・サブ
アレイ・アービトレーション回路の詳細説明がさらによ
く理解されるように、本発明の特徴および技術的利点を
かなり大まかに概説している。本発明の請求の範囲の主
題を形成するキャッシュ・サブアレイ・アービトレーシ
ョン回路のその他の特徴および利点については、以下に
説明する。当業者であれば、ここに開示する概念および
具体的な実施例は、本発明の目的を実施するためにその
他の構造を変更または設計するための基礎として容易に
利用できることに留意されたい。また、当業者であれ
ば、このような同等構造が特許請求の範囲に記載した本
発明の精神および範囲を逸脱しないことにも留意された
い。
【0015】
【発明の実施の形態】本発明の原理およびその利点は、
添付図面の図1〜6に示す実施例を参照すれば最もよく
理解できるが、これらの図では同様の番号は同様の構成
部分を示している。
【0016】次に図1を参照すると、同図には、本発明
を有利に実施する処理システムが示されている。マルチ
プロセッサ・システム10は、システム・バス45に機
能的に接続されたいくつかの処理ユニット20、30、
40を含む。ただし、マルチプロセッサ・システム10
内では処理ユニットをいくつでも使用できることに留意
されたい。また、システム・バス45にはメモリ制御装
置50も接続され、これがメイン・メモリ・ストア60
へのアクセスを制御する。メモリ制御装置50は入出力
制御装置52にも結合され、これは入出力装置54に結
合されている。処理ユニット20、30、40と、入出
力制御装置52と、入出力装置54は、いずれもここで
はバス装置とも呼ぶことができる。図示の通り、各処理
ユニット20、30、40は、1つのプロセッサとL1
キャッシュ110、72、82をそれぞれ含むことがで
きる。L1(1次)キャッシュはそれぞれのプロセッサ
と同じチップ上に位置することができる。一実施例のL
1キャッシュは、本発明によるサブアレイ・アービトレ
ーション回路を含む。また、処理ユニット20、30、
40には、L2(2次)キャッシュ120、74、84
がそれぞれ結合されている。各L2キャッシュは、それ
が接続されているプロセッサを介してシステム・バス4
5に接続されている。
【0017】L1およびL2キャッシュの各対は、通
常、直列に関連している。L1キャッシュはストアイン
またはライトスルーとして実現することができるが、そ
れより大きく低速のL2キャッシュはライトバック・キ
ャッシュとして実現される。L1およびL2両方のキャ
ッシュ制御装置は、処理ユニットの一部として物理的に
実現され、処理ユニット内部のバスを介して接続されて
いる。あるいは、L2キャッシュ制御装置はオフチップ
にすることも可能である。
【0018】図2は、L1キャッシュ110に含まれる
キャッシュ・サブアレイ・アービトレーション論理回路
220を示している。命令の保留線を走査して、取り出
すべきデータの有効アドレス(EA)を決定するために
2つのレジスタの内容の加算が必要になりそうなロード
操作がないかどうか確認する。図示の例では、このよう
な2つの命令が見つかり、汎用レジスタGPR W、G
PR X、GPR Y、GPR Z(図示せず)のそれ
ぞれから2対のアドレス・オペランドEA0A、EA0
B、EA1A、EA1Bを受け取る。場合によっては、
この2対のアドレス・オペランドが異なる2対の汎用レ
ジスタではなく、共通の汎用レジスタを備えている場合
もある。
【0019】GPR WとGPR Xは、有効アドレス
(EA0)を形成するために加算器205によってまと
めて加算する必要がある、EA0A(0:63)とEA
0B(0:63)という64ビットのオペランドを含ん
でいる。GPR YとGPRZは、有効アドレス(EA
1)を形成するために加算器210によってまとめて加
算する必要がある、EA1A(0:63)とEA1B
(0:63)という64ビットのオペランドを含んでい
る。2組のオペランドは両方とも同時にL1キャッシュ
110に送られる。キャッシュ・サブアレイ・アービト
レーション論理回路220は、加算器205と210に
よって行われる加算の一部分を複写する加算器を含んで
いる。また、キャッシュ・サブアレイ・アービトレーシ
ョン論理回路220は、EA0、EA1、EA MIS
Sのアドレス・ビット間のアービトレーションを行う論
理ゲートも含んでいる。また、図2には、各EA(EA
0VALID、EA1 VALID)、第3のアドレス
・ソースであるEA MISS、EA MISS VA
LID線のための有効アドレス操作の存在を示す制御線
も示されている。EA MISSアドレス・ソースは、
キャストアウト操作用のアドレスを含むことができるア
ドレス・バスである。EA MISSおよびその他のア
ドレス・ソースは、基本EA対への明白な拡張部分であ
る。本発明では、同一キャッシュ・サブアレイへのEA
0およびEA1キャッシュ・アクセスよりキャッシュ・
ミス(EA MISS)の方を優先する。
【0020】好ましい実施例のL1キャッシュ110
は、4ウェイ・インターリーブされている。同一サイク
ル中に有効アドレス(EA)と実アドレス(RA)によ
ってデータ・キャッシュをアドレス指定できることは、
当技術分野では周知のことである。EA(55:56)
とRA(31:32)によってサブアレイが選択され
る。EAとRAが両方とも活動状態で、EA(55:5
6)がRA(31:32)に等しい場合、この2つのア
ドレスは競合していると言われる。EAとRAがともに
同じサブアレイにアクセスしている場合、サブアレイ・
アービトレーション回路は優先順位が低い方のアドレス
をブロックし、サブアレイへのアクセスのうち優先順位
が高い方のアドレスのアクセスを許諾する。1つのアド
レスしかサブアレイにアクセスできないという制約は、
各メモリ・セルごとに1対のビット線しか存在しないと
いう事実によるものである。その結果、単一サイクル中
にそのサブアレイで使用可能にできるのは、サブアレイ
当たり1本のワード線だけになる。
【0021】本発明の一実施例では、有効アドレスのア
ーキテクチャ定義は次の通りである。すなわち、EA
(0:35)は有効セグメントIDであり、EA(3
6:51)は有効ページ・インデックスであり、EA
(52:63)は4Kの有効ページ・オフセットであ
る。有効アドレスは、データ・キャッシュ・アレイで次
のように使用される。 ECAM サブアレイ ダブル・ワード バイト・オフセット 未使用 タグ 選択 選択 未使用 EA(0:43) EA(43:54) EA(55:56) EA(57:60) EA(61:63) EA(60)は偶数または奇数ダブル・ワードを選択す
るものである。EA(57:59)は8つの偶数または
奇数ダブル・ワードから1つを選択するものである。
【0022】本発明の一実施例では、実アドレスのアー
キテクチャ定義は次の通りである。すなわち、RA
(0:27)は実ページ番号であり、RA(28:3
9)は4Kの実ページ・オフセットである。実アドレス
は、データ・キャッシュ・アレイで次のように使用され
る。 RCAM サブアレイ ダブル・ワード バイト・オフセット タグ 選択 選択 未使用 RA(0:30) RA(31:32) RA(33:36) RA(37:39) RA(36)は偶数または奇数ダブル・ワードを選択す
るものである。RA(33:35)は8つの偶数または
奇数ダブル・ワードから1つを選択するものである。
【0023】一実施例では、同一サイクル中に3つのE
Aがキャッシュ・アレイにアクセスすることができる。
この場合、2つのレベルのサブアレイ・アービトレーシ
ョン制御が存在する。第1のレベルのアービトレーショ
ンではEA MUXを制御する。EA MUXは、キャ
ッシュ・サブアレイの1つにアクセスするために、3つ
のEAアドレスであるEA0、EA1、EA MISS
から1つを選択するものである。第2のレベルのアービ
トレーションではワード線アクセスを制御する。EA間
にサブアレイの競合が存在する場合、サブアレイ・アー
ビトレーション論理回路は、優先順位が高い方の要求へ
のアクセスを許諾し、優先順位が低い方の要求を拒否す
る。
【0024】図3は、サブアレイ0〜サブアレイ3とい
う4つのキャッシュ・サブアレイの構成を詳細に示した
ものである。各サブアレイは、L1キャッシュ110メ
モリ・アレイの一部分と、そのサブアレイ用のアービト
レーション論理回路(サブアレイ・アービトレーション
論理回路220a〜220d)とを含んでいる。各サブ
アレイ・アービトレーション論理回路220a〜220
dは、有効アドレスの1つを適正なキャッシュ・サブア
レイにゲートするためのマルチプレクサ(EAMUX2
25a〜225d)を制御する。したがって、EA0
(0:63)とEA1(0:63)はL1キャッシュ1
10のサブアレイに提示され、サブアレイ0〜サブアレ
イ3のうちの正しいサブアレイが使用可能になる。EA
0とEA1の両方が同一サブアレイをアドレス指定する
場合は、EA0が優先される。
【0025】本発明の一実施例のL1キャッシュ110
は16ウェイ・セット・アソシアティブであり、行サイ
ズは32バイトである。したがって、下位9アドレス・
ビットであるビット55:63は、(16×32)=5
12の個別バイトのうちの1つの選択バイトをアドレス
指定するために使用する。すなわち、ビット55および
56はサブアレイを選択し、ビット57および58は各
サブアレイ内のキャッシュ行を選択し、ビット59〜6
3はその行の32バイト内の個別バイトを選択する。サ
ブアレイ・アービトレーションを実行するためには、ビ
ット55と56の加算から得られる結果ビット(ビット
56のキャリーインを含む)だけが必要である。本発明
では、これらのビットを使用し、サブアレイ・アービト
レーション論理回路220a〜d内で計算を実行する。
【0026】図2および図3に付随する本文が示すよう
に、加算器205および210においてEA計算を逐次
実行し、サブアレイにゲートするアドレスを選択するこ
とによって発生する遅延は、各サブアレイ内でのサブア
レイ選択に関連するEAの小さい部分だけをサブアレイ
・アービトレーション論理回路220を計算することに
よって削減される。この計算により、完全なEAアドレ
ス計算と同時にEAセレクタ(すなわち、EA MUX
225a〜225d)への選択信号が生成される。
【0027】図4および図5は、EA0およびEA1を
選択するための算術論理回路を詳細に示している。図4
では、EA0を入手するために加算すべき2つのアドレ
ス・オペランドはEA0A(0:63)とEA0B
(0:63)である。部分合計X0は、EA0が有効で
ある場合にEA0について加算器410で作成される。
繰上り予測論理回路405はビット56のキャリーイン
C0を予測する。C0とX0は、EA0がどのサブアレ
イ向けかを判定するために使用する。EA1はEA0よ
り優先順位が低い。したがって、EA0サブアレイ使用
可能信号であるEA0ENABLE SUB-A1〜EA0 ENABLE SUB-A3
を使用して、EA1サブアレイ使用可能信号を使用禁止
にする。図4にはEAミス論理回路420および435
が示されているが、それは、キャストアウト操作の方が
EA0およびEA1の両方の操作より優先されるからで
ある。
【0028】図6は、サブアレイ使用可能線とともに生
成される、EA MUX225a〜d用の使用可能信号
を生成するために使用するANDおよびOR論理回路を
示している。たとえば、サブアレイ1の場合、マルチプ
レクサEA MUX225bは、信号EA0 ENABLE SUB-A
1またはEA1 ENABLE SUB-A1を使用して、EA0 ENABLE 1ま
たはEA1 ENABLE 1を生成する。サブアレイは、ENABLE S
UB-A1によって使用可能になる。図6では、明瞭にする
ため、EA0とEA1のバス・アービトレーションだけ
を示し、EAミス・バスは省略されている。
【0029】本発明とその利点について詳細に説明して
きたが、特許請求の範囲に規定した本発明の精神および
範囲を逸脱せずに、様々な変更、代用、改変が可能であ
ることに留意されたい。
【0030】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0031】(1)複数のサブアレイを含むキャッシュ
・メモリ内で前記キャッシュ・メモリが受け取った第1
のメモリ・アクセス要求と第2のメモリ・アクセス要求
とのアービトレーションを行うためのアービトレーショ
ン回路において、前記アービトレーション回路が、前記
第1のメモリ・アクセス要求に関連する第1のアドレス
と第2のアドレスとを受け取り、前記キャッシュ・メモ
リ内の第1のメモリ位置に関連する第1の部分有効アド
レスを生成するための第1の加算器と、前記第2のメモ
リ・アクセス要求に関連する第3のアドレスと第4のア
ドレスとを受け取り、前記キャッシュ・メモリ内の第2
のメモリ位置に関連する第2の部分有効アドレスを生成
するための第2の加算器と、前記第1のメモリ位置と前
記第2のメモリ位置が前記キャッシュ・メモリの別個の
サブアレイに位置するかどうかを判定するための優先順
位判定回路とを含むことを特徴とする、アービトレーシ
ョン回路。 (2)前記第1のメモリ位置と前記第2のメモリ位置が
別個のサブアレイに位置するという判定に応答して、前
記アービトレーション回路が、前記第1のメモリ・アク
セス要求を前記第1のメモリ位置にアクセスさせ、前記
第2のメモリ・アクセス要求を前記第2のメモリ位置に
アクセスさせることを特徴とする、上記(1)に記載の
アービトレーション回路。 (3)前記第1のメモリ位置と前記第2のメモリ位置が
同一サブアレイに位置するという判定に応答して、前記
アービトレーション回路が、前記第1のメモリ・アクセ
ス要求を前記第1のメモリ位置にアクセスさせることを
特徴とする、上記(1)に記載のアービトレーション回
路。 (4)前記キャッシュ・メモリが4つのサブアレイを含
むことを特徴とする、上記(1)に記載のアービトレー
ション回路。 (5)前記第1のアドレスと前記第2のアドレスが前記
第1のメモリ位置に対応する有効アドレスであり、前記
第3のアドレスと前記第4のアドレスが前記第2のメモ
リ位置に対応する有効アドレスであることを特徴とす
る、上記(1)に記載のアービトレーション回路。 (6)複数のサブアレイを含むキャッシュ・メモリ内で
前記キャッシュ・メモリが受け取った第1のメモリ・ア
クセス要求と第2のメモリ・アクセス要求とのアービト
レーションを行うためのアービトレーション回路におい
て、前記アービトレーション回路が、前記第1のメモリ
・アクセス要求に関連する第1のアドレスと第2のアド
レスとを受け取り、前記キャッシュ・メモリ内の第1の
メモリ位置に関連する第1の部分有効アドレスを生成す
るための第1の加算器と、前記第2のメモリ・アクセス
要求に関連する第3のアドレスを受け取り、前記キャッ
シュ・メモリ内の第2のメモリ位置にアクセスするため
の回路と、前記第1のメモリ位置と前記第2のメモリ位
置が前記キャッシュ・メモリの別個のサブアレイに位置
するかどうかを判定するための優先順位判定回路とを含
むことを特徴とする、アービトレーション回路。 (7)前記第1のメモリ位置と前記第2のメモリ位置が
別個のサブアレイに位置するという判定に応答して、前
記アービトレーション回路が、前記第1のメモリ・アク
セス要求を前記第1のメモリ位置にアクセスさせ、前記
第2のメモリ・アクセス要求を前記第2のメモリ位置に
アクセスさせることを特徴とする、上記(6)に記載の
アービトレーション回路。 (8)前記第1のメモリ位置と前記第2のメモリ位置が
同一サブアレイに位置するという判定に応答して、前記
アービトレーション回路が、前記第1のメモリ・アクセ
ス要求を前記第1のメモリ位置にアクセスさせることを
特徴とする、上記(7)に記載のアービトレーション回
路。 (9)前記第1のアドレスと前記第2のアドレスが前記
第1のメモリ位置に対応する有効アドレスであることを
特徴とする、上記(8)に記載のアービトレーション回
路。 (10)前記第3のアドレスがキャッシュ・ミス操作に
対応する実アドレスであることを特徴とする、上記
(9)に記載のアービトレーション回路。 (11)プロセッサと、前記プロセッサに結合されたメ
イン・メモリと、前記プロセッサに関連するキャッシュ
・メモリとを含み、前記キャッシュ・メモリがアービト
レーション回路を含み、前記アービトレーション回路
が、前記プロセッサからの第1のメモリ・アクセス要求
に関連する第1のアドレスと第2のアドレスとを受け取
り、前記キャッシュ・メモリ内の第1のメモリ位置に関
連する第1の部分有効アドレスを生成するための第1の
加算器と、前記プロセッサからの第2のメモリ・アクセ
ス要求に関連する第3のアドレスと第4のアドレスとを
受け取り、前記キャッシュ・メモリ内の第2のメモリ位
置に関連する第2の部分有効アドレスを生成するための
第2の加算器と、前記第1のメモリ位置と前記第2のメ
モリ位置が前記キャッシュ・メモリの別個のサブアレイ
に位置するかどうかを判定するための優先順位判定回路
とを含むことを特徴とする、処理システム。 (12)前記第1のメモリ位置と前記第2のメモリ位置
が別個のサブアレイに位置するという判定に応答して、
前記アービトレーション回路が、前記第1のメモリ・ア
クセス要求を前記第1のメモリ位置にアクセスさせ、前
記第2のメモリ・アクセス要求を前記第2のメモリ位置
にアクセスさせることを特徴とする、上記(11)に記
載の処理システム。 (13)前記第1のメモリ位置と前記第2のメモリ位置
が同一サブアレイに位置するという判定に応答して、前
記アービトレーション回路が、前記第1のメモリ・アク
セス要求を前記第1のメモリ位置にアクセスさせること
を特徴とする、上記(11)に記載の処理システム。 (14)前記第1のアドレスと前記第2のアドレスが前
記第1のメモリ位置に対応する有効アドレスであること
を特徴とする、上記(11)に記載の処理システム。 (15)前記第3のアドレスと前記第4のアドレスが前
記第2のメモリ位置に対応する有効アドレスであること
を特徴とする、上記(11)に記載の処理システム。 (16)プロセッサと、前記プロセッサに関連するキャ
ッシュ・メモリとを含むデータ処理システムにおいて、
第1のメモリ・アクセス要求に関連する第1のアドレス
と第2のアドレスとを前記プロセッサから受け取り、前
記キャッシュ・メモリ内の第1のメモリ位置に関連する
第1の部分有効アドレスを生成するステップと、第2の
メモリ・アクセス要求に関連する第3のアドレスを前記
プロセッサから受け取り、前記キャッシュ・メモリ内の
第2のメモリ位置にアクセスするステップと、前記第1
のメモリ位置と前記第2のメモリ位置が前記キャッシュ
・メモリの別個のサブアレイに位置するかどうかを判定
するステップとを含むことを特徴とする方法。 (17)前記第1のメモリ位置と前記第2のメモリ位置
が別個のサブアレイに位置するという判定に応答して、
前記第1のメモリ・アクセス要求を前記第1のメモリ位
置にアクセスさせ、前記第2のメモリ・アクセス要求を
前記第2のメモリ位置にアクセスさせるステップをさら
に含むことを特徴とする、上記(16)に記載の方法。 (18)前記第1のメモリ位置と前記第2のメモリ位置
が同一サブアレイに位置するという判定に応答して、前
記第1のメモリ・アクセス要求を前記第1のメモリ位置
にアクセスさせるステップをさらに含むことを特徴とす
る、上記(16)に記載の方法。 (19)前記第1のアドレスと前記第2のアドレスが前
記第1のメモリ位置に対応する有効アドレスであること
を特徴とする、上記(16)に記載の方法。 (20)前記第3のアドレスがキャッシュ・ミス操作に
対応する実アドレスであることを特徴とする、上記(1
6)に記載の方法。
【図面の簡単な説明】
【図1】本発明による処理システムのブロック図であ
る。
【図2】本発明によるキャッシュ・サブアレイ・アービ
トレーション回路の高レベル・ブロック図である。
【図3】本発明によるキャッシュ・サブアレイの高レベ
ル・ブロック図である。
【図4】本発明によるキャッシュ・サブアレイ・アービ
トレーション回路の詳細ブロック図である。
【図5】本発明によるキャッシュ・サブアレイ・アービ
トレーション回路の詳細ブロック図である。
【図6】本発明によるキャッシュ・サブアレイ・アービ
トレーション回路の詳細ブロック図である。
【符号の説明】
10 マルチプロセッサ・システム 20 処理ユニット 30 処理ユニット 40 処理ユニット 45 システム・バス 50 メモリ制御装置 52 入出力制御装置 54 入出力装置 60 メイン・メモリ・ストア 70 プロセッサ 72 L1キャッシュ 74 L2キャッシュ 80 プロセッサ 82 L1キャッシュ 84 L2キャッシュ 100 プロセッサ 110 L1キャッシュ 120 L2キャッシュ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 サリム・エイ・シャー アメリカ合衆国78746 テキサス州オース チン スパイブラス・ドライブ 1741 ナ ンバー 177 (72)発明者 ラジンデル・ピー・シング アメリカ合衆国78717 テキサス州オース チン エフライム・ロード 8403

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】複数のサブアレイを含むキャッシュ・メモ
    リ内で前記キャッシュ・メモリが受け取った第1のメモ
    リ・アクセス要求と第2のメモリ・アクセス要求とのア
    ービトレーションを行うためのアービトレーション回路
    において、前記アービトレーション回路が、 前記第1のメモリ・アクセス要求に関連する第1のアド
    レスと第2のアドレスとを受け取り、前記キャッシュ・
    メモリ内の第1のメモリ位置に関連する第1の部分有効
    アドレスを生成するための第1の加算器と、 前記第2のメモリ・アクセス要求に関連する第3のアド
    レスと第4のアドレスとを受け取り、前記キャッシュ・
    メモリ内の第2のメモリ位置に関連する第2の部分有効
    アドレスを生成するための第2の加算器と、 前記第1のメモリ位置と前記第2のメモリ位置が前記キ
    ャッシュ・メモリの別個のサブアレイに位置するかどう
    かを判定するための優先順位判定回路とを含むことを特
    徴とする、アービトレーション回路。
  2. 【請求項2】前記第1のメモリ位置と前記第2のメモリ
    位置が別個のサブアレイに位置するという判定に応答し
    て、前記アービトレーション回路が、前記第1のメモリ
    ・アクセス要求を前記第1のメモリ位置にアクセスさ
    せ、前記第2のメモリ・アクセス要求を前記第2のメモ
    リ位置にアクセスさせることを特徴とする、請求項1に
    記載のアービトレーション回路。
  3. 【請求項3】前記第1のメモリ位置と前記第2のメモリ
    位置が同一サブアレイに位置するという判定に応答し
    て、前記アービトレーション回路が、前記第1のメモリ
    ・アクセス要求を前記第1のメモリ位置にアクセスさせ
    ることを特徴とする、請求項1に記載のアービトレーシ
    ョン回路。
  4. 【請求項4】前記キャッシュ・メモリが4つのサブアレ
    イを含むことを特徴とする、請求項1に記載のアービト
    レーション回路。
  5. 【請求項5】前記第1のアドレスと前記第2のアドレス
    が前記第1のメモリ位置に対応する有効アドレスであ
    り、前記第3のアドレスと前記第4のアドレスが前記第
    2のメモリ位置に対応する有効アドレスであることを特
    徴とする、請求項1に記載のアービトレーション回路。
  6. 【請求項6】複数のサブアレイを含むキャッシュ・メモ
    リ内で前記キャッシュ・メモリが受け取った第1のメモ
    リ・アクセス要求と第2のメモリ・アクセス要求とのア
    ービトレーションを行うためのアービトレーション回路
    において、前記アービトレーション回路が、 前記第1のメモリ・アクセス要求に関連する第1のアド
    レスと第2のアドレスとを受け取り、前記キャッシュ・
    メモリ内の第1のメモリ位置に関連する第1の部分有効
    アドレスを生成するための第1の加算器と、 前記第2のメモリ・アクセス要求に関連する第3のアド
    レスを受け取り、前記キャッシュ・メモリ内の第2のメ
    モリ位置にアクセスするための回路と、 前記第1のメモリ位置と前記第2のメモリ位置が前記キ
    ャッシュ・メモリの別個のサブアレイに位置するかどう
    かを判定するための優先順位判定回路とを含むことを特
    徴とする、アービトレーション回路。
  7. 【請求項7】前記第1のメモリ位置と前記第2のメモリ
    位置が別個のサブアレイに位置するという判定に応答し
    て、前記アービトレーション回路が、前記第1のメモリ
    ・アクセス要求を前記第1のメモリ位置にアクセスさ
    せ、前記第2のメモリ・アクセス要求を前記第2のメモ
    リ位置にアクセスさせることを特徴とする、請求項6に
    記載のアービトレーション回路。
  8. 【請求項8】前記第1のメモリ位置と前記第2のメモリ
    位置が同一サブアレイに位置するという判定に応答し
    て、前記アービトレーション回路が、前記第1のメモリ
    ・アクセス要求を前記第1のメモリ位置にアクセスさせ
    ることを特徴とする、請求項7に記載のアービトレーシ
    ョン回路。
  9. 【請求項9】前記第1のアドレスと前記第2のアドレス
    が前記第1のメモリ位置に対応する有効アドレスである
    ことを特徴とする、請求項8に記載のアービトレーショ
    ン回路。
  10. 【請求項10】前記第3のアドレスがキャッシュ・ミス
    操作に対応する実アドレスであることを特徴とする、請
    求項9に記載のアービトレーション回路。
  11. 【請求項11】プロセッサと、 前記プロセッサに結合されたメイン・メモリと、 前記プロセッサに関連するキャッシュ・メモリとを含
    み、前記キャッシュ・メモリがアービトレーション回路
    を含み、前記アービトレーション回路が、 前記プロセッサからの第1のメモリ・アクセス要求に関
    連する第1のアドレスと第2のアドレスとを受け取り、
    前記キャッシュ・メモリ内の第1のメモリ位置に関連す
    る第1の部分有効アドレスを生成するための第1の加算
    器と、 前記プロセッサからの第2のメモリ・アクセス要求に関
    連する第3のアドレスと第4のアドレスとを受け取り、
    前記キャッシュ・メモリ内の第2のメモリ位置に関連す
    る第2の部分有効アドレスを生成するための第2の加算
    器と、 前記第1のメモリ位置と前記第2のメモリ位置が前記キ
    ャッシュ・メモリの別個のサブアレイに位置するかどう
    かを判定するための優先順位判定回路とを含むことを特
    徴とする、処理システム。
  12. 【請求項12】前記第1のメモリ位置と前記第2のメモ
    リ位置が別個のサブアレイに位置するという判定に応答
    して、前記アービトレーション回路が、前記第1のメモ
    リ・アクセス要求を前記第1のメモリ位置にアクセスさ
    せ、前記第2のメモリ・アクセス要求を前記第2のメモ
    リ位置にアクセスさせることを特徴とする、請求項11
    に記載の処理システム。
  13. 【請求項13】前記第1のメモリ位置と前記第2のメモ
    リ位置が同一サブアレイに位置するという判定に応答し
    て、前記アービトレーション回路が、前記第1のメモリ
    ・アクセス要求を前記第1のメモリ位置にアクセスさせ
    ることを特徴とする、請求項11に記載の処理システ
    ム。
  14. 【請求項14】前記第1のアドレスと前記第2のアドレ
    スが前記第1のメモリ位置に対応する有効アドレスであ
    ることを特徴とする、請求項11に記載の処理システ
    ム。
  15. 【請求項15】前記第3のアドレスと前記第4のアドレ
    スが前記第2のメモリ位置に対応する有効アドレスであ
    ることを特徴とする、請求項11に記載の処理システ
    ム。
  16. 【請求項16】プロセッサと、前記プロセッサに関連す
    るキャッシュ・メモリとを含むデータ処理システムにお
    いて、 第1のメモリ・アクセス要求に関連する第1のアドレス
    と第2のアドレスとを前記プロセッサから受け取り、前
    記キャッシュ・メモリ内の第1のメモリ位置に関連する
    第1の部分有効アドレスを生成するステップと、 第2のメモリ・アクセス要求に関連する第3のアドレス
    を前記プロセッサから受け取り、前記キャッシュ・メモ
    リ内の第2のメモリ位置にアクセスするステップと、 前記第1のメモリ位置と前記第2のメモリ位置が前記キ
    ャッシュ・メモリの別個のサブアレイに位置するかどう
    かを判定するステップとを含むことを特徴とする方法。
  17. 【請求項17】前記第1のメモリ位置と前記第2のメモ
    リ位置が別個のサブアレイに位置するという判定に応答
    して、前記第1のメモリ・アクセス要求を前記第1のメ
    モリ位置にアクセスさせ、前記第2のメモリ・アクセス
    要求を前記第2のメモリ位置にアクセスさせるステップ
    をさらに含むことを特徴とする、請求項16に記載の方
    法。
  18. 【請求項18】前記第1のメモリ位置と前記第2のメモ
    リ位置が同一サブアレイに位置するという判定に応答し
    て、前記第1のメモリ・アクセス要求を前記第1のメモ
    リ位置にアクセスさせるステップをさらに含むことを特
    徴とする、請求項16に記載の方法。
  19. 【請求項19】前記第1のアドレスと前記第2のアドレ
    スが前記第1のメモリ位置に対応する有効アドレスであ
    ることを特徴とする、請求項16に記載の方法。
  20. 【請求項20】前記第3のアドレスがキャッシュ・ミス
    操作に対応する実アドレスであることを特徴とする、請
    求項16に記載の方法。
JP9096265A 1996-04-29 1997-04-14 キャッシュ・サブアレイ・アービトレーションの改良 Pending JPH1055310A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/638661 1996-04-29
US08/638,661 US5905999A (en) 1996-04-29 1996-04-29 Cache sub-array arbitration

Publications (1)

Publication Number Publication Date
JPH1055310A true JPH1055310A (ja) 1998-02-24

Family

ID=24560926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9096265A Pending JPH1055310A (ja) 1996-04-29 1997-04-14 キャッシュ・サブアレイ・アービトレーションの改良

Country Status (2)

Country Link
US (1) US5905999A (ja)
JP (1) JPH1055310A (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103794B2 (en) 1998-06-08 2006-09-05 Cacheflow, Inc. Network object cache engine
US6128701A (en) * 1997-10-28 2000-10-03 Cache Flow, Inc. Adaptive and predictive cache refresh policy
US6393526B1 (en) * 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
JP4014923B2 (ja) * 2002-04-30 2007-11-28 株式会社日立製作所 共有メモリ制御方法および制御システム
US7039756B2 (en) * 2003-04-28 2006-05-02 Lsi Logic Corporation Method for use of ternary CAM to implement software programmable cache policies
US7290253B1 (en) * 2003-09-30 2007-10-30 Vmware, Inc. Prediction mechanism for subroutine returns in binary translation sub-systems of computers
US8341353B2 (en) * 2010-01-14 2012-12-25 Qualcomm Incorporated System and method to access a portion of a level two memory and a level one memory
WO2011094437A2 (en) 2010-01-28 2011-08-04 Hewlett-Packard Development Company, L.P. Memory access methods and apparatus
US20140173170A1 (en) * 2012-12-14 2014-06-19 Hewlett-Packard Development Company, L.P. Multiple subarray memory access
US10141043B1 (en) * 2017-07-24 2018-11-27 Nanya Technology Corporation DRAM and method for managing power thereof

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3241376A1 (de) * 1982-11-09 1984-05-10 Siemens AG, 1000 Berlin und 8000 München Dma-steuereinrichtung zur uebertragung von daten zwischen einem datensender und einem datenempfaenger
US4914582A (en) * 1986-06-27 1990-04-03 Hewlett-Packard Company Cache tag lookaside
US5353416A (en) * 1989-10-25 1994-10-04 Zenith Data Systems Corporation CPU lock logic for corrected operation with a posted write array
US5483645A (en) * 1990-10-26 1996-01-09 Advanced Micro Devices, Inc. Cache access system for multiple requestors providing independent access to the cache arrays
US5249282A (en) * 1990-11-21 1993-09-28 Benchmarq Microelectronics, Inc. Integrated cache memory system with primary and secondary cache memories
US5440752A (en) * 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
US5361391A (en) * 1992-06-22 1994-11-01 Sun Microsystems, Inc. Intelligent cache memory and prefetch method based on CPU data fetching characteristics
US5359557A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Dual-port array with storage redundancy having a cross-write operation
US5581734A (en) * 1993-08-02 1996-12-03 International Business Machines Corporation Multiprocessor system with shared cache and data input/output circuitry for transferring data amount greater than system bus capacity
US5649144A (en) * 1994-06-13 1997-07-15 Hewlett-Packard Co. Apparatus, systems and methods for improving data cache hit rates
US5640534A (en) * 1994-10-05 1997-06-17 International Business Machines Corporation Method and system for concurrent access in a data cache array utilizing multiple match line selection paths

Also Published As

Publication number Publication date
US5905999A (en) 1999-05-18

Similar Documents

Publication Publication Date Title
US12001351B2 (en) Multiple-requestor memory access pipeline and arbiter
EP0734553B1 (en) Split level cache
US6247094B1 (en) Cache memory architecture with on-chip tag array and off-chip data array
US12332790B2 (en) Multi-level cache security
US5353424A (en) Fast tag compare and bank select in set associative cache
US7793038B2 (en) System and method for programmable bank selection for banked memory subsystems
US6665774B2 (en) Vector and scalar data cache for a vector multiprocessor
US5809530A (en) Method and apparatus for processing multiple cache misses using reload folding and store merging
EP0097790B1 (en) Apparatus for controlling storage access in a multilevel storage system
US6681295B1 (en) Fast lane prefetching
US8015358B2 (en) System bus structure for large L2 cache array topology with different latency domains
US9311246B2 (en) Cache memory system
US5897655A (en) System and method for cache replacement within a cache set based on valid, modified or least recently used status in order of preference
US20090083489A1 (en) L2 cache controller with slice directory and unified cache structure
US11301250B2 (en) Data prefetching auxiliary circuit, data prefetching method, and microprocessor
JP2001184263A (ja) 旧キャッシュラインを無効化および除去する装置
US20080077740A1 (en) L2 cache array topology for large cache with different latency domains
US20100293339A1 (en) Data processing system, processor and method for varying a data prefetch size based upon data usage
JP2001195303A (ja) 機能が並列に分散された変換索引バッファ
US20090198903A1 (en) Data processing system, processor and method that vary an amount of data retrieved from memory based upon a hint
JP3431878B2 (ja) マルチスレッド・プロセッサの命令キャッシュ
US6647464B2 (en) System and method utilizing speculative cache access for improved performance
US5905999A (en) Cache sub-array arbitration
US6434670B1 (en) Method and apparatus for efficiently managing caches with non-power-of-two congruence classes
JP2004199677A (ja) キャッシュを動作させるためのシステム及び方法