JPH04369061A - キャッシュメモリの制御方式 - Google Patents

キャッシュメモリの制御方式

Info

Publication number
JPH04369061A
JPH04369061A JP3171673A JP17167391A JPH04369061A JP H04369061 A JPH04369061 A JP H04369061A JP 3171673 A JP3171673 A JP 3171673A JP 17167391 A JP17167391 A JP 17167391A JP H04369061 A JPH04369061 A JP H04369061A
Authority
JP
Japan
Prior art keywords
data
prefetch
address
memory
buffer
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
JP3171673A
Other languages
English (en)
Inventor
Toshiyuki Hiraki
俊行 平木
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3171673A priority Critical patent/JPH04369061A/ja
Publication of JPH04369061A publication Critical patent/JPH04369061A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、キャッシュメモリの制
御方式に関するものである。
【0002】
【従来の技術】図3は、主記憶更新アルゴリズムがコピ
ーバック方式のキャッシュメモリを用いたシステム構成
図である。図において、1は制御手段としてのMPU(
Micro Proseccing Unit)、2は
キャッシュ方式がダイレクトマッピング方式のキャッシ
ュメモリ、3は主メモリ、4はローカルバス、5はシス
テムバスである。図4は、従来のダイレクトマッピング
方式のキャッシュメモリの一構成図である。図において
、6は1ブロックが4ワードからなり複数ブロックで構
成されたデータメモリ、7はMPU1から入力されたア
ドレスの一部であるTAGアドレスを記憶しておくTA
Gメモリ、8はMPU1からのアドレスのエントリアド
レスをデコードするエントリデコーダ、9はTAGメモ
リ7から読み出された内容とMPU1から入力されたア
ドレスのTAGアドレス部を比較するコンパレータであ
る。
【0003】次に動作について説明する。MPU1から
のリード動作時、キャッシュメモリ2はMPU1からの
アドレスを取り込み、エントリデコーダ8でエントリア
ドレスのデコードを行い、データメモリ6の対応するブ
ロック及びTAGメモリ7の対応するエントリを選択す
る。TAGメモリ7の選択されたエントリの内容はコン
パレータ9に読み出される。コンパレータ9では、TA
Gメモリ7から読み出された内容とMPU1より入力さ
れたアドレスのTAGアドレス部の比較が行われる。そ
の結果が一致(キャッシュヒット)していると対応する
データメモリ6の1ブロック(4ワード)がMPU1に
読み出される。
【0004】これに対し、コンパレータ9の結果が不一
致(キャッシュミス)であれば、キャッシュメモリ2は
システムバス5のバス権を取り、主メモリ3をアクセス
してMPU1からの要求のあったデータ及びそれに続く
データをプリフェッチする。ここでは、プリフェッチす
るデータを4ブロックとする。プリフェッチされた4ブ
ロックのデータは対応するデータメモリ6の領域に格納
され、MPU1から要求のあったデータの1ブロックを
MPU1に返す。この時、格納されるべきデータメモリ
6にすでにデータが存在すれば、そのデータはリプレー
スされる。図4のデータメモリ6の斜線部分がリプレー
スされる。
【0005】
【発明が解決しようとする課題】このように、従来のキ
ャッシュメモリは以上のように構成されているので、M
PUからのリード動作に対しキャッシュミスをしたとき
、データメモリに空き領域が無い場合、既に格納されて
いるデータがリプレースされプリフェッチしたデータを
すべてデータメモリに格納していたので、プリフェッチ
するデータ量が多くなればなるほどリプレースされるデ
ータ量が多くなるとともにプリフェッチしたデータが以
後アクセスされなければヒット率が著しく低下するとい
う問題点があった。
【0006】本発明は、上記のような問題点を解消する
ためになされたもので、プリフェッチしたデータ(ブロ
ック)のうちMPUからの要求のあったデータ(ブロッ
ク)のみをデータメモリに格納するキャッシュメモリの
制御方式を得ることを目的とする。
【0007】
【課題を解決するための手段】第1の発明は、主メモリ
3からプリフェッチしたデータを格納しておくプリフェ
ッチデータバッファ10と、そのプリフェッチデータバ
ッファ10に対応して設けられ上記プリフェッチしたデ
ータに対応したアドレスを記憶しておくプリフェッチア
ドレスバッファ11とを備え、制御手段としてのMPU
1からのリード動作時に、主メモリ3からのプリフェッ
チしたデータのうちMPU1から要求のあったデータの
ブロックのみをデータメモリ6に格納し、残りのプリフ
ェッチしたデータのブロックを上記プリフェッチデータ
バッファ10に格納しておくようにしたものである。第
2の発明は、プリフェッチデータバッファ10に対応し
て設けられそのプリフェッチデータバッファ10の内容
が有効であるかどうかを示すプリフェッチデータバリッ
ドビット12と、MPU1から入力されたアドレスと上
記プリフェッチアドレスバッファ11に記憶されている
内容とを比較するプリフェッチアドレス用コンパレータ
13と、上記プリフェッチしたデータに対応したアドレ
スを生成するプリフェッチアドレスインクリメンタ14
と、コンパレータ9と上記プリフェッチアドレス用コン
パレータ13の結果の論理和をとるOR回路15とを備
え、上記コンパレータ9もしくは上記プリフェッチアド
レス用コンパレータ13のうちどちらかで比較結果が一
致すれば、対応する上記データメモリ6のデータあるい
は上記プリフェッチデータバッファ10のデータをMP
U1に送るようにしたものである。
【0008】
【作用】第1の発明においては、MPU1からのリード
動作時に、主メモリ3からのプリフェッチされたデータ
のうち制御手段としてのMPU1から要求のあったデー
タのブロックのみがデータメモリ6に格納され、残りの
プリフェッチされたデータのブロックがプリフェッチデ
ータバッファ10に格納される。第2の発明においては
、コンパレータ9もしくはプリフェッチアドレス用コン
パレータ13のうちどちらかで比較結果が一致すると、
対応するデータメモリ6のデータあるいはプリフェッチ
バッファ10のデータがMPU1に送られる。
【0009】
【実施例】以下、本発明の図について説明する。なお、
図3、図4と同じものは同一の符号を用いて説明を省略
する。図1は、本発明とするところのキャッシュメモリ
の制御方式の構成図で、キャッシュ方式をダイレクトマ
ッピング方式、主記憶更新アルゴリズムをコピーバック
方式で構成している。10は主メモリ3からプリフェッ
チしたデータを格納しておくプリフェッチデータバッフ
ァ、11はプリフェッチデータバッファ10に対応して
設けられ、プリフェッチしたデータに対応したアドレス
を記憶しておくプリフェッチアドレスバッファ、12は
プリフェッチデータバッファ10に対応して設けられプ
リフェッチデータバッファ10の内容が有効であるかど
うかを示すプリフェッチデータバリッドビット(以下P
REVビットと記す)、13は入力されたアドレスとプ
リフェッチアドレスバッファ11に記憶されている内容
とを比較するプリフェッチアドレス用コンパレータ(以
下PREコンパレータと記す)、14はプリフェッチデ
ータに対応したアドレスを生成するプリフェッチアドレ
スインクリメンタ(以下PREアドレスインクリメンタ
と記す)、15はコンパレータ9とPREコンパレータ
13の結果の論理和をとるOR回路、16はOR回路1
5の出力でキャッシュメモリ2のヒット/ミスを示すヒ
ット信号である。
【0010】次に動作について説明する。制御手段とし
てのMPU1からのリード動作時、キャッシュメモリ2
はMPU1からのアドレスを取り込み、エントリデコー
ダ8でエントリアドレスのデコードを行い、データメモ
リ6の対応するブロック及びTAGメモリ7の対応する
エントリを選択する。TAGメモリ7の選択されたエン
トリの内容はコンパレータ9に読み出される。コンパレ
ータ9では、TAGメモリ7から読み出された内容とM
PU1より入力されたアドレスのTAGアドレス部の比
較が行われる。その結果が一致(キャッシュヒット)し
ていると対応するデータメモリ1の1ブロック(4ワー
ド)がMPU1に読み出される。
【0011】これに対し、コンパレータ9の結果が不一
致(キャッシュミス)であれば、キャッシュメモリ2は
システムバス5のバス権を取り、主メモリ3をアクセス
して、MPU1からの要求のあったデータ及びそれに続
くデータをプリフェッチする。ここでは、プリフェッチ
するデータを4ブロックとする。プリフェッチされた4
ブロックのデータのうち、MPU1からのアクセスのあ
った1ブロックのみを対応するデータメモリ6の領域に
格納するとともにMPU1にそのデータを送る。MPU
1からアクセスのあったデータに続く残りの3ブロック
のデータはプリフェッチデータバッファ10に格納する
。つまり、図1のデータメモリ6及びプリフェッチデー
タバッファ10の斜線部分がリプレースされる。そして
、この時に3ブロックのデータに対応したアドレスをP
REアドレスインクリメンタ14により生成してプリフ
ェッチアドレスバッファ11に格納する。
【0012】次に再びMPU1がリード動作を行うと、
先ほどと同様にエントリデコーダ8で指定されたTAG
メモリのエントリの内容と入力アドレスのTAGアドレ
ス部がコンパレータ9において比較される。同時に、プ
リフェッチアドレスバッファ11の内容をそれぞれ読み
出し、PREコンパレータ13で入力されたアドレスと
の比較をそれぞれ行う。この時、TAGメモリ7の内容
で一致すれば対応するデータメモリ6のデータの1ブロ
ックがMPU1に返される。又、TAGメモリ7の内容
では不一致となり、プリフェッチアドレスバッファ11
の内容で一致し、PREVビットが有効であれば、対応
するプリフェッチデータバッファ10のデータの1ブロ
ックがMPU1に送られる。そして、そのデータはデー
タメモリ6の対応する領域にリプレースされ、プリフェ
ッチアドレスバッファ11に記憶されている対応するT
AGアドレスをTAGメモリ7に格納し、PREVビッ
ト12の対応するビットを無効化する。このように、T
AGメモリ7の内容を受けて比較を行うコンパレータ9
もしくはプリフェッチアドレスバッファ11の内容を受
けて比較を行うPREコンパレータ13のうち、どちら
かで一致すればOR回路15を通りキャッシュヒットを
示すヒット信号16がMPU1に返される。
【0013】これに対し、コンパレータ9及びPREコ
ンパレータ13の全てで不一致であればキャッシュミス
となり、キャッシュミスの動作が繰り返し行われる。こ
の連続するブロックのプリフェッチを行ったときに、P
REVビット12はプリフェッチデータが有効となるよ
うにセットされる。
【0014】なお、本実施例ではプリフェッチアドレス
バッファ11をプリフェッチデータバッファ10に格納
するブロックに対してフルにバッファリングする構成で
示したが、TAGアドレス及びエントリアドレスの上位
アドレスとエントリアドレスの下位2ビットに分けて構
成してもよい。その構成例を図2に示す。又、本実施例
ではキャッシュ方式をダイレクトマッピング方式とした
がウエイセットアソシアティブ方式としてもよい。又、
MPUに代え他の制御手段で制御するものについても本
発明を適用できる。
【0015】
【発明の効果】以上のように、本発明の第1の発明のキ
ャッシュメモリの制御方式は、プリフェッチデータバッ
ファ及びプリフェッチアドレスバッファとを備えプリフ
ェッチしたデータ(ブロック)のうち制御手段としての
MPUからの要求のあったデータ(ブロック)のみをデ
ータメモリに格納できる構成にしたので、リプレースさ
れるデータ量を少なくすることができるとともに、プリ
フェッチしたデータが以後アクセスされなくてもヒット
率の低下が避けられる効果がある。また、第2の発明で
はコンパレータもしくはプリフェッチアドレス用コンパ
レータのうちどちらかで比較結果が一致すれば、対応す
るデータメモリのデータあるいはプリフェッチデータバ
ッファのデータを制御手段に送るように構成したので、
簡単な回路構成で、確実にリプレースされるデータ量を
少なくする効果を得ることができる。
【図面の簡単な説明】
【図1】本発明のキャッシュメモリの制御方式の一構成
例を示す図である。
【図2】本発明の一部であるプリフェッチアドレスバッ
ファ11及びPREコンパレータ13の他の構成例を示
す図である。
【図3】キャッシュメモリを用いたシステム一構成例を
示す図である。
【図4】従来のキャッシュメモリの一構成図である。
【符号の説明】 1  MPU 2  キャッシュメモリ 3  主メモリ 6  データメモリ 7  TAGメモリ 8  エントリデコーダ 9  コンパレータ 10  プリフェッチデータバッファ 11  プリフェッチアドレスバッファ12  プリフ
ェッチデータバリッドビット(PREVビット) 13  プリフェッチアドレス用コンパレータ(PRE
コンパレータ) 14  プリフェッチアドレスインクリメンタ(PRE
アドレスインクリメンタ) 15  OR回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  MPU等の制御手段からのアドレスを
    取込んで、エントリアドレスのデコードを行うエントリ
    デコーダと、上記制御手段から入力されたアドレスの一
    部であるTAGアドレスを記憶しておくTAGメモリと
    、このTAGメモリから読出された内容と上記制御手段
    より入力されるTAGアドレスとを比較するコンパレー
    タと、主メモリのデータをプリフェッチして記憶してお
    く複数のブロックからなるデータメモリとを備えたキャ
    ッシュメモリにおいて、主メモリからプリフェッチした
    データを格納しておくプリフェッチデータバッファと、
    このプリフェッチデータバッファに対応して設けられ上
    記プリフェッチしたデータに対応したアドレスを記憶し
    ておくプリフェッチアドレスバッファとを備え、上記制
    御手段からのリード動作時に、主メモリからプリフェッ
    チしたデータのうちMPUから要求のあったデータのブ
    ロックのみを上記データメモリに格納し、残りのプリフ
    ェッチしたデータのブロックを上記プリフェッチデータ
    バッファに格納しておくようにしたことを特徴とするキ
    ャッシュメモリの制御方式。
  2. 【請求項2】  上記プリフェッチデータバッファに対
    応して設けられそのプリフェッチデータバッファの内容
    が有効であるかどうかを示すプリフェッチデータバリッ
    ドビットと、上記制御手段から入力されたアドレスと上
    記プリフェッチアドレスバッファに記憶されている内容
    とを比較するプリフェッチアドレス用コンパレータと、
    上記プリフェッチしたデータに対応したアドレスを生成
    するプリフェッチアドレスインクリメンタと、上記コン
    パレータと上記プリフェッチアドレス用コンパレータの
    結果の論理和をとるOR回路とを備え、上記コンパレー
    タもしくは上記プリフェッチアドレス用コンパレータの
    うちどちらかで比較結果が一致すれば、対応する上記デ
    ータメモリのデータあるいは上記プリフェッチデータバ
    ッファのデータを上記制御手段に送るようにしたことを
    特徴とする請求項1のキャッシュメモリの制御方式。
JP3171673A 1991-06-17 1991-06-17 キャッシュメモリの制御方式 Pending JPH04369061A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3171673A JPH04369061A (ja) 1991-06-17 1991-06-17 キャッシュメモリの制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3171673A JPH04369061A (ja) 1991-06-17 1991-06-17 キャッシュメモリの制御方式

Publications (1)

Publication Number Publication Date
JPH04369061A true JPH04369061A (ja) 1992-12-21

Family

ID=15927576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3171673A Pending JPH04369061A (ja) 1991-06-17 1991-06-17 キャッシュメモリの制御方式

Country Status (1)

Country Link
JP (1) JPH04369061A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121443A (ja) * 1993-10-01 1995-05-12 Internatl Business Mach Corp <Ibm> 情報処理システム及びその動作方法
JPH0895855A (ja) * 1994-09-26 1996-04-12 Nec Corp 演算処理システムに用いられるプリフェッチバッファ装置
US5623615A (en) * 1994-08-04 1997-04-22 International Business Machines Corporation Circuit and method for reducing prefetch cycles on microprocessors
JP2001109663A (ja) * 1999-10-06 2001-04-20 Alps Electric Co Ltd ディスク制御システムおよびその制御方法
JP2011076345A (ja) * 2009-09-30 2011-04-14 Nec Computertechno Ltd 情報処理装置及び情報処理装置のデータキャッシング方法並びにマルチプロセッサシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121443A (ja) * 1993-10-01 1995-05-12 Internatl Business Mach Corp <Ibm> 情報処理システム及びその動作方法
US5623615A (en) * 1994-08-04 1997-04-22 International Business Machines Corporation Circuit and method for reducing prefetch cycles on microprocessors
JPH0895855A (ja) * 1994-09-26 1996-04-12 Nec Corp 演算処理システムに用いられるプリフェッチバッファ装置
JP2001109663A (ja) * 1999-10-06 2001-04-20 Alps Electric Co Ltd ディスク制御システムおよびその制御方法
JP2011076345A (ja) * 2009-09-30 2011-04-14 Nec Computertechno Ltd 情報処理装置及び情報処理装置のデータキャッシング方法並びにマルチプロセッサシステム

Similar Documents

Publication Publication Date Title
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US5235697A (en) Set prediction cache memory system using bits of the main memory address
US5577227A (en) Method for decreasing penalty resulting from a cache miss in multi-level cache system
JP2822588B2 (ja) キャッシュメモリ装置
US5210842A (en) Data processor having instruction varied set associative cache boundary accessing
JP2646854B2 (ja) マイクロプロセッサ
EP0409415A2 (en) Fast multiple-word accesses from a multi-way set-associative cache memory
JPS58102381A (ja) バツフアメモリ
US6122708A (en) Data cache for use with streaming data
JP2001184263A (ja) 旧キャッシュラインを無効化および除去する装置
JPH06243039A (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
JP3449487B2 (ja) 変換索引緩衝機構
JPH04242848A (ja) 走行モード別キャッシュメモリ制御方式
KR100814982B1 (ko) 다수의 채움 모드를 구비한 캐시
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
JP2001043134A (ja) コンピュータ・システム内でキャッシュ・ライン置換を管理するための方法および装置
JPH04369061A (ja) キャッシュメモリの制御方式
US5619673A (en) Virtual access cache protection bits handling method and apparatus
US7865691B2 (en) Virtual address cache and method for sharing data using a unique task identifier
US5724548A (en) System including processor and cache memory and method of controlling the cache memory
US5737753A (en) Least recently used block replacement for four block cache logic system
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
JPS63201850A (ja) オンチツプキヤツシユメモリ
JPH0659977A (ja) 明示的なライン置換え操作が可能なキャッシュメモリとその制御方法
JPH0477344B2 (ja)