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

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

Info

Publication number
JP3163132B2
JP3163132B2 JP30221291A JP30221291A JP3163132B2 JP 3163132 B2 JP3163132 B2 JP 3163132B2 JP 30221291 A JP30221291 A JP 30221291A JP 30221291 A JP30221291 A JP 30221291A JP 3163132 B2 JP3163132 B2 JP 3163132B2
Authority
JP
Japan
Prior art keywords
data
request
cache memory
sub
held
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.)
Expired - Lifetime
Application number
JP30221291A
Other languages
English (en)
Other versions
JPH05143455A (ja
Inventor
司 青木
康一 吉見
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.)
Fujitsu Ltd
PFU Ltd
Original Assignee
Fujitsu Ltd
PFU 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 Fujitsu Ltd, PFU Ltd filed Critical Fujitsu Ltd
Priority to JP30221291A priority Critical patent/JP3163132B2/ja
Publication of JPH05143455A publication Critical patent/JPH05143455A/ja
Application granted granted Critical
Publication of JP3163132B2 publication Critical patent/JP3163132B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、記憶装置と処理装置と
の間に備えられるキャッシュメモリを制御するためのキ
ャッシュメモリ制御装置に関し、特に、処理装置がI/
Oインタフェース装置等である場合に好適となるキャッ
シュメモリ制御装置に関する。
【0002】記憶装置と処理装置との間には、処理装置
の必要とする記憶装置のデータを高速に処理装置に提供
できるようにするために、記憶装置のデータの写しを一
時的に保持するキャッシュメモリを備える構成が採られ
ている。このキャッシュメモリを有効利用していくため
には、処理装置の要求するデータ属性に適合させてキャ
ッシュメモリを制御していく必要がある。
【0003】
【従来の技術】キャッシュメモリは、再利用される可能
性のある記憶装置のデータを一時的に保持する構成を採
って、要求元の処理装置がそのデータを必要とする場合
には、そのデータを処理装置に対して直接提供していく
ことで、処理装置が記憶装置までアクセスに行かなくて
もその要求データを高速に得られるように構成するもの
である。
【0004】従来、このキャッシュメモリに対しては、
最も一般的にはLRU方式に従ってエントリデータのリ
プレース制御を実行していくという方法が採られてい
た。すなわち、最も古くに使用されたデータが今後使用
される確率が低いであろうとの考えに立って、キャッシ
ュメモリのデータエントリが一杯になるときには、最も
古くに使用されたデータを選択して、そのデータに代え
て新たなデータを保持していくという制御方式を採って
いたのである。
【0005】
【発明が解決しようとする課題】確かに、このLRU方
式によるエントリデータのリプレース制御は、CPUと
主記憶装置との間に備えられるキャッシュメモリに対し
ては有効なものである。しかしながら、I/Oインタフ
ェース装置と主記憶装置との間に備えられるキャッシュ
メモリに対しては全く有効なものとならない。すなわ
ち、I/Oインタフェース装置の要求するデータは主記
憶装置上に展開されるアドレス昇順の連続データであ
り、キャッシュメモリが再利用を期待して保持していっ
ても再利用される可能性はまずないという性質を有して
いる。これから、LRU方式によるリプレース制御に従
っていると、ただ単に、キャッシュメモリのエントリデ
ータを順番に書き換えていくだけの制御を実行すること
になって、キャッシュメモリを無駄に使用することにな
るのである。
【0006】本発明はかかる事情に鑑みてなされたもの
であって、記憶装置とI/Oインタフェース装置等との
間に設けられるキャッシュメモリの制御に好適となる新
たなキャッシュメモリ制御装置の提供を目的とするもの
である。
【0007】
【課題を解決するための手段】図1に本発明の原理構成
を図示する。図中、1はデータを管理する記憶装置、2
は記憶装置1の管理するデータを要求する1つ又は複数
の処理装置、3は記憶装置1と処理装置2との間に備え
られるキャッシュメモリ装置である。
【0008】このキャッシュメモリ装置3は、キャッシ
ュメモリ4と、エントリデータ管理手段5と、データ転
送手段6と、ヒットチェック手段7と、要求手段8と、
判断手段9と、設定手段10とを備える。
【0009】このキャッシュメモリ4は、記憶装置1の
管理するデータを一時的に保持するものであって、デー
タエントリを分割することで設けられる対となる2つの
記憶手段11の各々に、記憶装置1から転送されてくる
データを保持する構成を採るものであり、他のデータエ
ントリを持たずに、この2つの記憶手段11だけで構成
されることもある。エントリデータ管理手段5は、キャ
ッシュメモリ4に保持されているデータのアドレス情報
と、それらのデータの有効/無効情報とを管理すること
に加えて、対となる2つの記憶手段11のいずれが新し
いデータを保持しているのかを管理する。データ転送手
段6は、キャッシュメモリ4が処理装置2の要求する要
求データを保持する場合には、この要求データを処理装
置2に転送し、保持していない場合には、記憶装置1か
ら転送されてくるこの要求データを処理装置2に転送す
る。
【0010】ヒットチェック手段7は、処理装置2から
要求データのアドレス情報が与えられると、エントリデ
ータ管理手段5の管理データに従って、キャッシュメモ
リ4のいずれかのデータエントリの持つ対となる2つの
記憶手段11のいずれか一方がその要求データを保持し
ているのかをチェックし、保持している場合には、その
内のいずれの記憶手段11が保持しているのかをチェッ
クする。このヒットチェック手段7により、処理装置2
の要求データがキャッシュメモリ4に保持されているこ
とが判断されると、データ転送手段6は、その要求デー
タを特定された記憶手段11から読み出して処理装置2
に転送していくことになる。要求手段8は、ヒットチェ
ック手段7のチェック結果に従って、キャッシュメモリ
4が処理装置2の要求データを保持するときには、この
要求データを保持する対となる2つの記憶手段11の保
持するデータに続くデータ、保持していないときには、
この要求データとこの要求データに続くデータを記憶装
置1に要求する。
【0011】判断手段9は、記憶装置1から転送されて
くる転送データのアドレス情報が与えられると、エント
リデータ管理手段5の管理データに従って、その転送デ
ータがキャッシュメモリ4のいずれかのデータエントリ
の持つ対となる2つの記憶手段11の保持するデータに
続くデータであるか否かを判断する。設定手段10は、
判断手段9の判断結果に従って、記憶装置1からの転送
データが対となる2つの記憶手段11の保持データに続
くデータであるときには、転送データをその2つの記憶
手段11の内のエントリデータ管理手段5の管理データ
により特定される古い方のデータを保持する記憶手段1
1に保持させ、続くデータでないときには、LRU方式
等の規定のアルゴリズムに従って特定されるキャッシュ
メモリ4のデータエントリの持つ2つの記憶手段11に
保持させていく。
【0012】
【作用】本発明では、処理装置2が連続データを要求す
るときにあってキャッシュメモリ装置3にデータ要求を
発行すると、ヒットチェック手段7は、キャッシュメモ
リ4のいずれかのデータエントリの持つ記憶手段11が
その要求データを保持しているのかをチェックし、この
チェック処理に従ってキャッシュメモリ4が処理装置2
の要求データを保持していることが判断されると、デー
タ転送手段6は、この要求データを処理装置2に転送す
るとともに、要求手段8は、処理装置2からの次のデー
タ要求に対応するために、記憶装置1に対して、要求デ
ータを保持する記憶手段11が対をなす記憶手段11の
保持データよりも古いデータを保持する場合には、その
対をなす記憶手段11の保持データに続くデータ、新し
いデータを保持する場合には、その要求データに続くデ
ータの転送を要求する。以下、この〔作用〕欄では、説
明の便宜上、処理装置2の要求データを保持する記憶手
段11を記憶手段a、この記憶手段aと対をなす記憶手
段11を記憶手段bと表すことにする。
【0013】この転送要求を受け取ると、記憶装置1
は、対応のデータをキャッシュメモリ装置3に転送し、
この転送を受けて、判断手段9は、記憶装置1からの転
送データが記憶手段aと記憶手段bの保持するデータに
続くデータ、すなわち、処理装置2の要求した次のデー
タであることを判断することになるので、設定手段10
は、この転送データを記憶手段aと記憶手段bの内の古
い方のデータを保持する記憶手段11に保持させる。こ
のようにして、処理装置2からのデータ要求に応答して
キャッシュメモリ装置3から要求データが処理装置2に
転送されると、記憶手段a,bには、処理装置2の要求
してきた要求データと、その次に要求してくると考えら
れる要求データとの組み合わせが保持されることにな
る。
【0014】以下、処理装置2が連続データ要求に従っ
て次のデータ要求を発行すると、この処理が繰り返され
ていくことで、キャッシュメモリ4は、記憶手段a,b
に、処理装置2の要求してきた要求データと、その次に
要求してくると考えられる要求データとの組み合わせを
保持し、この保持処理に従って、他のデータエントリを
浪費することなく、処理装置2の要求する要求データを
キャッシュメモリ装置3から直ちに処理装置2に対して
供給できるようになる。
【0015】そして、処理装置2の連続データの要求開
始にあたってキャッシュメモリ装置3に要求データが保
持されていない場合には、要求手段8は、上述の処理を
実現できるようにするために、記憶装置1に対して、処
理装置2の要求してきた要求データとその要求データに
続くデータの転送を要求し、この転送要求に応答して記
憶装置1からデータが転送されてくると、設定手段10
は、この転送データを規定のアルゴリズムに従って特定
されるキャッシュメモリ4のデータエントリの持つ2つ
の記憶手段11に保持させていくよう処理することにな
る。
【0016】このように、本発明によれば、記憶装置1
と処理装置2との間に備えられるキャッシュメモリに対
して、処理装置2が連続データを要求するような場合
に、キャッシュメモリを無駄に使用することなくプリフ
ェッチによる要求データのヒットを実現することが可能
になるので、処理装置2がI/Oインタフェース装置等
である場合に極めて効率的なキャッシュ制御を実現でき
るのである。
【0017】
【実施例】以下、実施例に従って本発明を詳細に説明す
る。図2に、本発明の適用されるデータ処理装置のシス
テム構成の一例を図示する。このデータ処理装置は、こ
の図に示すように、複数のCPU20を展開するCPU
ボード21と、主記憶装置22と、CPUボード21に
接続されて図示しないI/Oインタフェース装置等との
間のインタフェース処理を実行する1つ又は複数のバス
変換装置23とから構成される。ここで、図中の24は
CPUボード21の備えるメモリコントローラ、25は
CPUボード21の備える誤り符号訂正装置、26はC
PUボード21の備えるシステムコントローラ、27は
CPUボード21の備えるバッファ、28はCPUボー
ド21とバス変換装置23との間を接続するシステムバ
スである。
【0018】図3に、I/Oインタフェース装置と接続
されるバス変換装置23のブロック構成を図示する。こ
の図に示すように、このバス変換装置23は、システム
バス28との間のインタフェース処理を実行するバスイ
ンタフェース部30と、アドレス変換処理を実行するア
ドレス変換機構31と、キャッシュメモリを内蔵するキ
ャッシュLSI32と、キャッシュLSI32の制御を
実行するキャッシュ制御LSI33と、I/Oバスとの
間の信号の送受信を実行するドライバ/レシーバ34と
から構成されるものである。ここで、CPU20が主記
憶装置22のデータを書き換える場合には、キャッシュ
LSI32に対してそのデータのアドレスがスヌープア
ドレスとして通知され、この通知されるスヌープアドレ
スに従って、キャッシュLSI32のキャッシュメモリ
のエントリデータの無効化処理が実行されることにな
る。
【0019】このバス変換装置23の備えるキャッシュ
LSI32の回路構成の一実施例を図4に図示する。図
中、40は主記憶データの写しを保持するキャッシュメ
モリ、41はキャッシュメモリ40に保持されるデータ
のタグ情報等を管理する例えば16個設けられるTAG
管理部、42はキャッシュメモリ40の保持するデータ
の使用履歴情報を管理するLRU管理部、43はCPU
ボード21から与えられるアドレス情報(PA:物理ア
ドレス,VA:物理アドレス)をラッチするバッファ、
44はCPUボード21から与えられるスヌープアドレ
ス情報をラッチするバッファ、45はキャッシュメモリ
40のコントロール処理を実行するキャッシュコントロ
ーラである。
【0020】本発明では、図5に示すように、キャッシ
ュメモリ40のデータエントリ(例えば64バイトの格
納領域を持つ)に対して、タグ管理部41のタグエント
リの1つにつき2つのデータの格納場所(以下、サブブ
ロックと称する)を持たせる構成を採って、図1で説明
したように、データ要求元から要求される連続するアド
レス昇順の主記憶データを交互にこのサブブロックに保
持していく構成を採るものであり、この構成に対応し
て、TAG管理部41は、図4に示すように、新たに、
2つのサブブロックに格納されているデータが有効か否
かを表示する2つのバリッドビット(V0,V1)を管
理する構成を採るとともに、図示しないI/Oインタフ
ェース装置の要求する要求データが2つのサブブロック
に格納されているか否か、格納されている場合には、い
ずれのサブブロックに格納されているかをチェックする
ヒットチェック機構46と、CPUボード21から転送
されてくる転送データが2つのサブブロックの保持する
データに続くデータであるか否かをチェックする隣接チ
ェック機構47とを備える構成を採るものである。
【0021】ここで、新たに管理する2つのバリッドビ
ットV0,V1の内、バリッドビットV1は、新しい方
のデータを保持しているサブブロックの保持データが有
効であるか否かを表示するものであり、バリッドビット
V0は、古い方のデータを保持しているサブブロックの
保持データが有効であるか否かを表示するものである。
また、図中の48は従来から備えれているスヌープチェ
ック機構であって、CPUボード21から転送されてく
るスヌープアドレスに従って、キャッシュメモリ40の
エントリデータの無効化処理が必要であるか否かをチェ
ックすることになる。
【0022】図6に、図4に示したTAG管理部41の
詳細な回路構成の一実施例を図示する。図中、図4で説
明したものと同じものについては同一の記号で示してあ
る。49はタグ情報を格納するタグメモリ部、50はバ
リッドビットV1を管理するフリップフロップ回路、5
1はバリッドビットV0を管理するフリップフロップ回
路、52はフリップフロップ回路50,51のセット・
リセット処理を実行するバリッドビット設定回路、53
はサブブロックの選択信号を生成するサブブロック選択
信号生成回路である。ここで、このタグメモリ部49
は、上述した2つのサブブロックの保持するデータにつ
いては、アドレス昇順に転送されてくるデータの大きい
方のアドレスの持つタグ情報、すなわち新しい方のデー
タのアドレスの持つタグ情報を管理する構成が採られる
ことになる。なお、図4に示したスヌープチェック機構
48は、本発明に特徴的なものではないのでこの実施例
では省略してある。
【0023】次に、この図6の実施例のヒットチェック
機構46、隣接チェック機構47、バリッドビット設定
回路52、サブブロック選択信号生成回路53について
詳述する。
【0024】この実施例のヒットチェック機構46は、
データ要求元のI/Oインタフェース装置から送られて
くる要求データアドレスの持つタグ(Ah)と、この要
求データアドレスに含まれる索引アドレスを検索キーに
してタグメモリ部49から読み出されるタグ(T)との
減算値である“Ah−T”を算出する加算器461と、
加算器461の出力値がオール0値であるか否かを検出
する検出器462と、加算器461の出力値がオール1
値であるか否かを検出する検出器463と、検出器46
2がオール0値を検出し、かつ、フリップフロップ回路
50が有効データであることを表示するときにヒット信
号を出力するAND回路464と、検出器463がオー
ル1値を検出し、かつ、フリップフロップ回路51が有
効データであることを表示するときにヒット信号を出力
するAND回路465と、2つのAND回路464,4
65のいずれ一方がヒット信号を出力するときに、キャ
ッシュコントローラ45に対してヒット信号を出力する
OR回路466とから構成されるものである。
【0025】この構成に従い、ヒットチェック機構46
は、データ要求元の要求するデータの持つタグ(Ah)
がタグメモリ部49の管理するサブブロックについての
最新のタグ(T)と同一である場合、すなわち、データ
要求元の要求するデータが2つのサブブロックの保持す
るデータの内の新しい方のデータである場合には、検出
器462が加算器461の出力値がオール0値であるこ
とを検出することで、キャッシュコントローラ45に対
してヒット信号を出力し、一方、データ要求元の要求す
るデータの持つタグ(Ah)がタグメモリ部49の管理
するサブブロックについての最新のタグ(T)よりも1
つ前のデータ転送単位の持つタグである場合、すなわ
ち、データ要求元の要求するデータが2つのサブブロッ
クの保持するデータの内の古い方のデータである場合に
は、この2つのタグの差分値である“−1”の補数表現
値“1”に対応して検出器463が加算器461の出力
値がオール1値であることを検出することで、キャッシ
ュコントローラ45に対してヒット信号を出力していく
よう動作することになる。
【0026】この実施例の隣接チェック機構47は、C
PUボード21から転送されてくる主記憶データの転送
データアドレスの持つタグ(Ar)と、この転送データ
アドレスに含まれる索引アドレスを検索キーにしてタグ
メモリ部49から読み出されるタグ(T)との減算値で
ある“Ar−T”から、更に1つ後のデータ転送単位の
持つタグに対応する“1”を減算した“Ar−T−1”
を算出する加算器471と、加算器471の出力値がオ
ール0値であるか否かを検出する検出器472と、検出
器472がオール0値を検出し、かつ、フリップフロッ
プ回路50が有効データである表示するときにキャッシ
ュコントローラ45に対して隣接信号を出力するAND
回路473とから構成されるものである。
【0027】この構成に従い、隣接チェック機構47
は、加算器471の算出する“Ar−T−1”の値がオ
ール0値であることで、CPUボード21から転送され
てくるデータの持つタグ(Ar)がタグメモリ部49の
管理するサブブロックについての最新のタグ(T)より
も1つ後のデータ転送単位の持つタグである場合、すな
わち、CPUボード21から転送されてくるデータが2
つのサブブロックの保持するデータに続く次のデータ転
送単位のデータである場合には、検出器472が加算器
471の出力値がオール0値であることを検出すること
で、キャッシュコントローラ45に対して隣接信号を出
力していくよう動作することになる。
【0028】バリッドビット設定回路52は、タグメモ
リ部49に対して2つのサブブロックの保持するデータ
についてのタグ情報の書込信号が送出されると、すなわ
ち、キャッシュメモリ40に対して新たなデータが書き
込まれるときには、有効なタグ情報が登録されたことに
対応して、対応するフリップフロップ回路50,51の
保持値を“1”に設定していくよう動作し、一方、スヌ
ープアドレスが通知されるときには、タグメモリ部49
に登録されているタグ情報が無効なものになったことに
対応して、対応するフリップフロップ回路50,51の
保持値を“0”に設定していくよう動作することにな
る。
【0029】サブブロック選択信号生成回路53は、ヒ
ットチェック機構46がヒット信号を出力するときに、
そのヒット信号がAND回路464から送出されるとき
には、バリッドビットV1の方のサブブロックを選択す
る選択信号、AND回路465から送出されるときに
は、バリッドビットV0の方のサブブロックを選択する
選択信号を出力するよう動作するとともに、キャッシュ
メモリ40のデータをリプレースするときに必要となる
古い方のデータに対応付けられるバリッドビットV0の
方のサブブロックを選択する選択信号を出力するよう動
作する。この動作処理を実現するために、サブブロック
選択信号生成回路53は、サブブロックの保持するデー
タのデータ長が32バイトであるときには、タグメモリ
部49の管理するタグ情報の第5ビット信号値の反転値
をデータリプレース時のサブブロック選択信号として出
力していくとともに、この第5ビット信号値を元に戻す
インバータ回路531と、インバータ回路531の出力
値とAND回路465の出力値との排他的論理和値を出
力するEOR回路532とを備えて、このEOR回路5
32の出力値をヒット時のサブブロック選択信号として
出力していく構成を採るものである。
【0030】上述したように、本発明では、データ要求
元から要求される連続するアドレス昇順の主記憶データ
“A→B→C→…”を交互に2つのサブブロックに保持
させていく構成を採るものであることから、図7に示す
ように、0側のサブブロックにサブブロックデータAが
保持されるときに、1側のサブブロックに1つ後のデー
タ転送単位となるサブブロックデータBが保持される場
合(図中の要求)と、1側のサブブロックにサブブロ
ックデータBが保持されるときに、0側のサブブロック
に1つ後のデータ転送単位となるサブブロックデータC
が保持される場合(図中の要求)という2つの保持形
態ができることなる。このとき、前者の保持形態では、
0側のサブブロックのデータがバリッドビットV0に対
応付けられるとともに、1側のサブブロックのデータが
バリッドビットV1に対応付けられ、後者の保持形態で
は、0側のサブブロックのデータがバリッドビットV1
に対応付けられるとともに、1側のサブブロックのデー
タがバリッドビットV0に対応付けられることになる。
そして、サブブロックデータのデータ長が32バイトで
あることから、32バイト境界に対応して、サブブロッ
クデータAの第5ビット信号値は“0”、サブブロック
データBの第5ビット信号値は“1”、サブブロックデ
ータCの第5ビット信号値は“0”であることから、タ
グメモリ部49の出力するタグ情報の第5ビット信号値
は、前者の保持形態では“1”、後者の保持形態では
“0”となる。
【0031】これから、サブブロック選択信号生成回路
53は、前者の保持形態のときには、タグメモリ部49
の管理するタグ情報の第5ビット信号値の反転値である
“0”を出力することで、バリッドビットV0のデータ
を保持する0側のサブブロックを選択する選択信号を出
力し、一方、後者の保持形態のときには、タグメモリ部
49の管理するタグ情報の第5ビットの信号値の反転値
である“1”を出力することで、バリッドビットV0の
データを保持する1側のサブブロックを選択する選択信
号を出力していく。すなわち、常に、古い方のデータを
管理するサブブロックを選択する選択信号を出力してい
くことで、キャッシュメモリ40のデータを書き換える
時に必要とされる選択信号を出力していくのである。
【0032】そして、サブブロック選択信号生成回路5
3のEOR回路532は、AND回路465がヒット信
号を出力するとき、すなわち、バリッドビットV0の方
のデータでヒット信号が発生するときにあって、前者の
保持形態のときには、インバータ回路531の出力値
“1”とAND回路465の出力値“1”との入力を受
けて“0”を出力することで、バリッドビットV0のデ
ータを保持する0側のサブブロックを選択する選択信号
を出力し、後者の保持形態のときには、インバータ回路
531の出力値“0”とAND回路465の出力値
“1”との入力を受けて“1”を出力することで、バリ
ッドビットV0のデータを保持する1側のサブブロック
を選択する選択信号を出力する。一方、AND回路46
4がヒット信号を出力するとき、すなわち、バリッドビ
ットV1の方のデータでヒット信号が発生するときにあ
って、前者の保持形態のときには、インバータ回路53
1の出力値“1”とAND回路465の出力値“0”と
の入力を受けて“1”を出力することで、バリッドビッ
トV1のデータを保持する1側のサブブロックを選択す
る選択信号を出力し、後者の保持形態のときには、イン
バータ回路531の出力値“0”とAND回路465の
出力値“0”との入力を受けて“0”を出力すること
で、バリッドビットV1のデータを保持する0側のサブ
ブロックを選択する選択信号を出力する。このようにし
て、サブブロック選択信号生成回路53は、ヒットチェ
ック機構46の検出するヒット先のサブブロックを選択
する選択信号を出力していくのである。
【0033】TAG管理部41の隣接チェック機構47
は、上述したように、CPUボード21から転送されて
くるデータが2つのサブブロックの保持するデータに続
く次のデータ転送単位のデータである場合には隣接信号
を出力していくよう動作することになるが、複数設けら
れるいずれかのTAG管理部41の隣接チェック機構4
7が隣接信号を出力するときには、CPUボード21か
ら転送されてくるデータの持つタグはその隣接信号を発
生するTAG管理部41のタグエントリに登録される構
成が採られ、一方、どのTAG管理部41の隣接チェッ
ク機構47も隣接信号を出力しないときには、図4に示
したLRU管理部42の決定するTAG管理部41のタ
グエントリに登録される構成が採られることになる。す
なわち、図8に示すように、各TAG管理部41の出力
する隣接信号の論理和値を出力するOR回路60から隣
接信号が出力されるときには、マルチプレクサ61が、
隣接信号を発生したTAG管理部41のタグエントリを
選択し、逆に隣接信号が出力されないときには、LRU
管理部42の決定するTAG管理部41のタグエントリ
を選択していくことで、リプレースされるタグエントリ
が選択される構成が採られるのである。
【0034】次に、このように構成される実施例の動作
処理について詳細に説明する。データ要求元となるI/
Oインタフェース装置がバス変換装置23に対して、連
続する主記憶データのデータ転送開始の先頭アドレスを
指定してデータ要求を発行すると、TAG管理部41の
タグメモリ部49は、管理するタグ情報の中から要求デ
ータの持つ索引アドレスの指定するタグを読み出し、ヒ
ットチェック機構46は、この読み出されたタグと、I
/Oインタフェース装置の発行してきた先頭アドレスの
持つタグとから、その索引アドレスの指すキャッシュメ
モリ40の2つのサブブロックに要求データが保持され
ているか否かをチェックして、そのチェック結果をキャ
ッシュコントローラ45に通知していく。
【0035】この通知処理に従って、すべてのTAG管
理部41のヒットチェック機構46が要求データの非保
持を判断すると、キャッシュコントローラ45は、CP
Uボード21に対して、I/Oインタフェース装置の発
行してきた先頭アドレスと、その先頭アドレスの32バ
イト後に続く次のデータ転送単位の先頭アドレスとを指
定して主記憶データの転送要求を発行する。そして、こ
の発行要求に応答してCPUボード21から要求した連
続する2つの32バイトのデータが転送されてくると、
図8で説明したようにLRU管理部42の決定処理が有
効なものとなるので、キャッシュコントローラ45は、
この転送されてきたデータをLRU管理部42の決定し
たキャッシュメモリ40のデータエントリの持つ2つの
サブブロックに保持していくとともに、タグメモリ部4
9の対応のタグエントリにそのアドレスの大きい方の転
送データ(次にI/Oインタフェース装置が要求するこ
とになるデータであり、バリッドビットV1が割り付け
られる)の持つタグを登録する。そして、更に、CPU
ボード21から転送されてきたI/Oインタフェース装
置の要求する要求データをI/Oインタフェース装置に
転送していく。
【0036】続いて、I/Oインタフェース装置が連続
する主記憶データの次のデータ転送単位の先頭アドレス
を指定してデータ要求を発行すると、上述の処理に従っ
てその要求データがプリフェッチされてキャッシュメモ
リ40の対応のサブブロック(バリッドビットV1が割
り付けられている)に保持されているので、対応のTA
G管理部41のヒットチェック機構46がヒット信号を
出力していくことになる。そして、このヒット信号の通
知とともに、そのTAG管理部41のサブブロック選択
信号生成回路53がバリッドビットV1のサブブロック
選択信号を出力してくるので、キャッシュコントローラ
45は、このサブブロック選択信号の指定するサブブロ
ックからデータを読み出してI/Oインタフェース装置
に転送していくことで、I/Oインタフェース装置の要
求するデータを直ちに返送していく処理を実行する。続
いて、キャッシュコントローラ45は、I/Oインタフ
ェース装置の発行してきた先頭アドレスの32バイト後
に続く次のデータ転送単位の先頭アドレスを指定してC
PUボード21に対し主記憶データの転送要求を発行
し、この発行要求に応答してCPUボード21から要求
した32バイトのデータが転送されてくると、その転送
要求を発行したTAG管理部41の隣接チェック機構4
7が隣接信号を出力してくることを確認してから、サブ
ブロック選択信号生成回路53がリプレース用に出力し
てくるサブブロック選択信号の指定するバリッドビット
V0のサブブロックにその転送されてくるデータを保持
して、バリッドビットV0,1の更新処理を実行してい
く。
【0037】以下、同様にして、キャッシュコントロー
ラ45は、I/Oインタフェース装置が次に要求してく
るデータをバリッドビットV1に対応付けられるサブブ
ロックに保持し、前回I/Oインタフェース装置に対し
て転送したデータをバリッドビットV0に対応付けられ
るサブブロックに保持していくように制御していくこと
になる。
【0038】このようにして、キャッシュコントローラ
45は、I/Oインタフェース装置の要求する連続する
主記憶データの転送開始の先頭データAがキャッシュメ
モリ40に展開されていないときには、主記憶装置22
からその先頭データAとそれに続くデータBとを読み出
して、LRU管理部42の決定するデータエントリの持
つ2つのサブブロックに保持させていくとともに、要求
されたデータAをI/Oインタフェース装置に転送して
いく。そして、続いて、I/Oインタフェース装置から
次のデータであるデータBのデータ要求があると、プリ
フェッチしてあるデータBを直ちにI/Oインタフェー
ス装置に転送していくとともに、主記憶装置22からデ
ータBに続くデータCを読み出して、古くなったデータ
Aに代えて保持させていく。以下、この処理を繰り返し
ていくことで、LRU管理部42の決定したデータエン
トリの2つのサブブロックに対して、 (A,B)→(C,B)→(C,D)→(E,D)→… というように、交互にI/Oインタフェース装置の要求
する要求データを格納していくことで、キャッシュメモ
リ40のデータエントリを無駄に用いることなく、プリ
フェッチの効果により直ちに要求データをI/Oインタ
フェース装置に転送していくよう処理していくのであ
る。
【0039】次に、データ要求元となるI/Oインタフ
ェース装置がバス変換装置23に対して、連続する主記
憶データのデータ転送開始の先頭アドレスを指定してデ
ータ要求を発行するときにおいて、その要求データが既
にキャッシュメモリ40のサブブロックに保持されてい
るときに実行することになる処理について説明する。こ
こで、上述したように、連続データをアクセスしていな
い場合には、連続する32バイトの2つのデータが一度
にフェッチされる構成が採られるので、この要求される
データを保持するサブブロックにはバリッドビットV0
が割り付けられることになる。
【0040】データ要求の開始時に要求データがキャッ
シュメモリ40のサブブロックに保持されている場合に
も、対応のTAG管理部41のヒットチェック機構46
がヒット信号を出力していくことになる。そして、この
ヒット信号の通知とともに、そのTAG管理部41のサ
ブブロック選択信号生成回路53がバリッドビットV0
のサブブロック選択信号を出力してくるので、キャッシ
ュコントローラ45は、このサブブロック選択信号の指
定するサブブロックからデータを読み出してI/Oイン
タフェース装置に転送していくことで、I/Oインタフ
ェース装置の要求するデータを直ちに返送していく処理
を実行する。続いて、キャッシュコントローラ45は、
I/Oインタフェース装置の発行してきた先頭アドレス
の64バイト後に続く次の次のデータ転送単位の先頭ア
ドレスを指定してCPUボード21に対し主記憶データ
の転送要求を発行し、この発行要求に応答してCPUボ
ード21から要求した32バイトのデータが転送されて
くると、その転送要求を発行したTAG管理部41の隣
接チェック機構47が隣接信号を出力してくることを確
認してから、サブブロック選択信号生成回路53がリプ
レース用に出力してくるサブブロック選択信号の指定す
るバリッドビットV0のサブブロックにその転送されて
くるデータを保持して、バリッドビットV0,1の更新
処理を実行していく。
【0041】続いて、I/Oインタフェース装置が連続
する主記憶データの次のデータ転送単位の先頭アドレス
を指定してデータ要求を発行すると、その要求データも
既にキャッシュメモリの対応のサブブロック(バリッド
ビットV0が割り付けられている)に保持されているの
で、対応のTAG管理部41のヒットチェック機構46
がヒット信号を出力していくことになる。そして、この
ヒット信号の通知とともに、そのTAG管理部41のサ
ブブロック選択信号生成回路53がバリッドビットV0
のサブブロック選択信号を出力してくるので、キャッシ
ュコントローラ45は、このサブブロック選択信号の指
定するサブブロックからデータを読み出してI/Oイン
タフェース装置に転送していくことで、I/Oインタフ
ェース装置の要求するデータを直ちに返送していく処理
を実行する。続いて、キャッシュコントローラ45は、
I/Oインタフェース装置の発行してきた先頭アドレス
の64バイト後に続く次の次のデータ転送単位の先頭ア
ドレスを指定してCPUボード21に対し主記憶データ
の転送要求を発行し、この発行要求に応答してCPUボ
ード21から要求した32バイトのデータが転送されて
くると、その転送要求を発行したTAG管理部41の隣
接チェック機構47が隣接信号を出力してくることを確
認してから、サブブロック選択信号生成回路53がリプ
レース用に出力してくるサブブロック選択信号の指定す
るバリッドビットV0のサブブロックにその転送されて
くるデータを保持して、バリッドビットV0,1の更新
処理を実行していく。
【0042】以下、同様にして、キャッシュコントロー
ラ45は、I/Oインタフェース装置が次に要求してく
るデータをバリッドビットV0に対応付けられるサブブ
ロックに保持し、I/Oインタフェース装置が次の次に
要求してくるデータをバリッドビットV1に対応付けら
れるサブブロックに保持していくように制御していくこ
とになる。
【0043】このようにして、キャッシュコントローラ
45は、I/Oインタフェース装置の要求する連続する
主記憶データの転送開始の先頭データAとそれに続くデ
ータBとがキャッシュメモリ40に展開されているとき
には、既展開の要求されたデータAを直ちにI/Oイン
タフェース装置に転送していくとともに、主記憶装置2
2からデータBに続くデータCを読み出して、古くなっ
たデータAに代えて保持させていく。そして、続いて、
I/Oインタフェース装置から次のデータであるデータ
Bのデータ要求があると、既展開の要求されたデータB
を直ちにI/Oインタフェース装置に転送していくとと
もに、主記憶装置22からデータCに続くデータDを読
み出して、古くなったデータBに代えて保持させてい
く。そして、続いて、I/Oインタフェース装置から次
のデータであるデータCのデータ要求があると、プリフ
ェッチしてあるデータCを直ちにI/Oインタフェース
装置に転送していくとともに、主記憶装置22からデー
タDに続くデータEを読み出して、古くなったデータC
に代えて保持させていく。以下、この処理を繰り返して
いくことで、先頭データAとそれに続くデータBとを保
持していた2つのサブブロックに対して、 (A,B)→(C,B)→(C,D)→(E,D)→… というように、交互にI/Oインタフェース装置の要求
する要求データを格納していくことで、キャッシュメモ
リ40のデータエントリを無駄に用いることなく、プリ
フェッチの効果により直ちに要求データをI/Oインタ
フェース装置に転送していくよう処理していくのであ
る。
【0044】図示実施例について説明したが、本発明は
これに限定されるものではない。例えば、実施例では、
主記憶装置とI/Oインタフェース装置との間に設けら
れるキャッシュメモリに従って本発明を開示したが、本
発明は、このようなキャッシュメモリに限られるもので
はないのである。
【0045】
【発明の効果】以上説明したように、本発明によれば、
処理装置が連続データを要求するような場合に、処理装
置と記憶装置との間に備えられるキャッシュメモリが、
メモリを無駄に使用することなく処理装置の要求するデ
ータを保持していくことができるようになるのである。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の適用されるデータ処理装置のシステム
構成の一例である。
【図3】バス変換装置のブロック構成図である。
【図4】キャッシュLSIの回路構成の一実施例であ
る。
【図5】本発明のキャッシュデータの格納構成の一実施
例である。
【図6】TAG管理部の回路構成の一実施例である。
【図7】サブブロック選択信号生成回路の動作処理の説
明図である。
【図8】リプレース対象のタグエントリの選択処理構成
の一実施例である。
【符号の説明】
1 記憶装置 2 処理装置 3 キャッシュメモリ装置 4 キャッシュメモリ 5 エントリデータ管理手段 6 データ転送手段 7 ヒットチェック手段 8 要求手段 9 判断手段 10 設定手段 11 記憶手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 吉見 康一 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 平1−230153(JP,A) 特開 昭50−3736(JP,A) 特開 昭59−225427(JP,A) 特開 平1−223545(JP,A) 特開 平3−116345(JP,A) 特開 平4−365157(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12 G06F 5/06 G06F 13/12 G06F 13/28 G06F 13/36 G06F 13/38

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 記憶装置のデータを一時的に保持するキ
    ャッシュメモリを備え、該記憶装置の管理するデータを
    要求する1つ又は複数の処理装置からの要求データを保
    持するときには、該要求データを該処理装置に転送する
    キャッシュメモリ制御装置において、 上記キャッシュメモリは、その複数のデータエントリの
    それぞれが複数のサブブロックで構成され、 上記処理装置からデータ要求があるときに、いずれかの
    データエントリの持ついずれかのサブブロックが要求デ
    ータを保持するときには、該要求データを保持している
    データエントリの保持するデータに続くデータを上記記
    憶装置に要求する要求手段と、 上記記憶装置から上記キャッシュメモリに対してデータ
    が転送されてくるときに、該データがいずれかのデータ
    エントリの保持するデータに続くデータであるのか否か
    を判断する判断手段と、 上記判断手段が上記記憶装置からの転送データをいずれ
    かのデータエントリの保持するデータに続くデータであ
    ると判断するときには、該転送データを、そのデータエ
    ントリを構成する複数のサブブロックの内の最も古いデ
    ータを保持するサブブロックに保持させる設定手段とを
    備えることを、 特徴とするキャッシュメモリ制御装置
  2. 【請求項2】 請求項1記載のキャッシュメモリ制御
    において、上記要求手段は、いずれのデータエントリの持ついずれ
    のサブブロックも要求データを保持していないときに
    は、該要求データと該要求データに続くデータとを上記
    記憶装置に要求するよう処理することを、 特徴とするキャッシュメモリ制御装置
  3. 【請求項3】 請求項1記載のキャッシュメモリ制御装
    置において、 上記設定手段は、上記判断手段が上記記憶装置からの転
    送データをいずれのデータエントリの保持するデータに
    続くデータでもないと判断するときには、該転送データ
    を、規定のアルゴリズムに従って特定されるデータエン
    トリの持ついずれかのサブブロックに保持させるよう処
    理することを、 特徴とするキャッシュメモリ制御装置。
JP30221291A 1991-11-19 1991-11-19 キャッシュメモリ制御装置 Expired - Lifetime JP3163132B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30221291A JP3163132B2 (ja) 1991-11-19 1991-11-19 キャッシュメモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30221291A JP3163132B2 (ja) 1991-11-19 1991-11-19 キャッシュメモリ制御装置

Publications (2)

Publication Number Publication Date
JPH05143455A JPH05143455A (ja) 1993-06-11
JP3163132B2 true JP3163132B2 (ja) 2001-05-08

Family

ID=17906306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30221291A Expired - Lifetime JP3163132B2 (ja) 1991-11-19 1991-11-19 キャッシュメモリ制御装置

Country Status (1)

Country Link
JP (1) JP3163132B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3011044B2 (ja) * 1995-03-13 2000-02-21 日本電気株式会社 入出力制御装置
WO2003093980A2 (en) * 2002-04-30 2003-11-13 Koninklijke Philips Electronics N.V. Apparatus and method for fetching data from memory

Also Published As

Publication number Publication date
JPH05143455A (ja) 1993-06-11

Similar Documents

Publication Publication Date Title
TW591384B (en) Method and system for speculatively invalidating lines in a cache
US5557769A (en) Mechanism and protocol for maintaining cache coherency within an integrated processor
US6366984B1 (en) Write combining buffer that supports snoop request
US7290094B2 (en) Processor, data processing system, and method for initializing a memory block to an initialization value without a cache first obtaining a data valid copy
US8234456B2 (en) Apparatus and method for controlling the exclusivity mode of a level-two cache
US8495308B2 (en) Processor, data processing system and method supporting a shared global coherency state
US7444494B2 (en) Data processing system and method for predictively selecting a scope of broadcast of an operation utilizing a history-based prediction
US6195729B1 (en) Deallocation with cache update protocol (L2 evictions)
US6981106B1 (en) System and method for accelerating ownership within a directory-based memory system
US20080046651A1 (en) Victim Cache Using Direct Intervention
EP0683457A1 (en) A computer system including a snoop control circuit
US6260117B1 (en) Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency
US20080046658A1 (en) Data Processing System and Method for Predictively Selecting a Scope of a Prefetch Operation
JPH10254773A (ja) アクセス方法、処理装置およびコンピュータ・システム
JPH07253928A (ja) 2重化キャッシュ・スヌープ機構
JPH10154100A (ja) 情報処理システム及び装置及びその制御方法
US7467262B2 (en) Data processing system, cache system and method for scrubbing a domain indication in response to execution of program code
US6842822B2 (en) System and method for cache external writing
US20040111566A1 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
US7669013B2 (en) Directory for multi-node coherent bus
US7577890B2 (en) Systems and methods for mitigating latency associated with error detection and correction
US8725954B2 (en) Information processing apparatus and memory control apparatus
JP3129224B2 (ja) キャッシュメモリ装置
JP3163132B2 (ja) キャッシュメモリ制御装置
KR100380674B1 (ko) 멀티프로세서 시스템에서의 기록-통과 기억 동작동안 캐시코히어런스를 유지하는 방법 및 시스템

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010206

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080223

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090223

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090223

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100223

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110223

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110223

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120223

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120223

Year of fee payment: 11