JPH0675883A - メッセージ通信装置 - Google Patents

メッセージ通信装置

Info

Publication number
JPH0675883A
JPH0675883A JP4226224A JP22622492A JPH0675883A JP H0675883 A JPH0675883 A JP H0675883A JP 4226224 A JP4226224 A JP 4226224A JP 22622492 A JP22622492 A JP 22622492A JP H0675883 A JPH0675883 A JP H0675883A
Authority
JP
Japan
Prior art keywords
message
queue
buffer
transmission
communication device
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
JP4226224A
Other languages
English (en)
Inventor
Naoki Matsudaira
直樹 松平
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 JP4226224A priority Critical patent/JPH0675883A/ja
Publication of JPH0675883A publication Critical patent/JPH0675883A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 複数のプロセッサをバスで結合した装置間の
メッセージの転送を確実に行う。 【構成】 イベント監視手段7は常に第1〜第4の処理
手段3〜6の起動要因となるイベントを監視し、コンピ
ュータからメッセージを受信した際には第1の処理手段
3を起動して第1の待ち行列1にそのメッセージを接続
し、イベント監視手段7は送信条件を満足したとき第2
の処理手段4を起動して当該メッセージを伝送路に送信
する。伝送路からメッセージを受信した際には第3の処
理手段5を起動し、メッセージを第2の待ち行列2に接
続し、さらに、イベント監視手段7が第2の待ち行列2
にキューイングされたメッセージを送信する起動要因を
検出した際には、第4の処理手段6を起動し、目的とす
るプロセッサにメッセージを送信する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プロセッサをネットワ
ークによって接続したネットワークシステムに係り、さ
らに詳しくは複数のプロセッサをバスによって結合した
コンピュータ間でメッセージの通信を行うメッセージ通
信装置に関する。
【0002】
【従来の技術】複数のプロセッサをバスで接続し、さら
にその複数のプロセッサを一グループとして複数のグル
ープ間のメッセージを通信するシステムはフロントエン
ドプロセッサやフォールトトレラントシステムさらには
オンライントランザクションプロセッサ等広い分野で利
用される。このような分散システムではコンピュータ台
数に比例した性能の出現、例えば装置間距離の延長やコ
ンピュータ台数の増大が望まれる。前述したメッセージ
通信装置が、プロセッサ間のメッセージを高速かつ確実
に処理することにより、前述の装置間距離の延長、さら
にはコンピュータ台数の増大が可能となる。また、これ
によって大規模分散システムの構築が望まれる。一方、
このようなメッセージ通信システムにおいてはメッセー
ジの送信処理、受信処理を行い、メッセージが正しく送
信できなかった場合は該当するメッセージを再送して確
実な転送を保証している。
【0003】
【発明が解決しようとする課題】前述したような複数の
プロセッサをバスで結合したマルチプロセッサ構成で通
信制御を全てのプロセッサで行う方式においては、ネッ
トワークインタフェースがプロセッサ数分必要となり経
済的な分散システムの構築ができないと言った問題があ
る。
【0004】本発明は複数のプロセッサをバスで結合し
た装置間で伝送路を介したメッセージの転送を確実に行
うメッセージ通信装置を提供することを目的とする。
【0005】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図である。本発明は複数のプロセッサをバスで結合
した装置間で、伝送路を介したメッセージの転送を行う
通信装置におけるものである。
【0006】第1の待ち行列1は前記伝送路に送信する
宛先通信装置毎のメッセージの待ち行列である。第2の
待ち行列2は伝送路から通信装置が受信する宛先プロセ
ッサ毎の待ち行列である。
【0007】第1の処理手段3は前記コンピュータから
受信したメッセージを前記第1の待ち行列に接続する。
第2の処理手段4は前記第1の待ち行列にキューイング
されたメッセージを前記伝送路に送信する。
【0008】第3の処理手段5は前記伝送路から受信し
たメッセージを前記第2の待ち行列に接続する。第4の
処理手段6は第2の待ち行列にキューイングされたメッ
セージを前記プロセッサに送信する。
【0009】イベント監視手段7は前記第1乃至第4の
処理の起動要因となるイベントを開始し、イベント発生
時に該当処理手段を起動する。
【0010】
【作用】イベント監視手段7は常に前記第1〜第4の処
理手段3〜6の起動要因となるイベントを監視してお
り、コンピュータからメッセージを受信した際には第1
の処理手段を起動し、第1の待ち行列1にその受信した
メッセージを接続する。前記第1の待ち行列1に第1の
処理3によってキューイングされたメッセージを送信す
る際には、先ずイベント監視手段7がその送信条件を満
足したとき第2の処理手段4を起動する。そして当該メ
ッセージを伝送路に送信する。
【0011】前記第1の処理手段3と第2の処理手段4
ならびに第1の待ち行列1はプロセッサから受信したメ
ッセージを伝送路に送信するための手段である。一方、
伝送路からメッセージを受信した際にはイベント監視手
段7が第3の処理手段5を起動し、伝送路から受信した
前記メッセージを前記第2の待ち行列2に接続する。そ
して、前記第3の処理手段5によって第2の待ち行列に
キューイングされたメッセージを送信する起動要因をイ
ベント監視手段7は検出し、その要因発生の時に、第4
の処理手段を起動し、目的とする前記プロセッサに第4
の処理手段6はメッセージを送信する。
【0012】イベント検出とイベント駆動ならびに該当
イベント処理を分離しメッセージを待ち行列に接続する
ことにより処理構成を単純化でき、オーバーヘッドの大
きい割り込み処理を不要とする。
【0013】
【実施例】以下、図面を用いて本発明を詳細に説明す
る。図2は本発明の第1の実施例のシステム構成図であ
る。コンピュータシステム91,92,93はそれぞれ
複数のプロセッサ101〜104,111〜114,1
21〜124,131〜134とメッセージ通信機構1
00,110,120,130よりなっている。それら
コンピュータシステム90〜93のメッセージ通信機構
100,110,120,130はLAN等のマルチア
クセスチャネルにより結合されている。
【0014】メッセージ通信機構100,110,12
0,130はプロセッサからLAN94を介したプロセ
ッサへの通信や同一コンピュータ内の通信、さらにはメ
ッセージ通信機構間とプロセッサ等全ての通信を行うも
のである。このメッセージ通信機構100,110,1
20,130は前述のプロセッサ101〜104,11
1〜114,121〜124,131〜134と同様に
プロセッサとしても動作する。
【0015】メッセージ通信機構100,110,12
0,130は、図3に示すメッセージ通信機構のデータ
と処理の説明図の如く、プロセッサを接続するバス95
〜98を介した通信を行うバスインタフェース141
と、ネットワーク94に接続されるネットワークインタ
フェース142と、バスからきたパケット等のメッセー
ジをネットワークに接続するいわゆる伝送路に接続する
際のメッセージを一時的に管理する待ち行列143と、
ネットワークインタフェース142から受信したメッセ
ージを目的の宛先プロセッサモジュールに送出する管理
を行う待ち行列144よりなる。
【0016】図4はメッセージ通信機構の第1の処理説
明図である。待ち行列143ならびに待ち行列144
は、メッセージ通信機構100,110,120,13
0内に設けられたイベント監視処理145によってバス
からのメッセージ受信処理146、バスへのメッセージ
送信処理147、ネットワークへのメッセージ送信処理
148、ネットワークからメッセージへの受信処理14
9が起動された際にアクセスされる。換言するならば、
イベント監視処理145はバスインタフェース141か
らのメッセージ受信通知、バスインタフェースからのメ
ッセージ送信終了通知、待ち行列のメッセージキューイ
ング数、ネットワークインタフェースからのメッセージ
受信通知、およびメッセージ送信終了通知を監視し、こ
れらのイベントの1つを検出すると当該イベントの処理
を起動する。そして、起動された処理は前述の待ち行列
をアクセスする。待ち行列143は、バスインタフェー
ス141を介して、メッセージを受信した際にメッセー
ジ受信処理146によってアクセスされる。また、ネッ
トワークへのメッセージ送信処理148がネットワーク
に待ち行列143でキューイングされたメッセージを送
出する時にアクセスされる。待ち行列144はネットワ
ークインタフェース142を介してメッセージをメッセ
ージ受信処理149が受信した時にアクセスされる。ま
た、それを目的のプロセッサに送出する際に、パスへの
メッセージ送信処理147によってアクセスされる。
【0017】図5は前述待ち行列143,144の説明
図である。待ち行列143,144は宛先別にキューを
有している。そしてメッセージ受信処理146,147
はメッセージを受信すると宛先を調べ、宛先ごとに該当
するキューにメッセージをバッファに格納するとともに
その待ち行列143,144にバッファを接続する。そ
の待ち行列は、プロセッサやコンピュータの全てのキュ
ーイングメッセージの総数と、宛先#iのバッファリス
トの先頭アドレス、続いて宛先#iのバッファリストの
最終アドレス、そして宛先#iのキューイングメッセー
ジ総数をプロセッサ分有する。この宛先は待ち行列14
4であるならば、プロセッサ単位である。また、待ち行
列143であるならば宛先はコンピュータ単位である。
【0018】このような宛先単位でバッファB1,B2
を目的の待ち行列に接続し、キューイングするのでメッ
セージ通信機構そのものがLAN等のネットワーク94
との通信を行い、バスに接続したプロセッサはそれを管
理することなく通信を行うことができる。
【0019】前述した本発明の第1の実施例において
は、トークンリンク等のマルチアクセスチャネルに接続
しているが、図6に示す如くコンピュータ90と91を
1対1で接続しメッセージ通信機構100,110がP
−P(ポイント−ポイント)リンクにより直結されたも
のでもよい。またこの時、送信ならびに受信は各メッセ
ージ通信機構がポイント−ポイントであるので、コンピ
ュータへの送信の待ち行列は図7に示す如く単一構造の
待ち行列であってもよい。なぜならばコンピュータ90
からコンピュータ91へあるいはコンピュータ91から
コンピュータ90への通信は1対1であり、この時の待
ち行列はそれぞれ対向したコンピュータに対するだけで
あるからである。なお、受信においては各プロセッサ対
応での受信であるので、それぞれ図5の構成となる。こ
れも単一とし、送信する際にどのプロセッサへの送信で
あるかを判断してプロセッサに送出してもよい。 <本発明の第2の実施例>図8は、本発明の第2の実施
例のネットワークの構成図である。
【0020】光ファイバリング206を中心に構成され
るネットワーク201には、複数のノード202(図8
では、#000、#***、#%%%、などの番号で示されている)
が接続される。このネットワークは例えばトークンリン
グである。
【0021】ノード202において、プロセッサバス2
05には複数のプロセッサ204が接続され、プロセッ
サバス205はメッセージ通信装置203すなわちメッ
セージ通信制御モジュールに収容される。メッセージ通
信装置203は、プロセッサバス205を介してプロセ
ッサ204が送信又は受信するメッセージデータを処理
し、また、光ファイバリング206に対して入力又は出
力されるメッセージデータが格納されたフレームを処理
する。
【0022】次に、図9は、本発明の実施例における図
8のノード202内のメッセージ通信装置203の構成
図である。実メモリ307は、メッセージデータを一時
保持する通信バッファとして機能する。
【0023】制御メモリ308は、メッセージの通信に
使用される仮想記憶空間上の各仮想ページアドレス毎
に、その仮想ページアドレスが実メモリ307内の実ペ
ージアドレスに割り付けられている場合にはその実ペー
ジアドレスと、その仮想ページアドレスのページ状態
(通信状態)を示すデータを記憶する。
【0024】プロセッサバスインタフェース312は、
図8のプロセッサバス205を収容すると共に外部バス
301に接続され、図8のプロセッサ204からプロセ
ッサバス205を介して入力されるメッセージデータ等
を、外部バス301及びバーチャルメモリコントローラ
309を介して実メモリ307に出力し、逆に、実メモ
リ307からバーチャルメモリコントローラ309及び
外部バス301を介して入力されるメッセージデータ等
を、プロセッサバス205を介してプロセッサ204に
出力する。
【0025】また、プロセッサバスインタフェース31
2は、外部バス301、バス結合部311及びCPUバ
ス302を介して、CPU313との間で、通信制御デ
ータの授受を行う。尚、通常はバス結合部311は外部
バス301とCPUバス302を接続しておらず、#0又
は#1のプロセッサバスインタフェース312が実メモリ
307との間でメッセージデータ等の授受を行うために
外部バス301をアクセスする動作と、CPU313が
実メモリ307又は制御メモリ308をアクセスするた
めにCPUバス302をアクセスする動作は、独立にか
つ並行して行うことができる。この結果、メッセージ通
信装置203全体のスループットを向上させている。
【0026】図8には明示してないが、図9では、プロ
セッサバス205は、1ノードあたり2本設けられてい
る。従って、プロセッサバスインタフェース312も、
各プロセッサバス205に対応して、#0と#1の2つが設
けられている。そして、#0のプロセッサバスインタフェ
ース312は、制御線319を用いて、#0と#1の各プロ
セッサバスインタフェース312が外部バス301をア
クセスする場合の競合制御を行う。更に、#0のプロセッ
サバスインタフェース312は、制御線321、322
を介して、後述するCPUバスアービタ314及びI/
Oコントローラ315との間でバスの使用に関する制御
データを授受しながら、外部バス301の競合制御を行
って、必要なときには制御線320を介してバス結合部
311の開閉制御を行う。
【0027】ネットワーク制御回路310は、フレーム
の送信時には、CPU313からCPUバス302、I
/Oコントローラ315、及びネットワーク命令/結果
バス303を介して入力される送信命令に基づいて、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、実メモリ307からバーチャルメ
モリコントローラ309及びネットワークデータ送信バ
ス305を介して送信されるべきメッセージデータを読
み出し、それを含む送信フレームを構築し、それを光フ
ァイバリング206に送出し、その送信結果を、ネット
ワーク命令/結果バス303、I/Oコントローラ31
5、及びCPUバス302を介してCPU313に通知
する。
【0028】また、ネットワーク制御回路310は、光
ファイバリング206からのフレームの受信時には、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、その受信フレームを他のノード2
02へ中継する。又は、その受信フレーム内のメッセー
ジデータを取り出し、ネットワークデータ受信バス30
4からバーチャルメモリコントローラ309を介して実
メモリ307に格納し、その受信結果を、ネットワーク
命令/結果バス303、I/Oコントローラ315、及
びCPUバス302を介してCPU313に通知する。
【0029】CPU313は、CPUバス302に接続
され、動作開始時に、CPUバス302に接続されるE
PROM316からCPUバス302に接続されるプロ
グラムRAM317に書き込まれる制御プログラムに従
って動作する。
【0030】このCPU313は、CPUバス302、
バス結合部311、及び外部バス301を介して、プロ
セッサバスインタフェース312との間で、通信制御デ
ータの授受を行う。
【0031】また、CPU313は、フレームの送信時
には、CPUバス302、I/Oコントローラ315、
及びネットワーク命令/結果バス303を介して、送信
命令をネットワーク制御回路310へ出力し、その後、
ネットワーク制御回路310から、ネットワーク命令/
結果バス303、I/Oコントローラ315、及びCP
Uバス302を介して、送信結果通知を受け取る。逆
に、CPU313は、フレームの受信時には、ネットワ
ーク制御回路310から、ネットワーク命令/結果バス
303、I/Oコントローラ315、及びCPUバス3
02を介して、受信結果通知を受け取る。
【0032】更に、CPU313は、CPUバス302
を介して制御メモリ308内の各仮想ページアドレスの
ページ状態データ(通信状態を示すデータ)をアクセス
すると共に、CPUバス302及びバーチャルメモリコ
ントローラ309を介して制御メモリ308内の各仮想
ページアドレスの実ページアドレスデータ及び実メモリ
307をアクセスする。
【0033】I/Oコントローラ315は、CPUバス
302に接続され、外部の周辺装置が接続される周辺装
置バス318を収容する。また、I/Oコントローラ3
15は、前述したように、CPUバス302及びネット
ワーク命令/結果バス303を介して、CPU313と
ネットワーク制御回路310との間で授受される送信命
令、送信結果通知又は受信結果通知を中継する。
【0034】更に、I/Oコントローラ315は、CP
U313が外部バス301をアクセスするアドレスをC
PUバス302に対して指定した場合に、制御線322
を介して#0のプロセッサバスインタフェース312に、
外部バスアクセス要求を出力する。
【0035】CPUバスアービタ314は、プロセッサ
バスインタフェース312から制御線321を介してC
PUバスアクセス要求(バスグラント要求)を受け取っ
た場合に、CPU313に対して制御線323を介して
バス使用要求(バスグラント要求)を出力し、CPU3
13から制御線323を介してバス使用許可(バスグラ
ントアクノリッジ)を受け取り、それに基づいてCPU
バスアクセス許可(バスグラントアクノリッジ)を制御
線321を介して#0のプロセッサバスインタフェース3
12に返す。
【0036】バーチャルメモリコントローラ309は、
プロセッサバスインタフェース312と実メモリ307
との間で外部バス301を介して授受されるデータ、C
PU313と実メモリ307又は制御メモリ308との
間でCPUバス302を介して授受されるデータ、ネッ
トワーク制御回路310と実メモリ307との間でネッ
トワークデータ受信バス304又はネットワークデータ
送信バス305を介して授受されるデータのスイッチン
グ制御及び競合制御を行う。
【0037】以上の構成を有する本発明の実施例の動作
について説明する。 <プロセッサ間通信の全体動作>今、図8及び図9にお
いて、例えば#000のノード202内の1つのプロセッサ
204から、#***のノード202内の他の1つのプロセ
ッサ204にメッセージデータを送信する場合の全体動
作について説明する。
【0038】この場合に、#000のノード202内の1つ
のプロセッサ204から送信されるメッセージデータ
は、プロセッサバス205を介してそのノード内のメッ
セージ通信装置203(以下、#000のメッセージ通信装
置203と呼ぶ)の実メモリ307に転送された後に、
#***のノード202内のメッセージ通信装置203(以
下、#***のメッセージ通信装置203と呼ぶ)の実メモ
リ307に送られ、その後、その実メモリ307からプ
ロセッサバス205を介して宛て先のプロセッサ204
に転送される。即ち、各メッセージ通信装置203の実
メモリ307は、通信バッファとして機能する。 <メッセージ通信装置203間の通信方式>ここで、メ
ッセージ通信装置203間のメッセージデータの通信に
は、ネットワーク仮想記憶方式という特別な方式が適用
される。
【0039】まず、図8のネットワーク201全体で、
仮想記憶空間が定義される。この仮想記憶空間は、複数
の仮想ページに分割され、メッセージデータの通信はこ
の仮想ページを介して行われる。例えば、仮想記憶空間
は、0000〜FFFFページ(16進数)までの仮想ページア
ドレスに分割される。1つの仮想ページは、メッセージ
データの1単位であるパケットを十分に収容可能な固定
長(例えば8キロバイト長)のデータ長を有する。な
お、以下特に言及しないときは、仮想ページアドレス及
び口述する実ページアドレスは、16進数で表現する。
【0040】次に、この仮想記憶空間の所定ページ数毎
例えば16ページ毎に、ネットワーク201に接続され
る各ノード202のメッセージ通信装置203が割り当
てられる。例えば、0000〜000Fページには#000番目のノ
ード202のメッセージ通信装置203が割り当てら
れ、0010〜001Fページには#001番目のノード202のメ
ッセージ通信装置203が割り当てられ、以下同様にし
て、***0〜***Fページ及び%%%0〜%%%Fページ(3桁の *
及び %はそれぞれ0〜Fの16進数のうち任意の数)に
は、それぞれ#***番目及び#%%%番目の各ノード202の
メッセージ通信装置203が割り当てられる。尚、前述
したクラスタアドレスはこの仮想ページアドレスに対応
してもよく、また対応していない時には別に設けた対応
テーブルを用いて対応させてもよい。
【0041】従って、上述の例では、ネットワーク20
1には、#000〜#FFFまでの最大で4096台のメッセー
ジ通信装置203が接続可能である。一方、各メッセー
ジ通信装置203内の実メモリ307は、それぞれが上
述の仮想ページと同じデータ長を有する複数の実ページ
に分割される。実メモリ307のページ容量は、仮想記
憶空間のページ容量よりはるかに小さくてよく、例えば
64〜256ページ程度でよい。
【0042】次に、各メッセージ通信装置203の制御
メモリ308にはそれぞれ、図10に示されるように、
全仮想ページアドレス分の制御データが記憶される。各
仮想ページアドレスの制御データは、図10に示される
ように、その仮想ページアドレスに対応付けられる自メ
ッセージ通信装置203内の実メモリ307の実ページ
アドレスデータと、その仮想ページアドレスの通信状態
を示すページ状態データとから構成されている。
【0043】そして、初期状態として、各ノード202
内のメッセージ通信装置203の制御メモリ308にお
いて、そのノード202に割り当てられている仮想ペー
ジアドレスには、CPU313のネットワーク用受信制
御機能によって、自メッセージ通信装置203の実メモ
リ307内の任意の空きページに設けられるネットワー
ク用受信バッファの実ページアドレスと、ページ状態と
して受信バッファ割付状態VPが、それぞれ予め書き込ま
れている。なお、ネットワーク用受信制御機能は、CP
U313がプログラムRAM317に記憶された制御プ
ログラムを実行することにより実現される。
【0044】例えば、#000のメッセージ通信装置203
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている0000,0001,・・・ ,000Fペー
ジの各仮想ページアドレスには、図10に示されるよう
に、実メモリ307内のs,q,・・・,pの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
【0045】また、#***のメッセージ通信装置203の
制御メモリ308において、自メッセージ通信装置20
3に割り当てられている***0,***1,・・・ ,***Fページ
の各仮想ページアドレスには、図10に示されるよう
に、実メモリ307内のv,u,・・・,tの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
【0046】同様に、#%%%のメッセージ通信装置203
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている%%%0,%%%1,・・・ ,%%%Fペー
ジの各仮想ページアドレスには、図10に示されるよう
に、実メモリ307内のy,w,・・・,xの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
【0047】今、後述する転送動作により、例えば#000
のメッセージ通信装置203の実メモリ307内の、実
ページアドレスがr であるネットワーク用送信バッファ
(後述する)に、#000のノード202内の1つのプロセ
ッサ204からメッセージデータが転送されているもの
とする。
【0048】CPU313のネットワーク用送信制御機
能は、CPUバス302及びバーチャルメモリコントロ
ーラ309を介して実メモリ307内のネットワーク用
送信バッファに格納されているメッセージデータのヘッ
ダ内の宛て先アドレス部を解析することによって、その
宛て先アドレスに対応するプロセッサ204が収容され
るノード202に割り当てられている仮想ページアドレ
スのうち、ページ状態がバッファ未割付状態NAとなって
いるものを決定する。図10の例では、例えば仮想ペー
ジアドレス***2が決定される。なお、ネットワーク用送
信制御機能は、CPU313がプログラムRAM317
に記憶された制御プログラムを実行することにより実現
される。
【0049】次に、CPU313のネットワーク用送信
制御機能は、制御メモリ308内の上述の決定した仮想
ページアドレスに、上述のメッセージデータが格納され
ているネットワーク用送信バッファの実ページアドレス
を書き込み、ページ状態を、バッファ未割付状態NAから
送信状態SDに変更する。図10の例では、例えば仮想ペ
ージアドレス***2に実ページアドレスr と送信状態SDが
設定される。
【0050】そして、CPU313のネットワーク用送
信制御機能は、I/Oコントローラ315内の送信用F
IFOに、CPUバス302を介して、送信命令と共
に、上述の仮想ページアドレスと、上述のメッセージデ
ータの転送長を書き込む。
【0051】ネットワーク制御回路310は、I/Oコ
ントローラ315内の送信用FIFOから、ネットワー
ク命令/結果バス303を介して、上述の送信命令等を
読み出すと、その送信命令に付加されている仮想ページ
アドレスを、制御メモリアクセスバス306を介して制
御メモリ308に指定し、制御メモリ308から上述の
仮想ページアドレスに設定されている実ページアドレス
を読み出してバーチャルメモリコントローラ309内の
DMA転送用レジスタに設定する。
【0052】そして、ネットワーク制御回路310は、
バーチャルメモリコントローラ309に、送信されるべ
きメッセージデータが含まれる実メモリ307内の上記
実ページアドレスのページデータを、ネットワークデー
タ送信バス305を介してネットワーク制御回路310
にDMA転送させる。
【0053】ネットワーク制御回路310は、上述のペ
ージデータから送信命令に付加されているメッセージデ
ータの転送長に対応する分のメッセージデータを取り出
し、そのメッセージデータと送信命令に付加されている
仮想ページアドレス及びメッセージデータの転送長を含
む送信フレームを生成し、それを光ファイバリング20
6に送出する。なお、光ファイバリング206のフレー
ム伝送方式としては、トークンリングネットワーク方式
が採用され、ネットワーク制御回路310は、光ファイ
バリング206上を周回するフリートークンを獲得した
場合のみ送信フレームを送出することができる。
【0054】図10の例においては、#000のメッセージ
通信装置203から、仮想ページアドレス***2と実メモ
リ307内の実ページアドレスr に格納されているメッ
セージデータとを含む送信フレームが、光ファイバリン
グ206に送出される。
【0055】上述の送信フレームは、光ファイバリング
206に接続されている他のノード202(図8参照)
に順次転送される。各ノード202内のメッセージ通信
装置203のネットワーク制御回路310は、光ファイ
バリング206から上記送信フレームを取り込むと、そ
の送信フレームに格納されている仮想ページアドレスに
対応するページ状態を制御メモリアクセスバス306を
介して制御メモリ308から読み出し、そのページ状態
が受信バッファ割付状態VPであるか否か、即ち、その仮
想ページアドレスが自ノード202のメッセージ通信装
置203に割り当てられているか否か、又はそのページ
状態が送信状態SDであるか否か、即ち、その送信フレー
ムが自ネットワーク制御回路310が送出したものであ
るか否かを判別する。
【0056】ネットワーク制御回路310は、送信フレ
ームに格納されている仮想ページアドレスのページ状態
が受信バッファ割付状態VPであると判別した場合には、
送信フレームに格納されているメッセージデータを、以
下のようにして実メモリ307に取り込む。
【0057】即ち、ネットワーク制御回路310は、ま
ず、送信フレームに格納されている仮想ページアドレス
を、制御メモリアクセスバス306を介して制御メモリ
308に指定し、制御メモリ308から上述の仮想ペー
ジアドレスに設定されている実ページアドレスを読み出
してバーチャルメモリコントローラ309内のDMA転
送用レジスタに設定する。そして、ネットワーク制御回
路310は、バーチャルメモリコントローラ309に、
送信フレームに含まれるメッセージデータを、ネットワ
ークデータ受信バス304を介して実メモリ307内の
上述の実ページアドレスにDMA転送させる。
【0058】その後、ネットワーク制御回路310は、
送信フレームに格納されている仮想ページアドレスを、
制御メモリアクセスバス306を介して制御メモリ30
8に指定し、その仮想ページアドレスのページ状態を受
信バッファ割付状態VPから受信完了状態RDに変更する。
【0059】更に、ネットワーク制御回路310は、I
/Oコントローラ315内の受信用FIFOに、ネット
ワーク命令/結果バス303を介して、受信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスとメッセージデータの転送長を書き込む。
【0060】最後に、ネットワーク制御回路310は、
光ファイバリング206から受信した上述の送信フレー
ム中の応答領域に受信成功通知を書き込んだ後、その送
信フレームを再び光ファイバリング206に送出する。
【0061】例えば、図10の例では、#***のメッセー
ジ通信装置203のネットワーク制御回路310は、#0
00のノード202からの送信フレームに格納されている
仮想ページアドレス***2の制御メモリ308上のページ
状態が受信バッファ割付状態VPであると判別することに
より、その送信フレームに格納されているメッセージデ
ータを、制御メモリ308の仮想ページアドレス***2に
設定されている実ページアドレスu を有する実メモリ3
07内のネットワーク用受信バッファに取り込んだ後、
制御メモリ308の仮想ページアドレス***2のページ状
態を受信バッファ割付状態VPから受信完了状態RDに変更
する。
【0062】上述の受信結果通知は、CPU313によ
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用受信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の受信結果通知を受け取ると、結果コー
ドが受信成功であるならば、受信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
【0063】上述のページ状態が受信完了状態RDである
ならば、CPU313のネットワーク用受信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用受信バッファから切り離しプロセッサ用送信待ち
バッファキューに接続する。
【0064】その後、CPU313のネットワーク用受
信制御機能は、CPUバス302及びバーチャルメモリ
コントローラ309を介して実メモリ307を制御し
て、任意の空きページをネットワーク用受信バッファに
接続し、更に、上述の受信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスに、上述の
空きページの実ページアドレスと、ページ状態として受
信バッファ割付状態VPを、それぞれ書き込む。
【0065】これ以後、実メモリ307内のプロセッサ
用送信待ちバッファキューに対する処理は、CPU31
3のネットワーク用受信制御機能から後述するプロセッ
サ用送信制御機能に引き渡される。
【0066】一方、ネットワーク制御回路310は、送
信フレームに格納されている仮想ページアドレスに対応
するページ状態を制御メモリ308から読み出した結
果、そのページ状態が受信バッファ割付状態VPでも送信
状態SDでもないと判別した場合には、その送信フレーム
をそのまま光ファイバリング206に送出する。
【0067】例えば、図10の例では、#%%%のメッセー
ジ通信装置203のネットワーク制御回路310は、#0
00のノード202からの送信フレームに格納されている
仮想ページアドレス***2の制御メモリ308上のページ
状態が受信バッファ割付状態VPでも送信状態SDでもない
と判別することにより、その送信フレームをそのまま光
ファイバリング206に送出する。
【0068】上述のようにして光ファイバリング206
上を順次転送された送信フレームは、最後に送信元のノ
ード202内のメッセージ通信装置203のネットワー
ク制御回路310に戻る。
【0069】送信元のネットワーク制御回路310は、
送信フレームに格納されている仮想ページアドレスに対
応するページ状態を制御メモリ308から読み出した結
果、それが送信状態SDであると判別することによって、
その送信フレームが自ネットワーク制御回路310が送
出した送信フレームであることを判別する。
【0070】この場合に、ネットワーク制御回路310
は、受信した送信フレームの応答領域に受信成功通知が
書き込まれていることを確認した後に、制御メモリアク
セスバス306を介して、送信フレームに格納されてい
る仮想ページアドレスに対応する制御メモリ308のペ
ージ状態を、送信状態SDから送信完了状態SCに変更す
る。
【0071】そして、ネットワーク制御回路310は、
I/Oコントローラ315内の受信用FIFOに、ネッ
トワーク命令/結果バス303を介し、送信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスを書き込む。
【0072】上述の送信結果通知は、CPU313によ
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用送信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の送信結果通知を受け取ると、結果コー
ドが送信成功であるならば、送信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
【0073】上述のページ状態が送信完了状態SCである
ならば、CPU313のネットワーク用送信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用送信バッファから切り離し空きページとする。
【0074】その後、CPU313のネットワーク用送
信制御機能は、上述の送信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスのページ状
態として、バッファ未割付状態NAを書き込む。
【0075】以上のように、ネットワーク201(図8
参照)上において、1つの仮想記憶空間が定義され、こ
の空間を構成する固定長のデータ長を有する仮想ページ
が各メッセージ通信装置203に割り当てられる。そし
て、メッセージ通信装置203間のメッセージデータの
通信は、この仮想ページを使用して行われる。この結
果、通常のパケット通信で行われているブロック化制
御、順序制御が不要となる。
【0076】また、光ファイバリング206上の各ノー
ド202内のメッセージ通信装置203のネットワーク
制御回路310は、送信フレームを受信すると、その送
信フレームに格納されている仮想ページアドレスで制御
メモリ308上のページ状態をアクセスすることによっ
て、受信した送信フレームを高速に処理することができ
る。
【0077】加えて、光ファイバリング206上を転送
される送信フレームには応答領域が設けられ、受信側の
ノード202内のメッセージ通信装置203のネットワ
ーク制御回路310は、送信フレームの受信結果を送信
フレームの応答領域に書き込み、それを再び光ファイバ
リング206に送出する。従って、この送信フレームが
光ファイバリング206上を転送され送信元に戻ってく
るまでに、メッセージデータの送信処理が完了すること
になり、受信側から送信元への応答を別のフレームを用
いて通知する必要がない。この結果、通信プロトコルを
簡略なものにすることができ、高速な応答処理が可能と
なる。
【0078】更に、メッセージ通信装置203間のメッ
セージデータの通信は、メッセージ通信装置203内の
ネットワーク制御回路310が制御メモリ308をアク
セスしながら実メモリ307を使用して行い、プロセッ
サ204とメッセージ通信装置203間のメッセージデ
ータの通信は、後述するように、メッセージ通信装置2
03内のプロセッサバスインタフェース312が、上述
のネットワーク制御回路310の動作とは独立して、実
メモリ307を使用して行う。更に、実メモリ307上
の実ページアドレスに格納されたメッセージデータと仮
想記憶空間上の仮想ページアドレスとの対応付けは、後
述するように、CPU313がメッセージデータに付加
されたヘッダ内の宛て先アドレスに基づいて行う。従っ
て、プロセッサ204とメッセージ通信装置203間、
メッセージ通信装置203とメッセージ通信装置203
間の処理を効率良く高速に実行することが可能となる。 <送信元におけるプロセッサ204からメッセージ通信
装置203へのメッセージデータの転送動作>次に、送
信元のノード202(図10の例では#000のノード20
2)内の1つのプロセッサ204からそのノード内のメ
ッセージ通信装置203の実メモリ307に、メッセー
ジデータが転送される場合の動作について説明する。
【0079】まず、CPU313のプロセッサ用受信制
御機能は、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307をアクセスする
ことにより、実メモリ307において、プロセッサ用受
信バッファキューに空きバッファキューに接続されてい
る空きバッファを接続する。なお、プロセッサ用受信制
御機能は、CPU313がプログラムRAM317に記
憶された制御プログラムを実行することにより実現され
る機能である。
【0080】そして、CPU313のプロセッサ用受信
制御機能は、CPUバス302、バス結合部311、及
び外部バス301を介して、例えば#0のプロセッサバス
インタフェース312を起動すると共に、そのインタフ
ェース312に対して上述のプロセッサ用受信バッファ
キューの先頭アドレスを通知する。
【0081】プロセッサバスインタフェース312は、
プロセッサ204からプロセッサバス205を介して転
送されてきたメッセージデータを受信し、上記先頭アド
レスを受信開始アドレスとしてバッファアドレスを順次
更新しながら、上述の受信されたメッセージデータを、
外部バス301及びバーチャルメモリコントローラ30
9を介して、実メモリ307内のプロセッサ用受信バッ
ファキューに接続された空きバッファに、順次転送す
る。
【0082】プロセッサバスインタフェース312は、
プロセッサ用受信バッファキューに接続される空きバッ
ファがなくなったり、小さなデータを格納してから特定
時間を経た時には受信を自動的に停止し、その旨を外部
バス301、バス結合部311、及びCPUバス302
を介してCPU313に通知する。
【0083】CPU313のプロセッサ用受信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の受信済のバッファをプロセッサ用受信バッファキュ
ーから切り離しネットワーク用送信バッファに接続す
る。これ以後、実メモリ307内のネットワーク用送信
バッファに対する処理は、CPU313のプロセッサ用
受信制御機能から前述したネットワーク用送信制御機能
に引き渡され、前述したメッセージ通信装置203間の
通信方式に従って、送信元のノード202のメッセージ
通信装置203(図10の例では#000のメッセージ通信
装置203)内の実メモリ307から、宛て先のプロセ
ッサ204が収容されるノード202のメッセージ通信
装置203(図10の例では#***のメッセージ通信装置
203)内の実メモリ307への、メッセージデータの
転送動作が実行される。 <受信側におけるメッセージ通信装置203からプロセ
ッサ204へのメッセージデータの転送動作>次に、受
信側のノード202(図10の例では#***のノード20
2)内のメッセージ通信装置203の実メモリ307か
らそのノード202内の1つのプロセッサ204に、メ
ッセージデータが転送される場合の動作について説明す
る。
【0084】ネットワーク制御回路310が送信フレー
ムの受信に成功すると、前述したように、CPU313
のネットワーク用受信制御機能が、受信されたメッセー
ジデータを実メモリ307内のプロセッサ用送信待ちバ
ッファキューに接続する。
【0085】これに対して、CPU313のプロセッサ
用送信制御機能は、CPUバス302、バス結合部31
1、及び外部バス301を介して、例えば#0のプロセッ
サバスインタフェース312を起動すると共に、そのイ
ンタフェース312に対して上述のプロセッサ用送信待
ちバッファキューの先頭アドレスを通知する。
【0086】プロセッサバスインタフェース312は、
上記先頭アドレスを送信開始アドレスとしてバッファア
ドレスを順次更新しながら、外部バス301及びバーチ
ャルメモリコントローラ309を介して、実メモリ30
7内のプロセッサ用送信待ちバッファキューに接続され
たバッファに格納されているメッセージデータを順次読
み出して、そのメッセージデータのヘッダ内の宛て先ア
ドレス部を解析しながら、そのメッセージデータをプロ
セッサバス205を介して宛て先のプロセッサ204に
転送する。 <通信制御>図11は本発明の第2の実施例におけるネ
ットワーク通信制御モジュールの詳細な構成図である。
【0087】前述のトークンリングネットワークにおけ
る各装置間の通信をまとめると4つの通信により成り立
っている。第1は対PM受信制御機構406すなわち前
述したプロセッサ用受信制御機能により、バス制御ハー
ドウェア418を制御してプロセッサモジュール420
からのバス419経由のメッセージをPM受信待ちバッ
ファキュー413に格納し、対応する受信側のバッファ
をネットワーク送信バッファ410に接続することによ
ってなされる通信である。尚、キューとはリスト構造の
バッファを意味しており、各バッファをチェーン構造に
し、登録数と先頭アドレス、未端アドレスをレジスタに
記憶して管理している。
【0088】対PM受信制御機構406はPM受信バッ
ファキュー413に空きバッファキュー427からのバ
ッファを接続し、受信バッファアドレスレジスタ416
に接続した空きバッファの先頭アドレスを書き込んでバ
ス制御ハードウェア418を起動する。
【0089】バス制御ハードウェア418はプロセッサ
モジュール420から転送されてきたデータのヘッダ部
の宛先クラスタアドレス部が他クラスタであるか、ある
いは宛先クラスタアドレス部が自クラスタで宛先モジュ
ールIDが本通信制御モジュールのIDだった場合にデ
ータを受信し、受信バッファアドレスレジスタを更新し
ながらキューに接続された空きバッファに次々にデータ
を書き込む。尚、受信バッファが足りなくなった場合
は、接続待ちアドレス格納リングバッファ414に受信
キュー等を格納する。そしてバス制御ハードウェア41
8は自動的に停止する。そして、対PM受信制御機構4
06が受信済のバッファをネットワーク送信バッファに
接続して、空きバッファをPM受信バッファキュー41
3に接続する。接続後に再度バス制御ハードウェア41
8を起動する。これによって再びPM受信バッファキュ
ー413へデータが取り込まれる。
【0090】第2は対PM送信制御機構407すなわち
前述したプロセッサ用送信制御機能により、PM送信待
ちバッファキュー412のデータをバス制御ハードウェ
ア418を制御してプロセッサモジュール420へ送信
する機能である。対PM送信制御機構407はPM送信
待ちバッファキュー412の先頭送信待ちバッファのア
ドレスを送信バッファアドレスレジスタ415に書き込
み、送信バッファのヘッダ部に宛先クラスタアドレス
(自クラスタアドレスを設定)と、宛先モジュールID
を書き込んでバス制御ハードウェア418を起動して、
PM送信待ちバッファキュー415のデータをバス41
9経由でプロセッサモジュール420に送信する。
【0091】第3はネットワーク送信制御機構408す
なわちネットワーク用送信制御機能によって、ネットワ
ーク送信バッファ410のデータをネットワーク400
に送信する機能である。第4はネットワーク受信制御機
構409すなわちネットワーク用受信制御機能により、
ネットワーク400からのデータをネットワーク受信バ
ッファ411に格納し、受信済のバッファをPM送信待
ちバッファキュー413に接続する機能である。前述し
た、第1〜第4の通信に係わる対PM受信制御機構40
6、対PM送信制御機構407、ネットワーク通信制御
機構408、ネットワーク受信制御機構409はイベン
ト監視機構414によって起動される。尚、イベント監
視機構14はイベントの発生を検出するイベント検出処
理と、イベントの発生を検出した際に、対応する処理を
起動するイベント駆動処理とより成る。
【0092】ネットワーク経由の通信は、前述したよう
に仮想記憶テーブル405の仮想アドレスを送信フレー
ムに書き込むことによって行う。図12に示す如く各ネ
ットワーク通信制御モジュール内の仮想記憶テーブル4
05は、複数の領域に分割されており、各領域はネット
ワーク接続された各ネットワーク通信制御モジュールの
属するクラスタIDすなわちクラスタアドレスに対応し
ている。各モジュールの自分に対応した領域の仮想アド
レスには、ネットワーク受信制御機構409によってネ
ットワーク受信バッファ411のアドレスが書き込まれ
(受信バッファが接続され)、ページ状態に“受信バッ
ファ割り付け済(VP)”のコードが書かれる。
【0093】さらに、例としてネットワークに図12に
示した如く3つのネットワーク通信制御モジュールT1
〜T3(IDはID1〜ID3)が接続されていて、モ
ジュールT1からネットワーク通信制御モジュールT3
へデータを転送する場合を説明する。
【0094】ネットワーク通信制御モジュールT1のネ
ットワーク送信制御機構408は、宛先のモジュールの
クラスタIDの領域の仮想アドレスのうちの、送信バッ
ファが接続された仮想アドレスのページ状態を“送信状
態”のコードにし(図12の太枠内)、送信FIFO4
03にその仮想アドレス、転送長を書き込む。そしてネ
ットワーク送信制御機構408がネットワーク制御ハー
ドウェア402を起動すると、送信FIFO403に書
き込まれた指示に従い、仮想アドレスに対応した実アド
レスにある送信バッファのデータと仮想アドレスそのも
のをフレーム化して、ネットワークにブロードキャスト
する。
【0095】モジュールT2のネットワーク制御ハード
ウェアは、ネットワーク通信制御モジュールT1からの
フレームを受信すると、仮想アドレス部分を読み出し、
そのアドレスのページ状態を参照する。ネットワーク通
信制御モジュールT2の仮想ページアドレスのうち、ク
ラスタID3の領域は“バッファ未割り付け状態NA”
になっているので、データを受け取らずにフレームを中
継する。
【0096】ネットワーク通信制御モジュールT3にフ
レームが達すると、ネットワーク通信制御モジュールT
3のネットワーク制御ハードウェア402は、クラスタ
ID3の領域の仮想アドレスの状態が“受信バッファ割
り付け済”(VP)なので、データをネットワーク受信
バッファ411にコピーして、ページ状態を“受信完
了”(RD)状態に変え、受信FIFO404に仮想ア
ドレス、結果コード(送受信の成否を示すコード)、転
送データ長を書き込み、フレーム中の応答領域に受信成
功通知を書き込んでフレームを中継する。そして、書き
加えられたこのフレームは最後に送信元のモジュール4
01に戻る。
【0097】モジュール401のネットワーク制御ハー
ドウェア402はこのフレームを受け取って、応答が受
信成功ならばページ状態を“送信状態”から送信完了状
態に書き換え、受信FIFO404に仮想アドレスと結
果コードを書き込む。
【0098】受信制御機構408は受信FIFO404
を監視しており、結果コードが送信成功で、仮想アドレ
スに対応したページ状態が“送信完了”であることを確
認して、送信バッファを空きバッファキュー427に接
続する。一方、データを受信したネットワーク通信制御
モジュールT3のネットワーク受信制御機構409は、
受信FIFO404を読み出して結果コードが受信成功
で、仮想アドレスに対応したページ状態が“受信完了”
であることを確認し、データの入った受信バッファをP
M送信待ちバッファキュー412に接続する。この接続
で、前述した対PM送信制御機構407がバス制御ハー
ドウェア418を制御して、プロセッサモジュール42
0に送出する。以上のようにして、通信が行われる。
【0099】前述した通信において、実アドレスのペー
ジ状態すなわち受信キューとそのページ状態とを仮想記
憶テーブル405が記憶し、実アドレスでネットワーク
受信バッファ411を管理している。これは1個とは限
らない。例えば仮想記憶テーブルは16実アドレスを1
台に割当ており、この16実アドレスに対応し受信バッ
ファを設けている。尚、この受信バッファはトークンリ
ングネットワーク400からの受信だけでなく、プロセ
ッサモジュールからの送信待ちバッファ、更にはネット
ワーク送信バッファ410やPM受信バッファキュー4
13に接続されるバッファと同じである。そして、ネッ
トワーク通信制御モジュール401内には接続待ちアド
レス格納リングバッファ414が設けられている。
【0100】本発明の実施例においては前述した如くイ
ベントが発生した際にイベント監視機414からのイベ
ントを検出し、そのイベントに対応した処理を起動す
る。図13はメッセージ受信のフローチャートである。
図13のメッセージ受信のフローチャートは第1の実施
例におけるバスからのメッセージ受信処理146やネッ
トワークからのメッセージの受信処理149や、第2の
実施例の対PM受信制御機構406やネットワーク受信
制御機構409の受信フローチャートである。受信メッ
セージが存在したかを判別S1し、存在しないときには
その該当するイベントが発生しなかったとして終了す
る。なお、この終了は他のイベントに対応するスキャン
が次になされる。受信メッセージが存在する時にはその
メッセージの宛先をステップS2で調べる。そしてステ
ップS3で宛先に対応するキューにバッファを接続す
る。さらにステップS4で空きバッファを受信バッファ
として使用した分接続する。たとえば図3に示した待ち
行列143,144にキューイングする際に、使用した
バッファの数分ステップS4でバッファを接続する。前
述した受信処理は、図4に示したメッセージ受信処理1
46、ネットワークからのメッセージ受信処理149や
図11の対PM受信制御機構406やネットワーク受信
制御機構409の処理フローチャートであるが、本発明
はこの処理に限るものではない。例えば図14に示す如
くプロセッサからのメッセージ受信処理146において
受信した際に、そのメッセージが自分宛メッセージであ
るかを判別し、自分宛メッセージであったならば、自分
宛メッセージ処理150を実行してもよい。また、これ
は対PM受信制御機構406であってもよい。
【0101】さらに、図15に示す如く、イベント監視
145によって自分宛メッセージ処理150を起動して
もよい。この場合、自分宛メッセージ処理はイベント監
視処理145によって起動がされるが、この起動は、自
分宛メッセージの待ち行列を設け、バスからのメッセー
ジ受信処理146がメッセージが自分宛であるかを判別
し、自分宛のメッセージのときその待ち行列にバッファ
をキューイングし、イベント監視処理145がこれを検
出した時になされる。この待ち行列は、例えば図7に示
した単一構造の待ち行列であってもよい。
【0102】前述したメッセージ送信においては、送信
を行うかをイベント管理で行っていた。本発明はこれに
限るものではく、例えば図16や図17に示すごとくそ
の状態によって処理を変更することも可能である。
【0103】図11のメッセージ送信の第1のフローチ
ャートにおいては、以下のごとく処理を行う。先ず、送
信済メッセージが存在するか否かをステップS6で判別
し、送信済のバッファがある場合にはそのバッファを空
きバッファとしてステップS7で解放する。そして、待
ち行列からメッセージをステップS8でデキューしネッ
トワークの送信指示S9を出す。そしてステップS10
で復帰する。本発明の実施例ではこのバッファは1個と
は限らず、複数であった場合には第16のステップS7
の空きバッファとしての解放が有効である。
【0104】また、図12のメッセージ送信の第2のフ
ローチャートにおいては、以下の如く処理を行う。先ず
ステップS11で送信済メッセージが存在するかを判別
し、存在する時にはステップS12で復帰する。また、
存在しない時には待ち行列からメッセージをステップS
13でデキューし、さらにネットワーク送信指示をステ
ップS14で行い、その終了後ステップS15で復帰す
る。
【0105】図14,図15のイベント監視とその処理
においては、バスからのメッセージに対し、自分宛か否
かを判断し自分宛の時にそのまま処理を起動したり、あ
るいは待ち行列に一時的に格納し、その後自分宛メッセ
ージの処理を起動しているが、これはネットワークから
のメッセージにおいても図18,図19に示すごとく同
様である。
【0106】図18においてはネットワークからメッセ
ージが受信された際イベント監視処理145によりメッ
セージ受信処理149が起動される。そして、そのメッ
セージ受信処理149で自分宛メッセージ処理であるか
を判別し、自分宛メッセージ処理のときには自分宛メッ
セージ処理151を起動する。この起動によって1つの
メッセージに対する処理を終了し、イベント監視に戻
る。
【0107】これに対し図19においては、ネットワー
クからのメッセージ受信処理149によってメッセージ
を受信した際、自分宛メッセージ処理であるかを判別
し、自分宛メッセージ処理である時には待ち行列にキュ
ーイングする。この待ち行列は自分宛メッセージ処理の
待ち行列である。イベント監視処理145は常に自分宛
メッセージの待ち行列中にキューイングされた処理があ
るかを判別しており、キューイングがなされた後にキュ
ーイングされたことを検出しその処理を起動する。
【0108】図20はメッセージ受信の第2のフローチ
ャートである。メッセージを受信した際、受信メッセー
ジ中にレスポンスが存在するかをステップS20で判別
する。
【0109】レスポンスが存在するとき、そのレスポン
スが成功であるかをステップS21で判別し、成功の時
にバッファをステップS22で解放する。また失敗であ
るかをステップS23で判別し、失敗の時にはステップ
S24で送信起動を再度行う。またレスポンスでない時
には受信メッセージであるので宛先をステップS25で
調べ、宛先に対応するキューにバッファをステップS2
6で接続する。そして、空きバッファを受信バッファと
してステップS27で接続する。そして、ステップS2
8で復帰する。以上の処理によって、レスポンスの状態
によってその処理を変更するこができる。
【0110】一方、例えば故障等によってイベントが発
生しないことがある。このような場合を想定し、図21
の本発明の実施例においては、例えば特定時間イベント
が発生しなかった時にイベント監視処理145は故障検
出処理152を実行する。これは特定時間単位であって
もよく、また何ら送受信等の前述した処理146〜14
9がなされない時にはこの故障検出処理152を常に実
行してもよい。
【0111】
【発明の効果】以上のような動作により処理をイベント
検出処理とイベント駆動処理に分離しメッセージを待ち
行列に接続することにより処理を送信処理と受信処理と
に単純化することができ、高速なメッセージ処理を達成
でき、大規模分散システムを構築することができる。
【0112】また、本発明によれば、各プロセッサがメ
ッセージのシステムでの送受信処理を関理する必要がな
く、各クラスタに一台ずつそれに関係するプロセッサを
設ければよく、システム全体としての処理の高速化を行
うことができる。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明の実施例のシステム構成図である。
【図3】メッセージ通信機構のデータと処理の説明図で
ある。
【図4】メッセージ通信機構の第1の処理説明図であ
る。
【図5】待ち行列の説明図である。
【図6】本発明の実施例の他のシステム構成図である。
【図7】単一構造の待ち行列の説明図である。
【図8】本発明の第2の実施例のネットワークの構成図
である。
【図9】本発明の第2の実施例におけるメッセージ通信
装置の構成図である。
【図10】メッセージ通信の説明図である。
【図11】本発明の第2の実施例におけるネットワーク
通信制御モジュールの構成である。
【図12】仮想記憶テーブル図表である。
【図13】メッセージ受信の第1のフローチャートであ
る。
【図14】メッセージ通信機構の第2の処理説明図であ
る。
【図15】メッセージ通信機構の第3の処理説明図であ
る。
【図16】メッセージ送信の第1のフローチャートであ
る。
【図17】メッセージ送信の第2のフローチャートであ
る。
【図18】メッセージ通信機構の第4の処理説明図であ
る。
【図19】メッセージ通信機構の第5の処理説明図であ
る。
【図20】メッセージ受信の第2のフローチャートであ
る。
【図21】メッセージ通信機構の第6の処理説明図であ
る。
【符号の説明】 1 第1の待ち行列 2 第2の待ち行列 3 第1の処理手段 4 第2の処理手段 5 第3の処理手段 6 第4の処理手段 7 イベント監視手段

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサをバスで結合した装置
    間で、伝送路を介したメッセージの転送を行う通信装置
    において、 前記プロセッサから前記伝送路に送信する宛先通信装置
    毎のメッセージの第1の待ち行列(1)と、 伝送路から前記通信装置が受信する宛先プロセッサ毎の
    第2の待ち行列(2)と、 前記プロセッサから受信したメッセージを前記第1の待
    ち行列に接続する第1の処理手段(3)と、 前記第1の待ち行列にキューイングされたメッセージを
    前記伝送路に送信する第2の処理手段(4)と、 前記伝送路から受信したメッセージを前記第2の待ち行
    列に接続する第3の処理手段(5)と、 前記第2の待ち行列にキューイングされたメッセージを
    前記プロセッサに送信する第4の処理手段(6)と、 前記第1〜第4の処理の起動要因となるイベントを監視
    し、イベント発生時に当該処理手段を起動するイベント
    監視手段(7)とを有することを特徴とするメッセージ
    通信装置。
  2. 【請求項2】 前記第1の待ち行列(1)は単一の待ち
    行列であることを特徴とする請求項1記載のメッセージ
    通信装置
  3. 【請求項3】 前記第1の処理手段(3)は、受信した
    メッセージの宛先を解析し、該当する待ち行列に該当バ
    ッファを接続し、接続したバッファ数分の空きバッファ
    を受信バッファとして補充することを特徴とする請求項
    1記載のメッセージ通信装置。
  4. 【請求項4】 前記第1の処理手段(3)はさらに受信
    したメッセージの宛先が自分宛かどうかをチェックし、
    自分宛のメッセージの時、当該メッセージの処理モジュ
    ールを起動することを特徴とする請求項4記載のメッセ
    ージ通信装置。
  5. 【請求項5】 自分宛メッセージの待ち行列をさらに設
    け、前記自分宛のメッセージを検出した時、前記待ち行
    列にバッファをキューイングし、前記イベント監視処理
    手段(7)がこれを検出した時に、前記処理モジュール
    を起動することを特徴とする請求項4記載のメッセージ
    通信装置。
  6. 【請求項6】 前記第2の処理手段(4)は送信に先立
    ち、既に送信済のバッファがあるかをチェックし、ある
    場合、該バッファを空きバッファとして解放することを
    特徴とする請求項1記載のメッセージ通信装置。
  7. 【請求項7】 前記第2の処理手段(4)は送信に先立
    ち、既に送信済のバッファがあるかをチェックし、無い
    ときにメッセージの送信を起動することを特徴とする請
    求項1記載のメッセージ通信装置。
  8. 【請求項8】 前記第2の処理手段(4)は前記チェッ
    クで既に送信済のバッファがある時は、そのまま復帰す
    ることを特徴とする請求項7記載のメッセージ通信装
    置。
  9. 【請求項9】 前記第3の処理手段(5)は受信したメ
    ッセージの宛先を解析し、該当する待ち行列に該当バッ
    ファを接続し、接続したバッファ数分の空きバッファを
    受信バッファとして補充することを特徴とする請求項1
    記載のメッセージ通信装置。
  10. 【請求項10】 前記第3の処理手段(5)はさらに受
    信したメッセージの宛先が自分宛かどうかをチェック
    し、自分宛のメッセージの時、当該メッセージの処理モ
    ジュールを起動することを特徴とする請求項9記載のメ
    ッセージ通信装置。
  11. 【請求項11】 自分宛メッセージの待ち行列をさらに
    設け、前記第3の処理手段(5)が自分宛のメッセージ
    を検出した時、前記待ち行列にバッファをキューイング
    し、前記イベント監視処理がこれを検出したときに、前
    記処理モジュールを起動することを特徴とする請求項1
    0記載のメッセージ通信装置。
  12. 【請求項12】 前記処理モジュールは前記メッセージ
    のレスポンスが成功のとき、該メッセージを格納してい
    るバッファを返却し、失敗のとき送信をリトライするこ
    とを特徴とする請求項11記載のメッセージ通信装置。
  13. 【請求項13】 前記第4の処理手段は前記プロセッサ
    への送信に先立ち、既に送信済のバッファがあるかをチ
    ェックし、ある場合、該バッファを空きバッファとして
    解放することを特徴とする請求項1記載のメッセージ通
    信装置。
  14. 【請求項14】 イベントが検出されない時には、前記
    イベント監視手段(7)はハードウェアの故障診断を行
    うことを特徴とする請求項1記載のメッセージ通信装
    置。
JP4226224A 1992-08-25 1992-08-25 メッセージ通信装置 Withdrawn JPH0675883A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4226224A JPH0675883A (ja) 1992-08-25 1992-08-25 メッセージ通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4226224A JPH0675883A (ja) 1992-08-25 1992-08-25 メッセージ通信装置

Publications (1)

Publication Number Publication Date
JPH0675883A true JPH0675883A (ja) 1994-03-18

Family

ID=16841845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4226224A Withdrawn JPH0675883A (ja) 1992-08-25 1992-08-25 メッセージ通信装置

Country Status (1)

Country Link
JP (1) JPH0675883A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011030498A1 (ja) * 2009-09-10 2011-03-17 株式会社日立製作所 データ処理装置及びデータ処理方法
US8443377B2 (en) 2004-03-17 2013-05-14 Nec Corporation Parallel processing system running an OS for single processors and method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8443377B2 (en) 2004-03-17 2013-05-14 Nec Corporation Parallel processing system running an OS for single processors and method thereof
WO2011030498A1 (ja) * 2009-09-10 2011-03-17 株式会社日立製作所 データ処理装置及びデータ処理方法

Similar Documents

Publication Publication Date Title
US5940612A (en) System and method for queuing of tasks in a multiprocessing system
US6023732A (en) Message transfer apparatus for controlling a message send in a packet switched interconnection network
US5020020A (en) Computer interconnect system with transmit-abort function
US5386517A (en) Dual bus communication system connecting multiple processors to multiple I/O subsystems having a plurality of I/O devices with varying transfer speeds
EP0391583B1 (en) Dual-path computer interconnect system with four-ported packet memory control
US5519883A (en) Interbus interface module
KR20000006576A (ko) 디지탈데이터처리시스템내의다수의호스트컴퓨터사이에서자원의공유를용이하게하기위한시스템
EP0526690B1 (en) Synchronous node controllers for switching network
JPH114256A (ja) 複数ノードの非同期データ通信システム内で早期到達メッセージを処理する方法
WO2000041377A1 (en) Input/output (i/o) scanner for a control system with peer determination
US7564860B2 (en) Apparatus and method for workflow-based routing in a distributed architecture router
US5459836A (en) Inter-processor communication net
JP3290302B2 (ja) データの交換処理方法及び装置
US5878226A (en) System for processing early arrival messages within a multinode asynchronous data communications system
WO1992006435A1 (en) Message control system in a data communication system
JP3057591B2 (ja) マルチプロセッサシステム
JPS61131060A (ja) ネツトワーク制御システム
JPH0675883A (ja) メッセージ通信装置
JP3566057B2 (ja) 監視制御装置
JPH0619855A (ja) メッセージのキューイング方法とその装置
JPH0678000A (ja) 通信装置
JP3312361B2 (ja) 分散共有メモリシステム
JP2001325212A (ja) マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置
JPH0635824A (ja) マルチプロセッサネットワークの折り返し試験方式とその装置
JPH0677974A (ja) フレーム通信装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19991102