JPH07200506A - メッセージ通信コントローラ - Google Patents

メッセージ通信コントローラ

Info

Publication number
JPH07200506A
JPH07200506A JP6000657A JP65794A JPH07200506A JP H07200506 A JPH07200506 A JP H07200506A JP 6000657 A JP6000657 A JP 6000657A JP 65794 A JP65794 A JP 65794A JP H07200506 A JPH07200506 A JP H07200506A
Authority
JP
Japan
Prior art keywords
data
message
register
memory
address
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.)
Withdrawn
Application number
JP6000657A
Other languages
English (en)
Inventor
Nobutaka Imamura
信貴 今村
Hiroaki Ishihata
宏明 石畑
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6000657A priority Critical patent/JPH07200506A/ja
Publication of JPH07200506A publication Critical patent/JPH07200506A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】本発明は分散メモリ型並列計算機におけるメッ
セージ通信を制御するコントローラに関し、メッセージ
通信にかかる時間の内、レイテンシを削減することを目
的とする。 【構成】 DMA転送の制御レジスタとして、共通バス
13のアドレス空間にマッピングしたアドレスレジスタ1
と、データ長レジスタ2とを有し、データ長レジスタ2
に定数値をセットするデータ長初期値設定手段5と、D
MA転送によりメモリから読み出したデータの内、所定
のものを制御レジスタにセットする制御レジスタ設定手
段6とを設け、プロセサ11からDMA転送を起動される
と、データ長初期値設定手段5によりデータ長レジスタ
2に定数値をセットし、アドレスレジスタ1の指定する
アドレスを先頭とするメモリ12の領域からデータを取り
出し、制御レジスタ設定手段6により所定のデータを制
御レジスタにセットし、それに続くデータをメッセージ
のヘッダおよびメッセージ本体として扱うように構成す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は分散メモリ型並列計算機
におけるメッセージ通信を制御するコントローラに関す
る。
【0002】計算機の高速化の1つの形態として分散メ
モリ型並列計算機がある。分散メモリ型並列計算機で
は、プロセサユニット間の情報交換手段としてメッセー
ジ通信を用いる。このメッセージ通信にかかる時間が大
きいと計算機全体の性能が低下する。メッセージ通信の
性能は、単位時間当たりのデータ転送量で表されるスル
ープットと、送信側で送信を開始した時点から受信側で
受信を開始する時点までの時間で表されるレイテンシと
で表される。メッセージ通信にかかる時間のうちスルー
プットはメッセージの長さに依存し、レイテンシはメッ
セージの長さに係わらずかかる時間である。従ってレイ
テンシを短くすることが必要であるが、特に、プロセサ
の数が増大するに従って、メッセージ通信1回当たりの
メッセージ長は短くなる傾向があるため、短いメッセー
ジの場合のレイテンシ削減が重要である。
【0003】
【従来の技術】図5は分散メモリ型並列計算機のメッセ
ージ通信の概念を示す図である。個々のプロセサユニッ
ト10は、プロセサ11とメモリ12とコントローラ14とが、
共通バス13によって結合されており、一般的なマイコン
システムと本質的な違いはない。この場合、コントロー
ラ14はメッセージ通信コントローラであり、通信路(ネ
ットワーク)20を通してプロセサユニット10間のメッセ
ージ通信を制御する。
【0004】メッセージ通信は個々のプロセサユニット
10内では、DMA(Direct MemoryAccess)方式によっ
て行なうのが通常である。コントローラ14はDMA制御
回路を備え、DMA制御回路はコマンド(この場合は通
信モード等)、メモリアドレス(メッセージ・アドレ
ス)、データ長(メッセージ・サイズ)、補助的な制御
データを設定するための制御レジスタを備えている。制
御レジスタの例を図2(1)に示す。
【0005】これらのレジスタは共通バス13のアドレス
空間にマッピングされている。従って、アドレス空間の
特定アドレスに書き込むとこれらのレジスタに書き込む
ことになる。プロセサ11(のプログラム)は特定アドレ
スに書き込むことにより、これらのレジスタを設定して
から起動(送信開始)を指令する。なお、プロセサ11は
その前にメッセージをメモリ12上に用意しておかなけれ
ばならない。また、メッセージの先頭にはヘッダと呼ば
れる、宛先やメッセージのタイプ等のデータを定まった
フォーマットに従って書き込んでおかなければならな
い。図2(2)にメッセージ通信用のヘッダの例を示
す。
【0006】ヘッダは送り先(のOSまたはアプリケー
ションソフトウェア)への指示情報であり、一般にメッ
セージ本体の長さには依存しない。また、同じ内容を繰
り返し使う場合も多い。従って、メッセージ長が短い場
合には、DMA制御レジスタの設定時間、ヘッダを送信
する時間(およびヘッダを作る時間)が、本来のメッセ
ージを送信する時間に比べて大きな割合を占めることに
なる。これがオーバヘッドとなって、メッセージ通信の
レイテンシを増大させることになる。
【0007】また、DMA制御レジスタは、アドレス空
間のうちのハードウェア領域として設定された固定領域
にマッピングされるので、キャッシュがあってもキャッ
シュによる高速化には関係がない。ソフトウェアによっ
て処理されるヘッダ、メッセージの領域とは分離されて
おり、処理を別扱いにしなければならない面倒さがあっ
た。
【0008】以下にメッセージが短い場合にメッセージ
送信にかかる時間を見積もる。並列計算機でよく用いら
れるマイクロプロセサの語長は32ビット/ワードであ
る。従って、1ワード32ビット、データバス幅32ビ
ットと仮定し、DMAの設定に4ワード、ヘッダに4ワ
ード、メッセージが8ワードの場合にかかる時間を見積
もる。説明を簡単にするため、メッセージ通信コントロ
ーラへの1ワードの書込みがアドレスが出てから5サイ
クルで完了し(すなわち6サイクルで1ワードの書込み
が可能)、キャッシュへの書込みは1サイクル、読み出
しは2サイクルで完了するものとする(すなわち、1サ
イクルで1ワードの書込み、2サイクルで1ワードの読
み出しが可能)。またキャッシュのラインサイズは32
バイトとする。バスはブロック転送可能とする。すなわ
ち、バス上に先頭アドレスが1度出たあと、データは連
続してバス上に流れる。
【0009】まず、DMA制御レジスタの内アドレスレ
ジスタ、データ長レジスタ、補助制御レジスタの設定を
3ワード分行い、メモリ上に4ワードのヘッダを作り、
DMAの起動(コマンドレジスタの設定)を指令する。
メッセージ通信コントローラはヘッダとメッセージをD
MA制御レジスタに従って、DMA転送によりメモリ
(キャッシュ)から読み出して通信路へ送出する。
【0010】メッセージは何らかの処理(計算)の結果
としてメモリに書き込まれ、従って、キャッシュ上にあ
る場合が多い。ヘッダとメッセージはキャッシュ上にあ
ると仮定すると、 T= 6サイクル×4ワード DMAレジスタ設定 +1サイクル×4ワード ヘッダ作成 +6サイクル×1ワード 起動 +(5サイクル +1サイクル×12ワード) ヘッダとメッセージの転送 =51サイクル この内、ヘッダとメッセージ本体の送信のためには17
サイクルしかかかっていない。全体の33%程度であっ
て効率が悪い。
【0011】
【発明が解決しようとする課題】本発明は、メッセージ
通信コントローラの構成を工夫し、DMA制御レジスタ
の設定情報とヘッダおよびメッセージ本体とを連続した
領域に用意し、単純操作によってメッセージ通信の起動
を行なうことにより、メッセージ本体に対するオーバヘ
ッドを低く抑えて、特にメッセージ長が短い場合に、効
率のよいメッセージ通信ができるようにすることを目的
としている。
【0012】
【課題を解決するための手段】図1は本発明の実施例の
構成図である。この図により説明する。メッセージ通信
コントローラ14は、複数のプロセサユニット10を通信路
20により結合した分散メモリ型並列計算機のプロセサユ
ニット10内にあり、プロセサユニット10内で、プロセサ
11、メモリ12と共通バス13で結合されている。
【0013】メッセージ通信コントローラ14は、DMA
転送の制御レジスタとして、アドレスレジスタ1とデー
タ長レジスタ2と、他にコマンドレジスタ3や補助制御
レジスタ4等を有し、DMA方式でメモリ12とのデータ
転送を行い、通信路20を介して他のプロセサユニット10
のメッセージ通信コントローラとメッセージ通信を行な
う。
【0014】第1の発明 ここで、少なくともアドレスレジスタ1を共通バス13の
アドレス空間にマッピングしておく。
【0015】データ長レジスタ2に定数値をセットする
データ長初期値設定手段5と、DMA転送によりメモリ
から読み出したデータの内、所定のものを制御レジスタ
にセットする制御レジスタ設定手段6とを設ける。
【0016】プロセサ11からDMA転送を起動される
と、データ長初期値設定手段5によりデータ長レジスタ
2に定数値をセットし、アドレスレジスタ1の指定する
アドレスを先頭とするメモリ12の領域からデータを取り
出し、制御レジスタ設定手段6により所定のデータを制
御レジスタにセットし、それに続くデータをメッセージ
のヘッダおよびメッセージ本体として扱うように構成す
る。
【0017】なお、DMA転送の起動は、アドレスレジ
スタ1への書込みそのものが起動の指令であるようにす
れば簡単である。 第2の発明 第1の発明に加えて、制御レジスタ設定手段6はDMA
転送によりメモリから読み出したデータを調べ、データ
内にある指定に従って制御レジスタにデータをセットし
てデータ転送を継続するように構成する。
【0018】第3の発明 第1の発明または第2の発明に加えて、DMA転送によ
って取り出したデータを格納するメモリであって、共通
バス上のアドレス空間の内にマッピングされたメモリを
データ保持手段8として備え、また、DMA転送の起動
の他にメッセージ送信の起動を区別して認識する起動識
別手段7を備える。起動の区別のためには、例えば、共
通バス13上のアドレスを1つ架空のレジスタに割り付け
て、そのレジスタに対して書き込んだときメッセージ送
信の起動とするなどによって区別すればよい。
【0019】プロセサ11から、DMA転送の起動を指令
されるとDMA転送でデータを読み出し通信路20へ送出
すると共にデータ保持手段8に格納し、メッセージ送信
の起動を指令されると、データ保持手段8からヘッダお
よびメッセージ本体を取り出して、通信路20へ送出する
ように構成する。
【0020】第4の発明 第3の発明において、データ保持手段8として、バスス
ヌープ機構を有するキャッシュメモリを備える。
【0021】
【作用】DMA制御レジスタの設定情報、ヘッダ、メッ
セージ本体はメモリ上に用意し、かつメッセージ本体が
短い場合は連続した領域に一括することができ、扱い易
い。メッセージ通信の起動は、アドレスレジスタへの書
込みそのものであるとすれば、DMAの先頭アドレスを
指定するためのアドレスレジスタへの書込みだけで開始
する。そして、DMAレジスタの設定情報、ヘッダ、メ
ッセージ本体は一括してバス上ブロック転送によりメッ
セージ通信コントローラへ送り込まれるので、高速にで
きる。
【0022】第2の発明では、メッセージ本体が長い場
合は、DMA制御レジスタのデータ長レジスタ2を書き
直すことを指定することにより、初期値として設定され
た長さと異なる値を指定することができる。また、DM
A制御レジスタのアドレスレジスタ1を書き直すことを
指定することにより、メッセージのヘッダまたはメッセ
ージ本体の先頭アドレスを異なった領域に置くことも可
能になる。
【0023】第3の発明の場合は、一度メッセージ通信
コントローラへ送り込まれたDMA制御レジスタの設定
値、ヘッダ、メッセージ本体は、データ保持手段8によ
り保持されている。続けて同じような内容の通信を行な
う場合は、プロセサ11はその内の変更分を書き直し、起
動をかけるだけでよい。
【0024】プロセサ11はアドレス空間にマッピングさ
れた領域へ変更データのみ書き替えるとそれはすなわち
データ保持手段8の内容が変更されたことに等しい。そ
こでデータ保持手段8の内容をDMA転送の代わりに使
うことを指定する起動コマンドを出せば、改めてデータ
をDMA転送する必要がない。
【0025】第4の発明の場合は、データ保持手段8内
に関係するデータが存在しないときは、DMA転送を行
なってデータ保持手段8に書き込むが、その後はデータ
保持手段8としてのキャッシュのバススヌープ機構がバ
スを監視しており、プロセサ11が最初に用意したメモリ
上のデータを書き替えると、キャッシュのバススヌープ
機構としての機能が働いてキャッシュの内容すなわちデ
ータ保持手段8の内容を自動的に更新、または無効化す
る。更新型の場合は第3の発明と同様であるが、無効化
型の場合はその後改めてDMA転送を指定する。
【0026】プロセサ11にキャッシュが付属する場合、
それがライトバック型であると、正しいデータをキャッ
シュだけがもっており、メモリ12は古いデータをもつ場
合がある。それを避けるため、DMA設定データ、ヘッ
ダ、メッセージ本体を用意した後キャッシュを無効化す
る操作が必要があるが、キャッシュにバススヌープ機構
が付属していればその必要がなくオーバヘッド削減に役
立つ。プロセサ11がDMA制御データとメッセージのヘ
ッダおよびメッセージ本体とを連続したメモリ領域に書
いたときキャッシュにその内容が書き込まれるので、領
域がキャッシュのブロック境界を跨がないように先頭ア
ドレスを決めれば、DMA転送は共通バス13のブロック
転送の回数を最小にして行なうことができ、転送自体も
高速である。
【0027】なお、バススヌープ機構とは、バス結合共
有メモリ型マルチプロセサにおいてよく用いられる公知
の技術で、各キャッシュのデータのコヒーレンシ(一貫
性)を保証するための機構であり、各キャッシュにおい
てバスのアドレスを常に監視しており、自分が保持して
いるブロック内のアドレスの内容を書き替えるコマンド
が現れるとそのデータをバスから取り込んで更新する
(更新型)か、またはそのブロックを無効にする(無効
化型)ように働く。
【0028】
【実施例】以下、図面を参照して本発明の実施例を説明
する。図1は本発明の実施例の構成図を示す。この図は
全ての請求項の発明を適用した場合を示している。
【0029】第1の実施例 第1の実施例として、まず、請求項1の発明だけを適用
した場合を説明する。その場合、図1の制御レジスタ設
定手段6は単に順に読み出したデータを制御レジスタに
セットするだけの機能である。また、起動識別手段7、
データ保持手段8は存在しない。
【0030】メッセージ通信コントローラ14は与えられ
たアドレスを先頭として定められた長さのデータをメモ
リ12から読み込む。実際にはキャッシュがプロセサの一
部として存在するので、キャッシュにデータがあればキ
ャッシュから読み込むことになる。その長さはメッセー
ジ長の度数分布と通信路(ネットワーク)のスループッ
ト等のシステムの性能から定める。この実施例では64
バイト(16ワード)と定めてある。
【0031】以下に動作を順を追って説明する。 プロセサ11(のプログラム)は、DMA制御データと
メッセージのヘッダおよびメッセージ本体とを連続した
メモリ領域に書く。領域の開始アドレスは任意に定める
ことができ、ここでは0xf0000(0x....は16進表現であ
る)としてある。図3に示すように、DMA制御データ
は16バイト(4ワード)、ヘッダが16バイト、メッ
セージ本体は32バイトで、合計64バイトである。
【0032】プロセサ11は領域の開始アドレス(先頭
アドレス)0x0f0000をメッセージ通信コントローラ14の
アドレスレジスタ1に書き込む。 メッセージ通信コントローラ14はこのレジスタに書込
みがあると、起動の指令と解釈して動作を開始する。な
お、アドレスとコマンドとは別のレジスタとし、アドレ
スを指定するのと、送信の起動指令(コマンドレジスタ
へ書込む)とを別にしてもよいがその場合は2段階操作
となり少し遅くなる。
【0033】メッセージ通信コントローラ14はアドレス
レジスタ1の内容を先頭とするメモリ12の領域からデー
タを読み出し、先頭の16バイト(4ワード)の内、コ
マンドと補助制御データとを対応する制御レジスタ3,
4にセットする。次の16バイト(4ワード)はヘッダ
として、さらに次の32バイト(8ワード)はメッセー
ジ本体としてインタフェース制御部42に渡し、その制御
のもとに通信路20を介して他のプロセサユニットへ送信
する。
【0034】以上の場合、アドレスレジスタ1にメモリ
のアドレスを書き込む1操作で、メッセージ通信コント
ローラ14に指示を与えることができる。なお、先頭の1
6バイト(4ワード)の内、使用するのはコマンドと補
助制御データの8バイト(2ワード)だけであるので、
初めからこの2ワードだけとした仕様にしてもよい。
【0035】第2の実施例 図1は第2の実施例の構成を示したものであり、図3
に、その場合のメモリ(キャッシュ)上に用意されるべ
きデータおよびDMA設定データのフォーマットを示
す。この実施例では、メモリ12上に用意するデータの
内、DMA制御データ22について、個々に、対応する制
御レジスタへのセットを禁止することを指定するビット
21があり、メッセージ通信コントローラ14の制御レジス
タ設定手段6はそれに従って、禁止指定のない制御デー
タは対応する制御レジスタにセットし、禁止指定のある
制御データに対応する制御レジスタはそのままとする。
図3に示した例では、アドレスレジスタと、データ長レ
ジスタの設定データには禁止指定がしてあり、初期設定
の指定の通りに動作することになる。その場合は第1の
実施例で示した動作と同じである。
【0036】なお、以上の説明ではDMA設定データの
フォーマットは図の(A)に示すように個々の制御デー
タの先頭ビットを禁止ビットとしているが、(B)に示
すように、例えばコマンドレジスタ対応の制御データの
一部に禁止ビットをまとめてモード指定23として置くよ
うに構成してもよい。
【0037】また、起動識別手段7と、データ保持手段
8としてバススヌープ機構付のキャッシュを設けてあ
る。起動識別手段7は、前述したような動作を行なうD
MA転送の起動と、データ保持手段8から必要なデータ
を取り出して動作を行なうメッセージ送信の起動とを区
別して認識する。その区別はアドレスレジスタのアドレ
スにオフセット値を付けてもよいし、共通バス上のアド
レスを1つ架空のレジスタに割り付けて、そのレジスタ
への書込み(書込みデータはない)をメッセージ送信の
起動としてもよい。
【0038】以下では制御データの禁止指定がない場合
の動作を説明する。 最初にメッセージ通信を行なうときは第1の実施例と
基本的に同じである。ただし、制御レジスタ設定データ
の禁止ビットの指定に従って制御レジスタの内容の設定
し直しを行なうことができる。すなわち、メッセージ通
信コントローラ14の制御レジスタ設定手段6は、DMA
転送によって読み込んだ制御レジスタ設定データのアド
レスレジスタ(およびデータ長レジスタ)対応データを
禁止する指定がなければヘッダのデータまで読み込んだ
時点で、アドレスレジスタ1(およびデータ長レジスタ
2)に対応データをセットするように構成する。
【0039】従って、アドレスレジスタ1、データ長レ
ジスタ2の内容を書き替えるように指定すれば(設定禁
止指定をしなければ)最初の指定(アドレスは制御レジ
スタ設定データの先頭アドレス、データ長は定数値)を
途中で変更することができる。すなわちメッセージ本体
は別の領域に用意しておき、その先頭アドレスを制御レ
ジスタ設定データのアドレスレジスタ対応の場所に書
き、またメッセージ本体の長さを制御レジスタ設定デー
タのデータ長レジスタ対応の場所に書いておく。これに
より、メッセージ本体の大きさやメモリ上の領域につい
て、柔軟に対応することができる。なお、アドレスレジ
スタ1とデータ長レジスタ2の入替えをDMA設定デー
タとヘッダとの間で区分する構成にしてもよい。その場
合はヘッダとメッセージ本体とを一体にして領域をとる
ことになる。
【0040】2回目以降は、以下の通りである。1回
目の処理で読み込まれたデータ(制御レジスタ設定デー
タを含む)は、プロセサが明示的に破棄させない限りデ
ータ保持手段8内に保持されている。従って、全く同じ
内容を送信する場合はデータ保持手段8から送信するこ
とができる。実用的には、そのうちの一部、たとえばメ
ッセージ本体だけを変更する場合が多い。例えば、同じ
相手に同じ記憶場所の同じ長さのデータを送信する場合
である。具体的には、例えば毎回隣のプロセサに同じ配
列(中のデータは異なっている)を送信する場合であ
る。この場合、メッセージ本体は何らかの演算の結果で
あることが多い。データ保持手段8がバススヌープ機構
付のキャッシュとなっていれば、保持している同じアド
レスが書き替えられた場合には自動的に更新または無効
化される。更新型のバススヌープ機構付キャッシュなら
ば改めてメモリから読み込む必要はない。
【0041】A×B=Cという行列の積を並列プロセサ
で演算する場合について考える。図4は、その説明図で
ある。Aはk×mの行列、Bはm×nの行列,Cはk×
nの行列である。これをn個のプロセサの並列計算機で
計算する。各プロセサは行列Bを1×nに分割しても
つ。行列Aの各行を1行づつ1番左のプロセサから右に
伝えていく。各プロセサは流れてきた行列Aの1行と自
分のもっている行列Bの1列とを掛け合わせて、行列C
の1要素を作る。行列Aのすべての行が流れおわると、
行列Cの各列をプロセサが分割してもっていることにな
る。
【0042】このとき、各プロセサ(左右の端のプロセ
サを除く)での処理は、以下の4フェーズを繰り返すこ
とによって行なわれる。以下において、自プロセサをi
番目であるとする。
【0043】1.i−1番目のプロセサから行列Aのj
列目を受信する。(i−1番目のプロセサでは、3のフ
ェーズに相当する。) 2.行列Aのj列目と自分がもっている行列Bのi行目
との積和を計算し、行列Cの要素とする。
【0044】3.i+1番目のプロセサへ行列Aのj列
目を送信する。 4.j=j+1 以上のフェーズの繰り返しによって行列の積が計算され
る。このとき、データの送信と受信に着目すると、毎回
i−1番目のプロセサから同じ長さのメッセージを受信
し、それをそのままi+1番目のプロセサへ送信してい
る。送信相手、送信するメッセージのアドレス、メッセ
ージの長さ、メッセージの種類などは毎回同じである。
このため、DMA設定データとヘッダは同じものをその
まま使うことができる。
【0045】
【発明の効果】先に挙げた例に本発明を適用した場合を
算定する。DMAの設定に4ワード(16バイト)、ヘ
ッダに4ワード(16バイト)、メッセージ本体に8ワ
ード(32バイト)であり、メッセージ通信コントロー
ラへの1ワードの書込みがアドレスが出てから5サイク
ルで完了し(すなわち6サイクルで1ワードの書込みが
可能)、キャッシュへの書込みは1サイクル、読み出し
は2サイクルで完了するものとする。またキャッシュの
ラインサイズは32バイトとする。メッセージはDMA
により8ワードのブロック転送により行なう。すなわ
ち、バス上に先頭アドレスが1度出たあと、データは連
続してバス上に流れるものとする。
【0046】メッセージの送信のために、まずDMA
の設定を書き、ヘッダをつくる。メッセージは続く領域
に書いてもよいし、アドレスレジスタの入替え指定をす
るなら別の領域でもよい。これらの書込みは実際にはプ
ロセサ11に付属するキャッシュに対して行なわれる。
【0047】メッセージ通信コントローラ14に対して
DMA転送の起動を指令する。このときブロック転送が
行なわれ、必要な時間は以下の通りである。 T= 1サイクル×4ワード DMAレジスタ設定データ作成 +1サイクル×4ワード ヘッダ作成 +6サイクル×1ワード 起動:アドレスレジスタ設定 +(5サイクル +1サイクル×16ワード) DMA転送 =35サイクル 従来は51サイクル必要としており、30%の速度向上
となる。
【0048】また、データ保持手段に前回のデータが残
っているので、全く同じものを送信する場合は、送信開
始の指令を出すだけであるので、 T= 6サイクル×1ワード = 6サイクル と、非常に短い時間で終了する。
【0049】メッセージ本体は書き替えたが送り先やサ
イズ等が同じ場合も、同様に指令する。メッセージの書
替えをデータ保持手段のバススヌープ機構が検出するの
で、メッセージ本体のみを新たに読み込む時間が加わ
る。
【0050】 T= 6サイクル×1ワード 起動 +(5サイクル+1サイクル×8ワード) メッセージ読み込み = 19サイクル これも非常に短い時間ですむ。
【0051】以上説明したように、本発明によればメッ
セージ長が短い場合に、また、送り先やメッセージ・サ
イズが同じものを繰り返し送る場合には特に、メッセー
ジ通信のレイテンシの低い通信コントローラを実現する
ことができる。
【図面の簡単な説明】
【図1】 本発明の実施例の構成図
【図2】 制御データ等の例
【図3】 メモリ上に用意するデータとDMA設定デー
タのフォーマット
【図4】 適用例
【図5】 従来の並列計算機のメッセージ通信の概念
【符号の説明】
1 アドレスレジスタ 3 コマンドレ
ジスタ 2 データ長レジスタ 4 補助制御レ
ジスタ 5 データ長初期値設定手段 6 制御レジスタ設定手段 7 起動識別手段 8 データ保持手段 10 プロセサユニット 11 プロセサ 12 メモリ 13 共通バス 14 メッセージ通信コントローラ 20 通信路 41 データバッファ 42 インタフェース制御部 21 データ設定禁止ビット 22 DMA制御データ(DMA設定データ) 23 モード指定

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセサユニット(10)を通信路
    (20)により結合した分散メモリ型並列計算機のプロセ
    サユニット(10)内にあり、 プロセサユニット(10)内で、プロセサ(11)、メモリ
    (12)と共通バス(13)で結合され、 DMA転送の制御レジスタとして、少なくともアドレス
    レジスタ(1)とデータ長レジスタ(2)とを有し、D
    MA方式でメモリ(12)とのデータ転送を行い、通信路
    (20)を介して他のプロセサユニット(10)のメッセー
    ジ通信コントローラとメッセージ通信を行なうメッセー
    ジ通信コントローラ(14)において、 少なくともアドレスレジスタ(1)を共通バス(13)の
    アドレス空間にマッピングしておき、 データ長レジスタ(2)に定数値をセットするデータ長
    初期値設定手段(5)と、DMA転送によりメモリから
    読み出したデータの内、所定のものを制御レジスタにセ
    ットする制御レジスタ設定手段(6)とを設け、 プロセサ(11) からDMA転送を起動されると、データ
    長初期値設定手段(5)によりデータ長レジスタ(2)
    に定数値をセットし、アドレスレジスタ(1)の指定す
    るアドレスを先頭とするメモリ(12)の領域からデータを
    取り出し、制御レジスタ設定手段(6)により所定のデ
    ータを制御レジスタにセットし、それに続くデータをメ
    ッセージのヘッダおよびメッセージ本体として扱うよう
    に構成したことを特徴とするメッセージ通信コントロー
    ラ。
  2. 【請求項2】 制御レジスタ設定手段(6)はDMA転
    送によりメモリから読み出したデータを調べ、データ内
    にある指定に従って制御レジスタにデータをセットして
    データ転送を継続するように構成したことを特徴とする
    請求項1に記載のメッセージ通信コントローラ。
  3. 【請求項3】 DMA転送によって取り出したデータを
    格納するメモリであって、共通バス上のアドレス空間の
    内にマッピングされたメモリをデータ保持手段(8)と
    して備え、また、DMA転送の起動の他にメッセージ送
    信の起動を区別して認識する起動識別手段(7)を備
    え、 プロセサ(11) から、DMA転送の起動を指令されると
    DMA転送でデータを読み出し通信路(20)へ送出する
    と共にデータ保持手段(8)に格納し、メッセージ送信
    の起動を指令されると、データ保持手段(8)からヘッ
    ダおよびメッセージ本体を取り出して、通信路(20)へ
    送出するように構成したことを特徴とする請求項1また
    は請求項2に記載のメッセージ通信コントローラ。
  4. 【請求項4】 データ保持手段(8)として、バススヌ
    ープ機構を有するキャッシュメモリを備えたことを特徴
    とする請求項3に記載のメッセージ通信コントローラ。
JP6000657A 1994-01-10 1994-01-10 メッセージ通信コントローラ Withdrawn JPH07200506A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6000657A JPH07200506A (ja) 1994-01-10 1994-01-10 メッセージ通信コントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6000657A JPH07200506A (ja) 1994-01-10 1994-01-10 メッセージ通信コントローラ

Publications (1)

Publication Number Publication Date
JPH07200506A true JPH07200506A (ja) 1995-08-04

Family

ID=11479801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6000657A Withdrawn JPH07200506A (ja) 1994-01-10 1994-01-10 メッセージ通信コントローラ

Country Status (1)

Country Link
JP (1) JPH07200506A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012247907A (ja) * 2011-05-26 2012-12-13 Toyota Motor Corp 情報処理装置
EP2645248A1 (en) 2012-03-30 2013-10-02 Fujitsu Limited Information processing apparatus, arithmetic device, and information tansferring method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012247907A (ja) * 2011-05-26 2012-12-13 Toyota Motor Corp 情報処理装置
EP2645248A1 (en) 2012-03-30 2013-10-02 Fujitsu Limited Information processing apparatus, arithmetic device, and information tansferring method
US9003082B2 (en) 2012-03-30 2015-04-07 Fujitsu Limited Information processing apparatus, arithmetic device, and information transferring method

Similar Documents

Publication Publication Date Title
JP3289661B2 (ja) キャッシュメモリシステム
JP2516300B2 (ja) 多重プロセツサ・システムの性能の最適化装置及び方法
US6408345B1 (en) Superscalar memory transfer controller in multilevel memory organization
JP3620473B2 (ja) 共有キャッシュメモリのリプレイスメント制御方法及びその装置
US20020199079A1 (en) Method to prefetch data from system memory using a bus interface unit
JPH04353947A (ja) メモリページ特性タグ付けシステム
JPH01156845A (ja) メモリ・システム
JP2695017B2 (ja) データ転送方式
WO2004031943A1 (ja) データプロセッサ
US6708258B1 (en) Computer system for eliminating memory read-modify-write operations during packet transfers
JPH0650863B2 (ja) 直接データ転送のためのインターフエース
JP3088303B2 (ja) キャッシュ・メモリ・バンク制御装置
JPH07200506A (ja) メッセージ通信コントローラ
US6799247B1 (en) Remote memory processor architecture
JP2000082011A (ja) Dmaユニットによる改良されたメモリ・アクセスをする方法及びコンピュ―タ・システム
US6516343B1 (en) Computer system and method for enhancing memory-to-memory copy transactions by utilizing multiple system control units
JPS58201166A (ja) マルチプロセツサ方式
US7073004B2 (en) Method and data processing system for microprocessor communication in a cluster-based multi-processor network
US6847990B2 (en) Data transfer unit with support for multiple coherency granules
JPS60138664A (ja) 所要デ−タバス幅の異なる装置群のためのデ−タバス方式
JPS6055459A (ja) プロツクデ−タ転送記憶制御方法
JP2000259523A (ja) データ転送装置、lan通信システム及びデータ転送方法
US6266777B1 (en) Information processing apparatus to control bus latency
JP3217348B2 (ja) 情報処理システム
JP2636760B2 (ja) マルチプロセッサシステム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010403