JPH04328657A - キャッシュメモリ - Google Patents
キャッシュメモリInfo
- Publication number
- JPH04328657A JPH04328657A JP3099237A JP9923791A JPH04328657A JP H04328657 A JPH04328657 A JP H04328657A JP 3099237 A JP3099237 A JP 3099237A JP 9923791 A JP9923791 A JP 9923791A JP H04328657 A JPH04328657 A JP H04328657A
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- memory
- hierarchy
- cache
- entry
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 378
- 230000007246 mechanism Effects 0.000 claims abstract description 19
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 24
- 238000000034 method Methods 0.000 description 21
- 230000004044 response Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】[発明の目的]
【0002】
【産業上の利用分野】本発明は多階層のキャッシュメモ
リやマルチプロセッサシステムで使用されるキャッシュ
メモリに関し、特に新たなキャッシュメモリ制御方式の
導入により、ヒット率の向上、処理の高速化、しいては
システムの処理性能を増大し得るキャッシュメモリに関
する。
リやマルチプロセッサシステムで使用されるキャッシュ
メモリに関し、特に新たなキャッシュメモリ制御方式の
導入により、ヒット率の向上、処理の高速化、しいては
システムの処理性能を増大し得るキャッシュメモリに関
する。
【0003】
【従来の技術】コンピュータの高速化の手段として、図
11に示すように、アクセス速度の遅いメインメモリ3
と高速のCPU1との間に接続されて、メインメモリ3
のデータの一部分を格納したアクセス速度の速うメモリ
、即ちキャッシュメモリ2がある。
11に示すように、アクセス速度の遅いメインメモリ3
と高速のCPU1との間に接続されて、メインメモリ3
のデータの一部分を格納したアクセス速度の速うメモリ
、即ちキャッシュメモリ2がある。
【0004】コンピュータシステムを更に高速化するた
め、図12に示すように、前記キャッシュメモリ2とメ
インメモリ3の間に、メモリのアクセス速度、大きさな
どで階層を分けられた二次キャッシュメモリ2Bを持た
せる構成もある。一次キャッシュメモリ2Aは、二次キ
ャッシュメモリ2Bまたはメインメモリ3に比べメモリ
容量が小さいため、一次キャッシュメモリ2Aを二次キ
ャッシュメモリ2Bまたはメインメモリ3に書き戻す動
作、即ちライトバックが必要になる。同様に、二次キャ
ッシュメモリ2Bはメインメモリ3へライトバックされ
る。このように、二次キャッシュメモリ2Bのライトバ
ックの対象がメインメモリ3なので、ライトバックに時
間がかかるという問題がある。
め、図12に示すように、前記キャッシュメモリ2とメ
インメモリ3の間に、メモリのアクセス速度、大きさな
どで階層を分けられた二次キャッシュメモリ2Bを持た
せる構成もある。一次キャッシュメモリ2Aは、二次キ
ャッシュメモリ2Bまたはメインメモリ3に比べメモリ
容量が小さいため、一次キャッシュメモリ2Aを二次キ
ャッシュメモリ2Bまたはメインメモリ3に書き戻す動
作、即ちライトバックが必要になる。同様に、二次キャ
ッシュメモリ2Bはメインメモリ3へライトバックされ
る。このように、二次キャッシュメモリ2Bのライトバ
ックの対象がメインメモリ3なので、ライトバックに時
間がかかるという問題がある。
【0005】また、一次キャッシュメモリ2Aにあるデ
ータが必ず二次キャッシュメモリ2Bに含まれているよ
うにした、マルチインクルージョン方式を用いるものも
ある。このマルチインクルージョン方式を実現するには
、ハードウェアの構成上、下位のキャッシュメモリをダ
イレクトマップ方式にしなければならず、必然的に上位
のキャッシュメモリもダイレクト方式にしなければなら
ない。ダイレクトマップ方式はセットアソシアティブ方
式に比べキャッシュメモリのヒット率が低下する。或い
は、セットアソシアティブ方式にした場合、配線の本数
が増え、ハードウェア量が増加するという問題がある。
ータが必ず二次キャッシュメモリ2Bに含まれているよ
うにした、マルチインクルージョン方式を用いるものも
ある。このマルチインクルージョン方式を実現するには
、ハードウェアの構成上、下位のキャッシュメモリをダ
イレクトマップ方式にしなければならず、必然的に上位
のキャッシュメモリもダイレクト方式にしなければなら
ない。ダイレクトマップ方式はセットアソシアティブ方
式に比べキャッシュメモリのヒット率が低下する。或い
は、セットアソシアティブ方式にした場合、配線の本数
が増え、ハードウェア量が増加するという問題がある。
【0006】また、図13に示すように、2つのCPU
1−1及び1−2が、共有バス4に接続されたマルチプ
ロセッサ構成のコンピュータシステムでは、共有バス4
を使ってデータ転送をしている。ライトバックするキャ
ッシュメモリ2−1のライトバック先が、他のCPU、
例えばCPU1−2の管理下にあるメインメモリ3−2
の場合、共有バス4を使ってライトバックのデータ転送
を行なう。このようなマルチプロセッサシステムでは、
下位のキャッシュメモリのライトバック先のメインメモ
リがライトバックするキャッシュメモリと同じCPUの
管理下にない場合、マルチプロセッサの共有バス4を占
有してしまい、バス・トラフィックが大きくなり、シス
テムの速度が低下するという問題がある。
1−1及び1−2が、共有バス4に接続されたマルチプ
ロセッサ構成のコンピュータシステムでは、共有バス4
を使ってデータ転送をしている。ライトバックするキャ
ッシュメモリ2−1のライトバック先が、他のCPU、
例えばCPU1−2の管理下にあるメインメモリ3−2
の場合、共有バス4を使ってライトバックのデータ転送
を行なう。このようなマルチプロセッサシステムでは、
下位のキャッシュメモリのライトバック先のメインメモ
リがライトバックするキャッシュメモリと同じCPUの
管理下にない場合、マルチプロセッサの共有バス4を占
有してしまい、バス・トラフィックが大きくなり、シス
テムの速度が低下するという問題がある。
【0007】
【発明が解決しようとする課題】以上のように、従来の
キャッシュメモリでは、(1) 二次キャッシュメモリ
のライトバックの対象がメインメモリなので、ライトバ
ックに時間を要する。
キャッシュメモリでは、(1) 二次キャッシュメモリ
のライトバックの対象がメインメモリなので、ライトバ
ックに時間を要する。
【0008】(2) マルチインクルージョン方式では
、二次キャッシュメモリをダイレクトマップ方式にした
場合、一次キャッシュメモリもダイレクトマップ方式に
しなければならず、一次キャッシュメモリのヒット率が
低下する。或いは、一次キャッシュメモリ、二次キャッ
シュメモリの両方をセットアソシアティブ方式にした場
合、配線の本数が増え、ハードウェア量が増加する。
、二次キャッシュメモリをダイレクトマップ方式にした
場合、一次キャッシュメモリもダイレクトマップ方式に
しなければならず、一次キャッシュメモリのヒット率が
低下する。或いは、一次キャッシュメモリ、二次キャッ
シュメモリの両方をセットアソシアティブ方式にした場
合、配線の本数が増え、ハードウェア量が増加する。
【0009】(3) マルチプロセッサシステムでは、
バス・トラフィックが大きくなることが有り、システム
の速度が低下する。
バス・トラフィックが大きくなることが有り、システム
の速度が低下する。
【0010】という欠点があった。
【0011】本発明は、上記問題点を解決するもので、
その目的は、キャッシュメモリの制御方式を改善するこ
とにより、高性能なコンピュータシステム及び高性能な
キャッシュメモリを提供することである。
その目的は、キャッシュメモリの制御方式を改善するこ
とにより、高性能なコンピュータシステム及び高性能な
キャッシュメモリを提供することである。
【0012】
【課題を解決するための手段】前記課題を解決するため
に、本発明の特徴は、図1に示す如く、CPU1とメイ
ンメモリ3間に、CPU側を上位、メインメモリ側を下
位とする少なくとも2つの階層(m階層)を持って構成
されるキャッシュメモリにおいて、前記各階層のキャッ
シュメモリ2j(j=1,…,m)は、隣接する階層の
キャッシュメモリ2j−1及び2j+1に対して該階層
のキャッシュメモリ2jの状態情報及びまたはエントリ
を複写する複写機構5jを具備し、前記複写機構5jは
、該階層のキャッシュメモリ2jがライトバックしよう
とするエントリが上位のキャッシュメモリ2i(i=1
,…,j−1)でヒットした場合に、該キャッシュメモ
リ2jの状態情報を上位のキャッシュメモリ2iに複写
することである。
に、本発明の特徴は、図1に示す如く、CPU1とメイ
ンメモリ3間に、CPU側を上位、メインメモリ側を下
位とする少なくとも2つの階層(m階層)を持って構成
されるキャッシュメモリにおいて、前記各階層のキャッ
シュメモリ2j(j=1,…,m)は、隣接する階層の
キャッシュメモリ2j−1及び2j+1に対して該階層
のキャッシュメモリ2jの状態情報及びまたはエントリ
を複写する複写機構5jを具備し、前記複写機構5jは
、該階層のキャッシュメモリ2jがライトバックしよう
とするエントリが上位のキャッシュメモリ2i(i=1
,…,j−1)でヒットした場合に、該キャッシュメモ
リ2jの状態情報を上位のキャッシュメモリ2iに複写
することである。
【0013】本発明の第2の特徴は、請求項1に記載の
キャッシュメモリにおいて、前記複写機構5j(j=2
,…,m)は、上位のキャッシュメモリ2i(i=1,
…,j−1)に無効なエントリがある場合に、該階層の
キャッシュメモリ2jのエントリを上位のキャッシュメ
モリ2iの無効な部分に複写することである。
キャッシュメモリにおいて、前記複写機構5j(j=2
,…,m)は、上位のキャッシュメモリ2i(i=1,
…,j−1)に無効なエントリがある場合に、該階層の
キャッシュメモリ2jのエントリを上位のキャッシュメ
モリ2iの無効な部分に複写することである。
【0014】本発明の第3の特徴は、請求項1または2
に記載のキャッシュメモリにおいて、前記複写機構5j
(j=2,…,m)は、上位のキャッシュメモリ2i(
i=1,…,j−1)のエントリがメインメモリ3の内
容と等しい場合に、該階層のキャッシュメモリ2jのエ
ントリを上位のキャッシュメモリ2iの無効な部分に複
写することである。
に記載のキャッシュメモリにおいて、前記複写機構5j
(j=2,…,m)は、上位のキャッシュメモリ2i(
i=1,…,j−1)のエントリがメインメモリ3の内
容と等しい場合に、該階層のキャッシュメモリ2jのエ
ントリを上位のキャッシュメモリ2iの無効な部分に複
写することである。
【0015】本発明の第4の特徴は、請求項1、2、ま
たは3に記載のキャッシュメモリにおいて、前記複写機
構5j(j=2,…,m)は、上位のキャッシュメモリ
2i(i=1,…,j−1)の置き換え優先度が最低で
ないエントリを無効化し、該階層のキャッシュメモリ2
jの状態情報及びエントリを上位のキャッシュメモリ2
iの無効な部分に複写することである。
たは3に記載のキャッシュメモリにおいて、前記複写機
構5j(j=2,…,m)は、上位のキャッシュメモリ
2i(i=1,…,j−1)の置き換え優先度が最低で
ないエントリを無効化し、該階層のキャッシュメモリ2
jの状態情報及びエントリを上位のキャッシュメモリ2
iの無効な部分に複写することである。
【0016】本発明の第5の特徴は、請求項1、2、3
、または4に記載のキャッシュメモリにおいて、ある階
層のキャッシュメモリ2i(i=2,…,m)がセット
アソシアティブ方式である時、より下位の階層のキャッ
シュメモリ2j(j=i+1,…,m)がダイレクトマ
ップ方式であることである。
、または4に記載のキャッシュメモリにおいて、ある階
層のキャッシュメモリ2i(i=2,…,m)がセット
アソシアティブ方式である時、より下位の階層のキャッ
シュメモリ2j(j=i+1,…,m)がダイレクトマ
ップ方式であることである。
【0017】本発明の第6の特徴は、請求項1、2、3
、4、または5に記載のキャッシュメモリにおいて、隣
接する2つの階層のキャッシュメモリ2i及び2jが共
にセットアソシアティブ方式である時、より上位の階層
のキャッシュメモリ2iのウェイ数はより下位の階層の
キャッシュメモリ2jのウェイ数より多いことである。
、4、または5に記載のキャッシュメモリにおいて、隣
接する2つの階層のキャッシュメモリ2i及び2jが共
にセットアソシアティブ方式である時、より上位の階層
のキャッシュメモリ2iのウェイ数はより下位の階層の
キャッシュメモリ2jのウェイ数より多いことである。
【0018】本発明の第7の特徴は、請求項1、2、3
、4、5または6に記載のキャッシュメモリにおいて、
前記キャッシュメモリは、n組のプロセッサをバス結合
して構成されるマルチプロセッサシステムの各組のプロ
セッサ内に構成されることである。
、4、5または6に記載のキャッシュメモリにおいて、
前記キャッシュメモリは、n組のプロセッサをバス結合
して構成されるマルチプロセッサシステムの各組のプロ
セッサ内に構成されることである。
【0019】
【作用】本発明の第1の特徴のキャッシュメモリでは、
複写機構5j(j=2,…,m)は、該階層のキャッシ
ュメモリ2jがライトバックしようとするエントリが上
位のキャッシュメモリ2i(i=1,…,j−1)でヒ
ットした場合に、該キャッシュメモリ2jの状態情報を
上位のキャッシュメモリ2jに複写する。これにより、
該キャッシュメモリ2jのエントリを下位のキャッシュ
メモリ2k(k=j+1,…,m)またはメインメモリ
3にライトバックする必要がなくなり、キャッシュメモ
リを高速化することができる。
複写機構5j(j=2,…,m)は、該階層のキャッシ
ュメモリ2jがライトバックしようとするエントリが上
位のキャッシュメモリ2i(i=1,…,j−1)でヒ
ットした場合に、該キャッシュメモリ2jの状態情報を
上位のキャッシュメモリ2jに複写する。これにより、
該キャッシュメモリ2jのエントリを下位のキャッシュ
メモリ2k(k=j+1,…,m)またはメインメモリ
3にライトバックする必要がなくなり、キャッシュメモ
リを高速化することができる。
【0020】本発明の第2の特徴のキャッシュメモリで
は、複写機構5jは、上位のキャッシュメモリ2iに無
効なエントリがある場合に、該階層のキャッシュメモリ
2jのエントリを上位のキャッシュメモリ2iの無効な
部分に複写する。これにより、該階層のキャッシュメモ
リ2jのエントリをメインメモリ3にライトバックする
必要がなくなり、キャッシュメモリを高速化することが
できる。
は、複写機構5jは、上位のキャッシュメモリ2iに無
効なエントリがある場合に、該階層のキャッシュメモリ
2jのエントリを上位のキャッシュメモリ2iの無効な
部分に複写する。これにより、該階層のキャッシュメモ
リ2jのエントリをメインメモリ3にライトバックする
必要がなくなり、キャッシュメモリを高速化することが
できる。
【0021】本発明の第3の特徴のキャッシュメモリで
は、複写機構5jは、上位のキャッシュメモリ2iのエ
ントリがメインメモリ3の内容と等しい場合に、該階層
のキャッシュメモリ2jのエントリを上位のキャッシュ
メモリ2iの無効な部分に複写する。これにより、該階
層のキャッシュメモリ2jのエントリをメインメモリ3
にライトバックする必要がなくなり、キャッシュメモリ
を高速化することができる。
は、複写機構5jは、上位のキャッシュメモリ2iのエ
ントリがメインメモリ3の内容と等しい場合に、該階層
のキャッシュメモリ2jのエントリを上位のキャッシュ
メモリ2iの無効な部分に複写する。これにより、該階
層のキャッシュメモリ2jのエントリをメインメモリ3
にライトバックする必要がなくなり、キャッシュメモリ
を高速化することができる。
【0022】本発明の第4の特徴のキャッシュメモリで
は、複写機構5jは、上位のキャッシュメモリ2iの置
き換え優先度が最低でないエントリを無効化し、該階層
のキャッシュメモリ2jの状態情報及びエントリを上位
のキャッシュメモリ2iの無効な部分に複写する。これ
により、該階層のキャッシュメモリ2jのエントリをメ
インメモリ3にライトバックする必要がなくなり、キャ
ッシュメモリを高速化することができる。
は、複写機構5jは、上位のキャッシュメモリ2iの置
き換え優先度が最低でないエントリを無効化し、該階層
のキャッシュメモリ2jの状態情報及びエントリを上位
のキャッシュメモリ2iの無効な部分に複写する。これ
により、該階層のキャッシュメモリ2jのエントリをメ
インメモリ3にライトバックする必要がなくなり、キャ
ッシュメモリを高速化することができる。
【0023】本発明の第5の特徴のキャッシュメモリで
は、ある階層のキャッシュメモリ2i(i=1,…,m
−1)がセットアソシアティブ方式である時、より下位
の階層のキャッシュメモリ2j(j=i+1,…,m)
がダイレクトマップ方式である。この時、下位のキャッ
シュメモリ2jより上位のキャッシュンエモリ2iのウ
ェイ数を増やすことにより、そのヒット率を上げること
ができ、またキャッシュメモリを高速化できる。
は、ある階層のキャッシュメモリ2i(i=1,…,m
−1)がセットアソシアティブ方式である時、より下位
の階層のキャッシュメモリ2j(j=i+1,…,m)
がダイレクトマップ方式である。この時、下位のキャッ
シュメモリ2jより上位のキャッシュンエモリ2iのウ
ェイ数を増やすことにより、そのヒット率を上げること
ができ、またキャッシュメモリを高速化できる。
【0024】本発明の第6の特徴のキャッシュメモリで
は、隣接する2つの階層のキャッシュメモリ2i及び2
jが共にセットアソシアティブ方式である時、より上位
の階層のキャッシュメモリ2iのウェイ数はより下位の
階層のキャッシュメモリ2jのウェイ数より多い。下位
のキャッシュメモリ2jより上位のキャッシュンエモリ
2iのウェイ数を増やすことにより、そのヒット率が上
がり、またキャッシュメモリを高速化できる。
は、隣接する2つの階層のキャッシュメモリ2i及び2
jが共にセットアソシアティブ方式である時、より上位
の階層のキャッシュメモリ2iのウェイ数はより下位の
階層のキャッシュメモリ2jのウェイ数より多い。下位
のキャッシュメモリ2jより上位のキャッシュンエモリ
2iのウェイ数を増やすことにより、そのヒット率が上
がり、またキャッシュメモリを高速化できる。
【0025】本発明の第7の特徴のキャッシュメモリで
は、前記第1から第6の特徴のキャッシュメモリが、n
組のプロセッサをバス結合して構成されるマルチプロセ
ッサシステムの各組のプロセッサ内に構成される。これ
により、該階層のキャッシュメモリ2jの状態情報及び
エントリを上位のキャッシュメモリ2iにライトバック
することになり、共有バスを使用して他のプロセッサ内
のキャッシュメモリにライトバックする必要がなくなる
。従って、バス・トラフィックが減少し、システムの高
速化が図れる。
は、前記第1から第6の特徴のキャッシュメモリが、n
組のプロセッサをバス結合して構成されるマルチプロセ
ッサシステムの各組のプロセッサ内に構成される。これ
により、該階層のキャッシュメモリ2jの状態情報及び
エントリを上位のキャッシュメモリ2iにライトバック
することになり、共有バスを使用して他のプロセッサ内
のキャッシュメモリにライトバックする必要がなくなる
。従って、バス・トラフィックが減少し、システムの高
速化が図れる。
【0026】
【実施例】以下、本発明に係る実施例を図面に基づいて
説明する。
説明する。
【0027】図2に本発明の第1の実施例に係るコンピ
ュータシステムの構成図を示したものである。図2にお
いて、従来例と重複する部分には同一の符号を附して説
明を省略する。
ュータシステムの構成図を示したものである。図2にお
いて、従来例と重複する部分には同一の符号を附して説
明を省略する。
【0028】本実施例は、CPU1と、一次キャッシュ
メモリ2Aと二次キャッシュメモリ2Bの2階層のキャ
ッシュメモリと、メインメモリ3とを1つのプロセッサ
の組としたものが、共有バス4にn台つながれて構成さ
れるマルチプロセッサのコンピュータシステムである。
メモリ2Aと二次キャッシュメモリ2Bの2階層のキャ
ッシュメモリと、メインメモリ3とを1つのプロセッサ
の組としたものが、共有バス4にn台つながれて構成さ
れるマルチプロセッサのコンピュータシステムである。
【0029】以下、このシステム構成において、図3、
図4、図5、及び図6により本発明によるキャッシュメ
モリの制御方式を説明する。図3及び図4は、本発明の
キャッシュメモリ(2階層)の制御方式を説明する図で
、CPU動作によるキャッシュメモリ2A及び2Bの状
態変化を説明する図である。また図5は、バスからの要
求及びキャッシュレスポンスに対するキャッシュメモリ
2A及び2Bの状態変化を説明する図である。これらの
図は、一次キャッシュメモリ2Aと二次キャッシュメモ
リ2Bの状態が(前)の状態であった時、(1)から(
17)までのCPU動作、若しくはバスからの要求及び
キャッシュレスポンスに対して、一次キャッシュメモリ
2Aと二次キャッシュメモリ2Bの状態が(後)の状態
に遷移することを示している。また図6は、キャッシュ
メモリ2A及び2Bの取り得る状態を説明したものであ
る。
図4、図5、及び図6により本発明によるキャッシュメ
モリの制御方式を説明する。図3及び図4は、本発明の
キャッシュメモリ(2階層)の制御方式を説明する図で
、CPU動作によるキャッシュメモリ2A及び2Bの状
態変化を説明する図である。また図5は、バスからの要
求及びキャッシュレスポンスに対するキャッシュメモリ
2A及び2Bの状態変化を説明する図である。これらの
図は、一次キャッシュメモリ2Aと二次キャッシュメモ
リ2Bの状態が(前)の状態であった時、(1)から(
17)までのCPU動作、若しくはバスからの要求及び
キャッシュレスポンスに対して、一次キャッシュメモリ
2Aと二次キャッシュメモリ2Bの状態が(後)の状態
に遷移することを示している。また図6は、キャッシュ
メモリ2A及び2Bの取り得る状態を説明したものであ
る。
【0030】先ず、これらの図で使用する符号について
説明する。
説明する。
【0031】”1st”は一次キャッシュメモリ2Aを
、”2nd”は二次キャッシュメモリ2Bを示す。また
、”if(条件)then 状態 else 状
態”の文で、条件に記載されている”LA”はローカル
エリアを示し、キャッシュメモリのデータが同じプロセ
ッサ内のメインメモリに存在していることを意味し、そ
の否定である”LA”▲バー▼はキャッシュメモリのデ
ータが別のプロセッサ内のメインメモリに存在している
ことを意味する。更に”Shared”▲バー▼は、他
のプロセッサ内のCPUから該プロセッサ内のキャッシ
ュメモリにそのデータを共有していることを示す信号が
来ていないことを意味する。また、”INV page
”は一次キャッシュメモリ2Aがライトヒットした時に
、ヒットしたエントリを無効化することを、”UD p
age ”はヒットしたエントリを更新することを意味
している。また、”V ・ D ”はそのデータがバリ
ッド(有効)で且つメインメモリと異なったデータが書
き込まれていることを意味している。
、”2nd”は二次キャッシュメモリ2Bを示す。また
、”if(条件)then 状態 else 状
態”の文で、条件に記載されている”LA”はローカル
エリアを示し、キャッシュメモリのデータが同じプロセ
ッサ内のメインメモリに存在していることを意味し、そ
の否定である”LA”▲バー▼はキャッシュメモリのデ
ータが別のプロセッサ内のメインメモリに存在している
ことを意味する。更に”Shared”▲バー▼は、他
のプロセッサ内のCPUから該プロセッサ内のキャッシ
ュメモリにそのデータを共有していることを示す信号が
来ていないことを意味する。また、”INV page
”は一次キャッシュメモリ2Aがライトヒットした時に
、ヒットしたエントリを無効化することを、”UD p
age ”はヒットしたエントリを更新することを意味
している。また、”V ・ D ”はそのデータがバリ
ッド(有効)で且つメインメモリと異なったデータが書
き込まれていることを意味している。
【0032】一次キャッシュメモリ2A(1st)と二
次キャッシュメモリ2B(2nd)は、その状態として
以下の5つの状態を持ち、図3、図4、及び図5の(1
)から(17)までの動作により遷移する。また、キャ
ッシュメモリ2A及び2Bの取り得る状態は、図6にお
ける○印の記された場合のみである。
次キャッシュメモリ2B(2nd)は、その状態として
以下の5つの状態を持ち、図3、図4、及び図5の(1
)から(17)までの動作により遷移する。また、キャ
ッシュメモリ2A及び2Bの取り得る状態は、図6にお
ける○印の記された場合のみである。
【0033】”I”はインバリッド状態を示し、エント
リが無効化されているか、またはキャッシュメモリがヒ
ットしなかったことを示している。
リが無効化されているか、またはキャッシュメモリがヒ
ットしなかったことを示している。
【0034】”CE”はクリーン・エクスクルーシブ状
態を示し、メインメモリとキャッシュメモリの内容が等
しいことと、他にそのデータを共有しているキャッシュ
メモリが無いことを示している。
態を示し、メインメモリとキャッシュメモリの内容が等
しいことと、他にそのデータを共有しているキャッシュ
メモリが無いことを示している。
【0035】”DE”はダーティ・エクスクルーシブ状
態を示し、キャッシュメモリの内容は既に書き変えられ
ており、メインメモリとデータが異なっていることと、
他にそのデータを共有しているキャッシュメモリが無い
ことを示している。
態を示し、キャッシュメモリの内容は既に書き変えられ
ており、メインメモリとデータが異なっていることと、
他にそのデータを共有しているキャッシュメモリが無い
ことを示している。
【0036】”S”はシェアード状態を示し、メインメ
モリとキャッシュメモリの内容が等しいことと、他にそ
のデータを共有しているキャッシュメモリが有ることを
示している。
モリとキャッシュメモリの内容が等しいことと、他にそ
のデータを共有しているキャッシュメモリが有ることを
示している。
【0037】”DS”はダーティ・シェアード状態を示
し、キャッシュメモリの内容は既に書き変えられており
、メインメモリとデータが異なっていることと、他にそ
のデータを共有しているキャッシュメモリがあることを
示している。
し、キャッシュメモリの内容は既に書き変えられており
、メインメモリとデータが異なっていることと、他にそ
のデータを共有しているキャッシュメモリがあることを
示している。
【0038】尚、”*”は括弧書きの無い限り、上記5
つの状態の内何れでもよいことを示す。
つの状態の内何れでもよいことを示す。
【0039】本発明のキャッシュメモリでは、図3、図
4、及び図5において、(1)から(17)までの動作
による遷移の内、(7)及び(8)のみが関係し、その
他のものについては従来行なわれている制御と同様であ
り、本発明とは直接関係しないので、ここでは説明を省
略する。また最初の説明は、1組のプロセッサ(CPU
1、一次キャッシュメモリ2A、二次キャッシュメモリ
2B、及びメインメモリ3で構成される)を用いて行な
う。
4、及び図5において、(1)から(17)までの動作
による遷移の内、(7)及び(8)のみが関係し、その
他のものについては従来行なわれている制御と同様であ
り、本発明とは直接関係しないので、ここでは説明を省
略する。また最初の説明は、1組のプロセッサ(CPU
1、一次キャッシュメモリ2A、二次キャッシュメモリ
2B、及びメインメモリ3で構成される)を用いて行な
う。
【0040】先ず、図4の(8)、即ち、二次キャッシ
ュメモリ2Bがライトバックとなり、ライトバックする
エントリで一次キャッシュメモリ2Aがヒットした場合
を説明する。
ュメモリ2Bがライトバックとなり、ライトバックする
エントリで一次キャッシュメモリ2Aがヒットした場合
を説明する。
【0041】一次キャッシュメモリ2Aが状態CEで二
次キャッシュメモリ2Bが状態DEの場合、一次キャッ
シュメモリ2Aと二次キャッシュメモリ2Bを比べると
、メインメモリ3内のデータが同じで状態が違うことに
なる。この場合、一次キャッシュメモリ2Aには二次キ
ャッシュメモリ2Bと同じデータがあるので、二次キャ
ッシュメモリ2Bのデータを一次キャッシュメモリ2A
にコピーする必要はないが、二次キャッシュメモリ2B
とメインメモリ3とでデータが違うことを保存しておく
必要がある。つまり、メインメモリ3とデータが違うこ
とを示すのが二次キャッシュメモリ2Bの状態DEであ
るので、二次キャッシュメモリ2Bから一次キャッシュ
メモリ2Aに状態情報をコピーする。
次キャッシュメモリ2Bが状態DEの場合、一次キャッ
シュメモリ2Aと二次キャッシュメモリ2Bを比べると
、メインメモリ3内のデータが同じで状態が違うことに
なる。この場合、一次キャッシュメモリ2Aには二次キ
ャッシュメモリ2Bと同じデータがあるので、二次キャ
ッシュメモリ2Bのデータを一次キャッシュメモリ2A
にコピーする必要はないが、二次キャッシュメモリ2B
とメインメモリ3とでデータが違うことを保存しておく
必要がある。つまり、メインメモリ3とデータが違うこ
とを示すのが二次キャッシュメモリ2Bの状態DEであ
るので、二次キャッシュメモリ2Bから一次キャッシュ
メモリ2Aに状態情報をコピーする。
【0042】同様に、一次キャッシュメモリ2Aが状態
Sで二次キャッシュメモリ2Bが状態DSの場合でも、
一次キャッシュメモリ2Aと二次キャッシュメモリ2B
は、メモリ内のデータが同じで状態が違うことになり、
上記と同じ理由により、二次キャッシュメモリ2Bから
一次キャッシュメモリ2Aに状態情報をコピーする。
Sで二次キャッシュメモリ2Bが状態DSの場合でも、
一次キャッシュメモリ2Aと二次キャッシュメモリ2B
は、メモリ内のデータが同じで状態が違うことになり、
上記と同じ理由により、二次キャッシュメモリ2Bから
一次キャッシュメモリ2Aに状態情報をコピーする。
【0043】従来の技術では、たとえ一次キャッシュメ
モリ2A内に二次キャッシュメモリ2Bと同じデータが
あっても、二次キャッシュメモリ2Bのデータをメイン
メモリ3にライトバックするので、非常に時間がかかっ
ていた。本実施例では、二次キャッシュメモリ2Bの状
態情報を一次キャッシュメモリ2Aにコピーするだけな
ので、二次キャッシュメモリ2Bのライトバックにかか
る時間が非常に短くなり、キャッシュメモリを高速化で
きる。
モリ2A内に二次キャッシュメモリ2Bと同じデータが
あっても、二次キャッシュメモリ2Bのデータをメイン
メモリ3にライトバックするので、非常に時間がかかっ
ていた。本実施例では、二次キャッシュメモリ2Bの状
態情報を一次キャッシュメモリ2Aにコピーするだけな
ので、二次キャッシュメモリ2Bのライトバックにかか
る時間が非常に短くなり、キャッシュメモリを高速化で
きる。
【0044】次に、図4の(7)、即ち、二次キャッシ
ュメモリ2Bがライトバックとなり、ライトバックする
エントリで一次キャッシュメモリ2Aがミスした場合を
説明する。
ュメモリ2Bがライトバックとなり、ライトバックする
エントリで一次キャッシュメモリ2Aがミスした場合を
説明する。
【0045】一次キャッシュメモリ2Aに無効なエント
リがあった場合、二次キャッシュメモリ2Bをメインメ
モリ3にライトバックするよりも、一次キャッシュメモ
リ2Aにライトバックしたほうがはるかに短い時間です
むので、二次キャッシュメモリ2Bから一次キャッシュ
メモリ2Aにライトバックする。
リがあった場合、二次キャッシュメモリ2Bをメインメ
モリ3にライトバックするよりも、一次キャッシュメモ
リ2Aにライトバックしたほうがはるかに短い時間です
むので、二次キャッシュメモリ2Bから一次キャッシュ
メモリ2Aにライトバックする。
【0046】従来の技術では、たとえ一次キャッシュメ
モリ2A内に無効なエントリがあっても、二次キャッシ
ュメモリ2Bのデータをメインメモリ3にライトバック
するので非常に時間がかかっていた。本実施例では、一
次キャッシュメモリ2A内に無効なエントリがあれば、
二次キャッシュメモリ2Bを一次キャッシュメモリ2A
にライトバックするので、二次キャッシュメモリ2Bの
ライトバックにかかる時間が非常に短くなり、キャッシ
ュメモリを高速化できる。更に、一次キャッシュメモリ
2Aの無効なエントリが減るので、一次キャッシュメモ
リ2Aのヒット率が上がり、キャッシュメモリの性能が
上がる。
モリ2A内に無効なエントリがあっても、二次キャッシ
ュメモリ2Bのデータをメインメモリ3にライトバック
するので非常に時間がかかっていた。本実施例では、一
次キャッシュメモリ2A内に無効なエントリがあれば、
二次キャッシュメモリ2Bを一次キャッシュメモリ2A
にライトバックするので、二次キャッシュメモリ2Bの
ライトバックにかかる時間が非常に短くなり、キャッシ
ュメモリを高速化できる。更に、一次キャッシュメモリ
2Aの無効なエントリが減るので、一次キャッシュメモ
リ2Aのヒット率が上がり、キャッシュメモリの性能が
上がる。
【0047】また、一次キャッシュメモリ2Aが状態C
E或いは状態Sになっているエントリがあった場合、こ
のエントリを無効化して、ここに二次キャッシュメモリ
2Bから一次キャッシュメモリ2Aにライトバックする
。そうすると、そのエントリは二次キャッシュメモリ2
Bからのライトバックで有効化される。
E或いは状態Sになっているエントリがあった場合、こ
のエントリを無効化して、ここに二次キャッシュメモリ
2Bから一次キャッシュメモリ2Aにライトバックする
。そうすると、そのエントリは二次キャッシュメモリ2
Bからのライトバックで有効化される。
【0048】従来の技術では、たとえ一次キャッシュメ
モリ2A内で状態CE或いは状態Sになっているエント
リがあっても、二次キャッシュメモリ2Bのデータをメ
インメモリ3にライトバックするので、非常に時間がか
かっていた。本実施例では、一次キャッシュメモリ2A
が状態CE或いは状態Sになっているエントリがあった
場合、二次キャッシュメモリ2Bを一次キャッシュメモ
リ2Aにライトバックするので、二次キャッシュメモリ
2Bのライトバックにかかる時間が短くなり、キャッシ
ュメモリを高速化できる。
モリ2A内で状態CE或いは状態Sになっているエント
リがあっても、二次キャッシュメモリ2Bのデータをメ
インメモリ3にライトバックするので、非常に時間がか
かっていた。本実施例では、一次キャッシュメモリ2A
が状態CE或いは状態Sになっているエントリがあった
場合、二次キャッシュメモリ2Bを一次キャッシュメモ
リ2Aにライトバックするので、二次キャッシュメモリ
2Bのライトバックにかかる時間が短くなり、キャッシ
ュメモリを高速化できる。
【0049】更に、LRUアルゴリズム等の置き換えの
優先度を決めるアルゴリズムを用いて、一次キャッシュ
メモリ2Aのエントリで置き換えの優先度が最も低いエ
ントリ以外を置き換えるエントリとし、一次キャッシュ
メモリ2Aの状態に応じて一次キャッシュメモリ2Aを
無効化するか、一次キャッシュメモリ2Aを二次キャッ
シュメモリ2Bまたはメインメモリ3にライトバックす
る。次にそこの無効化されたエントリに二次キャッシュ
メモリ2Bからライトバックする。こうした方が、二次
キャッシュメモリ2Bをメインメモリ3にライトバック
するよりも時間が短くなる。
優先度を決めるアルゴリズムを用いて、一次キャッシュ
メモリ2Aのエントリで置き換えの優先度が最も低いエ
ントリ以外を置き換えるエントリとし、一次キャッシュ
メモリ2Aの状態に応じて一次キャッシュメモリ2Aを
無効化するか、一次キャッシュメモリ2Aを二次キャッ
シュメモリ2Bまたはメインメモリ3にライトバックす
る。次にそこの無効化されたエントリに二次キャッシュ
メモリ2Bからライトバックする。こうした方が、二次
キャッシュメモリ2Bをメインメモリ3にライトバック
するよりも時間が短くなる。
【0050】本実施例では、このように二次キャッシュ
メモリ2Bからメインメモリ3にライトバックするのを
減らすため、一次キャッシュメモリ2Aの一部を置き変
えて無効なエントリを作り、そこへ二次キャッシュメモ
リ2Bからライトバックするので、二次キャッシュメモ
リ2Bのライトバックにかかる時間が非常に短くなり、
キャッシュメモリを高速化できる。また、一次キャッシ
ュメモリ2Aの有効利用ができるのでヒット率が上がり
、キャッシュメモリの性能が上がる。
メモリ2Bからメインメモリ3にライトバックするのを
減らすため、一次キャッシュメモリ2Aの一部を置き変
えて無効なエントリを作り、そこへ二次キャッシュメモ
リ2Bからライトバックするので、二次キャッシュメモ
リ2Bのライトバックにかかる時間が非常に短くなり、
キャッシュメモリを高速化できる。また、一次キャッシ
ュメモリ2Aの有効利用ができるのでヒット率が上がり
、キャッシュメモリの性能が上がる。
【0051】次に、図2のn組のマルチプロセッサ構成
のコンピュータシステム(CPU1−1〜1−n、一次
キャッシュメモリ2A−1〜2A−n、二次キャッシュ
メモリ2B−1〜2B−n、及びメインメモリ3−1〜
3−n)を用いて、本発明のキャッシュメモリが共有バ
ス4のバス・トラフィックを減らし、システムを高速化
することを説明する。
のコンピュータシステム(CPU1−1〜1−n、一次
キャッシュメモリ2A−1〜2A−n、二次キャッシュ
メモリ2B−1〜2B−n、及びメインメモリ3−1〜
3−n)を用いて、本発明のキャッシュメモリが共有バ
ス4のバス・トラフィックを減らし、システムを高速化
することを説明する。
【0052】このようなシステム構成で、例えば二次キ
ャッシュメモリ2B−1のライトバック先が、他のCP
U1−i(i≠1)の管理するメインメモリ3−iであ
ると、共有バス4を通してデータの転送が必要になる。 本実施例のキャッシュメモリの制御方式によれば、二次
キャッシュメモリ2B−1を、同じCPU1−1で管理
されている一次キャッシュメモリ2A−1にライトバッ
クすることになり、共有バス4を使わないので、バス・
トラフィックが減少する。バス・トラフィックが減少す
ると、ライトバックにかかる時間も短くなるので、コン
ピュータシステムが高速化される。
ャッシュメモリ2B−1のライトバック先が、他のCP
U1−i(i≠1)の管理するメインメモリ3−iであ
ると、共有バス4を通してデータの転送が必要になる。 本実施例のキャッシュメモリの制御方式によれば、二次
キャッシュメモリ2B−1を、同じCPU1−1で管理
されている一次キャッシュメモリ2A−1にライトバッ
クすることになり、共有バス4を使わないので、バス・
トラフィックが減少する。バス・トラフィックが減少す
ると、ライトバックにかかる時間も短くなるので、コン
ピュータシステムが高速化される。
【0053】次に、図7に本発明の第2の実施例に係る
キャッシュメモリ(2階層)を持つシステムの構成図を
示す。本実施例は、一次キャッシュメモリ2Aに4ウェ
イセットアソシアティブ方式のキャッシュメモリを、ま
た二次キャッシュメモリ2Bにダイレクトマップ方式の
キャッシュメモリを用いた構成となっている。
キャッシュメモリ(2階層)を持つシステムの構成図を
示す。本実施例は、一次キャッシュメモリ2Aに4ウェ
イセットアソシアティブ方式のキャッシュメモリを、ま
た二次キャッシュメモリ2Bにダイレクトマップ方式の
キャッシュメモリを用いた構成となっている。
【0054】一般に、マルチインクルージョンシステム
では、一次キャッシュメモリ2Aより二次キャッシュメ
モリ2Bの方が大きくなくてはならず、図7に示すよう
な構成は実現できない。しかしながら、本実施例では、
第1の実施例と同様の制御方式を採用することにより、
図7の構成を実現でき、更に第1の実施例と同様の効果
、即ちキャッシュメモリの高速化が図れる。尚、本実施
例では、一次キャッシュメモリ2Aを4ウェイセットア
ソシアティブ方式としているが、ウェイ数は本発明の有
意性を制限しない。
では、一次キャッシュメモリ2Aより二次キャッシュメ
モリ2Bの方が大きくなくてはならず、図7に示すよう
な構成は実現できない。しかしながら、本実施例では、
第1の実施例と同様の制御方式を採用することにより、
図7の構成を実現でき、更に第1の実施例と同様の効果
、即ちキャッシュメモリの高速化が図れる。尚、本実施
例では、一次キャッシュメモリ2Aを4ウェイセットア
ソシアティブ方式としているが、ウェイ数は本発明の有
意性を制限しない。
【0055】次に、図8に本発明の第3の実施例に係る
キャッシュメモリ(2階層)を持つシステムの構成図を
示す。本実施例は、一次キャッシュメモリ2Aに4ウェ
イセットアソシアティブ方式のキャッシュメモリを、ま
た二次キャッシュメモリ2Bに2ウェイセットアソシア
ティブ方式のキャッシュメモリを用いた構成となってい
る。
キャッシュメモリ(2階層)を持つシステムの構成図を
示す。本実施例は、一次キャッシュメモリ2Aに4ウェ
イセットアソシアティブ方式のキャッシュメモリを、ま
た二次キャッシュメモリ2Bに2ウェイセットアソシア
ティブ方式のキャッシュメモリを用いた構成となってい
る。
【0056】一般に、マルチインクルージョンシステム
では、一次キャッシュメモリ2Aのウェイ数より二次キ
ャッシュメモリ2Bのウェイ数の方が大きくなくてはな
らず、図8に示すような構成は実現できない。しかしな
がら、本実施例では、第1の実施例と同様の制御方式を
採用することにより、図8の構成を実現でき、一次キャ
ッシュメモリ2Aのウェイ数を増やせるのでヒット率が
上がり、更に第1の実施例と同様にキャッシュメモリの
高速化が図れる。尚、本実施例では、一次キャッシュメ
モリ2Aを4ウェイ、二次キャッシュメモリ2Bを2ウ
ェイとしているが、一次キャッシュメモリ2Aのウェイ
数が二次キャッシュメモリのウェイ数よりも多ければ良
く、本発明の有意性を制限しない。
では、一次キャッシュメモリ2Aのウェイ数より二次キ
ャッシュメモリ2Bのウェイ数の方が大きくなくてはな
らず、図8に示すような構成は実現できない。しかしな
がら、本実施例では、第1の実施例と同様の制御方式を
採用することにより、図8の構成を実現でき、一次キャ
ッシュメモリ2Aのウェイ数を増やせるのでヒット率が
上がり、更に第1の実施例と同様にキャッシュメモリの
高速化が図れる。尚、本実施例では、一次キャッシュメ
モリ2Aを4ウェイ、二次キャッシュメモリ2Bを2ウ
ェイとしているが、一次キャッシュメモリ2Aのウェイ
数が二次キャッシュメモリのウェイ数よりも多ければ良
く、本発明の有意性を制限しない。
【0057】また、図9に本発明の第4の実施例に係る
キャッシュメモリ(多階層)を持つシステムの構成図を
示す。上記第1、第2、及び第3の実施例では、一次キ
ャッシュメモリ2Aと二次キャッシュメモリ2Bによる
2階層のキャッシュメモリについて説明したが、本実施
例のようにm次の階層を持つキャッシュメモリでも、上
位のキャッシュメモリ2Iのアクセス速度の方が、下位
のキャッシュメモリ2Jよりも速いので、上記第1、第
2、及び第3の実施例において、一次キャッシュメモリ
2Aを上位のキャッシュメモリ、二次キャッシュメモリ
2Bを下位のキャッシュメモリと読み替えれば、同じ効
果が得られ、キャッシュメモリの階層の数は本発明の有
意性を制限しない。
キャッシュメモリ(多階層)を持つシステムの構成図を
示す。上記第1、第2、及び第3の実施例では、一次キ
ャッシュメモリ2Aと二次キャッシュメモリ2Bによる
2階層のキャッシュメモリについて説明したが、本実施
例のようにm次の階層を持つキャッシュメモリでも、上
位のキャッシュメモリ2Iのアクセス速度の方が、下位
のキャッシュメモリ2Jよりも速いので、上記第1、第
2、及び第3の実施例において、一次キャッシュメモリ
2Aを上位のキャッシュメモリ、二次キャッシュメモリ
2Bを下位のキャッシュメモリと読み替えれば、同じ効
果が得られ、キャッシュメモリの階層の数は本発明の有
意性を制限しない。
【0058】更に、図10に本発明の第5実施例に係る
キャッシュメモリによるディスクキャッシュ装置の構成
図を示す。ディスクキャッシュ装置は、ディスク内のデ
ータの一部をキャッシュメモリに蓄えて、ディスクアク
セスの高速化を図るものである。キャッシュメモリは、
ディスク装置に比べてアクセス速度が速いので、ディス
クアクセスを見かけ上速くすることができるが、この場
合にも、キャッシュメモリの状態情報を制御する必要が
ある。
キャッシュメモリによるディスクキャッシュ装置の構成
図を示す。ディスクキャッシュ装置は、ディスク内のデ
ータの一部をキャッシュメモリに蓄えて、ディスクアク
セスの高速化を図るものである。キャッシュメモリは、
ディスク装置に比べてアクセス速度が速いので、ディス
クアクセスを見かけ上速くすることができるが、この場
合にも、キャッシュメモリの状態情報を制御する必要が
ある。
【0059】本実施例では、ディスクキャッシュ装置の
制御方式として、上記第1の実施例と同様の制御方式を
採用することにより、従来のディスクキャッシュ装置に
比べて、高速なディスクキャッシュ装置を実現できる。
制御方式として、上記第1の実施例と同様の制御方式を
採用することにより、従来のディスクキャッシュ装置に
比べて、高速なディスクキャッシュ装置を実現できる。
【0060】尚、キャッシュメモリの両端に接続される
装置の種別により、本発明の有意性は制限されない。
装置の種別により、本発明の有意性は制限されない。
【0061】
【発明の効果】以上のように本発明によれば、ある階層
のキャッシュメモリがライトバックしようとするエント
リが上位のキャッシュメモリでヒットした場合に、該階
層の複写機構が、該キャッシュメモリの状態情報を上位
のキャッシュメモリに複写する。また、上位のキャッシ
ュメモリに無効なエントリがある場合には、該階層のキ
ャッシュメモリのエントリを上位のキャッシュメモリの
無効な部分に複写する。また、上位のキャッシュメモリ
のエントリがメインメモリの内容と等しい場合には、該
階層のキャッシュメモリのエントリを上位のキャッシュ
メモリの無効な部分に複写する。更に、上位のキャッシ
ュメモリの置き換え優先度が最低でないエントリを無効
化し、該階層のキャッシュメモリの状態情報及びエント
リを上位のキャッシュメモリの無効な部分に複写するこ
ととした。これにより、該階層のキャッシュメモリのエ
ントリをメインメモリにライトバックする必要がなくな
り、高速なキャッシュメモリを提供することができる。
のキャッシュメモリがライトバックしようとするエント
リが上位のキャッシュメモリでヒットした場合に、該階
層の複写機構が、該キャッシュメモリの状態情報を上位
のキャッシュメモリに複写する。また、上位のキャッシ
ュメモリに無効なエントリがある場合には、該階層のキ
ャッシュメモリのエントリを上位のキャッシュメモリの
無効な部分に複写する。また、上位のキャッシュメモリ
のエントリがメインメモリの内容と等しい場合には、該
階層のキャッシュメモリのエントリを上位のキャッシュ
メモリの無効な部分に複写する。更に、上位のキャッシ
ュメモリの置き換え優先度が最低でないエントリを無効
化し、該階層のキャッシュメモリの状態情報及びエント
リを上位のキャッシュメモリの無効な部分に複写するこ
ととした。これにより、該階層のキャッシュメモリのエ
ントリをメインメモリにライトバックする必要がなくな
り、高速なキャッシュメモリを提供することができる。
【0062】また、本発明によれば、ある階層のキャッ
シュメモリがセットアソシアティブ方式である時、より
下位の階層のキャッシュメモリがダイレクトマップ方式
であることとし、また、隣接する2つの階層のキャッシ
ュメモリが共にセットアソシアティブ方式である時、よ
り上位の階層のキャッシュメモリのウェイ数はより下位
の階層のキャッシュメモリのウェイ数より多いこととし
たので、上位の階層のキャッシュメモリのウェイ数を増
やすことにより、そのヒット率も上がり、またキャッシ
ュメモリを高速化を実現しうるキャッシュメモリを提供
することができる。
シュメモリがセットアソシアティブ方式である時、より
下位の階層のキャッシュメモリがダイレクトマップ方式
であることとし、また、隣接する2つの階層のキャッシ
ュメモリが共にセットアソシアティブ方式である時、よ
り上位の階層のキャッシュメモリのウェイ数はより下位
の階層のキャッシュメモリのウェイ数より多いこととし
たので、上位の階層のキャッシュメモリのウェイ数を増
やすことにより、そのヒット率も上がり、またキャッシ
ュメモリを高速化を実現しうるキャッシュメモリを提供
することができる。
【0063】更に、n組のプロセッサをバス結合して構
成されるマルチプロセッサシステムにおいて、各組のプ
ロセッサ内に本発明のキャッシュメモリを構成すること
としたので、共有バスを使用して他のプロセッサ内のキ
ャッシュメモリにライトバックする必要がなくなり、結
果としてバス・トラフィックが減少し、システムの高速
化が図れるキャッシュメモリを提供することができる。
成されるマルチプロセッサシステムにおいて、各組のプ
ロセッサ内に本発明のキャッシュメモリを構成すること
としたので、共有バスを使用して他のプロセッサ内のキ
ャッシュメモリにライトバックする必要がなくなり、結
果としてバス・トラフィックが減少し、システムの高速
化が図れるキャッシュメモリを提供することができる。
【図1】本発明の発明原理図である。
【図2】本発明の第1の実施例に係るキャッシュメモリ
(2階層)を持つマルチプロセッサシステムの構成図で
ある。
(2階層)を持つマルチプロセッサシステムの構成図で
ある。
【図3】本発明のキャッシュメモリ(2階層)の制御方
式を説明する図で、CPU動作によるキャッシュメモリ
の状態変化を説明する図である。
式を説明する図で、CPU動作によるキャッシュメモリ
の状態変化を説明する図である。
【図4】本発明のキャッシュメモリ(2階層)の制御方
式を説明する図で、CPU動作によるキャッシュメモリ
の状態変化を説明する図である。
式を説明する図で、CPU動作によるキャッシュメモリ
の状態変化を説明する図である。
【図5】本発明のキャッシュメモリ(2階層)の制御方
式を説明する図で、バス要求等によるキャッシュメモリ
の状態変化を説明する図である。
式を説明する図で、バス要求等によるキャッシュメモリ
の状態変化を説明する図である。
【図6】本発明のキャッシュメモリ(2階層)の取り得
る状態を説明する図である。
る状態を説明する図である。
【図7】本発明の第2の実施例に係るキャッシュメモリ
(2階層)を持つシステムの構成図である。
(2階層)を持つシステムの構成図である。
【図8】本発明の第3の実施例に係るキャッシュメモリ
(2階層)を持つシステムの構成図である。
(2階層)を持つシステムの構成図である。
【図9】本発明の第4の実施例に係るキャッシュメモリ
(多階層)を持つシステムの構成図である。
(多階層)を持つシステムの構成図である。
【図10】本発明の第5の実施例に係るキャッシュメモ
リによるディスクキャッシュ装の構成図である。
リによるディスクキャッシュ装の構成図である。
【図11】従来のキャッシュメモリを持つシステムの構
成図である。
成図である。
【図12】従来のキャッシュメモリ(2階層)を持つシ
ステムの構成図である。
ステムの構成図である。
【図13】従来のキャッシュメモリ(2階層)を持つマ
ルチプロセッサシステムの構成図である。
ルチプロセッサシステムの構成図である。
1,1−1〜1−n CPU(中央処理装置)2,2
i(i=1,…,m) キャッシュメモリ2A,2A
−1〜2A−n 一次キャッシュメモリ2B,2B−
1〜2B−n 二次キャッシュメモリ2M M次キ
ャッシュメモリ 3,3−1〜3−n メインメモリ 4 共有バス 5i(i=1,…,m) 複写機構 6 磁気ディスク装置
i(i=1,…,m) キャッシュメモリ2A,2A
−1〜2A−n 一次キャッシュメモリ2B,2B−
1〜2B−n 二次キャッシュメモリ2M M次キ
ャッシュメモリ 3,3−1〜3−n メインメモリ 4 共有バス 5i(i=1,…,m) 複写機構 6 磁気ディスク装置
Claims (7)
- 【請求項1】 少なくとも2つの階層を持って構成さ
れるキャッシュメモリにおいて、前記各階層のキャッシ
ュメモリは、隣接する階層のキャッシュメモリに対して
該階層のキャッシュメモリの状態情報及びまたはエント
リを複写する複写機構を有し、前記複写機構は、該階層
のキャッシュメモリがライトバックしようとするエント
リが上位のキャッシュメモリでヒットした場合に、該キ
ャッシュメモリの状態情報を上位のキャッシュメモリに
複写することを特徴とするキャッシュメモリ。 - 【請求項2】 前記複写機構は、上位のキャッシュメ
モリに無効なエントリがある場合に、該階層のキャッシ
ュメモリのエントリを上位のキャッシュメモリの無効な
部分に複写することを特徴とする請求項1に記載のキャ
ッシュメモリ。 - 【請求項3】 前記複写機構は、上位のキャッシュメ
モリのエントリがメインメモリの内容と等しい場合に、
該階層のキャッシュメモリのエントリを上位のキャッシ
ュメモリの無効な部分に複写することを特徴とする請求
項1または2に記載のキャッシュメモリ。 - 【請求項4】 前記複写機構は、上位のキャッシュメ
モリの置き換え優先度が最低でないエントリを無効化し
、該階層のキャッシュメモリの状態情報及びエントリを
上位のキャッシュメモリの無効な部分に複写することを
特徴とする請求項1、2、または3に記載のキャッシュ
メモリ。 - 【請求項5】 ある階層のキャッシュメモリがセット
アソシアティブ方式である時、より下位の階層のキャッ
シュメモリがダイレクトマップ方式であることを特徴と
する請求項1、2、3、または4に記載のキャッシュメ
モリ。 - 【請求項6】 隣接する2つの階層のキャッシュメモ
リが共にセットアソシアティブ方式である時、より上位
の階層のキャッシュメモリのウェイ数はより下位の階層
のキャッシュメモリのウェイ数より多いことを特徴とす
る請求項1、2、3、4、または5に記載のキャッシュ
メモリ。 - 【請求項7】 前記キャッシュメモリは、n組のプロ
セッサをバス結合して構成されるマルチプロセッサシス
テムにおいて、各組のプロセッサ内に構成されることを
特徴とする請求項1、2、3、4、5または6に記載の
キャッシュメモリ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3099237A JPH04328657A (ja) | 1991-04-30 | 1991-04-30 | キャッシュメモリ |
US08/396,899 US5717890A (en) | 1991-04-30 | 1995-03-01 | Method for processing data by utilizing hierarchical cache memories and processing system with the hierarchiacal cache memories |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3099237A JPH04328657A (ja) | 1991-04-30 | 1991-04-30 | キャッシュメモリ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04328657A true JPH04328657A (ja) | 1992-11-17 |
Family
ID=14242082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3099237A Pending JPH04328657A (ja) | 1991-04-30 | 1991-04-30 | キャッシュメモリ |
Country Status (2)
Country | Link |
---|---|
US (1) | US5717890A (ja) |
JP (1) | JPH04328657A (ja) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266725B2 (en) * | 2001-09-03 | 2007-09-04 | Pact Xpp Technologies Ag | Method for debugging reconfigurable architectures |
DE19651075A1 (de) * | 1996-12-09 | 1998-06-10 | Pact Inf Tech Gmbh | Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen |
DE19654595A1 (de) * | 1996-12-20 | 1998-07-02 | Pact Inf Tech Gmbh | I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen |
DE59710317D1 (de) * | 1996-12-27 | 2003-07-24 | Pact Inf Tech Gmbh | VERFAHREN ZUM SELBSTÄNDIGEN DYNAMISCHEN UMLADEN VON DATENFLUSSPROZESSOREN (DFPs) SOWIE BAUSTEINEN MIT ZWEI- ODER MEHRDIMENSIONALEN PROGRAMMIERBAREN ZELLSTRUKTUREN (FPGAs, DPGAs, o.dgl.) |
DE19654846A1 (de) * | 1996-12-27 | 1998-07-09 | Pact Inf Tech Gmbh | Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.) |
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
US6175899B1 (en) * | 1997-05-19 | 2001-01-16 | International Business Machines Corporation | Method for providing virtual atomicity in multi processor environment having access to multilevel caches |
US5909697A (en) * | 1997-09-30 | 1999-06-01 | Sun Microsystems, Inc. | Reducing cache misses by snarfing writebacks in non-inclusive memory systems |
US6073212A (en) * | 1997-09-30 | 2000-06-06 | Sun Microsystems, Inc. | Reducing bandwidth and areas needed for non-inclusive memory hierarchy by using dual tags |
US8686549B2 (en) * | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
DE19861088A1 (de) * | 1997-12-22 | 2000-02-10 | Pact Inf Tech Gmbh | Verfahren zur Reparatur von integrierten Schaltkreisen |
US6253291B1 (en) | 1998-02-13 | 2001-06-26 | Sun Microsystems, Inc. | Method and apparatus for relaxing the FIFO ordering constraint for memory accesses in a multi-processor asynchronous cache system |
DE19807872A1 (de) | 1998-02-25 | 1999-08-26 | Pact Inf Tech Gmbh | Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl. |
US7003660B2 (en) | 2000-06-13 | 2006-02-21 | Pact Xpp Technologies Ag | Pipeline configuration unit protocols and communication |
AU5805300A (en) | 1999-06-10 | 2001-01-02 | Pact Informationstechnologie Gmbh | Sequence partitioning in cell structures |
US8058899B2 (en) * | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
US9037807B2 (en) * | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7844796B2 (en) * | 2001-03-05 | 2010-11-30 | Martin Vorbach | Data processing device and method |
US7444531B2 (en) * | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US20090210653A1 (en) * | 2001-03-05 | 2009-08-20 | Pact Xpp Technologies Ag | Method and device for treating and processing data |
JP2004533691A (ja) * | 2001-06-20 | 2004-11-04 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | データを処理するための方法 |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
US7434191B2 (en) | 2001-09-03 | 2008-10-07 | Pact Xpp Technologies Ag | Router |
US8686475B2 (en) * | 2001-09-19 | 2014-04-01 | Pact Xpp Technologies Ag | Reconfigurable elements |
AU2003214046A1 (en) * | 2002-01-18 | 2003-09-09 | Pact Xpp Technologies Ag | Method and device for partitioning large computer programs |
WO2003060747A2 (de) * | 2002-01-19 | 2003-07-24 | Pact Xpp Technologies Ag | Reconfigurierbarer prozessor |
AU2003214003A1 (en) * | 2002-02-18 | 2003-09-09 | Pact Xpp Technologies Ag | Bus systems and method for reconfiguration |
US20110161977A1 (en) * | 2002-03-21 | 2011-06-30 | Martin Vorbach | Method and device for data processing |
WO2004088502A2 (de) * | 2003-04-04 | 2004-10-14 | Pact Xpp Technologies Ag | Verfahren und vorrichtung für die datenverarbeitung |
US20060075211A1 (en) * | 2002-03-21 | 2006-04-06 | Martin Vorbach | Method and device for data processing |
US8914590B2 (en) * | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
WO2004021176A2 (de) * | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
US7657861B2 (en) * | 2002-08-07 | 2010-02-02 | Pact Xpp Technologies Ag | Method and device for processing data |
US20110238948A1 (en) * | 2002-08-07 | 2011-09-29 | Martin Vorbach | Method and device for coupling a data processing unit and a data processing array |
AU2003289844A1 (en) * | 2002-09-06 | 2004-05-13 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
EP1676208A2 (en) * | 2003-08-28 | 2006-07-05 | PACT XPP Technologies AG | Data processing device and method |
US20070124542A1 (en) * | 2005-11-30 | 2007-05-31 | Red Hat, Inc. | Method and system to control write caches to reduce risk of data loss |
JP2009524134A (ja) * | 2006-01-18 | 2009-06-25 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | ハードウェア定義方法 |
US20080147974A1 (en) * | 2006-12-18 | 2008-06-19 | Yahoo! Inc. | Multi-level caching system |
US20100281235A1 (en) * | 2007-11-17 | 2010-11-04 | Martin Vorbach | Reconfigurable floating-point and bit-level data processing unit |
US20110173596A1 (en) * | 2007-11-28 | 2011-07-14 | Martin Vorbach | Method for facilitating compilation of high-level code for varying architectures |
WO2009071329A1 (en) * | 2007-12-07 | 2009-06-11 | Pact Xpp Technologies Ag | Using function calls as compiler directives |
US9035959B2 (en) | 2008-03-28 | 2015-05-19 | Intel Corporation | Technique to share information among different cache coherency domains |
US10423663B2 (en) | 2017-01-18 | 2019-09-24 | Oracle International Corporation | Fast graph query engine optimized for typical real-world graph instances whose small portion of vertices have extremely large degree |
US10719446B2 (en) | 2017-08-31 | 2020-07-21 | Oracle International Corporation | Directly mapped buffer cache on non-volatile memory |
CN115016740B (zh) * | 2022-07-14 | 2022-11-18 | 杭州优云科技有限公司 | 一种数据恢复方法、装置、电子设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0452990A3 (en) * | 1985-05-29 | 1992-04-15 | Kabushiki Kaisha Toshiba | Cache system adopting an lru system |
US4797814A (en) * | 1986-05-01 | 1989-01-10 | International Business Machines Corporation | Variable address mode cache |
US4811209A (en) * | 1986-07-31 | 1989-03-07 | Hewlett-Packard Company | Cache memory with multiple valid bits for each data indication the validity within different contents |
US5058006A (en) * | 1988-06-27 | 1991-10-15 | Digital Equipment Corporation | Method and apparatus for filtering invalidate requests |
US4939641A (en) * | 1988-06-30 | 1990-07-03 | Wang Laboratories, Inc. | Multi-processor system with cache memories |
JPH02253356A (ja) * | 1989-03-28 | 1990-10-12 | Toshiba Corp | 階層キャッシュメモリ装置とその制御方式 |
US5249282A (en) * | 1990-11-21 | 1993-09-28 | Benchmarq Microelectronics, Inc. | Integrated cache memory system with primary and secondary cache memories |
US5386547A (en) * | 1992-01-21 | 1995-01-31 | Digital Equipment Corporation | System and method for exclusive two-level caching |
-
1991
- 1991-04-30 JP JP3099237A patent/JPH04328657A/ja active Pending
-
1995
- 1995-03-01 US US08/396,899 patent/US5717890A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5717890A (en) | 1998-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04328657A (ja) | キャッシュメモリ | |
US11693791B2 (en) | Victim cache that supports draining write-miss entries | |
US5715428A (en) | Apparatus for maintaining multilevel cache hierarchy coherency in a multiprocessor computer system | |
US7552288B2 (en) | Selectively inclusive cache architecture | |
US7266647B2 (en) | List based method and apparatus for selective and rapid cache flushes | |
US6021468A (en) | Cache coherency protocol with efficient write-through aliasing | |
US8990506B2 (en) | Replacing cache lines in a cache memory based at least in part on cache coherency state information | |
US6912624B2 (en) | Method and system for exclusive two-level caching in a chip-multiprocessor | |
JP4128878B2 (ja) | キャッシュ中のラインを投機的に無効にする方法とシステム | |
US7237068B2 (en) | Computer system employing bundled prefetching and null-data packet transmission | |
US20040268054A1 (en) | Cache line pre-load and pre-own based on cache coherence speculation | |
US20070136535A1 (en) | System and Method for Reducing Unnecessary Cache Operations | |
US6574710B1 (en) | Computer cache system with deferred invalidation | |
US20130073811A1 (en) | Region privatization in directory-based cache coherence | |
US6360301B1 (en) | Coherency protocol for computer cache | |
US8473687B2 (en) | Computer cache system with stratified replacement | |
US20040068616A1 (en) | System and method enabling efficient cache line reuse in a computer system | |
JP3732397B2 (ja) | キャッシュシステム | |
JP2001249846A (ja) | キャッシュメモリ装置及びデータ処理システム | |
Padwal et al. | Cache Memory Organization | |
Goel et al. | E-cache memory becoming a boon towards memory management system | |
JP2000132456A (ja) | 並列計算機のキャッシュメモリ装置 |