JPH08212178A - 並列計算機 - Google Patents
並列計算機Info
- Publication number
- JPH08212178A JPH08212178A JP7020137A JP2013795A JPH08212178A JP H08212178 A JPH08212178 A JP H08212178A JP 7020137 A JP7020137 A JP 7020137A JP 2013795 A JP2013795 A JP 2013795A JP H08212178 A JPH08212178 A JP H08212178A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- command
- read
- main memory
- 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
Links
Landscapes
- Multi Processors (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】
【目的】分散記憶を持った並列計算機において、他のプ
ロセッシングユニット(PU)にある、アドレスの連続
しない複数のデータをアクセスする際の待ち時間,オー
バヘッドを低減する。 【構成】他PUへの書き込み処理では、ネットワーク上
のコマンドで、書き込むデータ1ワード毎に書き込みア
ドレスを指定する。コマンドを受け取ったPUでは、ネ
ットワークコマンド中の、アクセスアドレス,データの
組をアドレスバス,データバスに振り分け、主記憶に書
き込む。他PUデータの読み出し処理も、ネットワーク
上のコマンドで、読み出すデータ1ワード毎に、読み出
しアドレスと、読み出したデータを格納するための返送
先アドレスを指定する。コマンドを受け取ったPUで
は、各々のアドレスのデータを読み出し、返送先アドレ
スに返送する。
ロセッシングユニット(PU)にある、アドレスの連続
しない複数のデータをアクセスする際の待ち時間,オー
バヘッドを低減する。 【構成】他PUへの書き込み処理では、ネットワーク上
のコマンドで、書き込むデータ1ワード毎に書き込みア
ドレスを指定する。コマンドを受け取ったPUでは、ネ
ットワークコマンド中の、アクセスアドレス,データの
組をアドレスバス,データバスに振り分け、主記憶に書
き込む。他PUデータの読み出し処理も、ネットワーク
上のコマンドで、読み出すデータ1ワード毎に、読み出
しアドレスと、読み出したデータを格納するための返送
先アドレスを指定する。コマンドを受け取ったPUで
は、各々のアドレスのデータを読み出し、返送先アドレ
スに返送する。
Description
【0001】
【産業上の利用分野】本発明は複数のプロセッシングユ
ニットからなる並列計算機におけるデータ転送方式に関
する。
ニットからなる並列計算機におけるデータ転送方式に関
する。
【0002】
【従来の技術】計算機性能の飛躍的向上に関して、多数
台のプロセッシングユニット(以下、PU)を並列動作
させる、並列計算機が有望視されている。並列計算機で
は、多数台のPUの間で効率良くデータを通信すること
が重要で、特に大規模な数値演算では、計算に必要な大
量のデータを、PU間で一括して高速に転送するための
アーキテクチャが必要である。
台のプロセッシングユニット(以下、PU)を並列動作
させる、並列計算機が有望視されている。並列計算機で
は、多数台のPUの間で効率良くデータを通信すること
が重要で、特に大規模な数値演算では、計算に必要な大
量のデータを、PU間で一括して高速に転送するための
アーキテクチャが必要である。
【0003】従来の並列計算機におけるデータ転送機構
は、特開平6−19856号公報に示されているように、連続
したアドレスのデータを一括して転送する機構が採用さ
れていた。各PUは他PUの主記憶との間でDMAを行
うための機構を持ち、転送したいデータの領域を指定す
ると、DMA機構のハードウェアが指定された領域を自
動的に転送する。
は、特開平6−19856号公報に示されているように、連続
したアドレスのデータを一括して転送する機構が採用さ
れていた。各PUは他PUの主記憶との間でDMAを行
うための機構を持ち、転送したいデータの領域を指定す
ると、DMA機構のハードウェアが指定された領域を自
動的に転送する。
【0004】
【発明が解決しようとする課題】上記従来技術では、転
送しようとするデータが全て連続したアドレス(もしく
はストライドアクセスなどの定型的なパターン)に存在
する場合は有効であるが、転送するデータのアドレス
が、連続でないランダムなアドレスの場合には、効率が
悪いという問題がある。
送しようとするデータが全て連続したアドレス(もしく
はストライドアクセスなどの定型的なパターン)に存在
する場合は有効であるが、転送するデータのアドレス
が、連続でないランダムなアドレスの場合には、効率が
悪いという問題がある。
【0005】例えば、リモートの非連続な領域に書き込
みを行う場合を考える。その場合、従来の連続アドレス
への書き込みのみが可能なDMAデータ転送機構では、
相手のメモリ上に複数のデータを一括して書き込むこと
ができない。そのため、 (1)1ワード毎にリモート書き込みコマンドを出す。 (2)書き込むデータと書き込むアドレスを入れた2本
の配列を、一旦、相手先PUの別々の領域に2回に分け
て転送した後、相手先のPUに、本来書き込むべき領域
への実際の書き込み処理を依頼する。等の方式が取られ
ていた。
みを行う場合を考える。その場合、従来の連続アドレス
への書き込みのみが可能なDMAデータ転送機構では、
相手のメモリ上に複数のデータを一括して書き込むこと
ができない。そのため、 (1)1ワード毎にリモート書き込みコマンドを出す。 (2)書き込むデータと書き込むアドレスを入れた2本
の配列を、一旦、相手先PUの別々の領域に2回に分け
て転送した後、相手先のPUに、本来書き込むべき領域
への実際の書き込み処理を依頼する。等の方式が取られ
ていた。
【0006】(1)の方式は、1ワード毎の書き込みコ
マンドを多数送出しなければならないため、実行時間が
増大するばかりか、ネットワーク上に大量のパケットを
出す必要が有るため、ネットワークの負荷が増大し、問
題である。
マンドを多数送出しなければならないため、実行時間が
増大するばかりか、ネットワーク上に大量のパケットを
出す必要が有るため、ネットワークの負荷が増大し、問
題である。
【0007】(2)の方式は、ネットワークの負荷は軽
減されるが、一旦アドレス,データを着地させる領域が
新たに必要になり、メモリの使用効率が落ちる。さら
に、相手先のPUに余分な仕事が発生するため、プログ
ラムの実行時間が増大する問題がある。
減されるが、一旦アドレス,データを着地させる領域が
新たに必要になり、メモリの使用効率が落ちる。さら
に、相手先のPUに余分な仕事が発生するため、プログ
ラムの実行時間が増大する問題がある。
【0008】リモートのPUの非連続なアドレスにある
データを読み出そうとした場合も、 (1)1ワード毎に読み出す (2)相手先のCPUに依頼してデータを連続領域に集
めてもらった後、一括して転送する 等の処理が必要となり、書き込みの場合と同様に処理効
率の大幅な低下を招く。
データを読み出そうとした場合も、 (1)1ワード毎に読み出す (2)相手先のCPUに依頼してデータを連続領域に集
めてもらった後、一括して転送する 等の処理が必要となり、書き込みの場合と同様に処理効
率の大幅な低下を招く。
【0009】特に近年、非定型なデータを扱うため、デ
ータ構造としてリストベクトルを利用したプログラムが
数多く見られる。リストベクトルのアクセスの場合、ア
クセス先のアドレスはポインタの配列で示されているた
め、一般には非連続なアドレスのへのデータアクセスと
なる。従ってリストベクトルのプログラムを高速に実行
するには、非連続なアドレスにあるデータを一括して高
速に転送する機構が必要となる。
ータ構造としてリストベクトルを利用したプログラムが
数多く見られる。リストベクトルのアクセスの場合、ア
クセス先のアドレスはポインタの配列で示されているた
め、一般には非連続なアドレスのへのデータアクセスと
なる。従ってリストベクトルのプログラムを高速に実行
するには、非連続なアドレスにあるデータを一括して高
速に転送する機構が必要となる。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、複数のデータを転送するためのネットワークコマン
ドの中で、アクセスを行うリモートアドレスを1データ
毎に指定することが可能なコマンド構造とする。
に、複数のデータを転送するためのネットワークコマン
ドの中で、アクセスを行うリモートアドレスを1データ
毎に指定することが可能なコマンド構造とする。
【0011】他PUの非連続なアドレスへの書き込みの
場合、書き込み先のPUへ送られるネットワークコマン
ドの中に、書き込みアドレスと書き込むべきデータの組
を、任意の個数持たせる。上記コマンドを受け取ったP
Uは、コマンド中の各組のアドレス部分に入っている値
をアドレスバスに、データ部分に入っている値をデータ
バスに振り分け、アドレスで示される領域にデータを書
き込む処理をコマンドの長さだけ繰り返す。これによ
り、他PUのアドレスが非連続な複数のワードへの書き
込みを一つのコマンドで指示することができる。
場合、書き込み先のPUへ送られるネットワークコマン
ドの中に、書き込みアドレスと書き込むべきデータの組
を、任意の個数持たせる。上記コマンドを受け取ったP
Uは、コマンド中の各組のアドレス部分に入っている値
をアドレスバスに、データ部分に入っている値をデータ
バスに振り分け、アドレスで示される領域にデータを書
き込む処理をコマンドの長さだけ繰り返す。これによ
り、他PUのアドレスが非連続な複数のワードへの書き
込みを一つのコマンドで指示することができる。
【0012】非連続なアドレスの読み出しの場合には、
ネットワーク上の要求コマンドに読み出しアドレスと、
読み出したデータを書き込むべき要求側のPUの主記憶
のアドレス(以下では返送先アドレスと呼ぶ)の組を、
任意の個数持たせる。上記コマンドを受け取ったPU
は、コマンド中の各組の中のアドレス部分に入っている
値をアドレスバスに出力して主記憶中の値を読み出した
後、返送先アドレスに書き込むための処理を行う。ここ
で、読み出した値の返送先アドレスへの書き込みは、そ
れ自体、複数の非連続なアドレスへの書き込みとなるの
で、前に記した非連続なアドレスへの書き込みコマンド
を用いて、読み出した値を返送先アドレスへ書き込むよ
うに指示する。これにより、他PUの、アドレスが非連
続な複数のワードのデータを読み出し、自PUの領域に
書き込むことが出来る。
ネットワーク上の要求コマンドに読み出しアドレスと、
読み出したデータを書き込むべき要求側のPUの主記憶
のアドレス(以下では返送先アドレスと呼ぶ)の組を、
任意の個数持たせる。上記コマンドを受け取ったPU
は、コマンド中の各組の中のアドレス部分に入っている
値をアドレスバスに出力して主記憶中の値を読み出した
後、返送先アドレスに書き込むための処理を行う。ここ
で、読み出した値の返送先アドレスへの書き込みは、そ
れ自体、複数の非連続なアドレスへの書き込みとなるの
で、前に記した非連続なアドレスへの書き込みコマンド
を用いて、読み出した値を返送先アドレスへ書き込むよ
うに指示する。これにより、他PUの、アドレスが非連
続な複数のワードのデータを読み出し、自PUの領域に
書き込むことが出来る。
【0013】
【作用】本発明によれば、ネットワーク上を流れる主記
憶アクセスコマンドで、アクセス先のアドレスをデータ
毎に指定し、さらに、返答側PUのハードウェアで前記
コマンドを分解し、主記憶をアクセスするハードウェア
を設ける。これにより、他PUの主記憶上のアドレスが
連続しない複数のデータを、1回のネットワークコマン
ドで高速にアクセスすることができる。
憶アクセスコマンドで、アクセス先のアドレスをデータ
毎に指定し、さらに、返答側PUのハードウェアで前記
コマンドを分解し、主記憶をアクセスするハードウェア
を設ける。これにより、他PUの主記憶上のアドレスが
連続しない複数のデータを、1回のネットワークコマン
ドで高速にアクセスすることができる。
【0014】図1に本発明の並列計算機のブロック図を
示す。図中130が他PUからの要求パケットのヘッダ
を分解するための回路、131が要求パケットのデータ
部のアドレスとデータ等を振り分けるための回路であ
る。データ部のワードの数をカウンタ150で数える。
書き込みコマンドの場合、偶数ワードに入っているアド
レスはアドレスバス160へ、奇数ワードに入っている
データはデータバス161へ出力し、主記憶への書き込み
を行う。これにより、主記憶の非連続なアドレスへの書
き込みを一つのネットワークコマンドで依頼することが
できる。
示す。図中130が他PUからの要求パケットのヘッダ
を分解するための回路、131が要求パケットのデータ
部のアドレスとデータ等を振り分けるための回路であ
る。データ部のワードの数をカウンタ150で数える。
書き込みコマンドの場合、偶数ワードに入っているアド
レスはアドレスバス160へ、奇数ワードに入っている
データはデータバス161へ出力し、主記憶への書き込み
を行う。これにより、主記憶の非連続なアドレスへの書
き込みを一つのネットワークコマンドで依頼することが
できる。
【0015】読み出しコマンドの場合は、偶数ワードに
入っているアドレスをアドレスバス160に出力し、主
記憶をアクセスした後、要求コマンドの奇数ワードに入
っている返送先アドレスと組にして、セレクタ141お
よびヘッダ組立回路140でリモート書き込みコマンド
を組立て、要求元PUに返送する。要求元PUでは前述
の書き込みコマンドとして処理を行うことにより、他P
Uの非連続なアドレスにあるデータを、自PUの非連続
なアドレスに転送することができる。
入っているアドレスをアドレスバス160に出力し、主
記憶をアクセスした後、要求コマンドの奇数ワードに入
っている返送先アドレスと組にして、セレクタ141お
よびヘッダ組立回路140でリモート書き込みコマンド
を組立て、要求元PUに返送する。要求元PUでは前述
の書き込みコマンドとして処理を行うことにより、他P
Uの非連続なアドレスにあるデータを、自PUの非連続
なアドレスに転送することができる。
【0016】図中のコンパレータ151はコマンド中の
アクセスワード数とカウンタ150の値を比べ、コマン
ド処理の終了を検出するための回路である。これによ
り、パケット中でアクセスするワード数を任意に指定で
き、柔軟なリモートアクセスを行うことが出来る。
アクセスワード数とカウンタ150の値を比べ、コマン
ド処理の終了を検出するための回路である。これによ
り、パケット中でアクセスするワード数を任意に指定で
き、柔軟なリモートアクセスを行うことが出来る。
【0017】
【実施例】図1ないし図4に本発明の一実施例を示す。
図1は本発明の並列計算機のブロック図である。図2な
いし図4はPU間ネットワークのコマンドパケットのフ
ォーマットである。図2は非連続なアドレスへ複数のデ
ータの書き込みを指定するためのコマンド(以下ではマ
ルチワードライトと呼ぶ)、図3は非連続なアドレスの
複数のデータの読み出しを指定するためのコマンド(以
下ではマルチワードリードと呼ぶ)である。それに対し
て、図4は従来のDMA書き込みのコマンド(以下では
DMAライトと呼ぶ)である。
図1は本発明の並列計算機のブロック図である。図2な
いし図4はPU間ネットワークのコマンドパケットのフ
ォーマットである。図2は非連続なアドレスへ複数のデ
ータの書き込みを指定するためのコマンド(以下ではマ
ルチワードライトと呼ぶ)、図3は非連続なアドレスの
複数のデータの読み出しを指定するためのコマンド(以
下ではマルチワードリードと呼ぶ)である。それに対し
て、図4は従来のDMA書き込みのコマンド(以下では
DMAライトと呼ぶ)である。
【0018】図1において、100,200はPU、9
00はPU間ネットワークである。以下ではPU100
の内部のみ詳細に記す。他のPUも全く同一の構成を持
つ。PUの内部では、190がCPU、120が主記
憶、160がアドレスバス、161がデータバス、11
0がPU間で従来型のDMA転送を行うためのDMAコ
ントローラである。さらに、130は他PUからのマル
チワードリード,マルチワードライトコマンドのヘッダ
部を解釈するための要求コマンドヘッダ分解回路、13
1は要求コマンドのデータ部のアクセスアドレスと,書
き込みデータ(書き込みの場合)又は返送先アドレス
(読み出しの場合)を振り分けるためのスイッチであ
る。150はデータ部のワード数を数えるためのカウン
タ、150a0はカウンタの最下位ビット、151はコマン
ドパケットの終了を判定するための比較器、132,1
33は主記憶アクセスコマンドを出力するための回路で
ある。134はマルチワードリード,マルチワードライ
トコマンドを切り替えるためのスイッチである。140
はマルチワードリードの返答を行うためのマルチワード
ライトコマンドのヘッダを組み立てる回路、141はマ
ルチワードリードの返答を行うためのマルチワードライ
トコマンドのデータ部の、返送先アドレスとデータの組
を組み立てるためのセレクタである。
00はPU間ネットワークである。以下ではPU100
の内部のみ詳細に記す。他のPUも全く同一の構成を持
つ。PUの内部では、190がCPU、120が主記
憶、160がアドレスバス、161がデータバス、11
0がPU間で従来型のDMA転送を行うためのDMAコ
ントローラである。さらに、130は他PUからのマル
チワードリード,マルチワードライトコマンドのヘッダ
部を解釈するための要求コマンドヘッダ分解回路、13
1は要求コマンドのデータ部のアクセスアドレスと,書
き込みデータ(書き込みの場合)又は返送先アドレス
(読み出しの場合)を振り分けるためのスイッチであ
る。150はデータ部のワード数を数えるためのカウン
タ、150a0はカウンタの最下位ビット、151はコマン
ドパケットの終了を判定するための比較器、132,1
33は主記憶アクセスコマンドを出力するための回路で
ある。134はマルチワードリード,マルチワードライ
トコマンドを切り替えるためのスイッチである。140
はマルチワードリードの返答を行うためのマルチワード
ライトコマンドのヘッダを組み立てる回路、141はマ
ルチワードリードの返答を行うためのマルチワードライ
トコマンドのデータ部の、返送先アドレスとデータの組
を組み立てるためのセレクタである。
【0019】本発明では、各PUがマルチワードコマン
ドを実行するために、パケット中のアドレス情報をスイ
ッチ131により切り分け、主記憶をアクセスする機構
を持つことに特徴が有る。
ドを実行するために、パケット中のアドレス情報をスイ
ッチ131により切り分け、主記憶をアクセスする機構
を持つことに特徴が有る。
【0020】先ず、システム全体の構成について述べ
る。システムは、プログラムを実行するPU(100,
200)が、ネットワークにより接続された構成を取
る。各PUはCPU190及び主記憶120を持ち、主
記憶分散型のマルチプロセッサシステムを構成してい
る。PU間の通信はネットワークを経由したパケット通
信で行われる。
る。システムは、プログラムを実行するPU(100,
200)が、ネットワークにより接続された構成を取
る。各PUはCPU190及び主記憶120を持ち、主
記憶分散型のマルチプロセッサシステムを構成してい
る。PU間の通信はネットワークを経由したパケット通
信で行われる。
【0021】通常(従来型の)PU間の通信は110の
DMA通信機構によって主記憶上のあるまとまった領域
を一括して転送することにより行われる。
DMA通信機構によって主記憶上のあるまとまった領域
を一括して転送することにより行われる。
【0022】図4にネットワーク上のDMAライトコマ
ンドのフォーマットを示す。ネットワークコマンドはヘ
ッダとしてコマンド名1001,宛先PU番号100
2,コマンド長(データ部のワード数)1003,送信
元PU番号1004が置かれる。ヘッダ部の後にデータ
部が置かれる。データ部ではDMAの送り先アドレス1
300aに引続き、DMAで送られるデータ1300d
〜1306dが置かれる。ここで、この実施例でのデー
タの1ワードは4Bである。DMAの送信側では、図4
に示されるパケットをCPUが主記憶上に作成し、DM
Aコントローラは主記憶上のパケットをネットワークに
転送する。DMAライトコマンドを受けたPUのDMA
コントローラは、DATA0〜DATAn−1のデータ
を開始アドレスで示される領域から順番に書き込む。D
MAコントローラの詳細については既知の技術であるの
でここでは説明を略す。
ンドのフォーマットを示す。ネットワークコマンドはヘ
ッダとしてコマンド名1001,宛先PU番号100
2,コマンド長(データ部のワード数)1003,送信
元PU番号1004が置かれる。ヘッダ部の後にデータ
部が置かれる。データ部ではDMAの送り先アドレス1
300aに引続き、DMAで送られるデータ1300d
〜1306dが置かれる。ここで、この実施例でのデー
タの1ワードは4Bである。DMAの送信側では、図4
に示されるパケットをCPUが主記憶上に作成し、DM
Aコントローラは主記憶上のパケットをネットワークに
転送する。DMAライトコマンドを受けたPUのDMA
コントローラは、DATA0〜DATAn−1のデータ
を開始アドレスで示される領域から順番に書き込む。D
MAコントローラの詳細については既知の技術であるの
でここでは説明を略す。
【0023】次にマルチワードライトコマンドの動作に
ついて述べる。図2にマルチワードライトコマンドのフ
ォーマットを示す。ヘッダ部はDMA転送と同じである
が、データ部の形式が異なる。DMA転送ではデータ部
で指定される転送先アドレスは一つであるのに対し、マ
ルチワードライトではデータ1ワード毎にアドレスが指
定される。図の例では、Addr0で示されるアドレスにDa
ta0を、Addr1にData1を、という様に、各データ
を別々のアドレスに書き込むことが出来る。
ついて述べる。図2にマルチワードライトコマンドのフ
ォーマットを示す。ヘッダ部はDMA転送と同じである
が、データ部の形式が異なる。DMA転送ではデータ部
で指定される転送先アドレスは一つであるのに対し、マ
ルチワードライトではデータ1ワード毎にアドレスが指
定される。図の例では、Addr0で示されるアドレスにDa
ta0を、Addr1にData1を、という様に、各データ
を別々のアドレスに書き込むことが出来る。
【0024】マルチワードライトの要求側のPUでは、
図2のパケットをCPUが予め主記憶に作成し、DMA
コントローラ110を利用して主記憶上のパケットをネ
ットワークに転送する(この部分はDMAライトと全く
同じである)。
図2のパケットをCPUが予め主記憶に作成し、DMA
コントローラ110を利用して主記憶上のパケットをネ
ットワークに転送する(この部分はDMAライトと全く
同じである)。
【0025】マルチワードライトを受信したPUはパケ
ットのヘッダを要求コマンドヘッダ分解回路130に、
データ部をスイッチ131に送る。要求コマンドヘッダ
分解回路では、パケットのヘッダ部を分解し、コマンド
種に応じてマルチワードライトの場合は信号130dを
出力すると同時に、データ部の長さ130b,送り元P
U番号130eを出力する。さらにワード数カウンタ1
50にリセット/スタート信号130fを送る。カウン
タ150の出力とパケット中の長さフィールド130b
は比較機151で比較され、両者の値が異なる(カウン
タの値がパケットの長さより小さい)間、信号151a
が出力される。151aにより、カウンタ150がイネ
ーブルされると同時に、ゲート133によって、書き込
みコマンド133aが主記憶120に伝えられる。
ットのヘッダを要求コマンドヘッダ分解回路130に、
データ部をスイッチ131に送る。要求コマンドヘッダ
分解回路では、パケットのヘッダ部を分解し、コマンド
種に応じてマルチワードライトの場合は信号130dを
出力すると同時に、データ部の長さ130b,送り元P
U番号130eを出力する。さらにワード数カウンタ1
50にリセット/スタート信号130fを送る。カウン
タ150の出力とパケット中の長さフィールド130b
は比較機151で比較され、両者の値が異なる(カウン
タの値がパケットの長さより小さい)間、信号151a
が出力される。151aにより、カウンタ150がイネ
ーブルされると同時に、ゲート133によって、書き込
みコマンド133aが主記憶120に伝えられる。
【0026】スイッチ131は、カウンタの最下位ビッ
ト150a0の値、つまり、パケットのデータ部の偶数
ワードか奇数ワードかに応じ、パケットのデータ部の値
131aを、アドレス131c(偶数ワードの場合)と
データ131d(奇数ワードの場合)に振り分ける(ス
イッチ134はマルチワードライトの場合データバス16
1に接続されてる)。これにより、パケット中のアドレ
スとデータの組をアドレスバス160とデータバス16
1に出力し、主記憶120に書き込むことが出来る。
ト150a0の値、つまり、パケットのデータ部の偶数
ワードか奇数ワードかに応じ、パケットのデータ部の値
131aを、アドレス131c(偶数ワードの場合)と
データ131d(奇数ワードの場合)に振り分ける(ス
イッチ134はマルチワードライトの場合データバス16
1に接続されてる)。これにより、パケット中のアドレ
スとデータの組をアドレスバス160とデータバス16
1に出力し、主記憶120に書き込むことが出来る。
【0027】カウンタ150の値がパケットのデータ長
130bと等しくなる(パケットが終了する)と、15
1a信号が出力されなくなる。それにより、主記憶への
書き込み信号133aが止められ、カウンタ150の動
作が止められ、処理が終了する。
130bと等しくなる(パケットが終了する)と、15
1a信号が出力されなくなる。それにより、主記憶への
書き込み信号133aが止められ、カウンタ150の動
作が止められ、処理が終了する。
【0028】以上の処理により、マルチワードライトコ
マンドの中の各アドレス,データの組を主記憶に書き込
むことが出来る。
マンドの中の各アドレス,データの組を主記憶に書き込
むことが出来る。
【0029】次に、マルチワードリードの動作について
述べる。図3にマルチワードリードコマンドのフォーマ
ットを示す。ヘッダ部はDMA転送等と同じである。マ
ルチワードリードは、相手先PUの任意のアドレスの値
を読み、自PUの任意のアドレスに書き込むためのコマ
ンドである。データ部には読み出す相手先PUのアドレ
スと、読み出したデータを書き込む自PU上のアドレス
(返送先アドレス)の組を複数持つ。
述べる。図3にマルチワードリードコマンドのフォーマ
ットを示す。ヘッダ部はDMA転送等と同じである。マ
ルチワードリードは、相手先PUの任意のアドレスの値
を読み、自PUの任意のアドレスに書き込むためのコマ
ンドである。データ部には読み出す相手先PUのアドレ
スと、読み出したデータを書き込む自PU上のアドレス
(返送先アドレス)の組を複数持つ。
【0030】図3の例では、相手先PUのAddr0で示さ
れるアドレスのデータを読み出し、自PUのDest0で示
されるアドレスに書き込み、Addr1のデータをDest1
に、という様に、相手先PUの別々のアドレスのデータ
を読み出し、自PUの別々のアドレスに書き込むことが
出来る。
れるアドレスのデータを読み出し、自PUのDest0で示
されるアドレスに書き込み、Addr1のデータをDest1
に、という様に、相手先PUの別々のアドレスのデータ
を読み出し、自PUの別々のアドレスに書き込むことが
出来る。
【0031】マルチワードリードの要求側のPUでは、
図3のパケットをCPUが予め主記憶に作成し、DMA
コントローラ110を利用して主記憶上のパケットをネ
ットワークに転送する。
図3のパケットをCPUが予め主記憶に作成し、DMA
コントローラ110を利用して主記憶上のパケットをネ
ットワークに転送する。
【0032】マルチワードリードを受信したPUはパケ
ットのヘッダを要求コマンドヘッダ分解回路130に、
データ部をスイッチ131に送る。要求コマンドヘッダ
分解回路では、パケットのヘッダ部を分解し、コマンド
種に応じて、マルチワードリードの場合は信号130c
を出力すると同時に、データ部の長さ130b,送り元
PU番号130eを出力する。さらにワード数カウンタ
150にリセット/スタート信号130fを送る。カウ
ンタ150の出力とパケット中の長さフィールド130
bは比較機151で比較され、両者の値が異なる(カウ
ンタの値がパケットの長さより小さい)間、信号151
aが出力される。151aにより、カウンタ150がイ
ネーブルされると同時に、ゲート132によって、読み
出しコマンド132aが主記憶120に伝えられる。
ットのヘッダを要求コマンドヘッダ分解回路130に、
データ部をスイッチ131に送る。要求コマンドヘッダ
分解回路では、パケットのヘッダ部を分解し、コマンド
種に応じて、マルチワードリードの場合は信号130c
を出力すると同時に、データ部の長さ130b,送り元
PU番号130eを出力する。さらにワード数カウンタ
150にリセット/スタート信号130fを送る。カウ
ンタ150の出力とパケット中の長さフィールド130
bは比較機151で比較され、両者の値が異なる(カウ
ンタの値がパケットの長さより小さい)間、信号151
aが出力される。151aにより、カウンタ150がイ
ネーブルされると同時に、ゲート132によって、読み
出しコマンド132aが主記憶120に伝えられる。
【0033】スイッチ131は、カウンタの最下位ビッ
ト150a0の値、つまり、パケットのデータ部の偶数
ワードか奇数ワードかに応じ、パケットのデータ部の値
131aを、アクセスアドレス131c(偶数ワードの場
合)と返送先アドレス141b(奇数ワードの場合)に
振り分ける(スイッチ134はマルチワードリードの場
合セレクタ141に接続されてる)。その後、アドレス
バス160上のアドレスを用いて、主記憶の値が読み出
され、読み出されたデータは、データバス161を通
り、セレクタ141に入力される。
ト150a0の値、つまり、パケットのデータ部の偶数
ワードか奇数ワードかに応じ、パケットのデータ部の値
131aを、アクセスアドレス131c(偶数ワードの場
合)と返送先アドレス141b(奇数ワードの場合)に
振り分ける(スイッチ134はマルチワードリードの場
合セレクタ141に接続されてる)。その後、アドレス
バス160上のアドレスを用いて、主記憶の値が読み出
され、読み出されたデータは、データバス161を通
り、セレクタ141に入力される。
【0034】その後、返答コマンドヘッダ組立回路14
0,セレクタ141を用いて、読み出された値を送り元
のPUに返送するためのマルチワードライトコマンドが
出力される。このコマンドはAddr0〜Addrn−1に格納
されていた値を、送り元PUのDest0〜Destn−1に書
き込む。
0,セレクタ141を用いて、読み出された値を送り元
のPUに返送するためのマルチワードライトコマンドが
出力される。このコマンドはAddr0〜Addrn−1に格納
されていた値を、送り元PUのDest0〜Destn−1に書
き込む。
【0035】まず、返答コマンド組立回路140は要求
コマンドヘッダ分解回路130から伝えられた送り元P
U(つまり返答コマンド宛先PU)番号130e,コマ
ンド長130bより、返答用のマルチワードライトコマ
ンドのヘッダを送出する。パケットのデータ部141a
には、スイッチ141を用いて、カウンタの最下位ビッ
ト150a0の値(ただし、返答回路では、主記憶アク
セスを待つために、ディレイラッチ152を用いて1サ
イクル遅らせてある)、つまり、パケットのデータ部が
偶数ワードか奇数ワードかに応じ、返送先アドレス14
1b(偶数ワードの場合)もしくは読み出したデータ1
41c(奇数ワードの場合)を出力する。これにより、
送り元PUから送られてきた返送先アドレスと、主記憶
を読み出したデータの組をマルチワードライトコマンド
のデータ部として送り元PUに返送することができる。
コマンドヘッダ分解回路130から伝えられた送り元P
U(つまり返答コマンド宛先PU)番号130e,コマ
ンド長130bより、返答用のマルチワードライトコマ
ンドのヘッダを送出する。パケットのデータ部141a
には、スイッチ141を用いて、カウンタの最下位ビッ
ト150a0の値(ただし、返答回路では、主記憶アク
セスを待つために、ディレイラッチ152を用いて1サ
イクル遅らせてある)、つまり、パケットのデータ部が
偶数ワードか奇数ワードかに応じ、返送先アドレス14
1b(偶数ワードの場合)もしくは読み出したデータ1
41c(奇数ワードの場合)を出力する。これにより、
送り元PUから送られてきた返送先アドレスと、主記憶
を読み出したデータの組をマルチワードライトコマンド
のデータ部として送り元PUに返送することができる。
【0036】カウンタ150の値がパケットのデータ長
130bと等しくなる(パケットが終了する)と、15
1a信号の出力が止められる。それにより、主記憶への
読み出し信号132aが止められ、カウンタ150の動
作が止められ、返送コマンドの送出も終了する。以上の
処理により、マルチワードリードコマンドの中の各アド
レスの値を読み出し、送り元PUの返送先アドレスに書
き込むことができる。
130bと等しくなる(パケットが終了する)と、15
1a信号の出力が止められる。それにより、主記憶への
読み出し信号132aが止められ、カウンタ150の動
作が止められ、返送コマンドの送出も終了する。以上の
処理により、マルチワードリードコマンドの中の各アド
レスの値を読み出し、送り元PUの返送先アドレスに書
き込むことができる。
【0037】以上の方式により、マルチワードライト,
マルチワードリードコマンドを用いて、他PUの主記憶
上のアドレスが非連続な複数のワードに対する、書き込
み,読み出し処理を一つのネットワークコマンドで一括
して行うことが可能である。
マルチワードリードコマンドを用いて、他PUの主記憶
上のアドレスが非連続な複数のワードに対する、書き込
み,読み出し処理を一つのネットワークコマンドで一括
して行うことが可能である。
【0038】
【発明の効果】本発明によれば、分散メモリ型の並列計
算機において、他PUにある、アドレスの連続しない複
数のデータに対するアクセスを、一つのネットワークコ
マンドで依頼し、ハードウェアで自動的に行うことによ
り、従来の連続アドレスに対するアクセスのみが可能な
DMA機構を使用した場合と比較して、アクセスのオー
バヘッドを大幅に削減することが可能になる。
算機において、他PUにある、アドレスの連続しない複
数のデータに対するアクセスを、一つのネットワークコ
マンドで依頼し、ハードウェアで自動的に行うことによ
り、従来の連続アドレスに対するアクセスのみが可能な
DMA機構を使用した場合と比較して、アクセスのオー
バヘッドを大幅に削減することが可能になる。
【図1】本発明の一実施例のリモートアクセス機構を持
った並列計算機のブロック図。
った並列計算機のブロック図。
【図2】ネットワーク上のマルチワードライトコマンド
のフォーマットを示す図。
のフォーマットを示す図。
【図3】ネットワーク上のマルチワードリードコマンド
のフォーマットを示す図。
のフォーマットを示す図。
【図4】従来のDMA書き込みコマンドのフォーマット
を示す図。
を示す図。
100,200…プロセッシングユニット、110…D
MAコントローラ、110a…DMAコマンド、120
…主記憶、130…分解回路、130a…要求コマンド
ヘッダ、130b…データ長、130c…マルチワード
リード信号、130d…マルチワードライト信号、13
0e…送り元PU番号、130f…カウンタコントロー
ル信号、131…スイッチ、131a…要求コマンドデ
ータ、131c…主記憶アドレス、131d…返送先ア
ドレス、132…信号出力ゲート、133…信号出力ゲ
ート、134…切替スイッチ、140…組立回路、140a
…返答コマンドヘッダ、141…セレクタ、141a…
データ、141b…返送先アドレス、141c…読み出
しデータ、150…ワード数カウンタ、150a…カウ
ンタ出力、150a0…カウンタ出力最下位ビット、1
51…コンパレータ、151a…コマンドイネーブル信
号、152…ラッチ、160…アドレスバス、161…
データバス、190…CPU、900…ネットワーク。
MAコントローラ、110a…DMAコマンド、120
…主記憶、130…分解回路、130a…要求コマンド
ヘッダ、130b…データ長、130c…マルチワード
リード信号、130d…マルチワードライト信号、13
0e…送り元PU番号、130f…カウンタコントロー
ル信号、131…スイッチ、131a…要求コマンドデ
ータ、131c…主記憶アドレス、131d…返送先ア
ドレス、132…信号出力ゲート、133…信号出力ゲ
ート、134…切替スイッチ、140…組立回路、140a
…返答コマンドヘッダ、141…セレクタ、141a…
データ、141b…返送先アドレス、141c…読み出
しデータ、150…ワード数カウンタ、150a…カウ
ンタ出力、150a0…カウンタ出力最下位ビット、1
51…コンパレータ、151a…コマンドイネーブル信
号、152…ラッチ、160…アドレスバス、161…
データバス、190…CPU、900…ネットワーク。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤井 啓明 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内
Claims (8)
- 【請求項1】複数のプロセッシングユニットを持ち、各
プロセッシングユニットが独立した主記憶を持ち、前記
各プロセッシングユニットがネットワークにより接続さ
れている並列計算機において、他のプロセッシングユニ
ットの主記憶上にある、アドレスが連続しない複数のデ
ータに対するアクセスを、一つのネットワークコマンド
で指定することを特徴とする並列計算機。 - 【請求項2】請求項1において、任意のアドレスを持つ
複数のデータへの書き込みを、同一のネットワークコマ
ンドで要求する並列計算機。 - 【請求項3】請求項2において、前記ネットワーク上の
データ書き込みコマンドで、書き込みアドレス,書き込
みデータの組を任意の個数持つことが可能である並列計
算機。 - 【請求項4】請求項3において、他プロセッシングユニ
ットから到来した書き込みコマンド中の、書き込みアド
レス,書き込みデータを、主記憶のアドレス線,データ
線に振り分けるためのスイッチを持ち、主記憶への書き
込みを行う並列計算機。 - 【請求項5】請求項1において、任意のアドレスを持つ
複数のデータへの読み出しを、同一のネットワークコマ
ンドで要求する並列計算機。 - 【請求項6】請求項5において、他のプロセッシングユ
ニットから読み出した複数のデータを、自プロセッシン
グユニットの主記憶値の任意の位置に置くことが出来る
並列計算機。 - 【請求項7】請求項6において、ネットワーク上のデー
タ読み出しコマンドで、他プロセッシングの主記憶上の
読み出しアドレス,読み出したデータを格納する自プロ
セッシングユニット上のアドレスの組を任意の個数持つ
ことが可能である並列計算機。 - 【請求項8】請求項7において、他プロセッシングユニ
ットから到来した読み出しコマンドの中の、読み出しア
ドレス,読み出したデータを格納するアドレスを、主記
憶のアドレス線,読み出したデータの返送先アドレスに
振り分けるためのスイッチを持ち、返送先アドレス,読
み出されたデータの組複数個を、一つの書き込みコマン
ドにまとめ、ネットワークへ出力するためのセレクタを
持つ並列計算機。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7020137A JPH08212178A (ja) | 1995-02-08 | 1995-02-08 | 並列計算機 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7020137A JPH08212178A (ja) | 1995-02-08 | 1995-02-08 | 並列計算機 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08212178A true JPH08212178A (ja) | 1996-08-20 |
Family
ID=12018752
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7020137A Pending JPH08212178A (ja) | 1995-02-08 | 1995-02-08 | 並列計算機 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08212178A (ja) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2002077845A1 (en) * | 2001-03-22 | 2002-10-03 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
| US6809734B2 (en) | 2001-03-22 | 2004-10-26 | Sony Computer Entertainment Inc. | Resource dedication system and method for a computer architecture for broadband networks |
| US6826662B2 (en) | 2001-03-22 | 2004-11-30 | Sony Computer Entertainment Inc. | System and method for data synchronization for a computer architecture for broadband networks |
| US7093104B2 (en) | 2001-03-22 | 2006-08-15 | Sony Computer Entertainment Inc. | Processing modules for computer architecture for broadband networks |
| US7139882B2 (en) | 2001-03-22 | 2006-11-21 | Sony Computer Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
| US7231500B2 (en) | 2001-03-22 | 2007-06-12 | Sony Computer Entertainment Inc. | External data interface in a computer architecture for broadband networks |
| US7516334B2 (en) | 2001-03-22 | 2009-04-07 | Sony Computer Entertainment Inc. | Power management for processing modules |
| US9183051B2 (en) | 2004-03-29 | 2015-11-10 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processing task scheduling |
| JP2017146676A (ja) * | 2016-02-15 | 2017-08-24 | 株式会社東芝 | 制御装置および制御方法 |
-
1995
- 1995-02-08 JP JP7020137A patent/JPH08212178A/ja active Pending
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2002077845A1 (en) * | 2001-03-22 | 2002-10-03 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
| US6809734B2 (en) | 2001-03-22 | 2004-10-26 | Sony Computer Entertainment Inc. | Resource dedication system and method for a computer architecture for broadband networks |
| US6826662B2 (en) | 2001-03-22 | 2004-11-30 | Sony Computer Entertainment Inc. | System and method for data synchronization for a computer architecture for broadband networks |
| US7093104B2 (en) | 2001-03-22 | 2006-08-15 | Sony Computer Entertainment Inc. | Processing modules for computer architecture for broadband networks |
| US7139882B2 (en) | 2001-03-22 | 2006-11-21 | Sony Computer Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
| US7231500B2 (en) | 2001-03-22 | 2007-06-12 | Sony Computer Entertainment Inc. | External data interface in a computer architecture for broadband networks |
| US7233998B2 (en) | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
| US7457939B2 (en) | 2001-03-22 | 2008-11-25 | Sony Computer Entertainment Inc. | Processing system with dedicated local memories and busy identification |
| US7516334B2 (en) | 2001-03-22 | 2009-04-07 | Sony Computer Entertainment Inc. | Power management for processing modules |
| US9183051B2 (en) | 2004-03-29 | 2015-11-10 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processing task scheduling |
| JP2017146676A (ja) * | 2016-02-15 | 2017-08-24 | 株式会社東芝 | 制御装置および制御方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6954806B2 (en) | Data transfer apparatus and method | |
| CA2190673C (en) | Parallel processing method for use with graphics processor | |
| US5682551A (en) | System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto | |
| EP2256587A1 (en) | Apparatus and method for direct memory access in a hub-based memory system | |
| US5594878A (en) | Bus interface structure and system for controlling the bus interface structure | |
| CN112506823A (zh) | 一种fpga数据读写方法、装置、设备及可读存储介质 | |
| US20030195918A1 (en) | System and method of scalable transaction processing | |
| JP4053208B2 (ja) | ディスクアレイ制御装置 | |
| US5386514A (en) | Queue apparatus and mechanics for a communications interface architecture | |
| JPH05274252A (ja) | コンピュータシステムにおけるトランザクション実行方法 | |
| US5829035A (en) | System and method for preventing stale data in multiple processor computer systems | |
| JPH08212178A (ja) | 並列計算機 | |
| US5678062A (en) | Input/output control method and data processor | |
| CN109992539B (zh) | 双主机协同工作装置 | |
| US20030177273A1 (en) | Data communication method in shared memory multiprocessor system | |
| US5343557A (en) | Workstation controller with full screen write mode and partial screen write mode | |
| US6108694A (en) | Memory disk sharing method and its implementing apparatus | |
| US20250173185A1 (en) | Distributed task processing method, distributed system, and first device | |
| US12561261B1 (en) | Two-level context caching and eviction for scatter-gather DMA | |
| US20030217232A1 (en) | Data transfer unit with support for multiple coherency granules | |
| CN118069570B (zh) | 一种门铃式芯片访问系统、装置和方法 | |
| US7111301B1 (en) | Request and completion queue load balancing | |
| JP2000112912A (ja) | 分散メモリ型並列計算機におけるリモートメモリに対するテストアンドコピーの処理方式 | |
| JP3447820B2 (ja) | バスコントローラ | |
| JP2594567B2 (ja) | メモリアクセス制御装置 |