JPH02148188A - データフロープロセッサのメモリアクセス制御方式 - Google Patents

データフロープロセッサのメモリアクセス制御方式

Info

Publication number
JPH02148188A
JPH02148188A JP63302047A JP30204788A JPH02148188A JP H02148188 A JPH02148188 A JP H02148188A JP 63302047 A JP63302047 A JP 63302047A JP 30204788 A JP30204788 A JP 30204788A JP H02148188 A JPH02148188 A JP H02148188A
Authority
JP
Japan
Prior art keywords
memory
data
access
packet
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP63302047A
Other languages
English (en)
Inventor
Shigeki Yamada
茂樹 山田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP63302047A priority Critical patent/JPH02148188A/ja
Publication of JPH02148188A publication Critical patent/JPH02148188A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、分散メモリを備えたデータフロープロセッサ
のメモリアクセス制御方式に関し、特に多数のデータフ
ロープロセッサからなる大規模システムに適用する場合
に有効なメモリアクセス制御方式に関するものである。
〔従来の技術〕
データフロープロセッサは、例えば、「日経エレクトロ
ニクスj 1979年5月28日号のρρ、64〜81
゛コンピュータ措造を変革するデータフローコンピユー
タの動向(上)′に記載されているように、データのフ
ロー、つまり被処理データの準備状況に応じて、処理シ
ーケンスを制御するものである。
すなわち、データフロープロセッサは、従来のフォノ・
ノイマン型プロセッサとは異なって、プログラムカウン
タを具備することなく、′演算対象であるオペランドが
全て使用可能となった時点で、その命令が実行可能とな
る″ というデータ駆動の規則に従い命令が実行される
データフロープロセッサにおいては、単一のデータ値(
これをスカラデータと呼ぶ)以外に、配列などの複数の
データの集合体であるデータ(これを構造体データと呼
ぶ)をも扱えることが要求される。このためには1通常
、構造体データをメモリの連続番地に記憶させておき、
配列の先頭アドレスポインタで全体を代表させて、こ才
りを命令のオペランドとして使用し、必要な時点でこの
ポインタの指示を元にして構造体データの全部ないし一
部を取り出す方法を用いている。この場合、情報の更新
を伴うデータベース情報等の保持のためにも、メモリが
必要となる。
このように、データフロープロセッサでは、読み出しお
よび書き込みが可能なメモリを備えることが必要となる
〔発明が解決しようとする課題〕
従来の読み書き可能なメモリを備えたデータフローシス
テムは、第2図に示ずような構成である。
第2図では、4個のプロセシングエレメント(PE)2
0〜23と1個のデータメモリ24とPE間間通絡路2
5ら構成されており、どのPEからでも共通にデータメ
モリ24をアクセスできるように、データメモリバス2
6を介して全てのPE20〜23とデータメモリ24と
が接続されている。
しかしながら、このような構成では、PEの数が多くな
ると、データメモリ24へのトラヒックが増加し、メモ
リアクセス待ち時間が急激に増加して性能の飽和が生じ
てしまうという問題があった。従って、このような構成
を用いて大規模なデータフローシステムを構築すること
は、本質的に問題がある。
本発明の目的は、このような従来の課題を解決し、メモ
リアクセストラヒックの集中化によるシステム性能低下
を避けることができ、任意のPEからメモリを自由にア
クセスできるような高速で柔軟なデータフロープロセッ
サのメモリアクセス制御方式を提供することにある。
〔課題を解決するための手段〕
上記目的を達成するため、本発明によるデータフロープ
ロセッサのメモリアクセス方式は、1個ないし複数個の
プロセシングエレメントと1個のメモリからなるプロセ
ッサグループを複数グループ備えたデータフロープロセ
ッサにおいて、各プロセッサニレメン1〜がメモリアク
セス命令を実行する場合、自プロセッサグル−プのメモ
リへのアクセスか、他プロセッサグループのメモリへの
アクセスかを判定し、自プロセッサグループのメモリへ
のアクセスであれば、該メモリに直接アクセスして、読
み出しアクセスであれば読み出したデータを、また書き
込みアクセスであれば書き込み完了を示すデータを、そ
れぞれ指定された転送先に転送し、他プロセッサグルー
プのメモリへのアクセスであれば、上記メモリアクセス
命令を複数のオペランドパケットに分解し、該オペラン
ドバケツ1へを宛先のメモリが屈するプロセシンググル
ープのプロセシングエレメントに転送し、該複数のオペ
ランドパケットを受信したプロセシングエレメントでは
、該オペランドパケットを再びメモリアクセス命令に組
立てた後、自プロセッサグループのメモリへのアクセス
と同じ方法でメモリアクセスを行い、指定された転送先
に結果のデータを返送することに特徴がある。
〔作  用〕
本発明においては、メモリアクセス要求が1箇所に集中
しないように、メモリをシステム内に分散配匝して構成
し、自PEから直接、メモリアクセスができない場合に
は、命令を複数のバケツ1〜に分解して直接アクセス可
能なPEに送り出し。
受信したPEはこれを受は継いでメモリアクセスを行い
、その結果を指定されたPEに返送することにより、代
理アクセスが可能となる。これにより、メモリアクセス
トラヒック県中化によるシステム性能の低下がなくなる
。また、他PEへのメモリアクセス制御のための命令パ
ケットの組み立ておよび分散の処理は、PE内のハード
ウェアで自動的に行われるので、高速処理が可能である
さらに、PE数個に1個のデータメモリを共用しても、
またPE1個に1個のデータメモリを設けてもよく、こ
れらの間の変更も任意に行える。そして、プログラマに
対しては、グローバルなアドレス空間を持ち、自由にア
クセス可能なデータメモリとしてL’l liaされ、
物理的にデータメモリが分解されていることを意識させ
ない。
〔実施例〕
以下、本発明の実施例を1図面により詳細に説明する。
第3図は、本発明を適用するデータフローシステム全体
の構成図である。
第3図においては、2個のPE30.31と1個のデー
タメモリ32を1つのプロセッサグループ、他の2個の
PE34,35と1個のデータメモリ36を他の1つの
プロセッサグループとして、全体を2つのプロセッサグ
ループで構成している。
各PEは、自分の屈するデータメモリ32,36とデー
タメモリバス33.35を介して接続され、また各PE
は、PE間間通絡路38相互接続されている。各データ
メモリ32.36のアドレスは、システム全体として重
複のないように、ユニークで統一的なアドレス付けが行
われている。
例えば、データメモリのアドレスの上位ビットは各プロ
セッサグループの番号を含み、下位ビットは各データメ
モリのアドレスを示すようにする。
通常は、PE30,31は自分のグループに属するデー
タメモリ32をアクセスするが、他のPEが長時間デー
タメモリ32を使用している場合には、他のグループの
データメモリ36にアクセスするためにそのグループの
PE34または35に対して命令を送出する。
第1図は、本発明の一実施例を示すPE内部の構成図で
ある。
ここでは、第3図におけるPE30を例として示してい
るが、他のPEも全く同一構成である。
第1図において、1はデータフロー命令の実行に必要な
オペランドを一時的に記憶するとともに、実行可能な命
令の検出(発火検出)を行うマツチングメモリ、2はデ
ータフロー命令の一部(オペレーションコードやコント
ロールフィールドの情報)を記憶しているプログラムメ
モリ、3は命令パケットのオペレーションコードを解読
する命令デコーダ、4は演算回路、5はデータメモリコ
ントローラ、9は転送先アドレス判定回路である。
第4図は、本発明で使用されるオペランドパケットと命
令パケットのフォーマット図、第5図は、同じくメモリ
リード命令パケットとそれに関連する3つのオペランド
パケットのフォーマット図、および第6図は同じくメモ
リライトル命令パケットとそれに関連して4つのオペラ
ンドパケットのフォーマット図である。
マツチングメモリ1には、第4図に示すようなオペラン
ドパケットが入力され、入力が行われる度に発火検出の
チエツクが行われる。プログラムメモリ2は、各PEご
とに設けられる。このプログラムメモリ2のアドレスも
、データメモリ32の場合と同じように、システム全体
として重複のないようにユニークで統一的アドレス付け
が行われている。すなわち、プログラムメモリアドレス
の上位ビットは各PE番号を表わし、下位ビットは各P
Eのプログラムメモリのアドレスを表わしている。なお
、複数個のPEと1個のデータメモリでプロセッサグル
ープを構成する場合、PEff1号の上位ビットはプロ
セッサグループ番号を示しているものとする。特別な場
合として、1個のPEと1個のデータメモリでプロセッ
サグループを構成しているときには、当然のことなから
PE番号とプロセッサグループ番号とは一致している。
先ず、発火検出が行われた命令は、第4図の形式の命令
パケットに編集され、第1図のプログラムメモリ2から
命令デコーダ3に転送される。命令デコーダ3は、命令
パケッ1−のオペレーションコード(すなわち、第4図
の56参照)を解読し、その内容に応じて命令パケット
を演算回路4およびデータメモリコントローラ5に振り
分ける。
後述するように、本実施例では2種類のメモリアクセス
命令(すなわち、第5図のメモリリード命令パケットと
、第6図のメモリライト命令パケット)を有しているの
で、その場合には、両方の命令バケツ1−がデータメモ
リコントローラ5に振り分けられる。PE30の場合に
は、データメモリコントローラ5は、データメモリバス
33を介して自PEが属するデータメモリ32に接続さ
れている。
データメモリコントローラ5の内部は、メモリアドレス
判定回路6と命令バケツ1〜分解回路7とオペランドパ
ケット組立回路8とから構成される。
メモリアドレス判定回路6は、メモリアクセス命令で指
定されたメモリアドレスが自グループのデータメモリ3
2を指定しているか否かを識別する機能を有し、もしメ
モリアドレスが自プロセッサグループのデータメモリ3
2を指定している時には、データメモリバス33を介し
てデータメモリ32をアクセスする。オペランドパケッ
ト組立回路8は、メモリアクセスにより得られた結果を
、第4図の形式に従って複数のオペランドパケットに組
み立てる機能を有する。もし、メモリアドレスが他プロ
セッサグループのデータメモリを指定している時には、
命令パケット分解回路7において、命令パケットを第4
図の形式に従って複数のオペランドパケットに分解する
機能を有する。
演算回路4と、命令バケツ1−分解回路7と、オペラン
ドパケット組立回路8から出力されるオペランドパケッ
トは、転送先アドレス判定回路9で自PE宛か他PE宛
かが識別判定される。もし、オペランドパケットが自P
E宛であれば、そのオペランドパケットはインタフェー
ス線1oを介して自PEのマツチングメモリ1に転送さ
れるが、他PE宛であれば、PE間間通絡路38経由し
て所定のPEに転送され、そのPEのマツチングメモリ
1に供給される。
第4図のオペランドパケットおよび命令パケットの内容
について、説明する。タグフィールド50.54は、第
1図のマツチングメモリ1で。
同じアドレスの命令を複数回用いる場合、待ち合わせデ
ータ(オペランド)相互間を区別するために使用される
。次のコントロールフィールド51゜55は、命令パケ
ットのオペレーションフィールド56の補助情報あるい
はデバッグ等に関する情報を指定するフィールドである
。オペランドデータ1−のデータフィールド52および
命令パケットのデータ1フイールド57、データ2フイ
ールド58は、それぞれオペランドデータを記憶するフ
ィールドである。また、次命令アドレスフィールド53
.59は、第1図のプログラムメモリ2のアドレスを記
憶しておくフィールドであって、オペランドパケットの
場合には、そのオペランドを必要とする命令のプログラ
ムメモリアドレスが設定されている。また、命令パケッ
トの場合には、次命令アドレスフィールド59に、演算
結果データを必要としている命令のプログラムメモリア
ドレスが設定されている。命令パケットのオペレーショ
ンコードフィールド56は、演算種別を指定するフィー
ルドである。
第5図および第6図のパケットは、データメモリアクセ
ス時の命令パケットおよびオペランドパケットの具体的
なフィールド構成を示している。
第5図では、第3図におけるデータメモリ32゜36を
読み出すメモリリード命令の場合、第6図では、第3図
におけるデータメモリ32.36に書き込むメモリライ
ト命令の場合を、それぞれ示している。第5図および第
6図の命令パケットおよびオペランドパケットのフィー
ルド配列順序は、第4図の配列順序と対応している。す
なわち、第4図の命令パケットのオペレーションコード
56に対応するものとして、メモリリード72、メモリ
ライト112があり、第4図のバケツ1−のデータフィ
ールド52.57.58に対応するものとして、メモリ
アドレス73.82.113.122、転送先アドレス
92,132、リードデータ102、ライトデータ12
7等がある。また、第4図のパケットの次命令アドレス
53.59に対応するものとして、転送先アドレス74
,103゜115.138.メモリリード命令アドレス
、83,93、メモリライト命令アドレス123,12
8.133等がある。
第5図および第6図に示すように、命令パケット分解回
路7において、命令パケットからオペランドパケットに
分解され、各フィールドがコピーされる。破線は対応す
るコピー内容を示している。
メモリリード命令パケットは2個のオペランドパケット
に、メモリライト命令パケットは3個のオペランドパケ
ットに、それぞれ分解され、命令パケットの内容がコピ
ーされる。
第7図は、本発明の一実施例を示すPE内のメモリアク
セス命令の処理フローチャートである。
動作例として、プロセッサグループ0に屈するPE30
のメモリアクセス命令パケットにより。
プロセッサグループ1のデータメモリ36をアクセスし
て、その結果をプロセッサグループ0のPE31に返送
する場合を説明する。リードアクセス、ライトアクセス
の両方の場合について、順に述べる。
(i)メモリリード命令の場合の動作 この場合、第5図のメモリリード命令パケットには、次
のような情報が予め設定されている。
本メモリアドレスMAL(73)→プロセッサグルレー
プ1のデータメモリ36のアドレス。
宰転送先アドレスDAI(74)→プロセッサグループ
0のPE31のプログラムメモリ2のアドレス、 また、プロセッサグループ1のPE2のプログラムメモ
リの特定番地(MRA)には、メモリリードのオペレー
ションコード72とコントロール71の情報が記憶され
ているものとする。
(i−a)メモリリード要求元PE(30)での動作 先ず、PE30のマツチングメモリ1で実行可能な命令
が発火検出され、プログラムメモリ2から必要な情報(
オペレーションコード56とコントロール情報55)を
読み出して、第5図に示すメモリリード命令パケットを
生成する(第7図のステップ150)。次に、生成され
たメモリリート命令パケットのオペレーションコードが
メモリリードを指定しているので(第5図の72)、命
令デコーダ3はこの命令パケットをデータメモリコント
ローラ5に転送する(ステップ151)。データメモリ
コントローラ5内のメモリアドレス判定回路6は、命令
パケットのメモリアドレス(MAl)73を参照するこ
とにより、ここでは他のプロセッサグループ1のデータ
メモリ36のアドレスを示していることを判別する(ス
テップ152)。
同じく、メモリアドレス判別回路6は、命令パケットの
オペレーションコードを参照することにより、これがメ
モリリード72であるので、リードアクセスに進む(ス
テップ153)。第1図の命令パケット分解回路7は、
命令パケットを第5図に示す2つのオペランドパケット
に分解する(メモリアドレスオペランドパケットと、転
送先アドレスオペランドパケット)(ステップ154)
。先ず、第1番目のオペランドパケットであるメモリア
ドレスオペランドパケットは、命令パケットのタグ70
、コントロール71の各フィールドをコピーし、メモリ
アドレス(MAL)オペランド73をデータオペランド
としてフィールド82にコピーする。また、オペランド
バケツ1〜の次命令アドレスフィールド83には、上位
1ビツトに、メモリアドレス(MAI)の最上位1ビツ
トをコピーして代入する。これは、プロセッサグループ
番号を示す値(この場合には、1である)を最上位ビッ
トに入れたことを意味している。次の上位1ビツトには
固定的に0をセットする。以上の2ビツト(2進で10
)でこのオペランドパケットの転送先PE番号(=2)
を構成することになる。次命令アドレス83の残り下位
ビットには、メモリリード命令が入っているプログラム
メモリアドレス(固定値)を入れる。
以上の上位ビットと下位ビットを合体して、メモリリー
ド命令アドレス(MRA)83を形成し、他のフィール
ドと組み合わせてメモリアドレスオペランドパケット全
体を構成する。
次に、第2番目のオペランドパケットである転送先オペ
ランドバケツl−について、先ずタグ90とコントロー
ル91の各フィールドを命令パケットのタグ70、コン
トロール71からコピーする。
次に、オペランドデータフィールドとして、命令パケッ
トの次命令アドレスフィールドの内容(転送先アドレス
(DAI)74)をコピーし、フィールド92を生成す
る。また、次命令アドレスとしては、メモリアドレスオ
ペランドパケットの次命令アドレスの内容(MRA)8
3をコピーして、フィールド93を生成する。
上記2つのオペランドパケットを、第1図の転送先アド
レス判定回路9に順次転送する。
次に、転送先アドレス判定回路9では、各オペランドパ
ケットの次命令アドレスフィールド53の上位2ビツト
をチエツクすることにより1両者ともPE番号が2とな
っているので、いずれもPE間間通絡路38送出する(
ステップ156)。PE間間通絡路38は、指定された
宛先PE番号のPE(番号2=PE34)にオペランド
パケットを転送する(ステップ157)。
(i−b)メモリリード実行側PEの動作オペランドパ
ケット受信側のPE34の動作は、次の通りである。先
ず、第5図に示すメモリアドレスオペランドパケットと
転送先アドレスオペランドパケットがPE34のマツチ
ングメモリ1に到着すると、命令の発火が検出され、メ
モリアドレスオペランドパケットまたは転送先アドレス
オペランドパケットのメモリリード命令アドレスフィー
ルド(MRA)83または93をアドレスとして、プロ
グラムメモリ2をアクセスする(第7図のステップ15
0)。このアドレスのエリアには、メモリリードを指定
したオペレーションコードとコントロールフィールドが
含まれているので、結局、2つのオペランドパケットか
ら第5図のメモリリード命令パケットが再生されること
になる。
次に、再生されたメモリリード命令パケットのオペレー
ションコード部がメモリリードを指定しているので(第
5図のフィールド72)、PE34の命令デコーダ3は
、この命令バケツ1−をデータメモリコントローラ5に
送出する(ステップ151)。
次に、データメモリコントローラ5内のメモリアドレス
判定回路6は、命令バケツ1〜のメモリアドレス(MA
L)73を参照する。この場合には、プロセッサグルー
プ1、つまり実行PE34が屈するグループのメモリア
ドレスを示しているため、自グループ所属のメモリアク
セスであることを判別する(ステップ152)。メモリ
アドレス判定回路6では、命令パケットのオペレーショ
ンコードを参照することにより、メモリリード72であ
ることを識別する(ステップ160)。次に、PE34
のメモリアドレス判定回路6がらデータメモリバス(第
3図のバス37)を経由してデータメモリ36をアクセ
スして、所望のデータを読み出す(ステップ161)。
PE34のオペランドパケット組立回路8では、読み出
した結果を第5図のリードデータオペランドパケットの
り一ドデータフィールド102にセットする。その他の
フィールド(タグ100、コントロール101、転送先
アドレス(DAl)103)については、メモリリード
命令パケットの対応するフィールドよりコピーする。こ
のようにして作成されたリードデータオペランドパケッ
トを、PE34の転送先アドレス判定回路9に送出する
(ステップ162)。転送先アドレス判定回路9では、
リードデータオペランドパケットの転送先アドレス(D
AI)103の上位ビット(読み出し結果の宛先PE)
を参照することにより、宛先PEはPE31を示してい
ると判断する(ステップ163)。これによって、転送
先アドレス判定回路9は、リードデータオペランドパケ
ットをプロセッサ間通信″Jl!138に送出する(ス
テップ164)。プロセッサ間通信路38は、これをP
E34まで転送することにより、PE34内のマツチン
グメモリ1に入力し、で、次の命令発火のトリガをかけ
る。
以上がメモリリード動作の説明である。
(■)メモリライト命令の場合の動作 メモリライト動作を実行するためには、第6図のメモリ
ライト命令パケットに、次のような情報が予め設定され
る必要がある。
傘メモリアドレス(MA2)113→プロセッサグルー
プ1のデータメモリ36のアドレス、串転送先アドレス
(DA2)115→プロセッサグループ0のPE31の
プログラムメモリ2のアドレス、 また、プロセッサグループ1のPE34のプログラムメ
モリの特定番地(MWA)には、メモリライトのオペレ
ーションコード112とコントロール111の情報が記
憶されている。
(ii−a)メモリライト要求元PE30の動作メモリ
ライトアクセスの場合には、第6図に示すメモリライト
命令パケットを使用する。メモリリード命令パケットと
の相違は、第5図と第6図を比較すれば明らかなように
、入力オペランドの数が1つ多い点である。すなわち、
メモリライト命令パケットは、入力オペランドとしてメ
モリアドレスの他に、書き込むべきデータ値も必要であ
る。
PE30でメモリライト命令が発火して(ステップ15
0)、メモリアクセス命令パケットをデータメモリコン
トローラ5に転送する(ステップ151)。自グル−プ
内のメモリアクセスでないことを判別しくステップ15
2)、メモリライトアクセスであることを識別する(ス
テップ153)。
ここまでは、前述のメモリリードの場合と全く同じであ
る。次に、第1図の命令パケット分解回路7では、命令
パケットを第6図に示すように3つのオペランドパケッ
ト(メモリアドレスオペランドパケット、ライトデータ
オペランドパケット。
および転送先アドレスオペランドパケット)に分解する
(ステップ155)。このうち、メモリアドレスオペラ
ンドパケットと転送先アドレスオペランドパケットは、
リードアクセスと全く同じ手順で作成されるので、説明
を省略する。ライトデータオペランドパケットについて
は、タグ125、コンl−ロール126、ライト命令ア
ドレス128を作成するため、上記2つのオペランドパ
ケットと同じであり、残りのライトデータフィールド1
27には、命令バケツ1−のライトデータ114をその
ままコピーする。これにより、3つのオペランドパケッ
トが作成されるので、命令パケット分解回路7はこれら
のバケツ1〜を転送先アドレス判定回路9に転送する。
転送先アドレス判定回路9は、リードアクセスの場合と
同じように、転送先アドレスの宛先は自PEか否かを判
別しくステップ156)、各オペランドパケットのメモ
リライト命令アドレス(NWA)の上位ピッl−がPE
34を示しているので、PE間間通絡路38転送され、
PE間間通絡路38経由して最終的にPE34のマツチ
ングメモリ1に3つのオペランドが送られる。
(M−b)メモリライト実行側PE34の動作メモリラ
イト実行側のPE34では、メモリライト命令の発火が
検出されるとともに、3つのオペランドパケットから1
つのメモリアクセス命令パケットが作成され(ステップ
150)、メモリアクセス命令パケットがデータメモリ
コントローラ5に転送される(ステップ151)。メモ
リアドレス判定回路6は自グループ内のメモリアクセス
か否かを判定しくステップ152)、自グループ内であ
るため、次にメモリライトアクセスであることが識別さ
れる(ステップ160)。次に、PE34のデータメモ
リコン1−ローラ5からデータメモリバス37を経由し
てデータメモリ36をアクセスすることにより、指定し
たエリアにデータを書き込む(ステップ170)。書き
込みが完了すると、書き込み完了表示信号をデータメモ
リ3Gから受信する。次に、PE34のオペランドパケ
ット組立回路8では、書き込み完了表示信号を受けて。
第6図のライトデータオペランドパケットのライト完了
表示データ137としてセラ1−する(ステップ171
)。このパケットのその他のフィールド(タグ135、
コントロール13G、転送先アドレス(DA2038)
については、第6図のメモリライト命令パケットの対応
するフィールドよりコピーすることにより得る。このよ
うにして作成されたライト完了オペランドパケラ1へを
、転送先アドレス判定回路9に転送する。ライ1〜完了
オペランドパケツトの転送先アドレス(DA2)の上位
ビットがPE31を示しているので、自PE宛でないこ
とを判別して(ステップ163)、PE間間通絡路38
介して最終的にPE31のマツチングメモリ1に第6図
のライト完了オペランドパケットが送り届けられる(ス
テップ164)。そして。
次の命令発火のトリガがかけられる。
以上の説明では、PEが4個、データメモリが2個の2
グループの例で説明したが、プログラムメモリアドレス
、データメモリアドレスの上位ビットを拡張することに
より、種々のグルーピングが実現できるのは勿論のこと
である。
本実施例の利点を次に述べる。
(イ)データメモリを各PEまたはPE群を単位として
分散するとともに、任意のPEから任意の分1枚メモリ
を自由にアクセスできるので、メモリアクセストラヒッ
ク集中化によるシステム性能低下を避けることが可能で
ある。また、他のPE群へのメモリアクセス制御に伴う
命令パケットの組み立て、分解の処理をPE内のハード
ウェアにより自動的に行うので、高速にメモリアクセス
が可能となる。
(ロ)命令がいずれのPEに記憶されていても、全ての
メモリエリアをアクセスできる柔軟性を有している。そ
して、プログラマに対し、グローバルなアドレス空間を
持ち、自由にアクセス可能なデータメモリであるように
感じさせ、物理的に分散していることを全く意識させな
いので、プログラミング上の制約が少なく、極めて便利
である。
また、物理的な分割の単位の設定も自由に行うことがで
きる。例えば、PE4台に1個のデータメモリを共用し
てもよく、またPE1台ごとに1個のデータメモリを設
けてもよい。そして、前者から後者にシステム構成を変
更する場合にも、PE内の転送先アドレス判定回路の判
定ロジックを変更するだけでよく、極めて簡単に対処す
ることができる。
〔発明の効果〕
以上説明したように、本発明によれば、メモリを分散配
置し、自PEから直接メモリアクセスができない場合に
は、命令を複数のパケットに分解して直接アクセス可能
なPEに転送し、これを受信したPEがメモリアクセス
を行い、その結果を指定されたPEに返送することによ
り実現できるので、高速に他PE群のメモリにもアクセ
スすることが可能となる。その結果、PE数を増設した
場合には、それに比例した性能向上が図られる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すデータフロープロセッ
サの内部構成図、第2図は従来の集中型メモリを含むデ
ータフローシステムの構成例を示す図、第3図は本発明
のメモリ制御方式を用いたデータフローシステムの構成
例を示す図、第4図は本発明で用いられるオペランドパ
ケットと命令パケットのフォーマット図、第5図は第4
図の具体例を示すメモリリード命令とそれに関連するオ
ペランドパケットのフォーマット図、第6図は同じくメ
モリライト命令とそれに関連するオペランドパケットの
フォーマット図、第7図は本発明のプロセシングエレメ
ントにおけるメモリアクセスの処理フローチャートであ
る。 1:マツチングメモリ、2ニブログラムメモリ。 3:命令デコーダ、4:演算回路、5;データメモリコ
ントローラ、6:メモリアドレス判定回路、7:命令パ
ケット分解回路、8:オペランドパケット組立回路、9
:転送先アドレス判定回路、10:インタフェース線、
20,21,22,23゜30.31,34,35:プ
ロセシングエレメント(PE)、24.32.36:デ
ータメモリ、25.38:PE間間通絡路26.33.
37:データメモリバス。

Claims (1)

    【特許請求の範囲】
  1. (1)1個ないし複数個のプロセシングエレメントと1
    個のメモリからなるプロセッサグループを複数グループ
    備えたデータフロープロセッサにおいて、各プロセッサ
    エレメントがメモリアクセス命令を実行する場合、自プ
    ロセッサグループのメモリへのアクセスか、他プロセッ
    サグループのメモリへのアクセスかを判定し、自プロセ
    ッサグループのメモリへのアクセスであれば、該メモリ
    に直接アクセスして、読み出しアクセスであれば読み出
    したデータを、また書き込みアクセスであれば書き込み
    完了を示すデータを、それぞれ指定された転送先に転送
    し、他プロセッサグループのメモリへのアクセスであれ
    ば、上記メモリアクセス命令を複数のオペランドパケッ
    トに分解し、該オペランドパケットを宛先のメモリが属
    するプロセシンググループのプロセシングエレメントに
    転送し、該複数のオペランドパケットを受信したプロセ
    シングエレメントでは、該オペランドパケットを再びメ
    モリアクセス命令に組立てた後、自プロセッサグループ
    のメモリへのアクセスと同じ方法でメモリアクセスを行
    い、指定された転送先に結果のデータを返送することを
    特徴とするデータフロープロセッサのメモリアクセス制
    御方式。
JP63302047A 1988-11-29 1988-11-29 データフロープロセッサのメモリアクセス制御方式 Pending JPH02148188A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63302047A JPH02148188A (ja) 1988-11-29 1988-11-29 データフロープロセッサのメモリアクセス制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63302047A JPH02148188A (ja) 1988-11-29 1988-11-29 データフロープロセッサのメモリアクセス制御方式

Publications (1)

Publication Number Publication Date
JPH02148188A true JPH02148188A (ja) 1990-06-07

Family

ID=17904271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63302047A Pending JPH02148188A (ja) 1988-11-29 1988-11-29 データフロープロセッサのメモリアクセス制御方式

Country Status (1)

Country Link
JP (1) JPH02148188A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6338108B1 (en) 1997-04-15 2002-01-08 Nec Corporation Coprocessor-integrated packet-type memory LSI, packet-type memory/coprocessor bus, and control method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6338108B1 (en) 1997-04-15 2002-01-08 Nec Corporation Coprocessor-integrated packet-type memory LSI, packet-type memory/coprocessor bus, and control method thereof

Similar Documents

Publication Publication Date Title
US6219775B1 (en) Massively parallel computer including auxiliary vector processor
US5113523A (en) High performance computer system
EP0258736A2 (en) Parallel computer with distributed shared memories and distributed task activating circuits
JP3101560B2 (ja) プロセッサ
JPH0764853A (ja) Simdマルチプロセッサ用の可変正確度間接的アドレス方法およびそれを行う装置
JPH0131214B2 (ja)
JPH07210520A (ja) メモリアクセス機構
KR20150014464A (ko) 동적으로 건립가능한 컴퓨터 시스템
US5530889A (en) Hierarchical structure processor having at least one sub-sequencer for executing basic instructions of a macro instruction
KR19990037572A (ko) 뱅크 어드레스 값을 공급하는 다중 소스를 구비하는 프로세서구조 설계 및 그 설계방법
US5710932A (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
JPS6334490B2 (ja)
Vick et al. Adptable Architectures for Supersystems
JP3169624B2 (ja) プロセッサ間通信方法およびそのための並列プロセッサ
JPH02148188A (ja) データフロープロセッサのメモリアクセス制御方式
US5465369A (en) Network structure for parallel software processing
EP0223849A1 (en) SUPER COMPUTER SYSTEM ARCHITECTURE.
Krishnaswamy et al. The architecture of a Linda coprocessor
JP2602241B2 (ja) 並列計算機
JP3107308B2 (ja) 異種言語混在形プログラム処理コントローラ
JP3304445B2 (ja) プログラム生成処理装置
JP2847729B2 (ja) 情報処理装置
JPS63168762A (ja) マルチプロセツサ起動装置
JPH05290188A (ja) 超並列計算機
JPS62256045A (ja) デ−タ駆動型計算機