JPH01131949A - 処理依頼機能を持つ並列計算機 - Google Patents

処理依頼機能を持つ並列計算機

Info

Publication number
JPH01131949A
JPH01131949A JP62289325A JP28932587A JPH01131949A JP H01131949 A JPH01131949 A JP H01131949A JP 62289325 A JP62289325 A JP 62289325A JP 28932587 A JP28932587 A JP 28932587A JP H01131949 A JPH01131949 A JP H01131949A
Authority
JP
Japan
Prior art keywords
data
processing
register
address
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.)
Granted
Application number
JP62289325A
Other languages
English (en)
Other versions
JP2644780B2 (ja
Inventor
Akira Muramatsu
晃 村松
Ikuo Yoshihara
郁夫 吉原
Kazuo Nakao
中尾 和夫
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 JP62289325A priority Critical patent/JP2644780B2/ja
Priority to US07/272,550 priority patent/US5129093A/en
Publication of JPH01131949A publication Critical patent/JPH01131949A/ja
Application granted granted Critical
Publication of JP2644780B2 publication Critical patent/JP2644780B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は並列計算機に関し、とくに要素プロセッサ台数
の多い場合に必要とされる物理的に分散した共有メモリ
を持つ超並列計算機に関する。
〔従来の技術〕
並列計算機において、要素プロセッサ台数が増加してい
くと、多数のメモリモジュールの各々が物理的に分散し
た多数の要素プロセッサにそれぞれ直接接続され、これ
らがネットワークにより結合された形で構成される疎結
合並列計算機が中心となってくる。これは、−ケ所に置
いたメモリを多数の要素プロセッサがアクセスする密結
合並列計算機では、アクセス競合のため性能が低下する
からである。ところが、ソフトウェアの面からは、論理
的に一ケ所に置かれたデータ構造を各要素プロセッサが
共有する方式が望ましい。このため、近年に至って、物
理的には分散し論理的には共有方式のメモリ(以下では
分散型共有メモリと呼ぶ)が提案され始めた。特願昭6
2−   の「並列計算機」 (出願口62年9月4日
)には、分散配置されたメモリ上に語単位でデータを分
散し、これを全要素プロセッサが共有する広域アドレス
方式のメモリシステムが開示されている。セグメント単
位でデータを重複を許して分散させる局所アドレス方式
の分散型メモリシステムが開示されている。
このような分散型共有メモリにおいて、定義または参照
するデータが自要素プロセッサ中のメモリモジュールに
存在していない場合には、相互結合ネットワークを用い
て他要素プロセッサ中のメモリモジュールをアクセスし
なくてはならないため、性能低下が生じる。他要素プロ
セッサ中のメモリモジュールにあるデータAをアクセス
する動作は1次の3つの動作プリミティブ(分解できな
い動作)に帰着する。Rを自要素プロセッサのレジスタ
とすると、 (1)参照 R4−A (Aをレジスタにロード) (2)定義 A4−R(レジスタの内容をAに格納)(3)再帰的定
義 A4−0P (A、R)(Aとレジスタの内容とを演算
処理した結果をAに 戻す) または、 A←OP (A)(Aにある処理を施した結果をAに戻
す) ここに、OPは演算処理を示す。また、再帰的定義は参
照と定義に分解することができるが、後述するように、
分散処理においては参照と定義の間に他の動作プリミテ
ィブが入って、結果が変わってしまう可能性があるので
、ここでは分解不能の単一プリミティブとして実行する
ことを考える。
これら三種類の動作プリミティブのうち、(1)はメツ
セージ通信機能を持つプロセッサ間で参照要求メツセー
ジと応答メツセージを往復させることにより、(2)は
格納要求メツセージを送信することにより、単純に効率
良く処理することができる。
しかしながら、(3)に関しては、複雑な排他制御が必
要である。すなわち、あるメモリモジュールに直接接続
されていない要素プロセッサが該メモリモジュール中の
データを再帰型演算により更新しようとする場合、従来
は、再帰型演算命令を発行した要素プロセッサがネット
ワークを経由して該データをいったん自分のメモリに移
し、これを更新してからその結果をネットワーク経由で
送り返すという手間が必要であった0例えば、A(L(
I))=A(L(I))+B(I)というプログラムを
第i要素プロセッサが実行しようとする場合1間接指標
L(I)により配列Aの要素番地が定まる表現のため、
コンパイル時にA (L(I))を必ず第i要素プロセ
ッサに割り付けるようにすることはできない、従ってこ
のような場合は、プログラムとデータが同じ要素プロセ
ッサに割り付けられているという保証が無く、−般には
他のメモリモジュールを読まなくてはならない。このと
き、更新の途中で他の要素プロセッサが該データをアク
セスするのを禁止するために。
該メモリモジュールを排他制御する必要がある。
上記プログラム例では、その実行手順は以下のようにな
る。
■第i要素プロセッサがA (L(I))の番地を計算
する。
■ネットワークを経由して、A (L(I))の存在す
るメモリモジュールに接続している要素プロセッサ(第
j要素プロセッサ)にデータを送るよう依頼し、返信を
待つ。
■第j要素プロセッサは該メモリモジュールを排他制御
域とする。
■第j要素プロセッサはデータを読みだしてネットワー
ク経由で第i要素プロセッサにデータを送る。
■第i要素プロセッサは送られてきたデータを更新処理
する。
■第i要素プロセッサはネットワークを経由して更新し
たA (L(I))を第j要素プロセッサに送り、メモ
リモジュールへの書き込みを依頼する。
■第j要素プロセッサA(L(I))を書き込み、排他
制御を解除する6 〔発明が解決しようとする問題点〕 上記の従来例では、 (1)ネットワークを経由してデータを読み書きするた
め、更新処理に多くの時間がかかる(■、■。
■) (2)排他的にメモリモジュールをアクセスするため、
データがネットワーク上にあったり第■要素プロセッサ
中で処理中であったりする場合でも該メモリモジュール
を使用することができず、並列処理が阻害される(■か
ら■) という問題点がある。
〔問題点を解決するための手段〕
上記問題点を解決するためは、他の要素プロセッサに接
続しているメモリ中のデータを再帰的に定義する処理を
、データが存在するメモリモジュールに接続している要
素プロセッサに実行させるための処理依頼メツセージを
送出する手段と、該メツセージを受は付け、その内容に
従って要素プロセッサの動作を一時停止させるとともに
依頼された処理を遂行する手段と、要素プロセッサが該
要素プロセッサに割当てられたプログラムの実行時に使
用する汎用レジスタ、浮動小数点レジスタとは別の、依
頼された処理を遂行するために供するレジスタ類とを設
けることにより達成される。
〔作用〕
該処理プログラムを実行している要素プロセッサは、再
帰的定義命令のオペランドで指定している被定義データ
が他の要素プロセッサに接続しているメモリ中に存在し
ている場合には、該データAの存在しているメモリモジ
ュールに接続している要素プロセッサに対し、処理依頼
メツセージを送る。このメツセージ中には、■該データ
A(被処理データと呼ぶ)のアドレスと、■該データと
ともに処理を受けるデータB(処理データと呼ぶ)の値
と、■処理の種類を示す処理コードとが含まれている。
処理依頼メツセージを受は取ったプロセッサは自身の処
理を中断し、代わりに被処理データAのアドレスを、依
頼された処理を実行するために本発明で用意されたレジ
スタ群中のアドレスレジスタに、処理データBの値と同
じく処理データレジスタに格納した後、アドレスレジス
タの内容を用いてメモリをアクセスする。読みだした被
処理データAはワークレジスタに格納し、処理データレ
ジスタの内容と共に演算器に入力し、処理依頼メツセー
ジ中の処理コードを用いて必要な演算を実行させ、結果
を被処理レジスタに返す6最後に、被処理レジスタの内
容をアドレスレジスタが指すメモリモジュール中のアド
レスに格納し、プロセッサに制御を返す。このように、
処理はすべて該データの存在するメモリモジュールに接
続されているプロセッサ側で行われ、ネットワークを経
由してデータをやりとりする必要はない。また、処理依
頼メツセージを受は取ったプロセッサは該処理が終了す
るまで自プロセッサまたは他プロセツサからのメモリア
クセスを受は付けることができないので、自然に排他制
御が実現し、他の要素プロセッサが誤って更新中のデー
タをアクセスする恐れは無い、また、処理依頼メツセー
ジを送ったプロセッサは、この間、別の処理を実行でき
るので、並列処理が阻害される心配は無い。
〔実施例〕
以下1本発明の実施例を図面により詳細に説明する。
まず本発明に係る情報処理装置の概要を第1図を用いて
説明する。第1図は、1台の要素プロセッサの内部を図
示したもので、他に同様の構造を持つ複数台の要素プロ
セッサが第7図に示すように相互結合ネットワーク1に
接続されているが、第1図では簡単のため省略しである
。相互結合ネットワーク1は、任意の要素プロセッサか
ら発せられるメツセージ送信要求を受け、メツセージを
指定された要素プロセッサへ転送することができる。
次に、要素プロセッサの構成を説明する。要素プロセッ
サの基本部分はフオンノイマン型計算機であり、他に相
互結合ネツ1−ワーク1を用いて通信する機能を持って
いるものとする。通常の演算命令や上記通信のための命
令などの他に、本発明を実施するために若干の命令を新
設しであるが、詳しくは後述する。各要素プロセッサ1
00は、第7図に示すようにプロセッサ101局所メモ
リ3、受信ユニット110、送信ユニット120、アド
レス変換ユニット140とから構成され、局所メモリ3
に格納されたプログラムを実行するようになっている。
要素プロセッサが実行するプログラムは、あらかじめホ
スト計算機(図示せず)が局所メモリ中に格納しておく
。第1図では回路の詳細を記述しであるが、簡単のため
、フオンノイマン型計算機としての基本構成要素である
演算器などのうち1本発明に直接関与しない部分は省略
しである。図中、3は局所メモリ、10はプロセッサで
あり、フオンノイマン型計算機としての主要部分である
612は命令レジスタであり、実行中の命令語を保持す
る。31は制御記憶であり、マイクロプログラムで書か
れている。命令レジスタ12中の命令コード部○Pはセ
レクタ42を経由して制御記憶31中のマイクロプログ
ラムのリテラル部とともに制御記憶アドレスレジスタ3
2に格納され、機械命令に対応した制御記憶のアドレス
を与える。制御記憶31内のマイクロ命令の一語が読み
だされると、それは制御記憶データレジスタ33に格納
され、デコーダ34により種々の制御信号に変換されて
要素プロセッサの動作を制御する。15はネットワーク
に送出すべきメツセージを一時的に格納する出力ボート
レジスタで。
15−1.15−2.15−3.15−4のフィールド
に分かれている。16はネットワークから送信されてき
たメツセージを格納する入力ポートレジスタで、16−
1.16−2.16−3のフィールドに分かれている。
18は受信メツセージ処理の制御回路、19は処理依頼
メツセージ送信の制御回路である。26はアドレス変換
を行なうためのゼクメントテーブルで、テーブル中の各
エントリは26−1.26−2.26−3.26−4の
フィールドに分かれている。26−1の内容は26−3
の内容とともにデコーダ45に入力され、その後処理依
頼メツセージ送信の制御回路19に送られる。29はア
ドレス加算器である。
38は演算器で、2本のバス、すなわちLBUS36と
RBUS37とから入力して、ABUS39に結果を出
力する。35は汎用および浮動小数点レジスタ群であり
、LBUS36とRBUS37とに接続している。22
は処理依頼メツセージ受信をプロセッサに通知するため
のフラグレジスタで、その内容はデコーダ34から出力
される一つの機械命令サイクル終了信号43とともにセ
レクタ42に入力される。23は処理依頼メツセージの
処理用レジスタ群で処理コードレジスタ23−1.アド
レスレジスタ23−2、演算データレジスタ23−3.
ワークレジスタ23−4から構成されている。ただし、
レジスタ23−1゜2.3は入力ボートレジスタ16−
4.2.3を当てても良い。処理コードレジスタ23−
1の内容はデコーダ44に入力された後セレクタ42に
送られる。40は制御回路19の状態レジスタ、41は
そのデコーダである。
続いて、第2図により入力ポートレジスタ16のフィー
ルドを説明する。入力ポートレジスタ16の各フィール
ドはメツセージの種類に応じて色々な意味を持つが、こ
こでは本発明に関係する処理依頼メツセージについて説
明する。入力ポートレジスタ16の第一フイールド16
−1には、依頼した処理の内容を示す処理コードが格納
される。第二フィールド16−2には被処理データのア
ドレス、第三フィールド16−3には処理データの値が
格納される。
次に、第3図により出力ポートレジスタ15のフィール
ドを説明する。入力ポートレジスタと同様、出力ポート
レジスタ15の各フィールドもメツセージの種類に応じ
て色々な意味を持つが、ここでは本発明に関係する処理
依頼メツセージについて説明する。出力ポートレジスタ
15の第一フイールド15−1には、メツセージの送信
先要素プロセッサの識別番号を格納する。残るフィール
ドには、入力ポートレジスタと同じ情報を格納する。す
なわち、15−2には処理コードを、15−3には被処
理データのアドレスを、15−4には処理データの値を
格納する。
次に本発明に係る回路の動作を第1図を用いて詳細に説
明する6以下では、要素プロセッサ1がデータAに対す
る再帰型演算A=A申Bを行なう命令 ROP  R1,R2,R3 □ここにR1はAのアドレスが、R2 はBの値が、R3は処理コードが格 納されている汎用レジスタの番号で ある を発行する場合を考える。また、Aが他の要素プロセッ
サにある場合、その要素プロセッサを要素プロセッサ2
とする。再帰型演算命令にはこの他、ROP  R1,
R3 というタイプのものが存在する。例えばAをシフトする
とかAの符号を反転する等であるが、基本的な動作は第
一のタイプのものと同じであるので、以下では第一のタ
イプに絞って説明する。
プロセッサ1の動作 再帰型演算命令がフェッチされ、命令レジスタ12に格
納されると、その命令コード部OPが制御記憶中のマイ
クロプログラムのリテラル部とともに制御記憶アドレス
レジスタ32に格納され、その内容が指す制御記憶の領
域、すなわち再帰型演算命令実行マイクロプログラムが
一語ずつ制御記憶データレジスタ33に読みだされ、デ
コーダ34により制御信号に変換される。まず初めに、
オペランドで指定された汎用レジスタR3にある再帰型
演算処理コードが外部バス2経由でレジスタ21に格納
され、また、汎用レジスタR2中のデータBがレジスタ
25に格納される。次に、外部バスに汎用レジスタR1
からアドレスが出力されてデータAの読みたしが始まる
。アドレスはセグメント番号フィールドとセグメント内
オフセットフィールドとからなり、レジスタ24にラッ
チされた後、セグメント番号フィールド24−1はセグ
メントテーブル26に入力されて物理アドレスに変換さ
れる。セグメントテーブルの各エントリを構成するフィ
ールドのうち、フィールド26−1はINVALIDフ
ィールドで、該データAを含むセグメントが自要素プロ
セッサ中に存在していれば0が、存在していなければ1
が書かれている。
フィールド26−2には該セグメントの物理アドレスが
格納されていて、レジスタ27に出力される。フィール
ド26−3には、該セグメントが他要素プロセッサ中に
存在している場合にはその要素プロセッサ識別番号が、
他要素プロセッサ中には存在していない場合には空であ
ることを示すコードが格納されていて、レジスタ30に
出力される。フィールド26−4には他要素プロセッサ
中の該セグメントの仮想アドレスが格納されていて、レ
ジスタ28に出力される1本発明では、簡単のために、
一つのセグメントに対し他要素プロセッサに存在するセ
グメントは一つとしているが、フィールド26−3と2
6−4を複数個リスト形式で保持するようにすれば、容
易に他要素プロセッサに存在するセグメントの数を増や
すことができる。フィールド26−1と26−3の内容
は、デコーダ45でデコードされた後、制御回路19に
入力されるが、その組合せにより以下のように種種の動
作が実行される。
(1) INVALID = Oかラフイールド26−
3=空の場合。
該セグメントが自要素プロセッサ中に存在し、かつ、他
要素プロセッサ中には存在しない場合である。このとき
は、制御回路19は状態レジスタ40に自プロセッサで
処理することを示すEXECUTEコードを格納し、レ
ジスタ24のセグメント内オフセットフィールド部24
−2とレジスタ27の内容(セグメント物理アドレス)
をアドレス加算器29に送る。アドレス加算器29から
は該データAの物理アドレスが出力され、自局所メモリ
3に送られて読みだしが行なわれる。一方、状態レジス
タ40の内容はデコーダ41でデコードされた後セレク
タ42に送られ、これが上記EXECUTEコードであ
る場合は、制御記憶アドレスレジスタ32にはl A 
j がセットされる。このアドレスは読みだされた被定
義データAとR2中のBの加算を行なう再帰型演算処理
マイクロプログラムの次のステップを指している。従っ
て、この再帰型演算は自要素プロセッサ内で行なわれる
(2) INVALID = 1かラフイールド26−
3=他要素プロセッサ識別番号の場合。
該セグメントが自要素プロセッサ中に存在せず、かつ、
他要素プロセッサ中には存在している場合である。この
ときは、制御回路19は状態レジスタ40に自プロセッ
サでは処理しないことを示すINVALIDコードを格
納し、レジスタ24のセグメント内オフセットフィール
ド部24−2とレジスタ28の内容(他要素プロセッサ
中のセグメント仮想アドレス)をアドレス加算器29に
送る。アドレス加算器29からは該データAの他要素プ
ロセッサ中における仮想アドレスが出力され、出力ボー
トレジスタ15のフィールド15−3に送られる。また
、データレジスタ25、レジスタ21、レジスタ30の
内容が出力ボートレジスタのフィールド15−4.15
−2.15−1に送られる。
こうして編成されたメツセージは相互結合ネットワーク
1により該データが存在する要素プロセッサに送られる
。受信側の要素プロセッサの動作については後述する。
一方、状態レジスタ40の内容がINVALIDコード
である場合は、デコーダ41から出力される信号により
セレクタ42は制御記憶アドレスレジスタ32の内容と
して′B′をセットする。これは該機械命令の命令サイ
クルの最後に実行するマイクロ命令部(フラグ22のチ
エツク、次の機械命令のフェッチ等)のアドレスを指し
ている。従って、この再帰型演算は自要素プロセッサ内
ではスキップされることになる。
(3) INVALID= 1かラフイールド26−3
=空の場合。
該セグメントが自要素プロセッサ中にも他要素プロセッ
サ中にも存在しない場合である。このときは、制御回路
19は状態レジスタ40にデータが存在しないことを示
すEMPTYコードを格納し。
アドレス変換は行なわない、状態レジスタ40の内容が
EMPTYコードである場合は、制御記憶アドレスレジ
スタ32にはエラー処理のマイクロ命令のアドレス′C
′がセットされる。
(4) INVALID = Oかつフィールド26−
3=他要素プロセッサ識別番号の場合。
該セグメントが自要素プロセッサと他要素プロセッサの
両者に存在している場合である。このときは、制御回路
19は状態レジスタ40に自プロセッサで処理すること
を示すEXECLITEコードを格納し、一方、まず(
1)と同様にレジスタ24のセグメント内オフセットフ
ィールド部24−2とレジスタ27の内容(セグメント
物理アドレス)をアドレス加算器29に送る。アドレス
加算器29からは該データAの物理アドレスが出力され
、自局所メモリに送られて読みだしが行なわれる0次に
、(2)と同様にセグメント内オフセットフィールド部
24−2とレジスタ28の内容(他要素プロセッサ中の
セグメント仮想アドレス)をアドレス加算器29に送る
。アドレス加算器29からは他要素プロセッサ中におけ
る仮想アドレスが出力され、出力ボートレジスタ15の
フィールド15−3に送られる。また、データレジスタ
25、レジスタ21、レジスタ30の内容が出力ボート
レジスタのフィールド15−4.15−2.15−1に
送られる。こうして編成されたメツセージは相互結合ネ
ットワーク1により該データが存在する要素プロセッサ
に送られる。
一方、状態レジスタ40の内容がEXECUTEコード
である場合は、(1)と同様に、読みだされたAとR2
中のBの加算に始まる再帰型演算処理のマイクロプログ
ラムが続けて実行される。
要素プロセッサ2の動作 受信側の制御回路18は処理依頼メツセージを入力ボー
トレジスタ16に受は取ると、処理コードフィールド1
6−1を入力する。その結果が再帰型演算依頼であり、
かつ、フラグレジスタ22の内容が0である場合、処理
コードを処理コードレジスタ23−1に、メツセージ中
の被演算データAのアドレスをアドレスレジスタ23−
2に。
演算データBの値を演算データレジスタ23−3に格納
するとともに、フラグレジスタ22を1として処理装置
10に割込みをかける。処理装置10のマイクロプログ
ラムは命令サイクル終了時にEND信号43を出力し、
フラグレジスタ22の内容とともにセレクタ42に送る
。フラグレジスタ22の内容により上記割込みを検出す
ると、セレクタ42は制御記憶アドレスレジスタ32に
アドレスl D I をセットし、割込み処理の動作に
移る。ただし、この場合の割込み処理、すなわち再帰型
演算の実行はすでに述べたようにマイクロプログラムレ
ベルで行なわれ、レジスタ退避等の動作は行なわない。
処理装置10はこのマイクロプログラムを実行するが、
実行中に他の要素プロセッサから二重に割り込まれるこ
とのないようにしておく。従って、処理依頼メツセージ
が指示する再帰型演算処理は排他的に行なわれる。
再帰型演算の割込み処理プログラムはアドレスレジスタ
23−2の内容を番地として局所メモリをアクセスし、
読みだしたデータ(被演算データ)Aをワークレジスタ
23−4に格納する6次にワークレジスタ23−4と演
算データレジスタ23−3の内容は、それぞれRBUS
36.LBUS37に出力され、引き続いて演算器38
に入力され、処理コードに対応した演算を施してABU
S39上に出力された結果をワークレジスタ23−4に
入れる。最後にワークレジスタ23−4の内容(計算結
果)はアドレスレジスタ23−2の内容が指す局所メモ
リ中の領域に格納され、最後にフラグレジスタ22がリ
セットされて再帰型演算の割込み処理は終了する。
次に、本発明に係る回路により、種々の場合において再
帰型演算が正しく実行されることを第4〜6図にて説明
する。
第4図は要素プロセッサ1がデータAに対する再帰型演
算A=A*Bを行なう命令を発行し、Aが他の要素プロ
セッサJにリンクしたメモリモジュール中に存在してい
る場合である。再帰型演算命令がフェッチされると、要
素プロセッサ1のマイクロプログラムは汎用レジスタ3
5のR3レジスタ中の再帰型演算の処理コードとR2レ
ジスタ中のデータBを本発明で用意したレジスタ21゜
25に格納し、外部バス2にR1レジスタ中のAのアド
レスを出力してメモリ読み出し動作に入る。
Aのアドレスのゼクメント番号フィールド24−1はセ
グメントテーブル26によりセグメントの物理アドレス
に変換されるが、このとき、該セグメントが自要素プロ
セッサ中に無い場合は、セグメントテーブル中のINV
ALIDビット=1が本発明の送信側制御回路19に入
力される。また、セグメントテーブル26に記載されて
いる該セグメントの存在する他要素プロセッサ識別番号
も制御回路19に入力される。入力された他要素プロセ
ッサ識別番号が空でないときは、制御回路19が処理依
頼メツセージを出力ボートレジスタ15に作成し、相互
結合ネットワーク1を経由して他要素プロセッサに送る
。またメモリ読み出しは中断し、自プロセッサ10に対
して制御回路の状態レジスタ4oにINVALIDコー
ドを書き込むことによりそれを通知する0通知を受けた
自プロセッサ10のマイクロプログラムは1B′番地に
分岐して該機械命令の実行を終了し1次の機械命令フェ
ッチに進む。一方、処理依頼メツセージを受信した要素
プロセッサ2の受信側制御回路18は、入力ボートレジ
スタ16の内容を本発明のレジスタファイル23に転送
した後、フラグレジスタ22によりプロセッサ10に通
知する0通知を受けたプロセッサ10では、実行中の機
械命令サイクルの最後で再帰型演算割込み処理マイクロ
プログラム(′D′番地)に分岐し、レジスタファイル
23中の情報を用いて処理を実行する。その後、次の機
械命令のフェッチを行なう。
第5図は要素プロセッサ1がデータAに対する再帰型演
算命令を発行し、Aが要素プロセッサ1自身のメモリモ
ジュール中に存在している場合である(INVALID
ビット=0であり、かつ、他要素プロセッサ識別番号が
空である場合)。この場合はセグメントテーブル26中
のセグメント物理アドレスを用いて局所メモリを読み出
し、制御回路の状態レジスタ40には自プロセッサ10
で処理することを示すEXECUTEコードが格納され
る。このコードにより、マイクロプログラムは上記メモ
リ読み出しに続く再帰型演算のステップ(’A″番地)
に進み、また、処理依頼メツセージは送信されない。
第6図は、Aが自他両要素プロセッサに存在している(
INVALIDビット=0、かつ、他要素プロセッサ識
別番号が空でない)場合である。この場合は、制御回路
19がまずセグメントテーブル26中のセグメント物理
アドレスを用いてAの物理アドレスを求め、これを局所
メモリに出力し、状態レジスタ40には自プロセッサで
処理することを示すEXECUTEコードを格納する。
このコードにより、自プロセッサ10のマイクロプログ
ラムは上記メモリアクセスに続く再帰型演算の諸ステッ
プ(1A′番地)に進む。次に、制御回路19はセグメ
ントテーブル26中の他要素プロセッサ識別番号やセグ
メントアドレスを用いて処理依頼メツセージを出力ポー
トレジスタ15に作成し、相互結合ネットワーク1を経
由して送信する。この処理依頼メツセージを受信した要
素プロセッサ2の受信側制御回路18は、第4図と同様
に入力ポートレジスタ16の内容を本発明のレジスタフ
ァイル23に転送した後、フラグレジスタ22によりプ
ロセッサ10に通知する。通知を受けたプロセッサ10
では、実行中の機械命令サイクルの最後で再帰型演算割
込み処理マイクロプログラム(1D′番地)に分岐し、
レジスタファイル23中の情報を用いて処理を実行する
。その後、次の機械命令のフェッチを行なう。
〔発明の効果〕
このように1本発明においては再帰型演算はすべて再帰
処理されるデータAの存在するプロセッサ側の演算器に
より実行され、従来のように、プログラム実行側のプロ
セッサからネットワークを経由して送信を依頼された再
帰処理対象データAを、該データを持つプロセッサが読
みだして再びネットワークを経由して該プログラムを実
行しているプロセッサ側に送って演算処理し、さらにも
う−度ネットワークを経由して結果データを送り返すと
いう手間を必要としない。このため、両方のプロセッサ
はこの処理を実行中に無駄な待ち時間を持つことが無く
、また、この待ち時間の間に他のプロセッサが再帰処理
中のデータAを読まないように排他制御域を設定する手
間も必要としない。すなわち、プログラム実行側のプロ
セッサは再帰型演算依頼メツセージをネットワークに送
りだしたらすぐに次の処理を始めることが出来、また、
再帰処理されるデータAを持つプロセッサ側では、再帰
型演算依頼メツセージを受は取ったらプロセッサの動作
を一時停止して依頼内容を割り込ませるだけの処理で済
み、レジスタの内容を退避させたり、排他制御域を設定
したりする手間は必要無く、他のプロセッサも不必要に
データアクセスを制限されることはない。
【図面の簡単な説明】
第1図は並列計算機の要素プロセッサの本発明にかかわ
る回路部分を中心に示した構成図、第2図は入力ポート
レジスタの構成図、第3図は出力ポートレジスタの構成
図である。また、第4図は他の要素プロセッサ中にある
データを再帰型演算処理する場合の動作説明図、第5図
は自要素プロセッサ中にあるデータを再帰型演算処理す
る場合の動作説明図、第6図は自他面要素プロセッサ中
にあるデータを再帰型演算処理する場合の動作説明図、
第7図はシステムの全体構成図である。 1・・・相互結合ネットワーク、2・・・外部バス、3
・・・・・・局所メモリ、10・・・プロセッサ(CP
U)。 12・・・命令レジスタ、15・・・出力ポートレジス
タ、16・・・入力ボートレジスタ、18・・・(受信
側)制御回路、19・・・(送信側)制御回路、22・
・・フラグレジスタ、23−1・・・処理コードレジス
タ、23−2・・・番地レジスタ、23−3・・・演算
データレジスタ、23−4・・・ワークレジスタ、26
・・・セグメントテーブル、31・・・制御記憶、32
・・・制御記憶アドレスレジスタ、38・・・演算器、
40・・・不 Z 国

Claims (1)

  1. 【特許請求の範囲】 1、ぞれぞれデータ保持用のメモリを有する複数の要素
    プロセッサがネットワークにより相互に交信可能に接続
    されている並列計算機において、第1の要素プロセッサ
    に接続された第1のメモリに保持された第1のデータと
    、第2の要素プロセッサに接続された第2のメモリ内の
    第2のデータを指定するアドレスと、該第1、第2のデ
    ータについて施すべき処理の種別とを含む処理要求を該
    第1の要素プロセッサから該第2の要素プロセッサに送
    出する第1の手段と、該第2の要素プロセッサに設けら
    れ、該アドレスにて応答して該第2のメモリから該第2
    のデータを読み出し、該第1のデータと該第2のデータ
    に対して該処理を施し、該処理の結果データを該第2の
    メモリに格納する第2の手段を有することを特徴とする
    処理依頼機能をもつ並列計算機。 2、該第2の手段は該第2の要素プロセッサで実行中の
    処理を中断して該処理要求で要求された処理を実行する
    手段を有することを特徴とする第1項の処理依頼機能を
    もつ並列計算機。 3、該第2の手段は、該処理結果データを該第2のメモ
    リの中の、該第2のデータが記憶されていた記憶位置に
    書込む手段を有することを特徴とする第1項の処理依頼
    機能をもつ並列計算機。 4、該第1の手段は該第1のデータおよび該アドレスを
    指定する命令に応答して該アドレスから該処理要求を送
    出すべき要求プロセッサを判別する手段を有することを
    特徴とする第1項の処理依頼機能をもつ並列計算機。
JP62289325A 1987-11-18 1987-11-18 処理依頼機能を持つ並列計算機 Expired - Lifetime JP2644780B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP62289325A JP2644780B2 (ja) 1987-11-18 1987-11-18 処理依頼機能を持つ並列計算機
US07/272,550 US5129093A (en) 1987-11-18 1988-11-17 Method and apparatus for executing an operation request signal in a loosely coupled parallel computer having processor elements capable of updating memory contents and minimizing exclusive control of sharable distributed memories

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62289325A JP2644780B2 (ja) 1987-11-18 1987-11-18 処理依頼機能を持つ並列計算機

Publications (2)

Publication Number Publication Date
JPH01131949A true JPH01131949A (ja) 1989-05-24
JP2644780B2 JP2644780B2 (ja) 1997-08-25

Family

ID=17741733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62289325A Expired - Lifetime JP2644780B2 (ja) 1987-11-18 1987-11-18 処理依頼機能を持つ並列計算機

Country Status (2)

Country Link
US (1) US5129093A (ja)
JP (1) JP2644780B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361370A (en) * 1991-10-24 1994-11-01 Intel Corporation Single-instruction multiple-data processor having dual-ported local memory architecture for simultaneous data transmission on local memory ports and global port
US6101321A (en) * 1992-04-10 2000-08-08 Eastman Kodak Company Method and apparatus for broadcasting data in a ring connected multiprocessor
JPH06274462A (ja) * 1993-03-18 1994-09-30 Fujitsu Ltd 共有メモリの非同期書込み方式
JP2938711B2 (ja) * 1993-05-10 1999-08-25 松下電器産業株式会社 並列計算機
US5666544A (en) * 1993-05-10 1997-09-09 Mita Industrial Co., Ltd. Method and system for communicating data between independent controllers
US5617537A (en) * 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
GB2284494B (en) * 1993-11-26 1998-09-09 Hitachi Ltd Distributed shared memory management system
JP3626784B2 (ja) * 1995-03-17 2005-03-09 富士通株式会社 分散メモリ型並列計算機におけるデータ更新方法およびプログラム変換装置
US5878240A (en) * 1995-05-11 1999-03-02 Lucent Technologies, Inc. System and method for providing high speed memory access in a multiprocessor, multimemory environment
JPH0981532A (ja) * 1995-09-08 1997-03-28 Fujitsu Ltd 分散記憶型並列計算機
US5924122A (en) * 1997-03-14 1999-07-13 Compaq Computer Corp. Method for error recovery spinlock in asymmetrically accessed multiprocessor shared memory
US6226680B1 (en) 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
US8621101B1 (en) 2000-09-29 2013-12-31 Alacritech, Inc. Intelligent network storage interface device
US8782199B2 (en) 1997-10-14 2014-07-15 A-Tech Llc Parsing a packet header
US6757746B2 (en) 1997-10-14 2004-06-29 Alacritech, Inc. Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
US8539112B2 (en) 1997-10-14 2013-09-17 Alacritech, Inc. TCP/IP offload device
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
EP1912124B8 (en) 1999-10-14 2013-01-09 Bluearc UK Limited Apparatus and system for implementation of service functions
US8019901B2 (en) 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
US7512635B1 (en) * 2000-12-18 2009-03-31 Bmc Software, Inc. System and method for updating information on a computer system using a limited amount of space
US7543087B2 (en) 2002-04-22 2009-06-02 Alacritech, Inc. Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device
US7302548B1 (en) * 2002-06-18 2007-11-27 Cisco Technology, Inc. System and method for communicating in a multi-processor environment
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US20050240806A1 (en) * 2004-03-30 2005-10-27 Hewlett-Packard Development Company, L.P. Diagnostic memory dump method in a redundant processor
US8248939B1 (en) 2004-10-08 2012-08-21 Alacritech, Inc. Transferring control of TCP connections between hierarchy of processing mechanisms
US20060227774A1 (en) * 2005-04-06 2006-10-12 International Business Machines Corporation Collective network routing
US20080263171A1 (en) * 2007-04-19 2008-10-23 Alacritech, Inc. Peripheral device that DMAS the same data to different locations in a computer
US8539513B1 (en) 2008-04-01 2013-09-17 Alacritech, Inc. Accelerating data transfer in a virtual computer system with tightly coupled TCP connections
US8341286B1 (en) 2008-07-31 2012-12-25 Alacritech, Inc. TCP offload send optimization
US9306793B1 (en) 2008-10-22 2016-04-05 Alacritech, Inc. TCP offload device that batches session layer headers to reduce interrupts as well as CPU copies
US10983795B2 (en) * 2019-03-27 2021-04-20 Micron Technology, Inc. Extended memory operations

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58159172A (ja) * 1982-03-17 1983-09-21 Fujitsu Ltd 多重プロセツサ

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4075691A (en) * 1975-11-06 1978-02-21 Bunker Ramo Corporation Communication control unit
US4550368A (en) * 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
US4551799A (en) * 1983-02-28 1985-11-05 Honeywell Information Systems Inc. Verification of real page numbers of stack stored prefetched instructions from instruction cache
US4644461A (en) * 1983-04-29 1987-02-17 The Regents Of The University Of California Dynamic activity-creating data-driven computer architecture
US4701848A (en) * 1984-11-19 1987-10-20 Clyde, Inc. System for effectively paralleling computer terminal devices
US4847755A (en) * 1985-10-31 1989-07-11 Mcc Development, Ltd. Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies
US4774659A (en) * 1986-04-16 1988-09-27 Astronautics Corporation Of America Computer system employing virtual memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58159172A (ja) * 1982-03-17 1983-09-21 Fujitsu Ltd 多重プロセツサ

Also Published As

Publication number Publication date
JP2644780B2 (ja) 1997-08-25
US5129093A (en) 1992-07-07

Similar Documents

Publication Publication Date Title
JP2644780B2 (ja) 処理依頼機能を持つ並列計算機
US4942519A (en) Coprocessor having a slave processor capable of checking address mapping
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
EP0087978B1 (en) Information processing unit
JP2741594B2 (ja) I/oプロセツサ用の実行装置
US5440747A (en) Data processor with control logic for storing operation mode status and associated method
EP0148478A2 (en) A data processor with control of the significant bit lenghts of general purpose registers
JPS61107434A (ja) デ−タ処理装置
US5029073A (en) Method for fast establishing a co-processor to memory linkage by main processor
JP2825906B2 (ja) 計算機システム
JP2531760B2 (ja) ベクトル処理装置
KR900004291B1 (ko) 데이터 프로세서
US4991083A (en) Method and system for extending address space for vector processing
CN115176229A (zh) 一种多核处理器、多核处理器处理方法及相关设备
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US20020099922A1 (en) Data processing apparatus including a plurality of pipeline processing mechanisms in which memory access instructions are carried out in a memory access pipeline
US6199156B1 (en) System for explicitly referencing a register for its current content when performing processor context switch
JP2690406B2 (ja) プロセッサおよびデータ処理システム
EP0301707B1 (en) Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system
CA1302580C (en) Apparatus and method for using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
CA1137641A (en) Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip
EP0915416A2 (en) System for allowing a two word instruction to be executed in a single cycle and method therefor
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
JPH0363822A (ja) 計算機制御方式