JPH04137052A - Cache memory control system - Google Patents

Cache memory control system

Info

Publication number
JPH04137052A
JPH04137052A JP2257152A JP25715290A JPH04137052A JP H04137052 A JPH04137052 A JP H04137052A JP 2257152 A JP2257152 A JP 2257152A JP 25715290 A JP25715290 A JP 25715290A JP H04137052 A JPH04137052 A JP H04137052A
Authority
JP
Japan
Prior art keywords
cache memory
write
shared
memory
steal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2257152A
Other languages
Japanese (ja)
Inventor
Takeshi Kitahara
北原 毅
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 JP2257152A priority Critical patent/JPH04137052A/en
Publication of JPH04137052A publication Critical patent/JPH04137052A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To improve bus traffic and also system performance by fetching data by performing steal by each cache memory. CONSTITUTION:Target areas for a write request from arithmetic units CPU1, CPU2 are registered on the cache memory M1, M2, and write data is written on the cache memory M1, M2 when sharing remains unchanged, and also, it is written on shared memory CM. Also, when access to another cache memory or the shared memory of an I/O device shows write and the area targeted to write is registered on its own cache memory and also, it is unchanged area, the write data included in a write command is stored in its own cache memory by stealing. Thereby, the bus traffic is improved, and the system performance is also improved.

Description

【発明の詳細な説明】 〔概 要] 複数のコピーバック方式のキャッシュメモリと少な(と
も1つの共有メモリを備えたシステムにおけるキャッシ
ュメモリ制御方式に関し、バストラフィックを改善する
と共に、コピーバック方式のキャッシュメモリの特徴を
十分に生かしてシステム性能を向上させることを目的と
し、複数のコピーバック方式のキャッシュメモリと、共
有メモリと、該複数のキャッシュメモリおよび該共有メ
モリを接続するシステムバスとを備え、該各キャッシュ
メモリはそれぞれの内部エントリに、有効表示フラグ、
変更済表示フラグ、共有表示フラグ、或いは、無効、専
有未変更、専有変更済並びに共有未変更の4つの状態を
示すフラグ、および、アドレスを有しているシステムに
おけるキャッシュメモリ制御方式であって、演算装置か
らの書き込み要求の対象領域がキャッシュメモリに登録
されており且つ共有未変更の場合、書き込みデータを当
該キャッシュメモリ内に書き込むと共に、前記共有メモ
リにも書き込む手段と、前記システムバス上の他のキャ
ッシュメモリまたはI10デバイスの前記共有メモリへ
のアクセスを監視する手段とを具備し、前記他のキャッ
シュメモリまたはI10デバイスの共有メモリへのアク
セスが書き込みであり、書き込み対象領域が自身のキャ
ッシュメモリ内に登録されており且つ未変更領域であっ
た場合、書き込みコマンドに含まれる書き込みデータを
スチ・−ルして当該自身のキャッシュメモリ内に格納す
るように構成する。
[Detailed Description of the Invention] [Summary] This invention relates to a cache memory control method in a system having multiple copy-back cache memories and a small amount (at least one shared memory), and which improves bus traffic and improves copy-back cache memory. The purpose is to improve system performance by making full use of the characteristics of memory, and includes a plurality of copy-back type cache memories, a shared memory, and a system bus that connects the plurality of cache memories and the shared memory, Each cache memory has a valid display flag and a valid display flag in each internal entry.
A cache memory control method in a system having an address and a changed display flag, a shared display flag, or a flag indicating four states of invalid, exclusive unchanged, exclusive changed and shared unchanged, the method comprising: If the target area of the write request from the arithmetic unit is registered in the cache memory and is shared and unchanged, a means for writing the write data into the cache memory and also into the shared memory, and another device on the system bus. means for monitoring access to the cache memory of the other cache memory or the shared memory of the I10 device, the access to the other cache memory or the shared memory of the I10 device is writing, and the write target area is within the own cache memory. If the area is registered in the area and is an unchanged area, the write data included in the write command is still stored in the cache memory of the write command.

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

本発明は、キャッシュメモリ制御方式に関し、特に、複
数のコピーバック方式のキャッシュメモリと少なくとも
1つの共有メモリを備えたシステムにおけるキャッシュ
メモリ制御方式に関する。
The present invention relates to a cache memory control method, and particularly to a cache memory control method in a system including a plurality of copy-back type cache memories and at least one shared memory.

近年、コンピュータの高速化の要求に伴って演算装置(
プロセッサ)の性能が向上すると共に、複数のプロセッ
サを使うマルチプロセッサシステムが利用されるように
なってきている。そして、システム全体の性能を一層向
上させるために、各キャッシュメモリがスチールを行う
ことによりデータの取り込みを行うことが考えられてい
る。このとき、各キャッシュメモリ間におけるデータの
不一致を避けることが要望されている。
In recent years, with the demand for faster computers, arithmetic devices (
As the performance of processors (processors) has improved, multiprocessor systems that use multiple processors have come into use. In order to further improve the performance of the entire system, it has been considered that data is captured by each cache memory performing a steal. At this time, it is desired to avoid data mismatch between cache memories.

[従来の技術〕 近年、キャッシュメモリとしては、バスアクセスの頻度
がストアスルー方式に比して少ないコピーバック方式が
主流となりつつある。このコピーバック方式のキャッシ
ュメモリは、キャッシュデータを書き込む時に「ヒツト
」シても、そのデータを共有するメモリが他に無ければ
バスアクセスを行わない方式のもので、キャッシュデー
タを書き換える毎に共有メモリの書き換えも行い、他の
キャッシュメモリのデータを無効化するコピーバック方
式のキャッシュメモリよりもバスアクセスの頻度を減少
しシステム全体の性能を向上させるものである。
[Prior Art] In recent years, the copy-back method, which requires fewer bus accesses than the store-through method, has become mainstream for cache memories. This copy-back type cache memory is a type of cache memory that does not perform bus access even if there is a "hit" when writing cache data, unless there is another memory to share the data, and each time the cache data is rewritten, the shared memory This reduces the frequency of bus access and improves overall system performance compared to a copy-back cache memory that invalidates data in other cache memories.

第5図は従来のキャッシュメモリ制御方式を説明するた
めの図であり、キャッシュメモリ制御方式が適用される
システムは、複数のコピーバック方式のキャッシュメモ
リM1、M2と、共有メモリ側と、これらのキャッシュ
メモリM1.M2および共有メモリ口を接続するシステ
ムバスSBとを備えている。各キャッシュメモリMLM
2は、それぞれの内部エントリに有効表示フラグ■、変
更済表示フラグM、共有表示フラグSおよびアドレスを
有している。ここで、キャッシュメモリM1およびM2
は、それぞれ演算装置CPUIおよびCPU2によって
制御されるようになっている。また、キャッシュメモリ
M1およびM2は、それぞれ演算装置CPUIおよびC
PU2に設けられた内部キャッシュメモリとして構成す
ることもできる。
FIG. 5 is a diagram for explaining the conventional cache memory control method, and a system to which the cache memory control method is applied consists of a plurality of copy-back type cache memories M1 and M2, a shared memory side, and a system to which the cache memory control method is applied. Cache memory M1. M2 and a system bus SB connecting the shared memory port. Each cache memory MLM
2 has a valid display flag ■, a changed display flag M, a shared display flag S, and an address in each internal entry. Here, cache memories M1 and M2
are controlled by arithmetic units CPUI and CPU2, respectively. In addition, cache memories M1 and M2 are used for arithmetic units CPUI and Cache, respectively.
It can also be configured as an internal cache memory provided in the PU2.

第5図に示されるように、従来のキャッシュメモリ制御
方式は、例えば、CPU2がキャッシュメモlJM2に
対して書き込み要求を行った場合(第5図中、■゛参照
、該CPU2からの書き込み要求の対象領域がキャッシ
ュメモリM2に登録されており且つ共有未変更(V=1
. S=1. M=0)であると、その書き込みデータ
はキャッシュメモリM2内に書き込まれると共に、共有
メモリCMにも書き込まれる(第5図中、■”参照)よ
うになっている。
As shown in FIG. 5, in the conventional cache memory control method, for example, when CPU 2 makes a write request to cache memory lJM2 (see The target area is registered in cache memory M2 and shared unchanged (V=1
.. S=1. When M=0), the write data is written into the cache memory M2 and also written into the shared memory CM (see "■" in FIG. 5).

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

上述した第5図のシステムにおいて、従来、次の(A)
〜(D)の方式が提案されている。
In the system shown in FIG. 5 described above, conventionally the following (A)
The following methods have been proposed.

(A)上記の■゛の書き込み処理をバッファ無効化コマ
ンドとして、他のキャッシュメモリMl内の同一領域を
全てクリアする。しかし、この方式では、システムとし
ての性能が低下することになる。
(A) Using the above write processing as a buffer invalidation command, all the same areas in other cache memories M1 are cleared. However, with this method, the performance of the system will deteriorate.

(B)上記の■′の書き込みコマンドによりキャッシュ
メモリMl内の同一領域をクリアする。この方式も、シ
ステムの性能低下を招くことになる。
(B) The same area in the cache memory Ml is cleared by the above write command ■'. This method also causes a decrease in system performance.

(C)上記の■゛の書き込みコマンドのデータをキャッ
シュメモリM1がスチールする。しかし、従来方式では
、キャッシュメモリM2は専有領域に状態遷移するため
、CPU2からの新たな書き込みデータはCPUI (
キャッシュメモリM1)にはに伝わらない。
(C) The cache memory M1 steals the data of the above write command. However, in the conventional method, since the state of the cache memory M2 changes to the exclusive area, new write data from the CPU2 is transferred to the CPUUI (
It is not transmitted to the cache memory M1).

(D)上記の■゛の書き込みコマンドを発行した後、従
来方式では、キャッシュメモリM2は共有未変更状態の
ままであった。従って、キャッシュメモリM2の他のキ
ャッシュメモリ(M1)が書き込みデータをスチールす
るのではなく無効化するタイプであっても、また、他の
キャッシュメモリ(M1)内に同一領域が一つも存在し
なくても、CPU2からの書き込み要求は必ずアクセス
タイムの遅い共有メモリCMに反映され、コピーバック
方式のキャッシュメモリの特徴を生かすことができない
(D) After issuing the above write command (■), in the conventional method, the cache memory M2 remained in a shared unaltered state. Therefore, even if the other cache memory (M1) of cache memory M2 is of the type that invalidates written data instead of stealing it, there is no identical area in the other cache memory (M1). However, a write request from the CPU 2 is always reflected in the shared memory CM, which has a slow access time, and the characteristics of the copy-back type cache memory cannot be utilized.

本発明は、上述した従来技術における課題に鑑み、バス
トラフインクを改善すると共に、コピーバック方式のキ
ャッシュメモリの特徴を十分に生かしてシステム性能を
向上させることを目的とする。
SUMMARY OF THE INVENTION In view of the above-mentioned problems in the prior art, it is an object of the present invention to improve bus trough ink and to improve system performance by fully utilizing the characteristics of a copy-back type cache memory.

[課題を解決するための手段] 本発明によれば、複数のコピーパック方式ノキャッシュ
メモリM1、M2と、共有メモリ側と、該複数のキャッ
シュメモリおよび該共有メモリを接続するシステムバス
SBとを備え、該各キャッシュメモリはそれぞれの内部
エントリに、有効表示フラグV、変更済表示フラグ飢共
有表示フラグS、或いは。
[Means for Solving the Problems] According to the present invention, a plurality of copy pack type cache memories M1 and M2, a shared memory side, and a system bus SB connecting the plurality of cache memories and the shared memory are connected. Each cache memory has a valid display flag V, a changed display flag, an empty shared display flag S, or a shared display flag S in each internal entry.

無効、専有未変更、専有変更済並びに共有未変更の4つ
の状態を示すフラグ、および、アドレスを有しているシ
ステムにおけるキャッシュメモリ制御方式であって、演
算装置CPU1、CPU2からの書き込み要求の対象領
域がキャッシュメモリに登録されており且つ共有未変更
(V=1.S・1.M=0)の場合、書き込みデータを
当該キャッシュメモリ内に書き込むと共に、前記共有メ
モリにも書き込む手段と、前記システムバス上の他のキ
ャッシュメモリまたはI10デバイスの前記共有メモリ
へのアクセスを監視する手段とを具備し、前記他のキャ
ッシュメモリまたはI10デバイスの共有メモリへのア
クセスが書き込みであり、書き込み対象領域が自身のキ
ャッシュメモリ内に登録されており且つ未変更領域であ
った場合、書き込みコマンドに含まれる書き込みデータ
をスチールして当該自身のキャッシュメモリ内に格納す
るようにしたキャッシュメモリ制御方式が提供される。
A cache memory control method in a system that has addresses and flags indicating four states: invalid, proprietary not changed, proprietary changed, and shared not changed, and is subject to write requests from arithmetic units CPU1 and CPU2. means for writing write data in the cache memory and also in the shared memory when the area is registered in the cache memory and shared and unchanged (V=1.S・1.M=0); means for monitoring access to the shared memory by another cache memory or I10 device on the system bus, the access to the other cache memory or the shared memory of the I10 device is writing, and the write target area is A cache memory control method is provided that steals the write data included in the write command and stores it in the own cache memory if it is registered in the own cache memory and is an unmodified area. .

〔作 用〕[For production]

本発明のキャッシュメモリ制御方式によれば、演算装置
CPU1.CPU2からの書き込み要求の対象領域がキ
ャッシュメモリに登録されており且つ共有未変更(V=
1.S・1、S=1、M=0)の場合、書き込みデータ
は当該キャッシュメモリ内に書き込まれると共に、共有
メモリにも書き込まれる。また、システムバス上の他の
キャッシュメモリまたはI10デバイスの共有メモリへ
のアクセスは監視されていて、他のキャッシュメモリま
たはI10デバイスの共有メモリへのアクセスが書き込
みであり、書き込み対象領域が自身のキャッシュメモリ
内に登録されており且つ未変更領域であった場合には、
書き込みコマンドに含まれる書き込みデータをスチール
して当該自身のキャッシュメモリ内に格納するようにな
っている。
According to the cache memory control method of the present invention, the arithmetic unit CPU1. The target area of the write request from CPU2 is registered in the cache memory and shared and unchanged (V=
1. S.1, S=1, M=0), the write data is written into the cache memory and also written into the shared memory. In addition, accesses to other cache memories or the shared memory of I10 devices on the system bus are monitored, and accesses to other cache memories or the shared memory of I10 devices are writes, and the area to be written is the own cache memory. If it is registered in memory and is an unmodified area,
The write data included in the write command is stolen and stored in its own cache memory.

これにより、バストラフィックを改善してシステム性能
を向上させることができる。
This can improve bus traffic and improve system performance.

〔実施例〕〔Example〕

以下、図面を参照して本発明に係るキャッシュメモリ制
御方式を詳述する。
Hereinafter, the cache memory control method according to the present invention will be described in detail with reference to the drawings.

第1図は本発明に係るキャッシュメモリ制御方式の原理
を説明するための図であり、第2図は本発明のキャッシ
ュメモリ制御方式が通用されるシステムの一例を示す図
である。第1図および第2図に示されるように、本発明
のキャッシュメモリ制御方式が適用されるシステムは、
複数のコピーバック方式のキャッシュメモリMLM2と
、共有メモリCMと、これらのキャッシュメモリM1、
M2および共有メモリCMを接続するシステムバスSB
とを備えている。
FIG. 1 is a diagram for explaining the principle of the cache memory control method according to the present invention, and FIG. 2 is a diagram showing an example of a system in which the cache memory control method of the present invention is applied. As shown in FIGS. 1 and 2, the system to which the cache memory control method of the present invention is applied is as follows:
A plurality of copy-back type cache memories MLM2, shared memory CM, and these cache memories M1,
System bus SB connecting M2 and shared memory CM
It is equipped with

各キャッシュメモリM1.M2は、それぞれの内部エン
トリに有効表示フラグ■、変更済表示フラグM、共有表
示フラグSおよびアドレスを有している。また、システ
ムバスSBは、アドレスバス、データバスおよびコマン
ドバスを備え、さらに、後述するスチール報告信号線L
1および受信応答信号線L2を備えている。ここで、キ
ャッシュメモリM1およびM2は、それぞれ演算装置c
PU1およびCPt12によって制御されるようになっ
ている。また、キャッシュメモリ間およびM2は、それ
ぞれ演算装置CPUIおよびCPU2に設けられた内部
キャッシュメモリとして構成することもできる。
Each cache memory M1. M2 has a valid display flag ■, a changed display flag M, a shared display flag S, and an address in each internal entry. Further, the system bus SB includes an address bus, a data bus, and a command bus, and further includes a steal report signal line L, which will be described later.
1 and a reception response signal line L2. Here, cache memories M1 and M2 are each arithmetic unit c.
It is controlled by PU1 and CPt12. Further, the cache memory space and M2 can also be configured as internal cache memories provided in the arithmetic units CPUI and CPU2, respectively.

第1図(a)に示されるように、例えば、CPU2がキ
ャッシュメモリ間に対して書き込み要求を行った場合(
第1図(a)中、■参照)、該CPU2からの書き込み
要求の対象領域がキャッシュメモリM2に登録されてお
り且つ共有未変更(v=i、s・1.M=0)であると
、その書き込みデータはキャッシュメモリM2内に書き
込まれると共に、共有メモリCMにも書き込まれる(第
1図(a)中、■参照)。すなわち、書き込みデータが
共有メモリCMに反映される。
As shown in FIG. 1(a), for example, when the CPU 2 makes a write request to the cache memory (
(see ■ in FIG. 1(a)), if the target area of the write request from the CPU 2 is registered in the cache memory M2 and shared and unchanged (v=i, s・1.M=0). , the write data is written into the cache memory M2 and also written into the shared memory CM (see (2) in FIG. 1(a)). That is, the written data is reflected in the shared memory CM.

このとき、キャッシュメモリM1には、■の書き込み対
象が登録されているので、上記共有メモリC?Iに対す
る書き込みデータをスチールして該キャッシュメモリ1
内に格納する(第1図軸)中、■参照)。すなわち、C
PU2からの書き込み要求の対象領域がキャッシュメモ
リM2に登録されており且つ共有未変更(V・1. S
=1. M=0)であるために、書き込みデータがキャ
ッシュメモリM2内に書き込まれると共に、共有メモリ
けにも書き込まれる場合、書き込み対象領域が自身のキ
ャッシュメモリMl内に登録されており且つ未変更領域
(V・1+S=LM=O;左弐において、“X”は0ま
たは1のどちらでもよいことを示す)の時には、書き込
みコマンドに含まれる書き込みデータをスチールして当
該自身のキャッシュメモリMl内部に反映する。
At this time, since the writing target (■) is registered in the cache memory M1, the shared memory C? The write data for I is stolen and the data is stored in the cache memory 1.
(Refer to (1) in the first axis). That is, C
The target area of the write request from PU2 is registered in the cache memory M2 and shared and unchanged (V.1.S
=1. M=0), so when the write data is written in the cache memory M2 and also in the shared memory, the write target area is registered in its own cache memory M1 and the unmodified area ( V・1+S=LM=O; On the left, "X" indicates that it can be either 0 or 1), steals the write data included in the write command and reflects it inside its own cache memory Ml. do.

そして、キャッシュメモリMlは書き込みデータをスチ
ールしたことをシステムバス上B上の信号線で通知する
(第1図(a)中、■参照)。ここで、第2図に示され
るように、書き込みコマンドに対してスチールした旨を
報告する信号線は、システムバスSBに設けられた専用
のスチール報告信号線L1により構成され、該信号線L
1のレベルは、スチール報告信号のアサートが低レベル
“L”となるように設定されている。すなわち、スチー
ル報告信号線L1は、スチールが行われたことを通知す
る時に低レベル“L”となるように設定されている。
Then, the cache memory Ml notifies that the write data has been stolen through a signal line on the system bus B (see (2) in FIG. 1(a)). Here, as shown in FIG. 2, the signal line for reporting that a write command has been stolen is constituted by a dedicated steal report signal line L1 provided on the system bus SB.
The level 1 is set so that the assertion of the steal report signal becomes a low level "L". That is, the steal report signal line L1 is set to be at a low level "L" when notifying that a steal has been performed.

次に、スチール報告信号ILIを介して、スチール報告
信号のアサート(スチールが行われたことを示す:低レ
ベル“L″)がキャッシュメモリM2で検出される(第
1図(b)中、■参照)と、該キャッシュメモリM2は
、書き込みデータが他のキャッシュメモリ(M1)によ
りスチールされたことを認識して、共有を示すフラグを
クリアしない(第1図(b)中、■参照)ようにする。
Next, assertion of the steal report signal (indicating that a steal has been performed: low level "L") is detected in the cache memory M2 via the steal report signal ILI (in FIG. 1(b), ), the cache memory M2 recognizes that the write data has been stolen by another cache memory (M1), and does not clear the flag indicating sharing (see ■ in FIG. 1(b)). Make it.

すなわち、共有表示フラグSを“1”のままに保持する
。もし、該スチール報告信号がアサートされない時(す
なわち、同一領域が他のどこのキャッシュメモリにも存
在しないか或いはスチール報告信号線L1が切れている
時)には、共有表示フラグをクリアする。ここで、共有
フラグがクリアされている領域(専有領域)へのCPU
からの書き込みは、システムバス上にコマンドを出さず
最高速で終了することになる。
That is, the shared display flag S is kept at "1". If the steal report signal is not asserted (that is, the same area does not exist in any other cache memory or the steal report signal line L1 is disconnected), the shared display flag is cleared. Here, the CPU to the area (exclusive area) where the shared flag is cleared
Writing from the system will complete at maximum speed without issuing any commands on the system bus.

さらに、第1図(b)および第2図に示されるように、
スチール報告信号のアサートを検出したキャッシュメモ
リM2は、システムバスSBに設けられた専用の受信応
答信号線L2をアサートする(第1図(b)中、■参照
)。ここで、第2図に示されるように、受信応答信号線
L2のレベルは、受信応答信号のアサートが低レベル“
L″”となるように設定されている。すなわち、受信応
答信号線L2は、受信応答を行う時に低レベル“L”°
となるように設定されている。
Furthermore, as shown in FIG. 1(b) and FIG.
The cache memory M2 that detects the assertion of the steal report signal asserts the dedicated reception response signal line L2 provided on the system bus SB (see (2) in FIG. 1(b)). Here, as shown in FIG. 2, the level of the reception response signal line L2 is set to a low level when the reception response signal is asserted.
It is set to be L″″. In other words, the reception response signal line L2 is at a low level “L” when making a reception response.
It is set so that

そして、受信応答信号線L2を介して、受信応答信号の
アサートが書き込みデータをスチールしたキャッシュメ
モリ間で検出される(第1図(b)中、■参照)と、該
キャッシュメモリM1は、スチール報告信号が書き込み
が行われたキャッシュメモリ(M2)で検出されたこと
を認識して、スチールしたデータが格納されたラインを
有効とし、共有されてぃるものとする(第1図(b)中
、■参照)。すなわち、有効表示フラグ■を“1”とし
、共有表示フラグSを“1”にセットする。もし、該受
信応答信号がアサートされない時(すなわち、■で書き
込みコマンドを発行したキャッシュメモリMlが受信応
答信号をアサートする機能を待たないか或いは受信応答
信号1jlL2が切れている時)には、スチールしたデ
ータを格納したラインを無効化することになる。
Then, when the assertion of the reception response signal is detected between the cache memories that stole the write data via the reception response signal line L2 (see ■ in FIG. 1(b)), the cache memory M1 steals the write data. Recognizing that the report signal has been detected in the cache memory (M2) where the data was written, the line in which the stolen data is stored is made valid and shared (see Figure 1(b)). middle, see ■). That is, the valid display flag (■) is set to "1" and the shared display flag S is set to "1". If the reception response signal is not asserted (that is, the cache memory Ml that issued the write command in ① does not wait for the function to assert the reception response signal, or the reception response signal 1jlL2 is cut off), the steal This will invalidate the line that stored the data.

以上において、スチール報告信号線L1は、スチールが
行われた時に低レベル“L′”となるように設定され、
また、受信応答信号線L2は、スチール報告が受信され
た時に低レベル゛L nとなるように設定されているの
で、たとえスチール報告信号線L1或いは受信応答信号
線L2が切れている場合でも、パストラフィックを改善
することはできないが、キャッシュメモリ間におけるデ
ータの不一致を回避するようになっている。
In the above, the steal report signal line L1 is set to a low level "L'" when a steal is performed,
Furthermore, since the reception response signal line L2 is set to be at a low level "Ln" when a steal report is received, even if the steal report signal line L1 or the reception response signal line L2 is disconnected, Although it cannot improve path traffic, it avoids data mismatch between cache memories.

ところで、上述したシステムにおいて、例えば、複数の
コピーバック方式のキャッシュメモリ(Ml。
By the way, in the above-mentioned system, for example, a plurality of copy-back type cache memories (Ml.

M2)の外に、少なくとも1つのストアスルー方式のキ
ャッシュメモリが存在している場合には、該ストアスル
ー方式のキャッシュメモリは演算装置(CPU)からの
書き込み要求をシステムバスに反映するように構成され
ることになる。さらに、該ストアスルー方式のキャッシ
ュメモリは、書き込みコマンドに対して他のキャッシュ
メモリからスチールした旨の報告を受信した時に、受信
応答として該報告を受信した旨を出力するように構成さ
れる。また、共有メモリに対して書き込みを行うキャッ
シュメモリ(M2)としては、キャッシュメモリの外に
I10デバイスであってもよい。この場合、共有メモリ
に対する書き込みデータをスチールするキャッシュメモ
リ(M1)は、該I10デバイスから共有メモリに対す
る書き込みデータをスチールすることになる。
If at least one store-through type cache memory exists in addition to M2), the store-through type cache memory is configured to reflect write requests from the processing unit (CPU) on the system bus. will be done. Further, the store-through type cache memory is configured to output, as a reception response, a notification that the report has been received when it receives a report indicating that the cache memory has been stolen from another cache memory in response to a write command. Further, the cache memory (M2) for writing to the shared memory may be an I10 device in addition to the cache memory. In this case, the cache memory (M1) that steals the write data to the shared memory will steal the write data to the shared memory from the I10 device.

第3図は本発明が適用されるキャッシュメモリの一例の
状態遷移図である。同図において、状態Iはキャッシュ
メモリに保持されているデータ(対象となる領域)が無
効(V・0)であることを示し、状態EUはキャッシュ
メモリに保持されているデータが専有未変更(V・1.
M=O,S・0)であることを示し、状態EMはキャッ
シュメモリに保持されているデータが専有変更済(V・
1.M=1.S・0)であることを示し、そして、状態
SUはキャッシュメモリに保持されているデータが共有
未変更(V・1.M・0゜5=1)であることを示して
いる。
FIG. 3 is a state transition diagram of an example of a cache memory to which the present invention is applied. In the figure, state I indicates that the data held in the cache memory (target area) is invalid (V.0), and state EU indicates that the data held in the cache memory is proprietary and unmodified ( V・1.
M=O, S・0), and state EM indicates that the data held in the cache memory has been changed to exclusive use (V・
1. M=1. S.0), and state SU indicates that the data held in the cache memory is shared and unmodified (V.1.M.0°5=1).

第3図中、(1)はCPUからのリード要求に応じて1
ブロツクリードした場合(状態Iから状態EUへの遷移
)、(2)はリードアクセスの場合(状態EUを保持)
、(3)は他のキャッシュが同一領域を1ブロツクリー
ド、或いは、他のキャッシュメモリからのライトデータ
をスチールし、スチール通知に対する応答が帰ってきた
場合(状態EUから状態SUへの遷移)、(4)はリー
ドアクセス、或いは、CPUからの書き込み要求を共有
メモリに反映した時にスチール通知がアサートされた場
合(状態SUを保持)、そして、(5)は他のキャッシ
ュメモリの共有メモリへのアクセスを契機として共有メ
モリへコピーバックを行った場合(状fiEMから状M
SUへの遷移)を示す。また、(6)はライト/リード
アクセスの場合(状態EMを保持)、(7)は新ブロツ
ク登録のために共有メモリへコピーバックした場合(状
態EMから状態Iへの遷移)、(8)はCPUからのラ
イト要求により1ブロツクリードした場合(状態Iから
状態EMへの遷移)、そして、(9)はCPUからのラ
イトの場合(状態EUから状態EMへの遷移)を示し、
この時、システムハスには如何なるコマンドも出力され
ない。さらに、00)は新ブロツク登録のためにリプレ
ース、或いは、他のキャッシュメモリからのライトデー
タをスチールし、スチール通知を送ったが応答が帰って
来なかった場合(状態SUから状態■への遷移)、(1
0はCPUからのリード要求により1ブロツクリードす
る時に他のキャッシュメモリから共有領域であることが
通知された場合(状態Iから状態SUへの遷移)、02
)はCPUからの書き込み要求を共有メモリへ反映した
時、スチール通知がアサートされなかった場合(状態S
Uから状態EUへの遷移)、そして、03)は新ブロツ
ク登録のためにリプレースされた場合(状態Elから状
態■への遷移)を示す。
In Figure 3, (1) is 1 in response to a read request from the CPU.
When a block is read (transition from state I to state EU), (2) is a read access (maintains state EU)
, (3) is when another cache reads one block from the same area or steals write data from another cache memory, and a response to the steal notification is returned (transition from state EU to state SU). (4) is when a steal notification is asserted (state SU is maintained) when a read access or a write request from the CPU is reflected in the shared memory, and (5) is when another cache memory is accessed to the shared memory. When copying back to shared memory triggered by access (from state fiEM to state M
transition to SU). Also, (6) is for write/read access (maintaining state EM), (7) is for copying back to shared memory to register a new block (transition from state EM to state I), (8) (9) shows the case where one block is read due to a write request from the CPU (transition from state I to state EM), and (9) shows the case of write from the CPU (transition from state EU to state EM).
At this time, no commands are output to the system. Furthermore, if 00) is replaced to register a new block or steals write data from another cache memory and sends a steal notification but no response is returned (transition from state SU to state ), (1
0 is 02 if it is notified from another cache memory that it is a shared area when reading one block due to a read request from the CPU (transition from state I to state SU).
), when the write request from the CPU is reflected in the shared memory, if the steal notification is not asserted (state S
03) indicates a case where a block is replaced for new block registration (transition from state El to state ■).

以上において、本発明による特徴的な状態遷移は、(3
)の他のキャッシュメモリからのライトデータをスチー
ルし、スチール通知に対し応答が帰ってきた場合に、専
有未変更状態EU (V・1.M・0.S・0)から共
有未変更状態SU (V・1.M=O,S・工)に遷移
すること、(4)のCPUからの書き込み要求を共有メ
モリに反映した時にスチール通知がアサートされた場合
に、共有未変更状態5U(V=1.M=0,5=1)を
保持すること、aωの他のキャッシュメモリからのライ
トデータをスチールし、スチール通知を送ったが応答が
帰って来なかった場合に、共有未変更状態5U(V、1
.M=0,5=1)から無効状態(V=0) ニ遷移す
ること、および、面のCPUからの書き込み要求を共有
メモリへ反映した時、スチール通知がアサートされなか
った場合に共有未変更状態SO(V・1+n=O+5−
1)から専有未変更状態El(M、M、0,5=0)に
遷移することである。これによって、バストラフインク
を改善すると共に、コピーバック方式のキャッシュメモ
リの特徴を十分に生かしてシステム性能を向上させるこ
とができる。
In the above, the characteristic state transition according to the present invention is (3
), and when a response is returned to the steal notification, the private unchanged state EU (V・1.M・0.S・0) is changed from the shared unchanged state SU (V・1.M=O, S・Work), and if the steal notification is asserted when the write request from the CPU in (4) is reflected in the shared memory, the shared unmodified state 5U (V = 1. M = 0, 5 = 1), steal write data from other cache memories of aω, and if a steal notification is sent but no response is returned, the shared unmodified state 5U (V, 1
.. M = 0, 5 = 1) to the invalid state (V = 0), and when a write request from the CPU on the side is reflected to the shared memory, if the steal notification is not asserted, the shared state remains unchanged. State SO(V・1+n=O+5−
1) to the exclusive unchanged state El (M, M, 0, 5=0). As a result, it is possible to improve the bus trough ink and improve system performance by fully utilizing the characteristics of the copy-back type cache memory.

第4図は本発明を実現するキャッシュメモリの一構成例
を示す図である。同図において、参照符号41はタグ部
(タグメモリ)であって、アクセスデータの物理アドレ
スを記憶するアドレス部、エントリ部、および、3つの
状態フラグν、M、Sを備えている。この3つの状態フ
ラグV、飢Sは、アドレスとデータとの対が有効である
か否かを示す有効表示フラグ■、データが書き換えられ
たか否かを示す変更済表示フラグM、および、当該キャ
ッシュメモリ内のデータが他に共有されているか否かを
示す共有表示フラグSにより構成されている。
FIG. 4 is a diagram showing an example of the configuration of a cache memory that implements the present invention. In the figure, reference numeral 41 denotes a tag section (tag memory), which includes an address section for storing the physical address of access data, an entry section, and three status flags ν, M, and S. These three status flags V and S are a valid display flag ■ that indicates whether the pair of address and data is valid, a modified display flag M that indicates whether or not the data has been rewritten, and the cache It consists of a shared display flag S that indicates whether the data in the memory is shared with others.

参照符号42はデータ部(キャッシュデータメモリ)を
示し、該データ部42は、リード回路、マージ回路およ
びライト回路を備えている。ここで、タグ部41におけ
るフラグV、M、Sは、無効、専有未変更。
Reference numeral 42 indicates a data section (cache data memory), and the data section 42 includes a read circuit, a merge circuit, and a write circuit. Here, the flags V, M, and S in the tag section 41 are invalid and proprietary unchanged.

専有変更法並びに共有未変更の4つの状態を示す2ビツ
トフラグとして構成することができる。
It can be configured as a 2-bit flag indicating four states: proprietary change method and shared unchanged state.

最初に、ストアコマンドを発行したキャッシュメモリ(
第1図中のキャッシュメモリM2)としての機能を実現
する回路について説明する(第1図(a)および(b)
中の■〜■参照)。まず、CPUからの書き込み要求の
アドレスとタグ部41に保持されているアドレスとが比
較回路431により比較され、一致した場合には、有効
表示フラグ■との論理積がANDゲート441でとられ
る。さらに−、ANDゲート442によってインバータ
451を介して供給されるcpuからのり一ド/ライト
信号、 ANDゲート441の出力および共有表示フラ
グSの論理積がとられる。そして、CPUからの書き込
み要求の対象領域がキャッシュメモリに登録されており
(比較回路431の出力が高レベルニ一致)、且つ、有
効表示フラグv=1.共有表示フラグS−1,の場合に
は、ストアサイクルが起動されて、書き込みデータを当
該キャッシュメモリ内に書き込むと共に、共有メモリに
も書き込むようになっている。このとき、CPUからの
り一ド/ライト信号は書き込みなので、インバータ45
1の出力は高レベルとなる。また、変更済表示フラグM
は、“0”或いは“1”のどちらでもよい。
First, the cache memory that issued the store command (
The circuit that realizes the function of the cache memory M2) in FIG. 1 will be explained (FIG. 1 (a) and (b)).
(See ■~■). First, the address of the write request from the CPU and the address held in the tag section 41 are compared by the comparison circuit 431, and if they match, the AND gate 441 performs a logical product with the valid display flag (■). Furthermore, the AND gate 442 performs a logical product of the read/write signal from the CPU supplied via the inverter 451, the output of the AND gate 441, and the shared display flag S. Then, the target area of the write request from the CPU is registered in the cache memory (the output of the comparison circuit 431 is high level 2), and the valid display flag v=1. In the case of the shared display flag S-1, a store cycle is activated to write the write data into the cache memory and also into the shared memory. At this time, since the read/write signal from the CPU is a write, the inverter 45
The output of 1 is high level. Also, the changed display flag M
may be either "0" or "1".

ANDゲート442の出力は、遅延回路461を介して
ANDゲート443の一方の入力に供給され、また、ス
チール通知(スチール報告信号線L1を介して供給され
るスチール報告信号)がインバータ454を介してAN
Dゲート443の他方の入力に供給され、該ANDゲー
ト443により論理積がとられて、共有表示フラグSが
規定される。すなわち、書き込みデータをスチールした
キャッシュメモリ(第1図中のキャッシュメモリIM)
からのスチール報告信号がアサート(低レベル)される
と、ストアコマンドを発行したキャッシュメモリ(第1
図中のキャッシュメモリ2M)におけるタグ部41の共
有表示フラグSが“1”のままに保持される。ここで、
該スチール報告信号がアサートされない時には、共有表
示フラグはクリア(S=0)されることになる。
The output of AND gate 442 is supplied to one input of AND gate 443 via delay circuit 461, and the steal notification (steal report signal supplied via steal report signal line L1) is supplied via inverter 454. AN
It is applied to the other input of D gate 443 and logically ANDed by AND gate 443 to define shared display flag S. In other words, the cache memory (cache memory IM in Figure 1) that steals write data
When the steal report signal from the cache memory (first cache memory) that issued the store command is asserted (low level)
The shared display flag S of the tag section 41 in the cache memory 2M) in the figure is maintained at "1". here,
When the steal report signal is not asserted, the shared display flag will be cleared (S=0).

また、スチール通知に対する応答(受信応答信号線L2
を介して出力される受信応答信号)は、ANDゲート4
43の出力をANDゲート(バッファ)444およびト
ランジスタ471で処理し−て受信応答信号線L1に供
給するようになっている。
In addition, a response to the steal notification (reception response signal line L2
The reception response signal outputted via the AND gate 4
The output of 43 is processed by an AND gate (buffer) 444 and a transistor 471 and supplied to the reception response signal line L1.

次に、書き込みデータをスチールするキャッシュメモリ
(第1図中のキャッシュメモリM1)としての機能を実
現する回路について説明する(第1図(1)および(b
)中の■〜■参照)。まず、システムバスの外部アドレ
スとタグ部41に保持されているアドレスとが比較回路
432により比較され、一致した場合には、有効表示フ
ラグ■との論理積がANDゲート445でとられる。さ
らに、ANDゲート446によってインバータ453を
介して供給されるシステムバスからの外部リード/ライ
ト信号およびANDゲート445の出力の論理積がとら
れる。そして、ANDゲート446の出力はデータ部4
2のマージ回路に供給され、システムバス(データバス
)から共有メモリに書き込まれるデータをスチールし、
例えば、4ワードを1ブロツクとしてマージして、ライ
ト回路によりデータ部42に書き込むようになっている
Next, a circuit that realizes the function of a cache memory (cache memory M1 in FIG. 1) that steals write data will be explained ((1) and (b) in FIG.
)). First, the external address of the system bus and the address held in the tag unit 41 are compared by the comparison circuit 432, and if they match, the AND gate 445 performs a logical product with the valid display flag (■). Additionally, the external read/write signal from the system bus provided via inverter 453 and the output of AND gate 445 are ANDed by AND gate 446 . Then, the output of the AND gate 446 is the data section 4.
steals the data that is supplied to the merge circuit of 2 and written to the shared memory from the system bus (data bus),
For example, four words are merged into one block and written into the data section 42 by a write circuit.

また、ANDゲート446の出力はANDゲート(バッ
ファ)448およびトランジスタ472により処理され
てスチール報告信号線L1ヘスチール報告信号(スチー
ル通知)として供給されている。すなわち、他のキャッ
シュメモリ(M2)の共有メモリへのアクセスが書き込
みであり、書き込み対象領域が自身のキャッシュメモリ
(M1)内に登録されており(比較回路432の出力が
高レベルニ一致)、且つ、有効表示フラグv=1の場合
には、スチール報告信号がアサート(低レベル)される
Further, the output of the AND gate 446 is processed by an AND gate (buffer) 448 and a transistor 472, and is supplied to the steal report signal line L1 as a steal report signal (steal notification). That is, the access to the shared memory of another cache memory (M2) is a write, and the write target area is registered in its own cache memory (M1) (the output of the comparison circuit 432 is a high level 2 match), and , if the valid indication flag v=1, the steal report signal is asserted (low level).

さらに、ANDゲート446の出力は遅延回路462を
介してANDゲート447の一方の入力に供給され、該
ANDゲート447の他方の入力に供給されるインバー
タ452を介した受信応答信号との論理積がとられる。
Furthermore, the output of the AND gate 446 is supplied to one input of an AND gate 447 via a delay circuit 462, and the AND gate 446 is logically ANDed with the reception response signal supplied to the other input of the AND gate 447 via an inverter 452. Be taken.

そして、受信応答信号線L2を介して供給される (キ
ャッシュメモリ間からの)受信応答信号がアサートされ
、且つ、ANDゲー)446(遅延回路462)の出力
が高レベル(書き込みデータをスチールした)の時、A
NDゲート447の出力は高レベルとなって有効表示フ
ラグVを“1”とするようになっている。このとき、変
更済表示フラグMは、“0”或いは“1”のどちらでも
よい。
Then, the reception response signal (from between the cache memories) supplied via the reception response signal line L2 is asserted, and the output of the AND game 446 (delay circuit 462) is at a high level (write data has been stolen). At the time of A
The output of the ND gate 447 is at a high level and the valid display flag V is set to "1". At this time, the changed display flag M may be either "0" or "1".

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

以上説明したように本発明によれば、バストラフインク
を改善すると共に、コピーバック方式のキャッシュメモ
リの特徴を十分に生かしてシステム性能を向上させるこ
とができる。
As described above, according to the present invention, it is possible to improve bus trough ink and improve system performance by fully utilizing the characteristics of a copy-back type cache memory.

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

第1図は本発明に係るキャッシュメモリ制御方式の原理
を説明するための図、 第2図は本発明のキャッシュメモリ制御方式が適用され
るシステムの一例を示す図、 第3図は本発明が適用されるキヤ・ッシュメモリの一例
の状態遷移図、 第4図は本発明を実現するキャッシュメモリの一構成例
を示す図、 第5図は従来のキャッシュメモリ制御方式を説明するた
めの図である。 (符号の説明) CPU1.CPU2・・・演算装置、 Ml 、 M2・・・キャッシュメモリ、側・・・共有
メモリ、 SB・・・システムバス、 ■・・・有効表示フラグ、 M・・・変更済表示フラグ、 S・・・共有表示フラグ。
FIG. 1 is a diagram for explaining the principle of the cache memory control method according to the present invention, FIG. 2 is a diagram showing an example of a system to which the cache memory control method according to the present invention is applied, and FIG. 3 is a diagram for explaining the principle of the cache memory control method according to the present invention. FIG. 4 is a state transition diagram of an example of a cache memory to which the present invention is applied; FIG. 4 is a diagram showing an example of the configuration of a cache memory that implements the present invention; FIG. 5 is a diagram for explaining a conventional cache memory control method. . (Explanation of symbols) CPU1. CPU2...Arithmetic unit, Ml, M2...Cache memory, Side...Shared memory, SB...System bus, ■...Valid display flag, M...Changed display flag, S... -Shared display flag.

Claims (1)

【特許請求の範囲】 1、複数のコピーバック方式のキャッシュメモリ(M1
、M2)と、共有メモリ(CM)と、該複数のキャッシ
ュメモリおよび該共有メモリを接続するシステムバス(
SB)とを備え、該各キャッシュメモリはそれぞれの内
部エントリに、有効表示フラグ(V)、変更済表示フラ
グ(M)、共有表示フラグ(S)、或いは、無効、専有
未変更、専有変更済並びに共有未変更の4つの状態を示
すフラグ、および、アドレスを有しているシステムにお
けるキャッシュメモリ制御方式であって、 演算装置(CPU1、CPU2)からの書き込み要求の
対象領域がキャッシュメモリに登録されており且つ共有
未変更(V=1、S=1、M=0)の場合、書き込みデ
ータを当該キャッシュメモリ内に書き込むと共に、前記
共有メモリにも書き込む手段と、 前記システムバス上の他のキャッシュメモリまたはI/
Oデバイスの前記共有メモリへのアクセスを監視する手
段とを具備し、前記他のキャッシュメモリまたはI/O
デバイスの共有メモリへのアクセスが書き込みであり、
書き込み対象領域が自身のキャッシュメモリ内に登録さ
れており且つ未変更領域であった場合、書き込みコマン
ドに含まれる書き込みデータをスチールして当該自身の
キャッシュメモリ内に格納するようにしたキャッシュメ
モリ制御方式。 2、前記他のキャッシュメモリまたはI/Oデバイスの
書き込みデータをスチールしたキャッシュメモリは、前
記スチールした書き込みコマンドに対してスチールした
旨を報告する手段を備えた請求項1記載のキャッシュメ
モリ制御方式。 3、前記演算装置からの書き込み要求の対象領域がキャ
ッシュメモリに登録されており且つ共有未変更(V=1
、S=1、M=0)の場合、書き込みデータを当該キャ
ッシュメモリ内に書き込むと共に、前記共有メモリにも
書き込む手段を備えたキャッシュメモリは、前記書き込
みコマンドに対して前記スチールした旨の報告を受信す
る手段を有し、該書き込みデータがスチールされた時は
書き込み対象領域の状態を共有未変更とし、また、該書
き込みデータがスチールされなかった時は該対象領域の
状態を専有変更済或いは専有未変更とする請求項2記載
のキャッシュメモリ制御方式。 4、前記演算装置から専有変更済状態の領域への書き込
み要求は、前記キャッシュメモリ内にのみ書き込みデー
タを格納し、前記システムバス上に如何なるコマンドも
出力しないようにした請求項3記載のキャッシュメモリ
制御方式。 5、前記演算装置からの書き込み要求の対象領域がキャ
ッシュメモリに登録されており且つ共有未変更(V=1
、S=1、M=0)の場合、書き込みデータを当該キャ
ッシュメモリ内に書き込むと共に、前記共有メモリにも
書き込む手段を有するキャッシュメモリは、前記書き込
みコマンドに対して前記スチールした旨の報告を受信す
る手段、および、該スチール報告に対して受信応答を出
力する手段を有し、該書き込みコマンドをスチールした
ことが報告された場合、その報告を受け取った旨を応答
するようにした請求項3記載のキャッシュメモリ制御方
式。 6、前記書き込みデータをスチールしたキャッシュメモ
リは、前記スチール報告に対する受信応答を受信する手
段を有し、該スチール報告に対する受信応答が当該スチ
ール報告を受け取ったことを示す時は該スチールの対象
となった領域の状態を共有未変更とし、また、該受信応
答がスチール報告を受け取っていないことを示す時は該
スチールの対象となった領域を無効化することによりデ
ータの一致性を高めるようにした請求項5記載のキャッ
シュメモリ制御方式。 7、前記システムは、少なくとも1つのストアスルー方
式のキャッシュメモリをさらに具備し、該ストアスルー
方式のキャッシュメモリは演算装置からの書き込み要求
をシステムバスに反映し、該書き込みコマンドに対して
他のキャッシュメモリからスチールした旨の報告を受信
した時に受信応答として該報告を受信した旨を出力する
ようにした請求項6記載のキャッシュメモリ制御方式。 8、前記複数のキャッシュメモリは、それぞれ演算装置
に設けられた内部キャッシュメモリとして構成されてい
る請求項1記載のキャッシュメモリ制御方式。 9、複数のコピーバック方式のキャッシュメモリ(M1
、M2)と、共有メモリ(CM)とをアドレスバス、デ
ータバスおよびコマンドバスにより接続し、他のキャッ
シュメモリまたはI/Oデバイスの共有メモリへのアク
セスが書き込みであり、書き込み対象領域が自身のキャ
ッシュメモリ内に登録されており且つ未変更領域(V=
1、S=1、M=0)の場合、書き込みコマンドに含ま
れる書き込みデータをスチールして当該自身のキャッシ
ュメモリ内に格納するようにしたシステムに使用するシ
ステムバス(SB)であって、 前記書き込みコマンドに対して前記スチールした旨を報
告するスチール報告信号線(L1)と、該スチール報告
に対して受信応答を出力する受信応答信号線(L2)と
をさらに具備することを特徴とするシステムバス。 10、前記スチール報告信号線は、前記スチールが行わ
れた時に低レベル“L”となるように設定され、また、
前記受信応答信号線は、スチール報告が受信された時に
低レベル“L”となるように設定されている請求項9記
載のシステムバス。
[Claims] 1. Multiple copy-back cache memories (M1
, M2), a shared memory (CM), and a system bus (CM) that connects the plurality of cache memories and the shared memory.
SB), and each cache memory has a valid display flag (V), a changed display flag (M), a shared display flag (S), or invalid, exclusive not changed, exclusive changed, in each internal entry. A cache memory control method in a system that has four flags and addresses indicating four shared and unchanged states, in which an area subject to a write request from an arithmetic unit (CPU1, CPU2) is registered in the cache memory. means for writing write data into the cache memory and also writing the write data into the shared memory when the shared memory is unchanged (V=1, S=1, M=0); and another cache on the system bus. Memory or I/
and means for monitoring access of an O device to the shared memory, the other cache memory or the I/O
Access to the device's shared memory is a write;
A cache memory control method that steals the write data included in the write command and stores it in the own cache memory when the write target area is registered in the own cache memory and is an unmodified area. . 2. The cache memory control method according to claim 1, wherein the cache memory that has stolen the write data of the other cache memory or I/O device is provided with means for reporting that the stolen write command has been stolen. 3. The target area of the write request from the arithmetic unit is registered in the cache memory and shared and unchanged (V=1
, S=1, M=0), a cache memory that is provided with a means for writing write data into the cache memory and also writing to the shared memory sends the steal report in response to the write command. When the write data is stolen, the state of the write target area is changed to shared and unchanged, and when the write data is not stolen, the state of the target area is changed to exclusive or exclusive. 3. The cache memory control method according to claim 2, wherein the cache memory control method is left unchanged. 4. The cache memory according to claim 3, wherein when a write request from the arithmetic unit to the area in the exclusive-change state is performed, the write data is stored only in the cache memory, and no command is output on the system bus. control method. 5. The target area of the write request from the arithmetic unit is registered in the cache memory and shared and unchanged (V=1
, S=1, M=0), a cache memory having means for writing write data into the cache memory and also writing to the shared memory receives the report that the write command has been stolen. and means for outputting a reception response in response to the steal report, and when it is reported that the write command has been stolen, a response is made to the effect that the report has been received. cache memory control method. 6. The cache memory that has stolen the written data has means for receiving a reception response to the steal report, and when the reception response to the steal report indicates that the steal report has been received, the cache memory is subject to the steal. The data consistency is improved by setting the state of the area that has been stolen as shared and unchanged, and invalidating the area that was the subject of the steal when the reception response indicates that no steal report has been received. The cache memory control method according to claim 5. 7. The system further includes at least one store-through type cache memory, and the store-through type cache memory reflects a write request from an arithmetic unit on a system bus, and responds to the write command to another cache memory. 7. The cache memory control system according to claim 6, wherein when receiving a report to the effect that the report has been stolen from the memory, a notification to the effect that the report has been received is outputted as a reception response. 8. The cache memory control method according to claim 1, wherein each of the plurality of cache memories is configured as an internal cache memory provided in an arithmetic unit. 9. Multiple copy-back cache memory (M1
, M2) and a shared memory (CM) are connected by an address bus, a data bus, and a command bus, and access to the shared memory of another cache memory or I/O device is a write, and the write target area is its own. Registered and unmodified area in cache memory (V=
1, S=1, M=0), the system bus (SB) used in a system that steals write data included in a write command and stores it in its own cache memory, A system further comprising: a steal report signal line (L1) that reports the stealing in response to a write command; and a reception response signal line (L2) that outputs a reception response in response to the steal report. bus. 10. The steal report signal line is set to a low level "L" when the steal is performed, and
10. The system bus according to claim 9, wherein the reception response signal line is set to a low level "L" when a steal report is received.
JP2257152A 1990-09-28 1990-09-28 Cache memory control system Pending JPH04137052A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2257152A JPH04137052A (en) 1990-09-28 1990-09-28 Cache memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2257152A JPH04137052A (en) 1990-09-28 1990-09-28 Cache memory control system

Publications (1)

Publication Number Publication Date
JPH04137052A true JPH04137052A (en) 1992-05-12

Family

ID=17302437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2257152A Pending JPH04137052A (en) 1990-09-28 1990-09-28 Cache memory control system

Country Status (1)

Country Link
JP (1) JPH04137052A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011070253A (en) * 2009-09-24 2011-04-07 Mitsubishi Electric Corp Memory control system
JP2011519461A (en) * 2008-04-30 2011-07-07 フリースケール セミコンダクター インコーポレイテッド Cache coherence protocol in data processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011519461A (en) * 2008-04-30 2011-07-07 フリースケール セミコンダクター インコーポレイテッド Cache coherence protocol in data processing system
JP2011070253A (en) * 2009-09-24 2011-04-07 Mitsubishi Electric Corp Memory control system

Similar Documents

Publication Publication Date Title
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
JPH06208508A (en) Cash tag memory
US20030135669A1 (en) DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces
JPH0247756A (en) Reading common cash circuit for multiple processor system
JPH10154100A (en) Information processing system, device and its controlling method
US5511226A (en) System for generating snoop addresses and conditionally generating source addresses whenever there is no snoop hit, the source addresses lagging behind the corresponding snoop addresses
US5987544A (en) System interface protocol with optional module cache
WO1997004392A1 (en) Shared cache memory device
US9183149B2 (en) Multiprocessor system and method for managing cache memory thereof
US6813694B2 (en) Local invalidation buses for a highly scalable shared cache memory hierarchy
JPH0511337B2 (en)
JPH04137052A (en) Cache memory control system
JP3013631B2 (en) Cache memory synchronization method
US6826654B2 (en) Cache invalidation bus for a highly scalable shared cache memory hierarchy
US6826655B2 (en) Apparatus for imprecisely tracking cache line inclusivity of a higher level cache
JPH07508611A (en) Symmetric multiprocessing system with unified environment and distributed system functionality
JPH0387948A (en) Multiprocessor system
JPH03230238A (en) Cache memory control system
JPS63223846A (en) Cache memory
JP2976980B2 (en) Cache control method
JPH01228035A (en) Data processor
JPH04133146A (en) Cache memory control system
KR0145454B1 (en) Multi-processor having distributed shared memory
KR100258027B1 (en) The method and apparatus for transaction controlling of multi-processor system
JPH0415496B2 (en)