JPH0749809A - Cache memory controller - Google Patents

Cache memory controller

Info

Publication number
JPH0749809A
JPH0749809A JP5215299A JP21529993A JPH0749809A JP H0749809 A JPH0749809 A JP H0749809A JP 5215299 A JP5215299 A JP 5215299A JP 21529993 A JP21529993 A JP 21529993A JP H0749809 A JPH0749809 A JP H0749809A
Authority
JP
Japan
Prior art keywords
cache memory
processor
data
processor element
signal
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.)
Granted
Application number
JP5215299A
Other languages
Japanese (ja)
Other versions
JP3097941B2 (en
Inventor
Masatoshi Sato
正俊 佐藤
Koichi Takeda
浩一 武田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP05215299A priority Critical patent/JP3097941B2/en
Publication of JPH0749809A publication Critical patent/JPH0749809A/en
Application granted granted Critical
Publication of JP3097941B2 publication Critical patent/JP3097941B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To prevent the performance of a large-scale multiprocessor system from decreasing and guarantee no contradiction by dividing an operation group of processor elements and putting them in synchronous units which exclusively use a network only at the time of signal transmission. CONSTITUTION:The processor elements 10-1 to 10-n are connected to a common bus 30. The synchronous unit control parts 13-1 to 13-n in the respective processor elements 10-1 to 10-n perform control so that the common bus is exclusively used only at the time of signal transmission. Monitor parts 14-1 to 14-n after exclusively using the common bus 30 by the synchronous unit control parts 13-1 to 13-n monitor the common bus 30 only for a maximum time required to receive a response to a request. State management parts 15-1 to 15-n determine the states of data of cache memories 12-1 to 12-n according to the contents of a signal which is inputted within the monitor time. Consequently, the utilization efficiency of the common bus 30 is improved to prevent the speed of the large-scale common bus from decreasing.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はマルチプロセッサシステ
ムにおけるキャッシュメモリ制御装置に関し、特にその
キャッシュメモリのデータの無矛盾化方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cache memory control device in a multiprocessor system, and more particularly to a method for making data in the cache memory consistent.

【0002】[0002]

【従来の技術】複数のプロセッサと、これらプロセッサ
が共有するメインメモリ(主記憶装置)とを共有バスを
介して接続したマルチプロセッサシステムでは、各プロ
セッサのアクセスが全て共有バスに集中することを避け
るため、各プロセッサはそれぞれキャッシュメモリを備
えているのが一般的である。一方、このようなマルチプ
ロセッサシステムでは、各プロセッサがそれぞれ個別に
キャッシュメモリを持つことから、同一のデータのコピ
ーが複数のキャッシュメモリに存在することになり、従
って、これらのデータの統一性を保つ必要がある。
2. Description of the Related Art In a multiprocessor system in which a plurality of processors and a main memory (main memory device) shared by the processors are connected via a shared bus, it is possible to avoid all accesses of the processors from being concentrated on the shared bus. Therefore, each processor is generally equipped with a cache memory. On the other hand, in such a multiprocessor system, since each processor has its own cache memory, copies of the same data exist in a plurality of cache memories, thus maintaining the consistency of these data. There is a need.

【0003】そこで、マルチプロセッサシステムでは、
各プロセッサの有するキャッシュメモリのデータに変更
が生じた場合、メインメモリだけでなく、他のキャッシ
ュメモリにもそのデータ変更を知らせて、システム内の
データの統一性を保つようにしており、この制御の取り
決めをキャッシュメモリの無矛盾化(コヒーレンシ)プ
ロトコルといい、種々のプロトコルが提案されている。
そして、これらのプロトコルでは、その無矛盾化を行う
ために次のような構成をとっている。
Therefore, in a multiprocessor system,
When there is a change in the data in the cache memory of each processor, not only the main memory but also other cache memories are notified of the data change, and the consistency of the data in the system is maintained. Is called a cache memory consistency (coherency) protocol, and various protocols have been proposed.
Then, these protocols have the following configurations in order to make them consistent.

【0004】即ち、各プロセッサがある操作を行う場合
は、その操作が終了するまで共有バスを専有し、かつ、
共有バス上にその操作に対応した信号を放送する。一
方、他のプロセッサは共有バスを監視することにより、
対応するブロックをキャッシュメモリに持っている場合
は、その信号に従ってブロックの状態を変更するといっ
た処理により無矛盾化を保証するものである。
That is, when each processor performs an operation, it occupies the shared bus until the operation is completed, and
The signal corresponding to the operation is broadcast on the shared bus. On the other hand, other processors monitor the shared bus,
When the corresponding block is held in the cache memory, the consistency is guaranteed by the process of changing the state of the block according to the signal.

【0005】例えば、このような無矛盾化のプロトコル
としてイリノイプロトコルにおけるプロセッサ・リード
・ミスの場合を以下に説明する。 (a)プロセッサがリード動作を行い、キャッシュミス
を起こすと、プロセッサはリードミス信号を有意にし、
共有バスにデータを要求する。 (b1)データが他のキャッシュメモリから送られてく
ると、データを「Shared Clean」の状態で
登録する(通常、メインメモリのデータよりも別のキャ
ッシュメモリからのデータの方が早くかつ優先的に届く
ようになっている)。 (b2)他のキャッシュメモリにデータが無い場合はメ
インメモリからデータが送られ、この場合はデータを
「Private Clean」の状態で登録する。
For example, a case of processor read miss in the Illinois protocol will be described below as such a consistent protocol. (A) When the processor performs a read operation and causes a cache miss, the processor makes the read miss signal significant,
Request data from the shared bus. (B1) When data is sent from another cache memory, the data is registered in the "Shared Clean" state (usually, data from another cache memory is faster and has higher priority than data in the main memory). To reach). (B2) If there is no data in the other cache memory, the data is sent from the main memory, and in this case, the data is registered in the "Private Clean" state.

【0006】このように、従来の無矛盾化プロトコルで
は、(a)と(b1)または(b2)との二つの操作
を、一つの不可分の操作、即ち、(a)の操作が開始さ
れてから(b1)または(b2)の操作が終了するまで
を一つの同期単位とし、この間はバスの専有状態を解除
せずに行っていた。
As described above, in the conventional consistent protocol, the two operations (a) and (b1) or (b2) are combined into one indivisible operation, that is, after the operation of (a) is started. Until the operation of (b1) or (b2) is completed, it is regarded as one synchronization unit, and during this period, the bus exclusive state is not released.

【0007】[0007]

【発明が解決しようとする課題】しかしながら、上記従
来の無矛盾化方式における「いくつかの操作群をバス上
の不可分の操作として扱うこと」の制限は、マルチプロ
セッサが小規模なものではさほど問題は生じないもの
の、大規模なシステムやバスを汎用的なネットワーク結
合網に置き換えた場合は、大きな問題となる。例えば、
大規模なマルチプロセッサシステムを考えた場合、その
バスを流れる信号の伝搬遅延は無視できないものとな
る。また、汎用的なネットワーク結合網を考えた場合も
同様である。
However, the limitation of "treating some operation groups as indivisible operations on the bus" in the above-mentioned conventional consistent method is not so problematic in a small multiprocessor. Although it does not occur, it becomes a big problem when a large-scale system or bus is replaced with a general-purpose network connection network. For example,
Considering a large-scale multiprocessor system, the propagation delay of signals flowing through the bus cannot be ignored. The same applies when a general network connection network is considered.

【0008】即ち、このような大規模なシステムに従来
と同様の同期単位を設定することを考えた場合、キャッ
シュメモリの無矛盾化を保証するためには、伝搬遅延時
間を考慮し、そのシステムにおける最大遅延時間を同期
単位としなければならない。その結果、システムの規模
が大きくなればなるほど一つのプロセッサの操作による
ネットワークの専有時間が長くなってシステムの性能が
低下してしまうことから、このような構成は、到底採用
できるものではなかった。
That is, when setting the same synchronization unit as in the conventional system in such a large-scale system, in order to guarantee the consistency of the cache memory, the propagation delay time is taken into consideration, and The maximum delay time shall be the synchronization unit. As a result, the larger the system size, the longer the network occupancy time due to the operation of one processor and the lower the system performance. Therefore, such a configuration cannot be adopted at all.

【0009】一方、このような問題に対処するため、各
プロセッサがバスからの信号の遅れを考慮せず、それぞ
れが独自に同期単位を設定することが考えられる。即
ち、バスの専有を、各プロセッサの操作単位とする方法
である。しかしながら、このような方法を用いた場合、
これまでのキャッシュメモリの無矛盾化方式では、以下
のような問題が発生する。即ち、これまでのキャッシュ
メモリの無矛盾化方式では、各キャッシュメモリの状態
遷移の事象を、システムとしてのグローバルクロックに
より、事象発生と同時に放送していた。ところが、上記
のような同期単位を設定した場合、このような事象発生
の放送は遅れを伴い、しかも発生源からの距離により、
通知の逆転を伴って伝えられる場合が発生する。従っ
て、このような通知の逆転といったことから、キャッシ
ュメモリの無矛盾化を保証することができないといった
問題が発生する。
On the other hand, in order to deal with such a problem, it is conceivable that each processor sets its own synchronization unit without considering the delay of the signal from the bus. That is, this is a method in which the bus is exclusively used as an operation unit of each processor. However, when using such a method,
The conventional cache memory consistency method has the following problems. That is, in the cache memory consistent method so far, the state transition event of each cache memory is broadcast at the same time as the event occurrence by the global clock as the system. However, when the above-mentioned synchronization unit is set, the broadcast of such an event occurrence is delayed, and due to the distance from the source,
Occasionally, there is a case where the notification is reversed. Therefore, such a reversal of the notification causes a problem that the consistency of the cache memory cannot be guaranteed.

【0010】このような問題を、上述したイリノイプロ
トコルによるプロセッサ・リード・ミスを例にとって説
明する。先ず、従来では上述したように、(a)の操作
と(b1)または(b2)の操作を一つの不可分の操作
で行っていた。これに対し、操作を(a)、(b1)、
(b2)のそれぞれに分割し、各操作を独自に行うこと
を考える。
Such a problem will be described by taking a processor read miss by the above-mentioned Illinois protocol as an example. First, as described above, conventionally, the operation (a) and the operation (b1) or (b2) are performed by one indivisible operation. On the other hand, the operations (a), (b1),
Consider dividing into (b2) and performing each operation independently.

【0011】図2に、これを説明するためのマルチプロ
セッサシステムの要部を示す。尚、この図2において
は、煩雑さを避けるため、プロセッサ等の図示を省略し
ている。図において、1、2はキャッシュメモリを示し
ており、これらキャッシュメモリ1、2とメインメモリ
3とがバス4を介して接続されているとする。また、操
作がキャッシュメモリ1/メインメモリ3間を伝わる時
間をn、キャッシュメモリ2/メインメモリ3間を伝わ
る時間をmとし、n>mの関係がある。
FIG. 2 shows a main part of a multiprocessor system for explaining this. Note that, in FIG. 2, a processor and the like are omitted in order to avoid complication. In the figure, reference numerals 1 and 2 denote cache memories, and it is assumed that the cache memories 1 and 2 and the main memory 3 are connected via a bus 4. Further, there is a relation of n> m, where n is a time during which the operation is transmitted between the cache memory 1 and the main memory 3, and m is a time during which the operation is transmitted between the cache memory 2 and the main memory 3.

【0012】このような構成において、キャッシュメモ
リ1がダーティの時、キャッシュメモリ2に対してプロ
セッサ・リード・ミスが生じ、キャッシュメモリ1のブ
ロックを読む場合を考える。そして、この時点では、キ
ャッシュメモリ1に正しいデータがあり、メインメモリ
3には古い正しくないデータがあるとする(キャッシュ
メモリ1でライトヒットが繰り返され、データが更新さ
れている)。
Consider the case where a block of the cache memory 1 is read when a processor read miss occurs in the cache memory 2 when the cache memory 1 is dirty in such a configuration. Then, at this time, it is assumed that the cache memory 1 has correct data and the main memory 3 has old incorrect data (the write hit is repeated in the cache memory 1 and the data is updated).

【0013】以下に、事象の流れを示す。 キャッシュメモリ2で、ブロックXに対して、プロセ
ッサ・リード・ミスが生じる。 上記と同時刻にキャッシュメモリ1で、ブロックX
に対して、スワップアウト(メインメモリ3へのデータ
の書き戻し)が生じる。 m時間後、キャッシュメモリ2はメインメモリ3より
データ(古い/正しくない)を受け取る。即ち、n>m
の関係により、この時点ではキャッシュメモリ1からの
データはメインメモリ3に届いていない。 n時間後、メインメモリ3は、キャッシュメモリ1か
らのデータ(正しい)を受け取る。 n+m時間後、キャッシュメモリ1はキャッシュメモ
リ2からのデータ要求を受けるがブロックXはスワップ
アウトのため既にない。尚、この場合、本来ならば、キ
ャッシュメモリ1がキャッシュメモリ2のデータ要求を
処理する。 従って、キャッシュメモリ2は正しいデータを受け取
ることができない。
The flow of events is shown below. In the cache memory 2, a processor read miss occurs for the block X. Block X in cache memory 1 at the same time as above
On the other hand, swap-out (write-back of data to the main memory 3) occurs. After m hours, the cache memory 2 receives the data (old / incorrect) from the main memory 3. That is, n> m
Due to the above relationship, the data from the cache memory 1 has not reached the main memory 3 at this point. After n hours, the main memory 3 receives the data (correct) from the cache memory 1. After n + m time, the cache memory 1 receives the data request from the cache memory 2, but the block X is not present because it is swapped out. In this case, the cache memory 1 normally processes the data request of the cache memory 2 in this case. Therefore, the cache memory 2 cannot receive correct data.

【0014】上記のような操作において、従来の方式で
は、プロセッサ・リード・ミスまたはスワップアウトの
いずれか一方の事象がバス権を取り、プロセッサ・リー
ド・ミスがバス権を取った場合はスワップアウトが待た
され、キャッシュメモリ1からの正しいデータがキャッ
シュメモリ2に転送される。また、スワップアウトがバ
ス権を取った場合は、プロセッサ・リード・ミスが待た
され、スワップアウトがメインメモリ3に対して行われ
た後、メインメモリ3から正しいデータがキャッシュメ
モリ2に転送される。これに対して、上記のように操作
群を分割したものでは、別のキャッシュメモリからのデ
ータが早くかつ優先的に届くとは限らず、古いデータを
受け取ってしまい、キャッシュメモリの無矛盾化を保証
することができないといった問題点を有していた。
In the above-mentioned operation, in the conventional method, when either one of the processor read miss and the swap out takes the bus right, and the processor read miss takes the bus right, the swap out occurs. Is waited, and the correct data from the cache memory 1 is transferred to the cache memory 2. When the swap-out takes the bus right, the processor read miss is waited, the swap-out is performed to the main memory 3, and then the correct data is transferred from the main memory 3 to the cache memory 2. . On the other hand, when the operation group is divided as described above, data from another cache memory does not always arrive early and preferentially, old data is received and the consistency of the cache memory is guaranteed. It had a problem that it could not be done.

【0015】本発明は、上記従来の問題点を解決するた
めになされたもので、大規模なマルチプロセッサシステ
ムであっても性能の低下がなく、かつキャッシュメモリ
の無矛盾化を保証することのできるキャッシュメモリ制
御装置を提供することを目的とする。
The present invention has been made in order to solve the above-mentioned conventional problems. Even in a large-scale multiprocessor system, the performance is not deteriorated, and it is possible to guarantee the consistency of the cache memory. An object is to provide a cache memory control device.

【0016】[0016]

【課題を解決するための手段】本発明のキャッシュメモ
リ制御装置は、それぞれがプロセッサとキャッシュメモ
リとを備えたプロセッサエレメントを放送機能を有する
ネットワークに接続してなるマルチプロセッサシステム
のキャッシュメモリ制御装置において、前記それぞれの
プロセッサエレメントは、各プロセッサエレメントの信
号送出時のみ前記ネットワークを専有する同期単位制御
部と、前記プロセッサエレメントが前記ネットワークを
専有する権利を解放後、当該プロセッサエレメントから
の要求に対する応答が受信されるのに必要な最大時間だ
け前記ネットワークからの入力信号を監視する監視部
と、前記監視部による監視時間の間に、入力される信号
の内容に従って、前記要求を発生させた自キャッシュメ
モリにおけるデータの状態を決定する状態管理部とを備
えたことを特徴とするものである。
The cache memory control device of the present invention is a cache memory control device of a multiprocessor system in which processor elements each including a processor and a cache memory are connected to a network having a broadcasting function. , Each of the processor elements releases a right of monopolizing the network by the synchronization unit controller that exclusively occupies the network only when a signal is sent from each processor element, and then a response to a request from the processor element is released. A monitoring unit that monitors an input signal from the network for the maximum time required to be received, and a self-cache memory that generated the request according to the content of the input signal during the monitoring time by the monitoring unit. Data in It is characterized in that a status management unit that determines a state.

【0017】[0017]

【作用】本発明のキャッシュメモリ制御装置において
は、プロセッサエレメントは、例えば、リードミスが発
生し、このリードミスに対するデータ要求が発生した場
合、同期単位制御部は、データ要求時のみ共有バスやネ
ットワークを専有する権利を要求する。監視部は、プロ
セッサエレメントが上記の専有する権利を解放後、予め
定めた、要求に対する応答が受信されるのに必要な最大
時間だけ共有バスやネットワークから入力される信号を
監視する。
In the cache memory control device of the present invention, for example, when a read miss occurs in the processor element and a data request for this read miss occurs, the synchronization unit control unit occupies the shared bus or network only at the time of the data request. Claim the right to do. After the processor element releases the exclusive right, the monitoring unit monitors a signal input from the shared bus or the network for a predetermined maximum time required for receiving a response to the request.

【0018】状態管理部は、監視部が監視した時間に入
力された信号に基づき、キャッシュメモリのデータの状
態を決定する。例えば、監視時間内に、リードミスに対
するデータが入力されると共に、他のプロセッサエレメ
ントからライトヒット信号が入力された場合、入力され
たデータと他のプロセッサエレメントでライトヒットし
たデータは一致しなくなるため、入力したデータは無効
となり、キャッシュメモリの状態は「Invalid」
となる。また、他の場合でも、状態管理部は予め定めら
れたルールに従って監視時間後にそのキャッシュメモリ
の状態を決定する。従って、プロセッサエレメントは共
有バスやネットワークを専有する権利を明け渡した状態
でも、キャッシュメモリにおけるデータの無矛盾化は保
証することができる。
The state management unit determines the state of the data in the cache memory based on the signal input at the time monitored by the monitoring unit. For example, during the monitoring time, when the data for the read miss is input and the write hit signal is input from another processor element, the input data and the data hit by the other processor element do not match, The entered data is invalid and the cache memory status is "Invalid".
Becomes In addition, in other cases, the state management unit determines the state of the cache memory after the monitoring time according to a predetermined rule. Therefore, even when the processor element has given up the right to exclusively use the shared bus and the network, it is possible to guarantee the consistency of the data in the cache memory.

【0019】[0019]

【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は本発明のキャッシュメモリ制御装置の
実施例を示すブロック図である。図の装置は、複数のプ
ロセッサエレメント10(10−1〜10−n)とメイ
ンメモリ20と、共有バス(ネットワーク)30とから
なる。プロセッサエレメント10は、各々プロセッサ1
1(11−1〜11−n)と、キャッシュメモリ12
(12−1〜12−n)とからなる。尚、プロセッサエ
レメント10−2〜10−nの構成は、プロセッサエレ
メント10−1と同様であるため、内部の構成は図示省
略し、各プロセッサエレメント10に共通の構成は、プ
ロセッサ11およびキャッシュメモリ12として説明す
る。
Embodiments of the present invention will now be described in detail with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of a cache memory control device of the present invention. The illustrated apparatus includes a plurality of processor elements 10 (10-1 to 10-n), a main memory 20, and a shared bus (network) 30. The processor elements 10 are the processors 1 respectively.
1 (11-1 to 11-n) and the cache memory 12
(12-1 to 12-n). Since the processor elements 10-2 to 10-n have the same configuration as the processor element 10-1, the internal configuration is omitted from the drawing, and the configuration common to each processor element 10 is the processor 11 and the cache memory 12. As described below.

【0020】プロセッサ11は、各種の制御を司る制御
部であり、特に、共有メモリ型マルチプロセッサシステ
ムにおいて、キャッシュメモリ12とメインメモリ20
間のデータのライト/リード制御や各キャッシュメモリ
12間のデータ転送等の制御を行うものである。そし
て、プロセッサ11は、キャッシュメモリ12の制御装
置として、同期単位制御部13、監視部14、状態管理
部15とを有している。同期単位制御部13は、操作を
分割して同期単位とする機能を有している。尚、この分
割については後述する。
The processor 11 is a control unit that controls various controls, and particularly in a shared memory multiprocessor system, the cache memory 12 and the main memory 20.
The data write / read control between the cache memories 12 and the data transfer between the cache memories 12 are controlled. The processor 11 has a synchronization unit control unit 13, a monitoring unit 14, and a state management unit 15 as a control device of the cache memory 12. The synchronization unit controller 13 has a function of dividing an operation into synchronization units. Incidentally, this division will be described later.

【0021】また、監視部14は、バッファメモリ14
aを備え、予め定められた監視時間にバッファリングさ
れたデータを監視するためのものである。尚、ここで予
め定められた監視時間とは、プロセッサエレメント10
からある要求が発生した場合に、その要求の開始から応
答を受け取るまでに必要なシステムとしての最大遅れ時
間を指している。更に、状態管理部15は、予め、定め
られたルールを有し、監視部14による監視時間の間、
何らかの応答信号が入力された場合は、このルールに従
って、キャッシュメモリ12の状態を決定するものであ
る。
The monitoring unit 14 also includes a buffer memory 14
a for monitoring data buffered at a predetermined monitoring time. The predetermined monitoring time here means the processor element 10
When a request is issued from the system, it refers to the maximum system delay time required from the start of the request until the response is received. Further, the state management unit 15 has a predetermined rule, and during the monitoring time by the monitoring unit 14,
When any response signal is input, the state of the cache memory 12 is determined according to this rule.

【0022】キャッシュメモリ12は、キャッシュメモ
リとしての既知の機能を有すると共に、状態管理部15
によって格納されているデータブロックの状態が決定さ
れるものである。また、メインメモリ20は各プロセッ
サエレメント10が共有するメモリであり、共有バス3
0は、これらプロセッサエレメント10とメインメモリ
20とを接続するバスである。尚、本実施例では、複数
のプロセッサエレメント10と、これらプロセッサエレ
メント10の共有メモリであるメインメモリ20とを接
続するネットワークを共有バス30として説明するが、
この共有バス30は、複数のプロセッサエレメント10
間で放送機能を持つ汎用的なネットワークであっても同
様である。
The cache memory 12 has a known function as a cache memory and also has a state management unit 15
The state of the data block stored by is determined. The main memory 20 is a memory shared by the processor elements 10, and the shared bus 3
Reference numeral 0 is a bus connecting the processor element 10 and the main memory 20. In this embodiment, a network connecting the plurality of processor elements 10 and the main memory 20 which is a shared memory of these processor elements 10 will be described as a shared bus 30, but
The shared bus 30 includes a plurality of processor elements 10.
The same applies to a general-purpose network having a broadcasting function between them.

【0023】次に、上記同期単位制御部13による操作
の分割例をイリノイプロトコルの場合を例にとって説明
する。図3にイリノイプロトコルの状態遷移を示す。
尚、図3中、括弧内の番号は、以下の番号に対応してい
る。
Next, an example of division of the operation by the synchronization unit controller 13 will be described by taking the case of the Illinois protocol as an example. FIG. 3 shows the state transition of the Illinois protocol.
The numbers in parentheses in FIG. 3 correspond to the following numbers.

【0024】(1)プロセッサ・リード・ミス (a)プロセッサ11がリード動作を行い、キャッシュ
ミスを起こすと、リード・ミス信号を有意にし、共有バ
ス30にデータを要求する。 (b1)キャッシュメモリ12またはメインメモリ20
から送られてくるデータを待ち、データが別のキャッシ
ュメモリ12から送られてくると、データを「Shar
ed Clean」の状態で登録する。 (b2)メインメモリ20からデータが送られてきた場
合(他のキャッシュメモリ12にデータが無い場合)
は、データを「Private Clean」の状態で
登録する。
(1) Processor read miss (a) When the processor 11 performs a read operation and causes a cache miss, the read miss signal is made significant and data is requested to the shared bus 30. (B1) Cache memory 12 or main memory 20
Waits for the data sent from, and when the data is sent from another cache memory 12, the data is
Register in the state of "ed Clean". (B2) When data is sent from the main memory 20 (when there is no data in the other cache memory 12)
Registers data in the state of "Private Clean".

【0025】(2)バス・リード・ミス これは、共有バス30のスレーブとなっているプロセッ
サ11(他のプロセッサ11がリクエストを出している
状態でこのリクエストを受ける方のプロセッサ)がリク
エストされたデータのコピーを持っていて、「バス・リ
ード・ミス」を受け取った場合である。
(2) Bus read miss This is a request from the processor 11 that is a slave of the shared bus 30 (the processor that receives this request while another processor 11 is issuing the request). You have a copy of your data and you receive a "bus read miss".

【0026】状態が「Private Clean」
または「Shared Clean」の場合 (a)マスタ側のキャッシュメモリ12(リクエストを
出した方のプロセッサエレメントのキャッシュメモリ)
にリクエストされたデータをブロック転送し、キャッシ
ュメモリ12の状態を「Shared Clean」に
する。 状態が「Dirty」の場合 (a)マスタ側のキャッシュメモリ12およびメインメ
モリ20に、リクエストされたデータをブロック転送
し、キャッシュメモリ12の状態を「Shared C
lean」にする。
The state is "Private Clean"
Or in the case of "Shared Clean" (a) Cache memory 12 on the master side (cache memory of the processor element that issued the request)
Block-transfers the data requested to the cache memory 12 and sets the state of the cache memory 12 to "Shared Clean". When the status is "Dirty" (a) The requested data is block transferred to the cache memory 12 and the main memory 20 on the master side, and the status of the cache memory 12 is changed to "Shared C".
to "lean".

【0027】(3)プロセッサ・ライト・ヒット 状態が「Dirty」または「Private Cl
ean」の場合 (a)データは直ちにキャッシュメモリ12に書かれ、
状態を「Dirty」にする。 状態が「Shared Clean」の場合 (a)プロセッサ11は共有バス30に無効化信号を送
出する。また、データをキャッシュメモリ12に書き、
状態を「Dirty」にする。
(3) Processor write hit state is "Dirty" or "Private Cl"
In case of “ean” (a) The data is immediately written in the cache memory 12,
Set the state to "Dirty". When the state is "Shared Clean" (a) The processor 11 sends an invalidation signal to the shared bus 30. Also, write the data in the cache memory 12,
Set the state to "Dirty".

【0028】(4)プロセッサ・ライト・ミス (a)キャッシュミスを起こすと、ライト・ミス信号を
有意にし、共有バス30にデータを要求する。 (b)キャッシュメモリ12またはメインメモリ20か
ら送られてくるデータを待ち、データを「Dirty」
の状態でキャッシュメモリ12に登録する。また、この
時、キャッシュメモリ12からのデータを優先し、登録
する。そしてプロセッサ11がキャッシュメモリ12に
書込みを行う。
(4) Processor write miss (a) When a cache miss occurs, the write miss signal is made significant and the shared bus 30 is requested for data. (B) Wait for the data sent from the cache memory 12 or the main memory 20, and set the data to “Dirty”
In this state, it is registered in the cache memory 12. At this time, the data from the cache memory 12 is prioritized and registered. Then, the processor 11 writes to the cache memory 12.

【0029】(5)バス・ライト・ヒット 状態が「Shared Clean」の場合 (a)プロセッサ11は、対応するデータの状態を無効
化する。
(5) Bus write hit state is "Shared Clean" (a) The processor 11 invalidates the state of the corresponding data.

【0030】(6)バス・ライト・ミス 共有バス30のスレーブとなっているプロセッサ11が
リクエストされたデータのコピーを持っていて、「バス
・ライト・ミス」を受け取った場合 状態が「Private Clean」または「Sh
ared Clean」の場合 (a)マスタ側のキャッシュメモリ12に、リクエスト
されたデータをブロック転送し、キャッシュメモリ12
の状態を無効化する。 状態が「Dirty」の場合 (a)マスタ側のキャッシュメモリ12およびメインメ
モリ20に、リクエストされたデータをブロック転送
し、キャッシュメモリ12の状態を無効化する。
(6) Bus Write Miss When the processor 11 that is a slave of the shared bus 30 has a copy of the requested data and receives a "bus write miss", the status is "Private Clean". Or "Sh
in the case of "ared Clean" (a) Block transfer of the requested data to the cache memory 12 on the master side, and the cache memory 12
Disable the state of. When the status is “Dirty” (a) The requested data is block transferred to the cache memory 12 and the main memory 20 on the master side, and the status of the cache memory 12 is invalidated.

【0031】以上、(a)、(b)、(b1)、(b
2)といった操作が、それぞれ個別に一つの同期単位、
即ち、バス権を要求する単位として行われる。
Above, (a), (b), (b1), (b
Operations such as 2) are individually performed in one synchronization unit,
That is, it is performed as a unit for requesting the bus right.

【0032】そして、上記(1)プロセッサ・リード・
ミスと、(4)プロセッサ・ライト・ミスの場合、他の
キャッシュメモリ12あるいはメインメモリ20から送
られてくるデータを待つ必要があり、これらからの順序
は保証されていない。そこで、監視部14は、システム
としての最大遅れ時間の間、バッファメモリ14aに共
有バス30からの信号をバッファリングする。
Then, the above (1) processor read
In the case of the miss and (4) processor write miss, it is necessary to wait for the data sent from the other cache memory 12 or the main memory 20, and the order from these is not guaranteed. Therefore, the monitoring unit 14 buffers the signal from the shared bus 30 in the buffer memory 14a during the maximum delay time of the system.

【0033】更に、状態管理部15は、監視部14によ
る監視時間内に送られてきた信号に基づき、キャッシュ
メモリ12の状態を決定する。また、その決定のルール
は優先順位順に次のようになっている。 (1)他のキャッシュメモリ12からのスワップアウト (2)他のキャッシュメモリ12からのデータブロック
転送 (3)メインメモリ20からのデータブロック転送 状態管理部15は、このような優先順位に従い、監視時
間後にキャッシュメモリ12の状態を書き込むものであ
る。尚、プロセッサエレメント10の操作の分割は、共
有バス30に対する操作の分割であり、上記のようなキ
ャッシュメモリ12の状態遷移に関する操作の分割の必
要は無い。
Further, the state management unit 15 determines the state of the cache memory 12 based on the signal sent by the monitoring unit 14 within the monitoring time. In addition, the rules for the decision are as follows in order of priority. (1) Swap out from other cache memory 12 (2) Data block transfer from other cache memory 12 (3) Data block transfer from main memory 20 The state management unit 15 monitors in accordance with such priority order. The state of the cache memory 12 is written after a lapse of time. Incidentally, the division of the operation of the processor element 10 is the division of the operation on the shared bus 30, and it is not necessary to divide the operation regarding the state transition of the cache memory 12 as described above.

【0034】更に、信号の遅れ時間を考慮すると、同一
ブロックに対してあたかも同時に事象が発生したような
状態が存在する。このような場合の種々の状態遷移に関
して、二つのプロセッサエレメントを例にとって以下に
説明する。
Further, considering the signal delay time, there exists a state in which an event occurs at the same block as if the events occurred at the same time. Various state transitions in such a case will be described below by taking two processor elements as an example.

【0035】図4〜図10は、その状態を示す図であ
る。これらの図において、Pi、Pjは、それぞれプロ
セッサエレメントであり、各プロセッサエレメントP
i、Pjの時間軸で太線で示した長さが、共有バス30
上を流れる(放送される)信号を、監視部14が監視す
る時間を示している。
4 to 10 are views showing the state. In these drawings, Pi and Pj are processor elements, and each processor element P
The length indicated by the thick line on the time axis of i, Pj is the shared bus 30.
The time when the monitoring unit 14 monitors the signal flowing (broadcast) is shown.

【0036】[1]同一ブロックに対する複数のリード
・ミスが同時に起きた場合(図4) また、図4中、“read miss”とは、プロセッ
サがリードミスを起こしたことを表し、“RM”とはリ
ードミス信号、“SH”は共有応答、“shared”
はキャッシュメモリの状態がShared Clean
になったことを表している。(a)の場合は、プロセッ
サエレメントPiからリードミス信号がプロセッサエレ
メントPjに届かないうちに、プロセッサエレメントP
j側から同一ブロックに対してリードミス信号が出力さ
れた場合であり、(b)の場合は、プロセッサエレメン
トPiからリードミス信号がプロセッサエレメントPj
に届いた後、プロセッサエレメントPj側からリードミ
ス信号が出力された場合である。このような二つのパタ
ーンの場合、共にリードミス信号を受けたプロセッサP
iは共有にする応答SHを返し、自分の状態を「Sha
red Clean」にする。
[1] When a plurality of read misses to the same block occur at the same time (FIG. 4) Also, in FIG. 4, “read miss” means that the processor has made a read miss, and is “RM”. Is a read miss signal, “SH” is a shared response, and “shared”
Indicates that the cache memory status is Shared Clean
It has become. In the case of (a), before the read miss signal from the processor element Pi reaches the processor element Pj, the processor element P
This is the case where a read miss signal is output from the j side to the same block. In the case of (b), the read miss signal is output from the processor element Pi to the processor element Pj.
This is the case where the read miss signal is output from the processor element Pj side after the arrival at the. In the case of such two patterns, the processor P that has received the read miss signal
i returns a response SH to be shared and displays its own status as “Sha
"Red Clean".

【0037】即ち、これらプロセッサエレメントPi、
Pjは、リードミス信号を送出後、対応するデータのブ
ロックを他のプロセッサエレメントのキャッシュメモリ
12あるいはメインメモリ20から受け取るが、いずれ
の場合もこのブロックを共有し、かつメインメモリ20
のブロックとも一致しているため、「SharedCl
ean」となるものである。
That is, these processor elements Pi,
After sending the read miss signal, Pj receives the corresponding block of data from the cache memory 12 or the main memory 20 of another processor element. In either case, this block is shared and the main memory 20
Since it also matches the block of “SharedCl
ean ”.

【0038】[2]同一ブロックに対するリードミスと
ライトヒットが同時に起きた場合(図5) また、図5中、“write hit”とは、プロセッ
サがライトヒットを起こしたことを表し、“WH”とは
ライトヒット信号、“IV”は無効化応答を示してい
る。そして、“shared”はキャッシュメモリの状
態がSharedCleanであることを表し、更に、
“dirty”はキャッシュメモリの状態がdirty
になり、“invalid”は、キャッシュメモリの状
態がinvalidになったことを表している。
[2] When a read miss and a write hit for the same block occur at the same time (FIG. 5) Also, in FIG. 5, “write hit” means that the processor has caused a write hit, and is “WH”. Indicates a write hit signal, and “IV” indicates an invalidation response. Then, "shared" indicates that the state of the cache memory is SharedClean, and further,
“Dirty” indicates that the state of the cache memory is Dirty
And “invalid” indicates that the cache memory state has become invalid.

【0039】ここで、(a)は、プロセッサエレメント
Piからライトヒット信号がプロセッサエレメントPj
に届かないうちに、プロセッサエレメントPj側から同
一ブロックに対してリードミス信号が出力された場合で
あり、(b)の場合は、プロセッサエレメントPiから
ライトヒット信号がプロセッサエレメントPjに届いた
後、プロセッサエレメントPj側からリードミス信号が
出力された場合である。
Here, in (a), the write hit signal from the processor element Pi is the processor element Pj.
In the case of (b), the read hit signal is output to the same block before the processor element Pj reaches the processor element Pj. This is the case where the read miss signal is output from the element Pj side.

【0040】このような二つのパターンの場合、共にリ
ードミス信号を受けたプロセッサPiは無効化する応答
IVを返し、自分の状態を「Dirty」にする。ま
た、プロセッサエレメントPjは、無効化応答を受けた
ら、自分の状態を「Invalid」にする。即ち、プ
ロセッサエレメントPiのキャッシュメモリ12には、
新しいデータが書き込まれたため、そのブロックはメイ
ンメモリ20のブロックとは一致しなくなり、また、同
一のブロックを他のキャッシュメモリ12が持っていた
場合、そのデータは無効となるものである。
In the case of such two patterns, the processor Pi which has received the read-miss signal both returns the response IV for invalidation, and sets its own state to "Dirty". Further, when the processor element Pj receives the invalidation response, it sets its own state to “Invalid”. That is, in the cache memory 12 of the processor element Pi,
Since new data has been written, that block does not match the block in the main memory 20, and if another cache memory 12 has the same block, that data becomes invalid.

【0041】尚、プロセッサエレメントPjは、監視時
間後には、キャッシュメモリ12の状態が「Inval
id」となるため、その後、再度リードミス信号を送出
することになる。
It should be noted that the processor element Pj changes the state of the cache memory 12 to "Invalid" after the monitoring time.
Since it becomes "id", the read miss signal is transmitted again thereafter.

【0042】[3]同一ブロックに対するリードミスと
ライトミスが同時に起きた場合(図6) また、図6中、“write miss”はプロセッサ
がライトミスを起こしたことを表し、“WM”はライト
ミス信号を表している。ここで、(a)、(b)は、上
記[2]の場合と同様に、プロセッサエレメントPiか
らライトミス信号がプロセッサエレメントPjに届かな
いうちに、プロセッサエレメントPj側から同一ブロッ
クに対してリードミス信号が出力された場合、およびプ
ロセッサエレメントPiからライトミス信号がプロセッ
サエレメントPjに届いた後、プロセッサエレメントP
j側からリードミス信号が出力された場合である。ま
た、(c)は、プロセッサエレメントPjからのリード
ミス信号が先にプロセッサエレメントPiに届いた場合
である。
[3] When a read miss and a write miss for the same block occur at the same time (FIG. 6) Also, in FIG. 6, “write miss” indicates that the processor has caused a write miss, and “WM” indicates a write miss. Represents a signal. Here, in (a) and (b), as in the case of the above [2], a read miss is made to the same block from the processor element Pj side before the write miss signal from the processor element Pi reaches the processor element Pj. When the signal is output and after the write miss signal reaches the processor element Pj from the processor element Pi, the processor element P
This is the case where the read miss signal is output from the j side. Further, (c) is a case where the read miss signal from the processor element Pj first reaches the processor element Pi.

【0043】このような場合は、上記[2]の場合と同
様に、全て、プロセッサエレメントPiはプロセッサP
jを無効化する応答を返し、プロセッサエレメントPj
は無効化応答を受けたら、自分の状態を「Invali
d」にする。尚、この場合、プロセッサエレメントPj
は、監視時間の間に、プロセッサエレメントPi以外の
プロセッサエレメントあるいはメインメモリ20からリ
ードミスに対するデータを受け取ることが考えられる
が、プロセッサエレメントPi以外のデータは正しくな
いデータであるため、「Invalid」とするもので
ある。
In such a case, as in the case of [2], the processor element Pi is the processor P in all cases.
A response that invalidates j is returned, and the processor element Pj
After receiving the invalidation response, the
d ". In this case, the processor element Pj
May receive data for a read miss from a processor element other than the processor element Pi or the main memory 20 during the monitoring time, but since data other than the processor element Pi is incorrect data, it is set to "Invalid". It is a thing.

【0044】また、プロセッサエレメントPiは、監視
時間内に、後述するような優先順位の高いプロセッサエ
レメントからのライトヒットまたはライトミスといった
事象発生の通知を受けなかった場合は、自分の状態を
「Dirty」とする。
Further, if the processor element Pi is not notified of the occurrence of an event such as a write hit or a write miss from a processor element with a high priority as described later within the monitoring time, the processor element Pi changes its state to "Dirty". ".

【0045】[4]同一ブロックに対する複数のライト
ヒットまたはライトミスが同時に起きた場合(図7〜図
9) 図に示すように、(a)〜(h)の八つのパターンがあ
り、(a)とそれ以外に分類できる。即ち、(a)のパ
ターンは、ライトヒットの遷移中であるプロセッサPi
が、他のプロセッサエレメントであるプロセッサエレメ
ントPjからライトヒット信号を受けた場合で、この場
合は、プロセッサの優先度に従う。例えば、受けた信号
が自プロセッサエレメントより高い優先度の場合、自分
の状態を「Invalid」にし、受けた信号が自プロ
セッサエレメントより低い優先度の場合は、受けた信号
を無視する。
[4] When a plurality of write hits or write misses for the same block occur simultaneously (FIGS. 7 to 9) As shown in the figure, there are eight patterns (a) to (h). ) And other than that. That is, the pattern (a) is for the processor Pi that is undergoing a write hit transition.
Receives a write hit signal from the processor element Pj which is another processor element, in which case the priority of the processor is followed. For example, when the received signal has a higher priority than the own processor element, its own state is set to "Invalid", and when the received signal has a lower priority than the own processor element, the received signal is ignored.

【0046】図7の(a)〜(h)に示す例では、プロ
セッサエレメントの優先度はPi>Pjとした場合であ
り、従って、(a)ではプロセッサエレメントPiは自
分の状態を「Dirty」とし、プロセッサエレメント
Pjは自分の状態を「Invalid」とする。
In the example shown in FIGS. 7A to 7H, the priority of the processor element is Pi> Pj. Therefore, in FIG. 7A, the processor element Pi sets its own state to “Dirty”. Then, the processor element Pj sets its state to “Invalid”.

【0047】また、(b)のパターンは、プロセッサエ
レメントPiが「Shared Clean」の状態で
ライトヒットし、そのライトヒット信号をプロセッサエ
レメントPjが受け、その後、プロセッサエレメントP
jがライトミス信号を送出する場合である。この場合、
プロセッサエレメントPiは、監視時間内に自分より優
先度の高い他のプロセッサエレメントからライトヒット
やライトミスといった事象発生の通知を受けなければ、
自分の状態を「Dirty」とし、プロセッサエレメン
トPjは、監視時間後、自分の状態を「Invali
d」とする。
In the pattern (b), the processor element Pi makes a write hit in the state of "Shared Clean", the processor element Pj receives the write hit signal, and then the processor element Pj.
This is the case where j sends a write miss signal. in this case,
Unless the processor element Pi receives a notification of occurrence of an event such as a write hit or a write miss from another processor element having a higher priority than itself within the monitoring time,
The own state is set to “Dirty”, and the processor element Pj sets the own state to “Invali” after the monitoring time.
d ".

【0048】次に、(c)のパターンは、プロセッサエ
レメントPiがライトミス、プロセッサエレメントPj
がライトヒットした場合である。この場合、プロセッサ
エレメントPiの方が優先度が高いため、プロセッサエ
レメントPjに対して無効化信号を送出し、自分の状態
を「Dirty」とする。
Next, in the pattern (c), the processor element Pi has a write miss and the processor element Pj
Is a light hit. In this case, since the processor element Pi has a higher priority, the invalidation signal is sent to the processor element Pj, and its own state is set to “Dirty”.

【0049】また、(d)のパターンは、プロセッサエ
レメントPiがライトヒット、プロセッサエレメントP
jがライトミスであった例である。この場合も、優先度
の高いプロセッサエレメントPiが、プロセッサエレメ
ントPjに対して無効化応答を返し、自分の状態を「D
irty」とする。
In the pattern (d), the processor element Pi has a write hit and the processor element P has a write hit.
In this example, j is a write miss. Also in this case, the processor element Pi having a high priority returns an invalidation response to the processor element Pj, and sets its own state to "D".
irty ”.

【0050】そして、(e)のパターンは、上記(d)
の場合とは逆に、プロセッサエレメントPiがライトミ
ス、プロセッサエレメントPjがライトヒットであった
例である。しかし、この場合も、優先度によって状態遷
移が行われるため、優先度の高いプロセッサエレメント
Piが、プロセッサエレメントPjに対して無効化応答
を返し、自分の状態を「Dirty」とする。
The pattern of (e) is the same as that of (d) above.
Contrary to the above case, the processor element Pi is a write miss and the processor element Pj is a write hit. However, also in this case, since the state transition is performed according to the priority, the processor element Pi having a high priority returns an invalidation response to the processor element Pj, and sets its own state to “Dirty”.

【0051】更に、(f)、(g)、(h)のパターン
は、プロセッサエレメントPi、Pjが共にライトミス
の場合であり、(f)がほぼ同時に発生した場合、
(g)は、プロセッサエレメントPiの方が先に発生
し、そのライトミス信号がプロセッサエレメントPjの
ライトミス発生より早く届いた場合、(h)は(g)と
逆の場合である。これらの例でも、優先度の高いプロセ
ッサエレメントPiは相手のプロセッサエレメントPj
を無効化する応答を返し、自分の状態を「Dirty」
とする。
Further, the patterns (f), (g), and (h) are the cases where the processor elements Pi and Pj are both write misses, and when (f) occurs at almost the same time,
(G) is the case where the processor element Pi is generated earlier and the write miss signal arrives earlier than the write miss occurrence of the processor element Pj, and (h) is the case opposite to (g). Also in these examples, the processor element Pi having a high priority is the processor element Pj of the partner.
Returns a response that invalidates the status and sets your status to "Dirty"
And

【0052】[5]同一ブロックに対するリードミスま
たはライトミスとスワップアウトが同時に起きた場合
(図10) (a)および(b)は、プロセッサエレメントPiにリ
ードミスまたはライトミスが起き、ほぼ同時刻にプロセ
ッサエレメントPjにスワップアウトが起きた例であ
る。このような場合は、プロセッサエレメントの優先度
には無関係に、スワップアウトの事象が優先されるた
め、プロセッサエレメントPiのリードミスまたはライ
トミスに対するメインメモリ20から転送されたデータ
ブロックは無効となり、監視時間の後、プロセッサエレ
メントPiは、再度リードミス信号またはライトミス信
号を送出することになる。尚、スワップアウトしたプロ
セッサエレメントPjは、そのキャッシュメモリ12に
データブロックが存在しない状態となる。
[5] When a read miss or write miss for the same block and a swap-out occur at the same time (FIG. 10) (a) and (b), a read miss or a write miss occurs in the processor element Pi, and the processors are at about the same time. This is an example of swap-out occurring in the element Pj. In such a case, since the swap-out event is given priority regardless of the priority of the processor element, the data block transferred from the main memory 20 for the read miss or the write miss of the processor element Pi becomes invalid and the monitoring time After that, the processor element Pi sends the read miss signal or the write miss signal again. The swapped out processor element Pj is in a state in which no data block exists in the cache memory 12.

【0053】このように、上記実施例では、システムの
最大遅れ時間は、共有バス30からの信号を監視し、か
つ予め決められたルールに従ってキャッシュメモリ12
の状態遷移を決定するようにしたので、例えば、従来の
図2で示した例でもキャッシュメモリ2は正しいデータ
を受け取ることができる。即ち、図2の例ではキャッシ
ュメモリ2は、m時間後にメインメモリ3よりデータを
受け取るが、このデータは監視時間内に入力されるキャ
ッシュメモリ1からのスワップアウト信号により、無効
化される。そして、キャッシュメモリ2は、その後再度
リードミス信号を送出し、このリードミス信号によっ
て、メインメモリ3から正しいデータが送られてくるも
のである。
As described above, in the above-described embodiment, the maximum delay time of the system is monitored by the signal from the shared bus 30, and the cache memory 12 according to a predetermined rule.
Since the state transition is determined, the cache memory 2 can receive correct data even in the conventional example shown in FIG. That is, in the example of FIG. 2, the cache memory 2 receives data from the main memory 3 after m hours, but this data is invalidated by the swap-out signal from the cache memory 1 input within the monitoring time. Then, the cache memory 2 again sends the read miss signal, and the correct data is sent from the main memory 3 by the read miss signal.

【0054】尚、上記実施例では、マルチプロセッサシ
ステムにおけるキャッシュメモリの無矛盾化プロトコル
としてイリノイプロトコルを例にとって説明したが、こ
れに限定されるものではなく、バークレイプロトコル
等、種々のプロトコルでも適用可能である。
In the above embodiment, the Illinois protocol was described as an example of the cache memory consistent protocol in the multiprocessor system, but the present invention is not limited to this, and various protocols such as the Berkeley protocol can also be applied. is there.

【0055】[0055]

【発明の効果】以上説明したように、本発明のキャッシ
ュメモリ制御装置によれば、プロセッサエレメントの操
作群を分割し、信号送出時のみネットワークを専有する
同期単位とし、かつ、要求発生からその要求に対する応
答が受信されるのに必要な最大時間はネットワークから
の入力信号を監視し、この監視した時間内に入力される
信号に従ってキャッシュメモリのデータ状態を決定する
ようにしたので、ネットワークの利用効率が向上し、従
って、大規模なシステム用の大規模バスや汎用的なネッ
トワーク結合網に置き換え可能となり、システム全体の
性能向上を期待することができる。
As described above, according to the cache memory control device of the present invention, the operation group of the processor elements is divided into a synchronization unit having a network exclusively at the time of signal transmission, and the request is generated from the request. The maximum time required for the response to is received is to monitor the input signal from the network and determine the data state of the cache memory according to the signal input within this monitored time. Therefore, it becomes possible to replace it with a large-scale bus for a large-scale system or a general-purpose network connection network, and it can be expected to improve the performance of the entire system.

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

【図1】本発明のキャッシュメモリ制御装置のブロック
図である。
FIG. 1 is a block diagram of a cache memory control device of the present invention.

【図2】従来の問題点を説明するためのマルチプロセッ
サシステムの要部構成図である。
FIG. 2 is a main part configuration diagram of a multiprocessor system for explaining a conventional problem.

【図3】本発明のキャッシュメモリ制御装置に関わるイ
リノイプロトコルの状態遷移の説明図である。
FIG. 3 is an explanatory diagram of state transition of the Illinois protocol related to the cache memory control device of the present invention.

【図4】本発明のキャッシュメモリ制御装置における同
一ブロックに対する複数のリード・ミスが同時に起きた
場合の説明図である。
FIG. 4 is an explanatory diagram in the case where a plurality of read misses to the same block occur at the same time in the cache memory control device of the present invention.

【図5】本発明のキャッシュメモリ制御装置における同
一ブロックに対するリードミスとライトヒットが同時に
起きた場合の説明図である。
FIG. 5 is an explanatory diagram when a read miss and a write hit for the same block occur simultaneously in the cache memory control device of the present invention.

【図6】本発明のキャッシュメモリ制御装置における同
一ブロックに対するリードミスとライトミスが同時に起
きた場合の説明図である。
FIG. 6 is an explanatory diagram when a read miss and a write miss for the same block occur simultaneously in the cache memory control device of the present invention.

【図7】本発明のキャッシュメモリ制御装置における同
一ブロックに対する複数のライトヒットまたはライトミ
スが同時に起きた場合(その1)の説明図である。
FIG. 7 is an explanatory diagram of a case (1) in which a plurality of write hits or write misses for the same block occur simultaneously in the cache memory control device of the present invention.

【図8】本発明のキャッシュメモリ制御装置における同
一ブロックに対する複数のライトヒットまたはライトミ
スが同時に起きた場合(その2)の説明図である。
FIG. 8 is an explanatory diagram of the case where a plurality of write hits or write misses for the same block occur simultaneously in the cache memory control device of the present invention (part 2).

【図9】本発明のキャッシュメモリ制御装置における同
一ブロックに対する複数のライトヒットまたはライトミ
スが同時に起きた場合(その3)の説明図である。
FIG. 9 is an explanatory diagram of a case (third) in which a plurality of write hits or write misses for the same block occur simultaneously in the cache memory control device of the present invention.

【図10】本発明のキャッシュメモリ制御装置における
同一ブロックに対するリードミスまたはライトミスとス
ワップアウトが同時に起きた場合の説明図である。
FIG. 10 is an explanatory diagram of a case where a read miss or a write miss and a swap-out for the same block occur simultaneously in the cache memory control device of the present invention.

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

10−1〜10−n プロセッサエレメント 11−1〜11−n プロセッサ 12−1〜12−n キャッシュメモリ 13−1〜13−n 同期単位制御部 14−1〜14−n 監視部 15−1〜15−n 状態管理部 10-1 to 10-n processor element 11-1 to 11-n processor 12-1 to 12-n cache memory 13-1 to 13-n synchronization unit control unit 14-1 to 14-n monitoring unit 15-1 15-n status management unit

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 それぞれがプロセッサとキャッシュメモ
リとを備えたプロセッサエレメントを放送機能を有する
ネットワークに接続してなるマルチプロセッサシステム
のキャッシュメモリ制御装置において、 前記それぞれのプロセッサエレメントは、 各プロセッサエレメントの信号送出時のみ前記ネットワ
ークを専有する同期単位制御部と、 前記プロセッサエレメントが前記ネットワークを専有す
る権利を解放後、当該プロセッサエレメントからの要求
に対する応答が受信されるのに必要な最大時間だけ前記
ネットワークからの入力信号を監視する監視部と、 前記監視部による監視時間の間に、入力される信号の内
容に従って、前記要求を発生させた自キャッシュメモリ
におけるデータの状態を決定する状態管理部とを備えた
キャッシュメモリ制御装置。
1. A cache memory control device of a multiprocessor system in which processor elements each including a processor and a cache memory are connected to a network having a broadcasting function, wherein each processor element is a signal of each processor element. A synchronization unit control unit that occupies the network only at the time of transmission, and, after releasing the right of the processor element to occupy the network, the maximum time required for receiving a response to a request from the processor element from the network. And a state management unit that determines the state of the data in the own cache memory that generated the request according to the content of the input signal during the monitoring time by the monitoring unit. Cashe Li controller.
JP05215299A 1993-08-06 1993-08-06 Cache memory controller Expired - Fee Related JP3097941B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05215299A JP3097941B2 (en) 1993-08-06 1993-08-06 Cache memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05215299A JP3097941B2 (en) 1993-08-06 1993-08-06 Cache memory controller

Publications (2)

Publication Number Publication Date
JPH0749809A true JPH0749809A (en) 1995-02-21
JP3097941B2 JP3097941B2 (en) 2000-10-10

Family

ID=16670026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05215299A Expired - Fee Related JP3097941B2 (en) 1993-08-06 1993-08-06 Cache memory controller

Country Status (1)

Country Link
JP (1) JP3097941B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013140656A1 (en) * 2012-03-23 2013-09-26 株式会社日立ハイテクノロジーズ Data processing device, semiconductor external view inspection device, and data volume increase alleviation method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013140656A1 (en) * 2012-03-23 2013-09-26 株式会社日立ハイテクノロジーズ Data processing device, semiconductor external view inspection device, and data volume increase alleviation method
JP2013200686A (en) * 2012-03-23 2013-10-03 Hitachi High-Technologies Corp Data processing device, and data volume increase alleviation method

Also Published As

Publication number Publication date
JP3097941B2 (en) 2000-10-10

Similar Documents

Publication Publication Date Title
AU2013217351B2 (en) Processor performance improvement for instruction sequences that include barrier instructions
EP0748481B1 (en) Highly pipelined bus architecture
JP3696012B2 (en) Write operation sequencing bus bridge
US20020147869A1 (en) System and method of increasing bandwidth for issuing ordered transactions into a distributed communication system
US6725307B1 (en) Method and system for controlling data transfers with physical separation of data functionality from address and control functionality in a distributed multi-bus multiprocessor system
US20160299857A1 (en) Computer architecture with peripherals
JPH06214960A (en) Multiprocessor system
JPH09223118A (en) Snoop cache memory control system
JP5212478B2 (en) Control device, data transfer device, information processing device, arithmetic processing device, and control method for information processing device
EP1701267B1 (en) Address snoop method and multi-processor system
EP1650667B1 (en) Apparatus for controlling a multi-processor system, scalable node, scalable multi-processor system, and method of controlling a multi-processor system
US6295583B1 (en) Method and apparatus for resolving probes in multi-processor systems which do not use external duplicate tags for probe filtering
JP5650441B2 (en) Arithmetic device, cache device, control method thereof, and computer program
US6826643B2 (en) Method of synchronizing arbiters within a hierarchical computer system
JPH0749809A (en) Cache memory controller
JP2001109662A (en) Cache device and control method
JP5549694B2 (en) Massively parallel computer, synchronization method, synchronization program
US6735654B2 (en) Method and apparatus for efficiently broadcasting transactions between an address repeater and a client
JP2003150573A (en) Multiprocessor system
JP2000267935A (en) Cache memory device
US20020133652A1 (en) Apparatus for avoiding starvation in hierarchical computer systems that prioritize transactions
JP4129578B2 (en) Method and apparatus for effectively broadcasting transactions between a first address repeater and a second address repeater
CA2181704C (en) Highly pipelined bus architecture
JP2000181738A (en) Duplex system and memory control method
JPH0962578A (en) Information processor and its control method

Legal Events

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