JPH0981532A - 分散記憶型並列計算機 - Google Patents

分散記憶型並列計算機

Info

Publication number
JPH0981532A
JPH0981532A JP7231737A JP23173795A JPH0981532A JP H0981532 A JPH0981532 A JP H0981532A JP 7231737 A JP7231737 A JP 7231737A JP 23173795 A JP23173795 A JP 23173795A JP H0981532 A JPH0981532 A JP H0981532A
Authority
JP
Japan
Prior art keywords
array
address
data
processor
storage device
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.)
Withdrawn
Application number
JP7231737A
Other languages
English (en)
Inventor
Yoshihiro Kusano
義博 草野
Naoki Shinjo
直樹 新庄
Masayuki Ikeda
正幸 池田
Yoshinori Sugizaki
由典 杉▲崎▼
Makoto Okada
信 岡田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP7231737A priority Critical patent/JPH0981532A/ja
Priority to US08/700,835 priority patent/US5765202A/en
Publication of JPH0981532A publication Critical patent/JPH0981532A/ja
Withdrawn 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors

Landscapes

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

Abstract

(57)【要約】 【課題】 複数のプロセッサエレメント(PE)に分割
・配置された配列データを複数のPE間で転送しながら
配列データに対する処理を行なう分散記憶型並列計算機
に関において、アドレス計算に要していた処理装置のオ
ーバヘッド時間を省略し、処理効率の向上をはかる。 【解決手段】 各PE1に、アクセス対象の配列要素を
保持しているPE1のPE番号とそのPE1内での当該
配列要素の記憶装置上アドレスとを生成する配列アドレ
ス変換装置6が付加され、配列データの配列要素に対す
るアクセス時には、処理装置4が配列アドレス変換装置
6を起動し、通信装置5が、配列アドレス変換装置6に
より生成されたPE番号をもつPE1へ、配列アドレス
変換装置6により生成された記憶装置上アドレスを付与
して当該配列要素に対するアクセス要求情報を送信する
ように構成する。

Description

【発明の詳細な説明】
【0001】(目次) 発明の属する技術分野 従来の技術(図21〜図23) 発明が解決しようとする課題 課題を解決するための手段(図1,図20) 発明の実施の形態 (a)第1実施形態の説明(図2〜図10) (b)第2実施形態の説明(図11,図20) (c)第3実施形態の説明(図12) (d)第4実施形態の説明(図13,図14) (e)第5実施形態の説明(図15,図16) (f)第6実施形態の説明(図17,図18) (g)第7実施形態の説明(図19) 発明の効果
【0002】
【発明の属する技術分野】本発明は、例えば数値計算や
画像処理等のように膨大なデータを高速に処理すべく複
数のプロセッサエレメントを並列的に動作させる並列計
算機に関し、特に、配列データを複数のプロセッサエレ
メントに分割して記憶し、これらのプロセッサエレメン
ト間で配列データの転送を行ないながら配列データに対
する処理を行なう分散記憶型並列計算機に関する。
【0003】
【従来の技術】一般に、並列計算機では、図21に示す
ように、多数のプロセッサエレメント(以下、PEと略
記する)100が通信路200を介して通信可能に接続
されており、これらのPE100間で通信路200を介
してデータ転送を行ないながら処理が実行されるように
なっている。
【0004】このような並列計算機を構成する各PE1
00は、通常、各種データを記憶する主記憶装置(M
S)101と、この主記憶装置101上のデータに対す
る処理を行なうプロセッサ(処理装置,CPU)102
と、通信路200を介して他PE100との通信を行な
うプロセッサエレメント間通信装置103とから構成さ
れている。
【0005】そして、配列データを多数のPE100に
分割して配置される分散記憶型並列計算機では、各PE
100に分割・配置された配列データを、多数のPE1
00間で転送しながら、配列データに対する処理を行な
っている。以下に、配列データの一般的な2つの分割配
置手法を説明する。ここでは、配列データを例えばA
(1:100) と表記し、この配列データA(1:100) を、PE
100としての4台のPE#0〜PE#3に分割する場
合について説明する。なお、“A”は配列データ(Arra
y)であることを示し、配列データA(1:100) は100個
の配列要素A(1),A(2),…,A(100) から構成されてい
る。
【0006】ブロック分割と呼ばれる分割配置手法で
は、図22に示すように、例えば、PE#0の主記憶装
置101に配列データA(1:25)が分割配置され、PE#
1の主記憶装置101に配列データA(26:50) が分割配
置され、PE#2の主記憶装置101に配列データA(5
1:75) が分割配置され、PE#3の主記憶装置101に
配列データA(76:100)が分割配置される。なお、図22
では、1つの配列要素の大きさが1バイトである場合が
示されている。
【0007】また、サイクリック分割と呼ばれる分割配
置手法では、図23に示すように、例えば、PE#0の
主記憶装置101に配列要素A(1),A(5),A(9),…,A
(97)が分割配置され、PE#1の主記憶装置101に配
列要素A(2),A(6),A(10),…,A(98)が分割配置さ
れ、PE#2の主記憶装置101に配列要素A(3),A
(7),A(11),…,A(99)が分割配置され、PE#3の主
記憶装置101に配列データ要素A(4),A(8),A(12),
…,A(100) が分割配置される。なお、図23でも、1
つの配列要素の大きさが1バイトである場合が示されて
いる。
【0008】分散記憶型並列計算機における上述のよう
な配列データの分割配置手法は、米国Rice大学の“HIGH
PERFORMANCE FORTRAN FORUM”発行の“High Performan
ce Fortran Language Specification ”に詳しく記述さ
れており、一般的な手法である。ところで、分散記憶型
並列計算機では、各PE100が、複数のPE100上
に分割・配置された配列データのある配列要素に対して
アクセスする場合、配列データアクセス情報と配列デー
タ分割情報とに基づいて、アクセス対象配列要素が存在
するPE100の番号(以下、PE番号という;例えば
前記#0〜#3のいずれか)と、そのPE100の主記
憶装置101上におけるアクセス対象配列要素のアドレ
ス(以下、PE内アドレスという)とを求める必要があ
る。
【0009】ここで、配列データアクセス情報は、ア
クセス対象となる配列データの識別子(以下、配列識別
子と表記)および配列データ先頭要素からアクセス対
象の配列要素までの添字オフセット(以下、添字オフセ
ットと表記)である。また、配列データ分割情報は、
配列データの1要素の大きさ(以下、要素サイズと表
記),配列データの次元数(以下、配列次元数と表
記),各次元毎の添字範囲(以下、次元iの配列添字
範囲と表記),各次元毎の分割方法(以下、次元iの
分割方法と表記),各次元毎の分割数(以下、次元i
の分割数と表記),各次元毎のPE番号の増分値(以
下、次元iのPE番号増分値と表記)および分割され
た配列データの片(分割片)のPE100の主記憶装置
101上のアドレス(以下、分割片アドレスと表記)で
ある。
【0010】そして、PE番号およびPE内アドレス
は、上述した配列データアクセス情報および配列データ
分割情報として与えられる数値を、後述するような所定
の計算式に代入することにより算出されるが、その数値
計算は、従来、プロセッサ102上においてソフトウエ
アにより行なわれている。例えば図22に示すように、
要素サイズが1バイトの要素100個からなる配列デー
タA(1:100) がPE#0からPE#3までの4つのPE
100でブロック分割されており、各分割片の各PE1
00の主記憶装置101中での先頭アドレスが1000
0であるとき、あるPE100が配列データの一つの配
列要素A(40)に対してアクセスする場合について説明す
る。
【0011】このとき、配列データアクセス情報は、 〔アクセス情報.配列識別子〕=A 〔アクセス情報.添字オフセット〕=40−1=39 となり、配列データ分割情報は、 〔分割情報.要素サイズ〕=1 〔分割情報.配列次元数〕=1 〔分割情報.次元1の配列添字範囲〕=1:100 〔分割情報.次元1の分割方法〕=ブロック 〔分割情報.次元1の分割数〕=25 〔分割情報.次元1のPE番号増分値〕=1 〔分割情報.分割片アドレス〕=10000 となる。
【0012】そして、配列要素A(40)が存在するPE1
00の番号は、下式により算出される。 〔PE番号〕 =〔添字オフセット〕/ {(〔次元1の配列添字範囲上限〕−〔次元1の配列添字範囲〕+1)/ 〔次元1の分割数〕}×〔次元1のPE番号増分値〕 =39/{(100−1+1)/4}×1 =39/25×1 =1 また、配列要素A(40)のPE内アドレスは、下式により
算出される。
【0013】 〔PE内アドレス〕 =〔添字オフセット〕% {(〔次元1の配列添字範囲上限〕−〔次元1の配列添字範囲〕+1)/ 〔次元1の分割数〕}×〔要素サイズ〕+〔分割片アドレス〕 =39%{(100−1+1)/4}×1+10000 =10014 つまり、配列要素A(40)のアドレスは、PE#1の主記
憶装置101上の、アドレス10014となる。ただ
し、上記2式の記述中において、“/”は整数除算(小
数点以下切捨て)、“%”は整数モデュロ(modulo)演算
を意味する。
【0014】なお、上述したアドレス演算は、一次元配
列に対してアクセスする場合に行なわれるものである
が、多次元配列に対するアクセスの場合にも、上記計算
を行なうことにより容易に対応することができる。ま
た、上述のアドレス計算は、配列データの一配列要素に
対してアクセスする場合に行なわれるものであるが、例
えば配列データのうちの配列要素群A(40)〜A(66)に対
して連続的にアクセスする場合には、まず最初に、各P
E100毎の先頭配列要素と、その先頭配列要素から続
くアクセス対象配列要素の個数とを計算してから、各P
E100毎の先頭配列要素について、上述と同様の一配
列要素のアドレス計算を行なう。
【0015】つまり、図22に示すブロック分割例に従
って説明すると、アクセス対象の配列要素群がA(40)〜
A(66)である場合、次の手順で各PE100の転送範囲
を計算することができる。 〔ステップ1〕配列要素A(40)について上述の計算を適
用することにより、この配列要素A(40)がPE#1のア
ドレス10014に格納されていることが分かる。
【0016】〔ステップ2〕PE#iへのアクセス個数
を次式により求める。 〔PE#iのアクセス個数〕={MIN(〔アクセス対象の
後尾添字オフセット〕,〔PE#iが保持する後尾要素
の添字オフセット〕)−〔PE#iのアクセス対象の先
頭添字〕+〔アクセスストライド〕}/〔アクセススト
ライド〕 ただし、MIN(a,b)は、aおよびbのうち小さい方の値を
抽出する関数を表している。また、“PE#iが保持す
る後尾要素”とは、PE#iに割り当てられた配列デー
タの最終要素のことであり、図22に示す例において、
PE#0ではA(25)、PE#1ではA(50)、PE#2で
はA(75)、PE#3ではA(100) のことである。
【0017】ここで、PE#1の値を用いて、上記式に
よりPE#1へのアクセス個数を計算すると、 〔PE#1へのアクセス個数〕 ={MIN(65,49)−39+1}/1 =49−39+1 =11 となる。即ち、PE#1に対しては、配列要素A(40)を
先頭として11個の要素つまり配列要素A(40)〜A(50)
にアクセスすることが求められる。
【0018】以上のように、配列要素A(40)の先頭アド
レスと、アクセスストライドと、アクセス個数とが求ま
れば、配列要素A(40)のアドレスにアクセスストライド
値を順次加算すれば、以降の配列要素A(41),A(42),
…,A(50)のアドレスを求めることができる。 〔ステップ3〕次の配列要素A(51)をアクセスの先頭要
素と見做して、上述した〔ステップ1〕および〔ステッ
プ2〕の計算を適用すれば、PE#2に対しては、この
PE#2のアドレス10000に格納されている配列要
素A(51)から16個の要素、つまり配列要素A(51)〜A
(66)にアクセスする必要があることが分かる。そして、
〔ステップ2〕において、〔アクセス対象の後尾添字オ
フセット〕←〔PE#2が保持する後尾要素の添字オフ
セット〕、即ち、65←74が成立し、全てのアクセス
対象の計算が終了したことを判定できる。
【0019】なお、以上の計算は、配列要素群A(40)〜
A(66)に対するアクセスを行なうPE100のプロセッ
サ101上でソフトウエアにより行なわれる。
【0020】
【発明が解決しようとする課題】しかしながら、従来の
分散記憶型並列計算機では、複数のPE100に分割・
配置された配列データに対してアクセスする際に、アク
セス対象配列要素について上述のようなアドレス計算を
PE100のCPU(処理装置)102上でソフトウエ
アにより行なわなければならず、そのアドレス計算処理
に多大な時間を要する。従って、分割・配置された配列
データに対するアクセスに際しては、PE100のCP
U102において大きなオーバヘッド時間がかかること
になる。
【0021】本発明は、このような課題に鑑み創案され
たもので、分割・配置された配列データに対するアクセ
ス時のアドレス計算を処理装置における処理とは独立・
並行して行なえるようにして、アドレス計算に要してい
た処理装置のオーバヘッド時間を省略し、処理効率の向
上をはかった分散記憶型並列計算機を提供することを目
的とする。
【0022】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図で、この図1において、1はプロセッサエレメン
ト(以下、PEという)、2は複数のPE1間を通信可
能に接続する通信路である。複数のPE1には配列デー
タが分割して記憶されており、複数のPE1間で通信路
2を介して配列データの転送を行ないながら配列データ
に対する処理が行なわれるようになっている。即ち、複
数のPE1と通信路2とにより分散記憶型並列計算機が
構成されている。
【0023】このような分散記憶型並列計算機を構成す
る各PE1は、記憶装置3,処理装置4,通信装置5お
よび配列アドレス変換装置6を有している。ここで、記
憶装置3は、分割された配列データを記憶するものであ
り、処理装置4は、記憶装置3上のデータに対する処理
を行なうものであり、通信装置5は、通信路2を介して
他PE1との通信を行なうものである。
【0024】また、配列アドレス変換装置6は、本発明
において新たに付加されたもので、処理装置4からの制
御命令に応じて設定される配列データ分割情報と、処理
装置4が実行する配列データアクセス命令に応じて処理
装置4が送ってくる配列データアクセス情報とに基づい
て、アクセス対象の配列要素を保持しているPE1のP
E番号と、その配列要素を保持するPE1内での当該配
列要素の記憶装置上アドレスとを生成するものである。
【0025】本発明では、配列データが複数のPE1に
対し同一幅のブロック単位に分割され、処理装置4がそ
の配列データのうちの1つの配列要素に対してアクセス
するものとし、配列アドレス変換装置6が、前記配列デ
ータ分割情報および前記配列データアクセス情報を設定
されるレジスタ群と、このレジスタ群に設定された前記
配列データ分割情報および前記配列データアクセス情報
に対して所定の四則演算処理を施すことにより当該アク
セス対象配列要素についてのPE番号および記憶装置上
アドレスを生成する演算回路とから構成されている。
【0026】ここで、前記配列データ分割情報として
は、配列データの1要素の大きさ,配列次元数,各次元
毎の配列添字範囲,各次元毎の分割方法,各次元毎の分
割数,各次元毎のPE番号増分値および分割された配列
片の記憶装置上アドレスが設定されるとともに、前記配
列データアクセス情報としては、アクセス対象となる配
列データの識別子および配列データ先頭要素からアクセ
ス対象配列要素までの添字オフセットが設定される。
【0027】そして、処理装置4が配列データの配列要
素に対するストア要求を行なう場合には、処理装置4
が、配列アドレス変換装置6により生成されたPE番号
および記憶装置上アドレスを通信装置5に直接的に通知
して通信装置5を起動し、この通信装置5が、配列アド
レス変換装置6により生成されたPE番号をもつPE1
へ、配列アドレス変換装置6により生成された記憶装置
上アドレスを付与して当該配列要素に対するストア要求
を送信する。
【0028】一方、処理装置4が配列データの配列要素
に対するロード要求を行なう場合には、処理装置4が、
配列アドレス変換装置6により生成されたPE番号およ
び記憶装置上アドレスを通信装置5に直接的に通知して
通信装置5を起動し、この通信装置5が、配列アドレス
変換装置6により生成されたPE番号をもつPE1へ、
配列アドレス変換装置6により生成された記憶装置上ア
ドレスを付与して当該配列要素に対するロード要求を送
信するとともに、当該ロード要求に応じて応答・転送さ
れてきたロードデータを処理装置4内のレジスタへ書き
込む。
【0029】さらに、通信装置5が、処理装置4とは非
同期に動作し、他PE1からのロード要求に応じて記憶
装置3内から対応したロードデータを読み出して他プロ
セッサエレメント1へ応答・転送するように構成され
る。上述した本発明の分散記憶型並列計算機では、配列
アドレス変換装置6により、配列データに対するアクセ
ス時のアドレス計算(PE番号と記憶装置上アドレスの
生成)を処理装置4における処理とは独立・並行して行
なうことができるほか、処理装置4から一命令で一配列
要素に対するアクセスを行なうことができる(請求項
1)。
【0030】また、請求項2記載の分散記憶型並列計算
機も、図1に示したものと同様に構成されているが、請
求項2記載の発明では、前記配列データが複数のPE1
に対し同一幅のブロック単位に分割され、処理装置4が
当該配列データのうちのストライド要素群、即ち一定間
隔(ストライド)を空けて並んでいる複数の配列要素に
対してアクセスするものとし、配列アドレス変換装置6
が、前記配列データ分割情報および前記配列データアク
セス情報を設定されるレジスタ群と、このレジスタ群に
設定された前記配列データ分割情報および前記配列デー
タアクセス情報に対して所定の四則演算処理を施すこと
により当該アクセス対象のストライド要素群についての
PE番号および記憶装置上アドレスを、当該アクセス対
象のストライド要素群の各配列要素毎に順次生成する演
算回路とから構成されている。
【0031】この請求項2記載の分散記憶型並列計算機
では、前記配列データ分割情報として、配列データの1
要素の大きさ,配列次元数,各次元毎の配列添字範囲,
各次元毎の分割方法,各次元毎の分割数,各次元毎のプ
ロセッサエレメント番号の増分値,分割された配列片の
記憶装置上アドレス,前記ストライド要素群のストライ
ドおよび前記ストライド要素群の要素数が設定されると
ともに、前記配列データアクセス情報として、アクセス
対象となる配列データの識別子および配列データ先頭要
素から前記ストライド要素群の先頭要素までの添字オフ
セットが設定される。
【0032】そして、処理装置4が前記配列データのス
トライド要素群に対するストア要求を行なう場合には、
処理装置4が、配列アドレス変換装置6により生成され
たPE番号および記憶装置上アドレスを通信装置5に直
接的に通知して通信装置5を起動し、この通信装置5
が、配列アドレス変換装置6により生成されたPE番号
をもつPE1へ、配列アドレス変換装置6により生成さ
れた記憶装置上アドレスを付与して当該ストライド要素
群に対するストア要求を送信する。
【0033】一方、処理装置4が前記配列データのスト
ライド要素群に対するロード要求を行なう場合には、処
理装置4が、配列アドレス変換装置6により生成された
PE番号および記憶装置上アドレスを通信装置5に直接
的に通知して通信装置5を起動し、この通信装置5が、
配列アドレス変換装置6により生成されたPE番号をも
つPE1へ、配列アドレス変換装置6により生成された
記憶装置上アドレスを付与して当該ストライド要素群に
対するロード要求を送信するとともに、当該ロード要求
に応じて応答・転送されてきたロードデータを処理装置
4内のレジスタへ書き込む。
【0034】さらに、通信装置5が、処理装置4とは非
同期に動作し、他PE1からのロード要求に応じて記憶
装置3内から対応したロードデータを読み出して他PE
1へ応答・転送するように構成されている。このような
構成により、処理装置4から一命令でストライド要素群
に対するアクセスを行なうことができる(請求項2)。
【0035】なお、上述した配列アドレス変換装置6を
構成する演算回路を、一つの2入力加減算器と、この2
入力加減算器の加算動作もしくは減算動作を切換制御す
るための制御回路と、レジスタ群に保持されたデータを
選択して2入力加減算器に入力するセレクタとから構成
してもよい。この場合、制御回路により2入力加減算器
の加算動作もしくは減算動作を切換制御するとともに、
セレクタによりレジスタ群から適当なデータを選択して
2入力加減算器に入力し、2入力加減算器による加算処
理もしくは減算処理を行なうことで、PE番号および記
憶装置上アドレスが生成される(請求項3)。
【0036】また、通信装置5に、仮想プロセッサエレ
メント番号と実プロセッサエレメント番号との対応関係
を記憶するハードウエアテーブル(例えば図20参照)
を有し配列アドレス変換装置6により生成されたPE番
号を仮想PE番号と見做して前記ハードウエアテーブル
を検索することにより仮想PE番号を実PE番号に変換
するPE番号変換装置と、他PE1から受信した記憶装
置上アドレスを記憶装置上仮想アドレスと見做し記憶装
置上仮想アドレスを自PE1内の記憶装置上実アドレス
に変換するPE内アドレス変換装置とをそなえてもよ
い。
【0037】この場合、配列アドレス変換装置6により
生成された仮想PE番号は、他PE1へ送信する際に、
通信装置5のPE番号変換装置により実PE番号に変換
される。また、他PE1から自PE1宛のアクセス要求
を受信した場合には、そのアクセス要求中に含まれる記
憶装置上仮想アドレス(他のPE1の配列アドレス変換
装置6により生成されたアドレス)が、通信装置5のP
E内アドレス変換装置により自PE1内の記憶装置上実
アドレスに変換される(請求項4)。
【0038】さらに、処理装置4が、配列アドレス変換
装置6により生成されたPE番号および記憶装置上アド
レスを、配列アドレス変換装置6から読み出し、読み出
されたPE番号および記憶装置上アドレスに基づいて通
信装置5を起動し、通信装置5による前記ストア要求ま
たは前記ロード要求の送信を制御するように構成しても
よい(請求項5)。
【0039】また、配列アドレス変換装置6に、配列ア
ドレス変換装置6により生成されたPE番号と記憶装置
上アドレスとを交換して出力する交換器をそなえてもよ
い。この場合、通常、ブロック分割に対応して配列アド
レス変換装置6から出力されているPE番号と記憶装置
上アドレスとを、交換器により交換して出力すること
で、サイクリック分割に対応したPE番号と記憶装置上
アドレスとを容易に生成することができる(請求項
6)。
【0040】一方、請求項7記載の分散記憶型並列計算
機も、請求項2記載のものと同様に構成されているが、
請求項7記載の発明では、請求項2記載の発明に加え
て、配列アドレス変換装置6が、この配列アドレス変換
装置6により生成された記憶装置上アドレスのほかにス
トライド要素群のストライドおよびストライド要素群の
要素数を含むパケット形式情報を通信装置5へ転送し、
この通信装置5が、他PE1間でパケット形式によるデ
ータ転送を行なうように構成されている。
【0041】このような構成により、処理装置4から一
命令でストライド要素群に対するアクセスを行なえる。
特に、この場合、アクセス対象のストライド要素群の各
配列要素毎に、配列アドレス変換装置6によりPE番号
および記憶装置上アドレスを生成して通信装置5による
通信処理を行なう必要はなく、PE1に対して送信され
るべきアクセス要求情報を一まとめにしてパケット形式
で送信することができる(請求項7)。
【0042】このとき、アクセス要求情報としての前記
パケット形式情報が、アクセス要求元PE1の記憶装置
3上におけるアクセス対象アドレス情報である、このア
クセス要求元PE1の記憶装置3上におけるストライド
要素群の先頭要素アドレスとストライド要素群のストラ
イドとを含み、配列アドレス変換装置6を構成するレジ
スタ群が、前記アクセス対象アドレス情報を保持するレ
ジスタを含むとともに、配列アドレス変換装置6を構成
する演算回路が、レジスタ群に保持される前記アクセス
対象アドレス情報に基づいて、記憶装置3から読み出す
べきデータもしくは記憶装置3へ書き込むべきデータ
の、アクセス要求元PE1の記憶装置上アドレスを生成
するように構成してもよい(請求項8)。
【0043】また、上述のごとくパケット形式でのデー
タ転送を行なう場合も、請求項3記載の発明と同様、配
列アドレス変換装置6を構成する演算回路を、一つの2
入力加減算器と、この2入力加減算器の加算動作もしく
は減算動作を切換制御するための制御回路と、レジスタ
群に保持されたデータを選択して2入力加減算器に入力
するセレクタとから構成してもよい。この場合、制御回
路により2入力加減算器の加算動作もしくは減算動作を
切換制御するとともに、セレクタによりレジスタ群から
適当なデータを選択して2入力加減算器に入力し、2入
力加減算器による加算処理もしくは減算処理を行なうこ
とで、PE番号および記憶装置上アドレスが生成される
(請求項9)。
【0044】さらに、上述のごとくパケット形式でのデ
ータ転送を行なう場合も、通信装置5に、請求項4記載
の発明と同様のPE番号変換装置およびPE内アドレス
変換装置をそなえてもよい。この場合も、配列アドレス
変換装置6により生成された仮想PE番号は、他PE1
へ送信する際に、通信装置5のPE番号変換装置により
実PE番号に変換される。また、他PE1から自PE1
宛のアクセス要求を受信した場合には、そのアクセス要
求中に含まれる記憶装置上仮想アドレス(他のPE1の
配列アドレス変換装置6により生成されたアドレス)
が、通信装置5のPE内アドレス変換装置により自PE
1内の記憶装置上実アドレスに変換される(請求項1
0)。
【0045】またさらに、上述のごとくパケット形式で
のデータ転送を行なう場合も、請求項5記載の発明と同
様、処理装置4が、配列アドレス変換装置6により生成
されたPE番号および記憶装置上アドレスを、配列アド
レス変換装置6から読み出し、読み出されたPE番号お
よび記憶装置上アドレスに基づいて通信装置5を起動
し、この通信装置5による前記ストア要求または前記ロ
ード要求の送信を制御するように構成してもよい(請求
項11)。
【0046】さらにまた、上述のごとくパケット形式で
のデータ転送を行なう場合、配列アドレス変換装置6
は、前記パケット形式情報を記憶装置3へ書き込み、通
信装置4は、記憶装置3から前記パケット形式情報を読
み出し、読み出した前記パケット形式情報を、他PE1
間で転送するように構成してもよい(請求項12)。な
お、配列アドレス変換装置6を構成するレジスタ群を、
演算回路によるPE番号および記憶装置上アドレスの生
成経過データを一時的に保持するレジスタとして兼用す
ることで、処理装置4は、処理開始に先立って、PE番
号および記憶装置上アドレスを生成するために必要な初
期値をレジスタ群に設定するだけで、以降は新たに初期
値設定を行なうことなく、PE番号および記憶装置上ア
ドレスの生成処理を連続的に行なうことができる(請求
項13)。
【0047】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。 (a)第1実施形態の説明 図2は本発明の第1実施形態としての分散記憶型並列計
算機におけるプロセッサエレメントの構成を示すブロッ
ク図で、この図2において、10は第1実施形態におけ
るプロセッサエレメント(以下、PEという)であり、
このPE10が、図1に示したものと同様、PE間通信
路装置(通信路)11を介して他の複数のPE10と通
信可能に接続されている。
【0048】また、以下説明する本発明の各実施形態に
おいても、複数のPE10に配列データがブロック分割
されており、複数のPE10間で通信路装置11を介し
て配列データの転送を行ないながら配列データに対する
処理が行なわれるようになっている。即ち、複数のPE
10と通信路装置11とにより、本発明の実施形態とし
ての分散記憶型並列計算機が構成されている。
【0049】そして、第1実施形態のPE10は、主記
憶装置12,プロセッサ(CPU,処理装置)13,P
E間通信装置14,配列アドレス変換装置15および自
PE番号レジスタ16を有して構成されている。ここ
で、主記憶装置12は、分割された配列データを記憶す
るものであり、プロセッサ13は、主記憶装置12上の
データに対する処理を行なうものであり、PE間通信装
置14は、通信路装置11を介して他のPE10との通
信を行なうものである。なお、プロセッサ13には、処
理に必要なデータ,ロードデータ,ストアデータ等を格
納するためのレジスタ(汎用レジスタ)13aがそなえ
られている。
【0050】また、配列アドレス変換装置15は、プロ
セッサ13からの制御命令に応じて設定される配列デー
タ分割情報と、プロセッサ13が実行する配列データア
クセス命令に応じてプロセッサ13が送ってくる配列デ
ータアクセス情報とに基づいて、アクセス対象の配列要
素を保持しているPE10のPE番号(宛て先PE番
号)と、その配列要素を保持するPE10内での当該配
列要素の主記憶アドレス(PE内主記憶アドレス)とを
後述するごとく生成するものである。
【0051】この配列アドレス変換装置15には、後述
するアドレス生成処理に必要な各種データ(配列データ
分割情報および配列データアクセス情報)を、プロセッ
サ13からソフトウエアにより設定されるレジスタ群1
5aがそなえられている。このレジスタ群15aは、配
列アドレス変換装置15の動作を指定するもので、プロ
セッサ13が特別な命令を実行するとプロセッサ13か
らデータが送られてきて、そのデータがレジスタ群15
aに書き込まれるようになっている。
【0052】また、図3に示すように、配列アドレス変
換装置15には、レジスタ群15aに設定されたデータ
に対して所定の四則演算処理を施すことによりアクセス
対象配列要素についてのPE番号およびPE内主記憶ア
ドレスを生成するアドレス生成回路(演算回路)15b
もそなえられている。なお、レジスタ群15aおよびア
ドレス生成回路15bを有する配列アドレス変換装置1
5の詳細な構成例については、図4,図6,図7,図9
にて後述する。
【0053】自PE番号レジスタ16は、プロセッサ1
3から自PE番号を設定されるもので、このレジスタ1
6に設定された自PE番号は、データ線24を介して配
列アドレス変換装置15へ送られ、配列データに対する
アクセスを行なう場合にアクセス要求元を示すPE番号
として用いられるようになっている。なお、21は主記
憶装置12とプロセッサ13とを接続する制御/データ
線で、この制御/データ線21を介してプロセッサ13
から主記憶装置12に対するアクセスが行なわれ、主記
憶装置12からのデータ読出や主記憶装置12へのデー
タ書込が行なわれるようになっている。
【0054】22はプロセッサ13と配列アドレス変換
装置15とを接続する制御/データ線で、この制御/デ
ータ線22を介して、プロセッサ13から後述するアド
レス生成処理に必要な各種データが配列アドレス変換装
置15のレジスタ群15aに設定され、プロセッサ13
による配列アドレス変換装置15の制御が行なわれる。
また、プロセッサ13と配列アドレス変換装置15との
間で、制御/データ線22を介して他PE10へのスト
アデータや他PE10からのロードデータもやり取りさ
れるようになっている。
【0055】23は配列アドレス変換装置15とPE間
通信装置14とを接続する制御/データ線で、この制御
/データ線23を介して配列アドレス変換装置15から
通信装置14へ宛先PE番号およびPE内主記憶アドレ
スが入力されると、通信装置14が、宛先PE番号をも
つPE10へ、PE内主記憶アドレスを付与してアクセ
ス要求情報を送信するようになっている。また、制御/
データ線23を介し配列アドレス変換装置15と通信装
置14との間で、他PE10へのストアデータや他PE
10からのロードデータもやり取りされるようになって
いる。
【0056】24はPE間通信装置14とPE間通信路
装置11とを接続する制御/データ線で、この制御/デ
ータ線24を介して他PE10との通信が行なわれるよ
うになっている。25は配列アドレス変換装置15と自
PE番号レジスタ16とを接続するデータ線で、このデ
ータ線25を介して、前述した通り、レジスタ16に設
定された自PE番号が配列アドレス変換装置15へ送ら
れるようになっている。
【0057】次に、上述のごとく構成された第1実施形
態の基本的な動作を、場合分けして説明する。プロセッ
サ13から主記憶装置12へのロード要求は、制御/デ
ータ線21を通じて主記憶装置12へ送られ、そのロー
ド要求に伴って主記憶装置12から読み出されたデータ
は、制御/データ線21を通じてプロセッサ13内のレ
ジスタ13aに書き込まれる。
【0058】ソフトウエアは、配列アドレス変換装置1
5の動作を規定する値(配列データアクセス情報;後
述)を、制御/データ線21を通じて配列アドレス変換
装置15内のレジスタ群15aに予め設定しておく。そ
の後、プロセッサ13が、配列アドレス変換装置15を
利用するための特別な命令を実行することにより、配列
データアクセス命令が配列アドレス変換装置15に与え
られ、この配列アドレス変換装置15が起動される。
【0059】(a1)一命令一配列要素アクセス (a1-1)自PEのプロセッサ内レジスタと自/他PE内主
記憶装置との間の配列データ転送 (a1-1-1)ストア命令 配列アドレス変換装置15を利用するストア命令をプロ
セッサ13が実行すると、プロセッサ13は、配列アド
レス変換装置15を起動する配列データアクセス命令
を、制御/データ線22を通じて発行する。同時に、プ
ロセッサ13は、プロセッサ13内のレジスタ13aか
らストアデータを読み出し、制御/データ線22を通じ
て配列アドレス変換装置15に送る。
【0060】配列データアクセス命令を受けた配列アド
レス変換装置15は、動作を開始して、配列アドレス変
換装置15内のレジスタ群15aに設定された値を用い
て宛先PE番号およびPE内主記憶アドレスを生成す
る。一命令一配列要素アクセスの場合、配列アドレス変
換装置15のレジスタ群15aには、配列データ分割情
報として、要素サイズ,配列次元数,次元iの配
列添字範囲,次元iの分割方法,次元iの分割数,
次元iのPE番号増分値および分割片アドレスが設
定されるとともに、配列データ分割情報として、配列
識別子および配列データ先頭要素からアクセス対象配
列要素までの添字オフセットが設定されている。
【0061】配列アドレス変換装置15は、生成したP
E番号およびPE内主記憶アドレスとレジスタ16から
の自PE番号とレジスタ13aからのストアデータとを
組にし、制御/データ線23を介して、ストア要求(ア
クセス要求情報)としてPE間通信装置14に送る。上
述した情報の組は、以後、それぞれ宛先PE番号,宛先
PE内主記憶アドレス,要求元PE番号,ストアデータ
としての意味をもつことになる。
【0062】そして、通信装置14による通信処理に応
じて、通信路装置11は、宛先PE番号を用いてストア
要求のルーティングを行ない、宛先PE番号をもつPE
10へ、そのストア要求を送る。なお、自PE10で発
行されたストア要求が自PE10に対するものであった
場合(生成されたPE番号と自PE番号とが等しい場
合)には、そのストア要求は、通信装置14から制御/
データ線23,配列アドレス変換装置15および制御/
データ線22を通じてプロセッサ13へ送られ、自PE
10内の主記憶装置12に対するストア処理(即ち、自
PE10内において、レジスタ13aから主記憶装置1
2へのストア処理)が行なわれる。
【0063】通信路装置11を介してストア要求を受け
取った他PE10の通信装置14はそのストア要求をプ
ロセッサ13に送り、プロセッサ13は、受け取った宛
先PE内主記憶アドレスを用いて、主記憶装置12にお
けるそのアドレスにストアデータを書き込む。この後、
他PE10における通信装置14は、ストア完了のアク
ナレジ(acknowledge)と要求元PE番号とを組にして、
通信路装置11にアクナレジ要求を送る。このアクナレ
ジ要求に含まれる情報は、以後、それぞれストア完了の
アクナレジおよび宛先PE番号としての意味をもつこと
になる。
【0064】そして、通信装置14による通信処理に応
じて、通信路装置11は、宛先PE番号を用いて、アク
ナレジ要求のルーティングを行ない、宛先PE(前記自
PE)10にアクナレジを送る。このアクナレジを受け
取った自PE10の通信装置14は、そのアクナレジを
プロセッサ13に報告し、自PE10のプロセッサ13
内のレジスタ13aから他PE10内の主記憶装置12
へのストア処理を完了する。
【0065】(a1-1-2)ロード命令 配列アドレス変換装置15を利用するロード命令をプロ
セッサ13が実行すると、プロセッサ13は、配列アド
レス変換装置15を起動する配列データアクセス命令
を、制御/データ線22を通じて発行する。配列データ
アクセス命令を受けた配列アドレス変換装置15は、動
作を開始して、配列アドレス変換装置15内のレジスタ
群15aに設定された値を用いて宛先PE番号およびP
E内主記憶アドレスを生成する。
【0066】配列アドレス変換装置15は、生成したP
E番号およびPE内主記憶アドレスとレジスタ16から
の自PE番号とを組にし、制御/データ線23を介し
て、ロード要求(アクセス要求情報)としてPE間通信
装置14に送る。上述した情報の組は、以後、それぞれ
宛先PE番号,宛先PE内主記憶アドレス,要求元PE
番号としての意味をもつことになる。
【0067】そして、通信装置14による通信処理に応
じて、通信路装置11は、宛先PE番号を用いてロード
要求のルーティングを行ない、宛先PE番号をもつPE
10へ、そのロード要求を送る。なお、自PE10で発
行されたロード要求が自PE10に対するものであった
場合(生成されたPE番号と自PE番号とが等しい場
合)には、そのロード要求は、通信装置14から制御/
データ線23,配列アドレス変換装置15および制御/
データ線22を通じてプロセッサ13へ送られ、自PE
10内の主記憶装置12に対するロード処理(即ち、自
PE10内において、主記憶装置12からレジスタ13
aへのロード処理)が行なわれる。
【0068】通信路装置11を介してロード要求を受け
取った他PE10の通信装置14はそのロード要求をプ
ロセッサ13に送り、プロセッサ13は、受け取った宛
先PE内主記憶アドレスを用いて、主記憶装置12のそ
のアドレスにおけるデータを読み出す。この後、他PE
10における通信装置14は、読み出したデータと要求
元PE番号とを組にして通信路装置11へ送る。これら
の送信情報は、以後、それぞれロードデータおよび宛先
PE番号としての意味をもつことになる。
【0069】そして、通信装置14による通信処理に応
じて、通信路装置11は、宛先PE番号を用いて、ロー
ドデータのルーティングを行ない、宛先PE(前記自P
E)10にロードデータを送る。このロードデータを受
け取った自PE10の通信装置14はそのロードデータ
をプロセッサ13に転送し、ロードデータは、プロセッ
サ13内のレジスタ13aに書き込まれる。これによ
り、他PE10内の主記憶装置12から自PE10のプ
ロセッサ13内のレジスタ13aへのロード処理を完了
する。
【0070】(a1-2)自PE主記憶装置と自/他PE内主
記憶装置との間の配列データ転送 (a1-2-1)ストア命令 配列アドレス変換装置15を利用するストア命令をプロ
セッサ13が実行すると、プロセッサ13は、配列アド
レス変換装置15を起動する配列データアクセス命令
を、制御/データ線22を通じて発行する。同時に、プ
ロセッサ13は、制御/データ線21を介して主記憶装
置12からストアデータを読み出してレジスタ13aに
書き込む。これ以後は、項目(a1-1-1)と全く同様にし
て、レジスタ13aのストアデータを、他PE10へ転
送して他PE10内の主記憶装置12へ書き込むことに
より、自PE10内の主記憶装置12から他PE10内
の主記憶装置12へのストア処理を完了する。
【0071】(a1-2-2)ロード命令 配列アドレス変換装置15を利用するロード命令をプロ
セッサ13が実行すると、プロセッサ13は、配列アド
レス変換装置15を起動する配列データアクセス命令
を、制御/データ線22を通じて発行する。これ以後
は、項目(a1-1-2)と全く同様にして、他PE10の主記
憶装置12から読み出され自PE10のプロセッサ13
内のレジスタ13aに書き込まれたロードデータを、自
PE10の主記憶装置12上の所定アドレスに書き込む
ことにより、他PE10内の主記憶装置12から自PE
10内の主記憶装置12へのロード処理を完了する。
【0072】(a2)一命令多配列要素アクセス 上述の説明では、1つの命令(配列データアクセス命
令)で1つの配列要素に対するアクセスを行なう場合に
ついて説明したが、1つの命令で多数の配列要素〔配列
要素群;例えば、ストライド要素群、即ち一定間隔(ス
トライド)を空けて並んでいる複数の配列要素〕に対す
るアクセスを行なう場合には、配列アドレス変換装置1
5のレジスタ群15aには、配列データ分割情報として
さらにストライド要素群のストライドおよびストライド
要素群の要素数が設定されるほか、配列データアクセス
情報として、配列識別子と、配列データ先頭要素か
らストライド要素群の先頭要素までの添字オフセットが
設定される。
【0073】つまり、アクセス対象の配列要素の数(ス
トライド要素群の要素数)を指定するレジスタ(図7,
図9のレジスタ15G参照)を、配列アドレス変換装置
15のレジスタ群15aに付加し、そのレジスタに設定
された要素数から、一配列要素についてのアドレス変換
を行なう度に1を減算する機能をもたせる(具体的な詳
細構成については図7,図9により後述)。
【0074】この要素数レジスタには、配列データアク
セス情報としての要素数が、処理開始時にプロセッサ1
3からソフトウエアにより設定される。そして、要素数
レジスタの値が0となるまで、上記項目(1)で説明し
たものと同じ処理動作を繰り返し行なうことにより、一
命令で多数の配列要素に対するアクセスを実行すること
ができる。
【0075】(a3)配列アドレス変換装置の詳細構成 さて、次に、本実施形態における配列アドレス変換装置
15の詳細な構成を、図4〜図9を参照しながら説明す
る。なお、図4は、一命令一配列要素アクセスのための
配列アドレス変換装置15を、除算器や乗算器を含んで
構成した場合の構成例を示すブロック図であり、図6
は、一命令一配列要素アクセスのための配列アドレス変
換装置15を加算器および減算器のみによって構成した
場合の構成例を示すブロック図である。また、図7は、
一命令多配列要素アクセスのための配列アドレス変換装
置15を、除算器や乗算器を含んで構成した場合の構成
例を示すブロック図であり、図9は、一命令多配列要素
アクセスのための配列アドレス変換装置15を加算器お
よび減算器のみによって構成した場合の構成例を示すブ
ロック図である。
【0076】(a3-1)一命令一配列要素用配列アドレス変
換装置(乗除算器を含む) 図4に示す一命令一配列要素アクセスのための配列アド
レス変換装置15は、乗算器および除算器を含んで構成
されたものであり、この図4に示す配列アドレス変換装
置15には、レジスタ群15aとして、配列データの先
頭アドレス(分割片アドレス)“BASE”を保持するレジ
スタ15Aと、アクセス対象配列要素の配列データ先頭
からのオフセット(添字オフセット)“INDEX"を保持す
るレジスタ15Bと、配列データをブロック分割した場
合の1つのPE10に割り当てられる配列データ幅(ブ
ロック単位の幅;=〔配列添字範囲〕/〔分割数〕)"W
IDTH INDEX"を保持するレジスタ15Cと、配列データ
の先頭要素を保持するPE10のPE番号“PE”を保
持するレジスタ15Dと、PE番号増分値"INC PE”を
保持するレジスタ15Eとが少なくともそなえられてい
る。
【0077】また、これらのレジスタ15A〜15Eに
保持されたデータ(配列データアクセス情報)に基づい
て演算を行なうべく、除算器31,加算器32,乗算器
33および加算器34がそなえられている。この図4に
示す配列アドレス変換装置15では、これらの除算器3
1,加算器32,乗算器33および加算器34により、
下記計算式,に基づいてPE番号およびPE内主記
憶アドレスを算出する回路が構成されている。
【0078】 〔PE番号〕=〔配列データの先頭要素を保持するPE番号〕+ (〔配列データ先頭からのオフセット〕/ 〔1PEに割り当てられる配列データ幅〕)×〔PE番号増分値〕 =“PE”+(“INDEX"/"WIDTH INDEX")דINC PE”… 〔PE内主記憶アドレス〕=〔配列データの先頭アドレス〕+ 〔配列データ先頭からのオフセット〕% 〔1PEに割り当てられる配列データ幅〕 =“BASE”+“INDEX"%"WIDTH INDEX" … つまり、除算器31は、レジスタ15Bに保持される
“INDEX"を被除数とし、レジスタ15Cに保持される"W
IDTH INDEX"を除数として、商“INDEX"/"WIDTH INDEX"
(/は整数除算)と、剰余“INDEX"%"WIDTH INDEX"
(%は整数モデュロ演算)とを算出して出力するもので
ある。加算器32は、レジスタ15Aに保持される“BA
SE”と除算器31からの剰余“INDEX"%"WIDTH INDEX"
とを加算し、上式で示されるPE内主記憶アドレスを
出力するものである。
【0079】また、乗算器33は、レジスタ15Eに保
持される"INC PE”と、除算器31からの商“INDEX"/
"WIDTH INDEX"とを乗算して出力するものであり、加算
器34は、レジスタ15Dに保持される“PE”と乗算
器33からの乗算結果(“INDEX"/"WIDTH INDEX")×
"INC PE”とを加算し、上式で示されるPE番号を出
力するものである。なお、加算器34により算出された
PE番号は、レジスタ15Dに書き込まれて保持され、
連続的にアドレス生成を行なう場合には、このレジスタ
15Dに保持されたPE番号が、次のアドレス生成時の
“PE”として用いられるようになっている。
【0080】このような回路(アドレス生成回路15
b)を用いることにより、例えば図5に示すように分割
された配列データのアドレス計算を以下のように行なう
ことができる。なお、以下に示す例では、簡単のため
に、配列データを構成する各配列要素の大きさは1バイ
ト(アドレス単位)とする。図5に示す例では、配列デ
ータを40個の配列要素A(i)(i=1〜40)から
なるものとし、この配列データが4台のPE10にブロ
ック分割されているものとする。なお、各PE10のP
E番号をそれぞれ0〜3とし、PE番号jのPE10に
ついてはPE#jとして表記する。そして、PE#0に
は配列要素群A(1:10)が、PE#1には配列要素群A(1
1:20) が、PE#2には配列要素群A(21:30) が、PE
#3には配列要素群A(31:40)が割り当てられているも
のとする。また、各PE10で、配列要素群(配列分割
片)が格納されている主記憶領域の先頭アドレスは等し
いものとし、そのアドレスを“BASE”で表示する。
【0081】このとき、配列要素A(34)にアクセスする
場合、配列データアクセス情報として、“BASE”=bas
e,“PE”=0,“INDEX"=34−1=33,"WIDTH
INDEX"=10,"INC PE”=1をレジスタ群15a
(レジスタ15A〜15E)に予め設定しておく。これ
により、その配列要素A(34)についてのPE番号および
PE内主記憶アドレスとしては、図4に示す配列アドレ
ス変換装置15によって、 〔PE番号〕=0+33/10×1=3 〔PE内主記憶アドレス〕=base+33%10=base+
3 が算出される。これらの値は配列要素A(34)のアドレス
を指し示しており、配列要素A(34)が、PE番号3のP
E10(PE#3)の主記憶装置12において、主記憶
アドレス“base+3”に存在することを示している。
【0082】(a3-2)一命令一配列要素用配列アドレス変
換装置(加減算器のみ) 図6に示す一命令一配列要素アクセスのための配列アド
レス変換装置15は、図4に示した配列アドレス変換装
置15と全く同様の機能を、加算器および減算器のみで
実現したものである。そして、レジスタ群15aとして
は、図4にて前述したものと全く同様のレジスタ15A
〜15Eがそなえられ、これらのレジスタ15A〜15
Eに保持されたデータ(配列データ分割情報および配列
データアクセス情報)に基づいて演算を行なうべく、加
算器32,34Aおよび減算器35がそなえられてい
る。
【0083】この図6に示す配列アドレス変換装置15
でも、これらの加算器32,34Aおよび減算器35に
より、上記計算式,に基づいてPE番号およびPE
内主記憶アドレスを算出する回路が構成されている。図
6に示す配列アドレス変換装置15では、図4における
除算器31に代えて減算器35がそなえられ、図4にお
ける乗算器33および加算器34に代えて加算器34A
がそなえられている。
【0084】減算器35は、レジスタ15Bに保持され
る“INDEX"を被引数とし、レジスタ15Cに保持される
"WIDTH INDEX"を引数として入力され、"WIDTH INDEX"
から“INDEX"を繰り返し減算するもので、1回減算処理
を度に“borrow”信号が加算器34Aに出力されるよう
になっている。この減算器35の動作は次のように記述
することができる。
【0085】 つまり、減算器35は、被引数≧引数が成立する期間
は、クロックサイクル毎に、被引数(tmp)=引数−被引
数なる減算処理を繰り返し行ない、引数から被引数を1
回減算できる度に“borrow”信号を加算器34Aへ出力
する。そして、減算器35は、被引数<引数となるため
に引数から被引数を減算できなく時点で減算処理を中止
している。これにより、“borrow”信号は商に対応する
回数(減算処理の繰り返し回数)だけ加算器34Aへ出
力される。また、引数から被引数を減算できなくなった
時点での被引数“tmp"が剰余として減算器35から加算
器32へ出力される。
【0086】また、加算器34Aは、減算器35から
“borrow”信号を入力される度に、レジスタ15Dに保
持される“PE”(加算器34Aの右入力)とレジスタ
15Eに保持される"INC PE”(加算器34Aの左入
力)とを加算するもので、この加算器34Aによる加算
結果は、レジスタ15Dに書き込まれて保持され、加算
器34Aによる次の加算処理のための“PE”の値とし
て用いられるようになっている。この加算器34Aの動
作は次のように記述することができる。
【0087】 つまり、加算器34Aは、減算器35からの“borrow”
信号の度に、“PE”=“PE”+"INC PE”なる加算
処理を行なうことにより、疑似的に乗算処理を行なって
いる。
【0088】従って、図6に示す配列アドレス変換装置
15では、繰り返しの最後のクロックサイクルで生成さ
れたPE番号およびPE内主記憶アドレスのみが有効な
情報であるから、繰り返しの最後のクロックサイクルに
際して得られる情報のみが、アクセス対象配列要素につ
いてのPE番号およびPE内主記憶アドレスとして出力
される。
【0089】以上のように、図6に示す配列アドレス変
換装置15は、アドレス生成に要する時間を除けば、図
4に示したものと全く同様の動作を行なう。 (a3-3)一命令多配列要素用配列アドレス変換装置(乗除
算器を含む) 図7に示す一命令多配列要素アクセスのための配列アド
レス変換装置15は、乗算器および除算器を含んで構成
されたもので、この図7に示す配列アドレス変換装置1
5には、レジスタ群15aとして、前述のレジスタ15
A〜15Eと同様に、アクセスベースアドレス(配列デ
ータの先頭アドレス,分割片アドレス)“BASE”を保持
するレジスタ15Aと、アクセス開始オフセット(アク
セス対象ストライド要素群の先頭配列要素の配列データ
先頭からの添字オフセット)“INDEX"を保持するレジス
タ15Bと、1つのPE10が保持する添字の幅(ブロ
ック単位の幅;=〔配列添字範囲〕/〔分割数〕)"WID
TH INDEX"を保持するレジスタ15Cと、アクセス開始
PE番号“PE”を保持するレジスタ15Dと、PE番
号増分値"INC PE”を保持するレジスタ15Eとが少な
くともそなえられるほか、アクセスのストライド(アク
セス対象ストライド要素群のストライド)"INC INDEX"
を保持するレジスタ15Fと、アクセスするデータの個
数(アクセス対象のストライド要素群の要素数)“LENG
TH”を保持するレジスタ15Gとが追加されている。
【0090】また、これらのレジスタ15A〜15Gに
保持されたデータ(配列データ分割情報および配列デー
タアクセス情報)に基づいて演算を行なうべく、図4と
同様の除算器31,加算器32,乗算器33および加算
器34がそなえられほか、加算器36および1減算器3
7が新たに追加されている。この図7に示す配列アドレ
ス変換装置15では、これらの除算器31,加算器3
2,乗算器33,加算器34,加算器36および1減算
器37により、下記計算式,に基づいて、アクセス
対象配列要素群についてのPE番号およびPE内主記憶
アドレスを連続的に算出する回路が構成されている。な
お、下記計算式,においては、式中のiの値が0,
1,2,3,4,…,(LENGTH −1)とクロックサイク
ル毎に順次変化する。
【0091】 〔PE番号〕=〔アクセス開始PE番号〕+ {(〔アクセス開始オフセット〕+〔アクセスのストライド〕×i)/ 〔1PEに割り当てられる配列データ幅〕}×〔PE番号増分値〕 =“PE”+(〔“INDEX"+"INC INDEX"×i〕/ "WIDTH INDEX")×"INC PE”… 〔PE内主記憶アドレス〕=〔アクセスベースアドレス〕+ (〔アクセス開始オフセット〕+〔アクセスのストライド〕×i)% 〔1PEに割り当てられる配列データ幅〕 =“BASE”+〔“INDEX"+“ INC INDEX"×i〕% “ WIDTH INDEX" … つまり、加算器36は、レジスタ15Bに保持される
“INDEX"とレジスタ15Fに保持される"INC INDEX"と
を加算するものであるが、この加算器36による加算処
理は、処理開始後の最初のクロックサイクルでは行なわ
れず、加算器36からは“INDEX"の値がそのまま出力さ
れ、2回目以降のクロックサイクルで“INDEX"と"INC
INDEX"との加算結果が加算器36から出力されるように
なっている。この加算器36からの出力は、除算器31
に被除数として入力される。
【0092】除算器31は、加算器36からの加算結果
“INDEX"+"INC INDEX"を被除数とし、レジスタ15C
に保持される"WIDTH INDEX"を除数として、商および剰
余を算出するものである。除算器31からの剰余は、ク
ロックサイクル毎にレジスタ15Bに“INDEX"として書
き込まれる。このようにレジスタ15Bの“INDEX"を更
新し、その更新値に加算器36により"INC INDEX"を加
算した値を除算器31の被除数とすることで、除算器3
1は、商(“INDEX"+"INC INDEX"×i)/"WIDTH IN
DEX"と、剰余(“INDEX"+"INC INDEX"×i)%"WIDTH
INDEX"とを算出して出力するようになっている。ただ
し、iの値は、0からクロックサイクル毎に1ずつ順次
増加する。
【0093】そして、加算器32は、レジスタ15Aに
保持される“BASE”と除算器31からの剰余(“INDEX"
+"INC INDEX"×i)%"WIDTH INDEX"とを加算し、上
式で示されるPE内主記憶アドレスをサイクルクロッ
ク毎に順次出力するものである。また、乗算器33は、
レジスタ15Eに保持される"INC PE”と、除算器31
からの商(“INDEX"+"INC INDEX"×i)/"WIDTH IN
DEX"とを乗算して出力するものであり、加算器34は、
レジスタ15Dに保持される“PE”と乗算器33から
の乗算結果〔(“INDEX"+"INC INDEX"×i)/"WIDTH
INDEX"〕×"INC PE”とを加算し、上式で示されるP
E番号を出力するものである。なお、加算器34により
算出されたPE番号は、クロックサイクル毎にレジスタ
15Dに“PE”として書き込まれて更新され、その更
新値が次のクロックサイクルで加算器34により乗算器
33からの乗算結果に加算されるようになっている。
【0094】さらに、1減算器37は、レジスタ15G
に保持されている“LENGTH”から、クロックサイクル毎
に1ずつ減算し、その減算結果を新たな“LENGTH”とし
て書込・更新を行なうもので、1だけ減算した結果が0
となった場合には、上述した除算器31,加算器32,
34,36および乗算器33によるアドレス生成処理を
停止させる信号を出力するものである。従って、図7に
示す配列アドレス変換装置15では、1減算器37によ
る減算結果が0になった時点、つまり、アクセスするデ
ータの個数に対応する回数(i=0〜LENGTH−1)だけ
アドレス生成処理を行なった時点で、アドレス生成処理
が停止されるようになっている。
【0095】このような回路(アドレス生成回路15
b)を用いることにより、例えば図8に示すように分割
された配列データのアドレス計算を以下のように行なう
ことができる。なお、ここでも、簡単のために、配列デ
ータを構成する各配列要素の大きさは1バイト(アドレ
ス単位)とする。図8に示す例では、図5に示した例と
同様、配列データを40個の配列要素A(i)(i=1
〜40)からなるものとし、この配列データが4台のP
E10にブロック分割されているものとする。なお、各
PE10のPE番号をそれぞれ0〜3とし、PE番号j
のPE10についてはPE#jとして表記する。そし
て、PE#0には配列要素群A(1:10)が、PE#1には
配列要素群A(11:20) が、PE#2には配列要素群A(2
1:30) が、PE#3には配列要素群A(31:40)が割り当
てられているものとする。また、各PE10で、配列要
素群(配列分割片)が格納されている主記憶領域の先頭
アドレスは等しいものとし、そのアドレスを“BASE”で
表示する。
【0096】このとき、アクセスパターンは、例えば次
のようなプログラムで表される。 上記アクセスパターンは、配列データA(1:40)の配列要
素A(I) のうち、I=4〜40までの間の配列要素に対
してストライド6でアクセスするというものであり、こ
の場合、配列データアクセス情報として、以下のような
値がレジスタ群15a(レジスタ15A〜15G)に設
定される。
【0097】 “BASE”=base “PE”=(4−1)/10=0 " INC PE”=1 “INDEX"=(4−1)%10=3 “ INC INDEX"=6 “WIDTH INDEX"=10 “LENGTH”=(40−4+6)/6=7 上記のような値をレジスタ群15a(レジスタ15A〜
15E)に設定することにより、図7に示す配列アドレ
ス変換装置15は、下表1のようなアドレス列を連続的
に生成し、図8に示すような配列要素群A(4) ,A(1
0),A(16),A(22),A(28),A(34),A(40)について
のPE番号およびPE内主記憶アドレスが順次特定され
ることになる。
【0098】
【表1】
【0099】(a3-4)一命令一配列要素用配列アドレス変
換装置(加減算器のみ) 図9に示す一命令多配列要素アクセスのための配列アド
レス変換装置15は、図7に示した配列アドレス変換装
置15と全く同様の機能を、加算器および減算器のみで
実現したものである。そして、レジスタ群15aとして
は、図7にて前述したものと全く同様のレジスタ15A
〜15Gがそなえられ、これらのレジスタ15A〜15
Gに保持されたデータ(配列データ分割情報および配列
データアクセス情報)に基づいて演算を行なうべく、加
算器32,34A,36,減算器35および1減算器3
7がそなえられている。
【0100】この図9に示す配列アドレス変換装置15
でも、これらの加算器32,34A,36,減算器35
および1減算器37および減算器35により、上記計算
式,に基づいてPE番号およびPE内主記憶アドレ
スを連続的に算出する回路が構成されている。そして、
加算器32,34A,36,減算器35および1減算器
37および減算器35は図6や図7にて説明したものと
同様に機能し、図6にても前述した通り、加減算を繰り
返すことにより乗算,除算,剰余算が疑似的に行なわれ
るようなっている。従って、図9に示す配列アドレス変
換装置15は、アドレス生成に要する時間を除けば、図
7に示したものと全く同様の動作を行なう。
【0101】(a4)配列アドレス変換装置の利用方法 さて、次に、第1実施形態の分散記憶型並列計算機にお
いて、上述した配列アドレス変換装置15が実際にどう
ように適用されるかをより具体的に説明する。なお、配
列データの分割配置手法やプロセッサアレイの論理形状
に関しては、前出の“High Performance Fortran Langu
age Specification ”に詳しく記述されているので、そ
の詳細な説明はここでは行なわない。
【0102】〔適用できる配列データ〕本実施形態にお
ける配列アドレス変換装置15を用いてアクセスできる
配列データは、以下の条件,を満たすものに限る。 配列データの各軸は、各PE10に分割されていても
よいし、分割されていなくもよいが、分割されている場
合には、ブロック分割されているものとする。
【0103】配列データの分割片(ブロック)が配置
されている領域の先頭アドレスは、全てのPE10で同
一でなければならない。分割する軸上の要素数が配列デ
ータを分割・配置されるPE10の数で割り切れない場
合、最もPE番号の大きいPE10以外に〔(軸上の要
素数+軸上のPE数−1)/軸上のPE数〕だけの個数
の配列要素をそれぞれ割り当て、最もPE番号の大きい
PE10には残りの配列要素を割り当てる。このとき、
最もPE番号が大きなPE10は他のPE10と同じ個
数の配列要素が割り当てられたと見做してメモリ領域を
確保する。即ち、主記憶装置12上の割り当て姿態は全
てのPE10で等しくする必要がある。
【0104】〔プロセッサアレイの論理形状(Processo
r shape)〕ここで、プロセッサ13の論理形状の次元数
も問わない。 (a4-1)一命令一配列要素アクセス 一命令一配列要素アクセスの仕方は、通常のアクセス命
令と同程度に単純であるため、その説明は省略する。
【0105】(a4-2)一命令多配列要素アクセス 〔宣言〕説明を簡単にするため、配列データの次元は3
次元、プロセッサアレイも3次元とする。3次元配列と
3次元プロセッサアレイは、“HIGH PERFORMANCE FORTR
AN”では次のように記述される。
【0106】 !HPF$ PROCESSOR PE(p(1),p(2),p(3)) REAL A(is(1):ie(1), is(2):ie(2), is(3):ie(3)) !HPF$ DISTRIBUTE A(BLOCK,BLOCK,BLOCK) ONTO PE これは3次元の配列データの宣言であるが、is(3) =ie
(3) =1と考えれば2次元の配列データの宣言に等しい
し、さらにis(2) =ie(2) =1と考えれば2次元の配列
データの宣言に等しい。
【0107】〔配列分割情報〕配列アドレス変換装置1
5内のレジスタ群15aに設定する値の計算を簡単にす
るために、ソフトウエアは配列分割情報API(Array
Partition Information)を作成する。この配列分割情報
APIは、配列宣言情報と分割宣言情報とから合成され
る情報で、その形式は下表2に示す通りである。
【0108】配列分割情報は、宣言された全ての配列デ
ータに一つずつ割り当てられる。フォートランの“EQUI
VALENCE"文を用いて2つの配列データが“alias ”され
た場合でも、配列名毎に配列分割情報が割り当てられ
る。
【0109】
【表2】
【0110】配列宣言およびプロセッサ配列の宣言が静
的に行なわれていれば、配列分割情報は、プログラムユ
ニットを通して静的となり、コンパイル時に決定するこ
とができる。配列宣言およびプロセッサ配列が静的に決
定できない場合には、親ルーチンが作成した配列分割情
報を引き継いで利用することができる。 配列アドレス変換装置15内のレジスタ群15aに設定
する値は次のような手続きで計算される。手続きを表現
する言語としては、例えばC言語を用いる。なお、下記
プログラムの記述中、カッコ〔〕内の記載はその行のプ
ログラム記述の内容を説明するためのものである。
【0111】 void set gad( int array id, 〔配列データのID。API の検索に用いられる〕 int access INDEX(1:3), 〔アクセスを開始する添字の値。各次元の値〕 int sweep dim, 〔スイープする次元〕 int stride, 〔ストライド〕 int length 〔データ個数〕 ) { int d; int a; int tmp; a= array id; d= sweep dim; tmp1 =API(a).BASE; tmp2 =0; for (i ! =1;i<=API(a).DIM; i++){ if (i > sweep dim){ tmp1 +=(access INDEX(i)-API(a).INDEX(i))% API(a). WIDTH INDEX(i)*API(a). INC INDEX(1); } tmp2 +=(access INDEX(i)-API(a).INDEX(i)/API(a). WIDTH INDEX (i)*API(a).INC PE(i); } 配列アドレス変換装置内レジスタ15A “BASE”=tmp1; 配列アドレス変換装置内レジスタ15D “PE”=tmp2; 配列アドレス変換装置内レジスタ15E "INC PE”= API(a).INC PE(d); 配列アドレス変換装置内レジスタ15B “INDEX ”= (access INDEX(d)-INDEX(d))%WIDTH INDEX(d)*INC INDEX(d); 配列アドレス変換装置内レジスタ15F "INC INDEX"= API(a).INC INDEX(d)*stride; 配列アドレス変換装置内レジスタ15C "WIDTH INDEX"= API(a).INC INDEX(d+1); 配列アドレス変換装置内レジスタ15G “LENGTH”=length; } 先に1次元配列データの例(図5,図8)を挙げたが、
ここでは2次元配列データの例について説明する。
【0112】 このときの配列イメージは、例えば図10に示すように
なっている。つまり、1次元方向の配列データは100
個の配列要素からなり、2次元方向の配列データは50
個の配列要素からなり、この2次元の配列データが、4
台のPE10(PE番号0〜3)に分割・配置されてい
る。従って、下記の通り、1次元方向の“INC PE”は
1であり、2次元方向の“INC PE”は2になってい
る。
【0113】 配列分割情報: API.BASE =base(全PE10で共通) API.INC PE(1:2) ={1, 2} API.INC INDEX(1:3) ={1, 50,1250} API.INDEX(1:2) ={1, 1} API.WIDTH INDEX(1:2) ={50,25,,,,,} API.DIM ={2} グローバルアクセス指定子(レジスタ15A〜15Gに設定される値): 配列アドレス変換装置内レジスタ15A “BASE” =base+(39-1)%25*50 =base+650; 配列アドレス変換装置内レジスタ15D “PE” =(4-1)/50*1+(39-1)/25*2=2; 配列アドレス変換装置内レジスタ15E “INC PE”=1; 配列アドレス変換装置内レジスタ15B “INDEX ”=(4-1)%50*1=3; 配列アドレス変換装置内レジスタ15F "INC INDEX"=1*29=29; 配列アドレス変換装置内レジスタ15C "WIDTH INDEX"=50; 配列アドレス変換装置内レジスタ15G “LENGTH”=(100-4+29)/29 =4; 上記のような値をレジスタ群15a(レジスタ15A〜
15G)に設定することにより、配列アドレス変換装置
15は、下表3のようなアドレス列を連続的に生成し、
図10に例1として示すような1次元方向の配列要素群
A( 4,39),A(33,39),A(62,39),A(91,39) についての
PE番号およびPE内主記憶アドレスが順次特定される
ことになる。
【0114】
【表3】
【0115】また、同様に、プログラムを、 とし、上述と同様に配列分割情報やグローバルアクセス
子を設定すれば、配列アドレス変換装置15により、図
10に例2として示すような2次元方向の配列要素群A
(75, 7),A(75,14),A(75,21),A(75,28),A(75,35),A
(75,42),A(75,49) についてのPE番号およびPE内主
記憶アドレスが順次特定されることになる。
【0116】このように、本発明の第1実施形態によれ
ば、配列データに対するアクセス時のアドレス計算を行
なうためのハードウエアとして、配列アドレス変換装置
15をプロセッサ13と別個にそなえることにより、配
列データに対するアクセス時のアドレス計算をプロセッ
サ13における処理と独立して行なうことができ、アド
レス計算に要していたプロセッサ13のオーバヘッド時
間が省略され、並列計算機としての処理効率を大幅に向
上させることができる。
【0117】特に、配列データのブロック分割を行なっ
た場合、処理装置からの一命令で一配列要素に対するア
クセスや一命令で多配列要素に対するアクセスを行なう
ことが可能であり、このようなアクセスを行なう配列ア
ドレス変換装置15のアドレス生成回路(演算回路)1
5bを加算器および減算器のみにより極めて簡素に構成
できる。
【0118】そして、配列アドレス変換装置15のレジ
スタ群15aを、PE番号およびPE内主記憶アドレス
の生成経過データを一時的に保持するレジスタ(例えば
レジスタ15B,15D)として兼用することで、配列
データアクセス情報の初期設定を一々行なうことなく、
PE番号およびPE内主記憶アドレスの生成処理を連続
的に行なえ、アドレス変換処理を効率的に行なうことも
できる。
【0119】(b)第2実施形態の説明 図11は本発明の第2実施形態としての分散記憶型並列
計算機におけるプロセッサエレメントの構成を示すブロ
ック図である。この図11に示すように、第2実施形態
の分散記憶型並列計算機におけるPE10も、図2に示
した第1実施形態のものとほぼ同様に構成されている。
【0120】PE番号およびPE内主記憶アドレスに仮
想アドレスモードのある並列計算機では、配列アドレス
変換装置15の出力をアドレス変換する必要がある。こ
の仮想アドレスモードに対応すべく、第2実施形態のP
E10では、PE間通信装置14に、PE番号変換装置
14aとPE内アドレス変換装置14bとがそなえられ
ている。
【0121】PE番号変換装置14aは、仮想PE番号
と実PE番号との対応関係を記憶する例えば図20に示
すようなハードウエアテーブルを有し、配列アドレス変
換装置15により生成されたPE番号を仮想PE番号と
見做し、前記ハードウエアテーブルを検索することによ
り仮想PE番号を実PE番号に変換するものである。つ
まり、宛先仮想PE番号は、アクセス要求元PE10内
でPE番号変換装置14aによりアドレス変換される。
なお、図20中、Mは仮想PE番号の最大値である。
【0122】また、PE内アドレス変換装置14bは、
他のPE10から受信したPE内主記憶アドレスをPE
内主記憶アドレスと見做し、そのPE内主記憶仮想アド
レスを自PE10内の主記憶実アドレスに変換するもの
である。つまり、PE内主記憶仮想アドレスは、宛先P
E10内でPE内アドレス変換装置14bにより主記憶
実アドレスに変換される。
【0123】(c)第3実施形態の説明 図12は本発明の第3実施形態としての分散記憶型並列
計算機におけるプロセッサエレメントの構成を示すブロ
ック図である。この図12に示すように、第3実施形態
の分散記憶型並列計算機におけるPE10も、図2に示
した第1実施形態のものとほぼ同様に構成されている
が、第3実施形態の分散記憶型並列計算機におけるPE
10では、配列アドレス変換装置15とPE間通信装置
14とを直接的に接続していた制御/データ線23が省
略され、この制御/データ線23に代わって、プロセッ
サ13とPE間通信装置14とが制御/データ線26を
介して接続されている。
【0124】この第3実施形態のPE10では、プロセ
ッサ13が、配列アドレス変換装置15により生成され
たPE番号およびPE内主記憶アドレスを、配列アドレ
ス変換装置15から読み出し、読み出されたPE番号お
よびPE内主記憶アドレスに基づき制御/データ線26
を介して通信装置14を起動し、通信装置14によるア
クセス要求情報の送信を制御するようになっている。
【0125】従って、第3実施形態では、PE10にお
いて、通信装置14の制御は、制御/データ線26を介
してプロセッサ13により直接的に行なわれ、制御/デ
ータ線26を介して、PE番号およびPE内主記憶アド
レスが通信装置14に通知される。また、プロセッサ1
3と通信装置14との間で、制御/データ線26を介し
て他PE10へのストアデータや他PE10からのロー
ドデータのやり取りも行なわれる。
【0126】さらに、プロセッサ13と配列アドレス変
換装置15とを接続する制御/データ線22は、配列デ
ータアクセス情報をプロセッサ13のレジスタ13aか
ら配列アドレス変換装置15のレジスタ群15aに書き
込む際と、配列アドレス変換装置15により生成された
PE番号およびPE内主記憶アドレスを配列アドレス変
換装置15からプロセッサ13に読み出す際に用いられ
る。
【0127】(d)第4実施形態の説明 図13は本発明の第4実施形態としての分散記憶型並列
計算機を構成するプロセッサエレメント内の配列アドレ
ス変換装置の構成を示すブロック図、図14(a),
(b)はいずれも第4実施形態における交換器の動作を
説明するための図である。
【0128】この図13に示すように、第4実施形態に
おけるPE10内の配列アドレス変換装置15も、図3
に示す第1実施形態のものとほぼ同様に構成されている
が、第4実施形態の配列アドレス変換装置15では、ア
ドレス生成回路15bのPE番号およびPE内主記憶ア
ドレスの出力線に、これらのPE番号とPE内主記憶ア
ドレスとを交換して出力する交換器15cがそなえられ
ている。
【0129】つまり、交換器15cは、制御/データ線
22により通知される情報に基づいて、図14(a)に
示す状態または図14(b)に示す状態のいずれか一方
に切り換えられるようになっている。ここで、図14
(a)に示す状態は、アドレス生成回路15bからのア
ドレスとPE番号とをそのままPE内主記憶アドレスお
よび宛先PE番号として出力する状態で、この状態で
は、ブロック分割の配列データに対してアクセスするた
めのアドレス生成が行なわれている。一方、図14
(b)に示す状態は、アドレス生成回路15bからのア
ドレスとPE番号とを交換しそれぞれ宛先PE番号およ
びPE内主記憶アドレスとして出力する状態で、この状
態では、サイクリック分割の配列データに対してアクセ
スするためのアドレス生成が行なわれることになる。
【0130】従って、ソフトウエアは、分割配列データ
をアクセスする命令フィールド中に配列データの分割手
法がブロック分割/サイクリック分割であるかを指定す
ることにより、もしくは、レジスタを用いてアクセス対
象の配列データがブロック分割/サイクリック分割であ
るかを指定することにより、配列アドレス変換装置15
に通知する。
【0131】そして、その通知結果に応じて配列アドレ
ス変換装置15における交換器15cの状態を図14
(a),(b)のいずれか一方に切り換えることで、配
列アドレス変換装置15は、ブロック分割された配列デ
ータについてのアドレス変換とサイクリック分割された
配列データについてのアドレス変換との両者を極めて容
易に行なうことができる。
【0132】(e)第5実施形態の説明 図15は本発明の第5実施形態としての分散記憶型並列
計算機におけるプロセッサエレメントの構成を示すブロ
ック図、図16は第5実施形態における配列アドレス変
換装置の構成を示すブロック図である。図15に示すよ
うに、第5実施形態の分散記憶型並列計算機におけるP
E10も、図2に示した第1実施形態のものとほぼ同様
に構成されているが、第5実施形態の分散記憶型並列計
算機におけるPE10では、配列アドレス変換装置15
と主記憶装置12とが制御/データ線27を介して接続
されている。この制御/データ線27は、後述するごと
く、アクセス宛先PEが自PEである場合に、配列アド
レス変換装置15と主記憶装置12との間で、主記憶装
置12に対する主記憶アドレスと主記憶装置12へのス
トアデータもしくは主記憶装置12からのロードデータ
とアクナレジとのやり取りを行なうためのものである
(図16参照)。
【0133】また、図16に示すように、第5実施形態
におけるPE10内の配列アドレス変換装置15も、図
3に示す第1実施形態のものとほぼ同様に構成されてい
るが、第5実施形態の配列アドレス変換装置15では、
レジスタ群15aおよびアドレス生成回路15bのほか
に比較器15dおよび分配器15eがそなえられてい
る。
【0134】比較器15dは、アドレス生成回路15b
により生成されたPE番号とレジスタ16からの自PE
番号とを比較するものであり、配分器15eは、比較器
15dによる比較結果に応じて制御/データ線23,2
7のいずれか一方のみをアクティブにするものである。
つまり、配分器15eは、比較器15dによる比較結果
が一致であれば制御/データ線27をアクティブに切り
換え、配列アドレス変換装置15と主記憶装置12とを
接続する一方、比較器15dによる比較結果が不一致で
あれば制御/データ線23をアクティブに切り換え、配
列アドレス変換装置15とPE間通信装置14とを接続
するようになっている。
【0135】次に、上述のごとく構成された第5実施形
態の基本的な動作について説明する。なお、比較器15
dによる比較結果が不一致で配列アドレス変換装置15
とPE間通信装置14とが制御/データ線23を介して
接続された場合の動作は、第1実施形態において説明し
た動作と全く同じであるので、比較器15dによる比較
結果が一致で配列アドレス変換装置15と主記憶装置1
2とが制御/データ線27を介して接続された場合の動
作について特に着目して説明する。また、ここでは、一
命令一配列要素アクセスの場合のみについて説明する
が、第1実施形態において前述した機能をそなえること
で、第5実施形態における配列アドレス変換装置15
も、同様に一命令多配列要素アクセスに適用されること
はいうまでもない。
【0136】(e1)ストアアクセス 配列アドレス変換装置15を利用するストア命令をプロ
セッサ13が実行すると、プロセッサ13は、配列アド
レス変換装置15を起動する配列データアクセス命令
を、制御/データ線22を通じて発行する。同時に、プ
ロセッサ13は、プロセッサ13内のレジスタ13aか
らストアデータを読み出し、制御/データ線22を通じ
て配列アドレス変換装置15に送る。
【0137】配列データアクセス命令を受けた配列アド
レス変換装置15は、動作を開始して、配列アドレス変
換装置15内のレジスタ群15aに設定された値を用い
て宛先PE番号およびPE内主記憶アドレスを生成す
る。配列アドレス変換装置15は、生成したPE番号と
レジスタ16からの自PE番号とを比較器15dにより
比較して一致を検出すると、生成したPE内主記憶アド
レスとレジスタ13aからのストアデータとを組にし、
配分器15eから制御/データ線27を通じて主記憶装
置12に書込要求を送る。
【0138】そして、配列アドレス変換装置15が、制
御/データ線27を通じて主記憶装置12から書込完了
のアクナレジを受け取ると、プロセッサ13にアクナレ
ジを報告する。比較器15dによる比較結果が不一致で
あった場合には、第1実施形態で前述した例と全く同様
にして、他PE10内の主記憶装置12に対するストア
アクセスが行なわれる。
【0139】(e1)ロードアクセス 配列アドレス変換装置15を利用するロード命令をプロ
セッサ13が実行すると、プロセッサ13は、配列アド
レス変換装置15を起動する配列データアクセス命令
を、制御/データ線22を通じて発行する。配列データ
アクセス命令を受けた配列アドレス変換装置15は、動
作を開始して、配列アドレス変換装置15内のレジスタ
群15aに設定された値を用いて宛先PE番号およびP
E内主記憶アドレスを生成する。
【0140】配列アドレス変換装置15は、生成したP
E番号とレジスタ16からの自PE番号とを比較器15
dにより比較して一致を検出すると、生成したPE内主
記憶アドレスを用い、配分器15eから制御/データ線
27を通じて主記憶装置12に読み出し要求を送る。そ
して、配列アドレス変換装置15が制御/データ線27
を通じて主記憶装置12から読み出したロードデータ
は、プロセッサ13に送られ、このプロセッサ13内の
レジスタ13aに書き込まれる。
【0141】比較器15dによる比較結果が不一致であ
った場合には、第1実施形態で前述した例と全く同様に
して、他PE10内の主記憶装置12に対するロードア
クセスが行なわれる。第1実施形態では、宛先PEが自
PEであるか否かはPE間通信装置14において判断さ
れ、宛先PEが自PEである場合には、そのアクセス要
求が配列アドレス変換装置15を経由しプロセッサ13
に戻されてから、そのアクセス要求に応じた処理が行な
われているが、本発明の第5実施形態では、配列アドレ
ス変換装置15内の比較器15dによりアクセス宛先P
Eが自PEであるか否かが判断され、宛先PEが自PE
である場合には、そのアクセス要求が、配列アドレス変
換装置15から直接的に自PE10内の主記憶装置12
に送られるので、自PE宛のアクセスを効率良く行なう
ことができる。
【0142】(f)第6実施形態の説明 図17は本発明の第6実施形態としての分散記憶型並列
計算機におけるプロセッサエレメントの構成を示すブロ
ック図、図18は第6実施形態における配列アドレス変
換装置の詳細構成を示すブロック図である。図17に示
すように、第6実施形態の分散記憶型並列計算機におけ
るPE10も、図2に示した第1実施形態のものとほぼ
同様に構成され、さらに、第6実施形態の分散記憶型並
列計算機における配列アドレス変換装置15′も前述し
た配列アドレス変換装置15とほぼ同様の機能を有する
ものである。
【0143】この第6実施形態における配列アドレス変
換装置15′は、図18にて後述するごとく構成されて
おり、レジスタ群15aに設定された配列データ分割情
報および配列データアクセス情報に対して所定の四則演
算処理を施すことによりアクセス対象であるストライド
要素群についてのPE番号およびPE内主記憶アドレス
を生成するアドレス生成回路(演算回路;詳細構成は図
18に図示)としての機能を有している。
【0144】さらに、第6実施形態では、アクセス要求
情報(ストア要求,ロード要求)が、アクセス要求元P
E10の主記憶装置12上におけるアクセス対象アドレ
ス情報を含み、配列アドレス変換装置15′内のレジス
タ群15aが、アクセス対象アドレス情報(後述する
“TBA", “TSTRD")を保持するレジスタ(図18のレジ
スタ40H,40I参照)を含んでいる。そして、配列
アドレス変換装置15を構成する演算回路(アドレス生
成回路)は、レジスタ群15aに保持される各種情報に
基づいて、主記憶装置12から読み出すべきデータもし
くは主記憶装置12へ書き込むべきデータの、アクセス
要求元PE10での主記憶アドレスを生成する機能も有
している。
【0145】そして、配列アドレス変換装置15′を有
する第6実施形態のPE10は、少なくとも配列アドレ
ス変換装置15′により生成されたPE番号およびPE
内主記憶アドレスのほかに配列要素間ストライドおよび
ストライド要素群の要素数を含むパケット形式情報を、
アクセス要求情報(ストア要求もしくはロード要求)と
して、PE間通信装置14により送信するようになって
いる。
【0146】このため、第6実施形態では、配列アドレ
ス変換装置15′と主記憶装置12とが制御/データ線
28を介して接続されている。配列アドレス変換装置1
5′により生成されたPE番号およびPE内主記憶アド
レスや配列要素間ストライドおよびストライド要素群の
要素数など、アクセス要求情報として必要なデータを含
むパケット(パケット形式情報)が、配列アドレス変換
装置15′から制御/データ線28を通じて主記憶装置
12に転送されて書き込まれて、主記憶装置12上で生
成されるようになっている。
【0147】また、PE間通信装置14は、第3実施形
態で説明したものと同様にプロセッサ13から制御/デ
ータ線26を介して制御されるほか、制御/データ線2
9を介して主記憶装置12に接続されている。PE間通
信装置14は、プロセッサ13により起動されると、主
記憶装置12上から制御/データ線29を通じてアクセ
ス要求情報(ストア要求,ロード要求)を読み出し、他
PE10へのパケット送信処理を行なう。制御/データ
線29は、PE間通信装置14と主記憶装置12との間
で、他PE10へのストアデータを主記憶装置12から
通信装置14へ読み出したり、他PE10からのロード
データを通信装置14から主記憶装置12へ書き込むた
めにも用いられる。
【0148】さて、第6実施形態における配列アドレス
変換装置15′では、図18に示すように、レジスタ群
15aとしてレジスタ40A〜40N,40Pがそなえ
られている。レジスタ群15のうちレジスタ40A〜4
0Gは、前記レジスタ15A〜15Gとほぼ同様に、そ
れぞれ、アクセスベースアドレス(配列片アドレス)
“BA”,アクセス開始オフセット(添字オフセット)
“OFST" ,ブロック単位の幅“WIDTH",アクセス開始P
E番号“PE”,PE番号増分値"INC PE”,アクセスの
ストライド“STRD”,アクセスするデータの個数(アク
セス対象のストライド要素群の要素数)“VL(Vector Le
ngth) ”を保持するものである。
【0149】また、レジスタ40Hは、自PE(アクセ
ス要求元PE)10内の主記憶装置12でのアクセス対
象データ(ストアデータまたはロードデータ)を格納す
べき領域のベースアドレス“TBA(Transfer buffer Base
Address)"をアクセス対象アドレス情報として保持する
ものであり、レジスタ40Iは、自PE(アクセス要求
元PE)10内の主記憶装置12でのアクセス対象デー
タ(ストアデータまたはロードデータ)の格納間隔を示
すストライド“TSTRD"をアクセス対象アドレス情報とし
て保持するものである。
【0150】レジスタ40Jは、配列アドレス変換装置
15′での処理過程に生成されるデータ“TMP"を一時的
に保持するものであり、レジスタ40Kは、減算(除
算)処理時に用いられるシフト回路44A,44Bのシ
フト量“i”を保持するものである。レジスタ40L〜
40N,40Qは、いずれも配列アドレス変換装置1
5′により生成されたデータをアクセス要求情報として
保持するもので、レジスタ40Lは、通信先PE番号
“PE TMP"を保持し、レジスタ40Mは、通信先PE内
主記憶アドレス“OFST TMP"を保持し、レジスタ40N
は、アクセス要求元主記憶アドレス"TBA TMP"を保持
し、レジスタ40Qは、本アクセスで取り扱われる要素
数“PEVL”を保持するものである。
【0151】そして、第6実施形態の配列アドレス変換
装置15′には、レジスタ40A〜40N,40Pから
なるレジスタ群15aのほかに、2入力加減算器41,
制御回路42,セレクタ43A〜43G,シフト回路4
4A,44B,0判定回路45,0未満判定回路46,
ORゲート47からなるアドレス生成回路(演算回路)
がそなえられている。
【0152】ここで、2入力加減算器41は、セレクタ
43A,43Bによりそれぞれ選択された2つのデータ
に対して加算処理もしくは減算処理を施すものであり、
制御回路42は、2入力加減算器41からの“carry"信
号,“borrow”信号や、0判定回路45,0未満判定回
路46からの判定結果に基づいて、2入力加減算器42
の加算動作もしくは減算動作を切換制御するほか、セレ
クタ43A〜43Gの切換動作を適宜制御するためのも
のである。
【0153】セレクタ43Aは、レジスタ40A,40
J,40D,40H,40B,40Gに保持されるデー
タのいずれか一つを選択して2入力加減算器42の一方
の入力端子へ出力するものであり、セレクタ43Bは、
レジスタ40B,40C,40E,40Qに保持される
データもしくはシフト回路44Aからの出力のいずれか
一つを選択して2入力加減算器42の他方の入力端子へ
出力するものである。
【0154】セレクタ43Cは、レジスタ40のデータ
もしくは2入力加減算器42からの出力のいずれか一方
を選択し、データ“TMP"としてレジスタ40Jに書き込
むものであり、セレクタ43Dは、レジスタ40Jのデ
ータもしくは2入力加減算器42からの出力のいずれか
一方を選択し、データ“OFST”としてレジスタ40Bに
書き込むものである。
【0155】また、セレクタ43Eは、レジスタ40F
または40Iに保持されるデータのいずれか一方を選択
しシフト回路44Aへ出力するものであり、セレクタ4
3Fは、レジスタ40Kのデータと“0”とのいずれか
一方を選択してシフト量としてシフト回路44Aに与え
るものであり、セレクタ43Gは、2入力加減算器41
からの出力とORゲート47からの出力とのいずれか一
方を選択し、データ“PEVL”としてレジスタ40Qに書
き込むものである。
【0156】さらに、0判定回路45は、レジスタ40
Gに保持されるデータ“VL”が0になったか否かを判定
するものであり、0未満判定回路46は、レジスタ40
Gに保持されるデータ“VL”が0未満になったか否かを
判定するものであり、ORゲート47は、シフト回路4
4Bからの出力と2入力加減算演算器からの出力との論
理和を算出して出力するものである。
【0157】上述のごとく構成される配列アドレス変換
装置15′では、制御回路42により、2入力加減算器
41の加算動作もしくは減算動作やセレクタ43A〜4
3Gの選択動作を切換制御し、セレクタ43A,43B
により適当なデータを選択して2入力加減算器42に入
力し、2入力加減算器42による加算処理もしくは減算
処理を行なうことで、時分割で、PE番号“PE TMP",
PE内主記憶アドレス“OFST TMP",アクセス要求元P
E内主記憶アドレス"TBA TMP"等が算出されるようにな
っている。
【0158】このような配列アドレス変換装置15′に
おける制御回路42の動作を、ステートマシン形式+C
言語形式で表現すると次のようになる。このステートマ
シンは、前述した通り、アクセス要求元PE内主記憶ア
ドレスも同時に生成するものである。 S0:if (vl>0) goto S1 goto S0 S1:ofst tmp = ba + ofst; pe tmp = pe; pevl = 0; tba tmp = tba; i = 7; goto S2; S2:tmp = ofst + (strd << i); goto S3; S3:if (tmp <= width) then pevl = pevl | (1 << i); ofst = tmp; goto S4; endif if (i > 0) then i = i - 1; goto S3; endif goto S5; S4:tba = tba + (tstrd << 1); if (i > 0) then i = i - 1; goto S3; endif goto S5; S5:ofst = ofst + strd; goto S6; S6:ofst = ofst - width; if (ofst >= 0) goto S7; goto S8; S7:pe = pe +inc pe; goto S6; S8:ofst = ofst + width goto S9; S9:pevl = pevl + 1; goto S10; S10:vl = vl - pevl; if (vl < 0) goto S11; goto S12; S11:pevl = pevl + vl; goto S12; S12:tba = tba + tstrd; goto S13; S13:store packet (pe tmp,ofst tmp, strd, pevl, tba tmp, tstrd) goto S0; 以上の動作により、アクセス要求元PE10からは、通
信先PE番号“pe tmp",通信先PE内主記憶アドレス
“ofst tmp",通信先PE内アクセスストライド“str
d”,要素数“pevl”,アクセス要求元PE内主記憶ア
ドレス"tba tmp",アクセス要求元PE内アクセススト
ライド“tstrd"が、アクセス要求情報としてパケット化
されて、通信先PE10へ送信される。
【0159】そして、このようなアクセス要求情報は、
以下のような転送処理を引き起こすことになる。 (f1)リード動作の場合(ロードアクセス) i=0〜(pevl-1) について、通信先PE番号“pe tm
p"で指し示されるPE10内の主記憶装置12から、ア
ドレス=〔“ofst tmp ”+“strd”×i〕におけるデ
ータが読み出され、その読出データが、アクセス要求元
PE10内の主記憶装置12における、アドレス=〔"t
ba tmp"+“tstrd"×i〕の領域に書き込まれる。
【0160】(f2)ライト動作の場合(ストアアクセ
ス) i=0〜(pevl-1) について、アクセス要求元PE10
内の主記憶装置12から、アドレス=〔"tba tmp"+
“tstrd"×i〕におけるデータが読み出され、その読出
データが、通信先PE番号“pe tmp”で指し示されるP
E10内の主記憶装置12における、アドレス=〔“of
st tmp”+“strd”×i〕の領域に書き込まれる。
【0161】このように、本発明の第6実施形態によれ
ば、プロセッサ13から一命令で多配列要素に対するア
クセスを行なう場合、アクセス対象配列要素群の各配列
要素毎に、配列アドレス変換装置15′によりPE番号
およびPE内主記憶アドレスを生成して通信装置14に
よる通信処理を行なう必要はなく、通信先PE10に対
して送信されるべきアクセス要求情報を一まとめにして
パケット形式で送信することができる。
【0162】なお、この第6実施形態の並列計算機がP
E番号およびPE内主記憶アドレスに仮想アドレスモー
ドをもつ場合、前述した第2実施形態と同様、配列アド
レス変換装置15の出力をアドレス変換する必要があ
り、この仮想アドレスモードに対応すべく、PE間通信
装置14に、PE番号変換装置14aとPE内アドレス
変換装置14bとをそなえる。
【0163】(g)第7実施形態の説明 図19は本発明の第7実施形態としての分散記憶型並列
計算機におけるプロセッサエレメントの構成を示すブロ
ック図であり、この図19に示すように、第7実施形態
の分散記憶型並列計算機におけるPE10も、図17に
示した第6実施形態のものとほぼ同様に構成されている
が、第7実施形態の分散記憶型並列計算機におけるPE
10では、プロセッサ13とPE間通信装置14とを接
続していた制御/データ線26と、配列アドレス変換装
置15′と主記憶装置12とを接続していた制御/デー
タ線28とが省略され、これに代わって、配列アドレス
変換装置15′とPE間通信装置14とが制御/データ
線23Aを介して接続されている。
【0164】第6実施形態では、配列アドレス変換装置
15′で生成されたアクセス要求情報は主記憶装置12
に書き込まれてパケット化されていたが、この第7実施
形態のPE10では、アクセス要求情報は、配列アドレ
ス変換装置15′から制御/データ線23Aを通じてP
E間通信装置14に直接的に書き込まれてパケット化さ
れている。従って、通信装置14は、配列アドレス変換
装置15′からのアクセス要求情報に基づいて、通信装
置14が、制御/データ線29を介して主記憶装置12
からのデータ読出もしくは主記憶装置12へのデータ書
込を直接的に行なっている。
【0165】
【発明の効果】以上詳述したように、本発明の分散記憶
型並列計算機(請求項1〜13)によれば、配列データ
に対するアクセス時のアドレス計算を行なうためのハー
ドウエア(配列アドレス変換装置)を処理装置と別個に
そなえるという構成により、配列データに対するアクセ
ス時のアドレス計算を処理装置における処理とは独立し
て行なうことができ、アドレス計算に要していた処理装
置のオーバヘッド時間が省略され、処理効率を大幅に向
上させることができる。
【0166】特に、配列データのブロック分割を行なっ
た場合、処理装置からの一命令で一配列要素に対するア
クセスや一命令でストライド要素群に対するアクセスを
行なうことが可能であり、配列アドレス変換装置の演算
回路を一つの2入力加減算器により極めて簡素に構成し
ながら、所望のアドレス変換を行なうことができる(請
求項1〜3)。
【0167】また、通信装置上にPE番号変換装置やP
E内アドレス変換装置をそなえることにより、仮想PE
番号を実PE番号に、記憶装置上仮想アドレスを自PE
内の記憶装置上実アドレスに変換することができる(請
求項4)。さらに、配列アドレス変換装置により生成さ
れたPE番号および記憶装置上アドレスに基づいて、処
理装置により通信装置を起動することによっても、通信
装置によるストア要求やロード要求の送信を制御して他
PEに対する通信処理を行なうこともできる(請求項
5)。
【0168】また、交換器により、配列アドレス変換装
置からのPE番号と記憶装置上アドレスとを交換して出
力することで、ブロック分割とサイクリック分割とに対
応したアドレス変換を極めて容易に行なえる効果もある
(請求項6)。一方、配列データのブロック分割を行な
った場合、PEに対して送信されるべきアクセス要求情
報を一まとめにしてパケット形式で送信し、一命令でス
トライド要素群に対するアクセスを行なうことができる
(請求項7)。
【0169】このとき、アクセス要求元PEの記憶装置
上におけるアクセス対象アドレス情報をストア要求やロ
ード要求とともに転送することで、配列アドレス変換装
置の演算回路により、記憶装置から読み出すべきデータ
や記憶装置へ書き込むべきデータの、アクセス要求元P
Eの記憶装置上アドレスを生成させながら、記憶装置に
対するアクセスを迅速に行なうこともできる(請求項
8)。
【0170】また、パケット形式による送信を行なう場
合も、配列アドレス変換装置の演算回路を一つの2入力
加減算器により極めて簡素に構成しながら、所望のアド
レス変換を行なうことができる(請求項9)。さらに、
パケット形式でのデータ転送を行なう場合も、通信装置
上にPE番号変換装置やPE内アドレス変換装置をそな
えることにより、仮想PE番号を実PE番号に、記憶装
置上仮想アドレスを自PE内の記憶装置上実アドレスに
変換することができる(請求項10)。
【0171】またさらに、パケット形式でのデータ転送
を行なう場合も、配列アドレス変換装置により生成され
たPE番号および記憶装置上アドレスに基づいて、処理
装置により通信装置を起動することで、通信装置による
ストア要求やロード要求の送信を制御して他PEに対す
る通信処理を行なうことができる(請求項11)。さら
にまた、パケット形式でのデータ転送を行なう場合、配
列アドレス変換装置によりパケット形式情報を記憶装置
へ書き込み、通信装置が、記憶装置からパケット形式情
報を読み出して他PE間で送信することもできる(請求
項12)。
【0172】そして、配列アドレス変換装置のレジスタ
群を、PE番号および記憶装置上アドレスの生成経過デ
ータを一時的に保持するレジスタとして兼用すること
で、PE番号および記憶装置上アドレスの生成処理を連
続的に行なえ、アドレス変換処理を効率的に行なえる効
果もある(請求項13)。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明の第1実施形態としての分散記憶型並列
計算機におけるプロセッサエレメントの構成を示すブロ
ック図である。
【図3】第1実施形態における配列アドレス変換装置の
構成を示すブロック図である。
【図4】第1実施形態における配列アドレス変換装置の
詳細構成を示すブロック図である。
【図5】第1実施形態により一命令一配列要素アクセス
を行なう場合の動作(配列要素)を説明するための図で
ある。
【図6】第1実施形態における配列アドレス変換装置の
変形例の詳細構成を示すブロック図である。
【図7】第1実施形態における配列アドレス変換装置の
変形例の詳細構成を示すブロック図である。
【図8】第1実施形態により一命令多配列要素アクセス
を行なう場合の動作(配列要素)を説明するための図で
ある。
【図9】第1実施形態における配列アドレス変換装置の
変形例の詳細構成を示すブロック図である。
【図10】第1実施形態を2次元配列に適用した場合の
動作(配列要素)を説明するための図である。
【図11】本発明の第2実施形態としての分散記憶型並
列計算機におけるプロセッサエレメントの構成を示すブ
ロック図である。
【図12】本発明の第3実施形態としての分散記憶型並
列計算機におけるプロセッサエレメントの構成を示すブ
ロック図である。
【図13】本発明の第4実施形態としての分散記憶型並
列計算機を構成するプロセッサエレメント内の配列アド
レス変換装置の構成を示すブロック図である。
【図14】(a),(b)はいずれも第4実施形態にお
ける交換器の動作を説明するための図である。
【図15】本発明の第5実施形態としての分散記憶型並
列計算機におけるプロセッサエレメントの構成を示すブ
ロック図である。
【図16】第5実施形態における配列アドレス変換装置
の構成を示すブロック図である。
【図17】本発明の第6実施形態としての分散記憶型並
列計算機におけるプロセッサエレメントの構成を示すブ
ロック図である。
【図18】第6実施形態における配列アドレス変換装置
の詳細構成を示すブロック図である。
【図19】本発明の第7実施形態としての分散記憶型並
列計算機におけるプロセッサエレメントの構成を示すブ
ロック図である。
【図20】本発明のPE番号変換装置にそなえられるハ
ードウエアテーブル(仮想PE番号から実PE番号への
変換テーブル)の一例を示す図である。
【図21】一般的な並列計算機の構成を示すブロック図
である。
【図22】一般的なブロック分割の例を説明するための
図である。
【図23】一般的なサイクリック分割の例を説明するた
めの図である。
【符号の説明】
1 プロセッサエレメント(PE) 2 通信路 3 記憶装置 4 処理装置 5 通信装置 6 配列アドレス装置 10 プロセッサエレメント(PE) 11 プロセッサエレメント間通信路装置(通信路) 12 主記憶装置 13 プロセッサ(処理装置) 13a レジスタ 14 プロセッサエレメント間通信装置 14a プロセッサエレメント番号変換装置 14b プロセッサエレメント内アドレス変換装置 15,15′ 配列アドレス変換装置 15a レジスタ群 15b アドレス生成回路 15c 交換器 15d 比較器 15e 分配器 15A〜15G レジスタ 16 自PE番号レジスタ 21,22,23,23A,25〜29 制御/データ
線 24 データ線 31 除算器 32,34,34A,36 加算器 33 乗算器 35 減算器 37 1減算器 40A〜40N,40P レジスタ 41 2入力加減算器 42 制御回路 43A〜43G セレクタ 44A,44B シフト回路 45 0判定回路 46 0未満判定回路 47 ORゲート
───────────────────────────────────────────────────── フロントページの続き (72)発明者 池田 正幸 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 杉▲崎▼ 由典 静岡県静岡市伝馬町16番地の3 株式会社 富士通静岡エンジニアリング内 (72)発明者 岡田 信 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサエレメントと該複数の
    プロセッサエレメント間を通信可能に接続する通信路と
    をそなえ、配列データを該複数のプロセッサエレメント
    に分割して記憶し、該複数のプロセッサエレメント間で
    該通信路を介して前記配列データの転送を行ないながら
    前記配列データに対する処理を行なう分散記憶型並列計
    算機において、 各プロセッサエレメントが、 分割された前記配列データを記憶する記憶装置と、 該記憶装置上のデータに対する処理を行なう処理装置
    と、 該通信路を介して他プロセッサエレメントとの通信を行
    なう通信装置と、 該処理装置からの制御命令に応じて設定される配列デー
    タ分割情報と、該処理装置が実行する配列データアクセ
    ス命令に応じて該処理装置が送ってくる配列データアク
    セス情報とに基づいて、アクセス対象の配列要素を保持
    しているプロセッサエレメントの番号と、当該配列要素
    を保持するプロセッサエレメント内での当該配列要素の
    記憶装置上アドレスとを生成する配列アドレス変換装置
    とをそなえて構成され、 前記配列データが該複数のプロセッサエレメントに対し
    同一幅のブロック単位に分割され、該処理装置が当該配
    列データのうちの1つの配列要素に対してアクセスする
    場合には、 該配列アドレス変換装置が、 前記配列データ分割情報として、配列データの1要素の
    大きさ,配列次元数,各次元毎の配列添字範囲,各次元
    毎の分割方法,各次元毎の分割数,各次元毎のプロセッ
    サエレメント番号の増分値および分割された配列片の記
    憶装置上アドレスを設定されるとともに、前記配列デー
    タアクセス情報として、アクセス対象となる配列データ
    の識別子および配列データ先頭要素からアクセス対象配
    列要素までの添字オフセットを設定されるレジスタ群
    と、 該レジスタ群に設定された前記配列データ分割情報およ
    び前記配列データアクセス情報に対して所定の四則演算
    処理を施すことにより、当該アクセス対象配列要素につ
    いてのプロセッサエレメント番号および記憶装置上アド
    レスを生成する演算回路とから構成され、 該処理装置が前記配列データの配列要素に対するストア
    要求を行なう場合には、該処理装置が、該配列アドレス
    変換装置により生成されたプロセッサエレメント番号お
    よび記憶装置上アドレスを該通信装置に直接的に通知し
    て該通信装置を起動し、該通信装置が、該配列アドレス
    変換装置により生成されたプロセッサエレメント番号を
    もつプロセッサエレメントへ、該配列アドレス変換装置
    により生成された記憶装置上アドレスを付与して当該配
    列要素に対するストア要求を送信する一方、 該処理装置が前記配列データの配列要素に対するロード
    要求を行なう場合には、該処理装置が、該配列アドレス
    変換装置により生成されたプロセッサエレメント番号お
    よび記憶装置上アドレスを該通信装置に直接的に通知し
    て該通信装置を起動し、該通信装置が、該配列アドレス
    変換装置により生成されたプロセッサエレメント番号を
    もつプロセッサエレメントへ、該配列アドレス変換装置
    により生成された記憶装置上アドレスを付与して当該配
    列要素に対するロード要求を送信するとともに、当該ロ
    ード要求に応じて応答・転送されてきたロードデータを
    該処理装置内のレジスタへ書き込み、 さらに、該通信装置が、該処理装置とは非同期に動作
    し、他プロセッサエレメントからのロード要求に応じて
    該記憶装置内から対応したロードデータを読み出して該
    他プロセッサエレメントへ応答・転送することを特徴と
    する、分散記憶型並列計算機。
  2. 【請求項2】 複数のプロセッサエレメントと該複数の
    プロセッサエレメント間を通信可能に接続する通信路と
    をそなえ、配列データを該複数のプロセッサエレメント
    に分割して記憶し、該複数のプロセッサエレメント間で
    該通信路を介して前記配列データの転送を行ないながら
    前記配列データに対する処理を行なう分散記憶型並列計
    算機において、 各プロセッサエレメントが、 分割された前記配列データを記憶する記憶装置と、 該記憶装置上のデータに対する処理を行なう処理装置
    と、 該通信路を介して他プロセッサエレメントとの通信を行
    なう通信装置と、 該処理装置からの制御命令に応じて設定される配列デー
    タ分割情報と、該処理装置が実行する配列データアクセ
    ス命令に応じて該処理装置が送ってくる配列データアク
    セス情報とに基づいて、アクセス対象の配列要素を保持
    しているプロセッサエレメントの番号と、当該配列要素
    を保持するプロセッサエレメント内での当該配列要素の
    記憶装置上アドレスとを生成する配列アドレス変換装置
    とをそなえて構成され、 前記配列データが該複数のプロセッサエレメントに対し
    同一幅のブロック単位に分割され、該処理装置が当該配
    列データのうちのストライド要素群、即ち一定間隔を空
    けて並んでいる複数の配列要素に対してアクセスする場
    合には、 該配列アドレス変換装置が、 前記配列データ分割情報として、配列データの1要素の
    大きさ,配列次元数,各次元毎の配列添字範囲,各次元
    毎の分割方法,各次元毎の分割数,各次元毎のプロセッ
    サエレメント番号の増分値,分割された配列片の記憶装
    置上アドレス,前記ストライド要素群のストライドおよ
    び前記ストライド要素群の要素数を設定されるととも
    に、前記配列データアクセス情報として、アクセス対象
    となる配列データの識別子および配列データ先頭要素か
    ら前記ストライド要素群の先頭要素までの添字オフセッ
    トを設定されるレジスタ群と、 該レジスタ群に設定された前記配列データ分割情報およ
    び前記配列データアクセス情報に対して所定の四則演算
    処理を施すことにより、当該アクセス対象のストライド
    要素群についてのプロセッサエレメント番号および記憶
    装置上アドレスを、当該アクセス対象のストライド要素
    群の各配列要素毎に順次生成する演算回路とから構成さ
    れ、 該処理装置が前記配列データのストライド要素群に対す
    るストア要求を行なう場合には、該処理装置が、該配列
    アドレス変換装置により生成されたプロセッサエレメン
    ト番号および記憶装置上アドレスを該通信装置に直接的
    に通知して該通信装置を起動し、該通信装置が、該配列
    アドレス変換装置により生成されたプロセッサエレメン
    ト番号をもつプロセッサエレメントへ、該配列アドレス
    変換装置により生成された記憶装置上アドレスを付与し
    て当該ストライド要素群に対するストア要求を送信する
    一方、 該処理装置が前記配列データのストライド要素群に対す
    るロード要求を行なう場合には、該処理装置が、該配列
    アドレス変換装置により生成されたプロセッサエレメン
    ト番号および記憶装置上アドレスを該通信装置に直接的
    に通知して該通信装置を起動し、該通信装置が、該配列
    アドレス変換装置により生成されたプロセッサエレメン
    ト番号をもつプロセッサエレメントへ、該配列アドレス
    変換装置により生成された記憶装置上アドレスを付与し
    て当該ストライド要素群に対するロード要求を送信する
    とともに、当該ロード要求に応じて応答・転送されてき
    たロードデータを該処理装置内のレジスタへ書き込み、 さらに、該通信装置が、該処理装置とは非同期に動作
    し、他プロセッサエレメントからのロード要求に応じて
    該記憶装置内から対応したロードデータを読み出して該
    他プロセッサエレメントへ応答・転送することを特徴と
    する、分散記憶型並列計算機。
  3. 【請求項3】 該配列アドレス変換装置を構成する該演
    算回路が、一つの2入力加減算器と、該2入力加減算器
    の加算動作もしくは減算動作を切換制御するための制御
    回路と、該レジスタ群に保持されたデータを選択して該
    2入力加減算器に入力するセレクタとから構成されてい
    ることを特徴とする、請求項1または請求項2に記載の
    分散記憶型並列計算機。
  4. 【請求項4】 仮想プロセッサエレメント番号と実プロ
    セッサエレメント番号との対応関係を記憶するハードウ
    エアテーブルを有し、該配列アドレス変換装置により生
    成されたプロセッサエレメント番号を仮想プロセッサエ
    レメント番号と見做して、前記ハードウエアテーブルを
    検索することにより該仮想プロセッサエレメント番号を
    実プロセッサエレメント番号に変換するプロセッサエレ
    メント番号変換装置と、 他プロセッサエレメントから受信した記憶装置上アドレ
    スを記憶装置上仮想アドレスと見做して、該記憶装置上
    仮想アドレスを自プロセッサエレメント内の記憶装置上
    実アドレスに変換するプロセッサエレメント内アドレス
    変換装置とが該通信装置にそなえられていることを特徴
    とする、請求項1または請求項2に記載の分散記憶型並
    列計算機。
  5. 【請求項5】 該処理装置が、該配列アドレス変換装置
    により生成されたプロセッサエレメント番号および記憶
    装置上アドレスを、該配列アドレス変換装置から読み出
    し、読み出されたプロセッサエレメント番号および記憶
    装置上アドレスに基づいて該通信装置を起動し、該通信
    装置による前記ストア要求または前記ロード要求の送信
    を制御することを特徴とする、請求項1または請求項2
    に記載の分散記憶型並列計算機。
  6. 【請求項6】 該配列アドレス変換装置に、該配列アド
    レス変換装置により生成されたプロセッサエレメント番
    号と記憶装置上アドレスとを交換して出力する交換器が
    そなえられたことを特徴とする、請求項1または請求項
    2に記載の記載の分散記憶型並列計算機。
  7. 【請求項7】 複数のプロセッサエレメントと該複数の
    プロセッサエレメント間を通信可能に接続する通信路と
    をそなえ、配列データを該複数のプロセッサエレメント
    に分割して記憶し、該複数のプロセッサエレメント間で
    該通信路を介して前記配列データの転送を行ないながら
    前記配列データに対する処理を行なう分散記憶型並列計
    算機において、 各プロセッサエレメントが、 分割された前記配列データを記憶する記憶装置と、 該記憶装置上のデータに対する処理を行なう処理装置
    と、 該通信路を介して他プロセッサエレメントとの通信を行
    なう通信装置と、 該処理装置からの制御命令に応じて設定される配列デー
    タ分割情報と、該処理装置が実行する配列データアクセ
    ス命令に応じて該処理装置が送ってくる配列データアク
    セス情報とに基づいて、アクセス対象の配列要素を保持
    しているプロセッサエレメントの番号と、当該配列要素
    を保持するプロセッサエレメント内での当該配列要素の
    記憶装置上アドレスとを生成する配列アドレス変換装置
    とをそなえて構成され、 前記配列データが該複数のプロセッサエレメントに対し
    同一幅のブロック単位に分割され、該処理装置が当該配
    列データのうちのストライド要素群、即ち一定間隔を空
    けて並んでいる複数の配列要素に対してアクセスする場
    合には、 該配列アドレス変換装置が、 前記配列データ分割情報として、配列データの1要素の
    大きさ,配列次元数,各次元毎の配列添字範囲,各次元
    毎の分割方法,各次元毎の分割数,各次元毎のプロセッ
    サエレメント番号の増分値,分割された配列片の記憶装
    置上アドレス,前記ストライド要素群のストライドおよ
    び前記ストライド要素群の要素数を設定されるととも
    に、前記配列データアクセス情報として、アクセス対象
    となる配列データの識別子および配列データ先頭要素か
    ら前記ストライド要素群の先頭要素までの添字オフセッ
    トを設定されるレジスタ群と、 該レジスタ群に設定された前記配列データ分割情報およ
    び前記配列データアクセス情報に対して所定の四則演算
    処理を施すことにより、当該アクセス対象のストライド
    要素群についてのプロセッサエレメント番号および記憶
    装置上アドレスを、当該アクセス対象のストライド要素
    群の各配列要素毎に順次生成する演算回路とから構成さ
    れ、 該処理装置が前記配列データのストライド要素群に対す
    るストア要求を行なう場合には、該処理装置が、該配列
    アドレス変換装置により生成されたプロセッサエレメン
    ト番号および記憶装置上アドレスを該通信装置に直接的
    に通知して該通信装置を起動し、該通信装置が、該配列
    アドレス変換装置により生成されたプロセッサエレメン
    ト番号をもつプロセッサエレメントへ、該配列アドレス
    変換装置により生成された記憶装置上アドレスを付与し
    て当該ストライド要素群に対するストア要求を送信する
    一方、 該処理装置が前記配列データのストライド要素群に対す
    るロード要求を行なう場合には、該処理装置が、該配列
    アドレス変換装置により生成されたプロセッサエレメン
    ト番号および記憶装置上アドレスを該通信装置に直接的
    に通知して該通信装置を起動し、該通信装置が、該配列
    アドレス変換装置により生成されたプロセッサエレメン
    ト番号をもつプロセッサエレメントへ、該配列アドレス
    変換装置により生成された記憶装置上アドレスを付与し
    て当該ストライド要素群に対するロード要求を送信する
    とともに、当該ロード要求に応じて応答・転送されてき
    たロードデータを該処理装置内のレジスタへ書き込み、 さらに、該配列アドレス変換装置が、該配列アドレス変
    換装置により生成された記憶装置上アドレスのほかに前
    記ストライド要素群のストライドおよび前記ストライド
    要素群の要素数を含むパケット形式情報を該通信装置へ
    転送し、 該通信装置が、他プロセッサエレメント間でパケット形
    式でのデータ転送を行なうとともに、該処理装置とは非
    同期に動作し、他プロセッサエレメントからのロード要
    求に応じて該記憶装置内から対応したロードデータを読
    み出して該他プロセッサエレメントへ応答・転送するこ
    とを特徴とする、分散記憶型並列計算機。
  8. 【請求項8】 アクセス要求情報としての前記パケット
    形式情報が、アクセス要求元プロセッサエレメントの該
    記憶装置上におけるアクセス対象アドレス情報である、
    該アクセス要求元プロセッサエレメントの記憶装置上に
    おける前記ストライド要素群の先頭要素アドレスと前記
    ストライド要素群のストライドとを含み、 該配列アドレス変換装置を構成する該レジスタ群が、前
    記アクセス対象アドレス情報を保持するレジスタを含む
    とともに、 該配列アドレス変換装置を構成する該演算回路が、該レ
    ジスタ群に保持される前記アクセス対象アドレス情報に
    基づいて、該記憶装置から読み出すべきデータもしくは
    該記憶装置へ書き込むべきデータの、アクセス要求元プ
    ロセッサエレメントの記憶装置上アドレスを生成するこ
    とを特徴とする、請求項7記載の分散記憶型並列計算
    機。
  9. 【請求項9】 該配列アドレス変換装置を構成する該演
    算回路が、一つの2入力加減算器と、該2入力加減算器
    の加算動作もしくは減算動作を切換制御するための制御
    回路と、該レジスタ群に保持されたデータを選択して該
    2入力加減算器に入力するセレクタとから構成されてい
    ることを特徴とする、請求項7または請求項8に記載の
    分散記憶型並列計算機。
  10. 【請求項10】 仮想プロセッサエレメント番号と実プ
    ロセッサエレメント番号との対応関係を記憶するハード
    ウエアテーブルを有し、該配列アドレス変換装置により
    生成されたプロセッサエレメント番号を仮想プロセッサ
    エレメント番号と見做して、前記ハードウエアテーブル
    を検索することにより該仮想プロセッサエレメント番号
    を実プロセッサエレメント番号に変換するプロセッサエ
    レメント番号変換装置と、 他プロセッサエレメントから受信した記憶装置上アドレ
    スを記憶装置上仮想アドレスと見做して、該記憶装置上
    仮想アドレスを自プロセッサエレメント内の記憶装置上
    実アドレスに変換するプロセッサエレメント内アドレス
    変換装置とが該通信装置にそなえられていることを特徴
    とする、請求項7または請求項8に記載の分散記憶型並
    列計算機。
  11. 【請求項11】 該処理装置が、該配列アドレス変換装
    置により生成されたプロセッサエレメント番号および記
    憶装置上アドレスを、該配列アドレス変換装置から読み
    出し、読み出されたプロセッサエレメント番号および記
    憶装置上アドレスに基づいて該通信装置を起動し、該通
    信装置による前記ストア要求または前記ロード要求の送
    信を制御することを特徴とする、請求項7または請求項
    8に記載の分散記憶型並列計算機。
  12. 【請求項12】 該配列アドレス変換装置は、前記パケ
    ット形式情報を該記憶装置へ書き込み、 該通信装置は、該記憶装置から前記パケット形式情報を
    読み出し、読み出した前記パケット形式情報を、他プロ
    セッサエレメント間で転送することを特徴とする、請求
    項8記載の分散記憶型並列計算機。
  13. 【請求項13】 該配列アドレス変換装置を構成する該
    レジスタ群が、該演算回路によるプロセッサエレメント
    番号および記憶装置上アドレスの生成経過データを一時
    的に保持するレジスタとして兼用されることを特徴とす
    る、請求項1〜請求項12のいずれかに記載の分散記憶
    型並列計算機。
JP7231737A 1995-09-08 1995-09-08 分散記憶型並列計算機 Withdrawn JPH0981532A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP7231737A JPH0981532A (ja) 1995-09-08 1995-09-08 分散記憶型並列計算機
US08/700,835 US5765202A (en) 1995-09-08 1996-08-21 Parallel computer of a distributed storage type

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7231737A JPH0981532A (ja) 1995-09-08 1995-09-08 分散記憶型並列計算機

Publications (1)

Publication Number Publication Date
JPH0981532A true JPH0981532A (ja) 1997-03-28

Family

ID=16928254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7231737A Withdrawn JPH0981532A (ja) 1995-09-08 1995-09-08 分散記憶型並列計算機

Country Status (2)

Country Link
US (1) US5765202A (ja)
JP (1) JPH0981532A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017010319A (ja) * 2015-06-23 2017-01-12 富士通株式会社 演算処理装置、情報処理装置、および情報処理装置の制御方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272486B1 (en) * 1998-04-16 2001-08-07 International Business Machines Corporation Determining the optimal number of tasks for building a database index
GB2393269B (en) * 2002-09-18 2006-01-11 Thales Plc Method and apparatus for data distribution
US7593026B2 (en) * 2005-05-11 2009-09-22 L-3 Communications Corporation Dynamic display optimization method and system with image motion
US8560503B1 (en) * 2006-01-26 2013-10-15 Netapp, Inc. Content addressable storage system
JP5680466B2 (ja) 2011-03-29 2015-03-04 三菱重工業株式会社 並列処理システム及び並列処理システムの動作方法
US9304843B2 (en) * 2011-11-01 2016-04-05 Cleversafe, Inc. Highly secure method for accessing a dispersed storage network

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5725069A (en) * 1980-07-21 1982-02-09 Hitachi Ltd Vector data processing equipment
JPS62262158A (ja) * 1986-05-08 1987-11-14 Toshiba Corp メモリ管理方式
US4951193A (en) * 1986-09-05 1990-08-21 Hitachi, Ltd. Parallel computer with distributed shared memories and distributed task activating circuits
JPS6386061A (ja) * 1986-09-30 1988-04-16 Hitachi Ltd マルチプロセツサのメモリ割付方法
EP0269995B1 (en) * 1986-11-27 1993-06-23 Nippon Telegraph And Telephone Corporation Parallel data processing apparatus and method
US5297255A (en) * 1987-07-28 1994-03-22 Hitachi, Ltd. Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
JP2644780B2 (ja) * 1987-11-18 1997-08-25 株式会社日立製作所 処理依頼機能を持つ並列計算機
JPH01180052A (ja) * 1988-01-11 1989-07-18 Nec Corp アドレス生成回路
JPH02226419A (ja) * 1989-02-28 1990-09-10 Sharp Corp データ配列変換制御方式
JPH03104087A (ja) * 1989-09-18 1991-05-01 Nec Corp 演算機能付きメモリ
JP2875448B2 (ja) * 1993-03-17 1999-03-31 松下電器産業株式会社 データ転送装置及びマルチプロセッサシステム
JP2938711B2 (ja) * 1993-05-10 1999-08-25 松下電器産業株式会社 並列計算機

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017010319A (ja) * 2015-06-23 2017-01-12 富士通株式会社 演算処理装置、情報処理装置、および情報処理装置の制御方法

Also Published As

Publication number Publication date
US5765202A (en) 1998-06-09

Similar Documents

Publication Publication Date Title
US7793073B2 (en) Method and apparatus for indirectly addressed vector load-add-store across multi-processors
Mills et al. Toward performance-portable PETSc for GPU-based exascale systems
US5056000A (en) Synchronized parallel processing with shared memory
US5404562A (en) Massively parallel processor including queue-based message delivery system
KR970008527B1 (ko) 고급 인스트럭션 처리 장치 및 방법
US6507809B1 (en) Method and system for simulating performance of a computer system
JP2021120849A (ja) データ処理方法、装置、及び関連製品
JPH0981532A (ja) 分散記憶型並列計算機
Palmer et al. Connection Machine model CM-5 system overview
US20180024865A1 (en) Parallel processing apparatus and node-to-node communication method
US20210255866A1 (en) Acceleration unit, system-on-chip, server, data center, and related method
Wang et al. FP-AMR: A Reconfigurable Fabric Framework for Adaptive Mesh Refinement Applications
Sidje Alternatives for parallel Krylov subspace basis computation
CN116774968A (zh) 具有一组线程束的高效矩阵乘法和加法
JPH07271744A (ja) 並列計算機
CN116802605A (zh) 用于根据触发条件执行指令的电路和方法
JPH08161281A (ja) アドレス生成装置および方法
JP2020140284A (ja) ベクトル演算処理装置、ベクトル演算処理装置による配列変数初期化方法、及び、ベクトル演算処理装置による配列変数初期化プログラム
Ulm et al. Simulating PRAM with a MSIMD model (ASC)
Koziris et al. A pipelined schedule to minimize completion time for loop tiling with computation and communication overlapping
Saad et al. pARMS: A package for solving general sparse linear systems on parallel computers
Annexstein Embedding hypercubes and related networks into mesh-connected processor arrays
JP2831049B2 (ja) マスタスレーブ型マルチプロセッサシステム
Dowling et al. HARP: An open architecture for parallel matrix and signal processing
Schomberg A transputer-based shuffle-shift machine for image processing and reconstruction

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20021203