JPH0421044A - 1チップキャッシュメモリ - Google Patents

1チップキャッシュメモリ

Info

Publication number
JPH0421044A
JPH0421044A JP2124965A JP12496590A JPH0421044A JP H0421044 A JPH0421044 A JP H0421044A JP 2124965 A JP2124965 A JP 2124965A JP 12496590 A JP12496590 A JP 12496590A JP H0421044 A JPH0421044 A JP H0421044A
Authority
JP
Japan
Prior art keywords
data
block
memory
bus
cache memory
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
JP2124965A
Other languages
English (en)
Inventor
Fumihiko Terayama
寺山 文彦
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 JP2124965A priority Critical patent/JPH0421044A/ja
Publication of JPH0421044A publication Critical patent/JPH0421044A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、1チップキャッシュメモリの改良に関する
ものである。
〔従来の技術〕
第2図は例えばCQ出版社刊行の雑誌「インターフェー
スJ 19B7年8月号のpp241−257に掲載さ
れた論文「1チツプ・キャッシュ・メモリμPD436
08Rの概要と活用法」に示された、従来の1チップキ
ャッシュメモリの構成を示すブロック図である。
第3図は第2図に示された1チップキャッシュメモリμ
PD43608Rのメモリブロック構成を示す図である
第2図において、2はCPUアドレス、3はディレクト
リ、4はブロックロードバッファ、5はデータブロック
、6はCPUデータ、7はシステムバスインターフェー
ス、8はブロックアドレスジエレネータ、9は入力ラッ
チ、10はバイパスバッファ、11はブリフエツチャ、
13はCPUバスインターフェース、14はL RU 
(Least Recently Used)である。
次に動作について説明する。1チップキャッシュメモリ
は、CPUからの要求に応じてメインメモリのデータを
記憶し、CPUからのアクセスに対しメインメモリに代
わってそのデータの読み出し/書き込みを高速に行うも
のである。CPUからのメモリアクセスには局所性があ
り、CPUからの要求でキャッシュメモリに記憶された
データは、近い将来再びアクセスされる可能性が高い。
また、アクセスされたデータの近傍のデータが再びアク
セスされる可能性も高い、そのため、いったんアクセス
されたデータとその近傍のデータをキャッシュメモリ番
こ記憶すると、CPUとキャッシュメモリの間でデータ
がやりとりされるのでCPUの高速メモリアクセスが実
現される。
CPUが1チップキャッシュメモリをアクセスしたとき
、データが存在すればキャツシュヒツト、存在しない場
合をキャッシュミスと言う。キャツシュヒツトの場合、
キャッシュメモリから高速にデータが読みだされる。キ
ャッシュミスの場合、CPUが要求するワードを含むデ
ータのかたまりをメインメモリからキャッシュメモリに
取り込み(フェッチ動作)、次回からのCPUアクセス
に備える。このキャッシュメモリとメインメモリの情報
転送の単位であるデータのかたまりをブロックと呼び、
その大きさをブロックサイズと言う。
キャッシュメモリ中にそのブロックを記憶する空きスペ
ースがなければ、現在ある古いブロックのどれかを追い
出す(リプレース動作)。
次に従来の1チップキャッシュメモリのメモリ構成と動
作について説明する。第3図は第2図のデータブロック
5.ディレクトリ3.LRU14の3ブロツクよりなる
4ウエイセツトアソシアテイブのメモリ構成を示す、デ
ータブロック5はメインメモリのデータを保持するメモ
リ部である。
ディレクトリ3はデータブロックの各データに対応する
アドレスの格納場所であるアドレスタグと格納データが
有効か無効かを示すバリッドピットより成る。LRU1
4は4ウエイの各データがCPUからアクセスされた古
さの情報を格納する。
CPUはメモリブロック中のデータをアドレスでアクセ
スする。第3図に示されるようにアクセスアドレスは上
述のアドレスタグ、主記憶からキャッシュにロードされ
たデータブロック内のアドレスを示すセットセレクト、
データブロックのワード選択情報であるワードセレクト
の3部分に分けられる。アクセスアドレスのセットセレ
クトによってアドレスタグとバリッドピットがディレク
トリから選択されて読みだされる。同じくデータブロッ
クからはブロックが選択されて読みだされる。アクセス
アドレスの上位部であるアドレスタグは、セットセレク
トで選択されたディレクトリ中のアドレスタグ部の内容
と比較される。
4ウ工イセツトアソシアテイブ方式では、1つのセット
セレクトに対して最大4個までのアドレスタグが同時に
記憶される。従って、ヒツト/ミス判定時にはあるセッ
トセレクトに対して同時に4個のアドレスタグを参照比
較することになる。
バリッドピットは記憶している各アドレスタグの有効性
を示し、ヒツト/ミス判定時に有効がどぅかのチエツク
を行う、4つのウェイは並行して同じ動作を行い、ディ
レクトリから読みだされたアドレスタグとアクセスアド
レスのアドレスタグ部との比較を4ウ工イ同時に行いヒ
ット/ミスの判定を行う、一方、読みだされたデータブ
ロックはワードセレクトによってワードが選択され、最
後にヒツト判定からどのウェイがヒツトしたかを示すウ
ェイ選択信号をもらい、一つのワードが決定される。
次にフェッチ方式について説明する。1チップキャッシ
ュメモリではオン・デマンド方式と、ブリフェッチ・オ
ン・ミス方式のフェッチアルゴリズムをそれぞれサポー
トしている。オン・デマンド方式はあるブロックが必要
となった時点(キャシュミスした時点)で1チップキャ
ッシュメモリにメインメモリ内容をブロック単位でフェ
ッチする方式である。一方、ブリフェッチ・オン・ミス
方式では、キャッシュミス発生時にアクセスされたブロ
ックをフェッチした後、アクセスされたブロックの次の
ブロックのキャシュヒツト/ミスをチエツクし、次のブ
ロックがキャシュミスであればそのブロックもフェッチ
する方式である。
キャシュメモリの性能を示すには、一般にヒツト率が使
われる。ヒツト率とは、CPUからのメモリアクセスに
対し、キャシュメモリ内にそのアクセスデータが存在す
る確率である。
〔発明が解決しようとする課題〕
従来の1チンプキヤツシユメモリは以上のように構成さ
れているので、ブリフェッチするブロック数は1つと固
定である。ところで、一般のプログラムではデータと命
令でアドレス連続性が異なる。命令はアドレスの連続性
が高くブリフェッチ数を増やすと高いヒツト率を期待で
きるが、データはアドレスが離散的でブリフェッチ数を
増やしてもヒツト率向上はあまりにも期待できない。シ
ステムパフォーマンスを最高にするためには、ブリフェ
ッチロック数をデータと命令で別々に選択する必要があ
る。
この発明は、上記のような問題点を解消するためになさ
れたもので、システムパフォーマンスを最高にすること
ができる1チップキャッシュメモリを得ることを目的と
する。
〔課題を解決するため手段〕
この発明に係る1チップキャッシュメモリは、バスアク
セスタイプを判定して、バスアクセスタイプ毎に設定さ
れた回数のプリフエ・ノチを実行するブリフェッチ手段
を備えたものである。
〔作用〕
この発明における1チップキャッシュメモリは、命令と
データのようなバスアクセスタイプ毎に対応してブリフ
ェッチブロック数を変更するようにしたので、バスアク
セスタイプ毎に対応した最適のブリフェッチブロック数
により高ヒ・ント率を得ることができる。
〔実施例〕
以下、この発明の一実施例を図について説明する。第1
図は本発明の一実施例による1チ・ノブキャッシュメモ
リを示し、図において、lはlチップキャッシュメモリ
、2はCPUアドレス、3はディレクトリ、4はブロッ
クロードバッファ、5はデータブロック、6はCPUデ
ータ、7はシステムバスインターフェース、8はブロッ
クアドレスジェネレータ、9は入力ラッチ、10はバイ
パスバッファ、11はブリフェッチ中、12はバスアク
セスタイプ信号である。
また、第4図に本実施例のバスアクセスタイプを示す。
次に1チップキャッシュメモリ1のリードアクセス動作
について説明する。1チップキャッシュメモリ1は、C
PUアドレス2によりディレクトリ3およびブロックロ
ードバッファ4を参照し、ここでキャツシュヒツトすれ
ばデータブロック5からCPUデータバス6にデータを
出力する。ブロックロードバッファ4を参照するのは、
ブロックロードバッファ4に1ブロツクのデータがそろ
った時点でデータブロック5に書き込まれるため、デー
タブロック5にデータがなくてもブロックロードバッフ
ァ4に存在する可能性があるためである。キャンシュミ
スすればシステムバスインターフェース7を通しメモリ
バスの使用を要求し、メモリバスの使用が許可されると
バスアクセスを開始してブロックアドレスジェネレータ
8が生成したアドレスによりメインメモリからデータを
フェッチする。メインメモリからのフェッチデータは入
力ラッチ9からブロックロードバッファ4とバイパスバ
ッファ10に渡される。バイパスバッファ10はそのデ
ータをCPtJデータバス6に出力し、CPUにデータ
出力完了を通知する。引き続きブロックロードバッファ
4はデータを受取り、1ブロツク分のデータフェッチを
完了するとブロックアドレスジェネレータ8が発生する
アドレスによりデータブロックのデータ更新を行う。ま
たこの時、メモリバスをアクセスしている間にブリフェ
ッチ中11はディレクトリ3の次のブロックを参照する
。キャツシュヒツトであれば何もしないが、キャッシュ
ミスであればシステムバスインターフェース7にバス使
用要求を出し次のブロックのフェッチを行う。この時、
CPUアドレスとともに受は取ったバスアクセスタイプ
信号12によりブリフェッチブロック数を変える。
第4図に示されるようにバスアクセスタイプがデータで
あれば1ブロツクのブリフェッチを行い、命令であれば
2ブロツクのブリフェッチを行う。
バスアクセスタイプが命令、データ以外であればキャッ
シングしない、命令、データ以外のバスアクセスタイプ
には、割り込み応答サイクル、あるいはコプロセッササ
イクルがある。最終的に、キャッシュミスしたブロック
と引き続(設定されたプリフェッチブロック数分のブロ
ックがフェッチされデータブロック5に書き込まれる。
プリフェッチ終了後、再び1チツプキ中ツシユメモリは
アクセスを受は入れる状態となりリードアクセス、ライ
トアクセスを受は付ける。
〔発明の効果〕
以上のように、この発明によれば、バスアクセスタイプ
に応じて1チップキャッシュメモリのブリフェッチブロ
ック数が変わるように構成したので、ヒツト率の高い1
チツプキ中ツシユメモリが得られる効果がある。
【図面の簡単な説明】
第1図はこの発明の一実施例である1チツプメモリのブ
ロック構成図、第2図は従来の1チップキャッシュメモ
リのブロック構成図、第3図は第2図に示した1チップ
キャッシュメモリのメモリ構成図、第4図はこの発明の
一実施例である1チップキャッシュメモリのバスアクセ
スタイプを示す図である。 第1図において、1は1チップキャッシュメモリ、2は
CPUアドレス、3はディレクトリ、4はブロックロー
ドバッファ、5はデータブロック、6はCPUデータ、
7はシステムバスインターフェース、8はブロックアド
レスジェネレータ、9は入力ラッチ、10はバイパスバ
ッファ、11はブリフェッチヤ、12はバスアクセスタ
イプ信号、13はCPUバスインターフェース、14は
LRUである。 なお図中同一符号は同−又は相当部分を示す。

Claims (1)

    【特許請求の範囲】
  1. (1)1チップキャッシュメモリにおいて、CPUのア
    クセスアドレスを保持する手段と、主記憶からキャッシ
    ュにロードされたデータブロック内のアドレスを示す、
    前記アクセスアドレス中の第1のセットセレクトを増加
    して第2のセットセレクトを得る手段と、 該第2のセットセレクトによりキャッシュメモリアクセ
    スを行い、ヒットあるいはミスを判定し、ミス判定時メ
    インメモリよりデータをフェッチする手段と、 CPUのバスアクセスタイプを判定する手段と、前記第
    2のセットセレクトを増加する回数を前記CPUアクセ
    スアドレスのバスアクセスに応じて変更する手段とを備
    えたことを特徴とする1チップキャッシュメモリ。
JP2124965A 1990-05-14 1990-05-14 1チップキャッシュメモリ Pending JPH0421044A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2124965A JPH0421044A (ja) 1990-05-14 1990-05-14 1チップキャッシュメモリ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2124965A JPH0421044A (ja) 1990-05-14 1990-05-14 1チップキャッシュメモリ

Publications (1)

Publication Number Publication Date
JPH0421044A true JPH0421044A (ja) 1992-01-24

Family

ID=14898602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2124965A Pending JPH0421044A (ja) 1990-05-14 1990-05-14 1チップキャッシュメモリ

Country Status (1)

Country Link
JP (1) JPH0421044A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6085287A (en) * 1997-12-30 2000-07-04 Genesis One Technologies, Inc. Method and apparatus for enhancing the disk cache process by dynamically sizing prefetch data associated with read requests based upon the current cache hit rate
US6334173B1 (en) 1997-11-17 2001-12-25 Hyundai Electronics Industries Co. Ltd. Combined cache with main memory and a control method thereof
JP2006048181A (ja) * 2004-07-30 2006-02-16 Fujitsu Ltd 記憶制御装置、ムーブインバッファ制御方法およびプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334173B1 (en) 1997-11-17 2001-12-25 Hyundai Electronics Industries Co. Ltd. Combined cache with main memory and a control method thereof
US6085287A (en) * 1997-12-30 2000-07-04 Genesis One Technologies, Inc. Method and apparatus for enhancing the disk cache process by dynamically sizing prefetch data associated with read requests based upon the current cache hit rate
JP2006048181A (ja) * 2004-07-30 2006-02-16 Fujitsu Ltd 記憶制御装置、ムーブインバッファ制御方法およびプログラム
EP1622029A3 (en) * 2004-07-30 2006-08-09 Fujitsu Limited Memory control device, move-in buffer control method
US7451274B2 (en) 2004-07-30 2008-11-11 Fujitsu Limited Memory control device, move-in buffer control method

Similar Documents

Publication Publication Date Title
US5586295A (en) Combination prefetch buffer and instruction cache
US5603004A (en) Method for decreasing time penalty resulting from a cache miss in a multi-level cache system
EP0637800B1 (en) Data processor having cache memory
KR100278328B1 (ko) 캐시 미스 버퍼
US5499355A (en) Prefetching into a cache to minimize main memory access time and cache size in a computer system
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
US5828860A (en) Data processing device equipped with cache memory and a storage unit for storing data between a main storage or CPU cache memory
KR100274327B1 (ko) 캐시가 일관된 다중 처리기 컴퓨터 시스템에서 다중 미결동작을 제공하기 위한 장치 및 그 방법
US7047362B2 (en) Cache system and method for controlling the cache system comprising direct-mapped cache and fully-associative buffer
JPH0347540B2 (ja)
JPH0628180A (ja) プリフェッチバッファ
JPH0863393A (ja) 多レベル・キャッシュ内のキャッシュ・ミス発生に伴う新しいワード・フラグメントの書き込み方法
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
EP1399823A2 (en) Using an l2 directory to facilitate speculative loads in a multiprocessor system
US5367657A (en) Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems
US5926841A (en) Segment descriptor cache for a processor
US7949833B1 (en) Transparent level 2 cache controller
WO1997034229A9 (en) Segment descriptor cache for a processor
JP2001249846A (ja) キャッシュメモリ装置及びデータ処理システム
JPH0421044A (ja) 1チップキャッシュメモリ
US6081853A (en) Method for transferring burst data in a microprocessor
JPH02301843A (ja) プリフェッチ制御方法およびプリフェッチ制御装置
JPH06243037A (ja) データ先読み装置
JPH0421043A (ja) 1チップキャッシュメモリ
KR20040047398A (ko) 캐쉬 메모리를 이용한 데이터 억세스 방법