JPH0498352A - Buffer invalidation control system - Google Patents
Buffer invalidation control systemInfo
- Publication number
- JPH0498352A JPH0498352A JP2210512A JP21051290A JPH0498352A JP H0498352 A JPH0498352 A JP H0498352A JP 2210512 A JP2210512 A JP 2210512A JP 21051290 A JP21051290 A JP 21051290A JP H0498352 A JPH0498352 A JP H0498352A
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- buffer invalidation
- request command
- address
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 130
- 238000000034 method Methods 0.000 claims description 29
- 238000012544 monitoring process Methods 0.000 claims description 2
- 230000003111 delayed effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 7
- 230000007704 transition Effects 0.000 description 5
- 102100024348 Beta-adducin Human genes 0.000 description 4
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
〔概要]
複数のコピー・バック方式のキャッシュメモリ間におい
てバッファ無効化処理を制御する技術に関し、
キャッシュメモリ内で書き換えた部分を消失させずに、
コピー・バック方式の利点である高速性を最大限に活か
し、ひいてはシステム全体の性能向上に寄与することを
目的とし、
各キャッシュメモリは、内部のそれぞれのエントリにア
ドレス部、データ部、有効指示フラグおよび変更済指示
フラグを有し、且つ、対応するCPUからのデータの書
き込み要求があった場合にその対象領域が当該キャッシ
ュメモリ内に登録されていて且つ変更済指示フラグがオ
フの時は該CPUからの書き込みアドレスの少なくとも
一部を含むバッファ無効化要求コマンドを前記システム
バスに送出スる手段と、該システムバス上のコマンドを
監視し、そのコマンドが他のキャッシュメモリからのバ
ッファ無効化要求コマンドであった場合に当該コマンド
に含まれるアドレス領域を自キャッシュメモリ内から消
去する手段と、自ら送出したバッファ無効化要求コマン
ドのアドレスを保持するレジスタ手段と、前記他のキャ
ッシュメモリからのバッファ無効化要求コマンドに含ま
れるアドレスと前記レジスタ手段の内容とを比較する手
段とを有し、バッファ無効化要求コマンドを送出してか
ら一定期間内に同一領域に対する他のキャッシュメモリ
からのバッファ無効化要求コマンドを検出した場合に当
該コマンドを無視するよう制御するように構成する。[Detailed Description of the Invention] [Summary] This invention relates to a technology for controlling buffer invalidation processing between multiple copy-back type cache memories, without erasing the rewritten portion in the cache memory.
The aim is to take full advantage of the high speed that is the advantage of the copy-back method and ultimately contribute to improving the performance of the entire system. Each cache memory has an address field, a data field, and a valid indication flag in each internal entry. and a changed instruction flag, and when there is a data write request from the corresponding CPU, if the target area is registered in the cache memory and the changed instruction flag is off, the CPU means for sending a buffer invalidation request command including at least a portion of a write address from another cache memory to the system bus; means for erasing the address area included in the command from within its own cache memory when the command is in question, register means for holding the address of the buffer invalidation request command sent by itself, and buffer invalidation from the other cache memory. means for comparing the address included in the request command with the contents of the register means, and a buffer invalidation request command is sent from another cache memory to the same area within a certain period of time after sending the buffer invalidation request command. If a command is detected, the command is configured to be ignored.
本発明は、複数のコピー・バック方式のキャッシュメモ
リと少なくとも1つの共有メモリがシステムバスを介し
て接続されているマルチプロセッサシステムに係わり、
特に、各キャッシュメモリ内の同一領域に対して同時に
書き込み要求が発生した場合に他のキャッシュメモリ内
の同一領域を無効化するためのバッファ無効化処理を制
御する技術に関する。The present invention relates to a multiprocessor system in which a plurality of copy-back type cache memories and at least one shared memory are connected via a system bus,
In particular, the present invention relates to a technique for controlling buffer invalidation processing for invalidating the same area in other cache memories when write requests occur simultaneously to the same area in each cache memory.
第6図(a)〜(C)に従来のキャッシュメモリ制御形
態の一例が示される。An example of a conventional cache memory control mode is shown in FIGS. 6(a) to 6(C).
図示の例では、キャッシュメモリA、Bは共にコピー・
バック方式のキャッシュメモリであるものとする。また
、■はアクセスアドレスで指示される領域が自キャッシ
ュメモリ内に存在するか否かを指示する有効指示フラグ
、Mはデータが書き換えられたか否かを指示する変更済
指示フラグを示している。In the illustrated example, both cache memories A and B are
It is assumed that this is a back-type cache memory. Further, ■ indicates a valid instruction flag indicating whether or not the area specified by the access address exists in the own cache memory, and M indicates a changed instruction flag indicating whether or not the data has been rewritten.
(第6図(a)参照)
キャッシュメモリA、Bはそれぞれ、対応するCPUか
らのデータ書き込み(ライト)要求が有った場合に、そ
の対象領域が自メモリ内に登録されていて(V−1)且
つ変更済指示フラグMがオフ(M=O)の時にその書き
込みデータを当該対象領域(エントリ)に書き込み、変
更済指示フラグMをオン(M=1)にする。(Refer to FIG. 6(a)) In each of cache memories A and B, when there is a data write request from the corresponding CPU, the target area is registered in its own memory (V- 1) When the changed instruction flag M is off (M=O), the write data is written to the target area (entry), and the changed instruction flag M is turned on (M=1).
図示の例では、キャッシュメモリAは、未変更領域にデ
ータを書き込むと、バッファ無効化要求コマンドをシス
テムハスに送出する(→■)。In the illustrated example, when cache memory A writes data to an unmodified area, it sends a buffer invalidation request command to the system (→■).
キャッシュメモリBは、キャッシュメモリAと同様にし
てバッファ無効化要求コマンドを送出しようとしている
が、たまたまキャッシュメモリAの動作の方が早かった
ためにシステムバスの使用権を獲得できず、バッファ無
効化要求コマンドの送出待ち状態となる(=:)■)。Cache memory B is trying to send a buffer invalidation request command in the same way as cache memory A, but because cache memory A happens to operate faster, it cannot acquire the right to use the system bus, and the buffer invalidation request is sent. The system enters a command sending wait state (=:) ■).
(第6図(b)参照)
キャッシュメモリBは、キャッシュメモリAからのバッ
ファ無効化要求コマンドにより、同一領域のデータを共
有メモリCへ格納するためのストア待ち状態となる。さ
らに、キャッシュメモリAは、自メモリからのバッファ
無効化要求コマンドの送出が終了したため、対応するC
PUからのライト要求を受は付け、ライト終了応答を返
す。(See FIG. 6(b)) In response to the buffer invalidation request command from cache memory A, cache memory B enters a store wait state for storing data in the same area into shared memory C. Furthermore, cache memory A has finished sending the buffer invalidation request command from its own memory, so cache memory A
It accepts write requests from the PU and returns a write completion response.
キャッシュメモリBは、送出待ち状態にあるバッファ無
効化要求コマンドと同一の領域に対してキャッシュメモ
リAからバッファ無効化要求コマンドが送出されている
ので、該送出待ち状態をキャンセルしようとするが、第
7図の動作タイミングに示されるように、当該キャンセ
ルを実行することはできない。Since the buffer invalidation request command has been sent from cache memory A to the same area as the buffer invalidation request command that is in the sending waiting state, cache memory B tries to cancel the sending waiting state. As shown in the operation timing of FIG. 7, the cancellation cannot be executed.
そのため、キャッシュメモリBにおいて送出待ち状態に
あったバッファ無効化要求コマンドが、システムバス上
に送出される(→■)。Therefore, the buffer invalidation request command that has been waiting to be sent in cache memory B is sent onto the system bus (→■).
(第6図(c)参照)
キャッシュメモリBは、ストア待ち状態にあったデータ
を共有メモリCへ格納する(=+■)。(See FIG. 6(c)) Cache memory B stores the data in the store waiting state to shared memory C (=+■).
一方、キャッシュメモリAは、キャッシュメモリBから
送出されたバッファ無効化要求コマンドにより、同−領
域がクリアされ、そのためにデータが消失する。On the other hand, in cache memory A, the same area is cleared by the buffer invalidation request command sent from cache memory B, and therefore data is lost.
上述した従来の制御方式では、複数のコピー・バック方
式のキャッシュメモリ(第6回の例示では2つのキャッ
シュメモリ)のそれぞれの同一領域に対して同時に書き
込み要求が発生した場合に、両者からバッファ無効化要
求コマンドがシステムバス上に送出されるという不都合
がある。つまり、第7図の動作タイミング図にも示され
るように、他のキャッシュメモリからのバッファ無効化
要求コマンドを検出した直後では、自キャッシュメモリ
からのバッファ無効化要求コマンドの送出のキャンセル
が間に合わず、そのために、双方のキャッシュメモリか
らバッファ無効化要求コマンドが送出され、双方の書き
込みデータが消失してしまうという不都合がある。In the conventional control method described above, when write requests occur simultaneously to the same area of multiple copy-back cache memories (two cache memories in the 6th example), buffer invalidation is disabled from both cache memories. There is a disadvantage that the conversion request command is sent onto the system bus. In other words, as shown in the operation timing diagram of FIG. 7, immediately after detecting a buffer invalidation request command from another cache memory, the transmission of the buffer invalidation request command from the own cache memory cannot be canceled in time. Therefore, there is an inconvenience that buffer invalidation request commands are sent from both cache memories, and both write data are lost.
この不都合を回避するため、ソフトウェア制御により共
有領域の書き換えは1つのCPUにのみ許可する(コピ
ー・オン・ライト方式)、等の対策が考えられるが、こ
れは、制御が極めて複雑であるため、実用的とは言えな
い。In order to avoid this inconvenience, countermeasures can be considered, such as allowing only one CPU to rewrite the shared area through software control (copy-on-write method), but this is extremely complicated to control. I can't say it's practical.
また別の方法として、上記■の段階において当該対象領
域のデータを共有メモリCに同時に書き込む方式が考え
られるが、この方式ではコピー・バック方式の利点(バ
ス・アクセスの頻度を減らし、処理の高速化を図る)を
最大限に活かすことができず、そのため、システム全体
の性能が低下するという問題が生じる。Another method is to simultaneously write the data in the target area to the shared memory C at the step (■) above, but this method has the advantages of the copy-back method (reducing the frequency of bus access, high-speed processing). Therefore, the problem arises that the performance of the entire system deteriorates.
本発明は、かかる従来技術における課題に鑑み創作され
たもので、キャッシュメモリ内で書き換えた部分を消失
させずに、コピー・バック方式の利点である高速性を最
大限に活かし、ひいてはシステム全体の性能向上に寄与
することができるバッファ無効化制御方式を提供するこ
とを目的としている。The present invention was created in view of the problems in the prior art, and it takes full advantage of the high speed that is the advantage of the copy-back method without erasing the rewritten portion in the cache memory, and ultimately improves the efficiency of the entire system. The purpose of this invention is to provide a buffer invalidation control method that can contribute to improved performance.
第1図(a) 、 (b)の原理圀に示されるように、
本発明のバッファ無効化制御方式は、複数のコピー・バ
ック方式のキャッシュメモリM1〜Mnと少なくとも1
つの共有メモリCMがシステムバスを介して接続されて
いるマルチプロセッサシステムにおいて、
各キャッンユメモリMiは、内部のそれぞれのエントリ
にアドレス部A、データ部D、アクセスアドレスで示さ
れる領域が自己のキャッシュメモリ内に存在するか否か
を指示する有効指示フラグ■、およびデータが書き換え
られ゛たか否かを指示する変更済指示フラグMを有し、
且つ、
対応するCPUからのデータの書き込み要求があった場
合にその対象領域が当該キャッシュメモリ内に登録され
ていて且つ変更済指示フラグがオフの時は1cpuから
の書き込みアドレスの少なくとも一部を含むバッファ無
効化要求コマンドを前記システムバスに送出する手段P
Iと、該システムバス上のコマンドを監視し、そのコマ
ンドが他のキャッシュメモリからのバッファ無効化要求
コマンドであった場合に当該コマンドに含まれるアドレ
ス領域を自キャッシュメモリ内から消去する手段P2と
、自ら送出したバッファ無効化要求コマンドのアドレス
を保持するレジスタ手段P3と、前記他のキャッシュメ
モリからのバッファ無効化要求コマンドに含まれるアド
レスと前記レジスタ手段の内容とを比較する手段P4と
を有し、バッファ無効化要求コマンドを送出してから一
定期間内に同一領域に対する他のキャッシュメモリから
のバッファ無効化要求コマンドを検出した場合に当該コ
マンドを無視するように制御することを特徴とする。As shown in the principle diagrams in Figures 1(a) and (b),
The buffer invalidation control method of the present invention includes a plurality of copy-back type cache memories M1 to Mn and at least one
In a multiprocessor system in which two shared memories CM are connected via a system bus, each cache memory Mi has an address section A, a data section D, and an area indicated by an access address in each internal entry as its own cache. It has a valid indication flag ■ indicating whether the data exists in the memory or not, and a changed indication flag M indicating whether the data has been rewritten,
In addition, when there is a data write request from the corresponding CPU, if the target area is registered in the cache memory and the changed instruction flag is off, at least a part of the write address from 1 CPU is included. means P for sending a buffer invalidation request command to the system bus;
means P2 for monitoring a command on the system bus and erasing an address area included in the command from its own cache memory if the command is a buffer invalidation request command from another cache memory; , comprising register means P3 for holding the address of the buffer invalidation request command sent by itself, and means P4 for comparing the address included in the buffer invalidation request command from the other cache memory with the contents of the register means. However, if a buffer invalidation request command from another cache memory for the same area is detected within a certain period of time after sending the buffer invalidation request command, the command is controlled to be ignored.
各キャッシュメモリは、対応するCPUからのライト要
求に基づき未変更領域にデータを書き込むと、バッファ
無効化要求コマンドをシステムバスに送出する。この場
合、バッファ無効化要求コマンドを送出してから一定期
間内に、同一領域に対する他のキャッシュメモリからの
バッファ無効化要求コマンドを検出すると、当該コマン
ドを無視するように制御がなされる。When each cache memory writes data to an unmodified area based on a write request from the corresponding CPU, it sends a buffer invalidation request command to the system bus. In this case, if a buffer invalidation request command from another cache memory for the same area is detected within a certain period of time after sending the buffer invalidation request command, control is performed to ignore the command.
つまり、複数のキャッシュメモリから成るキャッシュメ
モリ内の同一領域に対してバッファ無効化要求コマンド
が連続した場合に、2番目以降のバッファ無効化要求コ
マンドが無視されるようになっている。そのため、対象
領域のデータを消失させることな(、共有メモリとの一
致制御を実現することができる。また、コピー・バック
方式の利点を最大限に活かしてシステム全体の性能向上
を図ることが可能となる。In other words, when buffer invalidation request commands are issued consecutively to the same area in a cache memory consisting of a plurality of cache memories, the second and subsequent buffer invalidation request commands are ignored. Therefore, it is possible to achieve consistency control with the shared memory without losing the data in the target area.In addition, it is possible to improve the performance of the entire system by taking full advantage of the advantages of the copy-back method. becomes.
なお、本発明の他の構成上の特徴および作用の詳細につ
いては、添付図面を参照しつつ以下に記述される実施例
を用いて説明する。Note that other structural features and details of the operation of the present invention will be explained using the embodiments described below with reference to the accompanying drawings.
第2図には本発明のバッファ無効化制御方式が適用され
る密結合マルチプロセッサシステムの構成が示される。FIG. 2 shows the configuration of a tightly coupled multiprocessor system to which the buffer invalidation control method of the present invention is applied.
本システムでは、複数のコピー・バック方式のキャッシ
ュメモリIA、 IB(本実施例では図示の簡単化のた
め2個のみ図示)がシステムバス4を介して少なくとも
1つの共有メモリ3(同様に簡単化のため1個のみ図示
)に接続されている。また、各キャッシュメモリ14.
18には、それぞれ対応するキャッシュメモリへのアド
レス情報の供給やデータ読み出しおよび書き込み等の制
御を行う中央処理装置(CP U) 2A、2Bが接続
されている。In this system, a plurality of copy-back type cache memories IA and IB (in this embodiment, only two are shown for simplicity) are connected to at least one shared memory 3 (also shown for simplicity) via a system bus 4. (only one is shown). In addition, each cache memory 14.
18 are connected to central processing units (CPU) 2A and 2B that control supply of address information and data reading and writing to the corresponding cache memories, respectively.
第3図には第2図におけるキャッシュメモリの内部構成
が示される。なお、破線で囲まれた部分は本発明の特徴
をなす部分である。FIG. 3 shows the internal configuration of the cache memory in FIG. 2. Note that the portion surrounded by the broken line is the portion that characterizes the present invention.
図中、31はタグ部(タグメモリ)であって、アクセス
データの物理アドレスを記憶するアドレス部と、アクセ
スアドレスで指示される領域が自キャッシュメモリ内に
存在するか否かを指示する有効指示フラグ■と、データ
が書き換えられたか否かを指示する変更済指示フラグM
を有している。In the figure, 31 is a tag section (tag memory), which includes an address section that stores the physical address of access data, and a valid instruction that indicates whether or not the area specified by the access address exists in its own cache memory. Flag ■ and a changed indication flag M that indicates whether the data has been rewritten or not.
have.
なお、各フラグ■、Mは、それぞれの条件が肯定された
時に「オンjすなわち’IJを呈し、否定された時に「
オフ」すなわち「0」を呈する。In addition, each flag ■, M exhibits ``onj'', that is, ``IJ'' when the respective conditions are affirmed, and ``IJ'' when the respective conditions are denied.
"off" or "0".
32は対応するCPUからのアドレスADDIを解読す
るデコーダ(DEC)、33はタグ部31に登録されて
いるアドレスとCPUからのアドレスADOIとフラグ
Vのビットに応答する比較回路、34はCPUからの読
み出し/書き込み制御信号R/−に応答するインバータ
、35はフラグMのビットに応答するインバータ、36
は比較回路33の出力とインバータ34の出力(CPU
書き込み信号CWRT)に応答してフラグMのビットを
セット状B(信号MSET )にするアンドゲート、3
7は比較回路33の出力とインハ゛−夕34の出力CW
RTとインバータ35の出力に応答するアンドゲート、
38は対応するCPUからのアドレス4001を格納す
るストアバッファ、そして39はバッファ無効化制御回
路であって、ストアバッファ38から供給されるバッフ
ァ無効化要求コマンドのアドレス(無効化アドレス)
IADとアンドゲート37の出力(無効化コマンド送出
要求)WUに応答し、バッファ無効化要求コマンドを作
成してシステムバス4に送出する機能を有している。32 is a decoder (DEC) that decodes the address ADDI from the corresponding CPU; 33 is a comparison circuit that responds to the address registered in the tag section 31, the address ADOI from the CPU, and the flag V bit; 34 is a decoder (DEC) that decodes the address ADDI from the CPU; An inverter 35 responds to the read/write control signal R/-, an inverter 36 responds to the flag M bit.
is the output of the comparison circuit 33 and the output of the inverter 34 (CPU
AND gate 3 that sets the bit of flag M to set state B (signal MSET) in response to write signal CWRT);
7 is the output of the comparator circuit 33 and the output CW of the inverter 34.
an AND gate responsive to RT and the output of inverter 35;
38 is a store buffer that stores the address 4001 from the corresponding CPU, and 39 is a buffer invalidation control circuit that stores the address (invalidation address) of the buffer invalidation request command supplied from the store buffer 38.
It has a function of creating a buffer invalidation request command and sending it to the system bus 4 in response to the output (invalidation command sending request) WU of the IAD and AND gate 37.
同様に、40はシステムハス4上のアドレスADD2を
解読するデコーダ(DEC) 、41はタグ部31に登
録されているアドレスとシステムバス4上のアドレス4
01)2とフラグVのビットに応答する比較回路、42
はストアバッファ38から供給される無効化アドレスI
ADを所定時間遅延させる遅延バッファ、43は該遅延
バッファの出力アドレスとシステムバス4上のアドレス
ADD2 (この場合には他のキャンシェメモリからの
バッファ無効化要求コマンドのアドレスBIAD)に応
答する比較回路、44は該比較回路43の出力に応答す
るインバータ、そして45は該インバータの出力と比較
回路41の出力に応答してフラグ■のビットをクリア(
信号VCLR)するアンドゲートを示す。Similarly, 40 is a decoder (DEC) for decoding address ADD2 on system bus 4, and 41 is a decoder (DEC) for decoding address ADD2 on system bus 4;
01) Comparison circuit responsive to bit 2 and flag V, 42
is the invalidation address I supplied from the store buffer 38
A delay buffer 43 that delays AD for a predetermined time compares the output address of the delay buffer with the address ADD2 on the system bus 4 (in this case, the address BIAD of the buffer invalidation request command from another cache memory). 44 is an inverter that responds to the output of the comparator circuit 43, and 45 clears the flag ■ bit in response to the output of the inverter and the output of the comparator circuit 41 (
VCLR) shows an AND gate.
なお、比較回路33は、有効指示フラグ■がオン(V=
1)の状態でタグ部31のアドレスとCP[Jアドレス
ADDIが一致した時にその出力を“1“とじ、それに
よって対応するアンドゲート36を「有効」にする。こ
の状態(比較回路33の出力が“ド)で変更法指示フラ
グMがオフ(M=O)であれば、インバータ35の出力
が“1″となり、アンドゲート37が「有効jとなる。Note that in the comparison circuit 33, the valid instruction flag ■ is on (V=
In the state of 1), when the address of the tag section 31 and CP[J address ADDI match, the output is set to "1", thereby making the corresponding AND gate 36 "valid". If the change method instruction flag M is off (M=O) in this state (the output of the comparison circuit 33 is "do"), the output of the inverter 35 becomes "1" and the AND gate 37 becomes "valid j".
一方、比較回路43は、システムバス4上の他のキャッ
シュメモリからのバッファ無効化要求コマンドのアドレ
スBIADと所定時間遅延後の無効化アドレスIADが
一致した時にその出力を“1”とし、それによってイン
バータ44の出力を“0”にしてアンドゲート45を「
無効」にする。言い換えると、両アドレスIADおよび
BIADが不一致の時にアンドゲート45は「有効」と
なる。On the other hand, the comparator circuit 43 sets its output to "1" when the address BIAD of the buffer invalidation request command from another cache memory on the system bus 4 matches the invalidation address IAD after a predetermined time delay. The output of the inverter 44 is set to "0" and the AND gate 45 is set to "0".
To disable. In other words, the AND gate 45 becomes "valid" when both addresses IAD and BIAD do not match.
この状1!i(比較回路43の出力が“0“)で、比較
回路41は、有効指示フラグ■がオン(V−1)の状態
でタグ部31のアドレスとシステムバス4上のアドレス
ADD2が一致した時にその出力を1”とし、それによ
ってアンドゲート45を通してフラグ■のビットをクリ
アする。This situation is 1! i (the output of the comparison circuit 43 is "0"), and the comparison circuit 41 detects when the address of the tag section 31 and the address ADD2 on the system bus 4 match with the valid indication flag ■ being on (V-1). The output is set to 1'', thereby clearing the flag ■ bit through the AND gate 45.
次に、第4図(a)〜(c)を参照しながらバッファ無
効化制御方法について説明する。Next, a buffer invalidation control method will be described with reference to FIGS. 4(a) to 4(c).
(第4図(a)参照)
■ キャッシュメモリ1M、IBは、自メモリ内に登録
されていて(V=1)且つ変更法指示フラグがオフ(M
= 0 )となっている領域に対して対応するC P
U2A、2Bからのライト要求が有ると、該ライト要求
によるデータとアドレスを当該対象エントリおよびスト
アバッファ38(但しデータ用については第3図には図
示せず)に保持し、対応するCPUヘライト終了応答を
返す、この時、書き換え対象エントリが未変更状態から
変更済状態に移行するため、キャッシュメモリIA、
IBはそれぞれ変更法指示フラグMをオン(M= 1
)にする。(See Figure 4 (a)) ■ Cache memories 1M and IB are registered in their own memory (V=1) and the change method instruction flag is off (M
= 0) corresponding to the area where C P
When there is a write request from U2A or 2B, the data and address resulting from the write request are held in the target entry and the store buffer 38 (however, the one for data is not shown in FIG. 3), and the corresponding CPU completes the write. At this time, the entry to be rewritten moves from the unchanged state to the changed state, so the cache memory IA,
IB each turns on the change method instruction flag M (M = 1
).
■ キャッシュメモリIAは、バッファ無効化要求コマ
ンドをシステムバス4に送出する(ライトワンス動作)
。■ Cache memory IA sends a buffer invalidation request command to system bus 4 (write-once operation)
.
■ キャッシュメモリIBは、キャッシュメモリIAと
同様にしてバッファ無効化要求コマンドを送出(発行)
しようとしているが、たまたまキャッシュメモリIAの
動作の方が早かったためにシステムバスの使用権を獲得
できず、バッファ無効化要求コマンドの送出(発行)待
ち状態となる。■ Cache memory IB sends (issues) a buffer invalidation request command in the same way as cache memory IA.
However, because the cache memory IA happened to operate faster, the right to use the system bus could not be acquired, and the buffer invalidation request command was sent (issued) in a waiting state.
(第4図(b)参照)
■ キャッシュメモリ18は、キャッシュメモリIAか
らのバッファ無効化要求コマンドにより、同一領域の登
録を抹消する(■=1→0)。(See FIG. 4(b)) (1) The cache memory 18 cancels the registration of the same area in response to the buffer invalidation request command from the cache memory IA (■=1→0).
なお、キャッシュメモリIBは、バッファ無効化要求コ
マンドの発行待ち状態では、同一領域に対するCP02
Bからの新しいライト、要求は終了させない。Note that while the cache memory IB is waiting for the issuance of the buffer invalidation request command,
New write, requests from B are not terminated.
■ キャッシュメモリIAは、自メモリからのバッファ
無効化要求コマンドの発行が終了したため、対応するC
PU2Aからのライト要求を受は付け、ライト終了応答
を返す。■ Since the cache memory IA has finished issuing the buffer invalidation request command from its own memory, the cache memory IA
It accepts the write request from PU2A and returns a write completion response.
■ キャッシュメモリIBは、発行待ち状態であったバ
ッファ無効化要求コマンドと同一の領域に対してキャッ
シュメモリl^からバッファ無効化要求コマンドが発行
されたため、該発行待ち状態をキャンセルすると共に、
■のステップで保持したストアバッファの内容をライト
コマンドにより共有メモリ3へ反映しようとする。■ Since the buffer invalidation request command was issued from cache memory l^ to the same area as the buffer invalidation request command that was in the waiting state, the cache memory IB cancels the waiting state, and
The contents of the store buffer held in step (2) are attempted to be reflected in the shared memory 3 by a write command.
■ キャッシュメモリIAは、システムバス4上のライ
トコマンドの対象領域が内部で変更済みであるため、−
時中断信号(インタセプト信号)をアサートする。■ Since the target area of the write command on the system bus 4 has already been internally changed in the cache memory IA, -
Assert the time interrupt signal (intercept signal).
■ 共有メモリ3は、ステップ■におけるライトコマン
ドに対して再トライ要求を応答する。(2) The shared memory 3 responds to the write command in step (2) with a retry request.
(第4図(c)参照)
■ キャッシュメモ1月Aは、ステップ■で重複したエ
ントリを共有メモリ3に書き出す(V=1→0)。(See FIG. 4(c)) ① Cache memo January A writes the duplicate entry to the shared memory 3 in step ② (V=1→0).
[相] キャッシュメモリIBは、ステップ■で再トラ
イ要求されたステップ■のライトコマンドを発行する(
M=1→0)。[Phase] The cache memory IB issues the write command for step ■, which was requested to be retried at step ■.
M=1→0).
なお、キャッシュメモリIBに対するCP02Bからの
ライト要求は、上記一連の動作(■〜@)の終了後、通
常のライト動作となる。すなわち、共有メモリ3から1
工ントリ分を当該キャッシュメモリ内に取り込み、その
内容のみを変更する。Note that a write request from CP02B to cache memory IB becomes a normal write operation after the above series of operations (■ to @) are completed. That is, shared memory 3 to 1
The current cache memory is loaded into the cache memory, and only its contents are changed.
第5図は第2図におけるキャッシュメモリの状態遷移の
様子を示している。FIG. 5 shows how the state of the cache memory in FIG. 2 changes.
同図において、■は無効状態(V=0)、Uは有効かつ
未変更状J11(v=1かつM=0)、Mは有効かつ変
更清秋1!(V=1かつM=1)、Blはバッファ無効
化要求コマンドの発行待ち状態、STは共有メモリへの
ストア待ち状態、(1)は読み出しくリード)動作によ
る新規登録、(2)は未変更領域への書き込み、(3)
はバッファ無効化要求コマンドの発行待ち、(4)はバ
ッファ無効化要求コマンドの発行、(5)は書き込み(
ライト)動作による新規登録、(6)はリプレースのた
めのクリア、(7)はリプレースのためのコピー・バッ
ク、(8)は同一領域に対するバッファ無効化要求コマ
ンドの検出、(9)はストア待ち、そして(10)はス
トア完了を示す。なお、状JliUから状illへの遷
移(6)および状[Mから状態■への遷移(7)は、他
のキャッシュメモリからのバッファ無効化要求コマンド
に基づくクリア動作によって行われる。In the figure, ■ is an invalid state (V=0), U is a valid and unchanged state J11 (v=1 and M=0), and M is a valid and changed state J11! (V = 1 and M = 1), Bl is in the state of waiting for a buffer invalidation request command to be issued, ST is in the state of waiting to store to the shared memory, (1) is new registration due to read operation, (2) is not yet registered. Writing to the change area, (3)
Waits for the buffer invalidation request command to be issued, (4) issues the buffer invalidation request command, and (5) waits for the buffer invalidation request command to be issued.
(6) Clear for replacement, (7) Copy back for replacement, (8) Detection of buffer invalidation request command for the same area, (9) Wait for store , and (10) indicates store completion. Note that the transition (6) from state JliU to state ill and the transition (7) from state [M to state ■] are performed by a clearing operation based on a buffer invalidation request command from another cache memory.
本実施例の制御方式によれば、キャッシュメモリLA、
IBにおいて同時に内部の同一領域への書き込み要求が
発生した場合に、各キャッシュメモリIA(IB)は、
バッファ無効化要求コマンドをシステムバスに送出後、
所定時間内に同一領域に対する他のキャッシュメモリ1
B(IA)からのバッファ無効化要求コマンドを検出す
ると、当該コマンドを無視するように機能する。つまり
、より一般的に言えば、複数のキャッシュメモリから成
るキャッシュメモリ内の同一領域に対してバッファ無効
化要求コマンドが連続した場合に、2番目以降のバッフ
ァ無効化要求コマンドが無視(キャンセル)されるよう
になっている。According to the control method of this embodiment, the cache memory LA,
When write requests to the same internal area occur simultaneously in IB, each cache memory IA (IB)
After sending the buffer invalidation request command to the system bus,
Other cache memory 1 for the same area within a predetermined time
When it detects a buffer invalidation request command from B(IA), it functions to ignore the command. In other words, more generally speaking, when buffer invalidation request commands are sent consecutively to the same area in a cache memory consisting of multiple cache memories, the second and subsequent buffer invalidation request commands are ignored (cancelled). It has become so.
従って、書き換えたデータを消失させることなく、他の
キャッシュメモリ内の同一領域を無効化し、共有メモリ
との一致制御を実現することができる。さらには、コピ
ー・バック方式の利点(高速処理)を活かしてシステム
の性能向上を図ることが可能となる。Therefore, it is possible to invalidate the same area in another cache memory and achieve consistency control with the shared memory without erasing the rewritten data. Furthermore, it is possible to improve system performance by taking advantage of the copy-back method (high-speed processing).
なお、本実施例では2つのキャッシュメモリ間でのバッ
ファ無効化制御方法について説明したが、3つ以上のキ
ャッシュメモリ (コピー・バック方式)間においても
上記制御方式が同様に適用され得ることは当業者には明
らかであろう。Although this embodiment has described a buffer invalidation control method between two cache memories, it is natural that the above control method can be similarly applied between three or more cache memories (copy-back method). It will be obvious to business owners.
以上説明したように本発明によれば、複数のコピー・バ
ック方式のキャッシュメモリのそれぞれの同一領域に対
して同時に書き込み要求が発生した場合に、当該対象領
域のデータを消失させることなく、共有メモリとの一致
制御を図り、コピー・バック方式の利点である高速性を
最大限に活かしてバンファ無効化処理を実現することが
できる。As explained above, according to the present invention, when a write request occurs simultaneously to the same area of each of a plurality of copy-back type cache memories, data in the target area is not lost and the shared memory It is possible to implement bumper invalidation processing by maximizing the high speed that is an advantage of the copy-back method.
これは、システム効率の向上に寄与するものである。This contributes to improving system efficiency.
第1図(a)および(b)は本発明によるバッファ無効
化制御方式の原理図、
第2図は本発明のバッファ無効化制御方式が通用される
密結合マルチプロセッサシステムの構成を示すブロック
図、
第3図は第2図におけるキャッシュメモリの内部構成を
示す回路図、
第4図(a)〜(c)は第2図のシステムにおけるキャ
ッシュメモリ制御形態を時系列的に示した図、第5図は
第2図におけるキャッシュメモリの状態遷移図、
第6図(a)〜(c)は従来のキャノシェメモリ制御方
式の問題点を説明するための図、
第7図は第6図におけるキャッシュメモリの動作タイミ
ングを示す図、
である。
(符号の説明)
M1〜Mn・・・コピー・バック方式のキャッシュメモ
リ、
CM・・・共有メモリ、
A・・・アドレス部、
D・・・データ部、
■・・・有効指示フラグ、
M・・・変更済指示フラグ、
Pl・・・バッファ無効化要求コマンドを送出する手段
(処理)、
P2・・・他のキャッシュメモリからのバッファ無効化
要求コマンドに含まれるア下レス領域を自メモリ内から
消去する手段(処理)、P3・・・レジスタ手段、
P4・・・他のキャッシュメモリからのバッファ無効化
要求コマンドに含まれるアドレスとレジスタ手段の内容
とを比較する手段(処理)。
第2図1こおけるキャッシュメモリの状態遷移図ST・
・・ストア待ち状態
第6図に81フるキャッシュメモリの動作タイミングを
示す9第
図FIGS. 1(a) and (b) are diagrams showing the principle of the buffer invalidation control method according to the present invention, and FIG. 2 is a block diagram showing the configuration of a tightly coupled multiprocessor system in which the buffer invalidation control method according to the present invention is applied. , FIG. 3 is a circuit diagram showing the internal configuration of the cache memory in FIG. 2, FIGS. Figure 5 is a state transition diagram of the cache memory in Figure 2, Figures 6 (a) to (c) are diagrams for explaining the problems of the conventional cache memory control method, and Figure 7 is the state transition diagram of the cache memory in Figure 6. 2 is a diagram showing the operation timing of the cache memory. FIG. (Explanation of symbols) M1 to Mn...Copy-back cache memory, CM...Shared memory, A...Address section, D...Data section, ■...Validity instruction flag, M. ...Changed instruction flag, Pl...Means (processing) for sending the buffer invalidation request command, P2...Set the address area included in the buffer invalidation request command from another cache memory into its own memory. P3: Register means; P4: Means (processing) for comparing the address included in the buffer invalidation request command from another cache memory with the contents of the register means. Figure 2 State transition diagram of cache memory in 1ST
... Store waiting state Figure 6 shows 81 Figure 9 shows the operation timing of the cache memory
Claims (1)
_1〜Mn)と少なくとも1つの共有メモリ(CM)が
システムバスを介して接続されているマルチプロセッサ
システムにおいて、 各キャッシュメモリ(Mi)は、内部のそれぞれのエン
トリにアドレス部(A)、データ部(D)、アクセスア
ドレスで示される領域が自己のキャッシュメモリ内に存
在するか否かを指示する有効指示フラグ(V)、および
データが書き換えられたか否かを指示する変更済指示フ
ラグ(M)を有し、且つ、対応するCPUからのデータ
の書き込み要求があった場合にその対象領域が当該キャ
ッシュメモリ内に登録されていて且つ変更済指示フラグ
がオフの時は該CPUからの書き込みアドレスの少なく
とも一部を含むバッファ無効化要求コマンドを前記シス
テムバスに送出する手段(P1)と、該システムバス上
のコマンドを監視し、そのコマンドが他のキャッシュメ
モリからのバッファ無効化要求コマンドであった場合に
当該コマンドに含まれるアドレス領域を自キャッシュメ
モリ内から消去する手段(P2)と、 自ら送出したバッファ無効化要求コマンドのアドレスを
保持するレジスタ手段(P3)と、前記他のキャッシュ
メモリからのバッファ無効化要求コマンドに含まれるア
ドレスと前記レジスタ手段の内容とを比較する手段(P
4)とを有し、バッファ無効化要求コマンドを送出して
から一定期間内に同一領域に対する他のキャッシュメモ
リからのバッファ無効化要求コマンドを検出した場合に
当該コマンドを無視するように制御することを特徴とす
るバッファ無効化制御方式。 2、前記レジスタ手段に保持されているバッファ無効化
要求コマンドのアドレスを所定時間遅延させる手段を更
に有し、該遅延させたアドレスを前記他のキャッシュメ
モリからのバッファ無効化要求コマンドに含まれるアド
レスと比較するようにしたことを特徴とする請求項1に
記載のバッファ無効化制御方式。[Claims] 1. Multiple copy-back cache memories (M
In a multiprocessor system in which _1 to Mn) and at least one shared memory (CM) are connected via a system bus, each cache memory (Mi) has an address part (A) and a data part in each internal entry. (D), a valid indication flag (V) which indicates whether the area indicated by the access address exists in its own cache memory, and a changed indication flag (M) which indicates whether the data has been rewritten or not. and when there is a data write request from the corresponding CPU, if the target area is registered in the cache memory and the changed instruction flag is off, the write address from the CPU is means (P1) for sending a buffer invalidation request command including at least a portion thereof to the system bus; and means (P1) for monitoring a command on the system bus, and determining that the command is a buffer invalidation request command from another cache memory. means (P2) for erasing the address area included in the command from within its own cache memory when the command is issued; register means (P3) for holding the address of the buffer invalidation request command sent by itself; means (P) for comparing the address included in the buffer invalidation request command and the contents of the register means;
4), and if a buffer invalidation request command is detected from another cache memory for the same area within a certain period of time after sending the buffer invalidation request command, the command is controlled to be ignored. A buffer invalidation control method characterized by: 2. Further comprising means for delaying the address of the buffer invalidation request command held in the register means for a predetermined period of time, the delayed address being used as an address included in the buffer invalidation request command from the other cache memory. 2. The buffer invalidation control method according to claim 1, wherein the buffer invalidation control method is compared with the buffer invalidation control method.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2210512A JPH0498352A (en) | 1990-08-10 | 1990-08-10 | Buffer invalidation control system |
EP19910113197 EP0470574A3 (en) | 1990-08-06 | 1991-08-05 | Multiprocessor system including cache memories and method of controlling cache memories to maintain coherence of data therebetween |
KR1019910013593A KR940005769B1 (en) | 1990-08-06 | 1991-08-06 | Multi-process system with cache memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2210512A JPH0498352A (en) | 1990-08-10 | 1990-08-10 | Buffer invalidation control system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0498352A true JPH0498352A (en) | 1992-03-31 |
Family
ID=16590602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2210512A Pending JPH0498352A (en) | 1990-08-06 | 1990-08-10 | Buffer invalidation control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0498352A (en) |
-
1990
- 1990-08-10 JP JP2210512A patent/JPH0498352A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5598550A (en) | Cache controller for processing simultaneous cache accesses | |
US5682516A (en) | Computer system that maintains system wide cache coherency during deferred communication transactions | |
JP2708943B2 (en) | Cache memory controller | |
US20040068616A1 (en) | System and method enabling efficient cache line reuse in a computer system | |
JP2000242556A (en) | Hardware cleaning function optimized for virtual index virtual tag data cache | |
WO1997004392A1 (en) | Shared cache memory device | |
JP2001256109A (en) | Method and device for controlling integrated cache port | |
JPH0498352A (en) | Buffer invalidation control system | |
KR940005769B1 (en) | Multi-process system with cache memory | |
JPS644214B2 (en) | ||
JPH0784879A (en) | Cache memory device | |
JP4091171B2 (en) | Cache flush method and apparatus | |
JP3340047B2 (en) | Multiprocessor system and duplicate tag control method | |
JPH0816390A (en) | Microprocessor | |
JPH0498339A (en) | Buffer invalidation control system | |
JP3757768B2 (en) | Issuing control system for scalar memory access instruction during vector memory access | |
JPH03172943A (en) | Cache memory control system | |
JPH0492937A (en) | Cache memory control system | |
JPS63247852A (en) | Cache memory control method | |
JPS61237145A (en) | Controlling system for store buffer | |
JPS63240651A (en) | Cache memory | |
JPH0496842A (en) | Intercept control system for cache memory | |
JPH0447350A (en) | Main storage read/response control | |
JPH0498338A (en) | Simultaneous rewrite control system for cache memory | |
JPH0724043B2 (en) | Data processing device |