JPH04291660A - プロセッサ間通信方法およびそのための並列プロセッサ - Google Patents

プロセッサ間通信方法およびそのための並列プロセッサ

Info

Publication number
JPH04291660A
JPH04291660A JP3056469A JP5646991A JPH04291660A JP H04291660 A JPH04291660 A JP H04291660A JP 3056469 A JP3056469 A JP 3056469A JP 5646991 A JP5646991 A JP 5646991A JP H04291660 A JPH04291660 A JP H04291660A
Authority
JP
Japan
Prior art keywords
cluster
data
processor
address
destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3056469A
Other languages
English (en)
Other versions
JP3169624B2 (ja
Inventor
Naoki Hamanaka
濱中 直樹
Junji Nakakoshi
中越 順二
Tatsuo Higuchi
達雄 樋口
Hiroyuki Chiba
千葉 寛之
Shinichi Shudo
首藤 信一
Shigeo Takeuchi
武内 茂雄
Yasuhiro Ogata
緒方 康洋
Tatsu Toba
鳥羽 達
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 ULSI Engineering Corp
Hitachi Ltd
Original Assignee
Hitachi ULSI Engineering Corp
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 ULSI Engineering Corp, Hitachi Ltd filed Critical Hitachi ULSI Engineering Corp
Priority to JP05646991A priority Critical patent/JP3169624B2/ja
Priority to US07/853,427 priority patent/US5386566A/en
Priority to DE4208924A priority patent/DE4208924B4/de
Publication of JPH04291660A publication Critical patent/JPH04291660A/ja
Application granted granted Critical
Publication of JP3169624B2 publication Critical patent/JP3169624B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算の高速化を目的と
する並列プロセッサ、特にMIMD型で分散したメモリ
を持つ並列プロセッサのプロセッサ間データ転送に係る
【0002】
【従来の技術】従来、複数のプロセッサを用いて計算を
高速化する技術には、大別して次の2種類があった。
【0003】第1の種類の技術は、数10台以上のプロ
セッサを用い、1台のプロセッサに比べて著しい性能向
上をねらう並列プロセッサを構成するための技術である
。この種の技術においては、多数のプロセッサを用いる
ことが前提になるため、1台のプロセッサを小型にする
ことが重要であり、それゆえ各プロセッサの機能は汎用
大型計算機などに比べて限られていた。例えば、仮想記
憶を実現するためのアドレス変換機構の省略等がこれに
あたる。特開昭62−274451に記載された装置の
ように、複数のプロセスを1台のプロセッサで実行でき
るプロセッサを多数用いる並列プロセッサ技術はあった
が、仮想記憶を実現する機能は備えていない。
【0004】第2の種類の技術は、数台の汎用計算機を
ローカルエリアネットワーク等で結合する、いわゆる分
散処理技術である。例えば、AT&T社が開発したun
ixオペレーティングシステム(以下OS)を搭載する
ワークステーションにおける分散処理技術が該当する。 この種の技術においては、汎用計算機を用いることが前
提であるため、各プロセッサは汎用計算機として構成さ
れており、汎用計算機に通信用のアダプタを追加する形
式をとる。各プロセッサは汎用のOSを搭載しており、
通信用のアダプタはディスク入出力装置と同等にOSが
管理する資源として扱われている。そのため、プロセッ
サ間通信はシステムコールを経由して実行する形式をと
る。すなわち、ユーザが作成したプログラムを実行する
プロセスが、他のプロセスにデータを送信するときには
、OSのプログラムを呼び出し、これを実行する必要が
ある。
【0005】図14は、第2の種類の従来技術によるデ
ータ転送の動作を示している。まずデータを送信するプ
ロセスが、送信のためのシステムコールを実行する。す
るとこのシステムコールを受けたOSは、送信先プロセ
スに関連するパラメータとともに、送信すべきデータを
OS内部にあるバッファにコピーする。続いてパラメー
タをチェックし、OS内部にあるバッファ領域から送信
回路へパラメータとデータを設定し、送信回路にデータ
送信を指令する。
【0006】送信回路がデータを送信し、受信するプロ
セッサの受信回路に到着すると、パラメータおよびデー
タを受信回路内部のバッファへストアし、受信するプロ
セッサにあるOSに通知する。これを受けたOSは、受
信回路内のバッファからパラメータおよびデータをOS
内部のバッファにコピーし、パラメータおよびデータを
検査し、検査の結果問題がなければ、送信元のプロセッ
サへACK(Acknowledge信号)を送る。A
CKを送られたプロセッサは、OS内部にあり、ACK
を送る原因になったパラメータおよびデータの転送を依
頼されたときに確保したバッファ領域を開放する。
【0007】データを受信するプロセスが受信のための
システムコールを実行したときに、これを受けたOS必
要なデータが到着しているか否かを検査し、すでに到着
していれば、データを格納しているOS内部の領域から
システムコールを実行したプロセスの内部の領域へデー
タをコピーする。まだ到着していなければ、到着を待っ
て以上の受信の動作を実行する。
【0008】
【発明が解決しようとする課題】上記の第1の従来技術
においては、各プロセッサの機能は限られており、ユー
ザは限られた機能の中で、各プロセッサの持つメモリ容
量などのハードウェア諸元を十分に意識してプログラム
を作成する必要がある。さらに、この従来技術において
は、各プロセッサをメモリ共有型マルチプロセッサにし
、一層の高速化を図るために必要な方法も提示されてい
ない。
【0009】上記の第2の従来技術においては、各プロ
セッサには豊富な機能が備えられているが、データを送
信するたびにOSを呼び、さらに呼び出されたOSが送
信すべきデータのコピーを繰り返すため、データ送信の
オーバヘッドが極めて大きく、多数のプロセッサを用い
て計算を高速に実行しようとしても、プロセッサ数を多
くすればするほどいわゆる粒度が低下し、従ってデータ
送信のためのオーバヘッドが顕在化するため、計算は高
速にならない。
【0010】本発明の目的は、各プロセッサが共有メモ
リ型マルチプロセッサ構成を持ち、これを多数結合する
、いわゆるマルチクラスタ型並列プロセッサにおいて、
各プロセッサの機能を汎用計算機と同等に保ちながら、
高速のデータ転送を提供することにある。
【0011】
【課題を解決するための手段】本発明の目的を達成する
ためには、独立に動作可能な1台以上のプロセッサとこ
の1台以上のプロセッサに共有されるメモリとからなる
クラスタを複数用いて構成され、複数のクラスタを接続
するネットワークを有し、複数のクラスタのそれぞれに
おいて少なくとも1つの仮想空間が割り当てられ、仮想
空間において少なくとも1つのプロセスがOSの制御下
で実行される並列プロセッサにおいて、あるクラスタで
実行中のプロセスからの、データ送信を要求する命令に
応答して、まず、この命令で指定され、データの送信先
プロセスを識別するための送信先プロセス識別記号から
、送信先プロセスの存在するクラスタの識別記号および
送信先プロセスを一意に識別するための一意識別記号を
求め、次に、この命令で指定され、この命令を実行した
プロセスが実行されている仮想空間内の送信元仮想アド
レスにあるデータをメモリから直接読みだして、送信先
クラスタの識別記号と、上記の一意識別記号と、命令で
指定され、送信先プロセスが実行される仮想空間内の送
信先仮想アドレスとともに該ネットワークに送信する一
連の動作を、この命令を実行したプロセスの存在するク
ラスタにあるOSを用いることなく実行するとともに、
あるクラスタが、クラスタ内で実行されているプロセス
を一意に識別する一意識別記号と、この一意識別記号で
識別されるプロセスが実行される仮想空間内の仮想アド
レスとデータのネットワークからの到着に対応して、一
意識別記号と仮想アドレスからこの仮想アドレスに対応
する実アドレスを求め、この実アドレスで示されるメモ
リ上の領域に到着したデータを直接格納する動作を、O
Sを用いることなく実行することにより達成される。
【0012】
【作用】本発明に係る並列プロセッサにおいては、上述
の動作にあるように、あるプロセスが他のクラスタにあ
るプロセスにデータを転送するための命令を実行するこ
とによってOSを介在することなく、また、OS内部の
バッファ領域へのコピーすることなく、データを送信す
るプロセスの仮想空間内からデータをネットワークに直
接送出できる。
【0013】また、ネットワークからデータが到着した
場合にも、やはりOSを介在することなく、また、OS
内部のバッファを利用することなくデータの宛先である
プロセスの仮想空間内の領域にネットワークからデータ
を直接書き込むことができる。
【0014】
【実施例】(第1の実施例) 本発明の第1の実施例を図によって説明する。図1は、
本発明の第1の実施例に係る並列プロセッサの構成を示
す図である。図1において、1、2、3および4はプロ
セッサであり、すべて同一の構成を取る。5はプロセッ
サ1と2に共有されるメモリ、6はプロセッサ3と4に
共有されるメモリである。プロセッサ1と2およびメモ
リ5が第1のクラスタを構成する。プロセッサ3と4お
よびメモリ6が第2のクラスタを構成する。7は第1の
クラスタに接続される送信回路である。8は第2のクラ
スタに接続される受信回路である。第1のクラスタには
第2のクラスタの受信回路8と同様の受信回路があるが
、簡単のため図1では省略してある。同様に第2クラス
タには第1のクラスタの送信回路と同様の送信回路があ
るが省略してある。9は、第1のクラスタと第2のクラ
スタを結合するネットワークである。ネットワーク9は
、クラスタの送信回路7から指定された宛先に、メッセ
ージを転送する。
【0015】本実施例では簡単のため、クラスタを構成
するプロセッサを2台、クラスタの台数を2台にしてあ
るが、本発明に係る技術はクラスタを構成するプロセッ
サの台数が3台以上有ることを妨げない。また、クラス
タの台数が3台以上であることを妨げない。
【0016】続いてプロセッサ1ないし4の構成を説明
する。プロセッサ1ないし4は、後述の新設命令を持つ
ことを除き、従来技術によるマイクロプロセッサ、例え
ば(株)日立製作所のマイクロプロセッサH32と同様
な構成であってよい。図では簡単のためプロセッサ1に
ついてのみ内部の構成を示している。図中、10は実行
制御回路であり、プロセッサ1の命令実行シーケンスを
制御する。11はPSW(プログラム状態語)である。 11−1はPSW11の中にあリ、1ビットの幅を持つ
特権状態表示フィールドである。11−1が1の時には
プロセッサ1は特権状態にあり、11−1が0の時に非
特権状態にある。11−2はPC(プログラムカウンタ
)であり、実行中の命令のアドレスを格納している。 12は命令レジスタであり、実行中の命令を格納してい
る。13は命令デコーダである。14は後述のPATH
テーブルのあるメモリアドレスを格納するPATHテー
ブルベースレジスタである。15はPATHテーブル長
レジスタである。16は加算器、17は比較器である。 18はアドレス変換機構であり、命令で指定された仮想
アドレスを実アドレスに変換する。アドレス変換機構1
8は、従来技術により容易に構成することができる。1
9は条件コードレジスタであり、命令の実行結果により
、命令仕様で定義された値を格納する。20および21
はメモリ5を読出すための読み出し回路である。22は
特権命令実行判定回路、23は不当アクセス判定回路で
ある。24および25はAND回路である。
【0017】メモリ5には以下がある。28はオペレー
ティングシステム(以下OS)領域アクセス許可回路で
ある。29はOS領域である。OS領域29にアクセス
するためには、OS領域アクセス許可回路28に信号を
入力する必要がある。他のエリアへのアクセスはOS領
域アクセス許可回路に信号を入力しなくてもアクセスで
きる。30は後述するPATHテーブルである。PAT
Hテーブル30のエントリは図2に示されている形式を
持つ。31はプロセッサ1で実行中のプロセスのコンテ
クストである。32はプロセッサ1で実行中のプロセス
に対応する仮想空間である。図1では簡単のためプロセ
ッサ1が実行中のプロセスに対応する仮想空間のみを示
しているが、本発明は他の仮想空間があることを妨げな
い。仮想空間は従来技術により容易に構成できる。33
は仮想空間中の転送すべきデータを示す。
【0018】送信回路7はプロセッサ1あるいはプロセ
ッサ2の指令のもとに、データをネットワーク9に送信
する機能を持つ。34は送信レジスタであり、ネットワ
ークに送信すべきメッセージを格納する。26は送信制
御回路であり、線L7を介してネットワーク9より送信
中断信号が入力されないかぎり、送信レジスタ34の内
容を線L6を介してネットワークに送出する。
【0019】受信回路8は、以下の要素から構成される
。35は受信レジスタであり、ネットワーク9から到着
したメッセージを線L18、受信制御回路27を介して
格納する。36はアドレス変換回路であり、受信レジス
タ35に含まれているPTO(ページテーブルオリジン
)とVA(仮想アドレス)から実アドレスを得ることが
できるか否かを判定し、可能ならば得られた実アドレス
をL10に出力する。不可能ならば、L11に信号を出
力する。37はアドレス生成回路である。38および3
9は、メモリ6にデータを書き込むための書き込み回路
である。
【0020】メモリ6には以下がある。48はOS領域
アクセス許可回路である。49はOS領域である。メモ
リ5と同様に、OS領域49にアクセスするためには、
OS領域アクセス許可回路48に信号を入力する必要が
ある。50はページテーブルである。51は本実施例で
説明するデータ転送においてデータを書き込むべき仮想
空間である。52は仮想空間51中のデータ格納領域を
示す。53は受信代行バッファである。54は受信代行
バッファの中にあるデータ格納領域である。
【0021】続いて本発明に係る並列プロセッサの動作
を説明する。本発明に係る並列プロセッサでは、第1の
クラスタおよび第2のクラスタはそれぞれ密結合型マル
チプロセッサであり、電源投入後には従来技術による密
結合型マルチプロセッサと同様にしてイニシャルプログ
ラムロードを実行しOSがそれぞれのクラスタにて独立
に起動する。このときメモリ5、6のそれぞれに、OS
領域29、49を確保する。起動に必要な装置、例えば
磁気ディスク装置は簡単のため図から省略してある。
【0022】OSの起動後に、いずれかのクラスタにユ
ーザプログラムの起動指示が入力されると、そのクラス
タのOSは仮想空間を生成し、さらにその中にユーザプ
ログラムの実行に必要なプロセスを生成する。このよう
にして生成されたユーザプロセスが、ユーザプログラム
の実行に必要なプロセスを自クラスタおよび他クラスタ
に順次生成する。このようにして、ひとつの起動指示に
よって直接的に、あるいは間接的に生成されたユーザプ
ロセス群をジョブと呼ぶ。ジョブにはジョブ識別記号が
OSによって与えられる。各ユーザプロセスには、その
生成に際してジョブ内で一意であるようにユーザによっ
て名前が与えられている。ユーザプログラムの誤りなど
によってジョブ内で名前の重複するプロセスを生成しよ
うしたときには、OSがこれを検出して当該ジョブを異
常終了させる。ユーザプロセスの生成に際しては、ひと
つのクラスタに複数のプロセスを生成しても良い。生成
の方法は、従来技術、例えばローカルエリアネットワー
クにより結合された分散処理システムにおいて用いられ
ている方法と同様であってよい。上記の手段によって生
成されたプロセスは、互いにデータを送信しながらプロ
グラムによって指示された計算を実行する。
【0023】すでに述べたように、プロセッサ1ないし
4は、従来技術により構成することができるマイクロプ
ロセッサに、本発明に係る命令実行回路を追加した構成
を持つ。そのため、各プロセッサが実行するプロセスの
命令列のうち、演算命令などの当該プロセッサの内部で
実行できる命令については従来技術によるマイクロプロ
セッサと同様にして処理される。
【0024】本発明に係る並列プロセッサを構成する各
プロセッサは、従来技術によるマイクロプロセッサと同
様なアドレス変換機構を有し、仮想空間をサポートする
。各プロセスはひとつの仮想空間に一意に対応しており
、その仮想空間の中でプログラムを実行する。従って、
各クラスタの中では仮想空間を指定することと、プロセ
スを指定することは等価である。
【0025】続いて、図1を用いてプロセス生成の動作
を説明する。本発明に係る並列プロセッサにおいては、
OSがユーザプロセスを生成するときに、生成するプロ
セスに対応するPATHテーブルをOS領域29内の実
記憶上に生成する(OSは特権状態で実行されるため、
特権状態表示フィールド11−1の値1が、信号として
OS領域アクセス許可回路28に入力されており、それ
ゆえPATHテーブルをOS領域29に生成することが
可能である。非特権状態の場合にはOS領域29内部に
あるPATHテーブルを書き替えることはできない)。 図1の中で、第1のクラスタには仮想空間32の中で実
行されるユーザプロセスに対応してPATHテーブル3
0が生成される。このとき、PATHテーブル30の全
エントリのVフィールドを1に初期化する。PATHテ
ーブルは、その先頭アドレスであるBASEと、その長
さであるLENによって管理される。BASEおよびL
ENはそのプロセスのコンテクストの一部として扱われ
る。図3はプロセスのコンテクストの内容を示す。図中
、103にはPSWの内容が、104にはレジスタの内
容が、105にはその他の制御情報が格納されているが
、これらは従来技術によるOSが管理するコンテクスト
と同様である。コンテクストの中で、106および10
7はそれぞれ上述のBASEおよびLENを格納するフ
ィールドであり、本発明により新たに導入される。
【0026】第1のクラスタのOSは、仮想空間32に
対応するプロセスをプロセッサ1にスケジュールする場
合に、コンテクスト31の内容をプロセッサ1の中にあ
るレジスタに格納する。本発明に係る並列プロセッサで
は、コンテクストの一部として新たに導入した上述のB
ASEおよびLENを格納するための専用のレジスタと
して、それぞれPATHテーブルベースレジスタ14と
PATHテーブル長レジスタ15をプロセッサ1に設け
ている。さらに、これらのレジスタに値を格納するため
の命令として、BASE設定命令とLEN設定命令を持
つ。いずれの命令も特権命令であり、非特権状態でこれ
らの命令を実行しようとするとプロセッサ1に割込みが
発生する。プロセッサ1にて実行中のプロセスがなんら
かの理由でプロセススイッチし、プロセッサ1を解放す
る場合には、上記とは逆に、プロセッサ1のレジスタの
値がコンテクスト31に格納される。
【0027】続いて、プロセッサ1における命令実行の
概略を説明する。まず実行制御回路10の中にあるPS
W11のフィールド11−2に従って命令をメモリ5か
ら読み出し、命令が命令レジスタ12に格納される。命
令レジスタ12のフィールドOPに格納されたオペレー
ションコードは、特権命令実行判定回路22に入力され
る。特権命令実行判定回路22には、特権状態表示フィ
ールド11−1も入力されている。この回路は、入力し
たオペレーションコードが特権命令を示し、かつ特権状
態表示フィールド11−1が非特権状態を示している場
合にのみ、実行制御回路10に信号を出力する。これに
より、プロセッサ1に割込みが発生する。これ以外の場
合には、オペレーションコードを命令デコーダ13がデ
コードし、デコードされた命令の動作に必要な信号を生
成することにより命令が実行される。  図4に上述の
BASE設定命令のフォーマットを示す。図において、
108はこの命令のオペレーションコード、第1オペラ
ンド109はPATHテーブルベースレジスタ14に設
定する値を格納する。110および111に格納されて
いる値は使用されない。プロセッサ1において本命令は
以下の順序で実行される。
【0028】まず、上述のようにして命令デコーダ13
が本命令をデコードし、その結果読み出した命令がBA
SE設定命令であることがわかると、線L1に信号が出
力される。本命令は特権命令なので、11−1が1でな
い場合には実行されない。11−1が1のときには、A
ND回路24から信号が出力される。この信号によって
、命令レジスタ12のOP1フィールドに格納されてい
る値がPATHテーブルベースレジスタ14にセットさ
れる。
【0029】図5に上述のLEN設定命令のフォーマッ
トを示す。図において、112はこの命令のオペレーシ
ョンコード、第1オペランド113はPATHテーブル
ベースレジスタ14に設定する値を格納する。114お
よび115に格納されている値は使用されない。プロセ
ッサ1において本命令は以下の順序で実行される。
【0030】まず、上述のようにして命令デコーダ13
が本命令をデコードし、その結果読み出した命令がBA
SE設定命令であることがわかると、線L2に信号が出
力される。本命令は特権命令なので、11−1が1でな
い場合には実行されない。11−1が1のときには、A
ND回路25から信号が出力される。この信号によって
、命令レジスタ12のOP1フィールドに格納されてい
る値がPATHテーブル長レジスタ15にセットされる
【0031】上述のBASE設定命令、LEN設定命令
などの実行によってコンテクストをレジスタにロードさ
れ、プロセッサ1にスケジュールされたプロセスは、同
一ジョブ内の他のプロセスへのデータ転送に先立って転
送のためのPATHを設定する。
【0032】まず、プロセスがPATH設定のためのシ
ステムコールを実行する。このシステムコールの仕様は
以下のとおりである。
【0033】path=openpath(name)
; name:相手プロセスの名前(ジョブ内で一意)pa
th:OSが返すPATHの値 PATHの設定は以下の順序で実行される。
【0034】まず、システムコールを実行したプロセス
と同一のジョブに属するプロセスを持つクラスタのOS
に、指定された名前を持つプロセスがあるか否かを問い
合わせる。指定された名前のプロセスが存在するクラス
タのOSは、クラスタの番号と、指定されたプロセスに
一意に対応する仮想空間を構成するためのページテーブ
ルオリジンを問い合わせ元のクラスタに知らせる。それ
以外の場合には、指定された名前のプロセスが存在しな
いことを問い合わせ元のクラスタに知らせる。その結果
、指定された名前を持つプロセスが発見できない場合に
は、本システムコールは、発見できないことを示す特別
の値をユーザプロセスに返す。
【0035】指定された名前を持つクラスタが発見でき
た場合には、当該システムコールを実行したユーザプロ
セスに対応するPATHテーブル30の中からVフィー
ルドが1であるエントリを任意にひとつ選択し、そのV
フィールドに0を、CLフィールドに発見されたプロセ
スが存在するクラスタの番号を、PTOフィールドに発
見されたプロセスに対応する仮想空間のページテーブル
オリジンを書き込んだ後、当該エントリの番号をユーザ
プロセスに返す。すなわち、PATHテーブル30のエ
ントリの番号が、PATHの値になる。
【0036】以上の準備が完了すると、プロセスは他の
プロセスにデータを転送できるようになる。続いてデー
タを転送するためのリモートストア命令の仕様を説明す
る。リモートストア命令は非特権命令であり、図6に示
すフォーマットを持つ。図中、116はオペレーション
コード、117は転送するPATHの値、118は本命
令を実行するプロセスの仮想空間の中にある転送すべき
データの仮想アドレス、119は転送すべきデータを格
納するための、相手プロセスに対応する仮想空間内の仮
想アドレスである。本命令は以下のように実行される。 本命例の動作概要を図7に示す。
【0037】・ユーザプロセスによるリモートストア命
令の実行(図7の150)まず実行制御回路10の中に
あるPSW11のフィールド11−2に従って命令をメ
モリ5から読み出し、命令が命令レジスタ12に格納さ
れる。本命令は非特権命令であるため、特権命令実行判
定回路22は信号を出力しない。命令デコーダ13は命
令レジスタ12のフィールドOPに格納されたオペレー
ションコードをデコードし、その結果読み出した命令が
リモートストア命令であることがわかると、線L3に信
号が出力され、以下の一連の動作が開始される。
【0038】・第1の検査(図7の151)第1オペラ
ンド(図6の117)に格納されたPATHの値と、P
ATHテーブルベースレジスタ14に格納されている値
を加算器16で加算することにより、PATHテーブル
30の中の当該PATHに対応するエントリアドレスを
計算し、読みだし回路20に出力する。読みだし回路2
0は、線L3から信号を受けて、加算器16が出力した
エントリアドレスによってメモリ5を参照し(このメモ
リ参照はOS領域29へのアクセスであるが、線L3よ
りOS領域許可回路28に信号が入力されるので、特権
状態でない場合であっても読みだし回路20による読み
だしは可能)、当該エントリのVフィールドの値が1の
ときには線L4に信号を出力する。
【0039】また、第1オペランドに格納されたPAT
Hの値と、PATHテーブル長レジスタ15の内容を比
較器17で比較する。比較の結果、PATHの値がPA
THテーブル長レジスタ15の内容より大きい場合に、
線L12に信号を出力する。不当アクセス判定回路23
は、線L3、L4、L12の信号により、本命令で指定
されたPATHの値が正当なデータ転送であるか不当で
あるかを判定し、不当な場合には信号を実行制御回路1
0に出力する。ここで不当な場合とは、本命令を実行し
、それにより線L4あるいは線L12の少なくとも一方
に信号が出力された場合のことである。
【0040】以上が第1の検査であり、その結果として
不当アクセス判定回路23から信号を受けると、実行制
御回路10は本命令の実行を抑止し、プロセッサ1に割
込みを発生する。
【0041】・第2の検査(図7の152)線L3から
の信号により、送信制御回路26の状態を調べる。
【0042】この第2の検査により、以前に実行したリ
モートストア命令によって送信レジスタ34にセットさ
れた値のネットワーク9への送信が終了していないこと
が判明した場合には、線L13により条件コードレジス
タ19に条件コード1を設定し本命令の実行を終了する
。以前に実行したリモートストア命令によって、送信レ
ジスタ34にセットされていた値のネットワーク9への
送信が終了している場合には以下の動作を実施する。
【0043】・CL、PTOフィールド設定(図7の1
53)まず、第1の検査の場合と同様にして読み出し回
路20が、加算器16の出力したエントリアドレスによ
ってメモリ5を参照し、当該エントリのCLフィールド
およびPTOフィールドの内容を、線L5に出力する。 送信レジスタ34は線L3の信号により、線L5に出力
された値をCLフィールドおよびPTOフィールドに設
定する。
【0044】・VAフィールド設定(図7の154)次
に、線L3の信号により、第3オペランド(図6の11
9)に格納された仮想アドレスが、そのまま送信レジス
タ34のVAフィールドに設定される。
【0045】・データフィールドの設定(図7の155
)続いて、アドレス変換回路18が、第2オペランド(
図6の118)に格納された仮想アドレスを実アドレス
に変換し、読みだし回路21に出力する。読みだし回路
21は線L3の信号により、この実アドレスによりメモ
リ5を読みだし、送信すべきデータを送信レジスタ34
のデータフィールドに向けて出力する。送信レジスタ3
4は、線L3の信号により上記の送信すべきデータをデ
ータフィールドに設定する。
【0046】・データの送出(図7の156)以上のよ
うにして送信レジスタ34への設定が終了すると、線L
13により条件コードレジスタ19に条件コード0を設
定し、本命令の実行を終了する。線L3の信号を受けた
送信制御回路26は、送信レジスタ34の内容のネット
ワーク9への送出を開始する。
【0047】以上でリモートストア命令の動作が終了す
るため、プロセッサ1は次命令を実行する(図7の15
7)。
【0048】ネットワークへの送出に成功したか否かは
、条件コードの値を反映する条件分岐命令により調べる
ことができる。条件コードの値により、送出に成功しな
かったことが判明した場合には、再度本命令を実行すれ
ばよい。
【0049】ネットワーク9はメッセージをメッセージ
の中で指定されたクラスタの受信回路、例えば受信回路
8に送信する。その結果、送信レジスタ34のPTOフ
ィールド、VAフィールド、データフィールドが、受信
制御回路27を経由してそれぞれ受信レジスタ35のP
TOフィールド、VAフィールド、データフィールドに
セットされる。
【0050】・アドレス変換可能性の検査(図7の16
0)メッセージが到着すると、受信回路8は受信レジス
タ35のPTOフィールドとVAフィールドの内容をア
ドレス変換回路36に送る。これを受けたアドレス変換
回路36は、PTOフィールドの中に格納されているペ
ージテーブルオリジンと、これに対応する仮想空間51
の仮想アドレス(VAフィールドの内容)により、アド
レス変換回路36は線L19を介してOS領域アクセス
許可回路48に信号を出力し、OS領域の参照を可能に
した上で、線L20を介してページテーブル50を参照
し、メモリ6の実アドレスを求められるか否か確認する
【0051】・アドレス変換(図7の161)仮想アド
レスに対応する実メモリ領域が存在し、アドレス変換が
可能な場合には、上と同様にOS領域の参照を可能にし
た上で、OS領域49にあり、受信レジスタ35のPT
Oフィールドに対応する仮想空間51に対応するページ
テーブル50を線L20を介して参照することにより、
受信レジスタ35のVAフィールドにある仮想アドレス
から実アドレスを求めるためのアドレス変換を行ない、
変換の結果得られた実アドレスと書き込み要求信号とを
線L10に出力する。
【0052】・データの書き込み(図7の162)これ
を受けた書き込み回路39は、L10から入力されたア
ドレスをL14に、受信レジスタ35のデータフィール
ドの内容を線L15に出力することにより、仮想空間5
1のデータ格納領域52にレジスタ35のデータフィー
ルドの内容を書き込み、動作を終了する。
【0053】・アドレス生成(図7の170)上記でア
ドレス変換が不可の場合、すなわちページアウトにより
実アドレスが求められない場合には、アドレス変換回路
36が線L11に信号を出力する。これによりアドレス
生成回路37が、受信代行バッファ53の内部にあり、
受信レジスタ35の内容を格納することができる領域の
アドレスを生成する。
【0054】なお、受信代行バッファ53は、当該クラ
スタのOSによってあらかじめメモリ6のOS領域49
の内部に確保されている。
【0055】・受信レジスタの退避(図7の171)ア
ドレス生成回路37の生成したアドレスが線L17を介
して書き込み回路38に伝えられると、書き込み回路3
8は線L18を介してOS領域アクセス許可回路48に
信号を出力することでOS領域49への書き込みを可能
にしておいた上で、上記アドレスを線L30でメモリに
出力し、受信レジスタ35の各フィールドの内容を線L
31を介して書き込む。
【0056】・割込みによるOS呼び出し(図7の17
2)続いて、アドレス生成回路37は、線L21にてプ
ロセッサ3あるいは4のいずれかに割込みを発生する。
【0057】・ページイン処理(図7の180)割込み
が発生したプロセッサにおいては、OSがページイン処
理によって、割込みの原因になった仮想アドレスに実ア
ドレス領域を割当てる。
【0058】・受信回路のシミュレート(図7の181
)受信代行バッファ53からメッセージを取り出し、本
来ならば受信回路8が実行するデータの格納の処理をO
Sがシミュレート実行する。
【0059】以上のようにしてデータ転送が完了する。
【0060】なお、上記のアドレス生成(図7の170
)において、受信代行バッファ53に余裕がないために
、アドレスを生成することができない場合には、アドレ
ス生成回路37は線L16を介して受信制御回路27に
信号を送る。信号を送られた受信制御回路27は、線L
9によりネットワーク9に対して受信中断の信号を送り
、ネットワーク9による線L8を介したメッセージの送
りこみを中断させる。さらに、アドレス生成回路37は
線L21を経由してプロセッサ3または4に割込みを発
生することでOSを呼び出し、受信代行バッファ53の
拡大を依頼する。拡大が終了するとOSは線L21によ
り、アドレス生成回路37にその旨を通知する。これを
受けたアドレス生成回路37は線L16にて受信制御回
路27に、受信再開を指示する。受信制御回路27はこ
れを受けて線L9によりネットワーク9に受信再開を通
知する。
【0061】必要なデータ転送がすべて終了すると、プ
ロセスはPATH解放のためのシステムコールを実行す
る。このシステムコールの仕様は以下のとおりである。
【0062】closepath(path);pat
h:PATHの値 PATHの解放のためには、システムコールを実行した
プロセスに対応するPATHテーブル30の中の、引数
pathで指定されるエントリのVフィールドを1にす
る。
【0063】(第2の実施例)本発明の第2の実施例を
図によって説明する。第2の実施例は、第1の実施例の
変形であるため、相違点を中心に説明する。図8は第2
の実施例に係る並列プロセッサの構成を示す。図8にお
いて、図1と同一の番号を持つ要素の構成は、第1の実
施例の要素と同一である。
【0064】図8において、1a、2a、3a、4aは
プロセッサであり、同一の構成になっている。5、6は
メモリである。7aは送信回路、8は受信回路である。 9はネットワークである。
【0065】プロセッサ1aにおいて、12aは命令レ
ジスタである。第1の実施例の命令レジスタ12は、3
つのオペランドを格納できるが、12aは2つのオペラ
ンドを格納する点が異なる。プロセッサ1aの他の構成
要素は、図1のプロセッサ1の中にあり、同一の番号の
構成要素と同一である。
【0066】送信回路7aにおいて、34a−1、34
a−2は送信レジスタである。第1の実施例の送信レジ
スタ34を図のように2つに分けたレジスタである。
【0067】本実施例では、第1の実施例におけるリモ
ートストア命令を削除し、リモートストア準備命令とリ
モートストア実行命令の2命令を新たに追加する。追加
する2命令はいずれも非特権命令である。
【0068】図9はリモートストア準備命令のフォーマ
ットを示す。図において、200はこの命令のオペレー
ションコード、第1オペランド201はPATHの値で
ある。202に格納されている値は使用されない。
【0069】図10はリモートストア実行命令のフォー
マットを示す。図において、204はこの命令のオペレ
ーションコード、第1オペランド205は転送すべきデ
ータを格納するための、相手プロセスに対応する仮想空
間内の仮想アドレスである。第3オペランド206は、
本命令を実行するプロセスに対応する仮想空間の中にあ
る転送すべきデータの仮想アドレスである。
【0070】続いて、本実施例に係る並列プロセッサの
動作を説明する。本実施例に係る並列プロセッサの動作
は、第1の実施例から削除したリモートストア命令の動
作を、追加したリモートストア準備命令とリモートスト
ア実行命令の2命令で実行する点以外は同一であるため
、上記2命令の動作を図8および図11を用いながら説
明する。
【0071】まずリモートストア準備命令の動作を説明
する。本命令の実行は以下のようにして行なわれる。
【0072】・ユーザプロセスによるリモートストア準
備命令の実行(図11の182)まず実行制御回路10
の中にあるPSW11のフィールド11−2に従って命
令をメモリ5から読みだし、命令が命令レジスタ12a
に格納される。本命令は非特権命令であるため、特権命
令実行判定回路22は信号を出力しない。命令デコーダ
13は命令レジスタ12aのフィールドOPに格納され
たオペレーションコードをデコードし、その結果読みだ
された命令がリモートストア準備命令であることがわか
ると、線L3に信号が出力され、以下の一連の動作が開
始される。・第1の検査(図11の151)第1オペラ
ンド(図9の201)に格納されたPATHの値と、P
ATHテーブルベースレジスタ14に格納されている値
を加算器16で加算することにより、PATHテーブル
30の中の当該PATHに対応するエントリアドレスを
計算し、読みだし回路20に出力する。読みだし回路2
0は、線L3から信号を受けて、加算器16が出力した
エントリアドレスによってメモリ5を参照し(このメモ
リ参照はOS領域29へのアクセスであるが、線L3よ
りOS領域許可回路28に信号が入力されるので、特権
状態でない場合であっても読みだし回路20による読み
だしは可能)、当該エントリのVフィールドの値が1の
ときには線L4に信号を出力する。
【0073】また、第1オペランドに格納されたPAT
Hの値と、PATHテーブル長レジスタ15の内容を比
較器17で比較する。比較の結果、PATHの値がPA
THテーブル長レジスタ15の内容より大きい場合に、
線L12に信号を出力する。不当アクセス判定回路23
は、線L3、L4、L12の信号により、本命令で指定
されたPATHの値が正当なデータ転送であるか不当で
あるかを判定し、不当な場合には信号を実行制御回路1
0に出力する。ここで不当な場合とは、本命令を実行し
、それにより線L4あるいは線L12の少なくとも一方
に信号が出力された場合のことである。
【0074】以上が第1の検査であり、その結果として
不当アクセス判定回路23から信号を受けると、実行制
御回路10は本命令の実行を抑止し、プロセッサ1aに
割込みを発生する。
【0075】・第2の検査(図11の152)線L3か
らの信号により、送信制御回路26の状態を調べる。
【0076】この第2の検査により、以前に実行したリ
モートストア実行命令によって送信レジスタ34a−1
および34a−2にセットされた値のネットワーク9へ
の送信が終了していないことが判明した場合には、線L
13により条件コードレジスタ19に条件コード1を設
定し本命令の実行を終了する。以前に実行したリモート
ストア実行命令によって、送信レジスタ34a−1およ
び34a−2にセットされていた値のネットワーク9へ
の送信が終了している場合には以下の動作を実施する。
【0077】・CL、PTOフィールド設定(図11の
153)まず、第1の検査の場合と同様にして読み出し
回路20が、加算器16の出力したエントリアドレスに
よってメモリ5を参照し、当該エントリのCLフィール
ドおよびPTOフィールドの内容を、線L5に出力する
。送信レジスタ34a−1は線L3の信号により、線L
5に出力された値をCLフィールドおよびPTOフィー
ルドに設定する。
【0078】以上がリモートストア準備命令の動作であ
る。
【0079】続いて、リモートストア実行命令の動作を
説明する。本命令は以下のように実行される。
【0080】・ユーザプロセスによるリモートストア実
行命令の実行(図11の183)まず実行制御回路10
の中にあるPSW11のフィールド11−2に従って命
令をメモリ5から読みだし、命令が命令レジスタ12a
に格納される。本命令は非特権命令であるため、特権命
令実行判定回路22は信号を出力しない。命令デコーダ
13は命令レジスタ12aのフィールドOPに格納され
たオペレーションコードをデコードし、その結果読みだ
された命令がリモートストア実行命令であることがわか
ると、線L99に信号が出力され以下の一連の動作が開
始される。・VAフィールド設定(図11の154)次
に、線L99の信号により、第1オペランド(図10の
205)に格納された仮想アドレスが、そのまま送信レ
ジスタ34a−2のVAフィールドに設定される。
【0081】・データフィールドの設定(図11の15
5)続いて、アドレス変換回路18が、第2オペランド
(図10の206)に格納された仮想アドレスを実アド
レスに変換し、読みだし回路21に出力する。読みだし
回路21は線L99の信号により、この実アドレスによ
りメモリ5を読みだし、送信すべきデータを送信レジス
タ34a−2のデータフィールドに出力する。送信レジ
スタ34a−2は、線L99の信号により上記の送信す
べきデータをデータフィールドに設定する。
【0082】・データの送出(図11の156)以上の
ようにして送信レジスタ34a−1および34a−2へ
の設定が終了すると、線L13により条件コードレジス
タ19に条件コード0を設定し、本命令の実行を終了す
る。線L99の信号を受けた送信制御回路26は送信レ
ジスタ34a−1および34a−2の内容をネットワー
ク9への送出を開始する。
【0083】以上でリモートストア実行命令の動作が終
了する。
【0084】以上の説明からわかるように、リモートス
トア準備命令実行することによって送信レジスタ34a
−1に値を設定し、その後にリモートストア実行命令を
実行すれば、第1の実施例におけるリモートストア命令
を実行したのと同じ効果がえられる。従って、データを
受信するプロセッサの動作は、第1の実施例の場合と全
く同一である。
【0085】以上が本発明の第2の実施例の説明である
【0086】本実施例によれば、同一のプロセスに繰返
しデータを転送する場合には、第1の実施例では繰返し
リモートストア命令を実行することになるが、リモート
ストア準備命令を1回だけ実行し、あとはリモートスト
ア実行命令を必要回数だけ実行すればよい。すると、第
1の実施例のリモートストア命令を、より処理の簡単な
リモートストア実行命令に置き換えることができるので
、データ転送に必要なオーバヘッドをさらに削減する効
果がある。
【0087】(第3の実施例)本発明の第3の実施例を
図によって説明する。第3の実施例は、第1の実施例の
変形であり、第1の実施例の利用方法に制約をつけるこ
とにより、より簡単な構成で本発明を実施する。
【0088】第3の実施例において、新たに追加する制
約を説明する。第1の実施例では、リモートストア命令
のよって転送されるデータを受信するプロセスの仮想空
間中の仮想ページがOSによってページアウトされるこ
とを許容する実施例であった。本実施例においては、「
リモートストア命令によって転送されるデータを受信す
るプロセスの仮想空間中の仮想ページが、必ず実記憶に
割り当てられている」という制約を付す。
【0089】仮想ページが必ず実記憶に割り当てられて
おり、ページアウトされないようにすること、すなわち
、いわゆるページフィックスの処理は、従来の技術によ
り容易である。
【0090】本実施例に係る並列プロセッサの構成は、
第1の実施例から構成を要素の一部を除去するだけです
む。図12に本実施例に係る並列プロセッサの構成を示
す。図12は、図1の並列プロセッサから、アドレス生
成回路37、書き込み回路38、受信代行バッファ53
およびその中のデータ格納領域54とこれらの要素に接
続された線を除去した構成になっている。
【0091】本実施例に係る並列プロセッサの動作は、
第1の実施例の並列プロセッサとほぼ同じであるため、
相違点のみを説明する。
【0092】第1の相違点は、リモートストア命令によ
って転送されるデータを受信するプロセスの初期化にあ
る。本実施例では、プロセスを生成するために仮想空間
を生成するOSの処理において、空間を生成した後に、
プロセスのコード領域やデータ領域に必要な仮想ページ
と同一容量の実記憶領域を確保し、これを仮想ページに
もれなく割り当て、さらにすべての仮想ページにたいし
てページフィクスの処理を実行する。
【0093】第2の相違点は、リモートストア命令によ
り転送されたデータを受信する側のプロセスにおける受
信の動作にある。前述のように、このプロセスの仮想ペ
ージには必ず実記憶が割り当てられていることになるた
め、第1の実施例の動作を示す図7において、アドレス
変換可能性検査160の処理が不要になる。また、17
0からの一連の動作も必要ない。従って、図7において
、データの送出156によって送られたデータを受け取
るプロセってでは、まずアドレス変換161を実施し、
続いてデータのストア162を実行すればよい。
【0094】以上が本発明に係る第3の実施例の説明で
ある。
【0095】第3の実施例によれば、受信代行バッファ
が不要になるため、受信代行バッファのために必要な実
記憶領域とその管理が不要になる。そのため、データを
受信する側のプロセッサでのオーバヘッドが削減される
効果がある。
【0096】(第4の実施例)本発明の第4の実施例を
図によって説明する。本発明の第4の実施例は、第3の
実施例の変形であるため共通点が多い。それゆえ、相違
点を中心に説明する。図13は第4の実施例に係る並列
プロセッサの構成を示す。図13において、図1と同一
の番号を持つ要素の構成は、第1の実施例の要素と同一
である。
【0097】図13において、1c、2c、3c、4c
はプロセッサであり、同一の構成になっている。5、6
はメモリである。7cは送信回路、8cは受信回路であ
る。9はネットワークである。
【0098】プロセッサ1cにおいて、999は本実施
例のために新たに導入した構成要素であるアドレス変換
回路である。プロセッサ1cの他の構成要素は、図1の
プロセッサ1の中にあり、同一の番号の構成要素と同一
である。
【0099】メモリ5において、30cはPATHテー
ブルである。30cの各エントリはフィールドVと、フ
ィールドCLからなる。30cは、第1の実施例のPA
THテーブル30から、PTOフィールドを除いたテー
ブルである。
【0100】送信回路7cにおいて、34cは送信レジ
スタである。34cはCL、RA、データの3つのフィ
ールドから構成される。
【0101】受信回路8cにおいて、35cは受信レジ
スタである。
【0102】本実施例は、第3の実施例の動作において
、リモートストア命令によってデータを書き込まれる仮
想空間に関するアドレス変換の動作を送信側のプロセッ
サで実行するようにした変形例である。第3の実施例と
の相違点は、第3の実施例におけるシステムコールであ
るopenpathの動作とリモートストア命令の動作
にのみあるので、これを中心に説明する。ちなみに、第
3の実施例におけるopenpathは第1の実施例と
同じである。
【0103】初めに、openpathの動作を説明す
る。openpathの仕様は第3の実施例と同じであ
る。このシステムコールは以下のように実行される。
【0104】まず、システムコールを実行したプロセス
と同一のジョブに属するプロセスを持つクラスタのOS
に、指定された名前を持つプロセスがあるか否かを問い
合わせる。指定された名前のプロセスが存在するクラス
タのOSは、クラスタの番号と、指定されたプロセスに
一意に対応する仮想空間の仮想アドレスから実アドレス
を求めるための情報を問い合わせ元のクラスタに知らせ
る。それ以外の場合には、指定された名前のプロセスが
存在しないことを問い合わせ元のクラスタに知らせる。
【0105】その結果、指定された名前を持つプロセス
が発見できない場合には、本システムコールは、発見で
きないことを示す特別の値をユーザプロセスに返す。
【0106】指定された名前を持つクラスタが発見でき
た場合には、当該システムコールを実行したユーザプロ
セスに対応するPATHテーブル30の中からVフィー
ルドが1であるエントリを任意にひとつ選択し、そのV
フィールドに0を、CLフィールドに発見されたプロセ
スが存在するクラスタの番号を書き込む。さらに、指定
されたプロセスに一意に対応する仮想空間の仮想アドレ
スから実アドレスを求めるための情報と、PATHテー
ブルのエントリの番号対にしてをアドレス変換回路99
9に設定した後、当該エントリの番号をユーザプロセス
に返す。すなわち、PATHテーブル30のエントリの
番号が、PATHの値になる。
【0107】その結果、アドレス変換回路999は、P
ATHの値と、それに対応する仮想空間の仮想アドレス
から、その仮想アドレスに対応する実アドレスを求める
ことができるようになる。このようなアドレス変換回路
999は従来技術によって構成することができる。
【0108】続いて、リモートストア命令の動作を説明
する。
【0109】・ユーザプロセスによるリモートストア命
令の実行 まず実行制御回路10の中にあるPSW11のフィール
ド11−2に従って命令をメモリ5から読み出し、命令
が命令レジスタ12に格納される。本命令は非特権命令
であるため、特権命令実行判定回路22は信号を出力し
ない。命令デコーダ13は命令レジスタ12のフィール
ドOPに格納されたオペレーションコードをデコードし
、その結果読み出した命令がリモートストア命令である
ことがわかると、線L3に信号が出力され、以下の一連
の動作が開始される。
【0110】・第1の検査 第1オペランドに格納されたPATHの値と、PATH
テーブルベースレジスタ14に格納されている値を加算
器16で加算することにより、PATHテーブル30の
中の当該PATHに対応するエントリアドレスを計算し
、読みだし回路20に出力する。読みだし回路20は、
線L3から信号を受けて加算器16が出力したエントリ
アドレスによってメモリ5を参照し、当該エントリのV
フィールドの値が1のときには線L4に信号を出力する
【0111】また、第1オペランドに格納されたPAT
Hの値と、PATHテーブル長レジスタ15の内容を比
較器17で比較する。比較の結果、PATHの値がPA
THテーブル長レジスタ15の内容より大きい場合に、
線L12に信号を出力する。不当アクセス判定回路23
は、線L3、L4、L12の信号により、本命令で指定
されたPATHの値が正当なデータ転送であるか不当で
あるかを判定し、不当な場合には信号を実行制御回路1
0に出力する。ここで不当な場合とは、本命令を実行し
、それにより線L4あるいは線L12の少なくとも一方
に信号が出力された場合のことである。
【0112】以上が第1の検査であり、その結果として
不当アクセス判定回路23から信号を受けると、実行制
御回路10は本命令の実行を抑止し、プロセッサ1に割
込みを発生する。
【0113】・第2の検査 線L3からの信号により、送信制御回路26の状態を調
べる。
【0114】この第2の検査により、以前に実行したリ
モートストア命令によって送信レジスタ34にセットさ
れた値のネットワーク9への送信が終了していないこと
が判明した場合には、線L13により条件コードレジス
タ19に条件コード1を設定し本命令の実行を終了する
。以前に実行したリモートストア命令によって、送信レ
ジスタ34にセットされていた値のネットワーク9への
送信が終了している場合には以下の動作を実施する。
【0115】・CLフィールド設定 まず、第1の検査の場合と同様にして読み出し回路20
が、加算器16の出力したエントリアドレスによってメ
モリ5を参照し、当該エントリのCLフィールドの内容
を、線L5に出力する。送信レジスタ34cは線L3の
信号により、線L5に出力された値をCLフィールドに
設定する。
【0116】・RAフィールド設定 次に、第1オペランドに格納されたPATHの値と、第
3オペランドに格納された仮想アドレスとをアドレス変
換回路999に入力することにより、アドレス変換回路
999はデータの送信先の実アドレスを出力する。送信
レジスタ34cは線L3の信号により、アドレス変換回
路の出力した値をRAフィールドに設定する。
【0117】・データフィールドの設定続いて、アドレ
ス変換回路18が、第2オペランドに格納された仮想ア
ドレスを実アドレスに変換し、読みだし回路21に出力
する。読みだし回路21は線L3の信号により、この実
アドレスによりメモリ5を読みだし、送信すべきデータ
を送信レジスタ34cのデータフィールドに出力する。 送信レジスタ34cは、線L3の信号により上記の送信
すべきデータをデータフィールドに設定する。
【0118】・データの送出 以上のようにして送信レジスタ34cへの設定が終了す
ると、線L13により条件コードレジスタ19に条件コ
ード0を設定し、本命令の実行を終了する。線L3の信
号を受けた送信制御回路26は、送信レジスタ34cの
内容をネットワーク9への送出を開始する。
【0119】ネットワークへの送出に成功したか否かは
、条件コードの値を反映する条件分岐命令により調べる
ことができる。条件コードの値により、送出に成功しな
かったことが判明した場合には、再度本命令を実行すれ
ばよい。
【0120】ネットワーク9はメッセージをメッセージ
の中で指定されたクラスタの受信回路、例えば受信回路
8cに送信する。その結果、送信レジスタ34cのRA
フィールド、データフィールドが、受信制御回路27を
経由してそれぞれ受信レジスタ35cのRAフィールド
、データフィールドにセットされる。
【0121】続いて以下の動作が行なわれる。
【0122】・データの書き込み 書き込み回路39は、L14に受信レジスタのRAフィ
ールドの内容を、受信レジスタ35cのデータフィール
ドの内容を線L15に出力することにより、仮想空間5
1のデータ格納領域52にレジスタ35cのデータフィ
ールドの内容を書き込み、動作を終了する。
【0123】以上のようにしてデータ転送が完了する。
【0124】本実施例によれば、データを受信するプロ
セスが存在するクラスタの受信回路の動作が簡略化され
るので、第3の実施例に比べ、ひとつのクラスタに多数
のプロセスからのデータ転送が集中する場合にデータを
取りこみメモリに格納する動作がさらに高速になるため
通信のオーバヘッドをさらに低減することができる。 (第5の実施例)本発明の第5の実施例を説明する。第
5の実施例は、プロセッサが外部機器、例えば入出力機
器にデータを要求する場合に関係する。
【0125】従来の技術では、プロセッサが外部機器に
データを要求する場合、OSがまず外部機器がデータを
書き込むためのメモリ領域を用意し、さらにこのメモリ
領域がページアウトされないようにする。このためには
、例えばメモリ領域を実記憶に確保する方法や、メモリ
領域をページフィックスした仮想記憶領域に確保する方
法がある。これに続いて外部機器にそのアドレスを含む
コマンドを送信する。コマンドを受けた外部機器が、メ
モリ領域に書き込むデータを用意し終えると、上述のペ
ージアウトされない領域に書き込む。
【0126】上述の従来の技術では、外部機器の動作速
度がプロセッサの動作速度に比べて遅い場合に、外部機
器のレスポンスタイムの間は、外部機器のために用意さ
れたメモリ領域をプロセッサのプログラム実行のために
利用することはできない。
【0127】そこで、本実施例では、外部機器がデータ
を書き込むためのメモリ領域がページアウトされても構
わない方法を示す。
【0128】上記目的を達成するためには、本発明の第
1の実施例で説明した受信代行バッファを用いればよい
。すなわち、外部機器とプロセッサの間に、第1の実施
例で示した受信回路8と、受信代行バッファ53を設け
る。
【0129】プロセッサが外部機器にデータの書き込み
を要求する場合に、書き込みのための領域を通常の仮想
記憶領域上に確保し、この仮想アドレスとこの領域を含
む仮想空間に対応するPTO(ページテーブルオリジン
)をコマンドを外部機器に伝える。外部機器が、例えば
ディスク装置を読みだすような動作をし、書き込むべき
データを用意すると、データを要求したプロセッサに接
続されている受信回路に、PTOと仮想アドレスとデー
タを送信する。すると、受信回路は、第1の実施例と同
様にして、アドレス変換機構によりデータを書き込むべ
き仮想記憶領域に対応する実記憶領域が割り当てられて
いるか否かを判定する。割り当てられているならば、そ
こにデータを書き込む。ページアウトにより割り当てら
れていないならば、受信回路8の中にあるアドレス生成
回路37と同様にして、受信代行バッファの中の利用可
能な領域を割り当て、そこにPTO、仮想アドレスおよ
びデータを書き込み、プロセッサに割込みを発生する。 これによりプロセッサは、受信代行バッファに格納され
たPTO、仮想アドレスよりページアウトされた領域を
ページインし、その後その領域にデータを書き込む。
【0130】本実施例によれば、外部機器がデータを書
き込むべき領域を通常のページングの対象にすることが
できる。そのため、外部機器の動作速度がプロセッサの
動作速度に比べて遅い場合であっても、外部機器のレス
ポンスタイムの間、外部機器のために用意されたメモリ
領域を外部機器が占有することはなく、プロセッサのプ
ログラム実行のために利用することができる。
【0131】
【発明の効果】本発明によれば、プロセス間のデータ転
送において、初期化のフェーズにのみオペレーティング
システムが介入するものの、実際の転送においては非特
権状態のままで転送が可能でありオペレーティングシス
テムが介入する必要がない。また、データの送信におい
て仮想空間にあるユーザプロセスのデータ領域からデー
タを直接読みだしてネットワークに送信するため、OS
内部のバッファへデータをコピーする必要がない。さら
に、データをネットワークから受信する場合に、ネット
ワークから受信したデータを仮想空間にあるユーザプロ
セスのデータ領域に直接書き込むことができるため、O
S内部のバッファへコピーする必要がない。しかも、プ
ログラムの誤りなどによるデータの破壊もない。そのた
め、極めて小さいオーバヘッドで安全にデータ転送を実
行することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係る並列プロセッサの
構成図。
【図2】仮想的な通信路であるPATHを物理的な通信
路に変換するPATHテーブルのエントリを示す図。
【図3】本発明に係る並列プロセッサで実行されるプロ
セスのコンテクストを示す図。
【図4】新設したBASE設定命令のフォーマットを示
す図。
【図5】新設したLEN設定命令のフォーマットを示す
図。
【図6】第1の実施例に関連して新設したリモートスト
ア命令のフォーマット示す図。
【図7】第1の実施例におけるデータ転送命令の動作を
示す図。
【図8】本発明の第2の実施例に係る並列プロセッサの
構成図。
【図9】第2の実施例に関連して新設したリモートスト
ア準備命令のフォーマット示す図。
【図10】第2の実施例に関連して新設したリモートス
トア実行命令のフォーマット示す図。
【図11】第2の実施例におけるデータ転送命令の動作
を示す図。
【図12】本発明の第3の実施例に係る並列プロセッサ
の構成図。
【図13】本発明の第4の実施例に係る並列プロセッサ
の構成図。
【図14】従来の技術によるプロセッサ間通信の動作を
説明するための図。
【符号の説明】
1〜4・・・プロセッサ、5〜6・・・メモリ、7・・
・送信回路、8・・・受信回路、9・・・ネットワーク
、10・・・実行制御回路、11・・・PSW、12・
・・命令レジスタ、13・・・命令デコーダ、14・・
・PATHテーブルベースレジスタ、15・・・PAT
Hテーブル長レジスタ、16・・・加算器、17・・・
比較器、18・・・アドレス変換機構、19・・・条件
コードレジスタ、20・・・読みだし回路、21・・・
読みだし回路、22・・・特権命令実行判定回路、23
・・・不当アクセス判定回路、24・・・AND回路、
25・・・AND回路、26・・・送信制御回路、27
・・・受信制御回路、28・・・OS領域アクセス許可
回路、29・・・OS領域、30・・・PATHテーブ
ル、31・・・コンテクスト、32・・・仮想空間、3
3・・・転送すべきデータ、34・・・送信レジスタ、
35・・・受信レジスタ、36・・・アドレス変換回路
、37・・・アドレス生成回路、38・・・書き込み回
路、39・・・書き込み回路、48・・・OS領域アク
セス許可回路、49・・・OS領域、50・・・ページ
テーブル、51・・・仮想空間、52・・・データ格納
領域、53・・・受信代行バッファ、54・・・データ
格納領域。

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】独立に動作可能な1台以上のプロセッサと
    該1台以上のプロセッサに共有されるメモリとからなる
    クラスタを複数用いて構成され、該複数のクラスタを接
    続するネットワークを具備し、該複数のクラスタのそれ
    ぞれにおいて少なくとも1つの仮想空間が割り当てられ
    、該仮想空間において少なくとも1つのプロセスがOS
    の制御下で実行される並列プロセッサにおいて、あるク
    ラスタ(送信元クラスタ)で実行中のプロセス(送信元
    プロセス)から他のクラスタ(送信先クラスタ)に割り
    当てられた他のプロセス(送信先プロセス)に送信すべ
    きデータを、該送信元プロセスが使用する仮想空間内の
    、送信データ用の位置に割り当てられた、送信元クラス
    タのメモリ内の位置から、送信元プロセスを制御するO
    Sの介入なしに読みだし、その読み出されたデータとそ
    の送信先プロセスに関連する情報を送信元クラスタから
    送信先クラスタに送信し、送信先クラスタでは、該デー
    タを受信したとき、該関連する情報により定まるプロセ
    スが使用する仮想空間内の、受信データ用の位置に割り
    当てられた、送信先クラスタのメモリ内の位置を、受信
    データ記憶位置として、決定し、その受信したデータを
    その決定された受信データ記憶位置に、送信先クラスタ
    を制御するOSの介入なしに書き込むプロセッサ間通信
    方法。
  2. 【請求項2】送信元クラスタからの該データの送信時に
    、そのデータとその送信先プロセスに関連する情報とと
    もに、送信元のプロセスにより指定され、送信先プロセ
    スが使用する仮想空間内の、そのデータに割り当てるべ
    き仮想アドレスを送信先クラスタに送信し、送信先クラ
    スタでは、該関連する情報により定まるプロセスが使用
    する仮想空間内の、該送信された仮想アドレスに割り当
    てられた、送信先クラスタのメモリ内の位置を、該受信
    データ記憶位置として決定する請求項1記載のプロセッ
    サ間通信方法。
  3. 【請求項3】該送信先プロセスに関連する情報は、該送
    信先プロセスが使用する仮想アドレスを実アドレスに変
    換するためのページテーブルの先頭アドレスであり、該
    送信先クラスタでは、該先頭アドレスにより定まるペー
    ジテーブルを読みだし、該送信された仮想アドレスを、
    その読み出されたページテーブルを用いて、対応する実
    アドレスに変換する請求項2記載のプロセッサ間通信方
    法。
  4. 【請求項4】送信元クラスタからの該データの送信は、
    送信元プロセスを制御するOSの介入なしに行い、送信
    先クラスタでの該受信データ記憶位置の決定は、送信先
    プロセスを制御するOSの介入なしに行う請求項1記載
    のプロセッサ間通信方法。
  5. 【請求項5】独立に動作可能な1台以上のプロセッサと
    該1台以上のプロセッサに共有されるメモリとからなる
    クラスタを複数用いて構成され、該複数のクラスタを接
    続するネットワークを具備し、該複数のクラスタのそれ
    ぞれにおいて少なくとも1つの仮想空間が割り当てられ
    、該仮想空間において少なくとも1つのプロセスがOS
    の制御下で実行される並列プロセッサにおいて、あるク
    ラスタ(送信元クラスタ)で実行中のプロセス(送信元
    プロセス)から他のクラスタ(送信先クラスタ)に割り
    当てられた他のプロセス(送信先プロセス)に送信すべ
    きデータを、該送信元プロセスが使用する仮想空間内の
    、送信データ用の位置に割り当てられた、送信元クラス
    タのメモリ内の位置から、送信元プロセスを制御するO
    Sの介入なしに読みだし、その読み出されたデータとそ
    の送信先プロセスに関連する情報を送信元クラスタから
    送信先クラスタに、そのOSの介入なしに送信するプロ
    セッサ間通信方法。
  6. 【請求項6】独立に動作可能な1台以上のプロセッサと
    該1台以上のプロセッサに共有されるメモリとからなる
    クラスタを複数用いて構成され、該複数のクラスタを接
    続するネットワークを具備し、該複数のクラスタのそれ
    ぞれにおいて少なくとも1つの仮想空間が割り当てられ
    、該仮想空間において少なくとも1つのプロセスがOS
    の制御下で実行される並列プロセッサにおいて、あるク
    ラスタ(送信元クラスタ)で実行中のプロセス(送信元
    プロセス)から他のクラスタ(送信先クラスタ)に割り
    当てられた他のプロセス(送信先プロセス)に送信すべ
    きデータとその送信先プロセスに関連する情報を、送信
    元クラスタから送信先クラスタに送信し、送信先クラス
    タでは、該データを受信したとき、該関連する情報によ
    り定まるプロセスが使用する仮想空間内の、受信データ
    用の位置に割り当てられた、送信先クラスタのメモリ内
    の位置を、受信データ記憶位置として、送信先クラスタ
    を制御するOSの介入なしに決定し、その受信したデー
    タをその決定された受信データ記憶位置に、送信先クラ
    スタを制御するOSの介入なしに書き込むプロセッサ間
    通信方法。
  7. 【請求項7】独立に動作可能な1台以上のプロセッサと
    該1台以上のプロセッサに共有されるメモリとからなる
    クラスタを複数用いて構成され、該複数のクラスタを接
    続するネットワークを具備し、該複数のクラスタのそれ
    ぞれにおいて少なくとも1つの仮想空間が割り当てられ
    、該仮想空間において少なくとも1つのプロセスがOS
    の制御下で実行される並列プロセッサにおいて、あるク
    ラスタで実行中のプロセスからの、データ送信を要求す
    る1つ以上の命令に応答して、まず、該1つ以上の命令
    で指定され、データの送信先プロセスを識別するための
    送信先プロセス識別記号から、該送信先プロセスの存在
    するクラスタの識別記号および該送信先プロセスを一意
    に識別するための一意識別記号を求め、次に、該1つ以
    上の命令で指定され、該1つ以上の命令を実行したプロ
    セスが実行されている仮想空間内の送信元仮想アドレス
    にあるデータをメモリから読みだして、該クラスタの識
    別記号と、該一意識別記号と、該1つ以上の命令で指定
    され、該送信先プロセスが実行される仮想空間内の送信
    先仮想アドレスとともに該ネットワークに送信する一連
    の動作を、該1つ以上の命令を実行したプロセスの存在
    するクラスタにあるOSを用いることなく実行すること
    を特徴とするプロセッサ間通信方式。
  8. 【請求項8】独立に動作可能な1台以上のプロセッサと
    該1台以上のプロセッサに共有されるメモリとからなる
    クラスタを複数用いて構成され、該複数のクラスタを接
    続するネットワークを具備し、該複数のクラスタのそれ
    ぞれにおいて少なくとも1つの仮想空間が割り当てられ
    、該仮想空間において少なくとも1つのプロセスがOS
    の制御下で実行される並列プロセッサにおいて、あるク
    ラスタが、該クラスタ内で実行されているプロセスを一
    意に識別する一意識別記号と、該一意識別記号で識別さ
    れるプロセスが実行される仮想空間内の仮想アドレスと
    データの該ネットワークからの到着に対応して、該一意
    識別記号と該仮想アドレスから該仮想アドレスに対応す
    る実アドレスを求め、該実アドレスで示されるメモリ上
    の領域に該データを格納する動作を、該クラスタに存在
    するOSを用いることなく実行することを特徴とするプ
    ロセッサ間通信方式。
  9. 【請求項9】独立に動作可能な1台以上のプロセッサと
    該1台以上のプロセッサに共有されるメモリとからなる
    クラスタを複数用いて構成され、該複数のクラスタを接
    続するネットワークを具備する並列プロセッサにおいて
    、各クラスタの中に該クラスタで実行される各プロセス
    に対応して、該プロセスが実行するデータ送信命令で指
    定するデータの送信先である第2のプロセスを該プロセ
    スが識別するための第1のプロセス識別記号から、該第
    2のプロセスが存在する第2のクラスタの識別記号と該
    第2のプロセスを該第2のクラスタの中で一意に指定可
    能な第2のプロセス識別記号の組に変換する変換手段を
    該クラスタに設け、該クラスタの中の各プロセッサに、
    該プロセッサが実行中のプロセスに対応する該変換手段
    を指定する指定手段を設け、該データ送信命令の実行に
    より、該指定手段により指定される該変換手段により得
    られた該第2のクラスタの識別記号と、該第2のプロセ
    ス識別記号とを、該データ送信命令で指定されるデータ
    と共に該ネットワークへ送信する手段を設けたことを特
    徴とする並列プロセッサ。
  10. 【請求項10】特許請求の範囲第3項の並列プロセッサ
    において、該データ送信命令で指定された該第1のプロ
    セス識別記号の値に応じて該変換手段での変換が可能か
    不能かを判定する判定手段と、該変換手段において実行
    される変換が該判定手段により不能と判定されたことを
    該データ送信命令を実行したプロセッサに通知する手段
    とを設けたことを特徴とする並列プロセッサ。
  11. 【請求項11】該変換手段が該クラスタにあるメモリ上
    のテーブルを含み、該指定手段は該プロセッサにあって
    、該メモリ上の変換テーブルのアドレスを指定する変換
    テーブルベースレジスタであることを特徴とする請求項
    9に記載の並列プロセッサ。
  12. 【請求項12】該プロセッサには特権モードと非特権モ
    ードがあり、該変換テーブルベースレジスタへ値を設定
    する命令を備え、該プロセッサが該設定する命令を非特
    権モードで実行しようとすることを検出する手段と、該
    検出する手段が検出した結果を該プロセッサに通知する
    手段を設けたことを特徴とする請求項11に記載の並列
    プロセッサ。
  13. 【請求項13】該データを書き込むための該第2のプロ
    セスが実行される仮想アドレス空間中の仮想アドレスを
    指定し、該送信手段は該アドレスを該第2のクラスタの
    識別記号と、該第2のプロセス識別記号を、該データと
    共に該ネットワークへ送信することを特徴とする請求項
    9に記載の並列プロセッサ。
  14. 【請求項14】各クラスタに該クラスタが受信した該第
    2のプロセス識別記号と該仮想アドレスを用いて該デー
    タを書き込む実アドレスを得るためのアドレス変換手段
    を設けたことを特徴とする請求項13に記載の並列プロ
    セッサ。
  15. 【請求項15】該第2のプロセス識別記号が該第2のプ
    ロセスが実行される仮想空間に対応するアドレス変換テ
    ーブルのアドレスであることを特徴とする請求項14に
    記載の並列プロセッサ。
  16. 【請求項16】該仮想アドレスに対応する実アドレスが
    割り付けられていないときに、該第2のプロセス識別記
    号と該仮想アドレスと該データを格納する格納手段を設
    け、該格納手段に格納されたことを該クラスタの中の1
    台以上のプロセッサに通知する手段を設けたことを特徴
    とする請求項記載の並列プロセッサ。
  17. 【請求項17】仮想アドレスを実アドレスに変換するア
    ドレス変換機構を有する電子計算機において、該外部機
    器が書き込みを要求する該メモリの仮想アドレスに実ア
    ドレスが割り付けられていないときに該外部機器からの
    該仮想アドレスと書き込みデータを格納するための手段
    と、該格納するための手段に該仮想アドレスと該書き込
    みデータが格納されたことをプロセッサに通知する手段
    を設けたことを特徴とする電子計算機。
  18. 【請求項18】独立に動作可能な1台以上のプロセッサ
    と該1台以上のプロセッサに共有されるメモリとからな
    るクラスタを複数用いて構成され、該複数のクラスタを
    接続するネットワークを具備する並列プロセッサにおい
    て、各プロセッサに、該プロセッサを含むクラスタにあ
    る第1の仮想空間のアドレスと、他のクラスタにある第
    2の仮想空間とその中のアドレスを指定して、該第1の
    仮想空間から該第2の仮想空間にデータを転送するため
    の転送命令を設けたことを特徴とする並列プロセッサ。
  19. 【請求項19】請求項18に記載の該転送命令が非特権
    命令であることを特徴とする並列プロセッサ。
JP05646991A 1991-03-20 1991-03-20 プロセッサ間通信方法およびそのための並列プロセッサ Expired - Fee Related JP3169624B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP05646991A JP3169624B2 (ja) 1991-03-20 1991-03-20 プロセッサ間通信方法およびそのための並列プロセッサ
US07/853,427 US5386566A (en) 1991-03-20 1992-03-18 Inter-processor communication method for transmitting data and processor dependent information predetermined for a receiving process of another processor
DE4208924A DE4208924B4 (de) 1991-03-20 1992-03-19 Verfahren zur Kommunikation zwischen Prozessoren und Parallelverarbeitungscomputer hierfür

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05646991A JP3169624B2 (ja) 1991-03-20 1991-03-20 プロセッサ間通信方法およびそのための並列プロセッサ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001004398A Division JP2001236334A (ja) 2001-01-12 2001-01-12 プロセッサ間通信方法およびそのための並列プロセッサ

Publications (2)

Publication Number Publication Date
JPH04291660A true JPH04291660A (ja) 1992-10-15
JP3169624B2 JP3169624B2 (ja) 2001-05-28

Family

ID=13027966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05646991A Expired - Fee Related JP3169624B2 (ja) 1991-03-20 1991-03-20 プロセッサ間通信方法およびそのための並列プロセッサ

Country Status (1)

Country Link
JP (1) JP3169624B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08161272A (ja) * 1994-11-30 1996-06-21 Nec Corp クラスタ結合型マルチプロセッサシステムにおけるローカル入出力制御方法
EP0690384A3 (en) * 1994-06-30 1997-08-06 Nec Corp Multiprocessor system for local management of address translation tables
US5659777A (en) * 1992-09-25 1997-08-19 Hitachi, Ltd. Method for intraprocessor communication
WO1998041927A1 (fr) * 1997-03-19 1998-09-24 Hitachi, Ltd. Calculateur parallele
US5978894A (en) * 1995-11-27 1999-11-02 Hitachi, Ltd. Method of interprocessor data transfer using a network, virtual addresses and paging, a buffer, flags, data transfer status information and user accessible storage areas in main memory
US6970911B2 (en) 2000-02-23 2005-11-29 Nec Corporation Distributed memory type parallel computer and write data transfer end confirming method thereof
JP2009181466A (ja) * 2008-01-31 2009-08-13 Canon Inc 半導体露光装置及びその制御方法、及びコンピュータプログラム
JP2015011369A (ja) * 2013-06-26 2015-01-19 日本電気通信システム株式会社 冗長情報処理システムおよび冗長情報処理システムのデータ同期方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659777A (en) * 1992-09-25 1997-08-19 Hitachi, Ltd. Method for intraprocessor communication
US5867656A (en) * 1992-09-25 1999-02-02 Hitachi, Ltd. Method for interprocessor communication
EP0690384A3 (en) * 1994-06-30 1997-08-06 Nec Corp Multiprocessor system for local management of address translation tables
JPH08161272A (ja) * 1994-11-30 1996-06-21 Nec Corp クラスタ結合型マルチプロセッサシステムにおけるローカル入出力制御方法
US5978894A (en) * 1995-11-27 1999-11-02 Hitachi, Ltd. Method of interprocessor data transfer using a network, virtual addresses and paging, a buffer, flags, data transfer status information and user accessible storage areas in main memory
WO1998041927A1 (fr) * 1997-03-19 1998-09-24 Hitachi, Ltd. Calculateur parallele
US6970911B2 (en) 2000-02-23 2005-11-29 Nec Corporation Distributed memory type parallel computer and write data transfer end confirming method thereof
JP2009181466A (ja) * 2008-01-31 2009-08-13 Canon Inc 半導体露光装置及びその制御方法、及びコンピュータプログラム
JP2015011369A (ja) * 2013-06-26 2015-01-19 日本電気通信システム株式会社 冗長情報処理システムおよび冗長情報処理システムのデータ同期方法

Also Published As

Publication number Publication date
JP3169624B2 (ja) 2001-05-28

Similar Documents

Publication Publication Date Title
US5386566A (en) Inter-processor communication method for transmitting data and processor dependent information predetermined for a receiving process of another processor
US5787480A (en) Lock-up free data sharing
US5561809A (en) In a multiprocessing system having a coupling facility, communicating messages between the processors and the coupling facility in either a synchronous operation or an asynchronous operation
US5802585A (en) Batched checking of shared memory accesses
US5043873A (en) Method of parallel processing for avoiding competition control problems and data up dating problems common in shared memory systems
US5251308A (en) Shared memory multiprocessor with data hiding and post-store
JP3987162B2 (ja) 読取り−共有トランザクションのための強化ブロッキング・メカニズムを含むマルチプロセス・システム
US5758183A (en) Method of reducing the number of overhead instructions by modifying the program to locate instructions that access shared data stored at target addresses before program execution
US5933598A (en) Method for sharing variable-grained memory of workstations by sending particular block including line and size of the block to exchange shared data structures
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
US5761729A (en) Validation checking of shared memory accesses
JPH10289214A (ja) 対称的マルチプロセッサのクラスタのための可変粒度型メモリ共用方法
JP2000010942A (ja) マルチプロセッサ・システム
JP2000029857A (ja) 個々のプロセッサの早期リリ―スによるシステム・シリアル化方法
JPH10240707A (ja) 主記憶共有型マルチプロセッサ
US6668314B1 (en) Virtual memory translation control by TLB purge monitoring
JP2539352B2 (ja) 階層型多重計算機システム
US7912998B2 (en) DMA access systems and methods
US5875468A (en) Method to pipeline write misses in shared cache multiprocessor systems
JPH04291660A (ja) プロセッサ間通信方法およびそのための並列プロセッサ
EP0404560B1 (en) multiprocessor system and method
JP2829115B2 (ja) ファイル共用方法
JP3375649B2 (ja) 並列計算機
JP3187446B2 (ja) キャッシュメモリ制御装置
KR100978083B1 (ko) 공유 메모리형 멀티 프로세서에 있어서의 절차 호출 방법 및 절차 호출 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010206

LAPS Cancellation because of no payment of annual fees