JP2001051899A - キャッシュメモリ装置 - Google Patents

キャッシュメモリ装置

Info

Publication number
JP2001051899A
JP2001051899A JP11228244A JP22824499A JP2001051899A JP 2001051899 A JP2001051899 A JP 2001051899A JP 11228244 A JP11228244 A JP 11228244A JP 22824499 A JP22824499 A JP 22824499A JP 2001051899 A JP2001051899 A JP 2001051899A
Authority
JP
Japan
Prior art keywords
block transfer
cache
transfer request
row number
block
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
JP11228244A
Other languages
English (en)
Inventor
Satoru Hirono
哲 廣野
Eiki Kamata
栄樹 釜田
Toshihiko Kurihara
俊彦 栗原
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11228244A priority Critical patent/JP2001051899A/ja
Publication of JP2001051899A publication Critical patent/JP2001051899A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】nウェイセットアソシアティブ方式またはフル
アソシアティブ方式のキャッシュメモリ装置において、
ブロック転送要求を発行する際にキャッシュカラムが一
致する処理中のブロック転送要求が存在する場合は、キ
ャッシュメモリ上の同一ブロックにデータが格納されな
いキャッシュメモリ装置を提供することを目的とする。 【解決手段】ブロック転送要求が処理中のブロック転送
要求とキャッシュカラムが一致するかどうかをチェック
するアドレス比較器と、ブロック転送要求とキャッシュ
カラムが一致する処理中のブロック転送要求数を数える
カウンタ回路と、処理中のブロック転送要求とキャッシ
ュカラムが一致するブロック転送要求を発行する場合に
は、従来のリプレースアルゴリズムによって決定される
リプレースロウ番号からカラムアドレスが一致する処理
中のブロック転送要求数分ずらしたロウ番号をリプレー
ス対象ロウ番号とするように制御するリプレースロウ制
御回路を有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
の制御方式に関し、特にセットアソシアティブまたはフ
ルアソシアティブ方式のキャッシュメモリ装置に関す
る。
【0002】
【従来の技術】今日の情報処理装置の多くは、メモリア
クセスタイムの向上を図るためキャッシュメモリ装置を
採用している。また、キャッシュメモリのヒット率を高
めるために、ある一つのキャッシュカラムに複数のブロ
ックを登録できるようにした方式を採用している。一般
に、ある一つのキャッシュカラムに登録できるブロック
がn個あるような構成をnウェイセットアソシアティブ
方式、キャッシュ内の任意のブロックに登録できる構成
をフルアソシアティブ方式と呼ぶ。
【0003】これらの方式では、新しいブロックデータ
を登録する際、登録の候補となる複数のキャッシュブロ
ックにすべて有効なブロックが登録されていた場合に、
既に登録されているブロックのうちどのブロックをリプ
レースするかが問題となるが、これに対しては通常、L
RU(Least Recently Used)方式が用いられる。
【0004】LRU方式では、最も長い間アクセスして
いないブロックをリプレースするように制御するため、
その情報を記憶しておくためのメモリが別途必要であ
り、またどのブロックを最後にアクセスしたかという情
報を記録するため、キャッシュヒットまたはブロック転
送終了のたびにその情報を更新する必要がある。
【0005】図1に、このLRUによるリプレース方式
を用いた、従来方式による4ウェイセットアソシアティ
ブ方式キャッシュメモリ装置のブロック図を示す。
【0006】図1では、一度のアクセスで4つのタグ情
報を保持しているRAM1、2、3、4を同時にアクセ
スし、それぞれから読み出されたタグデータを比較用タ
グデータ5と比較してヒット判定を行う。それぞれ6か
ら9の比較器と10から13のAND回路によってヒッ
ト判定が行われ、その結果がOR回路14とエンコード
回路15で集められる。OR回路14の出力は4ブロッ
ク全体でのヒットチェック結果となり、出力信号16を
通してブロック転送要求制御論理17に転送されるとと
もに、報告信号18を通してLRU制御論理19へと報
告される。また、エンコード回路15では、4つのキャ
ッシュブロックのうちどのブロックがヒットしたかを2
ビットの情報にエンコードする。
【0007】LRU制御論理19では、報告信号18を
通してキャッシュヒットが報告されると、ヒットしたロ
ウ番号を記録するため、LRU RAM20を書き込み
モードで起動し、報告信号21より送られてきたロウ番
号をセレクタ22で選んでLRUエンコード回路23に
送り、エンコードを行った後LRU RAM20に書き
込む。
【0008】逆に、報告信号18を通してキャッシュミ
スが報告された場合には、リプレースすべきロウ番号を
調べるため、LRU制御論理19はLRU RAM20
を読み出しモードで起動する。そして、LRU RAM
20から読み出したエンコード情報をLRUデコード回
路24に送り、ここでデコードを行ってリプレース対象
となる2ビットのロウ番号を取り出す。リプレース対象
ロウ番号はブロック転送バッファ25(Block Transfer
Buffer、以後BTBと呼ぶ)に信号30を通して送信
される。
【0009】BTB25は処理中のブロック転送要求の
タグデータ、カラムアドレス、リプレースロウ番号を格
納しておくバッファで、BTB25のエントリ数分だけ
同時に複数のブロック転送を処理することができる。
【0010】BTB制御論理26はBTB25の有効ビ
ットを信号39を通して監視しており、BTB25の空
きエントリ数を信号27でブロック転送要求制御論理1
7に送っている。ブロック転送要求制御論理17は、B
TB25に空きエントリがあり、信号16によってキャ
ッシュミスを認知すると信号28を通して下位階層メモ
リにブロック転送要求を発行するとともに、信号29に
よりBTB制御論理26にブロック転送要求の発行を知
らせる。
【0011】BTB制御論理26は信号29によりブロ
ック転送要求の発行を認知すると、比較用タグデータ、
カラムアドレスをBTB25の空きエントリに格納する
とともに、信号30によって送られてくるリプレースロ
ウ番号も同じエントリに格納する。また、格納したエン
トリ番号をブロック転送要求IDとして信号31を通し
て下位階層メモリに報告する。
【0012】BTB制御論理26は、ブロック転送終了
報告と終了したブロック転送IDをそれぞれ信号32、
33を通して下位階層メモリから受け取ると、ブロック
転送IDで示されるBTB25のエントリからタグデー
タ、カラムアドレスとリプレースロウ番号を読み出し、
ブロック転送データの書き込みロウに対応するRAM1
から4のうちのいずれかのRAMに有効ビット、タグデ
ータを書き込む。また、BTB制御論理26はブロック
転送終了を信号37を通してLRU制御論理19に報告
し、BTB25の有効ビットを無効にする。
【0013】LRU制御論理19はブロック転送データ
を格納したROW番号を記録するため、LRU RAM
20を書き込みモードで起動し、報告信号38より送ら
れてきたロウ番号をセレクタ22で選んでLRUエンコ
ード回路23に送り、ここでエンコードを行ってLRU
RAM20に書き込む。
【0014】
【発明が解決しようとする課題】上述したような従来方
式によるキャッシュメモリ装置では、以下に示すような
問題点があった。
【0015】図2にブロック転送要求発行とLRU R
AMへのアクセスのタイミングチャートを示す。今、あ
るキャッシュアクセス要求Aのブロック転送が完了する
までに、キャッシュカラムが同一の他のキャッシュアク
セス要求Bがキャッシュミスを起こした場合を考える。
キャッシュアクセス要求Aがサイクル2でキャッシュミ
スを起こすと、サイクル2で下位階層メモリへブロック
転送要求が発行される。同時に、LRU RAMを読み
出しモードで起動し、サイクル4でリプレースロウ番号
を取り出す。図2ではリプレースロウ番号は0となって
いる。
【0016】また、サイクル8で下位階層メモリからブ
ロック転送終了が報告され、サイクル9でLRU RA
Mを書き込みモードで起動し、サイクル10でLRU
RAMが更新される。
【0017】キャッシュアクセス要求Bはキャッシュミ
スのため、サイクル6でLRU RAMからリプレース
ロウ番号を取り出す。AによるLRU RAMの更新は
サイクル10まで行われないので、Bのリプレースロウ
番号もAと同じ0になってしまう。
【0018】これでは、一つのキャッシュカラムに複数
のブロックが登録できるにも関わらず、一つのキャッシ
ュカラムに一つのブロックしか登録されないことにな
り、キャッシュヒット率が低下してしまう。
【0019】本発明は、上述のような事情に鑑みてなさ
れたものであり、nウェイセットアソシアティブ方式ま
たはフルアソシアティブ方式のキャッシュメモリ装置に
おいて、ブロック転送要求を発行する際にキャッシュカ
ラムが一致する処理中のブロック転送要求が存在する場
合は、キャッシュメモリ上の同一ブロックにデータが格
納されないキャッシュメモリ装置を提供することを目的
とする。
【0020】
【課題を解決するための手段】本発明のキャッシュメモ
リ装置は、ブロック転送要求が処理中のブロック転送要
求とキャッシュカラムが一致するかどうかをチェックす
るアドレス比較器と、ブロック転送要求とキャッシュカ
ラムが一致する処理中のブロック転送要求数を数えるカ
ウンタ回路と、処理中のブロック転送要求とキャッシュ
カラムが一致するブロック転送要求を発行する場合に
は、従来のリプレースアルゴリズムによって決定される
リプレースロウ番号からカラムアドレスが一致する処理
中のブロック転送要求数分ずらしたロウ番号をリプレー
ス対象ロウ番号とするように制御するリプレースロウ制
御回路を有する。
【0021】
【発明の実施の形態】以下、本発明によるキャッシュメ
モリ装置の実施例を図面により詳細に説明する。
【0022】図3は、本発明の一実施例によるキャッシ
ュメモリ装置の構成を示すブロック図である。
【0023】キャッシュアクセス要求がキャッシュミス
を起こした場合、従来通りにリプレースロウ番号を取り
出し、信号103を通してリプレースロウ制御論理10
4に送る。
【0024】一方、キャッシュアクセス要求の比較用タ
グデータ105はアドレス比較器106に送られる。ア
ドレス比較器106では比較用タグデータ105とBT
B107の全エントリのタグデータ101を比較し、A
ND回路108でBTB107の全エントリの有効ビッ
ト112とANDすることで発行しようとしているブロ
ック転送要求とキャッシュカラムが一致するBTB10
7のエントリを得る。
【0025】キャッシュカラムが一致するエントリは信
号110を通してカウント回路109に送られ、カウン
ト回路109はブロック転送要求とキャッシュカラムが
一致する処理中のブロック転送要求数を出力する。
【0026】リプレースブロック制御回路104では、
LRUデコード回路102より送られたリプレースロウ
番号を基に、キャッシュカラムが一致する処理中のブロ
ック転送要求数分リプレースロウ番号をずらす。
【0027】リプレースロウ制御回路104において、
リプレースロウ番号は、「従来のリプレースアルゴリズ
ムに従ったロウ番号+((キャッシュカラムが一致する
処理中のブロック転送要求数)mod n)n:キャッ
シュメモリのセット数」によって決定される。決定され
たリプレースロウ番号は信号111を通してBTB10
7に登録される。
【0028】
【発明の効果】本発明によれば、同時に複数のブロック
転送要求を処理するキャッシュメモリ装置において、キ
ャッシュカラムが一致する処理中のブロック転送要求数
がキャッシュカラムのセット数未満であれば、ブロック
転送要求同士のリプレースロウが一致しないのでキャッ
シュヒット率の低下を防ぐことができる。
【0029】また、キャッシュカラムが一致する処理中
のブロック転送要求が無い場合はLRU方式に代表され
るような高いキャッシュヒット率を実現するリプレース
アルゴリズムに従いリプレースロウ番号が決定されるの
で、単にリプレースアルゴリズムにラウンドロビン方式
を採用してキャッシュカラムが一致するブロック転送要
求のリプレースロウが一致するのを防ぐ方式よりも高い
キャッシュヒット率を実現することができる。
【図面の簡単な説明】
【図1】LRUによるリプレース方式を用いた従来方式
による4ウェイセットアソシアティブ方式キャッシュメ
モリ装置のブロック図である。
【図2】ブロック転送要求発行とLRU RAMへのア
クセスのタイミングチャートである。
【図3】本発明の一実施例によるLRUによるリプレー
ス方式を用いた4ウェイセットアソシアティブ方式キャ
ッシュメモリ装置のブロック図である。
【符号の説明】
1…タグ情報格納用RAM(ロウf#0)、 2…タグ情報格納用RAM(ロウf#1)、 3…タグ情報格納用RAM(ロウf#2)、 4…タグ情報格納用RAM(ロウf#3)、 5,105…比較用タグデータ信号、 6,7,8,9,106…比較回路、 10,11,12,13,108…ANDゲート、 14…ORゲート、 15…エンコード回路、 16,18…キャッシュヒット信号、 17…ブロック転送要求制御論理、 19…LRU制御論理、 20…LRU RAM、 21…キャッシュヒットしたロウ番号報告信号、 22…セレクタ回路、 23…LRUエンコード回路、 24,102…LRUデコード回路、 25,107…BTB、 26…BTB制御論理、 27…BTBエントリが空であることを報告する信号、 28,29…ブロック転送要求信号、 30,38,103,111…リプレースロウ番号報告
信号、 31…ブロック転送要求ID報告信号、 32,37…ブロック転送終了報告信号、 33…終了したブロック転送要求ID報告信号、 39,112…BTBの全エントリの有効ビット報告信
号、 101…BTBの全エントリのタグデータ報告信号、 104…リプレースロウ制御論理、 109…カウント回路、 110…キャッシュカラム競合エントリ報告信号。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 栗原 俊彦 神奈川県秦野市堀山下1番地 株式会社日 立製作所エンタープライズサーバ事業部内 Fターム(参考) 5B005 JJ13 MM01 NN01 NN72 QQ02

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】セットアソシアティブまたはフルアソシア
    ティブのキャッシュメモリ装置において、処理中のブロ
    ック転送要求とキャッシュのカラムアドレスが一致する
    ブロック転送要求を発行する場合には、処理中のブロッ
    ク転送要求とキャッシュのカラムアドレスが一致しない
    ブロック転送要求を発行する場合のリプレース対象ロウ
    と一致しないようにリプレースロウ番号を決定するリプ
    レースロウ制御回路を有することを特徴とするキャッシ
    ュメモリ装置。
  2. 【請求項2】請求項1のキャッシュメモリ装置におい
    て、処理中のブロック転送要求とキャッシュのカラムア
    ドレスが一致するブロック転送要求を発行する場合に
    は、処理中のブロック転送要求とキャッシュのカラムア
    ドレスが一致しないブロック転送要求を発行する場合の
    リプレースロウ番号から、カラムアドレスが一致する処
    理中のブロック転送要求数分ずらしたロウ番号をリプレ
    ースロウ番号とするように制御するリプレースロウ制御
    回路を有することを特徴とするキャッシュメモリ装置。
JP11228244A 1999-08-12 1999-08-12 キャッシュメモリ装置 Pending JP2001051899A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11228244A JP2001051899A (ja) 1999-08-12 1999-08-12 キャッシュメモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11228244A JP2001051899A (ja) 1999-08-12 1999-08-12 キャッシュメモリ装置

Publications (1)

Publication Number Publication Date
JP2001051899A true JP2001051899A (ja) 2001-02-23

Family

ID=16873431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11228244A Pending JP2001051899A (ja) 1999-08-12 1999-08-12 キャッシュメモリ装置

Country Status (1)

Country Link
JP (1) JP2001051899A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007088591A1 (ja) 2006-01-31 2007-08-09 Fujitsu Limited メモリアクセス制御装置およびメモリアクセス制御方法
JP2007226641A (ja) * 2006-02-24 2007-09-06 Nec Corp 情報処理装置、キャッシュ制御方法及びプログラム
US9715461B2 (en) 2014-03-03 2017-07-25 Kabushiki Kaisha Toshiba Cache memory control circuit and processor
JP2018055568A (ja) * 2016-09-30 2018-04-05 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法
US10482018B2 (en) 2017-09-13 2019-11-19 Fujitsu Limited Arithmetic processing unit and method for controlling arithmetic processing unit

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007088591A1 (ja) 2006-01-31 2007-08-09 Fujitsu Limited メモリアクセス制御装置およびメモリアクセス制御方法
JP2007226641A (ja) * 2006-02-24 2007-09-06 Nec Corp 情報処理装置、キャッシュ制御方法及びプログラム
US9715461B2 (en) 2014-03-03 2017-07-25 Kabushiki Kaisha Toshiba Cache memory control circuit and processor
JP2018055568A (ja) * 2016-09-30 2018-04-05 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法
US10552331B2 (en) 2016-09-30 2020-02-04 Fujitsu Limited Arithmetic processing device having a move-in buffer control unit that issues a move-in request in shorter time upon a memory access request, information apparatus including the same and method for controlling the arithmetic processing device
US10482018B2 (en) 2017-09-13 2019-11-19 Fujitsu Limited Arithmetic processing unit and method for controlling arithmetic processing unit

Similar Documents

Publication Publication Date Title
JP2554449B2 (ja) キャッシュ・メモリを有するデータ処理システム
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
KR100962057B1 (ko) 캐시 치환 폴리시의 간이화한 구현을 갖춘 멀티스레드 캐시의 방법 및 장치
US6877067B2 (en) Shared cache memory replacement control method and apparatus
US7185149B2 (en) Selective storage in a cache memory device
KR100962058B1 (ko) 스레드 식별자에 기초한 캐시 축출을 갖춘 멀티스레드 캐시의 방법 및 장치
US20140208038A1 (en) Sectored cache replacement algorithm for reducing memory writebacks
US5490113A (en) Memory stream buffer
US20030115422A1 (en) System and method for managing data in an I/O cache
JPH10214226A (ja) 第2レベルキャッシュの古いラインの除去によるプロセッサのメモリ性能の強化方法及びシステム
US7281083B2 (en) Network processor with content addressable memory (CAM) mask
US6701417B2 (en) Method and apparatus for supporting multiple cache line invalidations per cycle
JPH0616272B2 (ja) メモリアクセス制御方式
EP0675443A1 (en) Apparatus and method for accessing direct mapped cache
JP2001051899A (ja) キャッシュメモリ装置
US20220334918A1 (en) Method and system for ensuring failure atomicity in non-volatile memory
US7543113B2 (en) Cache memory system and method capable of adaptively accommodating various memory line sizes
US6601155B2 (en) Hot way caches: an energy saving technique for high performance caches
US5636365A (en) Hierarchical buffer memories for selectively controlling data coherence including coherence control request means
JPH09218823A (ja) キャッシュメモリ制御装置
JPH01163852A (ja) データ処理システム内のサブシステムおよびその動作方法
US6904501B1 (en) Cache memory for identifying locked and least recently used storage locations
JPH04369061A (ja) キャッシュメモリの制御方式
JPH03232034A (ja) キャッシュ制御装置
JP2845762B2 (ja) 階層バッファメモリ装置