JPH06131264A - キャッシュメモリ制御方式 - Google Patents

キャッシュメモリ制御方式

Info

Publication number
JPH06131264A
JPH06131264A JP4278344A JP27834492A JPH06131264A JP H06131264 A JPH06131264 A JP H06131264A JP 4278344 A JP4278344 A JP 4278344A JP 27834492 A JP27834492 A JP 27834492A JP H06131264 A JPH06131264 A JP H06131264A
Authority
JP
Japan
Prior art keywords
mapping
cache
cache memory
deletion
area
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
JP4278344A
Other languages
English (en)
Inventor
Nobuo Yamamoto
伸夫 山本
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4278344A priority Critical patent/JPH06131264A/ja
Publication of JPH06131264A publication Critical patent/JPH06131264A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【構成】アドレス変換を制御するマッピング制御部にマ
ッピングの削除を検出するためのマッピング削除検出手
段13aと、マッピングが削除される領域のキャッシュ
メモリ上のデータを破棄制御するためのキャッシュ破棄
制御手段14aで構成される。 【効果】マッピング削除と連動して自動的にマッピング
が削除される領域のデータが占めるキャッシュメモリを
破棄制御することにより、オペレーティングシステムに
負担を掛けることなくキャッシュメモリの効率的な利用
が可能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、CPUとメモリの間に
キャッシュメモリを備え、論理アドレスから物理アドレ
スへのアドレス変換を行うアドレス変換機構を有する計
算機におけるキャッシュメモリの制御方式に関する。
【0002】
【従来の技術】近年、RISC技術を用いた高速CPU
が主流となりつつあるが、CPUの性能とメモリアクセ
ス速度のギャップは広がっており、このギャップを埋め
るためにCPUとメモリ間に配置されるキャッシュメモ
リの役割が重要になっている。
【0003】一方、キャッシュメモリはメモリに比較し
て小容量であるため効率的に利用することが要求され、
このことは計算機速度に大きく影響する。
【0004】ワークステーション等の計算機は、固定長
の領域(以降、ページと呼ぶ)に対する論理アドレスと物
理アドレスの対応情報(以降、マッピングと呼ぶ)群をア
ドレス変換機構が保持しており、このマッピングを用い
て論理アドレスから物理アドレスの変換を行う。
【0005】通常これらのマッピング情報の設定および
削除は、オペレーティングシステムと呼ばれる基本ソフ
トウエアのみが行う。そして、マッピング情報の設定お
よび削除は一般に計算機が備えるマッピング操作指令を
発行して行うか、または、アドレス変換機構が認識す
る、メモリ上に作成されたマッピング情報テーブルを操
作することで達成される。
【0006】オペレーティングシステムはマッピングの
削除の際に、この領域は将来アクセスされることがない
ためキャッシュメモリ上に配置されたこの領域のデータ
をキャッシュメモリから追い出す必要があるが、従来の
ハードウエアはこのマッピングの削除とキャッシュメモ
リの破棄に連動がなく全く独立しているため次のような
問題点があった。
【0007】通常、オペレーティングシステムはキャッ
シュメモリの内容をキャッシュ破棄指令を発行して明示
的に破棄するか、または、キャッシュメモリに配置した
ままの状態に保つかのどちらかの処置を行う。キャッシ
ュメモリを破棄する場合、ハードウエアが一般にある固
定の長さのキャッシュ破棄を行う指令しか持っていない
ため、ソフトウエアが必要な回数だけこの指令をループ
させて破棄を行う。例えば、1回のキャッシュ破棄指令
で32バイトのキャッシュメモリを破棄する場合、4K
バイトの領域を破棄するには256回のキャッシュライ
ン破棄指令の発行が必要となる。これは無視できない処
理オーバヘッドとなる。また、ハードウエアにはすべて
のキャッシュメモリを一括して破棄する指令を持ってい
るものもあるが、この場合は有効なキャッシュメモリ上
のデータまでも破棄することになる。
【0008】一方、キャッシュメモリの破棄を行わない
場合は、キャッシュメモリがアクセスされることがない
にもかかわらず、貴重なキャッシュ資源を占有してしま
うことになる。
【0009】
【発明が解決しようとする課題】従来のようにある領域
のマッピング削除とその領域のデータが格納されたキャ
ッシュメモリの破棄動作が連動していないと、処理オー
バヘッドの発生もしくはキャッシュの無駄使いが生じて
しまう。
【0010】本発明の目的はマッピング削除と当該領域
のキャッシュ破棄動作を連動させることにより上記問題
点を解決することにある。
【0011】
【課題を解決するための手段】図1は本発明の動作原理
を示すブロック図である。図1において、10はCP
U、11はメインメモリ、12はキャッシュメモリ、1
3は論理アドレスを物理アドレスに変換するためのマッ
ピング制御部、14はキャッシュを制御するためのキャ
ッシュ制御部を表す。
【0012】CPUとメモリおよびキャッシュメモリは
データバスおよびアドレスバスで結合されている。この
ようなシステム構成でマッピングの削除とそれに連動し
たキャッシュの破棄制御を行うことでキャッシュの効率
的な利用を可能とするために、マッピング制御部にマッ
ピング削除の要求を検出するマッピング削除検出手段1
3a、キャッシュ制御部にマッピング削除検出手段から
の要求に応じて指定された領域のキャッシュメモリ上の
データの破棄制御を行なうキャッシュ破棄制御手段14
aを設ける。
【0013】
【作用】CPUからある領域に対するマッピングの削除
が行われると、これがマッピング削除検出手段で検出さ
れる。マッピング削除検出手段ではマッピングが削除さ
れる領域のデータ破棄をキャッシュ破棄制御手段に要求
する。そうすると、キャッシュ破棄制御手段はキャッシ
ュメモリを調べ、要求のあった領域のデータがキャッシ
ュメモリ上に存在している場合はこれについて破棄制御
を行う。
【0014】このように、ある領域のマッピングの削除
要求とこの領域が占めるキャッシュメモリ上のデータの
破棄制御とを連動させることにより、使用されないキャ
ッシュメモリを自発的に破棄し、キャッシュメモリの効
率的な利用を実現する。
【0015】
【実施例】図1において13は論理アドレスを物理アド
レスに変換するためのマッピング制御部であるが、本実
施例ではたとえば次の動作を行う。
【0016】本マッピング制御部は4Kバイトの連続す
る仮想メモリ領域を4Kバイトの連続する物理メモリ領
域にマップするためのマッピングを複数個保持する。こ
のマッピングの設定/削除は専用のマッピング設定およ
びマッピング削除指令を発行することにより行う。マッ
ピング制御部に保持するマッピングが、ある上限個数で
あるときにマッピング設定指令によりマッピングを設定
する場合は、マッピング制御部がランダムに一つマッピ
ングを選択してこれを削除する。
【0017】14はキャッシュを制御するためのキャッ
シュ制御部を表すが、同様に本実施例ではキャッシュ制
御部はたとえば次の動作を行う。キャッシュ制御部はキ
ャッシュメモリにデータを持ってきたり、キャッシュメ
モリ上のデータをメモリに書き戻したり、キャッシュメ
モリ上のデータを破棄したりするものである。キャッシ
ュメモリはラインと呼ばれる単位に分割されており、キ
ャッシュメモリとメモリ間のデータ転送、および、デー
タ破棄はこのライン単位に行う。キャッシュメモリはラ
インサイズで分割されており、この分割されたキャッシ
ュメモリを、便宜上、スロットと呼ぶ。メモリ上のデー
タをキャッシュメモリに持ってくるに当っては、空きス
ロットがあればここに持ってくる。空きスロットがなけ
ればLRUアルゴリズムにより時間的に最も最近アクセス
されなかったものを選択してここに持ってくる。空きス
ロットか否かはスロットごとに保持する無効ビットによ
り判定される。
【0018】マッピング制御部13にはCPUからのマ
ッピング削除の要求を検出するマッピング削除検出手段
13aを含む。このマッピング削除検出手段はマッピン
グ削除指令が発行されたときに、マッピング削除要求さ
れた領域のデータをキャッシュメモリから破棄するため
の要求をキャッシュ制御部に要求する。
【0019】キャッシュ制御部14にはマッピング削除
検出手段13aからの要求を受取り、指定された領域に
対するキャッシュメモリ上のデータを破棄制御するため
のキャッシュ破棄制御手段14aを含む。
【0020】さらに、キャッシュメモリ12の各スロッ
ト12aにはスロットが使用されていないことを示す無
効フラグ12b、スロットのデータを優先的に解放可能
であることを示す破棄候補フラグ12cを持つ。この破
棄候補フラグはキャッシュ制御部により判定される。キ
ャッシュ制御部はキャッシュメモリに未使用スロットが
ない場合、つまり、無効フラグが設定されたスロットが
ない場合、この破棄候補フラグが設定されているスロッ
トを優先的に使用するような制御を行う。
【0021】ここで、ある領域Aに対してマッピング削
除指令が発行されて、これに伴いキャッシュが制御され
る動作を順を追って解説する。
【0022】ある領域Aのマッピング削除指令が発行さ
れると、マッピング制御部のマッピング削除検出手段が
これを検出して、キャッシュ制御部のキャッシュ破棄制
御手段に対して領域Aの内容を保持するキャッシュメモ
リ上のデータを破棄する要求を行う。要求を受け取った
キャッシュ破棄制御手段は領域Aの占めるすべてのキャ
ッシュメモリを破棄するか、または、キャッシュメモリ
スロットに対して破棄候補フラグを設定する。これによ
り、領域Aのマッピング削除指令に連動して領域Aの占
めるキャッシュメモリ上のデータが破棄または破棄候補
となる。
【0023】ここで、マッピング削除指令はパラメタで
キャッシュ破棄方法を選択可能となっている。パラメタ
で指定するキャッシュ破棄方法は次の二つのどちらかが
指定される。(a)マッピング削除指令の発行後にマッ
ピング削除の対象となった領域が必ずアクセスされない
場合に指定するもので、この領域はアクセスされないの
でキャッシュ上のデータを直ちに破棄するものである。
(b)この領域がマッピング削除後にアクセスされる可
能性がある場合に指定するもので、キャッシュメモリ上
のデータを破棄候補としてマークしておき直ちにはキャ
ッシュを破棄しないものである。破棄候補としてマーク
されたキャッシュ上のデータはキャッシュメモリが空き
が無くなったときに優先的に破棄される。このパラメタ
はマッピング削除検出手段からのキャッシュ破棄制御手
段に、それぞれキャッシュ破棄要求,キャッシュ破棄候
補化要求として通知される。
【0024】図2を用いてマッピング削除検出手段から
要求が発行されたときのキャッシュ破棄制御手段の動作
を説明する。
【0025】まず、キャッシュ破棄要求であるかどうか
を調べる(ステップ21)。ここでキャッシュ破棄要求で
あればキャッシュメモリ上の領域Aの内容をすべて破棄
する(ステップ22)。つまり、領域Aの内容を保持する
すべてスロットに無効フラグを設定する。キャッシュ破
棄要求でなければ次にキャッシュ破棄候補化要求である
かどうかを調べる(ステップ23)。キャッシュ解放候補
化要求であれば、領域Aの内容を保持するすべてのキャ
ッシュメモリスロットの破棄候補フラグを設定する(ス
テップ24)。
【0026】図3は、キャッシュ制御部のキャッシュメ
モリのスロット選択の方法のフロー図である。キャッシ
ュ制御部では、領域Bに対してキャッシュメモリを割当
てる必要が発生したとき、図3に示すフローでキャッシ
ュメモリを割当てる。
【0027】まず、キャッシュメモリに空きスロットが
存在するかどうかを調べる(ステップ31)。これは、
キャッシュラインの無効フラグが設定されているか否か
で判定する。空きスロットが複数存在するときはそのう
ちどれかを何らかのアルゴリズム(ランダム,スロット
番号の若いものから優先的に等々)により選択する(ス
テップ32)。空きスロットが存在しない場合は、優先
的に解放できることを示す破棄候補フラグが設定された
スロットがあるかどうかを判定し(ステップ33)、あれ
ばこのうち一つを何らかのアルゴリズムにより選択する
(ステップ34)。空きスロットおよび破棄候補フラグの
設定されたスロットともに存在しない場合は、使用中の
スロットのどれか一つをLRUのアルゴリズムにより選
択しこれを選択する(ステップ35)。
【0028】以上のようにキャッシュ制御部がキャッシ
ュメモリのスロットを選択するため、マッピングが削除
されアクセスされる可能性が無くなった、または、アク
セスされる可能性が低くなった領域のデータを保持して
いるスロットが優先的に選択されることになる。これに
より、キャッシュメモリの効率的な利用が達成される。
【0029】キャッシュメモリにはキャッシュとメモリ
のマッピング方式としてダイレクトマップ方式,セット
アソシエティブ方式,フルアソシエティブ方式がある
が、本発明の効果があるのはセットアソシエティブ方式
とフルアソシエティブ方式であり、ダイレクトマップ方
式を採用したキャッシュに対しては効果がない。これは
ダイレクトマップ方式ではメモリ上のある領域は一つの
限られたキャッシュメモリスロットにしか配置されない
ため、いくらスロットを空きにしてもこれを使用する領
域でない限りこのスロットにデータを配置できないため
である。
【0030】一方、キャッシュメモリには書き込み直後
にメモリに反映するライトスルー方式、キャッシュから
追い出されるときにメモリに反映するライトバック方式
といった書き込みに対する制御方式のバリエーション,
キャッシュメモリ上のデータがどのメモリのものである
かを示すタグを論理アドレスをベースにするか物理アド
レスにするかといったキャッシュアドレス付けに関する
バリエーション等、様々なバリエーションが存在する。
本発明は上記のマッピング方式のバリエーションを除い
た様々なバリエーションには無関係に効果的に働く。
【0031】また、本実施例では専用のマッピング削除
指令ある計算機を前提としているが、マッピング削除指
令を持たない計算機であっても、仮想アドレスから物理
アドレスのマッピングの削除を検出する手段を持ってい
れば本発明は適用可能である。
【0032】
【発明の効果】本発明によれば、キャッシュメモリの効
率的な利用が可能となる。最近では計算機の計算速度は
どれだけキャッシュミスを低く抑えるかに大きく依存す
る。よって、本発明によるキャッシュメモリの効率的な
利用がキャッシュミスの低減に貢献し、プログラムの処
理速度をあげることができるようになる。
【図面の簡単な説明】
【図1】本発明の動作原理を示すブロック図。
【図2】キャッシュメモリ破棄制御手段の動作を示すフ
ローチャート。
【図3】キャッシュ制御部のキャッシュメモリスロット
選択の方法を表したフローチャート。
【符号の説明】
10…CPU、11…メモリ、12…キャッシュメモ
リ、12a…キャッシュメモリスロット、12b…無効
フラグ、12c…破棄候補フラグ、13…マッピング制
御部、13a…マッピング削除検出手段、14…キャッ
シュ制御部、14a…キャッシュ破棄制御手段。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】CPUとメモリの間にキャッシュメモリを
    備え、論理アドレスから物理アドレスへのアドレス変換
    機構を具備する計算機装置において前記論理アドレスか
    ら前記物理アドレスへのマッピングの削除を検出するマ
    ッピング削除検出手段と、マッピング削除が行われた領
    域のデータを保持するキャッシュメモリに対してキャッ
    シュ破棄制御を行うキャッシュ破棄制御手段とを備え、
    前記キャッシュメモリ上のデータの破棄制御をマッピン
    グの削除に連動して自動的に行うことにより、前記キャ
    ッシュメモリを効率的に利用することを特徴とするキャ
    ッシュメモリ制御方式。
  2. 【請求項2】請求項1において、前記キャッシュメモリ
    上のデータ破棄を伴うマッピング削除指令を備え、前記
    マッピング削除指令のパラメタで前記キャッシュメモリ
    のデータ破棄方法を指定することが可能であるキャッシ
    ュメモリ制御方式。
JP4278344A 1992-10-16 1992-10-16 キャッシュメモリ制御方式 Pending JPH06131264A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4278344A JPH06131264A (ja) 1992-10-16 1992-10-16 キャッシュメモリ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4278344A JPH06131264A (ja) 1992-10-16 1992-10-16 キャッシュメモリ制御方式

Publications (1)

Publication Number Publication Date
JPH06131264A true JPH06131264A (ja) 1994-05-13

Family

ID=17596026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4278344A Pending JPH06131264A (ja) 1992-10-16 1992-10-16 キャッシュメモリ制御方式

Country Status (1)

Country Link
JP (1) JPH06131264A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721490B1 (en) 1998-09-30 2004-04-13 Kabushiki Kaisha Toshiba Hierarchical storage scheme and data playback scheme for enabling random access to realtime stream data
CN109656837A (zh) * 2017-10-11 2019-04-19 爱思开海力士有限公司 存储器系统及其操作方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721490B1 (en) 1998-09-30 2004-04-13 Kabushiki Kaisha Toshiba Hierarchical storage scheme and data playback scheme for enabling random access to realtime stream data
US7580610B2 (en) 1998-09-30 2009-08-25 Kabushiki Kaisha Toshiba Hierarchical storage scheme and data playback scheme for enabling random access to realtime stream data
CN109656837A (zh) * 2017-10-11 2019-04-19 爱思开海力士有限公司 存储器系统及其操作方法

Similar Documents

Publication Publication Date Title
KR100240912B1 (ko) 데이터 프리페치 장치 및 시스템, 캐시 라인 프리페치 방법
US10474580B2 (en) Memory management supporting huge pages
JP3264319B2 (ja) バスブリッジ
US5751994A (en) System and method for enhancing computer operation by prefetching data elements on a common bus without delaying bus access by multiple bus masters
EP0780769B1 (en) Hybrid numa coma caching system and methods for selecting between the caching modes
JP2662603B2 (ja) 無効要求を選別する方法及び装置
JP7340326B2 (ja) メンテナンス動作の実行
JP2000250813A (ja) I/oキャッシュ・メモリにおけるデータ管理方法
JP2000250812A (ja) メモリ・キャッシュ・システムおよびその管理方法
JP2002073415A (ja) 遅延無効化コンピュータキャッシュシステム
JP2000227878A (ja) 非同期i/oキャッシュメモリ内のデ―タ管理方法
JP3262519B2 (ja) 第2レベルキャッシュの古いラインの除去によるプロセッサのメモリ性能の強化方法及びシステム
JPH11288386A (ja) コンピュータシステム
EP0470738B1 (en) Cache memory system and operating method
JP3068469B2 (ja) 2次レベルキャッシュメモリシステム
US20010032297A1 (en) Cache memory apparatus and data processing system
JP3964821B2 (ja) プロセッサ、キャッシュシステム及びキャッシュメモリ
JPH06131264A (ja) キャッシュメモリ制御方式
JP4792065B2 (ja) データ記憶方法
JP7311959B2 (ja) 複数のデータ・タイプのためのデータ・ストレージ
JPH0363741A (ja) ディスク・キャッシュ装置
CN117785735A (zh) 一种基于标签缓存的标签式存储结构及方法
JPH09319652A (ja) 先読み制御方法
JPH06282487A (ja) キャッシュ装置
JPH01194042A (ja) ディスクキャッシュ制御方式