JPH03292548A - Information processor - Google Patents

Information processor

Info

Publication number
JPH03292548A
JPH03292548A JP2095609A JP9560990A JPH03292548A JP H03292548 A JPH03292548 A JP H03292548A JP 2095609 A JP2095609 A JP 2095609A JP 9560990 A JP9560990 A JP 9560990A JP H03292548 A JPH03292548 A JP H03292548A
Authority
JP
Japan
Prior art keywords
address
cache
block
access
index
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.)
Granted
Application number
JP2095609A
Other languages
Japanese (ja)
Other versions
JP2690593B2 (en
Inventor
Kozo Yamano
山野 孝三
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 Computertechno Ltd
Original Assignee
NEC Computertechno 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 Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2095609A priority Critical patent/JP2690593B2/en
Publication of JPH03292548A publication Critical patent/JPH03292548A/en
Application granted granted Critical
Publication of JP2690593B2 publication Critical patent/JP2690593B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To reduce the deterioration of performance due to the waiting time for a block access required to a main storage at a cache miss by prefetching the block data to a cache from the main storage prior to an original access at a cache miss. CONSTITUTION:When the index results of address arrays 3 and 4 show the cache misses, a block is prefetched to a main storage 10 from a memory access control circuit 9 by an address of a counter 2 after a block is fetched to the storage 10 from the circuit 9 by an address shown in a register 1. That is, an access to be applied to the vicinity of a cache access address from a requester is estimated. Then the probability of existence of data is improved to a cache when the estimated access is carried out. Thus it is possible to prevent the deterioration of performance due to the waiting time for a block access required on the storage 10 at a cache miss.

Description

【発明の詳細な説明】[Detailed description of the invention]

一技ヱ辷f野− 本発明は情報処理装置に関し、特に主記憶装置の格納デ
ータの一部の写しをブロック単位で格納するキャッシュ
メモリを有する情報処理装置に関するものである。 且叉垣! 従来、この種の情報処理装置では、キャッシュメモリへ
のブロックデニタのフェッチは、要求元からのアクセス
時にアドレスアレイを索引した結果カキャッシュミスの
ときのみシリアルに主記憶装置から必要なブロックデー
タをフェッチし、先取υを全く行わない方法を採るか、
要求元からのアクセスが連続しかつその連続アクセスが
両者共にキャッシュミスのときにのみ、主記憶装置に対
してブロックロードデータを連続してアクセスし、後続
要求元アクセスに対してブロックデータの主記憶装置か
らの先取りを行う方法を採るかのいずれかである。 上述した従来のブロック先取シは、要求元からの連続ア
クセスが条件であり、もし連続しないと先行する要求元
からのアクセスがキャッシュミスにより、主記憶装置か
らブロックデータのフェン4チが完了するまで後続の要
求元からのアクセスに対するキャッシュミス処理が待た
される結果となり、要求元へのデータ返送応答が遅れ性
能を上げることが困難となる欠点がある。 j巳[二
TECHNICAL FIELD The present invention relates to an information processing apparatus, and more particularly to an information processing apparatus having a cache memory that stores a copy of a portion of data stored in a main memory in units of blocks. Crossing the fence! Conventionally, in this type of information processing device, fetching of block data into cache memory involves fetching necessary block data serially from main memory only when a cache miss occurs as a result of indexing an address array upon access from a request source. , adopt a method that does not involve pre-emption υ at all, or
Only when there are consecutive accesses from the request source and both consecutive accesses result in a cache miss, the block load data is accessed continuously to the main memory, and the block data is transferred to the main memory for subsequent accesses from the request source. Either a method of pre-fetching from the device is adopted. The conventional block preemption described above requires continuous access from the request source, and if it is not continuous, the access from the preceding request source will result in a cache miss and will be delayed until the block data is fetched from the main memory. This has the drawback that cache miss processing for accesses from subsequent request sources is forced to wait, and data return responses to request sources are delayed, making it difficult to improve performance. j Snake [two

【直 本発明の目的は、キャッシュミス時に要する主記憶装置
へのブロックアクセス待ち時間による性能低下をなくす
ようにした情報処理装置を提供することである。 」しm 本発明によれば、主記憶装置の格納データの一部の写し
をブロック単位で格納するキャッシュメモリを有する情
報処理装置であって、前記キャッシュメモリに格納され
たブロックの前記主記憶装置におけるアドレスの写しを
記憶する二重化されたアドレスアレイと、キャッシュ索
引要求元からのブロックアドレス及びこのブロックアド
レスに後続するブロックアドレスを夫々索引アドレスと
して前記二重化されたアドレスアレイを各々同時に索引
する手段と、この索引結果がキャッシュミスのときにブ
ロック先取りを前記主記憶装置に対して要求する手段と
を有することを特徴とする情報装置が得られる。 更に本発明によれば、主記憶装置の格納データの一部の
写しをブロック単位で格納するキャッシュメモリを有す
る情報処理装置であって、前記キャッシュメモリに格納
されたブロックの前記主記憶装置におけるアドレスの写
しを記憶するアドレスアレイと、キャッシュ索引要求元
からの索引アドレスにより索引する手段と、この索引結
果がキャッシュミスのとき、引続き前記索引アドレスに
連続するブロック指定アドレスを索引アドレスとして前
記アドレスアレイを索引する手段と、この索引結果がキ
ャッシュミスのときにブロック先取りを前記主記憶装置
に対して要求する手段とを有することを特徴とする情報
処理装置が得られる。 実施例 次に、本発明の実施例を図面を用いて説明する。 第1図は本発明の一実施例のブロック図であシ、本実施
例は、要求元からのキャラシュアクセ・スアドレスを保
持するアドレスレジスタ1と、このレジスタ1のブロッ
クアドレス部を加算するカウンタ2と、第1のアドレス
アレイ3と、第2のアドレスアレイ4と、アドレスアレ
イ3のキーアドレス部とレジスタ1のキーアドレス部と
の一致を検出する比較器5と、アドレスアレイ4のキー
アドレス部とカウンタ2の出力のキーアドレス部トの一
致を検出する比較器6と、比較器5及び6の結果が有効
であることを示すアドレスアレイ3及び4のフィールド
V、及びV2の出力で夫々比較結果を有効化するゲート
7及び8と、ゲート7及び8の出力を入力としてキャッ
シュミスの判定ヲ行イ、ブロックの先取りを行うか否か
を判断し、主記憶装置10へのブロックデータのフェッ
チを要求スるとともに、キャッシュへの登録アドレスの
変更を制御するメモリアクセス制御回路9とから構成さ
れる。 かかる構成において、要求元からのキャッシュアクセス
アドレスはアドレスレジスタ1にセットされ、このレジ
スタ1のS部(セットアドレス部:ブロックアドレスの
下位ビット)によりアドレスアレイ3が索引される。同
時に、レジスタ1のブロックアドレス部(K、S部)が
+1カウントアツプされ、要求ブロックよシ1つ上位の
ブロックアドレスがカウンタ2により生成され、そのセ
ットアドレス部でアドレスアレイ4が索引すれる。 索引結果は比較器5及び6に対応するエントリのキーア
ドレス部(Kl 、に2 )として出力され、レジスタ
1のに部(キ一部)及びカウンタ2のキ一部の出力と夫
々比較器5及び6にて比較され、かつアドレスアレイ3
及び4のvlおよびV2フィールドで示される登録アド
レス有効表示出力とのアンド結果がオンのとき、各々の
アクセスがキャツシュヒツトと判定され、オフのときキ
ャッシュミスと判定される。 従って、両方のアドレスアレイ索引結果がキャツシュヒ
ツトのときは、メモリアクセス制御回路9は何も動作せ
ず、本図に示していないキャッシュデータアレイ部から
レジスタlで示されたアドレスに対応するデータが要求
元へ返送される。 また、アドレスアレイ3の索引結果がキャツシュヒツト
でアドレスアレイ4の索引結果がキャッシュミスのとき
は、上記の動作に加えて、メモリアクセス制御回路9か
ら主記憶装置10に対してカウンタ2のアドレスでブロ
ックの先取)要求が行われ、アドレスアレイ4へのキャ
ッシュ登録アドレスの変更がなされる。 また、アドレスアレイ3の索引結果がキャッシュミスで
アドレスアレイ4の索引結果がキャツシュヒツトのとき
は、アドレスレジスタ1のアドレスでメモリアクセス制
御回路9から主記憶装置10に対してブロックのフェッ
チが行われ、主記憶装置10からキャッシュデiタアレ
イ部へのデータ登録部からレジスタ1で示されたアドレ
スに対応するデータが要求元へ返送され、アドレスアレ
イ3へのキャッシュ登録アドレスの変更がメモリアクセ
ス制御回路9により行われる。 さらに、両アドレスアレイ3及び4の索引結果が共にキ
ャッシュミスのときは、レジスタ】で示されたアドレス
でのメモリアクセス制御回路9から主記憶装置10に対
するブロックフェッチに引続いて、カウンタ2のアドレ
スでメモリアクセス制御回路9から主記憶装置10に対
してブロックの先取シがなされる。即ち、要求元からの
キャッシュアクセスアドレスの近傍に対するアクセスを
予測し、このアクセスが来たときキャッシュへのデータ
存在確率を高めるようにしているのである。 第2図は本発明の他の実施例を示すブロック図であり、
第1図と同等部分は同一符号により示している◇第1図
と異なる部分は、要求元からのキャッシュアクセスアド
レスを保持するアドレスレジスタを2つ(11及び12
にて示す)設け、アドレスレジスタ11は現在の要求元
からのキャッシュアクセスアドレスを保持し、アドレス
レジスタ12はそれに続く他のキャッシュ先取シアクセ
スアドレスを保持するようにした点である。そして、こ
れ等レジスタ11.12の内容により、各アドレスアレ
イ3,4を夫々索引するようにしている。 この様な構成において、要求元からのキャッシュアクセ
ス第1アドレスはレジスタ11に、第2アドレスはレジ
スタ12に夫々セットされ、レジスタ11の81部でア
ドレスアレイ3が索引され、同時にレジスタ12の82
部でアドレスアレイ4が索引される。 索引結果は比較器5及び6に対応するエントリのキーア
ドレス部(Kl 、に2 )として出力され、レジスタ
11及び12の各キ一部の出力と夫々比較器5及び6に
て比較され、かつアドレスアレイ3及び4のV、及びv
2フィールドで示される登録アドレス有効表示出力との
アンド結果がオンのとき、各々のアクセスがキャツシュ
ヒツトと判定すれ、オフのときキャッシュミスと判定さ
れる。 以降の動作は第1図に示す実施例のそれと同一である。 第3図は発明の別の実施例を示すブロック図である。本
実施例は、要求元からのキャッシュアクセスアドレスを
保持するアドレスレジスタ41と、このレジスタ41の
ブロックアドレス部を加算するカウンタ42と、アドレ
スアレイ43と、キャッシュアクセスアドレスをレジス
タ41の出力とするかまだはカウンタ42の出力とする
かを選択するセレクタ44と、アドレスアレイ43のキ
ーアドレス部と、セレクタ44のキーアドレス部トの一
致を検出する比較器45と、比較器45の結果が有効で
あることを示すアドレスアレイ43のフィールドVの出
力で比較結果を有効化するゲート46と、ゲート46の
出力を入力としてキャッシュミスの判定を行い、ブロッ
クの先取りを行うか否かを判断し、主記憶装置48への
ブロックデータのフェッチを要求するとともに、キャッ
シュへの登録アドレスの変更を制御するメモリアクセス
制御回路47とから構成される。 かかる構成において、要求元からのキャッシュアクセス
アドレスは、レジスタ41にセットされ、まずレジスタ
41の出力がセレクタ44で選択され、セレクタ出力の
8部でアドレスアレイ43が索引される。索引結果は比
較器45に対応するエントリのキーアドレス部(K)と
して出力され、セレクタ44のキ一部出力と比較器45
にて比較がとられ、かつアドレスアレイ43のVフィー
ルドで示される登録アドレス有効表示出力とのアンド結
果がオンのとき、キャツシュヒツトと判定され、オフの
ときキャッシュミスと判定される。 続いて要求元からのキャッシュアクセスアドレスレジス
タ41の出力のブロックアドレス部が+1カウントされ
、要求ブロックよ、91つ上位のブロックアドレスがカ
ウンタ42で生成される。 そのアドレスがセレクタ44で選択されてセレクタ44
0セットアドレス部でアドレスアレイ43が索引され、
上記の比較と同様の処理を経て、アンドゲート46の出
力にキャツシュヒツト/ミスの結果が得られる。 これらのアドレスアレイ43の連続索引はメモリアクセ
ス制御回路47で制御され、この制御回路47からのセ
レクタ44の選択制御によりシリアルに行われる。 アドレスアレイ43の索引がシリアルに行われることを
除いては、以降のメモリアクセス制御回路47から主記
憶装置48へのブロックアクセスおよびアドレスアレイ
43へのキャッシュ登録アドレスの変更は第1図の実施
例と同一である。 第4図は発明の更に他の実施例を示すブロック図である
。この実施例は、要求元からのキャッシュアクセスアド
レスを保持するアドレスレジスタ41と、レジスタ4工
のアドレスに続いてキャッシュアクセスがあることを表
示する次データフェッチフラグ(NDF)62と、レジ
スタ41のブロックアドレス部を加算するカウンタ42
と、キャッシュアクセスアドレスをレジスタ41の出力
とするかまたはカウンタ42の出力とするかを選択する
セレクタ44と、レジスタ41のブロック内アドレス部
を次データアドレスに加算するカウンタ65と、カウン
タ65出力に桁上げが発生し、NDF62がオンのとき
ブロック先取りを指示するゲート66と、ゲート66の
出力を保持し、セレクタ44出力をカウンタ42側に選
択することを指示するブロック先取シ指示FF (NB
R)67と、セレクタ44により索引されるアドレスア
レイ43と、アドレスアレイ43のキーアドレス部トセ
レクタ44のキーアドレス部との一致ヲ検出する比較器
45と、比較器45の結果が有効であることを示すアド
レスアレイ43のフィールド■の出力で、比較結果を有
効化するゲート46と、ゲート46の出力を入力として
キャッシュミスの判定を行い、ブロックの先取りを行う
か否かを判断し、主記憶装置48へのブロックデータの
フェッチを要求するとともに、キャッシュへの登録アド
レスの変更を制御するメモリアクセス制御回路47とか
ら構成される。 かかる構成において、要求元からのキャッシュアクセス
アドレスはレジスタ41に、次データフェッチフラグは
NDF62に夫々セットされ、まずレジスタ41の出力
がセレクタ42で選択され、この選択出力の8部でアド
レスアレイ43が索引される。 索引結果は比較器45に対応するエントリのキアドレス
部(K)として出力され、セレクタ44のキ一部出力と
比較器45にて比較がとられ、かつアドレスアレイ43
のVフィールドで示される登録アドレス有効表示出力と
のアンド結果がオンのとき、キャツシュヒツトと判定さ
れ、オフのときキャッシュミスと判定される。 上記アドレスアレイ43の索引中、レジスタ41のブロ
ック内アドレス部(B部)がカウンタ65で+1カウン
トされ、次データアドレスに更新され、カウンタ65か
ら桁上げがある場合、すなわちブロックアドレス部が変
わる場合は、NDF62がオンの条件でゲート66を介
して次ブロック先取シ指示FF  NBR67がセット
される。 NBR67がオンになると、レジスタ41のアドレスに
カウンタ42で+1された次ブロツクアドレスがセレク
タ44で選択され、要求元からのキャッシュアクセスア
ドレスに引続いてアドレスアレイ43が索引され、上記
と同様の処理を経て、アンドゲート46の出力にキャツ
シュヒツト/ミスの結果が得られる。 NBR67がオフのとき、すなわち次データフェッチが
ブロックを超えないとき、または次データフェッチが不
要のときは前記処理は行われない。 これらのアドレスアレイ43の連続索引はメモリアクセ
ス制御回路47で制御され、この制御回路47からのセ
レクタ44の選択制御により、シリアルに行われる。ア
ドレスアレイ43の索引がシリアルに行われることを除
いては、以降の制御回路47から主記憶装置48へのブ
ロックアクセスおよびアドレスアレイ43へのキャッシ
ュ登録アドレスの変更は第1図の実施例と同様である。 j巳す≧11 以上説明したように、本発明によれば、実際にアクセス
されたブロックアドレスに続くブロック、あるいは次の
アクセスで必要となるブロックのアクセスを先取シして
キャッシュへの存在の有無を検出し、キャッシュミスの
とき、本来のアクセスに先行して主記憶装置からキャッ
シュへのブロックデータの先取りを行うことにより、キ
ャッシュミス時に要する主記憶装置へのブロックアクセ
ス待ち時間による性能低下を軽減できるという効果があ
る。
A direct object of the present invention is to provide an information processing device that eliminates performance degradation due to block access wait time to the main storage device required in the event of a cache miss. According to the present invention, there is provided an information processing apparatus having a cache memory that stores a copy of a part of data stored in a main memory in units of blocks, wherein the main memory stores a copy of a part of data stored in the cache memory. a duplicated address array for storing copies of addresses in the cache index, and means for simultaneously indexing the duplicated address arrays using a block address from a cache index request source and a block address subsequent to this block address as index addresses, respectively; There is obtained an information device characterized in that it has means for requesting the main storage device to prefetch a block when the index result is a cache miss. Further, according to the present invention, there is provided an information processing apparatus having a cache memory for storing a copy of a part of data stored in a main memory in units of blocks, wherein an address in the main memory of a block stored in the cache memory is provided. an address array for storing a copy of a cache index; a means for indexing using an index address from a cache index request source; An information processing device is obtained, comprising means for indexing, and means for requesting the main storage device to prefetch a block when the index result is a cache miss. Embodiments Next, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram of an embodiment of the present invention. In this embodiment, the address register 1 that holds the character access address from the request source and the block address part of this register 1 are added. A counter 2 , a first address array 3 , a second address array 4 , a comparator 5 for detecting a match between the key address field of the address array 3 and the key address field of the register 1 , and a key of the address array 4 A comparator 6 detects a match between the address part and the key address part of the output of counter 2, and the output of fields V and V2 of address arrays 3 and 4 indicates that the results of comparators 5 and 6 are valid. Gates 7 and 8 validate the comparison results, and the outputs of gates 7 and 8 are used as input to determine a cache miss, determine whether or not to pre-fetch a block, and transfer the block data to the main memory 10. The memory access control circuit 9 requests the fetching of the data and controls the change of registered addresses in the cache. In this configuration, the cache access address from the request source is set in the address register 1, and the address array 3 is indexed by the S section (set address section: lower bits of the block address) of this register 1. At the same time, the block address section (K, S section) of register 1 is counted up by +1, a block address one block higher than the requested block is generated by counter 2, and address array 4 is indexed by the set address section. The index result is output as the key address part (Kl, ni 2) of the entry corresponding to comparators 5 and 6, and is outputted as the key address part (Kl, ni 2) of the entry corresponding to comparators 5 and 6, and is output to the comparator 5 and the output of the register 1 part (key part) and the key part of counter 2, respectively. and 6, and address array 3
When the AND result with the registered address valid display output indicated by the vl and V2 fields of 4 is on, each access is determined to be a cache hit, and when it is off, it is determined to be a cache miss. Therefore, when both address array index results are cache hits, the memory access control circuit 9 does nothing, and the data corresponding to the address indicated by register l is requested from the cache data array section not shown in this figure. It will be sent back to its source. Furthermore, when the index result of the address array 3 is a cache hit and the index result of the address array 4 is a cache miss, in addition to the above operation, the memory access control circuit 9 sends a block to the main storage device 10 using the address of the counter 2. A prefetch request is made, and the cache registration address in the address array 4 is changed. Further, when the index result of the address array 3 is a cache miss and the index result of the address array 4 is a cache hit, a block is fetched from the memory access control circuit 9 to the main storage device 10 using the address of the address register 1. The data corresponding to the address indicated in register 1 is returned from the data registration section to the cache data array section from the main storage device 10 to the request source, and the change of the cache registration address in the address array 3 is performed by the memory access control circuit 9. This is done by Furthermore, when the index results of both address arrays 3 and 4 are both cache misses, the block fetch from the memory access control circuit 9 to the main storage device 10 at the address indicated by the register is performed, and then the address of the counter 2 is Then, the memory access control circuit 9 preempts the block from the main storage device 10. That is, it predicts an access from a request source to a location near a cache access address, and increases the probability that data will exist in the cache when this access occurs. FIG. 2 is a block diagram showing another embodiment of the present invention,
Parts that are equivalent to those in Figure 1 are indicated by the same symbols ◇ Parts that are different from Figure 1 are two address registers (11 and 12) that hold cache access addresses from request sources.
), the address register 11 holds the cache access address from the current request source, and the address register 12 holds the subsequent cache preemption access address. The contents of these registers 11 and 12 are used to index each address array 3 and 4, respectively. In such a configuration, the first address of the cache access from the request source is set in the register 11, and the second address is set in the register 12, and the address array 3 is indexed by the 81st part of the register 11, and at the same time, the 82nd address of the register 12 is set.
The address array 4 is indexed in the section. The index result is output as the key address part (Kl, 2) of the entry corresponding to comparators 5 and 6, and is compared with the output of each key part of registers 11 and 12 in comparators 5 and 6, respectively. V and v of address arrays 3 and 4
When the AND result with the registered address valid display output shown in field 2 is on, each access is determined to be a cache hit, and when it is off, it is determined to be a cache miss. The subsequent operation is the same as that of the embodiment shown in FIG. FIG. 3 is a block diagram showing another embodiment of the invention. This embodiment includes an address register 41 that holds a cache access address from a request source, a counter 42 that adds up the block address part of this register 41, an address array 43, and a cache access address that is output from the register 41. There is still a selector 44 that selects whether to output the output of the counter 42, a comparator 45 that detects a match between the key address part of the address array 43, and the key address part of the selector 44, and the result of the comparator 45 is valid. A gate 46 validates the comparison result with the output of field V of the address array 43 indicating that there is a cache miss, and a cache miss is determined using the output of the gate 46 as input, and it is determined whether or not to prefetch the block. It is comprised of a memory access control circuit 47 that requests fetching of block data to the storage device 48 and controls changes to registered addresses in the cache. In this configuration, the cache access address from the request source is set in the register 41, the output of the register 41 is first selected by the selector 44, and the address array 43 is indexed by eight portions of the selector output. The index result is output as the key address part (K) of the entry corresponding to the comparator 45, and the key part output of the selector 44 and the comparator 45
When the AND result with the registered address valid display output indicated by the V field of the address array 43 is on, it is determined to be a cache hit, and when it is off, it is determined to be a cache miss. Subsequently, the block address portion of the output of the cache access address register 41 from the request source is counted by +1, and the counter 42 generates a block address 91 places higher than the requested block. The address is selected by the selector 44 and the selector 44
The address array 43 is indexed in the 0 set address section,
Through processing similar to the above comparison, a hit/miss result is obtained at the output of the AND gate 46. Continuous indexing of these address arrays 43 is controlled by a memory access control circuit 47, and is performed serially under selection control of the selector 44 from the control circuit 47. Except for the fact that the address array 43 is indexed serially, subsequent block access from the memory access control circuit 47 to the main storage device 48 and change of the cache registration address to the address array 43 are performed in accordance with the embodiment shown in FIG. is the same as FIG. 4 is a block diagram showing still another embodiment of the invention. This embodiment includes an address register 41 that holds a cache access address from a request source, a next data fetch flag (NDF) 62 that indicates that there is a cache access following the address of register 4, and a block of registers 41. Counter 42 that adds up the address part
, a selector 44 that selects whether to output the cache access address as the output of the register 41 or the counter 42, a counter 65 that adds the intra-block address part of the register 41 to the next data address, and a When a carry occurs and the NDF 62 is on, there is a gate 66 that instructs block prefetch, and a block prefetch instruction FF (NB) that holds the output of gate 66 and instructs the counter 42 to select the selector 44 output.
R) 67, the address array 43 indexed by the selector 44, the comparator 45 that detects a match between the key address part of the address array 43 and the key address part of the selector 44, and the result of the comparator 45 is valid. A gate 46 validates the comparison result based on the output of the field ■ of the address array 43 indicating a cache miss, and a cache miss is determined using the output of the gate 46 as input, and it is determined whether or not to prefetch the block. It is composed of a memory access control circuit 47 that requests fetching of block data to the device 48 and controls changes to registered addresses in the cache. In this configuration, the cache access address from the request source is set in the register 41, and the next data fetch flag is set in the NDF 62. First, the output of the register 41 is selected by the selector 42, and 8 parts of this selected output are used to select the address array 43. indexed. The index result is output as the key address part (K) of the corresponding entry to the comparator 45, and is compared with the key part output of the selector 44 in the comparator 45, and is outputted to the address array 43.
When the AND result with the registered address valid display output indicated by the V field is on, it is determined that there is a cache hit, and when it is off, it is determined that there is a cache miss. During indexing of the address array 43, the block address part (B part) of the register 41 is counted +1 by the counter 65 and updated to the next data address, and when there is a carry from the counter 65, that is, when the block address part changes. In this case, the next block preemption instruction FF NBR67 is set via the gate 66 under the condition that the NDF 62 is on. When the NBR 67 is turned on, the next block address whose address in the register 41 is incremented by 1 by the counter 42 is selected by the selector 44, the address array 43 is indexed following the cache access address from the request source, and the same process as above is performed. The result of the hit/miss is obtained at the output of the AND gate 46. When the NBR 67 is off, that is, when the next data fetch does not exceed a block, or when the next data fetch is unnecessary, the above processing is not performed. Continuous indexing of these address arrays 43 is controlled by a memory access control circuit 47, and is performed serially under selection control of the selector 44 from the control circuit 47. The subsequent block access from the control circuit 47 to the main memory 48 and the change of the cache registration address in the address array 43 are the same as in the embodiment shown in FIG. 1, except that the address array 43 is indexed serially. It is. j = 11 As explained above, according to the present invention, the presence or absence of the block in the cache is determined in advance by accessing the block following the actually accessed block address or the block required for the next access. By detecting a cache miss and pre-fetching block data from the main memory to the cache prior to the original access, it reduces performance degradation due to the waiting time required to access a block to the main memory when a cache miss occurs. There is an effect that it can be done.

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

第1図〜第4図は本発明の各実施例のブロック図である
。 主要部分の符号の説明 1、11.12.41・・・アドレスレジスタ3.4.
43・・・アドレスアレイ 5.6.45・・・比較器 9.47・・・メモリアクセス制御回路10.48・・
・主記憶装置 第1図
1 to 4 are block diagrams of each embodiment of the present invention. Explanation of symbols of main parts 1, 11.12.41...Address register 3.4.
43...Address array 5.6.45...Comparator 9.47...Memory access control circuit 10.48...
・Main storage device Figure 1

Claims (2)

【特許請求の範囲】[Claims] (1)主記憶装置の格納データの一部の写しをブロック
単位で格納するキャッシュメモリを有する情報処理装置
であつて、前記キャッシュメモリに格納されたブロック
の前記主記憶装置におけるアドレスの写しを記憶する二
重化されたアドレスアレイと、キャッシュ索引要求元か
らのブロックアドレス及びこのブロックアドレスに後続
するブロックアドレスを夫々索引アドレスとして前記二
重化されたアドレスアレイを各々同時に索引する手段と
、この索引結果がキャッシュミスのときにブロック先取
りを前記主記憶装置に対して要求する手段とを有するこ
とを特徴とする情報処理装置。
(1) An information processing device having a cache memory that stores a copy of a part of data stored in a main memory in units of blocks, which stores a copy of the address in the main memory of the block stored in the cache memory. means for simultaneously indexing the duplicated address arrays using a block address from a cache index request source and a block address subsequent to this block address as index addresses, respectively; An information processing apparatus comprising: means for requesting the main storage device to prefetch a block when .
(2)主記憶装置の格納データの一部の写しをブロック
単位で格納するキャッシュメモリを有する情報処理装置
であつて、前記キャッシュメモリに格納されたブロック
の前記主記憶装置におけるアドレスの写しを記憶するア
ドレスアレイと、キャッシュ索引要求元からの索引アド
レスにより索引する手段と、この索引結果がキャッシュ
ミスのとき、引続き前記索引アドレスに連続するブロッ
ク指定アドレスを索引アドレスとして前記アドレスアレ
イを索引する手段と、この索引結果がキャッシュミスの
ときにブロック先取りを前記主記憶装置に対して要求す
る手段とを有することを特徴とする情報処理装置。
(2) An information processing device having a cache memory that stores a copy of a part of data stored in a main memory in units of blocks, which stores a copy of the address in the main memory of the block stored in the cache memory. means for indexing using an index address from a cache index request source; and means for continuing to index the address array using a block specified address consecutive to the index address as an index address when the index result is a cache miss. , and means for requesting the main storage device to prefetch a block when the index result is a cache miss.
JP2095609A 1990-04-11 1990-04-11 Information processing device Expired - Lifetime JP2690593B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2095609A JP2690593B2 (en) 1990-04-11 1990-04-11 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2095609A JP2690593B2 (en) 1990-04-11 1990-04-11 Information processing device

Publications (2)

Publication Number Publication Date
JPH03292548A true JPH03292548A (en) 1991-12-24
JP2690593B2 JP2690593B2 (en) 1997-12-10

Family

ID=14142296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2095609A Expired - Lifetime JP2690593B2 (en) 1990-04-11 1990-04-11 Information processing device

Country Status (1)

Country Link
JP (1) JP2690593B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53134334A (en) * 1977-04-28 1978-11-22 Fujitsu Ltd Prefetch system in information processor having buffer memory
JPS5750380A (en) * 1980-09-09 1982-03-24 Mitsubishi Electric Corp Writing method of buffer storage device
JPS6027967A (en) * 1983-07-27 1985-02-13 Hitachi Ltd Block transfer control system of buffer storage device
JPH01286058A (en) * 1988-05-13 1989-11-17 Nec Corp Cache memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53134334A (en) * 1977-04-28 1978-11-22 Fujitsu Ltd Prefetch system in information processor having buffer memory
JPS5750380A (en) * 1980-09-09 1982-03-24 Mitsubishi Electric Corp Writing method of buffer storage device
JPS6027967A (en) * 1983-07-27 1985-02-13 Hitachi Ltd Block transfer control system of buffer storage device
JPH01286058A (en) * 1988-05-13 1989-11-17 Nec Corp Cache memory

Also Published As

Publication number Publication date
JP2690593B2 (en) 1997-12-10

Similar Documents

Publication Publication Date Title
US4583165A (en) Apparatus and method for controlling storage access in a multilevel storage system
KR100274327B1 (en) Methods and apparatus for providing multiple outstanding operations in a cache consistent multiple processor computer system
JPH06318177A (en) Method, device and computer system for reducing cache mistake penalty
US20030079089A1 (en) Programmable data prefetch pacing
US6718454B1 (en) Systems and methods for prefetch operations to reduce latency associated with memory access
JP2002297379A (en) Hardware prefetch system
US5758178A (en) Miss tracking system and method
JPH06168119A (en) Data look-ahead controller
JPH0285960A (en) Information processing system
US20040064648A1 (en) Cache prefetching
JPH07219847A (en) Information processor
JPH0695972A (en) Digital computer system
JP2001331793A (en) Image processor and cache memory
JPH07210460A (en) Move-in control method for buffer storage
KR0128272B1 (en) Information processing system and method of operation including cache memory
JPH03292548A (en) Information processor
US11379152B2 (en) Epoch-based determination of completion of barrier termination command
JPH02302853A (en) Improved type cash access method and apparatus
JPH02133842A (en) Prefetch control system for intermediate buffer
JPH0675853A (en) Cache memory device
JPH0477344B2 (en)
JP4796580B2 (en) Apparatus and method for providing information to cache module using fetch burst
US20240201999A1 (en) Accelerating fetch target queue (ftq) processing in a processor
JPH0855025A (en) Data prefetching method and information processor for the method
JPH0573415A (en) Hierarchized cache system