説明

データ転送方法

【課題】ハードウェア追加を必要とせず、リード命令の滞留を解消することができるデータ転送方法を提供することである。
【解決手段】本発明は、リード命令処理部(6)のリード命令退避手段(13)で、他ノードからリード命令を受信した時にリード命令を格納するバッファ(9)の空き状態を判定する。バッファ(9)が一杯の場合には、リード命令退避手段(13)でリード命令を主記憶装置(8)に書き込む命令を生成、ライトポインタ(14)で主記憶装置(8)のライトアドレスを生成した後、リード命令書込/読出生成手段(16)からリード命令を書き込むための命令を主記憶装置(8)に送出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータ転送方法に関する。
【背景技術】
【0002】
図2は、従来のデータ転送方法を説明するブロック図である。
【0003】
図2において、1−0、・・・、1−Yはノードであり、2はネットワークであり、3−0、・・・、3−nはバッファであり、4はクロスバであり、5は演算処理装置であり、6はリード命令処理部であり、7はアドレス生成部であり、8は主記憶装置であり、9はリード命令格納バッファであり、10はアドレス保持レジスタであり、11はアダーであり、12はデータ読み出し命令生成手段である。図2において、ノード(1−Y)のリード命令を二点鎖線で示し、ノード(1−X)のリード命令を一点鎖線で示す。
【0004】
従来は、ノード(1−n)からノード(1−X)とノード(1−Y)にリード命令を発行した場合、リード命令を受信したノード(1−X)のリード命令処理部(6)ではアドレス生成部(7)のリード命令処理状態を判断し処理中の命令がない場合にリード命令を送出、アドレス生成部(7)ではアドレスを生成し読み出し命令生成手段(12)において命令を生成した後、主記憶装置(8)に送出する。アドレス生成部(7)では転送データ長分のアドレスと命令を生成するため、転送データ長に応じたアドレス生成時間が必要である。このためリード命令処理部(6)では、複数のリード命令を受信した場合、先行命令がアドレス生成部(7)で処理中の時には後続命令をバッファ(9)で保持し、アドレス生成部(7)での処理が終了後、順次リード命令をアドレス生成部(7)に送出する。
【0005】
特許文献1には、キューが満杯になったときにキューに空きが生じるまで待たされることなく、キューへのデータ出力を行うことができるキュー装置が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平8−36877号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述のような従来のデータ転送方法では、ノード(1−X)で多数のノード間リード命令を受信した場合、ノード(1−X)のリード命令処理部(6)のリード命令を格納するバッファ(9)が一杯の状態では、リード命令がネットワーク(2)のバッファ(3)(図2では、バッファ(3−n))に滞留する。バッファ(3)において後続に同一ノードからノード(1−Y)に発行したリード命令がある場合、ノード(1−Y)のリード命令処理部がリード命令を受信可能な状態であっても、先行するノード(1−X)に向かうリード命令が滞留しているために、ノード(1−Y)のリード命令がネットワーク(2)に滞留してしまうという課題があった。
【0008】
特許文献1に記載の発明では、キュー装置のほかにデータ退避バッファやそのデータ退避バッファとのインタフェース等のハードウェア追加が必要であるという問題があった。
【0009】
本発明は上記の点にかんがみてなされたもので、ハードウェア追加を必要とせず、リード命令の滞留を解消することができるデータ転送方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するにあたり、本発明は、リード命令処理部(6)のリード命令退避手段(13)で、他ノードからリード命令を受信した時にリード命令を格納するバッファ(9)の空き状態を判定する。バッファ(9)が一杯の場合には、リード命令退避手段(13)でリード命令を主記憶装置(8)に書き込む命令を生成、ライトポインタ(14)で主記憶装置(8)のライトアドレスを生成した後、リード命令書込/読出生成手段(16)からリード命令を書き込むための命令を主記憶装置(8)に送出する。バッファ(9)に空きができた時には、リード命令退避手段(13)で主記憶装置(8)からリード命令を読み出す命令を生成、リードポインタ(15)で主記憶装置(8)のリードアドレスを生成した後、リード命令書込/読出生成手段(16)からリード命令を書き込むための命令を主記憶装置(8)に送出する。読み出したリード命令はバッファ(9)に格納し、アドレス生成部(7)で処理中の命令が無いときにバッファ(9)から読み出した後に順次送出する。命令の順序を保証するため、主記憶装置(8)にリード命令を書き込んだ場合、以降のリード命令は同様に一度主記憶装置(8)に書き込んだ後、バッファ(9)に読み出してからアドレス生成部(7)に送出する制御を行う。
【0011】
このようにして本発明では、ノード(1−X)に多数のリード命令が集中しリード命令を格納するバッファ(9)が一杯の状態であっても、リード命令を一時的に主記憶装置(8)に退避することで、ノード(1−n)からノード(1−X)に発行されたリード命令がネットワーク(2)のバッファ(3−n)に滞留することがないため、後続にノード(1−Y)に発行したリード命令があってもネットワーク(2)に滞留することがなく送出することが可能となる。
【発明の効果】
【0012】
本発明によれば、以下のような効果を奏する。
【0013】
すなわち、本発明によれば、ノード(1−X)で多数のリード命令を受信しリード命令処理部(6)のリード命令を格納するバッファ(9)が一杯の状態であっても、リード命令を一時的に主記憶装置(8)に退避することで、ノード(1−n)からノード(1−X)に発行されたリード命令がネットワーク(2)のバッファ(3−n)に滞留することがないため、バッファ(3−n)において後続にノード(1−Y)に発行したリード命令があってもバッファ(3−n)に滞留することなく送出が可能となる。
【図面の簡単な説明】
【0014】
【図1】本発明によるデータ転送方法の一実施形態を説明するブロック図である。
【図2】従来のデータ転送方法を説明するブロック図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【0016】
本発明は、ネットワークを介して複数ノードが接続され、各ノードに演算処理装置と主記憶装置を備え、演算処理装置に他ノードからリード命令を受信した時に主記憶装置からのデータ読み出し命令を発行するリード命令処理部とリード命令のアドレスを生成するアドレス生成部を備える計算機システムにおいて、他ノードからリード命令を受信した時、リード命令処理部ではアドレス生成部でのリード命令処理状態を判断し、処理中の命令が無い時にアドレス生成部に対してリード命令を送出する。
【0017】
アドレス生成部では転送データ長分のアドレス生成を行うが、処理時間が長く連続で命令を受け付けられないため、リード命令処理部で連続してリード命令を受信した場合には、後続のリード命令はバッファに保持しておき、アドレス生成部で先行リード命令のアドレス生成が終了後、順次リード命令をバッファから読み出しアドレス生成部に送出する。
【0018】
リード命令処理部にてバッファが一杯となり後続リード命令を受信してもバッファに格納できなくなった場合には、リード命令を一旦主記憶装置に書き込むための命令を生成する。
【0019】
アドレス生成部での先行するリード命令のアドレス生成が終わったら、リード命令処理部ではバッファからリード命令を読み出しアドレス生成部に送出するが、この時にバッファに空きができるので、主記憶装置に書き込んだリード命令を読み出すための命令を発行、読み出したリード命令をバッファへ格納した後、アドレス生成部での処理状況に応じてリード命令をアドレス生成部に送出することを特徴とする。
【0020】
図1は、本発明によるデータ転送方法の一実施形態を説明するブロック図である。
【0021】
図1において、1−0、・・・、1−Yはノードであり、2はネットワークであり、3−0、・・・、3−nはバッファであり、4はクロスバであり、5は演算処理装置であり、6はリード命令処理部であり、7はアドレス生成部であり、8は主記憶装置であり、9はリード命令格納バッファであり、10はアドレス保持レジスタであり、11はアダーであり、12はデータ読み出し命令生成手段であり、13はリード命令退避手段であり、14はライトポインタであり、15はリードポインタであり、16はリード命令書込/読出生成手段であり、17はリード命令退避制御部である。図1において、ノード(1−Y)のリード命令を二点鎖線で示し、ノード(1−X)のリード命令を一点鎖線で示す。
【0022】
図1において、リード命令処理部(6)では他ノードからリード命令を受信時、リード命令退避手段(13)によりリード命令を格納するバッファ(9)の空き状態を判定する。バッファ(9)が一杯でリード命令を格納できない状態であった場合には、リード命令退避手段(13)でリード命令を主記憶装置(8)に書き込む命令を生成、ライトポインタ(14)で主記憶装置(8)へライトアドレスを生成した後、リード命令書込/読出生成手段(16)からリード命令を書き込むための命令を主記憶装置(8)に対して送出する。バッファ(9)に空きができた時には、リード命令退避手段(13)でリード命令を主記憶装置(8)から読み出す命令を生成、リードポインタ(15)で主記憶装置(8)のリードアドレスを生成した後、リード命令書込/読出生成手段(16)からリード命令を書き込むための命令を主記憶装置(8)に送出し、主記憶装置(8)からリード命令を読み出しバッファ(9)に格納する。
【0023】
次に、図1のリード命令を受信するノード(1−X)の動作についてさらに詳しく説明する。
【0024】
ノード(1−X)のリード命令処理部(6)ではアドレス生成部(7)でのリード命令処理状態を判断し、処理中の命令が無い時にアドレス生成部(7)に対してリード命令を送出する。アドレス生成部(7)では転送データ長分のアドレス生成を行い処理時間が長く連続で命令を受け付けられないため、リード命令処理部(6)で連続してリード命令を受信した場合には、後続のリード命令はバッファ(9)に保持しておき、アドレス生成部(7)で先行のリード命令のアドレス生成が終了後、順次リード命令をバッファ(9)から読み出しアドレス生成部(7)に送出する。バッファ(9)が一杯でリード命令を格納できない状態であった場合には、リード命令退避手段(13)でリード命令を主記憶装置(8)に書き込むリード命令を書き込むための命令を生成、ライトポインタ(14)で主記憶装置(8)のアドレスを生成した後、リード命令処理部(6)よりリード書き込み命令を主記憶装置(8)に対して送出する。バッファ(9)に空きができた時には、リード命令退避手段(13)でリード命令を主記憶装置(8)から読み出すリード命令を読み出すための命令を生成、リードポインタ(15)で主記憶装置(8)のアドレスを生成した後、リード読み出し命令を主記憶装置(8)に対して送出する。主記憶装置(8)からリード命令を読み出しバッファ(9)に格納する。
【0025】
以上説明した本発明によれば、ノード(1−X)で多数のリード命令を受信しリード命令処理部(6)のリード命令を格納するバッファ(9)が一杯の状態であっても、リード命令を一時的に主記憶装置(8)に退避することで、ノード(1−n)からノード(1−X)に発行されたリード命令がネットワーク(2)のバッファ(3−n)に滞留することがないため、バッファ(3−n)において後続にノード(1−Y)に発行したリード命令があってもバッファ(3−n)に滞留することなく送出が可能となる。
【0026】
なお、計算機システムを構成するノード数、演算処理装置、主記憶装置の台数に制限は無く、本発明のブロック図の限りではない。
【産業上の利用可能性】
【0027】
本発明は、ネットワークに接続されたノード間のデータ転送方法に適用可能である。
【符号の説明】
【0028】
1−0、・・・、1−Y ノード
2 ネットワーク
3−0、・・・、3−n バッファ
4 クロスバ
5 演算処理装置
6 リード命令処理部
7 アドレス生成部
8 主記憶装置
9 リード命令格納バッファ
10 アドレス保持レジスタ
11 アダー
12 データ読み出し命令生成手段
13 リード命令退避手段
14 ライトポインタ
15 リードポインタ
16 リード命令書込/読出生成手段
17 リード命令退避制御部

【特許請求の範囲】
【請求項1】
他ノードからリード命令を受信時に、前記リード命令を格納するバッファの空き状態を判定し、前記バッファが一杯でリード命令を格納できない状態であった場合には、前記リード命令を主記憶装置に書き込むことを特徴とするデータ転送方法。
【請求項2】
前記リード命令を前記主記憶装置に書き込む際、リード命令退避手段で前記リード命令を前記主記憶装置に書き込む命令を生成し、ライトポインタで前記主記憶装置へライトアドレスを生成した後、リード命令書込/読出生成手段から前記リード命令を書き込むための命令を前記主記憶装置に対して送出することを特徴とする請求項1に記載のデータ転送方法。
【請求項3】
前記バッファに空きができた時に、前記主記憶装置に書き込まれた前記リード命令を前記バッファに格納することを特徴とする請求項1または2に記載のデータ転送方法。
【請求項4】
前記主記憶装置に書き込まれた前記リード命令を前記バッファに格納する際、リード命令退避手段で前記リード命令を前記主記憶装置から読み出す命令を生成し、リードポインタで前記主記憶装置のリードアドレスを生成した後、リード命令書込/読出生成手段から前記リード命令を書き込むための命令を前記主記憶装置に送出し、前記主記憶装置から前記リード命令を前記バッファに格納することを特徴とする請求項3に記載のデータ転送方法。
【請求項5】
請求項1乃至4のうちのいずれか1項に記載のデータ転送方法を用いることを特徴とするデータ転送システム。
【請求項6】
請求項1乃至4のうちのいずれか1項に記載のデータ転送方法を用いることを特徴とするノード。

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2010−231719(P2010−231719A)
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願番号】特願2009−81272(P2009−81272)
【出願日】平成21年3月30日(2009.3.30)
【出願人】(000168285)エヌイーシーコンピュータテクノ株式会社 (572)
【Fターム(参考)】