[go: up one dir, main page]

JPH08314803A - Disk cache controller - Google Patents

Disk cache controller

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
access address
register
access
prefetch
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
JP7123505A
Other languages
Japanese (ja)
Inventor
Kenji Abe
憲司 阿部
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.)
NEC Ibaraki Ltd
Original Assignee
NEC Ibaraki 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 NEC Ibaraki Ltd filed Critical NEC Ibaraki Ltd
Priority to JP7123505A priority Critical patent/JPH08314803A/en
Publication of JPH08314803A publication Critical patent/JPH08314803A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE: To prevent the hit rate from being lowered by unnecessary prefetch. CONSTITUTION: This device is provided with a DAM controller 110 for controlling a disk device 300, tag memory 120 for storing address tags, data memory 130 for storing block data, register A140 for storing the access address of the latest line, register B150 for storing the access address preceding to the latest one, adder 160 for adding '1' to the access address, register C170 for storing the access address of the line to be prefetched when the compared result shows coincidence with each other, prefetch control means 190 for monitoring the executing state of a cache access command when the compared result shows coincidence with each other and for instructing to perform cache hit judgement after the end of execution, and prefetch requesting means 210 for instructing a cache controller 200 to perform the cache hit judgement and for performing a prefetch request when the hit judgement result shows an error.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はディスクキャッシュ制御
装置に関し、特にキャッシュのプリフェッチ制御に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk cache controller, and more particularly to cache prefetch control.

【0002】[0002]

【従来の技術】従来のディスクキャッシュ制御装置にお
けるプリフェッチ制御は、ディスクに対するリード命令
の場合、常にプリフェッチを行うか、または、ソフトウ
ェアによりプリフェッチを行うか否かの動作モードが指
示され、さらに、プリフェッチされるデータは、キャッ
シュミス時にキャッシュミスしたラインの次のラインま
たはキャッシュミスした次のラインから複数の連続した
ラインをステージングしていた。
2. Description of the Related Art In prefetch control in a conventional disk cache control device, in the case of a read instruction for a disk, an operation mode indicating whether prefetching is always performed or whether prefetching is performed by software is performed, and further prefetching is performed. The data that has been staged is a line next to the cache miss line at the time of the cache miss or a plurality of consecutive lines from the line next to the cache miss.

【0003】[0003]

【発明が解決しようとする課題】従来のディスクキャッ
シュ制御装置は、常にプリフェッチを行う場合に正規の
ファンクションを妨げることが多くなり、さらに、プリ
フェッチするデータが複数の連続したラインをステージ
ングしていた場合は、キャッシュ上の有効なデータのエ
ントリに不要なデータを多くプリフェッチしてしまい、
ディスクキャッシュアクセス性能を低下させたり、キャ
ッシュヒット率を低下させるという欠点があった。
The conventional disk cache control device often interferes with a regular function when always performing prefetching, and when the data to be prefetched is staging a plurality of consecutive lines. Prefetches a lot of unnecessary data into the valid data entry on the cache,
There are drawbacks such as a decrease in disk cache access performance and a decrease in cache hit rate.

【0004】また、ソフトウェアによってプリフェッチ
を行うか否かの動作モードが指示されるため、ソフトウ
ェアの負担が増えるとともに、ソフトウェア処理の非効
率化という問題があった。
Further, since the operation mode of whether or not to perform prefetch is instructed by the software, there is a problem that the load on the software increases and the efficiency of the software processing becomes inefficient.

【0005】[0005]

【課題を解決するための手段】本発明のディスクキャッ
シュ制御装置は、ディスク装置に対するソフトウェアか
らのアクセスアドレスの指示,プリフェッチ要求された
アクセスアドレスの指示,キャッシュヒット判定処理な
どのキャッシュアクセスコマンドの指示とディスクアク
セスの指示とキャッシュヒット判定結果およびプリフェ
ッチ要求の監視を制御するプロセッサと、前記プロセッ
サからの指示により前記ディスク装置とのアクセスを制
御するDMAコントローラと、アドレスタグを格納する
キャッシュメモリのタグメモリと、前記ディスク装置か
ら転送されるブロックデータを格納するキャッシュメモ
リのデータメモリと、前記プロセッサがキャッシュヒッ
ト判定を指示した最新のラインのアクセスアドレスを格
納する第1のレジスタと、前記第1のレジスタに新たに
ラインのアクセスアドレスを格納する時にそれまで前記
第1のレジスタに格納されていたアクセスアドレスであ
る最新よりも1回前のアクセスアドレスを格納する第2
のレジスタと、前記第1および第2のレジスタに格納さ
れていたアクセスアドレスにそれぞれ“1”を加算する
加算器と、前記第1のレジスタに格納されているアクセ
スアドレスと前記加算器で第2のレジスタのアクセスア
ドレスに“1”を加算したアクセスアドレスとが等しい
か否かを比較する比較手段と、前記加算器で前記第1の
レジスタのアクセスアドレスに“1”を加算したプリフ
ェッチするラインのアクセスアドレスを前記比較手段に
よる比較結果が一致した場合に格納する第3のレジスタ
と、前記比較手段による比較結果に基づいてキャッシュ
アクセスコマンドの実行状態を監視およびプリフェッチ
するラインのアクセスアドレスについてキャッシュヒッ
ト判定を指示するプリフェッチ制御手段と、前記プロセ
ッサもしくは前記第3のレジスタから指示されたアクセ
スアドレスより前記タグメモリと前記データメモリのキ
ャッシュメモリアドレスとを生成しさらに前記プロセッ
サもしくは前記プリフェッチ制御手段からのキャッシュ
ヒット判定のキャッシュアクセスコマンドにより前記タ
グメモリおよび前記データメモリへのアクセス制御とキ
ャッシュヒット判定処理とキャッシュヒット判定結果の
通知とを行うキャッシュコントローラと、前記プリフェ
ッチ制御手段が前記キャッシュコントローラに前記第3
のレジスタのプリフェッチするラインのアクセスアドレ
スのキャッシュヒット判定を指示しかつそのヒット判定
結果がミスした場合に前記プロセッサにプリフェッチ要
求を行うプリフェッチ要求手段とを備えることを特徴と
する。
DISCLOSURE OF THE INVENTION A disk cache control device of the present invention includes an instruction of an access address from software to a disk device, an instruction of an access address requested for prefetch, and an instruction of a cache access command such as a cache hit determination process. A processor for controlling a disk access instruction, a cache hit determination result, and monitoring of a prefetch request, a DMA controller for controlling an access to the disk device according to an instruction from the processor, and a tag memory of a cache memory for storing an address tag. A data memory of a cache memory that stores block data transferred from the disk device, and a first register that stores an access address of the latest line for which the processor has instructed a cache hit determination. Data and a second for storing an access address before one than the latest is the access address stored in said first register to it when storing the access address of the newly line to said first register
Register, an adder for adding "1" to each of the access addresses stored in the first and second registers, an access address stored in the first register and a second register in the adder. Comparing means for comparing whether the access address obtained by adding "1" to the access address of the register is equal to the access address of the register for prefetching obtained by adding "1" to the access address of the first register. A third register that stores the access address when the comparison result by the comparison unit matches, and a cache hit determination for the access address of the line that monitors and prefetches the execution state of the cache access command based on the comparison result by the comparison unit. And a prefetch control means for instructing The cache memory addresses of the tag memory and the data memory are generated from the access address designated by the register No. 3, and the tag memory and the data memory are generated by a cache access command for cache hit determination from the processor or the prefetch control means. Access control to the cache controller, cache hit determination processing, and notification of the cache hit determination result;
The prefetch requesting means for instructing the cache hit determination of the access address of the prefetched line of the register and making a prefetch request to the processor when the hit determination result is missed.

【0006】また、前記プリフェッチ制御手段は、前記
比較手段による比較結果が一致した場合に前記プロセッ
サのキャッシュアクセスコマンドの実行状態を監視し、
実行終了後に前記第3のレジスタに格納されているプリ
フェッチするラインのアクセスアドレスについてキャッ
シュヒット判定を指示することを特徴とする。
The prefetch control means monitors the execution state of the cache access command of the processor when the comparison result by the comparison means matches.
After the execution is completed, a cache hit determination is instructed for the access address of the line to be prefetched stored in the third register.

【0007】[0007]

【実施例】次に、本発明について図面を参照して説明す
る。
Next, the present invention will be described with reference to the drawings.

【0008】図1は、本発明のディスクキャッシュ制御
装置の一実施例を示すブロック図である。
FIG. 1 is a block diagram showing an embodiment of a disk cache control device of the present invention.

【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を含んで構成される。
The disk cache control device of the present invention is
As shown in FIG. 1, a processor 100 for controlling monitoring of a target access address instruction, a cache access command instruction, a disk access instruction, a cache hit determination result, and a prefetch request, a disk device 300 for storing data, A DMA (Direct Memory Access) controller 110 that controls access to the disk device 300, a tag memory 120 that stores an address tag, and a data memory 1 that stores block data.
30 and the access address of the latest line output by the processor 100 instructing the cache hit determination (hereinafter,
"1" is added to each of the register A140 that stores the access address of the line), the register B150 that stores the access address one time before the latest, and the access addresses of the register A140 and the register B150. An adder 160 and a register C1 for storing a prefetch access address which is the result of adding 1 to the access address of the register A140.
70, a comparison unit 180 for comparing the access address from the register A 140 and the access address obtained by adding “1” to the access address of the register B 150, and the cache access command of the processor 100 when the comparison result by the comparison unit 180 matches. The prefetch control means 190 for instructing the cache hit determination for the prefetch access address of the register C160 after the execution of the above, the cache controller 200 for generating the cache memory address and performing the cache memory access control and the cache hit determination processing, Prefetch request means 210 for issuing a prefetch request to the processor 100 when the cache hit determination is instructed and the hit determination result is missed, and the disk device 3 Configured to include a 0.

【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とからなる信号の授受が行われる。
From these constituent elements, an access address 101 and a cache access command 102 are given.
Disk access command 103, disk interface signal 111, and address tag data 121
"1" is added to the block data 131, the latest (last accessed) access address 141, the access address 151 that is accessed once before the latest (second from the last), and the access address 141. Access address 161, an access address 162 obtained by adding “1” to the access address 151, a prefetch access address, a comparison result 171 of the access address 181 and the access address, and a cache hit determination command 191.
Cache memory address signal 201, cache hit determination result 202, and tag memory control signal 203
Then, a signal including the data memory control signal 204 and the prefetch request instruction 211 is exchanged.

【0011】次に、このように構成された本実施例の動
作について説明する。 (1)アクセスアドレスが連続した場合 まず、レジスタA140にアクセスアドレス“n”が格
納されている時、ソフトウェアからアクセスアドレス
“n+1”にリードコマンドが発行されると、プロセッ
サ100は、アクセスアドレス101に“n+1”を出
力し、キャッシュアクセスコマンド102からキャッシ
ュヒット判定コマンドを発行する。
Next, the operation of this embodiment thus constructed will be described. (1) When Access Addresses Consecutive First, when the read command is issued from the software to the access address “n + 1” while the access address “n” is stored in the register A 140, the processor 100 causes the access address 101 to change to the access address 101. "N + 1" is output and the cache access command 102 issues a cache hit determination command.

【0012】キャッシュコントローラ200は、生成し
たメモリアドレスをキャッシュメモリアドレス信号20
1から出力し、タグメモリ120からのタグデータ12
1をリードしてヒット判定を行い、その結果をキャッシ
ュヒット判定結果202に示す。プロセッサ100は、
キャッシュヒットすればデータメモリ130から目的の
アクセスアドレス“n+1”のデータをリードし、ま
た、キャッシュミスすればディスク装置300から目的
のアクセスアドレス“n+1”のデータをリードする。
The cache controller 200 sends the generated memory address to the cache memory address signal 20.
1 and outputs the tag data 12 from the tag memory 120.
1 is read to perform a hit determination, and the result is shown in a cache hit determination result 202. The processor 100 is
If a cache hit occurs, the data at the target access address "n + 1" is read from the data memory 130, and if a cache miss occurs, the data at the target access address "n + 1" is read from the disk device 300.

【0013】以上のアクセスアドレス“n+1”につい
てのキャッシュヒット判定処理およびディスク装置30
0からのリード処理と並行して、プロセッサ100がキ
ャッシュヒット判定コマンドを発行すると、レジスタA
140は、アクセスアドレス101から“n+1”を格
納し、また、レジスタB150は、アクセスアドレス1
41から“n”を格納する。そして、レジスタA140
およびレジスタB150のデータが確定すると、加算器
160は更新されたアクセスアドレス141,アクセス
アドレス151のデータにそれぞれ“1”を加算する。
The cache hit determination processing and disk device 30 for the above access address "n + 1"
When the processor 100 issues a cache hit determination command in parallel with the read process from 0, the register A
140 stores “n + 1” from access address 101, and register B150 stores access address 1
41 to “n” are stored. And register A140
When the data of the register B150 is determined, the adder 160 adds "1" to the updated data of the access address 141 and the access address 151, respectively.

【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を発行する。
Next, the comparison means 180 compares the data "n + 1" of the access address 141 with the data "n + 1" of the access address 162 output from the adder 160, and the comparison result 181 indicates that the results match. Shown in.
Then, when the comparison result 181 indicates a match, the register C170 outputs the access address 1 output from the adder 160.
The “n + 2” of 61 is stored. Prefetch control means 1
90 indicates that if the comparison result 181 matches, the processor 1
00 waits for the execution of the cache access command 102 to end, and issues the cache hit determination command 191 for the prefetch access address 171 stored in the register C170.

【0015】レジスタC170は、キャッシュヒット判
定コマンド191が発行されると、プリフェッチアクセ
スアドレス171に“n+2”を出力する。キャッシュ
コントローラ200は、プリフェッチアクセスアドレス
171からメモリアドレスを生成し、アクセスアドレス
“n+1”の場合と同様にプリフェッチアクセスアドレ
ス“n+2”のキャッシュヒット判定を行う。
When the cache hit determination command 191 is issued, the register C170 outputs "n + 2" to the prefetch access address 171. The cache controller 200 generates a memory address from the prefetch access address 171, and determines the cache hit of the prefetch access address “n + 2” as in the case of the access address “n + 1”.

【0016】ここで、キャッシュヒット判定結果がキャ
ッシュミスであると仮定すると、プリフェッチ要求手段
210は、キャッシュヒット判定コマンド191が発行
され、かつプリフェッチアクセスアドレス171がキャ
ッシュミスしているので、プロセッサ100にプリフェ
ッチ要求指示211を通知する。そうすると、プロセッ
サ100は、プリフェッチアクセスアドレス171で示
されたアクセスアドレス“n+2”をフェッチし、ソフ
トウェアからの指示によるディスクアクセスがない時
に、ディスク装置300のアクセスアドレス“n+2”
にリードするようなディスクコマンド103をDMAコ
ントローラ110に発行する。
Assuming that the cache hit determination result is a cache miss, the prefetch request means 210 issues to the processor 100 because the cache hit determination command 191 is issued and the prefetch access address 171 has a cache miss. The prefetch request instruction 211 is notified. Then, the processor 100 fetches the access address “n + 2” indicated by the prefetch access address 171, and when there is no disk access according to the instruction from the software, the access address “n + 2” of the disk device 300.
Issue a disk command 103 to read to the DMA controller 110.

【0017】さらに、プロセッサ100は、アクセスア
ドレス101に“n+2”を出力し、キャッシュアクセ
スコマンド102からキャッシュコントローラ200に
対して、ディスク装置300から転送されてくるブロッ
クデータのステージングを指示するコマンドを発行す
る。
Further, the processor 100 outputs "n + 2" to the access address 101 and issues a command from the cache access command 102 to the cache controller 200 to instruct staging of block data transferred from the disk device 300. To do.

【0018】キャッシュコントローラ200は、プリフ
ェッチアクセスアドレス171からキャッシュメモリア
ドレス201とタグデータ121とを生成し、タグメモ
リ制御信号203でメモリライトを指示する。さらに、
キャッシュコントローラ200は、ディスクインタフェ
ース111に対して目的のブロックデータが転送されて
くると、データメモリ制御信号204からメモリライト
を指示してブロックデータ131をデータメモリ130
にステージングすることによりプリフェッチされる。
The cache controller 200 generates the cache memory address 201 and the tag data 121 from the prefetch access address 171, and instructs the memory write with the tag memory control signal 203. further,
When the target block data is transferred to the disk interface 111, the cache controller 200 instructs the memory write from the data memory control signal 204 to transfer the block data 131 to the data memory 130.
It is prefetched by staging to.

【0019】また、プリフェッチアクセスアドレス17
1が、“n+2”のキャッシュヒット判定結果がキャッ
シュヒットと仮定した場合は、プリフェッチ要求手段2
10は、キャッシュヒット判定コマンド191が発行さ
れ、かつプリフェッチアクセスアドレス171がキャッ
シュミスしているというプリフェッチ要求条件が満足さ
れないため、プロセッサ100に対してプリフェッチ要
求指示211を通知しない。
The prefetch access address 17
1 assumes that the cache hit determination result of “n + 2” is a cache hit, the prefetch request means 2
No. 10 does not notify the processor 100 of the prefetch request instruction 211 because the prefetch request condition that the cache hit determination command 191 is issued and the prefetch access address 171 has a cache miss is not satisfied.

【0020】従って、プロセッサ100は、プリフェッ
チアクセスアドレス171で示されたアクセスアドレス
“n+2”のフェッチや、アクセスアドレス“n+2”
にリードするようなディスクコマンド103の発行や、
ブロックデータのステージングを指示するキャッシュア
クセスコマンド102の発行を行わない。
Therefore, the processor 100 fetches the access address "n + 2" indicated by the prefetch access address 171, and accesses the access address "n + 2".
Issue disk command 103 to read
The cache access command 102 for instructing staging of block data is not issued.

【0021】以上のようにして、アクセスアドレスが
“n”,“n+1”と連続した場合にのみ、それら連続
した次のアクセスアドレス“n+2”のデータがキャッ
シュミスした時だけプリフェッチが実行される。 (2)アクセスアドレスが連続しない場合 まず、レジスタA140にアクセスアドレス“n”が格
納されていた時、ソフトウェアからアクセスアドレス
“m”(ただし、m≠n+1)にリードコマンドが発行
されると、プロセッサ100は、アクセスアドレスが
“n+1”の場合と同様に、キャッシュヒット判定処理
を行う。その結果、キャッシュヒットすればデータメモ
リ130から、キャッシュミスすればディスク装置30
0から目的のアクセスアドレス“m”のデータをリード
する。
As described above, the prefetch is executed only when the access addresses are consecutive with "n" and "n + 1" and only when the data of the next consecutive access address "n + 2" has a cache miss. (2) When access addresses are not continuous First, when the read address is issued from the software to the access address “m” (where m ≠ n + 1) while the access address “n” is stored in the register A140, the processor 100 performs the cache hit determination processing as in the case where the access address is "n + 1". As a result, if there is a cache hit, the data memory 130 is used; if there is a cache miss, the disk device 30 is used.
The data of the target access address "m" is read from 0.

【0022】以上のキャッシュヒット判定処理およびデ
ィスク300からのリード処理と並行して、プロセッサ
100がキャッシュヒット判定コマンドを発行すると、
レジスタA140は、アクセスアドレス101から
“m”を、レジスタB150はアクセスアドレス141
から“n”をそれぞれ格納する。そして、レジスタA1
40とレジスタB150のデータが確定すると、加算器
160は、更新されたアクセスアドレス141、および
アクセスアドレス151のデータにそれぞれ“1”を加
算する。
When the processor 100 issues a cache hit determination command in parallel with the above cache hit determination processing and read processing from the disk 300,
The register A 140 stores “m” from the access address 101, and the register B 150 stores the access address 141.
To "n" are stored. And register A1
When the data of 40 and the data of the register B150 are determined, the adder 160 adds "1" to the data of the updated access address 141 and access address 151, respectively.

【0023】比較手段180は、アクセスアドレス14
1のデータ“m”とアクセスアドレス162のデータ
“n+1”とを比較し、m≠n+1なので結果が不一致
であることを比較結果181に示す。そして、比較結果
181が不一致のため、レジスタC170は、アクセス
アドレス161の“m+1”を格納を行わない。また、
プリフェッチ制御手段190は、レジスタC170に格
納されているプリフェッチアクセスアドレス171につ
いてのキャッシュヒット判定コマンド191を発行しな
い。
The comparison means 180 uses the access address 14
The comparison result 181 shows that the data “m” of 1 and the data “n + 1” of the access address 162 are compared, and the result is inconsistent because m ≠ n + 1. Since the comparison result 181 does not match, the register C170 does not store "m + 1" of the access address 161. Also,
The prefetch control unit 190 does not issue the cache hit determination command 191 for the prefetch access address 171 stored in the register C170.

【0024】従って、プリフェッチ要求手段210は、
キャッシュヒット判定コマンド191が発行され、かつ
プリフェッチアクセスアドレス171がキャッシュミス
しているというプリフェッチ要求条件が満足されず、プ
ロセッサ100にプリフェッチ要求指示211を通知し
ない。
Therefore, the prefetch request means 210 is
The cache hit determination command 191 is issued, and the prefetch request condition that the prefetch access address 171 has a cache miss is not satisfied, and the processor 100 is not notified of the prefetch request instruction 211.

【0025】さらに、プロセッサ100は、プリフェッ
チ要求がないため、プリフェッチアクセスアドレス17
1のフェッチや、プリフェッチのためのディスクコマン
ド103の発行およびブロックデータのステージングを
指示するキャッシュアクセスコマンド102を発行しな
い。
Further, since the processor 100 has no prefetch request, the prefetch access address 17
It does not issue the disk command 103 for fetching 1 or prefetching or the cache access command 102 for instructing staging of block data.

【0026】以上のようにして、アクセスアドレスが
“n”,次に“m”(m≠n+1)と連続しない場合
は、プリフェッチ処理を実行しない。
As described above, when the access addresses are not consecutive with "n" and then "m" (m ≠ n + 1), the prefetch process is not executed.

【0027】[0027]

【発明の効果】以上説明したように、本発明のディスク
キャッシュ制御装置は、ソフトウェアがプリフェッチに
関して一切の処理を必要としないため、ソフトウェアの
処理効率化が向上する。また、アクセスアドレスが連続
した場合にのみ、それら連続した次のアクセスアドレス
のデータだけをプリフェッチするため、すでに存在する
キャッシュ上の有効なデータのエントリに、不要なデー
タをプリフェッチしてしまうことを大きく削減でき、キ
ャッシュヒット率が向上する。
As described above, in the disk cache control device of the present invention, the software does not require any processing for prefetching, so that the processing efficiency of the software is improved. Also, only when the access addresses are consecutive, only the data of the next consecutive access address is prefetched, so unnecessary data is prefetched to the existing valid data entry in the cache. It can reduce the cache hit rate.

【0028】さらに、プリフェッチ処理により正規のフ
ァンクションを妨げることがなく、ソフトウェアおよび
ハードウェアの両面からシステムの性能向上がはかれる
という効果がある。
Further, there is an effect that the normal function is not hindered by the prefetch process, and the system performance is improved in terms of both software and hardware.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明のディスクキャッシュ制御装置の一実施
例を示すブロック図である。
FIG. 1 is a block diagram showing an embodiment of a disk cache control device of the present invention.

【符号の説明】[Explanation of symbols]

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 ディスク装置
100 Processor 101, 141, 151, 161, 162 Access Address 102 Cache Access Command 103 Disk Access Command 110 DMA Controller 111 Disk Interface Signal 120 Tag Memory 121 Tag Data 130 Data Memory 131 Block Data 140 Register A 150 Register B 160 Adder 170 Register C 171 Prefetch access address 180 Comparison means 181 Comparison result 190 Prefetch control means 191 Cache hit determination command 200 Cache controller 201 Cache memory address 202 Cache hit determination result 203 Tag memory control signal 204 Data memory control signal 210 Prefetch request means 211 Prefetch request Instruction 3 00 Disk device

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 ディスク装置に対するソフトウェアから
のアクセスアドレスの指示,プリフェッチ要求されたア
クセスアドレスの指示,キャッシュヒット判定処理など
のキャッシュアクセスコマンドの指示とディスクアクセ
スの指示とキャッシュヒット判定結果およびプリフェッ
チ要求の監視を制御するプロセッサと、前記プロセッサ
からの指示により前記ディスク装置とのアクセスを制御
するDMAコントローラと、アドレスタグを格納するキ
ャッシュメモリのタグメモリと、前記ディスク装置から
転送されるブロックデータを格納するキャッシュメモリ
のデータメモリと、前記プロセッサがキャッシュヒット
判定を指示した最新のラインのアクセスアドレスを格納
する第1のレジスタと、前記第1のレジスタに新たにラ
インのアクセスアドレスを格納する時にそれまで前記第
1のレジスタに格納されていたアクセスアドレスである
最新よりも1回前のアクセスアドレスを格納する第2の
レジスタと、前記第1および第2のレジスタに格納され
ていたアクセスアドレスにそれぞれ“1”を加算する加
算器と、前記第1のレジスタに格納されているアクセス
アドレスと前記加算器で第2のレジスタのアクセスアド
レスに“1”を加算したアクセスアドレスとが等しいか
否かを比較する比較手段と、前記加算器で前記第1のレ
ジスタのアクセスアドレスに“1”を加算したプリフェ
ッチするラインのアクセスアドレスを前記比較手段によ
る比較結果が一致した場合に格納する第3のレジスタ
と、前記比較手段による比較結果に基づいてキャッシュ
アクセスコマンドの実行状態を監視およびプリフェッチ
するラインのアクセスアドレスについてキャッシュヒッ
ト判定を指示するプリフェッチ制御手段と、前記プロセ
ッサもしくは前記第3のレジスタから指示されたアクセ
スアドレスより前記タグメモリと前記データメモリのキ
ャッシュメモリアドレスとを生成しさらに前記プロセッ
サもしくは前記プリフェッチ制御手段からのキャッシュ
ヒット判定のキャッシュアクセスコマンドにより前記タ
グメモリおよび前記データメモリへのアクセス制御とキ
ャッシュヒット判定処理とキャッシュヒット判定結果の
通知とを行うキャッシュコントローラと、前記プリフェ
ッチ制御手段が前記キャッシュコントローラに前記第3
のレジスタのプリフェッチするラインのアクセスアドレ
スのキャッシュヒット判定を指示しかつそのヒット判定
結果がミスした場合に前記プロセッサにプリフェッチ要
求を行うプリフェッチ要求手段とを備えることを特徴と
するディスクキャッシュ制御装置。
1. A software access address instruction for a disk device, a prefetch request access address instruction, a cache access command instruction such as cache hit determination processing, a disk access instruction, a cache hit determination result, and a prefetch request A processor that controls monitoring, a DMA controller that controls access to the disk device according to an instruction from the processor, a tag memory of a cache memory that stores an address tag, and block data that is transferred from the disk device. A data memory of the cache memory, a first register for storing the access address of the latest line for which the processor has instructed the cache hit determination, and a new line access address for the first register. A second register that stores an access address that is one time before the latest one, which is the access address that has been stored in the first register when storing the address, and the first register and the second register that are stored in the first and second registers. The access address stored in the first register and the access address obtained by adding "1" to the access address of the second register by the adder. And stores the access address of the prefetch line obtained by adding "1" to the access address of the first register by the adder when the comparison result by the comparison means matches. The third register that performs the cache access command execution monitoring and monitoring based on the comparison result by the comparison means. Prefetch control means for instructing a cache hit determination for an access address of a line to be prefetched, and a cache memory address for the tag memory and the data memory are generated from the access address instructed from the processor or the third register. A cache controller that performs access control to the tag memory and the data memory, cache hit determination processing, and notification of the cache hit determination result by a cache access command for cache hit determination from a processor or the prefetch control means, and the prefetch The control means causes the cache controller to perform the third
Disk cache control device, comprising: prefetch requesting means for instructing cache hit determination of an access address of a line to be prefetched of the register and making a prefetch request to the processor when the hit determination result is missed.
【請求項2】 前記プリフェッチ制御手段は、前記比較
手段による比較結果が一致した場合に前記プロセッサの
キャッシュアクセスコマンドの実行状態を監視し、実行
終了後に前記第3のレジスタに格納されているプリフェ
ッチするラインのアクセスアドレスについてキャッシュ
ヒット判定を指示することを特徴とする請求項1記載の
ディスクキャッシュ制御装置。
2. The prefetch control means monitors the execution state of a cache access command of the processor when the comparison result by the comparison means matches, and prefetches stored in the third register after the execution is completed. The disk cache control device according to claim 1, wherein a cache hit determination is instructed for an access address of a line.
JP7123505A 1995-05-23 1995-05-23 Disk cache controller Pending JPH08314803A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7123505A JPH08314803A (en) 1995-05-23 1995-05-23 Disk cache controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7123505A JPH08314803A (en) 1995-05-23 1995-05-23 Disk cache controller

Publications (1)

Publication Number Publication Date
JPH08314803A true JPH08314803A (en) 1996-11-29

Family

ID=14862291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7123505A Pending JPH08314803A (en) 1995-05-23 1995-05-23 Disk cache controller

Country Status (1)

Country Link
JP (1) JPH08314803A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
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 (en) 2008-07-09 2010-01-21 Nec Electronics Corp., Kawasaki Cache memory device
CN111639042A (en) * 2020-06-04 2020-09-08 中科芯集成电路有限公司 Method and device for processing consistency of prefetched buffer data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0281122A (en) * 1988-09-16 1990-03-22 Victor Co Of Japan Ltd Data reading method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0281122A (en) * 1988-09-16 1990-03-22 Victor Co Of Japan Ltd Data reading method

Cited By (5)

* Cited by examiner, † Cited by third party
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 (en) 2008-07-09 2010-01-21 Nec Electronics Corp., Kawasaki Cache memory device
CN111639042A (en) * 2020-06-04 2020-09-08 中科芯集成电路有限公司 Method and device for processing consistency of prefetched buffer data
CN111639042B (en) * 2020-06-04 2023-06-02 中科芯集成电路有限公司 Processing method and device for prefetching buffer data consistency

Similar Documents

Publication Publication Date Title
US5961631A (en) Data processing apparatus and method for pre-fetching an instruction in to an instruction cache
US6173392B1 (en) Prefetch controller automatically updating history addresses
US6401192B1 (en) Apparatus for software initiated prefetch and method therefor
EP1029280B1 (en) Cache memory operation
JPH09128293A (en) Information processing device
US5214766A (en) Data prefetching based on store information in multi-processor caches
JP3304444B2 (en) Vector processing equipment
JPH0564825B2 (en)
JPH08314803A (en) Disk cache controller
JP2786886B2 (en) Prefetch control method and prefetch control device
JP2851777B2 (en) Bus control method and information processing device
WO2008110874A1 (en) Device and method for generating cache user initiated pre-fetch requests
JP3378270B2 (en) Multiprocessor system
JP2000347934A (en) Cache memory device
JP3566746B2 (en) Information processing equipment
JPH0520188A (en) Cache controller
JPS63163532A (en) Microprocessor
JP2005235207A (en) Data processing apparatus and data processing method
JPH07219838A (en) Data prefetch control device
JPH0227430A (en) Fetching system for branching instruction
JPH0361213B2 (en)
JP2000076179A (en) System bus optimization system
JPS6221130B2 (en)
JP2000259495A (en) Cache memory control method and multiprocessor system
JPH02300960A (en) Data pre-takeout

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990622