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

キャッシュメモリ装置

Info

Publication number
JPH05181748A
JPH05181748A JP3346158A JP34615891A JPH05181748A JP H05181748 A JPH05181748 A JP H05181748A JP 3346158 A JP3346158 A JP 3346158A JP 34615891 A JP34615891 A JP 34615891A JP H05181748 A JPH05181748 A JP H05181748A
Authority
JP
Japan
Prior art keywords
cache
cpu
hit
address
feeling
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
JP3346158A
Other languages
English (en)
Inventor
Katsuhiko Yamazaki
勝彦 山崎
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.)
PFU Ltd
Original Assignee
PFU 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 PFU Ltd filed Critical PFU Ltd
Priority to JP3346158A priority Critical patent/JPH05181748A/ja
Publication of JPH05181748A publication Critical patent/JPH05181748A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 本発明はセットアソシエイティブ型のキャッ
シュメモリ装置へのアクセスに関し、アドレスの増分が
一定であるようなアクセスの場合にキャッシュミス発生
による処理速度の低下を押えることを目的とする。 【構成】 先行キャッシュフィール指定のロード命令を
持つCPUと、過去の先行フィール指定ロード命令のロ
ードアドレスをもとにキャッシュミスが発生するアドレ
スを予測する回路を備え、先行フィール指定のロードで
キャッシュヒット/ミスヒットを判別し、ミスヒットの
ときにキャッシュフィーリングを行った後、CPUの実
行再開と並行して先のロードのアドレスにレジスタBの
値を加算した値をアドレスとするデータのキャッシュヒ
ット/ミスヒットを調査し、ミスヒットのときにキャッ
シュフィーリングを行うように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はキャッシュメモリ装置に
関し、特に、先行フィーリングが可能で、これによりC
PUからのアクセスとメインメモリへのアクセスを同時
に処理可能なキャッシュメモリ装置に関する。CPUと
バスコントローラを介してメインメモリとの間に設けら
れたキャッシュメモリに対して、CPUからアクセスし
た時に、そこに所望のデータが存在する率、即ち、キャ
ッシュヒット率はCPUの演算速度に大きな影響を与え
る。従って、キャッシュヒット率の向上が常に要望され
ている。
【0002】現在のキャッシュシステムでは、一般に、
CPUがデータを必要とした時点でキャッシュヒット/
ミスヒットを判定している。しかし、キャッシュメモリ
へのアクセスにおいてアドレスの増分が一定であるよう
なアクセスが繰返し行われるプログラムの場合には、次
にどの部分がキャッシュミスヒットを起こすかは予測可
能である。
【0003】この場合、キャッシュヒット/ミスヒット
の判定とキャッシュフィーリングを、CPUがキャッシ
ュミスヒットを起こす可能性のあるデータをキャッシュ
メモリからリードする以前に、CPUの動作と並行して
行うことが可能であり、これによりキャッシュミスヒッ
トによるCPUの演算速度の低下を抑えることが可能で
ある。
【0004】本発明は、CPUからのメモリアクセスに
おいてアドレスの増分が一定で行われるときには、次に
必要となるデータのアドレスを予測し、CPUのデータ
要求に先行してキャッシュヒット/ミスヒットのチェッ
クを行い、ミスヒット時にはキャッシュフィーリングを
行うことにより、キャッシュミスヒットが高い確率で発
生したときのCPUの処理速度の低下を抑えることがで
きる。
【0005】
【従来の技術及び発明が解決しようとする課題】従来の
キャッシュシステムでは、CPUからのデータのリード
要求が出された時点で、キャッシュヒット/ミスヒット
を調査していた。一方、扱うデータの大きさがキャッシ
ュメモリの容量に対して大きい場合には、キャッシュラ
インが新しいデータで置き換えられてしまう可能性が高
くなるためキャッシュヒット率が低下する傾向があっ
た。
【0006】一方、次にどの部分がキャッシュミスヒッ
トを起こす可能性があるかを予測できる場合は、キャッ
シュヒット/ミスヒットの判定と、キャッシュフィーリ
ングとを先行して行うことによりキャッシュヒット率の
低下を抑えることができる。本発明の目的は、同時にC
PUとメインメモリからアクセス可能なセットアソシエ
イティブ型のキャッシュメモリ装置へのアクセスにおい
て、アドレスの増分が一定であるようなアクセスの場合
にキャッシュアクセスの処理速度の高速化を図ることに
ある。
【0007】
【課題を解決するための手段及び作用】図1は本発明の
原理構成図であり、図2は本発明の基本処理フローチャ
ートである。図中、1は中央処理装置(CPU)、2は
アドレス予測回路、3はキャッシュタグ部及びキャッシ
ュコントロール回路、4はキャッシュデータ部、5はバ
ストランシーバ、6はバスコントローラ、7はメインメ
モリである。
【0008】キャッシュメモリはセットアソシエイティ
ブ型とし、同時にCPU1とメインメモリ7とからアク
セス可能であるとする。キャッシュメモリは、アドレス
予測回路2と先行フィールを制御するキャッシュコント
ロール回路3を備える。図2に示すように、CPUから
先行フィールを指定するロード命令が出力されると(但
し、ロードアドレスをKとする)(ステップ1)、キャ
ッシュヒット/ミスヒットを判別する(ステップ2)。
キャッシュミスヒットのときに(NO)、キャッシュコ
ントロール回路はキャッシュフィールの度にアドレス予
測回路にロードアドレスKを伝える(このとき、CPU
は停止している)(ステップ3)。そして、キャッシュ
フィーリングを行った後(ステップ4)、CPUが実行
を再開するのと並行して(ステップ5)、アドレス予測
回路により予測されたアドレス上のデータのキャッシュ
ヒット/ミスヒットを調査し(ステップ6)、キャッシ
ュミスヒットのときにキャッシュフィーリングを行う
(ステップ7)ことを特徴とする。
【0009】アドレス予測回路及び先行フィール制御に
関しては、図3、図4に示すように、アドレスのディス
プレイスメントを保持するレジスタ群Bn と、前回のキ
ャッシュアクセスのアドレスを保持するレジスタAと、
今回のキャッシュアクセスのアドレスを保持するレジス
タA’と、該レジスタAとレジスタA’の差を出力する
減算器と、最近にアクセスが行われたキャッシュ番号を
保持するレジスタUと、ランダムな値を得るためCPU
がキャッシュに対してアクセスする毎にカウントダウン
を行うカウンタTとを備え、さらに、先行キャッシュフ
ィーリング中を表すフラグVと、先行キャッシュフィー
リング中のキャッシュ番号を保持するレジスタWと、レ
ジスタ群Bn の制御のためのカウンタラッチYと、カウ
ンタZと、先行キャッシュフィーリングを制御するキャ
ッシュコントロール回路とを備え、CPUから先行フィ
ールを指定するロード命令が出されたときに、一定の規
則にてカウンタラッチYと、レジスタ群Bn とを書換
え、書換えた後に、先行キャッシュフィーリング指定の
キャッシュアクセスにより、通常通りのキャッシュヒッ
ト/ミスヒットを判定し、ミスヒットのときのキャッシ
ュフィーリングの後、CPUによる実行の再開と並行し
て先のロードのアドレスにレジスタ群Bn から得られる
値を加算した値をアドレスとするデータのキャッシュヒ
ット/ミスヒットを調査し、ミスヒットのときにキャッ
シュフィーリングを行うことを特徴とする。
【0010】
【実施例】図3は本発明の実施例構成図であり、図5〜
9は図3,4に示す装置の処理フローチャートである。
キャッシュメモリ装置は、アドレスのディスプレスイメ
ントを保持するレジスタ群Bn と、前回のキャッシュア
クセスのアドレスを保持するレジスタAと、今回のキャ
ッシュアクセスのアドレスを保持するレジスタA’と、
該レジスタAとレジスタA’の差を出力する減算器と、
最近にアクセスが行われたキャッシュ番号を保持するレ
ジスタUと、ランダムな値を得るためCPUがキャッシ
ュに対してアクセスする毎にカウントダウンを行うカウ
ンタTとを備え、さらに、先行キャッシュフィーリング
中を表すフラグVと、先行キャッシュフィーリング中の
キャッシュ番号を保持するレジスタWと、レジスタ群B
n の制御のためのカウンタラッチYと、カウンタZと、
先行キャッシュフィーリングを制御するキャッシュコン
トロール回路とを備え、CPUから先行フィールを指定
するロード命令が出されたときに、一定の規則にてカウ
ンタラッチYと、レジスタ群Bn を書換え、書換えた後
に、先行キャッシュフィーリング指定のキャッシュアク
セスにより、通常通りのキャッシュヒット/ミスヒット
の判定と、ミスヒットのときのキャッシュフィーリング
の後、CPUの実行の再開と並行して先のロードのアド
レスにレジスタ群Bn から得られる値を加算した値をア
ドレスとするデータのキャッシュヒット/ミスヒットを
調査し、ミスヒットのときにキャッシュフィーリングを
行うことを特徴とする。
【0011】図5〜9では、基本的な処理として、先行
キャッシュフィーリングを指定するロード命令の場合、
キャッシュミスヒットが発生する毎に、減算器の出力を
レジスタ群Bn 中に蓄えていき、最初のキャッシュ時の
減算器の出力値と同じ値が現れた時点で、CPUの動作
と並行してレジスタA’の値にレジスタ群Bn のカウン
タが示すレジスタ値を加算したアドレスのキャッシュヒ
ット/ミスヒットのチェックとキャッシュフィールを行
い、カウンタをデクリメントする。
【0012】先行フィーリング中はフィーリング中のキ
ャッシュRAMに対応するキャッシュRAMはCPUに
よるリードのキャッシュヒット/ミスヒット判定の対象
外とする。また、先行フィーリング中にキャッシュミス
ヒットが発生した場合には、先行フィーリングが終了す
るまで待ち、再びキャッシュヒット/ミスヒットの判定
を行う。
【0013】図10,11,12はレジスタA,Bの変
化の説明図である。図10はアドレスA,A+16,A
+32・・・・をリードする場合であり、Yが示すレジ
スタBn とSの出力を比較する時点での値である。図1
1はアドレスA,B,A+16,B+16,A+32・
・・・をリードする場合であり、Yが示すレジスタB n
とSの出力を比較する時点での値である。図12はアド
レスA,B,C,A+16,B+16,C+16,A+
32・・・・をリードする場合であり、Yが示すレジス
タBn とSの出力を比較する時点での値である。
【0014】
【発明の効果】以上説明したように、CPUが次にロー
ドするデータが先行フィーリングされている場合は、C
PUは停止せずにまたは先行フィーリングを行わなかっ
た場合に比べて短い時間の停止にて実行を再開できる。
即ち、キャッシュ容量に比較して大きなデータをアクセ
スする場合でも、アドレスの増分が一定であるような場
合にはキャッシュアクセスの処理速度の低下を抑えるこ
とができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の基本処理フローチャートである。
【図3】本発明の実施例構成図である。
【図4】本発明の他の構成図である(その1)。
【図5】本発明の他の構成図である(その2)。
【図6】本発明の実施例処理フローチャートである(そ
の1)。
【図7】本発明の実施例処理フローチャートである(そ
の2)。
【図8】本発明の実施例処理フローチャートである(そ
の3)。
【図9】本発明の実施例処理フローチャートである(そ
の4)。
【図10】レジスタA,Bの変化の説明図である(その
1)。
【図11】レジスタA,Bの変化の説明図である(その
2)。
【図12】レジスタA,Bの変化の説明図である(その
3)。
【符号の説明】
1…CPU 2…アドレス予測回路 3…キャッシュタグ部/コントロール回路 4…キャッシュデータ部 5…バストランシーバ 6…バスコントローラ 7…メインメモリ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 CPUとバスコントローラを介してメイ
    ンメモリとの間に設けられ、該CPUは先行フィールが
    指定可能なロード命令を有し、先行フィール指定に基づ
    き、該CPUからのアクセスと該メインメモリへのアク
    セスを同時に処理可能なキャッシュメモリ装置におい
    て、該キャッシュメモリ装置は、 該CPUが次回に、先行フィーリング指定有りで要求す
    るデータのアドレスを予測するアドレス予測手段(2)
    と、 先行フィールを制御するキャッシュコントロール回路
    (3)を備え、 CPUから先行フィールを指定するロード命令が出力さ
    れたときに、キャッシュヒット/ミスヒットを判別し、
    ミスヒットのときにキャッシュフィーリングを行った
    後、CPUが実行を再開するのと並行して該アドレス予
    測手段(2)により予測されたアドレス上のデータのキ
    ャッシュヒット/ミスヒットを調査し、ミスヒットのと
    きにキャッシュフィーリングを行うことを特徴とするキ
    ャッシュメモリ装置。
  2. 【請求項2】 CPUとバスコントローラを介してメイ
    ンメモリとの間に設けられ、該CPUは先行フィールが
    指定可能なロード命令を有し、先行フィール指定に基づ
    き、該CPUからのアクセスと該メインメモリへのアク
    セスを同時に処理可能なキャッシュメモリ装置におい
    て、該キャッシュメモリ装置は、 アドレスのディスプレイスメントを保持するレジスタ群
    (Bn )と、 前回のキャッシュアクセスのアドレスを保持するレジス
    タ(A)と、 今回のキャッシュアクセスのアドレスを保持するレジス
    タ(A’)と、 該レジスタ(A)とレジスタ(A’)の差を出力する減
    算器(3)と、 最近にアクセスが行われたキャッシュ番号を保持するレ
    ジスタ(U)と、 CPUがキャッシュに対してアクセスする毎にランダム
    な値を得るためカウントダウンを行うカウンタ(T)と
    を備え、 さらに、先行キャッシュフィーリング中を表すフラグ
    (V)と、先行キャッシュフィーリング中のキャッシュ
    番号を保持するレジスタ(W)と、レジスタ群(Bn
    の制御のためのカウンタラッチ(Y)と、カウンタ
    (Z)と、先行キャッシュフィーリングを制御するキャ
    ッシュコントロール回路を備え、 CPUから先行フィールを指定するロード命令が出され
    たときに、一定の規則にてカウンタラッチ(Y)とレジ
    スタ群(Bn )を書換え、書換えた後に、先行キャッシ
    ュフィーリング指定のキャッシュアクセスにより、通常
    通りのキャッシュヒット/ミスヒットを判定し、ミスヒ
    ットのときのキャッシュフィーリングの後、CPUの実
    行の再開と並行して、先のロードのアドレスにレジスタ
    群(Bn )から得られる値を加算した値をアドレスとす
    るデータのキャッシュヒット/ミスヒットを調査し、ミ
    スヒットのときにキャッシュフィーリングを行う特徴と
    するキャッシュメモリ装置。
JP3346158A 1991-12-27 1991-12-27 キャッシュメモリ装置 Pending JPH05181748A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3346158A JPH05181748A (ja) 1991-12-27 1991-12-27 キャッシュメモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3346158A JPH05181748A (ja) 1991-12-27 1991-12-27 キャッシュメモリ装置

Publications (1)

Publication Number Publication Date
JPH05181748A true JPH05181748A (ja) 1993-07-23

Family

ID=18381509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3346158A Pending JPH05181748A (ja) 1991-12-27 1991-12-27 キャッシュメモリ装置

Country Status (1)

Country Link
JP (1) JPH05181748A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173392B1 (en) 1997-04-12 2001-01-09 Nec Corporation Prefetch controller automatically updating history addresses
US10810130B2 (en) 2016-12-22 2020-10-20 Renesas Electronics Corporation Cache memory device with access controller that accesses one of data memory and main memory based on retained cache hit determination result in response to next access

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173392B1 (en) 1997-04-12 2001-01-09 Nec Corporation Prefetch controller automatically updating history addresses
US10810130B2 (en) 2016-12-22 2020-10-20 Renesas Electronics Corporation Cache memory device with access controller that accesses one of data memory and main memory based on retained cache hit determination result in response to next access

Similar Documents

Publication Publication Date Title
JP2881049B2 (ja) プリフェッチバッファ
US5664148A (en) Cache arrangement including coalescing buffer queue for non-cacheable data
JP3259969B2 (ja) キャッシュメモリ制御装置
US6460119B1 (en) Snoop blocking for cache coherency
JP7340326B2 (ja) メンテナンス動作の実行
US6654837B1 (en) Dynamic priority external transaction system
EP2159706A1 (en) Operation processing apparatus and operation processing method
JP3071752B2 (ja) ブリッジ方法、バスブリッジ及びマルチプロセッサシステム
KR102482516B1 (ko) 메모리 어드레스 변환
JP4669244B2 (ja) キャッシュメモリ装置およびメモリ制御方法
CN100445944C (zh) 控制电路以及控制方法
CN110291507A (zh) 用于提供对存储器系统的加速访问的方法和装置
JPH05181748A (ja) キャッシュメモリ装置
US8250309B2 (en) Control of data accesses to a cache in data processing
CN121187983B (zh) 处理器、访存控制方法及设备
JPH09160863A (ja) 入出力バッファ装置及びその管理方法
JPH0950399A (ja) 多次元空間に配列されたデータの処理に適したキャッシュメモリシステム
JP3123946B2 (ja) マイクロコンピュータ
JP3187446B2 (ja) キャッシュメモリ制御装置
JPH05143456A (ja) キヤツシユメモリ装置
JPH0516058B2 (ja)
CN116521635A (zh) 数据共享方法、高速缓存模块和系统、中央处理器
JPH08161226A (ja) データ先読み制御方法,キャッシュ制御装置およびデータ処理装置
JPH1185613A (ja) キャッシュメモリ
JPH09198300A (ja) メモリアクセス制御方法