JPH07262150A - Parallel computer - Google Patents

Parallel computer

Info

Publication number
JPH07262150A
JPH07262150A JP6053401A JP5340194A JPH07262150A JP H07262150 A JPH07262150 A JP H07262150A JP 6053401 A JP6053401 A JP 6053401A JP 5340194 A JP5340194 A JP 5340194A JP H07262150 A JPH07262150 A JP H07262150A
Authority
JP
Japan
Prior art keywords
memory
data
circuit
communication area
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6053401A
Other languages
Japanese (ja)
Inventor
Tatsuo Higuchi
達雄 樋口
Junji Nakakoshi
順二 中越
Tadaaki Isobe
忠章 磯部
Toshimitsu Ando
利光 安藤
Masaaki Iwasaki
正明 岩嵜
Masahito Ishii
将人 石井
Shinichi Kato
信一 加藤
Hamiruton Patoritsuku
パトリック・ハミルトン
Akira Ishiyama
明 石山
Yasuhiro Inagami
泰弘 稲上
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 JP6053401A priority Critical patent/JPH07262150A/en
Publication of JPH07262150A publication Critical patent/JPH07262150A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To secure the consistency of contents between a cache in a reception processor and a memory and to eliminate the need of making the communication area, where messages are written, resident in the memory in the case of the method where messages to be transferred between user processes are directly written in the communication area assigned to the transmission destination process. CONSTITUTION:When a message is received, the message header is written in a memory 4 by a memory write circuit 251, and the OS issues a cache flash instruction which designates the communication area designated by this message header. A cache memory 11 which is flashed by this instruction is used, and data belonging to this communication area is made invalid. If this data is updated after being read out from the memory 4 to the cache memory 11, it is written back to the memory 4. If the communication area is paged out of the memory 4, the OS reserves the communication area designated by the message header in the memory 4.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、それぞれローカルメモ
リとプロセッサを有し、ネットワークで相互にデータを
交換しながらする、互いに異なる処理を並列に実行する
複数のプロセッサユニットからなる並列計算機に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a parallel computer having a plurality of processor units each having a local memory and a processor and executing different processes in parallel while exchanging data with each other via a network.

【0002】[0002]

【従来の技術】従来の典型的な並列計算機では、それぞ
れローカルメモリとプロセッサとから構成される複数の
プロセッサユニットが、ネットワークを介して相互に接
続されている。
2. Description of the Related Art In a typical conventional parallel computer, a plurality of processor units each including a local memory and a processor are connected to each other via a network.

【0003】複数の他のプロセッサユニット間でのデー
タ転送は、このネットワークを介して行なわれる。
Data transfer between a plurality of other processor units is performed via this network.

【0004】並列計算機の高速化のためには、プロセッ
サ間のデータ転送の時間を軽減することが重要である。
In order to increase the speed of a parallel computer, it is important to reduce the data transfer time between processors.

【0005】一般に、異なるプロセッサユニットで並列
に実行される、プロセスと呼ばれる複数のユーザプログ
ラム間でのデータの転送を、それぞれのプロセッサユニ
ットを制御するオペレーティングシステム(OS)の制
御の元で行なう方法が知られている。
Generally, there is a method of transferring data between a plurality of user programs called processes, which are executed in parallel by different processor units, under the control of an operating system (OS) controlling each processor unit. Are known.

【0006】すなわち、各プロセッサユニットで実行中
のいずれかのプロセスから他のプロセッサユニットに属
するプロセスにデータを転送するときに、送信元プロセ
ッサユニットでは、いずれかのプロセスに割り当てたユ
ーザ空間内の通信領域からそのプロセッサユニット内の
OS内のカーネル空間内の通信領域へそのデータをコピ
ーし、コピーされたデータを他のプロセッサユニットに
宛てて送信していた。受信先プロセッサユニットではそ
のデータをその受信先プロセッサユニット内のOSのカ
ーネル空間の通信領域にまず、書込み、その後、送信先
プロセスに割り当てたユーザ空間内の通信領域にそのO
S用の通信領域からそのデータをコピーする。
That is, when data is transferred from any process running in each processor unit to a process belonging to another processor unit, the transmission source processor unit performs communication in the user space assigned to any process. The data is copied from the area to the communication area in the kernel space in the OS in the processor unit, and the copied data is sent to another processor unit. In the receiver processor unit, the data is first written in the communication area in the kernel space of the OS in the receiver processor unit, and then the data is written in the communication area in the user space assigned to the destination process.
The data is copied from the communication area for S.

【0007】[0007]

【発明が解決しようとする課題】並列計算機にこのよう
なデータ通信方法を適用すると、カーネル空間とユーザ
プロセス空間の間のデータのコピーがオーバヘッドとし
て問題である。
When such a data communication method is applied to a parallel computer, copying data between the kernel space and the user process space poses a problem as overhead.

【0008】この問題を解決するために、本出願人は特
願平3ー241094などのいくつかの特許出願を行な
った。
In order to solve this problem, the present applicant has filed several patent applications such as Japanese Patent Application No. 3-241094.

【0009】特願平3ー241094では、送信元プロ
セッサユニット及び受信先プロセッサユニットの双方に
おいて、送信元プロセスの通信領域および送信先のプロ
セスの通信領域を、それぞれのプロセッサユニットのメ
モリ上に常駐させ、データの通信を、それぞれのプロセ
ッサユニットのOSを介しないで、これらの常駐した通
信領域間で直接行なう方法を提案している。
In Japanese Patent Application No. 3-241094, the communication area of the transmission source process and the communication area of the transmission destination process are made resident in the memory of each processor unit in both the transmission source processor unit and the reception destination processor unit. , A method of directly performing data communication between these resident communication areas without going through the OS of each processor unit.

【0010】このような並列計算機では、受信したデー
タが、それを使用すべきユーザプロセスに割り当てられ
た通信領域に書き込まれる。このような構成の並列計算
機にキャッシュメモリを使用した場合、この通信領域
は、ユーザプロセスによりこの受信と非同期にアクセス
されるため、受信された最近のデータで更新される前の
古いデータがキャッシュに保持されたままであることが
起こり得て、プロセッサはこの古い値を使って演算を行
なう可能性がある。
In such a parallel computer, the received data is written in the communication area assigned to the user process that should use it. When a cache memory is used in a parallel computer with such a configuration, this communication area is accessed asynchronously by this reception by the user process, so old data before being updated with the latest received data is stored in the cache. It is possible that it will remain held and the processor may use this old value to perform operations.

【0011】また、特願平3ー241094では通信領
域はすべてメモリに常駐していることが必要である。し
かし、ユーザプロセス数が多く、かつこれらのプロセス
が通信領域をメモリ上に常駐させてしまうとメモリ上で
OSが自由に使える領域が減少してしまう。この様にO
Sが自由に使える領域が減少すると、しばしば2次記憶
装置、例えばディスクとメモリとの間でスワッピングが
発生し、並列計算機の性能を低下させる可能性がある。
Further, in Japanese Patent Application No. 3-241094, it is necessary that the entire communication area be resident in the memory. However, if the number of user processes is large and these processes make the communication area resident in the memory, the area in which the OS can be freely used decreases. O like this
When the area where S is freely available decreases, swapping often occurs between a secondary storage device, for example, a disk and a memory, which may reduce the performance of a parallel computer.

【0012】本発明の第1の目的は、内部にキャッシュ
メモリを持つプロセッサを複数使用し、このキャッシュ
メモリとそのプロセッサ内のメモリとの間で内容の一貫
性を保証した並列計算機を提供することにある。
A first object of the present invention is to provide a parallel computer which uses a plurality of processors each having a cache memory therein and guarantees the consistency of contents between the cache memories and the memories in the processors. It is in.

【0013】本発明の第2の目的は、複数のプロセスが
使用する複数の通信領域を、すべてメモリに常駐させる
ことなく、プロセス間通信を実現する並列計算機を提供
することにある。
A second object of the present invention is to provide a parallel computer which realizes inter-process communication without making a plurality of communication areas used by a plurality of processes all resident in a memory.

【0014】[0014]

【課題を解決するための手段】本願第1の発明では、並
列計算機を構成する各プロセッサユニットに、キャッシ
ュと、該キャッシュに含まれ、該受信した情報が指定す
る書込み位置のデータが、該プロセッサの該メモリから
該キャッシュに保持されているか否かを判定し、該受信
した情報が指定する該書込み位置のデータが該キャッシ
ュに保持されていると判定されたときには、該キャッシ
ュ内の該保持されているデータを無効にする手段と、該
無効回路による該キャッシュに保持されたデータの無効
の後に、該受信したデータを、該メモリ内の、受信した
メッセージ内の情報が指定する書き込み位置に書き込む
回路とを設けた。
According to the first invention of the present application, in each processor unit constituting a parallel computer, a cache and data at a write position included in the cache and designated by the received information is stored in the processor. If it is determined that the data at the write position designated by the received information is held in the cache, the data in the cache is held in the cache. Means for invalidating existing data, and after invalidating the data held in the cache by the invalidation circuit, writes the received data in a write position in the memory specified by information in the received message. And circuit.

【0015】そして、本願第2の発明では、並列計算機
を構成する各プロセッサユニットに、少なくとも一つの
ユーザプロセスに割り当てられ、プロセッサユニットの
メモリに確保されている通信領域に関する情報であっ
て、その通信領域の識別子を含む情報を保持する回路
と、複数のプロセッサユニットの内のいずれか一つの送
信先プロセッサユニットに、送信すべきデータと、その
データを使用すべき送信先ユーザプロセスに割り当てら
れた通信領域の識別子と、該送信すべきデータを書き込
むべき、該送信先プロセッサ内の該メモリ内の位置を指
定する情報とを含むメッセージを該ネットワークを介し
て送信する送信回路と、受信されたメッセージに含まれ
た識別子を有する通信領域が、該保メモリに確保されて
いるか否かを該保持回路に保持された情報に基づいて判
別し、その通信領域が該メモリに確保されていないとき
に、該プロセッサを制御するOSにその識別子を通知し
て、その通信領域を該メモリに確保することを要求する
回路と、該通信領域が該メモリに確保された後に、該受
信されたメッセージに含まれた情報が指定する、該メモ
リ内の、該確保された通信領域内の位置に、受信したメ
ッセージに含まれたデータを書き込む回路とを設けた。
In the second invention of the present application, the information regarding the communication area allocated to at least one user process and secured in the memory of the processor unit is assigned to each processor unit constituting the parallel computer. A circuit for holding information including an area identifier, data to be transmitted to any one destination processor unit among a plurality of processor units, and communication assigned to a destination user process that should use the data A transmission circuit for transmitting a message including an identifier of a region and information specifying a position in the memory in the destination processor where the data to be transmitted is to be written, and a message to be received. Whether or not the communication area having the included identifier is secured in the protected memory is stored. It is determined based on the information stored in the memory, and when the communication area is not secured in the memory, the OS controlling the processor is notified of the identifier to secure the communication area in the memory. The requesting circuit and the received message at the position in the reserved communication area in the memory specified by the information included in the received message after the communication area is reserved in the memory And a circuit for writing the data contained in.

【0016】[0016]

【作用】本願第1の発明によれば、プロセッサ内部に存
在するキャッシュメモリとメモリの内容の一貫性がメッ
セージの受信時に保証される。
According to the first invention of the present application, the consistency of the cache memory existing inside the processor and the contents of the memory is guaranteed when the message is received.

【0017】また、本願第2の発明によれば、プロセス
間通信において受け取るべき通信領域がメモリ上にない
場合にOSに通信領域の識別子を指定して、その通信領
域をメモリ上に確保することを依頼することにより、メ
ッセージを正しく受信することができる。
According to the second invention of the present application, when the communication area to be received in the inter-process communication is not on the memory, the identifier of the communication area is designated to the OS to secure the communication area on the memory. By requesting, the message can be received correctly.

【0018】[0018]

【実施例】図1に本発明にかかわる並列計算機の構成を
示す。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT FIG. 1 shows the configuration of a parallel computer according to the present invention.

【0019】この並列計算機は演算を並列に実行する単
位であるプロセッサユニット1と複数のプロセッサユニ
ットを結合するネットワーク2から構成されている。図
1では簡単の為、1つのプロセッサユニット1とネット
ワーク2のみが示されている。ネットワーク2は複数の
プロセッサユニットを結合し、送信元プロセッサユニッ
トが送出したメッセージに格納されている受信先プロセ
ッサユニットのアドレス(Uadr)に従って、受信先
プロセッサユニットにメッセージを転送する。
This parallel computer comprises a processor unit 1 which is a unit for executing operations in parallel and a network 2 which connects a plurality of processor units. In FIG. 1, only one processor unit 1 and the network 2 are shown for simplicity. The network 2 connects a plurality of processor units and transfers the message to the destination processor unit according to the address (Uadr) of the destination processor unit stored in the message sent by the source processor unit.

【0020】各プロセッサユニット1は、プロセッサユ
ニット内でデータ処理を行なうプロセッサ3と、プロセ
ッサ3からのメッセージ送信指示に従い、ネットワーク
2に、送信すべきデータを含むメッセージを送信する送
信制御回路5と、ネットワーク2からこのプロセッサユ
ニット宛てに送信されてきたメッセージを受信し、メモ
リ4に書き込む受信制御回路6と、プロセッサ3で実行
されるプログラム及びデータを保持するメモリ4と、メ
モリ4のコピーを格納し、プロセッサ3によるメモリア
クセスレイテンシーを小さくし、演算処理の向上を計る
ためにキャッシュメモリ11がある。なお、図1ではプ
ロセッサ3は簡単の為、1つしか記述されていないが複
数のプロセッサがプロセッサユニット1内にあることを
妨げるものではない。
Each processor unit 1 carries out data processing within the processor unit, and a transmission control circuit 5 for transmitting a message including data to be transmitted to the network 2 in accordance with a message transmission instruction from the processor 3. A reception control circuit 6 which receives a message transmitted from the network 2 to this processor unit and writes it in the memory 4, a memory 4 which holds a program and data executed by the processor 3, and a copy of the memory 4 are stored. The cache memory 11 is provided in order to reduce the memory access latency by the processor 3 and improve the arithmetic processing. In FIG. 1, only one processor 3 is shown for simplicity, but this does not prevent a plurality of processors from being present in the processor unit 1.

【0021】プロセッサ3では、先に引用した特願平3
ー241094に記載のごとく、複数のユーザプロセス
がOSの制御の元で実行され、各プロセスには、あらか
じめ他のプロセッサユニットで実行中のプロセスとの通
信に使用される通信領域がそのプロセスに割り当てたユ
ーザ空間に割り当てられて、他のプロセスとのデータ通
信は、この通信領域を介してなされる。すなわち、受信
制御回路6は、他のプロセッサユニットから転送された
メッセージに含まれるデータを、メモリ4内の、送信先
プロセスに割り当てられた実の通信領域に書込む。
In the processor 3, the Japanese Patent Application No.
-241094, a plurality of user processes are executed under the control of the OS, and each process is assigned a communication area used in advance for communication with a process being executed by another processor unit. Data communication with other processes assigned to the user space is performed through this communication area. That is, the reception control circuit 6 writes the data included in the message transferred from another processor unit into the actual communication area in the memory 4, which is assigned to the destination process.

【0022】本実施例では、特願平3ー241094と
異なり、キャッシュメモリ11を有する。さらに、本実
施例では、特願平3ー241094と異なり、各プロセ
スの実の通信領域はメモリ4に常駐しなくてもよいよう
にしている。すなわち、OSによりページアウトする対
象にしている。これにより、複数の通信領域が一部が現
に使用されていない場合、使用されていない一部の通信
領域がメモリ4内に常駐していることにより生じるメモ
リ4の無用な使用を減らすようにしている。
In this embodiment, unlike the Japanese Patent Application No. 3-241094, the cache memory 11 is provided. Furthermore, in the present embodiment, unlike the Japanese Patent Application No. 3-241094, the actual communication area of each process does not have to reside in the memory 4. That is, the page is targeted by the OS. This reduces unnecessary use of the memory 4 caused by the fact that some unused communication areas are resident in the memory 4 when some of the communication areas are not actually used. There is.

【0023】なお、ページアウトされた通信領域等を保
持する2次記憶装置は、並列計算機を構成する複数のプ
ロセッサユニットに共通に設けられ、ネットワーク2を
介して、各プロセッサユニットに接続されているが、こ
こでは簡単化のために図示されていない。なお、この2
次記憶装置は、各プロセッサユニットごとに設けてもよ
いことはいうまでもない。
The secondary storage device for holding the paged-out communication area and the like is provided in common to a plurality of processor units constituting the parallel computer, and is connected to each processor unit via the network 2. However, it is not shown here for simplicity. In addition, this 2
It goes without saying that the next storage device may be provided for each processor unit.

【0024】これらの相違に関連して、受信制御回路6
は、この受信データの書込み前に、OSに割り込むよう
になっている点で、特願平3ー241094と異なる。
OSの介入を求めるのは以下の処理をするためである。
In relation to these differences, the reception control circuit 6
Differs from Japanese Patent Application No. 3-241094 in that it interrupts the OS before writing the received data.
The reason for requesting the intervention of the OS is to perform the following processing.

【0025】1)まず、キャッシュメモリの無効をOS
が実行する。すなわち、キャッシュメモリ11には、こ
の受信データで書き換えられる前の古いデータを保持し
ている可能性があり、受信データを単にメモリ4に記載
しただけでは、プロセッサ3が、このキャッシュメモリ
11内の古いデータを使用するという問題がある。この
ため、本実施例では、受信したデータと同じデータがキ
ャッシュメモリ11にあるときには、そのキャッシュメ
モリ内のデータを無効にするようにして、この問題を回
避するようにした。
1) First, disable the cache memory by the OS
To run. That is, there is a possibility that the cache memory 11 retains old data that has not been rewritten with this received data. Therefore, if the received data is simply described in the memory 4, the processor 3 can store the received data in the cache memory 11. There is a problem of using old data. Therefore, in the present embodiment, when the same data as the received data is in the cache memory 11, the data in the cache memory is invalidated to avoid this problem.

【0026】本実施例では、プロセッサ3で発行したキ
ャッシュフラッシュ命令に応答して無効処理を実施する
回路(図示せず)を有する公知のキャッシュメモリを使
用する。このため、本実施例では、OSにこの命令の発
行を求めることにより、公知のキャッシュメモリを使用
して上記受信データに関連する無効処理を実施するため
の特別の回路を使用しないで済むようにしている。この
結果、本実施例で使用するプロセッサには、並列計算機
に特化されたプロセッサではなく、ワークステーション
やパーソナルコンピュータなどに用いられる一般のマイ
クロプロセッサを用いることが可能になり、それでもっ
て、並列計算機を安価に構成することを可能となる。
In this embodiment, a known cache memory having a circuit (not shown) for executing invalidation processing in response to a cache flush instruction issued by the processor 3 is used. For this reason, in this embodiment, by requesting the OS to issue this command, it is possible to avoid the use of a special circuit for performing the invalidation processing related to the above-mentioned received data by using a known cache memory. . As a result, the processor used in the present embodiment can be a general microprocessor used for workstations, personal computers, etc., instead of a processor specialized for parallel computers. Can be configured at low cost.

【0027】2)つぎに、受信データを格納すべき実の
通信領域が、メモリ4からページアウトされている場合
には、OSがその通信領域をページインする。
2) Next, when the actual communication area in which the received data is to be stored is paged out from the memory 4, the OS page-in the communication area.

【0028】このようなOSの介入を得て、受信データ
のメモリ4への書込みを行なうために、本実施例の受信
制御回路6では、メモリ書込み回路251により、受信
したメッセージのヘッダをメモリ4内のヘッダバッファ
52に書込み、その後、分割通知回路253により、O
Sにデータの受信を通知し、その後、メモリ書込み回路
251が、OSが上記OSの処理を実行後に発行する、
受信データの書込み指示を待ち合わせ、その書込み指示
を受けて、受信したデータのメモリ4の通信領域54に
受信データとデータ受信を示すフラグRCを書込むよう
になっている。
In order to write the received data to the memory 4 with the intervention of the OS as described above, in the reception control circuit 6 of the present embodiment, the memory writing circuit 251 causes the header of the received message to be stored in the memory 4. In the internal header buffer 52, and then the division notification circuit 253
S is notified of the data reception, and then the memory writing circuit 251 issues the OS after executing the processing of the OS,
Upon receiving a write data write instruction, the write data write instruction is written in the communication area 54 of the memory 4 for the received data and the flag RC indicating the data reception.

【0029】さて、本実施例で使用するメッセージのフ
ォーマットを説明する。図1において、7がメッセージ
である。メッセージはメッセージヘッダとデータから構
成される。メッセージヘッダは送信先プロセッサユニッ
トアドレス(Uadr)、メッセージヘッダの長さ(L
n0)、データ長(Ln1)、受信先のプロセスの通信
領域に割り当てられた識別子(Cid)、その通信領域
のパスワード(Ac)、本実施例に特徴的なメッセージ
の分割書込を指示するビット(Hs)、通信領域内の、
データを書き込むべき部分の先頭アドレス(Ro)、受
信完了フラグを書き込むべき通信領域内位部分の先頭ア
ドレス(RFo)、そして送信元プロセッサユニットか
ら受信先プロセッサユニットへソフトウエアが使用する
制御情報を格納するためのフィールド(EXF)、から
構成される。ここで先頭アドレスRo、RFoはいずれ
も、通信領域の先頭のアドレスからのオフセット値であ
る。
Now, the format of the message used in this embodiment will be described. In FIG. 1, 7 is a message. The message consists of message header and data. The message header is the destination processor unit address (Uadr), the length of the message header (L
n0), the data length (Ln1), the identifier (Cid) assigned to the communication area of the receiving process, the password (Ac) of the communication area, and the bit instructing the divided writing of the message characteristic of this embodiment. (Hs) in the communication area,
Stores the start address (Ro) of the part to write the data, the start address (RFo) of the inner part of the communication area to write the reception completion flag, and the control information used by the software from the source processor unit to the destination processor unit. A field (EXF) for doing. Here, the head addresses Ro and RFo are both offset values from the head address of the communication area.

【0030】次に、メッセージの送信について説明す
る。
Next, message transmission will be described.

【0031】図1において、送信制御回路5は、メモリ
4から読みだしたメッセージの内容を保持するレジスタ
101と102、メッセージを生成しネットワークへ転
送するメッセージ生成回路103から構成されている。
In FIG. 1, the transmission control circuit 5 comprises registers 101 and 102 for holding the contents of the message read from the memory 4, and a message generation circuit 103 for generating the message and transferring it to the network.

【0032】プロセッサ3は、送信元のプロセスが発行
する複数の命令に応答して、メモリ4から必要な情報す
なわち、受信先プロセッサユニットアドレスUadr、
メッセージヘッダ長Ln0、データ長Ln1、受信先プ
ロセッサユニットの通信領域識別子Cid、パスワード
Ac、分割指示Hs、データの書込アドレスRo、受信
完了フラグの書込アドレスRFo、そしてソフトウエア
制御情報EXFをレジスタ101に設定し、送信するデ
ータをレジスタ102に設定する。
The processor 3 responds to a plurality of instructions issued by the process of the transmission source with the information required from the memory 4, that is, the destination processor unit address Uadr,
The message header length Ln0, the data length Ln1, the communication area identifier Cid of the receiving destination processor unit, the password Ac, the division instruction Hs, the write address Ro of the data, the write address RFo of the reception completion flag, and the software control information EXF are registered. 101 is set, and the data to be transmitted is set in the register 102.

【0033】本実施例ではプロセッサ3がこれらの情報
あるいはデータをレジスタ101、102に設定するに
当たり、これらの情報あるいはデータのいずれかがキャ
ッシュメモリ11にのみ存在する場合、キャッシュメモ
リ11内のその情報あるいはデータの最近の値をメモリ
4に書き戻すストア命令を実行した後、上記レジスタへ
のその情報あるいはデータの転送を行なう。それによ
り、プロセッサ3はこれらのレジスタにその情報あるい
はデータの最新の値を転送できる。
In the present embodiment, when the processor 3 sets these information or data in the registers 101 and 102, if any of these information or data exists only in the cache memory 11, the information in the cache memory 11 is stored. Alternatively, after executing a store instruction for writing the latest value of the data to the memory 4, the information or the data is transferred to the register. Thereby, the processor 3 can transfer the latest value of the information or data to these registers.

【0034】その後、送信制御回路5ではプロセッサ3
によって設定されたレジスタ101、102からメッセ
ージ生成回路103がメッセージ7を生成し、ネットワ
ーク2へ送信する。
Thereafter, in the transmission control circuit 5, the processor 3
The message generation circuit 103 generates the message 7 from the registers 101 and 102 set by the above and transmits it to the network 2.

【0035】メッセージの受信について説明する。Reception of a message will be described.

【0036】図1において、51は、メモリ4内に設け
られた、受信したデータおよびデータ受信を示すフラグ
RCを書き込む、一つのプロセスに対する通信領域であ
る。図では、簡単化のために、他のプロセス用の通信領
域は図示されていない。52は、受信したメッセージの
ヘッダを格納する、複数のプロセスに共通に使用される
ヘッダバッファである。
In FIG. 1, reference numeral 51 is a communication area for writing one process, which is provided in the memory 4 and in which the received data and the flag RC indicating the data reception are written. In the figure, communication areas for other processes are not shown for simplicity. Reference numeral 52 is a header buffer that is used commonly by a plurality of processes and stores the header of the received message.

【0037】受信制御回路6は、そのプロセッサユニッ
トで実行中の複数のプロセスに割り当てられた複数の通
信領域51に関する情報を保持する通信領域管理テーブ
ル(LCT)201と、ヘッダバッファ52の先頭アド
レスを格納するヘッダアドレスレジスタ(CPHAR)
202と、ネットワークから受信したメッセージを一時
的に保持する入力バッファ204と、受信したメッセー
ジをメモリ4へ書き込むのを制御するメッセージ書込回
路203とから構成される。
The reception control circuit 6 stores a communication area management table (LCT) 201 holding information on a plurality of communication areas 51 assigned to a plurality of processes being executed in the processor unit, and a head address of the header buffer 52. Header address register to store (CPHA R)
202, an input buffer 204 that temporarily holds a message received from the network, and a message writing circuit 203 that controls writing of the received message to the memory 4.

【0038】通信領域管理テーブル201には、複数の
プロセスの通信領域の各々に対応して次のフィールドが
存在する。すなわち、その通信領域の識別子(Ci
d)、Cidで示される通信領域がメモリ上にあること
を示すビット(V)、本発明の特徴である通信領域への
データの書込を分割書込とすることを示すビット(H
s)、通信領域への書込の保護を目的としたパスワード
(Ac)、通信領域の先頭アドレス(Ba)、そして、
通信領域の大きさ(Sz)である。通信領域管理テーブ
ル201には、OSがメモリ4にあるプロセスのための
通信領域を確保するときに、OSからの命令に応答して
プロセッサ3によってその通信領域に関する情報が設定
される。この際、通信領域管理テーブル201のその通
信領域に関するHsビットを必ず1にする。これは、例
えば送信元プロセッサユニットでメッセージ中のHsビ
ットを1にしないでメッセージを送信しても、必ず後述
する分割書込を行なうためである。また、通信領域管理
テーブル201は、メッセージバッファ204から、受
信したメッセージの通信領域の識別子Cidに依って検
索されたときに、この識別子Cidを有する通信領域に
関するすべてのフィールドを出力する。
The communication area management table 201 has the following fields corresponding to the communication areas of a plurality of processes. That is, the identifier of the communication area (Ci
d), a bit (V) indicating that the communication area indicated by Cid is on the memory, and a bit (H indicating that the writing of data to the communication area, which is a feature of the present invention, is divided writing.
s), a password (Ac) for the purpose of protecting writing to the communication area, a start address (Ba) of the communication area, and
It is the size (Sz) of the communication area. In the communication area management table 201, when the OS secures a communication area for a process in the memory 4, the processor 3 sets information regarding the communication area in response to a command from the OS. At this time, the Hs bit for the communication area in the communication area management table 201 is set to 1 without fail. This is because, for example, even if the transmission source processor unit does not set the Hs bit in the message to 1 and transmits the message, the divided writing described below is always performed. In addition, the communication area management table 201 outputs all the fields related to the communication area having this identifier Cid when the message buffer 204 searches for the communication area identifier Cid of the received message.

【0039】メッセージ書込回路203は本実施例で特
徴的な回路であり、分割書込を行なうかいなかを判定す
る分割書込判定回路252と、分割書込を行なう場合
に、メッセージヘッダの書込を行なったことをプロセッ
サ3に通知する分割通知回路253と、メモリ4に、受
信したメッセージのヘッダおよびデータを書込むメモリ
書込回路251からなる。
The message writing circuit 203 is a circuit characteristic of the present embodiment, and includes a division writing determination circuit 252 for determining whether or not division writing is performed, and a message header writing for performing division writing. The memory 3 includes a division notifying circuit 253 for notifying the processor 3 that the message has been inserted, and a memory writing circuit 251 for writing the header and data of the received message in the memory 4.

【0040】分割書込判定回路252の詳細を図2に示
す。分割書込判定回路252は、比較回路261とAN
Dゲート262〜263とORゲート264から構成さ
れる。比較回路261は通信領域管理テーブル201か
ら得られたパスワードAcと受信したメッセージのパス
ワードAcを比較し、一致する場合には1を出力し、不
一致の場合には0を出力する。
Details of the divisional write determination circuit 252 are shown in FIG. The divided write determination circuit 252 includes a comparison circuit 261 and an AN.
It is composed of D gates 262 to 263 and an OR gate 264. The comparison circuit 261 compares the password Ac obtained from the communication area management table 201 with the password Ac of the received message, and outputs 1 if they match and 0 if they do not match.

【0041】ANDゲート262は通信領域管理テーブ
ル201から得られたVビットと比較回路261の出力
を入力として、Vビットが1でかつ比較回路261の出
力が0のときに出力信号INHを1とする。この信号は
通信領域への書込不許可を表し、メモリ書込回路251
へ通知され、メッセージ書込を抑止する。ANDゲート
263は比較回路261の出力と通信領域管理テーブル
201から得られたVビットとHsビットの論理積を出
力する。この出力は通信領域への書込許可があり、かつ
分割書込が有効であることを表す。ORゲート264は
通信領域管理テーブル201から得られたVビットとA
NDゲート263の出力と入力バッファ204に保持さ
れたメッセージのHsビットを入力とし、Vビットが0
か、ANDゲート263の出力が1か、Hsビットが1
の時に出力を1とする。この出力は、分割書込を行なう
ことを表し、メモリ書込回路251にはSTP信号とし
て通知され、分割通知回路253にはSP信号として通
知される。この回路253は、SP信号に応答して、こ
の信号をメッセージの受信を通知する割り込み信号IN
Tとしてプロセッサ3のOSに転送するドライバからな
る。
The AND gate 262 receives the V bit obtained from the communication area management table 201 and the output of the comparison circuit 261, and when the V bit is 1 and the output of the comparison circuit 261 is 0, sets the output signal INH to 1. To do. This signal indicates that writing to the communication area is not permitted, and the memory writing circuit 251
Is notified and the message writing is suppressed. The AND gate 263 outputs the logical product of the output of the comparison circuit 261 and the V bit and the Hs bit obtained from the communication area management table 201. This output indicates that the writing to the communication area is permitted and the divided writing is effective. The OR gate 264 uses the V bit and A obtained from the communication area management table 201.
The output of the ND gate 263 and the Hs bit of the message held in the input buffer 204 are input, and the V bit is 0.
Or the output of the AND gate 263 is 1 or the Hs bit is 1
The output is set to 1 when. This output indicates that the divided writing is performed, and the memory writing circuit 251 is notified as the STP signal, and the division notifying circuit 253 is notified as the SP signal. This circuit 253 responds to the SP signal by sending an interrupt signal IN for notifying the reception of the message.
It consists of a driver that transfers to the OS of the processor 3 as T.

【0042】図3にメモリ書込回路251の詳細を示
す。メモリ書込回路251は、加算回路271〜273
と、セレクタ276と、比較回路274〜275と、O
Rゲート277と、メッセージ書込制御回路278から
構成される。加算回路271〜272は、それぞれ通信
領域管理テーブル201から得られた通信領域の先頭ア
ドレスBaと入力バッファ204に保持されたメッセー
ジのデータ書込アドレスRo、受信完了フラグの書込ア
ドレスRFoを加算して出力する。セレクタ276はヘ
ッダアドレスレジスタ202と加算回路271〜272
の全部で3つの出力から信号ASに従って1つを選択し
てメモリ4に出力するアドレスセレクタである。加算回
路273は入力バッファ204に保持されたメッセージ
のデータ書込アドレスRoとLn1を加算して、データ
を通信領域に書き込む大きさを出力する。比較回路27
4〜275は、それぞれ加算回路273の出力であるデ
ータを通信領域に書き込む大きさと通信領域管理テーブ
ル201から得られた通信領域の大きさSz、受信フラ
グの書込位置RFoと通信領域の大きさSzを比較し、
それぞれ通信領域に収まらない場合に1を出力する。こ
れらの信号が1の場合にはメッセージ書込を抑止する。
FIG. 3 shows details of the memory writing circuit 251. The memory write circuit 251 includes adder circuits 271-273.
, Selector 276, comparison circuits 274-275, O
It is composed of an R gate 277 and a message writing control circuit 278. The adder circuits 271-272 respectively add the start address Ba of the communication area obtained from the communication area management table 201, the data write address Ro of the message held in the input buffer 204, and the write address RFo of the reception completion flag. Output. The selector 276 includes a header address register 202 and adder circuits 271-272.
Is an address selector that selects one from all three outputs according to the signal AS and outputs the selected one to the memory 4. The adder circuit 273 adds the data write address Ro of the message held in the input buffer 204 and Ln1 and outputs the size of writing the data in the communication area. Comparison circuit 27
4 to 275 are the size of writing the data output from the adder circuit 273 in the communication area, the size Sz of the communication area obtained from the communication area management table 201, the write position RFo of the reception flag, and the size of the communication area. Compare Sz,
1 is output when they do not fit in the communication area. When these signals are 1, message writing is suppressed.

【0043】ORゲート277は分割書込判定回路25
2の出力INHと比較回路274〜275の出力の論理
和をとり、ABNを出力する。出力信号ABNはこのメ
ッセージのメモリ書込を行なわないことを表す。
The OR gate 277 is a divisional write determination circuit 25.
The output INH of 2 and the outputs of the comparison circuits 274 to 275 are ORed and ABN is output. Output signal ABN indicates that this message is not written to memory.

【0044】図7にメッセージ書込制御回路278の構
成を示す。メッセージ書込制御回路278はメッセージ
ヘッダ書込回路280、データ書込回路281、フラグ
書込回路282、RS待合せ回路283、ANDゲート
284ないし286、ORゲート285ないし288、
そしてセレクタ287から構成される。このメッセージ
書込回路278の動作を図4の処理フローを用いながら
説明する。
FIG. 7 shows the configuration of the message writing control circuit 278. The message writing control circuit 278 includes a message header writing circuit 280, a data writing circuit 281, a flag writing circuit 282, an RS waiting circuit 283, AND gates 284 to 286, OR gates 285 to 288, and
Then, it is composed of a selector 287. The operation of the message writing circuit 278 will be described with reference to the processing flow of FIG.

【0045】まず、メッセージが入力バッファに保持さ
れると処理が始まり、処理501に進む(処理50
0)。
First, the process starts when the message is held in the input buffer, and the process proceeds to process 501 (process 50).
0).

【0046】ORゲート277の出力信号ABNが0の
場合にのみメッセージヘッダ書込回路280が動作す
る。すなわち、0の場合には、メッセージの書込を行な
うために処理502に進む。1の場合にはメッセージの
書込を行なわないため、処理507に進み、処理を終了
する(処理501)。
The message header writing circuit 280 operates only when the output signal ABN of the OR gate 277 is 0. That is, if it is 0, the process proceeds to step 502 to write a message. In the case of 1, the message is not written, and therefore the process proceeds to step 507 and the process is ended (step 501).

【0047】ABNが0の場合には、メッセージヘッダ
書込回路280が動作して、まずメッセージヘッダをメ
モリに書き込む。すなわち、出力信号W0を1にするこ
とで、セレクタ287は0を選択してASに0を出力す
る。これにより、セレクタ276の出力をヘッダアドレ
スレジスタ202とする。そして、ORゲード288の
出力WはW0が1であるため1になり、メッセージヘッ
ダをメモリ4のヘッダバッファ52に書き込み、終了す
ると出力END0を1にする。そして、処理503に進
む(処理502)。
When ABN is 0, the message header writing circuit 280 operates to write the message header in the memory. That is, by setting the output signal W0 to 1, the selector 287 selects 0 and outputs 0 to AS. As a result, the output of the selector 276 becomes the header address register 202. Then, the output W of the OR gate 288 becomes 1 because W0 is 1, and the message header is written in the header buffer 52 of the memory 4, and when it is completed, the output END0 is set to 1. Then, the process proceeds to process 503 (process 502).

【0048】分割書込判定回路252の出力STPが0
の場合には分割書込が無効であり、ANDゲート284
の出力は1になり、ANDゲート286の出力WAIT
は0になる。これにより、ORゲート285の出力GO
1が1になる。そして、処理505に進む。1の場合に
は有効であり、ANDゲート284の出力は0になり、
ANDゲート286の出力WAITは1になり(処理5
03)、処理504に進む。なお、このときまでに、分
割通知回路253が信号INFを1にして、プロセッサ
3のOSに分割書込を通知する。
The output STP of the divided write determination circuit 252 is 0.
, The division writing is invalid and AND gate 284
Becomes 1 and the output WAIT of the AND gate 286 becomes
Becomes 0. As a result, the output GO of the OR gate 285 is output.
1 becomes 1. Then, the process proceeds to process 505. When 1 is valid, the output of the AND gate 284 becomes 0,
The output WAIT of the AND gate 286 becomes 1 (processing 5
03), the process proceeds to 504. By this time, the division notification circuit 253 sets the signal INF to 1 and notifies the OS of the processor 3 of the division writing.

【0049】処理504では、プロセッサ3からの書込
再開信号RSが1ならば、データの書込を再開するため
処理505に進み、0ならば1になるまで処理504を
繰り返す(処理504)。すなわち、ANDゲート28
6の出力WAITが1であるためRS待合せ回路283
がプロセッサ3からの書込再開信号RSが1になるまで
出力RGOを0にする。RSが1になるとRGOを1に
する。RS待合せ回路283の出力283が1になると
ORゲート285の出力GO1が1になり、データ書込
回路281が起動し、データを書き込むため、信号W1
を1にしてセレクタ287の出力ASを1にして、セレ
クタ276の出力をデータの書込アドレスである加算回
路271の出力とする。そして、ORゲート288の出
力WはW1が1であるため1になり、メモリ4の通信領
域51にデータ54を書き込み、終了すると信号END
1を1にして処理506に進む(処理505)。
In process 504, if the write restart signal RS from the processor 3 is 1, the process proceeds to process 505 to restart data writing, and if 0, the process 504 is repeated until it becomes 1 (process 504). That is, the AND gate 28
Since the output WAIT of 6 is 1, the RS waiting circuit 283
Sets the output RGO to 0 until the write restart signal RS from the processor 3 becomes 1. When RS becomes 1, RGO becomes 1. When the output 283 of the RS waiting circuit 283 becomes 1, the output GO1 of the OR gate 285 becomes 1, the data writing circuit 281 is activated, and data is written.
Is set to 1 and the output AS of the selector 287 is set to 1, and the output of the selector 276 is used as the output of the adder circuit 271 which is a data write address. The output W of the OR gate 288 becomes 1 because W1 is 1, and the data 54 is written in the communication area 51 of the memory 4.
1 is set to 1 and the process proceeds to the process 506 (process 505).

【0050】信号END1が1になるとフラグ書込回路
282は受信完了フラグを書き込むため、出力W2を1
にしてセレクタ287の出力信号ASを2にして、セレ
クタ276の出力をフラグの書込アドレスである加算回
路272の出力とする。そして、ORゲート288の出
力WはW2が1であるため1になり、メモリ4の通信領
域51のフラグ53にRC=1を書き込み、処理507
に進み、処理を終了する(処理506)。
When the signal END1 becomes 1, the flag writing circuit 282 writes the reception completion flag, so that the output W2 is set to 1
Then, the output signal AS of the selector 287 is set to 2, and the output of the selector 276 is used as the output of the adder circuit 272 which is the write address of the flag. Then, the output W of the OR gate 288 becomes 1 because W2 is 1, and RC = 1 is written in the flag 53 of the communication area 51 of the memory 4, and processing 507
Then, the process ends (process 506).

【0051】この様に、メッセージ書込制御回路278
は、分割書込の場合に、メッセージヘッダの書込(処理
502)と、データの書込(処理505)の間にプロセ
ッサ3の処理との同期を取る処理503〜504を実行
するのが特徴である。これらの処理は、本発明の目的で
あるメッセージの受信時にキャッシュメモリ11とメモ
リ4との内容の一貫性を保証するのを簡単なハードで実
現するためと、受信データを格納すべき通信領域が、メ
モリ4からページアウトされている場合に、その通信領
域をページインして貰うために、OSの介入を得て保証
するために行なう。
In this way, the message writing control circuit 278
Is characterized in that, in the case of divisional writing, processing 503 to 504 for synchronizing the processing of the processor 3 between the writing of the message header (processing 502) and the writing of the data (processing 505) is performed. Is. These processes are for the purpose of realizing the consistency of the contents of the cache memory 11 and the memory 4 at the time of receiving a message, which is the object of the present invention, with simple hardware, and the communication area in which the received data is to be stored is When the page is out from the memory 4, the communication area is paged in to obtain a guarantee with the intervention of the OS.

【0052】以下、このOSの処理を含めてメッセージ
の受信の動作を図5〜6を参照して説明する。
The operation of receiving a message including the processing of the OS will be described below with reference to FIGS.

【0053】図5は、本発明で特徴的な動作である、ユ
ニットが通信領域への書込許可のあるメッセージ、すな
わちパスワードAcが一致するメッセージを受信し、メ
ッセージ受信時にキャッシュメモリ11とメモリ間の内
容の一貫性を取るため、通信領域管理テーブル201の
Hsビットが1の場合の受信制御回路6とOSの処理フ
ローを表している。
FIG. 5 shows a characteristic operation of the present invention. The unit receives a message with write permission to the communication area, that is, a message with the same password Ac, and when the message is received, the cache memory 11 and the memory In order to maintain consistency of the contents of the above, the processing flow of the reception control circuit 6 and the OS when the Hs bit of the communication area management table 201 is 1 is shown.

【0054】まずメッセージを受信すると、受信制御回
路6は入力バッファ204にメッセージを一時的に保持
する。通信領域管理テーブル201は入力バッファに保
持されたメッセージの通信領域識別子Cidに依って検
索され、この通信領域識別子Cidを含むすべてのフィ
ールドを受信制御回路6に出力する。分割書込判定回路
252は、この場合には通信領域の書込許可得られるた
め、出力信号INHを0にする(図2を参照)。これに
より、メモリ書込回路251は処理502(図4)にし
たがってメッセージヘッダをメモリ4のヘッダバッファ
52に書き込む(処理601)。
First, when a message is received, the reception control circuit 6 temporarily holds the message in the input buffer 204. The communication area management table 201 is searched based on the communication area identifier Cid of the message held in the input buffer, and outputs all fields including this communication area identifier Cid to the reception control circuit 6. In this case, the divided write determination circuit 252 sets the output signal INH to 0 because the write permission of the communication area is obtained (see FIG. 2). As a result, the memory writing circuit 251 writes the message header in the header buffer 52 of the memory 4 according to the process 502 (FIG. 4) (process 601).

【0055】通信領域管理テーブル201からの出力で
Hsビットが1であることから、分割書込判定回路は出
力STPとSPを1にする(図2を参照)。これによ
り、分割通知回路253がINFを1にして、本実施例
では割込を発生させることにより、プロセッサ3のOS
に分割書込であることを通知する(処理602)。受信
制御回路6はプロセッサ3のOSからの書込再開信号R
Sが1になるのを待つ(処理603)。
Since the Hs bit is 1 in the output from the communication area management table 201, the divided write determination circuit sets the outputs STP and SP to 1 (see FIG. 2). As a result, the division notification circuit 253 sets INF to 1 and generates an interrupt in the present embodiment, so that the OS of the processor 3 is
Is notified that the writing is divided (process 602). The reception control circuit 6 receives the write restart signal R from the OS of the processor 3.
Wait for S to become 1 (process 603).

【0056】一方、分割書込を通知されたプロセッサ3
では、OSが受信処理を開始する(処理700)。この
処理の前に、キャッシュメモリ11について説明する。
On the other hand, the processor 3 notified of the divided writing
Then, the OS starts the reception process (process 700). Before this processing, the cache memory 11 will be described.

【0057】本実施例では、キャッシュメモリ11とし
て、ストアインタイプのキャッシュメモリを使用する。
すなわち、プロセッサ3で実行中のOSあるいはプロセ
スが発行した命令が指定するデータをこのキャッシュメ
モリ11に読み込んだ後、このプロセスが、このデータ
を更新する命令を発行した場合、キャッシュメモリ11
の中のこのデータを更新するが、メモリ4内の元のデー
タはすぐには更新しない。後にメモリ4内の他のデータ
をキャッシュメモリ11内に保持する場合に、キャッシ
ュメモリ11内に保持されたこのデータをリプレースす
る必要となったとき、このデータをメモリ4に書き戻す
ようになっている。
In this embodiment, a store-in type cache memory is used as the cache memory 11.
That is, when data specified by an instruction issued by the OS or process being executed by the processor 3 is read into this cache memory 11 and then this process issues an instruction to update this data, the cache memory 11
Update this data in, but not the original data in memory 4 immediately. When other data in the memory 4 is held in the cache memory 11 later, when this data held in the cache memory 11 needs to be replaced, this data is written back to the memory 4. There is.

【0058】さらに、本実施例で使用するキャッシュメ
モリ11は、プロセッサ3で実行中のOSあるいはプロ
セスが発行したキャッシュフラッシュ命令に応答して、
その命令が指定したアドレスを有するデータがキャッシ
ュメモリ11内にあればそれを無効にする回路(図示せ
ず)を有している。さらに、この命令に応答して、この
データがメモリ4からキャッシュメモリ11に先に読み
出された後に更新されたか否かを判別し、このデータが
更新されていた場合、このデータを無効にする前に、こ
のデータをメモリ4に書き戻す回路(図示せず)を有す
る。このような構造のキャッシュメモリは、例えば、H
EWLETT PACKARD PAーRISC1.1
Architecture and Instruc
tionSet Reference Manual
(ヒュウーレット パッカードピーエーリスク1.1
アーチテクチャー アンド インストラクション セッ
ト リファレンス マニュアル)の例えば、第5−16
7頁にあるFDC命令を上記キャッシュフラッシュ命令
として使用するキャッシュメモリとして公知である。
Further, the cache memory 11 used in this embodiment responds to a cache flush instruction issued by the OS or process being executed by the processor 3,
The cache memory 11 has a circuit (not shown) for invalidating the data having the address designated by the instruction, if the data is in the cache memory 11. Further, in response to this instruction, it is determined whether or not this data has been read from the memory 4 to the cache memory 11 and then updated, and if this data has been updated, this data is invalidated. Previously, it has a circuit (not shown) for writing back this data to the memory 4. The cache memory having such a structure is, for example, H
EWLETT PACKARD PA-RISC 1.1
Architecture and Instruct
tionSet Reference Manual
(Hulette Packard Pie Risk 1.1
Architecture and Instruction Set Reference Manual), for example, No. 5-16
It is known as a cache memory that uses the FDC instruction on page 7 as the cache flush instruction.

【0059】さて、前述の、OSによる受信処理(処理
700)では、まずメッセージヘッダバッファ52に書
き込まれたメッセージヘッダから、受信データの書込を
行なう通信領域51の識別子と、データ書き込み位置の
先頭アドレスRo、データ長Ln0を得る。予めOS内
に記憶された、この識別子を割り当てられた通信領域の
先頭アドレスとこの書き込み位置の先頭アドレスRo
(これは前者からのオフセットである)を加算して、実
際の先頭アドレスを算出する。この算出した先頭アドレ
スと、データ長Loとから、この受信データで更新され
るキャッシュ内の一つまたは複数のブロックのアドレス
を検出する。OSはこのようにして検出された一つまた
は複数のブロックの一つを指定するキャッシュフラッシ
ュ命令をキャッシュメモリ11に発行する。
In the above-described OS reception process (process 700), first, from the message header written in the message header buffer 52, the identifier of the communication area 51 in which the received data is written and the head of the data writing position are written. The address Ro and the data length Ln0 are obtained. The start address of the communication area, which is stored in advance in the OS and to which this identifier is assigned, and the start address Ro of this write position
(This is an offset from the former) is added to calculate the actual start address. The address of one or a plurality of blocks in the cache updated with the received data is detected from the calculated start address and the data length Lo. The OS issues to the cache memory 11 a cache flush instruction designating one of the one or a plurality of blocks detected in this way.

【0060】キャッシュメモリ11は、それぞれの命令
に応答して、この通信領域51に対応するキャッシュメ
モリ11内の領域のブロックを無効化する。さらに、そ
のブロックがキャッシュメモリ11にメモリ4から読み
出された後に更新されているかを判定しそのブロックが
更新されている場合には、その無効処理の前に、そのブ
ロックをメモリ4に書き戻す(処理702)。OSは、
その後、書込み再開指示RSを受信制御回路6に発行す
る(処理703)。以上でOSの処理は終了する(処理
704)。
The cache memory 11 invalidates the block of the area in the cache memory 11 corresponding to this communication area 51 in response to each instruction. Further, it is determined whether the block is updated after being read from the memory 4 in the cache memory 11, and if the block is updated, the block is written back to the memory 4 before the invalidation processing. (Process 702). OS is
Then, the write restart instruction RS is issued to the reception control circuit 6 (process 703). With the above, the processing of the OS ends (processing 704).

【0061】上の処理702をプロセッサ3内のOSと
キャッシュメモリ11が行なうのは、後に受信メッセー
ジによりメモリ4内のデータを更新しても、プロセッサ
3がこの更新後のデータをアクセス使用することを保証
するためである。
The above process 702 is performed by the OS in the processor 3 and the cache memory 11 so that the processor 3 can access and use the updated data even if the data in the memory 4 is updated by a received message later. This is to ensure that.

【0062】プロセッサ3から書込再開指示RSを受け
た受信制御回路6は、メッセージ書込制御回路278の
処理505〜506(図4)を行ない、データ54と受
信完了フラグRCを通信領域51内のアドレスRo、R
Foの位置にそれぞれ書込む(処理604〜605)。
Receiving the write restart instruction RS from the processor 3, the reception control circuit 6 performs the processes 505 to 506 (FIG. 4) of the message writing control circuit 278 and sets the data 54 and the reception completion flag RC in the communication area 51. Address Ro, R
Writing is performed at the position of Fo (processes 604 to 605).

【0063】なお、プロセッサ3ではユーザプロセスが
メモリ4内の受信完了フラグRFを読み出し、これが1
になったか否かにより、受信データがそのプロセスに割
り当てられた通信領域51に到着したか否かを知り、受
信データ54をメモリ4から読み出し、処理する。以上
で受信処理が終了する。(処理705〜706)この様
にメッセージヘッダとの書込とデータの書込の間にキャ
ッシュフラッシュ(処理702)を行なうことにより、
ネットワーク2から受信したメッセージをプロセッサ3
で実行されるユーザプロセスが正しく演算に用いること
ができる。
In the processor 3, the user process reads the reception completion flag RF in the memory 4, and this is 1
Whether or not the received data has arrived at the communication area 51 assigned to the process, the received data 54 is read from the memory 4 and processed. This completes the reception process. (Processes 705 to 706) By thus performing the cache flush (process 702) between the writing of the message header and the writing of the data,
The message received from the network 2 is processed by the processor 3
The user process executed by can be correctly used for calculation.

【0064】次に、受信したメッセージに格納された通
信領域識別子Cidに対応する通信領域51がメモリ4
に確保されていない場合、すなわち通信領域管理テーブ
ル201のVビットが0のケースの受信処理のフローを
図6を用いて説明する。このケースは、受信メッセージ
の通信領域識別子Cidで指定される通信領域がメモリ
4に常駐していないときに発生する。図6で図5と異な
るのは図5の処理702が処理750〜751に置き変
わった点である。したがって、図5と共通な点の説明は
省略する。
Next, the communication area 51 corresponding to the communication area identifier Cid stored in the received message is stored in the memory 4
When the V bit of the communication area management table 201 is 0, the reception processing flow will be described with reference to FIG. This case occurs when the communication area specified by the communication area identifier Cid of the received message is not resident in the memory 4. 6 is different from FIG. 5 in that the process 702 of FIG. 5 is replaced with processes 750 to 751. Therefore, description of points common to FIG. 5 will be omitted.

【0065】通信領域管理テーブル201のVビットが
0であることにより、ORゲート264の出力SPが1
になるため(図2参照)、受信制御回路6は分割通知回
路253がINFを1にして割込を起こし、プロセッサ
3のOSに分割書込を通知する(処理602)。プロセ
ッサ3では図5の場合と同様にOSが処理701でメッ
セージヘッダを解析する。今の仮定では、その結果、メ
ッセージヘッダ中の通信領域識別子Cidに対応する通
信領域51がメモリ4に確保されていない、すなわち通
信領域管理テーブル201のVビットが0であると判断
し、その通信領域51をメモリ4上に確保する。すなわ
ち、通信領域51が2次記憶装置(図示せず)にスワッ
プアウトされていた場合に、メモリ4にスワップインす
る処理を行なう(処理750)。この通信領域管理テー
ブル201にその通信領域に関する情報を設定する(処
理751)。書込再開指示RSを受信制御回路6に発行
する(処理703)。以下は図5と同じである。
Since the V bit of the communication area management table 201 is 0, the output SP of the OR gate 264 is 1.
(See FIG. 2), the division notification circuit 253 of the reception control circuit 6 sets INF to 1 to cause an interrupt, and notifies the OS of the processor 3 of division writing (process 602). In the processor 3, the OS analyzes the message header in process 701 as in the case of FIG. Under the present assumption, as a result, it is determined that the communication area 51 corresponding to the communication area identifier Cid in the message header is not secured in the memory 4, that is, the V bit of the communication area management table 201 is 0, and the communication is performed. The area 51 is secured on the memory 4. That is, when the communication area 51 is swapped out to the secondary storage device (not shown), the process of swapping in the memory 4 is performed (process 750). Information about the communication area is set in the communication area management table 201 (process 751). A write restart instruction RS is issued to the reception control circuit 6 (process 703). The following is the same as FIG.

【0066】なお、図5と異なり、このケースでは、キ
ャッシュメモリ11にこの通信領域のデータが保持され
ていることはないので、キャッシュフラッシュ命令をO
Sは発行する必要はない。
In this case, unlike the case of FIG. 5, since the data of this communication area is not held in the cache memory 11, the cache flush instruction is set to O.
S need not be issued.

【0067】以上のようにして、受信メッセージが指定
する通信領域がメモリ4上に確保されていなくても、正
しくそのメッセージを受信することができる。従って、
メッセージを受信する通信領域51がメモリ4に常駐さ
せることなくプロセス間通信を行なえるので、OSがメ
モリを有効に活用できる。
As described above, even if the communication area designated by the received message is not secured in the memory 4, the message can be correctly received. Therefore,
Since the inter-process communication can be performed without making the communication area 51 for receiving a message resident in the memory 4, the OS can effectively utilize the memory.

【0068】勿論、この通信領域がメモリ4に常駐して
いる場合には、図5で説明した処理を行なえばよく、本
実施例では、通信領域がメモリ4に常駐しているしてい
ないにかかわらず、OSへの一度の割り込みでよいとい
う利点がある。
Of course, when the communication area is resident in the memory 4, the processing described in FIG. 5 may be performed. In this embodiment, the communication area is not resident in the memory 4. Nevertheless, there is an advantage that it is sufficient to interrupt the OS once.

【0069】なお、受信したメッセージのパスワードA
cと通信領域管理テーブル201のAcが不一致で書込
不許可の場合には受信制御回路6のメッセージ書込制御
回路278がABN信号が1であるため処理501と5
07(図4)に従い、受信したメッセージをメモリ4へ
書き込まない。
The password A of the received message is
If c and Ac of the communication area management table 201 do not match and write is not permitted, the message write control circuit 278 of the reception control circuit 6 determines that the ABN signal is 1, and thus the processing 501 and 5 are performed.
07 (FIG. 4), the received message is not written to the memory 4.

【0070】最後に、送信元プロセッサユニットで分割
書込が有効であるHsビットを1にする場合を説明す
る。例えば、送信元プロセッサユニットが受信先プロセ
ッサユニットにデータ処理を依頼する場合に、メッセー
ジ中のHsビットを1にして分割書込を有効にすること
により、次の機能が実現できる。
Finally, the case where the Hs bit for which divided writing is effective in the source processor unit is set to 1 will be described. For example, when the transmission source processor unit requests the reception destination processor unit for data processing, the following function can be realized by setting the Hs bit in the message to 1 to enable the divided writing.

【0071】すなわち、メッセージ7にはソフトウエア
の制御情報であるフィールドEXFが存在する。送信元
プロセッサユニットではデータとともに、このEXFに
送信するデータの処理内容を設定する。例えば、データ
を処理するための命令列であっても構わない。この様
に、データとデータの処理内容を1つのメッセージで送
信することにより、この並列計算機では例えばSmal
ltalkなどのオブジェクト指向言語の実行に適する
ようにできる。
That is, the message 7 has a field EXF which is software control information. The transmission source processor unit sets the processing contents of the data to be transmitted to this EXF together with the data. For example, it may be an instruction sequence for processing data. In this way, by transmitting the data and the processing content of the data in one message, this parallel computer can execute, for example, Small.
It can be suitable for executing an object-oriented language such as ltalk.

【0072】受信先プロセッサユニットでは、この様な
メッセージを受信すると通信領域管理テーブル201の
Hsビットに関わらず分割書込が有効になる(図2参
照)。プロセッサ3はメッセージヘッダを解析し、EX
Fに格納された処理内容に従って受信したデータを処理
することができる。
In the receiving processor unit, when such a message is received, the division writing becomes effective regardless of the Hs bit of the communication area management table 201 (see FIG. 2). The processor 3 analyzes the message header and
The received data can be processed according to the processing content stored in F.

【0073】[0073]

【発明の効果】本発明によれば、プロセッサ内部に存在
するキャッシュメモリとメモリの内容の一貫性がメッセ
ージの送受信時に保証されないプロセッサをプロセッサ
ユニットのプロセッサとして用いて並列計算機を構成す
る場合に、受信制御回路によるメッセージヘッダの書込
とデータの書込の間に、プロセッサがキャッシュメモリ
の内容をメモリに書き戻し、キャッシュメモリの内容を
無効化することにより、受信したメッセージを正しくプ
ロセッサがメモリから読み出すことができ、メッセージ
受信時にもメモリとキャッシュメモリの内容の一貫性を
保証することができる。
As described above, according to the present invention, when a parallel computer is configured by using a cache memory existing inside the processor and a processor in which the consistency of the contents of the memory is not guaranteed at the time of transmitting and receiving a message as a processor of a processor unit, a reception is performed. Between writing the message header and writing data by the control circuit, the processor writes back the contents of the cache memory to the memory and invalidates the contents of the cache memory, so that the processor correctly reads the received message from the memory. It is possible to guarantee the consistency of the contents of the memory and the cache memory even when the message is received.

【0074】また、プロセス間通信において受け取るべ
き通信領域がメモリ上にない場合に、メッセージヘッダ
の書込とデータの書込の間に、プロセッサが通信領域を
メモリ上に確保することにより、メッセージを正しく受
信することができ、これにより通信領域をメモリに常駐
させる必要がなく、通信領域のメモリ常駐によるOSの
メモリ使用効率を向上させ、並列計算機の性能を向上す
ることができる。
When the communication area to be received in the inter-process communication does not exist in the memory, the processor allocates the communication area in the memory between the writing of the message header and the writing of the data, so that the message is transferred. The data can be correctly received, and thus the communication area does not need to be resident in the memory, the memory usage efficiency of the OS due to the memory resident of the communication area can be improved, and the performance of the parallel computer can be improved.

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

【図1】本発明に関わる並列計算機の構成図。FIG. 1 is a configuration diagram of a parallel computer according to the present invention.

【図2】分割書込判定回路252の構成図。FIG. 2 is a configuration diagram of a divisional write determination circuit 252.

【図3】メモリ書込回路251の構成図。FIG. 3 is a configuration diagram of a memory writing circuit 251.

【図4】メッセージ書込制御回路278の処理フローチ
ャート。
FIG. 4 is a processing flowchart of a message writing control circuit 278.

【図5】通信領域への書込許可のあるメッセージを受信
した場合の受信先プロセッサユニットの処理フローチャ
ート。
FIG. 5 is a processing flowchart of a receiver processor unit when a message with permission to write in a communication area is received.

【図6】通信領域がメモリに確保されていない場合の受
信先プロセッサユニットの処理フローチャート。
FIG. 6 is a processing flowchart of a receiver processor unit when a communication area is not secured in a memory.

【図7】メッセージ書込制御回路278の構成図。FIG. 7 is a configuration diagram of a message writing control circuit 278.

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

1…プロセッサユニット、2…ネットワーク、7…メッ
セージ、101〜102…レジスタ、201…通信領域
管理テーブル、202…レジスタ。
1 ... Processor unit, 2 ... Network, 7 ... Message, 101-102 ... Register, 201 ... Communication area management table, 202 ... Register.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 安藤 利光 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 (72)発明者 岩嵜 正明 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 石井 将人 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 (72)発明者 加藤 信一 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 パトリック・ハミルトン 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 (72)発明者 石山 明 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 (72)発明者 稲上 泰弘 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 ─────────────────────────────────────────────────── ─── Continuation of front page (72) Inventor Toshimitsu Ando 1 Horiyamashita, Hadano City, Kanagawa Pref., General Computer Division, Nitrate Manufacturing Co., Ltd. Company Hitachi, Ltd. System Development Laboratory (72) Inventor Masato Ishii 1 Horiyamashita, Hadano City, Kanagawa Prefecture General Computer Division, Hitachi, Ltd. (72) Inventor Shinichi Kato 1-280 Higashi Koikeku, Kokubunji, Tokyo Stock Hitachi, Ltd. Central Research Laboratory (72) Inventor Patrick Hamilton 1 Horiyamashita, Hinoyama, Hadano, Kanagawa Pref., General Computer Division, Hitachi, Ltd. (72) Akira Ishiyama 1 Horiyamashita, Hadano, Kanagawa MFG general-purpose computer division (72) Inventor Yasuhiro Inoue 1-280, Higashi Koigokubo, Kokubunji, Tokyo Inside the Central Research Laboratory, Hitachi, Ltd.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】複数のプロセッサユニットと、 該複数のプロセッサユニットを相互に接続するネットワ
ークとを有し、 各プロセッサユニットは、 プロセッサと、 そのプロセッサで使用される、プログラムとデータを保
持するメモリと、 そのメモリ内のデータの写しを保持するキャッシュと、 該複数のプロセッサのいずれか一つの送信先プロセッサ
に、送信すべきデータと、該送信すべきデータを書き込
むべき、該送信先プロセッサ内の該メモリ内の位置であ
って、そのデータを使用すべき送信先ユーザプロセスに
割り当てられた通信領域に属するものを指定する情報と
を含むメッセージを該ネットワークを介して送信する送
信回路と、 該複数のプロセッサのいずれか一つの送信元のプロセッ
サから該ネットワークを介してそのプロセッサに転送さ
れたメッセージを受信する受信回路と、 該キャッシュに含まれ、該受信した情報が指定する書込
み位置のデータが、該プロセッサの該メモリから該キャ
ッシュに保持されているか否かを判定し、該受信した情
報が指定する該書込み位置のデータが該キャッシュに保
持されていると判定されたときには、該キャッシュ内の
該保持されているデータを無効にする手段と、 該無効回路による該キャッシュに保持されたデータの無
効の後に、該受信したデータを、該メモリ内の、該情報
が指定する書き込み位置に書き込む回路とを有する並列
計算機。
1. A processor comprising a plurality of processor units and a network interconnecting the plurality of processor units, each processor unit comprising: a processor; and a memory used by the processor for holding programs and data. , A cache for holding a copy of the data in the memory, and a data in the destination processor to be transmitted and a data to be transmitted in the destination processor in any one of the plurality of processors. A transmission circuit for transmitting a message containing information specifying a location in the memory, which belongs to a communication area assigned to a destination user process which should use the data, and a transmission circuit for transmitting the message via the network; From any one of the processors to the processor via the network A receiving circuit for receiving the transferred message, and a judgment whether or not the data at the write position included in the cache and designated by the received information is held in the cache from the memory of the processor, When it is determined that the data at the write position designated by the received information is held in the cache, means for invalidating the held data in the cache, and holding in the cache by the invalidation circuit And a circuit for writing the received data in the memory at a writing position specified by the information after the invalidation of the received data.
【請求項2】該データと情報の受信に応答して、該プロ
セッサの動作を制御するOSにその情報を通知する回路
をさらに有し、 該書き込む回路は、該通知の後に該OSにより発行され
る書き込み指示を待って、該受信したデータを、該メモ
リ内の、該情報が指定する書き込み位置に書き込む回路
を有し、 該キャッシュ内の該無効化回路は、 該OSにより発行される、該キャッシュ内の、該通知さ
れた情報が指定する書込み位置のデータの無効を指示す
る特定の命令に応答して、特定の命令に応答して、上記
判定および上記無効化を実行する回路を有する請求項1
記載の並列計算機。
2. A circuit for notifying the OS of controlling the operation of the processor in response to the reception of the data and the information, the writing circuit being issued by the OS after the notification. Waiting for a write instruction to write the received data to a write position specified by the information in the memory, and the invalidating circuit in the cache is issued by the OS. A circuit having a circuit for executing the determination and the invalidation in response to a specific instruction instructing invalidation of data at a write position designated by the notified information in a cache. Item 1
The described parallel computer.
【請求項3】該受信されたデータの書き込み位置を指定
する情報は、受信メッセージ内のデータを使用すべきユ
ーザプロセスに割り当てられた通信領域の識別子と、そ
の通信領域の先頭位置から、そのデータの書き込みを行
なうべき位置までのアドレス差とを含み、 該書き込み回路は、 該メモリに確保されている少なくとも一つのユーザプロ
セスに割り当てられた通信領域に関する情報であって、
その通信領域の識別子、その通信領域の先頭アドレスを
含む情報を保持する回路と、 受信されたメッセージに含まれた識別子に等しい識別子
を有する、通信領域に関して該保持回路に保持された先
頭アドレスと、該受信メッセージに含まれたアドレス差
との和を、該メモリ書き込み位置として算出する回路を
有する請求項1記載の並列計算機。
3. The information for designating the writing position of the received data includes the identifier of the communication area assigned to the user process that should use the data in the received message and the data from the head position of the communication area. And the address difference to the position where the writing is to be performed, the write circuit is information regarding a communication area allocated to at least one user process secured in the memory,
An identifier of the communication area, a circuit that holds information including the start address of the communication area, and a start address that is held in the holding circuit with respect to the communication area and that has an identifier equal to the identifier included in the received message, 2. The parallel computer according to claim 1, further comprising a circuit that calculates a sum of the address difference included in the received message as the memory writing position.
【請求項4】該通知する回路は、 該受信したメッセージ内の該情報を、該メモリ内の予め
定められた、記憶位置に書き込む回路と、 該書き込み後に、該OSに割り込む回路とよりなる請求
項2記載の並列計算機。
4. The circuit for notifying comprises a circuit for writing the information in the received message to a predetermined storage location in the memory, and a circuit for interrupting the OS after the writing. The parallel computer according to Item 2.
【請求項5】該受信したメッセージには、そこに含まれ
るデータを該メモリに書き込んだことを、該データを使
用すべきユーザプロセスに通知するためのフラグを書き
込む位置を指定する情報をさらに含み、 該書き込み回路は、該OSにより発行された該書き込み
指示に応答して、該メモリ内の、該フラグ書き込み位置
を示す情報で指定される位置にフラグを書き込む回路を
さらに有する請求項2記載の並列計算機。
5. The received message further includes information designating a position to write a flag for notifying a user process that should use the data that the data contained therein has been written to the memory. 3. The write circuit according to claim 2, further comprising a circuit for writing a flag in a position in the memory designated by information indicating the flag write position in response to the write instruction issued by the OS. Parallel computer.
【請求項6】該キャッシュは、ストアインタイプのキャ
ッシュであり、 該キャッシュは、該保持されたデータを含むブロック
が、そのキャッシュに該メモリから転送された後、該プ
ロセッサにより更新されているときには、そのデータを
無効にする前に、そのブロックを該メモリに書き戻す回
路をさらに有する請求項2記載の並列計算機。
6. The cache is a store-in type cache, when the block containing the held data is updated by the processor after being transferred from the memory to the cache. 3. The parallel computer according to claim 2, further comprising a circuit for writing the block back to the memory before invalidating the data.
【請求項7】該OSは、該通知された情報に応答して、
上記特定の命令を該キャッシュに発行し、該キャッシュ
が該無効を実行後に、受信データの書き込み指示を該書
き込み回路に発行するようにプログラムされ、 該受信データを使用すべきユーザプロセスは、そのユー
ザプロセスが発行する命令により該受信したデータに対
応して該メモリに記憶されたフラグおよび該受信データ
を、該OSの介入を得ることなく直接アクセスするよう
にプログラムされている請求項5記載の並列計算機。
7. The OS responds to the notified information,
A user process that issues the specified instruction to the cache, issues a write instruction of received data to the write circuit after the cache has executed the invalidation, and the user process that should use the received data is the user 6. The parallel computer according to claim 5, wherein a flag issued by the process corresponding to the received data and the received data corresponding to the received data are directly accessed without intervention of the OS. .
【請求項8】複数のプロセッサユニットと、 該複数のプロセッサユニットを相互に接続するネットワ
ークとを有し、 各プロセッサユニットは、 プロセッサと、 そのプロセッサで使用される、プログラムとデータを保
持するメモリと、 該複数のプロセッサのいずれか一つの送信先プロセッサ
に、送信すべきデータと、そのデータを使用すべき送信
先ユーザプロセスに割り当てられた通信領域の識別子
と、該送信すべきデータを書き込むべき、該送信先プロ
セッサ内の該メモリ内の位置を指定する情報とを含むメ
ッセージを該ネットワークを介して送信する送信回路
と、 該複数のプロセッサのいずれか一つの送信元のプロセッ
サから該ネットワークを介してそのプロセッサに転送さ
れたメッセージを受信する受信回路と、 少なくとも一つのユーザプロセスに割り当てられ、該メ
モリに確保されている通信領域に関する情報であって、
その通信領域の識別子を含む情報を保持する回路と、 該受信されたメッセージに含まれた識別子を割り当てら
れた通信領域が、該メモリに確保されているか否かを該
保持回路に保持された情報に基づいて判別し、その通信
領域が該メモリに確保されていないときに、該プロセッ
サを制御するOSにその識別子を通知して、その通信領
域を該メモリに確保することを要求する回路と、 該通信領域が該メモリに確保された後に、該受信された
メッセージに含まれた情報が指定する、該メモリ内の、
該確保された通信領域内の位置に、受信したメッセージ
に含まれたデータを書き込む回路とを有する並列計算
機。
8. A processor having a plurality of processor units and a network interconnecting the plurality of processor units, each processor unit having: a memory used for the processor to hold a program and data; Data to be transmitted, an identifier of a communication area assigned to a destination user process that should use the data, and the data to be transmitted should be written in any one of the plurality of processors as a destination processor. A transmission circuit for transmitting a message including information specifying a position in the memory in the destination processor via the network, and a transmission circuit from any one source processor of the plurality of processors via the network A receiving circuit for receiving the message transferred to the processor, and at least one user. Information related to the communication area allocated to the user process and secured in the memory,
A circuit that holds information including the identifier of the communication area and information that is held in the holding circuit as to whether or not the communication area to which the identifier included in the received message is assigned is secured in the memory. A circuit for determining that the communication area is not secured in the memory, and notifying the OS controlling the processor of the identifier to request that the communication area be secured in the memory. After the communication area is secured in the memory, the information contained in the received message specifies, in the memory,
A parallel computer having a circuit for writing data included in a received message at a position within the secured communication area.
JP6053401A 1994-03-24 1994-03-24 Parallel computer Pending JPH07262150A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6053401A JPH07262150A (en) 1994-03-24 1994-03-24 Parallel computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6053401A JPH07262150A (en) 1994-03-24 1994-03-24 Parallel computer

Publications (1)

Publication Number Publication Date
JPH07262150A true JPH07262150A (en) 1995-10-13

Family

ID=12941814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6053401A Pending JPH07262150A (en) 1994-03-24 1994-03-24 Parallel computer

Country Status (1)

Country Link
JP (1) JPH07262150A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998041927A1 (en) * 1997-03-19 1998-09-24 Hitachi, Ltd. Parallel computer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998041927A1 (en) * 1997-03-19 1998-09-24 Hitachi, Ltd. Parallel computer

Similar Documents

Publication Publication Date Title
KR100457146B1 (en) Interrupt architecture for a non-uniform memory access data processing system
US6125399A (en) Computer system including a plurality of nodes for transferring through a data transfer network messages having distinguishing fields used for distinguishing the messages and controlling receipt thereof
JP2005018772A (en) Multiprocessor computer system with multiple coherency regions and software migration across coherency regions without cache purges
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
JPH10154100A (en) Information processing system, device and its controlling method
JPH1185618A (en) Method for controlling virtual memory conversion
EP1298532A2 (en) Processor and method of arithmetic processing thereof
JPH01269142A (en) Buffer memory control system
US5850521A (en) Apparatus and method for interprocessor communication
JPH07152647A (en) Shared memory multiprocessor
JP3169624B2 (en) Interprocessor communication method and parallel processor therefor
AU606083B2 (en) Interface between processor and special instruction processor in digital data processing system
JPH07262150A (en) Parallel computer
JP2846888B2 (en) Multiprocessor system with distributed shared memory
CN113238869A (en) Calculation acceleration method, equipment and system and storage medium
JP3187446B2 (en) Cache memory controller
JP3375649B2 (en) Parallel computer
US6397304B1 (en) Method and apparatus for improving system performance in multiprocessor systems
JP2007241601A (en) Multiprocessor system
JPH0784879A (en) Cache memory device
JP3052460B2 (en) Cooperative processing type information processing device
JPH0415496B2 (en)
JP2008123333A (en) Semiconductor integrated circuit
JPH0844659A (en) Data transfer controller
JP2003216596A (en) Multiprocessor system and node device