JP3013781B2 - キャッシュシステム - Google Patents

キャッシュシステム

Info

Publication number
JP3013781B2
JP3013781B2 JP8182539A JP18253996A JP3013781B2 JP 3013781 B2 JP3013781 B2 JP 3013781B2 JP 8182539 A JP8182539 A JP 8182539A JP 18253996 A JP18253996 A JP 18253996A JP 3013781 B2 JP3013781 B2 JP 3013781B2
Authority
JP
Japan
Prior art keywords
replacement
cache
value
set value
exclusive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP8182539A
Other languages
English (en)
Other versions
JPH1027133A (ja
Inventor
良昌 田中
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP8182539A priority Critical patent/JP3013781B2/ja
Publication of JPH1027133A publication Critical patent/JPH1027133A/ja
Application granted granted Critical
Publication of JP3013781B2 publication Critical patent/JP3013781B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はフルアソシアティブ
方式を用いたキャッシュシステムのリプレース回路に関
するものである。
【0002】
【従来の技術】従来、この種のキャッシュシステムのキ
ャッシュリプレース回路は、プロセッサからの要求デー
タがバッファメモリになく、主記憶部とのデータの入れ
替えを行うような場合、バッファメモリ内の適当なデー
タブロックをリプレースする。その場合、どのデータブ
ロックをリプレースするかを決定するための代表的な方
式として、(1)LRU方式(アクセスされたのが最も
古いデータブロックとする方式)、(2)FIFO方式
(入れ換えたのが最も古いデータブロックとする方
式)、および(3)キャッシュのステート(状態)によ
る固定優先度方式などがある。
【0003】
【発明が解決しようとする課題】上述のLRU法および
FIFO法では、リプレースする際、ライトバックする
必要のないステートのエントリ(無効「invali
d」、共有「shared」、排他一致「clean
exclusive」が存在しても、排他不一致「d
irty exclusive」のエントリをリプレー
スしてしまう可能性があるため、ライトバック回数が増
加し、バストラフィックが増大してしまうという欠点が
ある。
【0004】また、キャッシュステートによる固定優先
度方式では、リプレースの優先順位を(invalid
>shared、clean exclusive>d
irty exclusive)とするため、徐々にd
irty exclusiveのエントリ数が増加し、
最終的には、ほとんどのエントリがdirty exc
lusiveとなってしまう。このため、異なるアドレ
スへのリード命令が連続すると、そのエントリに対して
互いにリプレースするため、毎回ミスヒットするという
欠点があった。
【0005】本発明の目的は、上述の欠点を除去したキ
ャッシュシステムを提供することにある。
【0006】
【課題を解決するための手段】本発明のキャッシュシス
テムは、キャッシュメモリと、前記キャッシュメモリに
登録されたデータのステータスが排他不一致である該キ
ャッシュメモリのエントリの数を計数する計数手段と、
第1の設定値を設定可能な第1のレジスタ手段と、第2
の設定値を設定可能な第2のレジスタ手段と、キャッシ
ュリプレースが必要となった場合に、前記第1の設定値
と前記計数手段の計数値とを比較し前記計数値前記第
1の設定値を超えていないときには第1のリプレースア
ルゴリズムに基づいてキャッシュリプレースを実行し、
前記計数値前記第1の設定値を超えているときには前
記計数値が前記第2の設定値より小さくなるまでは第2
のリプレースアルゴリズムに基づいてキャッシュリプレ
ースを実行し、前記計数値が前記第2の設定値より小さ
くなったときには前記第1のリプレースアルゴリズムに
基づいてキャッシュリプレースを実行するリプレース制
御手段とから構成される。
【0007】
【発明の実施の形態】図1は本発明の一実施例を示すキ
ャッシュシステムのブロック図である。
【0008】キャッシュメモリ1は、フルアソシアティ
ブ方式でライトバック方式を採用している。まず、プロ
セッサ(図示せず)からのアクセスアドレスADDRが
アドレスレジスタ2に保持される。このアドレスレジス
タ2と、予めキャッシュメモリ1に格納されているアド
レスアレイ中の各アドレスとの比較が比較器3を用いて
行われ、両者が一致した場合には、キャッシュヒットと
なり、プロセッサにキャッシュメモリ1内のデータアレ
イ中の該当エントリ内のデータを転送する。
【0009】一方、両者が不一致であった場合には、キ
ャッシュミスとなり、外部メモリ4からアドレスレジス
タ2内のアドレスに対応するデータを読み出し、キャッ
シュシステム内のリプレースポインタ5が示すキャッシ
ュメモリ1内のエントリにそのデータを格納するととも
に、プロセッサにも転送する。
【0010】この時、従来のキャッシュシステムでは、
リプレースしようとするエントリのステートがdirt
y exclusiveの場合には、外部メモリ4にデ
ータを書き戻すライトバック動作が伴う。
【0011】従来のLRU法あるいはFIFO法では、
リプレースポインタの制御にエントリのステートを考慮
していないため、ライトバックする必要のないエントリ
(invalid,shared,clean exc
lusive)が多数残っていてもdirty exc
lusiveのエントリをリプレースしてしまう。この
ため、ライトバック回数が増加し、バストラフィックを
悪化させてしまうという欠点がある。
【0012】また、固定優先度方式のキャッシュリプレ
ースでは、リプレースする優先順位が(invalid
>shared,clean exclusive>d
irty exclusive)となっているため、リ
プレースの結果、dirtyexclusiveのエン
トリが増加し、最終的には、ほとんどのエントリが、d
irty exclusiveとなり、異なるアドレス
へのリード命令が連続すると、そのエントリに対して互
いにリプレースを行うため、毎回キャッシュミスしてし
まうという欠点がある。
【0013】そこで、本実施例では、リプレースポイン
タ5の制御を行うリプレースコントローラ6は、予め設
定された、リプレースアルゴリズム設定レジスタ7Aお
よびBの内容とキャッシュ内のdirty exclu
siveのエントリ数をカウントするキャッシュステー
トカウンタ8の内容との比較を比較器9で行い、キャッ
シュリプレースアルゴリズムを決定する方法を採ってい
る。
【0014】リプレースアルゴリズム設定レジスタ7A
および7Bにはそれぞれ異なった値を設定し、dirt
y exclusiveのエントリ数が、設定レジスタ
7Aあるいは7Bに設定された値に達した時にリプレー
スアルゴリズムを変更する。
【0015】変更方法は、dirty exclusi
veのエントリ数が設定レジスタ7Aより小さい間は固
定優先度方式のキャッシュリプレース方式を用い、di
rty exclusiveのエントリ数が増加し設定
レジスタ7Aに設定された値を越えた後は、dirty
exclusiveのエントリ数が設定レジスタ7B
に設定された値より少なくなるまでキャッシュのリプレ
ース方法をLRU法あるいはFIFO法で行う。
【0016】dirty excluslveのエント
リ数が設定レジスタ7Bに設定された値を下回った後
は、再度、dirty exclusiveのエントリ
数が設定レジスタ7Aに設定された値を越えるまで、固
定優先度方式のキャッシュリプレースを行う。
【0017】キャッシュステートカウンタ8は、外部メ
モリ4から送られてきたデータのステートとリプレース
前のデータのステートとにより、カウントアップあるい
はカウントダウンを行う。すなわち、リプレース前のデ
ータのステートがdirtyexclusive以外で
あり、リプレースされたデータのステートがdirty
exclusiveである場合はカウントアップさ
れ、逆に、リプレース前のデータのステートがdirt
y exclusiveであり、リプレースされたデー
タのステートがdirty exclusive以外の
状態になった場合は、カウントダウンされ、これら以外
の場合はカウントアップもカウントダウンも行われな
い。
【0018】以上のような制御により、従来のキャッシ
ュリプレース方法(LRU法、FIFO法、固定優先度
法)よりもライトバック回数が少なく、バストラフィッ
クを改善したキャッシュシステムの実現が可能となる。
【0019】
【発明の効果】以上説明したように、本発明には、ライ
トバック数の低減およびバストラフィックの改善を達成
できるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図である。
【符号の説明】
1 キャッシュメモリ 2 アドレスレジスタ 3 比較器 4 外部メモリ 5 リプレースポインタ 6 リプレースコントローラ 7 リプレースアルゴリズム設定レジスタ 8 キャッシュステートカウンタ 9 比較器

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のエントリを有し、キャッシュブロ
    ックのリプレース候補を決定するためのリプレース回路
    を備えたフルアソシアティブ方式のキャッシュシステム
    において、前記リプレース回路は、 キャッシュメモリに登録された排他不一致(dirty
    exclusive)のエントリ数をカウントするカ
    ウンタと、キャッシュメモリのリプレースアルゴリズムを変更すべ
    き排他不一致のエントリ数 を設定するレジスタと、 前記カウンタの値と前記レジスタの値を比較する比較器
    とを備え、 比較結果に基づきリプレース制御の方式を変更すること
    を特徴とするキャッシュシステム。
  2. 【請求項2】 キャッシュメモリと、 前記キャッシュメモリに登録されたデータのステータス
    が排他不一致である該キャッシュメモリのエントリの数
    を計数する計数手段と、 第1の設定値を設定可能な第1のレジスタ手段と、 第2の設定値を設定可能な第2のレジスタ手段と、 キャッシュリプレースが必要となった場合に、前記第1
    の設定値と前記計数手段の計数値とを比較し前記計数値
    前記第1の設定値を超えていないときには第1のリプ
    レースアルゴリズムに基づいてキャッシュリプレースを
    実行し、前記計数値前記第1の設定値を超えていると
    きには前記計数値が前記第2の設定値より小さくなるま
    では第2のリプレースアルゴリズムに基づいてキャッシ
    ュリプレースを実行し、前記計数値が前記第2の設定値
    より小さくなったときには前記第1のリプレースアルゴ
    リズムに基づいてキャッシュリプレースを実行するリプ
    レース制御手段とから構成されたことを特徴とするキャ
    ッシュシステム。
  3. 【請求項3】 前記第1のリプレースアルゴリズムは、
    リプレースの優先順位を(invalid)>(sha
    red、clean exclusive)>(dir
    ty exclusive)とする固定優先度方式であ
    ることを特徴とする請求項2記載のキャッシュシステ
    ム。
  4. 【請求項4】 前記第2のリプレースアルゴリズムがL
    RU方式またはFIFO方式であることを特徴とする請
    求項2記載のキャッシュシステム。
  5. 【請求項5】 キャッシュメモリと、 前記キャッシュメモリに登録されたデータのステータス
    が排他不一致である該キャッシュメモリのエントリの数
    を計数する計数手段と、 第1の設定値を設定可能な第1のレジスタ手段と、 第2の設定値を設定可能な第2のレジスタ手段と、 キャッシュリプレースが必要となった場合に、前記第1
    の設定値と前記計数手段の計数値とを比較し前記計数値
    前記第1の設定値を超えていないときにはリプレース
    の優先順位を(invalid)>(shared、c
    lean exclusive)>(dirty ex
    clusive)とする固定優先度方式のリプレースア
    ルゴリズムに基づいてキャッシュリプレースを実行し、
    前記計数値前記第1の設定値を超えているときには前
    記計数値が前記第2の設定値より小さくなるまではLR
    U方式またはFIFO方式のリプレースアルゴリズムに
    基づいてキャッシュリプレースを実行し、前記計数値が
    前記第2の設定値より小さくなったときには前記固定優
    先度方式のリプレースアルゴリズムに基づいてキャッシ
    ュリプレースを実行するリプレース制御手段とから構成
    されたことを特徴とするキャッシュシステム。
  6. 【請求項6】 キャッシュメモリに登録されたデータの
    ステータスが排他不一致である該キャッシュメモリのエ
    ントリの数を計数する計数手段と、 第1の設定値を設定可能な第1のレジスタ手段と、 第2の設定値を設定可能な第2のレジスタ手段と、 キャッシュリプレースが必要となった場合に、前記第1
    の設定値と前記計数手段の計数値とを比較し前記計数値
    前記第1の設定値を超えていないときには第1のリプ
    レースアルゴリズムに基づいてキャッシュリプレースを
    実行し、前記計数値前記第1の設定値を超えていると
    きには前記計数値が前記第2の設定値より小さくなるま
    では第2のリプレースアルゴリズムに基づいてキャッシ
    ュリプレースを実行し、前記計数値が前記第2の設定値
    より小さくなったときには前記第1のリプレースアルゴ
    リズムに基づいてキャッシュリプレースを実行するリプ
    レース制御手段とから構成されたことを特徴とするリプ
    レース回路。
  7. 【請求項7】 前記第1のリプレースアルゴリズムは、
    リプレースの優先順位を(invalid)>(sha
    red、clean exclusive)>(dir
    ty exclusive)とする固定優先度方式であ
    ることを特徴とする請求項6記載のリプレース回路。
  8. 【請求項8】 前記第2のリプレースアルゴリズムがL
    RU方式またはFIFO方式であることを特徴とする請
    求項6記載のリプレース回路。
  9. 【請求項9】 キャッシュメモリに登録されたデータの
    ステータスが排他不一致である該キャッシュメモリのエ
    ントリの数を計数する計数手段と、 第1の設定値を設定可能な第1のレジスタ手段と、 第2の設定値を設定可能な第2のレジスタ手段と、 キャッシュリプレースが必要となった場合に、前記第1
    の設定値と前記計数手段の計数値とを比較し前記計数値
    前記第1の設定値を超えていないときにはリプレース
    の優先順位を(invalid)>(shared、c
    lean exclusive)>(dirty ex
    clusive)とする固定優先度方式のリプレースア
    ルゴリズムに基づいてキャッシュリプレースを実行し、
    前記計数値前記第1の設定値を超えているときには前
    記計数値が前記第2の設定値より小さくなるまではLR
    U方式またはFIFO方式のリプレースアルゴリズムに
    基づいてキャッシュリプレースを実行し、前記計数値が
    前記第2の設定値より小さくなったときには前記固定優
    先度方式のリプレースアルゴリズムに基づいてキャッシ
    ュリプレースを実行するリプレース制御手段とから構成
    されたことを特徴とするリプレース回路。
JP8182539A 1996-07-11 1996-07-11 キャッシュシステム Expired - Fee Related JP3013781B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8182539A JP3013781B2 (ja) 1996-07-11 1996-07-11 キャッシュシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8182539A JP3013781B2 (ja) 1996-07-11 1996-07-11 キャッシュシステム

Publications (2)

Publication Number Publication Date
JPH1027133A JPH1027133A (ja) 1998-01-27
JP3013781B2 true JP3013781B2 (ja) 2000-02-28

Family

ID=16120068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8182539A Expired - Fee Related JP3013781B2 (ja) 1996-07-11 1996-07-11 キャッシュシステム

Country Status (1)

Country Link
JP (1) JP3013781B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11294821B1 (en) 2020-09-11 2022-04-05 Kabushiki Kaisha Toshiba Write-back cache device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5494834B2 (ja) * 2011-01-12 2014-05-21 富士通株式会社 キャッシュメモリ装置,キャッシュメモリの制御装置,情報処理装置,キャッシュメモリの制御方法,及びキャッシュメモリ装置の閾値決定プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11294821B1 (en) 2020-09-11 2022-04-05 Kabushiki Kaisha Toshiba Write-back cache device

Also Published As

Publication number Publication date
JPH1027133A (ja) 1998-01-27

Similar Documents

Publication Publication Date Title
US9817760B2 (en) Self-healing coarse-grained snoop filter
US7096320B2 (en) Computer performance improvement by adjusting a time used for preemptive eviction of cache entries
US5155824A (en) System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
CN109791523B (zh) 支持巨页的内存管理
US7925840B2 (en) Data processing apparatus and method for managing snoop operations
US7447845B2 (en) Data processing system, processor and method of data processing in which local memory access requests are serviced by state machines with differing functionality
JP7340326B2 (ja) メンテナンス動作の実行
JPS6135584B2 (ja)
JP2008502069A (ja) メモリ・キャッシュ制御装置及びそのためのコヒーレンシ動作を実行する方法
CN1425154A (zh) 高速缓冲存储器线清洗微结构执行方法和系统
JP3071752B2 (ja) ブリッジ方法、バスブリッジ及びマルチプロセッサシステム
JP2003186743A (ja) 適応的キャッシュフレームのロッキング及びアンロッキングのための方法及び装置
WO2007099643A1 (ja) マルチプロセッサシステム及びマルチプロセッサシステムの動作方法
JP5699854B2 (ja) 記憶制御システムおよび方法、置換方式および方法
JP3013781B2 (ja) キャッシュシステム
JP3732397B2 (ja) キャッシュシステム
US9442856B2 (en) Data processing apparatus and method for handling performance of a cache maintenance operation
JP3180724B2 (ja) キャッシュシステム
JPH06103169A (ja) 中央演算処理装置のリードデータプリフェッチ機構
JP3447588B2 (ja) メモリ管理装置、方法及びプログラムを記憶した記憶媒体
US8423719B2 (en) Apparatus, processor and method of controlling cache memory
JP7311959B2 (ja) 複数のデータ・タイプのためのデータ・ストレージ
JPH07282023A (ja) データ転送量可変プロセッサ及びそれを用いたシステム
JPH04245350A (ja) キャッシュ一致化方式
JPH0612331A (ja) キャッシュメモリ制御装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19991116

LAPS Cancellation because of no payment of annual fees