JPH086851A - キャッシュメモリ制御装置 - Google Patents

キャッシュメモリ制御装置

Info

Publication number
JPH086851A
JPH086851A JP6134696A JP13469694A JPH086851A JP H086851 A JPH086851 A JP H086851A JP 6134696 A JP6134696 A JP 6134696A JP 13469694 A JP13469694 A JP 13469694A JP H086851 A JPH086851 A JP H086851A
Authority
JP
Japan
Prior art keywords
line
cache memory
information
data
cache
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
JP6134696A
Other languages
English (en)
Inventor
Hiroaki Komaki
広昭 古牧
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 JP6134696A priority Critical patent/JPH086851A/ja
Publication of JPH086851A publication Critical patent/JPH086851A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】大容量のキャッシュメモリ中のダーティエント
リを高速に検索する。 【構成】メインメモリ12のデータの一部を保持するキャ
ッシュメモリ13の更新情報を検索するキャッシュメモリ
制御装置において、該キャッシュメモリ13のライン領域
毎に設けられ、該ライン領域がメインメモリの対応デー
タと異なる更新されたデータを保持する際に、その直前
にデータが更新されたライン領域の情報を示すライン情
報を記憶する線形リスト構成情報格納領域13cと、上記
線形リスト構成情報格納領域13cに記憶される最新の更
新されたライン領域の情報を示すルート情報を記憶する
ルート処理部14dと、上記ルート処理部14dのルート情
報と上記線形リスト構成情報格納領域13cのライン情報
とに基づいて上記キャッシュメモリ13のライン領域を線
形リスト状に検索し、各該当ラインのデータを上記メイ
ンメモリへ書戻すフラッシュ処理を実行する制御回路14
aとを備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、比較的大規模なキャッ
シュメモリを使用した計算機システムに適用され、該キ
ャッシュメモリの更新情報を検索するキャッシュメモリ
制御装置に関する。
【0002】
【従来の技術】電子計算機システムにおいて、プロセッ
サの処理能力が大きく向上した現在では、比較的低速で
動作するメインメモリとプロセッサとの間でのデータ転
送速度の差異がデータ処理上のネックとなっている。そ
こで、プロセッサとメインメモリとの間に比較的高速で
動作可能なキャッシュメモリを介在させ、プロセッサは
キャッシュメモリに対してアクセスを行なわせること
で、その処理能力を充分に発揮することができるように
なる。
【0003】しかるに、キャッシュメモリを備えた計算
機システムでは、プロセッサからの書込みデータが一旦
キャッシュメモリ内に蓄えられるため、メインメモリ内
に最新のデータが反映されない期間が生ずる。そして、
このメインメモリ内に最新のデータが反映されていない
状態でプロセッサあるいはキャッシュメモリに障害が発
生した際にも最新データの消失を最小限に止めるために
は、キャッシュメモリ内のダーティエントリ(更新項
目)を適宜消去してキャッシュメモリ内のデータとメイ
ンメモリ内のデータの内容を一致させておく必要があ
り、キャッシュメモリ内の上記ダーティエントリをサー
チする機能が必要である。
【0004】従来のキャッシュメモリの構成では図14
に示すように例えばライン単位で設定される各キャッシ
ュ項目に1対1で対応して項目部分のダーティ(更新)
/クリーン(未更新)の情報が格納されたタグ領域が設
けられており、ソフトウェアによって全てのタグ領域を
順次走査してダーティエントリを検索する。図14中、
「ラインNo.」はキャッシュメモリ内における各ブロ
ックの配置を示すライン情報を示し、また「キャッシュ
エントリ」は実際に当該ラインに配置されている情報を
示すものであり、図中ではそのエントリ内のデータがダ
ーティなのかクリーンなのかを示す。さらに、「タグ領
域」は計算機システムに依存した、キャッシュメモリ操
作に必要なビット列を格納する領域であり、この中にあ
るダーティ/クリーンビットはタグ領域に対応するキャ
ッシュエントリがダーティかどうかを示すものである。
【0005】
【発明が解決しようとする課題】上記図14に示した従
来の方法では、キャッシュメモリ内のタグ領域全てをソ
フトウェアによって順次走査してダーティエントリを検
索するため、ダーティエントリの検索処理に時間がかか
る。この傾向は、キャッシュメモリの容量すなわち走査
領域が広いほど顕著であり、一方、キャッシュメモリは
年々広域化の一途を辿っているので、検索に要する時間
はこれからさらに増大するものと思われる。
【0006】本発明は上記のような実情に鑑みてなされ
たもので、その目的とするところは、容量の大きなキャ
ッシュメモリであってもダーティエントリをより高速に
検索することが可能なキャッシュメモリ制御装置を提供
することにある。
【0007】
【課題を解決するための手段】すなわち本発明は、メイ
ンメモリのデータの一部を保持するキャッシュメモリの
更新情報を検索するキャッシュメモリ制御装置におい
て、該キャッシュメモリのライン領域毎に設けられ、該
ライン領域がメインメモリの対応データと異なる更新さ
れたデータを保持する際に、その直前にデータが更新さ
れたライン領域の情報を示すライン情報を記憶する更新
記憶手段と、上記更新記憶手段に記憶される最新の更新
されたライン領域の情報を示すルート情報を記憶するル
ート記憶手段と、上記ルート記憶手段のルート情報と上
記更新記憶手段のライン情報とに基づいて上記キャッシ
ュメモリのライン領域を線形リスト状に検索し、各該当
ラインのデータを上記メインメモリへ書戻すフラッシュ
処理を実行するキャッシュ制御手段とを備えるようにし
たものである。
【0008】
【作用】上記のような構成とすることにより、必要なラ
イン領域のみ線形リスト状に検索するため、容量の大き
なキャッシュメモリであってもダーティエントリをより
高速に検索することが可能となる。
【0009】
【実施例】
[第1実施例]以下本発明をキャッシュメモリの全領域
を対象としてその制御を行なう制御装置に適用した場合
の第1実施例について図面を参照して説明する。
【0010】図1はその回路構成を示すもので、11は演
算を実行するCPU、12はバス接続されたメインメモ
リ、13は上記CPU11と上記メインメモリ12が接続され
たバスとの間に介在されたキャッシュメモリである。
【0011】キャッシュメモリ13は、CPU11の書込み
によって上記メインメモリ12のデータの一部を保持する
データ領域13a、このキャッシュメモリ13の操作に必要
なビット列を格納する領域であるタグ領域13b及び各キ
ャッシュエントリ毎に追加された情報であり、その直前
にダーティとなった他のライン情報を格納する領域であ
る線形リスト構成情報格納領域13cを有する。
【0012】そして、このキャッシュメモリ13のタグ領
域13b及び線形リスト構成情報格納領域13cを制御する
ものとして、キャッシュメモリ制御回路14が設けられ
る。このキャッシュメモリ制御回路14は、線形リストの
構成および線形リストを用いたフラッシュ処理を実現す
るための制御回路14a、上記タグ領域13bの書込み/読
出しに用いられるタグ情報バッファ14、上記線形リスト
構成情報格納領域13cの書込み/読出しに用いられるリ
スト情報バッファ14c及び、線形リストの構築、フラッ
シュ処理操作のための作業領域であるルート処理部14d
を有する。
【0013】次に上記第1実施例の具体的な動作につい
て説明する。図2(A)は線形リストによるダーティエ
ントリの検索を行なう上記キャッシュメモリ13の具体構
成を例示するものである。図中、「ライン番号(N
o.)」は各キャッシュエントリのラインを、「キャッ
シュエントリ」はデータ自身を示し、共に上記データ領
域13aを構成するものであるが、図2(A)ではそのデ
ータがキャッシュに格納されてから更新されたかどうか
をダーティ(更新)/クリーン(未更新)として表記し
てある。ここで括弧内の回数値は、各データが更新され
た時の順番を示している。また、「タグ領域」は上述し
た如く計算機システムに依存した、キャッシュメモリ13
操作に必要なビット列を格納する領域であり、「線形リ
スト」は、各キャッシュエントリ毎に追加された情報で
あり、ダーティとなったキャッシュエントリの1つ前に
ダーティとなった他のライン領域の情報を示している。
図中のヌル(Null)は初期値を示す。
【0014】また、図2(B)に示す「ルート」は、上
記キャッシュメモリ制御回路14のルート処理部14dの具
体構成を例示するもので、線形リストを構築するための
作業領域として、具体的には1ラインの配置情報を格納
できるメモリで構成される。
【0015】図3に線形リストの構築処理内容を示すフ
ローチャートを、図4に線形リストを基にしたダーティ
エントリの検索処理内容を示すフローチャートをそれぞ
れ示す。
【0016】CPU11がキャッシュメモリ13のデータ領
域13aへデータを書込む際には、前回ダーティとなった
キャッシュエントリのライン情報であるルートの値を現
キャッシュラインに対応した線形リスト構成情報格納領
域に保存し、ルートを現ラインのライン番号で更新す
る。この一連の操作を図3に示す。すなわち、図3で
は、ダーティとなった現ラインの線形リスト構成情報格
納領域13c該当部分をルート処理部14dの内容で更新設
定し(ステップA1 )、次いでルート処理部14dの内容
をダーティとなった現ラインのラインNo.で更新設定
する(ステップA2)というものである。
【0017】以上の処理内容について具体的に図2に沿
って動作を追認するものとする。ルート処理部14dには
初期値としてヌル(Null)情報が格納されており、
例えばキャッシュメモリ13のデータ領域13aのラインN
o.3が最初にダーティとなると、ルート処理部14dの
内容が同キャッシュエントリのラインNo.である
“3”に更新される。続いてルート処理部14dの最初の
格納内容であるヌル情報が代わってラインNo.3の線
形リスト構成情報格納領域13cに格納される。
【0018】続いてデータ領域13aのラインNo.2が
ダーティとなると、ルート処理部14dの現情報“3”が
ラインNo.2の線形リスト構成情報格納領域13cへ格
納される。続いてルート処理部14dの内容が同キャッシ
ュエントリのラインNo.である“2”に更新される。
【0019】このような操作を繰返すことで図2に示す
に如く例えば合計5箇所のキャッシュエントリがダーテ
ィとなった時点で、次にキャッシュメモリ13のフラッシ
ュ処理を行なうものとする。
【0020】キャッシュメモリ13のフラッシュ処理を行
なうには、図4に示す如く最初にルート処理部14dの値
を参照し(ステップB1 )、その値がヌルであるか否か
の判断を行なう(ステップB2 )。ヌルであればフラッ
シュ処理を終了し、そうでなければルート処理部14dに
よって示されるラインのフラッシュ処理へ進み(ステッ
プB3 )、そのラインをフラッシュし(ステップB4
)、対応する線形リスト構成情報格納領域13cの内容
でルート処理部14dを更新した(ステップB5 )後に、
線形リスト構成情報格納領域13cの当該ラインをヌル情
報で更新する(ステップB6 )。
【0021】以上の処理内容についても具体的に図2に
沿って動作を追認するものとする。キャッシュメモリ13
のデータ領域13aのフラッシュ処理のためにダーティエ
ントリを検索するには、最初にルート処理部14dの内容
を参照する(ステップB1 )。ルート処理部14dの値が
ヌルであると判断すると(ステップB2 )その時点でこ
のフラッシュ処理を終了するが、ここでは最初にルート
処理部14dが示した値が“6”であるため、ラインN
o.6のフラッシュ操作へ進む(ステップB3 )。
【0022】ラインNo.6のラインをフラッシュ処理
し(ステップB4 )、次にフラッシュ処理するキャッシ
ュエントリのラインNo.である、線形リスト構成情報
格納領域13cの内容“1”でルート処理部14dを更新設
定してから(ステップB5 )、線形リスト構成情報格納
領域13cの当該ラインをヌルで初期化する(ステップB
6 )。
【0023】続いてラインNo.1のキャッシュライン
をフラッシュし、次にフラッシュ処理するキャッシュエ
ントリのラインNo.である、線形リスト構成情報格納
領域13cの内容“5”でルート処理部14dを初期化して
からヌルによる線形リスト構成情報格納領域13cの初期
化を行なう。
【0024】以上のようなフラッシュ処理の操作をルー
ト処理部14dからヌルが戻るまで繰返すことにより、キ
ャッシュメモリ13のデータ領域13aにおけるダーティエ
ントリを全てフラッシュ処理することができる。
【0025】[第2実施例]以下本発明をキャッシュメ
モリ内のある特定された限定範囲のダーティエントリの
みを対象としてその制御を行なう制御装置に適用した場
合の第2実施例について図面を参照して説明する。
【0026】図5はその回路構成を示すもので、基本的
には上記図1に示したものと同様であるので、同一部分
には同一符号を付してその説明は省略する。しかして、
キャッシュメモリ制御回路内には、制御回路14a、タグ
情報バッファ14b、リスト情報バッファ14c及びルート
処理部14dの他に、フラッシュ処理中のライン位置を示
す現ラインポインタ14e、フラッシュ処理を行なうライ
ンの直前のフラッシュ範囲外ダーティライン位置を示す
バックアップポインタ14f、フラッシュ処理するキャッ
シュメモリの領域の終了ライン位置を示す終了ラインポ
インタ(図では「Uラインポインタ」と示す)14g、フ
ラッシュ処理するキャッシュメモリの領域の開始ライン
を示す開始ラインポインタ(図では「Lラインポイン
タ」と示す)14hを有する。
【0027】次に上記第1実施例の具体的な動作につい
て説明する。図6(A)は線形リストによるダーティエ
ントリの検索を行なう上記キャッシュメモリ13の具体構
成を例示するものである。図中、「ライン番号(N
o.)」は各キャッシュエントリのラインを、「キャッ
シュエントリ」はデータ自身を示し、共に上記データ領
域13aを構成するものであるが、図6(A)ではそのデ
ータがキャッシュに格納されてから更新されたかどうか
をダーティ(更新)/クリーン(未更新)として表記し
てある。ここで括弧内の回数値は、各データが更新され
た時の順番を示している。また、「タグ領域」13bは上
述した如く計算機システムに依存した、キャッシュメモ
リ13操作に必要なビット列を格納する領域であり、「線
形リスト」13cは、各キャッシュエントリ毎に追加され
たライン情報であり、ダーティな状態にあるキャッシュ
エントリの線形リストを構成するための直前にダーティ
となったライン領域の情報が格納される。図中のヌル
(Null)は初期値を示す。
【0028】また、図6(B)に示す「ルート」は、上
記キャッシュメモリ制御回路14のルート処理部14dの具
体構成を例示するもので、線形リストを構築するための
作業領域として、具体的には1ラインの配置情報を格納
できるメモリで構成される。
【0029】CPU11がキャッシュメモリ13のデータ領
域13aへデータを書込む際には、前回ダーティとなった
キャッシュエントリのライン情報であるルートの値を現
キャッシュラインに対応した線形リスト構成情報格納領
域に保存し、ルートを現ラインのライン番号で更新す
る。この一連の操作を図7に示す。
【0030】すなわち、図7は上記線形リスト構成情報
格納領域13cを構築するための処理内容を示すものであ
り、まずダーティとなった現ラインの線形リスト構成情
報格納領域13c該当部分をルート処理部14dの内容で更
新設定し(ステップC1 )、次いでルート処理部14dの
内容をダーティとなった現ラインのラインNo.で更新
設定する(ステップC2 )というものである。
【0031】以上の処理内容について具体的に図6に沿
って動作を追認するものとする。ルート処理部14dには
初期値としてヌル(Null)情報が格納されており、
例えばキャッシュメモリ13のデータ領域13aのラインN
o.3が最初にダーティとなると、ルート処理部14dの
内容が同キャッシュエントリのラインNo.である
“3”に更新される。続いてルート処理部14dの最初の
格納内容であるヌル情報が代わってラインNo.3の線
形リスト構成情報格納領域13cに格納される。
【0032】続いてデータ領域13aのラインNo.2が
ダーティとなると、ルート処理部14dの現情報“3”が
ラインNo.2の線形リスト構成情報格納領域13cへ格
納される。続いてルート処理部14dの内容が同キャッシ
ュエントリのラインNo.である“2”に更新される。
【0033】このような操作を繰返すことで図6に示す
に如く例えば合計5箇所のキャッシュエントリがダーテ
ィとなった時点で、次にキャッシュメモリ13の範囲を限
定したフラッシュ処理を行なうものとする。
【0034】しかるに、範囲限定のフラッシュ処理を実
行した後に、この範囲限定のフラッシュ処理前に最後に
ダーティとなったキャッシュエントリから連続した線形
リスト構成情報格納領域13cを構築するためには、該最
後にダーティとなったキャッシュエントリのライン情報
を保存しておかなければならない。そのために、限定範
囲内のダーティエントリ検索では、限定範囲の開始ライ
ン位置を記憶する開始ラインポインタ14h、同終了ライ
ン位置を記憶する終了ラインポインタ14g、フラッシュ
処理中のライン情報を記憶する現ラインポインタ14e及
びライン情報をバックアップするためのバックアップポ
インタ14fをキャッシュメモリ制御回路14内に設けるも
のである。
【0035】図8(A)は線形リスト構成情報格納領域
13cにしたがった範囲限定でのダーティエントリの検索
を行なう上記キャッシュメモリ13の具体構成を例示する
ものである。ここでは、フラッシュ処理の範囲を限定す
るものとして、例えばラインNo.1とラインNo.2
のみをフラッシュ処理するものとする。
【0036】また、この図8(A)のキャッシュメモリ
13の内容に対応した現ラインポインタ14e、バックアッ
プポインタ14fの記憶内容の具体構成を図8(B),
(C)に例示する。
【0037】以下、図9により上記のようにして構築し
た線形リスト構成情報格納領域13cを基にしたダーティ
エントリの検索及びキャッシュメモリ13の限定された範
囲を対象とするフラッシュ処理について述べる。
【0038】その処理当初には、まず初期設定として最
初にルート処理部14dの値による現ラインポインタ14e
の更新(ステップD1 )及びバックアップポインタ14f
のヌルによる初期化(ステップD2 )を行ない、以後の
フラッシュ処理操作は全て現ラインポインタ14eを使用
して行なうものとする。
【0039】すなわち、現ラインポインタ14eの値を参
照し(ステップD3 )、その値がヌルであるか否か判断
するもので(ステップD4 )、ヌルであればキャッシュ
フラッシュを終了し、そうでなければ現ラインポインタ
14eの示すキャッシュメモリ13のライン領域の線形リス
ト構成情報格納領域13cからライン情報を読出し、これ
をあらたに現ラインポインタ14eに更新設定する(ステ
ップD5 )。
【0040】続いてこの更新設定した現ラインポインタ
14eのライン情報が開始ラインポインタ14h及び終了ラ
インポインタ14gで指定される範囲内にあるか否か判断
し(ステップD6 )、範囲外であればこの現ラインポイ
ンタ14eのライン情報をバックアップポインタ14fに更
新設定した後(ステップD7 )、上記ステップD5 と同
様にこの現ラインポインタ14eの示すキャッシュメモリ
13のライン領域の線形リスト構成情報格納領域13cから
ライン情報を読出し、これをあらたに現ラインポインタ
14eに更新設定し(ステップD8 )、再び上記ステップ
D3 からの処理を繰返す。
【0041】また、上記ステップD6 で現ラインポイン
タ14eのライン情報が開始ラインポインタ14h及び終了
ラインポインタ14gで指定される範囲内にあると判断し
た際には、キャッシュメモリ13の当該ラインをフラッシ
ュ処理し(ステップD9 )、このフラッシュ処理した当
該ラインの線形リスト構成情報格納領域13cのライン情
報で現ラインポインタ14eを更新設定した後に(ステッ
プD10)、該線形リスト構成情報格納領域13cをヌルに
より更新設定する(ステップD11)。
【0042】その後、バックアップポインタ14fの示す
値がヌルであるか否か判断し(ステップD12)、ヌルで
なければバックアップポインタ14fの内容が示すキャッ
シュメモリ13の当該ラインの線形リスト構成情報格納領
域13cを現ラインポインタ14eの値で更新した後(ステ
ップD14)、上記ステップD3 からの処理に戻る。
【0043】また、ステップD12でバックアップポイン
タ14fの内容がヌルであった場合には、最後にダーティ
となったキャッシュメモリのライン領域が上記開始ライ
ンポインタ14h及び終了ラインポインタ14gで指定され
る指定範囲内に含まれていたことを示すので、現ライン
ポインタ14eの値でルート処理部14dを更新し、最後に
ダーティとなったライン情報を更新した後(ステップD
13)、上記ステップD3 からの処理に戻る。
【0044】以上の処理内容についても具体的に図8に
沿って動作を追認するものとする。キャッシュメモリ13
のデータ領域13aのフラッシュ処理のためにダーティエ
ントリを検索するには、検索を開始するキャッシュメモ
リのライン領域のラインNo.“6”をルート処理部14
dから現ラインポインタ14eへコピーし(ステップD1
)、バックアップポインタ14fの内容をヌルで初期化
する(ステップD2 )。
【0045】次にルート処理部14dの内容を参照して値
がヌルであればこのフラッシュ処理を終了するが、最初
に現ラインポインタ14eの示す値が“6”であるため、
これを判断し(ステップD4 )、さらにこのラインN
o.6のライン領域が指定範囲外であることを判断して
(ステップD6 )、現キャッシュラインのラインNo.
“6”をバックアップポインタ14fに退避させ(ステッ
プD7 )、対応する線形リストのライン情報“1”で現
ラインポインタ14eを更新する(ステップD8 )。
【0046】次いで、キャッシュメモリのフラッシュ処
理のために次のダーティエントリを検索するべく、現ラ
インポインタ14eの内容を参照し(ステップD3 )、現
ラインポインタ14eの値が“1”であるためキャッシュ
メモリ13のラインNo.1のライン領域の操作へ進む。
【0047】現ラインが指定範囲内であるためにこれを
判断し(ステップD6 )、ラインNo.1のライン領域
のフラッシュ処理を実行し(ステップD9 )、このライ
ンNo.1の対応する線形リストの内容“5”で現ライ
ンポインタ14eを更新し(ステップD10)、さらに該線
形リストの内容をヌルで更新した後(ステップD11)、
現在のバックアップの値が“6”であるのでこれがヌル
でないと判断してから(ステップD12)、ラインNo.
6のライン領域の線形リストを現ラインポインタ14eの
示す“5”で更新する。
【0048】このような操作を線形リストからヌルが戻
るまで繰返すことにより、指定された範囲内、ここでは
ラインNo.1とラインNo.2にある全てのダーティ
エントリをフラッシュ処理することができるようにな
る。
【0049】[第3実施例]以下本発明の第3実施例に
ついて図面を参照して説明する。図10はその回路構成
を示すもので、21は演算を実行するCPU、22はバス接
続されたメインメモリ、23は上記CPU21と上記メイン
メモリ22が接続されたバスとの間に介在されたキャッシ
ュメモリである。
【0050】キャッシュメモリ23は、CPU21の書込み
によって上記メインメモリ22のデータの一部を保持する
データ領域23aと、このキャッシュメモリ23の操作に必
要なビット列を格納する領域であるタグ領域23bとを有
する。
【0051】そして、このキャッシュメモリ23を制御す
るものとして、キャッシュメモリ制御回路24が設けられ
る。このキャッシュメモリ制御回路24は、フラッシュ処
理を実現するための統括的な制御を行なう制御回路24
a、上記CPU21への割込み要求を発生する割込み要求
発生回路24b、上記キャッシュメモリ13におけるライン
領域がメインメモリ22の対応データと異なる更新された
データを保持する際にそのライン領域を示すライン情報
をテーブルとして保持するテーブル領域24c、上記テー
ブル領域24cの書込み/読出しの際にそのポイント位置
を指示するテーブルポインタ24d及びテーブル領域24c
の記憶容量に応じたテーブルポインタ24dの指示ポイン
トの限界位置を保持する限界ポインタ24eを有する。
【0052】次に上記第3実施例の具体的な動作につい
て説明する。図11(A)はダーティエントリを有する
上記キャッシュメモリ23の状態を、図11(B)は上記
キャッシュメモリ23に対応したキャッシュメモリ制御回
路のテーブル領域24c及びテーブルポインタ24dの状態
を例示するものである。
【0053】図11(A)中、「ライン番号(N
o.)」は各キャッシュエントリのライン位置を示して
いる。また、「キャッシュエントリ」はデータ自身を示
し、図11(A)でデータがキャッシュメモリ23に格納
されてから更新されたかどうかをダーティ(更新)/ク
リーン(未更新)として図中に表記してある。ここで、
括弧内の回数値は、各データが更新された時の順番を示
している。また、「タグ領域」23bは上述した如く計算
機システムに依存した、キャッシュメモリ23操作に必要
なビット列を格納する領域である。
【0054】これに対して図11(B)のテーブル領域
24cは、ダーティエントリのライン情報を格納するため
の記憶領域であり、m個のテーブルエントリから構成さ
れ、テーブルポインタ24dが該テーブル領域24c内での
変位をポイント指示している。ここでテーブル領域24c
のテーブルエントリ数mは、キャッシュメモリ23の全ラ
イン数n分のダーティエントリを対象とした場合では
「m=n」となり、特定ライン数分のダーティエントリ
を対象とした場合では、限界ポインタ24eに設定されて
いる特定数と等しいものとなる。
【0055】図12は上記テーブル領域24cを構築する
ための処理内容を示すフローチャートであり、主として
上記制御回路24aの動作制御により実行されるものであ
る。CPU21がキャッシュメモリ23へデータを書込む際
には、テーブルポインタ24dの指示するテーブル領域24
cのテーブルエントリへダーティとなったラインNo.
を格納させ(ステップE1 )、テーブルポインタ24dを
インクリメントした後に(ステップE2 )、テーブルポ
インタ24dの値が限界ポインタ24eのポイント指示する
テーブル領域24cの特定数となったかを判定する(ステ
ップE3 )。
【0056】限界ポインタ24eの特定数に達していない
場合であれば、このダーティエントリに関する処理は終
了するが、限界ポインタ24eの特定数に達しており、フ
ラッシュ処理を行なう範囲を超過していると判定した場
合には、CPU21からキャッシュメモリ23へこれ以上の
書込みが行なわれないように割込み要求発生回路24bか
らCPU21に対して割込み要求の信号を発生させる。こ
の割込みに対する一連の処理操作を図13に示す。
【0057】図13は上記図12の処理により構築され
た上記テーブル領域24cに基づくキャッシュメモリ13の
フラッシュ処理その他の処理内容を示すフローチャート
であり、主として上記制御回路24aの動作制御により実
行されるものである。
【0058】割込み要求発生回路24bによりCPU21へ
割込み要求の信号を発生させ(ステップF1 )、CPU
21からキャッシュメモリ23へこれ以上の書込みが行なわ
れないようにした制御回路24aは、次いでテーブルポイ
ンタ24dをデクリメントした後に(ステップF2 )、テ
ーブルポインタ24dの値が“0”(図では「Null」
と示す)となったおらず、したがってまだフラッシュ処
理その他の処理が終了していないことを確認する(ステ
ップF3 )。
【0059】その上で制御回路24aは、このテーブルポ
インタ24dの指示ポイントに従ってテーブル領域24cか
らライン情報を読出し、このライン情報に従ったキャッ
シュメモリ23の当該ライン領域をフラッシュ処理する
(ステップF4 )。
【0060】その後、テーブルポインタ24dの指示ポイ
ントに従ってテーブル領域24cの当該テーブルエントリ
を初期化して“0”(Null)を設定し、再び上記ス
テップF1 からの処理を繰返す。
【0061】そして、ステップF3 でテーブルポインタ
24dの値が“0”(Null)となった時点で、この図
13の処理をすべて終了するものである。上記した動作
を図11(A),(B)の内容に沿って追認するものと
する。
【0062】テーブルポインタ24dには最初“0”が格
納されており、キャッシュメモリ23のラインNo.3が
最初にダーティとなると、テーブルポインタ24dによっ
て指定されたテーブル領域24cのNo.0のテーブルエ
ントリに、ダーティエントリのラインNo.であるライ
ン情報“3”が格納され(ステップE1 )、テーブルポ
インタ24dがインクリメントされて“1”となる(ステ
ップE2 )。
【0063】続いてキャッシュメモリ23のラインNo.
2がダーティとなると、テーブルポインタ24dによって
指定されたテーブル領域24cのNo.1のテーブルエン
トリにダーティエントリのラインNo.であるライン情
報“2”が格納され(ステップE1 )、テーブルポイン
タ24dがインクリメントされて“2”となる(ステップ
E2 )。
【0064】このような操作を繰返すことで丁度図11
に示す如くキャッシュメモリ23の合計5箇所のキャッシ
ュエントリがダーティとなった時点で、テーブルポイン
タ24dの値“5”が限界ポインタ24eに予め設定されて
いる特定数“5”と等しくなったと判定されると(ステ
ップE3 )、CPU21からキャッシュメモリ23へこれ以
上の書込みが行なわれないように割込み要求発生回路24
bからCPU21に対して割込み要求の信号を発生させ
(ステップE4 )、図13によるキャッシュメモリ23の
キャッシュ処理を実行する。
【0065】すなわち図13においては、まずCPU21
からキャッシュメモリ23へこれ以上の書込みが行なわれ
ないように上述した書込み抑制の割込み要求をかけた後
(ステップF1 )、続いてテーブルポインタ24dをデク
リメントする(ステップF2)。デクリメントされたテ
ーブルポインタ24dの値が“0”(Null)を示せば
(ステップF3 )、フラッシュ処理は終了となるが、こ
こでデクリメントされたテーブルポインタ24dの値は
“5”を示し、テーブル領域24cのNo.5のエントリ
No.に対応するライン情報は“6”を示すので、キャ
ッシュメモリ23のラインNo.6のライン領域をフラッ
シュ処理し(ステップF4 )、続けてテーブル領域24c
のエントリNo.5に対応するライン情報“6”を初期
化して“0”(Null)とし(ステップF5 )、再び
ステップF1 に戻る。
【0066】引続き割込み要求をかけた後(ステップF
1 )に、テーブルポインタ24dをデクリメントして
“4”とし(ステップF2 )、ステップF3 を介してテ
ーブル領域24cのNo.4のエントリNo.に対応する
ライン情報“1”によりキャッシュメモリ23のラインN
o.1のライン領域をフラッシュ処理し(ステップF4
)、続けてテーブル領域24cのエントリNo.4に対
応するライン情報“1”を初期化して“0”(Nul
l)とし(ステップF5 )、再びステップF1 に戻る。
【0067】このような操作をテーブルポインタ24dの
値が“0”(Null)になるまで繰返すことにより、
キャッシュメモリ23内に存在するダーティエントリを高
速にフラッシュ処理することができる。
【0068】なお、上記実施例ではテーブルポインタ24
dのエントリNo.4が限界ポインタ24eの特定数に達
した時点でキャッシュメモリ23のフラッシュ処理を行な
うこととしたが、特にこの限界ポインタ24eを設けず、
テーブル領域24cの全エントリNo.である値“m”と
なった時点でCPU21へ割込み要求をかけ、図13の処
理を行なうものとしてもよい。
【0069】
【発明の効果】以上詳記した如く本発明によれば、容量
の大きなキャッシュメモリであってもダーティエントリ
をより高速に検索することが可能なキャッシュメモリ制
御装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1実施例に係る回路構成を示すブロ
ック図。
【図2】図1のキャッシュメモリ及びルート処理部の記
憶状態を例示する図。
【図3】同実施例の動作を説明するためのフローチャー
ト。
【図4】同実施例の動作を説明するためのフローチャー
ト。
【図5】本発明の第2実施例に係る回路構成を示すブロ
ック図。
【図6】図5のキャッシュメモリ及びルート処理部の記
憶状態を例示する図。
【図7】同実施例の動作を説明するためのフローチャー
ト。
【図8】図5のキャッシュメモリ、現ラインポインタ及
びバックアップポインタの記憶状態を例示する図。
【図9】同実施例の動作を説明するためのフローチャー
ト。
【図10】本発明の第3実施例に係る回路構成を示すブ
ロック図。
【図11】図10のキャッシュメモリ、テーブル領域及
びテーブルポインタの記憶状態を例示する図。
【図12】同実施例の動作を説明するためのフローチャ
ート。
【図13】同実施例の動作を説明するためのフローチャ
ート。
【図14】従来のキャッシュメモリの構成を例示する
図。
【符号の説明】
11,21…CPU、12,22…メインメモリ、13,23…キャ
ッシュメモリ、13a,23a…データ領域、13b,23b…
タグ領域、13c…線形リスト構成情報格納領域、14,24
…キャッシュメモリ制御回路、14a,24a…制御回路、
14b…タグ情報バッファ、14c…リスト情報バッファ、
14d…ルート処理部、14e…現ラインポインタ、14f…
バックアップポインタ、14g…終了ラインポインタ、14
h…開始ラインポインタ、24b…割込み要求発生回路、
24c…テーブル領域、24d…テーブルポインタ、24e…
限界ポインタ。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 メインメモリのデータの一部を保持する
    キャッシュメモリの更新情報を検索するキャッシュメモ
    リ制御装置において、 該キャッシュメモリのライン領域毎に設けられ、該ライ
    ン領域がメインメモリの対応データと異なる更新された
    データを保持する際に、その直前にデータが更新された
    ライン領域の情報を示すライン情報を記憶する更新記憶
    手段と、 上記更新記憶手段に記憶される最新の更新されたライン
    領域の情報を示すルート情報を記憶するルート記憶手段
    と、 上記ルート記憶手段のルート情報と上記更新記憶手段の
    ライン情報とに基づいて上記キャッシュメモリのライン
    領域を線形リスト状に検索し、各該当ラインのデータを
    上記メインメモリへ書戻すフラッシュ処理を実行するキ
    ャッシュ制御手段とを具備することを特徴とするキャッ
    シュメモリ制御装置。
  2. 【請求項2】 フラッシュ処理するキャッシュメモリの
    範囲の開始ラインを示すポイントを記憶する開始ライン
    ポイント記憶手段と、 フラッシュ処理するキャッシュメモリの範囲の終了ライ
    ンを示すポイントを記憶する終了ラインポイント記憶手
    段とをさらに具備し、 上記キャッシュ制御手段は、上記開始ラインポイント記
    憶手段と上記終了ラインポイント記憶手段の記憶内容で
    示されるキャッシュメモリの範囲のみをフラッシュ処理
    の対象とすることを特徴とする請求項1記載のキャッシ
    ュメモリ制御装置。
  3. 【請求項3】 上記キャッシュ制御手段は該キャッシュ
    メモリのメインメモリの対応データと異なる更新された
    データを保持するライン領域の数が特定値となった時点
    でフラッシュ処理を実行することを特徴とする請求項1
    記載のキャッシュメモリ制御装置。
  4. 【請求項4】 メインメモリのデータの一部を保持する
    キャッシュメモリの更新情報を検索するキャッシュメモ
    リ制御装置において、 上記キャッシュメモリのライン領域のデータがメインメ
    モリの対応データと異なる更新されたデータを保持する
    際にそのライン領域の情報を示すライン情報をテーブル
    として記憶するテーブル記憶手段と、 上記テーブル記憶手段の最新記憶位置をポイント指示す
    るポイント指示手段と、 このポイント指示手段に従って上記テーブル記憶手段に
    記憶されたライン情報を読出し、そのライン情報に従っ
    て上記キャッシュメモリの当該ライン領域を検索してそ
    のデータを上記メインメモリへ書戻すフラッシュ処理を
    実行するキャッシュ制御手段とを具備することを特徴と
    するキャッシュメモリ制御装置。
  5. 【請求項5】 上記テーブル記憶手段に記憶可能な位置
    をポイント指示する限界ポイント指示手段をさらに具備
    し、 上記キャッシュ制御手段は上記ポイント指示手段の指示
    ポイントが上記限界ポイントの指示ポイントと等しくな
    った時点でフラッシュ処理を実行することを特徴とする
    請求項4記載のキャッシュメモリ制御装置。
JP6134696A 1994-06-16 1994-06-16 キャッシュメモリ制御装置 Pending JPH086851A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6134696A JPH086851A (ja) 1994-06-16 1994-06-16 キャッシュメモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6134696A JPH086851A (ja) 1994-06-16 1994-06-16 キャッシュメモリ制御装置

Publications (1)

Publication Number Publication Date
JPH086851A true JPH086851A (ja) 1996-01-12

Family

ID=15134462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6134696A Pending JPH086851A (ja) 1994-06-16 1994-06-16 キャッシュメモリ制御装置

Country Status (1)

Country Link
JP (1) JPH086851A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10320274A (ja) * 1997-03-19 1998-12-04 Toshiba Corp キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10320274A (ja) * 1997-03-19 1998-12-04 Toshiba Corp キャッシュフラッシュ装置及び同装置を備えた計算機システム、記録媒体

Similar Documents

Publication Publication Date Title
CN105830039A (zh) 写入信息存储设备、方法和记录介质
JPH0668736B2 (ja) 2個のシステムクロックサイクルを利用する書込み動作をもったキャッシュメモリユニットを供与する装置及び方法
JPS62231382A (ja) イメ−ジ処理方法及び装置
JP2002149491A (ja) プロセッサメモリシステム
JPH086851A (ja) キャッシュメモリ制御装置
US5684995A (en) Segment division management system
JPH04251347A (ja) ディスクファイル制御装置およびアップデート方法
CN101297274B (zh) 用于实现命令同步以支持多线程非易失性存储器文件系统的方法
JPS6022376B2 (ja) キャッシュメモリ制御装置
JP3037375B2 (ja) ファイル圧縮処理方法
JPH0991195A (ja) ブロックメモリ管理装置
JPH05334194A (ja) 情報処理装置
JP3092663B2 (ja) 主記憶スワッピング方式
JPH05108426A (ja) データフアイル管理方式
JPH0793192A (ja) ファイル管理方法
JPH05151037A (ja) 業務処理中データベース再編成処理方式
JPH05250243A (ja) 拡張記憶装置のデータ処理方式
KR940005774B1 (ko) 확장된 메모리 액세스 방법
JPS6035692B2 (ja) バッファ管理方式
JPS63280349A (ja) フアイル回復方法
JPH0546375A (ja) エデイタ装置
JPS6367213B2 (ja)
JPH0785089A (ja) 文字処理装置
JPS63168723A (ja) デ−タマ−ジ回路
JPH04191926A (ja) 主記憶装置の割り当てサイズ決定方法