JPH11345167A - キャッシュ制御方法ならびに装置 - Google Patents

キャッシュ制御方法ならびに装置

Info

Publication number
JPH11345167A
JPH11345167A JP10150038A JP15003898A JPH11345167A JP H11345167 A JPH11345167 A JP H11345167A JP 10150038 A JP10150038 A JP 10150038A JP 15003898 A JP15003898 A JP 15003898A JP H11345167 A JPH11345167 A JP H11345167A
Authority
JP
Japan
Prior art keywords
size
refill
address
refill size
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
JP10150038A
Other languages
English (en)
Inventor
Tsutomu Azezaki
勉 畦崎
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP10150038A priority Critical patent/JPH11345167A/ja
Publication of JPH11345167A publication Critical patent/JPH11345167A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 キャッシュ制御装置が従来から持つコンポー
ネントに少量のハードウェアを追加することにより、ダ
イナミックにリフィルサイズを変更し、かつ、ページ境
界をチェックすることによってシステム性能の向上をは
かることにある。 【解決手段】 キャッシュ1にミスしたとき、要求アド
レスを含むブロックを最初にリフィルし、デフォルト設
定されるリフィルサイズの有効ビット数とリフィルサイ
ズに対応する上記アドレスのビット数とをリフィルサイ
ズ決定回路4によって演算により決まるサイズ分だけリ
フィルし、この演算によりリフィルサイズをダイナミッ
クに変更する。また、ページ境界判定回路5により、要
求アドレスから演算によって決まるサイズ分だけリフィ
ルを実行するときのアドレスがページ境界を越えないこ
とを判定したときのみ、要求アドレスが含まれるブロッ
クからリフィルサイズで指定領域のブロックをリフィル
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はキャッシュ制御方法
ならびに装置に関する。
【0002】
【従来の技術】高速のプロセッサを低速の主記憶から切
り離すために、小容量の高速ローカルバッファを用いる
ことがよくある。このローカルバッファ、即ちキャッシ
ュメモリには、主記憶装置に格納される記憶内容のう
ち、頻繁に使用されるデータ、あるいは最後に使ったデ
ータの写しが格納される。プロセッサがメモリアクセス
を実行するに際し、必要なデータがキャッシュメモリに
あれば(ヒット)時間のかかる主記憶へのアクセスは不
要となるためシステム性能が向上する。必要なデータが
キャッシュメモリになければ(ミスヒット)主記憶をア
クセスし、キヤッシュメモリの内容を更新する必要があ
る。
【0003】従来におけるキャッシュ制御装置の構成を
図5に示す。図中、51はキャッシュメモリ、52はア
ドレスレジスタ、53はバスインタフェース回路であ
る。キャッシュメモリ51はブロック単位で管理され、
データ格納部とタグ部から成る。タグ部とは、図示せぬ
主記憶装置のどこにそのデータが存在するかを示すデー
タであり、この部分を参照することによりヒット/ミス
ヒットを判定する。ミスヒットが発生した場合に、主記
憶装置からキャッシュメモリ51に対してブロックデー
タが転送(リフィル)される。このときのブロック数は
外部から設定可能である。ここで、ブロックは、タグと
ステイタスにより管理される最小単位であり、リフィル
サイズを2ブロック以上に設定したとき、仮想アドレス
から物理アドレスへ変換するときの単位であるページ境
界を越えてしまうと、仮想アドレスは連続していても物
理アドレスが連続しないことがあり、リフィルする領域
は、ページ境界を跨らないように配慮する必要がある。
【0004】このため、リフィルする方法には以下に列
挙する2つの方法が存在し、以下に図6に示すアドレス
マップを使用して簡単に説明する。ここでは、ブロック
サイズを4バイト、リフィルサイズを4ブロック(16
バイト)とし、Cが要求アドレスが含まれるブロック、
Rがリフィル領域、Pがページ境界とする。
【0005】(1)リフィルする領域の先頭からブロッ
クをフィルする。即ち、図5において、Cが要求アドレ
スを含むブロックのとき、A,B,C,Dの順にフィル
する。
【0006】(2)要求アドレスが含まれるブロックか
らフィルし、リフィルする領域の最後に達すると、リフ
ィル領域の先頭から要求アドレスまてフィルする。即
ち、図5において、Cが要求アドレスを含むブロックの
とき、C,D,A,Bの順にフィルする。
【0007】
【発明が解決しようとする課題】特に命令フェツチの場
合、順次実行のケースが多いので、キャッシュメモリの
リフィルにおいても順次ブロックがリフィルされる。上
述した(1)に示す方法では、フェッチアドレスがリフ
ィル領域の先頭のときは、順次リフィルされ命令が供給
されるため、性能はそれほど低下しない。
【0008】しかしながら、フェツチアドレスがリフィ
ル領域の最後のときは、先頭のブロックをリフィルして
から最後のブロックをリフィルするまでの間、命令フェ
ツチがストールして性能が大幅に低下する。また、
(2)においては、フェッチアドレスが含まれるブロッ
クを最初にリフィルするが、フェツチアドレスがリフィ
ルの最後のブロックに含まれる場合、フェッチした後に
残りのリフィルが完了するまでの間、次の命令フェッチ
がストールすることになり、性能が大幅に低下する。
【0009】本発明は上記事情に鑑みてなされたもので
あり、キャッシュ制御装置が従来から持つコンポーネン
トに少量のハードウェアを追加することにより、ダイナ
ミックにリフィルサイズを変更し、かつ、ページ境界を
チエックすることによって、リフィルのためにストール
する時間を減らし、かつ、連続して命令を供給すること
のできるキャッシュ制御方法ならびに装置を提供するこ
とを目的とする。
【0010】
【課題を解決するための手段】本発明のキャッシュメモ
リ制御方法は、キャッシュにミスした時リフィルするサ
イズを設定でき、タグによってアドレス制御がなされる
キャッシュ制御装置において、キャッシュにミスしたと
き、要求アドレスを含むブロックを最初にリフィルし、
デフォルトで設定されるリフィルサイズとリフィルサイ
ズに対応する上記アドレスの有効ビット数とを演算する
ことによって決まるサイズ分だけリフィルし、上記演算
操作によりリフィルサイズをダイナミックに変更するこ
とを特徴とする。また、要求アドレスから演算によって
決まるサイズ分だけリフィルを実行するときのアドレス
がページ境界を越えない場合のみ、要求アドレスが含ま
れるブロックからリフィルサイズで指定された領域のブ
ロックをリフィルすることも特徴とする。
【0011】本発明のキャッシュメモリ制御装置は、ア
ドレスレジスタに設定される物理アドレスもしくは仮想
アドレスによってアクセスされ、タグによりアドレス制
御がなされるキュッシュメモリと、キャッシュにミスし
たとき、デフォルトで設定されるリフィルサイズとリフ
ィルサイズに対応する上記アドレスの有効ビット数を演
算して実際のリフィルサイズを決定するリフィルサイズ
決定回路と、上記アドレスを含むブロックを最初にリフ
ィルし、上記リフィルサイズ決定回路によって生成され
るサイズ分だけリフィルを実行するバスインタフェース
回路とを具備することを特徴とする。また、要求アドレ
スに、リフィルサイズ決定回路により生成される実際の
リフィルサイズを加算した値がページ境界を越えないと
きに、上記バスインタフェース回路に対して要求アドレ
スが含まれるブロックからリフィルサイズで指定された
領域のブロックをフィルすることを許可するページ境界
判定回路を更に具備することも特徴とする。
【0012】このことにより、ダイナミックにリフィル
サイズを変更し、かつ、ページ境界をチエックすること
によって、リフィルのためにストールする時間を減ら
し、かつ、連続して命令を供給することができるため、
システム性能の向上がはかれる。
【0013】
【発明の実施の形態】図1は本発明の実施形態を示すブ
ロック図である。図において、1はキャッシュメモリで
あり、各エントリは、データ格納部、タグ部、ステイタ
スで構成される。アドレス2によって指定されるインデ
ックス部分でデータ格納部が索引され、該当タグ部とア
ドレスによって指定されるタグ部が比較され、ヒット/
ミスが判定される。3はバスインタフェース回路であ
り、図示せぬ主記憶装置が接続され、キャッシュメモリ
1との間でブロックデータの転送が行われる。
【0014】4,5は本発明により付加される、それぞ
れリフィルサイズ決定回路、ページ境界判定回路であ
る。リフィルサイズ決定回路4は図2に、ページ境界判
定回路5は図3にその詳細が示されている。リフィルサ
イズ決定回路4は、図2に示されるように、アンド回路
41と減算器42で構成される。アンド回路41には、
アドレスとブロックアドレスマスクのビットデータが、
減算器42には、アンド回路41出力とデフォルトで設
定されるリフィルサイズデータが供給される。ページ境
界判定回路5は図3に示すように、加算器51と比較器
52により構成される。加算器51には、アドレスのペ
ージオフセット部分とデフォルトで設定されるリフィル
サイズデータが供給される。比較器52には、加算器5
1出力と、ページサイズデータが供給され、ここで比較
された結果に従いページ境界の判定を行う。
【0015】図4は本発明の実施形態の動作を説明する
ために引用したメモリマツプを示す図である。ここで
は、ブロックサイズを4バイト、リフィルサイズを4ブ
ロック(16バイト)とし、Cは要求アドレスが含まれ
るブロック、Rはリフィル領域、Pはページ境界とす
る。
【0016】以下、図4を参照しながら、図1〜図3に
示す本発明実施形態の動作について詳細に説明する。
【0017】本発明の特徴は、キャッシュメモリ制御装
置が従来から持つコンポーネントに更に、リフィルサイ
ズ決定回路4,ページ境界判定回路5を追加し、リフィ
ルサイズをダイナミックに変更するとともに、ページ境
界を跨らないように制御することを実現するものであ
る。そのため、キャッシュミス時、要求アドレスを含む
ブロックを最初にリフィルし、続くブロックをリフィル
していく。この時、リフィルサイズをリフィル領域の最
後までリフィルするように設定することによって、余分
なリフィルを行わないようにしている。具体的に、図4
に示すメモリマップでは、Cが要求アドレスを含むブロ
ックであるとすれば、C,Dの順でフィルすることにな
る。
【0018】リフィルサイズ決定回路4によりダイナミ
ックに生成される実際のリフィルサイズは、デフォルト
設定されるリフィルサイズの有効ビット数と、リフィル
サイズに対応する要求アドレスのビット数,即ち、アン
ド回路41によって要求アドレスの下位数ビットを取り
出すことにより得られる結果(ブロックアドレスマス
ク)を演算器42を介して減算することにより算出され
る。即ち、次式(1)により算出される。
【0019】(1) デフォルト・リフィルサイズ−(要求
アドレス AND ブロックアドレスマスク) このことにより、実行されない命令が含まれるブロック
をリフィルすることが省略されるため、リフィルするた
めにストールされる時間が減りシステム性能の向上につ
ながる。
【0020】ページ境界判定回路5は、リフィルサイズ
決定回路4により生成される実際のリフィルサイズがペ
ージ境界を跨るか否か判定し、その結果をバスインタフ
ェース回路3に伝え、後述する最適なリフィル制御を行
うものである。アドレス設定されるページオフセット値
とリフィルサイズ決定回路4によって生成されるデータ
を演算器51により加算し、更に、その結果をあらかじ
め設定されるページサイズと演算器52により比較し、
ページサイズの範疇に含まれることをチェックするもの
である。即ち、次式(2)によりチェックされる。
【0021】(2) (要求アドレス AND ページマスク)
+リフィルサイズ<ページサイズ 要求アドレスとリフィルサイズを加算した結果がページ
境界を越えないとき、要求アドレスが含まれるブロック
からリフィルサイズで指定された領域のブロックをリフ
ィルするようにバスインタフェース回路3をコントロー
ルする。即ち、図4に示すメモリマップを例示してCが
要求アドレスを含むブロックであるとした場合、ページ
境界を越えないと判断されたときには、C,D,E,F
の順にフィルする。一方、ページ境界を越えると判断さ
れた場合には、b,c,dの順にフィルするようにバス
インタフェース回路3をコントロールする。このことに
より、連続して命令を供給することが可能となり、処理
の高速化に寄与する。
【0022】本発明は、デフォルトのリフィルサイズと
要求アドレスから実際のリフィルサイズを決定するリフ
ィルサイズ決定回路と、要求アドレスにリフィルサイズ
を加算したものがページ境界を越えないとき、要求アド
レスが含まれるブロックからリフィルサイズで指定され
た領域のブロックをリフィルすることを指示するページ
境界判定回路を備えることにより、システム性能の向上
がはかれるものである。
【0023】
【発明の効果】以上説明のように、本発明によれば、キ
ャッシュにミスしたとき、要求アドレスを含むブロック
を最初にリフィルし、デフォルトで設定されるリフィル
サイズの有効ビット数とリフィルサイズに対応する上記
アドレスのビット数とを演算することによって決まるサ
イズ分だけリフィルし、上記演算操作によりリフィルサ
イズをダイナミックに変更することにより、システム性
能の向上がはかれる。特に、命令フェツチで準じ実行さ
れる場合、実行されない命令が含まれるブロックはリフ
ィルしないので、リフィルのためにストールする時間が
減り、高速処理が期待できる。
【0024】また、要求アドレスから演算によって決ま
るサイズ分だけリフィルを実行するときのアドレスがペ
ージ境界を越えない場合のみ、要求アドレスが含まれる
ブロックからリフィルサイズで指定された領域のブロッ
クをリフィルすることにより、更に連続して命令を供給
することができるため、性能向上に貢献する。
【図面の簡単な説明】
【図1】本発明の実施形態を示すブロック図、
【図2】図1に示すリフィルサイズ決定回路の内部構成
を示す図、
【図3】図1に示すページ境界判定回路の内部構成を示
す図、
【図4】本発明実施形態の動作を説明するために引用し
たメモリマツプを示す図、
【図5】従来例の構成を示す図、
【図6】従来例の動作を説明するために引用したメモリ
マップを示す図、
【符号の説明】
1キャッシュメモリ、2アドレスレジスタ、3バスイン
タフェース回路、4リフィルサイズ決定回路、5ページ
境界判定回路、41アンド回路、42・51・52演算
器、

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュにミスした時リフィルするサ
    イズを設定でき、タグによってアドレス制御がなされる
    キャッシュ制御装置において、キャッシュにミスしたと
    き、要求アドレスを含むブロックを最初にリフィルし、
    デフォルトで設定されるリフィルサイズとリフィルサイ
    ズに対応する上記アドレスの有効ビット数とを演算する
    ことによって決まるサイズ分だけリフィルし、上記演算
    操作によりリフィルサイズをダイナミックに変更するこ
    とを特徴とするキャッシュ制御方法。
  2. 【請求項2】 要求アドレスから演算によって決まるサ
    イズ分だけリフィルを実行するときのアドレスがページ
    境界を越えない場合のみ、要求アドレスが含まれるブロ
    ックからリフィルサイズで指定された領域のブロックを
    リフィルすることを特徴とする請求項1記載のキャッシ
    ュ制御方法。
  3. 【請求項3】 アドレスレジスタに設定される物理アド
    レスもしくは仮想アドレスによってアクセスされ、タグ
    によりアドレス制御がなされるキュッシュメモリと、キ
    ャッシュにミスしたとき、デフォルトで設定されるリフ
    ィルサイズとリフィルサイズに対応する上記アドレスの
    有効ビット数を演算して実際のリフィルサイズを決定す
    るリフィルサイズ決定回路と、上記アドレスを含むブロ
    ックを最初にリフィルし、上記リフィルサイズ決定回路
    によって生成されるサイズ分だけリフィルを実行するバ
    スインタフェース回路とを具備することを特徴とするキ
    ャッシュ制御装置。
  4. 【請求項4】 要求アドレスに、リフィルサイズ決定回
    路により生成される実際のリフィルサイズを加算した値
    がページ境界を越えないときに、上記バスインタフェー
    ス回路に対して要求アドレスが含まれるブロックからリ
    フィルサイズで指定された領域のブロックをフィルする
    ことを許可するページ境界判定回路を更に具備すること
    を特徴とする請求項3記載のキャッシュ制御装置。
  5. 【請求項5】 リフィルサイズ決定回路は、デフォルト
    設定されるリフィルサイズの有効ビット数から、アンド
    回路を介して生成されるリフィルサイズに対応する要求
    アドレス数を減算する減算回路から成ることを特徴とす
    る請求項3記載のキャッシュ制御装置。
  6. 【請求項6】 ページ境界判定回路は、ページオフセッ
    トと上記リフィルサイズ決定回路によって出力されるリ
    フィルサイズを加算する加算回路と、この加算回路出力
    とページサイズを比較する比較回路から成ることを特徴
    とする請求項4記載のキャッシュ制御装置。
JP10150038A 1998-05-29 1998-05-29 キャッシュ制御方法ならびに装置 Pending JPH11345167A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10150038A JPH11345167A (ja) 1998-05-29 1998-05-29 キャッシュ制御方法ならびに装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10150038A JPH11345167A (ja) 1998-05-29 1998-05-29 キャッシュ制御方法ならびに装置

Publications (1)

Publication Number Publication Date
JPH11345167A true JPH11345167A (ja) 1999-12-14

Family

ID=15488152

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10150038A Pending JPH11345167A (ja) 1998-05-29 1998-05-29 キャッシュ制御方法ならびに装置

Country Status (1)

Country Link
JP (1) JPH11345167A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5347019B2 (ja) * 2009-04-10 2013-11-20 パナソニック株式会社 キャッシュメモリ装置、キャッシュメモリ制御方法、プログラムおよび集積回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5347019B2 (ja) * 2009-04-10 2013-11-20 パナソニック株式会社 キャッシュメモリ装置、キャッシュメモリ制御方法、プログラムおよび集積回路

Similar Documents

Publication Publication Date Title
AU637543B2 (en) Receiving buffer control system
US20050086435A1 (en) Cache memory controlling apparatus, information processing apparatus and method for control of cache memory
EP1769364B1 (en) Information processing apparatus and information processing method
KR100327854B1 (ko) 캐시메모리시스템
US5634027A (en) Cache memory system for multiple processors with collectively arranged cache tag memories
JP2000057054A (ja) 高速アドレス変換システム
EP0173981A2 (en) Cache memory control circuit
US9740636B2 (en) Information processing apparatus
JPH0997214A (ja) 補助プロセッサのためのアドレス変換を含む情報処理システム
US20030061452A1 (en) Processor and method of arithmetic processing thereof
US7353337B2 (en) Reducing cache effects of certain code pieces
JP4018837B2 (ja) データ処理システムにおけるメモリ・アドレス変換装置及びデータ処理方法
JPH11345167A (ja) キャッシュ制御方法ならびに装置
US7805572B2 (en) Cache pollution avoidance
JP2868654B2 (ja) キャッシュメモリ制御方法
KR100959133B1 (ko) 핫 루틴 메모리를 갖는 마이크로프로세서 시스템 및구현방법
US20020174300A1 (en) Data processor and data processing method
JP2000148478A (ja) 中央処理装置及び中央処理システム
JP2000047942A (ja) キャッシュメモリ制御装置及びその制御方法
JP4034032B2 (ja) キャッシュ内蔵マイクロコンピュータ
JPH0844659A (ja) データ転送制御装置
JP2000347941A (ja) キャッシュメモリ装置
JP2006260378A (ja) 半導体集積回路
JP3693503B2 (ja) 命令キャッシュへの書き込み機構を備えたプロセッサ
JPH09160863A (ja) 入出力バッファ装置及びその管理方法