Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0690681B2 - Cache memory control method - Google Patents
[go: Go Back, main page]

JPH0690681B2 - Cache memory control method - Google Patents

Cache memory control method

Info

Publication number
JPH0690681B2
JPH0690681B2 JP62202092A JP20209287A JPH0690681B2 JP H0690681 B2 JPH0690681 B2 JP H0690681B2 JP 62202092 A JP62202092 A JP 62202092A JP 20209287 A JP20209287 A JP 20209287A JP H0690681 B2 JPH0690681 B2 JP H0690681B2
Authority
JP
Japan
Prior art keywords
prefetch
block
fetch
request
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP62202092A
Other languages
Japanese (ja)
Other versions
JPS6446145A (en
Inventor
優人 大野
秀樹 大曽根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP62202092A priority Critical patent/JPH0690681B2/en
Publication of JPS6446145A publication Critical patent/JPS6446145A/en
Publication of JPH0690681B2 publication Critical patent/JPH0690681B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔概 要〕 複数の主記憶読出しポートをプリフェッチに活用せしめ
たキャッシュメモリ制御方式に関し、 ブロックフェッチの最大許容回数以内で要求される任意
回数のプリフェッチを施行し得ることを目的とし、 先行するブロックフェッチの完結前に次のブロックフェ
ッチ処理に入ることを可能にする複数の主記憶読出しポ
ートを備え、ブロックフェッチ要求に応答して該主記憶
読出しポートを介して主記憶装置とキャッシュメモリと
の間でのデータの転送を行なうキャッシュメモリ制御方
式において、プリフェッチ要求信号発生回路と、プリフ
ェッチ起動回路と、プリフェッチ残回数出力回路と、信
号反復出力回路とを設け、プリフェッチ要求信号発生回
路からの順次の信号に応答してプリフェッチ動作を前記
複数の主記憶読出しポートを介して生ぜしめるように構
成した。
DETAILED DESCRIPTION [Overview] A cache memory control method in which a plurality of main memory read ports are used for prefetching, and it is possible to perform a desired number of prefetches within a maximum allowable number of block fetches. A plurality of main memory read ports for the purpose of enabling to enter the next block fetch processing before the completion of the preceding block fetch, and the main memory device via the main memory read port in response to the block fetch request. In a cache memory control method for transferring data between a cache memory and a cache memory, a prefetch request signal generation circuit, a prefetch activation circuit, a prefetch remaining number output circuit, and a signal repetition output circuit are provided to generate a prefetch request signal. A plurality of prefetch operations are performed in response to a sequential signal from the circuit. It constructed as give rise via a main memory read port.

〔産業上の利用分野〕[Industrial application field]

本発明は、主記憶装置(MS)の内容の一部の写しを保持
するストアスルー方式、或いはスワップ方式のキャッシ
ュメモリを備えた情報処理装置におけるキャッシュメモ
リ制御方式に係り、特に、該情報処理装置の中央処理装
置(CPU)内における命令ユニット(Iユニット)から
の命令フェッチ要求,及びオペランドフェッチ要求等に
対応して、ミスヒットが生起した場合に、主記憶装置
(MS)に対して行なうブロックのプリフェッチ要求に対
する制御方式に関する。
The present invention relates to a cache memory control method in an information processing apparatus having a cache memory of a store-through method or a swap method, which holds a copy of a part of the contents of a main storage device (MS), and particularly to the information processing apparatus. Block for the main memory (MS) when a mishit occurs in response to an instruction fetch request from the instruction unit (I unit) in the central processing unit (CPU), an operand fetch request, etc. Control method for the prefetch request of.

情報処理装置における中央処理装置(CPU)内のキャッ
シュメモリに対するアクセス時間に対して、最近の半導
体技術の著しい進歩に伴う主記憶装置(MS)の大容量化
動向により、そのアクセス時間は非常に大きくなる傾向
にある。
The access time to the cache memory in the central processing unit (CPU) of the information processing device is very large due to the trend of increasing the capacity of the main memory (MS) accompanying the recent remarkable progress in semiconductor technology. Tends to become.

一方、該情報処理装置における処理量の増大化と、多様
化に伴って、該情報処理装置に対する処理能力の向上に
対する要求は益々大きくなっており、該キャッシュメモ
リを備えた情報処理装置の処理能力の向上を図る為に
は、アクセス時間の小さいキャッシュメモリ内に、有効
なデータを、主記憶装置(MS)から効率よく転送する必
要がある。
On the other hand, with the increase in the processing amount of the information processing apparatus and the diversification, the demand for the improvement of the processing capacity of the information processing apparatus is increasing more and more. In order to improve the performance, it is necessary to efficiently transfer valid data from the main storage device (MS) into the cache memory with a short access time.

〔従来の技術〕[Conventional technology]

第6図はキャッシュメモリを備えた情報処理装置の概略
図である。
FIG. 6 is a schematic diagram of an information processing apparatus having a cache memory.

キャッシュメモリ(OP-CACHE,IF-CACHE)52,53を備えた
情報処理装置は、図示されている如く、命令ユニット
(Iu)(以下、Iユニットと言う)1Aと、記憶制御ユニ
ット(Su)(以下、Sユニットと言う)1Bと、演算ユニ
ット(Eu)(以下、Eユニットという)1Cとからなる中
央処理装置(CPU)1と、記憶制御装置(MCU)2と、主
記憶装置(MS)3とから構成されており、キャッシュメ
モリ(OP-CACHE,IF-CACHE)52,53は、上記Sユニット1B
内に設けられている。
An information processing apparatus including cache memories (OP-CACHE, IF-CACHE) 52, 53 includes an instruction unit (Iu) (hereinafter referred to as I unit) 1A and a storage control unit (Su) as shown in the figure. A central processing unit (CPU) 1 including a 1B (hereinafter, referred to as an S unit) 1C and an arithmetic unit (Eu) (hereinafter, referred to as an E unit) 1C, a storage control device (MCU) 2, and a main storage device (MS) ) 3 and the cache memory (OP-CACHE, IF-CACHE) 52, 53 is the S unit 1B described above.
It is provided inside.

かかる情報処理装置において、Iユニッ1Aから命令フェ
ッチ要求(IF-REQ)信号により、命令フェッチ要求を受
けたSユニット1Bは、該命令が上記キャッシュメモリ
(IF-CACHE)53に存在する場合には、Iユニット1Aに対
して命令フェッチステータスバリッド(IF-STV)信号を
返し、該命令がキャッシュメモリ(IF-CACHE)53に存在
しない場合には、Iユニット1Aに対して命令フェッチラ
インミッシング検出(以下、IF-LMDと言う)信号を返す
と共に、主記憶制御装置(MCU)2に対して主記憶要求
(MS-REQ)信号を送出し、該記憶制御装置(MCU)2が
主記憶装置(MS)3を制御することにより、該命令を含
むブロックフェッチが行なわれる。
In such an information processing apparatus, the S unit 1B which has received the instruction fetch request by the instruction fetch request (IF-REQ) signal from the I unit 1A, when the instruction exists in the cache memory (IF-CACHE) 53, , An instruction fetch status valid (IF-STV) signal is returned to the I unit 1A, and if the instruction does not exist in the cache memory (IF-CACHE) 53, an instruction fetch line missing detection ( (Hereinafter referred to as "IF-LMD") signal, and sends a main memory request (MS-REQ) signal to the main memory control unit (MCU) 2, and the storage control unit (MCU) 2 By controlling the MS) 3, a block fetch including the instruction is performed.

又、Iユニット1Aからオペランドフェッチ要求(OP-RE
Q)信号により、オペランドフェッチ要求を受けたSユ
ニット1Bは、該オペランドがキャッシュメモリ(OP-CAC
HE)52に存在する場合には、Iユニット1Aに対して、オ
ペランドステータスバリッド(以下、OP-STVと言う)信
号を返し、該オペランドがキャッシュメモリ(OP-CACH
E)52に存在しない場合には、Iユニット1Aに対して、
オペランドラインミッシング検出(OP-LMD)信号を返す
と共に、主記憶制御装置(MCU)2に対して主記憶要求
(MS-REQ)信号を送出し、該記憶制御装置(以下、MCU
と言う)2が主記憶装置(MS)3を制御することによ
り、該オペランドを含むブロックフェッチが行なわれ
る。
In addition, the operand fetch request (OP-RE
The S unit 1B which has received the operand fetch request by the Q) signal has the operand in the cache memory (OP-CAC
If it exists in the HE) 52, an operand status valid (hereinafter referred to as OP-STV) signal is returned to the I unit 1A, and the operand is cache memory (OP-CACH).
E) If not present in 52, for I Unit 1A,
An operand line missing detection (OP-LMD) signal is returned, and a main memory request (MS-REQ) signal is sent to the main memory control unit (MCU) 2 so that the storage control unit (hereinafter referred to as MCU)
2) controls the main memory (MS) 3 to perform a block fetch including the operand.

このとき、上記主記憶要求(MS-REQ)信号と共に、主記
憶要求アドレス(MS-REQ-ADRS)信号と、該要求の種
別、例えば、命令フェッチ,プリフェッチ,アドレス変
換バッファフェッチ,オペランドフェッチ等を示す要求
識別子(REQ-ID)が送出される。
At this time, together with the main memory request (MS-REQ) signal, the main memory request address (MS-REQ-ADRS) signal and the type of the request, for example, instruction fetch, prefetch, address translation buffer fetch, operand fetch, etc. The request identifier (REQ-ID) shown is transmitted.

そして、主記憶装置(MS)3から該ブロックフェッチデ
ータ(MS-DATA)が返送されるとき、そのデータの種別
を示すリターン識別子(RTN-ID){上記、要求識別子
(REQ-ID)対応}と共に、何バイト目のデータであるか
を示す識別子(DATA-ID)が返送される。
Then, when the block fetch data (MS-DATA) is returned from the main memory device (MS) 3, a return identifier (RTN-ID) indicating the type of the data {the above corresponds to the request identifier (REQ-ID)}. At the same time, an identifier (DATA-ID) indicating the number of bytes of data is returned.

上記ブロックフェッチに関する従来方式を、第7図によ
って説明する。
A conventional method for the block fetch will be described with reference to FIG.

第7図は従来のキャッシュメモリ制御方式を説明する図
であって、(a)はアドレス系を示し、(b)はデータ
系を示し、(c)は制御系を示し、(d)は要求識別子
(REQ-ID)の一例を示している。但し、以下の説明にお
いては、特に断らない限りオペランドキャッシュメモリ
の場合の例を主にして説明する。
FIG. 7 is a diagram for explaining a conventional cache memory control system, in which (a) shows an address system, (b) shows a data system, (c) shows a control system, and (d) shows a request. An example of an identifier (REQ-ID) is shown. However, in the following description, an example of the operand cache memory will be mainly described unless otherwise specified.

先ず、第7図(a)は従来方式の主記憶読出しポートの
構成例のアドレス系を示している。
First, FIG. 7A shows an address system of a configuration example of a conventional main memory read port.

本図から分かるように、従来方式においては、該ブロッ
クフェッチ要求の種類によって固定される、主記憶読出
しポート(OP-BFAR,PR-BFAR,TR-BFAR,IF-BFAR)35〜38
を備えていた。
As can be seen from the figure, in the conventional method, the main memory read ports (OP-BFAR, PR-BFAR, TR-BFAR, IF-BFAR) 35 to 38 are fixed depending on the type of the block fetch request.
Was equipped with.

従って、Sユニット1BがMCU2に対して、各種のブロック
フェッチ要求を送出する場合には、該要求アドレスを主
記憶アドレスレジスタ(以下、MSARと言う)30にセット
すると共に、オペランド要求に関するものは、オペラン
ドブロックフェッチアドレスレジスタ(以下、OP-BFAR
と言う)35に、プリフェッチ要求に関するものは、プリ
フェッチアドレスレジスタ(PR-BFAR)36に、アドレス
変換バッファ(TLB)要求に関するものは、TLBブロック
フェッチアドレスレジスタ(TR-BFAR)37に、命令フェ
ッチ要求に関するものは、命令フェッチブロックアドレ
スレジスタ(IF-BFAR)38に、それぞれ該要求アドレス
がセットされていた。
Therefore, when the S unit 1B sends various block fetch requests to the MCU 2, the request address is set in the main memory address register (hereinafter, referred to as MSAR) 30, and Operand block fetch address register (hereinafter OP-BFAR
35), those related to prefetch requests to the prefetch address register (PR-BFAR) 36, those related to address translation buffer (TLB) requests to the TLB block fetch address register (TR-BFAR) 37, and instruction fetch requests In the case of the above, the request address is set in the instruction fetch block address register (IF-BFAR) 38, respectively.

また、MSAR30にセットされた該要求アドレスはMCU2に、
該要求アドレスを送出すると共に、即クリアされるが、
上記読出しポート(OP-BFAR,PR-BFAR,TR-BFAR,IF-BFA
R)35〜38にセットされた該要求アドレスは、該ブロッ
クフェッチ要求による処理が全て終了する迄保持されて
いる。
Also, the request address set in MSAR30 is
The request address is sent and cleared immediately,
Read port above (OP-BFAR, PR-BFAR, TR-BFAR, IF-BFA
R) The request address set to 35 to 38 is held until the processing by the block fetch request is completed.

第8図は、キャッシュメモリ制御方式の動作タイムチャ
ートであり、(a)は従来方式の場合を示し、(b)は
後述する本発明の場合を示している。
FIG. 8 is an operation time chart of the cache memory control method, (a) shows the case of the conventional method, and (b) shows the case of the present invention described later.

先ず、第8図(a)によって、上記従来のキャッシュメ
モリ制御動作を、更に詳細に説明する。
First, the conventional cache memory control operation will be described in more detail with reference to FIG.

第8図の(a)に示された各サイクルにおいて、Pサイ
クルは、プライオリティサイクルを示しており、T/Wサ
イクルはアドレス変換を行なうサイクル、又はキャッシ
ュメモリのディレクトリ50に対するディレクトリ検索サ
イクル、又は該ディレクトリ50に対する書込みサイクル
であり、B/Sサイクルはキャッシュメモリのデータアレ
イ51からの読出しサイクル、又は該データアレイ51に対
するライトサイクルであり、Rサイクルはリザルトサイ
クルを、それぞれ示している。
In each cycle shown in FIG. 8A, the P cycle indicates a priority cycle, and the T / W cycle is a cycle for performing address conversion, a directory search cycle for the directory 50 of the cache memory, or the cycle. A write cycle to the directory 50, a B / S cycle is a read cycle from the data array 51 of the cache memory, or a write cycle to the data array 51, and an R cycle is a result cycle.

上記第7図(a)のアドレス系に示すように、上記Pサ
イクルにおいて、Iユニット1Aから送出されてきたオペ
ランドフェッチ要求アドレス(IU-OP-REQ-ADRS)は、次
のTサイクルには、オペランドTサイクル実効アドレス
レジスタ(以下、OP-TEARと言う)10に有効アドレスレ
ジスタとしてセットされ、オペランドアドレス変換バッ
ファ(OP-TLB)40により、絶対アドレスに変換されると
共に、該有効アドレスの一部(即ち、検索タグアドレ
ス)で、オペランドキャッシュディレクトリ(OP CACHE
DIR)50を検索し、比較器(C)50aにおいて、上記絶
対アドレス(即ち、比較タグアドレス)との比較が行な
われる。
As shown in the address system of FIG. 7 (a), in the P cycle, the operand fetch request address (IU-OP-REQ-ADRS) sent from the I unit 1A is It is set as an effective address register in the operand T cycle effective address register (hereinafter referred to as OP-TEAR) 10, converted into an absolute address by the operand address conversion buffer (OP-TLB) 40, and a part of the effective address. (That is, search tag address) in the operand cache directory (OP CACHE
DIR) 50 is searched, and the absolute value (that is, the comparison tag address) is compared in the comparator (C) 50a.

次のBサイクルにおいては、上記絶対アドレスは、オペ
ランドBサイクル絶対アドレスレジスタ(以下、OP-BAA
Rと言う)20にセットされ、Tサイクルにおける比較結
果が、オペランドディレクトリ照合レジスタ(以下、OP
-DMRと言う)21にセットされ、該比較の結果、何れかの
ウエイ(即ち、セット)と一致したものがあった場合に
は、上記OP-DMR21より、前述のOP-STV信号がIユニット
1Aに送出されると共に、オペランドBサイクル実効アド
レスレジスタ(以下、OP-BEARと言う)22にセットされ
たアドレスにより、オペランドキャッシュデータアレイ
(OP CACHE DATA ARRAY)51内の、例えば、16ウエイ(W
AY 0〜WAY F)のデータが読み出され、上記OP-DMR21よ
り送出される信号により、その1つのウエイが選択さ
れる。
In the next B cycle, the absolute address is the operand B cycle absolute address register (hereinafter OP-BAA).
R) is set to 20, and the comparison result in the T cycle is the operand directory collation register (hereinafter OP
-Called DMR) 21 and, as a result of the comparison, if there is a match with any way (that is, set), the above OP-DMR 21 sends the above OP-STV signal to the I unit.
It is sent to 1A, and the address set in the operand B cycle effective address register (hereinafter referred to as OP-BEAR) 22 causes the operand cache data array (OP CACHE DATA ARRAY) 51, for example, 16 ways (W
Data of (AY 0 to WAY F) is read out, and one of the ways is selected by the signal transmitted from the OP-DMR 21.

又、上記の比較により、何れのウエイとも一致の無かっ
た場合、つまり、キャッシュミスヒットした場合には、
上記OP-DMR21よりOP-LMD信号がIユニット1Aに送出され
る。
Also, from the above comparison, if there is no match with any way, that is, if there is a cache mishit,
An OP-LMD signal is sent from the OP-DMR 21 to the I unit 1A.

次のRサイクルにおいては、キャッシュヒットした場合
には、上記オペランドキャッシュデータアレイ(OP CAC
HE DATA ARRAY)51より選択されたデータが、第7図
(b)のデータ系に示されるように、演算ユニット(E
ユニット)1C内のレジスタ(OWR)100に書き込まれる。
In the next R cycle, if a cache hit occurs, the operand cache data array (OP CAC
The data selected from the HE DATA ARRAY) 51, as shown in the data system of FIG.
It is written to the register (OWR) 100 in the unit) 1C.

然し、キャッシュミスヒットした場合には、第7図
(a)のOP-BAAR20にセットされた、該要求アドレスがM
SAR30と、OP-BFAR35にセットされ、MSAR30よりMCU2該要
求アドレスが送出される。
However, in the case of a cache miss, the requested address set in OP-BAAR20 in FIG. 7 (a) is M
It is set in SAR30 and OP-BFAR35, and the requested address of MCU2 is sent from MSAR30.

MCU2に該要求アドレスを送出する際には、第7図(c)
に示した制御系において、ブロックフェッチ制御部(以
下、BF-CNTLと言う)80により、MS-REQ信号90及び第7
図(d)に示すように、該主記憶読出しポートの種類、
つまり該要求の種類を示す要求識別子(REQ-ID)91が作
成され、MCU2に送出されて該オペランドを含むブロック
フェッチが開始される。
When the request address is sent to the MCU2, FIG. 7 (c)
In the control system shown in FIG. 2, the block fetch control unit (hereinafter referred to as BF-CNTL) 80 causes the MS-REQ signal 90 and the seventh
As shown in FIG. 3D, the type of the main memory read port,
That is, a request identifier (REQ-ID) 91 indicating the type of the request is created and sent to the MCU 2 to start the block fetch including the operand.

このとき、ブロックフェッチは、例えば、64バイト単位
で行なわれ、主記憶装置(MS)3から返送されてくるMS
-DATAは、8バイト単位で8回に分けられて送られてく
る。データ識別子(DATA-ID)はこのときの第何バイト
目のデータであるかを示す識別子である。
At this time, the block fetch is performed, for example, in units of 64 bytes, and the MS returned from the main storage device (MS) 3 is returned.
-DATA is sent in 8 byte units divided into 8 times. The data identifier (DATA-ID) is an identifier indicating which byte data at this time is the data.

MCU2から中央処理装置(CPU)1へのデータ送出に際し
ては、上記MS-DATAが送出される数サイクル前{第8図
のタイムチャートでは、例えば、3サイクル(τ)前}
に、該MCU2からデータ出力指示(DOW)信号と共に、リ
ターン識別子(RTN-ID){前述の要求識別子(REQ-ID)
と等価なもの}信号、並びに、前述のデータ識別子(DA
TA-ID)信号の送出が開始される。
When sending data from the MCU 2 to the central processing unit (CPU) 1, several cycles before the MS-DATA is sent {in the time chart of FIG. 8, for example, 3 cycles (τ) before}
In addition to the data output instruction (DOW) signal from the MCU 2, a return identifier (RTN-ID) {request identifier (REQ-ID) described above
Equivalent to} signal and the data identifier (DA
TA-ID) signal transmission is started.

これらの制御により、第7図(b)のデータ系に示すオ
ペランドムーブインレジスタ偶数側(OP-MIR-EVN)65E,
オペランドムーブインレジスタ奇数側(OP-MIR-ODD)65
Oに、上記MS-DATAがセットされ、各々、オペランドキャ
ッシュデータインレジスタ偶数側(OP-CDIR-EVN)70,オ
ペランドキャッシュデータインレジスタ奇数側(OP-CDI
R-ODD)71に送出される。
By these controls, the operand move-in register even side (OP-MIR-EVN) 65E, shown in the data system of FIG. 7 (b),
Operand move-in register odd number side (OP-MIR-ODD) 65
The MS-DATA is set to O, and the operand cache data in register even side (OP-CDIR-EVN) 70 and the operand cache data in register odd side (OP-CDI
R-ODD) 71.

第8図のタイムチャートに示された‘BYPASS'とは、該
ブロックフェッチ要求を起動することになったIユニッ
ト1Aからの要求アドレスで指定される8バイト以内のデ
ータを、第7図(b)のデータ系で示したオペランドキ
ャッシュデータアレイ(OP CACHE DATA ARRAY)51を介
することなく、レジスタ(OWR)100に書き込むタイムチ
ャートを示すものであり、ムーブイン(Move In)は、
上記オペランドキャッシュデータインレジスタ偶数側
(OP-CDIR-EVN)70,オペランドキャッシュデータインレ
ジスタ奇数側(OP-CDIR-ODD)71の両者にデータがセッ
トされた時点において、オペランドキャッシュデータア
レイ(OP CACHE DATA ARRAY)51に、該オペランドキャ
ッシュデータインレジスタ偶数側(OP-CDIR-EVN)70,オ
ペランドキャッシュデータインレジスタ奇数側(OP-CDI
R-ODD)71の内容を同時に、都合16バイトのデータを書
き込むタイムチャートを示したものである。
“BYPASS” shown in the time chart of FIG. 8 means that the data within 8 bytes designated by the request address from the I unit 1A that has activated the block fetch request is shown in FIG. ) Is a time chart for writing to the register (OWR) 100 without going through the operand cache data array (OP CACHE DATA ARRAY) 51 shown in the data system of FIG.
When data is set in both the operand cache data in register even side (OP-CDIR-EVN) 70 and the operand cache data in register odd side (OP-CDIR-ODD) 71, the operand cache data array (OP CACHE DATA ARRAY) 51 to the operand cache data in register even side (OP-CDIR-EVN) 70, operand cache data in register odd side (OP-CDI
R-ODD) 71 contents, simultaneously showing a time chart for writing 16 bytes of data.

従って、該ムーブイン(Move In)動作は、上記16バイ
トの書込み動作を4回行なって、前述の64バイトのデー
タをムーブインすることになる。第8図のタイムチャー
トに示すように、該ムーブインが終了する迄、つまり、
ブロックフェッチが終了する迄、前述のオペランドブロ
ックフェッチアドレスレジスタ(OP-BFAR)35が有効で
あることを示す‘OP-BFAR-VALID信号’が送出され続け
ることになり、該タイムチャートに示されるように、次
のオペランド要求が送出可能となるのは、先行している
オペランド要求に対応する上記‘OP-BFAR-VALID信号’
の送出の終了の1サイクル後となる。
Therefore, in the move-in operation, the 16-byte write operation is performed four times to move-in the 64-byte data. As shown in the time chart of FIG. 8, until the move-in ends, that is,
Until the block fetch is completed, the'OP-BFAR-VALID signal 'indicating that the above-mentioned operand block fetch address register (OP-BFAR) 35 is valid will continue to be sent, as shown in the time chart. In addition, the next operand request can be sent is the above-mentioned'OP-BFAR-VALID signal 'corresponding to the preceding operand request.
This is one cycle after the end of the transmission of.

プリフェッチ(PR)のブロックフェッチ要求,アドレス
変換デーブル(TR)のブロックフェッチ要求,命令(I
F)のブロックフェッチ要求についても同様のことを行
なっていた。
Prefetch (PR) block fetch request, address translation table (TR) block fetch request, instruction (I
The same thing was done for the block fetch request of F).

そして、上述のようにして生じたブロックフェッチ要求
に伴って生ずるプリフェッチは次のようにして行なわれ
る。
Then, prefetching that occurs in response to the block fetching request that occurs as described above is performed as follows.

第9図において、上述のオペランドアドレスはオペラン
ドリクエストを受けたプライオリティ制御回路250から
マルチプレクサ252に与えられる信号によりレジスタ(O
P-T-EAR)10、そしてレジスタ(OP-B-AAR)20を介して
主記憶アドレスレジスタ(MSAR)30へ転送されてそのフ
ェッチが上述の如くして行なわれる。
In FIG. 9, the above-mentioned operand address is registered by a signal (O) given to the multiplexer 252 from the priority control circuit 250 which has received the operand request.
The data is transferred to the main memory address register (MSAR) 30 via the PT-EAR) 10 and the register (OP-B-AAR) 20 and fetched as described above.

これと並行して、オペランド要求信号+R_OP_REQがIユ
ニットから出力され且つ2ブロック以上の処理を要する
旨の信号+R_NEXT_LINE_PREFETCHがIユニット1Aから出
力された状態において、次のブロックにキャッシュミス
ヒットが生ずるならば、第10図のアンド回路201の入力
条件が満たされてフリップフロップ回路208がセットさ
れてプリフェッチのためのブロックフェッチ要求信号+
PF_REQが線209上に出力される(第4図(a)参照)。
この線209上のブロックフェッチ要求信号+PF_REQは、
第10図に示すようにプライオリティ制御回路250で選択
されて出力され、その出力信号により次のブロックのた
めのフェッチアドレスを生成保持しているアドレスレジ
スタ(PF-EAR)112のそのフェッチアドレスをマルチプ
レクサ252等を介してオペランドフェッチの場合と同様
にして主記憶アドレスレジスタ(MSAR)30(第7図
(a))へ転送されてそのフェッチが上述と同様にして
行なわれる。ただし、この場合においては、上記レジス
タ(OP-BAAR)20にセットされた要求アドレスは、レジ
スタ(PR-BFAR)36にセットされ、ブロックフェッチ制
御部80から要求識別子(REQ-ID)“01"がレジスタ(REQ
-ID)91にセットされる。又、MCU2から中央処理装置1
へのデータ送出に際しては、オペランドフェッチの場合
と同様、MCU2から制御系(第7図(c))へ転送される
データ出力(DOW)指示信号、リターン識別子(RTN-I
D)信号及びデータ識別子(DATA-ID)信号により、主記
憶装置(MS)3から返送されて来るMS-DATAは第7図
(b)のデータ系のプリフェッチムーブインレジスタ偶
数側(PR-MIR-EVN)66E、プリフェッチムーブインレジ
スタ奇数側(PR-MIR-ODD)61Oに8バイトずつセットさ
れ、そしてオペランドキャッシュデータインレジスタ偶
数側(OP-CDIR-EVN)70,オペランドキャッシュデータイ
ンレジスタ奇数側(OP-CDIR-ODD)71にセットされる。
これ以降の“BYPASS"又はムーブイン(MoveIn)はオペ
ランドフェッチの場合と同じである。
In parallel with this, if the operand request signal + R_OP_REQ is output from the I unit and the signal + R_NEXT_LINE_PREFETCH is output from the I unit 1A indicating that processing of two or more blocks is required, if a cache mishit occurs in the next block. , The input condition of the AND circuit 201 of FIG. 10 is satisfied, the flip-flop circuit 208 is set, and the block fetch request signal for prefetch +
PF_REQ is output on line 209 (see FIG. 4 (a)).
The block fetch request signal + PF_REQ on this line 209 is
As shown in FIG. 10, the fetch address of the address register (PF-EAR) 112, which is selected and output by the priority control circuit 250 and generates and holds the fetch address for the next block, is multiplexed by the output signal. The data is transferred to the main memory address register (MSAR) 30 (FIG. 7 (a)) in the same manner as in the operand fetch via 252 and the fetch is performed in the same manner as described above. However, in this case, the request address set in the register (OP-BAAR) 20 is set in the register (PR-BFAR) 36, and the request identifier (REQ-ID) “01” is sent from the block fetch controller 80. Register (REQ
-ID) 91 is set. Also, from the MCU2 to the central processing unit 1
When sending data to, the data output (DOW) instruction signal and return identifier (RTN-I) transferred from the MCU2 to the control system (Fig. 7 (c)) are sent as in the case of operand fetch.
D) signal and data identifier (DATA-ID) signal cause MS-DATA returned from the main storage device (MS) 3 to be the prefetch move-in register even side (PR-MIR) of the data system of FIG. 7 (b). -EVN) 66E, prefetch move-in register odd side (PR-MIR-ODD) 61O is set in 8 bytes each, and operand cache data in register even side (OP-CDIR-EVN) 70, operand cache data in register odd side (OP-CDIR-ODD) 71 is set.
The subsequent "BYPASS" or move-in (MoveIn) is the same as the case of operand fetch.

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

上記従来方式においては、ブロックフェッチの要求の種
類により、該主記憶読出しポート(35〜38)は固定され
ており、該要求のブロックフェッチが終了する迄、該ブ
ロックフェッチの要求アドレスを保持しているため、同
一種類の要求がIユニット1Aから送出され、且つキャッ
シュメモリ内に、該要求アドレスのデータが存在しなく
て、最初のブロックフェッチ要求の処理が開始された場
合には、該ブロックフェッチ処理が終了する迄、後続の
同じ種類のブロックフェッチ要求の送出が待たされ、効
率の良いムーブインができない。
In the above conventional method, the main memory read port (35 to 38) is fixed depending on the type of block fetch request, and the request address of the block fetch is held until the block fetch of the request is completed. Therefore, if a request of the same type is sent from the I unit 1A, and the data of the request address does not exist in the cache memory and the processing of the first block fetch request is started, the block fetch Until the processing is completed, the subsequent transmission of the same type of block fetch request is delayed, and efficient move-in cannot be performed.

この制限に加えて、上述のところから明らかなように、
オペランドフェッチにおいてプリフェッチし得るブロッ
クはオペランドフェッチされるブロックの次のブロック
についてのみしかできるに過ぎなかった。即ち、フリッ
プフロップ回路208をプリフェッチのために更にセット
する手段はなかった。従って、演算上それ以上に亘って
ミスヒットがIユニットで予測できたとしても、そのブ
ロックに至って改めてオペランドフェッチをかけねばな
らず、この点からもムーブイン効率が低度のものとなっ
ている。
In addition to this limitation, as is clear from the above,
The block that can be prefetched in the operand fetch can be performed only for the block next to the block that is operand-fetched. That is, there was no means to further set the flip-flop circuit 208 for prefetching. Therefore, even if a miss hit can be predicted in the I unit for a longer period of time due to the operation, the block must be read again to perform the operand fetch, and the move-in efficiency is low also from this point.

本発明は、斯かる問題点に鑑みて創作されたもので、ブ
ロックフェッチの最大許容回数以内で要求される任意回
数のプリフェッチを施行し得るキャッシュメモリ制御方
式を提供することをその目的とする。
The present invention was created in view of the above problems, and an object of the present invention is to provide a cache memory control method capable of performing a desired number of prefetches within the maximum allowable number of block fetches.

〔問題点を解決するための手段〕[Means for solving problems]

第1図は本発明の原理ブロック図を示す。この図におい
て、21,・・・,2mは主記憶装置3とキャッシュメモリ5
との間に設けられ、先行するブロックフェッチの完結前
に次のブロックフェッチ処理に入ることを可能にする複
数の主記憶読出しポートである。7はキャッシュミスヒ
ットに応答してプリフェッチ要求信号発生回路6から最
初のプリフェッチ要求信号を発生させるプリフェッチ起
動回路である。8はプリフェッチブロック数を受け取っ
てプリフェッチ動作毎に残プリフェッチブロック数を出
力するプリフェッチ残回数出力回路である。そして、回
路8の出力に応答する信号反復出力回路9により、最初
のプリフェッチ動作開始以降の予め決められた時間経過
毎にプリフェッチ要求信号発生回路6から第2番目以降
のプリフェッチ要求信号を発生させて順次のプリフェッ
チ要求信号を発生させて順次プリフェッチ動作を複数の
主記憶読出しポートを介して生ぜしめるようにして本発
明は構成されている。
FIG. 1 shows a block diagram of the principle of the present invention. In the figure, 2 1 , ..., 2 m are main memory 3 and cache memory 5
And a plurality of main memory read ports that are provided between and to enable the next block fetch processing to be started before the completion of the preceding block fetch. Reference numeral 7 denotes a prefetch start-up circuit that causes the prefetch request signal generation circuit 6 to generate the first prefetch request signal in response to a cache mishit. A prefetch remaining number output circuit 8 receives the number of prefetch blocks and outputs the number of remaining prefetch blocks for each prefetch operation. Then, the signal repetitive output circuit 9 responsive to the output of the circuit 8 causes the prefetch request signal generation circuit 6 to generate the second and subsequent prefetch request signals every time a predetermined time has elapsed since the start of the first prefetch operation. The present invention is configured so that a sequential prefetch request signal is generated to cause a sequential prefetch operation via a plurality of main memory read ports.

〔作 用〕[Work]

ブロックフェッチが生ぜしめられたときに、プリフェッ
チが必要になると、プリフェッチ起動回路7によってプ
リフェッチ要求信号発生回路6から最初のプリフェッチ
要求信号が発生されて複数の主記憶読出しポートのうち
の最初の空きポートを介して対応するブロックのプリフ
ェッチ動作に入る。
If a prefetch is required when a block fetch is generated, the prefetch activation circuit 7 generates the first prefetch request signal from the prefetch request signal generation circuit 6 and the first empty port of the plurality of main memory read ports. The prefetch operation of the corresponding block is started via.

このプリフェッチのほかに、更にプリフェッチしなけれ
ばならないブロックがプリフェッチ残回数回路8から示
されるならば、先行するプリフェッチ動作開始後の予め
決められた時間経過毎に、先行するプリフェッチ動作が
完結していなくても、信号反復出力回路9によりプリフ
ェッチ要求信号発生回路6からプリフェッチ要求信号が
順次に発生せしめられ、順次に発生されるプリフェッチ
要求信号に対応するプリフェッチは先行する主記憶読出
しポートの次の空きポートを使用して行われる。
In addition to this prefetch, if a block to be further prefetched is indicated by the prefetch remaining number circuit 8, the preceding prefetch operation is not completed every time a predetermined time elapses after the start of the preceding prefetch operation. However, the signal repetitive output circuit 9 causes the prefetch request signal generation circuit 6 to sequentially generate the prefetch request signals, and the prefetch corresponding to the sequentially generated prefetch request signals is an empty port next to the preceding main memory read port. Is done using.

従って、ブロックフェッチにおける先行するフェッチの
完結前に順次のブロックフェッチへ進み得るという機能
はプリフェッチにおいても有効に活かされ、効率の良い
ムーブイン等を達成し得る。
Therefore, the function of advancing to the sequential block fetch before the completion of the preceding fetch in the block fetch can be effectively used in the prefetch, and efficient move-in or the like can be achieved.

〔実施例〕〔Example〕

第2図が本発明のキャッシュメモリ制御方式の構成例を
示した図であり、その(a)はアドレス系を示し、
(b)はデータ系を示し、(c)は制御系を示し、
(d)は要求識別子(REQ-ID)の一例を示し、(e)は
ブロックフェッチアドレスレジスタコード(BFAR-COD
E)の一例を示しており、ブロックフェッチアドレスレ
ジスタ(BFAR.0,1,2,3)31〜34、ムーブインレジスタ
(MIR0-EVN,ODD、MIR1-EVN,ODD、・・・MIR3-EVN,ODD)
60E,60O、61E,61O、・・・、63E,63O、ブロックフェッ
チ制御部(BF-CNTL)80′、及び関連機構並びに第2図
(c)のブロックフェッチ制御回路内のプリフェッチ要
求信号発生回路の詳細図(第3図)が本発明を実施する
のに必要な手段である。尚、全図を通して同じ符号は同
じ対象物を示している。
FIG. 2 is a diagram showing a configuration example of the cache memory control system of the present invention, in which (a) shows an address system,
(B) shows a data system, (c) shows a control system,
(D) shows an example of the request identifier (REQ-ID), and (e) shows the block fetch address register code (BFAR-COD).
E) shows an example of block fetch address registers (BFAR.0,1,2,3) 31 to 34, move-in registers (MIR0-EVN, ODD, MIR1-EVN, ODD, ... MIR3-EVN). , ODD)
60E, 60O, 61E, 61O, ..., 63E, 63O, block fetch control unit (BF-CNTL) 80 ′, and related mechanism, and prefetch request signal generation circuit in the block fetch control circuit of FIG. 2 (c) The detailed view of FIG. 3 (FIG. 3) is the means necessary for carrying out the present invention. The same reference numerals indicate the same objects throughout the drawings.

以下、第2図乃至第5図によって、本発明のキャッシュ
メモリ制御方式を説明する。
The cache memory control method of the present invention will be described below with reference to FIGS.

本発明を実施しても、当該Sユニット1Bにおける各演算
サイクル、即ち、Pサイクル,Tサイクル,Bサイクルにお
いては、従来方式と同様の動作が行なわれるが、Rサイ
クルにおいては。従来はブロックフェッチ要求の種類
(ブロックフェッチ,プリフェッチ,・・・)により、
該要求アドレスを保持するブロックアドレスレジスタ
は、例えば、第7図(a)に示す従来方式では、レジス
タ(OP-BFAR)35,レジスタ(PR-BFAR)36,・・・のよう
に固定されているが、本発明においては、主記憶読出し
ポート(BFAR.0,1,2,3)31〜34のように、ブロックフェ
ッチの種類に固定されることがなくなっており、空きポ
ートが存在する限り、同一種類の該ブロックフェッチの
要求アドレスを保持できるように構成されている所が異
なる。このときの動作は、第2図(c)の制御系で示し
たブロックフェッチ制御部(BF-CNTL)80′から送出さ
れるBFARn-VALD(n=0,1,2,3)信号により制御され
る。
Even if the present invention is implemented, in each operation cycle in the S unit 1B, that is, in the P cycle, T cycle, and B cycle, the same operation as the conventional method is performed, but in the R cycle. Conventionally, depending on the type of block fetch request (block fetch, prefetch, ...)
The block address register that holds the request address is fixed as, for example, a register (OP-BFAR) 35, a register (PR-BFAR) 36, ... In the conventional method shown in FIG. However, in the present invention, the main memory read ports (BFAR.0,1,2,3) 31 to 34 are no longer fixed to the type of block fetch, and as long as there are free ports. The difference is that the block fetch request addresses of the same type can be held. The operation at this time is controlled by the BFARn-VALD (n = 0,1,2,3) signal sent from the block fetch controller (BF-CNTL) 80 'shown in the control system of FIG. 2 (c). To be done.

つまり、該ブロックフェッチ要求アドレスを保持する際
には、上記BFARn-VALD(n=0,1,2,3)信号が‘オフ’
であり、且つ該レジスタの番号(n)の最も小さいレジ
スタに、該要求アドレスを保持して、該BFARn-VALD(n
=0,1,2,3)を‘オン’とするように制御される{第2
図(c)のブロックフェッチ制御部(BF-CNTL)80′参
照}。
That is, when holding the block fetch request address, the BFARn-VALD (n = 0,1,2,3) signal is'off '.
And the requested address is held in the register having the smallest number (n) of the register, and the BFARn-VALD (n
= 0,1,2,3) is controlled to be'on '{second
See block fetch controller (BF-CNTL) 80 'in FIG.

又、第2図(c)の制御系に示した、MS-REQ信号90の送
出に際しては、本発明においても従来方式と同じく、要
求識別子(REQ-ID)91′が送出されるが、従来方式で説
明した要求識別子(REQ-ID)91とは、その生成条件が異
なる。
Further, when the MS-REQ signal 90 shown in the control system of FIG. 2 (c) is sent, the request identifier (REQ-ID) 91 'is sent in the present invention as in the conventional method. The generation condition is different from the request identifier (REQ-ID) 91 described in the method.

即ち、従来方式における要求識別子(REQ-ID)91は、ブ
ロックフェッチアドレスレジスタ(BFAR)35・・・38の
種類、つまりブロックフェッチ要求の種類を示していた
が、本発明における要求識別子(REQ-ID)91′は第2図
(d)に示すように、単に、ブロックフェッチアドレス
レジスタ(BFAR.0,1,2,3)31〜34を識別するだけのもの
であり、該ブロックフェッチ要求の種類を示すブロック
フェッチアドレスレジスタコード(BFAR-CODE)は、第
2図(e)に示すように、上記ブロックフェッチ制御部
(BF-CNTL)80′内において、前述のように、そのとき
発生したブロックフェッチ要求が捕捉した‘空き’即
ち、BFARn-VALD(n=0,1,2,3)が‘オフ’のブロック
フェッチアドレスレジスタ(BFAR.0,1,2,3)31〜34に対
応して、該ブロックフェッチの種類(OP,PR,TR,IF)の
コードを保持するようにする{第2図(c),(e)参
照}。
That is, the request identifier (REQ-ID) 91 in the conventional system indicates the type of the block fetch address registers (BFAR) 35 ... 38, that is, the type of the block fetch request, but the request identifier (REQ-ID in the present invention The ID) 91 'simply identifies the block fetch address registers (BFAR.0,1,2,3) 31 to 34, as shown in FIG. The block fetch address register code (BFAR-CODE) indicating the type is generated in the block fetch control unit (BF-CNTL) 80 'as described above at that time, as shown in FIG. 2 (e). Corresponds to'empty 'captured by block fetch request, that is, block fetch address register (BFAR.0,1,2,3) 31-34 with BFARn-VALD (n = 0,1,2,3)' off ' And retain the code of the block fetch type (OP, PR, TR, IF) This is done {see FIGS. 2 (c) and 2 (e)}.

従って、MCU2より返送されてくるリターン識別子(RTN-
ID)(REQ-IDと等価なもの)により、ブロックフェッチ
アドレスレジスタ(BFAR.0,1,2,3)31〜34の番号(00,0
1,10,11)を認識し、該番号に基づいて、セレクタ(SE
L)82をアクセスして、該ブロックフェッチアドレスレ
ジスタコード(BFAR-CODE)を選択,出力する。
Therefore, the return identifier (RTN-
ID) (equivalent to REQ-ID), the block fetch address register (BFAR.0,1,2,3) 31-34 number (00,0
1,10,11) and recognizes the selector (SE
L) 82 is accessed to select and output the block fetch address register code (BFAR-CODE).

従来方式においては、主記憶装置(MS)3からのムーブ
インデータ(MS-DATA)のキャッシュメモリデータアレ
イ(OP CACHE DATA ARRAY)51への書込みに際して、リ
ターン識別子(RTN-ID)を制御信号として用いていた
{第7図(c)のバイパスムーブイン制御部(Bypass M
ove In CONTROL)81参照}が、本発明においては、上記
BFAR-CODEにより第2図(c)のバイパスムーブイン制
御部(Bypass Move In CONTROL)81′の制御を行なう。
In the conventional method, the return identifier (RTN-ID) is used as a control signal when writing the move-in data (MS-DATA) from the main storage device (MS) 3 to the cache memory data array (OP CACHE DATA ARRAY) 51. Used {Bypass move-in control unit (Bypass M
ove In CONTROL) 81}, but in the present invention, the above
BFAR-CODE controls the bypass move-in control unit 81 'shown in FIG. 2 (c).

本発明を実施した場合の、主記憶装置(MS)3からのブ
ロックフェッチデータ(MS-DATA)のバイパス(Bypas
s),ムーブイン(Move In)のタイミングは、第8図
(b)のタイムチャートに示す通りであり、同一種類の
ブロックフェッチ要求の処理中、即ち、BFAR0-VALIDが
‘オン’中であっても、同一種類のブロックフェッチ
が、一時期に重ならない程度、具体的には、該ムーブイ
ン処理に必要な8τ(64バイトのムーブインにおいて、
16バイト単位で4回のキャッシュメモリデータアレイ
(OP CACHE DATA ARRAY)51への書込みを行なうのに必
要な時間)を確保しさえすれば、次の同じブロックフェ
ッチ要求の送出を行なうことができる。
Bypassing block fetch data (MS-DATA) from the main memory (MS) 3 when the present invention is implemented (Bypas
s) and Move In timing are as shown in the time chart of FIG. 8 (b), and when the same type of block fetch request is being processed, that is, BFAR0-VALID is'on '. Also, the same type of block fetch does not overlap at one time, specifically, 8τ (64-byte move-in required for the move-in processing is
The next same block fetch request can be sent as long as the time required to write to the cache memory data array (OP CACHE DATA ARRAY) 51 four times in units of 16 bytes is secured.

又、この特長はプリフェッチにも活用される。This feature is also used for prefetching.

即ち、上述のようなオペランドのブロックフェッチ要求
が発行され、そのブロックフェッチが上述したところと
同様にして、例えばブロックフェッチアドレスレジスタ
(BFAR0)31の使用及びこれに対応するブロックフェッ
チアドレスレジスタコード(BFAR-CODE)の保持により
開始される。
That is, the block fetch request of the operand as described above is issued, and the block fetch is performed in the same manner as described above, for example, the use of the block fetch address register (BFAR0) 31 and the corresponding block fetch address register code (BFAR0). -Started by holding CODE).

又、これと並行して、キャッシュメモリデータアレイ
(OP CACHE DATA ARRAY)51の前記ブロックフェッチを
要することになったブロックに続いてプリフェッチした
いブロック数を表す信号B_PFCODE_BiT0〜1〔上述の主
記憶読出しポート数が4つ(BFAR0〜BFAR3)である場合
には、2ビットから成る。〕がIユニット1Aからブロッ
クフェッチ制御回路80′のプリフェッチ制御回路(第3
図参照)へ転送されて来てその2ビットフリップフロッ
プ回路200にセットされる。これにより、アンド回路202
から“1"が発生してアンド回路204、そしてオア回路206
を介してフリップフロップ回路208(第1図のプリフェ
ッチ要求信号発生回路6の対応回路)をセットして線20
9上にプリフェッチ要求信号+PF_REQ(第4図(b)参
照)が発生される。このアンド回路202,204、オア回路2
06が第1図のプリフェッチ起動回路7の具体的回路例を
構成している。
In parallel with this, a signal B_PFCODE_BiT0 to 1 representing the number of blocks to be prefetched subsequent to the block of the cache memory data array (OP CACHE DATA ARRAY) 51 that has been required to be fetched from the block described above. If the number is 4 (BFAR0 to BFAR3), it consists of 2 bits. ] From the I unit 1A to the prefetch control circuit of the block fetch control circuit 80 '(the third
(See the drawing) and set in the 2-bit flip-flop circuit 200. This allows the AND circuit 202
"1" is generated from AND circuit 204, and OR circuit 206
The flip-flop circuit 208 (corresponding circuit of the prefetch request signal generation circuit 6 in FIG. 1) is set via the
A prefetch request signal + PF_REQ (see FIG. 4 (b)) is generated on 9. This AND circuit 202,204, OR circuit 2
Reference numeral 06 constitutes a specific circuit example of the prefetch start-up circuit 7 of FIG.

発生されたプリフェッチ要求信号+PF_REQに対するSユ
ニット1Bにおける上述の4つのサイクルが予め決められ
る時間経過後に開始される(第4図(b)参照)。その
Pサイクルにおいて、信号+PF_GOが発生される。この
信号により、フリップフロップ回路208のリセット、プ
リフェッチしたい残ブロック数信号PFCODE_BiTO〜1
(この信号はマルチプレクサ210、減算器212、2ビット
フリップフロップ回路214にて発生される。マルチプレ
クサ210,減算器212及び2ビットフリップフロップ回路2
14が第1図のプリフェッチ残回数出力回路8の構成例で
ある。)の2ビットフリップフロップ回路214へのセッ
ト、並びに効率よいムーブインを行なうのに次のプリフ
ェッチ要求信号+PF_REQの発生までに必要な遅延時間を
与える遅延回路216への信号設定が行なわれる、遅延回
路216は所要数のラッチから成り、マシンサイクル毎に
信号を順次シフトさせる。
The above-mentioned four cycles in the S unit 1B for the generated prefetch request signal + PF_REQ are started after a predetermined time has elapsed (see FIG. 4 (b)). In that P cycle, the signal + PF_GO is generated. With this signal, the number of remaining blocks signal PFCODE_BiTO to 1 for resetting and prefetching the flip-flop circuit 208 is set.
(This signal is generated by the multiplexer 210, the subtracter 212 and the 2-bit flip-flop circuit 214. The multiplexer 210, the subtractor 212 and the 2-bit flip-flop circuit 2
Reference numeral 14 is a configuration example of the prefetch remaining number output circuit 8 of FIG. ) Is set in the 2-bit flip-flop circuit 214, and a signal is set in the delay circuit 216 that gives a delay time required until the next prefetch request signal + PF_REQ is generated in order to perform efficient move-in. Consists of the required number of latches and sequentially shifts the signal every machine cycle.

このプリフェッチのためのRサイクルにおいて、上述と
同様にして、次のブロックフェッチアドレスレジスタ
(BFAR1)32の使用及びこれに対応するブロックフェッ
チアドレスレジスタコード(BFAR-CODE)の保持が為さ
れて次のブロックフェッチ(最初のプリフェッチブロッ
ク)が開始される。
In the R cycle for this prefetch, the next block fetch address register (BFAR1) 32 is used and the corresponding block fetch address register code (BFAR-CODE) is held in the same manner as described above, and A block fetch (first prefetch block) is started.

この最初のプリフェッチブロックのためのアドレスは第
5図に示すように、その加算器において先行するブロッ
クフェッチのためのアドレスに64を加算器110で加算し
た値(1ブロック先のアドレス)がレジスタ(PF-EAR)
112に保持されており、該レジスタ(PF-EAR)112のアド
レスが上記最初のプリフェッチの開始時に従来と同様に
してそのプリフェッチブロックのために用いられる。こ
の関係は第2番目以降のブロックのプリフェッチにおい
ても当て嵌り、その逐一の説明を以下において繰り返さ
ない。
As shown in FIG. 5, the address for this first prefetch block is the value obtained by adding 64 in the adder 110 to the address for the preceding block fetch in the adder (the address one block ahead) is the register ( PF-EAR)
The address of the register (PF-EAR) 112, which is held in 112, is used for the prefetch block at the start of the first prefetch in the same manner as in the conventional case. This relationship also applies to the prefetch of the second and subsequent blocks, and the detailed description thereof will not be repeated below.

この最初のプリフェッチの開始時には、先行して開始さ
れた最初のブロックのためのブロックフェッチは完結し
ていないが、上述した手順を踏むのに要する時間経過後
にその完結となる(第4図(b)参照)。
At the start of this first prefetch, the block fetch for the first block that was started earlier is not completed, but it will be completed after the time required to perform the above-described procedure has elapsed (FIG. 4 (b). )reference).

今、開始された最初のプリフェッチブロックに続いてプ
リフェッチしたいブロックがあるならば、即ちアンド回
路220から“1"なる信号が発生し続けているならば、上
述の遅延回路216から出力信号が発生される時刻に、ア
ンド回路222から出力信号が発生されて2番目のプリフ
ェッチブロックのためのプリフェッチ要求信号+PF_REQ
がフリップフロップ回路208から出力される。このフリ
ップフロップ回路208に第2回目以降のセットを順次に
生ぜしめる遅延回路216、アンド回路220,222、オア回路
206が第1図の信号反復出力回路9の構成例を示してい
る。
If there is a block to be prefetched following the first prefetch block that has just started, that is, if the AND circuit 220 continues to generate a signal of "1", an output signal is generated from the delay circuit 216 described above. Output signal is generated from the AND circuit 222 at the time of prefetch request signal + PF_REQ for the second prefetch block.
Is output from the flip-flop circuit 208. A delay circuit 216, AND circuits 220, 222, and an OR circuit which sequentially generate the second and subsequent sets in the flip-flop circuit 208.
Reference numeral 206 shows a configuration example of the signal repetitive output circuit 9 of FIG.

上述のプリフェッチ要求信号+PF_REQの発生以降の動作
は上述のところに準じて進行されるので、その逐一の説
明は省略する。
The operation after the generation of the prefetch request signal + PF_REQ described above proceeds in accordance with the above description, and the detailed description thereof will be omitted.

このように、本発明は、キャッシュメモリを備えた情報
処理装置において、該キャッシュメモリに対するヒット
ミスが生起した時のブロックフェッチを行なうのに、該
ブロックフェッチの種類には関係しない主記憶読出しポ
ートを複数個設け、該ポートが空いている限り、同じ種
類のブロックフェッチ要求であっても、該空きのポート
を使用して、先行する同一種類のブロックフェッチの処
理が終了するのを待つことなく、少なくとも、該ムーブ
イン処理に必要なタイミングだけずらせて、同一種類の
ブロックフェッチの多重処理を行なえる。この多重ブロ
ックフェッチ機能が、又プリフェッチのための系とも融
合されてフェッチブロック及びプリフェッチブロックの
ためのブロックフェッチを行なう統合された系を構築し
ているから、効率のよいムーブイン、バイパスを達成し
得る。
As described above, according to the present invention, in an information processing device including a cache memory, a main memory read port that is not related to the type of the block fetch is used to perform the block fetch when a hit miss occurs in the cache memory. As long as a plurality of ports are provided and the port is vacant, even if the same type of block fetch request is used, the vacant port is used, without waiting for the preceding block fetch process of the same type to end. At least, the timing required for the move-in process can be shifted to perform multiple processes of the same type of block fetch. Since this multiple block fetch function is also fused with the system for prefetch to construct an integrated system for performing block fetch for the fetch block and prefetch block, efficient move-in and bypass can be achieved. .

〔発明の効果〕〔The invention's effect〕

以上、詳細に説明したように、本発明のキャッシュメモ
リ制御方式は、主記憶装置(MS)の内容の一部の写しを
保持するストアスルー方式,或いはスワップ方式のキャ
ッシュメモリを備えた情報処理装置において、主記憶へ
のブロックフェッチ要求が、先行している同一種類のブ
ロックフェッチが終了する迄待たされることによる、主
記憶装置(MS)からのブロック転送の効率の低下を抑止
する為に、複数個の主記憶読出しポートを設け、該ポー
トに空きポートが存在する限り、該ブロックフェッチ要
求の種類に関わらず、該空きポートを使用してブロック
フェッチ要求を送出し、同一種類のブロックフェッチ要
求の多重処理を行なうようにしたものであるので、主記
憶読出しポートが、該主記憶に対するブロックフェッチ
の種類に固定されることができない為、同じ種類のブロ
ックフェッチが生起しても、又そのブロックフェッチに
続いて複数のプリフェッチを要することになる場合であ
っても、空きのポートが存在する限り、該空きポートに
該同じ種類のブロックフェッチをセットでき、アクセス
時間の小さいキャッシュメモリ内に、有効なデータを主
記憶装置(MS)から効率よく転送することができる効果
がある。
As described above in detail, the cache memory control method of the present invention is an information processing apparatus having a store-through method or a swap method cache memory that holds a copy of a part of the contents of the main memory (MS). In order to prevent a decrease in the efficiency of block transfer from the main memory (MS) due to waiting for a block fetch request to the main memory until the preceding block fetch of the same type is completed, As long as a main memory read port is provided and a free port exists in the port, the block fetch request is sent out using the free port regardless of the type of the block fetch request, Since the multi-processing is performed, the main memory read port is fixed to the type of block fetch for the main memory. Therefore, even if the same type of block fetch occurs, or if multiple prefetches are required following the block fetch, as long as there is a free port, The same type of block fetch can be set, and effective data can be efficiently transferred from the main memory (MS) to the cache memory with a short access time.

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

第1図は本発明の原理ブロック図、 第2図は本発明のキャッシュメモリ制御方式の構成例を
示した図、 第3図は本発明のプリフェッチ制御回路の要部詳細図、 第4図は本発明のキャッシュメモリ制御方式の動作タイ
ムチャート、 第5図は本発明のプリフェッチアドレス生成系の詳細
図、 第6図はキャッシュメモリを備えた情報処理装置の概略
図、 第7図は従来のキャッシュメモリ制御方式を説明する
図、 第8図はキャッシュメモリ制御方式の動作タイムチャー
ト、 第9図は従来のプリフェッチアドレス制御系を示す図、 第10図は従来のプリフェッチ制御回路の本発明関連部分
を示す図である。 第1図及び第3図において、 21,22,・・・,2mは複数の主記憶読出しポート、 3は主記憶装置、 5はキャッシュメモリ、 6はプリフェッチ要求信号発生回路(フリップフロップ
回路208)、 7はプリフェッチ起動回路(アンド回路202,204、オア
回路206)、 8はプリフェッチ残回数出力回路(2ビットフリップフ
ロップ回路200,214、マルチプレクサ210、減算器21
2)、 9は信号反復出力回路(遅延回路206、アンド回路220,2
22)である。
FIG. 1 is a block diagram of the principle of the present invention, FIG. 2 is a diagram showing a configuration example of a cache memory control system of the present invention, FIG. 3 is a detailed view of a main part of a prefetch control circuit of the present invention, and FIG. An operation time chart of the cache memory control system of the present invention, FIG. 5 is a detailed diagram of a prefetch address generation system of the present invention, FIG. 6 is a schematic diagram of an information processing apparatus having a cache memory, and FIG. 7 is a conventional cache FIG. 8 is a diagram for explaining the memory control system, FIG. 8 is an operation time chart of the cache memory control system, FIG. 9 is a diagram showing a conventional prefetch address control system, and FIG. FIG. In FIG. 1 and FIG. 3, 2 1 , 2 2 , ..., 2m are a plurality of main memory read ports, 3 is a main memory device, 5 is a cache memory, 6 is a prefetch request signal generation circuit (flip-flop circuit). 208), 7 is a prefetch starting circuit (AND circuits 202, 204, OR circuit 206), 8 is a prefetch remaining number output circuit (2-bit flip-flop circuits 200, 214, multiplexer 210, subtractor 21)
2) and 9 are signal repetitive output circuits (delay circuit 206, AND circuit 220, 2
22).

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】先行するブロックフェッチの完結前に次の
ブロックフェッチ処理に入ることを可能にする複数の主
記憶読出しポート(21,・・・,2m)を備え、ブロックフ
ェッチ要求に応答して該主記憶読出しポート(21,・・
・,2m)を介して主記憶装置(3)とキャッシュメモリ
(5)との間でのデータの転送制御を行なうキャッシュ
メモリ制御方式において、 プリフェッチ要求信号発生回路(6)と、 キャッシュミスヒットに応答して該プリフェッチ要求信
号発生回路(6)から最初のプリフェッチ要求信号を発
生させるプリフェッチ起動回路(7)と、 プリフェッチブロック数を受け取ってプリフェッチ動作
毎に残プリフェッチブロック数を出力するプリフェッチ
残回数出力回路(8)と、 残プリフェッチブロック数が与えられている間予め決め
られた時間経過毎に前記プリフェッチ要求信号発生回路
(6)から第2番目以降のプリフェッチ信号を発生させ
るプリフェッチのための信号反復出力回路(9)とを設
け、 該プリフェッチ信号発生回路(6)から順次に出力され
るプリフェッチ要求信号に応答してプリフェッチ動作を
前記複数の主記憶読出しポートを介して生ぜしめるよう
にしたことを特徴とするキャッシュメモリ制御方式。
1. A plurality of main memory read ports (2 1 , ..., 2 m) that enable the next block fetch process to be entered before the completion of the preceding block fetch, and respond to a block fetch request. The main memory read port (2 1 , ...
., 2m) in the cache memory control system for controlling data transfer between the main memory device (3) and the cache memory (5), the prefetch request signal generation circuit (6) and the cache mishit In response, a prefetch activation circuit (7) that generates the first prefetch request signal from the prefetch request signal generation circuit (6), and a prefetch remaining count output that receives the prefetch block number and outputs the remaining prefetch block number for each prefetch operation A circuit (8), and a signal repetition for prefetch that causes the prefetch request signal generation circuit (6) to generate second and subsequent prefetch signals at predetermined time intervals while the number of remaining prefetch blocks is given. An output circuit (9) is provided, and the prefetch signal generation circuit (6) Then the cache memory control method, wherein a responsive prefetch operation to the prefetch request signal output was set to give rise via a plurality of main memory read port.
JP62202092A 1987-08-13 1987-08-13 Cache memory control method Expired - Fee Related JPH0690681B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62202092A JPH0690681B2 (en) 1987-08-13 1987-08-13 Cache memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62202092A JPH0690681B2 (en) 1987-08-13 1987-08-13 Cache memory control method

Publications (2)

Publication Number Publication Date
JPS6446145A JPS6446145A (en) 1989-02-20
JPH0690681B2 true JPH0690681B2 (en) 1994-11-14

Family

ID=16451834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62202092A Expired - Fee Related JPH0690681B2 (en) 1987-08-13 1987-08-13 Cache memory control method

Country Status (1)

Country Link
JP (1) JPH0690681B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143463A (en) * 1991-11-20 1993-06-11 Toshiba Corp Cache memory device
JP4691335B2 (en) 2004-07-30 2011-06-01 富士通株式会社 Storage control device, central processing unit, information processing device, and storage control device control method
US10402332B2 (en) * 2016-05-24 2019-09-03 Xilinx, Inc. Memory pre-fetch for virtual memory

Also Published As

Publication number Publication date
JPS6446145A (en) 1989-02-20

Similar Documents

Publication Publication Date Title
KR100278328B1 (en) Cache miss buffer
KR100274327B1 (en) Methods and apparatus for providing multiple outstanding operations in a cache consistent multiple processor computer system
US5586295A (en) Combination prefetch buffer and instruction cache
US5717895A (en) Associative scalar data cache with write-through capabilities for a vector processor
JPH04218835A (en) Data processor having delayed cache load
JP2001290706A (en) Prefetch for TLB cache
US6012135A (en) Computer having multiple address ports, each having logical address translation with base and limit memory management
JPH03225542A (en) Memory of data and processing circuit for bit encode data
EP0144268B1 (en) Method for controlling buffer memory in data processing apparatus
US5197145A (en) Buffer storage system using parallel buffer storage units and move-out buffer registers
JPS62102344A (en) Buffer memory control system
JPH0516061B2 (en)
JPH0690681B2 (en) Cache memory control method
US5276853A (en) Cache system
JP2004240616A (en) Memory controller and memory access control method
JP2637320B2 (en) Buffer storage control method
JPH0326862B2 (en)
JPH0546475A (en) Buffer storage control system
JPH02259945A (en) Storing processing system
JP2924708B2 (en) Information processing device
JP2001344152A (en) Cache memory device
JP2507785B2 (en) Pageable entry invalidation device
JP2538993B2 (en) Operand store cache memory store control method
JPS59218692A (en) Control system of logical buffer memory
JPS5818710B2 (en) memory system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees