JPH0678000A - 通信装置 - Google Patents

通信装置

Info

Publication number
JPH0678000A
JPH0678000A JP4226225A JP22622592A JPH0678000A JP H0678000 A JPH0678000 A JP H0678000A JP 4226225 A JP4226225 A JP 4226225A JP 22622592 A JP22622592 A JP 22622592A JP H0678000 A JPH0678000 A JP H0678000A
Authority
JP
Japan
Prior art keywords
reception
buffer
queue
transmission
network
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
JP4226225A
Other languages
English (en)
Inventor
Masanobu Araya
正総 新家
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 JP4226225A priority Critical patent/JPH0678000A/ja
Publication of JPH0678000A publication Critical patent/JPH0678000A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【目的】 複数の受信キューにバッファを接続して、伝
送路から加わるフレームをその接続したバッファに格納
する通信装置に関し、空きバッファの欠乏しているキュ
ーに対してバッファを接続する際、空きバッファ欠乏キ
ュー検索を不要とすること、そして受信準備が完了して
送信側へ通知する際のコマンド形式の作成をなくすこと
を目的とする。 【構成】 通信手段1によってデータをバッファに受信
し、キューに空きバッファがなく更に新たに空きバッフ
ァを接続しようとしても空きバッファがない場合、空き
バッファの欠乏しているキューの番号を前記記憶手段2
に記憶し、空きバッファが新たにできた時に、接続手段
3はこの記憶手段2に登録されている空きバッファ欠乏
キューの番号を読み出し、その受信キューに空きバッフ
ァを接続する構成とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はフロー制御を行うデータ
通信装置に係り、さらに詳しくは複数の受信キューにバ
ッファを接続して伝送路から加わるフレームを格納する
通信装置に関する。
【0002】
【従来の技術】データ通信において、送信側からのデー
タフレームの転送頻度すなわち平均的な転送速度と、転
送されたデータを受信して処理する速度には通常違いが
生ずる。このため、受信用のバッファを設けて受信キュ
ーで管理し、転送されたデータフレームを一時的に格納
している。そして、フレーム単位等で受信済みバッファ
をキューから外し、それと共に空きバッファをキューに
接続して順次新しいデータを受け取る構成としているの
が一般的である。
【0003】このような通信は1対1とは限らないた
め、複数の受信キューを設けている。受信キュー対応で
伝送路から加わるフレームを受信する場合、それぞれの
キューに接続された空きバッファにこのフレームを格納
している。尚、伝送路から加わるフレームには受信キュ
ー番号が明示されており、この番号に対応して受信キュ
ーに格納する。
【0004】このような受信キューを複数設けることに
より、それぞれに対しリングネットワーク等を用いたデ
ータ転送においても、目的の相手に対し異なる速度であ
ってもデータを伝送することが可能となる。
【0005】一方、前述したような空きバッファを受信
キューに接続する場合、空きバッファが存在しない場合
がある。例えば、複数の装置からデータ通信によって同
一の装置に伝送されたような場合、空きバッファ枯渇が
発生する。
【0006】このような空きバッファの枯渇により次の
バッファが接続できないような場合には、システム内に
空きバッファができるまで待ち、受信用の空きバッファ
ができた時点で空きバッファの欠乏したキューにバッフ
ァを接続している。尚、空きバッファが存在した時、こ
の空きバッファを接続する時点で空きバッファの欠乏し
ているキューを検索し接続している。この接続により次
からのデータを受信することができる。
【0007】
【発明が解決しようとする課題】前述した複数の受信キ
ューを有し、それぞれの受信キューに空きバッファを接
続し、伝送路からのデータをその接続したバッファに格
納して受信する方式において、空きバッファが存在しな
い時にはシステム内に空きバッファができるまで待た
せ、受信用の空きバッファができた時点で空きバッファ
の欠乏しているキューを検索し、空きバッファの欠乏し
たキューにバッファを接続しなければならなかった。こ
のため、受信キューが多いと検索でのオーバーヘッドが
大きくなるという問題を有していた。
【0008】また、同時にバッファが欠乏している状態
からバッファが接続され準備できた時点では、準備が完
了したという通知を送信側に対して行う必要があり、更
に多くのオーバーヘッドが発生するという問題を有して
いた。
【0009】さらに、送信側への通知は、準備完了後に
なるべく早くなされることが望ましいが、通信側への通
知を行うのに必要なコマンドを生成する等準備が完了し
てから実際に送信側に通知するまでに多くの時間がかか
るという問題を有していた。
【0010】本発明は、空きバッファの欠乏しているキ
ューに対してバッファを接続する際、空きバッファ欠乏
キュー検索を不要とすることを第1の目的とする。ま
た、受信準備が完了して送信側へ通知する際のコマンド
形式の作成をなくすことを第2の目的とする。
【0011】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図である。通信手段1は複数の装置からデータを受
信する。この通信手段1は複数の受信キューを有し、伝
送路から加わるフレームに明示された格納されるべき受
信キュー番号の受信キューに接続したバッファにそのフ
レームを格納する。そして、受信済みのバッファを前記
受信キューから外した後空きバッファを接続する。
【0012】記憶手段2は前記受信キューにデータ未受
信の空きバッファがなく、さらに新たに接続できる空き
バッファもなかった時に空きバッファのできなかったキ
ューの番号を記憶する。この記憶により、空きバッファ
が存在した時にはこの記憶手段から読み出すことにより
検索なしの接続が可能となる。
【0013】接続手段3は空きバッファが存在した時点
で前記記憶手段2に登録された受信キューの番号を参照
して前記空きバッファを前記受信キューに接続する。
【0014】
【作用】受信済みバッファを受信キューから外した後
に、キューに空きバッファがなく新たに空きバッファを
接続しようとしても空きバッファがない場合、空きバッ
ファの欠乏しているキューの番号を前記記憶手段2に記
憶する。この記憶手段2は例えばリングバッファであ
る。そして、空きバッファが新たにできた時、接続手段
3はこの記憶手段2に登録されている空きバッファ欠乏
キューの番号を読み出し、その受信キューに空きバッフ
ァを接続する。これにより検索なしに空きバッファを受
信キューに接続することができる。尚、キューとはリス
ト構造のバッファを意味している。
【0015】また、受信済みバッファの刈り取りすなわ
ち受信キューからはずした後に、キューに接続できるバ
ッファがないことが分かった時点で受信準備が完了した
時用の完了通知のコマンド形式を作成し、前記記憶手段
に欠乏キューの番号とともに対応して書き込む。これに
より、受信準備が完了した時の通信用のコマンドの作成
作業を省くことができる。
【0016】
【実施例】以下では実施例を用いて本発明を詳細に説明
する。 <第1の実施例>図2は本発明の第1の実施例の通信装
置の構成図である。メモリ10は受信バッファアドレス
や空きバッファアドレス、接続待ちアドレス、受信済み
バッファ格納用リスト等を記憶する。すなわちメモリ1
0内には受信バッファアドレス格納メモリ11、空きバ
ッファ13、空きバッファ格納用リスト構造15、受信
済みバッファ格納用リスト構造16、接続待ちアドレス
格納用リングバッファ17が設けられている。
【0017】受信バッファアドレス格納メモリ11は、
受信バッファアドレスを格納する。このバッファアドレ
ス格納メモリ11に空きバッファのアドレスを書き込む
ことによって、受信用のバッファキューを作成する。本
発明の第1の実施例の場合、受信キューに接続できるバ
ッファ数の最大値は1である。尚、これは複数の場合で
あってもよい。
【0018】図3は受信バッファアドレス格納メモリ
と、受信バッファの接続の構成図である。図3に示すご
とく、受信バッファアドレス格納メモリ11内にバッフ
ァアドレスを格納する領域が複数あり、それぞれの領域
のアドレスが受信キューの番号に対応して設けられ、使
用される。また更に、それに対応してページ状態をも記
憶する。このページ状態とは例えばレシーブデータ状態
RD、レシーブウェイトRWである。レシーブデータ状
態RDは受信状態または受信可を示し、RWは空きバッ
ファが欠乏して受信ウェイト状態を示している。図3で
は受信キュー番号1〜3が受信状態で受信キュー番号4
〜5が空きバッファが欠乏した状態を示している。
【0019】ネットワーク制御ハードウェア12は、例
えばFDDIネットワーク等の伝送路20からフレーム
を受け取り、フレーム内に格納されている受信キュー番
号を読み取ってメモリ10内の受信バッファアドレス格
納メモリ11の該当受信キュー番号に指示された受信バ
ッファ(空きバッファ13)にデータを格納する。そし
て、同時に受信通知表示FIFO14に受信キューの番
号を表示、すなわち通知する。
【0020】空きバッファ格納用リスト構造15はメモ
リ10内に設けられており、このリストに接続された空
きバッファの先頭アドレス、末端アドレス、空きバッフ
ァ数(登録数)を表示する領域と、空きバッファそのも
ののメモリ領域からなる。
【0021】図4は空きバッファ格納用リスト構造であ
る。この構造では第1に登録数BCO、続いて先頭アド
レスBAS、続いて末端アドレスBAEとあり、各空き
バッファ13は先頭に次の空きバッファのアドレスを有
し、その後方にバッファ領域が設けられている。そし
て、これがチェーン構造となり、複数個の空きバッファ
がリスト化される。
【0022】受信済みバッファ格納用リスト構造16は
受信済みバッファの先頭アドレスRAS、末端アドレス
RAE、リストに接続されているバッファ数RCOとリ
ストに接続されている受信バッファからなる。図5は受
信済みバッファ格納用リスト構造図であり、この構造は
先に示した空きバッファ格納用リスト構造図と同様であ
る。この時、受信済みバッファ内には受信した際に得ら
れたデータが格納される。
【0023】空きバッファ接続待ち用受信キューの番号
を格納するリングバッファ17は図6に示す如く空きバ
ッファ13に書き込む際に、書き込みアドレスを指定す
る書き込みポインタ領域PW、読み出す際の読出ポイン
タ領域PR、格納データ数表示領域CO、データの格納
領域すなわち受信キュー番号を格納する領域からなる。
【0024】FIFO18はネットワークへのフレーム
送信指示を格納するFIFOである。受信済み完了通知
等の送信コマンドはこのFIFOに書き込まれる。受信
バッファ管理機構19は、受信通知表示FIFO14を
監視し、受信バッファの管理を行う。
【0025】受信通知表示FIFO14にデータ受信通
知が表示すなわち入力されると、受信バッファ管理機構
19は受信済みバッファアドレスを読み出し、読み出し
たメモリ領域に格納されているアドレスを消去し、すな
わち受信済みバッファを切断し、受信済みバッファ格納
用リスト構造16の末端に受信済みバッファを接続す
る。続いて空きバッファ格納用リスト構造15の空きバ
ッファ表示数表示領域を調べ、空きバッファがある場合
にはその空きバッファ格納用リスト構造15で指示され
る空きバッファを、受信済みバッファを切り離したキュ
ーに接続する。
【0026】この時、空きバッファ数が0だった場合、
受信バッファ管理機構19は空きバッファ接続待ち受信
キュー番号格納領域17に空きバッファを接続できなか
ったキュー番号を書き込む。書き込みは書き込みポイン
タで指定された場所に行い、書き込み後は書き込みポイ
ンタと登録数をインクリメントする。また、この状態で
更に別の受信キューに対しデータが受信された場合も同
様に空きバッファ接続待ち受信キュー番号格納領域17
に書き込みポインタの指示に従って受信キューの番号を
格納して書き込みポインタと登録数を1増やす。例え
ば、図3の受信バッファアドレス格納メモリにはq4番
とq5番の受信キューに空きバッファが接続されていな
い時には、これに対応して図6の接続待ちアドレス格納
リングバッファにはq4番とq5番の受信キュー番号が
格納される。
【0027】このような状況で受信キュー、例えば受信
キュー番号q4に対してデータ受信フレームが到着する
とネットワーク制御ハードウェア12はそのキューが受
信不能である通知を通信側に送り、送信側はそのキュー
に対する送信を再開指示が加わるまでストップする。
【0028】受信バッファ管理機構19は、空きバッフ
ァ格納用リスト構造11が記憶する空きバッファ数と、
接続待ちアドレス格納用リングバッファ17が記憶する
空きバッファ接続待ち受信キュー数を常に監視し、空き
バッファ接続待ち受信キューがあって、空きバッファが
できた場合、接続待ちの受信キューに空きバッファを接
続する。この接続の際、空きバッファ接続待ちアドレス
格納バッファ17の読み出しポインタで指定された受信
キューの番号のキューに空きバッファを接続し、接続後
に読み出しポインタを1増やし、登録数を1減らす。
【0029】空きバッファ13の接続後、受信バッファ
管理機構19は受信準備完了通知指示を作成して、送信
指示格納FIFO18に書き込む。そして、ネットワー
ク制御ハードウェア12はこの指示に従って受信準備完
了通知フレームをネットワークに送出する。以上のよう
な機構を用いることで、空きバッファが接続されていな
い受信キューを検索することなくバッファの接続を行う
ことができる。
【0030】前述では接続待ちアドレスリングバッファ
は受信キュー番号を空きバッファが接続できなかった受
信キュー順に格納している。これに対し受信キュー番号
と同時に受信準備完了通知を同時に対応させて記憶させ
てもよい。
【0031】図7は接続待ちアドレス格納リングバッフ
ァの構成図である。受信キューの番号と受信準備完了通
知指示とを組にして格納している。受信バッファ管理機
構19は、受信済みのバッファを受信済みバッファ格納
用リスト構造16に接続する。この時、空きバッファが
空きバッファ格納用リスト構造15に存在しない時に
は、接続待ちアドレスすなわち受信キュー番号と受信準
備完了通知指示とを接続待ちアドレス格納用リングバッ
ファに格納する。尚、受信準備完了通知指示はこの時に
作成して格納する。この後、受信バッファ管理機構19
は空きバッファ数を監視する。空きバッファが出来た時
点で、先ずバッファの接続されていないキューに接続
後、受信準備完了通知指示を送信指示格納FIFO18
に格納する。この時は受信準備完了通知をFIFOにコ
ピーするだけであるため、受信準備完了後の完了通知の
発行を高速に行うことができる。 <本発明の第2の実施例>図8は、本発明の第2の実施
例のネットワークの構成図である。
【0032】光ファイバリング206を中心に構成され
るネットワーク201には、複数のノード202(図8
では、#000、#***、#%%%、などの番号で示されている)
が接続される。この側は例えばトークンリングである。
【0033】ノード202において、プロセッサバス2
05には複数のプロセッサ204が接続され、プロセッ
サバス205はメッセージ通信装置203すなわちメッ
セージ通信制御モジュールに収容される。メッセージ通
信装置203は、プロセッサバス205を介してプロセ
ッサ204が送信又は受信するメッセージデータを処理
し、また、光ファイバリング206に対して入力又は出
力されるメッセージデータが格納されたフレームを処理
する。
【0034】次に、図9は、本発明の実施例における図
8のノード202内のメッセージ通信装置203の構成
図である。実メモリ307は、メッセージデータを一時
保持する通信バッファとして機能する。
【0035】制御メモリ308は、メッセージの通信に
使用される仮想記憶空間上の各仮想ページアドレス毎
に、その仮想ページアドレスが実メモリ307内の実ペ
ージアドレスに割り付けられている場合にはその実ペー
ジアドレスと、その仮想ページアドレスのページ状態
(通信状態)を示すデータを記憶する。
【0036】プロセッサバスインタフェース312は、
図8のプロセッサバス205を収容すると共に外部バス
301に接続され、図8のプロセッサ204からプロセ
ッサバス205を介して入力されるメッセージデータ等
を、外部バス301及びバーチャルメモリコントローラ
309を介して実メモリ307に出力し、逆に、実メモ
リ307からバーチャルメモリコントローラ309及び
外部バス301を介して入力されるメッセージデータ等
を、プロセッサバス205を介してプロセッサ204に
出力する。
【0037】また、プロセッサバスインタフェース31
2は、外部バス301、バス結合部311及びCPUバ
ス302を介して、CPU313との間で、通信制御デ
ータの授受を行う。尚、通常はバス結合部311は外部
バス301とCPUバス302を接続しておらず、#0又
は#1のプロセッサバスインタフェース312が実メモリ
307との間でメッセージデータ等の授受を行うために
外部バス301をアクセスする動作と、CPU313が
実メモリ307又は制御メモリ308をアクセスするた
めにCPUバス302をアクセスする動作は、独立にか
つ並行して行うことができる。この結果、メッセージ通
信装置203全体のスループットを向上させている。
【0038】図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の開閉制御を行う。
【0039】ネットワーク制御回路310は、フレーム
の送信時には、CPU313からCPUバス302、I
/Oコントローラ315、及びネットワーク命令/結果
バス303を介して入力される送信命令に基づいて、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、実メモリ307からバーチャルメ
モリコントローラ309及びネットワークデータ送信バ
ス305を介して送信されるべきメッセージデータを読
み出し、それを含む送信フレームを構築し、それを光フ
ァイバリング206に送出し、その送信結果を、ネット
ワーク命令/結果バス303、I/Oコントローラ31
5、及びCPUバス302を介してCPU313に通知
する。
【0040】また、ネットワーク制御回路310は、光
ファイバリング206からのフレームの受信時には、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、その受信フレームを他のノード2
02へ中継する。又は、その受信フレーム内のメッセー
ジデータを取り出し、ネットワークデータ受信バス30
4からバーチャルメモリコントローラ309を介して実
メモリ307に格納し、その受信結果を、ネットワーク
命令/結果バス303、I/Oコントローラ315、及
びCPUバス302を介してCPU313に通知する。
【0041】CPU313は、CPUバス302に接続
され、動作開始時に、CPUバス302に接続されるE
PROM316からCPUバス302に接続されるプロ
グラムRAM317に書き込まれる制御プログラムに従
って動作する。
【0042】このCPU313は、CPUバス302、
バス結合部311、及び外部バス301を介して、プロ
セッサバスインタフェース312との間で、通信制御デ
ータの授受を行う。
【0043】また、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を介して、受信結果通知を受け取る。
【0044】更に、CPU313は、CPUバス302
を介して制御メモリ308内の各仮想ページアドレスの
ページ状態データ(通信状態を示すデータ)をアクセス
すると共に、CPUバス302及びバーチャルメモリコ
ントローラ309を介して制御メモリ308内の各仮想
ページアドレスの実ページアドレスデータ及び実メモリ
307をアクセスする。
【0045】I/Oコントローラ315は、CPUバス
302に接続され、外部の周辺装置が接続される周辺装
置バス318を収容する。また、I/Oコントローラ3
15は、前述したように、CPUバス302及びネット
ワーク命令/結果バス303を介して、CPU313と
ネットワーク制御回路310との間で授受される送信命
令、送信結果通知又は受信結果通知を中継する。
【0046】更に、I/Oコントローラ315は、CP
U313が外部バス301をアクセスするアドレスをC
PUバス302に対して指定した場合に、制御線322
を介して#0のプロセッサバスインタフェース312に、
外部バスアクセス要求を出力する。
【0047】CPUバスアービタ314は、プロセッサ
バスインタフェース312から制御線321を介してC
PUバスアクセス要求(バスグラント要求)を受け取っ
た場合に、CPU313に対して制御線323を介して
バス使用要求(バスグラント要求)を出力し、CPU3
13から制御線323を介してバス使用許可(バスグラ
ントアクノリッジ)を受け取り、それに基づいてCPU
バスアクセス許可(バスグラントアクノリッジ)を制御
線321を介して#0のプロセッサバスインタフェース3
12に返す。
【0048】バーチャルメモリコントローラ309は、
プロセッサバスインタフェース312と実メモリ307
との間で外部バス301を介して授受されるデータ、C
PU313と実メモリ307又は制御メモリ308との
間でCPUバス302を介して授受されるデータ、ネッ
トワーク制御回路310と実メモリ307との間でネッ
トワークデータ受信バス304又はネットワークデータ
送信バス305を介して授受されるデータのスイッチン
グ制御及び競合制御を行う。
【0049】以上の構成を有する本発明の実施例の動作
について説明する。 <プロセッサ間通信の全体動作>今、図8及び図9にお
いて、例えば#000のノード202内の1つのプロセッサ
204から、#***のノード202内の他の1つのプロセ
ッサ204にメッセージデータを送信する場合の全体動
作について説明する。
【0050】この場合に、#000のノード202内の1つ
のプロセッサ204から送信されるメッセージデータ
は、プロセッサバス205を介してそのノード内のメッ
セージ通信装置203(以下、#000のメッセージ通信装
置203と呼ぶ)の実メモリ307に転送された後に、
#***のノード202内のメッセージ通信装置203(以
下、#***のメッセージ通信装置203と呼ぶ)の実メモ
リ307に送られ、その後、その実メモリ307からプ
ロセッサバス205を介して宛て先のプロセッサ204
に転送される。即ち、各メッセージ通信装置203の実
メモリ307は、通信バッファとして機能する。 <メッセージ通信装置203間の通信方式>ここで、メ
ッセージ通信装置203間のメッセージデータの通信に
は、ネットワーク仮想記憶方式という特別な方式が適用
される。
【0051】まず、図8のネットワーク201全体で、
仮想記憶空間が定義される。この仮想記憶空間は、複数
の仮想ページに分割され、メッセージデータの通信はこ
の仮想ページを介して行われる。例えば、仮想記憶空間
は、0000〜FFFFページ(16進数)までの仮想ページア
ドレスに分割される。1つの仮想ページは、メッセージ
データの1単位であるパケットを十分に収容可能な固定
長(例えば8キロバイト長)のデータ長を有する。な
お、以下特に言及しないときは、仮想ページアドレス及
び口述する実ページアドレスは、16進数で表現する。
【0052】次に、この仮想記憶空間の所定ページ数毎
例えば16ページ毎に、ネットワーク201に接続され
る各ノード202のメッセージ通信装置203が割り当
てられる。例えば、0000〜000Fページには#000番目のノ
ード202のメッセージ通信装置203が割り当てら
れ、0010〜001Fページには#001番目のノード202のメ
ッセージ通信装置203が割り当てられ、以下同様にし
て、***0〜***Fページ及び%%%0〜%%%Fページ(3桁の *
及び %はそれぞれ0〜Fの16進数のうち任意の数)に
は、それぞれ#***番目及び#%%%番目の各ノード202の
メッセージ通信装置203が割り当てられる。尚、前述
したクラスタアドレスはこの仮想ページアドレスに対応
してもよく、また対応していない時には別に設けた対応
テーブルを用いて対応させてもよい。
【0053】従って、上述の例では、ネットワーク20
1には、#000〜#FFFまでの最大で4096台のメッセー
ジ通信装置203が接続可能である。一方、各メッセー
ジ通信装置203内の実メモリ307は、それぞれが上
述の仮想ページと同じデータ長を有する複数の実ページ
に分割される。実メモリ307のページ容量は、仮想記
憶空間のページ容量よりはるかに小さくてよく、例えば
64〜256ページ程度でよい。
【0054】次に、各メッセージ通信装置203の制御
メモリ308にはそれぞれ、図10に示されるように、
全仮想ページアドレス分の制御データが記憶される。各
仮想ページアドレスの制御データは、図10に示される
ように、その仮想ページアドレスに対応付けられる自メ
ッセージ通信装置203内の実メモリ307の実ページ
アドレスデータと、その仮想ページアドレスの通信状態
を示すページ状態データとから構成されている。
【0055】そして、初期状態として、各ノード202
内のメッセージ通信装置203の制御メモリ308にお
いて、そのノード202に割り当てられている仮想ペー
ジアドレスには、CPU313のネットワーク用受信制
御機能によって、自メッセージ通信装置203の実メモ
リ307内の任意の空きページに設けられるネットワー
ク用受信バッファの実ページアドレスと、ページ状態と
して受信バッファ割付状態VPが、それぞれ予め書き込ま
れている。なお、ネットワーク用受信制御機能は、CP
U313がプログラムRAM317に記憶された制御プ
ログラムを実行することにより実現される。
【0056】例えば、#000のメッセージ通信装置203
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている0000,0001,・・・ ,000Fペー
ジの各仮想ページアドレスには、図10に示されるよう
に、実メモリ307内のs,q,・・・,pの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
【0057】また、#***のメッセージ通信装置203の
制御メモリ308において、自メッセージ通信装置20
3に割り当てられている***0,***1,・・・ ,***Fページ
の各仮想ページアドレスには、図10に示されるよう
に、実メモリ307内のv,u,・・・,tの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
【0058】同様に、#%%%のメッセージ通信装置203
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている%%%0,%%%1,・・・ ,%%%Fペー
ジの各仮想ページアドレスには、図10に示されるよう
に、実メモリ307内のy,w,・・・,xの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
【0059】今、後述する転送動作により、例えば#000
のメッセージ通信装置203の実メモリ307内の、実
ページアドレスがr であるネットワーク用送信バッファ
(後述する)に、#000のノード202内の1つのプロセ
ッサ204からメッセージデータが転送されているもの
とする。
【0060】CPU313のネットワーク用送信制御機
能は、CPUバス302及びバーチャルメモリコントロ
ーラ309を介して実メモリ307内のネットワーク用
送信バッファに格納されているメッセージデータのヘッ
ダ内の宛て先アドレス部を解析することによって、その
宛て先アドレスに対応するプロセッサ204が収容され
るノード202に割り当てられている仮想ページアドレ
スのうち、ページ状態がバッファ未割付状態NAとなって
いるものを決定する。図10の例では、例えば仮想ペー
ジアドレス***2が決定される。なお、ネットワーク用送
信制御機能は、CPU313がプログラムRAM317
に記憶された制御プログラムを実行することにより実現
される。
【0061】次に、CPU313のネットワーク用送信
制御機能は、制御メモリ308内の上述の決定した仮想
ページアドレスに、上述のメッセージデータが格納され
ているネットワーク用送信バッファの実ページアドレス
を書き込み、ページ状態を、バッファ未割付状態NAから
送信状態SDに変更する。図10の例では、例えば仮想ペ
ージアドレス***2に実ページアドレスr と送信状態SDが
設定される。
【0062】そして、CPU313のネットワーク用送
信制御機能は、I/Oコントローラ315内の送信用F
IFOに、CPUバス302を介して、送信命令と共
に、上述の仮想ページアドレスと、上述のメッセージデ
ータの転送長を書き込む。
【0063】ネットワーク制御回路310は、I/Oコ
ントローラ315内の送信用FIFOから、ネットワー
ク命令/結果バス303を介して、上述の送信命令等を
読み出すと、その送信命令に付加されている仮想ページ
アドレスを、制御メモリアクセスバス306を介して制
御メモリ308に指定し、制御メモリ308から上述の
仮想ページアドレスに設定されている実ページアドレス
を読み出してバーチャルメモリコントローラ309内の
DMA転送用レジスタに設定する。
【0064】そして、ネットワーク制御回路310は、
バーチャルメモリコントローラ309に、送信されるべ
きメッセージデータが含まれる実メモリ307内の上記
実ページアドレスのページデータを、ネットワークデー
タ送信バス305を介してネットワーク制御回路310
にDMA転送させる。
【0065】ネットワーク制御回路310は、上述のペ
ージデータから送信命令に付加されているメッセージデ
ータの転送長に対応する分のメッセージデータを取り出
し、そのメッセージデータと送信命令に付加されている
仮想ページアドレス及びメッセージデータの転送長を含
む送信フレームを生成し、それを光ファイバリング20
6に送出する。なお、光ファイバリング206のフレー
ム伝送方式としては、トークンリングネットワーク方式
が採用され、ネットワーク制御回路310は、光ファイ
バリング206上を周回するフリートークンを獲得した
場合のみ送信フレームを送出することができる。
【0066】図10の例においては、#000のメッセージ
通信装置203から、仮想ページアドレス***2と実メモ
リ307内の実ページアドレスr に格納されているメッ
セージデータとを含む送信フレームが、光ファイバリン
グ206に送出される。
【0067】上述の送信フレームは、光ファイバリング
206に接続されている他のノード202(図8参照)
に順次転送される。各ノード202内のメッセージ通信
装置203のネットワーク制御回路310は、光ファイ
バリング206から上記送信フレームを取り込むと、そ
の送信フレームに格納されている仮想ページアドレスに
対応するページ状態を制御メモリアクセスバス306を
介して制御メモリ308から読み出し、そのページ状態
が受信バッファ割付状態VPであるか否か、即ち、その仮
想ページアドレスが自ノード202のメッセージ通信装
置203に割り当てられているか否か、又はそのページ
状態が送信状態SDであるか否か、即ち、その送信フレー
ムが自ネットワーク制御回路310が送出したものであ
るか否かを判別する。
【0068】ネットワーク制御回路310は、送信フレ
ームに格納されている仮想ページアドレスのページ状態
が受信バッファ割付状態VPであると判別した場合には、
送信フレームに格納されているメッセージデータを、以
下のようにして実メモリ307に取り込む。
【0069】即ち、ネットワーク制御回路310は、ま
ず、送信フレームに格納されている仮想ページアドレス
を、制御メモリアクセスバス306を介して制御メモリ
308に指定し、制御メモリ308から上述の仮想ペー
ジアドレスに設定されている実ページアドレスを読み出
してバーチャルメモリコントローラ309内のDMA転
送用レジスタに設定する。そして、ネットワーク制御回
路310は、バーチャルメモリコントローラ309に、
送信フレームに含まれるメッセージデータを、ネットワ
ークデータ受信バス304を介して実メモリ307内の
上述の実ページアドレスにDMA転送させる。
【0070】その後、ネットワーク制御回路310は、
送信フレームに格納されている仮想ページアドレスを、
制御メモリアクセスバス306を介して制御メモリ30
8に指定し、その仮想ページアドレスのページ状態を受
信バッファ割付状態VPから受信完了状態RDに変更する。
【0071】更に、ネットワーク制御回路310は、I
/Oコントローラ315内の受信用FIFOに、ネット
ワーク命令/結果バス303を介して、受信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスとメッセージデータの転送長を書き込む。
【0072】最後に、ネットワーク制御回路310は、
光ファイバリング206から受信した上述の送信フレー
ム中の応答領域に受信成功通知を書き込んだ後、その送
信フレームを再び光ファイバリング206に送出する。
【0073】例えば、図10の例では、#***のメッセー
ジ通信装置203のネットワーク制御回路310は、#0
00のノード202からの送信フレームに格納されている
仮想ページアドレス***2の制御メモリ308上のページ
状態が受信バッファ割付状態VPであると判別することに
より、その送信フレームに格納されているメッセージデ
ータを、制御メモリ308の仮想ページアドレス***2に
設定されている実ページアドレスu を有する実メモリ3
07内のネットワーク用受信バッファに取り込んだ後、
制御メモリ308の仮想ページアドレス***2のページ状
態を受信バッファ割付状態VPから受信完了状態RDに変更
する。
【0074】上述の受信結果通知は、CPU313によ
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用受信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の受信結果通知を受け取ると、結果コー
ドが受信成功であるならば、受信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
【0075】上述のページ状態が受信完了状態RDである
ならば、CPU313のネットワーク用受信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用受信バッファから切り離しプロセッサ用送信待ち
バッファキューに接続する。
【0076】その後、CPU313のネットワーク用受
信制御機能は、CPUバス302及びバーチャルメモリ
コントローラ309を介して実メモリ307を制御し
て、任意の空きページをネットワーク用受信バッファに
接続し、更に、上述の受信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスに、上述の
空きページの実ページアドレスと、ページ状態として受
信バッファ割付状態VPを、それぞれ書き込む。
【0077】これ以後、実メモリ307内のプロセッサ
用送信待ちバッファキューに対する処理は、CPU31
3のネットワーク用受信制御機能から後述するプロセッ
サ用送信制御機能に引き渡される。
【0078】一方、ネットワーク制御回路310は、送
信フレームに格納されている仮想ページアドレスに対応
するページ状態を制御メモリ308から読み出した結
果、そのページ状態が受信バッファ割付状態VPでも送信
状態SDでもないと判別した場合には、その送信フレーム
をそのまま光ファイバリング206に送出する。
【0079】例えば、図10の例では、#%%%のメッセー
ジ通信装置203のネットワーク制御回路310は、#0
00のノード202からの送信フレームに格納されている
仮想ページアドレス***2の制御メモリ308上のページ
状態が受信バッファ割付状態VPでも送信状態SDでもない
と判別することにより、その送信フレームをそのまま光
ファイバリング206に送出する。
【0080】上述のようにして光ファイバリング206
上を順次転送された送信フレームは、最後に送信元のノ
ード202内のメッセージ通信装置203のネットワー
ク制御回路310に戻る。
【0081】送信元のネットワーク制御回路310は、
送信フレームに格納されている仮想ページアドレスに対
応するページ状態を制御メモリ308から読み出した結
果、それが送信状態SDであると判別することによって、
その送信フレームが自ネットワーク制御回路310が送
出した送信フレームであることを判別する。
【0082】この場合に、ネットワーク制御回路310
は、受信した送信フレームの応答領域に受信成功通知が
書き込まれていることを確認した後に、制御メモリアク
セスバス306を介して、送信フレームに格納されてい
る仮想ページアドレスに対応する制御メモリ308のペ
ージ状態を、送信状態SDから送信完了状態SCに変更す
る。
【0083】そして、ネットワーク制御回路310は、
I/Oコントローラ315内の受信用FIFOに、ネッ
トワーク命令/結果バス303を介し、送信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスを書き込む。
【0084】上述の送信結果通知は、CPU313によ
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用送信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の送信結果通知を受け取ると、結果コー
ドが送信成功であるならば、送信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
【0085】上述のページ状態が送信完了状態SCである
ならば、CPU313のネットワーク用送信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用送信バッファから切り離し空きページとする。
【0086】その後、CPU313のネットワーク用送
信制御機能は、上述の送信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスのページ状
態として、バッファ未割付状態NAを書き込む。
【0087】以上のように、ネットワーク201(図8
参照)上において、1つの仮想記憶空間が定義され、こ
の空間を構成する固定長のデータ長を有する仮想ページ
が各メッセージ通信装置203に割り当てられる。そし
て、メッセージ通信装置203間のメッセージデータの
通信は、この仮想ページを使用して行われる。この結
果、通常のパケット通信で行われているブロック化制
御、順序制御が不要となる。
【0088】また、光ファイバリング206上の各ノー
ド202内のメッセージ通信装置203のネットワーク
制御回路310は、送信フレームを受信すると、その送
信フレームに格納されている仮想ページアドレスで制御
メモリ308上のページ状態をアクセスすることによっ
て、受信した送信フレームを高速に処理することができ
る。
【0089】加えて、光ファイバリング206上を転送
される送信フレームには応答領域が設けられ、受信側の
ノード202内のメッセージ通信装置203のネットワ
ーク制御回路310は、送信フレームの受信結果を送信
フレームの応答領域に書き込み、それを再び光ファイバ
リング206に送出する。従って、この送信フレームが
光ファイバリング206上を転送され送信元に戻ってく
るまでに、メッセージデータの送信処理が完了すること
になり、受信側から送信元への応答を別のフレームを用
いて通知する必要がない。この結果、通信プロトコルを
簡略なものにすることができ、高速な応答処理が可能と
なる。
【0090】更に、メッセージ通信装置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に、メッセー
ジデータが転送される場合の動作について説明する。
【0091】まず、CPU313のプロセッサ用受信制
御機能は、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307をアクセスする
ことにより、実メモリ307において、プロセッサ用受
信バッファキューに空きバッファキューに接続されてい
る空きバッファを接続する。なお、プロセッサ用受信制
御機能は、CPU313がプログラムRAM317に記
憶された制御プログラムを実行することにより実現され
る機能である。
【0092】そして、CPU313のプロセッサ用受信
制御機能は、CPUバス302、バス結合部311、及
び外部バス301を介して、例えば#0のプロセッサバス
インタフェース312を起動すると共に、そのインタフ
ェース312に対して上述のプロセッサ用受信バッファ
キューの先頭アドレスを通知する。
【0093】プロセッサバスインタフェース312は、
プロセッサ204からプロセッサバス205を介して転
送されてきたメッセージデータを受信し、上記先頭アド
レスを受信開始アドレスとしてバッファアドレスを順次
更新しながら、上述の受信されたメッセージデータを、
外部バス301及びバーチャルメモリコントローラ30
9を介して、実メモリ307内のプロセッサ用受信バッ
ファキューに接続された空きバッファに、順次転送す
る。
【0094】プロセッサバスインタフェース312は、
プロセッサ用受信バッファキューに接続される空きバッ
ファがなくなったり、小さなデータを格納してから特定
時間を経た時には受信を自動的に停止し、その旨を外部
バス301、バス結合部311、及びCPUバス302
を介してCPU313に通知する。
【0095】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に、メ
ッセージデータが転送される場合の動作について説明す
る。
【0096】ネットワーク制御回路310が送信フレー
ムの受信に成功すると、前述したように、CPU313
のネットワーク用受信制御機能が、受信されたメッセー
ジデータを実メモリ307内のプロセッサ用送信待ちバ
ッファキューに接続する。
【0097】これに対して、CPU313のプロセッサ
用送信制御機能は、CPUバス302、バス結合部31
1、及び外部バス301を介して、例えば#0のプロセッ
サバスインタフェース312を起動すると共に、そのイ
ンタフェース312に対して上述のプロセッサ用送信待
ちバッファキューの先頭アドレスを通知する。
【0098】プロセッサバスインタフェース312は、
上記先頭アドレスを送信開始アドレスとしてバッファア
ドレスを順次更新しながら、外部バス301及びバーチ
ャルメモリコントローラ309を介して、実メモリ30
7内のプロセッサ用送信待ちバッファキューに接続され
たバッファに格納されているメッセージデータを順次読
み出して、そのメッセージデータのヘッダ内の宛て先ア
ドレス部を解析しながら、そのメッセージデータをプロ
セッサバス205を介して宛て先のプロセッサ204に
転送する。 <通信制御>図11は本発明の第2の実施例におけるネ
ットワーク通信制御モジュールの構成図である。
【0099】前述のトークンリングネットワークにおけ
る各装置間の通信をまとめると4つの通信により成り立
っている。第1は対PM受信制御機構406すなわち前
述したプロセッサ用受信制御機能により、バス制御ハー
ドウェア418を制御してプロセッサモジュール420
からのバス419経由のメッセージをPM受信待ちバッ
ファキュー413に格納し、対応する受信側のバッファ
をネットワーク送信バッファ410に接続することによ
ってなされる通信である。尚、キューとはリスト構造の
バッファを意味しており、各バッファをチェーン構造に
し、登録数と先頭アドレス、未端アドレスをレジスタに
記憶して管理している。
【0100】対PM受信制御機構406はPM受信バッ
ファキュー413に空きバッファキュー427からのバ
ッファを接続し、受信バッファアドレスレジスタ416
に接続した空きバッファの先頭アドレスを書き込んでバ
ス制御ハードウェア418を起動する。
【0101】バス制御ハードウェア418はプロセッサ
モジュール420から転送されてきたデータのヘッダ部
の宛先クラスタアドレス部が他クラスタであるか、ある
いは宛先クラスタアドレス部が自クラスタで宛先モジュ
ールIDが本通信制御モジュールのIDだった場合にデ
ータを受信し、受信バッファアドレスレジスタを更新し
ながらキューに接続された空きバッファに次々にデータ
を書き込む。尚、受信バッファが足りなくなった場合
は、接続待ちアドレス格納リングバッファ414に受信
キュー等を格納する。そしてバス制御ハードウェア41
8は自動的に停止する。そして、対PM受信制御機構4
06が受信済のバッファをネットワーク送信バッファに
接続して、空きバッファをPM受信バッファキュー41
3に接続する。接続後に再度バス制御ハードウェア41
8を起動する。これによって再びPM受信バッファキュ
ー413へデータが取り込まれる。
【0102】第2は対PM送信制御機構407すなわち
前述したプロセッサ用送信制御機能により、PM送信待
ちバッファキュー412のデータをバス制御ハードウェ
ア418を制御してプロセッサモジュール420へ送信
する機能である。対PM送信制御機構407はPM送信
待ちバッファキュー412の先頭送信待ちバッファのア
ドレスを送信バッファアドレスレジスタ415に書き込
み、送信バッファのヘッダ部に宛先クラスタアドレス
(自クラスタアドレスを設定)と、宛先モジュールID
を書き込んでバス制御ハードウェア418を起動して、
PM送信待ちバッファキュー415のデータをバス41
9経由でプロセッサモジュール420に送信する。
【0103】第3はネットワーク送信制御機構408す
なわちネットワーク用送信制御機能によって、ネットワ
ーク送信バッファ410のデータをネットワーク400
に送信する機能である。第4はネットワーク受信制御機
構409すなわちネットワーク用受信制御機能により、
ネットワーク400からのデータをネットワーク受信バ
ッファ411に格納し、受信済のバッファをPM送信待
ちバッファキュー413に接続する機能である。
【0104】ネットワーク経由の通信は、前述したよう
に仮想記憶テーブル405の仮想アドレスを送信フレー
ムに書き込むことによって行う。図12に示す如く各ネ
ットワーク通信制御モジュール内の仮想記憶テーブル4
05は、複数の領域に分割されており、各領域はネット
ワーク接続された各ネットワーク通信制御モジュールの
属するクラスタIDすなわちクラスタアドレスに対応し
ている。各モジュールの自分に対応した領域の仮想アド
レスには、ネットワーク受信制御機構409によってネ
ットワーク受信バッファ411のアドレスが書き込まれ
(受信バッファが接続され)、ページ状態に“受信バッ
ファ割り付け済(VP)”のコードが書かれる。
【0105】さらに、例としてネットワークに図12に
示した如く3つのネットワーク通信制御モジュールT1
〜T3(IDはID1〜ID3)が接続されていて、モ
ジュールT1からネットワーク通信制御モジュールT3
へデータを転送する場合を説明する。
【0106】ネットワーク通信制御モジュールT1のネ
ットワーク送信制御機構408は、宛先のモジュールの
クラスタIDの領域の仮想アドレスのうちの、送信バッ
ファが接続された仮想アドレスのページ状態を“送信状
態”のコードにし(図12の太枠内)、送信FIFO4
03にその仮想アドレス、転送長を書き込む。そしてネ
ットワーク送信制御機構408がネットワーク制御ハー
ドウェア402を起動すると、送信FIFO403に書
き込まれた指示に従い、仮想アドレスに対応した実アド
レスにある送信バッファのデータと仮想アドレスそのも
のをフレーム化して、ネットワークにブロードキャスト
する。
【0107】モジュールT2のネットワーク制御ハード
ウェアは、ネットワーク通信制御モジュールT1からの
フレームを受信すると、仮想アドレス部分を読み出し、
そのアドレスのページ状態を参照する。ネットワーク通
信制御モジュールT2の仮想ページアドレスのうち、ク
ラスタID3の領域は“バッファ未割り付け状態NA”
になっているので、データを受け取らずにフレームを中
継する。
【0108】ネットワーク通信制御モジュールT3にフ
レームが達すると、ネットワーク通信制御モジュールT
3のネットワーク制御ハードウェア402は、クラスタ
ID3の領域の仮想アドレスの状態が“受信バッファ割
り付け済”(VP)なので、データをネットワーク受信
バッファ411にコピーして、ページ状態を“受信完
了”(RD)状態に変え、受信FIFO404に仮想ア
ドレス、結果コード(送受信の成否を示すコード)、転
送データ長を書き込み、フレーム中の応答領域に受信成
功通知を書き込んでフレームを中継する。そして、書き
加えられたこのフレームは最後に送信元のモジュール4
01に戻る。
【0109】モジュール401のネットワーク制御ハー
ドウェア402はこのフレームを受け取って、応答が受
信成功ならばページ状態を“送信状態”から送信完了状
態に書き換え、受信FIFO404に仮想アドレスと結
果コードを書き込む。
【0110】受信制御機構408は受信FIFO404
を監視しており、結果コードが送信成功で、仮想アドレ
スに対応したページ状態が“送信完了”であることを確
認して、送信バッファを空きバッファキュー427に接
続する。一方、データを受信したネットワーク通信制御
モジュールT3のネットワーク受信制御機構409は、
受信FIFO404を読み出して結果コードが受信成功
で、仮想アドレスに対応したページ状態が“受信完了”
であることを確認し、データの入った受信バッファをP
M送信待ちバッファキュー412に接続する。この接続
で、前述した対PM送信制御機構407がバス制御ハー
ドウェア418を制御して、プロセッサモジュール42
0に送出する。以上のようにして、通信が行われる。
【0111】前述した通信において、仮想アドレスのペ
ージ状態すなわち受信キューとそのページ状態とを仮想
記憶テーブル405が記憶し、実アドレスでネットワー
ク受信バッファ411を構成している。これは1個とは
限らない。尚、この受信バッファはトークンリングネッ
トワーク400からの受信だけでなく、プロセッサモジ
ュールからの送信待ちバッファ、更にはネットワーク送
信バッファ410やPM受信バッファキュー413に接
続されるバッファと同じである。そして、ネットワーク
通信制御モジュール401内には接続待ちアドレス格納
リングバッファ414が設けられている。
【0112】接続待ちアドレス格納リングバッファ41
4は先に示した図6や図7の構成のリングバッファであ
る。このリングバッファには前述した本発明の第1の実
施例における受信キュー番号すなわち、仮想アドレスが
格納される。この接続待ちアドレス格納リングバッファ
414に格納される条件は、ページを受信完了してネッ
トワーク受信バッファ411に接続された受信バッファ
をPM受信バッファ413に接続し、空きバッファキュ
ー427に接続されている空きバッファが無い時であ
る。この時に接続待ちアドレス格納リングバッファ41
3に仮想アドレスである受信キュー番号が格納される。
【0113】この空きバッファキューが接続されてない
仮想アドレスに対しトークンリングネットワーク400
を介してデータが受信された際には、ネットワーク受信
制御機構409の指示により、ネットワーク送信制御機
構408を介し送信側に現在そのデータを受信できない
旨を返送する。この返送により、以後送信側のネットワ
ーク送信制御モジュール401はその送信を一次保留と
する。
【0114】ネットワーク送信バッファ410やPM受
信バッファキュー413から読み出されてトークンリン
グネットワークに出力されて他のプロセッサ通信制御モ
ジュール420に伝送された際には、そのバッファは空
きバッファキュー427に接続される。この時、すなわ
ち空きバッファキュー427に今まで空きバッファが存
在しない時には、接続待ちアドレス格納リングバッファ
414にその接続待ちアドレスが存在するかをネットワ
ーク受信制御機構409が判別し、存在する時には最も
古いものの受信キューに対し空きバッファを接続する。
これによりネットワーク受信制御機構409は、ネット
ワーク送信制御機構408を介しそのバッファを接続し
た受信キューの受信が可能となった旨を送信側に送出す
る。以上の如く、通信におけるフロー制御により、一時
的に空きバッファが無くなっても、空きバッファが存在
した時点で通信を行うことができる。
【0115】従来においては、仮想アドレスに接続され
ているネットワーク受信バッファがあるかを判別すなわ
ちサーチし、受信バッファが接続されていない仮想アド
レスにバッファを接続しているので、そのサーチに時間
を要しオーバーヘッドが多くなっていた。本発明は接続
待ちアドレス格納リングバッファ414を設けてあり、
空きバッファが存在した時にこのリングバッファから接
続すべき仮想アドレスを読み出して接続するのでその処
理時間は短くオーバーヘッドを少なくすることができ
る。
【0116】
【発明の効果】以上述べたように本発明によれば、複数
の受信キューを持つ通信装置においてフロー制御を行う
際、空きバッファの欠乏したキューへのバッファ接続と
送信側への受信準備完了通知をすみやかに行うことがで
き、フロー制御にかかる処理を高速化することができ
る。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明の第1の実施例の通信装置の構成図であ
る。
【図3】受信バッファアドレス格納メモリの構成図であ
る。
【図4】空きバッファ格納用リスト構造図である。
【図5】受信済バッファ格納用リスト構造図である。
【図6】接続待ちアドレス格納リングバッファの構成図
である。
【図7】接続待ちアドレス格納リングバッファの構成図
である。
【図8】本発明の第2の実施例のネットワークの構成図
である。
【図9】本発明の第2の実施例におけるメッセージ通信
装置の構成図である。
【図10】メッセージ通信の説明図である。
【図11】本発明の第2の実施例におけるネットワーク
通信制御モジュールの構成図である。
【図12】仮想記憶テーブル図表である。
【符号の説明】
1 通信手段 2 記憶手段 3 接続手段

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 複数の受信キュー(4)を有し、該フレ
    ームが格納されるバッファが接続されるべきキューを示
    す受信キュー番号が明示され、該受信キュー番号の受信
    キュー(4)に接続されたバッファ(5)に前記伝送路
    から加わるフレームを格納し、受信済みの前記バッファ
    (5)を前記受信キュー(4)から外した後に空きバッ
    ファを接続する通信手段(1)と、 前記受信キュー(4)にデータ未受信の空きバッファが
    接続されず、さらに新たに接続できる空きバッファも無
    かった時に空きバッファの接続できなかったキ ューの番号を記憶する記憶手段(2)と、空きバッファ
    が存在した時点で前記記憶手段(2)に登録された受信
    キューの番号を参照して前記空きバッファを前記受信キ
    ューに接続する接続手段(3)とを有することを特徴と
    する通信装置。
  2. 【請求項2】 前記通信手段(1)は、 受信キュー(4)のバッファ(5)が枯渇して受信不能
    となった時に送信側にそのキューが受信不能となったこ
    とを通知する送信停止手段と、 該送信停止手段によって受信不能を通知して受信すべき
    フレームの送信を停止させた後に前記接続手段によって
    空きバッファを接続して当該受信キューへのフレームの
    受信が可能になった際、前記送信を停止させた装置に対
    し、受信が可能となったキューの番号を含む受信準備通
    知フレームを送出する受信準備完了フレーム送出手段と
    を有することを特徴とする請求項1記載の通信装置。
  3. 【請求項3】 前記記憶手段(2)は、前記空きバッフ
    ァの接続ができず受信が不可能なキューの番号と、受信
    が可能になった時に受信可能通知を送信するための受信
    準備完了通知指示とを対にして記憶し、前記接続手段
    (3)は前記空きバッファの接続に前後して前記キュー
    の番号と組になって格納されている前記受信準備完了通
    知指示により受信準備完了通知フレームを送出すること
    を特徴とする請求項1記載の通信装置。
  4. 【請求項4】 前記記憶手段はリングバッファであり、
    空きバッファが存在した時に古い受信キューより前記空
    きバッファを接続することを特徴とする請求項1あるい
    は3記載の通信装置。
  5. 【請求項5】 複数の受信キューを有し、伝送路から加
    わるフレームに格納されるべき受信キュー番号が明示さ
    れ、該受信キュー番号の受信キューに接続されたバッフ
    ァに前記伝送路から加わるフレームを格納し、受信済み
    のバッファを前記受信キューから外した後に空きバッフ
    ァを接続し、前記受信キューにデータ未受信の空きバッ
    ファが無く、さらに新たに接続できる空きバッファも無
    かった時に空きバッファの接続できなかったキューの番
    号を記憶し、空きバッファが存在した時点で前記記憶し
    た受信キューの番号を参照して前記空きバッファを前記
    受信キューに接続することを特徴とする通信方式。
JP4226225A 1992-08-25 1992-08-25 通信装置 Withdrawn JPH0678000A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4226225A JPH0678000A (ja) 1992-08-25 1992-08-25 通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4226225A JPH0678000A (ja) 1992-08-25 1992-08-25 通信装置

Publications (1)

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

Family

ID=16841859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4226225A Withdrawn JPH0678000A (ja) 1992-08-25 1992-08-25 通信装置

Country Status (1)

Country Link
JP (1) JPH0678000A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137773A (ja) * 1994-11-11 1996-05-31 Nippon Denki Ido Tsushin Kk 移動通信システムのデータ送受信方式
JP2013211687A (ja) * 2012-03-30 2013-10-10 Fujitsu Ltd 受信回路、情報処理装置、および制御方法
JP2022143623A (ja) * 2021-03-18 2022-10-03 Necプラットフォームズ株式会社 演算コプロセッサ、コンピュータシステム、制御方法及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137773A (ja) * 1994-11-11 1996-05-31 Nippon Denki Ido Tsushin Kk 移動通信システムのデータ送受信方式
JP2013211687A (ja) * 2012-03-30 2013-10-10 Fujitsu Ltd 受信回路、情報処理装置、および制御方法
JP2022143623A (ja) * 2021-03-18 2022-10-03 Necプラットフォームズ株式会社 演算コプロセッサ、コンピュータシステム、制御方法及びプログラム

Similar Documents

Publication Publication Date Title
EP0097674B1 (en) Interface processor unit
US6023732A (en) Message transfer apparatus for controlling a message send in a packet switched interconnection network
JPH11266286A (ja) 通信方法、送信方法、受信方法及びそれらを実施する装置
JPH06103155A (ja) 共有メモリ制御方法及び共有メモリ制御装置
JP3290302B2 (ja) データの交換処理方法及び装置
JPS63280365A (ja) ダイレクトメモリアクセスオ−ダ競合制御方式
JPS5897944A (ja) 複数マイクロプロセツサ間デ−タ転送方式
JP3641834B2 (ja) 並列プロセッサシステムおよびそれに適したパケット廃棄方法
JPH0678000A (ja) 通信装置
JPH0619855A (ja) メッセージのキューイング方法とその装置
JPH0666061B2 (ja) マルチcpu通信装置
JPH0675883A (ja) メッセージ通信装置
KR100250465B1 (ko) 고속병렬컴퓨터의 메시지 전송 방법
JPH064401A (ja) メモリアクセス回路
JPS6298444A (ja) デ−タ通信方式
KR0182707B1 (ko) 교환기에 있어서 프로세서간통신 메세지에 대한 모니터장치 및 방법
JPH0619857A (ja) コンピュータ間のデータ一致装置
JPH064462A (ja) バス結合方式
JPH07319823A (ja) プロセッサ間通信方式
JP3312361B2 (ja) 分散共有メモリシステム
JPH0635824A (ja) マルチプロセッサネットワークの折り返し試験方式とその装置
JP3144787B2 (ja) 分散処理システムおよびその対話処理方法
JPH08339354A (ja) ネットワーク分散処理システム
JP2000259523A (ja) データ転送装置、lan通信システム及びデータ転送方法
JPH064437A (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