JPH09218825A - 可変キャッシュ方式 - Google Patents

可変キャッシュ方式

Info

Publication number
JPH09218825A
JPH09218825A JP8024530A JP2453096A JPH09218825A JP H09218825 A JPH09218825 A JP H09218825A JP 8024530 A JP8024530 A JP 8024530A JP 2453096 A JP2453096 A JP 2453096A JP H09218825 A JPH09218825 A JP H09218825A
Authority
JP
Japan
Prior art keywords
data
cache
tag
processor
address
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
JP8024530A
Other languages
English (en)
Inventor
Tatsuo Okamoto
達男 岡本
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.)
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
Original Assignee
Meidensha Corp
Meidensha Electric Manufacturing Co 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 Meidensha Corp, Meidensha Electric Manufacturing Co Ltd filed Critical Meidensha Corp
Priority to JP8024530A priority Critical patent/JPH09218825A/ja
Publication of JPH09218825A publication Critical patent/JPH09218825A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 キャッシュ動作のヒット率が低く、アクセス
時間も長い。 【解決手段】 ソースプログラムからプロセッサ1で使
用するコードを生成する際に、そのコードの内容の情報
をタグとして付加しておき、プロセッサからのアドレス
とキャッシュメモリ2に持つデータのアドレスをアドレ
ス比較部11で比較し、この結果からプロセッサインタ
フェース部12がキャッシュ動作の状態をプロセッサへ
伝達し、メインメモリ3のデータに付加されているタグ
の情報をタグビット判定部13が判定し、これをタグバ
ッファ部14に格納し、キャッシュ動作のミス時及びタ
グビット判定部による分岐処理検出時にキャッシュ動作
をリプレース制御部15で制御し、データ中に分岐処理
があればその分岐先データもキャッシュメモリに取り込
むことにより、アクセス時間を延ばすことなくキャッシ
ュ動作のヒット率を向上させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サを利用したCPU装置において、主記憶装置の内容を
プロセッサの処理状況に応じてキャッシュメモリに転送
する方式に関するものである。
【0002】
【従来の技術】図5は、基本的なプロセッサ1とキャッ
シュメモリ2及びメインメモリ3間の結合構成を示す。
キャッシュメモリ2は、プロセッサ1によりアクセスさ
れたメインメモリ3のデータを一次的に記憶しておく。
この構成では、プロセッサ1によるメインメモリ3に対
する書き込み要求が発生すると、キャッシュ・コントロ
ーラ4を介してメインメモリ3とキャッシュメモリ2の
内容が更新される。
【0003】キャッシュメモリ2は、その内部を特定の
データブロック毎に分けて構成されている。各データブ
ロックには、メインメモリ3のアドレスに対応するアド
レスを格納する領域が用意されており、これをタグと呼
ぶ。一般的に、このブロックをラインと呼び、プロセッ
サやメインメモリとのデータのやり取りは、ライン単位
で行われる。
【0004】
【発明が解決しようとする課題】従来のキャッシュメモ
リの問題点は、プロセッサの読み込み要求が発生したと
き、キャッシュメモリ上に必要とするデータがあるかど
うかで判断する。以下に、各キャッシュメモリ構成にお
ける問題点を説明する。
【0005】(1)ダイレクト・マッピング方式の問題
点。
【0006】図6にダイレクトマッピング方式のデータ
関係を示す。この方式は、メインメモリ上の各アドレス
のデータが、キャッシュメモリ上のどこに存在するのか
が決まっている方式である。
【0007】メインメモリの内容をキャッシュメモリの
どの位置に格納するかは、データのアドレス値を基に決
定する。この格納位置決定方法は、アドレス値に演算を
行ってその結果から得られるキャッシュのライン番号に
格納されるが、具体的な演算方法については説明を省略
する。
【0008】キャッシュメモリは、メインメモリと比べ
るとその記憶容量は小さい。よってキャッシュメモリの
ラインには、メインメモリの複数のデータが入れ替わり
で格納されることになる。図6の例では、キャッシュメ
モリのライン番号3には処理の状況により、メインメモ
リのアドレス3又はn−1のデータが格納される。
【0009】また、プロセッサは、キャッシュメモリに
対しては、ライン単位で参照するのでデータの走査時間
は短くて済む。
【0010】しかし、ダイレクトマッピング方式では、
キャッシュメモリのラインに格納したデータがすぐに入
れ替えられてしまう可能性があるため、キャッシュの検
索は短時間で終了するが、そのかわりミスヒット(デー
タがキャッシュ上にない場合)によるキャッシュの更新
が頻繁に発生することにより、キャッシュ全体のミスヒ
ット率が上がる可能性がある。
【0011】(2)フル・アソシアティブ方式の問題
点。
【0012】図7にフル・アソシアティブ方式のデータ
関係を示す。この方式は、データをキャッシュライン上
のどのラインにおいてもよい方式である。つまり、時々
刻々と変化する処理の中でメインメモリのデータは、キ
ャッシュメモリのその時点で空いているラインに格納さ
れる。このために、メインメモリのデータが格納される
キャッシュメモリのライン位置は一定しない。図7の例
では、メインメモリのアドレス5のデータがキャッシュ
メモリのライン3、n又はn+mに格納されることを示
している。
【0013】この方式では、データをキャッシュメモリ
に格納すると、ミスヒット率は低下するが、プロセッサ
のキャッシュメモリに対するアクセス(データの走査時
間)が長くなるという問題がある。
【0014】(3)キャッシュする際の問題点。
【0015】プロセッサで実行される命令は、その用意
されているすべてが実行されるわけではなく実際に頻繁
に実行される命令は、一部の命令に偏る傾向がある。
【0016】つまり、一度参照されたデータは、近い将
来再び参照される可能性が高いという時間的な局所性
と、参照されたデータの近くのデータが参照される可能
性が高いという、データが格納されている空間的な局所
性がある。
【0017】図8にメインメモリ上に格納されているデ
ータの例を示す。メモリ上には、各処理が格納されてい
るが、格納状態は、処理ごとに連続的記録されていると
は限らない。命令を実行する上では、メモリ上に連続し
て記録されていれば、キャッシュした際に、メインメモ
リから移してきたデータをすべて使用することができ、
使用効率がよい。
【0018】しかし、実際の処理では、分岐処理が発生
しメモリのほかの領域を参照することになるので、連続
的に命令を実行することできない。
【0019】本発明の目的は、アクセス時間を延ばすこ
となくキャッシュ動作のヒット率を向上させる可変キャ
ッシュ方式を提供することにある。
【0020】
【課題を解決するための手段】本発明は、プロセッサに
よりアクセスされたメインメモリのデータを一次的に記
憶しておくキャッシュメモリを設けたマイクロプロセッ
サシステムにおいて、ソースプログラムから前記プロセ
ッサで使用するコードを生成する際に、そのコードの内
容の情報をタグとして付加しておく手段と、前記プロセ
ッサが出力するアドレスと前記キャッシュメモリ中に存
在するデータのアドレスを比較するアドレス比較部と、
前記アドレス比較部の比較結果からキャッシュ動作の状
態を前記プロセッサへ伝達するプロセッサインタフェー
ス部と、前記メインメモリのデータに付加されている前
記タグの情報を判別するタグビット判定部と、前記タグ
ビット判定部からの出力に応じてタグ情報を格納するタ
グバッファ部と、キャッシュ動作のミス時及び前記タグ
ビット判定部による分岐処理検出時にキャッシュ動作を
制御するリプレース制御部とを備えたことを特徴とす
る。
【0021】この構成により、メインメモリのデータを
キャッシュメモリに取り込む際に、データのチェックを
行い、データ中に分岐処理があればその分岐先データも
キャッシュメモリに取り込むことにより、アクセス時間
を延ばすことなくキャッシュ動作のヒット率を向上させ
る。
【0022】
【発明の実施の形態】本実施形態は、以下のソフトウェ
ア構成とハードウェア構成で前記の課題を解消するもの
である。
【0023】(1)ソフトウェア構成 プロセッサで使用するコードを生成する際に、そのコー
ドの内容の情報を付加する。つまり、ソースプログラム
からコードを生成する際に、コードの各部分において、
どの程度の空間的局所性(データの連続性)をもってい
るかの情報を付加する。
【0024】図8のような処理内容のデータからプロセ
ッサで使用するコードを生成するときに、そのデータ構
成についての情報を付加するために、メインメモリのデ
ータフォーマットを図1のようにデータ部の外にタグ部
を持つ構成としておく。
【0025】また、データを生成するときの流れを図2
に示す。図2においてソースプログラムからコードを生
成した後、コードサーチにより各処理内容について判別
を行う。分岐処理ならば図1のデータフォーマットにお
けるタグ部に“1”を書き、分岐先のアドレスも書き込
む。分岐処理でない場合は、タグ部には、“0”を書き
込んでおく。
【0026】図3に図2の流れ図によって生成されるデ
ータを示す。図3において処理1から処理9のなかで分
岐処理は処理7である。図2の流れ図によりこの処理7
のタグ部には分岐の有無を示すビットに“1”を書き、
分岐先のアドレスも書き込んである。
【0027】このようにデータを生成することにより、
次項(2)におけるハードウェアでは、メインメモリか
らデータを取り込む際にタグビットだけを監視して、タ
グビットに“1”を認識したら分岐先のアドレスのデー
タも取り込む処理を行う。
【0028】これにより、処理の中で分岐処理が発生し
てもそのデータは、事前にキャッシュメモリに取り込ま
れているので、メインメモリにアクセスする必要がな
く、高速に分岐先のデータをキャッシュメモリから取り
込むことができる。
【0029】(2)ハードウェア構成 本実施形態におけるハードウェア構成は、図4に示す構
成にてキャッシャ動作を行う。
【0030】キャッシュ置換部10は、キャッシュ・ミ
スMISSが発生した際に、キャッシュ中の使用頻度の
低いデータをすてる。
【0031】アドレス比較部11は、プロセッサ1から
のアクセスに対してキャッシャメモリ2内に要求された
データが、存在するかどうかを判別する機能を有する。
キャッシュヒットHIT、キャッシュミスMISSをプ
ロセッサインタフェース部(I/F)12へ伝える。
【0032】プロセッサインタフェース部(IF)12
は、キャッシュのヒット/ミス、リプレースのステータ
スを、プロセッサ1へ伝達する。
【0033】タグビット判定部13は、メインメモリ3
からデータを取り込む際に、対象となるデータのタグT
AGを判別する。キャッシュメモリ2へ転送するデータ
ブロック内に分岐処理がなければ、リプレース処理は1
ブロックの転送を終了した時点で終了する。もし、転送
ブロック内に分岐処理を認識した場合は、タグバッファ
部14とリプレース制御部15へ分岐処理発生を伝達す
る。
【0034】タグバッファ部14は、タグビット判定部
13からの出力信号ADよりタグの内容を格納する。
【0035】リプレース制御部15は、タグビット判定
部13の構成により分岐処理発生が伝達されたら、タグ
バッファ部14から分岐先のアドレスを取り込む。分岐
処理判別により再度メインメモリのアクセスが発生した
際に、アドレスバスに対して分岐先のアドレスを出力し
て、キャッシュリプレースのサイクルを開始する。
【0036】
【発明の効果】以上のとおり、本発明によれば、以下の
効果がある。
【0037】(1)主記憶装置の内容をキャッシュする
際に、単に記憶内容をブロック単位でリプレースするの
ではなく、その記憶内容に着目してキャッシュするデー
タが、連続的に構成されている部分ごとにキャッシュを
行う。このように、キャッシュする領域を可変的にする
ことにより、キャッシュを効率的に行うことかできる。
【0038】(2)キャッシュするデータの内容につい
て、チェックを行いデータ中に分岐処理があれば、分岐
先の内容も続けてキャッシュに取り込むことにより、キ
ャッシュ・ミスの要因を減少させる。これにより、キャ
ッシュのリプレース回数が減少しプロセッサの処理効率
の向上が図れる。
【図面の簡単な説明】
【図1】本発明の実施形態におけるメインメモリのデー
タフォーマット。
【図2】実施形態におけるデータ生成手順。
【図3】実施形態におけるデータ作成例。
【図4】実施形態におけるハードウェア構成図。
【図5】キャッシュメモリを含むシステム構成図。
【図6】ダイレクトマッピング方式のデータ関係。
【図7】フル・アソシアティブ方式のデータ関係。
【図8】メインメモリのデータ例。
【符号の説明】
1…プロセッサ 2…キャッシュメモリ 3…メインメモリ 10…キャッシュ置換部 11…アドレス比較部 12…プロセッサインタフェース部 13…タグビット判定部 14…タグバッファ部 15…リプレース制御部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサによりアクセスされたメイン
    メモリのデータを一次的に記憶しておくキャッシュメモ
    リを設けたマイクロプロセッサシステムにおいて、 ソースプログラムから前記プロセッサで使用するコード
    を生成する際に、そのコードの内容の情報をタグとして
    付加しておく手段と、 前記プロセッサが出力するアドレスと前記キャッシュメ
    モリ中に存在するデータのアドレスを比較するアドレス
    比較部と、 前記アドレス比較部の比較結果からキャッシュ動作の状
    態を前記プロセッサへ伝達するプロセッサインタフェー
    ス部と、 前記メインメモリのデータに付加されている前記タグの
    情報を判別するタグビット判定部と、 前記タグビット判定部からの出力に応じてタグ情報を格
    納するタグバッファ部と、 キャッシュ動作のミス時及び前記タグビット判定部によ
    る分岐処理検出時にキャッシュ動作を制御するリプレー
    ス制御部とを備えたことを特徴とする可変キャッシュ方
    式。
JP8024530A 1996-02-13 1996-02-13 可変キャッシュ方式 Pending JPH09218825A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8024530A JPH09218825A (ja) 1996-02-13 1996-02-13 可変キャッシュ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8024530A JPH09218825A (ja) 1996-02-13 1996-02-13 可変キャッシュ方式

Publications (1)

Publication Number Publication Date
JPH09218825A true JPH09218825A (ja) 1997-08-19

Family

ID=12140719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8024530A Pending JPH09218825A (ja) 1996-02-13 1996-02-13 可変キャッシュ方式

Country Status (1)

Country Link
JP (1) JPH09218825A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100317976B1 (ko) * 1999-12-31 2001-12-24 대표이사 서승모 캐시 메모리가 포함된 시스템에서 인터럽트 서비스 루틴을위한 장치
JP2007207246A (ja) * 2006-02-03 2007-08-16 Internatl Business Mach Corp <Ibm> 命令ラインのための自己プリフェッチl2キャッシュ機構

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100317976B1 (ko) * 1999-12-31 2001-12-24 대표이사 서승모 캐시 메모리가 포함된 시스템에서 인터럽트 서비스 루틴을위한 장치
JP2007207246A (ja) * 2006-02-03 2007-08-16 Internatl Business Mach Corp <Ibm> 命令ラインのための自己プリフェッチl2キャッシュ機構

Similar Documents

Publication Publication Date Title
US4583165A (en) Apparatus and method for controlling storage access in a multilevel storage system
JP2881049B2 (ja) プリフェッチバッファ
US7644234B2 (en) Information processing apparatus with a cache memory and information processing method
JP3549079B2 (ja) キャッシュ制御の命令プリフェッチ方法
JP2001515624A (ja) ペナルティーに基づくキャッシュ格納置換方法
JPH1074166A (ja) 多重レベル・ダイナミック・セット予測方法および装置
JPH06187150A (ja) キャッシュメモリ中でインストラクションを保管する方法及び回路
US6711651B1 (en) Method and apparatus for history-based movement of shared-data in coherent cache memories of a multiprocessor system using push prefetching
US11036639B2 (en) Cache apparatus and method that facilitates a reduction in energy consumption through use of first and second data arrays
JPH06168119A (ja) データ先読み制御装置
JP4162493B2 (ja) 下位レベルのキャッシュを含むアクセスを促進するためのリバースディレクトリ
US20150193348A1 (en) High-performance data cache system and method
JPH0743671B2 (ja) キャッシュ・メモリ制御方式
US20010032297A1 (en) Cache memory apparatus and data processing system
US6516388B1 (en) Method and apparatus for reducing cache pollution
JP3626609B2 (ja) マルチプロセッサシステム
JPH1055276A (ja) 多重レベル分岐予測方法および装置
JPH09218825A (ja) 可変キャッシュ方式
JPH01133162A (ja) キャッシュメモリ制御方式
JPH0477344B2 (ja)
US20040143711A1 (en) Mechanism to maintain data coherency for a read-ahead cache
JP2534662B2 (ja) 命令キヤツシユ制御方法
JPH09259040A (ja) キャッシュメモリ装置
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
JP2000047942A (ja) キャッシュメモリ制御装置及びその制御方法