[go: up one dir, main page]

JPH04340636A - Local cache consistency keeping device - Google Patents

Local cache consistency keeping device

Info

Publication number
JPH04340636A
JPH04340636A JP3112895A JP11289591A JPH04340636A JP H04340636 A JPH04340636 A JP H04340636A JP 3112895 A JP3112895 A JP 3112895A JP 11289591 A JP11289591 A JP 11289591A JP H04340636 A JPH04340636 A JP H04340636A
Authority
JP
Japan
Prior art keywords
cache
message
consistency
shared data
processing
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
JP3112895A
Other languages
Japanese (ja)
Inventor
Kouji Kashiwade
孝二 柏手
Daisaku Yamane
山根 大作
Tokuichi Miyagawa
宮川 徳一
Hisaya Takahashi
久也 高橋
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.)
Japan Radio Co Ltd
Original Assignee
Japan Radio Co 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 Japan Radio Co Ltd filed Critical Japan Radio Co Ltd
Priority to JP3112895A priority Critical patent/JPH04340636A/en
Publication of JPH04340636A publication Critical patent/JPH04340636A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

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

【0001】0001

【産業上の利用分野】本発明は、密結合型マルチプロセ
ッサシステムにおいて各CPUに対応するキャッシュメ
モリ(ローカルキャッシュ)の一貫性を維持するローカ
ルキャッシュ一貫性維持装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a local cache coherency maintenance device for maintaining the coherence of a cache memory (local cache) corresponding to each CPU in a tightly coupled multiprocessor system.

【0002】0002

【従来の技術】マルチプロセッサシステムは、複数のC
PUを所定の態様で結合させて運用するシステムである
。各CPUの結合態様には各種のものが知られている。 その一類型として、密結合型マルチプロセッサシステム
と呼ばれるシステムがある。
2. Description of the Related Art A multiprocessor system uses multiple C
This is a system that operates by combining PUs in a predetermined manner. Various types of combinations of CPUs are known. One type of such a system is a system called a tightly coupled multiprocessor system.

【0003】図2には、密結合型マルチプロセッサシス
テムの一例構成が示されている。この図に示されるシス
テムは、複数(図では4個)のCPU10がインターコ
ネクションネットワーク12を介して接続されており、
インターコネクションネットワーク12にはさらに主記
憶装置14が接続されている。各CPU10にはローカ
ルキャッシュ(Lc)16が、各Lc16にはローカル
キャッシュ一貫性維持装置(Sn)18が、それぞれ対
応して設けられている。
FIG. 2 shows an example configuration of a tightly coupled multiprocessor system. In the system shown in this figure, a plurality of (four in the figure) CPUs 10 are connected via an interconnection network 12.
A main storage device 14 is further connected to the interconnection network 12 . Each CPU 10 is provided with a local cache (Lc) 16, and each Lc 16 is provided with a local cache consistency maintenance device (Sn) 18, respectively.

【0004】Lc16は、主記憶装置14から対応する
CPU10で必要なデータをキャッシングするキャッシ
ュメモリである。主記憶装置14上に記憶されておりい
ずれのCPU10によっても利用可能なデータは、共有
データと呼ばれる。従って、ある共有データをCPU1
0が書き替える場合、書き替えられる共有データが他の
Lc16にもキャッシングされている可能性がある。こ
のとき、当該他のLc16上の共有データを無効とし、
あるいは同様の書き替えを行って、システムに属するL
c16の一貫性を維持する必要がある。この一貫性維持
を実現する処理を一貫性処理といい、Sn18はこれを
実行する装置である。
[0004] Lc16 is a cache memory that caches data required by the corresponding CPU 10 from the main storage device 14. Data stored on the main storage device 14 and usable by any CPU 10 is called shared data. Therefore, if some shared data is
When 0 is rewritten, there is a possibility that the shared data to be rewritten is also cached in other Lc16. At this time, the shared data on the other Lc16 is invalidated,
Or, by performing similar rewriting, the L belonging to the system
Need to maintain c16 consistency. The process for realizing this consistency maintenance is called consistency process, and Sn18 is a device that executes this process.

【0005】一貫性処理は、次のような処理内容を含む
[0005] Consistency processing includes the following processing contents.

【0006】例えば、CPU10−1が共有データに対
する書き込み行った場合、対応するSn18−1は、イ
ンターコネクションネットワーク12を介して他のSn
18−2、18−3及び18−4にメッセージを送信す
る。このメッセージは、書き替えられる共有データのア
ドレス等の情報を含む。このアドレスは、主記憶装置1
4上でのアドレスを示している。
For example, when the CPU 10-1 writes to shared data, the corresponding Sn 18-1 writes data to other Sns via the interconnection network 12.
Messages are sent to 18-2, 18-3 and 18-4. This message includes information such as the address of the shared data to be rewritten. This address is main memory 1
It shows the address on 4.

【0007】他のSn18−2、18−3及び18−4
に対しこのメッセージが供給されると、メッセージを受
け取ったSn18−2、18−3及び18−4はそれぞ
れ対応するLc16−2、16−3または16−4にキ
ャッシングされているデータのアドレスと、メッセージ
に含まれるアドレスとを比較する。比較の結果、書き替
えられる共有データがLc16−2、16−3または1
6−4にキャッシングされていると認められる場合には
、対応するSn18−2、18−3または18−4はL
c16−2、16−3または16−4上にキャッシング
されている共有データを無効とし、あるいは同様に書き
替える。この書き換えは、例えばインターコネクション
ネットワーク12を介してメッセージとして送られた書
き込みデータにより行われる。
Other Sn18-2, 18-3 and 18-4
When this message is supplied to the Sn 18-2, 18-3, and 18-4 that received the message, the addresses of the data cached in the corresponding Lc 16-2, 16-3, or 16-4, and Compare with the address included in the message. As a result of the comparison, the shared data to be rewritten is Lc16-2, 16-3 or 1.
6-4, the corresponding Sn18-2, 18-3 or 18-4 is L
The shared data cached on c16-2, 16-3 or 16-4 is invalidated or similarly rewritten. This rewriting is performed, for example, using write data sent as a message via the interconnection network 12.

【0008】このように各Sn18が動作することで、
システムにおけるLc16の一貫性が維持されることに
なり、各CPU10は最新の共有データを利用すること
ができる。なお、他のLc16にキャッシングされてい
ない共有データの書き替えの場合メッセージを送信しな
いよう、他のLc16にキャッシングされているか否か
等の情報をキャッシングに係るデータに付加するように
すると処理の効率化に好適である。
[0008] By operating each Sn18 in this way,
The consistency of Lc16 in the system is maintained, and each CPU 10 can utilize the latest shared data. In addition, in order to avoid sending messages when rewriting shared data that is not cached in other Lc16s, processing efficiency can be improved by adding information such as whether or not it is cached in other Lc16s to the data related to caching. It is suitable for

【0009】一方、このようなシステムでは、キャッシ
ュミス対策としてキャッシュ置き換えが実行される。キ
ャッシュミスとはCPUによるキャッシングされていな
いデータへのアクセスをいい、CPU10によるLc1
6へのアクセスがキャッシングされていないデータに対
して行われた場合にキャッシュ置き換えが実行される。 キャッシュ置き換えとは、キャッシュミスしたデータを
主記憶装置14からLc16に取り込む処理をいう。通
常、キャッシュ置き換えは、ブロック置き換えという手
法により実行される。
On the other hand, in such a system, cache replacement is executed as a countermeasure against cache misses. A cache miss refers to an access by the CPU to data that has not been cached.
Cache replacement is executed when access to 6 is made to data that is not cached. Cache replacement refers to the process of fetching cache-missed data from the main storage device 14 to the Lc 16. Typically, cache replacement is performed using a technique called block replacement.

【0010】ブロック置き換えとは、キャッシュミスし
たデータのみでなくその付近のアドレスのデータをもL
c16に取り込む手法である。「付近」とは、キャッシ
ュミスしたデータの上位所定ビットの値が同一のデータ
群をいい、このデータ群がブロックである。従って、ブ
ロックの大きさは当該ビット数に応じて定まるものであ
る。
[0010] Block replacement means not only the cache miss data but also the data at the nearby address.
This is a method of importing it into c16. "Nearby" refers to a data group in which the value of a predetermined high-order bit of data that has caused a cache miss is the same, and this data group is a block. Therefore, the size of a block is determined according to the number of bits.

【0011】従来は、一貫性処理とキャッシュ・ミスに
よるブロック置き換えを全く関連のない処理として考え
、各Sn18は、一貫性処理のメッセージを受信すると
、そのメッセージにより示される共有データを、対応す
るLc16がキャッシングしているならば、たとえブロ
ック置き換えにより、その共有データの最新の値を主記
憶からLc16へ読み込んでくることが確定している場
合でも、Lc16上の共有データを無効とするもしくは
同様の書き込みを行うといった処理を行っていた。
Conventionally, consistency processing and block replacement due to a cache miss are considered to be completely unrelated processes, and when each Sn 18 receives a message for consistency processing, it transfers the shared data indicated by the message to the corresponding Lc 16. is caching, even if it is certain that the latest value of the shared data will be read from main memory to Lc16 by block replacement, it is necessary to invalidate the shared data on Lc16 or do something similar. It was performing processing such as writing.

【0012】0012

【発明が解決しようとする課題】このように、従来のシ
ステムでは、所定の状態が生起したときに一貫性処理、
キャッシュ置き換えが実行されていた。しかし、両処理
を実行すべき状態が同時に生じた場合、不要な一貫性処
理が実行されることがある。
[Problems to be Solved by the Invention] As described above, in conventional systems, when a predetermined state occurs, consistency processing is performed.
Cache replacement was being performed. However, if a situation in which both processes should be executed occurs at the same time, an unnecessary consistency process may be executed.

【0013】すなわち、あるCPUによる対応するLc
へのアクセスがキャッシュミスを発生させた場合、キャ
ッシュ置き換えを行う必要があり、通常、そのための待
ち状態に入る。このとき、他のCPUにより共有データ
の書き替えが実行されたとするならば、当該他のCPU
に対応するSnからは一貫性処理を要求するメッセージ
が送信される。従来は、キャッシュ置き換えが予定され
ており、最新の共有データをLc内に読み込むことが決
まっている場合にも、このメッセージに対応して更新等
の一貫性処理が実行されていたため、不要な一貫性処理
が実行されることがあった。すなわち、Lcに対する不
要なアクセスが発生し、不要な一貫性処理に伴うCPU
の動作停止が発生していた。
That is, the corresponding Lc by a certain CPU
If an access to causes a cache miss, it is necessary to replace the cache, and typically enters a wait state for this purpose. At this time, if the shared data is rewritten by another CPU, the other CPU
A message requesting consistency processing is sent from Sn corresponding to . Conventionally, even when cache replacement was scheduled and the latest shared data was decided to be read into the Lc, consistency processing such as updating was executed in response to this message, resulting in unnecessary consistency. Sexual harassment was sometimes carried out. In other words, unnecessary access to Lc occurs, and CPU
operation stoppage occurred.

【0014】本発明は、このような問題点を解決するこ
とを課題としてなされたものであり、キャッシュ置き換
え待ち状態でかつ、置き換えられるブロックがメッセー
ジで示された共有データを含み、置き換えにより該当す
る共有データの書き込み後の値を主記憶から読み込む場
合には、一貫性処理を実行せず、効率的処理を実現する
ことを目的とする。
[0014] The present invention has been made with the aim of solving such problems, and the present invention has been made with the aim of solving such problems. The purpose is to achieve efficient processing without performing consistency processing when reading the value of shared data after it has been written from main memory.

【0015】[0015]

【課題を解決するための手段】このような目的を達成す
るために、本発明のSnは、他のSnからの一貫性処理
を求めるメッセージが受信されたときに、対応するLc
がキャッシュ置き換え待ち状態であるか否かを判断し、
置き換え待ち状態でない場合には一貫性処理を実行し、
置き換え待ち状態である場合には置き換えられるブロッ
クとメッセージで示された書き込まれた共有データのア
ドレスを比較し、共有データがブロック内に含まれるな
らば一貫性処理を実行しないことを特徴とする。また、
メッセージ受信後にメッセージにより示される共有デー
タを主記憶より読み込んだ場合には、メッセージを送信
したSnに対応するCPUによる書き込みは反映された
値を読み込むことが保障される。
[Means for Solving the Problems] In order to achieve such an object, the Sn of the present invention is configured to automatically transmit the corresponding Lc when a message requesting consistency processing is received from another Sn.
Determine whether or not is waiting for cache replacement,
If it is not in the replacement waiting state, execute consistency processing,
If the block is in the replacement waiting state, the block to be replaced is compared with the address of the written shared data indicated in the message, and if the shared data is included in the block, consistency processing is not executed. Also,
When the shared data indicated by the message is read from the main memory after receiving the message, writing by the CPU corresponding to Sn that sent the message is guaranteed to read the reflected value.

【0016】[0016]

【作用】本発明においては、他のSnからメッセージが
送信されたときに書き込まれた共有データを含むキャッ
シュ置き換え待ち状態であれば、一貫性を行わない。従
って、不要な一貫性処理を減少させる。
[Operation] In the present invention, consistency is not performed if the cache is in a state of waiting for replacement that includes shared data written when a message was sent from another Sn. Therefore, unnecessary consistency processing is reduced.

【0017】[0017]

【実施例】以下、本発明の好適な実施例について図面に
基づき説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described below with reference to the drawings.

【0018】本発明のSnは、従来と同様の構成のシス
テムに適用できる。従って、例えば図2に示されるよう
な構成のシステムにも適用できるため、以下、図2と同
一構成のシステムに使用されることを仮定しかつ同一の
符号を用いて、実施例を説明する。
The Sn of the present invention can be applied to a system having the same configuration as the conventional one. Therefore, since it can be applied to a system having the configuration as shown in FIG. 2, for example, the embodiment will be described below assuming that it is used in a system having the same configuration as in FIG. 2 and using the same reference numerals.

【0019】図1には、本発明の一実施例に係るSnの
構成が示されている。このSn18は、メッセージ送信
部20、メッセージ受信部22、キャッシュ制御部24
及びアドレス比較部26を備える構成である。
FIG. 1 shows the structure of Sn according to an embodiment of the present invention. This Sn18 includes a message transmitter 20, a message receiver 22, a cache controller 24
and an address comparison section 26.

【0020】メッセージ送信部20は、対応するCPU
10が主記憶装置14上の共有データの書き替えを実行
した場合に書き替え開始と同時またはその後の所定タイ
ミングでメッセージを送信する。これにより、メッセー
ジ受信後にメッセージにより示される共有データを主記
憶より読み込んだ場合、メッセージに係わる書き込みが
反映された値を読み込むことが保障される。メッセージ
受信部22は、他のSn18から送信されるメッセージ
を受信する。アドレス比較部26は、受信したメッセー
ジに含まれる書き替えに係るアドレスと、キャッシュ置
き換えに係るブロックアドレスと、を比較する。キャッ
シュ制御部24は、一貫性処理等の必要が生じた場合に
Lc16をアクセスする。またキャッシュ及びCPUを
監視し、キャッシュが置き換え待ちの状態であるか否か
判定する。
[0020] The message transmitting section 20 has a corresponding CPU
10 executes rewriting of the shared data on the main storage device 14, the message is transmitted at the same time as the rewriting starts or at a predetermined timing thereafter. This ensures that when the shared data indicated by the message is read from the main memory after receiving the message, a value that reflects the writing related to the message will be read. The message receiving unit 22 receives messages transmitted from other Sn18. The address comparison unit 26 compares the address related to rewriting included in the received message and the block address related to cache replacement. The cache control unit 24 accesses the Lc16 when a need for consistency processing or the like arises. It also monitors the cache and CPU, and determines whether the cache is in a state of waiting for replacement.

【0021】本実施例において特徴的なことは、キャッ
シュ置き換えの必要と一貫性処理の必要が同時に生じた
場合に、一貫性処理を行わない場合があることである。 すなわち、他のSnからメッセージが送信された場合に
は、キャッシュ置き換え待ち状態であるか否かを判断し
、ある場合にはアドレス比較部26を利用し、ブロック
・アドレスと共有データのアドレスを比較し、ブロック
内にメッセージで示された共有データが含まれるか否か
調べ、含まれるならば一貫性処理を行わない。ない場合
には、従来と同様の手法で一貫性処理を実行する。
A feature of this embodiment is that if the need for cache replacement and the need for consistency processing occur at the same time, consistency processing may not be performed. That is, when a message is sent from another Sn, it is determined whether the cache is in a waiting state for replacement or not, and if so, the address comparison unit 26 is used to compare the block address and the address of the shared data. Then, it is checked whether the shared data indicated by the message is included in the block, and if it is, no consistency processing is performed. If not, consistency processing is performed using the same method as before.

【0022】これにより、本実施例においては、不要な
一貫性処理が行われることが少なくなり、Sn18によ
るLc16へのアクセスが少なくなる。さらに、一貫性
処理を行う際にCPU10によるLc16のアクセスを
防ぐためCPU10が動作停止するが、この動作停止の
発生頻度も少なくなる。従って、システムの効率、性能
が向上する。
As a result, in this embodiment, unnecessary consistency processing is less likely to be performed, and accesses to Lc16 by Sn18 are reduced. Further, when performing consistency processing, the CPU 10 stops operating to prevent the CPU 10 from accessing the Lc 16, but the frequency with which this operation stops occurs is also reduced. Therefore, efficiency and performance of the system are improved.

【0023】[0023]

【発明の効果】以上説明したように、本発明によれば、
書き込まれた共有データを含むブロックのキャッシュ置
き換え待ち状態の場合に一貫性処理が実行されず、不要
なLcアクセスが減少するため、システム性能が向上す
る。
[Effects of the Invention] As explained above, according to the present invention,
Consistency processing is not executed when a block containing written shared data is waiting for cache replacement, and unnecessary Lc accesses are reduced, resulting in improved system performance.

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

【図1】本発明の一実施例に係るローカルキャッシュ一
貫性維持装置の構成を示す図である。
FIG. 1 is a diagram showing the configuration of a local cache coherency maintenance device according to an embodiment of the present invention.

【図2】密結合型マルチプロセッサシステムの一例構成
を示す図である。
FIG. 2 is a diagram showing an example configuration of a tightly coupled multiprocessor system.

【符号の説明】[Explanation of symbols]

10−1,…10−4  CPU 12  インターコネクションネットワーク14  主
記憶装置 16−1,…16−4  ローカルキャッシュ(Lc)
18,18−1,…18−4  ローカルキャッシュ一
貫性維持装置(Sn) 20  メッセージ送信部 22  メッセージ受信部 24  キャッシュ制御部 26  アドレス比較部
10-1,...10-4 CPU 12 Interconnection network 14 Main storage device 16-1,...16-4 Local cache (Lc)
18, 18-1,...18-4 Local cache coherency maintenance device (Sn) 20 Message transmitter 22 Message receiver 24 Cache controller 26 Address comparator

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】主記憶装置上の共有データが複数のローカ
ルキャッシュにより緩衝記憶され、対応するCPUにお
いて利用されるシステム内で、一貫性処理を実行するよ
う、各ローカルキャッシュ毎に設けられたローカルキャ
ッシュ一貫性維持装置において、一貫性処理を求めるメ
ッセージ到着後にメッセージにより示された共有データ
を主記憶より読み込んだ場合には、メッセージに係わる
書き込みが反映された値を読み込むことを保障すること
により、他のローカルキャッシュ一貫性維持装置からの
一貫性処理を求めるメッセージが受信されたときに、対
応するローカルキャッシュがキャッシュ置き換え待ち状
態であるか否かを判断し、置き換え待ち状態でない場合
には一貫性処理を実行し、置き換え待ち状態である場合
で置き換えられるブロックがメッセージにより示された
共有データを含むときには一貫性処理を実行せず、含ま
ない時には一貫性処理を実行することを特徴とするロー
カルキャッシュ一貫性維持装置。
Claim 1: In a system where shared data on the main memory is buffered by a plurality of local caches and used by the corresponding CPU, a local cache provided for each local cache executes consistency processing. In the cache coherency maintenance device, when the shared data indicated by the message is read from the main memory after the arrival of a message requesting coherence processing, by ensuring that a value that reflects the write related to the message is read, When a message requesting consistency processing is received from another local cache consistency maintenance device, it is determined whether the corresponding local cache is in the cache replacement waiting state, and if it is not in the cache replacement waiting state, the consistency processing is performed. A local cache that executes processing and executes consistency processing when the block to be replaced includes shared data indicated by a message when the block is in a replacement wait state, and executes consistency processing when the block does not include shared data. Consistency maintainer.
JP3112895A 1991-05-17 1991-05-17 Local cache consistency keeping device Pending JPH04340636A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3112895A JPH04340636A (en) 1991-05-17 1991-05-17 Local cache consistency keeping device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3112895A JPH04340636A (en) 1991-05-17 1991-05-17 Local cache consistency keeping device

Publications (1)

Publication Number Publication Date
JPH04340636A true JPH04340636A (en) 1992-11-27

Family

ID=14598197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3112895A Pending JPH04340636A (en) 1991-05-17 1991-05-17 Local cache consistency keeping device

Country Status (1)

Country Link
JP (1) JPH04340636A (en)

Similar Documents

Publication Publication Date Title
CA1306312C (en) Write-shared cache circuit for multiprocessor system
US5740400A (en) Reducing cache snooping overhead in a multilevel cache system with multiple bus masters and a shared level two cache by using an inclusion field
US5652859A (en) Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
US7814279B2 (en) Low-cost cache coherency for accelerators
US6088769A (en) Multiprocessor cache coherence directed by combined local and global tables
US5537575A (en) System for handling cache memory victim data which transfers data from cache to the interface while CPU performs a cache lookup using cache status information
US6519685B1 (en) Cache states for multiprocessor cache coherency protocols
US5659710A (en) Cache coherency method and system employing serially encoded snoop responses
US6651115B2 (en) DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces
KR100267029B1 (en) Memory update history storing apparatus and method
JPH06243035A (en) Generalized shared memory in cluster architecture for computer system
US7117312B1 (en) Mechanism and method employing a plurality of hash functions for cache snoop filtering
US7325102B1 (en) Mechanism and method for cache snoop filtering
US5940860A (en) Methods and apparatus for substantially memory-less coherence transformer for connecting computer node coherence domains
JPH07152647A (en) Shared memory multiprocessor
JPH10232832A (en) Overlap tag system maintaining method
US7797495B1 (en) Distributed directory cache
JPH04340636A (en) Local cache consistency keeping device
JPH03230238A (en) Cache memory control system
JPH0744459A (en) Cache control method and cache control device
JP3782178B2 (en) Information processing device
JP3302905B2 (en) Bus interface adapter and computer system
JP2689899B2 (en) Information processing device
KR0138585B1 (en) Shared memory multiprocessor using spilt transaction bus
JPH11212869A (en) Cache memory control method and multiprocessor system using the control method