JP2813182B2 - Multiprocessor computer multifunction device - Google Patents

Multiprocessor computer multifunction device

Info

Publication number
JP2813182B2
JP2813182B2 JP63232502A JP23250288A JP2813182B2 JP 2813182 B2 JP2813182 B2 JP 2813182B2 JP 63232502 A JP63232502 A JP 63232502A JP 23250288 A JP23250288 A JP 23250288A JP 2813182 B2 JP2813182 B2 JP 2813182B2
Authority
JP
Japan
Prior art keywords
shared memory
data
computer
bus
address
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 - Fee Related
Application number
JP63232502A
Other languages
Japanese (ja)
Other versions
JPH0281255A (en
Inventor
正 上脇
伸一郎 山口
道雄 森岡
忠秋 坂東
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 JP63232502A priority Critical patent/JP2813182B2/en
Publication of JPH0281255A publication Critical patent/JPH0281255A/en
Application granted granted Critical
Publication of JP2813182B2 publication Critical patent/JP2813182B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマルチプロセッサコンピュータ複合装置に係
わり、とくに高い信頼性が要求されるシステムおよび、
コンピュータ間で頻繁にデータ通信がおこるシステムに
好適なマルチプロセッサコンピュータ複合装置に関す
る。
Description: BACKGROUND OF THE INVENTION The present invention relates to a multiprocessor computer multifunction device, and particularly to a system requiring high reliability, and
The present invention relates to a multiprocessor / computer multifunction peripheral suitable for a system in which data communication frequently occurs between computers.

〔従来の技術〕[Conventional technology]

複数計算機を結合してシステム全体のスループットを
上げたり、信頼性を向上させたりする試み、従来から広
く行われている。このようなシステムでは、計算機側に
何らかの通信手段が必要であり、特開昭58−18760、特
開昭58−137065に開示されたシステムでは、各計算機よ
り共有される大域共有メモリを設けてこの計算機間通信
を行っている。また、特開昭57−189257、特開昭62−10
59に開示されたシステムでは、物理的には各計算機ごと
にメモリを設けるだけであるが、それらの内容を常に一
致させることにより、結果的に共通アクセスされるメモ
リを形成して上記通信を行っている。
Attempts to increase the throughput of the entire system or improve reliability by combining a plurality of computers have been widely performed. In such a system, some communication means is required on the computer side. In the systems disclosed in JP-A-58-18760 and JP-A-58-137065, a global shared memory shared by each computer is provided. Communication between computers is being performed. Further, JP-A-57-189257, JP-A-62-10
In the system disclosed in No. 59, only a memory is physically provided for each computer.However, by making the contents always match, a memory commonly accessed as a result is formed to perform the above communication. ing.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

上記従来技術の内、大域共有メモリを物理的に設けた
システムでは、二つ以上のコンピュータが同時にメモリ
をアクセスすると、片方は他方のアクセスが終わるまで
待たされてしまい、全体のスループットが低下するとい
う問題があった。また、一般に各コンピュータより共通
にアクセスされるメモリは、各コンピュータより距離的
に離れた場所に置かれることが多い。そのために配線遅
延時間が大きくなってアクセス速度自体が低下し、計算
の高速化の障害となっていた。
In the above-mentioned prior art, in a system in which a global shared memory is physically provided, when two or more computers access the memory at the same time, one of the computers is kept waiting until the other access is completed, and the overall throughput is reduced. There was a problem. In general, a memory commonly accessed by each computer is often placed at a distance from each computer. For this reason, the wiring delay time increases, and the access speed itself decreases, which is an obstacle to speeding up the calculation.

一方、各計算機ごとに設けたメモリの内容を常に一致
させるシステムは、各計算機が単一プロセッサのもので
ある。各計算機がマルチプロセッサの場合には各計算機
ごとに複数プロセッサによる共有メモリが設けられる
が、このような共有メモリ間の一致制御については考慮
されておらず、マルチプロセッサを複数個結合した複合
システムには適用できなかった。このため、例えばマル
チプロセッサコンピュータ複合体を構成し、それらの共
有メモリに各マルチプロセッサコンピュータが処理の途
中情報を書き込み、一つのマルチプロセッサコンピュー
タが故障した場合に、他のマルチプロセッサコンピュー
タが故障したマルチプロセッサコンピュータの途中情報
を読み出して処理を続行するという高信頼で高速なシス
テムを実現するのが困難であった。
On the other hand, in a system in which the contents of memories provided for each computer always match, each computer has a single processor. When each computer is a multiprocessor, a shared memory by multiple processors is provided for each computer.However, such matching control between shared memories is not taken into consideration. Was not applicable. For this reason, for example, a multi-processor computer complex is configured, and each multi-processor computer writes information in the middle of processing in their shared memory, and when one multi-processor computer fails, the other multi-processor computer fails. It has been difficult to realize a highly reliable and high-speed system in which information is read from the processor computer and processing is continued.

本発明の目的は、マルチプロセッサコンピュータ間で
高速にデータの授受が行えるマルチプロセッサコンピュ
ータ複合装置を提供するにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a multiprocessor-computer multifunction device capable of exchanging data between multiprocessor computers at high speed.

〔課題を解決するための手段〕[Means for solving the problem]

上記目的は、バスを介して複数台のマルチプロセッサ
コンピュータを接続したマルチプロセッサコンピュータ
複合装置において、各マルチプロセッサコンピュータ
が、 (a)大域領域(大域共有メモリ領域)と局所領域(局
所共有メモリ領域)を有する共有メモリと、 (b)複数のプロセッサであって各々がキャッシュメモ
リを備え、自身のマルチプロセッサコンピュータに設け
られた前記共有メモリの前記局所領域をアクセスすると
きは、自身に付属するキャッシュメモリを使用してアク
セスを行い、前記大域領域にアクセスするときは前記キ
ャッシュメモリを使用せずに直接アクセスを行う複数の
プロセッサと、 (c)自身のマルチプロセッサコンピュータ内の各プロ
セッサが備える前記キャッシュメモリ間の一致化を図る
手段と、 (d)前記プロセッサのいずれかが前記大域領域にデー
タの書き込みを行う場合には自身のマルチプロセッサコ
ンピュータの共有メモリの大域領域にデータを書き込む
と共に、前記バスを介して他のマルチプロセッサコンピ
ュータ内の共有メモリの大域領域にも前記データを書き
込むメモリ制御手段と を備えることで、達成される。
It is an object of the present invention to provide a multiprocessor computer composite device in which a plurality of multiprocessor computers are connected via a bus, wherein each multiprocessor computer comprises: (a) a global area (global shared memory area) and a local area (local shared memory area) (B) a plurality of processors, each having a cache memory, and when accessing the local area of the shared memory provided in its own multiprocessor computer, a cache memory attached to itself. And a plurality of processors performing direct access without using the cache memory when accessing the global area, and (c) between the cache memories included in the respective processors in the multiprocessor computer of itself. And means to match d) When any of the processors writes data to the global area, the processor writes data to the global area of the shared memory of its own multiprocessor computer and shares the data in another multiprocessor computer via the bus. And memory control means for writing the data also in the global area of the memory.

〔作 用〕(Operation)

プロセッサは、共有メモリにアクセスするときにアド
レスと同時にアクセスが大域共有メモリ領域に対するも
のかどうかの情報(アドレススペース)も出力するもの
とする。
When accessing the shared memory, the processor outputs, at the same time as the address, information (address space) indicating whether the access is to the global shared memory area.

プロセッサが共有メモリからデータを読み出すとき
は、それが大域共有メモリ領域であってもなくてもその
プロセッサが属しているコンピュータの共有メモリより
読み出せばよい。他のコンピュータには全く影響を与え
ないからである。従ってコンピュータ間での共有データ
に対する読み出しの競合は全くなく、また自分の属する
コンピュータの共有メモリからの読み出しだから高速で
ある。
When the processor reads data from the shared memory, the data may be read from the shared memory of the computer to which the processor belongs, whether or not the data is in the global shared memory area. It has no effect on other computers. Therefore, there is no read contention between the computers for the shared data, and the data is read from the shared memory of the computer to which the computer belongs.

プロセッサが共有メモリにデータを書き込むときは、
大域共有メモリ領域に対するときとそうでないときで動
作が異なる。共有メモリに接続されたメモリ制御手段
は、プロセッサから出力されたアドレススペース信号を
見てアクセスが大域共有メモリ領域か判断する。大域共
有メモリ領域に対してでないときは、読み出しと同様に
そのプロセッサが属するコンピュータの共有メモリに独
立に書き込む。書き込みが大域共有メモリ領域に対して
のときは、各コンピュータのメモリ制御手段の間を接続
した一致化バスを専用した後、その一致化バスを通して
全コンピュータの共有メモリに対して同時に書き込み、
内容を一致させる。
When the processor writes data to shared memory,
The operation is different for the global shared memory area and when it is not. The memory control means connected to the shared memory determines whether the access is the global shared memory area by looking at the address space signal output from the processor. When not in the global shared memory area, the data is independently written into the shared memory of the computer to which the processor belongs, similarly to the reading. When writing to the global shared memory area, the matching bus connected between the memory control means of each computer is dedicated, and then simultaneously writing to the shared memory of all computers through the matching bus,
Match the content.

またこの大域共有メモリ領域に対してRMW(Read−Mod
ify−Write)命令が可能である。RMWは、メモリの読み
出し、その読み出したデータの操作、その結果のメモリ
への書き込みを、他からの割り込みや他のプロセッサの
RMWにより中断されずに連続して実行する命令である。
この命令が発行されたときには、最初に一致化バスを占
有し、RMWが完全に終了するまで一致化バスを占有し続
ける。これにより、他のプロセッサのRMWによる中断が
防げる。
In addition, RMW (Read-Mod
ify-Write) instruction is possible. The RMW reads the memory, manipulates the read data, and writes the result to memory.
These instructions are executed continuously without interruption by the RMW.
When this instruction is issued, it first occupies the match bus and continues to occupy the match bus until the RMW has completed. As a result, interruption by the RMW of another processor can be prevented.

更に、局所領域のアクセスはキャッシュメモリを介し
て行うため、高速なアクセスが可能となり、大域領域の
アクセスはキャッシュメモリを介さずに直接アクセスす
るため、異なるコンピュータのキャッシュ間の一致化処
理が不要となる。
Further, since the access to the local area is performed via the cache memory, high-speed access is possible. Since the access to the global area is directly performed without using the cache memory, it is not necessary to perform the matching process between caches of different computers. .

〔実施例〕〔Example〕

以下、本発明の一実施例を図面を用いながら詳細に説
明する。第1図は、本発明に係わるマルチプロセッサコ
ンピュータ複合装置の一実施例の全体構成図である。同
図において、マルチプロセッサコンピュータ(以下単に
コンピュータと呼ぶ)11〜13は一致化バス14で互いに接
続されている。コンピュータ11の構成は(他の同様)、
プロセッサ114〜116がマルチプロセッサバス(以下単に
バスと呼ぶ)113で結合され、ストレージコントロール
ユニット112(SCU;以下では単に制御ユニットと呼ぶ)
を介して共有メモリ111を共有している。
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is an overall configuration diagram of an embodiment of a multiprocessor computer multifunction peripheral according to the present invention. In the figure, multiprocessor computers (hereinafter simply referred to as computers) 11 to 13 are connected to each other by a matching bus 14. The configuration of computer 11 (as well as others)
Processors 114 to 116 are connected by a multiprocessor bus (hereinafter simply referred to as a bus) 113 and a storage control unit 112 (SCU; hereinafter simply referred to as a control unit).
, The shared memory 111 is shared.

共有メモリ111には、プロセッサ114〜116が実行する
プログラムとそのプログラムによって処理されるデータ
が格納されるが、この共有メモリ111には、本発明の特
徴とする大域共有メモリ領域が設けられ、コンピュータ
12,13のプロセッサにも共有されるデータが格納され
る。これに対して、コンピュータ11のプロセッサのみよ
りアクセスされるデータの格納部分を局所共有メモリ領
域と呼ぶこととする。
The shared memory 111 stores programs executed by the processors 114 to 116 and data processed by the programs. The shared memory 111 is provided with a global shared memory area which is a feature of the present invention.
The shared data is also stored in the 12, 13 processors. On the other hand, a storage part of data accessed only by the processor of the computer 11 is called a local shared memory area.

以下、メモリアクセスの動作を説明する。まず、読み
出し時には、制御ユニット112はプロセッサ114〜116の
一つから読み出し要求をマルチプロセッサバス113を通
して受け取り、共有メモリ111からデータを読み出し
て、要求したプロセッサに渡す。
Hereinafter, the operation of the memory access will be described. First, at the time of reading, the control unit 112 receives a read request from one of the processors 114 to 116 through the multiprocessor bus 113, reads data from the shared memory 111, and passes it to the requesting processor.

一方、書き込みは、大域共有メモリ領域に対するもの
と局所共有メモリ領域に対するものとで動作が異なる。
プロセッサが書き込みを要求するときは、アドレスとと
もにそのアドレスがどのアドレス空間に属するかの情報
であるアドレススペース(ASP)を出力する。これは第
1表に示されるように“001"のときそのアクセスが局所
共有メモリ領域に対するものであり、“110"のとき大域
共有メモリ領域に対するアクセスであることを表す。こ
れらと“000"を除くその他の場合はディスクなどのI/O
デバイスが接続されるバスに関係したアドレス空間を想
定して示してある。但しこれらは本発明とは直接関係し
ないので説明を省略する。
On the other hand, the operation of writing to the global shared memory area differs from that of writing to the local shared memory area.
When the processor requests a write, an address space (ASP), which is information on which address space the address belongs to, is output together with the address. As shown in Table 1, "001" indicates that the access is to the local shared memory area, and "110" indicates that the access is to the global shared memory area. Except for these and “000”, I / O of disk etc. in other cases
It is shown assuming an address space related to the bus to which the device is connected. However, since these are not directly related to the present invention, the description is omitted.

制御ユニット112は、アドレススペースを見て大域共
有メモリ領域、局所共有メモリ領域のどちらに対する書
き込みかを判断する。書き込みが局所共有メモリ領域に
対するときは、読み出しと同様に共有メモリ111に対し
てのみデータを書き込む。大域共有メモリ領域に対する
書き込みのときは、制御ユニット112は一致化バス14を
占有した後、この一致化バスを通してすべてのコンピュ
ータ11〜13の制御ユニットに書き込むデータと書き込み
先アドレスを放送する。各制御ユニットは、受信したデ
ータをそれぞれのコンピュータの共有メモリに書き込
み、このようにして大域共有メモリ領域のデータの内容
がコンピュータ間で一致化される。
The control unit 112 determines whether to write to the global shared memory area or the local shared memory area by looking at the address space. When writing to the local shared memory area, data is written only to the shared memory 111 as in reading. When writing to the global shared memory area, the control unit 112 occupies the matching bus 14 and then broadcasts data to be written to all the control units of the computers 11 to 13 and write destination addresses through the matching bus. Each control unit writes the received data to the shared memory of the respective computer, and thus the contents of the data in the global shared memory area are matched between the computers.

RMWは、モトローラ社のマイクロプロセッサ68030のTA
S命令やCAS命令として周知の命令である。プロセッサ11
4が共有メモリ111に対してRMWを実行したときの動作に
ついて説明する。このRMW実行中は、プロセッサは信号
をバス113に出力する。制御ユニット112は、この信号を
検知して命令がRMWであることを知る。さらにそのRMW命
令が局所共有メモリ領域に対するものか大域共有メモリ
領域に対するものかをアドレススペースから判断する。
RMW TA Motorola Microprocessor 68030
These instructions are well known as S instructions and CAS instructions. Processor 11
The operation when the RMW 4 executes the RMW on the shared memory 111 will be described. During the execution of the RMW, the processor outputs a signal to the bus 113. The control unit 112 detects this signal and knows that the command is RMW. Further, it is determined from the address space whether the RMW instruction is for the local shared memory area or the global shared memory area.

まずRMW命令を局所共有メモリ領域に対して実行する
場合は、プロセッサ114は最初にRMW信号を出力してバス
113を占有する。これは他のプロセッサ115,116がプロセ
ッサ114の実行中に、このRMWと同じアドレスに対してア
クセスするのを禁止するためである。次にプロセッサ11
4は、バス113にRMWの最初の読み出しのアドレスとアド
レススペース“001"を出力する。制御ユニット112は、
アドレススペースによりRMWが局所共有メモリ領域に対
してであることを知ると、前述の共有メモリからのデー
タ読み込みと同じ手順でデータを読み込む。次のデータ
の操作はプロセッサ114中で行われるが、この最中もバ
ス113は占有され続ける。最後の書き込みは、前述の局
所共有メモリ領域に対する書き込みと同じである。書き
込みが完全に終了した後にプロセッサ114はバス113を解
放する。
First, when executing the RMW instruction on the local shared memory area, the processor 114 first outputs the RMW signal and outputs the RMW signal.
Occupies 113. This is to prevent the other processors 115 and 116 from accessing the same address as the RMW during the execution of the processor 114. Then processor 11
4 outputs the address of the first read of the RMW and the address space "001" to the bus 113. The control unit 112
When it is known from the address space that the RMW is for the local shared memory area, data is read in the same procedure as that for reading data from the shared memory. The operation of the next data is performed in the processor 114, and the bus 113 continues to be occupied during this operation. The last write is the same as the write to the local shared memory area described above. After the writing is completely completed, the processor 114 releases the bus 113.

次にプロセッサ114が大域共有メモリ領域に対してRMW
を実行する場合は、プロセッサ114がバス113に読み出し
のアドレスとアドレススペース“110"を出力するまで
は、局所共有メモリ領域に対するときと同じである。制
御ユニットが、RMWが大域共有メモリ領域に対してであ
ることを知ると、信号線220を使って一致化バス14を専
有する。これはコンピュータ12,13のプロセッサがコン
ピュータ11のプロセッサと同時に大域共有メモリ領域に
対してRMWを実行するのを防ぐためである。データの読
み込みと操作は局所共有メモリ領域のときと同様であ
る。この間も一致化バス14は専有し続けられる。書き込
みは前述の大域共有メモリ領域に対する書き込みと同様
である。書き込みが完全に終了してから一致化バス14と
バス113を解放する。
Next, the processor 114 performs RMW on the global shared memory area.
Is executed until the processor 114 outputs the read address and the address space “110” to the bus 113, as in the case of the local shared memory area. When the control unit knows that the RMW is for the global shared memory area, it uses signal line 220 to occupy match bus 14. This is to prevent the processors of the computers 12 and 13 from executing the RMW on the global shared memory area simultaneously with the processor of the computer 11. Data reading and operation are the same as in the local shared memory area. During this time, the matching bus 14 is continuously occupied. The writing is the same as the writing to the global shared memory area described above. After the writing is completed, the matching bus 14 and the bus 113 are released.

次に故障発生時のバックアップ運転時等の、切り離し
運転について説明する。一つのコンピュータが故障し、
他のコンピュータの処理を続行させたままその故障した
コンピュータを保守する場合、あるいは一つのコンピュ
ータを使ってプログラムの開発やテストをする場合な
ど、一つのコンピュータを他のコンピュータより切り離
して運転したいときがある。このときは制御ユニット11
2は信号線220を切断する。これにより一致化バス14との
接続が切られるから、当該コンピュータにおいて大域共
有メモリ領域に対しての書き込みやRMWが実行されて
も、制御ユニットは局所共有メモリ領域に対するときと
同じ処理を行う。つまり当該コンピュータが切り離され
た状態で運転できる。
Next, a disconnection operation such as a backup operation when a failure occurs will be described. One computer breaks down,
When you want to operate one computer separately from another computer, such as when maintaining a failed computer while continuing processing of another computer, or when developing or testing a program using one computer, is there. In this case, the control unit 11
2 disconnects the signal line 220. As a result, the connection with the matching bus 14 is cut off, so that even when writing or RMW is executed in the global shared memory area in the computer, the control unit performs the same processing as in the local shared memory area. That is, the computer can be operated in a disconnected state.

切り離していたコンピュータを他のコンピュータに改
めて接続するときは、そのコンピュータの大域共有メモ
リ領域の内容が他のコンピュータと違ったものとなって
いるから、これを一致させる必要がある。この一致化の
動作を、コンピュータ12が切り離されていたとして説明
する。まず、コンピュータ12のプロセッスの一つが、コ
ンピュータ11または13のプロセッサの一つに対して大域
共有メモリ領域の内容の複写の依頼を割込により行う。
今、この割込を受けたのがプロセッサ114であったとす
ると、このプロセッサ114は大域共有メモリ領域複写の
プロセスを起動する。このプロセスは、大域共有メモリ
領域に対して順に次のRMWを実行していく。そのRMWと
は、あるいはアドレスからデータを読み出し、読み出し
たデータをそのまま同じアドレスに書き戻す命令であ
る。このRMWを実行すると共有メモリ111より読み出され
たデータが全コンピュータ11〜13の共有メモリに書き込
まれるので、切り離されていたコンピュータ12の共有メ
モリにデータが複写される。RMWを用いるのは、普通の
読み出しと書き込みを命令を組合せて用いると、データ
の読み出しが完了しかつ書き込みはまだという状態のと
きに、他のプロセッサが読み出されたデータのアドレス
内容を更新してしまう可能性があるからである。
When the disconnected computer is reconnected to another computer, the contents of the global shared memory area of the computer are different from those of the other computers, and therefore, it is necessary to match the contents. This matching operation will be described assuming that the computer 12 has been disconnected. First, one of the processes of the computer 12 makes a request to one of the processors of the computer 11 or 13 to copy the contents of the global shared memory area by interruption.
Assuming that the processor 114 has received the interrupt, the processor 114 starts a process of copying the global shared memory area. This process sequentially executes the next RMW for the global shared memory area. The RMW is an instruction for reading data from an address or writing the read data back to the same address. When the RMW is executed, the data read from the shared memory 111 is written to the shared memory of all the computers 11 to 13, so that the data is copied to the separated shared memory of the computer 12. The use of RMW means that if a combination of normal read and write is used, when the data read is completed and the write is not yet performed, the other processor updates the address content of the read data. It is because there is a possibility that it will be.

以上に記述した動作により、各コンピュータ間のデー
タの通信を大域共有メモリ領域を介して行え、マルチプ
ロセッサコンピュータの複合体を実現できるが、それを
実現するための、各部の構成と動作を次に説明する。第
2図は、ストレージコントロールユニット(制御ユニッ
ト)の構成を示す。同図において、信号線200はマルチ
プロセッサバスに、信号線210は共有メモリ111に、そし
て信号線220は一致化バス14にそれぞれ接続される。書
き込みバッファ23は、大域共有メモリ領域への書き込み
を高速化するためのファーストインファーストアウトバ
ッファ(キュー)で、書き込みデータを一時保存するデ
ータキュー232、書き込み先アドレスを一時保存するア
ドレスキュー233、および両方のキューを制御するバッ
ファコントローラ231(BC)から成る。この他に、各種
バッファ24,25,27,36,37、セレクタ30〜34、デコーダ2
6、フリップフロップ28、調停回路29、スイッチ35が用
いられている。
By the operation described above, data communication between each computer can be performed via the global shared memory area, and a complex of multiprocessor computers can be realized. The configuration and operation of each unit for realizing it are as follows. explain. FIG. 2 shows a configuration of a storage control unit (control unit). In the figure, the signal line 200 is connected to the multiprocessor bus, the signal line 210 is connected to the shared memory 111, and the signal line 220 is connected to the matching bus 14. The write buffer 23 is a first-in first-out buffer (queue) for speeding up writing to the global shared memory area, and includes a data queue 232 for temporarily storing write data, an address queue 233 for temporarily storing write destination addresses, and It consists of a buffer controller 231 (BC) that controls both queues. In addition, various buffers 24, 25, 27, 36, 37, selectors 30 to 34, decoder 2
6, a flip-flop 28, an arbitration circuit 29, and a switch 35 are used.

局所共有メモリ領域からの読み出し時には、プロセッ
サがバス113より、アドレススペース202を“001"、かつ
R/W信号203を読み出しを示す“1"、メモリアクセス要求
204をオンの“1"とし、アドレス205に読み出しアドレス
を与える。デコーダ26はアドレススペース202とR/W信号
203の内容を解読し、局所共有メモリ領域の読み出しで
あると判定し、調停回路29を介してセレクタ31〜34に左
側入力を選択させる。これによりR/W信号203、アクセス
要求204、及びアドレス205が信号212,213,215として共
有メモリ111へ送られ、読み出しが行われる。ただしこ
のとき、調停回路29には一致化バス14からアドレス要求
が入力されていないものとする。共有メモリ111から読
み出されたデータ211は、バッファ24、セレクタ30経由
でデータ201として出力され、バスを通って、要求を出
力したプロセッサに送られる。
At the time of reading from the local shared memory area, the processor sets the address space 202 to “001” from the bus 113 and
“1” indicating readout of R / W signal 203, memory access request
204 is turned on to “1”, and a read address is given to the address 205. Decoder 26 has address space 202 and R / W signal
The contents of 203 are decoded, and it is determined that the reading is of the local shared memory area, and the selectors 31 to 34 select the left input through the arbitration circuit 29. As a result, the R / W signal 203, the access request 204, and the address 205 are sent to the shared memory 111 as signals 212, 213, and 215, and reading is performed. However, at this time, it is assumed that no address request has been input from the matching bus 14 to the arbitration circuit 29. The data 211 read from the shared memory 111 is output as data 201 via the buffer 24 and the selector 30, and is sent to the processor which has output the request via the bus.

大域共有メモリ領域からの読み出しのときは、アドレ
ススペース201が“110"となるが、動作は局所共有メモ
リ領域からの読み出しとほぼ同じである。ただしこの場
合は、以前に同じアドレスに書き込んだデータがまだ共
有メモリ111に書き込まれず、書き込みバッファ23に溜
っているかもしれない。このために、読み出すアドレス
205がアドレスキュー233に存在していたら、それに対応
したデータをデータキュー232からセレクタ30へ送り、
同時にコントローラ231からの信号によってセレクタ30
を右の入力に切り換える。この動作により、バッファ23
のデータが共有メモリ111へ書き込まれるのを待たずに
所望のデータを読み出せる。
When reading from the global shared memory area, the address space 201 becomes "110", but the operation is almost the same as reading from the local shared memory area. However, in this case, data previously written to the same address may not be written to the shared memory 111 yet, but may be stored in the write buffer 23. For this, the address to read
If 205 exists in the address queue 233, the corresponding data is sent from the data queue 232 to the selector 30, and
At the same time, the selector 30 receives a signal from the controller 231.
To the right input. This operation allows buffer 23
The desired data can be read out without waiting for the data in the shared memory 111 to be written.

局所共有メモリ領域に対する書き込みのときには、プ
ロセッサがアドレススペース202を“001"に、R/W信号20
3を書き込みを示す“0"にし、メモリアクセス要求204を
オンにし、書き込み先アドレス205を送り出した後、書
き込みデータ201を送出する。局所共有メモリ領域から
の読み出し同様に、デコーダ26の指示によりセレクタ31
〜34は左側の入力を選択し、プロセッサからの各信号及
びデータが信号及びデータ212〜215として共有メモリ11
1へ送られ、書き込みが行われる。
When writing to the local shared memory area, the processor sets the address space 202 to “001” and sets the R / W signal 20
3 is set to “0” indicating writing, the memory access request 204 is turned on, the write destination address 205 is sent out, and then the write data 201 is sent out. Similarly to reading from the local shared memory area, the selector 31 is instructed by the instruction of the decoder 26.
34 selects the left input, and the signals and data from the processor are shared as the signals and data 212 to 215 by the shared memory 11.
Sent to 1 for writing.

大域共有メモリ領域への書き込みのときは、プロセッ
サからのアドレススペース202が“110"となる以外は局
所共有メモリ領域に対するものと同じである。デコーダ
26は、アドレススペース202とR/W信号203を入力して、
アクセスが大域共有メモリ領域に対する書き込みである
ことを知ると、アドレスやデータを直接共有メモリに送
らず、書き込みバッファ23に送るようにセレクタ31〜34
とバッファコントローラ231を制御する。こうしてデー
タ201とアドレス205がデータキュー232とアドレスキュ
ー233へ入力されると、バッファコントローラ231は、一
致化バス14を専有するために一致化バス使用要求224を
出力する。一致化バスが専有できると一致化バス使用許
可225が得られる。これによりコントローラ231はキュー
232,233より書き込みデータ,書き込みアドレスをスイ
ッチ35経由で一致かバス14に出力し、書き込み信号223
も一致化バス14に出力する。以下の動作は、コンピュー
タ11〜13の全部の制御ユニットに対して同時に行われ
る。即ち、一致化バス14に出力されたアドレス,デー
タ,書き込み信号はデータ221,アドレス222,書き込み信
号223として該当制御ユニットへ入力される。書き込み
信号223は調停回路29を通ってセレクタ31〜34を制御
し、セレクタ31〜34が右側の信号を入力するように切り
替える。これにより、アドレス221とデータ222が共有メ
モリ111に送られて書き込みが行われる。
Writing to the global shared memory area is the same as that for the local shared memory area except that the address space 202 from the processor is "110". decoder
26 inputs the address space 202 and the R / W signal 203,
When it is determined that the access is to write to the global shared memory area, the selectors 31 to 34 send the address and data to the write buffer 23 without sending them directly to the shared memory.
And the buffer controller 231. When the data 201 and the address 205 are input to the data queue 232 and the address queue 233 in this way, the buffer controller 231 outputs a matching bus use request 224 to occupy the matching bus 14. If the matching bus can be occupied, a matching bus use permission 225 is obtained. This causes the controller 231 to queue
The write data and the write address are output to the bus 14 via the switch 35 from the 232 and 233 via the switch 35, and the write signal 223 is output.
Are also output to the matching bus 14. The following operation is performed simultaneously for all the control units of the computers 11 to 13. That is, the address, data, and write signals output to the matching bus 14 are input to the corresponding control unit as data 221, address 222, and write signal 223. The write signal 223 controls the selectors 31 to 34 through the arbitration circuit 29, and switches the selectors 31 to 34 to input the right signal. Thereby, the address 221 and the data 222 are sent to the shared memory 111 and writing is performed.

次に、局所共有メモリ領域に対するRMW命令の実行
は、単なる読み出しと書き込みが連続した場合と同じで
あって、制御ユニットの動作もこれらを行うための制御
が順次実行されるだけである。
Next, the execution of the RMW instruction for the local shared memory area is the same as the case where mere reading and writing are continued, and the operation of the control unit is only executed in order to perform these operations.

大域共有メモリ領域に対するRMWの実行時の動作は、
最初の読み出し、2番目のデータ操作、最後の書き込み
に分けられる。まず、メモリからのデータ読み出しであ
るが、プロセッサ114〜116からRMW信号206が入力される
他は、大域共有メモリ領域からの読み出しと同じであ
る。RMW信号206は、RMWが終了するまでずっと入力され
る。バッファコントローラ231は、RMW信号206を受ける
と、大域共有メモリ領域への書き込みと同じように一致
化バスを専有する。以後の読み出しの動作は、大域共有
メモリ領域からの読み出しと同じである。次のデータ操
作は、プロセッサの内部で行われるから、制御ユニット
はただ一致化バス14を専有し続けるだけである。最後の
書き込みは、大域共有メモリ領域に対する書き込みと同
じであるが、一致化バス14は、書き込みバッファ23内の
キュー232,233が空になるまで専有し続ける。これは、
書き込みデータがバッファに溜った状態で一致化バス14
を解放すると、データが共有メモリに書かれる前に他の
プロセッサが同じアドレスに対してRMWを実行するかも
しれないからである。
The runtime behavior of RMW for the global shared memory area is
First read, second data operation, and last write. First, data read from the memory is the same as data read from the global shared memory area except that the RMW signal 206 is input from the processors 114 to 116. The RMW signal 206 is input until the RMW ends. Upon receiving the RMW signal 206, the buffer controller 231 occupies the matching bus in the same manner as writing to the global shared memory area. The subsequent reading operation is the same as reading from the global shared memory area. Since the next data operation is performed inside the processor, the control unit only continues to occupy the matching bus 14. The last write is the same as a write to the global shared memory area, but the match bus 14 continues to occupy until the queues 232,233 in the write buffer 23 are empty. this is,
Matching bus 14 with write data accumulated in buffer
Is released, other processors may perform an RMW to the same address before the data is written to shared memory.

最後にコンピュータ11を一致化バス14より切り離すと
きの制御ユニットの動作を説明する。切り離しは、プロ
セッサ114〜116の一つがバス113を介してフリップフロ
ップ28を反転することによりなされる。即ち、フリップ
フロップ28が反転すると、スイッチ35が信号線220をす
べてオフとし、コンピュータ11を一致化バス14より切り
離す。同時に、フリップフロップ28が反転すると、デコ
ーダ26は大域共有メモリ領域に対するアクセスを局所共
有メモリ領域に対するものと同じに扱う。
Finally, the operation of the control unit when the computer 11 is disconnected from the matching bus 14 will be described. The disconnection is performed by one of the processors 114 to 116 inverting the flip-flop 28 via the bus 113. That is, when the flip-flop 28 is inverted, the switch 35 turns off all the signal lines 220, and disconnects the computer 11 from the matching bus 14. At the same time, when flip-flop 28 is inverted, decoder 26 treats access to the global shared memory area as it would access the local shared memory area.

第3図は、第1図のプロセッサ114〜116の一つの構成
図で、中央演算ユニット(CPU)120、論理アドレスを物
理アドレスに変換するアドレス変換器(AT)121、キャ
ッシュメモリ122より構成されている。信号線300の内容
は第2図の信号線200に対応したものであるが、その他
に各プロセッサ間のキャッシュメモリの一致をとるため
に、キャッシュメモリの更新を行うことを表す信号305
及び現在バス113に出力されているアドレスのデータを
キャッシュメモリが持っていることを表す信号306が設
けられている。
FIG. 3 is a block diagram of one of the processors 114 to 116 shown in FIG. 1, and includes a central processing unit (CPU) 120, an address converter (AT) 121 for converting a logical address to a physical address, and a cache memory 122. ing. The contents of the signal line 300 correspond to the signal line 200 in FIG. 2, but in addition, a signal 305 indicating that the cache memory is updated in order to match the cache memory between the processors.
And a signal 306 indicating that the cache memory has the data of the address currently output to the bus 113.

アドレス変換器121は中央演算ユニット120が出力する
論理アドレスを物理アドレスに変換すると同時に、アド
レススペース(ASP)も論理アドレスより算出する。キ
ャッシュメモリ122は、高速メモリであり、最近中央演
算ユニット120によりアクセスされた共有メモリ111のデ
ータとその物理アドレスを記憶している。記憶されてい
る物理アドレスが再びアクセスされたときは、共有メモ
リにアクセスする代わりにこのキャッシュメモリにアク
セスする。マルチプロセッサコンピュータでは各キャッ
シュメモリ間で同じアドレスに対して異なるデータを持
つ可能性があるが、この問題を解決する方法は多く知ら
れており、本例では信号305,306により一致化をはかっ
ている。
The address converter 121 converts a logical address output by the central processing unit 120 into a physical address, and also calculates an address space (ASP) from the logical address. The cache memory 122 is a high-speed memory, and stores data of the shared memory 111 recently accessed by the central processing unit 120 and its physical address. When the stored physical address is accessed again, the cache memory is accessed instead of the shared memory. In a multiprocessor computer, different cache memories may have different data for the same address. Many methods for solving this problem are known, and in this example, matching is performed by signals 305 and 306.

しかし、コンピュータ間ではキャッシュメモリの一致
を保障できないので、大域共有メモリ領域のデータは、
キャッシュメモリ122には記憶しない。
However, since it is not possible to guarantee cache memory consistency between computers, data in the global shared memory area is
It is not stored in the cache memory 122.

RMW命令もキャッシュメモリ122は使わずに共有メモリ
111を直接アクセスする。
RMW instruction also uses shared memory without using cache memory 122
Access 111 directly.

〔発明の効果〕〔The invention's effect〕

本発明によれば、各マルチプロセッサコンピュータの
途中情報を共通領域である大域共有メモリ領域に記憶し
ておけば、一つのマルチプロセッサコンピュータが故障
したときに、故障していないマルチプロセッサコンピュ
ータがその故障したマルチプロセッサコンピュータの途
中情報を読み出して処理を続行できるので、高信頼な計
算機システムを実現できるという効果があり、また共通
領域をデータの受け渡し手段として利用すればマルチプ
ロセッサコンピュータ間で並列処理ができるので、計算
の高速化に効果がある。
According to the present invention, if the intermediate information of each multiprocessor computer is stored in the global shared memory area, which is a common area, when one multiprocessor computer fails, the non-failed multiprocessor computer will Since the processing can be continued by reading the intermediate information of the multiprocessor computer, there is an effect that a highly reliable computer system can be realized, and parallel processing can be performed between the multiprocessor computers if the common area is used as a data transfer means. This is effective for speeding up the calculation.

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

第1図は、本発明のマルチプロセッサコンピュータ複合
装置の一実施例を示すブロック図、第2図,第3図はそ
れぞれ本発明に適用される各部の具体的な実施例を示す
図である。 11〜13……マルチプロセッサコンピュータ、14……一致
化バス、23……書き込みバッファ、26……デコーダ、28
……フリップフロップ、31〜34……セレクタ、35……ス
イッチ、111……共有メモリ、112……ストレージコント
ロールユニット、113……マルチプロセッサバス、114〜
116……プロセッサ、121……アドレス変換器、122……
キャッシュメモリ、120……中央演算ユニット。
FIG. 1 is a block diagram showing one embodiment of a multiprocessor computer multifunction peripheral according to the present invention, and FIGS. 2 and 3 are diagrams showing specific embodiments of respective parts applied to the present invention. 11 to 13 Multiprocessor computer, 14 Matching bus, 23 Write buffer, 26 Decoder, 28
... flip-flops, 31-34 ... selectors, 35 ... switches, 111 ... shared memory, 112 ... storage control units, 113 ... multiprocessor buses, 114-
116: Processor, 121: Address converter, 122:
Cache memory, 120 Central processing unit.

フロントページの続き (72)発明者 坂東 忠秋 茨城県日立市久慈町4026番地 株式会社 日立製作所日立研究所内 (56)参考文献 特開 昭60−563(JP,A) 特開 昭53−104138(JP,A) 特開 昭59−22154(JP,A) 特開 昭63−239551(JP,A) 特公 昭63−26903(JP,B2) (58)調査した分野(Int.Cl.6,DB名) G06F 15/16Continuation of the front page (72) Inventor Tadaaki Bando 4026 Kuji-cho, Hitachi City, Ibaraki Prefecture Within Hitachi Research Laboratory, Hitachi, Ltd. (56) References JP-A-60-563 (JP, A) JP-A-53-104138 (JP) JP-A-59-22154 (JP, A) JP-A-63-239551 (JP, A) JP-B-63-26903 (JP, B2) (58) Fields investigated (Int. Cl. 6 , DB Name) G06F 15/16

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】バスを介して複数台のマルチプロセッサコ
ンピュータを接続したマルチプロセッサコンピュータ複
合装置において、各マルチプロセッサコンピュータが、 (a)大域領域と局所領域を有する共有メモリと、 (b)複数のプロセッサであって各々がキャッシュメモ
リを備え、自身のマルチプロセッサコンピュータに設け
られた前記共有メモリの前記局所領域をアクセスすると
きは、自身に付属するキャッシュメモリを使用してアク
セスを行い、前記大域領域にアクセスするときは前記キ
ャッシュメモリを使用せずに直接アクセスを行う複数の
プロセッサと、 (c)自身のマルチプロセッサコンピュータ内の各プロ
セッサが備える前記キャッシュメモリ間の一致化を図る
手段と、 (d)前記プロセッサのいずれかが前記大域領域にデー
タの書き込みを行う場合には自身のマルチプロセッサコ
ンピュータの共有メモリの大域領域にデータを書き込む
と共に、前記バスを介して他のマルチプロセッサコンピ
ュータ内の共有メモリの大域領域にも前記データを書き
込むメモリ制御手段と を備えることを特徴とするマルチプロセッサコンピュー
タ複合装置。
1. In a multiprocessor computer multi-function apparatus in which a plurality of multiprocessor computers are connected via a bus, each multiprocessor computer comprises: (a) a shared memory having a global area and a local area; Processors each having a cache memory, and when accessing the local area of the shared memory provided in its own multiprocessor computer, access is performed using a cache memory attached to the processor, and the global area is accessed. A plurality of processors performing direct access without using the cache memory when accessing the cache memory; (c) means for matching the cache memories included in the processors in the multiprocessor computer itself; and (d) Any of the processors is in the global region When writing data, a memory control that writes data to the global area of the shared memory of the own multiprocessor computer and also writes the data to the global area of the shared memory of another multiprocessor computer via the bus A multiprocessor computer composite device comprising:
JP63232502A 1988-09-19 1988-09-19 Multiprocessor computer multifunction device Expired - Fee Related JP2813182B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63232502A JP2813182B2 (en) 1988-09-19 1988-09-19 Multiprocessor computer multifunction device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63232502A JP2813182B2 (en) 1988-09-19 1988-09-19 Multiprocessor computer multifunction device

Publications (2)

Publication Number Publication Date
JPH0281255A JPH0281255A (en) 1990-03-22
JP2813182B2 true JP2813182B2 (en) 1998-10-22

Family

ID=16940333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63232502A Expired - Fee Related JP2813182B2 (en) 1988-09-19 1988-09-19 Multiprocessor computer multifunction device

Country Status (1)

Country Link
JP (1) JP2813182B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2989530B2 (en) * 1995-10-27 1999-12-13 矢崎総業株式会社 clip
JP3121249B2 (en) * 1995-11-02 2000-12-25 矢崎総業株式会社 clip
KR100782592B1 (en) * 2006-08-10 2007-12-06 엠텍비젼 주식회사 Device having shared memory and method for controlling shared memory
JP4983632B2 (en) * 2008-02-06 2012-07-25 日本電気株式会社 Information communication system, access arbitration method thereof, and control program thereof
JP5307796B2 (en) 2008-03-19 2013-10-02 パナソニック株式会社 Processing apparatus, processing system, data sharing processing method, and integrated circuit for data sharing processing
JP5241384B2 (en) * 2008-08-29 2013-07-17 ルネサスエレクトロニクス株式会社 Distributed shared memory multiprocessor and data processing method

Also Published As

Publication number Publication date
JPH0281255A (en) 1990-03-22

Similar Documents

Publication Publication Date Title
JP3579198B2 (en) Data processing system and data processing method
JP3765586B2 (en) Multiprocessor computer system architecture.
EP0258559B1 (en) Cache memory coherency control provided with a read in progress indicating memory
US5870625A (en) Non-blocking memory write/read mechanism by combining two pending commands write and read in buffer and executing the combined command in advance of other pending command
US6199144B1 (en) Method and apparatus for transferring data in a computer system
US6128711A (en) Performance optimization and system bus duty cycle reduction by I/O bridge partial cache line writes
US6832282B2 (en) System and method for providing forward progress and avoiding starvation and livelock in a multiprocessor computer system
RU2380743C1 (en) Method and device for clearing semaphore reservation
EP0283628A2 (en) Bus interface circuit for digital data processor
EP1200897B1 (en) Mechanism for reordering transactions in computer systems with snoop-based cache consistency protocols
JPH1031625A (en) Write back buffer for improved copy back performance in multiprocessor system
JP2001117859A (en) Bus controller
JPH04306748A (en) Information processor
US6892283B2 (en) High speed memory cloner with extended cache coherency protocols and responses
EP0480858A2 (en) Hardware primary directory lock
EP0522582A2 (en) Memory sharing for communication between processors
US5701422A (en) Method for ensuring cycle ordering requirements within a hierarchical bus system including split-transaction buses
JP2813182B2 (en) Multiprocessor computer multifunction device
US6098113A (en) Apparatus and method for address translation and allocation for a plurality of input/output (I/O) buses to a system bus
JP3814521B2 (en) Data processing method and apparatus
US6502150B1 (en) Method and apparatus for resource sharing in a multi-processor system
US6915390B2 (en) High speed memory cloning facility via a coherently done mechanism
US6986011B2 (en) High speed memory cloner within a data processing system
JP2002024007A (en) Processor system
US6928524B2 (en) Data processing system with naked cache line write operations

Legal Events

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