JPH07319830A - データ転送方法およびデータ転送装置並びにコンパイル方法 - Google Patents

データ転送方法およびデータ転送装置並びにコンパイル方法

Info

Publication number
JPH07319830A
JPH07319830A JP10654994A JP10654994A JPH07319830A JP H07319830 A JPH07319830 A JP H07319830A JP 10654994 A JP10654994 A JP 10654994A JP 10654994 A JP10654994 A JP 10654994A JP H07319830 A JPH07319830 A JP H07319830A
Authority
JP
Japan
Prior art keywords
data
command
buffer
data transfer
output
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
JP10654994A
Other languages
English (en)
Inventor
Tetsuji Kishi
哲司 貴志
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP10654994A priority Critical patent/JPH07319830A/ja
Publication of JPH07319830A publication Critical patent/JPH07319830A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】 マルチプロセッサシステムにおいて、特定の
PEが他PEのデータロードをする時、データロードの
高速化を図り、データ転送の高速化を図る。 【構成】 マルチプロセッサシステムにおいて、データ
要求コマンドを、データを管理しているPEに送出する
と判断された場合(S11)、データ要求コマンドを転
送するバス上に現在データ転送実行中のデータ流を一時
停止し、該データ流に先行して該データ要求コマンドを
転送する(S20)。 【効果】 特定のPEが他PEよりデータをロードする
ときの高速化を図る事が可能になる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマルチプロセッサシステ
ムにおけるデータ転送方法およびデータ転送装置並びに
コンパイル方法に関する。
【0002】
【従来の技術】近年、情報処理システムでは、その処理
の多用性、高速性を求めてシングルプロセッサからマル
チプロセッサへのシステム変革が進められている。マル
チプロセッサシステムは、複数のプロセッサから構成さ
れ、それらがある時間単位において同時に処理を展開す
ることによって高速処理を可能にするものである。マル
チプロセッサには、複数の制御方式があり、データを共
有するデータ共有管理型、データを分散配置して持つデ
ータ分散管理型の2つに大別できる。
【0003】データ共有管理型はすべてのプロセッサが
同じメモリマップ上に共有して管理するデータを用いて
処理を進めるが、共有データのデータバスを共有してい
るため、データの同時処理性、処理の高速性という点に
問題がある。
【0004】一方データ分散管理型は、データを分散し
て管理するための独自の管理メモリ領域やデータバスを
持つため、データの同時処理性が比較的求め易いため、
処理の高速性を得易いといった特質をもっている。しか
し、そのデータ分散管理型であっても完全データ分散処
理のみをもってすべての処理を行うことは困難であり、
必要に応じてデータの共有化をする必要がある。そのデ
ータの共有化はマルチプロセッサシステムのプロセッサ
エレメント(以下PEと略す)間のデータ通信という形
で実施される。あるPEが他のPEの管理しているデー
タを必要とする場合は、必要とするデータを管理してい
るPEにデータ要求をして、データ要求されたPEは該
データをデータを要求したPEに対してデータ転送を実
施する。データを要求したPEはそのデータを受信して
所定の処理を行う。
【0005】以下図面を用いて従来のマルチプロセッサ
システムにおけるデータ転送手段について説明する。図
13は、従来のマルチプロセッサシステムにおけるデー
タ転送手段について解説したものである。700−1は
データ受信PE、700−(n-1)は中継PE、700−
nはデータ保持PE、701−1〜701−nは上記P
E700−1〜700−n間のデータ転送制御を行うデ
ータ転送装置、702−1〜702−nはデータ処理を
実行するプロセッサ、703−1〜703−nはデータ
保持するメモリ、704−1〜704−nは、プロセッ
サ701−1〜701−n、メモリ702−1〜702
−n、データ転送装置703−1〜703−nを結合す
る内部データバス、750はPE700−1〜700−
nを結合するネットワークバス、760はデータ要求コ
マンド列、770は転送データである。
【0006】今PE700−1のプロセッサ702−1
は、処理を行うためにデータを必要とするが、メモリ7
03−1にはデータが存在しない。そこでPE700−
nのメモリ703−nのデータをロードするとする。
【0007】プロセッサ702−1はデータ転送装置7
01−1に対して外部PE700−nのメモリ703−
nにデータを要求する命令を発行する。データ転送装置
701−1は該命令をうけてデータ要求コマンド760
を発行する。データ要求コマンド760は図9に示すよ
うな構成であり、データ要求元PEの固有番号と、要求
先PE番号と、要求するデータの初期アドレス値と必要
とするデータワード数から構成される。
【0008】データ要求コマンド760はネットワーク
バス750を通じて中継PE700−(n-1)を介し、デ
ータ保持PE700−nに到達する。データ転送装置7
01−nはデータ要求コマンドを受信しメモリ703−
nのデータをアクセスし、転送データ770としてデー
タ転送装置701−nは再びネットワークバス750を
介してデータ受信PE700−1に要求データを転送す
る。要求データ770は、図10に示すようにデータ要
求元PEの固有番号と格納データアドレス、それから実
際のデータ列から構成される。データ転送装置701−
1は、要求データを受信し、メモリ703−1に書き込
むか、プロセッサ702−1において該データ770を
処理する。
【0009】
【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、中継PE等PE間のトラフィックの状態
によっては、データ受信PEはデータを得るまでに時間
がかかる場合があり、図14はその状態を示したもので
ある。800−11〜800−44はPEである。PE
800−11は、データ処理のため、PE800−44
に図13で示したような手順に従ってデータ要求を行
う。PE800−21〜800−34は相互にデータ転
送を実施中であるため、PE800−21〜800−3
4間のネットワークバスは使用中である。そのため、デ
ータ要求コマンド760はPE800−44に到着する
ためには、前記ネットワークバスのどれかの経路が空く
ことによって、はじめて中継プロセッサ800−21〜
800−34を通じてPE800−44に到着する。そ
れまでは、PE800−44はPE800−11がデー
タを要求していることを認知することができないため、
データ受信PE内の内部データバスが非使用状態であっ
たり、該データ受信PE付近のネットワークバスが空い
ている状態であってもデータ要求を知ることができな
い。そのため、データ要求が前記データ受信PEに到着
した時点では、その内部データバスが使用中であった
り、付近のネットワークバスが使用中であった場合は、
さらにそれらの終了を待ってデータのアクセスを実行す
ることになり、非効率的である。
【0010】また図6は、図14に示したマルチプロセ
ッサシステムでのデータ転送に従ってPE800−11
がPE800−44のデータを要求し、2つの要素デー
タ(D1,D2)を転送するといったデータ転送シーケンス
を示したものである。
【0011】本例では、データパケットシーケンス(S
60)が実行中、すなわちPE800−21〜PE80
0ー34のデータバスが使用中のため、データ要求コマ
ンドを、PE800−44まで転送することができな
い。そのため、データパケットシーケンス(S60)が
終了した段階でデータ要求コマンド伝送(S61)が実
施される。図6では、PExxで示した番号xxはPE
の固有番号を示し、図14のPE800−xxに対応し
ている。データ要求コマンド伝送(S61)が終了する
と、PE800−44にデータ要求コマンドが到着し、
データアクセス(S62)が実行される。図6における
(A1,A2)はデータをアクセスする時間を示している。
データアクセス(S62)が完了するとPE800−4
4からPE800−11に対するデータ転送を実施する
データ転送シーケンス(S63)が実行される。これに
よれば、データパケットシーケンス(S60)が終了す
るまでデータ要求コマンドはターゲットであるPE80
0−44に到着することができない。データ要求コマン
ドが到着する間にPE800−44の内部バスが空いて
いても、周辺のネットワークバスが空いていても無駄に
なってしまうという問題を抱えている。
【0012】本発明はそのような問題点に鑑み、その目
的は自PEが保持しないデータを外部PEに対して要求
する時、該データ要求が効率的に行われるデータ転送方
法およびデータ転送装置を提供することにある。
【0013】
【課題を解決するための手段】前記問題点に鑑み、請求
項1の発明におけるデータ転送方法は、マルチプロセッ
サシステムにおいて、データ要求コマンドをデータを管
理しているPEに送出するとき、データ要求コマンドを
転送するバス上に現在データ転送実行中のデータ流があ
る場合、該データ流を一時停止し、該データ流に先行し
て該データ要求コマンドを転送するものである。
【0014】請求項2の発明におけるデータ転送装置
は、マルチプロセッサシステムを構成するデータ転送装
置において、外部からデータ受信されるデータの受信制
御をする受信制御手段と、前記受信制御手段によって、
外部から受信した受信データを保持するレジスタバッフ
ァと、前記受信制御手段によって、前記レジスタバッフ
ァの出力を入力としてデータ保持するFIFOバッファ
と、前記レジスタバッファのデータ転送コマンドを受信
して特定のコマンドを認識するコマンド認識手段と、前
記コマンド認識手段が前記特定コマンドコマンドを受信
したとき前記レジスタバッファの出力を選択し、前記特
定コマンドが認識されなかった場合は、前記FIFOバ
ッファ出力を選択して出力するセレクタからなるデータ
受信ポートを備えたものである。
【0015】請求項3の発明におけるデータ転送装置
は、マルチプロセッサシステムを構成するデータ転送装
置において、データを外部に出力するデータ送信制御を
する送信制御手段と、前記送信制御手段によって、外部
に送信する送信データを一時的に保持するレジスタバッ
ファと、前記送信制御手段によって、前記レジスタバッ
ファの出力を入力としてデータ保持するFIFOバッフ
ァと、前記レジスタバッファのデータ転送コマンドを入
力として特定のコマンドを認識するコマンド認識手段
と、前記コマンド認識手段が前記特定コマンドコマンド
であるとき、前記レジスタバッファの出力を選択し、前
記特定コマンドが認識されなかった場合は、前記FIF
Oバッファ出力を選択して出力するセレクタからなるデ
ータ送信ポートを備えたものである。
【0016】請求項4の発明におけるデータ転送装置
は、複数の請求項2記載のデータ受信ポートと、複数の
請求項3記載のデータ送信ポートとからなるデータポー
トと、特定のデータポート同士を接続するスイッチング
手段を備えたものである。
【0017】請求項5の発明におけるコンパイル方法
は、マルチプロセッサシステムのコンパイラであって、
プログラムの構文の解析を構文解析ステップと、前記構
文解析ステップにおいて解析された構文の意味を解析
し、自プロセッサ以外のプロセッサからデータをロード
する命令を抽出する意味解析ステップと、前記外部デー
タロード命令のロードデータとデータ依存関係のない処
理コード挿入可能位置をサーチしてその場所を記憶する
依存解析ステップと、前記外部データロード命令のデー
タ要求コマンド発行命令を、前記挿入可能位置に挿入し
てコード配置を変更し、他の命令実行コードを生成する
コード生成ステップとを具備するものである。
【0018】
【作用】請求項1の発明では、前述した手段により、特
定のPEが自分以外のPEのデータを要求して処理する
ためのデータ要求にかかる該データ保持PEのバスの空
き時間を有効に利用することができ、かつ空いているネ
ットワークバスを有効に利用することが可能になり、結
果として要求データを早期に得ることとなる。
【0019】請求項2の発明では、前述した装置によ
り、特定のPEが自分以外のPEのデータを要求する要
求コマンドを現在のデータ転送シーケンスに影響される
ことなく追越し転送(受信)することによりデータを保
持PEにデータ要求を早急に転送することができ、該デ
ータ保持PEのバスの空き時間を有効に利用することが
でき、かつ空いているネットワ−クバスを有効に利用す
ることが可能になり、結果として要求データを早期に得
ることとなる。
【0020】請求項3の発明では、前述した装置によ
り、特定のPEが自分以外のPEのデータを要求する要
求コマンドを現在のデータ転送シーケンスに影響される
ことなく追越し転送(送信)することによりデータ保持
PEにデータ要求を早急に転送することができ、該デー
タ保持PEのバスの空き時間を有効に利用することがで
き、かつ空いているネットワ−クバスを有効に利用する
ことが可能になり、結果として要求データを早期に得る
こととなる。
【0021】請求項4の発明では、前述した構成によ
り、特定のPEが自分以外のPEのデータを要求する要
求コマンドを現在のデータ転送シーケンスに影響される
ことなく追越し転送(送信・受信)することによりデー
タ保持PEにデータ要求を早急に転送することができ、
該データ保持PEのバスの空き時間を有効に利用するこ
とができ、かつ空いているネットワ−クバスを有効に利
用することが可能になり、結果として要求データを早期
に得ることとなる。
【0022】請求項5の発明では、前述したコンパイル
方法でデータ転送にかかる命令コードレベルで予めデー
タ要求にかかるコマンド列を無関係なデータ転送シーケ
ンスに先行して発行することで、データ保持PEのバス
の空き時間を有効に利用することができ、かつ空いてい
るネットワ−クバスを有効に利用することが可能にな
り、結果として要求データを早期に得るための命令コー
ド列を生成することとなる。
【0023】
【実施例】以下本発明の一実施例のデータ転送装置につ
いて、図面や式を参照しながら説明する。
【0024】図1は本発明の第1の実施例におけるデー
タ転送装置を示したものである。100はデータ転送装
置である。101〜104はデータ送受信を制御するデ
ータポートである。11〜14は内部データバスであ
る。30は内部データバス11〜14を通じてデータの
交換接続を実行するスイッチング手段である。200は
外部からのデータの受信を行うデータ受信ポートであ
る。300は外部に対してデータの送信を行うデータ送
信ポートである。201は外部からの受信データを一時
的に保持するレジスタバッファである。202はレジス
タバッファ201に保持されたデータがコマンドである
場合に特定のコマンドであるかどうかを認識してその結
果を出力するコマンド認識手段である。203はレジス
タバッファ201の出力を入力としてデータを保持する
FIFOバッファである。204は外部からのデータ受
信制御を実行する受信制御手段である。205はレジス
タバッファ201の出力とFIFOバッファ203の出
力どちらかをコマンド認識手段202の結果に基づいて
どちらか一方を選択出力するセレクタである。207は
コマンド認識信号であり、前記セレクタ205の選択信
号である。206は、FIFOバッファを介さずレジス
タバッファの出力をセレクタ205に入力するバイパス
バスである。
【0025】以下図1、図2、図3を用いてその動作を
説明する。図2は、本発明例を用いたマルチプロセサシ
ステムの構成概念図である。図3は、前記本発明におけ
るデータ転送手段の動作フローを示したものである。
【0026】図2に示すように、PE400−11がP
E400−44にデータを必要として要求する場合(Lo
adExternal命令)、PE400−11のプロセッサ40
1は、同PE400−11のデータ転送装置100にP
E400−44のメモリ402のデータをアクセスする
(LoadExternal命令)に関係するデータ要求コマンド3
5を、PE400−44に送出する。この際の転送経路
は予め定められたアルゴリズムに従って選択される。本
例では、PE400−21〜PE400−34がお互い
通信を実施中で上記PE400−21〜PE400−3
4に関係する隣接バス使用中である。
【0027】図2ではデータ要求コマンド35が、PE
400−24に到着するが、以降のバスが使用中のため
前記データ要求コマンド35をPE400−44に対し
て送出することができない。
【0028】以下PE400−24を1例に図1を用い
て本発明の動作を示す。データ要求コマンド35がPE
400−21のデータ転送装置100に到着し、データ
バス23より入力される該データはデータポート103
のデータ受信ポート200、レジスタバッファ201に
受信保持され、同時にコマンド認識手段202が、予め
定めた(LoadExternal命令)特定コマンドである事を認
識する。コマンド認識手段202は優先出力信号207
をアサートしてセレクタ205および、受信制御手段2
04に出力される。優先出力信号207をアサートされ
た受信制御手段204はFIFOバッファ203のアド
レスポインタの更新をロックする。セレクタ205は前
記レジスタバッファ201のデータ出力をバイパスバス
206を通じてデータ出力を内部バス13に出力する。
内部バス13への出力が完了し次データへの更新が可能
になると受信制御手段204はFIFOバッファ203
のアドレスポインタロックを解除し通常のデータ受信シ
ーケンスの戻る。
【0029】本例では予め定められたアルゴリズムによ
って、内部バス13と内部バス11がスイッチング手段
30において接続される。故に内部バス13上のデータ
は内部バス11を通じてデータポート101のデータ送
信ポート300のレジスタバッファ301に格納され
る。コマンド認識手段302が前記レジスタバッファ3
01のコマンドを認識してコマンド認識信号307をセ
レクタ305および、送信制御手段304に入力し、送
信制御手段304はFIFOバッファ306のアドレス
ポインタの更新をロックする。セレクタ305は、レジ
スタバッファ301の出力をバイパスバス306を通じ
て選択、内部バス21にデータ出力する。内部バス21
に対してデータ出力完了すると、送信制御手段304は
通常データ転送シーケンスに戻すべくFIFOバッファ
306のアドレスポインタロックを解除する。
【0030】以上のようにして転送中のデータ流は一時
的に中断され、その間にデータ要求コマンドが優先して
先のデータ転送装置へと転送されていく。
【0031】上記シーケンスの一般形を図3を用いて説
明する。図3はデータの送受信シーケンスを示すフロー
チャートである。データ送受信シーケンスでは、通常デ
ータ送受信シーケンス(S10)において、該データが
データ要求コマンドであるかどうかをチェックする(S
11)。そのチェックの結果、データ要求コマンドであ
る場合は、先行したデータ転送シーケンスを休止させる
(S12)。先行したデータ転送シーケンスが休止され
ると、現受信データを先行して転送する(S13)。前
記受信データの先行転送が完了すると、休止していたデ
ータ転送シーケンスを復帰させる(S14)。データチ
ェック(S11)の結果がデータ要求コマンドでない場
合は、シーケンス(S20)は実行されないで、通常の
データ送受信シーケンス(S10)を送受信シーケンス
が終了判定されるまで繰り返し実行される(S15)。
【0032】これらの通常データ転送パスを示したもの
が、図4であり、データ要求コマンドのバイパス条件を
示したものが図5である。図4、図5のそれぞれに示す
構成要素は図1に示すものと同様のものである。
【0033】図4においてコマンド認識手段202およ
びコマンド認識手段302が転送中のデータが、現デー
タ流に特定のデータ要求コマンドを認識しない場合、レ
ジスタバッファ201、FIFOバッファ203、セレ
クタ205、スイッチング手段30、レジスタバッファ
301、FIFOバッファ306、セレクタ305を通
してデータ流が構成される。一方図5に示すようにコマ
ンド認識手段202およびコマンド認識手段302が転
送中のデータが現データ流に特定のデータ要求コマンド
を発見した場合、レジスタバッファ201、セレクタ2
05、スイッチング手段30、レジスタバッファ30
1、セレクタ305を通してバイパスデータ流が構成さ
れ、結果として現在のデータ転送に係るデータ流に先行
したデータのバイパス転送が可能になる。
【0034】以上のような構成にすることによって、得
られる効果を図6、図7を用いて説明する。図6は、図
12に示したマルチプロセッサシステムでのデータ転送
に従ってPE800−11がPE800−44のデータ
を要求し、2つの要素データ(D1,D2)を転送するとい
ったデータ転送シーケンスを示したものである。
【0035】本例では、データパケットシーケンス(S
60)が実行中、すなわちPE800−21〜PE80
0ー34のデータバスが使用中のため、データ要求コマ
ンドを、PE800−44まで転送することができな
い。そのため、データパケットシーケンス(S60)が
終了した段階でデータ要求コマンド伝送(S61)が実
施される。図6では、PExxで示した番号xxはPE
の固有番号を示し図12のPE800−xxに対応して
いる。データ要求コマンド伝送(S61)が終了する
と、PE800−44にデータ要求コマンド35が到着
し、データアクセス(S62)が実行される。図6にお
ける(A1,A2)はデータをアクセスする時間を示してい
る。データアクセスが完了すると(S62)、PE80
0−44からPE800−11に対するデータ転送を実
施するデータ転送シーケンス(S63)が実行される。
【0036】上記シーケンス図6に対し、本発明(図
7)によれば、すでに説明したように、データパケット
シーケンス(S70)の最中に、同シーケンスを中断し
てデータ要求コマンド伝送(S71)を先行して実行す
ることで、データパケットシーケンスに並行してデータ
アクセス(S72)と、データ転送シーケンス(S7
3)に一部を実行することが可能になる。
【0037】この状態を図2のマルチプロセッサシステ
ム概念図にあわせて説明すると、PE400−11より
送出されたデータ要求コマンド35は、PE400−2
4に到着する。PE400−24では、上述した機構に
より前記データ要求コマンド35を他のデータシーケン
スデータに対して優先的に転送を実行するため、PE4
00−24、PE400−34と経由して最終目的であ
るPE400−44に到着する。到着したデータ要求シ
ーケンス35によってPE400−44のデータ転送装
置100は、メモリ402のデータをアクセス(S7
2)して読出し、データ転送シーケンス(S73)が実
行される。この時、データパケットシーケンス(S7
0)にオーバーラップして転送データは、PE400−
11に近いプロセッサまで転送を進行させることができ
る。
【0038】図7においてデータパケットシーケンス
(S70)の斜線部は現データ流がロックされている事
を示す。本来ならPE24〜PE44までのデータ転送
状態にわたってデータ流がロックされることになるが、
本例でPE44の領域のみがロックされているのは、デ
ータ要求コマンドが優先転送される時、ロックされた後
のPEは通常のデータ転送に回復し、ロックに関係する
PEの最終段は、データ要求コマンドが到着するまで
は、現在時データ転送装置内にバッファリングされてい
るデータを出力し続けるためである。
【0039】また本発明によって、得られる効果を再度
図8に示す。図8は、図7と同様のタイムチャートを示
したものである。図7と異なる点は、データパケットシ
ーケンス(S80)の最中最もデータパケットシーケン
ス(S80)をロックした状態を示したものである。転
送形態等の例に関しては、図2の示すところと同様であ
る。ロックデータ要求コマンド伝送(S81)において
も、図7の場合同様、データ要求コマンド伝送(S8
1)のターゲットPEに対する到着が早いため、データ
パケットシーケンス(S80)の実行サイクルと並列に
データアクセス(S82)、データ転送シーケンス(S
83)を実行して見かけ上時間軸を隠すことができるた
め、従来の転送タイムと、本発明の転送タイムの差を見
れば、明かにデータ転送効率が向上することになる。
【0040】以上のように本発明によれば、図6と図
7、図8のタイムチャートを比較すれば、従来の転送タ
イムと、本発明の転送タイムの差に見られるように、デ
ータ転送効率が向上する事が明かになる。
【0041】なお本実施例において、データ受信ポート
および、データ送信ポートでは、各々コマンド認識手段
を用いてデータ要求コマンドのバイパスを実施していた
が、本機構をデータ受信ポートのみに装備させ、データ
受信ポートの対となるデータ送信ポートの送信制御手段
ならびにセレクタに前記コマンド認識手段の出力を制御
信号として入力することで同様の効果を得る構成として
もよい。
【0042】本発明の第2の実施例について説明する。
第1の実施例では、手段および装置として本発明の実施
例を示した。本例では、同じ効果を目的としたマルチプ
ロセッサシステムにおける命令列を生成するコンパイル
方式についてのべる。
【0043】図11は本実施例のコンパイル方法を示し
たものである。図11(a)において1000は、プログ
ラム言語の構文を解析する構文解析ステップである。1
001は、構文解析ステップ1000で解析された構文
の意味解析を実行する意味解析ステップである。100
2は、意味解析ステップ1001で解析されたプログラ
ムの意味解釈にしたがって、各変数等の依存関係を解析
および依存関係の整理を実施する依存解析ステップであ
る。1003は、依存解析ステップ1002で依存解析
および依存関係の整理を実施した後の実行コードを生成
するコード生成ステップである。
【0044】図11(b)は特定のデータ転送要求命令の
シーケンスのみを表示したものである。同図において、
S1004は、特定のデータ転送要求命令実行シーケン
スにおける意味解析ステップの動作を示す。S100
5、S1006は、同命令実行シーケンスにおける依存
解析ステップの動作を示す。S1007は、同命令実行
シーケンスにおける、コード生成ステップの動作を示
す。
【0045】以上のように構成されたコンパイル方法に
従ってその動作を説明する。図11(a)において構文解
析ステップは実行するプログラムを入力として、その構
文解析を実行し、意味解析可能な中間言語を出力する。
さらに前記中間言語は、意味解析ステップ1001に送
られる。意味解析ステップにおいて自PE外のPEから
データを得るための命令である、LOAD EXTERNAL命令の
存在をチェックして認識する(S1004)。
【0046】さらに意味解析ステップにおいて意味解析
を行われた中間言語は、依存解析ステップ1002に送
られ、変数の依存関係等の解析を実行し、必要に応じて
順序の並べ変えを実行する。この時依存解析ステップ1
002では、前記LOAD EXTERNAL命令(S1004)が
存在する時、LOAD EXTERNAL命令データに依存しない処
理コードポイントをサーチ(S1005)して記録する
(S1006)。LOAD EXTERNAL命令は、データ要求コ
マンド発行命令と、データの待ち受けルーチンに分解さ
れる。この時データ要求コマンド発行命令は、ステップ
(S1006)において記録された場所までさかのぼっ
て命令発行位置を挿入して命令コードを生成する(S1
007)。この作業は、コード生成部1003において
実行される。
【0047】さらに簡単な例を用いて説明をする。図1
2はマルチプロセッサシステムの一PEにおいて実行さ
れる命令がコンパイルされ、コード生成されるまでの概
念を示したものである。
【0048】図12(a)の1500はソースコードであ
り、式の中の変数のほとんどは、自PEに保持している
が、変数”M”だけが外部PEに保持されている。その
ソースコード1500は、構文解析ステップ1000に
おいて構文解析され、オブジェクトコード1501を生
成する。本例では、アセンブラレベルの表記法で示すこ
とにする。意味解析ステップ1001では、ステップ
(S1004)に従って変数”M”を自PEにロードす
るために、LOAD EXTERNAL命令を生成する。図12(b)に
示すように前記LOAD EXTERNAL命令はさらに命令コマン
ド1600の中の下記の2つの命令列に分解される。 (1)データ要求コマンドの発行命令 #PUT COMMA
ND(1602) (2)データの待ち受け処理命令列 #Wating Ro
utine(1603) である。
【0049】さらにコード生成ステップ1003では、
ステップ(S1007)に従って命令コマンド1602
をすでに、サーチして記録してある非データ依存部16
01に挿入する。そのようにして生成された命令コード
列が1503である(図12(c))。
【0050】第1の実施例と同様に、本実施例の効果と
しては、データ要求コードを出来る限り先行的に発行す
ることによってデータを保持しているPEにデータ要求
を一早く知らせることを目的とし、その結果バスが空い
ている状態や、ネットワークバスが空いている状態に早
めにデータをアクセスして用意することが可能になり、
データ転送効率を向上させる命令コードを生成すること
が可能となる。
【0051】
【発明の効果】以上のように本発明のデータ転送手段に
よれば、マルチプロセッサシステムの一PEが他PEの
データを要求して得るような場合に、ネットワークバス
のトラフィックが混雑している場合でも、早期にデータ
受信を可能にする。
【0052】また、本発明のデータ転送装置により、マ
ルチプロセッサシステムを構成した場合、他PEのデー
タを要求してデータを得るという処理を現在のネットワ
ークバストラフィックの混雑による影響を少なくして、
早期にデータ受信を可能にする。
【0053】また、本発明のコンパイル方式により、マ
ルチプロセッサシステムの命令コードを生成した場合、
他PEのデータを要求してデータを得るという処理を現
在のネットワークバストラフィックの混雑による影響を
少なくして、早期にデータ受信を可能にする。
【図面の簡単な説明】
【図1】本発明の第1の実施例におけるデータ転送装置
の構成図
【図2】本発明の第1の実施例におけるマルチプロセッ
サシステムの構成図
【図3】本発明の第1の実施例におけるデータ転送手段
を示したフローチャート
【図4】本発明の第1の実施例におけるデータ転送装置
のノーマル動作時の動作概念図
【図5】本発明の第1の実施例におけるデータ転送装置
のデータ要求コマンド転送時の動作概念図
【図6】従来のマルチプロセッサシステムにおける外部
PEデータアクセス時のタイムチャート
【図7】本発明の第1の実施例における外部PEデータ
アクセス時のタイムチャート
【図8】本発明の第1の実施例における外部PEデータ
アクセス時のタイムチャート
【図9】データ要求コマンドの構成図
【図10】転送データの構成図
【図11】本発明の第2の実施例におけるコンパイル方
法のフローチャート
【図12】本発明の第2の実施例におけるコード生成の
実施例を示した図
【図13】従来のマルチプロセッサシステムにおけるデ
ータ転送例を示した図
【図14】従来のマルチプロセッサシステムにおけるデ
ータ転送例を示した図
【符号の説明】
100 データ転送装置 101〜104 データポート 200 データ受信ポート 300 データ送信ポート 201、301 データバッファ 202、302 コマンド認識手段 203、303 FIFOバッファ 204 受信制御手段 304 送信制御手段 205、305 セレクタ 206、306 バイパスバス 207、307 コマンド認識信号 11〜14 内部バス 21〜24 データバス 30 スイッチング手段 400−11〜400−44 PE 35 データ要求コマンド 36 転送データ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】マルチプロセッサシステムにおいて、デー
    タ要求コマンドをデータを管理しているプロセッサエレ
    メントに送出するとき、データ要求コマンドを転送する
    バス上に現在データ転送実行中のデータ流がある場合、
    該データ流を一時停止し、該データ流に先行して該デー
    タ要求コマンドを転送することを特徴としたデータ転送
    方法。
  2. 【請求項2】マルチプロセッサシステムを構成するデー
    タ転送装置において、 外部からデータ受信されるデータの受信制御をする受信
    制御手段と、 前記受信制御手段によって、外部から受信した受信デー
    タを保持するレジスタバッファと、 前記受信制御手段によって、前記レジスタバッファの出
    力を入力としてデータ保持するFIFOバッファと、 前記レジスタバッファのデータ転送コマンドを受信して
    特定のコマンドを認識するコマンド認識手段と、 前記コマンド認識手段が前記特定コマンドコマンドを受
    信したとき前記レジスタバッファの出力を選択し、前記
    特定コマンドが認識されなかった場合は、前記FIFO
    バッファ出力を選択して出力するセレクタからなるデー
    タ受信ポートとを具備するデータ転送装置。
  3. 【請求項3】マルチプロセッサシステムを構成するデー
    タ転送装置において、 データを外部に出力するデータ送信制御をする送信制御
    手段と、 前記送信制御手段によって、外部に送信する送信データ
    を一時的に保持するレジスタバッファと、 前記送信制御手段によって、前記レジスタバッファの出
    力を入力としてデータ保持するFIFOバッファと、 前記レジスタバッファのデータ転送コマンドを入力とし
    て特定のコマンドを認識するコマンド認識手段と、 前記コマンド認識手段が前記特定コマンドコマンドであ
    るとき、前記レジスタバッファの出力を選択し、前記特
    定コマンドが認識されなかった場合は、前記FIFOバ
    ッファ出力を選択して出力するセレクタからなるデータ
    送信ポートとを具備するデータ転送装置。
  4. 【請求項4】複数の請求項2記載のデータ受信ポート
    と、複数の請求項3記載のデータ送信ポートとからなる
    データポートと、 特定のデータポート同士を接続するスイッチング手段と
    を具備するデータ転送装置。
  5. 【請求項5】マルチプロセッサシステムのコンパイラで
    あって、 プログラムの構文の解析を構文解析ステップと、 前記構文解析ステップにおいて解析された構文の意味を
    解析し、自プロセッサ以外のプロセッサからデータをロ
    ードする命令を抽出する意味解析ステップと、 前記外部データロード命令のロードデータとデータ依存
    関係のない処理コード挿入可能位置をサーチしてその場
    所を記憶する依存解析ステップと、 前記外部データロード命令のデータ要求コマンド発行命
    令を、前記挿入可能位置に挿入してコード配置を変更
    し、他の命令実行コードを生成するコード生成ステップ
    とを具備するコンパイル方法。
JP10654994A 1994-05-20 1994-05-20 データ転送方法およびデータ転送装置並びにコンパイル方法 Pending JPH07319830A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10654994A JPH07319830A (ja) 1994-05-20 1994-05-20 データ転送方法およびデータ転送装置並びにコンパイル方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10654994A JPH07319830A (ja) 1994-05-20 1994-05-20 データ転送方法およびデータ転送装置並びにコンパイル方法

Publications (1)

Publication Number Publication Date
JPH07319830A true JPH07319830A (ja) 1995-12-08

Family

ID=14436439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10654994A Pending JPH07319830A (ja) 1994-05-20 1994-05-20 データ転送方法およびデータ転送装置並びにコンパイル方法

Country Status (1)

Country Link
JP (1) JPH07319830A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018514A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
JP2006127183A (ja) * 2004-10-29 2006-05-18 Renesas Technology Corp 情報処理装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018514A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
US7822888B2 (en) 2004-06-30 2010-10-26 Fujitsu Limited Data buffer control which controls selection of path and operation of data buffer, based on stored configuration information
JP2006127183A (ja) * 2004-10-29 2006-05-18 Renesas Technology Corp 情報処理装置
US7853776B2 (en) 2004-10-29 2010-12-14 Renesas Technology Corp. Handover between software and hardware accelerator
JP4602047B2 (ja) * 2004-10-29 2010-12-22 ルネサスエレクトロニクス株式会社 情報処理装置

Similar Documents

Publication Publication Date Title
US6125399A (en) Computer system including a plurality of nodes for transferring through a data transfer network messages having distinguishing fields used for distinguishing the messages and controlling receipt thereof
US5630059A (en) Expedited message transfer in a multi-nodal data processing system
US5251306A (en) Apparatus for controlling execution of a program in a computing device
US5606703A (en) Interrupt protocol system and method using priority-arranged queues of interrupt status block control data structures
KR100268565B1 (ko) 다중 처리 시스템에서 타스크를 큐잉하기 위한 시스템 및 방법
CA1204516A (en) Data flow type information processing stystem
US6233602B1 (en) Dynamically allocating server processes to client processes
US20060184753A1 (en) Full access to memory interfaces via remote request
JPH02178756A (ja) マルチプロセッサ作業スケジュールシステム
US4692861A (en) Microcomputer with interprocess communication
US5333320A (en) Electronic computer system and processor element used with the computer system
CN112306946B (zh) 一种多核处理器及其执行复杂计算的方法
JP2587190B2 (ja) システム間チャネルページング機構
JP3721780B2 (ja) 複数のパイプライン処理機構を有するデータ処理装置
WO1995028676A1 (en) Local semiautonomous dedicated-storage access for parallel processors
JP4642531B2 (ja) データ要求のアービトレーション
JPH06168264A (ja) ベクトル処理装置
JPH0793269A (ja) データ転送の一括化処理方法
JPH07319830A (ja) データ転送方法およびデータ転送装置並びにコンパイル方法
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
JP3261766B2 (ja) マルチプロセッサシステム、共有変数更新装置、プロセッサユニット及び共有変数更新方法
KR950014163B1 (ko) 분산 프로그램을 스택하기 위한 방법 및 장치
JPH0628322A (ja) 情報処理装置
JP2781742B2 (ja) 並列計算機
JPH064401A (ja) メモリアクセス回路