[go: up one dir, main page]

JPH0511337B2 - - Google Patents

Info

Publication number
JPH0511337B2
JPH0511337B2 JP62087133A JP8713387A JPH0511337B2 JP H0511337 B2 JPH0511337 B2 JP H0511337B2 JP 62087133 A JP62087133 A JP 62087133A JP 8713387 A JP8713387 A JP 8713387A JP H0511337 B2 JPH0511337 B2 JP H0511337B2
Authority
JP
Japan
Prior art keywords
data
directory
memory
shared memory
cache memory
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.)
Expired - Lifetime
Application number
JP62087133A
Other languages
Japanese (ja)
Other versions
JPS63253448A (en
Inventor
Soichi Takatani
Yoshihiro Myazaki
Hiroaki Fukumaru
Yoshiaki Takahashi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62087133A priority Critical patent/JPS63253448A/en
Publication of JPS63253448A publication Critical patent/JPS63253448A/en
Publication of JPH0511337B2 publication Critical patent/JPH0511337B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数の処理装置が1つのメモリ装置
を共用するマルチ計算機装置に係り、特に、処理
装置に共有メモリ装置のキヤツシユメモリを具備
したマルチ計算機装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a multi-computer device in which a plurality of processing devices share one memory device, and in particular, the present invention relates to a multi-computer device in which a plurality of processing devices share one memory device. This article relates to a multi-computer device.

〔従来の技術〕[Conventional technology]

従来、複数の処理装置に共用されるメモリ装置
の高速化のために、各処理装置にそれぞれ固有の
キヤツシユメモリを具備する場合がある。この場
合、ある処理装置のキヤツシユメモリに、共有メ
モリ装置のデータのコピーとして保持しているデ
ータが、他の処理装置の共有メモリ装置への書込
みにより不一致を起すという問題がある。この問
題を解決した例として特開昭49−12020号に記載
のシステムが挙げられる。この例では、ある処理
装置が共有メモリ装置に書込みを行なうとき、他
の処理装置に更新アドレスを送出する。各々の処
理装置では更新アドレスのデータが各自のキヤツ
シユメモリに保持されているかどうかを判定し、
保持されている場合は、該当有効ビツトをクリア
し、更新アドレスのデータを無効化し、共有メモ
リ装置とキヤツシユメモリのデータ不一致を解消
している。なお、マルチCPUシステムのキヤツ
シユメモリ機構の文献としてコンピユータ・アー
チテクチヤ・アンド・パラレル・プロセシング」
(マグロウヒル社、1984年発行、第7、3、3項
参照)(Computer Architecture and Parallel
Processing)」がある。
Conventionally, in order to increase the speed of a memory device shared by a plurality of processing devices, each processing device may be provided with its own cache memory. In this case, there is a problem in that data held in the cache memory of a certain processing device as a copy of data in a shared memory device may become inconsistent due to writing to the shared memory device of another processing device. An example of solving this problem is the system described in Japanese Patent Laid-Open No. 12020/1983. In this example, when one processing device writes to a shared memory device, it sends an update address to the other processing devices. Each processing unit determines whether the data at the update address is held in its own cache memory,
If it is held, the relevant valid bit is cleared, the data at the update address is invalidated, and the data mismatch between the shared memory device and the cache memory is resolved. In addition, the literature on the cache memory mechanism of multi-CPU systems is ``Computer Architecture and Parallel Processing''.
(McGraw-Hill Publishing, 1984, see paragraphs 7, 3, 3) (Computer Architecture and Parallel
Processing).

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

前記従来例では、以下の問題が発生する。 In the conventional example, the following problems occur.

1 各処理装置は、報告される更新アドレスが他
の複数の処理装置から独立に入力されるため、
インターフエースの信号線がぼう大となり、処
理装置の多重度が極めて制限されてしまう。こ
れを回避するため、各処理装置に共有メモリ装
置から更新アドレス送出することが考えられる
が、分散する処理装置に共有メモリ装置の内部
バス同じスループツトでアドレス送出するので
は、スループツトの高い共有メモリ装置を構成
できない。
1. Each processing device receives the reported update address independently from multiple other processing devices, so
The signal line of the interface becomes large and the multiplicity of the processing device is extremely limited. In order to avoid this, it is possible to send update addresses from a shared memory device to each processing device, but if the address is sent to distributed processing devices using the same throughput of the shared memory device's internal bus, it would be difficult to send an update address to a shared memory device with a high throughput. cannot be configured.

2 各処理装置が受ける更新アドレスは共有メモ
リ装置のスループツトと同じ速度で与えられ、
その度毎にキヤツシユメモリを読み出しを行な
い、該当アドレスのデータが保持されているか
どうかの判定を行なわなければならず、本来、
処理装置内部のデータ処理でのキヤツシユメモ
リのアクセスが制限されてしまう(更新アドレ
スの判定中は、内部データ処理のキヤツシユメ
モリへのアクセスは抑止しなければならない)。
2 Update addresses received by each processing unit are given at the same rate as the throughput of the shared memory unit,
It is necessary to read the cache memory each time and determine whether the data at the corresponding address is held.
Access to the cache memory for data processing inside the processing device is restricted (access to the cache memory for internal data processing must be inhibited while an update address is being determined).

本発明の目的は、上記問題点を解消し、スルー
プツトの高い共有メモリ装置にも適用可能なマル
チ計算機装置を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to solve the above-mentioned problems and provide a multi-computer device that can be applied to a shared memory device with high throughput.

〔問題点を解決するための手段〕 上記目的は、自処理装置からアクセスを監視し
該当するデータが自キヤツシユメモリ内にあるか
否かを判定するデイレクトリを備える処理装置が
他の処理装置と共に共有メモリ装置に接続された
マルチ計算機装置において、前記キヤツシユメモ
リを有する処理装置は、共有メモリ装置から無効
化要求があつたときのみ内部データ処理による自
キヤツシユメモリへのアクセスを抑止する手段
と、該キヤツシユメモリの前記無効化要求に該当
するデータの無効化を行う手段を備え、前記共有
メモリ装置は、前記キヤツシユメモリのデイレク
トリと同一内容のデイレクトリであつて該キヤツ
シユメモリを備える処理装置以外の他の処理装置
による前記共有メモリ装置へのライトアクセスを
監視しキヤツシユヒツトするか否かを判定するデ
イレクトリと、該デイレクトリがキヤツシユヒツ
トと判定したときに該当するデータの無効化を該
デイレクトリと同一内容のデイレクトリを備える
処理装置に要求する手段とを備えることで、達成
される。
[Means for solving the problem] The above purpose is to enable a processing device equipped with a directory that monitors access from its own processing device and determines whether or not the relevant data is in its own cache memory, together with other processing devices. In a multi-computer device connected to a shared memory device, the processing device having the cache memory has means for inhibiting access to its own cache memory by internal data processing only when an invalidation request is received from the shared memory device. , further comprising means for invalidating data corresponding to the invalidation request in the cache memory, wherein the shared memory device is a directory having the same content as the directory of the cache memory, and the shared memory device is a process that includes the cache memory. A directory that monitors write access to the shared memory device by a processing device other than the device and determines whether or not to cache, and invalidates the corresponding data when the directory is determined to be cached. and means for requesting a processing device with a directory of contents.

〔作用〕[Effect]

キヤツシユメモリ側のデイレクトリは、自身の
処理装置からアクセスのみを監視し、他の処理装
置が共有メモリ装置のデータを更新したときにキ
ヤツシユヒツトするか否かの判定を行わずに済
む。このため、キヤツシユメモリを備える処理装
置は、共有メモリ装置側に設けたデイレクトリが
キヤツシユヒツトの判定をしている最中も自身の
キヤツシユメモリへのアクセスが可能となる。ま
た、キヤツシユヒツトしたときは無効化を共有メ
モリ装置が要求する構成のため、アドレス全部を
処理装置側に転送する従来の場合に比べて共有メ
モリ装置と処理装置とを接続する信号線が少なく
て済む。更に、共有メモリ装置側でキヤツシユヒ
ツトの判定を行う構成のため、処理装置へのアド
レス転送や処理装置側でのヒツト判定を待たずに
次のライトアクセスを受け付けることが可能とな
り、ライトサイクルが短くなり、スループツトの
高いシステムが構築できる。
The directory on the cache memory side only monitors access from its own processing device, and when another processing device updates data in the shared memory device, there is no need to judge whether to cache or not. Therefore, a processing device equipped with a cache memory can access its own cache memory even while the directory provided on the shared memory device side is determining the cache hit. In addition, since the shared memory device requests invalidation when cached, fewer signal lines are needed to connect the shared memory device and the processing device compared to the conventional case where all addresses are transferred to the processing device. . Furthermore, since the shared memory device is configured to perform cache hit determination, it is possible to accept the next write access without waiting for address transfer to the processing device or hit determination on the processing device side, which shortens the write cycle. , a system with high throughput can be constructed.

〔実施例〕〔Example〕

第2図はマルチ計算機装置の全体構成を示す。
このマルチ計算機装置は、複数のプロセツサ
(CPU)2,3,4と、共有メモリ装置(GM)
1とを有し、各CPU2,3,4とGM1とはイン
ターフエース5,6,7を介して接続されてい
る。CPU2,3,4GM1を時分割で共有して使
用する。
FIG. 2 shows the overall configuration of the multi-computer device.
This multi-computer device consists of multiple processors (CPUs) 2, 3, and 4, and a shared memory device (GM).
1, and each CPU 2, 3, 4 and GM 1 are connected via interfaces 5, 6, 7. CPUs 2, 3, and 4 GM1 are shared and used in a time-sharing manner.

第3図はCPU2の内部構成を示す。他のCPU
3,4も同じ構成より成る、CPU2は、共有メ
モリインターフエース部(CMP)21と演算ユ
ニツト50より成る。GMPG21はインターフ
エース5と演算ユニツト50との間に設けてあ
る。演算ユニツト、メモリ制御ユニツト(MCU)
23、主記憶装置(PM)24、I/O制御装置
(IOADPT)25、基本処理装置(BPU)22、
フアイル制御プロセツサ(FCP)26、I/O
制御プロセツサ(IOP)28、内部共通バス3
4、フアイル装置27より成る。
FIG. 3 shows the internal configuration of the CPU 2. other CPU
CPU 2 includes a shared memory interface (CMP) 21 and an arithmetic unit 50. GMPG 21 is provided between interface 5 and arithmetic unit 50. Arithmetic unit, memory control unit (MCU)
23, main memory device (PM) 24, I/O control device (IOADPT) 25, basic processing unit (BPU) 22,
File control processor (FCP) 26, I/O
Control processor (IOP) 28, internal common bus 3
4. It consists of a file device 27.

BPUは命令を実行するユニツトであり、命令
のリード及びデータのリード/ライトをバス30
を通してMCU23に要求する。
The BPU is a unit that executes instructions, and reads instructions and reads/writes data using the bus 30.
The request is made to the MCU 23 through.

MCU23はバス31,32,33を通して、
それぞれGMP21、PM24、IOADPT25に
接続される。IOADPTはバス34を通してFCP
26及びI/O制御プロセツサ26に接続され
る。
MCU23 passes through buses 31, 32, 33,
Connected to GMP21, PM24, and IOADPT25, respectively. IOADPT is FCP through bus 34
26 and I/O control processor 26.

FCP26はバス35を通してフアイル装置2
7に接続される。GMP21はGM1へのアクセ
スを制御する装置であり、インターフエース5を
通してGM1へ接続される。
FCP 26 connects file device 2 via bus 35.
Connected to 7. GMP21 is a device that controls access to GM1, and is connected to GM1 through interface 5.

このCPU2では、演算ユニツト50が所定の
演算を行う。その際、GMP21内のデータも演
算に供する。PM24はデータ等の格納に使用さ
れる。フアイル装置27やIOP28とのデータの
やりとりは、バス34、IOADPT25、MCU2
3を介してBPU22が行う。またGM1との間
では、GMP21が介在し、中継を行う。この
GMP21はキヤツシユメモリを内部に持つ。
In this CPU 2, a calculation unit 50 performs predetermined calculations. At that time, the data in GMP 21 is also used for calculation. PM24 is used to store data and the like. Data is exchanged with the file device 27 and IOP28 using the bus 34, IOADPT25, and MCU2.
The BPU 22 performs the processing via 3. Furthermore, GMP21 intervenes and performs relay between GM1 and GM1. this
GMP21 has internal cache memory.

第4図はGM1の内部構成例を示す。GPU2
〜4は、インターフエース5〜7を通してそれぞ
れイターフエースポートPORT13〜15に接
続される。PORT13〜15はメモリバス16
を通してメモリ(M)110〜112ヘリードアクセ
ス及びライトアクセス行なう。メモリバスコント
ローラ(MB CONT)12はPORT13〜15
がメモリバス16通して要求するアクセスの占有
権制御を行なう。
Figure 4 shows an example of the internal configuration of GM1. GPU2
-4 are connected to interface ports PORT13-15 through interfaces 5-7, respectively. PORT13-15 are memory bus 16
Read access and write access to the memories (M) 110 to 112 are performed through the memory (M) 110 to 112. Memory bus controller (MB CONT) 12 is PORT13-15
performs exclusive right control of accesses requested through the memory bus 16.

さて、第1図は本発明の実施例を示す。本実施
例は、第3図と第4図とを合体させた図であり、
この図の中で特徴は、CPU2内のGMP21での
デイレクトリ部21a(従来公知)に対応するデ
イレクトリ部13aをGM1内のPORT13に設
けた点にある。
Now, FIG. 1 shows an embodiment of the present invention. This example is a combination of FIG. 3 and FIG. 4,
The feature in this figure is that a directory section 13a corresponding to the directory section 21a (conventionally known) in the GMP21 in the CPU2 is provided in the PORT13 in the GM1.

更に、構成に沿つて説明する。 Further, the configuration will be explained.

第1図において処理装置(CPU)2の演算ユ
ニツト内部実行ユニツト(EU)50は通常、共
有メモリインターフエースポート(GMP21)
内のキヤツシユメモリを使用してデータ処理を行
ない、他の処理装置CPU3,CPU4からの共有
メモリ装置のデータ更新の監視はインターフエー
スポート(PORT)13が行なう。
In FIG. 1, the internal execution unit (EU) 50 of the processing unit (CPU) 2 is normally connected to a shared memory interface port (GMP 21).
Data processing is performed using the internal cache memory, and an interface port (PORT) 13 monitors data updates in the shared memory device from other processing devices CPU3 and CPU4.

PORT13は、内部にGMP21内キヤツシユ
メモリと同一内容のデイレクトリ部13aを有
し、メモリバス16にオンバスされる更新アドレ
スがデイレクトリ部13aに存在するかどうかの
判定を行なう。従つて、処理装置内部のデータ処
理と共有メモリ装置のデータ更新監視が並列処理
可能となる。また、PORT13はデイレクトリ
部13aに更新アドレスが存在した(以後ヒツト
と称す)とき、バス16を通してメモリバスコン
トローラ(MB CONT)12へメモリアクセス
抑止の要求を出し、CPU2に対してキヤツシユ
メモリ無効化要求及び無効化アドレスをインター
フエース5を通じて送出する。CPU2は報告さ
れたアドレスに対応するキヤツシユメモリのデー
タを無効化する。こうすることにより、共有メモ
リ装置とキヤツシユメモリのデータの一致が保障
される。また、PORT13内のデイレクトリに
更新アドレスがヒツトする確立は低いと考えられ
(通常、複数の処理装置が同一エリアを広く使用
する処理は少ない)、更新アドレスの処理装置へ
転送速度を遅くしてもメモリバス16を抑止する
期間の割合は十分小さいことになる。このこと
は、メモリバス16のスループツトに関係なく、
インターフエース5の更新アドレス転送の速度を
決定できることを意味する。また、更新アドレス
の時分割転送も可能であり、インターフエースの
信号線の縮減も可能となる。
The PORT 13 has an internal directory section 13a having the same contents as the cache memory in the GMP 21, and determines whether an update address to be placed on the memory bus 16 exists in the directory section 13a. Therefore, data processing within the processing device and data update monitoring of the shared memory device can be processed in parallel. Furthermore, when an update address exists in the directory section 13a (hereinafter referred to as a hit), the PORT 13 issues a memory access suppression request to the memory bus controller (MB CONT) 12 through the bus 16, and requests the CPU 2 to invalidate the cache memory. The request and the invalidation address are sent through the interface 5. The CPU 2 invalidates the data in the cache memory corresponding to the reported address. This ensures that the data in the shared memory device and the cache memory match. In addition, it is thought that the probability that an update address will hit the directory in PORT13 is low (normally, there are few processes in which multiple processing devices widely use the same area), so even if the transfer speed to the update address processing device is slowed down, The proportion of the period during which the memory bus 16 is inhibited is sufficiently small. This is true regardless of the throughput of the memory bus 16.
This means that the speed of update address transfer of the interface 5 can be determined. Furthermore, time-division transfer of updated addresses is also possible, and the number of interface signal lines can be reduced.

第5図は、GMP21の内部構成例の詳細を示
す、MCU23との接続バス31の内容を以下に
示す、2100はアドレスバス、2103はリー
ドデータバス、2104はライトデータバス、2
101はアクセス要求信号及びリード又はライト
の識別信号、2102はアクセス終了応答信号で
ある。MCU23からリードアクセスがあつた場
合、アドレス2100の下位ビツトにより、キヤ
ツシユメモリのデイレクトリ211、有効ビツト
部(V)212及びデータ部213をアクセスする。
比較器(COMP)214はデイレクトリ211
から読み出されたデータ2105とアドレス21
00の上位ビツトを比較し、一致した場合、信号
線2117をONする。V212は有効なデータ
があれば信号線2118をONする。2117及
び2118がONのとき、信号線2110がON
し、キヤツシユメモリにアドレス2100に対応
するデータがあつたことをコントロール216に
報告する。コントローラ216は信号線2110
がONとすると、信号線2102をONさせ、デ
ータ部213から読み出されたデータを信号線2
103を通してMCU23に渡す。又、信号線2
110がOFFの場合、有効なデータがキヤツシ
ユメモリにないため、コントローラ216は信号
線2114を通じてGM1にリードアクセス要求
を送出する。2115はGM1からのアクセス終
了応答であり、2115がONのとき、GM1か
らの読み出しデータがリードデータバス2116
にオンバスされており、コントローラ216はリ
ードデータレジスタ(RDR)218にデータを
取り込んだ後キヤツシユメモリのデータ部213
にRDR218の出力を信号線2107を通して
書き込む、また、同時にデイレクトリ211にア
ドレス2100の上位ビツト書込み、信号線21
09をONしてV212の該当ビツトをONする。
また、MCU23から、信号線2101を通して
ライトアクセス要求があつた場合、コントローラ
216はGM1に対して信号線2114を通じて
ライトアクセス要求を送出する。このときライト
データは、信号線2104,2116を通して
GM1へ送出される。また、キヤツシユメモリに
ヒツトして信号線2110がONしている場合、
信号線2104のデータをデータ部213へ書き
込む。信号線2113はGM1からのデータ無効
化要求信号であり、信号線2112は無効すべき
キヤツシユメモリのブロツクアドレス(アドレス
全体の下位ビツト)である。信号線2113が
ONのときコントローラ216は、ブロツクアド
レス2112をアドレスレジスタ(AR)217
に取り込み、AR217の出力信号2106にて
アドレス指定して信号線2108をONして該当
する有効ビツトをクリアする。このとき、MCU
23からのアクセスに対してアクセス終了応答2
102を抑止する。
FIG. 5 shows details of an example of the internal configuration of the GMP 21. The contents of the connection bus 31 with the MCU 23 are shown below. 2100 is an address bus, 2103 is a read data bus, 2104 is a write data bus,
101 is an access request signal and a read or write identification signal, and 2102 is an access end response signal. When there is a read access from the MCU 23, the directory 211, valid bit section (V) 212, and data section 213 of the cache memory are accessed using the lower bits of the address 2100.
Comparator (COMP) 214 is directory 211
Data 2105 and address 21 read from
The upper bits of 00 are compared, and if they match, the signal line 2117 is turned on. V212 turns on the signal line 2118 if there is valid data. When 2117 and 2118 are ON, signal line 2110 is ON
Then, it reports to the control 216 that data corresponding to address 2100 is present in the cache memory. The controller 216 is connected to the signal line 2110
is turned ON, the signal line 2102 is turned ON, and the data read from the data section 213 is transferred to the signal line 2.
Pass it to MCU23 through 103. Also, signal line 2
If 110 is OFF, there is no valid data in the cache memory, so controller 216 sends a read access request to GM1 through signal line 2114. 2115 is the access end response from GM1, and when 2115 is ON, the read data from GM1 is transferred to the read data bus 2116.
The controller 216 takes the data into the read data register (RDR) 218 and then transfers the data to the data section 213 of the cache memory.
Write the output of the RDR 218 to the signal line 2107, and at the same time write the upper bits of the address 2100 to the directory 211,
Turn on bit 09 and turn on the corresponding bit of V212.
Further, when a write access request is received from the MCU 23 through the signal line 2101, the controller 216 sends the write access request to the GM 1 through the signal line 2114. At this time, the write data is transmitted through signal lines 2104 and 2116.
Sent to GM1. Also, if the cache memory is hit and the signal line 2110 is turned on,
Data on the signal line 2104 is written to the data section 213. A signal line 2113 is a data invalidation request signal from GM1, and a signal line 2112 is a block address (lower bits of the entire address) of the cache memory to be invalidated. Signal line 2113
When ON, the controller 216 stores the block address 2112 in the address register (AR) 217.
The address is specified using the output signal 2106 of the AR217, and the signal line 2108 is turned on to clear the corresponding valid bit. At this time, the MCU
Access end response 2 for access from 23
102 is suppressed.

第6図にPORT13の内部構成を示す。CPU
2から、信号線2114を通してリードアクセス
要求がコントローラ133に入力された場合、信
号線1308によりメモリバス占有要求を
MBCONT12に出力する。バス占有許可信号1
309がONしたとき、CPU2からのアドレス信
号2100をアドレスバス1313に出力すると
共に信号線1308をOFFし、リード要求信号
1307をONする。さらにアクセス終了応答1
300がONしたとき、CPU2への終了応答信号
2115をONすると共に読み出しデータを信号
線1304,2116を通してCPU1へ送出す
る。またデイレクトリ131にアドレス上位を書
き込み、有効ビツト部の該当ビツトをセツトす
る。その後、信号線1308及び2115を
OFFする。またCPU2から信号線2114を通
してライトアクセス要求がコントローラ133に
入力された場合、信号線1308によりメモリバ
ス占有要求をMBCONT12に出力し、バス占有
許可信号1309がONしたとき、CPU2からの
アドレス信号2100をアドレスバス1313に
出力すると共にCPU2からのライトデータ信号
2116をライトデータバス1304に出力し、
信号線1308をOFFし、ライト要求信号13
12通してライト要求信号1306に出力する。
さらにアクセス終了応答1300がONしたと
き、信号線2115を通してアクセス終了を
CPU2へ報告する。
Figure 6 shows the internal configuration of PORT13. CPU
2, when a read access request is input to the controller 133 through the signal line 2114, a memory bus occupancy request is input through the signal line 1308.
Output to MBCONT12. Bus occupancy permission signal 1
When 309 is turned on, the address signal 2100 from the CPU 2 is output to the address bus 1313, the signal line 1308 is turned off, and the read request signal 1307 is turned on. Furthermore, access end response 1
When 300 is turned ON, the completion response signal 2115 to CPU 2 is turned ON and read data is sent to CPU 1 through signal lines 1304 and 2116. Also, the upper part of the address is written in the directory 131, and the corresponding bit in the valid bit part is set. After that, connect signal lines 1308 and 2115 to
Turn off. Furthermore, when a write access request is input from the CPU 2 to the controller 133 through the signal line 2114, a memory bus occupancy request is output to the MBCONT 12 through the signal line 1308, and when the bus occupancy permission signal 1309 turns ON, the address signal 2100 from the CPU 2 is output. output to the address bus 1313, and output the write data signal 2116 from the CPU 2 to the write data bus 1304;
Turn off signal line 1308 and write request signal 13
12 and output as a write request signal 1306.
Furthermore, when the access end response 1300 turns ON, the access end is sent through the signal line 2115.
Report to CPU2.

デイレクトリ131及び有効ビツト部(u)134
はメモリバス16のアドレス信号2112の下位
アドレスにて読み出し、それぞれ信号線130
1,1302に出力される。比較器(COMP)
132は、信号線2112の上位アドレスとデイ
レクトリ出力信号1301を比較し一致のとき、
信号線1314をONする。信号線1302及び
1314が共にONした場合CPU2のキヤツシユ
メモリにメモリバス16上でアクセスされている
アドレスのデータが存在することを示し、信号線
1303がONする。このとき、メモリバス上ア
クセスがライトアクセスならば信号線1306,
1311ONする。コントローラ133は信号線
1303及び1311が共にONし、かつ現在自
分自身のアクセスでない場合、データ無効化要求
信号2113を送出する。このとき無効化すべき
ブロツクアドレスは信号線2112にてCPU2
へ渡される。また同時に、メモリアクセス抑止信
号1310をONする。またV134の該当する
ビツトを無効化する。以上のように共有メモリ及
び処理装置のデイレクトリは共有メモリからのデ
ータ読み出し時に共にセツトし、他処理装置の書
き込み時共にクリアするため常に一致が保障され
る。
Directory 131 and valid bit section (u) 134
are read at the lower address of the address signal 2112 of the memory bus 16, and the respective signal lines 130
1,1302. Comparator (COMP)
132 compares the upper address of the signal line 2112 and the directory output signal 1301, and when they match,
Turn on the signal line 1314. When both signal lines 1302 and 1314 are turned ON, this indicates that data at the address being accessed on the memory bus 16 exists in the cache memory of the CPU 2, and the signal line 1303 is turned ON. At this time, if the access on the memory bus is a write access, the signal line 1306,
Turn on 1311. The controller 133 sends out a data invalidation request signal 2113 when the signal lines 1303 and 1311 are both turned ON and the controller 133 is not currently accessing itself. At this time, the block address to be invalidated is sent to the CPU 2 via the signal line 2112.
passed to. At the same time, the memory access inhibit signal 1310 is turned on. Also, the corresponding bit of V134 is invalidated. As described above, the directories of the shared memory and the processing device are set together when data is read from the shared memory, and cleared together when data is written by another processing device, so that coincidence is always guaranteed.

第7図はキヤツシユメモリの構成を示す。本実
施例は、1エントリ4Bytesのセツトアソシアテ
イブ方式のキヤツシユメモリであり、全体で10
24エントリ(4KBytes)の容量を持つ。また、
デイレクトリ部211、有効ビツト部(u)212、
データ部213は同一のRAM(Ranclom Access
Memory)により構成され、アドレス下位(AL)
により、対応するエントリのデイレクトリ部、有
効ビツト部、データ部のデータが読み出される。
この第7図を用いて第5図のキヤツシユメモリの
動作を説明する。
FIG. 7 shows the configuration of the cache memory. This embodiment is a set associative cache memory with 4 bytes per entry, and a total of 10
It has a capacity of 24 entries (4KBytes). Also,
directory section 211, valid bit section (u) 212,
The data section 213 is located in the same RAM (Ranclom Access
(Memory) and lower address (AL)
As a result, the data in the directory section, valid bit section, and data section of the corresponding entry are read out.
The operation of the cache memory shown in FIG. 5 will be explained using FIG. 7.

第5図において、キヤツシユからデータを読み
出す場合、アドレス2100(AU、ALから構
成される)の下位ビツト(AL)によりエントリ
の1つが選択され、そのエントリに記憶されてい
るデータのアドレス上位がデイレクトリ部から2
105に送出され、COMP214により、アド
レス上位(AU)と2105のデータが比較され
る。比較結果が一致し、かつ、有効ビツト部(u)か
ら読み出されたデータ2118が“1”のとき、
データ部から読み出された2103が有効である
(キヤツシユヒツトと称す)。
In FIG. 5, when reading data from the cache, one of the entries is selected by the lower bit (AL) of address 2100 (consisting of AU and AL), and the upper address of the data stored in that entry is the directory. part 2
The COMP 214 compares the data of the upper address (AU) and 2105. When the comparison results match and the data 2118 read from the valid bit part (u) is "1",
2103 read from the data section is valid (referred to as cache).

キヤツシユにデータを書き込む場合、アドレス
2100の下位(AL)によりエントリを選択し、
デイレクトリ部には2100の上位(AU)を、
有効ビツト部には、“1”を、データ部には書込
データを入力する(有効ビツト部は信号線210
9がONすることにより入力データに“1”が選
択される)。
When writing data to the cache, select the entry by the lower address (AL) of address 2100,
2100 upper (AU) in the directory part,
Input "1" to the valid bit part and write data to the data part (the valid bit part is connected to the signal line 210).
9 is turned ON, “1” is selected as input data).

信号線2113がONのとき、キヤツシユを無
効化することがこの場合はアドレス2106(こ
のアドレスは32ビツトアドレスの下位のみであ
る)によりエントリを選択し、有効ビツト部の入
力データに“0”を入力して書き込む(有効ビツ
ト部は信号線2108がONすることにより入力
データ“0”が選択される)。
When the signal line 2113 is ON, in order to invalidate the cache, select the entry using the address 2106 (this address is only the lower part of the 32-bit address) and set "0" to the input data in the valid bit section. Input and write (input data "0" is selected in the valid bit part by turning on the signal line 2108).

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

本発明によれば、処理装置内部データ処理に影
響を与えない共有メモリのキヤツシユメモリが構
成でき、かつ、スループツトの高い共有メモリ装
置にも適用可能となる。
According to the present invention, it is possible to configure a shared memory cache memory that does not affect the internal data processing of a processing device, and it is also applicable to a shared memory device with high throughput.

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

第1図は本発明の実施例図、第2図は本発明の
適用される共用計算機装置の全体構成例図、第3
図はCPU2の内部構成例図、第4図はGM1の内
部構成例図、第5図はGMP21の実施例図、第
6図はPORT13の実施例図、第7図はキヤツ
シユメモリの詳細例図である。 1……共有メモリ装置(GM)、2,3,4…
…プロセツサ(CPU)、13,14,15……ポ
ート(PORT)、13a,21a……デイレクト
リ部。
FIG. 1 is a diagram showing an embodiment of the present invention, FIG. 2 is a diagram showing an example of the overall configuration of a shared computer device to which the present invention is applied, and FIG.
The figure shows an example of the internal configuration of CPU2, Figure 4 shows an example of the internal configuration of GM1, Figure 5 shows an example of GMP21, Figure 6 shows an example of PORT13, and Figure 7 shows a detailed example of cache memory. It is a diagram. 1...Shared memory device (GM), 2, 3, 4...
...Processor (CPU), 13, 14, 15... Port, 13a, 21a... Directory section.

Claims (1)

【特許請求の範囲】 1 自処理装置からのアクセスを監視し該当する
データが自キヤツシユメモリ内にあるか否かを判
定するデイレクトリを備える処理装置が他の処理
装置と共に共有メモリ装置に接続性属されたマル
チ計算機装置において、前記キヤツシユメモリを
有する処理装置は、共有メモリ装置から無効化要
求があつたときのみ内部データ処理による自キヤ
ツシユメモリへのアクセスを抑止する手段と、該
キヤツシユメモリの前記無効化要求に該当するデ
ータの無効化を行う手段を備え、前記共有メモリ
装置は、前記キヤツシユメモリのデイレクトリと
同一内容のデイレクトリであつて該キヤツシユメ
モリを備える処理装置以外の他の処理装置による
前記共有メモリ装置へのライトアクセスを監視し
キヤツシユヒツトするか否かを判定するデイレク
トリと、該デイレクトリがキヤツシユヒツトと判
定したときに該当するデータの無効化を該デイレ
クトリと同一内容のデイレクトリを備える処理装
置に要求する手段とを備えることを特徴とするマ
ルチ計算機装置。 2 特許請求の範囲第1項において、前記の無効
化要求は、キヤツシユメモリのエントリ番号で行
うことを特徴とするマルチ計算機装置。 3 特許請求の範囲第1項または第2項におい
て、前記共有メモリ装置は、前記無効化要求を出
力している間はメモリアクセスを抑止させる手段
を備えることを特徴とするマルチ計算機装置。
[Scope of Claims] 1. A processing device equipped with a directory that monitors access from its own processing device and determines whether or not the corresponding data is in its own cache memory has connectivity to a shared memory device together with other processing devices. In the multi-computer system, the processing device having the cache memory includes means for inhibiting access to its own cache memory by internal data processing only when an invalidation request is received from the shared memory device; The shared memory device includes means for invalidating data corresponding to the memory invalidation request, and the shared memory device is a directory with the same contents as the directory of the cache memory, and the shared memory device is a directory other than a processing device equipped with the cache memory. A directory that monitors write access to the shared memory device by the processing unit and determines whether or not to cache, and a directory that has the same content as the directory that invalidates the corresponding data when it is determined that the directory is cached. 1. A multi-computer device comprising: means for requesting a processing device provided therein. 2. The multi-computer device according to claim 1, wherein the invalidation request is made using an entry number of a cache memory. 3. The multi-computer device according to claim 1 or 2, wherein the shared memory device includes means for inhibiting memory access while outputting the invalidation request.
JP62087133A 1987-04-10 1987-04-10 multi computer equipment Granted JPS63253448A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62087133A JPS63253448A (en) 1987-04-10 1987-04-10 multi computer equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62087133A JPS63253448A (en) 1987-04-10 1987-04-10 multi computer equipment

Publications (2)

Publication Number Publication Date
JPS63253448A JPS63253448A (en) 1988-10-20
JPH0511337B2 true JPH0511337B2 (en) 1993-02-15

Family

ID=13906464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62087133A Granted JPS63253448A (en) 1987-04-10 1987-04-10 multi computer equipment

Country Status (1)

Country Link
JP (1) JPS63253448A (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2595753B2 (en) * 1990-03-30 1997-04-02 日本電気株式会社 Invalidation method of cache memory
JP3228182B2 (en) 1997-05-29 2001-11-12 株式会社日立製作所 Storage system and method for accessing storage system
JP2001167040A (en) 1999-12-14 2001-06-22 Hitachi Ltd Storage subsystem and storage controller
JP4651230B2 (en) 2001-07-13 2011-03-16 株式会社日立製作所 Storage system and access control method to logical unit
US6684209B1 (en) 2000-01-14 2004-01-27 Hitachi, Ltd. Security method and system for storage subsystem
JP4719957B2 (en) 2000-05-24 2011-07-06 株式会社日立製作所 Storage control device, storage system, and storage system security setting method
KR100515059B1 (en) * 2003-07-22 2005-09-14 삼성전자주식회사 Multiprocessor system and method to maintain cache coherence therefor
CN102609362A (en) * 2012-01-30 2012-07-25 复旦大学 Method for dynamically dividing shared high-speed caches and circuit

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57172582A (en) * 1981-04-15 1982-10-23 Hitachi Ltd Cash memory control method
JPS60134948A (en) * 1983-12-23 1985-07-18 Hitachi Ltd data processing equipment
JPS60138653A (en) * 1983-12-27 1985-07-23 Hitachi Ltd Hierarchical storage control method
JPS62115553A (en) * 1985-11-15 1987-05-27 Fujitsu Ltd Invalidating system for buffer storage

Also Published As

Publication number Publication date
JPS63253448A (en) 1988-10-20

Similar Documents

Publication Publication Date Title
US5058006A (en) Method and apparatus for filtering invalidate requests
US5652859A (en) Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
US5276836A (en) Data processing device with common memory connecting mechanism
CA1322058C (en) Multi-processor computer systems having shared memory and private cache memories
US5659710A (en) Cache coherency method and system employing serially encoded snoop responses
US4747043A (en) Multiprocessor cache coherence system
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
US5696937A (en) Cache controller utilizing a state machine for controlling invalidations in a network with dual system busses
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
EP0303661A1 (en) Central processor unit for digital data processing system including write buffer management mechanism.
US5895484A (en) Method and system for speculatively accessing cache memory data within a multiprocessor data-processing system using a cache controller
JPH1031625A (en) Write-back buffer for improved copy-back performance in multi-processor systems
US5091845A (en) System for controlling the storage of information in a cache memory
US5987544A (en) System interface protocol with optional module cache
JPH06318174A (en) Cache memory system and method for caching a subset of data stored in main memory
US6076147A (en) Non-inclusive cache system using pipelined snoop bus
JPH07152647A (en) Shared memory multiprocessor
JPH0511337B2 (en)
US6021466A (en) Transferring data between caches in a multiple processor environment
US6061766A (en) Non-inclusive cache method using pipelined snoop bus
JPH0353657B2 (en)
JPH03230238A (en) Cache memory control system
JPS63223846A (en) cache memory
JP2588547B2 (en) Multi CPU system
KR0138585B1 (en) Shared memory multiprocessor using spilt transaction bus