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
Application number
JP3099237A
Other languages
English (en)
Inventor
Makoto Ichida
市田 真琴
Kazutaka Nogami
一孝 野上
Shigeru Tanaka
茂 田中
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP3099237A priority Critical patent/JPH04328657A/ja
Publication of JPH04328657A publication Critical patent/JPH04328657A/ja
Priority to US08/396,899 priority patent/US5717890A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0804Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】[発明の目的]
【0002】
【産業上の利用分野】本発明は多階層のキャッシュメモ
リやマルチプロセッサシステムで使用されるキャッシュ
メモリに関し、特に新たなキャッシュメモリ制御方式の
導入により、ヒット率の向上、処理の高速化、しいては
システムの処理性能を増大し得るキャッシュメモリに関
する。
【0003】
【従来の技術】コンピュータの高速化の手段として、図
11に示すように、アクセス速度の遅いメインメモリ3
と高速のCPU1との間に接続されて、メインメモリ3
のデータの一部分を格納したアクセス速度の速うメモリ
、即ちキャッシュメモリ2がある。
【0004】コンピュータシステムを更に高速化するた
め、図12に示すように、前記キャッシュメモリ2とメ
インメモリ3の間に、メモリのアクセス速度、大きさな
どで階層を分けられた二次キャッシュメモリ2Bを持た
せる構成もある。一次キャッシュメモリ2Aは、二次キ
ャッシュメモリ2Bまたはメインメモリ3に比べメモリ
容量が小さいため、一次キャッシュメモリ2Aを二次キ
ャッシュメモリ2Bまたはメインメモリ3に書き戻す動
作、即ちライトバックが必要になる。同様に、二次キャ
ッシュメモリ2Bはメインメモリ3へライトバックされ
る。このように、二次キャッシュメモリ2Bのライトバ
ックの対象がメインメモリ3なので、ライトバックに時
間がかかるという問題がある。
【0005】また、一次キャッシュメモリ2Aにあるデ
ータが必ず二次キャッシュメモリ2Bに含まれているよ
うにした、マルチインクルージョン方式を用いるものも
ある。このマルチインクルージョン方式を実現するには
、ハードウェアの構成上、下位のキャッシュメモリをダ
イレクトマップ方式にしなければならず、必然的に上位
のキャッシュメモリもダイレクト方式にしなければなら
ない。ダイレクトマップ方式はセットアソシアティブ方
式に比べキャッシュメモリのヒット率が低下する。或い
は、セットアソシアティブ方式にした場合、配線の本数
が増え、ハードウェア量が増加するという問題がある。
【0006】また、図13に示すように、2つのCPU
1−1及び1−2が、共有バス4に接続されたマルチプ
ロセッサ構成のコンピュータシステムでは、共有バス4
を使ってデータ転送をしている。ライトバックするキャ
ッシュメモリ2−1のライトバック先が、他のCPU、
例えばCPU1−2の管理下にあるメインメモリ3−2
の場合、共有バス4を使ってライトバックのデータ転送
を行なう。このようなマルチプロセッサシステムでは、
下位のキャッシュメモリのライトバック先のメインメモ
リがライトバックするキャッシュメモリと同じCPUの
管理下にない場合、マルチプロセッサの共有バス4を占
有してしまい、バス・トラフィックが大きくなり、シス
テムの速度が低下するという問題がある。
【0007】
【発明が解決しようとする課題】以上のように、従来の
キャッシュメモリでは、(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に複写
することである。
【0013】本発明の第2の特徴は、請求項1に記載の
キャッシュメモリにおいて、前記複写機構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の無効な部分に複
写することである。
【0015】本発明の第4の特徴は、請求項1、2、ま
たは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)がダイレクトマ
ップ方式であることである。
【0017】本発明の第6の特徴は、請求項1、2、3
、4、または5に記載のキャッシュメモリにおいて、隣
接する2つの階層のキャッシュメモリ2i及び2jが共
にセットアソシアティブ方式である時、より上位の階層
のキャッシュメモリ2iのウェイ数はより下位の階層の
キャッシュメモリ2jのウェイ数より多いことである。
【0018】本発明の第7の特徴は、請求項1、2、3
、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にライトバックする必要がなくなり、キャッシュメモ
リを高速化することができる。
【0020】本発明の第2の特徴のキャッシュメモリで
は、複写機構5jは、上位のキャッシュメモリ2iに無
効なエントリがある場合に、該階層のキャッシュメモリ
2jのエントリを上位のキャッシュメモリ2iの無効な
部分に複写する。これにより、該階層のキャッシュメモ
リ2jのエントリをメインメモリ3にライトバックする
必要がなくなり、キャッシュメモリを高速化することが
できる。
【0021】本発明の第3の特徴のキャッシュメモリで
は、複写機構5jは、上位のキャッシュメモリ2iのエ
ントリがメインメモリ3の内容と等しい場合に、該階層
のキャッシュメモリ2jのエントリを上位のキャッシュ
メモリ2iの無効な部分に複写する。これにより、該階
層のキャッシュメモリ2jのエントリをメインメモリ3
にライトバックする必要がなくなり、キャッシュメモリ
を高速化することができる。
【0022】本発明の第4の特徴のキャッシュメモリで
は、複写機構5jは、上位のキャッシュメモリ2iの置
き換え優先度が最低でないエントリを無効化し、該階層
のキャッシュメモリ2jの状態情報及びエントリを上位
のキャッシュメモリ2iの無効な部分に複写する。これ
により、該階層のキャッシュメモリ2jのエントリをメ
インメモリ3にライトバックする必要がなくなり、キャ
ッシュメモリを高速化することができる。
【0023】本発明の第5の特徴のキャッシュメモリで
は、ある階層のキャッシュメモリ2i(i=1,…,m
−1)がセットアソシアティブ方式である時、より下位
の階層のキャッシュメモリ2j(j=i+1,…,m)
がダイレクトマップ方式である。この時、下位のキャッ
シュメモリ2jより上位のキャッシュンエモリ2iのウ
ェイ数を増やすことにより、そのヒット率を上げること
ができ、またキャッシュメモリを高速化できる。
【0024】本発明の第6の特徴のキャッシュメモリで
は、隣接する2つの階層のキャッシュメモリ2i及び2
jが共にセットアソシアティブ方式である時、より上位
の階層のキャッシュメモリ2iのウェイ数はより下位の
階層のキャッシュメモリ2jのウェイ数より多い。下位
のキャッシュメモリ2jより上位のキャッシュンエモリ
2iのウェイ数を増やすことにより、そのヒット率が上
がり、またキャッシュメモリを高速化できる。
【0025】本発明の第7の特徴のキャッシュメモリで
は、前記第1から第6の特徴のキャッシュメモリが、n
組のプロセッサをバス結合して構成されるマルチプロセ
ッサシステムの各組のプロセッサ内に構成される。これ
により、該階層のキャッシュメモリ2jの状態情報及び
エントリを上位のキャッシュメモリ2iにライトバック
することになり、共有バスを使用して他のプロセッサ内
のキャッシュメモリにライトバックする必要がなくなる
。従って、バス・トラフィックが減少し、システムの高
速化が図れる。
【0026】
【実施例】以下、本発明に係る実施例を図面に基づいて
説明する。
【0027】図2に本発明の第1の実施例に係るコンピ
ュータシステムの構成図を示したものである。図2にお
いて、従来例と重複する部分には同一の符号を附して説
明を省略する。
【0028】本実施例は、CPU1と、一次キャッシュ
メモリ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の取り得る状態を説明したものであ
る。
【0030】先ず、これらの図で使用する符号について
説明する。
【0031】”1st”は一次キャッシュメモリ2Aを
、”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にお
ける○印の記された場合のみである。
【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で構成される)を用いて行な
う。
【0040】先ず、図4の(8)、即ち、二次キャッシ
ュメモリ2Bがライトバックとなり、ライトバックする
エントリで一次キャッシュメモリ2Aがヒットした場合
を説明する。
【0041】一次キャッシュメモリ2Aが状態CEで二
次キャッシュメモリ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に状態情報をコピーする。
【0043】従来の技術では、たとえ一次キャッシュメ
モリ2A内に二次キャッシュメモリ2Bと同じデータが
あっても、二次キャッシュメモリ2Bのデータをメイン
メモリ3にライトバックするので、非常に時間がかかっ
ていた。本実施例では、二次キャッシュメモリ2Bの状
態情報を一次キャッシュメモリ2Aにコピーするだけな
ので、二次キャッシュメモリ2Bのライトバックにかか
る時間が非常に短くなり、キャッシュメモリを高速化で
きる。
【0044】次に、図4の(7)、即ち、二次キャッシ
ュメモリ2Bがライトバックとなり、ライトバックする
エントリで一次キャッシュメモリ2Aがミスした場合を
説明する。
【0045】一次キャッシュメモリ2Aに無効なエント
リがあった場合、二次キャッシュメモリ2Bをメインメ
モリ3にライトバックするよりも、一次キャッシュメモ
リ2Aにライトバックしたほうがはるかに短い時間です
むので、二次キャッシュメモリ2Bから一次キャッシュ
メモリ2Aにライトバックする。
【0046】従来の技術では、たとえ一次キャッシュメ
モリ2A内に無効なエントリがあっても、二次キャッシ
ュメモリ2Bのデータをメインメモリ3にライトバック
するので非常に時間がかかっていた。本実施例では、一
次キャッシュメモリ2A内に無効なエントリがあれば、
二次キャッシュメモリ2Bを一次キャッシュメモリ2A
にライトバックするので、二次キャッシュメモリ2Bの
ライトバックにかかる時間が非常に短くなり、キャッシ
ュメモリを高速化できる。更に、一次キャッシュメモリ
2Aの無効なエントリが減るので、一次キャッシュメモ
リ2Aのヒット率が上がり、キャッシュメモリの性能が
上がる。
【0047】また、一次キャッシュメモリ2Aが状態C
E或いは状態Sになっているエントリがあった場合、こ
のエントリを無効化して、ここに二次キャッシュメモリ
2Bから一次キャッシュメモリ2Aにライトバックする
。そうすると、そのエントリは二次キャッシュメモリ2
Bからのライトバックで有効化される。
【0048】従来の技術では、たとえ一次キャッシュメ
モリ2A内で状態CE或いは状態Sになっているエント
リがあっても、二次キャッシュメモリ2Bのデータをメ
インメモリ3にライトバックするので、非常に時間がか
かっていた。本実施例では、一次キャッシュメモリ2A
が状態CE或いは状態Sになっているエントリがあった
場合、二次キャッシュメモリ2Bを一次キャッシュメモ
リ2Aにライトバックするので、二次キャッシュメモリ
2Bのライトバックにかかる時間が短くなり、キャッシ
ュメモリを高速化できる。
【0049】更に、LRUアルゴリズム等の置き換えの
優先度を決めるアルゴリズムを用いて、一次キャッシュ
メモリ2Aのエントリで置き換えの優先度が最も低いエ
ントリ以外を置き換えるエントリとし、一次キャッシュ
メモリ2Aの状態に応じて一次キャッシュメモリ2Aを
無効化するか、一次キャッシュメモリ2Aを二次キャッ
シュメモリ2Bまたはメインメモリ3にライトバックす
る。次にそこの無効化されたエントリに二次キャッシュ
メモリ2Bからライトバックする。こうした方が、二次
キャッシュメモリ2Bをメインメモリ3にライトバック
するよりも時間が短くなる。
【0050】本実施例では、このように二次キャッシュ
メモリ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のバス・トラフィックを減らし、システムを高速化
することを説明する。
【0052】このようなシステム構成で、例えば二次キ
ャッシュメモリ2B−1のライトバック先が、他のCP
U1−i(i≠1)の管理するメインメモリ3−iであ
ると、共有バス4を通してデータの転送が必要になる。 本実施例のキャッシュメモリの制御方式によれば、二次
キャッシュメモリ2B−1を、同じCPU1−1で管理
されている一次キャッシュメモリ2A−1にライトバッ
クすることになり、共有バス4を使わないので、バス・
トラフィックが減少する。バス・トラフィックが減少す
ると、ライトバックにかかる時間も短くなるので、コン
ピュータシステムが高速化される。
【0053】次に、図7に本発明の第2の実施例に係る
キャッシュメモリ(2階層)を持つシステムの構成図を
示す。本実施例は、一次キャッシュメモリ2Aに4ウェ
イセットアソシアティブ方式のキャッシュメモリを、ま
た二次キャッシュメモリ2Bにダイレクトマップ方式の
キャッシュメモリを用いた構成となっている。
【0054】一般に、マルチインクルージョンシステム
では、一次キャッシュメモリ2Aより二次キャッシュメ
モリ2Bの方が大きくなくてはならず、図7に示すよう
な構成は実現できない。しかしながら、本実施例では、
第1の実施例と同様の制御方式を採用することにより、
図7の構成を実現でき、更に第1の実施例と同様の効果
、即ちキャッシュメモリの高速化が図れる。尚、本実施
例では、一次キャッシュメモリ2Aを4ウェイセットア
ソシアティブ方式としているが、ウェイ数は本発明の有
意性を制限しない。
【0055】次に、図8に本発明の第3の実施例に係る
キャッシュメモリ(2階層)を持つシステムの構成図を
示す。本実施例は、一次キャッシュメモリ2Aに4ウェ
イセットアソシアティブ方式のキャッシュメモリを、ま
た二次キャッシュメモリ2Bに2ウェイセットアソシア
ティブ方式のキャッシュメモリを用いた構成となってい
る。
【0056】一般に、マルチインクルージョンシステム
では、一次キャッシュメモリ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を下位のキャッシュメモリと読み替えれば、同じ効
果が得られ、キャッシュメモリの階層の数は本発明の有
意性を制限しない。
【0058】更に、図10に本発明の第5実施例に係る
キャッシュメモリによるディスクキャッシュ装置の構成
図を示す。ディスクキャッシュ装置は、ディスク内のデ
ータの一部をキャッシュメモリに蓄えて、ディスクアク
セスの高速化を図るものである。キャッシュメモリは、
ディスク装置に比べてアクセス速度が速いので、ディス
クアクセスを見かけ上速くすることができるが、この場
合にも、キャッシュメモリの状態情報を制御する必要が
ある。
【0059】本実施例では、ディスクキャッシュ装置の
制御方式として、上記第1の実施例と同様の制御方式を
採用することにより、従来のディスクキャッシュ装置に
比べて、高速なディスクキャッシュ装置を実現できる。
【0060】尚、キャッシュメモリの両端に接続される
装置の種別により、本発明の有意性は制限されない。
【0061】
【発明の効果】以上のように本発明によれば、ある階層
のキャッシュメモリがライトバックしようとするエント
リが上位のキャッシュメモリでヒットした場合に、該階
層の複写機構が、該キャッシュメモリの状態情報を上位
のキャッシュメモリに複写する。また、上位のキャッシ
ュメモリに無効なエントリがある場合には、該階層のキ
ャッシュメモリのエントリを上位のキャッシュメモリの
無効な部分に複写する。また、上位のキャッシュメモリ
のエントリがメインメモリの内容と等しい場合には、該
階層のキャッシュメモリのエントリを上位のキャッシュ
メモリの無効な部分に複写する。更に、上位のキャッシ
ュメモリの置き換え優先度が最低でないエントリを無効
化し、該階層のキャッシュメモリの状態情報及びエント
リを上位のキャッシュメモリの無効な部分に複写するこ
ととした。これにより、該階層のキャッシュメモリのエ
ントリをメインメモリにライトバックする必要がなくな
り、高速なキャッシュメモリを提供することができる。
【0062】また、本発明によれば、ある階層のキャッ
シュメモリがセットアソシアティブ方式である時、より
下位の階層のキャッシュメモリがダイレクトマップ方式
であることとし、また、隣接する2つの階層のキャッシ
ュメモリが共にセットアソシアティブ方式である時、よ
り上位の階層のキャッシュメモリのウェイ数はより下位
の階層のキャッシュメモリのウェイ数より多いこととし
たので、上位の階層のキャッシュメモリのウェイ数を増
やすことにより、そのヒット率も上がり、またキャッシ
ュメモリを高速化を実現しうるキャッシュメモリを提供
することができる。
【0063】更に、n組のプロセッサをバス結合して構
成されるマルチプロセッサシステムにおいて、各組のプ
ロセッサ内に本発明のキャッシュメモリを構成すること
としたので、共有バスを使用して他のプロセッサ内のキ
ャッシュメモリにライトバックする必要がなくなり、結
果としてバス・トラフィックが減少し、システムの高速
化が図れるキャッシュメモリを提供することができる。
【図面の簡単な説明】
【図1】本発明の発明原理図である。
【図2】本発明の第1の実施例に係るキャッシュメモリ
(2階層)を持つマルチプロセッサシステムの構成図で
ある。
【図3】本発明のキャッシュメモリ(2階層)の制御方
式を説明する図で、CPU動作によるキャッシュメモリ
の状態変化を説明する図である。
【図4】本発明のキャッシュメモリ(2階層)の制御方
式を説明する図で、CPU動作によるキャッシュメモリ
の状態変化を説明する図である。
【図5】本発明のキャッシュメモリ(2階層)の制御方
式を説明する図で、バス要求等によるキャッシュメモリ
の状態変化を説明する図である。
【図6】本発明のキャッシュメモリ(2階層)の取り得
る状態を説明する図である。
【図7】本発明の第2の実施例に係るキャッシュメモリ
(2階層)を持つシステムの構成図である。
【図8】本発明の第3の実施例に係るキャッシュメモリ
(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  磁気ディスク装置

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】  少なくとも2つの階層を持って構成さ
    れるキャッシュメモリにおいて、前記各階層のキャッシ
    ュメモリは、隣接する階層のキャッシュメモリに対して
    該階層のキャッシュメモリの状態情報及びまたはエント
    リを複写する複写機構を有し、前記複写機構は、該階層
    のキャッシュメモリがライトバックしようとするエント
    リが上位のキャッシュメモリでヒットした場合に、該キ
    ャッシュメモリの状態情報を上位のキャッシュメモリに
    複写することを特徴とするキャッシュメモリ。
  2. 【請求項2】  前記複写機構は、上位のキャッシュメ
    モリに無効なエントリがある場合に、該階層のキャッシ
    ュメモリのエントリを上位のキャッシュメモリの無効な
    部分に複写することを特徴とする請求項1に記載のキャ
    ッシュメモリ。
  3. 【請求項3】  前記複写機構は、上位のキャッシュメ
    モリのエントリがメインメモリの内容と等しい場合に、
    該階層のキャッシュメモリのエントリを上位のキャッシ
    ュメモリの無効な部分に複写することを特徴とする請求
    項1または2に記載のキャッシュメモリ。
  4. 【請求項4】  前記複写機構は、上位のキャッシュメ
    モリの置き換え優先度が最低でないエントリを無効化し
    、該階層のキャッシュメモリの状態情報及びエントリを
    上位のキャッシュメモリの無効な部分に複写することを
    特徴とする請求項1、2、または3に記載のキャッシュ
    メモリ。
  5. 【請求項5】  ある階層のキャッシュメモリがセット
    アソシアティブ方式である時、より下位の階層のキャッ
    シュメモリがダイレクトマップ方式であることを特徴と
    する請求項1、2、3、または4に記載のキャッシュメ
    モリ。
  6. 【請求項6】  隣接する2つの階層のキャッシュメモ
    リが共にセットアソシアティブ方式である時、より上位
    の階層のキャッシュメモリのウェイ数はより下位の階層
    のキャッシュメモリのウェイ数より多いことを特徴とす
    る請求項1、2、3、4、または5に記載のキャッシュ
    メモリ。
  7. 【請求項7】  前記キャッシュメモリは、n組のプロ
    セッサをバス結合して構成されるマルチプロセッサシス
    テムにおいて、各組のプロセッサ内に構成されることを
    特徴とする請求項1、2、3、4、5または6に記載の
    キャッシュメモリ。
JP3099237A 1991-04-30 1991-04-30 キャッシュメモリ Pending JPH04328657A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 並列計算機のキャッシュメモリ装置