JP2010231719A - データ転送方法 - Google Patents

データ転送方法 Download PDF

Info

Publication number
JP2010231719A
JP2010231719A JP2009081272A JP2009081272A JP2010231719A JP 2010231719 A JP2010231719 A JP 2010231719A JP 2009081272 A JP2009081272 A JP 2009081272A JP 2009081272 A JP2009081272 A JP 2009081272A JP 2010231719 A JP2010231719 A JP 2010231719A
Authority
JP
Japan
Prior art keywords
read
read command
buffer
instruction
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009081272A
Other languages
English (en)
Other versions
JP5403665B2 (ja
Inventor
Koji Kirihara
浩司 桐原
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2009081272A priority Critical patent/JP5403665B2/ja
Publication of JP2010231719A publication Critical patent/JP2010231719A/ja
Application granted granted Critical
Publication of JP5403665B2 publication Critical patent/JP5403665B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

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

Claims (6)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009081272A JP5403665B2 (ja) 2009-03-30 2009-03-30 データ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009081272A JP5403665B2 (ja) 2009-03-30 2009-03-30 データ転送方法

Publications (2)

Publication Number Publication Date
JP2010231719A true JP2010231719A (ja) 2010-10-14
JP5403665B2 JP5403665B2 (ja) 2014-01-29

Family

ID=43047436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009081272A Expired - Fee Related JP5403665B2 (ja) 2009-03-30 2009-03-30 データ転送方法

Country Status (1)

Country Link
JP (1) JP5403665B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014010713A (ja) * 2012-06-29 2014-01-20 Fujitsu Ltd ストレージ装置および書込完了通知方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187296A (ja) * 1992-12-18 1994-07-08 Fujitsu Ltd マルチプロセッサシステム
JPH0836877A (ja) * 1994-07-20 1996-02-06 Fujitsu Ltd キュー装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187296A (ja) * 1992-12-18 1994-07-08 Fujitsu Ltd マルチプロセッサシステム
JPH0836877A (ja) * 1994-07-20 1996-02-06 Fujitsu Ltd キュー装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014010713A (ja) * 2012-06-29 2014-01-20 Fujitsu Ltd ストレージ装置および書込完了通知方法

Also Published As

Publication number Publication date
JP5403665B2 (ja) 2014-01-29

Similar Documents

Publication Publication Date Title
JP2010027032A (ja) Fifo装置及びfifoバッファへのデータ格納方法
JP4836488B2 (ja) データ転送装置及び半導体集積回路装置
CN101706760B (zh) 矩阵转置自动控制电路系统及矩阵转置方法
JP2007034392A (ja) 情報処理装置及びデータ処理方法
JP2008210088A (ja) メモリコントローラ、半導体メモリのアクセス制御方法およびシステム
JP2008033721A (ja) Dma転送制御装置
JP2010146084A (ja) キャッシュメモリ制御部を備えるデータ処理装置
US20140331021A1 (en) Memory control apparatus and method
JP2009217640A (ja) データ転送制御装置
JP5403665B2 (ja) データ転送方法
JP6004463B2 (ja) 記憶装置及びその制御方法
WO2016188392A1 (zh) 一种数据地址产生系统和方法
JPWO2010122607A1 (ja) 記憶制御装置及びその制御方法
JP5360594B2 (ja) Dma転送装置及び方法
WO2015155894A1 (ja) プロセッサーおよび方法
JP2009199384A (ja) データ処理装置
JP6141062B2 (ja) データ処理装置及びクロック供給方法
JP2008225894A (ja) Sdramコントローラ
JP2009032085A (ja) データ処理システム
JP2006024134A (ja) Dma転送装置及びdma転送方法
JP5393626B2 (ja) 情報処理装置
US20090216932A1 (en) Data processing apparatus
JP3467188B2 (ja) 多重化バスの順序保証システム
JP2006155220A (ja) 半導体集積回路及びそのアクセス制御方法
JP2003177960A (ja) 演算装置及び記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130917

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131024

R150 Certificate of patent or registration of utility model

Ref document number: 5403665

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees