JP3278852B2 - 通信制御装置 - Google Patents
通信制御装置Info
- Publication number
- JP3278852B2 JP3278852B2 JP252291A JP252291A JP3278852B2 JP 3278852 B2 JP3278852 B2 JP 3278852B2 JP 252291 A JP252291 A JP 252291A JP 252291 A JP252291 A JP 252291A JP 3278852 B2 JP3278852 B2 JP 3278852B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- communication control
- reception
- control device
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
【0001】
【産業上の利用分野】本発明は、通信制御方法及び通信
制御装置に関する。
制御装置に関する。
【0002】
【従来の技術】計算機が、他の計算機、あるいは端末装
置と通信する場合、計算機は通信制御装置を介してネッ
トワーク伝送路と接続される。この場合、計算機と通信
制御装置との間で行われるデータ送受信としては、例え
ば、計算機から通信制御装置へのサービス要求(例え
ば、データ送信要求)、上記サービス要求に対する通信
制御装置から計算機への終了報告、通信制御装置から計
算機へのイベント報告(例えば、データ受信報告)、上
記イベント報告に対する計算機から通信制御装置への受
信通知がある。
置と通信する場合、計算機は通信制御装置を介してネッ
トワーク伝送路と接続される。この場合、計算機と通信
制御装置との間で行われるデータ送受信としては、例え
ば、計算機から通信制御装置へのサービス要求(例え
ば、データ送信要求)、上記サービス要求に対する通信
制御装置から計算機への終了報告、通信制御装置から計
算機へのイベント報告(例えば、データ受信報告)、上
記イベント報告に対する計算機から通信制御装置への受
信通知がある。
【0003】計算機がデータを送信する場合、計算機は
主メモリ上に予め割り当てられている送信バッファ領域
に送信データを書き込み、通信制御装置に送信要求を出
す。このデータ送信要求を受けた通信制御装置は主メモ
リから送信データを読み出し、ヘッダ作成等のプロトコ
ル処理を施した後、伝送路に送出する。一方、伝送路か
らデータを受信すると、通信制御装置は、上記主メモリ
上に予め割り当てられている受信バッファ上に受信デー
タを書き込み、計算機に対してデータが受信されたこと
を示すイベント報告を出す。
主メモリ上に予め割り当てられている送信バッファ領域
に送信データを書き込み、通信制御装置に送信要求を出
す。このデータ送信要求を受けた通信制御装置は主メモ
リから送信データを読み出し、ヘッダ作成等のプロトコ
ル処理を施した後、伝送路に送出する。一方、伝送路か
らデータを受信すると、通信制御装置は、上記主メモリ
上に予め割り当てられている受信バッファ上に受信デー
タを書き込み、計算機に対してデータが受信されたこと
を示すイベント報告を出す。
【0004】上記主メモリからの送信デ−タの読み出し
と、主メモリへの受信デ−タの書き込みは、ダイレクト
・メモリ・アクセス・コントロ−ラ(DMAC)によ
り、行なわれる。
と、主メモリへの受信デ−タの書き込みは、ダイレクト
・メモリ・アクセス・コントロ−ラ(DMAC)によ
り、行なわれる。
【0005】また、上記データ送信要求やイベント報告
は、例えば、送受信データの書き込みアドレス、データ
の長さ、およびコマンドコードを含む制御データブロッ
ク(以下、制御ブロックと言う)を主メモリ上の情報交
換エリアに書き込み、この制御ブロックのアドレスを相
手側(計算機または通信制御装置)に教える形式で行わ
れる。
は、例えば、送受信データの書き込みアドレス、データ
の長さ、およびコマンドコードを含む制御データブロッ
ク(以下、制御ブロックと言う)を主メモリ上の情報交
換エリアに書き込み、この制御ブロックのアドレスを相
手側(計算機または通信制御装置)に教える形式で行わ
れる。
【0006】尚、この主の計算機間のデ−タ通信方式
は、例えば特開昭63−266948号公報に記載され
ている。
は、例えば特開昭63−266948号公報に記載され
ている。
【0007】
【発明が解決しようとする課題】然るに、従来のデータ
送受信方式によれば、主メモリ上に設けられる上述した
送受信データのバッファエリアの管理、および制御ブロ
ックの書き込みエリアの管理は、計算機側において行わ
れている。例えば、通信制御装置が受信データを主メモ
リ上の受信バッファに書き込む場合、計算機が空き状態
にある受信バッファと制御ブロック書き込みエリアと
を、その都度通信制御装置に通知し、この通知を受けて
から通信制御装置が受信データの書き込み動作を開始す
るようにしている。
送受信方式によれば、主メモリ上に設けられる上述した
送受信データのバッファエリアの管理、および制御ブロ
ックの書き込みエリアの管理は、計算機側において行わ
れている。例えば、通信制御装置が受信データを主メモ
リ上の受信バッファに書き込む場合、計算機が空き状態
にある受信バッファと制御ブロック書き込みエリアと
を、その都度通信制御装置に通知し、この通知を受けて
から通信制御装置が受信データの書き込み動作を開始す
るようにしている。
【0008】すなわち、従来は、通信制御装置が一方的
にイベント報告を行うことはできず、また上述した受信
バッファエリアや制御ブロックエリアの通知のための交
信オーバーヘッドが生ずるため、データの送受信処理を
高速に行うことができなかった。
にイベント報告を行うことはできず、また上述した受信
バッファエリアや制御ブロックエリアの通知のための交
信オーバーヘッドが生ずるため、データの送受信処理を
高速に行うことができなかった。
【0009】
【課題を解決するための手段】上記目的を達成するため
に、本発明のデータ送受信方式は、主メモリ上に送信バ
ッファエリアと受信バッファエリアを割り当て、主計算
機が送信データを上記送信バッファエリアに書き込み、
通信制御装置が上記送信バッファエリアから読み出した
送信データをパケット化して通信路に送出し、上記通信
路から受信したパケットに含まれるデータを上記通信制
御装置が上記受信バッファエリアに書きこみ、これを上
記計算機が処理するようにした通信システムにおいて、
上記主メモリ上の送信バッファの空き領域管理は上記主
計算機が行い、上記主メモリ上の受信バッファの空き領
域管理は上記通信制御装置が行うようにしたことを特徴
とする。
に、本発明のデータ送受信方式は、主メモリ上に送信バ
ッファエリアと受信バッファエリアを割り当て、主計算
機が送信データを上記送信バッファエリアに書き込み、
通信制御装置が上記送信バッファエリアから読み出した
送信データをパケット化して通信路に送出し、上記通信
路から受信したパケットに含まれるデータを上記通信制
御装置が上記受信バッファエリアに書きこみ、これを上
記計算機が処理するようにした通信システムにおいて、
上記主メモリ上の送信バッファの空き領域管理は上記主
計算機が行い、上記主メモリ上の受信バッファの空き領
域管理は上記通信制御装置が行うようにしたことを特徴
とする。
【0010】上記主メモリの受信バッファエリアとして
は、例えば、複数コネクション分の受信バッファを形成
できるメモリ容量が割り当てられ、これが予め通信制御
装置に通知される。
は、例えば、複数コネクション分の受信バッファを形成
できるメモリ容量が割り当てられ、これが予め通信制御
装置に通知される。
【0011】通信制御装置は、例えば、上記受信バッフ
ァエリアへのデータ書き込み制御のためのパラメータを
コネクション対応に記憶するための管理テーブル手段を
備える。通信路からパケットが受信されたとき、通信制
御装置は、受信パケットに含まれるコネクション識別子
に基づいて上記管理テーブルを参照し、上記受信パケッ
トから抽出された受信データを上記コネクション識別子
と対応する受信バッファエリア内の既受信データ記憶領
域に続く位置に書き込むことにより、複数パケットに分
割して送られてきた受信データを、上記主メモリ上でリ
アセンブルするよう動作する。
ァエリアへのデータ書き込み制御のためのパラメータを
コネクション対応に記憶するための管理テーブル手段を
備える。通信路からパケットが受信されたとき、通信制
御装置は、受信パケットに含まれるコネクション識別子
に基づいて上記管理テーブルを参照し、上記受信パケッ
トから抽出された受信データを上記コネクション識別子
と対応する受信バッファエリア内の既受信データ記憶領
域に続く位置に書き込むことにより、複数パケットに分
割して送られてきた受信データを、上記主メモリ上でリ
アセンブルするよう動作する。
【0012】また、上記通信制御装置は、複数パケット
に分割して送信されたデータ、或は単一パケットとして
送信されたデータについてのリアセンブル終了の都度、
通信制御装置から主計算機にデータ受信を通知する。
に分割して送信されたデータ、或は単一パケットとして
送信されたデータについてのリアセンブル終了の都度、
通信制御装置から主計算機にデータ受信を通知する。
【0013】上記データ受信の通知は、例えば、データ
受信を示すコードと、受信データの長さと、その書き込
みアドレスを含む制御情報ブロックを主メモリ上に書き
込むことにより行なう。この場合、通信制御装置が、各
制御情報ブロックの主メモリ上での書き込みアドレスを
主計算機に伝え、主計算機が、該アドレスに基づいて制
御情報ブロックを読み出し、更に上記制御情報ブロック
に含まれる書き込みアドレスに基づいて受信データをア
クセスするようにしてもよい。
受信を示すコードと、受信データの長さと、その書き込
みアドレスを含む制御情報ブロックを主メモリ上に書き
込むことにより行なう。この場合、通信制御装置が、各
制御情報ブロックの主メモリ上での書き込みアドレスを
主計算機に伝え、主計算機が、該アドレスに基づいて制
御情報ブロックを読み出し、更に上記制御情報ブロック
に含まれる書き込みアドレスに基づいて受信データをア
クセスするようにしてもよい。
【0014】上記通信制御装置は、上述した主メモリと
の間の送受信データの読み出し、書き込み動作の他に、
送信データ用ヘッダの作成、あるいは受信データに付さ
れたヘッダ解析の動作(プロトコル処理)を行う。これ
らの動作は、1つのプロセッサにより行なわせてもよい
が、処理を高速化するために複数のプロセッサを用いる
こともできる。
の間の送受信データの読み出し、書き込み動作の他に、
送信データ用ヘッダの作成、あるいは受信データに付さ
れたヘッダ解析の動作(プロトコル処理)を行う。これ
らの動作は、1つのプロセッサにより行なわせてもよい
が、処理を高速化するために複数のプロセッサを用いる
こともできる。
【0015】例えば、通信制御装置を第1,第2のプロ
セッサで構成し、第1のプロセッサで主メモリとの間の
データ送受信を行い、第2のプロセッサでプロトコル処
理を行なうことにより、処理を高速化することができ
る。
セッサで構成し、第1のプロセッサで主メモリとの間の
データ送受信を行い、第2のプロセッサでプロトコル処
理を行なうことにより、処理を高速化することができ
る。
【0016】
【作用】本発明によれば、主メモリ上の送信バッファエ
リアは主計算機で管理し、受信バッファエリアは通信制
御装置で管理するようにしているため、伝送路からデー
タが受信されたとき、このデータを書き込むための受信
バッファを通信制御装置で独自に決めることができる。
また、計算機と通信制御装置との間の無駄な交信がなく
なり、特に受信処理を高速化することができる。
リアは主計算機で管理し、受信バッファエリアは通信制
御装置で管理するようにしているため、伝送路からデー
タが受信されたとき、このデータを書き込むための受信
バッファを通信制御装置で独自に決めることができる。
また、計算機と通信制御装置との間の無駄な交信がなく
なり、特に受信処理を高速化することができる。
【0017】
【実施例】(実施例1)本発明の第1の実施例を、図1
から図22を参照して説明する。
から図22を参照して説明する。
【0018】図2は、本発明を適用するデータ通信シス
テムの1構成例を示す。このシステムは、複数の計算機
1(1A〜1C)から構成され、各計算機は通信制御装
置4(4A〜4C)を介してネットワーク伝送路5に接
続されている。
テムの1構成例を示す。このシステムは、複数の計算機
1(1A〜1C)から構成され、各計算機は通信制御装
置4(4A〜4C)を介してネットワーク伝送路5に接
続されている。
【0019】図1は、計算機1と通信制御装置4の詳細
を示すブロック図である。
を示すブロック図である。
【0020】計算機1は、主プロセッサ10と主メモリ
11とからなり、計算機システムバス2を介して通信制
御装置4に接続されている。
11とからなり、計算機システムバス2を介して通信制
御装置4に接続されている。
【0021】通信制御装置4は、ローカルプロセッサ2
5と、ローカルメモリ24と、ネットワーク伝送路5に
接続される通信制御回路26と、ダイレクト・メモリ・
アクセス・コントローラ(DMAC)20と、これらを
結合するローカルバス23とからなり、上記システムバ
ス2とローカルバス23との間にバスインタフェース2
1と、計算機1から通信制御装置4への制御情報の伝達
に用いられる第1のFIFO22Tと、これとは逆方向
の制御情報伝達に用いられる第2のFIFO22Rとを
備えている。DMAC20により、ローカルメモリ24
と情報交換エリア12間のデータ転送を行う際、DMA
C20から計算機側のバスアービタ3や主メモリ11に
発行する制御信号やアドレス信号は、データの通る経路
と同じように、ローカルバス23,バスインタフェース
21,計算機システムバス2を経て伝えられる。
5と、ローカルメモリ24と、ネットワーク伝送路5に
接続される通信制御回路26と、ダイレクト・メモリ・
アクセス・コントローラ(DMAC)20と、これらを
結合するローカルバス23とからなり、上記システムバ
ス2とローカルバス23との間にバスインタフェース2
1と、計算機1から通信制御装置4への制御情報の伝達
に用いられる第1のFIFO22Tと、これとは逆方向
の制御情報伝達に用いられる第2のFIFO22Rとを
備えている。DMAC20により、ローカルメモリ24
と情報交換エリア12間のデータ転送を行う際、DMA
C20から計算機側のバスアービタ3や主メモリ11に
発行する制御信号やアドレス信号は、データの通る経路
と同じように、ローカルバス23,バスインタフェース
21,計算機システムバス2を経て伝えられる。
【0022】また、通信制御回路26は、ネットワーク
伝送路5との間で信号の送受信を行うMODEM29
と、上記ローカルバス23とMODEM29との間に接
続されたDMACとからなる。
伝送路5との間で信号の送受信を行うMODEM29
と、上記ローカルバス23とMODEM29との間に接
続されたDMACとからなる。
【0023】尚、複数のプロセッサ、或はDMACによ
るバス使用の競合を避けるために、上記システムバス2
とローカルバス23にそれぞれバスアービタ3と5が設
けてある。
るバス使用の競合を避けるために、上記システムバス2
とローカルバス23にそれぞれバスアービタ3と5が設
けてある。
【0024】図3は、図1の計算機間通信に適用される
階層化通信プロトコルの1構成例を示す。通信プロトコ
ルは、下位から、フィジカル層L1,MAC層L2,L
LC層L2′、ネットワーク層L3、トランスポート層
L4、セション層L5、プレゼンテーション層L6、ア
プリケーション層L7からなり、通信制御装置4はトラ
ンスポート層L4以下の通信プロトコル処理を行う。以
下の実施例ではトランスポート層L4にクラス4(TP
4)、ネットワーク層L3にコネクション型プロトコル
(CLNP)、LLC層L2′にLLCのタイプ1が適
用されるものとする。
階層化通信プロトコルの1構成例を示す。通信プロトコ
ルは、下位から、フィジカル層L1,MAC層L2,L
LC層L2′、ネットワーク層L3、トランスポート層
L4、セション層L5、プレゼンテーション層L6、ア
プリケーション層L7からなり、通信制御装置4はトラ
ンスポート層L4以下の通信プロトコル処理を行う。以
下の実施例ではトランスポート層L4にクラス4(TP
4)、ネットワーク層L3にコネクション型プロトコル
(CLNP)、LLC層L2′にLLCのタイプ1が適
用されるものとする。
【0025】図4は、ローカルプロセッサ25で実行す
るソフトウェアの基本構成を示す図である。ローカルプ
ロセッサ25が実行するソフトウェアは、計算機1との
間のインタフェース処理を行うインタフェース処理部1
00と、通信フレームのヘッダを処理する通信プロトコ
ル処理部200と、通信制御回路26との間のインタフ
ェース処理を行う通信制御回路ドライバ部300とから
構成される。通信プロトコル処理部200は、図3に示
した階層化通信プロトコルのレイヤL4〜L2に対応し
て、TP4処理部210,CLNP処理部220,LL
C処理230,MAC処理部240からなっている。
るソフトウェアの基本構成を示す図である。ローカルプ
ロセッサ25が実行するソフトウェアは、計算機1との
間のインタフェース処理を行うインタフェース処理部1
00と、通信フレームのヘッダを処理する通信プロトコ
ル処理部200と、通信制御回路26との間のインタフ
ェース処理を行う通信制御回路ドライバ部300とから
構成される。通信プロトコル処理部200は、図3に示
した階層化通信プロトコルのレイヤL4〜L2に対応し
て、TP4処理部210,CLNP処理部220,LL
C処理230,MAC処理部240からなっている。
【0026】図5は、計算機1が扱う送信データDAT
Aと、伝送路5に送信されるパケット30との関係を示
す。送信データDATAは、複数のデータブロックB1
〜Bnに分割(セグメンテーション)され、複数のパケ
ット30−1〜30−nとして伝送路上に送出される。
各パケット30は、ヘッダ部31と、上記データブロッ
クを含むデータ部32と、パケット先頭に位置する同期
ビット33と、パケットの最後に位置するフレーム・チ
ェック・シーケンス(FCS)部34とからなる。
Aと、伝送路5に送信されるパケット30との関係を示
す。送信データDATAは、複数のデータブロックB1
〜Bnに分割(セグメンテーション)され、複数のパケ
ット30−1〜30−nとして伝送路上に送出される。
各パケット30は、ヘッダ部31と、上記データブロッ
クを含むデータ部32と、パケット先頭に位置する同期
ビット33と、パケットの最後に位置するフレーム・チ
ェック・シーケンス(FCS)部34とからなる。
【0027】本明細書では、1つのメッセージあるいは
送信データが、上述したように複数のブロックに分割し
て送信されるとき、先頭のデータブロックB1を含むパ
ケット30−1を先頭パケット(FIRST)、最後の
データブロックBnを含むパケットBnを含むパケット
30−nを最終パケット(LAST)、中間のデータブ
ロックB2〜Bn−1を含むパケットを次パケット(N
EXT)と呼ぶことにする。尚、送信データが上記固定
長以下の場合、1つの送信データ全体が1つのパケット
として送信される。このパケットを単一パケット(SI
NGLE)と称することにする。
送信データが、上述したように複数のブロックに分割し
て送信されるとき、先頭のデータブロックB1を含むパ
ケット30−1を先頭パケット(FIRST)、最後の
データブロックBnを含むパケットBnを含むパケット
30−nを最終パケット(LAST)、中間のデータブ
ロックB2〜Bn−1を含むパケットを次パケット(N
EXT)と呼ぶことにする。尚、送信データが上記固定
長以下の場合、1つの送信データ全体が1つのパケット
として送信される。このパケットを単一パケット(SI
NGLE)と称することにする。
【0028】図6は、パケットフォーマットの詳細を示
す。ヘッダ部31は、MACヘッダ35と、LLCヘッ
ダ36と、CLNPヘッダ37と、TP4ヘッダ38と
から構成されている。上記、MACヘッダ部35は、送
信先アドレス(DA)35Aと、送信元アドレス(S
A)35Bと、データ長35Cを含んでいる。また、T
P4ヘッダ部38は、ヘッダ長38Aと、DTコード3
8Bと、相手レファレンス38Cと、シーケンス番号3
8Dと、EOTビット38Eとを含んでいる。
す。ヘッダ部31は、MACヘッダ35と、LLCヘッ
ダ36と、CLNPヘッダ37と、TP4ヘッダ38と
から構成されている。上記、MACヘッダ部35は、送
信先アドレス(DA)35Aと、送信元アドレス(S
A)35Bと、データ長35Cを含んでいる。また、T
P4ヘッダ部38は、ヘッダ長38Aと、DTコード3
8Bと、相手レファレンス38Cと、シーケンス番号3
8Dと、EOTビット38Eとを含んでいる。
【0029】上記EOTビット38Eには、単一パケッ
トと最終パケットの場合は“1”、それ以外(次パケッ
ト)の場合は“0”が設定される。
トと最終パケットの場合は“1”、それ以外(次パケッ
ト)の場合は“0”が設定される。
【0030】図7は、計算機1と通信制御装置4との間
で行うデータの送受信動作の概略を説明するための図で
ある。
で行うデータの送受信動作の概略を説明するための図で
ある。
【0031】主メモリ上の情報交換エリア12は、計算
機1から通信相手装置に送出すべき送信データを記憶す
るための領域41Tと、相手装置からの受信データを記
憶するための領域41Rと、計算機1から通信制御装置
4にサービス要求内容を知らせるための制御ブロックを
記憶するための領域40Tと、通信制御装置4から計算
機1にイベント報告内容を知らせるための制御ブロック
を記憶するための領域41Rとからなっている。
機1から通信相手装置に送出すべき送信データを記憶す
るための領域41Tと、相手装置からの受信データを記
憶するための領域41Rと、計算機1から通信制御装置
4にサービス要求内容を知らせるための制御ブロックを
記憶するための領域40Tと、通信制御装置4から計算
機1にイベント報告内容を知らせるための制御ブロック
を記憶するための領域41Rとからなっている。
【0032】上記送信データ領域41Tと受信データ領
域41Rは、それぞれコネクション対応の複数のバッフ
ァエリア(送信バッファエリア41T1〜41Tm,受
信バッファエリア41R1〜41Rn)を有し、上記制
御ブロック領域40Tと40Rは、それぞれ複数個の制
御ブロックを記憶できるメモリ容量をもつ。
域41Rは、それぞれコネクション対応の複数のバッフ
ァエリア(送信バッファエリア41T1〜41Tm,受
信バッファエリア41R1〜41Rn)を有し、上記制
御ブロック領域40Tと40Rは、それぞれ複数個の制
御ブロックを記憶できるメモリ容量をもつ。
【0033】尚、本明細書では、後述するローカルメモ
リ24に記憶される通信制御装置用の制御ブロック(例
えば50T,50R)との区別のために、上記主メモリ
上の情報交換エリアに記憶される制御ブロックを「主制
御ブロック」、ローカルメモリ上に記憶される制御ブロ
ックを「ローカル制御ブロック」と呼ぶことにする。計
算機から或る装置宛にデータを送信する場合、計算機1
は、空き状態の送信バッファエリア41Tiに送信デー
タを書き込み、上記送信バッファエリアの先頭位置を示
すアドレスをポインタアドレスとして含む主制御ブロッ
ク40Tiを生成し、これをメモリ領域40Tに書き込
み、上記主制御ブロック40Tiの先頭を示すアドレス
Aiを第1のFIFO22Tにセットする。上記主制御
ブロック40Tiには、第8図に示す如く、上記送信デ
ータのポインタアドレス406の他に、コマンドコード
400、コネクションID402、宛先アドレス40
4、および上記送信データの長さ408が含まれる。
リ24に記憶される通信制御装置用の制御ブロック(例
えば50T,50R)との区別のために、上記主メモリ
上の情報交換エリアに記憶される制御ブロックを「主制
御ブロック」、ローカルメモリ上に記憶される制御ブロ
ックを「ローカル制御ブロック」と呼ぶことにする。計
算機から或る装置宛にデータを送信する場合、計算機1
は、空き状態の送信バッファエリア41Tiに送信デー
タを書き込み、上記送信バッファエリアの先頭位置を示
すアドレスをポインタアドレスとして含む主制御ブロッ
ク40Tiを生成し、これをメモリ領域40Tに書き込
み、上記主制御ブロック40Tiの先頭を示すアドレス
Aiを第1のFIFO22Tにセットする。上記主制御
ブロック40Tiには、第8図に示す如く、上記送信デ
ータのポインタアドレス406の他に、コマンドコード
400、コネクションID402、宛先アドレス40
4、および上記送信データの長さ408が含まれる。
【0034】通信制御装置4は、上記第1FIFO22
Tに設定されているアドレスを順次に取り出し、このア
ドレスに基づいて主メモリ11をアクセスし、主制御ブ
ロック40Tiの内容を読み出す。コマンドコード40
0がデータ送信要求を示している場合、ポインタアドレ
ス406には、送信すべきデータを含むバッファエリア
の先頭アドレスが書き込まれている。
Tに設定されているアドレスを順次に取り出し、このア
ドレスに基づいて主メモリ11をアクセスし、主制御ブ
ロック40Tiの内容を読み出す。コマンドコード40
0がデータ送信要求を示している場合、ポインタアドレ
ス406には、送信すべきデータを含むバッファエリア
の先頭アドレスが書き込まれている。
【0035】通信制御装置4は、上記ポインタアドレス
406とデータ長408をDMACに与えて、送信デー
タをローカルメモリ上の送信バッファエリア247Tj
にDMA転送させる。主メモリをアクセスするこれらの
動作は、図4に示したインタフェース処理部100によ
って行われる。ローカルメモリ上の送信バッファエリア
に送信データが読み込まれると、インタフェース処理部
100が、この送信データを複数のデータブロックに分
割し、通信プロトコル処理部200が主制御ブロックの
内容に応じて各データブロックにヘッダ31を付ける。
主制御ブロックの宛先アドレス404には宛先装置のN
SAPアドレスが指定してあり、NSAPアドレス自体
はCLNPヘッダ37の1部に設定され、NSAPの1
部であるMACアドレスがMACヘッダ35に設定され
る。また、主制御ブロックのコネクションID402
は、コネクション確立時に相手装置から通知されている
相手側のコネクションID(相手レファレンス)38C
に変換した形でヘッダ部に設定される。ヘッダ処理を終
えると、通信制御回路ドライバ部300が各パケットを
通信制御回路26に引き渡す。
406とデータ長408をDMACに与えて、送信デー
タをローカルメモリ上の送信バッファエリア247Tj
にDMA転送させる。主メモリをアクセスするこれらの
動作は、図4に示したインタフェース処理部100によ
って行われる。ローカルメモリ上の送信バッファエリア
に送信データが読み込まれると、インタフェース処理部
100が、この送信データを複数のデータブロックに分
割し、通信プロトコル処理部200が主制御ブロックの
内容に応じて各データブロックにヘッダ31を付ける。
主制御ブロックの宛先アドレス404には宛先装置のN
SAPアドレスが指定してあり、NSAPアドレス自体
はCLNPヘッダ37の1部に設定され、NSAPの1
部であるMACアドレスがMACヘッダ35に設定され
る。また、主制御ブロックのコネクションID402
は、コネクション確立時に相手装置から通知されている
相手側のコネクションID(相手レファレンス)38C
に変換した形でヘッダ部に設定される。ヘッダ処理を終
えると、通信制御回路ドライバ部300が各パケットを
通信制御回路26に引き渡す。
【0036】通信制御装置4は、上記DMA転送が終了
した時、送信バッファ41Tiの解放を計算機1に知ら
せるために、上記送信バッファ41Tiと対応する主制
御ブロック40Tiの先頭アドレスAiを第2のFIF
O22Rに設定する。上記FIFO22Rは、通信制御
装置4から計算機1へのイベント報告、主としてデータ
の受信を知らせる主制御ブロックのアドレスを設定する
ためのものであり、計算機1は、このFIFOから順次
にアドレスを取り出し、これに基づいて主制御ブロック
をアクセスする。FIFO22TからアドレスAiが取
り出され、主制御ブロック40Tiがアクセスされる
と、計算機は上記主制御ブロックの内容から、送信デー
タバッファ41Tiが解放されたことを判断できる。こ
れら、データ送信のためのバッファエリア41Ti〜4
1Tmと主制御ブロック40Ti〜40Tmの空塞状態
は、図示しない主メモリ上に設けた管理テーブルを使用
して計算機1が管理する。
した時、送信バッファ41Tiの解放を計算機1に知ら
せるために、上記送信バッファ41Tiと対応する主制
御ブロック40Tiの先頭アドレスAiを第2のFIF
O22Rに設定する。上記FIFO22Rは、通信制御
装置4から計算機1へのイベント報告、主としてデータ
の受信を知らせる主制御ブロックのアドレスを設定する
ためのものであり、計算機1は、このFIFOから順次
にアドレスを取り出し、これに基づいて主制御ブロック
をアクセスする。FIFO22TからアドレスAiが取
り出され、主制御ブロック40Tiがアクセスされる
と、計算機は上記主制御ブロックの内容から、送信デー
タバッファ41Tiが解放されたことを判断できる。こ
れら、データ送信のためのバッファエリア41Ti〜4
1Tmと主制御ブロック40Ti〜40Tmの空塞状態
は、図示しない主メモリ上に設けた管理テーブルを使用
して計算機1が管理する。
【0037】次に、通信制御装置4から計算機1へのイ
ベント報告動作について説明する。本発明では、イベン
ト報告用の主制御ブロックと受信データの格納に用いる
主メモリ上のエリアの管理を通信制御装置側で行なうこ
とを1つの特徴としている。イベント報告用の複数の主
制御ブロックを書きこむための領域40Rと、受信デー
タ領域41Rが、予め計算機1によって主メモリ上に割
り当てられ、通信制御装置4に通知されている。通信制
御装置4は、これらの領域40R,41Rの空塞状態を
図9に示すローカルメモリ24上に設けた制御ブロック
管理テーブル245と受信処理管理テーブル246によ
り管理しながら、伝送路5からの受信データ、および通
信制御装置で生成した主制御ブロックの主メモリへの書
き込み動作を行う。上記受信データ領域41Rは、複数
の受信バッファエリア41R1〜41Rmからなり、こ
れらの受信バッファはコネクション対応に1つずつ割り
当てられて、これを利用してコネクション毎の受信パケ
ットを元のデータ(メッセージ)に組立てるアセンブリ
ング処理が行われる。
ベント報告動作について説明する。本発明では、イベン
ト報告用の主制御ブロックと受信データの格納に用いる
主メモリ上のエリアの管理を通信制御装置側で行なうこ
とを1つの特徴としている。イベント報告用の複数の主
制御ブロックを書きこむための領域40Rと、受信デー
タ領域41Rが、予め計算機1によって主メモリ上に割
り当てられ、通信制御装置4に通知されている。通信制
御装置4は、これらの領域40R,41Rの空塞状態を
図9に示すローカルメモリ24上に設けた制御ブロック
管理テーブル245と受信処理管理テーブル246によ
り管理しながら、伝送路5からの受信データ、および通
信制御装置で生成した主制御ブロックの主メモリへの書
き込み動作を行う。上記受信データ領域41Rは、複数
の受信バッファエリア41R1〜41Rmからなり、こ
れらの受信バッファはコネクション対応に1つずつ割り
当てられて、これを利用してコネクション毎の受信パケ
ットを元のデータ(メッセージ)に組立てるアセンブリ
ング処理が行われる。
【0038】伝送路5からの受信パケットが通信制御回
路26を介してローカルメモリ24に入力されると、ロ
ーカルプロセッサ25は、受信パケットの相手レファレ
ンス38Cにより、コネクションを識別できる。また、
ローカルプロセッサは、コネクション対応にリアセンブ
ル動作の状態を記憶しており、この状態識別子(本明細
書では、以下、単にステータスと言う)と受信パケット
に含まれるEOTビット38Eとから、受信パケットの
種類(SINGLE,FIRST,NEXT,LAS
T)を判断できる。例えば、上記ステータスは、メッセ
ージ或は元のデータへのリアセンブル動作の途中状態に
あるときは“1”、それ以外は“0”となっている。こ
の場合、ステータスが“0”で受信パケットのEOTビ
ットが“0”ならばFIRST,EOTビットが“1”
ならばSINGLE、ステータスが“1”でEOTビッ
トが“0”ならばNEXT,EOTビットが“1”なら
ばLASTとなる。
路26を介してローカルメモリ24に入力されると、ロ
ーカルプロセッサ25は、受信パケットの相手レファレ
ンス38Cにより、コネクションを識別できる。また、
ローカルプロセッサは、コネクション対応にリアセンブ
ル動作の状態を記憶しており、この状態識別子(本明細
書では、以下、単にステータスと言う)と受信パケット
に含まれるEOTビット38Eとから、受信パケットの
種類(SINGLE,FIRST,NEXT,LAS
T)を判断できる。例えば、上記ステータスは、メッセ
ージ或は元のデータへのリアセンブル動作の途中状態に
あるときは“1”、それ以外は“0”となっている。こ
の場合、ステータスが“0”で受信パケットのEOTビ
ットが“0”ならばFIRST,EOTビットが“1”
ならばSINGLE、ステータスが“1”でEOTビッ
トが“0”ならばNEXT,EOTビットが“1”なら
ばLASTとなる。
【0039】パケットが受信され、ヘッダ処理が終わる
と、インタフェース部100により、受信パケットのデ
ータ部32が、受信パケットのコネクションと対応する
受信バッファ40Riに書き込まれる。上記受信パケッ
トの種類がFIRST、あるいはNEXTの場合は、計
算機への通知は行われず、SINGLE、またはLAS
Tのパケットが受信された時、受信バッファのデータ書
き込みに続いて、データの受信通知のための主制御ブロ
ックがメモリ領域40Rの空きエリアに書き込まれ、こ
の主制御ブロックの先頭アドレスBiが第2のFIFO
22Rに設定される。
と、インタフェース部100により、受信パケットのデ
ータ部32が、受信パケットのコネクションと対応する
受信バッファ40Riに書き込まれる。上記受信パケッ
トの種類がFIRST、あるいはNEXTの場合は、計
算機への通知は行われず、SINGLE、またはLAS
Tのパケットが受信された時、受信バッファのデータ書
き込みに続いて、データの受信通知のための主制御ブロ
ックがメモリ領域40Rの空きエリアに書き込まれ、こ
の主制御ブロックの先頭アドレスBiが第2のFIFO
22Rに設定される。
【0040】計算機は、第2のFIFO22Rから取り
出したアドレスに基づいて、主制御ブロックと受信デー
タ(メッセージ)の読み取りを行う。計算機による受信
データの読み取りが行われる前に、同一のコネクション
にその後の別のメッセージを構成するパケットが受信さ
れる場合がある。この場合、もし、受信バッファに空き
領域があれば、データブロックの書き込みが行われ、空
き領域がなければ、このデータブロックは、ローカルメ
モリ側の受信バッファに一時的に蓄積される。上述した
受信バッファの管理のために、本発明では、例えば、図
9に示す受信処理管理テーブル246を用いる。
出したアドレスに基づいて、主制御ブロックと受信デー
タ(メッセージ)の読み取りを行う。計算機による受信
データの読み取りが行われる前に、同一のコネクション
にその後の別のメッセージを構成するパケットが受信さ
れる場合がある。この場合、もし、受信バッファに空き
領域があれば、データブロックの書き込みが行われ、空
き領域がなければ、このデータブロックは、ローカルメ
モリ側の受信バッファに一時的に蓄積される。上述した
受信バッファの管理のために、本発明では、例えば、図
9に示す受信処理管理テーブル246を用いる。
【0041】受信処理管理テーブル246は、図9に示
すが如く、コネクションID対応に複数個のパラメータ
を記憶している。これらのパラメータのうち、S/E
は、1つのコネクションに割り当てられた受信バッファ
41Riの先頭アドレスと最終アドレスを示し、PRは
上記受信バッファ41Riにおける受信データ(メッセ
ージ)既書込み領域の先頭アドレスを示す読出しポイン
タ、PWは上記受信データ領域に引き続いて存在する空
き領域の先頭アドレスを示す書き込みポインタを示す。
「ステータス」は、上記受信バッファ41Riが、1つ
のメッセージについてリアセンブル動作の途中状態にあ
るか、それともリアセンブル完了、あるいは開始前の状
態にあるかを示す。また、BPは、リアセンブル動作が
終了したメッセージの先頭アドレスを示すブロックポイ
ンタ、LENは上記メッセージの長さを示している。こ
れらのパラメータのうち、BPとLENとが主制御ブロ
ック中のアドレスポインタ及びデータ長となる。
すが如く、コネクションID対応に複数個のパラメータ
を記憶している。これらのパラメータのうち、S/E
は、1つのコネクションに割り当てられた受信バッファ
41Riの先頭アドレスと最終アドレスを示し、PRは
上記受信バッファ41Riにおける受信データ(メッセ
ージ)既書込み領域の先頭アドレスを示す読出しポイン
タ、PWは上記受信データ領域に引き続いて存在する空
き領域の先頭アドレスを示す書き込みポインタを示す。
「ステータス」は、上記受信バッファ41Riが、1つ
のメッセージについてリアセンブル動作の途中状態にあ
るか、それともリアセンブル完了、あるいは開始前の状
態にあるかを示す。また、BPは、リアセンブル動作が
終了したメッセージの先頭アドレスを示すブロックポイ
ンタ、LENは上記メッセージの長さを示している。こ
れらのパラメータのうち、BPとLENとが主制御ブロ
ック中のアドレスポインタ及びデータ長となる。
【0042】受信バッファ領域41Riへの受信データ
ブロックの書き込み動作と、上記受信処理テーブル24
6におけるパラメータの値との関係を図10を参照して
説明すると次のようになる。
ブロックの書き込み動作と、上記受信処理テーブル24
6におけるパラメータの値との関係を図10を参照して
説明すると次のようになる。
【0043】今、1つのコネクションについて最初のデ
ータブロックが受信されたと仮定すると、このとき、パ
ラメータPR,PWは初期値、すなわちバッファ領域4
1Riの先頭アドレスBiを指している。
ータブロックが受信されたと仮定すると、このとき、パ
ラメータPR,PWは初期値、すなわちバッファ領域4
1Riの先頭アドレスBiを指している。
【0044】受信データブロックがFIRSTパケット
であったとすると、メッセージ長を示すパラメータLE
Nの値に零、また、メッセージの先頭を示すためのパラ
メータBPにPWの値が設定され、該受信データブロッ
ク(P1)が、パラメータPWが示すアドレスから始ま
る長さL0のメモリ領域にストアされる。1つのデータ
ブロックの書き込みを終了すると、PWとLENの値
が、それぞれデータブロック長L0に応じた値ずつ増加
される。
であったとすると、メッセージ長を示すパラメータLE
Nの値に零、また、メッセージの先頭を示すためのパラ
メータBPにPWの値が設定され、該受信データブロッ
ク(P1)が、パラメータPWが示すアドレスから始ま
る長さL0のメモリ領域にストアされる。1つのデータ
ブロックの書き込みを終了すると、PWとLENの値
が、それぞれデータブロック長L0に応じた値ずつ増加
される。
【0045】NEXTパケットP2〜P4、およびLAS
TパケットP5の受信時にも、上記と同様、パラメータ
PWに従ってバッファメモリへのデータ書き込みが行わ
れ、それぞれの書き込み終了時にパラメータPWとLE
Nの値が更新される。但し、LASTパケットの場合、
データ書き込みの終了時に、パラメータBPとLENの
値を含む主制御ブロックが生成され、これが主メモリ上
の受信用主制御ブロック領域に書き込まれる。
TパケットP5の受信時にも、上記と同様、パラメータ
PWに従ってバッファメモリへのデータ書き込みが行わ
れ、それぞれの書き込み終了時にパラメータPWとLE
Nの値が更新される。但し、LASTパケットの場合、
データ書き込みの終了時に、パラメータBPとLENの
値を含む主制御ブロックが生成され、これが主メモリ上
の受信用主制御ブロック領域に書き込まれる。
【0046】LASTパケットの受信処理の終了、すな
わち1つのメッセージM1についてのリアセンブル動作
が終了した後、次のFIRSTパケットP6が受信され
ると、BPとLENの値がそれぞれPWと零に初期化さ
れるため、上述したと同様のリアセンブル動作を実行で
きる。
わち1つのメッセージM1についてのリアセンブル動作
が終了した後、次のFIRSTパケットP6が受信され
ると、BPとLENの値がそれぞれPWと零に初期化さ
れるため、上述したと同様のリアセンブル動作を実行で
きる。
【0047】パラメータPRの値は、計算機がメッセー
ジデータの読み取りを完了した後に、次のメッセージM
2の読み取り開始点を示すアドレスの値に更新される。
1つのバッファ領域41Riの最後のアドレス位置Bl
−1までデータの書き込みが行われると、これに続くデ
ータは、バッファ領域41Riの先頭から始まる空き領
域に書き込まれる。通信制御装置は、各バッファメモリ
領域毎に、書き込みポインタPWの値と読み出しポイン
タPRの値の関係をチェックしており、もし、PWがP
Rを追い越す場合は、空き領域が無くなったものと判断
し、当該チャネルの受信データの主メモリへの書き込み
を中止し、空き領域ができるまで、ローカルメモリ上の
バッファエリアに受信データを一時的に蓄える。
ジデータの読み取りを完了した後に、次のメッセージM
2の読み取り開始点を示すアドレスの値に更新される。
1つのバッファ領域41Riの最後のアドレス位置Bl
−1までデータの書き込みが行われると、これに続くデ
ータは、バッファ領域41Riの先頭から始まる空き領
域に書き込まれる。通信制御装置は、各バッファメモリ
領域毎に、書き込みポインタPWの値と読み出しポイン
タPRの値の関係をチェックしており、もし、PWがP
Rを追い越す場合は、空き領域が無くなったものと判断
し、当該チャネルの受信データの主メモリへの書き込み
を中止し、空き領域ができるまで、ローカルメモリ上の
バッファエリアに受信データを一時的に蓄える。
【0048】図11は、ローカルメモリ24の構成を示
している。図において、241Pはインタフェース処理
プログラムエリア、242Pは通信プロトコル処理プロ
グラムエリア、243Pは通信制御回路ドライバプログ
ラムエリアである。これらのプログラムは、図4のイン
タフェース処理部100,通信プロトコル処理部20
0,通信制御回路ドライバ部300に相当する。244
は通信プロトコル処理時に使用する通信プロトコル処理
用エリア、245は主メモリ上のイベント報告用主制御
ブロックエリア40Rnを管理するための主制御ブロッ
ク管理テーブルエリア、246は主メモリ上の受信バッ
ファエリア41Rnを管理するための受信処理テーブル
エリアである。また、247Tは、送信データ記憶容量
をもつローカル送信バッファエリア、247Rは受信デ
ータ記憶容量をもつローカル受信バッファエリアであ
り、それぞれ複数の送信、あるいは受信データ(メッセ
ージ)を記憶できるメモリ容量をもつ。248Tと24
8Rは、それぞれローカル送信バッファ、ローカル受信
バッファ(247T,247R)を管理するための管理
テーブルである。また、249は、通信制御装置4にお
いて、通信プロトコル処理を実行するために使用するロ
ーカル制御ブロック50を格納するためのエリア、25
0はローカル制御ブロックエリア249を管理するロー
カル制御ブロック管理テーブルエリアである。
している。図において、241Pはインタフェース処理
プログラムエリア、242Pは通信プロトコル処理プロ
グラムエリア、243Pは通信制御回路ドライバプログ
ラムエリアである。これらのプログラムは、図4のイン
タフェース処理部100,通信プロトコル処理部20
0,通信制御回路ドライバ部300に相当する。244
は通信プロトコル処理時に使用する通信プロトコル処理
用エリア、245は主メモリ上のイベント報告用主制御
ブロックエリア40Rnを管理するための主制御ブロッ
ク管理テーブルエリア、246は主メモリ上の受信バッ
ファエリア41Rnを管理するための受信処理テーブル
エリアである。また、247Tは、送信データ記憶容量
をもつローカル送信バッファエリア、247Rは受信デ
ータ記憶容量をもつローカル受信バッファエリアであ
り、それぞれ複数の送信、あるいは受信データ(メッセ
ージ)を記憶できるメモリ容量をもつ。248Tと24
8Rは、それぞれローカル送信バッファ、ローカル受信
バッファ(247T,247R)を管理するための管理
テーブルである。また、249は、通信制御装置4にお
いて、通信プロトコル処理を実行するために使用するロ
ーカル制御ブロック50を格納するためのエリア、25
0はローカル制御ブロックエリア249を管理するロー
カル制御ブロック管理テーブルエリアである。
【0049】上記、ローカル制御ブロックの構成を図1
1に示す。ローカル制御ブロック50は、データ(メッ
セージ)送信要求、データ(メッセージ)受信報告、解
放要求などを示すコマンドコード500と、TP4コネ
クションを識別するコネクションID502と、送信先
を示すMACアドレスDA(MAC)504と、ローカ
ルメモリにおける送信あるいは受信バッファ(247
T,247R)の先頭を示すアドレス506と、送信あ
るいは受信データの長さ508と、データビット509
とを含んでいる。
1に示す。ローカル制御ブロック50は、データ(メッ
セージ)送信要求、データ(メッセージ)受信報告、解
放要求などを示すコマンドコード500と、TP4コネ
クションを識別するコネクションID502と、送信先
を示すMACアドレスDA(MAC)504と、ローカ
ルメモリにおける送信あるいは受信バッファ(247
T,247R)の先頭を示すアドレス506と、送信あ
るいは受信データの長さ508と、データビット509
とを含んでいる。
【0050】図13は、通信プロトコル処理用エリア2
44の構成を示す。
44の構成を示す。
【0051】通信プロトコル処理用依頼プール440と
通信プロトコル処理用終了プールは、図4におけるイン
タフェース処理部100と通信プロトコル処理部200
との間で取りかわされるローカル制御ブロックのアドレ
スを格納しておくためのエリアである。また、通信制御
回路ドライバ用送信プール444Tと通信制御回路ドラ
イバ用受信プール444Rは、図4における通信プロト
コル処理部200と通信制御回路ドライバ部300との
間で取りかわされるローカル制御ブロックのアドレスを
格納しておくためのエリアである。
通信プロトコル処理用終了プールは、図4におけるイン
タフェース処理部100と通信プロトコル処理部200
との間で取りかわされるローカル制御ブロックのアドレ
スを格納しておくためのエリアである。また、通信制御
回路ドライバ用送信プール444Tと通信制御回路ドラ
イバ用受信プール444Rは、図4における通信プロト
コル処理部200と通信制御回路ドライバ部300との
間で取りかわされるローカル制御ブロックのアドレスを
格納しておくためのエリアである。
【0052】図中、440はインタフェース処理部10
0による処理が完了し、次に通信プロトコル処理部が処
理すべき送信バッファと対をなすローカル制御ブロック
のアドレスを格納しておくためのエリア(通信プロトコ
ル処理用依頼プール)、444Tは通信プロトコル処理
部による処理が完了し、次に通信制御回路ドライバ部で
処理すべき送信バッファと対をなすローカル制御ブロッ
クのアドレスを格納しておくためのエリア(通信制御回
路ドライバ送信プール)、444Rは通信制御回路ドラ
イバ部により通信制御回路26から読み出され、次に通
信プロトコル処理部で処理すべき受信バッファと対をな
すローカル制御ブロックのアドレスを格納しておくため
のエリア(通信制御回路ドライバ受信プール)、442
は通信プロトコル処理部による処理が終了し、次にイン
タフェース処理部で主メモリに転送されるべき受信バッ
ファと対をなすローカル制御ブロックのアドレスを格納
しておくためのエリア(通信プロトコル処理終了プー
ル)である。また、446はTP4コネクションを管理
するためのテーブルエリアであり、コネクション毎に相
手レファレンス・シーケンス番号、及びEOTビットを
記憶している。
0による処理が完了し、次に通信プロトコル処理部が処
理すべき送信バッファと対をなすローカル制御ブロック
のアドレスを格納しておくためのエリア(通信プロトコ
ル処理用依頼プール)、444Tは通信プロトコル処理
部による処理が完了し、次に通信制御回路ドライバ部で
処理すべき送信バッファと対をなすローカル制御ブロッ
クのアドレスを格納しておくためのエリア(通信制御回
路ドライバ送信プール)、444Rは通信制御回路ドラ
イバ部により通信制御回路26から読み出され、次に通
信プロトコル処理部で処理すべき受信バッファと対をな
すローカル制御ブロックのアドレスを格納しておくため
のエリア(通信制御回路ドライバ受信プール)、442
は通信プロトコル処理部による処理が終了し、次にイン
タフェース処理部で主メモリに転送されるべき受信バッ
ファと対をなすローカル制御ブロックのアドレスを格納
しておくためのエリア(通信プロトコル処理終了プー
ル)である。また、446はTP4コネクションを管理
するためのテーブルエリアであり、コネクション毎に相
手レファレンス・シーケンス番号、及びEOTビットを
記憶している。
【0053】図14は、ローカルプロセッサが実行す
る、通信制御のためのプログラムフローチャートを示
す。
る、通信制御のためのプログラムフローチャートを示
す。
【0054】通信制御では、テータ送信(サービス要
求)を行うためのルーチン(送信sub)60Tと、デ
ータ受信(イベント報告)を行うためのルーチン(受信
sub)70Tとが交互に実行される。
求)を行うためのルーチン(送信sub)60Tと、デ
ータ受信(イベント報告)を行うためのルーチン(受信
sub)70Tとが交互に実行される。
【0055】図15は、送信sub60Tの内容を示
す、フローチャートである。送信sub60Tは、計算
機1とのインタフェース処理を行うルーチン62Tと、
通信プロトコル処理ルーチン64Tと、通信制御回路ド
ライバ処理ルーチン66Tとからなる。
す、フローチャートである。送信sub60Tは、計算
機1とのインタフェース処理を行うルーチン62Tと、
通信プロトコル処理ルーチン64Tと、通信制御回路ド
ライバ処理ルーチン66Tとからなる。
【0056】上記、インタフェース処理ルーチン62T
では図16に示すように、まず、送信方向FIFOから
主制御ブロック40のアドレスを読み出す(620)。
次に、上記主制御ブロックのコマンドコード400がデ
ータ送信要求を示しているが、送信データ(BN)がネ
ットワーク伝送路で送信可能な最大データ長(4KB)
より小さい場合、ローカルな制御ブロック50を生成
(621)する。さらに、コマンドコード500に送信
データの分割終了を示すコード(データビット=1)5
09を設定(622)する。
では図16に示すように、まず、送信方向FIFOから
主制御ブロック40のアドレスを読み出す(620)。
次に、上記主制御ブロックのコマンドコード400がデ
ータ送信要求を示しているが、送信データ(BN)がネ
ットワーク伝送路で送信可能な最大データ長(4KB)
より小さい場合、ローカルな制御ブロック50を生成
(621)する。さらに、コマンドコード500に送信
データの分割終了を示すコード(データビット=1)5
09を設定(622)する。
【0057】次に、DMAC20に対し、主メモリから
ローカルメモリへの送信バッファの読み出しを指令(6
23)する。主メモリ上の送信バッファエリアのアドレ
スは、主制御ブロックのポインタアドレスにより指定さ
れる。
ローカルメモリへの送信バッファの読み出しを指令(6
23)する。主メモリ上の送信バッファエリアのアドレ
スは、主制御ブロックのポインタアドレスにより指定さ
れる。
【0058】DMAC20による送信バッファの読み出
し動作が完了すると、ローカルメモリにおける上記送信
バッファエリアのポインタアドレスを、ローカル制御ブ
ロック50のフィールド506に設置し、ローカル制御
ブロックのアドレスを通信プロトコル処理用ローカル制
御ブロック依頼プール440へ登録する(624)。次
に、計算機1へ上記サービス要求に対する終了報告を行
うために、主制御ブロック40Tのコマンドコード40
0を解放要求を示すコードに書き換え(625)、上記
主制御ブロックのアドレスを受信方向FIFO22Rに
登録する(626)。
し動作が完了すると、ローカルメモリにおける上記送信
バッファエリアのポインタアドレスを、ローカル制御ブ
ロック50のフィールド506に設置し、ローカル制御
ブロックのアドレスを通信プロトコル処理用ローカル制
御ブロック依頼プール440へ登録する(624)。次
に、計算機1へ上記サービス要求に対する終了報告を行
うために、主制御ブロック40Tのコマンドコード40
0を解放要求を示すコードに書き換え(625)、上記
主制御ブロックのアドレスを受信方向FIFO22Rに
登録する(626)。
【0059】主制御ブロック40のコマンドコード40
0がデータ送信要求を示しているが、送信データが4K
Bより大きい場合、送信データを4KBごとに分割し
て、通信プロトコル処理部へ送信処理を引き渡す。ま
ず、ローカルな制御ブロック50を生成し(627)、
ローカルな制御ブロックのコマンドコードに送信データ
が分割中(データビット=0)であることを示すコード
を設定し(628)、DMACに主メモリからローカル
メモリへの送信データ4KB分の読みだしを指令する
(629)。
0がデータ送信要求を示しているが、送信データが4K
Bより大きい場合、送信データを4KBごとに分割し
て、通信プロトコル処理部へ送信処理を引き渡す。ま
ず、ローカルな制御ブロック50を生成し(627)、
ローカルな制御ブロックのコマンドコードに送信データ
が分割中(データビット=0)であることを示すコード
を設定し(628)、DMACに主メモリからローカル
メモリへの送信データ4KB分の読みだしを指令する
(629)。
【0060】DMACにより、4KBに分割した送信デ
ータの読み出し動作が完了すると、ローカルメモリに読
み出した上記4KBに分割した送信バッファの先頭アド
レスをローカル制御ブロック50に設定し、ローカル制
御ブロックのアドレスを通信プロトコル処理用依頼プー
ルへ登録する(630)。主制御ブロックのデータ長4
08から4KBだけディクリメントし、ポインタアドレ
ス406から4KBだけインクリメントすることによ
り、残りの送信データの長さと、次に送信する送信デー
タの先頭部分を示すアドレスを、主制御ブロックに再設
定する(631)。再度、主制御ブロックのデータ長4
08が、4KBより大きいか、小さいかを判定し、大き
ければ分割処理を繰り返し、小さければ送信データを分
割しない場合の処理を行う。
ータの読み出し動作が完了すると、ローカルメモリに読
み出した上記4KBに分割した送信バッファの先頭アド
レスをローカル制御ブロック50に設定し、ローカル制
御ブロックのアドレスを通信プロトコル処理用依頼プー
ルへ登録する(630)。主制御ブロックのデータ長4
08から4KBだけディクリメントし、ポインタアドレ
ス406から4KBだけインクリメントすることによ
り、残りの送信データの長さと、次に送信する送信デー
タの先頭部分を示すアドレスを、主制御ブロックに再設
定する(631)。再度、主制御ブロックのデータ長4
08が、4KBより大きいか、小さいかを判定し、大き
ければ分割処理を繰り返し、小さければ送信データを分
割しない場合の処理を行う。
【0061】主制御ブロック40Tnのコマンドコード
400がデータ送信要求でない場合、すなわち、受信バ
ッファの処理完了通知の場合、受信用主制御ブロックの
解放処理を行う(632)。
400がデータ送信要求でない場合、すなわち、受信バ
ッファの処理完了通知の場合、受信用主制御ブロックの
解放処理を行う(632)。
【0062】図17は、上記インタフェース処理ルーチ
ン62Tに引き続いて実行される通信プロトコル処理ル
ーチン64Tの詳細を示す。このルーチンでは、まず、
通信プロトコル処理依頼プール440からローカル制御
ブロック50のアドレスを読み出し(642)、上記ロ
ーカル制御ブロック50に含まれるコネクションID5
02、DAフィールド504、及びローカルメモリ上の
TP4コネクション管理テーブル446を参照しなが
ら、TP4ヘッダ,CLNPヘッダ,LLCヘッダ,及
びMACヘッダをデータの先頭に順次、付加していく
(644T〜650T)。TP4ヘッダの分割、組立に
使用する制御コード(EOTビット)は、ローカルな制
御ブロックのコマンドコードがデータ分割中を示すコー
ドであればEOTビット=0とし、データ分割終了を示
すコードであればEOTビット=1とする。尚、上記ヘ
ッダの作成の都度、ローカル制御ブロックのバッファ先
頭アドレス506とデータ長508の値が新たに加えら
れたヘッダ長の値に応じて更新される。
ン62Tに引き続いて実行される通信プロトコル処理ル
ーチン64Tの詳細を示す。このルーチンでは、まず、
通信プロトコル処理依頼プール440からローカル制御
ブロック50のアドレスを読み出し(642)、上記ロ
ーカル制御ブロック50に含まれるコネクションID5
02、DAフィールド504、及びローカルメモリ上の
TP4コネクション管理テーブル446を参照しなが
ら、TP4ヘッダ,CLNPヘッダ,LLCヘッダ,及
びMACヘッダをデータの先頭に順次、付加していく
(644T〜650T)。TP4ヘッダの分割、組立に
使用する制御コード(EOTビット)は、ローカルな制
御ブロックのコマンドコードがデータ分割中を示すコー
ドであればEOTビット=0とし、データ分割終了を示
すコードであればEOTビット=1とする。尚、上記ヘ
ッダの作成の都度、ローカル制御ブロックのバッファ先
頭アドレス506とデータ長508の値が新たに加えら
れたヘッダ長の値に応じて更新される。
【0063】MACヘッダ35の作成が終了すると(6
50T)、ローカル制御ブロック50のアドレスが通信
制御回路ドライバ用送信プール444Tに登録され(6
55)、通信制御回路ドライバ処理ルーチン66Tが実
行される。
50T)、ローカル制御ブロック50のアドレスが通信
制御回路ドライバ用送信プール444Tに登録され(6
55)、通信制御回路ドライバ処理ルーチン66Tが実
行される。
【0064】通信制御回路ドライバ処理ルーチン66T
では図18に示すように、通信制御回路ドライバ用送信
プール444Rからローカル制御ブロック50のアドレ
スを読み出し(662)、通信制御回路26に対して、
バッファ先頭アドレス506とデータ長508を指定し
て、データ送信要求を発行する(664)。
では図18に示すように、通信制御回路ドライバ用送信
プール444Rからローカル制御ブロック50のアドレ
スを読み出し(662)、通信制御回路26に対して、
バッファ先頭アドレス506とデータ長508を指定し
て、データ送信要求を発行する(664)。
【0065】次に、ローカルプロセッサが実行するデー
タ受信(イベント報告)動作について説明する。
タ受信(イベント報告)動作について説明する。
【0066】図19は、図14に示した受信sub70
Rの内容を示すフローチャートである。
Rの内容を示すフローチャートである。
【0067】受信sub70Rは、通信制御回路26を
制御する通信制御回路ドライバ処理ルーチン72Rと、
通信プロトコル処理ルーチン74Rと、計算機1とのイ
ンタフェース処理ルーチン76Rとからなる。
制御する通信制御回路ドライバ処理ルーチン72Rと、
通信プロトコル処理ルーチン74Rと、計算機1とのイ
ンタフェース処理ルーチン76Rとからなる。
【0068】ネットワーク伝送路5からパケットを受信
すると、通信制御回路26からローカルメモリ上の空い
ている受信バッファエリア247Rnを獲得し、上記ロ
ーカル受信バッファに同期ビット33とFCS34を取
り除いた受信パケットを設定し、通信制御回路ドライバ
300に対し、パケットを受信したことを通知する。通
信制御回路ドライバ300では、図20に示すようにロ
ーカル制御ブロック50にデータ受信を示すコマンドコ
ード500と、ローカル受信バッファの先頭アドレス5
06と、受信データ長(ヘッダ長を含む)508とを設
定し(722)、通信制御回路ドライバ用受信プール4
44Rにローカル制御ブロック50のアドレスを登録し
(724)、通信プロトコル処理74Rが実行される。
すると、通信制御回路26からローカルメモリ上の空い
ている受信バッファエリア247Rnを獲得し、上記ロ
ーカル受信バッファに同期ビット33とFCS34を取
り除いた受信パケットを設定し、通信制御回路ドライバ
300に対し、パケットを受信したことを通知する。通
信制御回路ドライバ300では、図20に示すようにロ
ーカル制御ブロック50にデータ受信を示すコマンドコ
ード500と、ローカル受信バッファの先頭アドレス5
06と、受信データ長(ヘッダ長を含む)508とを設
定し(722)、通信制御回路ドライバ用受信プール4
44Rにローカル制御ブロック50のアドレスを登録し
(724)、通信プロトコル処理74Rが実行される。
【0069】図21は、上記通信制御回路ドライバ処理
ルーチン72Rに引き続いて実行される通信プロトコル
処理ルーチン74Rの詳細を示す。このルーチンでは、
まず、MAC処理部240で通信制御回路ドライバ用受
信プール444Rからローカル制御ブロック50のアド
レスを読み出し(742)、MACヘッダの解析を行う
(744R)。MAC処理完了後、LLC処理部23
0、CLNP処理部220、TP4処理部210へ順番
にローカル制御ブロック50を引き渡し、各プロトコル
対応にヘッダ解析(746R,748R,750R)を
行う。各ヘッダ部では、ヘッダ解析後、ローカル制御ブ
ロック50のバッファ先頭アドレスにヘッダ部分をとり
のぞいたデータの先頭を示すアドレスを再設定する。ヘ
ッダ解析時は、相手を示すCLNPヘッダ、及びTP4
ヘッダの情報を、それぞれコネクションID402,D
A(MAC)404として、ローカル制御ブロック50
に設定する(755)。TP4処理部では、TP4ヘッ
ダ解析後、ローカル制御ブロックのデータビット(50
9)にTP4ヘッダのEOTビットを、コマンドコード
(500)にデータ受信報告を示すコマンドコードを設
定し、ローカル制御ブロックのアドレスを通信プロトコ
ル処理用終了プール(442)へ登録し、インタフェー
ス処理ルーチン76Rを実行する。
ルーチン72Rに引き続いて実行される通信プロトコル
処理ルーチン74Rの詳細を示す。このルーチンでは、
まず、MAC処理部240で通信制御回路ドライバ用受
信プール444Rからローカル制御ブロック50のアド
レスを読み出し(742)、MACヘッダの解析を行う
(744R)。MAC処理完了後、LLC処理部23
0、CLNP処理部220、TP4処理部210へ順番
にローカル制御ブロック50を引き渡し、各プロトコル
対応にヘッダ解析(746R,748R,750R)を
行う。各ヘッダ部では、ヘッダ解析後、ローカル制御ブ
ロック50のバッファ先頭アドレスにヘッダ部分をとり
のぞいたデータの先頭を示すアドレスを再設定する。ヘ
ッダ解析時は、相手を示すCLNPヘッダ、及びTP4
ヘッダの情報を、それぞれコネクションID402,D
A(MAC)404として、ローカル制御ブロック50
に設定する(755)。TP4処理部では、TP4ヘッ
ダ解析後、ローカル制御ブロックのデータビット(50
9)にTP4ヘッダのEOTビットを、コマンドコード
(500)にデータ受信報告を示すコマンドコードを設
定し、ローカル制御ブロックのアドレスを通信プロトコ
ル処理用終了プール(442)へ登録し、インタフェー
ス処理ルーチン76Rを実行する。
【0070】図19のインタフェース処理ルーチン76
Rでは、図22に示すように、まず、通信プロトコル処
理用終了プール442からローカル制御ブロック50を
読み出し(761)、データ受信報告であるかを判定
し、コネクション対応の受信処理テーブルを選択する
(762)。受信バッファに空きエリアがあれば、受信
処理テーブルのPWの指す位置へ、DMACにより受信
データを書き込む(763)。この受信データが受信バ
ッファの先頭に位置するものであれば、受信処理テーブ
ルのステータスは0である。これらの場合、BPに受信
データの先頭アドレス(PW)を、LENに0を設定し
(769)、ステータスに1を(770)設定する。次
にローカル受信バッファに書き込んだローカル受信バッ
ファのデータ長を、受信処理テーブルのPWとLENに
加え、更新する(764)。ローカル制御ブロックのデ
ータビット509=“0”ならば、受信データの組立は
終了していないので、計算機に対し、受信報告を行わ
ず、ローカル制御ブロックとローカル受信バッファを解
放し、インタフェース処理を終了する(768)。
Rでは、図22に示すように、まず、通信プロトコル処
理用終了プール442からローカル制御ブロック50を
読み出し(761)、データ受信報告であるかを判定
し、コネクション対応の受信処理テーブルを選択する
(762)。受信バッファに空きエリアがあれば、受信
処理テーブルのPWの指す位置へ、DMACにより受信
データを書き込む(763)。この受信データが受信バ
ッファの先頭に位置するものであれば、受信処理テーブ
ルのステータスは0である。これらの場合、BPに受信
データの先頭アドレス(PW)を、LENに0を設定し
(769)、ステータスに1を(770)設定する。次
にローカル受信バッファに書き込んだローカル受信バッ
ファのデータ長を、受信処理テーブルのPWとLENに
加え、更新する(764)。ローカル制御ブロックのデ
ータビット509=“0”ならば、受信データの組立は
終了していないので、計算機に対し、受信報告を行わ
ず、ローカル制御ブロックとローカル受信バッファを解
放し、インタフェース処理を終了する(768)。
【0071】データビット=“1”ならば、処理対象と
している受信データが単1のパケットとして送信された
ものか、或は複数ブロックに分割された最後の部分のい
ずれかである。この場合、計算機にデータ受信報告を行
う必要があり、受信処理テーブルのステータスに0を設
定(765)し、主制御ブロックに、データ受信を示す
コマンドコードと、バッファアドレスに受信処理テーブ
ルのBPに格納してある受信バッファのアドレスと、受
信処理テーブルLENに格納してあるデータ長と、そし
てコネクションIDとを設定する(766)次に、受信
FIFO22Rに主制御ブロックのアドレスを登録する
ことにより(767)、計算機にデータ受信報告し、同
時にローカル制御ブロックとローカル受信バッファを解
放し、インタフェース処理を終了する(768)。
している受信データが単1のパケットとして送信された
ものか、或は複数ブロックに分割された最後の部分のい
ずれかである。この場合、計算機にデータ受信報告を行
う必要があり、受信処理テーブルのステータスに0を設
定(765)し、主制御ブロックに、データ受信を示す
コマンドコードと、バッファアドレスに受信処理テーブ
ルのBPに格納してある受信バッファのアドレスと、受
信処理テーブルLENに格納してあるデータ長と、そし
てコネクションIDとを設定する(766)次に、受信
FIFO22Rに主制御ブロックのアドレスを登録する
ことにより(767)、計算機にデータ受信報告し、同
時にローカル制御ブロックとローカル受信バッファを解
放し、インタフェース処理を終了する(768)。
【0072】(実施例2)本発明の第2の実施例を図2
3、及び図24を参照して説明する。
3、及び図24を参照して説明する。
【0073】図23は、ローカルプロセッサ25の他
に、インタフェース処理を実行する専用のプロセッサ
(インタフェースプロセッサ)104を設けた通信制御
装置4のブロック図を示す。
に、インタフェース処理を実行する専用のプロセッサ
(インタフェースプロセッサ)104を設けた通信制御
装置4のブロック図を示す。
【0074】上記インタフェースプロセッサ104は、
第1のローカルバス23Aと第2のローカルバス23B
とに接続され、通信制御装置は、更に、上記第1のロー
カルバス23Aに接続するダイレクト・メモリ・コント
ローラ(DMAC)27と、バスインタフェース21
と、計算機1から通信制御装置4への制御情報の伝達に
用いられている第1のFIFO22Tと、これとは逆方
向の制御情報伝達に用いられる第2のFIFO22Rと
を備えている。
第1のローカルバス23Aと第2のローカルバス23B
とに接続され、通信制御装置は、更に、上記第1のロー
カルバス23Aに接続するダイレクト・メモリ・コント
ローラ(DMAC)27と、バスインタフェース21
と、計算機1から通信制御装置4への制御情報の伝達に
用いられている第1のFIFO22Tと、これとは逆方
向の制御情報伝達に用いられる第2のFIFO22Rと
を備えている。
【0075】通信制御装置は、計算機により主メモリ上
の受信バッファエリアに書き込まれた送信データを読み
出し、これをパケット化してネットワーク伝送路5に送
出すると共に、ネットワーク伝送路5からの受信パケッ
トに含まれる受信データを主メモリ上の予め割り当てら
れた受信バッファエリアに書き込み、このエリア上でリ
アセンブル処理する。また、通信制御装置は、主メモリ
との間の送受信データの読み出し、書き込み動作の他に
送信データ用ヘッダの作成、あるいは受信データに付さ
れたヘッダ解析の動作(プロトコル処理)を行う。これ
らの動作は、実施例1では1つのプロセッサで行わせて
いるが、実施例2では、処理を高速化するため、これら
の動作を2つのプロセッサ(ローカルプロセッサ25と
インタフェースプロセッサ104)により実行する。
の受信バッファエリアに書き込まれた送信データを読み
出し、これをパケット化してネットワーク伝送路5に送
出すると共に、ネットワーク伝送路5からの受信パケッ
トに含まれる受信データを主メモリ上の予め割り当てら
れた受信バッファエリアに書き込み、このエリア上でリ
アセンブル処理する。また、通信制御装置は、主メモリ
との間の送受信データの読み出し、書き込み動作の他に
送信データ用ヘッダの作成、あるいは受信データに付さ
れたヘッダ解析の動作(プロトコル処理)を行う。これ
らの動作は、実施例1では1つのプロセッサで行わせて
いるが、実施例2では、処理を高速化するため、これら
の動作を2つのプロセッサ(ローカルプロセッサ25と
インタフェースプロセッサ104)により実行する。
【0076】すなわち、インタフェースプロセッサ10
4は、主メモリ上の送信バッファエリアに書き込まれた
送信データを読み出し、これを複数の送信データブロッ
クに分割してローカルメモリ24に書き込む。また、主
メモリ上の受信バッファエリアにコネクション毎の受信
バッファを確保し、各受信バッファエリアの空きエリア
を管理しながら、ローカルメモリ24上にローカルプロ
セッサ25が書き込んだ各受信データブロックを、この
受信データブロックと対応する受信バッファの空きエリ
アに順次に書き込む。
4は、主メモリ上の送信バッファエリアに書き込まれた
送信データを読み出し、これを複数の送信データブロッ
クに分割してローカルメモリ24に書き込む。また、主
メモリ上の受信バッファエリアにコネクション毎の受信
バッファを確保し、各受信バッファエリアの空きエリア
を管理しながら、ローカルメモリ24上にローカルプロ
セッサ25が書き込んだ各受信データブロックを、この
受信データブロックと対応する受信バッファの空きエリ
アに順次に書き込む。
【0077】一方、ローカルプロセッサ25は、ローカ
ルメモリ24に書き込まれている各送信データブロック
にヘッダを付加することにより、パケットを形成し、ネ
ットワーク伝送路5に送出する。また、ネットワーク伝
送路5から受信したパケットに対しては、ヘッダ処理を
した後、受信パケットに含まれる受信データブロックを
ローカルメモリに書き込む。すなわち、上記インタフェ
ースプロセッサ104は、実施例1において図15と図
19に示した送受信動作のうち、インタフェース処理6
2Tとインタフェース処理76Rとを図24に示すが如
く、交互に実行している。
ルメモリ24に書き込まれている各送信データブロック
にヘッダを付加することにより、パケットを形成し、ネ
ットワーク伝送路5に送出する。また、ネットワーク伝
送路5から受信したパケットに対しては、ヘッダ処理を
した後、受信パケットに含まれる受信データブロックを
ローカルメモリに書き込む。すなわち、上記インタフェ
ースプロセッサ104は、実施例1において図15と図
19に示した送受信動作のうち、インタフェース処理6
2Tとインタフェース処理76Rとを図24に示すが如
く、交互に実行している。
【0078】このように、通信制御装置をローカルプロ
セッサとインタフェースプロセッサとで構成し、ローカ
ルプロセッサでプロトコル処理(74R,64T)と通
信制御回路ドライバ処理(72R,66T)を行い、イ
ンタフェースプロセッサで主メモリと通信制御装置との
間のインタフェース処理(76R,62T)を行うこと
により、処理を高速化することができる。
セッサとインタフェースプロセッサとで構成し、ローカ
ルプロセッサでプロトコル処理(74R,64T)と通
信制御回路ドライバ処理(72R,66T)を行い、イ
ンタフェースプロセッサで主メモリと通信制御装置との
間のインタフェース処理(76R,62T)を行うこと
により、処理を高速化することができる。
【0079】
【発明の効果】以上の説明から明らかなように、本発明
によれば、送信バッファは主計算機側で管理し、受信バ
ッファは通信制御装置側で管理するようにしているた
め、受信データの主メモリへの書き込み動作を通信制御
装置側の判断で即座に実行でき、通信制御装置の送受信
データ処理を高速化することができる。
によれば、送信バッファは主計算機側で管理し、受信バ
ッファは通信制御装置側で管理するようにしているた
め、受信データの主メモリへの書き込み動作を通信制御
装置側の判断で即座に実行でき、通信制御装置の送受信
データ処理を高速化することができる。
【図1】本発明の第1の実施例における計算機と通信制
御装置の詳細を示す図である。
御装置の詳細を示す図である。
【図2】本発明を適用するデータ通信システムの1構成
例を示す図である。
例を示す図である。
【図3】階層化通信プロトコルの1構成例を示す図であ
る。
る。
【図4】通信制御装置が備えるソフトウェアの基本構成
を示す図である。
を示す図である。
【図5】送信データと送信パケットとの関係を示す図で
ある。
ある。
【図6】送信パケットのフォーマットを示す図である。
【図7】データ送受信動作の概略を説明するための図で
ある。
ある。
【図8】主制御ブロックの構成を示す図である。
【図9】通信制御装置が備える受信処理管理テーブル2
46の構成を示す図である。
46の構成を示す図である。
【図10】通信制御装置が行なう主メモリへのデータブ
ロックの書き込み動作と制御パラメータの値との関係を
示す図である。
ロックの書き込み動作と制御パラメータの値との関係を
示す図である。
【図11】通信制御装置が備えるローカルメモリ24の
構成を示す図である。
構成を示す図である。
【図12】通信制御装置内で用いられるローカル制御ブ
ロックの構成を示す図である。
ロックの構成を示す図である。
【図13】ローカルメモリに設けられる通信プロトコル
処理用エリアの構成を示す図である。
処理用エリアの構成を示す図である。
【図14】通信制御装置が実行する通信制御動作の基本
フローチャートである。
フローチャートである。
【図15】図14における送信sub60Tの詳細を示
すフローチャートである。
すフローチャートである。
【図16】図15におけるインタフェース処理62Tの
詳細を示すフローチャートである。
詳細を示すフローチャートである。
【図17】図15における通信プロトコル処理64Tの
詳細を示すフローチャートである。
詳細を示すフローチャートである。
【図18】図15における通信制御回路ドライバ処理6
6Tの詳細を示すフローチャートである。
6Tの詳細を示すフローチャートである。
【図19】図14における受信sub70Rの内容を示
すフローチャートである。
すフローチャートである。
【図20】図19における通信制御回路ドライバ処理7
2Rの詳細を示すフローチャートである。
2Rの詳細を示すフローチャートである。
【図21】図19における通信プロトコル処理74Rの
詳細を示すフローチャートである。
詳細を示すフローチャートである。
【図22】図19におけるインタフェース処理76Rの
詳細を示すフローチャートである。
詳細を示すフローチャートである。
【図23】本発明の第2の実施例における通信制御装置
の構成を示すブロック図である。
の構成を示すブロック図である。
【図24】上記第2の実施例においてインタフェースプ
ロセッサ104が実行する制御動作を示すフローチャー
トである。
ロセッサ104が実行する制御動作を示すフローチャー
トである。
1A,1B,1C…計算機 4A,4B,4C…通信制御装置 B1,B2,Bn…データブロック 30−1,30−2,30−n…パケット 40T1〜40Tm…主制御ブロック 40T…複数の主制御ブロックを記憶するための領域 40R1〜40Rn…主制御ブロック 40R…複数の主制御ブロックを記憶するための領域 41T1〜41Tm…送信バッファエリア 41T…送信データを記憶するための領域 41R1〜41Rn…受信バッファエリア 41R…受信データを記憶するための領域 50T…ローカル制御ブロック 50R…ローカル制御ブロック 247T1,247Tm…送信データ 247T…ローカル送信バッファエリア 247R1,247Rn…受信データ 247R…ローカル受信バッファエリア
───────────────────────────────────────────────────── フロントページの続き (72)発明者 福澤 淳二 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 寺田 松昭 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (56)参考文献 特開 平1−194547(JP,A) 特開 平2−55444(JP,A) 特開 昭63−222544(JP,A) 特開 昭63−275239(JP,A) 特開 昭59−3622(JP,A) 特開 昭62−108640(JP,A) 特開 昭61−170163(JP,A) 特開 昭63−217457(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04L 29/00 H04L 13/08 H04L 12/00
Claims (5)
- 【請求項1】通信路と、主メモリを備える計算機とに接
続され、 通信路との接続回路である通信制御回路と、前記通信制
御回路が受信した受信パケットについてプロトコル処理
を行う手段とを備える通信制御装置であって、前記主メ
モリ中に設けられた受信バッファへの書き込みアドレス
の保持と、更新と、指示とを行う受信バッファアドレス
管理手段と、 前記プロトコル処理を行う手段の処理により前記受信パ
ケットから生成されたデータを、前記受信バッファアド
レス管理手段の指示に従って前記計算機の前記受信バッ
ファへ書き込むデータ書き込み手段と、 前記データが書き込まれた前記受信バッファのアドレス
を前記計算機に通知するアドレス通知手段と、 を備える通信制御装置。 - 【請求項2】請求項1記載の通信制御装置において、 前記受信バッファアドレス管理手段は、前記受信パケッ
トからのデータ生成により、一つのメッセージ組み立て
が完了するか否かを管理し、 前記アドレス通知手段は、前記一つのメッセージの組み
立てが完了するデータを前記受信バッファへ書き込んだ
ときに、前記アドレスの通知を行うものである通信制御
装置。 - 【請求項3】請求項1または2に記載の通信制御装置に
おいて、 前記受信バッファアドレス管理手段は、複数の前記受信
バッファ各々の書き込みアドレスを管理し、 前記複数の受信バッファ各々を、一つのコネクションに
割り当てて管理する通信制御装置。 - 【請求項4】請求項3に記載の通信制御装置において、 前記受信バッファアドレス管理手段は、管理テーブルを
備え、前記複数の受信バッファ各々について、受信バッ
ファ先頭アドレス、受信バッファ長、トランスポートコ
ネクション識別子、書き込みポインタを管理し、 前記プロトコル処理を行う手段は、前記通信路からパケ
ットを受信し、ヘッダ処理を行う際にヘッダからトラン
スポートコネクション識別子を抽出する手段を備え、 前記データ書き込み手段は、前記管理テーブルに管理さ
れるトランスポートコネクション識別子に対応する、い
ずれかの前記受信バッファの書き込みポインタヘ受信デ
ータを書き込む通信制御装置。 - 【請求項5】請求項1ないし4いずれか一に記載の通信
制御装置であって、 第一のプロセッサと第二のプロセッサを有し、 前記第一のプロセッサは、前記プロトコル処理を行う手
段を制御し、 前記第二のプロセッサは、前記受信バッファアドレス管
理手段と、前記データ書き込み手段と、前記アドレス通
知手段とを制御する通信制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP252291A JP3278852B2 (ja) | 1991-01-14 | 1991-01-14 | 通信制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP252291A JP3278852B2 (ja) | 1991-01-14 | 1991-01-14 | 通信制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04241541A JPH04241541A (ja) | 1992-08-28 |
JP3278852B2 true JP3278852B2 (ja) | 2002-04-30 |
Family
ID=11531712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP252291A Expired - Fee Related JP3278852B2 (ja) | 1991-01-14 | 1991-01-14 | 通信制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3278852B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3356110B2 (ja) | 1999-04-21 | 2002-12-09 | 日本電気株式会社 | 機能拡張システム及びそれに用いるデータ転送方法 |
AU2004300958A1 (en) * | 2003-08-13 | 2005-02-24 | Qualcomm, Incorporated | A signal interface for higher data rates |
JP5847013B2 (ja) * | 2012-05-10 | 2016-01-20 | 株式会社日立製作所 | 計算機及び計算機における入出力制御方法 |
-
1991
- 1991-01-14 JP JP252291A patent/JP3278852B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04241541A (ja) | 1992-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8700724B2 (en) | System and method for transferring data over a remote direct memory access (RDMA) network | |
JP4624110B2 (ja) | 2つまたはそれ以上の機械の間でデータベース動作を行なうための直接メモリアクセスの用法 | |
JP3364587B2 (ja) | 通信システムで比較的大きなデータ・オブジェクトの伝送を制御するシステムと方法 | |
CN106411767B (zh) | 通过远程直接存储器访问的传输操作的方法、***和介质 | |
JPH10301871A (ja) | 通信システムで比較的大きなデータ・オブジェクトの伝送を制御するシステムと方法 | |
CN106598752B (zh) | 远程零拷贝方法 | |
US20110153780A1 (en) | Apparatus and methods for handling network file operations over a fibre channel network | |
JP2001024733A (ja) | データ伝送装置 | |
US6009471A (en) | Server system and methods for conforming to different protocols | |
US6047340A (en) | Method for transmitting data, and apparatus for transmitting data and medium | |
CN113127139B (zh) | 一种基于数据面开发套件dpdk的内存分配方法和装置 | |
JP3278852B2 (ja) | 通信制御装置 | |
EP1253520B1 (en) | Apparatus for issuing command for high-speed serial interface | |
JP2001202345A (ja) | 並列プロセッサ | |
JPH07111697B2 (ja) | 高速通信バッファリング制御方法 | |
JP2697588B2 (ja) | 通信タスク管理方式 | |
JPH11149455A (ja) | メモリディスク共有方法及びその実施装置 | |
KR100551171B1 (ko) | 디지털 이동통신 시스템의 프로세서간 패킷 통신에서 패킷 수신 처리 방법 | |
JP2821205B2 (ja) | 通信プロトコル高速処理方法 | |
JP3058010B2 (ja) | プロセッサ間通信方法及び装置 | |
JP2665185B2 (ja) | データ送信システム | |
JPH06244902A (ja) | 通信制御装置 | |
JPH03294949A (ja) | 高速通信バスウインド制御装置 | |
JPH0974410A (ja) | 通信中継装置 | |
JPH11353249A (ja) | ファイルシステムおよびファイル転送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |