JPH02140847A - System for controlling cache memory in multi-processor - Google Patents

System for controlling cache memory in multi-processor

Info

Publication number
JPH02140847A
JPH02140847A JP63294344A JP29434488A JPH02140847A JP H02140847 A JPH02140847 A JP H02140847A JP 63294344 A JP63294344 A JP 63294344A JP 29434488 A JP29434488 A JP 29434488A JP H02140847 A JPH02140847 A JP H02140847A
Authority
JP
Japan
Prior art keywords
cache memory
data
bus
processor
block
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
JP63294344A
Other languages
Japanese (ja)
Other versions
JP2736352B2 (en
Inventor
Tsunemichi Shiozawa
塩澤 恒道
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP63294344A priority Critical patent/JP2736352B2/en
Publication of JPH02140847A publication Critical patent/JPH02140847A/en
Application granted granted Critical
Publication of JP2736352B2 publication Critical patent/JP2736352B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To reduce the confliction of the check of rewritten addresses in respec tive cache memories and an access from a processor by permitting a processing unit rewriting a main memory to output specified information. CONSTITUTION:The processing units 1-3 rewriting the main memory 5 outputs a write address and cache memory storage information being information whether non-contradinction security control is required (a block including rewritten data is set to be an object for storage for cache memories 11, 21 and 31) or not. The other processing units 1-3 check the write address and make it to be invalid (or rewrite) only when data to be the object for storage in the self cache memory is rewritten by the information. Thus, the number of times for checking the write address, which is performed in respective processing units 1-3, is reduced, and the confliction of the check of the write address and the access from the processors 10-30 to the cache memories 11, 21 and 31 can be reduced.

Description

【発明の詳細な説明】[Detailed description of the invention] 【産業上の利用分野】[Industrial application field]

本発明は、プロセッサ及びキャッシュメモリを有する複
数の処理ユニットと、それらとシステムバスを介して相
互に接続しているメインメモリとを有するマルチプロセ
ッサにおいて、処理ユニットにおけるキャッシュメモリ
内のデータとメインメモリ内のデータとに対する無矛盾
性保証制御を行うためのキャッシュメモリ制御方式に関
する。
The present invention provides a multiprocessor having a plurality of processing units each having a processor and a cache memory, and a main memory interconnected with them via a system bus. The present invention relates to a cache memory control method for performing consistency guarantee control for data.

【従来の技術1 複数の処理ユニットがメインメモリを共有して使用する
マルチプロセッサシステムにおいて、各処理ユニットが
キャッシュメモリを有する場合、イD、の処理ユニット
により書き換えられたメインメモリのデータをキャッシ
ュメモリ内に持つことにより、処理ユニットが誤った処
理を実行しないように、各処理ユニットのキャッシュメ
モリ内のデータとメインメモリ内のデータとの無矛盾性
保証制御)(−数制御)を行うことは不可欠である。 一般に、キャッシュメモリは複数のエントリからなり、
その各エントりは、ブロックのアドレス情報を格納する
タグ部と、ブロックデータを格納するデータ部と、タグ
部及びデータ部に格納されている内容が有効であるか無
効であるかを示すバリッド部とからなる。 処理ユニットがアドレスaで指定されるメインメモリの
データを占き換える峙、処理ユニット内のキャッシュメ
モリ及びメインメモリ間の書き換えは、処理ユニットに
より制御して行われる。 他の処理ユニットのキャッシュメモリとメインメモリと
の無矛盾性保証制御は、以下のように行われる。 すなわち、キャッシュメモリは、書き換えられたメイン
メモリのアドレスa(ライトアドレス)を入力し、バリ
ッド部で有効であることがボされているエントリのタグ
部を検索する。 検索の結果、ライトアドレスaで指定されるデータを含
むブロックがキャッシュメモリに存在した時、当該ブロ
ックを格納しているエントリのバリッド部に無効をセッ
トする。 上述したように、従来のキャッシュメモリとメインメモ
リとの無矛盾性保証制御方式においては、他の処理ユニ
ットにより書き換えられたメインメモリのデータがキャ
ッシュメモリ内に存在するか否かをチエツクし、存在し
ていればそのデータを無効化していた。 【発明が解決しようとする課題】 しかしながら、上述した従来の方式の場合、各処理ユニ
ットのキャッシュメモリにおいて、他の処理ユニットか
らの全てのライトアドレスに対して、ライトアドレスを
含むブロックがキャッシュメモリに格納されているか否
かのチエツクを行う必要があった。 このため、以下に示す競合が発生し、プロセッサからキ
ャッシュメモリへのアクセス持ち時間が生じる。 (1)無矛盾性保証制御を行うためのライトアドレスの
キャッシュメモリへの入力と、プロセッサがキャッシュ
メモリ内のデータにアクセスするためのアドレスの入力
との競合。 (2)ライトアドレスに対する無矛盾性保証制御を行う
ためのタグ部の検索と、プロセッサがキャッシュメモリ
内のデータにアクセスするためのタグ部の検索との競合
。 上述した競合を減少させる方法として、従来、(1)の
競合に対し、キャッシュメモリにライトアドレスを入力
するための専用ビンを設ける方法が提案されている。 また、(2)の競合に対し、キャッシュメモリ内に同一
情報を格納するタグ部を211M設け、一方をプロセッ
サからのアクセスに使用し、他方をライトアドレスのチ
エツクに使用する方法が提案されている。 しかしながら、専用ビンを設ける方法の場合、キャッシ
ュメモリのビン数が増加する欠点があった。 また、タグ部を2個設ける方法の場合、キャッシュメモ
リ内に冗長な情報が含まれる、という欠点があった。 よって、本発明は上述した欠点のない新規なマルチプロ
セッサにおけるキャッシュメモリ制御方式を提案せんと
するものである。
[Prior art 1] In a multiprocessor system in which a plurality of processing units share a main memory, when each processing unit has a cache memory, the data in the main memory rewritten by the processing unit A is transferred to the cache memory. It is essential to perform consistency guarantee control (-number control) between the data in the cache memory of each processing unit and the data in the main memory so that the processing unit does not execute incorrect processing. It is. Generally, cache memory consists of multiple entries,
Each entry consists of a tag section that stores block address information, a data section that stores block data, and a valid section that indicates whether the contents stored in the tag section and data section are valid or invalid. It consists of. When the processing unit rewrites data in the main memory specified by address a, rewriting between the cache memory and the main memory within the processing unit is controlled by the processing unit. Consistency guarantee control between the cache memory and main memory of other processing units is performed as follows. That is, the cache memory inputs the rewritten address a (write address) of the main memory and searches for the tag part of the entry marked as valid in the valid part. As a result of the search, when a block containing the data specified by the write address a exists in the cache memory, the valid part of the entry storing the block is set to invalid. As mentioned above, in the conventional cache memory and main memory consistency guarantee control method, it is checked whether data in the main memory that has been rewritten by another processing unit exists in the cache memory, and if the data exists in the cache memory. If there was, the data would have been invalidated. [Problems to be Solved by the Invention] However, in the case of the conventional method described above, in the cache memory of each processing unit, for all write addresses from other processing units, the block containing the write address is stored in the cache memory. It was necessary to check whether it was stored or not. As a result, the following contention occurs, resulting in the time it takes for the processor to access the cache memory. (1) Conflict between the input of a write address to the cache memory for performing consistency guarantee control and the input of an address for the processor to access data in the cache memory. (2) Conflict between the tag section search for performing consistency guarantee control for write addresses and the tag section search for the processor to access data in the cache memory. As a method for reducing the above-mentioned contention, a method has conventionally been proposed for the contention (1) in which a dedicated bin is provided for inputting a write address into the cache memory. In addition, in order to deal with the conflict in (2), a method has been proposed in which 211M tag sections are provided to store the same information in the cache memory, one is used for access from the processor, and the other is used for checking the write address. . However, the method of providing dedicated bins has the disadvantage that the number of bins in the cache memory increases. Furthermore, the method of providing two tag sections has the disadvantage that redundant information is included in the cache memory. Therefore, it is an object of the present invention to propose a new cache memory control method for a multiprocessor that does not have the above-mentioned drawbacks.

【課題を解決するための手段】[Means to solve the problem]

本発明によるマルチプロセッサにおけるキャッシュメモ
リ制御方式によれば、メインメモリを書き換える処理ユ
ニットは、ライトアドレスと共に無矛盾性保証制御を行
う必要がある(書き換えたデータを含むブロックをキャ
ッシュメモリへの格納対象としている)か否かの情報で
あるキャッシュメモリ格納情報を出力し、他の処理ユニ
ットは、キャッシュメモリ格納情報により、自キャッシ
ュメモリへの格納が禁止されていないデータ(自キャッ
シュメモリへの格納対象となっているデータ)の書き換
えが行われた時のみ、ライトアドレスのチエツク及び無
効化(または書き換え)を行う。
According to the cache memory control method in a multiprocessor according to the present invention, the processing unit that rewrites the main memory needs to perform consistency guarantee control along with the write address (the block containing the rewritten data is to be stored in the cache memory). ), and other processing units output cache memory storage information, which is information on whether data is stored in their own cache memory (data that is not prohibited to be stored in their own cache memory). The write address is checked and invalidated (or rewritten) only when the stored data is rewritten.

【作用・効果】[Action/effect]

このため、自キャッシュメモリへの格納対象となってい
ないデータの書き換えが他の処理ユニットにより行われ
た場合、当該キャッシュメモリは、ライトアドレスに対
して無矛盾性保証制御を行う必要が無くなり、各処理ユ
ニットで行われるライトアドレスのチエツク回数が減少
し、ライトアドレスのチ、ニックとプロセッサからキャ
ッシュメモリへのア゛クセスとの競合を減少させること
ができる。
Therefore, when data that is not to be stored in its own cache memory is rewritten by another processing unit, the cache memory does not need to perform consistency guarantee control for the write address, and each process The number of write address checks performed by the unit is reduced, and contention between write address checks and accesses from the processor to the cache memory can be reduced.

【実施例】【Example】

次に、本発明によるマルチプロセッサにおけるキャッシ
ュメモリ制御方式の実施例を述べよう。 第1図は、本発明によるマルチプ0t17ツサにおける
主11ツシユメモリ制御方式によってキャッシュメモリ
格納情報をプロセッサ内に格納する場合の実施例を示す
。 キャッシュメモリ格納情報は、24個のエントリからな
り、一方、各エントリは、3ビツトの情報からなる。 この場合、メインメモリは16 (2’ )個に分割さ
れ、そのそれぞれが、3ビツトのキャッシュメモリ格納
情報に対応している。 3ビツトのキャッシュメモリ格納情報は、第1ビツトで
処理ユニット1のキャッシュメモリへの格納を禁止する
( rOJ )が許可する(「1」)かの指定を行い、
第2ビツトで処理ユニット2のキャッシュメモリへの格
納を禁止する( rOJ )か許可する(rlJ)かの
指定を行い、第3ビツトで処理ユニット3のキャッシュ
メモリへの格納を禁止する(rOJ)か許可する(NJ
)かの指定を行う。 プロセッサが、任意のアドレスへのアクセスを行う場合
、プロセッサは、アドレス情報とともに、アドレスAの
上位4ビツトにより指定されるエントリに格納されてい
る3ビツトのキャッシュメモリ格納情報を出力する。 第2図は、本発明によるマルチプロセッサにおけるキャ
ッシュメモリ制御方式の実施例を示す。 第2図において、1.2.3は、処理ユニットをホす。 4は、システムバスを示す。 5は、メインメモリを示す。 6は、バスマスタコントローラを示す。 10.20.30は、プロセッサを示す。 11.21,31は、キャッシュメモリを示す。 12.22.32は、バスコントローラを示す。 13.23.33は、AND回路を示す。 41は、アドレスバスを示す。 42は、データバスを示す。 43は、ブロック要求バスを示ず。 44は、転送応答バスを示す。 45は、処理ユニット1のキャッシュメモリ格納情報バ
スを示す。 46は、処理ユニット2のキャッシュメモリ格納情報バ
スを示す。 47は、処理ユニット3のキャッシュメモリ格納情報バ
スを示す。 48は、書き換え指示バスを示す。 100.200.300は、プロセッサバスを示ず。 102.202.302.103.203.303.1
04.204.304.105.205.305は信号
線を示す。 キャッシュメモリ11.21.31は、複数のエントリ
からなり、その各エントリは、ブロックのアドレス情報
を格納するタグ部、ブロックデータを格納するデータ部
、エントリに格納されている内容が有効であるか無効で
あるかを示すバリッド部からなる。 キャッシュメモリへの格納が許可されているブロックの
転送は以下のよう−に行われる。 プロセッサ10がアドレスr10110100101J
  (以下aと称す)のデータを読み出す時、プロセッ
サー0は、プロセッサバス100上に読み出しを行うデ
ータのアドレスaを出力するとともに、キャッシュメモ
リ格納情報「110」 (格納許可「1」)を出力する
。 キャッシュメモリ格納情報r110Jの第1ビツトが「
1」であり、当該ブロックのキャッシュメモリへの格納
が許可されているので、キャッシュメモリー1にアドレ
スaのデータが格納されていれば、キャッシュメモリー
1は、チップバス100を介して、当該アドレスaのデ
ータを、プロセッサー0に転送する。 キャッシュメモリー1にアドレスaのデータが格納され
ていなければ、メインメモリ5から処理ユニット1のキ
ャッシュメモリー1へのブロックの転送が以下のように
行われる。 処理ユニット1からプロセッサバス100を介して要求
されたアドレスaのデータを含むブロックB がキャッ
シュメモリー1に存在しないので、キャッシュメモリー
1は、信号線101を介して、バスコントローラ12に
、ブロック転送を行うように指示する。 バスコントローラ12は、信号線102を介してシステ
ムバス4の使用要求を、バスマスタコントローラ6に知
らせる。 バスマスクコン1−〇−ラ6は、予め定められた手続き
に従い、1つのバスコントローラにのみシステムバス4
の使用許可を与える。 システムバス4の使用許可が、信号線103を介して、
バスコントローラ12に与えられた時、アドレスバス4
1上にアドレスaを出力し、ブロック要求バス43にブ
ロック転送要求信号「1」を出力し、占き換え指示バス
48に読み出しを指示する値「0」を出力する。 メインメモリ5は、ブロック要求バス43上に出力され
ている値及び書き換え指示バス48上に出力されている
値により、ブロックが要求されていることを知り、アド
レスバス41上に出力されているアドレスaのデータを
含むブロック3aを読み出し、ブロック3aの転送を開
始する。 メインメモリ5は、ブロックBaの転送を開始すること
を、転送応答バス44を介して、処理ユニット1に通知
し、データバス42上にブロックB、を出力する。 バスコントローラ12は、転送応答バス44を介して要
求したブロックB、がデータバス42上に出力されてい
ることを知り、データバス42上に出力されたブロック
B8を、プロセッサバス100を介して、キャッシュメ
モリ11に入力する。 キャッシュメモリ11は、予め定められた手続きにより
、選択したエントリのタグ部に、アドレスaのタグ情報
を西込み、また、データ部にチップバス100を介して
入力したブロックB、を書込み、さらに、バリッド部は
、有効を示ず値「1」を書き込む。 ブロック転送が終了すると、バスコントローラ12は、
信号線102を介して、システムバス4の使用が終了し
たことをバスマスタコンi・ローラ6に知らせる。 キャッシュメモリへの格納が許禁止されているデータの
転送は、以下のように行われる。 プロセッサ10がアドレスr(LOOOllololo
lolololololooooooooolJ (以
下すと称す)のデータを読み出す時、プロセッサ10は
、プロセッサバス100上に読み出しを行うデータのア
ドレスbを出力するとともにキャッシュメモリ格納情報
「010」を出力する。 キャッシュメモリ格納情報ro10Jの第1ピツ1〜が
「0」であり、当該ブロックのキャッシュメモリへの格
納が禁止されているので、キャッシュメモリ11にはア
ドレスbのデータが格納されておらず、メインメモリ5
から処理ユニット1のプロセッサ10へのデータの転送
が以下のように行われる。 バスコントローラ12は、信号線102を介して、シス
テムバスの使用要求をバスマスタコントローラ6に知ら
せる。 システムバス4の使用許可が、信号線103を介して、
バスコントローラ12に与えられた時、アドレスバス4
1上にアドレスbを出力し、ブロック要求バス43にブ
ロック転送要求信号「0」を出力し、書き換え指示バス
48に読み出しを指示する値「0」を出力する。 メインメモリ5は、ブロック要求バス43上に出力され
ているブロック要求信号により、ブロックが要求されて
いないことを知り、ア、ドレスバス41上に出力されて
いるアドレスbのデータを読み出し、転送を開始する。 メインメモリ5は、7ドレスbのデータの転送を開始す
ることを、転送応答バス44を介して、処理ユニット1
に通知し、データバス42上にデータを出力する。 バスコントローラ12は、転送応答バス44を介して要
求したデータがデータバス42上に出力されることを知
り、データバス42上に出力されたデータを、プロセッ
サバス100を介して、プロセッサ10に入力する。 データ転送が終了すると、バスコントローラ12は、シ
ステムバス4の使用が終了したことを、信号線102を
介して、バスマスタコントローラ6に知らせる。 上述したように、キャッシュメモリへのブロックデータ
の格納が、プロセッサから出力されるキャッシュメモリ
格納情報の自キャッシュメモリに割り付けられている値
が「1」の時のみ行われる。 プロセッサ10が、メインメモリ5のアドレスaで指定
されるデータを出き換える動作及びプロセッサ10によ
り書き換えられたメインメモリ5のデータとキャッシュ
メモリ11.211.31内のデータとの無矛盾性保証
i、11111は、以下のようにして行われる。 プロセッサ10が、メインメモリ5上のアドレスaのデ
ータを書き換える時、プロセッサ10は、プロセッサバ
ス100に、アドレスバス書き換えデータ及びキャッシ
ュメモリ格納情報r110Jを出力する。 キャッシュメモリ11は、プロセッサバス上に出力され
ているアドレスa及び出き換えデータを入力し、バリッ
ド部に有効であることを示す情報を格納しているエント
リのタグ部を検索する。 アドレスaで指定されるデータを含むブロックB、を格
納するエントリが内部に存在すれば、ブ
Next, an embodiment of a cache memory control method in a multiprocessor according to the present invention will be described. FIG. 1 shows an embodiment in which cache memory storage information is stored in a processor using a main 11 memory control method in a multiplexer according to the present invention. The cache memory storage information consists of 24 entries, and each entry consists of 3 bits of information. In this case, the main memory is divided into 16 (2') parts, each of which corresponds to 3 bits of cache memory storage information. The first bit of the 3-bit cache memory storage information specifies whether storage in the cache memory of processing unit 1 is prohibited (rOJ) or permitted (“1”);
The second bit specifies whether to prohibit (rOJ) or permit (rlJ) storage in the cache memory of processing unit 2, and the third bit prohibits storage in the cache memory of processing unit 3 (rOJ). (NJ
). When the processor accesses an arbitrary address, the processor outputs 3-bit cache memory storage information stored in the entry specified by the upper 4 bits of address A along with the address information. FIG. 2 shows an embodiment of a cache memory control method in a multiprocessor according to the present invention. In FIG. 2, 1.2.3 indicates a processing unit. 4 indicates a system bus. 5 indicates main memory. 6 indicates a bus master controller. 10.20.30 indicates a processor. 11.21 and 31 indicate cache memories. 12.22.32 indicates the bus controller. 13.23.33 shows an AND circuit. 41 indicates an address bus. 42 indicates a data bus. 43 indicates a block request bus. 44 indicates a transfer response bus. 45 indicates a cache memory storage information bus of the processing unit 1. 46 indicates a cache memory storage information bus of the processing unit 2. Reference numeral 47 indicates a cache memory storage information bus of the processing unit 3. 48 indicates a rewriting instruction bus. 100.200.300 does not indicate a processor bus. 102.202.302.103.203.303.1
04.204.304.105.205.305 indicates a signal line. The cache memory 11.21.31 consists of a plurality of entries, each of which includes a tag section that stores block address information, a data section that stores block data, and whether the contents stored in the entry are valid. It consists of a valid part that indicates whether it is invalid. Transfer of blocks that are permitted to be stored in the cache memory is performed as follows. Processor 10 has address r10110100101J
(hereinafter referred to as a), the processor 0 outputs the address a of the data to be read onto the processor bus 100, and also outputs the cache memory storage information "110" (storage permission "1"). . The first bit of cache memory storage information r110J is “
1" and storage of the block in the cache memory is permitted. Therefore, if data at address a is stored in cache memory 1, cache memory 1 stores data at address a via chip bus 100. data is transferred to processor 0. If the data at address a is not stored in cache memory 1, the block is transferred from main memory 5 to cache memory 1 of processing unit 1 as follows. Since block B containing the data at address a requested from processing unit 1 via processor bus 100 does not exist in cache memory 1, cache memory 1 requests block transfer to bus controller 12 via signal line 101. instruct them to do so. The bus controller 12 notifies the bus master controller 6 of a request to use the system bus 4 via the signal line 102. The bus mask controller 1-0-controller 6 applies only one bus controller to the system bus 4 according to a predetermined procedure.
Grant permission to use. Permission to use the system bus 4 is granted via the signal line 103.
When given to bus controller 12, address bus 4
1, a block transfer request signal "1" is output to the block request bus 43, and a value "0" instructing readout is output to the fortune change instruction bus 48. The main memory 5 learns that a block is requested based on the value output on the block request bus 43 and the value output on the rewrite instruction bus 48, and writes the address output on the address bus 41. Block 3a containing data a is read and transfer of block 3a is started. The main memory 5 notifies the processing unit 1 via the transfer response bus 44 that the transfer of the block Ba is to be started, and outputs the block B onto the data bus 42. The bus controller 12 learns that the block B requested via the transfer response bus 44 is output on the data bus 42, and transfers the block B8 output onto the data bus 42 via the processor bus 100. The data is input to the cache memory 11. According to a predetermined procedure, the cache memory 11 writes the tag information of the address a into the tag section of the selected entry, writes the block B input via the chip bus 100 into the data section, and further, The valid part indicates validity and writes the value "1". When the block transfer is completed, the bus controller 12
Via the signal line 102, the bus master controller i-roller 6 is informed that the use of the system bus 4 has ended. Transfer of data that is prohibited from being stored in the cache memory is performed as follows. The processor 10 selects address r (LOOOllololo
When reading data of ``lolololololooloooooooolJ'' (hereinafter referred to as ""), the processor 10 outputs the address b of the data to be read onto the processor bus 100 and outputs the cache memory storage information "010". Since the first bits 1 to 1 of the cache memory storage information ro10J are "0" and storage of the block in the cache memory is prohibited, the data at address b is not stored in the cache memory 11 and the main memory 5
The transfer of data from to the processor 10 of the processing unit 1 takes place as follows. The bus controller 12 notifies the bus master controller 6 of a request to use the system bus via the signal line 102. Permission to use the system bus 4 is granted via the signal line 103.
When given to bus controller 12, address bus 4
1, a block transfer request signal "0" is output to the block request bus 43, and a value "0" instructing readout is output to the rewriting instruction bus 48. The main memory 5 learns from the block request signal output on the block request bus 43 that the block is not requested, reads the data at address b output on the address bus 41, and transfers it. Start. The main memory 5 instructs the processing unit 1 via the transfer response bus 44 to start transferring the data of the 7th address b.
and outputs the data on the data bus 42. The bus controller 12 learns that the requested data will be output onto the data bus 42 via the transfer response bus 44, and inputs the data output onto the data bus 42 to the processor 10 via the processor bus 100. do. When the data transfer is completed, the bus controller 12 notifies the bus master controller 6 via the signal line 102 that the use of the system bus 4 has ended. As described above, storage of block data in the cache memory is performed only when the value assigned to the own cache memory in the cache memory storage information output from the processor is "1". An operation in which the processor 10 replaces the data specified by the address a of the main memory 5, and a consistency guarantee i between the data in the main memory 5 rewritten by the processor 10 and the data in the cache memory 11.211.31, 11111 is performed as follows. When the processor 10 rewrites the data at address a on the main memory 5, the processor 10 outputs address bus rewrite data and cache memory storage information r110J to the processor bus 100. The cache memory 11 inputs the address a and the replacement data output on the processor bus, and searches the tag section of the entry storing information indicating that the valid section is valid. If there is an entry storing block B containing the data specified by address a, then the block

【コックB8に
含まれるアドレスaで指定されるデータをプロセッサバ
スから入力した書き換えデータに書き換える。 アドレスaで指定されるデータを含むブロックB8を格
納するエントリが内部に存在していなければ、出き換え
は行わない。 バスコントローラ12は、信号線102を介してシステ
ムバスの使用要求をバスマスクコントローラ6に知らせ
る。 信号線103を介してシステムバス4の使用許可がバス
コントローラ12に与えられた時、バスコントローラ1
2は、アドレスバス41上にアドレスaを出力し、また
、データバス42上に書き換えデータを出力し、さらに
、書き込み指示バス上47に書き込み指示信号「1」を
出力し、また、キャッシュメモリ格納情報バス45上に
1iiI「110」を出力する。 メインメモリ5は、白き込み指示バス47上の書き込み
指示を受は取り、アドレスバス41上に出力されている
アドレスaに、データバス42上に出力されている書き
換えデータを書き込む。 処理ユニット2において、AND回路23は、内き込み
指示バス48の値と、キャッシュメモリ格納情報の第2
ビツトが出力されているキャッシュメモリ格納情報バス
46の値とを入力とし、キャッシュメモリ21に、信号
線204を介して、値「1」を入力し、システムバス4
に出力されている書き換え情報について無矛盾性保証制
御を行う必要のあることを知らせる。 キャッシュメモリ21は、アドレスバス41上のアドレ
スaを、信号線205を介して入力し、無矛盾性保証制
御を行う必要があることを、信号線204を介して、指
示(値「1」)されると、アドレスaのデータを含むブ
ロックB。 がキャッシュメモリ21に格納されているか否かのチエ
ツクを行い、ブロックB、が格納されていれば、ブロッ
クB、が格納されているエントリのバリッド部に、無効
を示す情報を書込む。 処理ユニット3において、AND回路33は、書き込み
指示バス48と、キャッシュメモリ格納情報の第3ビツ
トが出力されているキャッシュメモリ格納情報バス47
の値とを入力とし、キャッシュメモリ31に、信号線3
04を介して値「0」を入力し、システムバス4に出力
されている書き換え情報について無矛盾性保証制御を行
う必要の無いことを知らせる。 キャッシュメモリ21は、アドレスバス41上のアドレ
スaを信号線205を介して入力し、無矛盾性保証制御
を行う必要があることを信号線204を介して指示され
ると、アドレスaのデータを含むブロックB がキャッ
シュメモリ21に格納されているか否かのチエツクを行
い、ブロックBaが格納されていれば、ブロックB8が
格納されているエントリのバリッド部に無効を示す情報
を書き込む。 処理ユニット1は、メインメモリ5の書き換えを終了す
ると、バスコントローラ12によって信号線102を介
してシステムバス4の使用が終了したことをバスマスタ
コントローラ6に知らせる。 これにより、無矛盾性保証制御を行うために、他のプロ
セッサにより書き換えが行われた全てのメインメモリの
アドレスに対して、当該アドレスを含むブロックが各キ
ャッシュメモリに格納されているか否かのチエツクを行
う必要がなくなり、各キャッシュメモリにおける出き換
えられたアドレスのチエツクとプロセッサからのアクセ
スとの競合を減少させることができる。 【効 果】 上述したように、本発明によるマルチプロセツリーにお
けるキャッシュメモリ制御方式によれば、処理ユニット
により富き換えが行われた全てのメインメモリのアドレ
スについて、当該アドレスを含むブロックが書き換えを
行っていない他の処理ユニットのキャッシュメモリに格
納されているか否かのチエツクを行う必要がなく、各キ
ャッシュメモリにお【プる書き換えられたアドレスのチ
エツク回数を減少させることができる。
[Rewrite the data specified by address a included in cock B8 with the rewrite data input from the processor bus. If there is no internal entry for storing block B8 containing the data specified by address a, no replacement is performed. The bus controller 12 notifies the bus mask controller 6 of a request to use the system bus via the signal line 102. When permission to use the system bus 4 is given to the bus controller 12 via the signal line 103, the bus controller 1
2 outputs the address a on the address bus 41, outputs rewrite data on the data bus 42, further outputs a write instruction signal "1" on the write instruction bus 47, and also outputs the write instruction signal "1" on the write instruction bus 47. 1iiiI "110" is output on the information bus 45. The main memory 5 receives the write instruction on the white fill instruction bus 47 and writes the rewrite data output on the data bus 42 to the address a output on the address bus 41. In the processing unit 2, an AND circuit 23 combines the value of the internal instruction bus 48 and the second value of the cache memory stored information.
The value of the cache memory storage information bus 46 from which the bit is output is input, the value "1" is input to the cache memory 21 via the signal line 204, and the value "1" is input to the cache memory 21 via the signal line 204.
Informs that it is necessary to perform consistency guarantee control on the rewrite information output to the The cache memory 21 inputs the address a on the address bus 41 via the signal line 205, and receives an instruction (value "1") via the signal line 204 that it is necessary to perform consistency guarantee control. Then, block B containing data at address a. It is checked whether block B is stored in the cache memory 21, and if block B is stored, information indicating invalidity is written in the valid part of the entry in which block B is stored. In the processing unit 3, the AND circuit 33 connects the write instruction bus 48 and the cache memory storage information bus 47 to which the third bit of the cache memory storage information is output.
and input the value of signal line 3 to cache memory 31.
A value "0" is input through the system bus 4 to notify that there is no need to perform consistency guarantee control on the rewrite information output to the system bus 4. When the cache memory 21 receives address a on the address bus 41 via the signal line 205 and is instructed via the signal line 204 that it is necessary to perform consistency guarantee control, the cache memory 21 includes the data at the address a. It is checked whether block B is stored in the cache memory 21, and if block Ba is stored, information indicating invalidity is written in the valid part of the entry in which block B8 is stored. When the processing unit 1 finishes rewriting the main memory 5, the bus controller 12 notifies the bus master controller 6 via the signal line 102 that the use of the system bus 4 has ended. As a result, in order to perform consistency guarantee control, for all main memory addresses that have been rewritten by other processors, a check is performed to see if a block containing the address is stored in each cache memory. This eliminates the need for checking the swapped addresses in each cache memory and reduces contention between accesses from the processor. [Effect] As described above, according to the cache memory control method in a multi-process tree according to the present invention, for all main memory addresses that have been enriched by a processing unit, the block containing the address has not been rewritten. There is no need to check whether the address is stored in the cache memory of another processing unit that has not been used, and the number of times the rewritten address is checked in each cache memory can be reduced.

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

第1図は、本発明によるマルチプロセラ4ノにおけるキ
ャッシュメモリ制御方式によってキャッシュメモリ格納
情報をブロヒッリ内に格納する場合の実施例を示す。 第2図は、本発明によるマルヂプロセッナにおけるキャ
ッシュメモリ制御方式の実施例を示す系統的接続図であ
る。 1.2.3・・・処理ユニット 4・・・・・・・・・・・・・・・システムバス5・・
・・・・・・・・・・・・・メインメモリ6・・・・・
・・・・・・・・・・バスマスクコントローラ10.2
0.30 ・・・・・・・・・・・・・・・プロセッサ11.21
.31 ・・・・・・・・・・・・・・・キャッシュメモリ12
.22.32 ・・・・・・・・・・・・・・・バスコントローフ13
.23.33 ・・・・・・・・・・・・・・・AND回路41・・・
・・・・・・・・・・・・アドレスバス42・・・・・
・・・・・・・・・・データバス43・・・・・・・・
・・・・・・・ブロック要求バス44・・・・・・・・
・・・・・・・ブロック転送応答バス45・・・・・・
・・・・・・・・・処理ユニット1のキャッシュメモリ
格納情報バス 46・・・・・・・・・・・・・・・処理ユニット2の
キャッシュメモリ格納情報バス 47・・・・・・・・・・・・・・・処理ユニット3の
主11ツシユメモリ格納情報バス 48・・・・・・・・・・・・・・・書き込み指示バス
100.200,300 ・・・・・・・・・・・・・・・プロセッナバス前1図
FIG. 1 shows an embodiment in which cache memory storage information is stored in a block by a cache memory control method in a multi-processor 4 according to the present invention. FIG. 2 is a systematic connection diagram showing an embodiment of a cache memory control method in a multiprocessor according to the present invention. 1.2.3... Processing unit 4... System bus 5...
・・・・・・・・・・・・Main memory 6・・・・・・
・・・・・・・・・Bass mask controller 10.2
0.30 ・・・・・・・・・・・・Processor 11.21
.. 31 ・・・・・・・・・・・・・・・Cache memory 12
.. 22.32 ・・・・・・・・・・・・・・・Bass control 13
.. 23.33 ・・・・・・・・・・・・AND circuit 41...
・・・・・・・・・・・・Address bus 42・・・・・・
・・・・・・・・・Data bus 43・・・・・・・・・
...Block request bus 44...
...Block transfer response bus 45...
. . . Cache memory storage information bus 46 of processing unit 1 . . . Cache memory storage information bus 47 of processing unit 2 . . . ......Main 11 memory storage information bus 48 of processing unit 3...Write instruction bus 100, 200, 300...・・・・・・・・・Figure 1 in front of Prosena bus

Claims (1)

【特許請求の範囲】 プロセッサおよびキャッシュメモリを有する複数の処理
ユニットと、それらとシステムバスを介して相互に接続
されているメインメモリとを有するマルチプロセッサに
おいて、 上記メインメモリは、複数のブロックに分割され、 上記プロセッサは、上記メインメモリの各ブロックにつ
いて、当該ブロックを各処理ユニットのキャッシュメモ
リへ格納するか否かを一意に指定可能なキャッシュメモ
リ格納情報を有し、上記プロセッサは、上記メインメモ
リのデータを読み出す時、読み出すデータのアドレスと
ともに、上記キャッシュメモリ格納情報を出力し、 上記キャッシュメモリは、[1]上記プロセッサが読み
出すデータを格納しておらず、キャッシュメモリ格納情
報が自キャッシュメモリへの格納を禁止していない場合
、上記メインメモリから自キャッシュメモリに上記プロ
セッサが要求したデータを含むブロックを転送し、[2
]キャッシュメモリ格納情報が自キャッシュメモリへの
格納を禁止している場合、上記メインメモリから自キャ
ッシュメモリへのブロック転送を行わず、 書き換えを行う処理ユニットは、上記プロセッサが上記
メインメモリ上のデータを書き換える時、上記システム
バス上に自プロセッサが出力しているキャッシュメモリ
格納情報を出力し、上記メインメモリの書き換えを行わ
ない(N−1)台の処理ユニットは、書き換えを行う処
理ユニットが上記システムバス上に出力しているキャッ
シュメモリ格納情報によって、書き換えが行われるデー
タを含むブロックを自キャッシュメモリ内へ格納するこ
とが禁止されていない場合、自キャッシュメモリ内のデ
ータと書き換えの行われた上記メインメモリ内のデータ
との無矛盾性保証制御を行うことを特徴とするマルチプ
ロセッサにおけるキャッシュメモリ制御方式。
[Claims] A multiprocessor having a plurality of processing units each having a processor and a cache memory, and a main memory interconnected with these units via a system bus, wherein the main memory is divided into a plurality of blocks. The processor has cache memory storage information for each block of the main memory that can uniquely specify whether or not to store the block in the cache memory of each processing unit; When reading data, the cache memory storage information is output together with the address of the data to be read, and the cache memory does not store the data to be read by the processor, and the cache memory storage information is transferred to its own cache memory. If the storage of data is not prohibited, transfer the block containing the data requested by the processor from the main memory to its own cache memory, and
] If the cache memory storage information prohibits storage in the own cache memory, the processing unit that performs the rewriting does not transfer the block from the main memory to the own cache memory. When rewriting the main memory, the (N-1) processing units output the cache memory storage information output by their own processor onto the system bus and do not rewrite the main memory. If the cache memory storage information output on the system bus does not prohibit storing the block containing the data to be rewritten in the local cache memory, the data in the local cache memory and the block that has been rewritten are not prohibited. A cache memory control method in a multiprocessor, characterized by performing control to guarantee consistency with data in the main memory.
JP63294344A 1988-11-21 1988-11-21 Cache memory control method in multiprocessor system Expired - Fee Related JP2736352B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63294344A JP2736352B2 (en) 1988-11-21 1988-11-21 Cache memory control method in multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63294344A JP2736352B2 (en) 1988-11-21 1988-11-21 Cache memory control method in multiprocessor system

Publications (2)

Publication Number Publication Date
JPH02140847A true JPH02140847A (en) 1990-05-30
JP2736352B2 JP2736352B2 (en) 1998-04-02

Family

ID=17806491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63294344A Expired - Fee Related JP2736352B2 (en) 1988-11-21 1988-11-21 Cache memory control method in multiprocessor system

Country Status (1)

Country Link
JP (1) JP2736352B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013546035A (en) * 2010-09-20 2013-12-26 クゥアルコム・インコーポレイテッド Inter-processor communication technique for multiple processor computing platforms

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013546035A (en) * 2010-09-20 2013-12-26 クゥアルコム・インコーポレイテッド Inter-processor communication technique for multiple processor computing platforms
US8937622B2 (en) 2010-09-20 2015-01-20 Qualcomm Incorporated Inter-processor communication techniques in a multiple-processor computing platform
US9626234B2 (en) 2010-09-20 2017-04-18 Qualcomm Incorporated Inter-processor communication techniques in a multiple-processor computing platform
US9645866B2 (en) 2010-09-20 2017-05-09 Qualcomm Incorporated Inter-processor communication techniques in a multiple-processor computing platform

Also Published As

Publication number Publication date
JP2736352B2 (en) 1998-04-02

Similar Documents

Publication Publication Date Title
EP0447736B1 (en) Multiprocessor system having distributed shared resources and dynamic and selective global data replication and method therefor
JPH0576060B2 (en)
EP0533427A1 (en) Computer memory control system
US4547848A (en) Access control processing system in computer system
JPH02140847A (en) System for controlling cache memory in multi-processor
JP2961663B2 (en) Cache memory control method
US5371874A (en) Write-read/write-pass memory subsystem cycle
JP3381079B2 (en) Exclusive control system using cache memory
JP3381086B2 (en) Exclusive controllable multiprocessor system
JP2504323B2 (en) System bus control method
EP0271187A2 (en) Split instruction and operand cache management
EP0475730B1 (en) Write-read/write-pass memory subsystem cycle
JPS6329297B2 (en)
JPH04140860A (en) Method for controlling bus of multi-processor
JP2636760B2 (en) Multiprocessor system
JPH06139206A (en) Exclusive control system of multiprocessor system
JPS6045872A (en) High-speed buffer memory
EP0198574A2 (en) Apparatus and method for data copy consistency in a multi-cache data processing system
JPH0343649B2 (en)
JPH0664552B2 (en) Information processing device invalidation processing method
JPH05225147A (en) Multiprocessor type data processing system
JPH01142846A (en) Cache memory control system for information processor
JPH04160543A (en) Cache device
JPH0775017B2 (en) Memory access method
JPS6266348A (en) Store check system for cache memory controller

Legal Events

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