JPH08314803A - ディスクキャッシュ制御装置 - Google Patents
ディスクキャッシュ制御装置Info
- Publication number
- JPH08314803A JPH08314803A JP7123505A JP12350595A JPH08314803A JP H08314803 A JPH08314803 A JP H08314803A JP 7123505 A JP7123505 A JP 7123505A JP 12350595 A JP12350595 A JP 12350595A JP H08314803 A JPH08314803 A JP H08314803A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- register
- access address
- access
- hit determination
- 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)【要約】
【目的】 不要なプリフェッチによるヒット率低下を防
ぐ。 【構成】 ディスク装置300を制御するDMAコント
ローラ110と、アドレスタグを格納するタグメモリ1
20と、ブロックデータを格納するデータメモリ130
と、最新のラインのアクセスアドレスを格納するレジス
タA140と、最新よりも1回前のアクセスアドレスを
格納するレジスタB150と、アクセスアドレスに
“1”を加算する加算器160と、プリフェッチするラ
インのアクセスアドレスを比較結果が一致した場合に格
納するレジスタC170と、比較結果が一致した場合に
キャッシュアクセスコマンドの実行状態を監視し終了後
にキャッシュヒット判定を指示するプリフェッチ制御手
段190と、これからキャッシュコントローラ200に
キャッシュヒット判定を指示しヒット判定結果がミスし
た場合にプリフェッチ要求を行うプリフェッチ要求手段
210とを備えている。
ぐ。 【構成】 ディスク装置300を制御するDMAコント
ローラ110と、アドレスタグを格納するタグメモリ1
20と、ブロックデータを格納するデータメモリ130
と、最新のラインのアクセスアドレスを格納するレジス
タA140と、最新よりも1回前のアクセスアドレスを
格納するレジスタB150と、アクセスアドレスに
“1”を加算する加算器160と、プリフェッチするラ
インのアクセスアドレスを比較結果が一致した場合に格
納するレジスタC170と、比較結果が一致した場合に
キャッシュアクセスコマンドの実行状態を監視し終了後
にキャッシュヒット判定を指示するプリフェッチ制御手
段190と、これからキャッシュコントローラ200に
キャッシュヒット判定を指示しヒット判定結果がミスし
た場合にプリフェッチ要求を行うプリフェッチ要求手段
210とを備えている。
Description
【0001】
【産業上の利用分野】本発明はディスクキャッシュ制御
装置に関し、特にキャッシュのプリフェッチ制御に関す
る。
装置に関し、特にキャッシュのプリフェッチ制御に関す
る。
【0002】
【従来の技術】従来のディスクキャッシュ制御装置にお
けるプリフェッチ制御は、ディスクに対するリード命令
の場合、常にプリフェッチを行うか、または、ソフトウ
ェアによりプリフェッチを行うか否かの動作モードが指
示され、さらに、プリフェッチされるデータは、キャッ
シュミス時にキャッシュミスしたラインの次のラインま
たはキャッシュミスした次のラインから複数の連続した
ラインをステージングしていた。
けるプリフェッチ制御は、ディスクに対するリード命令
の場合、常にプリフェッチを行うか、または、ソフトウ
ェアによりプリフェッチを行うか否かの動作モードが指
示され、さらに、プリフェッチされるデータは、キャッ
シュミス時にキャッシュミスしたラインの次のラインま
たはキャッシュミスした次のラインから複数の連続した
ラインをステージングしていた。
【0003】
【発明が解決しようとする課題】従来のディスクキャッ
シュ制御装置は、常にプリフェッチを行う場合に正規の
ファンクションを妨げることが多くなり、さらに、プリ
フェッチするデータが複数の連続したラインをステージ
ングしていた場合は、キャッシュ上の有効なデータのエ
ントリに不要なデータを多くプリフェッチしてしまい、
ディスクキャッシュアクセス性能を低下させたり、キャ
ッシュヒット率を低下させるという欠点があった。
シュ制御装置は、常にプリフェッチを行う場合に正規の
ファンクションを妨げることが多くなり、さらに、プリ
フェッチするデータが複数の連続したラインをステージ
ングしていた場合は、キャッシュ上の有効なデータのエ
ントリに不要なデータを多くプリフェッチしてしまい、
ディスクキャッシュアクセス性能を低下させたり、キャ
ッシュヒット率を低下させるという欠点があった。
【0004】また、ソフトウェアによってプリフェッチ
を行うか否かの動作モードが指示されるため、ソフトウ
ェアの負担が増えるとともに、ソフトウェア処理の非効
率化という問題があった。
を行うか否かの動作モードが指示されるため、ソフトウ
ェアの負担が増えるとともに、ソフトウェア処理の非効
率化という問題があった。
【0005】
【課題を解決するための手段】本発明のディスクキャッ
シュ制御装置は、ディスク装置に対するソフトウェアか
らのアクセスアドレスの指示,プリフェッチ要求された
アクセスアドレスの指示,キャッシュヒット判定処理な
どのキャッシュアクセスコマンドの指示とディスクアク
セスの指示とキャッシュヒット判定結果およびプリフェ
ッチ要求の監視を制御するプロセッサと、前記プロセッ
サからの指示により前記ディスク装置とのアクセスを制
御するDMAコントローラと、アドレスタグを格納する
キャッシュメモリのタグメモリと、前記ディスク装置か
ら転送されるブロックデータを格納するキャッシュメモ
リのデータメモリと、前記プロセッサがキャッシュヒッ
ト判定を指示した最新のラインのアクセスアドレスを格
納する第1のレジスタと、前記第1のレジスタに新たに
ラインのアクセスアドレスを格納する時にそれまで前記
第1のレジスタに格納されていたアクセスアドレスであ
る最新よりも1回前のアクセスアドレスを格納する第2
のレジスタと、前記第1および第2のレジスタに格納さ
れていたアクセスアドレスにそれぞれ“1”を加算する
加算器と、前記第1のレジスタに格納されているアクセ
スアドレスと前記加算器で第2のレジスタのアクセスア
ドレスに“1”を加算したアクセスアドレスとが等しい
か否かを比較する比較手段と、前記加算器で前記第1の
レジスタのアクセスアドレスに“1”を加算したプリフ
ェッチするラインのアクセスアドレスを前記比較手段に
よる比較結果が一致した場合に格納する第3のレジスタ
と、前記比較手段による比較結果に基づいてキャッシュ
アクセスコマンドの実行状態を監視およびプリフェッチ
するラインのアクセスアドレスについてキャッシュヒッ
ト判定を指示するプリフェッチ制御手段と、前記プロセ
ッサもしくは前記第3のレジスタから指示されたアクセ
スアドレスより前記タグメモリと前記データメモリのキ
ャッシュメモリアドレスとを生成しさらに前記プロセッ
サもしくは前記プリフェッチ制御手段からのキャッシュ
ヒット判定のキャッシュアクセスコマンドにより前記タ
グメモリおよび前記データメモリへのアクセス制御とキ
ャッシュヒット判定処理とキャッシュヒット判定結果の
通知とを行うキャッシュコントローラと、前記プリフェ
ッチ制御手段が前記キャッシュコントローラに前記第3
のレジスタのプリフェッチするラインのアクセスアドレ
スのキャッシュヒット判定を指示しかつそのヒット判定
結果がミスした場合に前記プロセッサにプリフェッチ要
求を行うプリフェッチ要求手段とを備えることを特徴と
する。
シュ制御装置は、ディスク装置に対するソフトウェアか
らのアクセスアドレスの指示,プリフェッチ要求された
アクセスアドレスの指示,キャッシュヒット判定処理な
どのキャッシュアクセスコマンドの指示とディスクアク
セスの指示とキャッシュヒット判定結果およびプリフェ
ッチ要求の監視を制御するプロセッサと、前記プロセッ
サからの指示により前記ディスク装置とのアクセスを制
御するDMAコントローラと、アドレスタグを格納する
キャッシュメモリのタグメモリと、前記ディスク装置か
ら転送されるブロックデータを格納するキャッシュメモ
リのデータメモリと、前記プロセッサがキャッシュヒッ
ト判定を指示した最新のラインのアクセスアドレスを格
納する第1のレジスタと、前記第1のレジスタに新たに
ラインのアクセスアドレスを格納する時にそれまで前記
第1のレジスタに格納されていたアクセスアドレスであ
る最新よりも1回前のアクセスアドレスを格納する第2
のレジスタと、前記第1および第2のレジスタに格納さ
れていたアクセスアドレスにそれぞれ“1”を加算する
加算器と、前記第1のレジスタに格納されているアクセ
スアドレスと前記加算器で第2のレジスタのアクセスア
ドレスに“1”を加算したアクセスアドレスとが等しい
か否かを比較する比較手段と、前記加算器で前記第1の
レジスタのアクセスアドレスに“1”を加算したプリフ
ェッチするラインのアクセスアドレスを前記比較手段に
よる比較結果が一致した場合に格納する第3のレジスタ
と、前記比較手段による比較結果に基づいてキャッシュ
アクセスコマンドの実行状態を監視およびプリフェッチ
するラインのアクセスアドレスについてキャッシュヒッ
ト判定を指示するプリフェッチ制御手段と、前記プロセ
ッサもしくは前記第3のレジスタから指示されたアクセ
スアドレスより前記タグメモリと前記データメモリのキ
ャッシュメモリアドレスとを生成しさらに前記プロセッ
サもしくは前記プリフェッチ制御手段からのキャッシュ
ヒット判定のキャッシュアクセスコマンドにより前記タ
グメモリおよび前記データメモリへのアクセス制御とキ
ャッシュヒット判定処理とキャッシュヒット判定結果の
通知とを行うキャッシュコントローラと、前記プリフェ
ッチ制御手段が前記キャッシュコントローラに前記第3
のレジスタのプリフェッチするラインのアクセスアドレ
スのキャッシュヒット判定を指示しかつそのヒット判定
結果がミスした場合に前記プロセッサにプリフェッチ要
求を行うプリフェッチ要求手段とを備えることを特徴と
する。
【0006】また、前記プリフェッチ制御手段は、前記
比較手段による比較結果が一致した場合に前記プロセッ
サのキャッシュアクセスコマンドの実行状態を監視し、
実行終了後に前記第3のレジスタに格納されているプリ
フェッチするラインのアクセスアドレスについてキャッ
シュヒット判定を指示することを特徴とする。
比較手段による比較結果が一致した場合に前記プロセッ
サのキャッシュアクセスコマンドの実行状態を監視し、
実行終了後に前記第3のレジスタに格納されているプリ
フェッチするラインのアクセスアドレスについてキャッ
シュヒット判定を指示することを特徴とする。
【0007】
【実施例】次に、本発明について図面を参照して説明す
る。
る。
【0008】図1は、本発明のディスクキャッシュ制御
装置の一実施例を示すブロック図である。
装置の一実施例を示すブロック図である。
【0009】本発明のディスクキャッシュ制御装置は、
図1に示すように、目的のアクセスアドレスの指示とキ
ャッシュアクセスコマンドの指示とディスクアクセスの
指示とキャッシュヒット判定結果およびプリフェッチ要
求の監視を制御するプロセッサ100と、データを格納
するディスク装置300と、このディスク装置300の
アクセスを制御するDMA(Direct Memory Access)コ
ントローラ110と、アドレスタグを格納するタグメモ
リ120と、ブロックデータを格納するデータメモリ1
30と、プロセッサ100がキャッシュヒット判定を指
示し出力した最新のラインのアクセスアドレス(以下、
ラインのアクセスアドレスを単にアクセスアドレスと記
す)を格納するレジスタA140と、最新より1回前の
アクセスアドレスを格納するレジスタB150と、レジ
スタA140とレジスタB150のそれぞれのアクセス
アドレスに“1”を加算する加算器160と、レジスタ
A140のアクセスアドレスに1を加算した結果である
プリフェッチアクセスアドレスを格納するレジスタC1
70と、レジスタA140からのアクセスアドレスとレ
ジスタB150のアクセスアドレスに“1”を加算した
アクセスアドレスとを比較する比較手段180と、比較
手段180による比較結果が一致した場合にプロセッサ
100のキャッシュアクセスコマンドの実行終了後にレ
ジスタC160のプリフェッチアクセスアドレスについ
てキャッシュヒット判定を指示するプリフェッチ制御手
段190と、キャッシュメモリアドレスを生成しキャッ
シュメモリアクセス制御やキャッシュヒット判定処理を
行うキャッシュコントローラ200と、プリフェッチ制
御手段190がキャッシュヒット判定を指示しかつその
ヒット判定結果がミスした場合にプロセッサ100にプ
リフェッチ要求を行うプリフェッチ要求手段210およ
びディスク装置300を含んで構成される。
図1に示すように、目的のアクセスアドレスの指示とキ
ャッシュアクセスコマンドの指示とディスクアクセスの
指示とキャッシュヒット判定結果およびプリフェッチ要
求の監視を制御するプロセッサ100と、データを格納
するディスク装置300と、このディスク装置300の
アクセスを制御するDMA(Direct Memory Access)コ
ントローラ110と、アドレスタグを格納するタグメモ
リ120と、ブロックデータを格納するデータメモリ1
30と、プロセッサ100がキャッシュヒット判定を指
示し出力した最新のラインのアクセスアドレス(以下、
ラインのアクセスアドレスを単にアクセスアドレスと記
す)を格納するレジスタA140と、最新より1回前の
アクセスアドレスを格納するレジスタB150と、レジ
スタA140とレジスタB150のそれぞれのアクセス
アドレスに“1”を加算する加算器160と、レジスタ
A140のアクセスアドレスに1を加算した結果である
プリフェッチアクセスアドレスを格納するレジスタC1
70と、レジスタA140からのアクセスアドレスとレ
ジスタB150のアクセスアドレスに“1”を加算した
アクセスアドレスとを比較する比較手段180と、比較
手段180による比較結果が一致した場合にプロセッサ
100のキャッシュアクセスコマンドの実行終了後にレ
ジスタC160のプリフェッチアクセスアドレスについ
てキャッシュヒット判定を指示するプリフェッチ制御手
段190と、キャッシュメモリアドレスを生成しキャッ
シュメモリアクセス制御やキャッシュヒット判定処理を
行うキャッシュコントローラ200と、プリフェッチ制
御手段190がキャッシュヒット判定を指示しかつその
ヒット判定結果がミスした場合にプロセッサ100にプ
リフェッチ要求を行うプリフェッチ要求手段210およ
びディスク装置300を含んで構成される。
【0010】そして、これら構成要素からは、アクセス
アドレス101と、キャッシュアクセスコマンド102
と、ディスクアクセスコマンド103と、ディスクイン
タフェース信号111と、アドレスタグデータ121
と、ブロックデータ131と、最新の(最後にアクセス
された)アクセスアドレス141と、最新より1回前
(最後から2番目)にアクセスされたアクセスアドレス
151と、アクセスアドレス141に“1”を加算した
アクセスアドレス161と、アクセスアドレス151に
“1”を加算したアクセスアドレス162と、プリフェ
ッチアクセスアドレス、181とアクセスアドレスの比
較結果171と、キャッシュヒット判定コマンド191
と、キャッシュメモリアドレス信号201と、キャッシ
ュヒット判定結果202と、タグメモリ制御信号203
と、データメモリ制御信号204と、プリフェッチ要求
指示211とからなる信号の授受が行われる。
アドレス101と、キャッシュアクセスコマンド102
と、ディスクアクセスコマンド103と、ディスクイン
タフェース信号111と、アドレスタグデータ121
と、ブロックデータ131と、最新の(最後にアクセス
された)アクセスアドレス141と、最新より1回前
(最後から2番目)にアクセスされたアクセスアドレス
151と、アクセスアドレス141に“1”を加算した
アクセスアドレス161と、アクセスアドレス151に
“1”を加算したアクセスアドレス162と、プリフェ
ッチアクセスアドレス、181とアクセスアドレスの比
較結果171と、キャッシュヒット判定コマンド191
と、キャッシュメモリアドレス信号201と、キャッシ
ュヒット判定結果202と、タグメモリ制御信号203
と、データメモリ制御信号204と、プリフェッチ要求
指示211とからなる信号の授受が行われる。
【0011】次に、このように構成された本実施例の動
作について説明する。 (1)アクセスアドレスが連続した場合 まず、レジスタA140にアクセスアドレス“n”が格
納されている時、ソフトウェアからアクセスアドレス
“n+1”にリードコマンドが発行されると、プロセッ
サ100は、アクセスアドレス101に“n+1”を出
力し、キャッシュアクセスコマンド102からキャッシ
ュヒット判定コマンドを発行する。
作について説明する。 (1)アクセスアドレスが連続した場合 まず、レジスタA140にアクセスアドレス“n”が格
納されている時、ソフトウェアからアクセスアドレス
“n+1”にリードコマンドが発行されると、プロセッ
サ100は、アクセスアドレス101に“n+1”を出
力し、キャッシュアクセスコマンド102からキャッシ
ュヒット判定コマンドを発行する。
【0012】キャッシュコントローラ200は、生成し
たメモリアドレスをキャッシュメモリアドレス信号20
1から出力し、タグメモリ120からのタグデータ12
1をリードしてヒット判定を行い、その結果をキャッシ
ュヒット判定結果202に示す。プロセッサ100は、
キャッシュヒットすればデータメモリ130から目的の
アクセスアドレス“n+1”のデータをリードし、ま
た、キャッシュミスすればディスク装置300から目的
のアクセスアドレス“n+1”のデータをリードする。
たメモリアドレスをキャッシュメモリアドレス信号20
1から出力し、タグメモリ120からのタグデータ12
1をリードしてヒット判定を行い、その結果をキャッシ
ュヒット判定結果202に示す。プロセッサ100は、
キャッシュヒットすればデータメモリ130から目的の
アクセスアドレス“n+1”のデータをリードし、ま
た、キャッシュミスすればディスク装置300から目的
のアクセスアドレス“n+1”のデータをリードする。
【0013】以上のアクセスアドレス“n+1”につい
てのキャッシュヒット判定処理およびディスク装置30
0からのリード処理と並行して、プロセッサ100がキ
ャッシュヒット判定コマンドを発行すると、レジスタA
140は、アクセスアドレス101から“n+1”を格
納し、また、レジスタB150は、アクセスアドレス1
41から“n”を格納する。そして、レジスタA140
およびレジスタB150のデータが確定すると、加算器
160は更新されたアクセスアドレス141,アクセス
アドレス151のデータにそれぞれ“1”を加算する。
てのキャッシュヒット判定処理およびディスク装置30
0からのリード処理と並行して、プロセッサ100がキ
ャッシュヒット判定コマンドを発行すると、レジスタA
140は、アクセスアドレス101から“n+1”を格
納し、また、レジスタB150は、アクセスアドレス1
41から“n”を格納する。そして、レジスタA140
およびレジスタB150のデータが確定すると、加算器
160は更新されたアクセスアドレス141,アクセス
アドレス151のデータにそれぞれ“1”を加算する。
【0014】次に、比較手段180は、アクセスアドレ
ス141のデータ“n+1”と加算器160から出力し
たアクセスアドレス162のデータ“n+1”とを比較
し、結果が一致していることを比較結果181に示す。
そして、レジスタC170は、比較結果181が一致で
あると、加算器160から出力したアクセスアドレス1
61の“n+2”を格納する。プリフェッチ制御手段1
90は、比較結果181が一致した場合、プロセッサ1
00がキャッシュアクセスコマンド102が実行終了す
るのを待ち、レジスタC170に格納されているプリフ
ェッチアクセスアドレス171についてのキャッシュヒ
ット判定コマンド191を発行する。
ス141のデータ“n+1”と加算器160から出力し
たアクセスアドレス162のデータ“n+1”とを比較
し、結果が一致していることを比較結果181に示す。
そして、レジスタC170は、比較結果181が一致で
あると、加算器160から出力したアクセスアドレス1
61の“n+2”を格納する。プリフェッチ制御手段1
90は、比較結果181が一致した場合、プロセッサ1
00がキャッシュアクセスコマンド102が実行終了す
るのを待ち、レジスタC170に格納されているプリフ
ェッチアクセスアドレス171についてのキャッシュヒ
ット判定コマンド191を発行する。
【0015】レジスタC170は、キャッシュヒット判
定コマンド191が発行されると、プリフェッチアクセ
スアドレス171に“n+2”を出力する。キャッシュ
コントローラ200は、プリフェッチアクセスアドレス
171からメモリアドレスを生成し、アクセスアドレス
“n+1”の場合と同様にプリフェッチアクセスアドレ
ス“n+2”のキャッシュヒット判定を行う。
定コマンド191が発行されると、プリフェッチアクセ
スアドレス171に“n+2”を出力する。キャッシュ
コントローラ200は、プリフェッチアクセスアドレス
171からメモリアドレスを生成し、アクセスアドレス
“n+1”の場合と同様にプリフェッチアクセスアドレ
ス“n+2”のキャッシュヒット判定を行う。
【0016】ここで、キャッシュヒット判定結果がキャ
ッシュミスであると仮定すると、プリフェッチ要求手段
210は、キャッシュヒット判定コマンド191が発行
され、かつプリフェッチアクセスアドレス171がキャ
ッシュミスしているので、プロセッサ100にプリフェ
ッチ要求指示211を通知する。そうすると、プロセッ
サ100は、プリフェッチアクセスアドレス171で示
されたアクセスアドレス“n+2”をフェッチし、ソフ
トウェアからの指示によるディスクアクセスがない時
に、ディスク装置300のアクセスアドレス“n+2”
にリードするようなディスクコマンド103をDMAコ
ントローラ110に発行する。
ッシュミスであると仮定すると、プリフェッチ要求手段
210は、キャッシュヒット判定コマンド191が発行
され、かつプリフェッチアクセスアドレス171がキャ
ッシュミスしているので、プロセッサ100にプリフェ
ッチ要求指示211を通知する。そうすると、プロセッ
サ100は、プリフェッチアクセスアドレス171で示
されたアクセスアドレス“n+2”をフェッチし、ソフ
トウェアからの指示によるディスクアクセスがない時
に、ディスク装置300のアクセスアドレス“n+2”
にリードするようなディスクコマンド103をDMAコ
ントローラ110に発行する。
【0017】さらに、プロセッサ100は、アクセスア
ドレス101に“n+2”を出力し、キャッシュアクセ
スコマンド102からキャッシュコントローラ200に
対して、ディスク装置300から転送されてくるブロッ
クデータのステージングを指示するコマンドを発行す
る。
ドレス101に“n+2”を出力し、キャッシュアクセ
スコマンド102からキャッシュコントローラ200に
対して、ディスク装置300から転送されてくるブロッ
クデータのステージングを指示するコマンドを発行す
る。
【0018】キャッシュコントローラ200は、プリフ
ェッチアクセスアドレス171からキャッシュメモリア
ドレス201とタグデータ121とを生成し、タグメモ
リ制御信号203でメモリライトを指示する。さらに、
キャッシュコントローラ200は、ディスクインタフェ
ース111に対して目的のブロックデータが転送されて
くると、データメモリ制御信号204からメモリライト
を指示してブロックデータ131をデータメモリ130
にステージングすることによりプリフェッチされる。
ェッチアクセスアドレス171からキャッシュメモリア
ドレス201とタグデータ121とを生成し、タグメモ
リ制御信号203でメモリライトを指示する。さらに、
キャッシュコントローラ200は、ディスクインタフェ
ース111に対して目的のブロックデータが転送されて
くると、データメモリ制御信号204からメモリライト
を指示してブロックデータ131をデータメモリ130
にステージングすることによりプリフェッチされる。
【0019】また、プリフェッチアクセスアドレス17
1が、“n+2”のキャッシュヒット判定結果がキャッ
シュヒットと仮定した場合は、プリフェッチ要求手段2
10は、キャッシュヒット判定コマンド191が発行さ
れ、かつプリフェッチアクセスアドレス171がキャッ
シュミスしているというプリフェッチ要求条件が満足さ
れないため、プロセッサ100に対してプリフェッチ要
求指示211を通知しない。
1が、“n+2”のキャッシュヒット判定結果がキャッ
シュヒットと仮定した場合は、プリフェッチ要求手段2
10は、キャッシュヒット判定コマンド191が発行さ
れ、かつプリフェッチアクセスアドレス171がキャッ
シュミスしているというプリフェッチ要求条件が満足さ
れないため、プロセッサ100に対してプリフェッチ要
求指示211を通知しない。
【0020】従って、プロセッサ100は、プリフェッ
チアクセスアドレス171で示されたアクセスアドレス
“n+2”のフェッチや、アクセスアドレス“n+2”
にリードするようなディスクコマンド103の発行や、
ブロックデータのステージングを指示するキャッシュア
クセスコマンド102の発行を行わない。
チアクセスアドレス171で示されたアクセスアドレス
“n+2”のフェッチや、アクセスアドレス“n+2”
にリードするようなディスクコマンド103の発行や、
ブロックデータのステージングを指示するキャッシュア
クセスコマンド102の発行を行わない。
【0021】以上のようにして、アクセスアドレスが
“n”,“n+1”と連続した場合にのみ、それら連続
した次のアクセスアドレス“n+2”のデータがキャッ
シュミスした時だけプリフェッチが実行される。 (2)アクセスアドレスが連続しない場合 まず、レジスタA140にアクセスアドレス“n”が格
納されていた時、ソフトウェアからアクセスアドレス
“m”(ただし、m≠n+1)にリードコマンドが発行
されると、プロセッサ100は、アクセスアドレスが
“n+1”の場合と同様に、キャッシュヒット判定処理
を行う。その結果、キャッシュヒットすればデータメモ
リ130から、キャッシュミスすればディスク装置30
0から目的のアクセスアドレス“m”のデータをリード
する。
“n”,“n+1”と連続した場合にのみ、それら連続
した次のアクセスアドレス“n+2”のデータがキャッ
シュミスした時だけプリフェッチが実行される。 (2)アクセスアドレスが連続しない場合 まず、レジスタA140にアクセスアドレス“n”が格
納されていた時、ソフトウェアからアクセスアドレス
“m”(ただし、m≠n+1)にリードコマンドが発行
されると、プロセッサ100は、アクセスアドレスが
“n+1”の場合と同様に、キャッシュヒット判定処理
を行う。その結果、キャッシュヒットすればデータメモ
リ130から、キャッシュミスすればディスク装置30
0から目的のアクセスアドレス“m”のデータをリード
する。
【0022】以上のキャッシュヒット判定処理およびデ
ィスク300からのリード処理と並行して、プロセッサ
100がキャッシュヒット判定コマンドを発行すると、
レジスタA140は、アクセスアドレス101から
“m”を、レジスタB150はアクセスアドレス141
から“n”をそれぞれ格納する。そして、レジスタA1
40とレジスタB150のデータが確定すると、加算器
160は、更新されたアクセスアドレス141、および
アクセスアドレス151のデータにそれぞれ“1”を加
算する。
ィスク300からのリード処理と並行して、プロセッサ
100がキャッシュヒット判定コマンドを発行すると、
レジスタA140は、アクセスアドレス101から
“m”を、レジスタB150はアクセスアドレス141
から“n”をそれぞれ格納する。そして、レジスタA1
40とレジスタB150のデータが確定すると、加算器
160は、更新されたアクセスアドレス141、および
アクセスアドレス151のデータにそれぞれ“1”を加
算する。
【0023】比較手段180は、アクセスアドレス14
1のデータ“m”とアクセスアドレス162のデータ
“n+1”とを比較し、m≠n+1なので結果が不一致
であることを比較結果181に示す。そして、比較結果
181が不一致のため、レジスタC170は、アクセス
アドレス161の“m+1”を格納を行わない。また、
プリフェッチ制御手段190は、レジスタC170に格
納されているプリフェッチアクセスアドレス171につ
いてのキャッシュヒット判定コマンド191を発行しな
い。
1のデータ“m”とアクセスアドレス162のデータ
“n+1”とを比較し、m≠n+1なので結果が不一致
であることを比較結果181に示す。そして、比較結果
181が不一致のため、レジスタC170は、アクセス
アドレス161の“m+1”を格納を行わない。また、
プリフェッチ制御手段190は、レジスタC170に格
納されているプリフェッチアクセスアドレス171につ
いてのキャッシュヒット判定コマンド191を発行しな
い。
【0024】従って、プリフェッチ要求手段210は、
キャッシュヒット判定コマンド191が発行され、かつ
プリフェッチアクセスアドレス171がキャッシュミス
しているというプリフェッチ要求条件が満足されず、プ
ロセッサ100にプリフェッチ要求指示211を通知し
ない。
キャッシュヒット判定コマンド191が発行され、かつ
プリフェッチアクセスアドレス171がキャッシュミス
しているというプリフェッチ要求条件が満足されず、プ
ロセッサ100にプリフェッチ要求指示211を通知し
ない。
【0025】さらに、プロセッサ100は、プリフェッ
チ要求がないため、プリフェッチアクセスアドレス17
1のフェッチや、プリフェッチのためのディスクコマン
ド103の発行およびブロックデータのステージングを
指示するキャッシュアクセスコマンド102を発行しな
い。
チ要求がないため、プリフェッチアクセスアドレス17
1のフェッチや、プリフェッチのためのディスクコマン
ド103の発行およびブロックデータのステージングを
指示するキャッシュアクセスコマンド102を発行しな
い。
【0026】以上のようにして、アクセスアドレスが
“n”,次に“m”(m≠n+1)と連続しない場合
は、プリフェッチ処理を実行しない。
“n”,次に“m”(m≠n+1)と連続しない場合
は、プリフェッチ処理を実行しない。
【0027】
【発明の効果】以上説明したように、本発明のディスク
キャッシュ制御装置は、ソフトウェアがプリフェッチに
関して一切の処理を必要としないため、ソフトウェアの
処理効率化が向上する。また、アクセスアドレスが連続
した場合にのみ、それら連続した次のアクセスアドレス
のデータだけをプリフェッチするため、すでに存在する
キャッシュ上の有効なデータのエントリに、不要なデー
タをプリフェッチしてしまうことを大きく削減でき、キ
ャッシュヒット率が向上する。
キャッシュ制御装置は、ソフトウェアがプリフェッチに
関して一切の処理を必要としないため、ソフトウェアの
処理効率化が向上する。また、アクセスアドレスが連続
した場合にのみ、それら連続した次のアクセスアドレス
のデータだけをプリフェッチするため、すでに存在する
キャッシュ上の有効なデータのエントリに、不要なデー
タをプリフェッチしてしまうことを大きく削減でき、キ
ャッシュヒット率が向上する。
【0028】さらに、プリフェッチ処理により正規のフ
ァンクションを妨げることがなく、ソフトウェアおよび
ハードウェアの両面からシステムの性能向上がはかれる
という効果がある。
ァンクションを妨げることがなく、ソフトウェアおよび
ハードウェアの両面からシステムの性能向上がはかれる
という効果がある。
【図1】本発明のディスクキャッシュ制御装置の一実施
例を示すブロック図である。
例を示すブロック図である。
100 プロセッサ 101,141,151,161,162 アクセス
アドレス 102 キャッシュアクセスコマンド 103 ディスクアクセスコマンド 110 DMAコントローラ 111 ディスクインタフェース信号 120 タグメモリ 121 タグデータ 130 データメモリ 131 ブロックデータ 140 レジスタA 150 レジスタB 160 加算器 170 レジスタC 171 プリフェッチアクセスアドレス 180 比較手段 181 比較結果 190 プリフェッチ制御手段 191 キャッシュヒット判定コマンド 200 キャッシュコントローラ 201 キャッシュメモリアドレス 202 キャッシュヒット判定結果 203 タグメモリ制御信号 204 データメモリ制御信号 210 プリフェッチ要求手段 211 プリフェッチ要求指示 300 ディスク装置
アドレス 102 キャッシュアクセスコマンド 103 ディスクアクセスコマンド 110 DMAコントローラ 111 ディスクインタフェース信号 120 タグメモリ 121 タグデータ 130 データメモリ 131 ブロックデータ 140 レジスタA 150 レジスタB 160 加算器 170 レジスタC 171 プリフェッチアクセスアドレス 180 比較手段 181 比較結果 190 プリフェッチ制御手段 191 キャッシュヒット判定コマンド 200 キャッシュコントローラ 201 キャッシュメモリアドレス 202 キャッシュヒット判定結果 203 タグメモリ制御信号 204 データメモリ制御信号 210 プリフェッチ要求手段 211 プリフェッチ要求指示 300 ディスク装置
Claims (2)
- 【請求項1】 ディスク装置に対するソフトウェアから
のアクセスアドレスの指示,プリフェッチ要求されたア
クセスアドレスの指示,キャッシュヒット判定処理など
のキャッシュアクセスコマンドの指示とディスクアクセ
スの指示とキャッシュヒット判定結果およびプリフェッ
チ要求の監視を制御するプロセッサと、前記プロセッサ
からの指示により前記ディスク装置とのアクセスを制御
するDMAコントローラと、アドレスタグを格納するキ
ャッシュメモリのタグメモリと、前記ディスク装置から
転送されるブロックデータを格納するキャッシュメモリ
のデータメモリと、前記プロセッサがキャッシュヒット
判定を指示した最新のラインのアクセスアドレスを格納
する第1のレジスタと、前記第1のレジスタに新たにラ
インのアクセスアドレスを格納する時にそれまで前記第
1のレジスタに格納されていたアクセスアドレスである
最新よりも1回前のアクセスアドレスを格納する第2の
レジスタと、前記第1および第2のレジスタに格納され
ていたアクセスアドレスにそれぞれ“1”を加算する加
算器と、前記第1のレジスタに格納されているアクセス
アドレスと前記加算器で第2のレジスタのアクセスアド
レスに“1”を加算したアクセスアドレスとが等しいか
否かを比較する比較手段と、前記加算器で前記第1のレ
ジスタのアクセスアドレスに“1”を加算したプリフェ
ッチするラインのアクセスアドレスを前記比較手段によ
る比較結果が一致した場合に格納する第3のレジスタ
と、前記比較手段による比較結果に基づいてキャッシュ
アクセスコマンドの実行状態を監視およびプリフェッチ
するラインのアクセスアドレスについてキャッシュヒッ
ト判定を指示するプリフェッチ制御手段と、前記プロセ
ッサもしくは前記第3のレジスタから指示されたアクセ
スアドレスより前記タグメモリと前記データメモリのキ
ャッシュメモリアドレスとを生成しさらに前記プロセッ
サもしくは前記プリフェッチ制御手段からのキャッシュ
ヒット判定のキャッシュアクセスコマンドにより前記タ
グメモリおよび前記データメモリへのアクセス制御とキ
ャッシュヒット判定処理とキャッシュヒット判定結果の
通知とを行うキャッシュコントローラと、前記プリフェ
ッチ制御手段が前記キャッシュコントローラに前記第3
のレジスタのプリフェッチするラインのアクセスアドレ
スのキャッシュヒット判定を指示しかつそのヒット判定
結果がミスした場合に前記プロセッサにプリフェッチ要
求を行うプリフェッチ要求手段とを備えることを特徴と
するディスクキャッシュ制御装置。 - 【請求項2】 前記プリフェッチ制御手段は、前記比較
手段による比較結果が一致した場合に前記プロセッサの
キャッシュアクセスコマンドの実行状態を監視し、実行
終了後に前記第3のレジスタに格納されているプリフェ
ッチするラインのアクセスアドレスについてキャッシュ
ヒット判定を指示することを特徴とする請求項1記載の
ディスクキャッシュ制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7123505A JPH08314803A (ja) | 1995-05-23 | 1995-05-23 | ディスクキャッシュ制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7123505A JPH08314803A (ja) | 1995-05-23 | 1995-05-23 | ディスクキャッシュ制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08314803A true JPH08314803A (ja) | 1996-11-29 |
Family
ID=14862291
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7123505A Pending JPH08314803A (ja) | 1995-05-23 | 1995-05-23 | ディスクキャッシュ制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08314803A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6341334B1 (en) | 1998-03-24 | 2002-01-22 | Mitsubishi Denki Kabushiki Kaisha | Bridge method, bus bridge, and multiprocessor system |
| US6502169B1 (en) * | 2000-06-27 | 2002-12-31 | Adaptec, Inc. | System and method for detection of disk storage blocks containing unique values |
| DE102009027567A1 (de) | 2008-07-09 | 2010-01-21 | Nec Electronics Corp., Kawasaki | Cache-Speichervorrichtung |
| CN111639042A (zh) * | 2020-06-04 | 2020-09-08 | 中科芯集成电路有限公司 | 一种预取buffer数据一致性的处理方法及装置 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0281122A (ja) * | 1988-09-16 | 1990-03-22 | Victor Co Of Japan Ltd | データ読出し方法 |
-
1995
- 1995-05-23 JP JP7123505A patent/JPH08314803A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0281122A (ja) * | 1988-09-16 | 1990-03-22 | Victor Co Of Japan Ltd | データ読出し方法 |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6341334B1 (en) | 1998-03-24 | 2002-01-22 | Mitsubishi Denki Kabushiki Kaisha | Bridge method, bus bridge, and multiprocessor system |
| US6502169B1 (en) * | 2000-06-27 | 2002-12-31 | Adaptec, Inc. | System and method for detection of disk storage blocks containing unique values |
| DE102009027567A1 (de) | 2008-07-09 | 2010-01-21 | Nec Electronics Corp., Kawasaki | Cache-Speichervorrichtung |
| CN111639042A (zh) * | 2020-06-04 | 2020-09-08 | 中科芯集成电路有限公司 | 一种预取buffer数据一致性的处理方法及装置 |
| CN111639042B (zh) * | 2020-06-04 | 2023-06-02 | 中科芯集成电路有限公司 | 一种预取buffer数据一致性的处理方法及装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6173392B1 (en) | Prefetch controller automatically updating history addresses | |
| US5961631A (en) | Data processing apparatus and method for pre-fetching an instruction in to an instruction cache | |
| US6401192B1 (en) | Apparatus for software initiated prefetch and method therefor | |
| EP1029280B1 (en) | Cache memory operation | |
| JP2001060169A (ja) | キャッシュコントローラ及びコンピュータシステム | |
| JP3304444B2 (ja) | ベクトル処理装置 | |
| JPH0564825B2 (ja) | ||
| JP2786886B2 (ja) | プリフェッチ制御方法およびプリフェッチ制御装置 | |
| EP0488566A2 (en) | Method and apparatus for fast page mode selection | |
| US6397304B1 (en) | Method and apparatus for improving system performance in multiprocessor systems | |
| WO2008110874A1 (en) | Device and method for generating cache user initiated pre-fetch requests | |
| JP2851777B2 (ja) | バス制御方法及び情報処理装置 | |
| JP3378270B2 (ja) | マルチプロセッサシステム | |
| JP2000347934A (ja) | キャッシュメモリ装置 | |
| JPH08161226A (ja) | データ先読み制御方法,キャッシュ制御装置およびデータ処理装置 | |
| JP2025186811A (ja) | プロセッサ、情報処理装置及び情報処理方法 | |
| JPS63163532A (ja) | マイクロプロセツサ | |
| JP2005235207A (ja) | データ処理装置およびデータ処理方法 | |
| JPH07219838A (ja) | データ先読み制御装置 | |
| JPH0227430A (ja) | 分岐命令のフェッチ方式 | |
| JP2000076179A (ja) | システムバス最適化方式 | |
| JPH0361213B2 (ja) | ||
| JPS6221130B2 (ja) | ||
| JP2000259495A (ja) | キャッシュメモリ制御方法及びマルチプロセッサシステム | |
| JPH10247182A (ja) | マルチプロセッサシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19990622 |