JPH0659977A - 明示的なライン置換え操作が可能なキャッシュメモリとその制御方法 - Google Patents
明示的なライン置換え操作が可能なキャッシュメモリとその制御方法Info
- Publication number
- JPH0659977A JPH0659977A JP4229132A JP22913292A JPH0659977A JP H0659977 A JPH0659977 A JP H0659977A JP 4229132 A JP4229132 A JP 4229132A JP 22913292 A JP22913292 A JP 22913292A JP H0659977 A JPH0659977 A JP H0659977A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- cache memory
- data
- replacement priority
- replacement
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 命令サイズの増大によって実行時間が増加せ
ず,明示的なライン置換え操作が可能なキャッシュメモ
リとその制御方法を提供する。 【構成】 プロセッサの命令セット中に命令置換え優先
順位指定フィールド(IRL)1を設け、プロセッサの
ロード/ストア命令セット中にデータ置換え優先順位指
定フィールド(DRL)2を設け、キャッシュメモリの
各エントリ中に置換え優先順位情報(IRI)51〜5
4を設け、キャッシュメモリにおける命令あるいはデー
タのライン置換え時に命令セット中の上記命令置換え優
先順位指定フィールドあるいは上記データ置換え優先順
位指定フィールドと当該エントリ中の上記置換え優先順
位情報を比較していずれのラインの置換えを行うかを決
定する機構を設ける。
ず,明示的なライン置換え操作が可能なキャッシュメモ
リとその制御方法を提供する。 【構成】 プロセッサの命令セット中に命令置換え優先
順位指定フィールド(IRL)1を設け、プロセッサの
ロード/ストア命令セット中にデータ置換え優先順位指
定フィールド(DRL)2を設け、キャッシュメモリの
各エントリ中に置換え優先順位情報(IRI)51〜5
4を設け、キャッシュメモリにおける命令あるいはデー
タのライン置換え時に命令セット中の上記命令置換え優
先順位指定フィールドあるいは上記データ置換え優先順
位指定フィールドと当該エントリ中の上記置換え優先順
位情報を比較していずれのラインの置換えを行うかを決
定する機構を設ける。
Description
【0001】
【産業上の利用分野】本発明は、例えば、汎用計算機の
技術分野で用いられるキャッシュメモリに関するもので
ある。
技術分野で用いられるキャッシュメモリに関するもので
ある。
【0002】
【従来の技術】キャッシュメモリの基本事項について述
べる。 (1)基本原理 計算機における命令あるいはデータのメモリ参照は、あ
る小さな時間間隔で見た場合、メモリの局所的な領域に
集中することが知られている。これをプログラムの参照
局所性と呼ぶ。そこで、この参照局所性を利用して、頻
繁に参照される領域を主メモリより高速で小容量のバッ
ファメモリにハードウェアが自動的に移して常駐させる
ことにより、メモリアクセスを実質的に高速化する手法
がある。このバッファメモリをキャッシュメモリと呼
ぶ。キャッシュメモリの概念を図4に示す。キャッシュ
メモリA2は、プロセッサA1が命令フェッチあるいは
データフェッチを行う際にアクセスされる。所望の命令
あるいはデータがキャッシュメモリA2に存在した場
合、プロセッサA1は当該命令あるいはデータをキャッ
シュメモリA2から得る。これをヒットと呼ぶ。ヒット
する確率(これをヒット率と呼ぶ)が高いほど、プロセ
ッサA1の平均アクセス時間は短縮され、計算機性能は
向上する。また、所望の命令あるいはデータがキャッシ
ュメモリA2に存在しなかった場合、メモリA3がアク
セスされ、プロセッサA1は当該命令あるいはデータを
メモリA3から得る。これをミスヒットと呼ぶ。
べる。 (1)基本原理 計算機における命令あるいはデータのメモリ参照は、あ
る小さな時間間隔で見た場合、メモリの局所的な領域に
集中することが知られている。これをプログラムの参照
局所性と呼ぶ。そこで、この参照局所性を利用して、頻
繁に参照される領域を主メモリより高速で小容量のバッ
ファメモリにハードウェアが自動的に移して常駐させる
ことにより、メモリアクセスを実質的に高速化する手法
がある。このバッファメモリをキャッシュメモリと呼
ぶ。キャッシュメモリの概念を図4に示す。キャッシュ
メモリA2は、プロセッサA1が命令フェッチあるいは
データフェッチを行う際にアクセスされる。所望の命令
あるいはデータがキャッシュメモリA2に存在した場
合、プロセッサA1は当該命令あるいはデータをキャッ
シュメモリA2から得る。これをヒットと呼ぶ。ヒット
する確率(これをヒット率と呼ぶ)が高いほど、プロセ
ッサA1の平均アクセス時間は短縮され、計算機性能は
向上する。また、所望の命令あるいはデータがキャッシ
ュメモリA2に存在しなかった場合、メモリA3がアク
セスされ、プロセッサA1は当該命令あるいはデータを
メモリA3から得る。これをミスヒットと呼ぶ。
【0003】(2)基本構成 図5にキャッシュメモリの基本構成を示す。メモリとキ
ャッシュメモリは、ライン(通常16〜128バイト程
度,ブロックとも呼ぶ)を単位として、アドレスにより
対応付けられている。通常ラインには複数の命令あるい
はデータが格納されている。図5に示すように、キャッ
シュメモリは、格納しているラインのアドレス等の情報
を持つディレクトリB5と、ラインそのものを格納する
データアレイB6からなる。ディレクトリB5のアドレ
ス等の情報格納領域B7(これをタグと呼ぶ)とデータ
アレイB6の個々のライン格納領域B8は1対1に対応
している。これら1対の領域をエントリ(B7およびB
8)と呼ぶ。したがって、キャッシュメモリは、エント
リ数だけラインを格納できる。キャッシュメモリの容量
は、総エントリ数xラインサイズとなる。
ャッシュメモリは、ライン(通常16〜128バイト程
度,ブロックとも呼ぶ)を単位として、アドレスにより
対応付けられている。通常ラインには複数の命令あるい
はデータが格納されている。図5に示すように、キャッ
シュメモリは、格納しているラインのアドレス等の情報
を持つディレクトリB5と、ラインそのものを格納する
データアレイB6からなる。ディレクトリB5のアドレ
ス等の情報格納領域B7(これをタグと呼ぶ)とデータ
アレイB6の個々のライン格納領域B8は1対1に対応
している。これら1対の領域をエントリ(B7およびB
8)と呼ぶ。したがって、キャッシュメモリは、エント
リ数だけラインを格納できる。キャッシュメモリの容量
は、総エントリ数xラインサイズとなる。
【0004】以下,キャッシュメモリの種々の構成法に
ついて述べる。 (a)単一/分離キャッシュメモリ 命令用とデータ用に分かれて存在しているキャッシュメ
モリを分離キャッシュメモリと呼ぶ。プロセッサが命令
用バスとデータ用バスを独立して持っている構成(ハー
バード・アーキテクチャと呼ぶ)を採っている場合、分
離キャッシュメモリを採用して命令フェッチとデータフ
ェッチを並行に行うことにより、性能向上が図れる。 (b)連想度 キャッシュメモリとメモリとの対応のさせ方として、下
記に述べる2方式がある。 (i)フル・アソシアティブ方式 キャッシュメモリの任意のエントリにメモリの任意のラ
インを格納できる方式である。最も高速で最もヒット率
が高くなるが、比較器がエントリ数分だけ必要となるた
め、ハードウェア構成は複雑でコスト高となる。キャッ
シュメモリがよほどの小容量でない限り、一般にはあま
り用いられていない。 (ii)セット・アソシアティブ方式 キャッシュメモリのエントリとメモリのラインの対応を
そのラインのアドレスの一部(セットアドレスと呼ぶ)
を用いて限定する方式である。キャッシュメモリはセッ
トアドレスでアクセスされるセット(1つあるいは複数
のエントリからなる)に分割されている。キャッシュメ
モリの同一セット中のエントリ数を連想度と呼ぶ。この
方式では、比較器の数は連想度分あればよいので、ハー
ドウェア・コストが抑えられる。連想度=1のセット・
アソシアティブ方式を特にダイレクト・マッピング方式
と呼ぶ。 (c)ライン置換えアルゴリズム ラインフェッチ時に、ミスヒットを起こしたラインに対
応するセットの全てのエントリに既にラインが格納され
ていた場合、いずれかのエントリを選択してラインの置
換えを行う必要がある。例えば、キャッシュメモリが連
想度4のセット・アソシアティブ方式であるとすると、
置換え対象となるエントリは4個存在することになる。
この選択のアルゴリズムをライン置換えアルゴリズムと
呼ぶ。よく使用されるアルゴリズムとして、LRU(Le
ast Recently Used ) がある。この方式では、最も遠い
過去に参照されたラインを置換え対象とする。他にも、
FIFO(First In First Out)方式や Random 方式などが
ある。 (d)メモリ更新アルゴリズム キャッシュメモリに存在するライン中のデータに書き込
みが発生した場合に、いつメモリに書き込みを行うかを
決定するアルゴリズムをメモリ更新アルゴリズムと呼
ぶ。一般に用いられるアルゴリズムは、下記に挙げる2
つである。 (i)ライトスルー方式:キャッシュメモリに存在する
ライン中のデータに書き込みが発生した時点でメモリに
も同時に書き込む方式。 (ii)コピーバック方式:キャッシュメモリに存在す
るライン中のデータに書き込みが発生した時点ではキャ
ッシュメモリのみに書き込み、そのラインがリプレース
対象になった時点でメモリに書き込む方式。
ついて述べる。 (a)単一/分離キャッシュメモリ 命令用とデータ用に分かれて存在しているキャッシュメ
モリを分離キャッシュメモリと呼ぶ。プロセッサが命令
用バスとデータ用バスを独立して持っている構成(ハー
バード・アーキテクチャと呼ぶ)を採っている場合、分
離キャッシュメモリを採用して命令フェッチとデータフ
ェッチを並行に行うことにより、性能向上が図れる。 (b)連想度 キャッシュメモリとメモリとの対応のさせ方として、下
記に述べる2方式がある。 (i)フル・アソシアティブ方式 キャッシュメモリの任意のエントリにメモリの任意のラ
インを格納できる方式である。最も高速で最もヒット率
が高くなるが、比較器がエントリ数分だけ必要となるた
め、ハードウェア構成は複雑でコスト高となる。キャッ
シュメモリがよほどの小容量でない限り、一般にはあま
り用いられていない。 (ii)セット・アソシアティブ方式 キャッシュメモリのエントリとメモリのラインの対応を
そのラインのアドレスの一部(セットアドレスと呼ぶ)
を用いて限定する方式である。キャッシュメモリはセッ
トアドレスでアクセスされるセット(1つあるいは複数
のエントリからなる)に分割されている。キャッシュメ
モリの同一セット中のエントリ数を連想度と呼ぶ。この
方式では、比較器の数は連想度分あればよいので、ハー
ドウェア・コストが抑えられる。連想度=1のセット・
アソシアティブ方式を特にダイレクト・マッピング方式
と呼ぶ。 (c)ライン置換えアルゴリズム ラインフェッチ時に、ミスヒットを起こしたラインに対
応するセットの全てのエントリに既にラインが格納され
ていた場合、いずれかのエントリを選択してラインの置
換えを行う必要がある。例えば、キャッシュメモリが連
想度4のセット・アソシアティブ方式であるとすると、
置換え対象となるエントリは4個存在することになる。
この選択のアルゴリズムをライン置換えアルゴリズムと
呼ぶ。よく使用されるアルゴリズムとして、LRU(Le
ast Recently Used ) がある。この方式では、最も遠い
過去に参照されたラインを置換え対象とする。他にも、
FIFO(First In First Out)方式や Random 方式などが
ある。 (d)メモリ更新アルゴリズム キャッシュメモリに存在するライン中のデータに書き込
みが発生した場合に、いつメモリに書き込みを行うかを
決定するアルゴリズムをメモリ更新アルゴリズムと呼
ぶ。一般に用いられるアルゴリズムは、下記に挙げる2
つである。 (i)ライトスルー方式:キャッシュメモリに存在する
ライン中のデータに書き込みが発生した時点でメモリに
も同時に書き込む方式。 (ii)コピーバック方式:キャッシュメモリに存在す
るライン中のデータに書き込みが発生した時点ではキャ
ッシュメモリのみに書き込み、そのラインがリプレース
対象になった時点でメモリに書き込む方式。
【0005】(3)動作 キャッシュメモリの動作を図5を用いて説明する。な
お、図5のキャッシュメモリは、単一キャッシュメモリ
で、連想度は1(ダイレクト・マッピング方式)であ
る。まず、プロセッサが命令あるいはデータフェッチ時
にアクセスアドレスB1を出力したとする。すると、キ
ャッシュメモリ制御部はディレクトリB5をアクセスア
ドレスB1の一部(セットアドレスB3と呼ぶ)により
アクセスする。同時にデータアレイB6を、セットアド
レスB3およびライン内アドレスB4によりアクセスす
る。さらに、アクセスアドレスB1の上位部分B2とデ
ィレクトリB5のアクセス結果であるアドレス情報を比
較器B9により比較して、一致した場合ヒットとなる。
ヒットした場合、プロセッサはデータアレイB6から読
み出された命令あるいはデータB10をフェッチする。
ミスヒットの場合、プロセッサはデータアレイから読み
出された命令あるいはデータB10を無視する。ミスヒ
ットした場合、プロセッサはメモリから命令あるいはデ
ータを得るわけであるが、この際に当該命令あるいはデ
ータを含むラインがデータアレイB6の所定のライン格
納領域B8に格納され、そのラインのアドレスの上位部
分がディレクトリB5の対応するタグにアドレス情報B
7として格納される。これをラインフェッチと呼ぶ。
お、図5のキャッシュメモリは、単一キャッシュメモリ
で、連想度は1(ダイレクト・マッピング方式)であ
る。まず、プロセッサが命令あるいはデータフェッチ時
にアクセスアドレスB1を出力したとする。すると、キ
ャッシュメモリ制御部はディレクトリB5をアクセスア
ドレスB1の一部(セットアドレスB3と呼ぶ)により
アクセスする。同時にデータアレイB6を、セットアド
レスB3およびライン内アドレスB4によりアクセスす
る。さらに、アクセスアドレスB1の上位部分B2とデ
ィレクトリB5のアクセス結果であるアドレス情報を比
較器B9により比較して、一致した場合ヒットとなる。
ヒットした場合、プロセッサはデータアレイB6から読
み出された命令あるいはデータB10をフェッチする。
ミスヒットの場合、プロセッサはデータアレイから読み
出された命令あるいはデータB10を無視する。ミスヒ
ットした場合、プロセッサはメモリから命令あるいはデ
ータを得るわけであるが、この際に当該命令あるいはデ
ータを含むラインがデータアレイB6の所定のライン格
納領域B8に格納され、そのラインのアドレスの上位部
分がディレクトリB5の対応するタグにアドレス情報B
7として格納される。これをラインフェッチと呼ぶ。
【0006】従来のキャッシュメモリについて述べる。
従来、キャッシュメモリのライン置換えは、あるアルゴ
リズム,例えば、LRUに従ってハードウェアにより管
理されていた。したがって、使用頻度の高い命令やデー
タあるいは迅速な応答が要求される命令,例えば、割り
込みルーチンであっても、アルゴリズムによってはキャ
ッシュメモリに常駐することができず、性能低下を招い
ていた。これは、命令やデータの置換え優先度をハード
ウェアに認識させる手段が提供されていなかったためで
ある。そこで、キャッシュメモリのエントリ毎にライン
置換えを禁止する機構(ロック機構と呼ぶ)が用いられ
る。この機構では、キャッシュメモリの各エントリにラ
イン置換え禁止ビット(L)と呼ぶ1ビット情報を持た
せる。さらに、そのビットの値により、以下のように当
該エントリのライン置換えを行うか否かを決定する。 L=1の場合 当該エントリのライン置換えを行わな
い。 L=0の場合 当該エントリのライン置換えを行う。 したがって、キャッシュメモリに常駐させたい命令やデ
ータを格納しているエントリのライン置換え禁止ビット
を1にすれば、そのエントリはライン置換えの対象には
ならない。このように、ソフトウェアがライン置換え禁
止ビットをプログラムすることにより、使用頻度の高い
命令やデータあるいは迅速な応答が要求される命令をキ
ャッシュメモリに常駐させることが可能となる。
従来、キャッシュメモリのライン置換えは、あるアルゴ
リズム,例えば、LRUに従ってハードウェアにより管
理されていた。したがって、使用頻度の高い命令やデー
タあるいは迅速な応答が要求される命令,例えば、割り
込みルーチンであっても、アルゴリズムによってはキャ
ッシュメモリに常駐することができず、性能低下を招い
ていた。これは、命令やデータの置換え優先度をハード
ウェアに認識させる手段が提供されていなかったためで
ある。そこで、キャッシュメモリのエントリ毎にライン
置換えを禁止する機構(ロック機構と呼ぶ)が用いられ
る。この機構では、キャッシュメモリの各エントリにラ
イン置換え禁止ビット(L)と呼ぶ1ビット情報を持た
せる。さらに、そのビットの値により、以下のように当
該エントリのライン置換えを行うか否かを決定する。 L=1の場合 当該エントリのライン置換えを行わな
い。 L=0の場合 当該エントリのライン置換えを行う。 したがって、キャッシュメモリに常駐させたい命令やデ
ータを格納しているエントリのライン置換え禁止ビット
を1にすれば、そのエントリはライン置換えの対象には
ならない。このように、ソフトウェアがライン置換え禁
止ビットをプログラムすることにより、使用頻度の高い
命令やデータあるいは迅速な応答が要求される命令をキ
ャッシュメモリに常駐させることが可能となる。
【0007】
【発明が解決しようとする課題】ところが、上記のロッ
ク機構では、ソフトウェアがキャッシュメモリのディレ
クトリにアクセスして、常駐させたいラインを格納して
いるエントリを検索し、さらにそのエントリのライン置
換え禁止ビットを操作しなくてはならない。このため、
キャッシュメモリのディレクトリの検索およびディレク
トリ情報の更新のための専用命令からなるルーチンが必
要となる。したがって、複数のラインにまたがるような
命令列あるいはデータ列についてライン置換え禁止操作
を行おうとすると、複数回上記のルーチンを呼び出す必
要が生じる。これにより命令サイズが増大するため、実
行時間の増大を招いていた。また、各エントリのライン
置換え禁止ビットを1ビットとしているため、ライン置
換えを禁止するか否かの指定しかできなかった。
ク機構では、ソフトウェアがキャッシュメモリのディレ
クトリにアクセスして、常駐させたいラインを格納して
いるエントリを検索し、さらにそのエントリのライン置
換え禁止ビットを操作しなくてはならない。このため、
キャッシュメモリのディレクトリの検索およびディレク
トリ情報の更新のための専用命令からなるルーチンが必
要となる。したがって、複数のラインにまたがるような
命令列あるいはデータ列についてライン置換え禁止操作
を行おうとすると、複数回上記のルーチンを呼び出す必
要が生じる。これにより命令サイズが増大するため、実
行時間の増大を招いていた。また、各エントリのライン
置換え禁止ビットを1ビットとしているため、ライン置
換えを禁止するか否かの指定しかできなかった。
【0008】
【課題を解決するための手段】上述した課題を解決する
ために、本発明の基本的構想は,プロセッサの命令セッ
ト中に命令置換え優先順位指定フィールドを設け、プロ
セッサのロード/ストア命令セット中にデータ置換え優
先順位指定フィールドを設け、キャッシュメモリの各エ
ントリ中に置換え優先順位情報を設け、さらに、キャッ
シュメモリにおける命令あるいはデータのライン置換え
時に命令セット中の命令置換え優先順位指定フィールド
あるいはデータ置換え優先順位指定フィールドと当該エ
ントリ中の置換え優先順位情報を比較していずれのライ
ンの置換えを行うかを決定する機構を設ける。
ために、本発明の基本的構想は,プロセッサの命令セッ
ト中に命令置換え優先順位指定フィールドを設け、プロ
セッサのロード/ストア命令セット中にデータ置換え優
先順位指定フィールドを設け、キャッシュメモリの各エ
ントリ中に置換え優先順位情報を設け、さらに、キャッ
シュメモリにおける命令あるいはデータのライン置換え
時に命令セット中の命令置換え優先順位指定フィールド
あるいはデータ置換え優先順位指定フィールドと当該エ
ントリ中の置換え優先順位情報を比較していずれのライ
ンの置換えを行うかを決定する機構を設ける。
【0009】したがって,本発明の第1の観点によれ
ば,キャッシュメモリを有する計算機システムにおい
て、(A)プロセッサの命令セット中に命令置換え優先
順位指定フィールドを有し、(B)プロセッサのロード
/ストア命令セット中にデータ置換え優先順位指定フィ
ールドを有し、(C)キャッシュメモリの各エントリ中
に置換え優先順位情報を有し、(D)キャッシュメモリ
における命令あるいはデータのライン置換え時に上記命
令置換え優先順位指定フィールドあるいは上記データ置
換え優先順位指定フィールドと上記置換え優先順位情報
とを比較していずれのラインの置換えを行うかを決定す
る機構を有することを特徴とするキャッシュメモリが提
供される。また本発明によれば,上記キャッシュメモリ
を制御する方法が提供される。
ば,キャッシュメモリを有する計算機システムにおい
て、(A)プロセッサの命令セット中に命令置換え優先
順位指定フィールドを有し、(B)プロセッサのロード
/ストア命令セット中にデータ置換え優先順位指定フィ
ールドを有し、(C)キャッシュメモリの各エントリ中
に置換え優先順位情報を有し、(D)キャッシュメモリ
における命令あるいはデータのライン置換え時に上記命
令置換え優先順位指定フィールドあるいは上記データ置
換え優先順位指定フィールドと上記置換え優先順位情報
とを比較していずれのラインの置換えを行うかを決定す
る機構を有することを特徴とするキャッシュメモリが提
供される。また本発明によれば,上記キャッシュメモリ
を制御する方法が提供される。
【0010】本発明の第2の観点によれば,命令用およ
びデータ用にそれぞれ独立した命令用キャッシュメモリ
およびデータ用キャッシュメモリを有する計算機システ
ムにおいて、(A)プロセッサの命令セット中に命令置
換え優先順位指定フィールドを有し、(B)プロセッサ
のロード/ストア命令セット中にデータ置換え優先順位
指定フィールドを有し、(C)前記命令用キャッシュメ
モリの各エントリ中に命令置換え優先順位情報を有し、
(D)前記データ用キャッシュメモリの各エントリ中に
データ置換え優先順位情報を有し、(E)命令用キャッ
シュメモリにおけるライン置換え時に上記命令置換え優
先順位指定フィールドと上記命令置換え優先順位情報と
を比較していずれのラインの置換えを行うかを決定する
機構を有し、(F)データ用キャッシュメモリにおける
ライン置換え時に上記データ置換え優先順位指定フィー
ルドのフィールドと上記データ置換え優先順位情報の情
報とを比較していずれのラインの置換えを行うかを決定
する機構を有することを特徴とするキャッシュメモリが
提供される。また本発明によれば,上記キャッシュメモ
リの制御方法で提供される。
びデータ用にそれぞれ独立した命令用キャッシュメモリ
およびデータ用キャッシュメモリを有する計算機システ
ムにおいて、(A)プロセッサの命令セット中に命令置
換え優先順位指定フィールドを有し、(B)プロセッサ
のロード/ストア命令セット中にデータ置換え優先順位
指定フィールドを有し、(C)前記命令用キャッシュメ
モリの各エントリ中に命令置換え優先順位情報を有し、
(D)前記データ用キャッシュメモリの各エントリ中に
データ置換え優先順位情報を有し、(E)命令用キャッ
シュメモリにおけるライン置換え時に上記命令置換え優
先順位指定フィールドと上記命令置換え優先順位情報と
を比較していずれのラインの置換えを行うかを決定する
機構を有し、(F)データ用キャッシュメモリにおける
ライン置換え時に上記データ置換え優先順位指定フィー
ルドのフィールドと上記データ置換え優先順位情報の情
報とを比較していずれのラインの置換えを行うかを決定
する機構を有することを特徴とするキャッシュメモリが
提供される。また本発明によれば,上記キャッシュメモ
リの制御方法で提供される。
【0011】さらに本発明の第3の観点によれば,
(A) プロセッサの命令セット中に命令置換え優先順
位指定フィールドを設け、(B)プロセッサのロード/
ストア命令セット中にデータ置換え優先順位指定フィー
ルドを設け、(C)キャッシュメモリの各エントリ中に
置換え優先順位情報を設け、(D)キャッシュメモリに
おける命令あるいはデータのライン置換え時に命令セッ
ト中の命令置換え優先順位指定フィールドあるいはデー
タ置換え優先順位指定フィールドと当該エントリ中の置
換え優先順位情報とを比較していずれのラインの置換え
を行うかを決定する機構を設けたことを特徴とするキャ
ッシュメモリを有する計算機システムが提供される。ま
た本発明によれば,上記キャッシュメモリを有する計算
機システムにおけるキャッシュメモリの制御方法が提供
される。
(A) プロセッサの命令セット中に命令置換え優先順
位指定フィールドを設け、(B)プロセッサのロード/
ストア命令セット中にデータ置換え優先順位指定フィー
ルドを設け、(C)キャッシュメモリの各エントリ中に
置換え優先順位情報を設け、(D)キャッシュメモリに
おける命令あるいはデータのライン置換え時に命令セッ
ト中の命令置換え優先順位指定フィールドあるいはデー
タ置換え優先順位指定フィールドと当該エントリ中の置
換え優先順位情報とを比較していずれのラインの置換え
を行うかを決定する機構を設けたことを特徴とするキャ
ッシュメモリを有する計算機システムが提供される。ま
た本発明によれば,上記キャッシュメモリを有する計算
機システムにおけるキャッシュメモリの制御方法が提供
される。
【0012】
【作用】上記の構成によれば、キャッシュメモリに常駐
させたい命令の命令置換え優先順位指定フィールド、あ
るいは、常駐させたいデータに対するロード/ストア命
令のデータ置換え優先順位指定フィールドをソフトウェ
アを予め設定しておくことにより、ソフトウェアの指定
した優先順位に従って命令あるいはデータのライン置換
えを行うことが可能となる。
させたい命令の命令置換え優先順位指定フィールド、あ
るいは、常駐させたいデータに対するロード/ストア命
令のデータ置換え優先順位指定フィールドをソフトウェ
アを予め設定しておくことにより、ソフトウェアの指定
した優先順位に従って命令あるいはデータのライン置換
えを行うことが可能となる。
【0013】
【実施例】以下,図1〜図3を参照して、本発明の1実
施例を詳述する。 (1)前提 プロセッサおよびキャッシュメモリの仕様として、以下
を前提とする。 (a)プロセッサは、ハーバード・アーキテクチャであ
る。すなわち、命令用バスとデータ用バスを独立して持
っており、命令フェッチとデータフェッチを並行して行
える。 (b)簡単のため、プロセッサの命令およびデータサイ
ズは、全て1ワードとする。 (c)キャッシュメモリは、命令用およびデータ用にそ
れぞれ独立して設ける。 (d)命令用およびデータ用キャッシュメモリは、いず
れも連想度4のセット・アソシアティブ方式とする。 (e)簡単のため、命令用およびデータ用キャッシュメ
モリのラインサイズは、いずれも1ワードとする。した
がって、1ラインは1命令あるいは1個のデータからな
る。 (f)メモリ更新アルゴリズムはストアスルー方式とす
る。したがって、メモリには常に最新のデータが存在す
る。このため、ライン置換えの際、データをキャッシュ
メモリからメモリに書き戻す必要がない。
施例を詳述する。 (1)前提 プロセッサおよびキャッシュメモリの仕様として、以下
を前提とする。 (a)プロセッサは、ハーバード・アーキテクチャであ
る。すなわち、命令用バスとデータ用バスを独立して持
っており、命令フェッチとデータフェッチを並行して行
える。 (b)簡単のため、プロセッサの命令およびデータサイ
ズは、全て1ワードとする。 (c)キャッシュメモリは、命令用およびデータ用にそ
れぞれ独立して設ける。 (d)命令用およびデータ用キャッシュメモリは、いず
れも連想度4のセット・アソシアティブ方式とする。 (e)簡単のため、命令用およびデータ用キャッシュメ
モリのラインサイズは、いずれも1ワードとする。した
がって、1ラインは1命令あるいは1個のデータからな
る。 (f)メモリ更新アルゴリズムはストアスルー方式とす
る。したがって、メモリには常に最新のデータが存在す
る。このため、ライン置換えの際、データをキャッシュ
メモリからメモリに書き戻す必要がない。
【0014】(2)機構 図1に、プロセッサの命令セットの例を示す。図1に示
すように、通常の命令コードやレジスタ指定子に加え
て、命令セットに命令置換え優先順位指定フィールド1
を持たせる。このフィールドは、当該命令の置換え時に
おける優先順位を示す。例えば、命令置換え優先順位指
定フィールド1を2ビットとすると、4段階の命令置換
え優先順位が指定できる。キャッシュメモリにある命令
を常駐させたい場合、その命令の命令置換え優先順位指
定フィールドの優先順位を低く設定しておけばよい。ま
た、ロード/ストア命令セットには、命令置換え優先順
位指定フィールド1に加えて、データ置換え優先順位指
定フィールド2を持たせる。このフィールドは、ロード
/ストア命令の対象となるデータの置換え時における優
先順位を示す。例えば、データ置換え優先順位指定フィ
ールド2を2ビットとすると、4段階のデータ置換え優
先順位が指定できる。したがって、キャッシュメモリあ
るデータを常駐させたい場合、そのデータを対象とする
ロード/ストア命令のデータ置換え優先順位指定フィー
ルドの優先順位を低く設定しておけばよい。
すように、通常の命令コードやレジスタ指定子に加え
て、命令セットに命令置換え優先順位指定フィールド1
を持たせる。このフィールドは、当該命令の置換え時に
おける優先順位を示す。例えば、命令置換え優先順位指
定フィールド1を2ビットとすると、4段階の命令置換
え優先順位が指定できる。キャッシュメモリにある命令
を常駐させたい場合、その命令の命令置換え優先順位指
定フィールドの優先順位を低く設定しておけばよい。ま
た、ロード/ストア命令セットには、命令置換え優先順
位指定フィールド1に加えて、データ置換え優先順位指
定フィールド2を持たせる。このフィールドは、ロード
/ストア命令の対象となるデータの置換え時における優
先順位を示す。例えば、データ置換え優先順位指定フィ
ールド2を2ビットとすると、4段階のデータ置換え優
先順位が指定できる。したがって、キャッシュメモリあ
るデータを常駐させたい場合、そのデータを対象とする
ロード/ストア命令のデータ置換え優先順位指定フィー
ルドの優先順位を低く設定しておけばよい。
【0015】図2に、命令用キャッシュメモリの構成を
示す。図2に示すように、命令用キャッシュメモリの各
エントリのタグ中に、アドレス情報41〜44の他に命
令置換え優先順位情報51〜54を設ける。この情報
は、現在当該エントリに格納されているラインの置換え
時の優先順位を示す。また、ライン置換え時にキャッシ
ュメモリに格納される命令の命令置換え優先順位指定フ
ィールド80と置換え対象となるエントリ候補の命令置
換え優先順位情報51〜54の大小比較を行い、ライン
置換えを行うエントリを選択する回路90を設ける。
示す。図2に示すように、命令用キャッシュメモリの各
エントリのタグ中に、アドレス情報41〜44の他に命
令置換え優先順位情報51〜54を設ける。この情報
は、現在当該エントリに格納されているラインの置換え
時の優先順位を示す。また、ライン置換え時にキャッシ
ュメモリに格納される命令の命令置換え優先順位指定フ
ィールド80と置換え対象となるエントリ候補の命令置
換え優先順位情報51〜54の大小比較を行い、ライン
置換えを行うエントリを選択する回路90を設ける。
【0016】図3に、データ用キャッシュメモリの構成
を示す。図3に示すように、データ用キャッシュメモリ
の各エントリのタグ中に、アドレス情報41〜44の他
にデータ置換え優先順位情報111〜114を設ける。
この情報は、現在当該エントリに格納されているライン
の置換え時の優先順位を示す。また、ライン置換え時に
キャッシュメモリに格納されるデータのデータ置換え優
先順位指定フィールド120と置換え対象となるエント
リ候補のデータ置換え優先順位情報51〜54の大小比
較を行い、ライン置換えを行うエントリを選択する回路
90を設ける。
を示す。図3に示すように、データ用キャッシュメモリ
の各エントリのタグ中に、アドレス情報41〜44の他
にデータ置換え優先順位情報111〜114を設ける。
この情報は、現在当該エントリに格納されているライン
の置換え時の優先順位を示す。また、ライン置換え時に
キャッシュメモリに格納されるデータのデータ置換え優
先順位指定フィールド120と置換え対象となるエント
リ候補のデータ置換え優先順位情報51〜54の大小比
較を行い、ライン置換えを行うエントリを選択する回路
90を設ける。
【0017】(3)動作手順 まず、プログラム実行前に、全ての命令およびデータに
ついてキャッシュメモリのライン置換えの際の優先順位
を決定する。これは、全ての命令の命令置換え優先順位
指定フィールドおよび全てのロード/ストア命令のデー
タ置換え優先順位指定フィールドを設定することにより
行う。この設定は、最適化コンパイラがコンパイル時に
暗黙的に行ってもよいし、ユーザがプログラム中で陽に
指定してもよい。
ついてキャッシュメモリのライン置換えの際の優先順位
を決定する。これは、全ての命令の命令置換え優先順位
指定フィールドおよび全てのロード/ストア命令のデー
タ置換え優先順位指定フィールドを設定することにより
行う。この設定は、最適化コンパイラがコンパイル時に
暗黙的に行ってもよいし、ユーザがプログラム中で陽に
指定してもよい。
【0018】次に、図2を用いて命令用キャッシュメモ
リのライン置換え時の動作を順を追って説明する。 ステップ1:プロセッサ(図示せず)の命令フェッチ時
にキャッシュメモリにおいてミスヒットが発生し、メモ
リからミスヒットを起こした命令aがフェッチされる。 ステップ2:命令用キャッシュメモリ制御部は、上記の
命令aを命令用キャッシュメモリに格納しようと試みる
が、命令aと同一のセットアドレス13で対応付けられ
る4個のエントリ全てに既にラインが格納されていた場
合、ライン置換えを行う必要が生じる。 ステップ3:命令用キャッシュメモリ制御部は、命令a
の命令置換え優先順位指定フィールド80と命令aと同
一のセットアドレス13で対応付けられる4個のエント
リ中の命令置換え優先順位情報51〜54の大小比較を
置換えエントリ選択回路90により行い、以下の基準で
置換え対象となるエントリを選択する。 (a)命令置換え優先順位指定フィールド80の値が命
令置換え優先順位情報51〜54の値のいずれよりも大
きい場合 命令aの置換え優先順位が最も高いということであるの
で、命令aは命令用キャッシュに格納されない。 (b)命令置換え優先順位情報51〜54の値のいずれ
か(例えばエントリbの命令置換え優先順位情報とす
る)が、他の命令置換え優先順位情報の値および命令置
換え優先順位指定フィールド80の値よりも大きい場合
エントリbの置換え優先順位が最も高いということで
あるので、エントリbを置換え対象とし、命令aはエン
トリbに格納される。 (c)命令置換え優先順位情報51〜54の値の最も大
きいもの(例えばエントリcの命令置換え優先順位情報
とする)が、命令置換え優先順位指定フィールド80の
値と等しい場合 エントリcと命令aの置換え優先順位が最も高く、か
つ、等しいということであるので、エントリcを置換え
対象とし、命令aはエントリcに格納される。 (d)命令置換え優先順位情報51〜54の複数の値
(例えばエントリb、エントリcの命令置換え優先順位
情報とする)が等しく、かつ、他の命令置換え優先順位
情報の値および命令置換え優先順位指定フィールド80
の値よりも大きい場合 エントリb、エントリcの置換え優先順位が最も高く、
かつ、等しいということであるので、エントリbとエン
トリcのいずれかを何らかのライン置換えアルゴリズ
ム,例えばLRUにより置換え対象として選択し、命令
aは選択されたエントリに格納される。 (e)命令置換え優先順位情報51〜54の複数の値
(例えばエントリb、エントリcの命令置換え優先順位
情報とする)と命令置換え優先順位指定フィールド80
の値が等しく、かつ、他の命令置換え優先順位情報の値
よりも大きい場合 エントリb、エントリcおよび命令aの置換え優先順位
が最も高く、かつ、等しいということであるので、エン
トリbとエントリcのいずれかを何らかのライン置換え
アルゴリズム,例えばLRUにより置換え対象として選
択し、命令aは選択されたエントリに格納される。 (f)命令置換え優先順位情報51〜54の全ての値
(エントリb、エントリc、エントリd、エントリeの
命令置換え優先順位情報とする)と命令置換え優先順位
指定フィールド80の値が等しい場合 エントリb、c、d、eおよび命令aの置換え優先順位
が全て等しいということであるので、エントリb、c、
d、eのいずれかを何らかのライン置換えアルゴリズ
ム,例えばLRUにより置換え対象として選択し、命令
aは選択されたエントリに格納される。
リのライン置換え時の動作を順を追って説明する。 ステップ1:プロセッサ(図示せず)の命令フェッチ時
にキャッシュメモリにおいてミスヒットが発生し、メモ
リからミスヒットを起こした命令aがフェッチされる。 ステップ2:命令用キャッシュメモリ制御部は、上記の
命令aを命令用キャッシュメモリに格納しようと試みる
が、命令aと同一のセットアドレス13で対応付けられ
る4個のエントリ全てに既にラインが格納されていた場
合、ライン置換えを行う必要が生じる。 ステップ3:命令用キャッシュメモリ制御部は、命令a
の命令置換え優先順位指定フィールド80と命令aと同
一のセットアドレス13で対応付けられる4個のエント
リ中の命令置換え優先順位情報51〜54の大小比較を
置換えエントリ選択回路90により行い、以下の基準で
置換え対象となるエントリを選択する。 (a)命令置換え優先順位指定フィールド80の値が命
令置換え優先順位情報51〜54の値のいずれよりも大
きい場合 命令aの置換え優先順位が最も高いということであるの
で、命令aは命令用キャッシュに格納されない。 (b)命令置換え優先順位情報51〜54の値のいずれ
か(例えばエントリbの命令置換え優先順位情報とす
る)が、他の命令置換え優先順位情報の値および命令置
換え優先順位指定フィールド80の値よりも大きい場合
エントリbの置換え優先順位が最も高いということで
あるので、エントリbを置換え対象とし、命令aはエン
トリbに格納される。 (c)命令置換え優先順位情報51〜54の値の最も大
きいもの(例えばエントリcの命令置換え優先順位情報
とする)が、命令置換え優先順位指定フィールド80の
値と等しい場合 エントリcと命令aの置換え優先順位が最も高く、か
つ、等しいということであるので、エントリcを置換え
対象とし、命令aはエントリcに格納される。 (d)命令置換え優先順位情報51〜54の複数の値
(例えばエントリb、エントリcの命令置換え優先順位
情報とする)が等しく、かつ、他の命令置換え優先順位
情報の値および命令置換え優先順位指定フィールド80
の値よりも大きい場合 エントリb、エントリcの置換え優先順位が最も高く、
かつ、等しいということであるので、エントリbとエン
トリcのいずれかを何らかのライン置換えアルゴリズ
ム,例えばLRUにより置換え対象として選択し、命令
aは選択されたエントリに格納される。 (e)命令置換え優先順位情報51〜54の複数の値
(例えばエントリb、エントリcの命令置換え優先順位
情報とする)と命令置換え優先順位指定フィールド80
の値が等しく、かつ、他の命令置換え優先順位情報の値
よりも大きい場合 エントリb、エントリcおよび命令aの置換え優先順位
が最も高く、かつ、等しいということであるので、エン
トリbとエントリcのいずれかを何らかのライン置換え
アルゴリズム,例えばLRUにより置換え対象として選
択し、命令aは選択されたエントリに格納される。 (f)命令置換え優先順位情報51〜54の全ての値
(エントリb、エントリc、エントリd、エントリeの
命令置換え優先順位情報とする)と命令置換え優先順位
指定フィールド80の値が等しい場合 エントリb、c、d、eおよび命令aの置換え優先順位
が全て等しいということであるので、エントリb、c、
d、eのいずれかを何らかのライン置換えアルゴリズ
ム,例えばLRUにより置換え対象として選択し、命令
aは選択されたエントリに格納される。
【0019】また、データ用キャッシュメモリのライン
置換え時の動作は、上述の命令用キャッシュメモリのラ
イン置換え時の動作と同様に行う。
置換え時の動作は、上述の命令用キャッシュメモリのラ
イン置換え時の動作と同様に行う。
【0020】以上に述べた実施例は,命令用キャッシュ
メモリとデータ用キャッシュメモリの両者を独立させて
設けた計算機システムにおけるキャッシュメモリの構成
とその制御方法について述べたが,上述した命令用キャ
ッシュメモリとデータ用キャッシュメモリとを一体化し
て1つのキャッシュメモリを設けた場合にも,上記同
様,キャッシュメモリを制御することができる。
メモリとデータ用キャッシュメモリの両者を独立させて
設けた計算機システムにおけるキャッシュメモリの構成
とその制御方法について述べたが,上述した命令用キャ
ッシュメモリとデータ用キャッシュメモリとを一体化し
て1つのキャッシュメモリを設けた場合にも,上記同
様,キャッシュメモリを制御することができる。
【0021】
【発明の効果】上述のように本発明によれば、キャッシ
ュメモリに常駐させたい命令の命令置換え優先順位指定
フィールド、あるいは、常駐させたいデータに対するロ
ード/ストア命令のデータ置換え優先順位指定フィール
ドをソフトウェアが予め設定しておくことにより、ソフ
トウェアがキャッシュメモリのディレクトリにアクセス
して常駐させたいラインを格納しているエントリを検索
し、さらにそのエントリのライン置換え禁止ビットを操
作する必要がなくなる。したがって、キャッシュメモリ
のディレクトリの検索およびディレクトリ情報の更新の
ための専用命令からなるルーチンが不要になり、命令サ
イズが減少し、実行時間が短縮できる。また、命令の命
令置換え優先順位指定フィールドあるいはロード/スト
ア命令のデータ置換え優先順位指定フィールドを複数ビ
ットで構成することにより、多段階の置換え優先順位が
指定できるため、使用頻度に応じた命令あるいはデータ
のライン置換え管理が可能となり、性能が向上する。
ュメモリに常駐させたい命令の命令置換え優先順位指定
フィールド、あるいは、常駐させたいデータに対するロ
ード/ストア命令のデータ置換え優先順位指定フィール
ドをソフトウェアが予め設定しておくことにより、ソフ
トウェアがキャッシュメモリのディレクトリにアクセス
して常駐させたいラインを格納しているエントリを検索
し、さらにそのエントリのライン置換え禁止ビットを操
作する必要がなくなる。したがって、キャッシュメモリ
のディレクトリの検索およびディレクトリ情報の更新の
ための専用命令からなるルーチンが不要になり、命令サ
イズが減少し、実行時間が短縮できる。また、命令の命
令置換え優先順位指定フィールドあるいはロード/スト
ア命令のデータ置換え優先順位指定フィールドを複数ビ
ットで構成することにより、多段階の置換え優先順位が
指定できるため、使用頻度に応じた命令あるいはデータ
のライン置換え管理が可能となり、性能が向上する。
【図1】本発明の第1実施例としてのプロセッサの命令
セットの例を示す図である。
セットの例を示す図である。
【図2】本発明の実施例による命令用キャッシュメモリ
の構成を示すブロック図である。
の構成を示すブロック図である。
【図3】本発明の実施例によるデータ用キャッシュメモ
リの構成を示すブロック図である。
リの構成を示すブロック図である。
【図4】キャッシュメモリの概念を示すブロック図であ
る。
る。
【図5】図4に示したキャッシュメモリの基本構成を示
すブロック図である。
すブロック図である。
1 命令置換え優先順位指定フィールド 2 データ置換え優先順位指定フィールド 11 アクセス・アドレス 12 上位アドレス 13 セットアドレス 21〜24 ディレクトリ 31〜34 データアレイ 41〜44 アドレス情報 51〜54 命令置換え優先順位情報 61〜64 ライン 71〜74 比較器 80 命令置換え優先順位指定フィールドの値 90 置換えエントリ選択回路 100 マルチプレクサ 111〜114 データ置換え優先順位情報 120 データ置換え優先順位指定フィールドの値 A1 プロセッサ A2 キャッシュ A3 メモリ B1 アクセスアドレス
Claims (6)
- 【請求項1】キャッシュメモリを有する計算機システム
において、 プロセッサの命令セット中に命令置換え優先順位指定フ
ィールドを有し、 プロセッサのロード/ストア命令セット中にデータ置換
え優先順位指定フィールドを有し、 キャッシュメモリの各エントリ中に置換え優先順位情報
を有し、 キャッシュメモリにおける命令あるいはデータのライン
置換え時に上記命令置換え優先順位指定フィールドある
いは上記データ置換え優先順位指定フィールドと上記置
換え優先順位情報とを比較していずれのラインの置換え
を行うかを決定する機構を有することを特徴とするキャ
ッシュメモリ。 - 【請求項2】命令用およびデータ用にそれぞれ独立した
命令用キャッシュメモリおよびデータ用キャッシュメモ
リを有する計算機システムにおいて、 プロセッサの命令セット中に命令置換え優先順位指定フ
ィールドを有し、 プロセッサのロード/ストア命令セット中にデータ置換
え優先順位指定フィールドを有し、 前記命令用キャッシュメモリの各エントリ中に命令置換
え優先順位情報を有し、 前記データ用キャッシュメモリの各エントリ中にデータ
置換え優先順位情報を有し、 命令用キャッシュメモリにおけるライン置換え時に上記
命令置換え優先順位指定フィールドと上記命令置換え優
先順位情報とを比較していずれのラインの置換えを行う
かを決定する機構を有し、 データ用キャッシュメモリにおけるライン置換え時に上
記データ置換え優先順位指定フィールドのフィールドと
上記データ置換え優先順位情報の情報とを比較していず
れのラインの置換えを行うかを決定する機構を有するこ
とを特徴とするキャッシュメモリ。 - 【請求項3】プロセッサの命令セット中に命令置換え優
先順位指定フィールドを設け、 プロセッサのロード/ストア命令セット中にデータ置換
え優先順位指定フィールドを設け、 キャッシュメモリの各エントリ中に置換え優先順位情報
を設け、 キャッシュメモリにおける命令あるいはデータのライン
置換え時に命令セット中の命令置換え優先順位指定フィ
ールドあるいはデータ置換え優先順位指定フィールドと
当該エントリ中の置換え優先順位情報とを比較していず
れのラインの置換えを行うかを決定する機構を設けたこ
とを特徴とするキャッシュメモリを有する計算機システ
ム。 - 【請求項4】キャッシュメモリを有する計算機システム
におけるキャッシュメモリの制御方法であって,プロセ
ッサの命令セット中に命令置換え優先順位指定フィール
ドを規定し,プロセッサのロード/ストア命令セット中
にデータ置換え優先順位指定フィールドを規定し,キャ
ッシュメモリの各エントリ中に置換え優先順位情報を規
定し,キャッシュメモリにおける命令あるいはデータの
ライン置換え時に上記命令置換え優先順位指定フィール
ドあるいは上記データ置換え優先順位指定フィールドと
上記置換え優先順位情報とを比較していずれのラインの
置換えを行うかを決定することを特徴とするキャッシュ
メモリの制御方法。 - 【請求項5】命令用およびデータ用にそれぞれ独立した
命令用キャッシュメモリおよびデータ用キャッシュメモ
リを有する計算機システムにおけるキャッシュメモリの
制御方法であって,プロセッサの命令セット中に命令置
換え優先順位指定フィールドを規定し,プロセッサのロ
ード/ストア命令セット中にデータ置換え優先順位指定
フィールドを規定し,前記命令用キャッシュメモリの各
エントリ中に命令置換え優先順位情報を規定し,前記デ
ータ用キャッシュメモリの各エントリ中にデータ置換え
優先順位情報を規定し,命令用キャッシュメモリにおけ
るライン置換え時に上記命令置換え優先順位指定フィー
ルドと上記命令置換え優先順位情報とを比較していずれ
のラインの置換えを行うかを決定し,データ用キャッシ
ュメモリにおけるライン置換え時に上記データ置換え優
先順位指定フィールドのフィールドと上記データ置換え
優先順位情報の情報とを比較していずれのラインの置換
えを行うかを決定することを特徴とするキャッシュメモ
リの制御方法。 - 【請求項6】プロセッサの命令セット中に命令置換え優
先順位指定フィールドを規定し,プロセッサのロード/
ストア命令セット中にデータ置換え優先順位指定フィー
ルドを規定し,キャッシュメモリの各エントリ中に置換
え優先順位情報を規定し,キャッシュメモリにおける命
令あるいはデータのライン置換え時に命令セット中の命
令置換え優先順位指定フィールドあるいはデータ置換え
優先順位指定フィールドと当該エントリ中の置換え優先
順位情報を比較していずれのラインの置換えを行うかを
決定することを特徴とするキャッシュメモリの制御方
法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4229132A JPH0659977A (ja) | 1992-08-05 | 1992-08-05 | 明示的なライン置換え操作が可能なキャッシュメモリとその制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4229132A JPH0659977A (ja) | 1992-08-05 | 1992-08-05 | 明示的なライン置換え操作が可能なキャッシュメモリとその制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0659977A true JPH0659977A (ja) | 1994-03-04 |
Family
ID=16887259
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4229132A Pending JPH0659977A (ja) | 1992-08-05 | 1992-08-05 | 明示的なライン置換え操作が可能なキャッシュメモリとその制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0659977A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07182235A (ja) * | 1993-12-24 | 1995-07-21 | Nec Corp | 情報処理装置 |
| US7172094B2 (en) | 2002-07-01 | 2007-02-06 | Tomy Company, Ltd. | Packaged goods delivering device |
| CN100380347C (zh) * | 2003-03-26 | 2008-04-09 | 松下电器产业株式会社 | 半导体装置 |
| JP2008525919A (ja) * | 2004-12-29 | 2008-07-17 | インテル・コーポレーション | プログラマ制御のキャッシュ・ライン追出しポリシーのための方法 |
| US7793769B2 (en) | 2003-12-26 | 2010-09-14 | Konami Digital Entertainment Co., Ltd. | Automatic vending machine |
-
1992
- 1992-08-05 JP JP4229132A patent/JPH0659977A/ja active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07182235A (ja) * | 1993-12-24 | 1995-07-21 | Nec Corp | 情報処理装置 |
| US7172094B2 (en) | 2002-07-01 | 2007-02-06 | Tomy Company, Ltd. | Packaged goods delivering device |
| CN100380347C (zh) * | 2003-03-26 | 2008-04-09 | 松下电器产业株式会社 | 半导体装置 |
| US7502901B2 (en) | 2003-03-26 | 2009-03-10 | Panasonic Corporation | Memory replacement mechanism in semiconductor device |
| US7793769B2 (en) | 2003-12-26 | 2010-09-14 | Konami Digital Entertainment Co., Ltd. | Automatic vending machine |
| JP2008525919A (ja) * | 2004-12-29 | 2008-07-17 | インテル・コーポレーション | プログラマ制御のキャッシュ・ライン追出しポリシーのための方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5537573A (en) | Cache system and method for prefetching of data | |
| US5689679A (en) | Memory system and method for selective multi-level caching using a cache level code | |
| US7502887B2 (en) | N-way set associative cache memory and control method thereof | |
| JP2554449B2 (ja) | キャッシュ・メモリを有するデータ処理システム | |
| US7284096B2 (en) | Systems and methods for data caching | |
| JP5536655B2 (ja) | キャッシュメモリ、メモリシステム及びデータコピー方法 | |
| US6868472B1 (en) | Method of Controlling and addressing a cache memory which acts as a random address memory to increase an access speed to a main memory | |
| US20060036811A1 (en) | Method for software controllable dynamically lockable cache line replacement system | |
| JP2007310906A (ja) | 階層型キャッシュメモリを制御するための方法ならびに装置 | |
| US7039768B2 (en) | Cache predictor for simultaneous multi-threaded processor system supporting multiple transactions | |
| US6438655B1 (en) | Method and memory cache for cache locking on bank-by-bank basis | |
| JPH10293720A (ja) | コンピュータシステムにおけるキャッシュ・コヒーレンシー機構および主メモリに保持されている項目に関してキャッシュの内容のコヒーレンシー状態を変更する方法 | |
| US6715040B2 (en) | Performance improvement of a write instruction of a non-inclusive hierarchical cache memory unit | |
| US7219197B2 (en) | Cache memory, processor and cache control method | |
| US7010649B2 (en) | Performance of a cache by including a tag that stores an indication of a previously requested address by the processor not stored in the cache | |
| US6434670B1 (en) | Method and apparatus for efficiently managing caches with non-power-of-two congruence classes | |
| US8266379B2 (en) | Multithreaded processor with multiple caches | |
| US20070186046A1 (en) | Pseudo LRU algorithm for hint-locking during software and hardware address translation cache miss handling modes | |
| JPS638851A (ja) | キャッシュ・メモリ制御方式 | |
| JPH0659977A (ja) | 明示的なライン置換え操作が可能なキャッシュメモリとその制御方法 | |
| US20110179227A1 (en) | Cache memory and method for cache entry replacement based on modified access order | |
| US6397298B1 (en) | Cache memory having a programmable cache replacement scheme | |
| US20050270876A1 (en) | Selectively changeable line width memory | |
| US6751707B2 (en) | Methods and apparatus for controlling a cache memory | |
| JP4765249B2 (ja) | 情報処理装置およびキャッシュメモリ制御方法 |