JPH11134309A - 計算機、並列計算機システム及びメッセージ送出処理方法 - Google Patents

計算機、並列計算機システム及びメッセージ送出処理方法

Info

Publication number
JPH11134309A
JPH11134309A JP9295242A JP29524297A JPH11134309A JP H11134309 A JPH11134309 A JP H11134309A JP 9295242 A JP9295242 A JP 9295242A JP 29524297 A JP29524297 A JP 29524297A JP H11134309 A JPH11134309 A JP H11134309A
Authority
JP
Japan
Prior art keywords
tcw
request
message
signal line
signal
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
JP9295242A
Other languages
English (en)
Inventor
Nozomi Chiba
望 千葉
Hamilton Patrick
ハミルトン パトリック
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9295242A priority Critical patent/JPH11134309A/ja
Publication of JPH11134309A publication Critical patent/JPH11134309A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 各ノード内で任意の数のメッセージ送出処理
を中断および再開可能として、マルチユーザ向けの並列
計算機を実現する。 【解決手段】 各ノード内で、プロセッサとネットワー
クとのインタフェースを司どるネットワークインタフェ
ースアダプタ(NIA)のセンダ部に、メッセージ送出
処理中断条件の成立を検出する手段と、該メッセージ送
出処理中断条件を検出した場合に該メッセージ送出処理
をメッセージ送出単位に中断する手段と、該中断された
メッセージ送出処理を再開するための制御情報(SMC
W)を格納する手段を設ける。該SMCWは主記憶にキ
ューイングし、プロセッサが該主記憶からSMCWを読
み出してNIAに送付することにより、該中断されたメ
ッセージ送出処理を再開する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプロセッシ
ングノードをネットワークで接続した並列計算機システ
ムにおいて、特に一つのノード内でマルチユーザ環境を
実現し、任意の数のメッセージ送出処理を中断および再
開可能とする計算機及びその並列計算機システム、更に
はメッセージ送出処理方法に関する。
【0002】
【従来の技術】一般的に並列計算機システムはプロセッ
シングノードをネットワークで接続した構成であり、プ
ロセッシングノード間の通信を行うために、プロセッシ
ングノード毎にメッセージの送受信を司るネットワーク
インタフェースアダプタ(NIA)が設けられている。
メッセージ送受信のための制御情報はノード内の主記憶
もしくはNIA内のレジスタに格納され、NIAはユー
ザまたはOSからのメッセージ送出要求を受信すると、
該メッセージ送受信のための制御情報に基づいてメッセ
ージ送受信を行う。メッセージ送受信のための制御情報
が主記憶に格納される場合、特にメッセージ送出では、
メッセージ送受信のための制御情報を複数個連結して、
1回の送出要求で複数のメッセージ送出ができるように
する場合が多い。以降、特にメッセージ送信のための制
御情報をTCWと呼び、該TCWを複数個連結したもの
をTCWチェインと呼ぶことにする。一般にメッセージ
送出要求をNIAが受信した後でも、TCWをTCWチ
ェインに連結することができる。
【0003】従来、並列計算機システムは主に科学技術
計算分野に利用されてきた。科学技術計算では一人のユ
ーザにより全てのノードで同一のジョブを実行する形式
が多く、一つのノード内でマルチユーザ環境の実現はほ
とんどないため、従来の並列計算機システムでは、障害
発生時は別として、通常のメッセージ送出処理途中で該
メッセージ送出処理を中断および再開する機構は存在し
なかった。
【0004】
【発明が解決しようとする課題】近年、並列計算機の用
途がデータベースサーバやオンライントランザクション
プロセスなどの非科学技術計算分野に広がるのに伴い、
マルチユーザ環境の実現が必要となってきている。マル
チユーザ環境下においては、ノード内のNIAが複数の
ユーザからのメッセージ送出要求を受け付ける。送出の
順番はメッセージ送出要求をNIAが受け付けた順番で
あり、処理中のメッセージ送出処理が終了すると次のメ
ッセージ送出要求の処理を開始する。ここで、非常に長
いTCWチェインが存在すると、そのメッセージ送出処
理のために、他の多くのTCWやTCWチェインのメッ
セージ送出処理を長時間待たせ、システム全体の処理時
間を延ばしてしまうことになる。また、ソフトウェアは
TCWをTCWチェインにいくつでも連結できるため、
他のメッセージ送出処理がいつまでも開始されない危険
性がある。これらの問題を解決するためには、TCWと
TCWとの間でメッセージ送出処理を中断し、かつ、中
断したメッセージ送出処理を矛盾なく再開できる機構が
必要である。しかし、NIAの論理規模などの制約で中
断できるメッセージ送出処理数が限られていては、その
限りを越えて中断できないメッセージ送出処理で前述の
問題が発生することなる。
【0005】本発明の目的は、メッセージ送出処理途中
で任意にメッセージ送出処理を中断し、該中断されたメ
ッセージ送出処理を矛盾なく再開することができ、かつ
中断できるメッセージ送出処理に限りが無い、マルチュ
ーザ向け計算機及びそれを使用した並列計算機システ
ム、メッセージ送出処理方法を実現することにある。
【0006】
【課題を解決するための手段】本発明では、並列計算機
システムを構成する各計算機のネットワークインタフェ
ースアダプタ(NIA)に、メッセージ送出処理中断条
件の成立を検出する手段と、該メッセージ送出処理中断
条件の成立を検出した場合に該メッセージ送出処理をメ
ッセージ送出単位に中断する手段と、該中断されたメッ
セージ送出処理を再開するための制御情報を格納する手
段とを設ける。そして、ソフトウェアにより、該格納さ
れたメッセージを再開するための制御情報を主記憶にキ
ューイングするようにする。該中断されたメッセージ送
出処理を再開するための制御情報をソフトウェアにより
キューイングすることにより、NIA内に該中断された
メッセージ送出処理を再開するための制御情報をそのま
ま保持する必要がないため、該NIAの論理規模という
物理的な制約に関らず任意の数のメッセージ送出処理を
中断および再開することができる。
【0007】NIAは、メッセージ送出処理の経過時間
を計測するタイマを有し、該経過時間があらかじめ定め
た時間を超過したことをメッセージ送出処理中断条件と
する。あるいは、TCW中にメッセージ送出中断ビット
を設け、該ビットがメッセージ送出中断を示すことをメ
ッセージ送出処理中断条件とする。
【0008】
【発明の実施の形態】以下、本発明の実施形態を図面に
用い説明する。図1は本発明の並列計算機システムの一
実施形態の全体構成図である。本システムは、計算など
の処理を行う複数のノード0〜3(900〜903)を
ノード間でメッセージを転送するネットワーク7を介し
信号線14〜18で接続した構成である。ここで、信号
線14はノード0(900)がネットワーク7へ送出す
るメッセージを、信号線15はノード0(900)がネ
ットワーク7から受信するメッセージを伝える。ノード
1〜3(901〜903)の各信号線16〜18は、ノ
ード0(900)の信号線14と15をひとつにまとめ
て表した信号線である。図1ではノード数を4個として
いるが、本発明はノード数が2個以上であれば有効であ
る。各ノードの構成、動作は同じであるので、以下では
ノード0(900)について詳述する。
【0009】ノード0(900)は、OSやユーザアプ
リケーションを実行するプロセッシングノード(以降P
U)1、データを格納するための主記憶2、ネットワー
ク7とノード0(900)とのインタフェースを司るネ
ットワークインタフェースアダプタ(以降NIA)3、
PU1と主記憶2とNIA3とを接続するシステムバス
10、システムバス10とPU1とを接続する信号線1
1、システムバス10と主記憶2とを接続する信号線1
2、システムバス10とNIA3とを接続する信号線1
3とから成る。
【0010】主記憶2は、図2に示すように、ポート番
号で識別されてそれぞれ送受信処理に必要なメッセージ
制御用情報を格納した複数の仮想ポートと、ポート番号
と仮想ポートの先頭アドレス(以降VPA)の対応テー
ブル(以降PAT)30を保持している。ここで、該仮
想ポートの中に、メッセージ送信のための制御情報(T
CW)を一つ以上連結したメッセージ送出処理情報チェ
イン(TCWチェイン)があり、仮想ポートの先頭から
TCWチェインの先頭までのオフセットアドレス(以降
先頭TCWアドレス)31が該仮想ポートの先頭(VP
A)に置かれている。カーネルがPAT30を管理し、
かつ仮想ポートの大きさをNIA3がレジスタに保持し
てあって、該NIA3がユーザにより発行された仮想ポ
ート以外の領域をアクセスするリクエストを処理しない
ようにすることで、マルチユーザ間のプロテクションを
保つことが出来る。TCW0(32)には、TCW0が
TCWチェインの最終であるか否かを示す最終TCWビ
ットと、メッセージ送出処理を中断するための送出中断
ビットと、TCWチェインにおいて次のTCWのアドレ
スを示す次TCWアドレスと、ネットワーク7において
メッセージが通るルートを示すルーティング情報と、ノ
ードが送出するメッセージの主記憶上のアドレスを示す
メッセージ先頭アドレスと、ノードが送出するメッセー
ジの長さを示すメッセージ長と、メッセージを受信する
ノードを示す宛て先ノードと、メッセージを受信したノ
ードがメッセージ送信元を識別するためにメッセージに
付加される送信元ノードとがある。後述するメッセージ
ヘッダにはルーティング情報、メッセージ先頭アドレ
ス、メッセージ長、宛て先ノード、送信元ノードが用い
られる。TCWの内容はTCW1〜3(33〜35)に
ついても同様である。ここで、TCW0(32)の次T
CWアドレスはTCW1(33)のオフセットアドレス
(ポインタ)である。以下、TCW1(33)の次TC
WアドレスはTCW2(34)のオフセットアドレスで
あり、TCW2(34)の次TCWアドレスはTCW3
(35)のオフセットアドレスである。図2の場合、T
CW0にチェインされたTCWの数は3個であるが、本
発明はTCWの数によらず有効である。
【0011】図1に戻り、NIA3は、システムバス1
0とNIA3とのインタフェースを司るバス制御部4、
ネットワーク7にメッセージを送出するセンダ5、ネッ
トワーク7からのメッセージを受信するレシーバ6から
成る。バス制御部4とセンダ5との間には、バス制御部
4から送られるデータの種類を識別するためのデータ種
類識別信号の信号線20と、該バス制御部4から送られ
るデータの信号線21と、ソフトウェアによりキューイ
ングされる中断されたメッセージ送出処理を再開するた
めの制御情報の信号線22と、該センダ5が送出要求を
受け付けたか否かを示す送出要求受付結果の信号線23
と、該センダ5がバス制御部4を介してメモリアクセス
を行うために必要なデータアドレスとデータサイズとリ
ードリクエストかライトリクエストかを区別する信号の
信号線24と、メッセージ送出処理中断をPU1に報告
する割り込み信号の信号線25と、中断されたメッセー
ジ送出処理を再開するための制御情報の有効ビットをク
リアするための信号線26と、メッセージ送出処理中断
前の最後に処理したTCWの次TCWアドレスの信号線
27がある。ここで、中断されたメッセージ送出処理を
再開するための制御情報を以降SMCW(Suspended
Message Control Ward)と呼び、その有効ビットを
SMCW有効ビットと呼ぶことにする。これらの信号線
20〜27については、後でセンダ5の動作説明におい
て詳しく述べる。また、バス制御部4とレシーバ6との
間には、メッセージを受信するためバス制御部4からレ
シーバ6へ伝えられる信号の信号線28と、レシーバ6
からバス制御部4へ伝えられる受信したメッセージの信
号線29とがある。なお、バス制御部4およびレシーバ
6の動作は、本発明と直接関係しないため詳細な説明は
省略する。
【0012】次に、センダ5の構成例を図3で説明す
る。センダ5は、データ種類識別信号デコーダ40と、
送出要求キュー制御部41と、DMAリクエスト制御部
42と、TCWレジスタ制御部43と、送出バッファ制
御部44と、送出要求キュー45と、TCWレジスタ4
6と、SMCWレジスタ47と、SMCWレジスタ有効
ビット48と、データヘッダセレクタ49と、送出バッ
ファ50と、内部信号線60〜115からなる。
【0013】データ種類識別信号デコーダ40は、信号
線20により伝えられるデータ種類識別信号から、信号
線21によりバス制御部4から伝えられるデータがメッ
セージ送出要求か、VPAか、先頭TCWアドレスか、
TCWか、メッセージデータか、タイムアウト時間かの
いずれかを識別し、それぞれの場合に応じて、送出要求
信号、VPAリプライ信号、先頭TCWアドレスリプラ
イ信号、TCWリプライ信号、データリプライ信号、タ
イムアウト時間セット信号を発行する。図3中、信号線
60は信号線21のデータがメッセージ送出要求である
ことを示す送出要求信号を伝え、信号線61は信号線2
1のデータがVPAであることを示すVPAリプライ信
号、先頭TCWアドレスであることを示す先頭TCWア
ドレスリプライ信号、信号線21のデータがネットワー
ク7へ送出するメッセージデータであることを示すデー
タリプライ信号などを伝え、信号線62はVPAリプラ
イ信号、先頭TCWアドレスリプライ信号、TCWリプ
ライ信号、さらに信号線21のデータがタイムアウト時
間であることを示すタイムアウト時間セット信号などを
伝え、信号線63はデータリプライ信号を伝え、信号線
64もデータリプライ信号を伝える。
【0014】送出要求キュー45は、信号線21により
伝えられるメッセージ送出要求を2つ以上保持するキュ
ーである。該送出要求キュー45は、後述の送出要求キ
ュー制御部41の制御下でメッセージ送出要求をリード
/ライトする。本実施の形態では、ソフトウエアがメッ
セージ送出を要求する場合、センダ5が信号線21を通
して受信するデータは仮想ポートであるとする。図3
中、信号線110は該送出要求キュー45から読み出さ
れたメッセージ送出要求である仮想ポート番号を伝え、
信号線112は該送出要求キュー45から読み出された
SMCWである仮想ポート番号を伝える。
【0015】送出要求キュー制御部41は、送出要求キ
ュー45のライトアドレス、ライトイネーブル、リード
アドレスを管理し、当該センダ5がメッセージ送出処理
中でない場合にメッセージ送出要求を受け付けた場合
と、TCWの処理が終了したときに該送出要求キュー4
5にメッセージ送出要求がある場合に、送出開始要求信
号を発行する。また、該送出要求キュー制御部41は、
該送出要求キュー45にメッセージ送出要求が2つ以上
あるか否かを検出し、2つ以上ある場合に送出待ち送出
要求検出信号を発行する。図3中、信号線70は送出要
求キュー45のライトアドレスとライトネーブルとリー
ドアドレスを伝え、信号線71はメッセージ送出処理を
開始する信号である送出開始要求信号を伝え、信号線7
2は該送出開始要求信号と、当該センダ5で送出処理を
開始されていないメッセージ送出要求が送出要求キュー
45にあることを示す送出待ち送出要求検出信号を伝え
る。なお、信号線23を介してバス制御部4へ、メッセ
ージ送出要求を受け付けたか否かを示す送出要求受付結
果を返すのも該送出要求キュー制御部41である。
【0016】DMAリクエスト制御部42はメッセージ
送出処理のために必要なメモリアクセスリクエストを発
行する。発行するリクエストはVPAリクエスト、先頭
TCWアドレスリクエスト、先頭TCWリクエスト、デ
ータリクエスト、次TCWリクエスト、先頭TCWアド
レスライトリクエストである。それぞれのリクエストに
ついて、メモリアクセスリクエストのコマンド信号、リ
ードリクエストかライトリクエストかを区別するリード
ライト信号、リクエストするデータのアドレスであるリ
クエストアドレス、リクエストするデータのサイズであ
るリクエストサイズを、信号線24を介してバス制御部
4へ発行する。また、DMAリクエスト制御部42は、
TCWレジスタ46のTCWに示されたデータ長分のデ
ータリクエストが終了したことを示すリクエスト終了信
号を発行する。図3中、信号線80はデータのリクエス
トが終了したことを示すリクエスト終了信号を伝え、信
号線81はリクエストしたデータのサイズを示すリクエ
ストサイズを伝える。
【0017】TCWレジスタ46は、DMAリクエスト
制御部42のリクエストに対して信号線21により伝え
られるVPA、先頭TCWアドレス及びTCWデータを
保持するレジスタである。該TCWレジスタ46は、後
述のTCWレジスタ制御部43の制御下でこれらデータ
をリード/ライトする。図3中、信号線111は該TC
Wレジスタ46から読み出されるVPA、先頭TCWア
ドレス、TCW中のメッセージ先頭アドレスとメッセー
ジ長と最終TCWビットと送出中断ビットと次TCWア
ドレスなどを伝え、信号線113は該TCWレジスタ4
6から読み出されるTCW中のメッセージヘッダを伝え
る。
【0018】TCWレジスタ制御部43は、TCWレジ
スタ46のライトアドレス、ライトイネーブル、リード
アドレスを管理し、他の制御部でTCWレジスタ46の
データが必要なときにリードアドレスを調整する。ま
た、データ種類識別信号デコーダ40よりTCWリプラ
イ信号が返ると、メッセージヘッダを生成し、送出バッ
ファ制御部44を介して送出バッファ50へヘッダのラ
イトを要求するヘッダライト信号を発行し、これが終了
すると、ヘッダ完了信号をDMAリクエスト制御部42
へ発行する。また、DMAリクエスト制御部42がリク
エスト終了信号を発行すると、メッセージ送出処理が終
了したのか、次のTCWの処理を開始するのか、メッセ
ージ送出処理を中断するのかを判定する。そして、メッ
セージ送出処理が終了した場合は送出終了信号を、次の
TCWの処理を開始する場合は次TCWリクエストを発
行する。メッセージ送出処理を中断する場合は先頭TC
Wアドレスライトリクエストと、SMCWをSMCWレ
ジスタ47へセットしかつSMCW有効ビット48をセ
ットするSMCWセット信号と、信号線25を通してメ
ッセージ送出処理を中断したことをPUへ報告する割り
込み信号を発行する。さらに、該TCWレジスタ制御部
43はメッセージ送出を開始してからの時間を計測する
タイマ410を有し、該タイマ410の値がメッセージ
送出処理を開始してからメッセージ送出処理中断条件が
成立するまでの時間(以降タイムアウト時間)を超過し
たこと(以降「タイムアウトした」という)を検出す
る。図3中、信号線90はメッセージヘッダを送出バッ
ファ50にライトし終わったことを示すヘッダライト完
了信号、TCWの処理が終了し次のTCWの取得を要求
する次TCWリクエスト、TCWレジスタ46のTCW
中の次TCWアドレスを主記憶上の仮想ポートの先頭に
置かれた先頭TCWアドレスにライトするための先頭T
CWアドレスライトリクエスト、データアドレスセット
信号、データ長セット信号などを伝え、信号線91はT
CWチェインの全てのTCWの処理を終了したこと若し
くはメッセージ送出処理を中断したことを示す送出終了
信号を伝え、信号線92はメッセージヘッダのライトを
要求するヘッダライト信号を伝え、信号線93はTCW
レジスタ46のライトアドレスとライトイネーブルとリ
ードアドレスを伝え、信号線94はSMCWセットアド
レスとライトイネーブルとリードアドレスを伝え、信号
線94はSMCWセット信号を伝える。
【0019】送出バッファ50は、ネットワーク7へ送
出するメッセージヘッダ、メッセージを一時格納するバ
ッファである。該送出バッファ50は、後述の送出バッ
ファ制御部44の制御下でメッセージヘッダ、メッセー
ジをリード/ライトする。
【0020】送出バッファ制御部44は該送出バッファ
50のライトアドレス、ライトイネーブル、リードアド
レスを管理する。また、該送出バッファ50の空き容量
を計算し、DMAリクエスト制御部42とTCWレジス
タ制御部43へ伝える。図3中、信号線100は送出バ
ッファ50の空き容量を伝え、信号線101は送出バッ
ファ50のライトアドレスとライトイネーブルとリード
アドレスを伝える。
【0021】SMCWレジスタ47はSMCWを保持す
るレジスタであり、SMCWレジスタ有効ビット48は
SMCWレジスタ47の内容が有効であるか否かを示す
ビットである。図中、信号線114はSMCW有効ビッ
ト48の値をTCWレジスタ制御部43へ伝える。な
お、SMCWレジスタ45のSMCWは、信号線25に
よる割り込み報告を契機に、ソフトウエアにより信号線
22を介して読み込まれる。
【0022】データヘッダセレクタ49は、TCWレジ
スタ46から信号線113を介して来るメッセージヘッ
ダと信号線21を介してバス制御部4から来るメッセー
ジデータとのどちらを送出バッファ50へライトするか
をセレクトする。該データヘッダセレクタ49のセレク
ト信号はデータ種類識別信号デコーダ40から信号線6
3を介して伝えられるデータリプライ信号であり、メッ
セージデータが返る場合にメッセージデータを、それ以
外ではメッセージヘッダをセレクトし、信号線115へ
出力する。
【0023】まず、図1乃至図3と図8のメッセージ送
出処理フローチャートを基にして、本発明の一実施形態
によるメッセージ送出処理と該メッセージ送出処理を中
断および再開する処理を説明する。その後、図3の各制
御部40〜44の詳細について述べる。
【0024】図8に於いて、F100はメッセージ送出
処理を開始する信号である送出開始要求信号を発行する
か否かを判定するステージである。F101はVPA
を、F102は先頭TCWアドレスを、F103はTC
Wを取得するステージである。F104は取得したTC
Wからメッセージヘッダを生成し送出バッファ50へラ
イトするステージである。F105は該メッセージヘッ
ダを送出バッファ50へライトし終えた後に、データリ
クエストとデータリクエストにより取得したメッセージ
データを送出バッファ50へライトすることを並行して
行うステージである。F106はデータリクエストが終
了したTCWが、TCWチェインの最終TCWであるか
否かを判定するステージである。F107はメッセージ
送出処理を中断する条件が成立したか否かを判定するス
テージである。F108は最後に処理したTCWの次T
CWアドレスを、主記憶2上の仮想ポートの先頭に置か
れた先頭TCWアドレスへライトするステージである。
F109はSMCWをSMCWレジスタ47へライトす
るステージである。F110はメッセージ送出処理中断
をPU1に報告する割り込みを発生するステージであ
る。以下、各ステージでの動作を説明する。
【0025】F100はメッセージ送出処理を開始する
信号である送出開始要求信号を発行するか否かを判定す
るステージである。タイムアウトによりメッセージ送出
処理を中断させたい場合は、メッセージ送出処理を開始
する前にセンダ5はタイムアウト時間の設定を行う。バ
ス制御部4から、タイムアウト時間が信号線21を介し
て、また、該タイムアウト時間を設定することを示すデ
ータ種類識別信号が信号線20を介してセンダ5に伝え
られると、データ種類識別信号デコーダ40が、送られ
て来たデータがタイムアウト時間であることを検出し、
タイムアウト時間セット信号を信号線62を介してTC
Wレジスタ制御部43へ伝え、該TCWレジスタ制御部
43は該タイムアウト時間セット信号により、信号線2
1上の該タイムアウト時間を取り込んで保持する。
【0026】メッセージ送出処理を開始する場合、PU
1は仮想ポート番号をメッセージ送出要求としてNIA
3に渡す。NIA3がメッセージ送出要求を受けると、
バス制御部4はセンダ5に、信号線20を介して送出要
求受付要求を、信号線21を介してメッセージ送出要求
の仮想ポート番号を伝える。データ種類識別信号デコー
ダ40は信号線20より送出要求受付要求を受信する
と、送出要求キュー制御部41へ送出要求信号を信号線
60を介して伝える。送出要求キュー制御部41は、送
出要求キュー45に空きエントリがあるか否かを判定し
て、空エントリがあれば、信号線70を介して送出要求
キュー45へライトアドレスとライトイネーブルを伝え
て、信号線21上の該メッセージ送出要求(仮想ポート
番号)をキューイングし、空エントリがなければ、該メ
ッセージ送出要求をキューイングしない。送出要求キュ
ー制御部41は、メッセージ送出要求をキューイングし
たか否かを送出要求受付結果信号として信号線23を介
しバス制御部4経由でPU1へ伝える。次に、送出要求
キュー制御部41は、送出要求信号を受け取ると、送出
要求キュー45にメッセージ送出要求があり、メッセー
ジ送出処理中でなければ、送出開始要求信号をDMAリ
クエスト制御部42とTCWレジスタ制御部43とへ信
号線71、72を介して伝える。TCWレジスタ制御部
43は、該送出開始要求信号により、メッセージ送出処
理の経過時間を計測するタイマ(以降送出時間計測タイ
マ)410の計測を開始する。そして、図8のフローチ
ャートはF100からF101ステージに進む。一方、
該送出要求キュー45にメッセージ送出要求がない場合
は、送出要求信号を受け取ってから、また、メッセージ
送出処理中に送出要求信号を受け取った場合は、処理中
のメッセージ送出処理が終了してから、送出要求キュー
制御部41は送出開始要求信号を発行する。これらの場
合、図8のフローチャートは、該送出開始要求信号を発
行するまでF100ステージにとどまる。
【0027】また、F100ステージには、後述するF
106ステージとF110ステージとから戻る場合があ
る。F106から戻った場合は、送出要求キュー45に
メッセージ送出要求があればF101ステージへ進み、
該送出要求キュー45に送出要求がなければF100に
とどまる。F110から戻った場合は、メッセージ送出
処理を中断する条件が成立した場合であり、該送出要求
キュー45にメッセージ送出要求があることが該中断の
条件であるため、必ずF101に進む。
【0028】F101ステージはVPAリクエストを発
行しVPAを取得するステージである。DMAリクエス
ト制御部42は、送出要求キュー制御部41から信号線
71を介して送出開始要求信号を受けると、送出要求キ
ュー45から仮想ポート番号を信号線110を介して読
み出し、VPA取得のためのVPAリクエストを信号線
24を介してバス制御部4に発行する。本実施の形態で
は、バス制御部4がVPAリクエストとしてセンダ5か
ら仮想ポート番号を受け取ると、仮想ポート番号をPA
Tのアドレスへ変換するものとする。該PATを参照し
て、仮想ポート番号に対応するVPAが主記憶2から読
み出されると、バス制御部4は、信号線20を介してデ
ータ種別識別信号としてVPA識別信号を、信号線21
を介して該VPAを、センダ5に伝える。データ種類識
別信号デコーダ40は、信号線20を介してVPA識別
信号を受信すると、信号線61、62にVPAリプライ
信号を発行する。該VPAリプライ信号を信号線62を
介して受信したTCWレジスタ制御部43は、信号線9
3を介してTCWレジスタ46へライトアドレス、ライ
トイネーブルを発行して、信号線21のVPAを該TC
Wレジスタ46へ保持する。さらに、TCWレジスタ制
御部43は、信号線93を介してTCWレジスタ46へ
リードアドレスを発行し、該TCWレジスタ46から該
VPAを読み出す。図8のフローチャートはF101か
らF102に進む。
【0029】F102ステージは、該VPAを用いて先
頭TCWアドレスリクエストを発行し、先頭TCWアド
レスを取得するステージである。本実施の形態に於いて
は、VPAと先頭TCWアドレスが格納されている主記
憶上のアドレスは一致している。DMAリクエスト制御
部42は、信号線61を介してVPAリプライ信号を受
信すると、上記TCWレジスタ46から読み出されるV
PAを信号線111を介して取り込み、該VPAをリク
エストアドレスとして、先頭TCWアドレスリクエスト
を信号線24を介してバス制御部4に発行する。該VP
A先に基づき、先頭TCWアドレスが主記憶2から読み
出されると、バス制御部4は先頭TCW識別信号と該先
頭TCWアドレスを信号線20、21を介してセンダ5
に伝える。データ種類識別信号デコーダ40は、信号線
20を介して先頭TCWアドレス識別信号を受信する
と、信号線61、62に先頭TCWアドレスリプライ信
号を発行する。ここで、該先頭TCWアドレスリプライ
信号を受信したTCWレジスタ制御部43は、再び信号
線93を介してTCWレジスタ46へライトアドレス、
ライトイネーブルを発行して、信号線21の先頭TCW
アドレスを該TCWレジスタ46に保持する。さらに、
TCWレジスタ制御部43は、信号線93を介してTC
Wレジスタ46へリードアドレスを発行し、該TCWレ
ジスタ46から該先頭TCWアドレスを読み出す。図8
のフローチャートはF102からF103へ進む。
【0030】F103ステージは、該先頭TCWアドレ
スを用いて先頭TCWリクエストを発行し、TCWチェ
インの先頭のTCWを取得するステージである。DMA
リクエスト制御部42は、先頭TCWアドレスリプライ
信号を信号線61を介して受信すると、上記TCWレジ
スタ46から読み出される先頭TCWアドレスを信号線
111を介して取り込み、、該先頭TCWアドレスをリ
クエストアドレスとして、先頭TCWリクエストを信号
線24を介してバス制御部4に発行する。該先頭TCW
アドレスに基づきTCWデータが主記憶2から読み出さ
れると、バス制御部4はTCW識別信号とTCWデータ
を信号線20、21を介してセンダ5に伝える。データ
種類識別信号デコーダ40は、信号線20を介してTC
W識別信号を受信すると、TCWリプライ信号をTCW
レジスタ制御部43へ信号線62を介して伝える。TC
Wレジスタ制御部43は該TCWリプライ信号を受信す
ると、再び信号線93を介してTCWレジスタ46へラ
イトアドレス、ライトイネーブルを発行して、信号線2
1のTCWデータを該TCWレジスタ46に保持する。
図8のフローチャートはF103からF104に進む。
【0031】F104ステージは、該取得したTCWか
らメッセージヘッダを生成し送出バッファ50へライト
するヘッダライトステージである。TCWレジスタ制御
部43は、信号線93を介してTCWレジスタ46へ順
次リードアドレスを発行して、該TCWレジスタ46か
らTCWの読み出し制御を開始し、該TCW中のメッセ
ージヘッダ部分を読み出す際に、信号線92を介してヘ
ッダライト信号を送出バッファ制御部44へ発行する。
データヘッダセレクタ49は、セレクト信号であるデー
タリプライ信号が信号線63を介してアサートされてい
ないため、信号線113を介して入力されるTCWレジ
スタ46の出力を選択し、信号線115に出力する。送
出バッファ制御部44は、信号線92を介してヘッダラ
イト信号を受信すると、信号線101を介して送出バッ
ファ50へライトアドレスとライトイネーブルを発行
し、該送出バッファ50へ該TCWレジスタ46の出力
のメッセージヘッダ部分をライトする。該送出バッファ
50へライトされたメッセージヘッダはネットワーク7
へ送出される。ここで、送出バッファ制御部44は送出
バッファ50の空き容量を計算して、TCWレジスタ制
御部43へ信号線100を介して伝えている。TCWレ
ジスタ制御部43は、送出バッファ50の空き容量がメ
ッセージヘッダのライト単位よりも大きい場合に上記ヘ
ッダライト信号を発行する。また、TCWレジスタ制御
部43は、TCWレジスタ46からTCW中のデータ先
頭アドレス(メッセージ先頭アドレス)とデータ長(メ
ッセージ長)を読み出す際に、データアドレスセット信
号とデータ長セット信号信号線90を介してをDMAリ
クエスト制御部42へ発行する。該DMAリクエスト制
御部42は、該データアドレスセット信号とデータ長セ
ット信号とを受信すると、TCWレジスタ46から読み
出されるメッセージデータ先頭アドレスとメッセージデ
ータ長を信号線111を介して取り込んで保持する。メ
ッセージヘッダのライトが終了すると、TCWレジスタ
制御部43はDMAリクエスト制御部42へヘッダ完了
信号を信号線90を介して発行する。図8のフローチャ
ートはF104からF105に進む。
【0032】F105ステージは、メッセージヘッダを
ネットワーク7へ送出し終えた後に、データリクエスト
と該データリクエストにより取得したメッセージデータ
を送出バッファ50へライトすることを並行して行うス
テージである。ヘッダ完了信号を契機として、DMAリ
クエスト制御部42はデータアドレス、リクエストサイ
ズ、リードリクエストを信号線24を介してバス制御部
4へ順次発行し、メッセージデータの取得するためのメ
モリアクセスを開始する。信号線20、21より、メッ
セージデータ識別信号、メッセージデータが到着する
と、データ種類識別信号デコーダ40はデータリプライ
信号を信号線61、63、64を介して、DMAリクエ
スト制御部42とデータヘッダセレクタ49と送出バッ
ファ制御部44とに伝える。DMAリクエスト制御部4
2は、リクエストサイズとデータアドレスとを加算し、
また、リクエストサイズを残りデータ長から減算して保
持しており、データリプライ信号を受信すると、それら
の値を用いて次のメモリアクセスリクエストを発行す
る。また、DMAリクエスト制御部42は、リクエスト
サイズ(データサイズ)を信号線81を介して送出バッ
ファ制御部44に伝える。データヘッダセレクタ49
は、データリプライ信号を受信すると、信号線21のメ
ッセージデータを選択し、信号線115へ出力する。送
出バッファ制御部44は、データリプライ信号により、
信号線101の送出バッファ50のライトアドレスをデ
ータサイズ分更新し、ライトイネーブルをアサートし
て、信号線115のメッセージデータを送出バッファ5
0へライトする。DMAリクエスト制御部42はTCW
に示されたメッセージ長分のデータのメモリアクセスリ
クエストを終了すると、リクエスト終了信号を信号線8
0を介してTCWレジスタ制御部43へ伝える。図8の
フローチャートはF105からF106に進む。
【0033】F106はデータリクエストが終了したT
CWが、TCWチェインの最終TCWであるか否かを判
定するステージである。TCWレジスタ制御部43は、
信号線80を介してリクエスト終了信号を受信すると、
信号線93を介してTCWレジスタ46にリードアドレ
スを発行し、信号線111に読み出される該TCW中の
最終TCWビットから、該データリクエストが終了した
TCWがTCWチェインの最終TCWであるか否かを判
定する。最終TCWである場合、メッセージ送出処理が
終了したとみなし、送出時間計測タイマ410の計測を
停止およびリセットし、また、送出要求キュー制御部4
1へ送出終了信号を信号線91を介して伝える。この
時、図8のフローチャートはF100ステージに戻る。
一方、最終TCWでない場合は、F107ステージへ進
む。
【0034】F107はメッセージ送出処理を中断する
条件が成立したか否かを判定するステージである。TC
Wレジスタ制御部43は、信号線72を介して受け取る
送出待ち送出要求検出信号と、信号線114を介して受
け取るSMCW有効ビット48と、タイマ410でタイ
ムアウトが発生したか若しくは信号線111に読み出さ
れる該TCW中のメッセージ中断ビットが中断を示す値
であるかを判定し、TCWチエインの次のTCWの処理
を開始するのか、メッセージ送出処理を中断するのかを
判定する。TCWチェインの次のTCWの処理を開始す
る場合には、TCWレジスタ制御部43はDMAリクエ
スト制御部42へ信号線90を介して次TCWリクエス
トを伝える。この時、図8のフローチャートはF103
へ戻り、DMAリクエスト制御部42は、信号線111
に読み出される該TCW中の次TCWアドレスをリクエ
ストアドレスとして、再びTCWリクエストを信号線2
4を介してバス制御部4に発行する。一方、メッセージ
送出処理を中断する場合には、TCWレジスタ制御部4
3は、送出時間計測タイマ410の計測を停止およびリ
セットし、信号線91を介して送出終了信号を送出要求
キュー制御部41へ発行し、図8のフローチャートはF
108へ進む。
【0035】F108は最後に処理したTCWの次TC
Wアドレスを、主記憶2上の該当仮想ポートの先頭に置
かれた先頭TCWアドレスへライトするステージであ
る。TCWレジスタ制御部43は、信号線93を介して
リードアドレスをTCWレジスタ46を発行して、該T
CWレジスタ46が保持しているVPAと該TCW中の
次TCWアドレスの読み出しを制御し、DMAリクエス
ト制御部42へ先頭TCWアドレスライトリクエストを
発行する。DMAリクエスト制御部42は、TCWレジ
スタ46から読み出されるVPAを信号線111を介し
て取り込み、該VPAを主記憶上のライトアドレスに用
いて、信号線24を介してバス制御部4へメモリライト
アクセスリクエストを発行する。また、TCWレジスタ
46から読み出された次TCWアドレスをライトデータ
として、信号線27を介してバス制御部4へ伝える。図
8のフローチャートはF108からF109へ進む。
【0036】F109は送出要求キュー45に残ってい
るSMCWをSMCWレジスタ47へライトするステー
ジである。送出要求キュー制御部41は、信号線91を
介して送出終了信号を受信すると、送出要求キュー45
に信号線70を介してリードアドレスを発行し、該送出
要求キュー45に残っているSMCW(仮想ポート番
号)を信号線112に出力する。TCWレジスタ制御部
43は、信号線94を介してSMCWセット信号を発行
して、送出要求キュー45から信号線112へ出力され
る仮想ポート番号をSMCWレジスタ47へセットし、
また、該SMCWセット信号によりSMCW有効ビット
48を有効にセットする。図8のフローチャートはF1
09からF110へ進む。
【0037】F110はメッセージ中断をPU1に報告
する割り込みを発生するステージである。TCWレジス
タ制御部43は、メッセージ送出処理中断を示す割り込
み信号を信号線25を介してバス制御部4に発行する。
図8のフローチャートはF100へ戻る。
【0038】PU1は該メッセージ送出処理中断割り込
み信号を検出すると、SMCWレジスタ47からSMC
W(仮想ポート番号)を信号線22を介して読み出し、
信号線26を介してSMCWクリア信号を伝えることに
よりSMCW有効ビット48をクリアする。PU1が読
み出した該SMCWとしての仮想ポート番号は、ソフト
ウェアにより主記憶2上の特定領域に順番にキューイン
グされ、該中断されたメッセージ送出処理を再開する場
合は、該キューイングした順番に仮想ポート番号を読み
出し、再びメッセージ送出要求としてNIA3に伝え
る。これにより、図8のフローチャートは再びF100
から開始する。なお、中断されたメッセージ送出処理を
再開する契機は、本発明では特定しないが、例えば、主
記憶2上の該特定領域を所定時間毎に読みに行くなどが
考えられる。
【0039】なお、図8の処理シーケンスでは、メッセ
ージ送出処理が中断した時、送出要求キュー45からS
MCWを一旦SMCWレジスタ47へライトし、その
後、割込みを契機に該SMCWを主記憶2の特定領域に
キューイングするとしたが、メッセージ送出処理の中断
時、送出要求キュー45からSMCWをあらかじめ主記
憶2内に設けた特定領域にライトし、その後に該主記憶
2の別の領域にソフトウェアによりキューイングするこ
とも可能である。
【0040】次に、図4乃至図7により送出要求キュー
制御部41、DMAリクエスト制御部42、TCWレジ
スタ制御部43、送出バッファ制御部44の詳細につい
て説明する。
【0041】図4は送出要求キュー制御部41の詳細図
である。送出要求キュー制御部41は、メッセージ送出
要求をセンダ5が受け付けたか否かを示す値を保持する
受付結果レジスタ200と、送出要求キュー45のライ
トアドレスとリードアドレスとを保持するライトアドレ
スレジスタ201とリードアドレスレジスタ202と、
インクリメント回路210〜211と、比較器220〜
221と、ライトアドレスの値とリードアドレスの値と
から送出要求キュー45の送出要求数を計算する送出要
求数計算回路230と、信号の立ち上がりを検出する立
ち上がり検出回路231と、AND回路240〜242
と、OR回路250と、信号線260〜271とから成
る。
【0042】送出要求キュー制御部41が信号線60を
介して送出要求信号を受信すると、比較回路220の出
力が“0”であれば、該メッセージ送出要求を受け付け
る。この場合、AND回路241は信号線261に
“1”を出力し、送出要求キュー45のライトイネーブ
ルを信号線70を介してアサートし、インクリメント回
路210の出力を信号線262を介してライトアドレス
レジスタ201にセットし、該ライトアドレスレジスタ
201の値をライトアドレスとする。一方、送出要求信
号を受信したときに比較回路220の出力が“1”であ
れば、該メッセージ送出要求を受け付けずに、AND回
路240の出力“1”を信号線260を介して受付結果
レジスタ200にセットする。ここで比較器220は、
信号線268を介して伝えられる送出要求数計算回路2
30が計算した送出要求キュー45内のメッセージ送出
要求数と信号線269を介して伝えられる送出要求キュ
ー45の面数とを入力とする。本実施の形態に於いては
送出要求キュー45を4面と仮定しており、図4では信
号線269は4の値で示している。該メッセージ送出要
求数と送出要求キュー45の面数が一致した場合、つま
り送出要求キュー45がFULLの場合に比較器220
の出力は“1”となる。本実施の形態に於いては、受付
結果レジスタ200の値は、メッセージ送出要求が受け
付けられた場合を“0”、メッセージ送出要求が受け付
けられなかった場合を“1”とする。PU1からのメッ
セージ送出要求に対し、該受付結果レジスタ200を送
出要求受付結果として信号線23、バス制御部4を介し
てPU1へ伝える。
【0043】送出待ち送出要求検出信号は比較器221
により発行される。比較器221は、信号線268を介
して送出要求数計算回路230の送出要求数と、信号線
271を介して1の値とを入力とする。比較器221で
は該送出要求数と1とを比較し、該送出要求数が2以上
の場合に送出待ち送出要求検出信号として“1”を信号
線72に出力する。即ち、信号線72の出力“1”は、
送出要求キュー45にまだ送出処理の開始されていない
メッセージ送出要求があることを示している。
【0044】送出開始要求信号は立ち上がり検出回路2
31により発行される。ここで、OR回路250は信号
線268を介して入力された送出要求数の各ビットのO
Rをとり、該送出要求数が1以上の場合に“1”を出力
し、送出要求キュー45にメッセージ送出要求が有るこ
とを示す。AND回路242は、信号線266を介して
入力されるOR回路250の出力と信号線91を介して
入力される送出終了信号の否定とをANDし、信号線2
67を介して立ち上がり検出回路231に伝える。立ち
上がり検出回路231は、信号線267の信号立ち上が
りを検出し、送出要求数が0から1に変化する場合、つ
まり空の送出要求キュー45にメッセージ送出要求がキ
ューイングされた場合と、送出要求数が1以上であり信
号線91の送出終了信号が0→1→0と変化する場合、
つまりメッセージ送出処理が終了したときに送出待ちの
メッセージ送出要求がある場合とに、送出開始要求信号
として“1”を信号線71、72に出力する。
【0045】メッセージ送出処理が終了または中断さ
れ、信号線91を介して送出終了信号が発行されると、
リードアドレスレジスタ202は信号線264を介して
入力されるインクリメント回路211の出力を保持し、
該リードアドレスレジスタ202の値をリードアドレス
として信号線70に発行する。
【0046】図5はDMAリクエスト制御部42の詳細
図である。DMAリクエスト制御部42は、リクエスト
したデータのリプライ待ちであることを示すデータリプ
ライ待ちビット300と、データリクエストを行ってい
ることを示すデータリクエストビット301と、リクエ
ストするデータのアドレスを保持するデータアドレスレ
ジスタ302と、リクエストすべきデータの残量を保持
する残りデータ長レジスタ303と、OR回路310〜
313と、AND回路320〜321と、比較器330
と、加算器340と、減算器341と、データ先頭アド
レスと加算器340の出力とをセレクトするデータアド
レスセレクタ350と、データ長と減算器341の出力
とをセレクトするデータ長セレクタ351と、リクエス
トサイズとアドレスを出力するリクエストサイズ・アド
レス選択回路352と、信号線360〜388とから成
る。
【0047】DMAリクエスト制御部42の全体の動作
を説明する前に、まずリクエストサイズ・アドレス選択
回路352の動作を説明する。該リクエストサイズ・ア
ドレス選択回路352は、信号線61を構成する信号線
363、364により伝えられる先頭TCWアドレスリ
プライ信号とVPAリプライ信号、信号線71により伝
えられる送出開始要求信号、信号線90を構成する信号
線369、370により伝えられる先頭TCWアドレス
ライトリクエストと次TCWリクエストなどをセレクト
信号として入力し、また、信号線110により伝えられ
る仮想ポート番号、信号線111により伝えられるVP
Aと先頭TCWアドレスと次TCWアドレス、信号線3
77により伝えられるデータアドレスレジスタ302の
値、信号線381により伝えられる残りデータ長レジス
タ303の値などを被セレクト信号として入力し、信号
線371にリクエストアドレスを、信号線372にリク
エストサイズを出力するセレクタ回路である。ここで、
信号線371、372は信号線24の一部を構成し、さ
らに信号線372は信号線81にもなっている。該リク
エストサイズ・アドレス選択回路352は、信号線71
から送出開始要求信号を受信すると、リクエストアドレ
スとして信号線110の仮想ポート番号を選択し信号線
371へ出力する。VPAのサイズはシステムで固定長
であるため、該リクエストサイズ・アドレス選択回路3
52で生成する。信号線61を構成するの信号線364
からVPAリプライ信号を受信すると、リクエストアド
レスとして信号線111のVPAを選択し、先頭TCW
アドレスのリクエストサイズを生成し、それぞれ信号線
371、372へ出力する。信号線61を構成する信号
線363より先頭TCWアドレスリプライ信号を受信す
ると、リクエストアドレスとして信号線111の先頭T
CWアドレスを選択し、TCWのリクエストサイズを生
成し、それぞれ信号線371、372へ出力する。先頭
TCWアドレスのリクエストサイズとTCWのリクエス
トサイズとは、VPAのサイズと同様固定長であるた
め、該リクエストサイズ・アドレス選択回路352で生
成する。信号線363の先頭TCWアドレスリプライ信
号と、信号線364のVPAリプライ信号と、信号線7
1の送出開始要求信号と、信号線369の先頭TCWア
ドレスライトリクエストと、信号線370の次TCWリ
クエストとのどれもが受信されない場合、該リクエスト
サイズ・アドレス選択回路352は、データアドレスレ
ジスタ302の値をリクエストアドレスとして選択し、
信号線371へ出力する。また、この場合のリクエスト
サイズとしては、残りデータ長レジスタ303の値と1
回のリードリクエストで取得できる最大のデータ長とを
比較し、小さい方の値を信号線372へ出力する。該1
回のリードリクエストで取得できる最大のデータ長は固
定長であり、リクエストサイズ・アドレス選択回路35
2で生成する。
【0048】次に、DMAリクエスト制御部42全体の
動作を説明する。DMAリクエスト制御部42が信号線
24、バス制御部4を介して主記憶2へ発行するリクエ
ストはVPAリクエスト、先頭TCWアドレスリクエス
ト、先頭TCWリクエスト、データリクエスト、次TC
Wリクエスト、先頭TCWアドレスライトリクエストで
ある。主記憶アクセスのための信号線24は信号線38
4、369、371、372で構成される。
【0049】信号線71を介して送出開始要求信号を受
信すると、DMAリクエスト制御部42はVPAリクエ
ストを発行する。該送出開始要求信号は信号線71を介
してOR回路312に入力され、OR回路312は信号
線384にメモリアクセスリクエストとして“1を出力
行する。また、リクエストサイズ・アドレス選択回路3
52は信号線110の仮想ポート番号を選択して信号線
371にリクエストアドレスとして出力し、さらにVP
Aのサイズを生成して信号線372にリクエストサイズ
として出力する。信号線369はリードリクエストとラ
イトリクエストを区別する信号線であるが、該信号線3
69は信号線90の一つで、TCWレジスタ制御部43
が発行する先頭TCWアドレスライトリクエストを伝え
るもので、いまの場合は“0”である。本実施の形態で
は、信号線369が“0”の場合をリードリクエスト、
“1”の場合をライトリクエストを示すものとする。な
お、ライトリクエストは後述する先頭TCWアドレスラ
イトリクエストの場合のみである。
【0050】VPAが主記憶2から読み出され、信号線
61を構成する信号線364を介してVPAリプライ信
号を受信すると、該DMAリクエスト制御部42は先頭
TCWアドレスリクエストを発行する。リクエストサイ
ズ・アドレス選択回路352は信号線111で伝えられ
るVPAをリクエストアドレスとして選択し、先頭TC
Wアドレスサイズをリクエストサイズとして生成し、信
号線371、372に出力する。信号線384は
“1”、信号線369は“0”である。
【0051】信号線61を構成する信号線363を介し
て先頭TCWアドレスリプライ信号を受信すると、該D
MAリクエスト制御部42は先頭TCWリクエストを発
行する。この場合、信号線371のリクエストアドレス
は信号線111で伝えられる先頭TCWアドレスをリク
エストサイズ・アドレス選択回路352が選択したもの
であり、信号線372のリクエストサイズはリクエスト
サイズ・アドレス選択回路352で生成した値である。
信号線384は“1”、信号線369は“0”である。
【0052】主記憶2から読み出されたTCWが返る
と、TCWレジスタ制御部43はTCWレジスタ46に
該TCWを保持する。TCWレジスタ制御部43は該T
CWレジスタ46からのTCWの読出し制御で、データ
アドレスセット信号とデータ長セット信号を、それぞれ
信号線90を構成する信号線385、386を介して該
DMAリクエスト制御部42へ伝える。信号線385の
データアドレスセット信号によりデータアドレスセレク
タ350は信号線111により、TCWレジスタ46か
ら伝えられる該TCW中のデータアドレス(メッセージ
先頭アドレス)を選択し、また、OR回路310の出力
は“1”であるため、データアドレスレジスタ302は
該データアドレスを信号線376を介して保持する。ま
た、信号線386のデータ長セット信号により、データ
長セレクタ351は信号線111によりTCWレジスタ
46から伝えられる該TCW中のデータ長(メッセージ
長)を選択し、また、OR回路313の出力は“1”で
あるため、残りデータ長レジスタ303は該データ長を
信号線380を介して保持する。
【0053】信号線90を構成する信号線362を介し
てヘッダ完了信号を受信すると、データリクエストビッ
ト301が“1”にセットされる。このとき残りデータ
長レジスタ303の値は“0”ではないため、該残りデ
ータ長レジスタ303の各ビットのORをとるOR回路
311の出力は“1”である。また、信号線100を介
して伝えられる送出バッファ50の空き容量が信号線3
72のリクエストサイズ以上であるときに、比較器33
0は“1”を出力する。信号線360を介してデータリ
プライ待ちビット300の出力“0”の否定と、信号線
365を介してデータリクエストビット301の出力
“1”と、信号線366を介してOR回路311の出力
“1”と、信号線367を介して比較器330の出力
“1”とがAND回路321に入力されると、AND回
路321は信号線368を介して“1”をOR回路31
2に出力し、信号線384を介してメモリアクセスリク
エストをバス制御部4を発行する。このときリクエスト
サイズ・アドレス選択回路352はデータアドレスレジ
スタ302の値をリクエストアドレスとして選択し、ま
た、リクエストサイズを生成し、信号線371、372
に出力する。信号線369は“0”である。
【0054】AND回路321は信号線368を介して
データリプライ待ちビット300を1にセットするた
め、上記メモリアクセスリクエストは1マシンサイクル
のみアサートされる。このときTCWリプライ信号が来
ないため、データアドレスセレクタ350は信号線37
8を介してデータアドレスレジスタ302の値とリクエ
ストサイズ・アドレス選択回路352が出力するリクエ
ストサイズとを加算器340で加算した値を選択してお
り、また、信号線368を介してOR回路310の出力
は“1”であるため、データアドレスレジスタ302は
次のデータリクエストのデータアドレスとして信号線3
76を介して伝えられるデータアドレスセレクタ350
の出力を保持する。データ長セレクタ351は、信号線
383を介して伝えられる残りデータ長レジスタ303
の値からリクエストサイズ・アドレス選択回路352が
出力するリクエストサイズを減算器341で減算した値
を選択しており、また、OR回路313の出力は同様に
“1”であるため、残りデータ長レジスタ303は次の
残りデータ長として信号線380を介して伝えられるデ
ータ長セレクタ351の出力を保持する。
【0055】発行したデータリクエストに対するデータ
(メッセージ)が返ると、信号線61を構成する信号線
361を介してデータリプライ信号がアサートされ、デ
ータリプライ待ちビットが“0”にリセットされる。こ
れにより、残りデータ長が0でなく、かつ、送出バッフ
ァ空き容量がリクエストサイズ以上であれば、AND回
路321の出力が“1”となり、該DMAリクエスト制
御部42は再びデータリクエストを発行する。DMAリ
クエスト制御部42は該データリクエストを残りデータ
長が“0”になるまで行う。残りデータ長レジスタ30
3の値が0になると、OR回路311の出力は“0”と
なり、データリクエストは発行されない。最後のデータ
が到着すると、データリプライ待ちビット300が
“0”にリセットされるため、AND回路320の出力
が“0”から“1”へ変化する。立ち上がり検出回路3
42は該AND回路320の出力を信号線379を介し
て受取り、立ち上がりを検出すると、リクエスト終了信
号を信号線80を介して発行する。また、該リクエスト
終了信号によりデータリクエストビット301は0にリ
セットされる。
【0056】信号線90を構成する信号線370を介し
て次TCWリクエストを受信すると、該DMAリクエス
ト制御部42は次TCWメモリアクセスリクエストを発
行する。該次TCWリクエストを受信すると、OR回路
312の出力が“1”となり、信号線384を介してメ
モリアクセスリクエストが発行され、リクエストサイズ
・アドレス選択回路352は信号線111を介してTC
Wレジスタ46から読み出した次TCWアドレスを選択
し、またTCWのサイズを生成し、信号線371、37
2に出力する。
【0057】信号線90を構成する信号線369を介し
て先頭TCWアドレスライトリクエストを受信すると、
該DMAリクエスト制御部42は先頭TCWアドレスラ
イトのメモリアクセスリクエストを発行する。該TCW
アドレスライトリクエストを受信すると、OR回路31
2の出力が“1”となり、信号線384を介してメモリ
アドレスアクセスリクエストが発行され、また、信号線
369の“1”によりライトリクエストが示される。リ
クエストサイズ・アドレス選択回路352は、信号線1
11を介して伝えられるVPAをライトアドレスとして
選択し、信号線371に出力する。
【0058】図6はTCWレジスタ制御部43の詳細図
である。TCWレジスタ制御部43は、タイムアウト時
間を保持するタイムアウト時間レジスタ400と、タイ
ムアウトしたことを保持するタイムアウトビット401
と、メッセージ送出処理を開始してからの経過時間を計
測するタイマ(以降送出時間計測タイマ)410と、T
CWをTCWレジスタ46に保持する際に使用するTC
Wカウンタ411と、メッセージヘッダを送出バッファ
50に何回ライトしたかを示すヘッダライトカウンタ4
12と、TCWレジスタ46のリードアドレスとライト
イネーブルとライトアドレスとを生成し、かつTCWレ
ジスタ46に保持したTCWからデータアドレスとデー
タ長とをDMAリクエスト制御部42へセットするため
のデータアドレスセット信号及びデータ長セット信号を
生成するリードアドレスライトイネーブルライトアドレ
ス生成回路(以降REW生成回路)413と、比較器4
20〜423と、OR回路430〜433と、AND回
路440〜444と、信号線362〜473とから成
る。
【0059】TCWレジスタ制御部43は、TCWレジ
スタ46のリード/ライト制御と、メッセージヘッダの
ライトと、タイムアウトの検出とを行い、またTCWの
処理が終了した場合にメッセージ送出処理が終了したの
か、次のTCWを処理するのか、メッセージ送出処理を
中断するのかを判定する。
【0060】まず始めにTCWレジスタ46のリード/
ライト制御について説明する。さらにTCWレジスタ4
6のリード/ライト制御に関連して、図9を用いてTC
Wレジスタ46を、図13の表を用いてREW生成回路
413を、図10を用いてメッセージを説明する。
【0061】図9は、TCWレジスタ46に信号線21
を介してVPA、先頭TCWアドレス、TCWが保持さ
れる様子を示している。本実施の形態では、TCWレジ
スタ46は8エントリで構成され、VPAはエントリ0
に、先頭TCWアドレスはエントリ1に、TCWはエン
トリ2〜7に保持される。図2に示したように、エント
リ2のA、Bはそれぞれ最終TCWビットと送出中断ビ
ットを表わしている。
【0062】図13はREW生成回路413の入出力対
応表である。REW生成回路413は、信号線62を構
成する信号線459のVPAリプライ信号と信号線46
0の先頭TCWアドレスリプライ信号と信号線461の
TCWリプライ信号、信号線411を介してのTCWカ
ウンタ411の値、信号線92のヘッダライト信号、信
号線466を介してのヘッダライトカウンタ412の
値、信号線80のリクエスト終了信号、信号線90の一
部を構成する信号線471の次TCWリクエスト信号と
信号線369の先頭TCWアドレスライトリクエストな
どを入力とし、信号線93のTCWレジスタ46のライ
トアドレスとライトイネーブルとリードアドレス、信号
線90の一部を構成する信号線385の該データアドレ
スセット信号と信号線386のデータ長セット信号など
を出力とする。図13で、ライトアドレスとリードアド
レスの列の数字はTCWレジスタ46のエントリを示
し、ライトイネーブルが“1”の場合にライトアドレス
が示すエントリにデータをライトする。また、データ先
頭アドレスセット信号が“1”である場合にDMAリク
エスト制御部42のデータアドレスレジスタ302にデ
ータ先頭アドレス(メッセージ先頭アドレス)を、デー
タ長セット信号が“1”である場合にDMAリクエスト
制御部42の残りデータ長レジスタ303にデータ長
(メッセージ長)を、それぞれセットする。ここで、
「*」は“don't care”でありどんな値でも構
わない。さらに入力のVPAリプライ信号と、先頭TC
Wアドレスリプライ信号と、TCWリプライ信号と、ヘ
ッダライト信号と、次TCWリクエスト信号と、先頭T
CWアドレスライトリクエストとはそれぞれ背反であ
り、同時に2つ以上の信号がアサートされることはな
い。また、本実施の形態では、TCWリプライデータは
主記憶から数ビートで返ることを仮定しており、TCW
リプライの各ビート毎に該TCWリプライ信号がアサー
トされるとする。以下、図13の表の順に説明する。
【0063】信号線62を構成する信号線459を介し
てVPAリプライ信号を受信すると、REW生成回路4
13により、TCWレジスタ46のエントリ0にVPA
をライトするためライトアドレスが0、ライトイネーブ
ルが“1”となる。同時に該VPAを用いて先頭TCW
アドレスリクエストを発行するため、リードアドレスも
エントリ0となる。信号線460を介して先頭TCWア
ドレスリプライ信号を受信した場合も同様に、ライトア
ドレスが1、ライトイネーブルが“1”、さらに該先頭
TCWアドレスを用いて先頭TCWリクエストを発行す
るため、リードアドレスも1となる。信号線461を介
してTCWリプライ信号を受信すると、TCWカウンタ
411の値が更新されて、TCWレジスタ46のライト
アドレスが更新し、図9のエントリ順にTCWをライト
していく。センダ5は該TCWのライト中は該TCWレ
ジスタ46のデータを使わないため、リードアドレスは
「*」である。TCWをTCWレジスタ46にライトし
終わると、メッセージヘッダを送出バッファ50にライ
トし始める。図10は送出バッファ50にライトされた
メッセージの内容を示している。メッセージはメッセー
ジヘッダとメッセージデータとにより構成され、メッセ
ージヘッダには、メッセージについての情報である、ル
ーティング情報と、メッセージ先頭アドレスと、メッセ
ージ長と、メッセージの宛て先ノードと、メッセージの
送信元ノードとが格納されている。これらは全てTCW
に含まれている。また、メッセージデータには、DMA
リクエスト制御部42がデータリクエストにより取得し
たデータが格納される。図13に戻って、ヘッダライト
信号では、TCWレジスタ46のリードアドレスは図1
0に示したメッセージヘッダを送出バッファ50にライ
トするように更新される。リクエスト終了信号を受信す
る場合は、TCWレジスタ46から最終TCWビットA
と送出中断ビットBを読み出すため、リードアドレスを
2とする。更に、次TCWリクエスト信号を発行する場
合は、リクエストアドレスがTCWの次TCWアドレス
であるため、やはりリードアドレスを2とする。また、
先頭TCWアドレスライトリクエストの場合は、ライト
リクエストアドレスがVPA、ライトデータがTCWの
次TCWアドレスであるため、リードアドレスは0と2
になる。
【0064】図6に戻ってTCWカウンタ411を説明
する。該TCWカウンタ411は、信号線62を構成す
る信号線461を介してTCWリプライ信号を受信する
ごとに更新するカウンタである。図13より、本実施の
形態ではTCWをTCWレジスタ46にライトし終わる
ときにはTCWカウンタ411の値は5になっている。
比較器421は信号線462を介して入力される該TC
Wカウンタ411の値と信号線463を介して入力され
る値5とを比較し、両者が一致した場合“1”を信号線
464に出力し、該TCWカウンタ411をリセットす
る。
【0065】次に、メッセージヘッダの送出バッファ5
0へのライトについて説明する。前述のように、TCW
をTCWレジスタ46にライトし終わると、比較器42
1は信号線464に1を出力する。これによりOR回路
432の出力が“1”となり、ヘッダライトカウンタ4
12が1に更新され、該ヘッダライトカウンタ412の
出力の各ビットのORをとるOR回路433は“1”を
信号線468に出力する。また、比較器422は信号線
100により伝えられる送出バッファ50の空き容量
と、信号線472のメッセージヘッダを送出バッファ5
0へライトする単位であるヘッダライト単位とを比較
し、該送出バッファ空き容量が該ヘッダライト単位より
も大きい、つまりヘッダをライトしても送出バッファ5
0がオーバーフローしない場合に、比較器422は信号
線469に“1”を出力する。本実施の形態ではヘッダ
ライト単位を4としてある。OR回路433と比較器4
22との出力が両方とも“1”である場合に、信号線4
68、469を介してAND回路444は“1”を出力
し、ヘッダライト信号を信号線92に出力する。また、
該ヘッダライト信号によりOR回路432は“1”を出
力し、ヘッダライトカウンタ412を更新する。比較器
423は該ヘッダライトカウンタ412の値と信号線4
67を介して伝えられる5とが、ヘッダのライトが完了
して一致した場合に、信号線362にヘッダ完了信号と
して“1”を出力し、ヘッダライトカウンタ421をリ
セットする。
【0066】次にタイムアウトを検出する部分を説明す
る。信号線62を構成する信号線456を介してタイム
アウト時間セット信号を受信すると、タイムアウト時間
レジスタ400は信号線21を介して伝えられるタイム
アウト時間を保持する。送出時間計測タイマ410は、
信号線72を構成する信号線457により送出開始要求
信号を受信すると、送出時間の計測を開始し、後述の信
号線91により伝えられる送出終了信号を受信すること
で送出時間の計測を止めタイマ410をリセットする。
比較器420は、タイムアウト時間レジスタ400と送
出時間計測タイマ410の値をそれぞれ信号線450、
451を介して受取り、両者が一致すると“1”を出力
し、信号線452を介してタイムアウトビット401を
“1”にセットする。該タイムアウトビット401は信
号線91の送出終了信号により“0”にクリアされる。
【0067】最後に、信号線80を介してリクエスト終
了信号を受信した場合に、メッセージ送出処理が終了し
たのか、次のTCWを処理するのか、メッセージ送出処
理を中断するのかを判定する部分を説明する。信号線8
0のリクエスト終了信号が“1”であり、かつTCWレ
ジスタ46から信号線111を構成する信号線455を
介して読み出された最終TCWビットが“1”、つまり
TCWチェインの最終TCWのリクエストを終了した場
合には、AND回路440は出力“1”を信号線470
を介してOR回路431に伝え、該OR回路431は信
号線91を介して送出終了信号を発行する。また、信号
線80のリクエスト終了信号が“1”であり、かつ信号
線455の最終TCWビットが“0”であり、かつ信号
線72構成する信号線473を介して伝えられる送出待
ち送出要求検出信号が“1”であり、かつ信号線114
を介して伝えられるSMCW有効ビット48が“0”で
SMCWレジスタ47にSMCWをライトできる場合で
あり、かつ信号線458を介して伝えられる、タイムア
ウトビット401の値と信号線111を構成する信号線
454を介して伝えられる送出中断ビットとを入力とす
るOR回路433の出力が“1”の場合に、AND回路
442はメッセージ送出処理中断を示す割り込み信号を
信号線25を介して、また、SMCWレジスタセット信
号を信号線94を介して、先頭TCWアドレスライトリ
クエストを信号線369を介して、それぞれ発行する。
さらに、OR回路431は、このときも出力“1”を送
出終了信号として信号線91を介して発行する。信号線
80のリクエスト終了信号が“1”であり、かつ信号線
455の最終TCWビットが“0”であり、かつ信号線
114のSMCW有効ビット信号の否定と信号線473
の送出待ち送出要求検出信号とOR回路430の出力
“1”との3つの値のANDがAND回路441で成立
しない場合には、AND回路443が信号線370を介
して次TCWリクエストを発行する。
【0068】図7は送出バッファ制御部44の詳細図で
ある。送出バッファ制御部44は送出バッファ50のラ
イトアドレスを示すライトアドレスレジスタ500と、
送出バッファ50のリードアドレスを示すリードアドレ
スレジスタ501と、OR回路510〜511と、加算
器520と、インクリメント回路521と、ライトアド
レスレジスタ500とリードアドレスレジスタ501と
の値から送出バッファ50の空き容量を計算する空き容
量計算回路522と、送出バッファ50にライトするヘ
ッダまたはデータのサイズをセレクトするサイズセレク
タ523と、信号線530〜536とから成る。
【0069】OR回路510は信号線92を介してヘッ
ダライト信号を、または信号線64を介してデータリプ
ライ信号を受信すると、信号線533を介して送出バッ
ファ50のライトイネーブルを出力する。セレクタ52
3は信号線92を介して入力されるヘッダライト信号が
“1”の場合に信号線536を介して入力されるヘッダ
のライト単位を、信号線92のヘッダライト信号が
“0”の場合に信号線81を介して入力されるリクエス
トサイズをセレクトする。本実施の形態ではヘッダのラ
イト単位を4と仮定しており、図7では4で表してい
る。加算器520は、ライトアドレスレジスタ500の
値と信号線537を介して伝えられるサイズセレクタ5
23の出力とを入力とし、信号線533のライトイネー
ブルが“1”の場合、該ライトアドレスレジスタ500
は信号線530を介して伝えられる加算器520の出力
を新しいライトアドレスとして保持する。信号線534
は該ライトアドレスレジスタ500の値をライトアドレ
スとして出力する。リードアドレスレジスタ501は、
信号線532を介して伝えられるOR回路511の出力
が“1”の場合に、信号線531を介して伝えられるイ
ンクリメント回路521の出力を保持する。信号線53
5は該リードアドレスレジスタ501の値をリードアド
レスとして出力する。ここでOR回路511は、空き容
量計算回路522の出力を入力とし、該空き容量計算回
路522の値が0でない場合、つまり送出バッファ50
にネットワークへ送出すべきデータがある場合に“1”
を出力する。空き容量計算回路522は、ライトアドレ
スレジスタ500の値とリードアドレスレジスタ501
の値とを入力とし、信号線100を介して送出バッファ
空き容量を出力する。
【0070】以上、本発明の実施の形態におけるメッセ
ージ送出処理とメッセージ送出処理を中断および再開す
る動作と、センダ5の詳細構成を説明した。
【0071】本発明の実施の形態に示したシステムに於
いて、TCWレジスタ制御部43内のタイムアウト時間
レジスタ400にタイムアウト時間を設定しておけば、
多くのTCWが連結された長いTCWチェインを有する
送出要求(送出要求1と呼ぶ)のメッセージ送出処理を
行っており、かつ次の少ないTCWが連結された短いT
CWチェインを有する送出要求(送出要求2)が送出処
理の開始を待っている場合でも、タイムアウト時間が経
過するとタイムアウトが発生し、そのときに処理を行っ
ているTCWの処理が終了した時点で送出要求1のメッ
セージ送出処理を中断し送出要求2の処理を開始する。
そのため送出要求1が動的にTCWチェインを連結し続
けるような場合でも、次の送出要求2がいつまでも待た
されることがなくなり、システム全体の処理時間が延び
るのを防ぐことと、1ユーザが不当に長い時間メッセー
ジ送出処理を行い他のユーザに迷惑をかけるのを防ぐこ
とが出来る。さらにメッセージ送出処理を中断されたメ
ッセージ送出要求のSMCWは、SMCWレジスタ47
から読み出され、ソフトウェアにより主記憶上の所定領
域にキューイングされ、該NIA3の内部に留まらない
ため、中断できる送出要求に限りが無い。そのため、例
えば送出要求1〜10が長いTCWチェインを有し、そ
れ以降の送出要求11〜20が短いTCWチェインを有
しているような場合でも、送出要求1〜10はタイムア
ウトが発生しメッセージ送出処理が中断されるため、送
出要求11〜20のメッセージ送出処理を不当に長い時
間待たせることなく開始することが出来る。またTCW
には該送出処理中断ビットを設けてある。TCWチェイ
ンが長くなるため、システム全体の処理時間を延ばした
り、他のユーザに迷惑をかけることがあらかじめわかっ
ている場合には、TCWチェイン中の適当なTCWの該
送出処理中断ビットを“1”に設定しておくことで、メ
ッセージ送出処理を中断することができ、他のユーザに
迷惑をかけずに済む。
【0072】本発明の実施の形態に於いては、メッセー
ジ送出処理を中断する条件として、TCWレジスタ制御
部43内の送出時間計測タイマ410の値がタイムアウ
ト時間を超過した場合とTCWの送出中断ビットが
“1”である場合との両方を採用しているが、どちらか
一方のみを採用することでもよい。また本発明の実施の
形態に於いては、NIAがメッセージ送出処理の中断を
PUに割り込みにより報告したが、他の方法としては、
(1)NIA内にPUがポーリングするレジスタを設
け、該レジスタにメッセージ送出処理の中断を示す値を
格納する方法と、(2)主記憶上にPUがポーリングす
る領域を設け、該領域にNIAがメッセージ送出処理の
中断を示す値を格納する方法などが考えられる。さらに
本発明の実施の形態に於いては一つのTCWにつき1メ
ッセージであったが、メッセージをより細かいパケット
に分割することでもよい。
【0073】次に、本発明の他の実施の形態について説
明する。今までは、メッセージ送出を要求する場合、セ
ンダ5がメッセージ送出要求として受信するデータは仮
想ポート番号であったが、左程ユーザ間のプロテクショ
ンを保証しなくとも良い場合には、メッセージ送出要求
として先頭TCWアドレスを渡す方法もある。この場合
には、図2で示した仮想ポート、PATが不要であり、
また、VPAリクエスト、先頭TCWアドレスリクエス
ト、先頭TCWアドレスライトリクエストが不要とな
る。それに伴いデータ種類識別信号デコーダ40、DM
Aリクエスト制御部42、TCWレジスタ制御部43の
構成、動作が簡単になる。また、SMCWはTCWレジ
スタ46に保持された次TCWアドレスであり、SMC
Wを伝える信号線はTCWレジスタ46とSMCWレジ
スタ47との間で接続される。
【0074】図11に、この実施の形態のメッセージ送
出処理フローチャートを示す。F200はメッセージ送
出処理を開始する信号である送出開始要求信号を発行す
るか否かを判定するステージである。F201は先頭T
CWリクエストを発行してTCWを取得するステージで
ある。F202は取得したTCWからメッセージヘッダ
を生成し送出バッファ50へ送出するステージである。
F203は該メッセージヘッダを送出バッファ50へラ
イトし終えた後に、データリクエストと該データリクエ
ストにより取得したメッセージデータを送出バッファ5
0へライトすることとを並行して行うステージである。
F204はデータリクエストが終了したTCWが、TC
Wチェインの最終TCWであるか否かを判定するステー
ジであり、最終TCWであればF200に戻り、最終T
CWでなければF205に行く。F205はメッセージ
送出処理を中断する条件が成立したか否かを判定するス
テージであり、中断条件が成立しなければF200に戻
り、中断条件が成立すればF206に行く。F206は
TCWレジスタに保持されているSMCW(次TCWア
ドレス)をSMCWレジスタへライトするステージであ
る。F207はメッセージ中断をPUに報告する割り込
みを発生するステージであり、割り込み処理後、F20
0へ戻る。各ステージで行う処理は基本的に先の実施の
形態の場合と同じである。
【0075】更に、TCWチェインを考慮しないシステ
ムに於いては、メッセージ送出要求として直接TCWを
渡す方法もある。この場合、送出要求キュー45にTC
Wが格納されるためTCWレジスタ46が不要になる。
また、必要なリクエストはデータリクエストのみであ
り、それに伴いデータ種類識別信号デコーダ40、DM
Aリクエスト制御部42、TCWレジスタ制御部43の
構成、動作が更に簡単になる。本実施の形態のシステム
では、TCWのメッセージをより細かなパケットに分割
することで、メッセージ送出処理の中断ができる。ま
た、SMCWはTCWであるが、送出要求として渡され
たTCWと比べて、送出したパケットの分だけデータ先
頭アドレスと残りデータ長が更新されたものとなる。
【0076】図12に、この実施の形態のメッセージ送
出処理フローチャートを示す。F300はメッセージ送
出処理を開始する信号である送出開始要求信号を発行す
るか否かを判定するステージである。F301はメッセ
ージ送出要求として取得したTCWからメッセージヘッ
ダを生成し送出バッファ50へライトするステージであ
る。F302はデータリクエストとデータリクエストに
より取得したメッセージデータを送出バッファ50へラ
イトすることとを並行して行うステージである。F30
3はデータリクエストが終了か否かを判定するステージ
であり、終了であればF300に戻り、そうでなければ
F304に行く。F304はメッセージ送出処理を中断
する条件が成立したか否かを判定するステージであり、
中断条件が成立ししなければF300に戻り、中断条件
が成立すればF305に行く。F305はSMCW(T
CW)をSMCWレジスタへライトするステージであ
る。F306はメッセージ中断をPUに報告する割り込
みを発生するステージであり、割り込み処理後、F30
0へ戻る。なお、本実施の形態でパケットのデータ領域
の大きさは、1回のデータリクエストで取得できるデー
タ量よりも小さいと仮定した。
【0077】
【発明の効果】本発明によれば、任意の数のメッセージ
送出処理を中断及び再開できる並列計算機システムを実
現し、該並列計算機システムをマルチユーザ環境下で使
用する場合、一人のユーザがメッセージ送出処理を占有
することを防止できる。
【図面の簡単な説明】
【図1】本発明の並列計算機システムの実施の形態の全
体構成図である。
【図2】主記憶上にあるポート番号・仮想ポート先頭ア
ドレス対応テーブル(PAT)及び仮想ポートとメッセ
ージ送出制御情報(TCW)チェインの例を示す図であ
る。
【図3】ノード内のネットワークインタフェースアダプ
タのセンダの構成図である。
【図4】センダ内の送出要求キュー制御部の詳細図であ
る。
【図5】センダ内のDMAリクエスト制御部の詳細図で
ある。
【図6】センダ内のTCWレジスタ制御部の詳細図であ
る。
【図7】センダ内の送出バッファ制御部の詳細図であ
る。
【図8】本発明による一実施の形態におけるメッセージ
送出処理シーケンスのフローチャートである。
【図9】センダ内のTCWレジスタの詳細図である。
【図10】センダ内の送出バッファにライトされたメッ
セージの詳細図である。
【図11】本発明による他の実施の形態におけるメッセ
ージ送出処理シーケンスのフローチャートである。
【図12】本発明による更に他の実施の形態におけるメ
ッセージ送出処理シーケンスのフローチャートである。
【図13】TCWレジスタ制御部内のリードアドレス・
ライトイネーブル・ライトアドレス(REW)生成回路
の入出力対応表である。
【符号の説明】
1 プロセッサユニット 2 主記憶 3 ネットワークインタフェースアダプタ(NIA) 4 バス制御部 5 センダ 6 レシーバ 7 ネットワーク 40 データ種類識別信号デコーダ 41 送出要求キュー制御部 42 DWAリクエスト制御部 43 TCWレジスタ制御部 44 送出バッファ制御部 45 送出要求キュー 46 TCWレジスタ 47 SMCWレジスタ 48 SMCW有効ビット 49 セレクタ 50 送出バッファ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサと、該プロセッサで処理する
    命令列やデータを格納する主記憶と、ネットワークとの
    メッセージ送受信を司どるネットワークインタフェース
    アダプタ(以下、NIAと称す)を具備する計算機にお
    いて、 NIAが、メッセージ送出処理中断条件の成立を検出す
    る手段と、前記メッセージ送出処理中断条件の成立を検
    出した場合に該メッセージ送出処理をメッセージ送出単
    位に中断する手段と、該中断されたメッセージ送出処理
    を再開する手段とを有することを特徴とする計算機。
  2. 【請求項2】 請求項1記載の計算機において、主記憶
    に、中断されたメッセージ送出処理を再開するための制
    御情報(以下、SMCWと称す)をキューイングし、プ
    ロセッサが該主記憶からSMCWを読み出してNIAに
    送付することにより、該NIAで中断されたメッセージ
    送出処理を再開することを特徴とする計算機。
  3. 【請求項3】 請求項1、2記載の計算機において、N
    IAが、メッセージ送出処理の経過時間を計測するタイ
    マを有し、該経過時間があらかじめ定めた時間を超過し
    たことをメッセージ送出処理中断条件とすることを特徴
    とする計算機。
  4. 【請求項4】 請求項1、2記載の計算機において、メ
    ッセージ送信のための制御情報(以下、TCWと称す)
    中にメッセージ送出中断ビットを設け、該ビットがメッ
    セージ送出中断を示すことをメッセージ送出処理中断条
    件とすることを特徴とする計算機。
  5. 【請求項5】 請求項1乃至4記載の計算機において、
    NIAが、複数個のメッセージ送出処理要求を受け付け
    る手段を有し、メッセージ送出処理中断条件が成立し、
    かつ、メッセージ送出を行っているメッセージ送出処理
    要求の他にメッセージ送出処理要求がある場合に、メッ
    セージ送出処理を中断することを特徴とする計算機。
  6. 【請求項6】 請求項1乃至5記載の計算機において、
    NIAが、SMCWを一時保持する手段と、メッセージ
    送出処理を中断したことをプロセッサに割り込みにより
    報告する手段を有し、該割り込みによりプロセッサが所
    定ソフトウェアを起動し、該ソフトウェアにより前記S
    MCWを読み出して主記憶にキューイングすることを特
    徴とする計算機。
  7. 【請求項7】 請求項1乃至6記載の構成の計算機が複
    数個、ネットワークを介して接続され、計算機間でメッ
    セージ送受信を行う並列計算機システムであって、各計
    算機において任意の数のメッセージ送出処理の中断およ
    び再開を可能としたことを特徴とする並列計算機システ
    ム。
  8. 【請求項8】 複数の計算機がネットワークを介して接
    続され、計算機間でメッセージ送受信を行う並列計算機
    システムにおけるメッセージ送出処理方法であって、 メッセージ送出処理を実行し、該メッセージ送出処理を
    中断する必要があるか否か判定し、該メッセージ送出処
    理を中断する場合に該メッセージ送出処理をメッセージ
    送出単位に中断し、該中断したメッセージ送出処理を再
    開するための制御情報をキューイングすることを特徴と
    するメッセージ送出処理方法。
JP9295242A 1997-10-28 1997-10-28 計算機、並列計算機システム及びメッセージ送出処理方法 Pending JPH11134309A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9295242A JPH11134309A (ja) 1997-10-28 1997-10-28 計算機、並列計算機システム及びメッセージ送出処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9295242A JPH11134309A (ja) 1997-10-28 1997-10-28 計算機、並列計算機システム及びメッセージ送出処理方法

Publications (1)

Publication Number Publication Date
JPH11134309A true JPH11134309A (ja) 1999-05-21

Family

ID=17818064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9295242A Pending JPH11134309A (ja) 1997-10-28 1997-10-28 計算機、並列計算機システム及びメッセージ送出処理方法

Country Status (1)

Country Link
JP (1) JPH11134309A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631114B2 (en) 2003-03-28 2009-12-08 Renesas Technology Corp. Serial communication device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631114B2 (en) 2003-03-28 2009-12-08 Renesas Technology Corp. Serial communication device

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
US5606703A (en) Interrupt protocol system and method using priority-arranged queues of interrupt status block control data structures
US20030067930A1 (en) Packet preprocessing interface for multiprocessor network handler
US6631430B1 (en) Optimizations to receive packet status from fifo bus
JPH06309252A (ja) 相互接続インタフェース
JPH07288535A (ja) プロセッサ・チャネル及び交換機構の間に設けられたアダプタ装置
JPH07281976A (ja) パケットfifoを管理する方法
JP3127523B2 (ja) 通信制御装置およびデータ送信方法
JP2978539B2 (ja) データ転送制御装置
JPH10320282A (ja) 仮想キャッシュ・コントロール方法及び装置
US5594868A (en) Processor unit for a parallel processor system discards a received packet when a reception buffer has insufficient space for storing the packet
US6976110B2 (en) Method and apparatus for reducing interrupt latency by dynamic buffer sizing
JPH11134309A (ja) 計算機、並列計算機システム及びメッセージ送出処理方法
JP2924783B2 (ja) リモートリード処理方法およびその装置
JPH08202566A (ja) プロセス間通信システム
JPH03147157A (ja) 情報処理装置
JP3058010B2 (ja) プロセッサ間通信方法及び装置
JP3693183B2 (ja) データ処理装置
JPH0922397A (ja) 並列計算機
JPH0661074B2 (ja) アクセス制御装置、バスの遊休時間を最小化する方法、dma制御装置、及びdmaデータ転送方法
JP3171726B2 (ja) 伝送データの管理装置
JPH06231101A (ja) 受信タイムアウト検出機構
KR100205055B1 (ko) 송신 연결망 인터페이스에서의 긴급 메시지 송신 제어 방법
JP3640976B2 (ja) データ転送制御方法
JP2000244585A (ja) バスインタフェース回路