JPH04350743A - Cache memory - Google Patents

Cache memory

Info

Publication number
JPH04350743A
JPH04350743A JP3124101A JP12410191A JPH04350743A JP H04350743 A JPH04350743 A JP H04350743A JP 3124101 A JP3124101 A JP 3124101A JP 12410191 A JP12410191 A JP 12410191A JP H04350743 A JPH04350743 A JP H04350743A
Authority
JP
Japan
Prior art keywords
processor
cache memory
lock
lock bit
cache
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
JP3124101A
Other languages
Japanese (ja)
Inventor
Toyohito Hatashita
畑下 豊仁
Minoru Shiga
稔 志賀
Hitoshi Ishida
仁志 石田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3124101A priority Critical patent/JPH04350743A/en
Publication of JPH04350743A publication Critical patent/JPH04350743A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

PURPOSE:To reduce the use ratio of a common bus in a close-coupling multiprocessor system where plural processors having peculiar cache memories are coupled to a shared memory through the common bus. CONSTITUTION:When a processor reads out a lock bit after failing to acquire a snoop lock, a register 23 is set by the processor. If a miss occurs in a comparator 18 in this state, a control circuit 25 detects it to execute an undividable cycle. When the processor starts the undividable cycle, it is detected by an undividable cycle detector 24, and the register 23 is reset, and the control circuit 25 terminates the control of the undividable cycle.

Description

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

【0001】0001

【産業上の利用分野】この発明は、複数のプロセッサが
共有バスを介して共有メモリと結合される密結合型マル
チプロセッサシステムにおいて、各プロセッサに所有さ
れ、プロセッサと共有バスとの間に接続されるキャッシ
ュメモリに関するものである。
[Field of Industrial Application] This invention relates to a tightly coupled multiprocessor system in which a plurality of processors are coupled to a shared memory via a shared bus. This is related to cache memory.

【0002】0002

【従来の技術】従来のキャッシュメモリを用いた密結合
型マルチプロセッサシステムの構成を図6に基づいて説
明する。図6は従来の密結合型マルチプロセッサシステ
ムを示す構成図である。図6において、1〜4はプロセ
ッサ、5〜8はそれぞれプロセッサ1〜4に固有に接続
されているキャッシュメモリ、9は共有バス10を介し
てキャッシュメモリ5〜8と接続されている共有メモリ
である。なお、キャッシュメモリ5〜8はいずれも同じ
構成である。
2. Description of the Related Art The configuration of a conventional tightly coupled multiprocessor system using a cache memory will be described with reference to FIG. FIG. 6 is a block diagram showing a conventional tightly coupled multiprocessor system. In FIG. 6, 1 to 4 are processors, 5 to 8 are cache memories that are uniquely connected to the processors 1 to 4, respectively, and 9 is a shared memory that is connected to the cache memories 5 to 8 via a shared bus 10. be. Note that the cache memories 5 to 8 all have the same configuration.

【0003】次に、従来の密結合型マルチプロセッサシ
ステムの動作を図6を参照しながら説明する。キャッシ
ュメモリ5〜8は、例えば丸善株式会社出版の高橋義造
他著『並列処理機構』の180頁〜199頁に概説され
ているように、それぞれのプロセッサ1〜4及び共有バ
ス10を監視し、プロセッサ1〜4及び共有バス10と
の整合性をとり、所定の手順(キャッシュコヒーレンシ
ープロトコル)にしたがって動作する。キャッシュコヒ
ーレンシープロトコルは、例えば『コンピュータ』.1
990.6(COMPUTER,June,1990)
のガリー  グランキ(Gary Graunke)、
 シュリーカント サッカー(Sh−reekant 
Thakkar)著『共有メモリ型マルチプロセッサの
同期アルゴリズム』(Sy−nchronizatio
n Algorithms for Shared−M
emory Multiprocessores)(以
下、文献Bという。)に示されている。なお、ここでは
プロセッサ1〜4の共有バス10に対する優先権は対等
である。
Next, the operation of a conventional tightly coupled multiprocessor system will be explained with reference to FIG. The cache memories 5 to 8 monitor the respective processors 1 to 4 and the shared bus 10, for example, as outlined in "Parallel Processing Mechanism" by Yoshizo Takahashi et al. published by Maruzen Co., Ltd., pages 180 to 199. , the processors 1 to 4 and the shared bus 10, and operates according to a predetermined procedure (cache coherency protocol). Cache coherency protocols are used, for example, in ``computer''. 1
990.6 (COMPUTER, June, 1990)
Gary Graunke,
Sh-reekant Soccer
``Synchronization Algorithm for Shared Memory Multiprocessors''
n Algorithms for Shared-M
(hereinafter referred to as Document B). Note that here, the processors 1 to 4 have equal priority over the shared bus 10.

【0004】密結合型マルチプロセッサシステムにおい
ては、プロセッサ1〜4は共有資源を使用するに当たっ
て排他制御を行う必要がある。排他制御の最下位レベル
のアルゴリズムにスピンロックと呼ばれるのもがある。 スピンロックとは、共有資源に存在するロックビットを
ロックするか又はクリアするかによって共有資源の使用
の可否を決定する排他制御である。ロックビットがクリ
アされていれば、スピンロックは解放状態であり、共有
資源は使用されていないので、いずれかのプロセッサは
ロックビットをロックして共有資源を使用する権利を得
る(スピンロックの獲得に成功)。ロックビットがロッ
クされていれば、スピンロックはいずれかのプロセッサ
によって獲得されている状態であり、共有資源は使用さ
れているので、他のプロセッサは共有資源を使用する権
利を得ることができない(スピンロックの獲得に失敗)
In a tightly coupled multiprocessor system, processors 1 to 4 must exercise exclusive control when using shared resources. The lowest level exclusive control algorithm is called spinlock. A spinlock is exclusive control that determines whether a shared resource can be used by locking or clearing a lock bit present in the shared resource. If the lock bit is clear, the spinlock is free and the shared resource is not in use, so any processor has the right to lock the lock bit and use the shared resource (acquiring the spinlock ). If the lock bit is locked, the spinlock has been acquired by one of the processors, the shared resource is being used, and no other processor can obtain the right to use the shared resource ( (Failed to acquire spinlock)
.

【0005】なお、スピンロックは通常ビジーウエイト
で制御され、スピンロックの獲得及び解放は通常不可分
サイクルで実行される。また、不可分サイクルとは、例
えばCQ出版社の『MC68020ユーザーズ・マニュ
アル』54〜58頁、216〜217頁、310頁ある
いは文献Bの60〜69頁に示されているように、プロ
セッサが、スピンロックを確実に行うために、共有バス
へのバスサイクルを中断せずに、共有資源からロックビ
ットを読み出し、論理演算を行い、そして書き込み行う
プロセッササイクルのことをいう。このとき、プロセッ
サから不可分サイクルを示す信号が出力される。
[0005] Spinlocks are usually controlled by busy waits, and acquisition and release of spinlocks are usually executed in indivisible cycles. In addition, an indivisible cycle is a cycle in which a processor spins A processor cycle that reads, performs a logical operation, and writes a lock bit from a shared resource without interrupting the bus cycle to the shared bus to ensure locking. At this time, a signal indicating an indivisible cycle is output from the processor.

【0006】ここで、従来のキャッシュメモリの構成を
図7に基づいて説明する。図7は従来のキャッシュメモ
リを示すブロック図である。図7において、11はキャ
ッシュデータメモリ、12はタグメモリ、13はキャッ
シュデータメモリとタグメモリ12とに接続され、かつ
プロセッサ制御バスaを通じてプロセッサに接続され、
かつ共有バス制御バスbを通じて共有バスに接続されて
いる制御回路である。
[0006] Here, the configuration of a conventional cache memory will be explained based on FIG. 7. FIG. 7 is a block diagram showing a conventional cache memory. In FIG. 7, 11 is a cache data memory, 12 is a tag memory, 13 is connected to the cache data memory and the tag memory 12, and is connected to the processor through a processor control bus a,
It is also a control circuit connected to the shared bus via a shared bus control bus b.

【0007】14はプロセッサアドレスバスcを通じて
プロセッサに接続され、かつ共有バスアドレスバスdを
通じて共有バスに接続されているバッファ、15は入力
側がプロセッサアドレスバスc及び共有バスアドレスバ
スdを通じてプロセッサ及び共有バスに接続され、かつ
出力側がタグメモリ12に接続されている選択器、16
は入力側がプロセッサアドレスバスc及び共有バスアド
レスバスdを通じてプロセッサ及び共有バスに接続され
ている選択器、17は入力側が選択器16の出力側に接
続され、かつ出力側がタグメモリ12に接続されている
バッファ、18は入力側がタグメモリ12と選択器16
の出力側とバッファ17とに接続されている比較器、1
9は入力側がプロセッサアドレスバスc及び共有バスア
ドレスバスdを通じてプロセッサ及び共有バスに接続さ
れ、かつ出力側がキャッシュデータメモリ11に接続さ
れている選択器である。
A buffer 14 is connected to the processor through the processor address bus c and a shared bus through the shared bus address bus d; and 15 is a buffer whose input side is connected to the processor and the shared bus through the processor address bus c and the shared bus address bus d. a selector 16 connected to the tag memory 12 and having an output side connected to the tag memory 12;
17 is a selector whose input side is connected to the processor and the shared bus through a processor address bus c and a shared bus address bus d; 17 is a selector whose input side is connected to the output side of the selector 16 and whose output side is connected to the tag memory 12; The input side of the buffer 18 is the tag memory 12 and the selector 16.
a comparator 1 connected to the output of the buffer 17 and to the buffer 17;
Reference numeral 9 denotes a selector whose input side is connected to the processor and the shared bus through the processor address bus c and the shared bus address bus d, and whose output side is connected to the cache data memory 11.

【0008】20はキャッシュデータメモリ11に接続
され、かつプロセッサデータバスhを通じてプロセッサ
に接続されているトランシーバ、21はキャッシュデー
タメモリ11に接続され、かつ共有バスデータバスiを
通じて共有バスに接続されているトランシーバ、22は
入力側が制御回路13に接続され、かつ出力側がタグメ
モリ12に接続されているバッファである。なお、選択
器15、16及び19、バッファ14、17及び22並
びにトランシーバ20及び21と制御回路13とを接続
する制御線は省略されている。
20 is a transceiver connected to the cache data memory 11 and to the processor through a processor data bus h; 21 is a transceiver connected to the cache data memory 11 and to the shared bus through a shared bus data bus i; The transceiver 22 is a buffer whose input side is connected to the control circuit 13 and whose output side is connected to the tag memory 12. Note that control lines connecting the selectors 15, 16, and 19, the buffers 14, 17, and 22, and the transceivers 20 and 21 to the control circuit 13 are omitted.

【0009】次に、従来のキャッシュメモリの動作につ
いて図7を参照しながら説明する。キャッシュデータメ
モリ11は共有メモリのデータを記憶している。また、
タグメモリ12は、キャッシュデータメモリ11に記憶
されているデータ(キャッシュエントリ)のアドレス情
報と、キャッシュエントリが有効か無効かを示す制御ビ
ットを保持している。
Next, the operation of a conventional cache memory will be explained with reference to FIG. Cache data memory 11 stores data in the shared memory. Also,
The tag memory 12 holds address information of data (cache entry) stored in the cache data memory 11 and a control bit indicating whether the cache entry is valid or invalid.

【0010】制御回路13は、常時、プロセッサ制御バ
スaと共有バス制御バスbを監視し、プロセッサからの
アクセスをプロセッサ制御バスaを通じて検出し、共有
バス制御バスbを通じて共有バスをアクセスし、また他
プロセッサによる共有バス上のアクセスを検出する。制
御回路13は、プロセッサ又は共有バスからのアクセス
を検出したときに、バッファ14及び選択器15を制御
し、制御線eによってタグメモリ12が保持しているア
ドレス情報及び制御ビットを比較器18に読み出す。ま
た、制御回路13によって選択器16及びバッファ17
が制御され、プロセッサアドレスバスcを通じてプロセ
ッサから又は共有バスアドレスバスdを通じて共有バス
から、アクセスの対象になっているアドレスが比較器1
8に入力される。
The control circuit 13 constantly monitors the processor control bus a and the shared bus control bus b, detects accesses from the processor through the processor control bus a, accesses the shared bus through the shared bus control bus b, and Detects accesses on the shared bus by other processors. When the control circuit 13 detects an access from the processor or the shared bus, it controls the buffer 14 and the selector 15, and sends the address information and control bits held in the tag memory 12 to the comparator 18 via the control line e. read out. Also, the control circuit 13 controls the selector 16 and the buffer 17.
is controlled and the address to be accessed from the processor via the processor address bus c or from the shared bus via the shared bus address bus d is determined by the comparator 1.
8 is input.

【0011】比較器18において、アドレス情報とアク
セスの対象になっているアドレスとが比較される。比較
の結果、これらが一致し、かつ制御ビットが有効を示し
ている場合はヒットであり、このときには比較器18は
ヒット判定線fを有効にする。また、これらが一致し、
かつ制御ビットが有効を示している場合以外はミスであ
り、このときには比較器18はヒット判定線fを無効に
する。
The comparator 18 compares the address information with the address to be accessed. As a result of the comparison, if they match and the control bit indicates valid, it is a hit, and in this case the comparator 18 makes the hit determination line f valid. Also, these match,
If the control bit does not indicate valid, it is a miss, and in this case, the comparator 18 invalidates the hit determination line f.

【0012】制御回路13は、選択器19とトランシー
バ20及び21を制御し、ヒット判定線fの有効又は無
効にしたがって、共有バス制御バスbを通じて共有バス
をアクセスし、制御線gによってキャッシュデータメモ
リ11に書き込み又は読み出しを行う。これにより、プ
ロセッサと共有バスとの間でのデータのやり取りが、プ
ロセッサデータバスh、トランシーバ20、キャッシュ
データメモリ11、トランシーバ21及び共有バスデー
タバスiを通じて行われる。
The control circuit 13 controls the selector 19 and the transceivers 20 and 21, accesses the shared bus through the shared bus control bus b according to the validity or invalidity of the hit determination line f, and accesses the cache data memory through the control line g. 11 for writing or reading. Thereby, data is exchanged between the processor and the shared bus through the processor data bus h, the transceiver 20, the cache data memory 11, the transceiver 21, and the shared bus data bus i.

【0013】そして、制御回路13は、書き込み又は読
出しが行われたキャッシュエントリを有効化又は無効化
する情報を生成し、生成制御ビット線jを通じてバッフ
ァ22に出力し、タグメモリ12の制御ビットに制御線
eを通じて有効又は無効を書き込み、必要に応じて共有
バス制御バスbを通じて共有バスをアクセスする。
Then, the control circuit 13 generates information for validating or invalidating the written or read cache entry, outputs it to the buffer 22 through the generation control bit line j, and inputs the information to the control bit of the tag memory 12. Enable or disable is written through the control line e, and the shared bus is accessed through the shared bus control bus b as necessary.

【0014】このような従来のキャッシュメモリを密結
合型マルチプロセッサシステムに用いてスピンロックを
行うと、スピンロックの獲得に失敗したプロセッサはス
ピンロックの獲得に成功するまで、共有バスをアクセス
し続ける。このため、スピンロックは共有バスの負荷を
高くするという欠点があった。そこで、スピンロックが
改良され、スヌープロックと呼ばれるアルゴリズムがあ
る。
[0014] When such a conventional cache memory is used in a tightly coupled multiprocessor system to perform a spinlock, a processor that fails to acquire a spinlock continues to access the shared bus until it succeeds in acquiring a spinlock. . For this reason, spinlocks have the disadvantage of increasing the load on the shared bus. Therefore, spinlock has been improved and there is an algorithm called snooplock.

【0015】次に、従来のキャッシュメモリが接続され
た場合のスヌープロックの動作を図8を参照しながら説
明する。図8は、例えば文献Bに示されている従来のキ
ャッシュメモリが接続されたプロセッサのスヌープロッ
クの動作を示すフローチャートであり、同図(a)はス
ヌープロック獲得操作、同図(b)はスヌープロック解
放操作を示す。
Next, the operation of the snoop lock when a conventional cache memory is connected will be explained with reference to FIG. FIG. 8 is a flowchart showing the snoop lock operation of a processor connected to a conventional cache memory, as shown in Document B, for example, in which (a) shows the snoop lock acquisition operation, and (b) shows the snoop lock operation. Indicates a lock release operation.

【0016】(a)  スヌープロック獲得操作ステッ
プS1において、プロセッサは不可分サイクルを開始し
、ロックビットを読み出す。ステップS2において、プ
ロセッサは、ロックビットに書き込みを行ってロックビ
ットをロック状態にし、不可分サイクルを終了する。ス
テップS3において、プロセッサは、読み出したロック
ビットがロック状態かどうかチェックし、ロックビット
がロック状態であり、スヌープロックが他プロセッサに
より獲得されていれば(YESの場合)、ステップS4
に進む。
(a) Snoop Lock Acquisition Operation In step S1, the processor starts an atomic cycle and reads the lock bit. In step S2, the processor writes to the lock bit to put it into a locked state and ends the atomic cycle. In step S3, the processor checks whether the read lock bit is in a locked state, and if the lock bit is in a locked state and the snoop lock has been acquired by another processor (in the case of YES), step S4
Proceed to.

【0017】ステップS4において、プロセッサは、ロ
ックビットを通常の読み出しによって読み出す。このと
き、プロセッサのキャッシュメモリにおいてロックビッ
トを含むキャッシュエントリができる。ステップS5に
おいて、プロセッサは読み出したロックビットがロック
状態かどうかチェックし、ロックビットがロック状態で
あり、スヌープロックが他プロセッサにより獲得されて
いれば(YESの場合)、ステップS4に戻る。またプ
ロセッサは、ロックビットがクリア状態であり、スヌー
プロックが解放状態であれば(NOの場合)、ステップ
S1に戻る。
In step S4, the processor reads the lock bit by normal reading. At this time, a cache entry including a lock bit is created in the cache memory of the processor. In step S5, the processor checks whether the read lock bit is in the locked state, and if the lock bit is in the locked state and the snoop lock has been acquired by another processor (in the case of YES), the process returns to step S4. Further, if the lock bit is in a clear state and the snoop lock is in a released state (in the case of NO), the processor returns to step S1.

【0018】なお、他プロセッサによりスヌープロック
が解放されるときにプロセッサのキャッシュメモリにお
いてロックビットを含むキャッシュエントリが無効化さ
れる。プロセッサは、このときまでステップS4〜S5
のループを繰り返し、プロセッサのキャッシュメモリか
らロックビットを読み出し続け、この間共有バスをアク
セスしない。また、他プロセッサによりスヌープロック
が解放され、プロセッサのキャッシュメモリにおいてロ
ックビットを含むキャッシュエントリが無効化された後
には、プロセッサはステップS4で共有バスをアクセス
して共有メモリからロックビットを読み出す。
Note that when the snoop lock is released by another processor, the cache entry including the lock bit is invalidated in the cache memory of the processor. Until this point, the processor has performed steps S4 to S5.
This loop is repeated and the lock bit is read from the processor's cache memory, and the shared bus is not accessed during this time. Further, after the snoop lock is released by another processor and the cache entry including the lock bit is invalidated in the processor's cache memory, the processor accesses the shared bus and reads the lock bit from the shared memory in step S4.

【0019】ステップS3において、プロセッサはロッ
クビットがロック状態かどうかチェックし、ロックビッ
トがクリア状態であり、スヌープロックが解放状態であ
れば(NOの場合)、操作を終了する。
In step S3, the processor checks whether the lock bit is in the locked state, and if the lock bit is in the clear state and the snoop lock is in the released state (if NO), the operation ends.

【0020】(b)  スヌープロック解放操作プロセ
ッサは、スヌープロック獲得操作(a)によってスヌー
プロックを獲得し、共有資源の操作を終えたら、ステッ
プS6において、ロックビットをクリアしてスヌープロ
ックを解放する。
(b) Snoop lock release operation The processor acquires a snoop lock through the snoop lock acquisition operation (a), and after completing the operation of the shared resource, clears the lock bit and releases the snoop lock in step S6. .

【0021】次に、従来のキャッシュメモリを用いた密
結合型マルチプロセッサシステムにおいて、プロセッサ
1〜4が同時にスヌープロックを要求して共有バス上で
競合が発生した場合の共有バス上のバスサイクルについ
て、図9を参照しながら説明する。図9は従来のキャッ
シュメモリを用いた密結合型マルチプロセッサシステム
においてプロセッサ1〜4によってスヌープロックが実
行される場合の共有バス上へのアクセスを示すタイミン
グチャートである。図9において、REは排他読み出し
であり、Rは読み出しである。
Next, in a tightly coupled multiprocessor system using a conventional cache memory, the bus cycle on the shared bus occurs when processors 1 to 4 simultaneously request a snoop lock and a conflict occurs on the shared bus. , will be explained with reference to FIG. FIG. 9 is a timing chart showing access to a shared bus when a snoop lock is executed by processors 1 to 4 in a conventional tightly coupled multiprocessor system using a cache memory. In FIG. 9, RE is exclusive read and R is read.

【0022】初期状態において、プロセッサ1〜4のそ
れぞれのキャッシュメモリ5〜8にはロックビットを含
むキャッシュエントリは存在しない。
In the initial state, there are no cache entries including lock bits in the cache memories 5-8 of the processors 1-4, respectively.

【0023】時刻t1において、プロセッサ1が共有バ
スの使用権を獲得し、不可分サイクルを開始し、排他読
み出しによってロックビットを読み出す。このとき、プ
ロセッサ1のキャッシュメモリ5において、ロックビッ
トを含むキャッシュエントリができる。
At time t1, processor 1 acquires the right to use the shared bus, starts an atomic cycle, and reads the lock bit by exclusive reading. At this time, a cache entry including a lock bit is created in the cache memory 5 of the processor 1.

【0024】なお、排他読み出しによりプロセッサはロ
ックビットへの書き込みを行う権利(所有権)を得る。 また、排他読み出しが行われた場合には、他プロセッサ
のキャッシュメモリにおいてロックビットを含むキャッ
シュエントリが存在し、これが有効状態であれば、他プ
ロセッサのキャッシュメモリにおいてロックビットを含
むキャッシュエントリは無効化される。
Note that by exclusive reading, the processor obtains the right (ownership) to write to the lock bit. In addition, when exclusive reading is performed, if a cache entry containing a lock bit exists in the cache memory of another processor, and this is in a valid state, the cache entry containing the lock bit in the cache memory of the other processor is invalidated. be done.

【0025】したがって、時刻t1では、プロセッサ1
がロックビットの所有権を得、また、プロセッサ2のキ
ャッシュメモリ6、プロセッサ3のキャッシュメモリ7
及びプロセッサ4のキャッシュメモリ8において、ロッ
クビットを含むキャッシュエントリが存在しないので、
キャッシュメモリ6、キャッシュメモリ7及びキャッシ
ュメモリ8は何も動作しない。続いて、プロセッサ1は
ロックビットに書き込みを行ってスヌープロックを獲得
し、不可分サイクルを終了する。このとき、キャッシュ
メモリ5においてロックビットを含むキャッシュエント
リが有効化される。そして、プロセッサ1は共有資源の
操作を始める。
Therefore, at time t1, processor 1
obtains ownership of the lock bit, and also cache memory 6 of processor 2 and cache memory 7 of processor 3
And in the cache memory 8 of the processor 4, there is no cache entry including the lock bit, so
Cache memory 6, cache memory 7, and cache memory 8 do nothing. Processor 1 then writes to the lock bit to acquire the snoop lock and completes the atomic cycle. At this time, the cache entry including the lock bit is validated in the cache memory 5. Processor 1 then begins operating the shared resource.

【0026】時刻t2において、プロセッサ2が共有バ
スの使用権を獲得し、不可分サイクルを開始し、排他読
み出しによってロックビットを読み出す。このとき、キ
ャッシュメモリ6においてロックビットを含むキャッシ
ュエントリができる。また、このとき、キャッシュメモ
リ5においてロックビットを含むキャッシュエントリが
無効化される。続いて、プロセッサ2はロックビットに
書き込みを行って不可分サイクルを終了する。このとき
、キャッシュメモリ6においてロックビットを含むキャ
ッシュエントリが有効化される。既にプロセッサ1がス
ヌープロックを獲得しているので、プロセッサ2はスヌ
ープロックの獲得に失敗する。
At time t2, processor 2 acquires the right to use the shared bus, starts an atomic cycle, and reads the lock bit by exclusive reading. At this time, a cache entry including a lock bit is created in the cache memory 6. Also, at this time, the cache entry including the lock bit in the cache memory 5 is invalidated. Processor 2 then writes to the lock bit to end the atomic cycle. At this time, the cache entry including the lock bit is validated in the cache memory 6. Since processor 1 has already acquired the snoop lock, processor 2 fails to acquire the snoop lock.

【0027】時刻t3において、プロセッサ3が共有バ
スの使用権を獲得し、不可分サイクルを開始し、排他読
み出しによってロックビットを読み出す。このとき、キ
ャッシュメモリ7において、ロックビットを含むキャッ
シュエントリができる。また、このとき、キャッシュメ
モリ6においてロックビットを含むキャッシュエントリ
が無効化される。続いて、プロセッサ3はロックビット
に書き込みを行って不可分サイクルを終了する。このと
き、キャッシュメモリ7においてロックビットを含むキ
ャッシュエントリが有効化される。既にプロセッサ1が
スヌープロックを獲得しているので、プロセッサ3はス
ヌープロックの獲得に失敗する。
At time t3, processor 3 acquires the right to use the shared bus, starts an atomic cycle, and reads the lock bit by exclusive reading. At this time, a cache entry including a lock bit is created in the cache memory 7. Also, at this time, the cache entry including the lock bit in the cache memory 6 is invalidated. Processor 3 then writes to the lock bit to end the atomic cycle. At this time, the cache entry including the lock bit in the cache memory 7 is validated. Since processor 1 has already acquired the snoop lock, processor 3 fails to acquire the snoop lock.

【0028】時刻t4において、今度はプロセッサ4が
共有バスの使用権を獲得し、不可分サイクルを開始し、
排他読み出しによってロックビットを読み出す。このと
き、キャッシュメモリ8において、ロックビットを含む
キャッシュエントリができる。また、このとき、キャッ
シュメモリ7においてロックビットを含むキャッシュエ
ントリが無効化される。続いて、プロセッサ4はロック
ビットに書き込みを行って不可分サイクルを終了する。 このとき、キャッシュメモリ8においてロックビットを
含むキャッシュエントリが有効化される。既にプロセッ
サ1がスヌープロックを獲得しているので、プロセッサ
4はスヌープロックの獲得に失敗する。
At time t4, processor 4 now acquires the right to use the shared bus and starts an atomic cycle.
Read the lock bit using exclusive read. At this time, a cache entry including a lock bit is created in the cache memory 8. Also, at this time, the cache entry including the lock bit in the cache memory 7 is invalidated. Processor 4 then writes to the lock bit to end the atomic cycle. At this time, the cache entry including the lock bit is validated in the cache memory 8. Since processor 1 has already acquired the snoop lock, processor 4 fails to acquire the snoop lock.

【0029】さらに続いて、プロセッサ4は通常の読み
出しによってキャッシュメモリ8からロックビットを読
み出す(図8のステップS4)。キャッシュメモリ8に
おいては、ロック状態のロックビットを含むキャッシュ
エントリが有効状態であるので、プロセッサ4は、スヌ
ープロックが解放されるまで図8のステップS4〜S5
のループを繰り返し、キャッシュメモリ8からロックビ
ットを読み出し続ける。
Further, processor 4 reads the lock bit from cache memory 8 by normal reading (step S4 in FIG. 8). In the cache memory 8, the cache entry including the lock bit in the locked state is in the valid state, so the processor 4 performs steps S4 to S5 in FIG. 8 until the snoop lock is released.
This loop is repeated to continue reading the lock bit from the cache memory 8.

【0030】時刻t5において、プロセッサ2が共有バ
スの使用権を獲得し、共有メモリから通常の読み出しに
よってロックビットを読み出す(図8のステップS4)
。 このとき、キャッシュメモリ6において、ロックビット
を含むキャッシュエントリができる。ロックビットがロ
ック状態なので、プロセッサ2は、図8のステップS5
からステップ4に進み、スヌープロックが解放されるま
で図8のステップS4〜S5のループを繰り返し、キャ
ッシュメモリ6からロックビットを読み出し続ける。
At time t5, processor 2 acquires the right to use the shared bus and reads the lock bit from the shared memory by normal reading (step S4 in FIG. 8).
. At this time, a cache entry including a lock bit is created in the cache memory 6. Since the lock bit is in the locked state, the processor 2 performs step S5 in FIG.
The process then proceeds to step 4, and the loop of steps S4 to S5 in FIG. 8 is repeated until the snoop lock is released, and the lock bit is continued to be read from the cache memory 6.

【0031】時刻t6において、プロセッサ3が共有バ
スの使用権を獲得し、ロックビットを共有メモリから通
常の読み出しによって読み出す(図8のステップS4)
。 このとき、キャッシュメモリ7において、ロックビット
を含むキャッシュエントリができる。ロックビットがロ
ック状態なので、プロセッサ3は、図8のステップS5
からステップS4に進み、スヌープロックが解放される
まで図8のステップS4〜S5のループを繰り返し、キ
ャッシュメモリ7からロックビットを読み出し続ける。
At time t6, processor 3 acquires the right to use the shared bus and reads the lock bit from the shared memory by normal reading (step S4 in FIG. 8).
. At this time, a cache entry including a lock bit is created in the cache memory 7. Since the lock bit is in the locked state, the processor 3 performs step S5 in FIG.
The process then proceeds to step S4, and the loop of steps S4 to S5 in FIG. 8 is repeated until the snoop lock is released, and the lock bit continues to be read from the cache memory 7.

【0032】時刻t7において、プロセッサ1が共有資
源の操作を終え、スヌープロックを解放するためにキャ
ッシュメモリ5からロックビットを読み出すときに、キ
ャッシュメモリ5上のロックビットが時刻t2で既に無
効化されているので、キャッシュメモリ5はミスを起こ
す。このために、プロセッサ1は、不可分サイクルを開
始し、共有メモリから排他読み出しによってロックビッ
トを読み出す。このとき、キャッシュメモリ5において
ロックビットを含むキャッシュエントリができる。また
、このとき、キャッシュメモリ6、キャッシュメモリ7
及びキャッシュメモリ8において、ロックビットを含む
キャッシュエントリが無効化される。続いて、プロセッ
サ1は、ロックビットに書き込みを行ってロックビット
をクリア状態にし、不可分サイクルを終了する。これに
より、プロセッサ1はスヌープロックを解放する。
At time t7, when processor 1 finishes operating the shared resource and reads the lock bit from cache memory 5 to release the snoop lock, the lock bit on cache memory 5 has already been invalidated at time t2. Therefore, the cache memory 5 causes a miss. To this end, processor 1 starts an atomic cycle and reads the lock bit from the shared memory by exclusive read. At this time, a cache entry including a lock bit is created in the cache memory 5. Also, at this time, cache memory 6, cache memory 7
In the cache memory 8, the cache entry including the lock bit is invalidated. Processor 1 then writes to the lock bit to clear the lock bit and completes the atomic cycle. As a result, processor 1 releases the snoop lock.

【0033】時刻t8において、キャッシュメモリ6上
のロックビットを含むキャッシュエントリが時刻7で既
に無効化されているので、図8のステップS4〜S5の
ループを繰り返しているプロセッサ2が図8のステップ
S4でロックビットの読み出しを行うときに、キャッシ
ュメモリ6はミスを起こす。このため、プロセッサ2は
共有バスの使用権を獲得し、共有メモリから通常の読み
出しによってロックビットを読み出す。このとき、キャ
ッシュメモリ6において、ロックビットを含むキャッシ
ュエントリができる。ロックビットは既にクリアされて
いるので、プロセッサ2の動作は図8のステップS5か
らステップS1に進む。
At time t8, since the cache entry including the lock bit on the cache memory 6 has already been invalidated at time 7, the processor 2 repeating the loop of steps S4 to S5 in FIG. When reading the lock bit in S4, the cache memory 6 causes a miss. Therefore, processor 2 acquires the right to use the shared bus and reads the lock bit from the shared memory by normal reading. At this time, a cache entry including a lock bit is created in the cache memory 6. Since the lock bit has already been cleared, the operation of the processor 2 proceeds from step S5 to step S1 in FIG.

【0034】時刻t9において、キャッシュメモリ7上
のロックビットを含むキャッシュエントリが時刻t7で
既に無効化されているので、図8のステップS4〜S5
のループを繰り返しているプロセッサ3が図8のステッ
プS4でロックビットの読み出しを行うときに、キャッ
シュメモリ7はミスを起こす。このため、プロセッサ3
は共有バスの使用権を獲得し、共有メモリから通常の読
み出しによってロックビットを読み出す。このとき、キ
ャッシュメモリ7において、ロックビットを含むキャッ
シュエントリができる。ロックビットは既にクリアされ
ているので、プロセッサ3の動作は図8のステップS5
からステップS1に進む。
At time t9, the cache entry including the lock bit on the cache memory 7 has already been invalidated at time t7, so steps S4 to S5 in FIG.
When the processor 3 repeating the loop reads the lock bit in step S4 of FIG. 8, a miss occurs in the cache memory 7. For this reason, processor 3
acquires the right to use the shared bus and reads the lock bit from shared memory using a normal read. At this time, a cache entry including a lock bit is created in the cache memory 7. Since the lock bit has already been cleared, the operation of the processor 3 is to proceed to step S5 in FIG.
The process then proceeds to step S1.

【0035】時刻t10において、キャッシュメモリ8
上のロックビットを含むキャッシュエントリが時刻7で
既に無効化されているので、図8のステップS4〜S5
のループを繰り返しているプロセッサ4が図8のステッ
プS4でキャッシュメモリ8からロックビットの読み出
しを行うときに、キャッシュメモリ8はミスを起こす。 このため、プロセッサ4は共有バスの使用権を獲得し、
共有メモリから通常の読み出しによってロックビットを
読み出す。このとき、キャッシュメモリ8において、ロ
ックビットを含むキャッシュメモリができる。ロックビ
ットは既にクリアされているので、プロセッサ4の動作
は図8のステップS5からステップS1に進む。
At time t10, cache memory 8
Since the cache entry containing the above lock bit has already been invalidated at time 7, steps S4 to S5 in FIG.
When the processor 4 repeating the loop reads the lock bit from the cache memory 8 in step S4 of FIG. 8, the cache memory 8 causes a miss. Therefore, processor 4 acquires the right to use the shared bus,
Read the lock bit with a normal read from shared memory. At this time, a cache memory including a lock bit is created in the cache memory 8. Since the lock bit has already been cleared, the operation of the processor 4 proceeds from step S5 to step S1 in FIG.

【0036】時刻t11において、プロセッサ2が共有
バスの使用権を獲得し、不可分サイクルを開始して、排
他読み出しによってロックビットを読み出す。このとき
、キャッシュメモリ6において、ロックビットを含むキ
ャッシュエントリができる。また、このとき、キャッシ
ュメモリ7及びキャッシュメモリ8において、ロックビ
ットを含むキャッシュエントリが無効化される。続いて
、プロセッサ2は、ロックビットに書き込みを行ってロ
ックビットをロック状態にし、不可分サイクルを終了す
る。このとき、キャッシュメモリ6においてロックビッ
トを含むキャッシュエントリが有効化される。これによ
り、プロセッサ2はスヌープロックを獲得する。そして
、プロセッサ2は共有資源の操作を始める。
At time t11, processor 2 acquires the right to use the shared bus, starts an atomic cycle, and reads the lock bit by exclusive reading. At this time, a cache entry including a lock bit is created in the cache memory 6. Further, at this time, cache entries including lock bits are invalidated in the cache memory 7 and the cache memory 8. Processor 2 then writes to the lock bit to put it into a locked state and completes the atomic cycle. At this time, the cache entry including the lock bit is validated in the cache memory 6. As a result, processor 2 acquires the snoop lock. Processor 2 then begins operating the shared resource.

【0037】時刻t12において、プロセッサ3が共有
バスの使用権を獲得し、不可分サイクルを開始し、排他
読み出しによってロックビットを読み出す。このとき、
キャッシュメモリ7においてロックビットを含むキャッ
シュエントリができる。また、このとき、キャッシュメ
モリ6においてロックビットを含むキャッシュエントリ
が無効化される。続いて、プロセッサ3は、ロックビッ
トに書き込みを行って不可分サイクルを終了する。この
とき、キャッシュメモリ7においてロックビットを含む
キャッシュエントリが有効化される。既にプロセッサ2
がスヌープロックを獲得しているので、プロセッサ3は
スヌープロックの獲得に失敗する。
At time t12, processor 3 acquires the right to use the shared bus, starts an indivisible cycle, and reads the lock bit by exclusive reading. At this time,
A cache entry including a lock bit is created in the cache memory 7. Also, at this time, the cache entry including the lock bit in the cache memory 6 is invalidated. Processor 3 then writes to the lock bit and ends the atomic cycle. At this time, the cache entry including the lock bit in the cache memory 7 is validated. Processor 2 already
has acquired the snoop lock, processor 3 fails to acquire the snoop lock.

【0038】時刻t13において、プロセッサ4が共有
バスの使用権を獲得し、不可分サイクルを開始し、排他
読み出しによってロックビットを読み出す。このとき、
キャッシュメモリ8において、ロックビットを含むキャ
ッシュエントリができる。また、このとき、キャッシュ
メモリ7においてロックビットを含むキャッシュエント
リが無効化される。続いて、プロセッサ4は、ロックビ
ットに書き込みを行って不可分サイクルを終了する。こ
のとき、キャッシュメモリ8においロックビットを含む
キャッシュエントリが有効化される。既にプロセッサ2
がスヌープロックを獲得しているので、プロセッサ4は
スヌープロックの獲得に失敗する。
At time t13, processor 4 acquires the right to use the shared bus, starts an indivisible cycle, and reads the lock bit by exclusive reading. At this time,
In the cache memory 8, a cache entry including a lock bit is created. Also, at this time, the cache entry including the lock bit in the cache memory 7 is invalidated. Processor 4 then writes to the lock bit to end the atomic cycle. At this time, the cache entry including the lock bit in the cache memory 8 is validated. Processor 2 already
has acquired the snoop lock, processor 4 fails to acquire the snoop lock.

【0039】さらに続いて、プロセッサ4はロックビッ
トを通常の読み出しによってキャッシュメモリ8から読
み出す(図8のステップS4)。キャッシュメモリ8に
おいて、ロックビットを含むキャッシュエントリが有効
状態であるので、プロセッサ4は、スヌープロックが解
放されるまで図8のステップS4〜S5のループを繰り
返し、キャッシュメモリ8からロックビットを読み出し
続ける。
Further, processor 4 reads the lock bit from cache memory 8 by normal reading (step S4 in FIG. 8). Since the cache entry including the lock bit is valid in the cache memory 8, the processor 4 repeats the loop of steps S4 to S5 in FIG. 8 until the snoop lock is released, and continues reading the lock bit from the cache memory 8. .

【0040】時刻t14において、プロセッサ3が共有
バスの使用権を獲得し、ロックビットを通常の読み出し
によって読み出す(図8のステップS4)。このとき、
キャッシュメモリ7において、ロックビットを含むキャ
ッシュエントリができる。ロックビットがロック状態な
ので、プロセッサ3は、図8のステップS5からステッ
プS4に進み、スヌープロックが解放されるまで図8の
ステップS4〜S5のループを繰り返し、キャッシュメ
モリ7からロックビットを読み出し続ける。
At time t14, processor 3 acquires the right to use the shared bus and reads the lock bit by normal reading (step S4 in FIG. 8). At this time,
In the cache memory 7, a cache entry including a lock bit is created. Since the lock bit is in the locked state, the processor 3 proceeds from step S5 to step S4 in FIG. 8, repeats the loop of steps S4 and S5 in FIG. 8 until the snoop lock is released, and continues reading the lock bit from the cache memory 7. .

【0041】[0041]

【発明が解決しようとする課題】上述したような従来の
キャッシュメモリを用いた密結合型マルチプロセッサシ
ステムにおいてスヌープロックが実行されると、スヌー
プロック獲得のために複数のプロセッサからのアクセス
が同時に共有バス上に出力されて競合し、またスヌープ
ロックを獲得できないプロセッサのキャッシュメモリに
おいてロックビットを含むキャッシュエントリが無効化
されるために再び共有バスをアクセスしてロックビット
を含むキャッシュエントリを有効化しなければならない
ので、共有バスの使用率が高くなるという問題点があっ
た。
[Problem to be Solved by the Invention] When a snoop lock is executed in a tightly coupled multiprocessor system using conventional cache memory as described above, accesses from multiple processors are simultaneously shared in order to acquire the snoop lock. The cache entry containing the lock bit is invalidated in the cache memory of the processor that is output to the bus and cannot acquire the snoop lock, so the shared bus must be accessed again to enable the cache entry containing the lock bit. Therefore, there was a problem in that the usage rate of the shared bus was high.

【0042】この発明は、このような問題点を解決する
ためになされたもので、密結合型マルチプロセッサシス
テムにおいて共有バスの使用率を低くすることができる
キャッシュメモリを得ることを目的とする。
The present invention has been made to solve these problems, and an object of the present invention is to provide a cache memory that can reduce the usage rate of a shared bus in a tightly coupled multiprocessor system.

【0043】[0043]

【課題を解決するための手段】この発明の請求項1に係
るキャッシュメモリは、共有バスへのアクセスを不可分
サイクルで行うか否かを指示するレジスタを備えたもの
である。
SUMMARY OF THE INVENTION A cache memory according to a first aspect of the present invention is provided with a register for instructing whether or not access to a shared bus is performed in atomic cycles.

【0044】また、この発明の請求項2に係るキャッシ
ュメモリは、共有バスへのアクセスを不可分サイクルで
行うか否かを指示するレジスタ及び共有バス上のロック
ビットへの所定のアクセスサイクルを検出したときに、
対応するキャッシュエントリが無効状態で存在するなら
ば、上記対応するキャッシュエントリを有効状態に変え
る制御手段を備えたものである。
Further, the cache memory according to claim 2 of the present invention detects a predetermined access cycle to a register and a lock bit on the shared bus for instructing whether or not access to the shared bus is performed in atomic cycles. sometimes,
If the corresponding cache entry exists in an invalid state, control means is provided for changing the corresponding cache entry to a valid state.

【0045】[0045]

【作用】この発明の請求項1に係るキャッシュメモリに
おいては、レジスタによって、共有バスへのアクセスを
不可分サイクルで行うか否かが指示される。
In the cache memory according to claim 1 of the present invention, the register instructs whether or not access to the shared bus is performed in atomic cycles.

【0046】また、この発明の請求項2に係るキャッシ
ュメモリにおいては、レジスタによって、共有バスへの
アクセスを不可分サイクルで行うか否かが指示され、制
御手段によって、共有バス上のロックビットへの所定の
アクセスサイクルが検出されたときに、対応するキャッ
シュエントリが無効状態で存在するならば、上記対応す
るキャッシュエントリが有効状態に変えられる。
In the cache memory according to claim 2 of the present invention, the register instructs whether or not to access the shared bus in atomic cycles, and the control means controls whether or not to access the lock bit on the shared bus. If a corresponding cache entry exists in an invalid state when a predetermined access cycle is detected, the corresponding cache entry is changed to a valid state.

【0047】[0047]

【実施例】【Example】

実施例1.この発明の実施例1の構成を図1を参照しな
がら説明する。図1は、この発明の実施例1を示すブロ
ック図である。図1において、1〜12及び14〜22
は従来例と同じである。23はレジスタ選択線kを通じ
てプロセッサに接続されているレジスタ、24は出力側
がレジスタ23に接続され、かつ入力側がプロセッサ制
御バスaを通じてプロセッサに接続されている不可分サ
イクル検出器、25は従来例の制御回路13の替わりに
接続されている制御回路である。なお、選択器15、1
6及び19、バッファ14、22及び23並びにトラン
シーバ20及び21と制御回路25とを接続する制御線
は省略されている。また、不可分サイクル検出器24は
従来例では省略されている。
Example 1. The configuration of Embodiment 1 of this invention will be described with reference to FIG. FIG. 1 is a block diagram showing a first embodiment of the present invention. In FIG. 1, 1 to 12 and 14 to 22
is the same as the conventional example. 23 is a register connected to the processor through a register selection line k, 24 is an indivisible cycle detector whose output side is connected to the register 23 and whose input side is connected to the processor through a processor control bus a, and 25 is a conventional control. This is a control circuit connected in place of the circuit 13. Note that the selectors 15, 1
6 and 19, buffers 14, 22 and 23, and control lines connecting the transceivers 20 and 21 to the control circuit 25 are omitted. Further, the indivisible cycle detector 24 is omitted in the conventional example.

【0048】次に、上述した実施例1の動作について図
1を参照しながら説明する。レジスタ23は、プロセッ
サから所定アドレスが出力されてレジスタ選択線kが有
効になることにより、セットされて状態線rを有効にす
る。状態線rが有効になると、制御回路25は不可分サ
イクルを実行する。また、不可分サイクル検出器24が
プロセッサ制御バスaを介してプロセッサから出力され
る不可分サイクルを示す信号が有効であることを検出し
て不可分サイクル検出線mを有効にすることにより、レ
ジスタ23はリセットされて状態線rを無効にする。プ
ロセッサは不可分サイクルを示す信号を有効にし、不可
分サイクルを実行して共有バスをアクセスする。したが
って、制御回路25は、状態線rが有効であれば、プロ
セッサからの不可分サイクルを示す信号が無効であって
も不可分サイクルを実行する。
Next, the operation of the first embodiment described above will be explained with reference to FIG. The register 23 is set and makes the status line r valid when a predetermined address is output from the processor and the register selection line k becomes valid. When state line r becomes valid, control circuit 25 executes an atomic cycle. Further, the register 23 is reset by the atomic cycle detector 24 detecting that the signal indicating the atomic cycle output from the processor via the processor control bus a is valid and making the atomic cycle detection line m valid. state line r is invalidated. The processor asserts a signal indicating an atomic cycle and executes the atomic cycle to access the shared bus. Therefore, if the status line r is valid, the control circuit 25 executes the non-divisible cycle even if the signal indicating the non-divisible cycle from the processor is invalid.

【0049】次に、この発明の実施例1が接続されたプ
ロセッサによるスヌープロックの動作について図2を参
照しながら説明する。図2はこの発明の実施例1が接続
されたプロセッサのスヌープロックの動作を示すフロー
チャートであり、同図(a)はスヌープロック獲得操作
、同図(b)はスヌープロック解放操作を示す。
Next, the operation of the snoop lock by the processor connected to the first embodiment of the present invention will be explained with reference to FIG. FIG. 2 is a flowchart showing the snoop lock operation of a processor connected to the first embodiment of the present invention, in which (a) shows a snoop lock acquisition operation, and (b) shows a snoop lock release operation.

【0050】(a)  スヌープロック獲得操作ステッ
プu1において、プロセッサは不可分サイクルを実行し
、ロックビットを読み出す。ステップu2において、プ
ロセッサは、ロックビットに書き込みを行ってロックビ
ットをロック状態にして、不可分サイクルを終了する。 ステップu3において、プロセッサは、読み出したロッ
クビットがロック状態であるかどうかチェックし、ロッ
クビットがロック状態であり、スヌープロックが他プロ
セッサにより獲得されれば(YESの場合)、ステップ
u4に進む。
(a) Snoop Lock Acquisition Operation In step u1, the processor executes an atomic cycle and reads the lock bit. In step u2, the processor writes to the lock bit to put it in the locked state and ends the atomic cycle. In step u3, the processor checks whether the read lock bit is in the locked state, and if the lock bit is in the locked state and the snoop lock has been acquired by another processor (in the case of YES), the processor advances to step u4.

【0051】ステップu4において、プロセッサは、ロ
ックビットを通常の読み出しによって読み出す。このと
き、プロセッサのキャッシュメモリにおいてロックビッ
トを含むキャッシュエントリができる。ステップu5に
おいて、プロセッサのキャッシュメモリにおいてレジス
タがセットされる。
In step u4, the processor reads the lock bit using a normal read. At this time, a cache entry including a lock bit is created in the cache memory of the processor. At step u5, a register is set in the processor's cache memory.

【0052】ステップu7において、プロセッサは読み
出したロックビットがロック状態であるかどうかチェッ
クし、ロックビットがロック状態であり、スヌープロッ
クが他プロセッサにより獲得されていれば(YESの場
合)、ステップu6に進む。ステップu6において、プ
ロセッサはロックビットを通常の読み出しによって読み
出す。ステップu7において、プロセッサは読み出した
ロックビットがロック状態であるかどうかチェックし、
ロックビットがクリア状態であり、スヌープロックが解
放状態であれば(NOの場合)、ステップu1に進む。
In step u7, the processor checks whether the read lock bit is in the locked state, and if the lock bit is in the locked state and the snoop lock has been acquired by another processor (in the case of YES), the processor executes step u6. Proceed to. In step u6, the processor reads the lock bit using a normal read. In step u7, the processor checks whether the read lock bit is in a locked state,
If the lock bit is in the clear state and the snoop lock is in the released state (in the case of NO), the process proceeds to step u1.

【0053】なお、他プロセッサによりスヌープロック
が解放されるときにプロセッサのキャッシュメモリにお
いてロックビットを含むキャッシュエントリが無効化さ
れる。プロセッサ2は、このときまでステップu6〜u
7のループを繰り返してプロセッサのキャッシュメモリ
からロックビットを読み出し続け、この間共有バスをア
クセスしない。他プロセッサによりスヌープロックが解
放され、プロセッサのキャッシュメモリにおいてロック
ビットを含むキャッシュエントリが無効化された後に、
プロセッサ2は共有メモリからロックビットを読み出し
、プロセッサのキャッシュメモリにおいてロックビット
を含むキャッシュエントリが有効化される。
Note that when the snoop lock is released by another processor, the cache entry including the lock bit is invalidated in the processor's cache memory. Processor 2 has performed steps u6 to u up to this point.
7 is repeated to continue reading the lock bit from the cache memory of the processor, and the shared bus is not accessed during this time. After the snoop lock is released by another processor and the cache entry containing the lock bit is invalidated in the processor's cache memory,
Processor 2 reads the lock bit from the shared memory, and the cache entry containing the lock bit is validated in the processor's cache memory.

【0054】ステッップu3において、プロセッサはロ
ックビットがロック状態であるかどうかチェックし、ロ
ックビットがクリア状態であり、スヌープロックが解放
状態でありNOの場合に、操作を終了する。
In step u3, the processor checks whether the lock bit is in the locked state, and if the lock bit is in the clear state and the snoop lock is in the released state, terminating the operation.

【0055】(b)  スヌープロック解放操作従来例
と同じ動作をする。
(b) Snoop lock release operation The same operation as in the conventional example is performed.

【0056】次に、この発明の実施例1を用いた密結合
型マルチプロセッサシステムにおいて、プロセッサ1〜
4が同時にスヌープロックを要求して競合が発生した場
合の共有バス上に発生するバスサイクルについて、図3
を参照しながら説明する。図3はこの発明の実施例1を
用いた密結合型マルチプロセッサシステムにおいてスヌ
ープロックが実行される場合の共有バス上のアクセスを
示すタイミングチャートである。図3において、REは
排他読み出しであり、Rは読み出しである。
Next, in the tightly coupled multiprocessor system using the first embodiment of the present invention, processors 1 to 1
Figure 3 shows the bus cycles that occur on the shared bus when 4 requests the snoop lock at the same time and a conflict occurs.
This will be explained with reference to. FIG. 3 is a timing chart showing accesses on a shared bus when a snoop lock is executed in a tightly coupled multiprocessor system using the first embodiment of the present invention. In FIG. 3, RE is exclusive read and R is read.

【0057】初期状態において、プロセッサ1〜4のそ
れぞれのキャッシュメモリ5〜8にはロックビットを含
むキャッシュエントリは存在しない。
In the initial state, there are no cache entries including lock bits in cache memories 5 to 8 of processors 1 to 4, respectively.

【0058】時刻t1において、プロセッサ1が共有バ
スの使用権を獲得し、不可分サイクルを開始し、排他読
み出しによってロックビットを読み出す。これによって
、プロセッサ1はロックビットへの書き込みを行う権利
(所有権)を得、プロセッサ1のキャッシュメモリ5に
おいて、ロックビットを含むキャッシュエントリができ
る。このとき、プロセッサ2のキャッシュメモリ6、プ
ロセッサ3のキャッシュメモリ7及びプロセッサ4のキ
ャッシュメモリ8にはロックビットを含むキャッシュエ
ントリが存在しないので、キャッシュメモリ6、キャッ
シュメモリ7及びキャッシュメモリ8は何も動作しない
At time t1, processor 1 acquires the right to use the shared bus, starts an atomic cycle, and reads the lock bit by exclusive reading. As a result, the processor 1 obtains the right (ownership) to write to the lock bit, and a cache entry including the lock bit is created in the cache memory 5 of the processor 1. At this time, since there is no cache entry including the lock bit in the cache memory 6 of the processor 2, the cache memory 7 of the processor 3, and the cache memory 8 of the processor 4, the cache memory 6, the cache memory 7, and the cache memory 8 are empty. Do not work.

【0059】続いて、プロセッサ1はロックビットに書
き込みを行って不可分サイクルを終了する。このとき、
キャッシュメモリ5においてロックビットを含むキャッ
シュエントリが有効化される。これにより、プロセッサ
1はスヌープロックを獲得する。そして、プロセッサ1
は共有資源の操作を始める。
Processor 1 then writes to the lock bit and ends the atomic cycle. At this time,
The cache entry including the lock bit is validated in the cache memory 5. As a result, processor 1 acquires the snoop lock. And processor 1
begins manipulating shared resources.

【0060】時刻t2において、プロセッサ2が共有バ
スの使用権を獲得し、不可分サイクルを開始し、排他読
み出しによってロックビットを読み出す。このとき、キ
ャッシュメモリ6においてロックビットを含むキャッシ
ュエントリができる。また、このとき、キャッシュメモ
リ5においてロックビットを含むキャッシュエントリが
無効化される。続いて、プロセッサ2はロックビットに
書き込みを行って不可分サイクルを終了する。このとき
、キャッシュメモリ6においてロックビットを含むキャ
ッシュエントリが有効化される。既にプロセッサ1がス
ヌープロックを獲得しているので、プロセッサ2はスヌ
ープロックの獲得に失敗する。
At time t2, processor 2 acquires the right to use the shared bus, starts an atomic cycle, and reads the lock bit by exclusive reading. At this time, a cache entry including a lock bit is created in the cache memory 6. Also, at this time, the cache entry including the lock bit in the cache memory 5 is invalidated. Processor 2 then writes to the lock bit to end the atomic cycle. At this time, the cache entry including the lock bit is validated in the cache memory 6. Since processor 1 has already acquired the snoop lock, processor 2 fails to acquire the snoop lock.

【0061】時刻t3において、プロセッサ3が共有バ
スの使用権を獲得し、不可分サイクルを開始し、排他読
み出しによってロックビットを読み出す。このとき、キ
ャッシュメモリ7においてロックビットを含むキャッシ
ュエントリができる。また、このとき、キャッシュメモ
リ6においてロックビットを含むキャッシュエントリが
無効化される。続いて、プロセッサ3はロックビットに
書き込みを行って不可分サイクルを終了する。このとき
、キャッシュメモリ7においてロックビットを含むキャ
ッシュエントリが有効化される。既にプロセッサ1がス
ヌープロックを獲得しているので、プロセッサ3はスヌ
ープロックの獲得に失敗する。
At time t3, processor 3 acquires the right to use the shared bus, starts an indivisible cycle, and reads the lock bit by exclusive reading. At this time, a cache entry including a lock bit is created in the cache memory 7. Also, at this time, the cache entry including the lock bit in the cache memory 6 is invalidated. Processor 3 then writes to the lock bit to end the atomic cycle. At this time, the cache entry including the lock bit in the cache memory 7 is validated. Since processor 1 has already acquired the snoop lock, processor 3 fails to acquire the snoop lock.

【0062】時刻t4において、今度はプロセッサ4が
共有バスの使用権を獲得し、不可分サイクルを開始し、
排他読み出しによってロックビットを読み出す。このと
き、キャッシュメモリ8においてロックビットを含むキ
ャッシュエントリができる。また、このとき、キャッシ
ュメモリ7においてロックビットを含むキャッシュエン
トリが無効化される。続いて、プロセッサ4はロックビ
ットに書き込みを行って不可分サイクルを終了する。こ
のとき、キャッシュメモリ8においてロックビットを含
むキャッシュエントリが有効化される。既にプロセッサ
1がスヌープロックを獲得しているので、プロセッサ4
はスヌープロックの獲得に失敗する。
At time t4, processor 4 now acquires the right to use the shared bus and starts an indivisible cycle.
Read the lock bit using exclusive read. At this time, a cache entry including a lock bit is created in the cache memory 8. Also, at this time, the cache entry including the lock bit in the cache memory 7 is invalidated. Processor 4 then writes to the lock bit to end the atomic cycle. At this time, the cache entry including the lock bit is validated in the cache memory 8. Since processor 1 has already acquired the snoop lock, processor 4
fails to acquire the snoop lock.

【0063】続いて、プロセッサ4はキャッシュメモリ
8から通常の読み出しによってロックビットを読み出す
(図2のステップu4)。キャッシュメモリ8において
、ロック状態のロックビットを含むキャッシュエントリ
が有効状態であるので、プロセッサ4はキャッシュメモ
リ8からロックビットの読み出しを行う。続いて、プロ
セッサ4は、キャッシュメモリ8のレジスタをセットす
る(図2のステップu5)。さらに続いて、ロックビッ
トがロック状態であるので、プロセッサ4は、図2のス
テップu7でステップu6に進み、スヌープロックが解
放されるまで図2のステップu7〜u8のループを繰り
返し、キャッシュメモリ8からロックビットを読み出し
続ける。
Subsequently, processor 4 reads the lock bit from cache memory 8 by normal reading (step u4 in FIG. 2). In the cache memory 8, the cache entry including the lock bit in the locked state is in the valid state, so the processor 4 reads the lock bit from the cache memory 8. Subsequently, the processor 4 sets the register of the cache memory 8 (step u5 in FIG. 2). Further, since the lock bit is in the locked state, the processor 4 proceeds to step u6 at step u7 in FIG. 2, repeats the loop of steps u7 to u8 in FIG. Continue reading the lock bit from .

【0064】時刻t5において、プロセッサ2が共有バ
スの使用権を獲得し、共有メモリから通常の読み出しに
よってロックビットを読み出す(図2のステップu6)
。 このとき、キャッシュメモリ6において、ロックビット
を含むキャッシュエントリができる。続いて、プロセッ
サ2は、キャッシュメモリ6のレジスタをセットする。 さらに続いて、ロックビットがロック状態なので、プロ
セッサ2は、図2のステップu7でステップu6に進み
、スヌープロックが解放されるまで図2のステップu6
〜u7のループを繰り返し、キャッシュメモリ6からロ
ックビットを読み出し続ける。
At time t5, processor 2 acquires the right to use the shared bus and reads the lock bit from the shared memory by normal reading (step u6 in FIG. 2).
. At this time, a cache entry including a lock bit is created in the cache memory 6. Subsequently, the processor 2 sets the register of the cache memory 6. Further, since the lock bit is in the locked state, the processor 2 proceeds to step u6 in step u7 of FIG. 2 until the snoop lock is released.
The loop from ~u7 is repeated to continue reading the lock bit from the cache memory 6.

【0065】時刻t6において、プロセッサ3が共有バ
スの使用権を獲得し、共有メモリから通常の読み出しに
よってロックビットを読み出す。このとき、キャッシュ
メモリ7において、ロックビットを含むキャッシュエン
トリができる。続いて、プロセッサ3はキャッシュメモ
リ7のレジスタをセットする。さらに続いて、ロックビ
ットがロック状態なので、プロセッサ3は、図2のステ
ップu7でステップu6に進み、スヌープロックが解放
されるまで図2のステップu6〜u7のループを繰り返
し、キャッシュメモリ7からロックビットを読み出し続
ける。
At time t6, processor 3 acquires the right to use the shared bus and reads the lock bit from the shared memory by normal reading. At this time, a cache entry including a lock bit is created in the cache memory 7. Subsequently, the processor 3 sets the register of the cache memory 7. Subsequently, since the lock bit is in the locked state, the processor 3 proceeds to step u6 at step u7 in FIG. 2, repeats the loop of steps u6 to u7 in FIG. Continue reading bits.

【0066】時刻t7において、プロセッサ1が共有資
源の操作を終え、スヌープロックを解放するためにロッ
クビットを読み出すときに、キャッシュメモリ5上での
ロックビットを含むキャッシュエントリが時刻t2で既
に無効化されているので、キャッシュメモリ5はミスを
起こす。このために、プロセッサ1は、不可分サイクル
を開始し、共有メモリから排他読み出しによってロック
ビットを読み出す。このとき、キャッシュメモリ5にお
いてロックビットを含むキャッシュエントリができる。 また、このとき、キャッシュメモリ6、キャッシュメモ
リ7及びキャッシュメモリ8において、ロックビットを
含むキャッシュエントリが無効化される。
At time t7, when processor 1 finishes operating the shared resource and reads the lock bit to release the snoop lock, the cache entry containing the lock bit on cache memory 5 has already been invalidated at time t2. Therefore, the cache memory 5 causes a miss. To this end, processor 1 starts an atomic cycle and reads the lock bit from the shared memory by exclusive read. At this time, a cache entry including a lock bit is created in the cache memory 5. Also, at this time, cache entries including lock bits are invalidated in cache memory 6, cache memory 7, and cache memory 8.

【0067】続いて、プロセッサ1は、ロックビットに
書き込みを行ってロックビットをクリア状態にし、不可
分サイクルを終了する。これにより、プロセッサ1はス
ヌープロックを解放する。
[0067] Subsequently, processor 1 writes to the lock bit, clears the lock bit, and ends the atomic cycle. As a result, processor 1 releases the snoop lock.

【0068】時刻t8において、キャッシュメモリ6上
のロックビットを含むキャッシュエントリが時刻7で既
に無効化されているので、図2のステップu6〜u7の
ループを繰り返しているプロセッサ2が図2のステップ
u7でキャッシュメモリ6からロックビットの読み出し
を行うときに、キャッシュメモリ6はミスを起こす。続
いて、プロセッサ2は共有バスの使用権を獲得し、通常
の読み出しによって共有メモリからロックビットを読み
出す。このとき、キャッシュメモリ6において、ロック
ビットを含むキャッシュエントリができる。ロックビッ
トは既にクリアされているので、プロセッサ2の動作は
図2のステップu7でステップu1に進む。
At time t8, since the cache entry including the lock bit on the cache memory 6 has already been invalidated at time 7, the processor 2 repeating the loop of steps u6 to u7 in FIG. When u7 reads the lock bit from the cache memory 6, the cache memory 6 causes a miss. Subsequently, processor 2 acquires the right to use the shared bus and reads the lock bit from the shared memory by normal reading. At this time, a cache entry including a lock bit is created in the cache memory 6. Since the lock bit has already been cleared, the operation of processor 2 proceeds from step u7 of FIG. 2 to step u1.

【0069】時刻t9において、プロセッサ2は不可分
サイクルを開始し、共有メモリから排他読み出しによっ
てロックビットを読み出す。このとき、キャッシュメモ
リ6において、ロックビットを含むキャッシュエントリ
ができる。また、このとき、キャッシュメモリ6におい
て、レジスタがリセットされる。続いて、プロセッサ2
はロックビットに書き込みを行って不可分サイクルを終
了する。このとき、キャッシュメモリ6においてロック
ビットを含むキャッシュエントリが有効化される。これ
により、プロセッサ2はスヌープロックを獲得する。
At time t9, processor 2 begins an atomic cycle and reads the lock bit from shared memory by exclusive read. At this time, a cache entry including a lock bit is created in the cache memory 6. Also, at this time, the registers in the cache memory 6 are reset. Next, processor 2
writes the lock bit to end the atomic cycle. At this time, the cache entry including the lock bit is validated in the cache memory 6. As a result, processor 2 acquires the snoop lock.

【0070】なお、プロセッサ2による時刻8の通常の
読み出しと時刻9の排他読み出しと時刻9の書き込みと
は不可分に行われ、この間共有バスは解放されない。
Note that the normal reading at time 8, the exclusive reading at time 9, and the writing at time 9 by the processor 2 are performed inseparably, and the shared bus is not released during this time.

【0071】時刻t10において、キャッシュメモリ7
上のロックビットを含むキャッシュエントリが時刻7で
既に無効化されているので、図2のステップu6〜u7
のループを繰り返しているプロセッサ3が図2のステッ
プu6でキャッシュメモリ7からロックビットの読み出
しを行うときに、キャッシュメモリ7はミスを起こす。 続いて、プロセッサ3は共有バスの使用権を獲得し、共
有メモリからロックビットを読み出す。このとき、キャ
ッシュメモリ7においてロックビットを含むキャッシュ
エントリができる。ロックビットは既にロック状態にさ
れているので、プロセッサ3の動作は図2のステップu
7でステップs6に進み、スヌープロックが解放される
まで図2のステップu6〜u7のループを繰り返し、キ
ャッシュメモリ7からロックビットを読み出し続ける。
At time t10, cache memory 7
Since the cache entry containing the lock bit above has already been invalidated at time 7, steps u6 to u7 in FIG.
When the processor 3 repeating the loop reads the lock bit from the cache memory 7 in step u6 of FIG. 2, the cache memory 7 causes a miss. Subsequently, processor 3 acquires the right to use the shared bus and reads the lock bit from the shared memory. At this time, a cache entry including a lock bit is created in the cache memory 7. Since the lock bit is already in the locked state, the operation of the processor 3 is as shown in step u of FIG.
7, the process advances to step s6, and the loop of steps u6 to u7 in FIG. 2 is repeated until the snoop lock is released, and the lock bit continues to be read from the cache memory 7.

【0072】時刻11において、キャッシュメモリ8上
のロックビットを含むキャッシュエントリが時刻7で既
に無効化されているので、図2のステップu6〜u7の
ループを繰り返しているプロセッサ4が図2のステップ
4でキャッシュメモリ8からロックビットの読み出しを
行うときに、キャッシュメモリ8はミスを起こす。続い
て、プロセッサ4は共有バスの使用権を獲得し、通常の
読み出しによって共有メモリからロックビットを読み出
す。このとき、キャッシュメモリ8においてロックビッ
トを含むキャッシュエントリができる。ロックビットは
既にロック状態にされているので、プロセッサ4の動作
は図2のステップu7でステップu6に進み、スヌープ
ロックが解放されるまで図2のステップu6〜u7のル
ープを繰り返し、キャッシュメモリ8からロックビット
を読み出し続ける。
At time 11, since the cache entry containing the lock bit on cache memory 8 has already been invalidated at time 7, processor 4, which is repeating the loop of steps u6 to u7 in FIG. When the lock bit is read from the cache memory 8 in step 4, the cache memory 8 causes a miss. Subsequently, processor 4 acquires the right to use the shared bus and reads the lock bit from the shared memory by a normal read. At this time, a cache entry including a lock bit is created in the cache memory 8. Since the lock bit is already in the locked state, the operation of the processor 4 proceeds from step u7 of FIG. 2 to step u6, repeats the loop of steps u6 to u7 of FIG. Continue reading the lock bit from .

【0073】以上説明したように、実施例1は、レジス
タ23を備え、スヌープロックが解放された後、レジス
タがセットされているときにミスが起こると、制御回路
が不可分サイクルを実行することから、実施例1を用い
た密結合型マルチプロセッサシステムにおいて、複数の
プロセッサによる共有バス上での競合発生時に、共有バ
スへのアクセスを従来のキャッシュメモリを用いた場合
と比べて減少させることができる。
As explained above, the first embodiment includes the register 23, and if a mistake occurs while the register is being set after the snoop lock is released, the control circuit executes an indivisible cycle. In a tightly coupled multiprocessor system using Embodiment 1, when contention occurs on a shared bus among multiple processors, accesses to the shared bus can be reduced compared to when conventional cache memory is used. .

【0074】実施例2.この発明の実施例2の構成を図
4を参照しながら説明する。図4は、この発明の実施例
2を示すブロック図である。図4において、1〜12、
14〜17及び19〜24は図1に示された実施例1と
同じである。26は図1の制御回路25の替わりに接続
されている制御回路、27は図1の比較器18の替わり
に接続されている比較器である。なお、この発明の制御
手段は実施例2では、制御回路26及び比較器27であ
る。
Example 2. The configuration of a second embodiment of the present invention will be described with reference to FIG. 4. FIG. 4 is a block diagram showing a second embodiment of the invention. In FIG. 4, 1 to 12,
14-17 and 19-24 are the same as in Example 1 shown in FIG. 26 is a control circuit connected in place of the control circuit 25 in FIG. 1, and 27 is a comparator connected in place of the comparator 18 in FIG. Note that the control means of the present invention is the control circuit 26 and the comparator 27 in the second embodiment.

【0075】次に、上述した実施例2の動作について図
4を参照しながら説明する。比較器27は、タグメモリ
12のアドレス情報とアクセスの対象になっているアド
レスとの比較の結果と制御ビットの有効又は無効に基づ
いて、ヒットの場合にはヒット判定線fを有効にし、ミ
スの場合にはヒット判定線fを無効にすると共に、アド
レス情報とアクセスの対象になっているアドレスとの比
較のみに基づき、これらが一致した場合には、即ちキャ
ッシュデータメモリ11にアクセスの対象になっている
データを含むキャッシュエントリが存在する場合には、
タグヒット線nを有効にし、これらが不一致の場合には
タグヒット線nを無効にする。
Next, the operation of the second embodiment described above will be explained with reference to FIG. The comparator 27 enables the hit determination line f in the case of a hit, based on the result of comparison between the address information in the tag memory 12 and the address to be accessed, and whether the control bit is valid or invalid. In this case, the hit determination line f is invalidated, and based only on the comparison between the address information and the address to be accessed, if they match, that is, the cache data memory 11 is determined to be the target to be accessed. If there is a cache entry containing data with
Tag hit line n is enabled, and if they do not match, tag hit line n is disabled.

【0076】制御回路26は、キャッシュデータメモリ
11にアクセスの対象であるデータを含むキャッシュエ
ントリが存在し、タグヒット線nが有効である場合、共
有バスに書き込みを行ったときに、タグメモリ12の制
御ビットが無効を示していれば、これに有効情報を書き
込む。 また、制御回路26は、キャッシュデータメモリ11に
アクセスの対象であるデータを含むキャッシュエントリ
が存在し、タグヒット線nが有効である場合、共有バス
上の他プロセッサによる不可分サイクルの排他読み出し
を検出したときに、タグメモリ12の制御ビットが有効
を示していれば何も行わなず、タグメモリ12の制御ビ
ットが無効を示していれば、これに有効情報を書き込ん
でキャッシュデータメモリ11に存在するアクセスの対
象になっているデータを含むキャッシュエントリを有効
化する。
When a cache entry including data to be accessed exists in the cache data memory 11 and the tag hit line n is valid, the control circuit 26 controls the tag memory 12 when writing to the shared bus. If the control bit of indicates invalid, valid information is written there. Further, if a cache entry including data to be accessed exists in the cache data memory 11 and the tag hit line n is valid, the control circuit 26 detects exclusive readout of the indivisible cycle by another processor on the shared bus. When the control bit of the tag memory 12 indicates valid, nothing is done; if the control bit of the tag memory 12 indicates invalid, valid information is written to this and the data exists in the cache data memory 11. Validate the cache entry that contains the data that is being accessed.

【0077】なお、制御回路26は、アクセスの対象に
なっているデータを含むキャッシュエントリがキャッシ
ュデータメモリ11に存在し、タグヒット線nが有効で
ある場合、他プロセッサによる共有バス上の不可分サイ
クルを伴わない排他的読み出しを検出したときに、タグ
メモリ12の制御ビットが有効を示していれば、タグメ
モリ12の制御ビットに無効情報を書き込んでキャッシ
ュデータメモリ11上のキャッシュエントリを無効化す
る。上記以外の動作は実施例1と同じである。
[0077] If a cache entry containing the data to be accessed exists in the cache data memory 11 and the tag hit line n is valid, the control circuit 26 controls the atomic cycle on the shared bus by other processors. When exclusive read without accompanying is detected, if the control bit of the tag memory 12 indicates valid, invalidation information is written to the control bit of the tag memory 12 to invalidate the cache entry on the cache data memory 11. . Operations other than those described above are the same as in the first embodiment.

【0078】次に、この発明の実施例2を用いた密結合
型マルチプロセッサシステムにおいて、プロセッサ1〜
4が同時にスヌープロックを要求して競合が発生した場
合の共有バス上に発生するバスサイクルについて、図5
を参照しながら説明する。図5はこの発明の実施例2の
キャッシュメモリを用いた密結合型マルチプロセッサシ
ステムにおいてスヌープロックが実行される場合の共有
バス上のアクセスを示すタイミング図である。図5にお
いて、REは排他読み出しであり、Rは読み出しである
Next, in a tightly coupled multiprocessor system using the second embodiment of the present invention, processors 1 to 1
Figure 5 shows the bus cycles that occur on the shared bus when 4 requests the snoop lock at the same time and a conflict occurs.
This will be explained with reference to. FIG. 5 is a timing diagram showing accesses on a shared bus when a snoop lock is executed in a tightly coupled multiprocessor system using a cache memory according to a second embodiment of the present invention. In FIG. 5, RE is exclusive read and R is read.

【0079】初期状態において、プロセッサ1〜4のそ
れぞれのキャッシュメモリ5〜8にはロックビットを含
むキャッシュメモリエントリは存在しない。
In the initial state, there are no cache memory entries including lock bits in the cache memories 5 to 8 of the processors 1 to 4, respectively.

【0080】時刻t1において、プロセッサ1が共有バ
スの使用権を獲得し、不可分サイクルを開始し、排他読
み出しによってロックビットを読み出す。これによって
、プロセッサ1はロックビットへの書き込みを行う権利
(所有権)を得、プロセッサ1のキャッシュメモリ5に
おいて、ロックビットを含むキャッシュエントリができ
る。このとき、プロセッサ2のキャッシュメモリ6、プ
ロセッサ3のキャッシュメモリ7又はプロセッサ4のキ
ャッシュメモリ8にはロックビットを含むキャッシュエ
ントリが存在しないので、キャッシュメモリ6、キャッ
シュメモリ7及びキャッシュメモリ8は何も動作しない
At time t1, processor 1 acquires the right to use the shared bus, starts an atomic cycle, and reads the lock bit by exclusive reading. As a result, the processor 1 obtains the right (ownership) to write to the lock bit, and a cache entry including the lock bit is created in the cache memory 5 of the processor 1. At this time, since there is no cache entry including the lock bit in the cache memory 6 of the processor 2, the cache memory 7 of the processor 3, or the cache memory 8 of the processor 4, the cache memory 6, the cache memory 7, and the cache memory 8 are empty. Do not work.

【0081】続いて、プロセッサ1はロックビットに書
き込みを行って不可分サイクルを終了する。このとい、
キャッシュメモリ5においてロックビットを含むキャッ
シュエントリが有効化される。これにより、プロセッサ
1はスヌープロックを獲得する。そして、プロセッサ1
は共有資源の操作を始める。
Processor 1 then writes to the lock bit and ends the atomic cycle. This time,
The cache entry including the lock bit is validated in the cache memory 5. As a result, processor 1 acquires the snoop lock. And processor 1
begins manipulating shared resources.

【0082】時刻t2において、プロセッサ2が共有バ
スの使用権を獲得し、不可分サイクルを開始し、排他読
み出しによってロックビットを読み出す。このとき、キ
ャッシュメモリ6において、ロックビットを含むキャッ
シュエントリができ、ロックビットの所有権はキャッシ
ュメモリ6に移る。また、このとき、キャッシュメモリ
5がプロセッサ2による共有バス上の不可分サイクルの
排他読み出しを検出しても、キャッシュメモリ5におい
てロックビットを含むキャッシュエントリは無効化され
ない。続いて、プロセッサ2はロックビットに書き込み
を行って不可分サイクルを終了する。このとき、キャッ
シュメモリ6においてロックビットを含むキャッシュエ
ントリが有効化される。既にプロセッサ1がスヌープロ
ックを獲得しているので、プロセッサ2はスヌープロッ
クの獲得に失敗する。
At time t2, processor 2 acquires the right to use the shared bus, starts an atomic cycle, and reads the lock bit by exclusive reading. At this time, a cache entry including the lock bit is created in the cache memory 6, and ownership of the lock bit is transferred to the cache memory 6. Further, at this time, even if the cache memory 5 detects exclusive reading of the indivisible cycle on the shared bus by the processor 2, the cache entry including the lock bit is not invalidated in the cache memory 5. Processor 2 then writes to the lock bit to end the atomic cycle. At this time, the cache entry including the lock bit is validated in the cache memory 6. Since processor 1 has already acquired the snoop lock, processor 2 fails to acquire the snoop lock.

【0083】時刻t3において、プロセッサ3が共有バ
スの使用権を獲得し、不可分サイクルを開始し、排他読
み出しによってロックビットを読み出す。このとき、キ
ャッシュメモリ7において、ロックビットを含むキャッ
シュエントリができ、ロックビットの所有権はキャッシ
ュメモリ7に移る。また、このとき、キャッシュメモリ
5及びキャッシュメモリ6がプロセッサ3による共有バ
ス上の不可分サイクルの排他読み出しを検出しても、キ
ャッシュメモリ5及びキャッシュメモリ6においてロッ
クビットを含むキャッシュエントリは無効化されない。 続いて、プロセッサ3はロックビットに書き込みを行っ
て不可分サイクルを終了する。このとき、キャッシュメ
モリ7においてロックビットを含むキャッシュエントリ
が有効化される。既にプロセッサ1がスヌープロックを
獲得しているので、プロセッサ3はスヌープロックの獲
得に失敗する。
At time t3, processor 3 acquires the right to use the shared bus, starts an indivisible cycle, and reads the lock bit by exclusive reading. At this time, a cache entry including the lock bit is created in the cache memory 7, and ownership of the lock bit is transferred to the cache memory 7. Further, at this time, even if the cache memory 5 and the cache memory 6 detect exclusive reading of the indivisible cycle on the shared bus by the processor 3, the cache entry including the lock bit in the cache memory 5 and the cache memory 6 is not invalidated. Processor 3 then writes to the lock bit to end the atomic cycle. At this time, the cache entry including the lock bit in the cache memory 7 is validated. Since processor 1 has already acquired the snoop lock, processor 3 fails to acquire the snoop lock.

【0084】時刻t4において、今度はプロセッサ4が
共有バスの使用権を獲得し、不可分サイクルを開始し、
排他読み出しによってロックビットを読み出す。このと
き、キャッシュメモリ8において、ロックビットを含む
キャッシュエントリができ、ロックビットの所有権はキ
ャッシュメモリ8に移る。また、このとき、キャッシュ
メモリ5、キャッシュメモリ6及びキャッシュメモリ7
がプロセッサ4による共有バス上の不可分サイクルの排
他読み出しを検出しても、キャッシュメモリ5、キャッ
シュメモリ6及びキャッシュメモリ7においてロックビ
ットを含むキャッシュエントリは無効化されない。続い
て、プロセッサ4はロックビットに書き込みを行って不
可分サイクルを終了する。このとき、キャッシュメモリ
8においてロックビットを含むキャッシュエントリが有
効化される。既にプロセッサ1がスヌープロックを獲得
しているので、プロセッサ4はスヌープロックの獲得に
失敗する。
At time t4, processor 4 now acquires the right to use the shared bus and starts an indivisible cycle.
Read the lock bit using exclusive read. At this time, a cache entry including the lock bit is created in the cache memory 8, and ownership of the lock bit is transferred to the cache memory 8. Also, at this time, cache memory 5, cache memory 6, and cache memory 7
Even if processor 4 detects an exclusive read of an indivisible cycle on the shared bus, cache entries containing lock bits in cache memory 5, cache memory 6, and cache memory 7 are not invalidated. Processor 4 then writes to the lock bit to end the atomic cycle. At this time, the cache entry including the lock bit is validated in the cache memory 8. Since processor 1 has already acquired the snoop lock, processor 4 fails to acquire the snoop lock.

【0085】さらに続いて、プロセッサ2、プロセッサ
3及びプロセッサ4はロックビットを通常の読み出しに
よって読み出す(図2のステップu4)。キャッシュメ
モリ6、キャッシュメモリ7及びキャッシュメモリ8に
おいてロック状態のロックビットを含むキャッシュエン
トリが有効状態であるので、このときプロセッサ2、プ
ロセッサ3及びプロセッサ4はそれぞれキャッシュメモ
リ6、キャッシュメモリ7及びキャッシュメモリ8から
ロックビットを読み出す。
Further, processor 2, processor 3, and processor 4 read the lock bit by normal reading (step u4 in FIG. 2). Since the cache entry including the lock bit in the locked state is in the valid state in the cache memory 6, cache memory 7, and cache memory 8, the processor 2, processor 3, and processor 4 are in the cache memory 6, cache memory 7, and cache memory 8, respectively. Read the lock bit from 8.

【0086】そして、プロセッサ2、プロセッサ3及び
プロセッサ4は、それぞれのキャッシュメモリ6、キャ
ッシュメモリ7及びキャッシュメモリ8のレジスタをセ
ットする(図2のステップu5)。ロックビットはロッ
ク状態なので、図2のステップu7ではステップu6に
進み、プロセッサ2、プロセッサ3及びプロセッサ4は
、スヌープロックが解放されるまで図2のステップu6
〜u7のループを繰り返し、それぞれキャッシュメモリ
6、キャッシュメモリ7及びキャッシュメモリ8からロ
ックビットを読み出し続ける。
Processor 2, processor 3, and processor 4 then set the registers of cache memory 6, cache memory 7, and cache memory 8, respectively (step u5 in FIG. 2). Since the lock bit is in the locked state, step u7 of FIG. 2 proceeds to step u6, and processor 2, processor 3, and processor 4 perform step u6 of FIG. 2 until the snoop lock is released.
The loop from ~u7 is repeated to continue reading the lock bits from cache memory 6, cache memory 7, and cache memory 8, respectively.

【0087】時刻t5において、プロセッサ1が共有資
源の操作を終え、スヌープロックを解放するためにロッ
クビットをクリアする。このとき、ロックビットの所有
権はキャッシュメモリ8にあるので、プロセッサ1は、
まず不可分サイクルを伴わない排他読み出しを行ってロ
ックビットの所有権を獲得する。このとき、キャッシュ
メモリ5においてロックビットを含むキャッシュエント
リができる。続いて、プロセッサ1はロックビットに書
き込みを行ってロックビットをクリア状態にする。
At time t5, processor 1 finishes manipulating the shared resource and clears the lock bit to release the snoop lock. At this time, the ownership of the lock bit is in the cache memory 8, so the processor 1
First, exclusive read without involving atomic cycles is performed to acquire ownership of the lock bit. At this time, a cache entry including a lock bit is created in the cache memory 5. Subsequently, processor 1 writes to the lock bit to clear the lock bit.

【0088】一方、キャッシュメモリ6、キャッシュメ
モリ7及びキャッシュメモリ8は、プロセッサ1による
共有バス上の不可分サイクルを伴わない排他読み出しを
検出し、キャッシュメモリ6、キャッシュメモリ7及び
キャッシュメモリ8においてロックビットを含むキャッ
シュエントリが無効化される。
On the other hand, cache memory 6, cache memory 7, and cache memory 8 detect an exclusive read by processor 1 that does not involve an indivisible cycle on the shared bus, and lock bits are set in cache memory 6, cache memory 7, and cache memory 8. The cache entry containing the cache entry is invalidated.

【0089】時刻t6において、キャッシュメモリ6上
のロックビットを含むキャッシュエントリが時刻t5で
既に無効化されているので、図2のステップu6〜u7
のループを繰り返しているプロセッサ2は、図2のステ
ップu6でキャッシュメモリ6からロックビットの読み
出しを行ってミスを起こす。続いて、プロセッサ2は共
有バスの使用権を獲得し、共有メモリから通常の読み出
しによってロックビットを読み出す。このとき、キャッ
シュメモリ6において、ロックビットを含むキャッシュ
エントリができる。ロックビットは既にクリアされてい
るので、図2のステップu7でステップu1に進む。
At time t6, since the cache entry including the lock bit on the cache memory 6 has already been invalidated at time t5, steps u6 to u7 in FIG.
The processor 2 repeating the loop reads the lock bit from the cache memory 6 in step u6 of FIG. 2, causing a mistake. Processor 2 then acquires the right to use the shared bus and reads the lock bit from the shared memory by normal reading. At this time, a cache entry including a lock bit is created in the cache memory 6. Since the lock bit has already been cleared, the process proceeds from step u7 in FIG. 2 to step u1.

【0090】時刻t7において、プロセッサ2は、不可
分サイクルを開始し、共有メモリから排他読み出しによ
ってロックビットを読み出す。このとき、キャッシュメ
モリ6において、ロックビットを含むキャッシュエント
リができる。また、このとき、キャッシュメモリ6にお
いて、レジスタがリセットされ、またロックビットを含
むキャッシュエントリができる。また、このとき、キャ
ッシュメモリ5、キャッシュメモリ7及びキャッシュメ
モリ8は、プロセッサ2による共有バス上の不可分サイ
クルの排他読み出しを検出し、キャッシュメモリ5、キ
ャッシュメモリ7及びキャッシュメモリ8においてロッ
クビットを含むキャッシュエントリが有効化される。
At time t7, processor 2 starts an atomic cycle and reads the lock bit from the shared memory by exclusive reading. At this time, a cache entry including a lock bit is created in the cache memory 6. Also, at this time, the registers are reset in the cache memory 6, and a cache entry including a lock bit is created. Also, at this time, the cache memory 5, the cache memory 7, and the cache memory 8 detect the exclusive read of the indivisible cycle on the shared bus by the processor 2, and the cache memory 5, the cache memory 7, and the cache memory 8 include the lock bit. Cache entry is enabled.

【0091】続いて、キャッシュメモリ7及びキャッシ
ュメモリ8においてロックビットを含むキャッシュエン
トリが有効化されたので、図2のステップu6〜u7の
ループを繰り返しているプロセッサ3及びプロセッサ4
は、図2のステップu6でそれぞれのキャッシュメモリ
7及びキャッシュメモリ8からロックビットを読み出す
。ロックビットはロック状態なので、プロセッサ3及び
プロセッサ4は図2のステップu7でステップu6に進
み、スヌープロックが解放されるまで、図2のステップ
u6〜u7のループを繰り返し、それぞれキャッシュメ
モリ7及びキャッシュメモリ8からロックビットを読み
出し続ける。
Subsequently, since the cache entry including the lock bit has been validated in the cache memory 7 and the cache memory 8, the processor 3 and the processor 4 repeating the loop of steps u6 to u7 in FIG.
reads the lock bit from each cache memory 7 and cache memory 8 in step u6 of FIG. Since the lock bit is in the locked state, processor 3 and processor 4 proceed to step u6 at step u7 in FIG. 2, and repeat the loop of steps u6 to u7 in FIG. Continue reading the lock bit from memory 8.

【0092】続いて、プロセッサ2はロックビットに書
き込みを行ってスヌープロックを獲得し、不可分サイク
ルを終了する。このとき、キャッシュメモリ6において
ロックビットを含むキャッシュエントリが有効化される
。そして、プロセッサ2は共有資源の操作を始める。
[0092] Processor 2 then writes to the lock bit to acquire a snoop lock and ends the atomic cycle. At this time, the cache entry including the lock bit is validated in the cache memory 6. Processor 2 then begins operating the shared resource.

【0093】なお、プロセッサ2による時刻6での通常
の読み出しと時刻8での排他読み出しと時刻8での書き
込みとは不可分に行われ、この間共有バスは解放されな
い。
Note that the normal read at time 6, the exclusive read at time 8, and the write at time 8 by processor 2 are performed inseparably, and the shared bus is not released during this time.

【0094】以上説明したように、実施例2は、レジス
タ23、比較器27及び制御回路26を備え、スヌープ
ロックが解放された後、レジスタがセットされていると
きにミスが起こった場合に制御回路が不可分サイクルを
実行する。また、ロックビットを含むキャッシュエント
リが存在し、これが無効状態である場合に、共有バスに
不可分サイクルの書き込みを行ったときにロックビット
を含むキャッシュエントリを有効化する。さらにロック
ビットを含むキャッシュエントリが存在し、これが無効
状態である場合に、他プロセッサによる共有バス上の不
可分サイクルの排他読み出しを検出したときに、ロック
ビットを含むキャッシュエントリを有効化する。これら
のことから、実施例2を用いた密結合型マルチプロセッ
サシステムにおいて、複数のプロセッサによる共有バス
上での競合発生時に、共有バスへのアクセスを従来例の
キャッシュメモリを用いた場合と比べて減少させること
ができる。
As explained above, the second embodiment includes the register 23, the comparator 27, and the control circuit 26, and performs control when a mistake occurs while the register is set after the snoop lock is released. The circuit executes an atomic cycle. Furthermore, if a cache entry including a lock bit exists and is in an invalid state, the cache entry including the lock bit is enabled when an atomic cycle is written to the shared bus. Furthermore, if a cache entry including a lock bit exists and is in an invalid state, the cache entry including the lock bit is enabled when exclusive reading of an indivisible cycle on the shared bus by another processor is detected. Based on these facts, in the tightly coupled multiprocessor system using the second embodiment, when contention occurs on the shared bus among multiple processors, access to the shared bus is reduced compared to when using the cache memory of the conventional example. can be reduced.

【0095】[0095]

【発明の効果】この発明の請求項1に係るキャッシュメ
モリは、以上説明したとおり、共有バへのアクセスを不
可分サイクルで行うか否かを指示するレジスタを備えた
ことにより、密結合型マルチプロセッサシステムにおい
て共有バスの使用率を低くすることができる。
Effects of the Invention As explained above, the cache memory according to claim 1 of the present invention is equipped with a register for instructing whether or not to access the shared memory in an atomic cycle, so that it can be used in a tightly coupled multiprocessor. It is possible to reduce the usage rate of the shared bus in the system.

【0096】また、この発明の請求項2に係るキャッシ
ュメモリは共有バスへのアクセスを不可分サイクルで行
うか否かを指示するレジスタ及び上記共有バス上への所
定のアクセスサイクルを検出したときに、対応するキャ
ッシュエントリが無効状態で存在するならば、上記対応
するキャッシュエントリを有効状態に変える制御手段を
備えたことにより、密結合型マルチプロセッサシステム
において共有バスの使用率を更に低くすることができる
Further, the cache memory according to claim 2 of the present invention includes a register for instructing whether or not access to the shared bus is to be performed in atomic cycles, and when a predetermined access cycle to the shared bus is detected, By providing the control means for changing the corresponding cache entry to a valid state if the corresponding cache entry exists in an invalid state, it is possible to further reduce the usage rate of the shared bus in a tightly coupled multiprocessor system. .

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

【図1】この発明の実施例1を示すブロック図である。FIG. 1 is a block diagram showing a first embodiment of the present invention.

【図2】この発明の実施例1に接続されたプロセッサに
よるスヌープロック動作を示すフローチャートである。
FIG. 2 is a flowchart showing a snoop lock operation by a processor connected to the first embodiment of the present invention.

【図3】この発明の実施例1に接続されたプロセッサに
よるスヌープロック動作時の共有バスへのアクセスを示
すタイミングチャートである。
FIG. 3 is a timing chart showing access to a shared bus during a snoop lock operation by a processor connected to the first embodiment of the present invention.

【図4】この発明の実施例2を示すブロック図である。FIG. 4 is a block diagram showing a second embodiment of the invention.

【図5】この発明の実施例2に接続されたプロセッサに
よるスヌープロック動作時の共有バスへのアクセスを示
すタイミングチャートである。
FIG. 5 is a timing chart showing access to a shared bus during a snoop lock operation by a processor connected to the second embodiment of the present invention.

【図6】従来のキャッシュメモリが用いられている密結
合型マルチプロセッサシステムを示す構成図である。
FIG. 6 is a configuration diagram showing a tightly coupled multiprocessor system using a conventional cache memory.

【図7】従来のキャッシュメモリを示すブロック図であ
る。
FIG. 7 is a block diagram showing a conventional cache memory.

【図8】従来のキャッシュメモリに接続されたプロセッ
サによるスヌープロック動作を示すフローチャートであ
る。
FIG. 8 is a flowchart showing a snoop lock operation by a processor connected to a conventional cache memory.

【図9】従来例に接続されたプロセッサによるスヌープ
ロック動作時の共有バスへのアクセスを示すタイミング
チャートである。
FIG. 9 is a timing chart showing access to a shared bus during a snoop lock operation by a processor connected to a conventional example.

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

1〜4    プロセッサ 5〜8    キャッシュメモリ 9    共有メモリ 10    共有バス 11    キャッシュデータメモリ 12    タグメモリ 23    レジスタ 24    不可分サイクル検出器 25、26    制御回路 18、27    比較器 1 to 4 Processor 5-8 Cache memory 9 Shared memory 10 Shared bus 11 Cache data memory 12 Tag memory 23 Register 24 Indivisible cycle detector 25, 26 Control circuit 18, 27 Comparator

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】  密結合型マルチプロセッサシステム内
で、複数のプロセッサのそれぞれに固有に接続され、か
つ共有バスを介して共有メモリに接続されるキャッシュ
メモリにおいて、上記共有バスへのアクセスを不可分サ
イクルで行うか否かを指示するレジスタを備えたことを
特徴とするキャッシュメモリ。
1. In a tightly coupled multiprocessor system, in a cache memory that is uniquely connected to each of a plurality of processors and connected to a shared memory via a shared bus, access to the shared bus is performed in an atomic cycle. A cache memory characterized by comprising a register for instructing whether or not to perform a cache memory.
【請求項2】  密結合型マルチプロセッサシステム内
で、複数のプロセッサのそれぞれに固有に接続され、か
つ共有バスを介して共有メモリに接続されるキャッシュ
メモリにおいて、上記共有バスへのアクセスを不可分サ
イクルで行うか否かを指示するレジスタ及び上記共有バ
ス上のロックビットへの所定のアクセスサイクルを検出
したときに、対応するキャッシュエントリが無効状態で
存在するならば、上記対応するキャッシュエントリを有
効状態に変える制御手段を備えたことを特徴とするキャ
ッシュメモリ。
2. In a tightly coupled multiprocessor system, in a cache memory that is uniquely connected to each of a plurality of processors and connected to a shared memory via a shared bus, access to the shared bus is performed in an atomic cycle. When a predetermined access cycle is detected to the lock bit on the shared bus and the register that instructs whether or not to perform the operation, if the corresponding cache entry exists in the invalid state, the corresponding cache entry is set to the valid state. A cache memory characterized by comprising a control means for changing the cache memory.
JP3124101A 1991-05-29 1991-05-29 Cache memory Pending JPH04350743A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3124101A JPH04350743A (en) 1991-05-29 1991-05-29 Cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3124101A JPH04350743A (en) 1991-05-29 1991-05-29 Cache memory

Publications (1)

Publication Number Publication Date
JPH04350743A true JPH04350743A (en) 1992-12-04

Family

ID=14876953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3124101A Pending JPH04350743A (en) 1991-05-29 1991-05-29 Cache memory

Country Status (1)

Country Link
JP (1) JPH04350743A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116885A (en) * 2008-11-28 2009-05-28 Fujitsu Ltd Computer and control method
JP2010517144A (en) * 2007-01-23 2010-05-20 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and system for achieving both locking fairness and locking performance with spin lock

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010517144A (en) * 2007-01-23 2010-05-20 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and system for achieving both locking fairness and locking performance with spin lock
JP2009116885A (en) * 2008-11-28 2009-05-28 Fujitsu Ltd Computer and control method

Similar Documents

Publication Publication Date Title
EP0061570B1 (en) Store-in-cache multiprocessor system with checkpoint feature
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
US6801986B2 (en) Livelock prevention by delaying surrender of ownership upon intervening ownership request during load locked / store conditional atomic memory operation
US7523260B2 (en) Propagating data using mirrored lock caches
US4891749A (en) Multiprocessor storage serialization apparatus
US5261106A (en) Semaphore bypass
US8321635B2 (en) Synchronizing commands for preventing data corruption
US7620954B2 (en) Mechanism for handling load lock/store conditional primitives in directory-based distributed shared memory multiprocessors
EP1307818B1 (en) Implementing locks in a distributed processing system
US7120836B1 (en) System and method for increasing cache hit detection performance
US11445020B2 (en) Circuitry and method
US6745274B1 (en) Apparatus and method for synchronizing multiple accesses to common resources
CN101061462B (en) Multiprocessor system and exclusive control method therein
US20040111565A1 (en) High speed memory cloner with extended cache coherency protocols and responses
US5297267A (en) System and method for serialization control of accesses to a common main storage
US6138206A (en) Data register for multicycle data cache read
JP2776759B2 (en) Lock request control device
US20060236040A1 (en) Multiprocessor system for preventing starvation in case of occurring address competition and method thereof
JP4565786B2 (en) Minimizing the use of bus command code points to request the start and end of locks
US6986013B2 (en) Imprecise cache line protection mechanism during a memory clone operation
JPH04350743A (en) Cache memory
KR960003065B1 (en) Information processing apparatus
JPH04296951A (en) Cache memory
US20140006722A1 (en) Multiprocessor system, multiprocessor control method and processor
JP2848437B2 (en) Multi-cluster exclusive control unit