JPH01230152A - Cache memory - Google Patents

Cache memory

Info

Publication number
JPH01230152A
JPH01230152A JP8856566A JP5656688A JPH01230152A JP H01230152 A JPH01230152 A JP H01230152A JP 8856566 A JP8856566 A JP 8856566A JP 5656688 A JP5656688 A JP 5656688A JP H01230152 A JPH01230152 A JP H01230152A
Authority
JP
Japan
Prior art keywords
data
block
memory
buffer memory
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
JP8856566A
Other languages
Japanese (ja)
Inventor
Akio Nishimoto
西元 朗雄
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP8856566A priority Critical patent/JPH01230152A/en
Publication of JPH01230152A publication Critical patent/JPH01230152A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To increase a hit ratio by transferring continuous data blocks to a block buffer memory when the access of final data in the block buffer memory is detected with a block final data detector. CONSTITUTION:A block final data detector 15 is provided which detects that the data positioned in the final address in a block buffer memory 4 is hit, and at the time of detection, after a processor 1 reads the data, the data block positioned at the address immediately after the data on a main memory 15 is transferred to the block buffer memory 4. Consequently, since the transfer is started without waiting for the start of a next reading action, when the continuous data such as instruction fetching on the memory are read, advance reading is attained for the block buffer memory. Thus, the hit ratio can be increased.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、コンピュータシステム等で用いられるキャ
ッシュ記憶装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a cache storage device used in computer systems and the like.

〔従来の技術〕[Conventional technology]

高速のプロセッサを低速の主メモリから切り離すために
、小容量の高速ローカルバッファ、即ち、キャッシュメ
モリが用いられている。このキャッシュメモリは主メモ
リ内の使用頻度の高いデータ、あるいは最後に使用され
たデータ等を格納しておき、プロセッサがメモリアクセ
スする際に、必要なデータがこのキャッシュメモリ内に
あれば、時間のかかる主メモリへのアクセスが不要とな
ってシステムの性能が向上する。
Small, high-speed local buffers, or cache memories, are used to separate the high-speed processor from the slower main memory. This cache memory stores frequently used data or last used data in main memory, and when the processor accesses memory, if the necessary data is in this cache memory, it saves time. Such access to main memory is no longer necessary, improving system performance.

第2図は従来のキャッシュ記憶装置を示すブロック図t
0、図において、1はプロセッサ、2はキャッシュメモ
リ3のヒツト判定、ブロック転送等を制御するキャッシ
ュコントローラで、該キャッシュメモリ3に対しキャッ
シュコントロール信号12を出力する。4はプロツクパ
ソファメモリテアリ、■ブロックのデータを格納する高
速メモリである。該ブロックバッファメモリ4はキャッ
シュコントローラ2によす、ブロックバッファメモリコ
ントロール信号13を介して制御される。
FIG. 2 is a block diagram showing a conventional cache storage device.
0, in the figure, 1 is a processor, 2 is a cache controller that controls hit determination, block transfer, etc. of the cache memory 3, and outputs a cache control signal 12 to the cache memory 3. 4 is a block path memory archive, which is a high-speed memory that stores block data. The block buffer memory 4 is controlled by the cache controller 2 via a block buffer memory control signal 13 .

5は主メモリ、6はプロセッサアドレス信号9とブロッ
ク転送アドレス信号10とを切替え、システムアドレス
信号11を出力するセレクタ、7はシステムバス、81
−j、データ信号である。14はデータラインバッファ
であり、プロセッサ1およびキャッシュメモリ3とブロ
ックバッファメモリ4のデータ信号8を分離、接続する
5 is a main memory; 6 is a selector that switches between the processor address signal 9 and the block transfer address signal 10 and outputs the system address signal 11; 7 is a system bus; 81
−j, data signal; A data line buffer 14 separates and connects the data signals 8 of the processor 1, cache memory 3, and block buffer memory 4.

また、第3図(a)はプロセッサリード動作におけるキ
ャツシュヒツト時のデータの流れを示し、第3図(b)
はブロック転送時のデータの流れを、また第3図(C)
はブロックバッファメモリ4中のデータがヒツトした場
合のデータの流れを示している。
In addition, FIG. 3(a) shows the data flow at the time of cache hit in the processor read operation, and FIG. 3(b)
Figure 3 (C) shows the data flow during block transfer.
shows the flow of data when the data in the block buffer memory 4 is hit.

次に動作について説明する。まず、プロセッサ1はリー
ド動作時にプロセッサアドレス信号9を出カスる。キャ
ッシュコントローラ2は前記のプロセッサアドレス信号
9によりキャッシュのヒツト判定ヲ行い、ヒツト(アク
センがキャッシュメモリだけで完了し、主メモリへのア
クセスが不要の場合)すればキャッシュコントロールm
号12によりキャッシュメモリ3内の該当データをデー
タ信号8として出力させる。プロセッサ1は前記データ
信号8を受け取り、リードサイクルが完了する。この間
、主メモリ5からブロックバッファメモリ4へのデータ
ブロック転送が行われている場合は、データラインバッ
ファ14はオフ状態にある。第3図(a)はこの時のデ
ータの流れを示している。キャッシュコントローラ2U
、キャッシュメモリ3内に該当データが存在しなかった
場合、すなわち、ミスした場合、ブロックバッファメモ
リ4に該当データが存在すnば、これをプロセッサ1に
対して出力すると共にキャッシュメモリ3に格納する。
Next, the operation will be explained. First, processor 1 outputs processor address signal 9 during a read operation. The cache controller 2 uses the processor address signal 9 to determine if the cache has been hit, and if the cache has been hit (if the access is completed only in the cache memory and access to the main memory is not required), the cache controller 2 is activated.
No. 12 causes the corresponding data in the cache memory 3 to be output as the data signal 8. Processor 1 receives the data signal 8 and the read cycle is completed. During this time, if a data block is being transferred from the main memory 5 to the block buffer memory 4, the data line buffer 14 is in an off state. FIG. 3(a) shows the flow of data at this time. Cache controller 2U
, if the corresponding data does not exist in the cache memory 3, that is, in the case of a miss, if the corresponding data exists in the block buffer memory 4, it is output to the processor 1 and stored in the cache memory 3. .

第3図(C)はこの時のデータの流れを示している。該
当データがキャッシュメモリ3およびブロックバッファ
メモリ4に存在しなかった場合は、主メそり5からシス
テムバス7を介し、ブロックバッファメモリ4に対して
データブロック転送が行われる。すなわち、プロセッサ
1は、データブロック転送中に要求データがデータ信号
8上に出力されるとこれを取9込み、リードサイクルを
完了する。しかし、この要求データはキャッシュメモリ
3にも同時に格納される。第3図(bJはこの時のデー
タの流れを示している。リードサイクル完了後、プロセ
ッサ1はブロック転送の完了を待たずに、次のバスサイ
クルを開始し、キャッシュコントローラ2はデータライ
ンバッファ14をオフにする。
FIG. 3(C) shows the data flow at this time. If the corresponding data does not exist in the cache memory 3 or block buffer memory 4, a data block is transferred from the main memory 5 to the block buffer memory 4 via the system bus 7. That is, when the requested data is output on the data signal 8 during data block transfer, the processor 1 takes it in and completes the read cycle. However, this requested data is also stored in the cache memory 3 at the same time. FIG. 3 (bJ shows the data flow at this time. After the read cycle is completed, the processor 1 starts the next bus cycle without waiting for the completion of the block transfer, and the cache controller 2 uses the data line buffer 14. Turn off.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

従来のキャッシュ記憶装置は以上のように構成されてい
たので、主メモリからブロックバッファメモリへのデー
タブロック転送は、キャッシュメモリおよびブロックデ
ータバッファに対してミスした時点で開始されるため、
ヒツト率が低く、またミス確定からプロセッサがデータ
を受け取るまでの時間が長いという問題点がめった。
Since conventional cache storage devices are configured as described above, data block transfer from the main memory to the block buffer memory is started at the time of a miss to the cache memory and block data buffer.
The problem was that the hit rate was low and it took a long time from when a mistake was confirmed until the processor received the data.

この発明は上記のような問題点を解消するためになされ
たもので、命令フェッチ等、メモリ上に連続的に配置さ
れたデータをアクセスする場合に、ブロックバッファメ
モリに対するデータの先取りを行うことができ、ヒツト
率を向上させることができるキャッシュ記憶装置を得る
ことを目的とする。
This invention was made in order to solve the above-mentioned problems, and it is possible to pre-fetch data from the block buffer memory when accessing data that is consecutively arranged on the memory, such as when fetching instructions. The object of the present invention is to provide a cache storage device that can improve the hit rate.

〔課題を解決するための手段〕[Means to solve the problem]

この発明に係るキャッシュ記憶装置は、ブロックバッフ
ァメモリ中の最終アドレスに位置するデータがヒツトし
たことを検出するブロック最終データ検出器を設け、検
出時には、プロセッサが該データをリードした後、主メ
モリ上の該データ直後のアドレスに位置するデータブロ
ックをブロックバッファメモリへブロック転送するよう
に構成したものである。
The cache storage device according to the present invention is provided with a block final data detector that detects that data located at the final address in the block buffer memory is hit, and at the time of detection, after the processor reads the data, The data block located at the address immediately after the data is transferred to the block buffer memory as a block.

〔作 用〕[For production]

この発明におけるキャッシュ記憶装置は、ブロック最終
データ検出器がブロックバッファメモリ中の最終データ
に対するプロセッサリード動作を検出した場合、次のリ
ード動作が開始されるのを待たずに、該データに連続す
るデータブロックをブロック転送するため、命令フェッ
チ等、メモリ上に連続したデータをリードする場合には
、ブロックバッファメモリに対し、先読みすることがで
き、ヒツト率が向上する。
In the cache storage device according to the present invention, when a block final data detector detects a processor read operation for the last data in the block buffer memory, the cache storage device reads data subsequent to the data without waiting for the start of the next read operation. Since blocks are transferred in blocks, when reading continuous data on the memory, such as when fetching an instruction, the block buffer memory can be pre-read, improving the hit rate.

〔実施例〕〔Example〕

以下、この発明の一実施例を図について説明する。図中
、第2図と同一の部分は同一の符号をもって図示した。
An embodiment of the present invention will be described below with reference to the drawings. In the figure, the same parts as in FIG. 2 are indicated by the same reference numerals.

第1図において、15はブロック最終データ検出器であ
り、プロセッサアドレス信号9により、プロセッサリー
ド動作における要求データが、ブロックバッファメモリ
4中の最終アドレスに位置するデータであることを検出
し、キャッシュコントローラ2に通知する。
In FIG. 1, reference numeral 15 denotes a block final data detector, which detects based on the processor address signal 9 that requested data in a processor read operation is data located at the final address in the block buffer memory 4, and Notify 2.

次に動作について説明する。まず、プロセッサリード動
作時に、キャッシュコントローラ2がキャッシュメモリ
3に対してミスした場合、ブロックバッファメモリ4中
にプロセッサ要求データが存在するかどうかをチエツク
する。それと同時に、ブロック最終データ検出器15は
、該データがブロックバッファメモリ4中の最終データ
かどうかを判断し、キャッシュコントローラ2に通知す
る。
Next, the operation will be explained. First, when the cache controller 2 misses the cache memory 3 during a processor read operation, it is checked whether the processor requested data exists in the block buffer memory 4. At the same time, the block final data detector 15 determines whether the data is the final data in the block buffer memory 4 and notifies the cache controller 2 of the determination.

キャッシュコントローラ2は該データがブロックバッフ
ァメモリ4中に存在し、かつ最終データであることを認
識すると、該データをプロセッサ1およびキャッシュメ
モリ3へ転送した後、次のプロセッサバスサイクルの開
始を待たずにブロック転送を起動する。このとき、ブロ
ック転送されるデータブロックは、主メモリ5上に該デ
ータに連続して位置するデータブロックである。一般に
命令コード等のデータは、主メモリ5上に実行の順番に
連続して配置されるため、これらのデータのブロックバ
ッファメモリ4への先取り動作となる可能性が高く、そ
の場合には、次のプロセッサリード動作においてブロッ
クバッファメモリ4に対してヒツトする。
When the cache controller 2 recognizes that the data exists in the block buffer memory 4 and is the final data, it transfers the data to the processor 1 and cache memory 3, and then transfers the data to the processor 1 and the cache memory 3 without waiting for the start of the next processor bus cycle. Initiate a block transfer. At this time, the data block to be transferred is a data block located in the main memory 5 consecutively to the data. Generally, data such as instruction codes are placed consecutively in the main memory 5 in the order of execution, so there is a high possibility that these data will be prefetched to the block buffer memory 4. In that case, the next In the processor read operation, the block buffer memory 4 is hit.

なお、上記実施例では、ブロック最終データを検出した
場合は、無条件でブロック転送を起動しているが、プロ
セッサ1が出力する命令フェッチサイクル識別信号等を
用い、命令7工ツチサイクル時のみ、ブロック転送を起
動するよう構成してもよい。
In the above embodiment, block transfer is started unconditionally when the final block data is detected. It may be configured to initiate block transfers.

〔発明の効果〕〔Effect of the invention〕

以上のように、この発明によれば、ブロック最終データ
検出器によりブロックバッファメモリ中の最終データの
アクセスを検出した場合に、該データに連続するデータ
ブロックをブロックバッファメモリにブロック転送する
よう構成したので、命令フェッチサイクル時等において
、ブロックバッファメモリに対するデータの先取りを行
うことができ、ヒツト率が向上する効果がある。
As described above, according to the present invention, when the block final data detector detects an access to the final data in the block buffer memory, the data block that is continuous with the last data is block-transferred to the block buffer memory. Therefore, data can be prefetched from the block buffer memory during an instruction fetch cycle, etc., and the hit rate is improved.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はこの発明の一実施例によるキャッシュ記憶装置
を示すブロック図、第2図は従来のキャッシュ記憶装置
を示すブロック図、第3図はこの装置および従来の装置
におけるデータの流れを示す図である。 1はプロセッサ、2はキャッシュコントローラ、3はキ
ャッシュメモリ、4はブロックバッファメモリ、5は主
メモリ、8はデータ信号、15はブロック最終データ検
出器。 なお、図中、同一符号は同一、又は相当部分を示す。 特許出願人  三菱電機株式会社 (外2名) 第1図 第2図 第 3
FIG. 1 is a block diagram showing a cache storage device according to an embodiment of the present invention, FIG. 2 is a block diagram showing a conventional cache storage device, and FIG. 3 is a diagram showing the flow of data in this device and a conventional device. It is. 1 is a processor, 2 is a cache controller, 3 is a cache memory, 4 is a block buffer memory, 5 is a main memory, 8 is a data signal, and 15 is a block final data detector. In addition, in the figures, the same reference numerals indicate the same or equivalent parts. Patent applicant: Mitsubishi Electric Corporation (2 others) Figure 1 Figure 2 Figure 3

Claims (1)

【特許請求の範囲】[Claims] プロセッサから出力されるリード信号によりキャッシュ
メモリ内またはブロックバッファメモリ内のデータをデ
ータ信号として前記プロセッサが受け取り、かつ前記キ
ャッシュメモリおよび前記ブロツクバツフアメモリ内に
該当データが存在しない時にはデータブロックを主メモ
リから前記ブロックバッファメモリにブロック転送する
キャッシュ記憶装置において、前記ブロックバッファメ
モリ中の最終データに対するプロセッサリード動作を検
出するブロック最終データ検出器と、前記ブロック最終
データ検出器が前記最終データに対するプロセッサリー
ド動作を検出したときに前記最終データに連続して位置
する前記主メモリ上のデータブロックを前記ブロックバ
ッファメモリにブロック転送する制御を行うキャッシュ
コントローラとを有することを特徴とするキャッシュ記
憶装置。
When the processor receives data in the cache memory or block buffer memory as a data signal in response to a read signal output from the processor, and the corresponding data does not exist in the cache memory or block buffer memory, the data block is transferred to the main memory. a block final data detector for detecting a processor read operation for the final data in the block buffer memory; and a block final data detector for detecting a processor read operation for the final data in the block buffer memory; A cache storage device comprising: a cache controller that controls block transfer of a data block in the main memory located consecutively to the final data to the block buffer memory when the last data is detected.
JP8856566A 1988-03-10 1988-03-10 Cache memory Pending JPH01230152A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8856566A JPH01230152A (en) 1988-03-10 1988-03-10 Cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8856566A JPH01230152A (en) 1988-03-10 1988-03-10 Cache memory

Publications (1)

Publication Number Publication Date
JPH01230152A true JPH01230152A (en) 1989-09-13

Family

ID=13030685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8856566A Pending JPH01230152A (en) 1988-03-10 1988-03-10 Cache memory

Country Status (1)

Country Link
JP (1) JPH01230152A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520045A (en) * 2003-03-06 2006-08-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data processing system having prefetch means

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520045A (en) * 2003-03-06 2006-08-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data processing system having prefetch means

Similar Documents

Publication Publication Date Title
JPH0337744A (en) Data processor
JPH06236343A (en) Method for asynchronous read/write of data with reference to memory and direct memory access controller for it
JP3296240B2 (en) Bus connection device
KR960007833B1 (en) Method and apparatus for fast page mode selection
JPH076088A (en) Information storage device
JPH01230152A (en) Cache memory
JP3199773B2 (en) Memory access method
JPH0210450A (en) Prefetch control system for cache memory
JPS61217834A (en) Data processor
JP2557857B2 (en) Cache storage
JP2856244B2 (en) Data transfer method
JPH05250258A (en) Cache control system
JPS58115680A (en) Information processor
JPH02100740A (en) Block loading operation system for cache memory unit
JPH08286914A (en) Memory controller
JP2002222115A (en) Memory system
JPS63148329A (en) Instruction prefetch control system
JP2001229074A (en) Memory controller and information processor and memory control chip
JPH0447350A (en) Main storage read/response control
JPH02168323A (en) Information processing device
JPH03116345A (en) Data processor
JPS61221845A (en) Producing system for invalidated address of buffer memory
JPH0713814B2 (en) Bus control method
JP2001109663A (en) System and method for controlling disk
JP2004213544A (en) Multiprocessor system