JP3278852B2 - Communication control device - Google Patents

Communication control device

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
Application number
JP252291A
Other languages
Japanese (ja)
Other versions
JPH04241541A (en
Inventor
美加 水谷
哲彦 平田
淳二 福澤
松昭 寺田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP252291A priority Critical patent/JP3278852B2/en
Publication of JPH04241541A publication Critical patent/JPH04241541A/en
Application granted granted Critical
Publication of JP3278852B2 publication Critical patent/JP3278852B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、通信制御方法及び通信
制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a communication control method and a communication method.
It relates to a control device.

【0002】[0002]

【従来の技術】計算機が、他の計算機、あるいは端末装
置と通信する場合、計算機は通信制御装置を介してネッ
トワーク伝送路と接続される。この場合、計算機と通信
制御装置との間で行われるデータ送受信としては、例え
ば、計算機から通信制御装置へのサービス要求(例え
ば、データ送信要求)、上記サービス要求に対する通信
制御装置から計算機への終了報告、通信制御装置から計
算機へのイベント報告(例えば、データ受信報告)、上
記イベント報告に対する計算機から通信制御装置への受
信通知がある。
2. Description of the Related Art When a computer communicates with another computer or a terminal device, the computer is connected to a network transmission line via a communication control device. In this case, the data transmission and reception performed between the computer and the communication control device include, for example, a service request (for example, a data transmission request) from the computer to the communication control device, and an end from the communication control device to the computer in response to the service request. There are a report, an event report (for example, a data reception report) from the communication control device to the computer, and a reception notification from the computer to the communication control device for the event report.

【0003】計算機がデータを送信する場合、計算機は
主メモリ上に予め割り当てられている送信バッファ領域
に送信データを書き込み、通信制御装置に送信要求を出
す。このデータ送信要求を受けた通信制御装置は主メモ
リから送信データを読み出し、ヘッダ作成等のプロトコ
ル処理を施した後、伝送路に送出する。一方、伝送路か
らデータを受信すると、通信制御装置は、上記主メモリ
上に予め割り当てられている受信バッファ上に受信デー
タを書き込み、計算機に対してデータが受信されたこと
を示すイベント報告を出す。
When a computer transmits data, the computer writes transmission data in a transmission buffer area previously allocated on a main memory and issues a transmission request to a communication control device. Upon receiving this data transmission request, the communication control device reads out the transmission data from the main memory, performs a protocol process such as creating a header, and sends it out to the transmission path. On the other hand, when receiving data from the transmission path, the communication control device writes the received data on a reception buffer allocated in advance on the main memory, and issues an event report to the computer indicating that the data has been received. .

【0004】上記主メモリからの送信デ−タの読み出し
と、主メモリへの受信デ−タの書き込みは、ダイレクト
・メモリ・アクセス・コントロ−ラ(DMAC)によ
り、行なわれる。
Reading of transmission data from the main memory and writing of reception data to the main memory are performed by a direct memory access controller (DMAC).

【0005】また、上記データ送信要求やイベント報告
は、例えば、送受信データの書き込みアドレス、データ
の長さ、およびコマンドコードを含む制御データブロッ
ク(以下、制御ブロックと言う)を主メモリ上の情報交
換エリアに書き込み、この制御ブロックのアドレスを相
手側(計算機または通信制御装置)に教える形式で行わ
れる。
[0005] In addition, the data transmission request and the event report include, for example, a control data block (hereinafter, referred to as a control block) including a write address of transmission / reception data, a data length, and a command code. This is performed in a format in which the address is written to the area and the address of the control block is notified to the other party (computer or communication control device).

【0006】尚、この主の計算機間のデ−タ通信方式
は、例えば特開昭63−266948号公報に記載され
ている。
The data communication system between the main computers is described, for example, in Japanese Patent Application Laid-Open No. 63-266948.

【0007】[0007]

【発明が解決しようとする課題】然るに、従来のデータ
送受信方式によれば、主メモリ上に設けられる上述した
送受信データのバッファエリアの管理、および制御ブロ
ックの書き込みエリアの管理は、計算機側において行わ
れている。例えば、通信制御装置が受信データを主メモ
リ上の受信バッファに書き込む場合、計算機が空き状態
にある受信バッファと制御ブロック書き込みエリアと
を、その都度通信制御装置に通知し、この通知を受けて
から通信制御装置が受信データの書き込み動作を開始す
るようにしている。
According to the conventional data transmission / reception system, however, the management of the above-mentioned buffer area for transmission / reception data provided on the main memory and the management of the write area of the control block are performed on the computer side. Have been done. For example, when the communication control device writes the received data to the reception buffer on the main memory, the computer notifies the communication control device of the empty reception buffer and the control block writing area each time, and after receiving this notification, The communication control device starts the write operation of the received data.

【0008】すなわち、従来は、通信制御装置が一方的
にイベント報告を行うことはできず、また上述した受信
バッファエリアや制御ブロックエリアの通知のための交
信オーバーヘッドが生ずるため、データの送受信処理を
高速に行うことができなかった。
That is, conventionally, the communication control apparatus cannot unilaterally report an event, and the communication overhead for notifying the reception buffer area and the control block area is generated. Could not do it fast.

【0009】[0009]

【課題を解決するための手段】上記目的を達成するため
に、本発明のデータ送受信方式は、主メモリ上に送信バ
ッファエリアと受信バッファエリアを割り当て、主計算
機が送信データを上記送信バッファエリアに書き込み、
通信制御装置が上記送信バッファエリアから読み出した
送信データをパケット化して通信路に送出し、上記通信
路から受信したパケットに含まれるデータを上記通信制
御装置が上記受信バッファエリアに書きこみ、これを上
記計算機が処理するようにした通信システムにおいて、
上記主メモリ上の送信バッファの空き領域管理は上記主
計算機が行い、上記主メモリ上の受信バッファの空き領
域管理は上記通信制御装置が行うようにしたことを特徴
とする。
In order to achieve the above object, a data transmission / reception system of the present invention allocates a transmission buffer area and a reception buffer area on a main memory, and a main computer stores transmission data in the transmission buffer area. writing,
The communication control device packetizes the transmission data read from the transmission buffer area and sends it out to the communication path, and the communication control device writes the data included in the packet received from the communication path into the reception buffer area, and writes the data into the reception buffer area. In the communication system processed by the computer,
The management of the free area of the transmission buffer on the main memory is performed by the main computer, and the management of the free area of the reception buffer on the main memory is performed by the communication control device.

【0010】上記主メモリの受信バッファエリアとして
は、例えば、複数コネクション分の受信バッファを形成
できるメモリ容量が割り当てられ、これが予め通信制御
装置に通知される。
[0010] For example, a memory capacity capable of forming a reception buffer for a plurality of connections is allocated to the reception buffer area of the main memory, and this is notified to the communication control device in advance.

【0011】通信制御装置は、例えば、上記受信バッフ
ァエリアへのデータ書き込み制御のためのパラメータを
コネクション対応に記憶するための管理テーブル手段を
備える。通信路からパケットが受信されたとき、通信制
御装置は、受信パケットに含まれるコネクション識別子
に基づいて上記管理テーブルを参照し、上記受信パケッ
トから抽出された受信データを上記コネクション識別子
と対応する受信バッファエリア内の既受信データ記憶領
域に続く位置に書き込むことにより、複数パケットに分
割して送られてきた受信データを、上記主メモリ上でリ
アセンブルするよう動作する。
The communication control device includes, for example, a management table means for storing parameters for controlling data writing to the reception buffer area in connection with the connection. When a packet is received from the communication path, the communication control device refers to the management table based on the connection identifier included in the received packet, and stores the reception data extracted from the received packet in the reception buffer corresponding to the connection identifier. By writing the received data in the area subsequent to the already received data storage area, the received data divided into a plurality of packets and sent is reassembled on the main memory.

【0012】また、上記通信制御装置は、複数パケット
に分割して送信されたデータ、或は単一パケットとして
送信されたデータについてのリアセンブル終了の都度、
通信制御装置から主計算機にデータ受信を通知する。
[0012] Further, each time the reassembly of data transmitted in a state of being divided into a plurality of packets or data transmitted as a single packet is terminated,
The communication control device notifies the main computer of data reception.

【0013】上記データ受信の通知は、例えば、データ
受信を示すコードと、受信データの長さと、その書き込
みアドレスを含む制御情報ブロックを主メモリ上に書き
込むことにより行なう。この場合、通信制御装置が、各
制御情報ブロックの主メモリ上での書き込みアドレスを
主計算機に伝え、主計算機が、該アドレスに基づいて制
御情報ブロックを読み出し、更に上記制御情報ブロック
に含まれる書き込みアドレスに基づいて受信データをア
クセスするようにしてもよい。
The notification of the data reception is performed, for example, by writing a control information block including a code indicating the data reception, the length of the received data, and the write address of the data in the main memory. In this case, the communication control device informs the main computer of the write address of each control information block on the main memory, the main computer reads the control information block based on the address, and further writes the control information block included in the control information block. The received data may be accessed based on the address.

【0014】上記通信制御装置は、上述した主メモリと
の間の送受信データの読み出し、書き込み動作の他に、
送信データ用ヘッダの作成、あるいは受信データに付さ
れたヘッダ解析の動作(プロトコル処理)を行う。これ
らの動作は、1つのプロセッサにより行なわせてもよい
が、処理を高速化するために複数のプロセッサを用いる
こともできる。
[0014] The communication control device may read and write data to and from the main memory as described above.
An operation (protocol processing) of creating a header for transmission data or analyzing a header attached to reception data is performed. These operations may be performed by one processor, but a plurality of processors may be used to speed up processing.

【0015】例えば、通信制御装置を第1,第2のプロ
セッサで構成し、第1のプロセッサで主メモリとの間の
データ送受信を行い、第2のプロセッサでプロトコル処
理を行なうことにより、処理を高速化することができ
る。
For example, the communication control device is composed of first and second processors, the first processor transmits and receives data to and from the main memory, and the second processor performs protocol processing, thereby performing processing. Speed can be increased.

【0016】[0016]

【作用】本発明によれば、主メモリ上の送信バッファエ
リアは主計算機で管理し、受信バッファエリアは通信制
御装置で管理するようにしているため、伝送路からデー
タが受信されたとき、このデータを書き込むための受信
バッファを通信制御装置で独自に決めることができる。
また、計算機と通信制御装置との間の無駄な交信がなく
なり、特に受信処理を高速化することができる。
According to the present invention, the transmission buffer area on the main memory is managed by the main computer, and the reception buffer area is managed by the communication control device. The reception buffer for writing data can be independently determined by the communication control device.
Further, useless communication between the computer and the communication control device is eliminated, and the speed of reception processing can be particularly increased.

【0017】[0017]

【実施例】(実施例1)本発明の第1の実施例を、図1
から図22を参照して説明する。
(Embodiment 1) A first embodiment of the present invention is shown in FIG.
Will be described with reference to FIG.

【0018】図2は、本発明を適用するデータ通信シス
テムの1構成例を示す。このシステムは、複数の計算機
1(1A〜1C)から構成され、各計算機は通信制御装
置4(4A〜4C)を介してネットワーク伝送路5に接
続されている。
FIG. 2 shows a configuration example of a data communication system to which the present invention is applied. This system includes a plurality of computers 1 (1A to 1C), and each computer is connected to a network transmission line 5 via a communication control device 4 (4A to 4C).

【0019】図1は、計算機1と通信制御装置4の詳細
を示すブロック図である。
FIG. 1 is a block diagram showing details of the computer 1 and the communication control device 4.

【0020】計算機1は、主プロセッサ10と主メモリ
11とからなり、計算機システムバス2を介して通信制
御装置4に接続されている。
The computer 1 comprises a main processor 10 and a main memory 11, and is connected to the communication control device 4 via the computer system bus 2.

【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を経て伝えられる。
The communication control device 4 includes the local processor 2
5, a local memory 24, a communication control circuit 26 connected to the network transmission path 5, and a direct memory
It comprises an access controller (DMAC) 20 and a local bus 23 connecting them, and a bus interface 2 is provided between the system bus 2 and the local bus 23.
1, a first FIFO 22T used for transmitting control information from the computer 1 to the communication control device 4, and a second FIFO 22R used for transmitting control information in the opposite direction. The DMAC 20 allows the local memory 24
When performing data transfer between the information exchange area 12 and the
Control signals and address signals issued from C20 to the computer-side bus arbiter 3 and the main memory 11 are transmitted via the local bus 23, the bus interface 21, and the computer system bus 2 in the same manner as the data path.

【0022】また、通信制御回路26は、ネットワーク
伝送路5との間で信号の送受信を行うMODEM29
と、上記ローカルバス23とMODEM29との間に接
続されたDMACとからなる。
The communication control circuit 26 is a modem 29 for transmitting and receiving signals to and from the network transmission line 5.
And a DMAC connected between the local bus 23 and the MODEM 29.

【0023】尚、複数のプロセッサ、或はDMACによ
るバス使用の競合を避けるために、上記システムバス2
とローカルバス23にそれぞれバスアービタ3と5が設
けてある。
In order to avoid contention for bus use by a plurality of processors or DMACs, the system bus 2
And the local bus 23 are provided with bus arbiters 3 and 5, respectively.

【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が適
用されるものとする。
FIG. 3 shows a configuration example of a hierarchical communication protocol applied to the inter-computer communication of FIG. The communication protocol is from the lower layer, physical layer L1, MAC layer L2, L
The communication controller 4 includes an LC layer L2 ', a network layer L3, a transport layer L4, a session layer L5, a presentation layer L6, and an application layer L7. The communication control device 4 performs communication protocol processing for the transport layer L4 and lower. In the following embodiment, class 4 (TP
4) The connection type protocol (CLNP) is applied to the network layer L3, and LLC type 1 is applied to the LLC layer L2 '.

【0025】図4は、ローカルプロセッサ25で実行す
るソフトウェアの基本構成を示す図である。ローカルプ
ロセッサ25が実行するソフトウェアは、計算機1との
間のインタフェース処理を行うインタフェース処理部1
00と、通信フレームのヘッダを処理する通信プロトコ
ル処理部200と、通信制御回路26との間のインタフ
ェース処理を行う通信制御回路ドライバ部300とから
構成される。通信プロトコル処理部200は、図3に示
した階層化通信プロトコルのレイヤL4〜L2に対応し
て、TP4処理部210,CLNP処理部220,LL
C処理230,MAC処理部240からなっている。
FIG. 4 is a diagram showing a basic configuration of software executed by the local processor 25. The software executed by the local processor 25 is an interface processing unit 1 that performs an interface process with the computer 1.
00, a communication protocol processing unit 200 that processes a header of a communication frame, and a communication control circuit driver unit 300 that performs an interface process with the communication control circuit 26. The communication protocol processing unit 200 corresponds to the layers L4 to L2 of the hierarchical communication protocol shown in FIG.
It comprises a C processing 230 and a MAC processing unit 240.

【0026】図5は、計算機1が扱う送信データDAT
Aと、伝送路5に送信されるパケット30との関係を示
す。送信データDATAは、複数のデータブロックB1
〜Bnに分割(セグメンテーション)され、複数のパケ
ット30−1〜30−nとして伝送路上に送出される。
各パケット30は、ヘッダ部31と、上記データブロッ
クを含むデータ部32と、パケット先頭に位置する同期
ビット33と、パケットの最後に位置するフレーム・チ
ェック・シーケンス(FCS)部34とからなる。
FIG. 5 shows transmission data DAT handled by the computer 1.
4 shows a relationship between A and a packet 30 transmitted to the transmission path 5. The transmission data DATA includes a plurality of data blocks B1.
.. Bn (segmentation) and sent out on the transmission path as a plurality of packets 30-1 to 30-n.
Each packet 30 includes a header section 31, a data section 32 including the data block, a synchronization bit 33 located at the head of the packet, and a frame check sequence (FCS) section located at the end of the packet.

【0027】本明細書では、1つのメッセージあるいは
送信データが、上述したように複数のブロックに分割し
て送信されるとき、先頭のデータブロックB1を含むパ
ケット30−1を先頭パケット(FIRST)、最後の
データブロックBnを含むパケットBnを含むパケット
30−nを最終パケット(LAST)、中間のデータブ
ロックB2〜Bn−1を含むパケットを次パケット(N
EXT)と呼ぶことにする。尚、送信データが上記固定
長以下の場合、1つの送信データ全体が1つのパケット
として送信される。このパケットを単一パケット(SI
NGLE)と称することにする。
In this specification, when one message or transmission data is divided into a plurality of blocks and transmitted as described above, the packet 30-1 including the first data block B1 is divided into a first packet (FIRST), The packet 30-n including the packet Bn including the last data block Bn is the last packet (LAST), and the packet including the intermediate data blocks B2 to Bn-1 is the next packet (N
EXT). When the transmission data is shorter than the fixed length, one transmission data as a whole is transmitted as one packet. This packet is converted into a single packet (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とを含んでいる。
FIG. 6 shows details of the packet format. The header section 31 includes a MAC header 35, an LLC header 36, a CLNP header 37, and a TP4 header 38. The MAC header 35 includes a destination address (DA) 35A and a source address (S
A) It includes 35B and data length 35C. Also, T
The P4 header section 38 has a header length 38A and a DT code 3
8B, the other party's reference 38C, and the sequence number 3
8D and EOT bit 38E.

【0029】上記EOTビット38Eには、単一パケッ
トと最終パケットの場合は“1”、それ以外(次パケッ
ト)の場合は“0”が設定される。
The EOT bit 38E is set to "1" for a single packet and the last packet, and "0" for other (next packet).

【0030】図7は、計算機1と通信制御装置4との間
で行うデータの送受信動作の概略を説明するための図で
ある。
FIG. 7 is a diagram for explaining the outline of the data transmission / reception operation performed between the computer 1 and the communication control device 4.

【0031】主メモリ上の情報交換エリア12は、計算
機1から通信相手装置に送出すべき送信データを記憶す
るための領域41Tと、相手装置からの受信データを記
憶するための領域41Rと、計算機1から通信制御装置
4にサービス要求内容を知らせるための制御ブロックを
記憶するための領域40Tと、通信制御装置4から計算
機1にイベント報告内容を知らせるための制御ブロック
を記憶するための領域41Rとからなっている。
The information exchange area 12 on the main memory includes an area 41T for storing transmission data to be transmitted from the computer 1 to the communication partner device, an area 41R for storing reception data from the partner device, and a computer 41. An area 40T for storing a control block for notifying the communication control device 4 of the service request content from the communication control device 1 and an area 41R for storing a control block for notifying the computer 1 of the event report content from the communication control device 4 Consists of

【0032】上記送信データ領域41Tと受信データ領
域41Rは、それぞれコネクション対応の複数のバッフ
ァエリア(送信バッファエリア41T1〜41Tm,受
信バッファエリア41R1〜41Rn)を有し、上記制
御ブロック領域40Tと40Rは、それぞれ複数個の制
御ブロックを記憶できるメモリ容量をもつ。
Each of the transmission data area 41T and the reception data area 41R has a plurality of buffer areas (transmission buffer areas 41T1 to 41Tm and reception buffer areas 41R1 to 41Rn) corresponding to connections, respectively. , Each having a memory capacity capable of storing a plurality of control blocks.

【0033】尚、本明細書では、後述するローカルメモ
リ24に記憶される通信制御装置用の制御ブロック(例
えば50T,50R)との区別のために、上記主メモリ
上の情報交換エリアに記憶される制御ブロックを「主制
御ブロック」、ローカルメモリ上に記憶される制御ブロ
ックを「ローカル制御ブロック」と呼ぶことにする。計
算機から或る装置宛にデータを送信する場合、計算機1
は、空き状態の送信バッファエリア41Tiに送信デー
タを書き込み、上記送信バッファエリアの先頭位置を示
すアドレスをポインタアドレスとして含む主制御ブロッ
ク40Tiを生成し、これをメモリ領域40Tに書き込
み、上記主制御ブロック40Tiの先頭を示すアドレス
Aiを第1のFIFO22Tにセットする。上記主制御
ブロック40Tiには、第8図に示す如く、上記送信デ
ータのポインタアドレス406の他に、コマンドコード
400、コネクションID402、宛先アドレス40
4、および上記送信データの長さ408が含まれる。
In the present specification, the information is stored in an information exchange area on the main memory to distinguish it from a control block (for example, 50T, 50R) for a communication control device stored in a local memory 24 described later. This control block is called a “main control block”, and the control block stored in the local memory is called a “local control block”. When data is transmitted from a computer to a certain device, the computer 1
Writes the transmission data in the empty transmission buffer area 41Ti, generates a main control block 40Ti including an address indicating the head position of the transmission buffer area as a pointer address, writes this in the memory area 40T, and writes the main control block 40Ti to the main control block. An address Ai indicating the head of 40Ti is set in the first FIFO 22T. As shown in FIG. 8, the main control block 40Ti includes a command code 400, a connection ID 402, and a destination address 40 in addition to the pointer address 406 of the transmission data.
4, and the length 408 of the transmission data.

【0034】通信制御装置4は、上記第1FIFO22
Tに設定されているアドレスを順次に取り出し、このア
ドレスに基づいて主メモリ11をアクセスし、主制御ブ
ロック40Tiの内容を読み出す。コマンドコード40
0がデータ送信要求を示している場合、ポインタアドレ
ス406には、送信すべきデータを含むバッファエリア
の先頭アドレスが書き込まれている。
The communication control device 4 includes the first FIFO 22
The addresses set in T are sequentially taken out, the main memory 11 is accessed based on this address, and the contents of the main control block 40Ti are read. Command code 40
When 0 indicates a data transmission request, the head address of the buffer area including the data to be transmitted is written in the pointer address 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に引き渡す。
The communication controller 4 gives the pointer address 406 and the data length 408 to the DMAC, and stores the transmission data in the transmission buffer area 247Tj on the local memory.
To make a DMA transfer. These operations for accessing the main memory are performed by the interface processing unit 100 shown in FIG. When the transmission data is read into the transmission buffer area on the local memory, the interface processing unit 100 divides the transmission data into a plurality of data blocks, and the communication protocol processing unit 200 transmits each data block according to the contents of the main control block. To the header 31.
The destination address 404 of the main control block contains N of the destination device.
The SAP address is specified, and the NSAP address itself is set in a part of the CLNP header 37, and the NSAP address
The MAC address as a part is set in the MAC header 35. Also, the connection ID 402 of the main control block
Is the connection ID (counterpart reference) 38C of the counterpart notified from the counterpart device when the connection is established.
Is set in the header part in the form converted to. When the header processing is completed, the communication control circuit driver unit 300 delivers each packet to the communication control circuit 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が管理する。
When the DMA transfer is completed, the communication control device 4 sets the start address Ai of the main control block 40Ti corresponding to the transmission buffer 41Ti to the second FIFO to notify the computer 1 of the release of the transmission buffer 41Ti.
Set to O22R. The FIFO 22R is for setting an address of an event report from the communication control device 4 to the computer 1, mainly for setting an address of a main control block for notifying reception of data. The computer 1 sequentially extracts addresses from the FIFO, and To access the main control block based on When the address Ai is extracted from the FIFO 22T and the main control block 40Ti is accessed, the computer can determine from the contents of the main control block that the transmission data buffer 41Ti has been released. These buffer areas 41Ti to 4Ti for data transmission
The computer 1 manages the 1Tm and the empty / busy state of the main control blocks 40Ti to 40Tm using a management table provided on a main memory (not shown).

【0037】次に、通信制御装置4から計算機1へのイ
ベント報告動作について説明する。本発明では、イベン
ト報告用の主制御ブロックと受信データの格納に用いる
主メモリ上のエリアの管理を通信制御装置側で行なうこ
とを1つの特徴としている。イベント報告用の複数の主
制御ブロックを書きこむための領域40Rと、受信デー
タ領域41Rが、予め計算機1によって主メモリ上に割
り当てられ、通信制御装置4に通知されている。通信制
御装置4は、これらの領域40R,41Rの空塞状態を
図9に示すローカルメモリ24上に設けた制御ブロック
管理テーブル245と受信処理管理テーブル246によ
り管理しながら、伝送路5からの受信データ、および通
信制御装置で生成した主制御ブロックの主メモリへの書
き込み動作を行う。上記受信データ領域41Rは、複数
の受信バッファエリア41R1〜41Rmからなり、こ
れらの受信バッファはコネクション対応に1つずつ割り
当てられて、これを利用してコネクション毎の受信パケ
ットを元のデータ(メッセージ)に組立てるアセンブリ
ング処理が行われる。
Next, an operation of reporting an event from the communication control device 4 to the computer 1 will be described. One feature of the present invention is that the communication control device manages an area on a main memory used for storing a main control block for event reporting and received data. A region 40R for writing a plurality of main control blocks for event reporting and a reception data region 41R are allocated in the main memory by the computer 1 in advance, and are notified to the communication control device 4. The communication control device 4 receives the data from the transmission line 5 while managing the empty / busy state of these areas 40R and 41R by using the control block management table 245 and the reception processing management table 246 provided on the local memory 24 shown in FIG. The data and the main control block generated by the communication control device are written into the main memory. The reception data area 41R is composed of a plurality of reception buffer areas 41R1 to 41Rm. These reception buffers are assigned one by one corresponding to the connection, and the reception buffer is used to convert the reception packet for each connection to the original data (message). Is carried out.

【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となる。
When a received packet from the transmission line 5 is input to the local memory 24 via the communication control circuit 26, the local processor 25 can identify the connection by the reference 38C of the received packet. Also,
The local processor stores the state of the reassembly operation corresponding to the connection, and determines the type of the received packet from the state identifier (hereinafter, simply referred to as status) and the EOT bit 38E included in the received packet. (SINGLE, FIRST, NEXT, LAS
T) can be determined. For example, the status is "1" when a message or original data is being reassembled, and "0" otherwise. In this case, if the status is "0" and the EOT bit of the received packet is "0", the FIRST and EOT bits are "1".
If the status is "1" and the EOT bit is "0", the status is NEXT. If the EOT bit is "1", the status is LAST.

【0039】パケットが受信され、ヘッダ処理が終わる
と、インタフェース部100により、受信パケットのデ
ータ部32が、受信パケットのコネクションと対応する
受信バッファ40Riに書き込まれる。上記受信パケッ
トの種類がFIRST、あるいはNEXTの場合は、計
算機への通知は行われず、SINGLE、またはLAS
Tのパケットが受信された時、受信バッファのデータ書
き込みに続いて、データの受信通知のための主制御ブロ
ックがメモリ領域40Rの空きエリアに書き込まれ、こ
の主制御ブロックの先頭アドレスBiが第2のFIFO
22Rに設定される。
When the packet is received and the header processing is completed, the data unit 32 of the received packet is written by the interface unit 100 into the reception buffer 40Ri corresponding to the connection of the received packet. If the type of the received packet is FIRST or NEXT, no notification is made to the computer, and SINGLE or LAS is not sent.
When the packet of T is received, following the writing of the data in the receiving buffer, a main control block for notifying the reception of data is written in the empty area of the memory area 40R, and the head address Bi of this main control block is set to the second address. FIFO
22R is set.

【0040】計算機は、第2のFIFO22Rから取り
出したアドレスに基づいて、主制御ブロックと受信デー
タ(メッセージ)の読み取りを行う。計算機による受信
データの読み取りが行われる前に、同一のコネクション
にその後の別のメッセージを構成するパケットが受信さ
れる場合がある。この場合、もし、受信バッファに空き
領域があれば、データブロックの書き込みが行われ、空
き領域がなければ、このデータブロックは、ローカルメ
モリ側の受信バッファに一時的に蓄積される。上述した
受信バッファの管理のために、本発明では、例えば、図
9に示す受信処理管理テーブル246を用いる。
The computer reads the main control block and the received data (message) based on the address extracted from the second FIFO 22R. Before the reception data is read by the computer, a packet constituting another message may be received on the same connection in some cases. In this case, if there is a free space in the reception buffer, the data block is written. If there is no free space, this data block is temporarily stored in the reception buffer on the local memory side. In order to manage the reception buffer described above, in the present invention, for example, a reception processing management table 246 shown in FIG. 9 is used.

【0041】受信処理管理テーブル246は、図9に示
すが如く、コネクションID対応に複数個のパラメータ
を記憶している。これらのパラメータのうち、S/E
は、1つのコネクションに割り当てられた受信バッファ
41Riの先頭アドレスと最終アドレスを示し、PRは
上記受信バッファ41Riにおける受信データ(メッセ
ージ)既書込み領域の先頭アドレスを示す読出しポイン
タ、PWは上記受信データ領域に引き続いて存在する空
き領域の先頭アドレスを示す書き込みポインタを示す。
「ステータス」は、上記受信バッファ41Riが、1つ
のメッセージについてリアセンブル動作の途中状態にあ
るか、それともリアセンブル完了、あるいは開始前の状
態にあるかを示す。また、BPは、リアセンブル動作が
終了したメッセージの先頭アドレスを示すブロックポイ
ンタ、LENは上記メッセージの長さを示している。こ
れらのパラメータのうち、BPとLENとが主制御ブロ
ック中のアドレスポインタ及びデータ長となる。
As shown in FIG. 9, the reception processing management table 246 stores a plurality of parameters corresponding to connection IDs. Of these parameters, S / E
Indicates a start address and an end address of the reception buffer 41Ri assigned to one connection, PR indicates a start address of a write data (message) start area in the reception buffer 41Ri, and PW indicates a reception data area. Indicates a write pointer indicating the start address of the free area existing subsequently.
"Status" indicates whether the reception buffer 41Ri is in the middle of a reassembly operation for one message, or is in a state before reassembly is completed or before the start. BP is a block pointer indicating the start address of the message for which the reassembly operation has been completed, and LEN indicates the length of the message. Of these parameters, BP and LEN are the address pointer and data length in the main control block.

【0042】受信バッファ領域41Riへの受信データ
ブロックの書き込み動作と、上記受信処理テーブル24
6におけるパラメータの値との関係を図10を参照して
説明すると次のようになる。
The operation of writing the reception data block into the reception buffer area 41Ri and the reception processing table 24
The relationship with the parameter value in 6 will be described below with reference to FIG.

【0043】今、1つのコネクションについて最初のデ
ータブロックが受信されたと仮定すると、このとき、パ
ラメータPR,PWは初期値、すなわちバッファ領域4
1Riの先頭アドレスBiを指している。
Now, assuming that the first data block has been received for one connection, the parameters PR and PW have initial values, that is, the buffer area 4
It points to the start address Bi of 1Ri.

【0044】受信データブロックがFIRSTパケット
であったとすると、メッセージ長を示すパラメータLE
Nの値に零、また、メッセージの先頭を示すためのパラ
メータBPにPWの値が設定され、該受信データブロッ
ク(P1)が、パラメータPWが示すアドレスから始ま
る長さL0のメモリ領域にストアされる。1つのデータ
ブロックの書き込みを終了すると、PWとLENの値
が、それぞれデータブロック長L0に応じた値ずつ増加
される。
Assuming that the received data block is a FIRST packet, the parameter LE indicating the message length
Zero value of N, and the value of the PW to the parameter BP to indicate the beginning of the message is set, the received data block (P1) is stored in the memory area of length L 0, which starts from the address indicated by the parameter PW Is done. Upon completion of writing of one data block, the values of PW and LEN is increased by a value corresponding to each data block length L 0.

【0045】NEXTパケットP2〜P4、およびLAS
TパケットP5の受信時にも、上記と同様、パラメータ
PWに従ってバッファメモリへのデータ書き込みが行わ
れ、それぞれの書き込み終了時にパラメータPWとLE
Nの値が更新される。但し、LASTパケットの場合、
データ書き込みの終了時に、パラメータBPとLENの
値を含む主制御ブロックが生成され、これが主メモリ上
の受信用主制御ブロック領域に書き込まれる。
NEXT packets P 2 -P 4 and LAS
Even upon receipt of T packet P 5, similar to the above, data is written to the buffer memory in accordance with the parameter PW, the parameter PW and LE at each end of write
The value of N is updated. However, in the case of the LAST packet,
At the end of the data writing, a main control block including the values of the parameters BP and LEN is generated, and is written in the main control block area for reception on the main memory.

【0046】LASTパケットの受信処理の終了、すな
わち1つのメッセージM1についてのリアセンブル動作
が終了した後、次のFIRSTパケットP6が受信され
ると、BPとLENの値がそれぞれPWと零に初期化さ
れるため、上述したと同様のリアセンブル動作を実行で
きる。
The completion of the reception process of the LAST packet, i.e. after reassembling operation is completed for one message M1, early in the following the FIRST packet P 6 is received, BP and the values of LEN and the PW are zero Therefore, the same reassembling operation as described above can be executed.

【0047】パラメータPRの値は、計算機がメッセー
ジデータの読み取りを完了した後に、次のメッセージM
2の読み取り開始点を示すアドレスの値に更新される。
1つのバッファ領域41Riの最後のアドレス位置Bl
−1までデータの書き込みが行われると、これに続くデ
ータは、バッファ領域41Riの先頭から始まる空き領
域に書き込まれる。通信制御装置は、各バッファメモリ
領域毎に、書き込みポインタPWの値と読み出しポイン
タPRの値の関係をチェックしており、もし、PWがP
Rを追い越す場合は、空き領域が無くなったものと判断
し、当該チャネルの受信データの主メモリへの書き込み
を中止し、空き領域ができるまで、ローカルメモリ上の
バッファエリアに受信データを一時的に蓄える。
After the computer completes reading the message data, the value of the parameter PR is set to the next message M
2 is updated to the value of the address indicating the reading start point.
Last address position Bl of one buffer area 41Ri
When data is written up to -1, the subsequent data is written to a free area starting from the head of the buffer area 41Ri. The communication control device checks the relationship between the value of the write pointer PW and the value of the read pointer PR for each buffer memory area.
In the case of overtaking R, it is determined that there is no free area, writing of the received data of the channel to the main memory is stopped, and the received data is temporarily stored in the buffer area on the local memory until a free area is created. store.

【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を管理するロー
カル制御ブロック管理テーブルエリアである。
FIG. 11 shows the configuration of the local memory 24. In the figure, 241P is an interface processing program area, 242P is a communication protocol processing program area, and 243P is a communication control circuit driver program area. These programs correspond to the interface processing unit 100 and the communication protocol processing unit 20 shown in FIG.
0, corresponding to the communication control circuit driver unit 300. 244
Is a communication protocol processing area used during communication protocol processing, 245 is a main control block management table area for managing the event report main control block area 40Rn on the main memory, and 246 is a reception buffer area 41Rn on the main memory. This is a reception processing table area for management. 247T is a local transmission buffer area having a transmission data storage capacity, and 247R is a local reception buffer area having a reception data storage capacity, each having a memory capacity capable of storing a plurality of transmission or reception data (messages). 248T and 24
8R is a management table for managing the local transmission buffer and the local reception buffer (247T, 247R), respectively. Reference numeral 249 denotes an area for storing a local control block 50 used for executing communication protocol processing in the communication control device 4;
0 is a local control block management table area for managing the local control block area 249.

【0049】上記、ローカル制御ブロックの構成を図1
1に示す。ローカル制御ブロック50は、データ(メッ
セージ)送信要求、データ(メッセージ)受信報告、解
放要求などを示すコマンドコード500と、TP4コネ
クションを識別するコネクションID502と、送信先
を示すMACアドレスDA(MAC)504と、ローカ
ルメモリにおける送信あるいは受信バッファ(247
T,247R)の先頭を示すアドレス506と、送信あ
るいは受信データの長さ508と、データビット509
とを含んでいる。
FIG. 1 shows the configuration of the local control block.
It is shown in FIG. The local control block 50 includes a command code 500 indicating a data (message) transmission request, a data (message) reception report, a release request, etc., a connection ID 502 for identifying a TP4 connection, and a MAC address DA (MAC) 504 indicating a transmission destination. And a transmission or reception buffer (247) in the local memory.
T, 247R), the length 508 of the transmitted or received data, and the data bit 509.
And

【0050】図13は、通信プロトコル処理用エリア2
44の構成を示す。
FIG. 13 shows a communication protocol processing area 2
44 shows the configuration of FIG.

【0051】通信プロトコル処理用依頼プール440と
通信プロトコル処理用終了プールは、図4におけるイン
タフェース処理部100と通信プロトコル処理部200
との間で取りかわされるローカル制御ブロックのアドレ
スを格納しておくためのエリアである。また、通信制御
回路ドライバ用送信プール444Tと通信制御回路ドラ
イバ用受信プール444Rは、図4における通信プロト
コル処理部200と通信制御回路ドライバ部300との
間で取りかわされるローカル制御ブロックのアドレスを
格納しておくためのエリアである。
The communication protocol processing request pool 440 and the communication protocol processing end pool correspond to the interface processing unit 100 and the communication protocol processing unit 200 in FIG.
This is an area for storing the address of the local control block exchanged with the local control block. The communication control circuit driver transmission pool 444T and the communication control circuit driver reception pool 444R store addresses of local control blocks exchanged between the communication protocol processing unit 200 and the communication control circuit driver unit 300 in FIG. It is an area to keep.

【0052】図中、440はインタフェース処理部10
0による処理が完了し、次に通信プロトコル処理部が処
理すべき送信バッファと対をなすローカル制御ブロック
のアドレスを格納しておくためのエリア(通信プロトコ
ル処理用依頼プール)、444Tは通信プロトコル処理
部による処理が完了し、次に通信制御回路ドライバ部で
処理すべき送信バッファと対をなすローカル制御ブロッ
クのアドレスを格納しておくためのエリア(通信制御回
路ドライバ送信プール)、444Rは通信制御回路ドラ
イバ部により通信制御回路26から読み出され、次に通
信プロトコル処理部で処理すべき受信バッファと対をな
すローカル制御ブロックのアドレスを格納しておくため
のエリア(通信制御回路ドライバ受信プール)、442
は通信プロトコル処理部による処理が終了し、次にイン
タフェース処理部で主メモリに転送されるべき受信バッ
ファと対をなすローカル制御ブロックのアドレスを格納
しておくためのエリア(通信プロトコル処理終了プー
ル)である。また、446はTP4コネクションを管理
するためのテーブルエリアであり、コネクション毎に相
手レファレンス・シーケンス番号、及びEOTビットを
記憶している。
In the figure, 440 is the interface processing unit 10
0 is completed, and an area (communication protocol processing request pool) for storing an address of a local control block paired with a transmission buffer to be processed next by the communication protocol processing unit 444T is communication protocol processing Area for storing the address of the local control block paired with the transmission buffer to be processed next by the communication control circuit driver unit (communication control circuit driver transmission pool). Area for storing the address of a local control block that is read from the communication control circuit 26 by the circuit driver unit and that is to be processed next by the communication protocol processing unit (communication control circuit driver reception pool) , 442
Is an area for storing the address of the local control block paired with the receiving buffer to be transferred to the main memory by the interface processing unit after the processing by the communication protocol processing unit is completed (communication protocol processing end pool) It is. Reference numeral 446 denotes a table area for managing a TP4 connection, and stores a reference sequence number and an EOT bit for each connection.

【0053】図14は、ローカルプロセッサが実行す
る、通信制御のためのプログラムフローチャートを示
す。
FIG. 14 is a flowchart of a program for communication control, which is executed by the local processor.

【0054】通信制御では、テータ送信(サービス要
求)を行うためのルーチン(送信sub)60Tと、デ
ータ受信(イベント報告)を行うためのルーチン(受信
sub)70Tとが交互に実行される。
In the communication control, a routine (transmission sub) 60T for performing data transmission (service request) and a routine (reception sub) 70T for performing data reception (event report) are alternately executed.

【0055】図15は、送信sub60Tの内容を示
す、フローチャートである。送信sub60Tは、計算
機1とのインタフェース処理を行うルーチン62Tと、
通信プロトコル処理ルーチン64Tと、通信制御回路ド
ライバ処理ルーチン66Tとからなる。
FIG. 15 is a flowchart showing the contents of the transmission sub60T. The transmission sub60T includes a routine 62T for performing an interface process with the computer 1;
It comprises a communication protocol processing routine 64T and a communication control circuit driver processing routine 66T.

【0056】上記、インタフェース処理ルーチン62T
では図16に示すように、まず、送信方向FIFOから
主制御ブロック40のアドレスを読み出す(620)。
次に、上記主制御ブロックのコマンドコード400がデ
ータ送信要求を示しているが、送信データ(BN)がネ
ットワーク伝送路で送信可能な最大データ長(4KB)
より小さい場合、ローカルな制御ブロック50を生成
(621)する。さらに、コマンドコード500に送信
データの分割終了を示すコード(データビット=1)5
09を設定(622)する。
The above interface processing routine 62T
Then, as shown in FIG. 16, first, the address of the main control block 40 is read from the transmission direction FIFO (620).
Next, the command code 400 of the main control block indicates a data transmission request, and the transmission data (BN) is the maximum data length (4 KB) that can be transmitted on the network transmission path.
If so, a local control block 50 is generated (621). Furthermore, a code (data bit = 1) indicating the end of division of transmission data is added to the command code 500.
09 is set (622).

【0057】次に、DMAC20に対し、主メモリから
ローカルメモリへの送信バッファの読み出しを指令(6
23)する。主メモリ上の送信バッファエリアのアドレ
スは、主制御ブロックのポインタアドレスにより指定さ
れる。
Next, the DMAC 20 is instructed to read the transmission buffer from the main memory to the local memory (6).
23). The address of the transmission buffer area on the main memory is specified by the pointer address of the main control block.

【0058】DMAC20による送信バッファの読み出
し動作が完了すると、ローカルメモリにおける上記送信
バッファエリアのポインタアドレスを、ローカル制御ブ
ロック50のフィールド506に設置し、ローカル制御
ブロックのアドレスを通信プロトコル処理用ローカル制
御ブロック依頼プール440へ登録する(624)。次
に、計算機1へ上記サービス要求に対する終了報告を行
うために、主制御ブロック40Tのコマンドコード40
0を解放要求を示すコードに書き換え(625)、上記
主制御ブロックのアドレスを受信方向FIFO22Rに
登録する(626)。
When the read operation of the transmission buffer by the DMAC 20 is completed, the pointer address of the transmission buffer area in the local memory is set in the field 506 of the local control block 50, and the address of the local control block is set to the local control block for communication protocol processing. It is registered in the request pool 440 (624). Next, the command code 40 of the main control block 40T is sent to the computer 1 to notify the end of the service request.
0 is rewritten to a code indicating a release request (625), and the address of the main control block is registered in the reception direction FIFO 22R (626).

【0059】主制御ブロック40のコマンドコード40
0がデータ送信要求を示しているが、送信データが4K
Bより大きい場合、送信データを4KBごとに分割し
て、通信プロトコル処理部へ送信処理を引き渡す。ま
ず、ローカルな制御ブロック50を生成し(627)、
ローカルな制御ブロックのコマンドコードに送信データ
が分割中(データビット=0)であることを示すコード
を設定し(628)、DMACに主メモリからローカル
メモリへの送信データ4KB分の読みだしを指令する
(629)。
Command code 40 of main control block 40
0 indicates a data transmission request, but the transmission data is 4K
If it is larger than B, the transmission data is divided for every 4 KB, and the transmission processing is passed to the communication protocol processing unit. First, a local control block 50 is generated (627),
A code indicating that the transmission data is being divided (data bit = 0) is set in the command code of the local control block (628), and the DMAC is instructed to read 4 KB of transmission data from the main memory to the local memory. (629).

【0060】DMACにより、4KBに分割した送信デ
ータの読み出し動作が完了すると、ローカルメモリに読
み出した上記4KBに分割した送信バッファの先頭アド
レスをローカル制御ブロック50に設定し、ローカル制
御ブロックのアドレスを通信プロトコル処理用依頼プー
ルへ登録する(630)。主制御ブロックのデータ長4
08から4KBだけディクリメントし、ポインタアドレ
ス406から4KBだけインクリメントすることによ
り、残りの送信データの長さと、次に送信する送信デー
タの先頭部分を示すアドレスを、主制御ブロックに再設
定する(631)。再度、主制御ブロックのデータ長4
08が、4KBより大きいか、小さいかを判定し、大き
ければ分割処理を繰り返し、小さければ送信データを分
割しない場合の処理を行う。
When the read operation of the transmission data divided into 4 KB is completed by the DMAC, the head address of the transmission buffer divided into 4 KB read into the local memory is set in the local control block 50, and the address of the local control block is transmitted. It is registered in the protocol processing request pool (630). Data length of main control block 4
By decrementing 4 KB from 08 and incrementing 4 KB from the pointer address 406, the length of the remaining transmission data and the address indicating the beginning of the next transmission data to be transmitted are reset in the main control block (631). ). Again, the data length of the main control block is 4
It is determined whether 08 is larger or smaller than 4 KB. If larger than 08 KB, the dividing process is repeated, and if smaller than 08 KB, the process of not dividing the transmission data is performed.

【0061】主制御ブロック40Tnのコマンドコード
400がデータ送信要求でない場合、すなわち、受信バ
ッファの処理完了通知の場合、受信用主制御ブロックの
解放処理を行う(632)。
If the command code 400 of the main control block 40Tn is not a data transmission request, that is, if the processing of the reception buffer is notified, the main control block for reception is released (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の値が新たに加えら
れたヘッダ長の値に応じて更新される。
FIG. 17 shows details of the communication protocol processing routine 64T executed following the interface processing routine 62T. In this routine, first
The address of the local control block 50 is read from the communication protocol processing request pool 440 (642), and the connection ID 5 included in the local control block 50 is read.
02, the DA field 504, and the TP4 connection management table 446 on the local memory, the TP4 header, the CLNP header, the LLC header, and the MAC header are sequentially added to the head of the data (644T to 650T). The control code (EOT bit) used for dividing and assembling the TP4 header is EOT bit = 0 if the command code of the local control block indicates that the data is being divided, and EOT if the command code indicates the end of the data division. Bit = 1. Each time the header is created, the values of the buffer start address 506 and the data length 508 of the local control block are updated in accordance with the newly added header length value.

【0063】MACヘッダ35の作成が終了すると(6
50T)、ローカル制御ブロック50のアドレスが通信
制御回路ドライバ用送信プール444Tに登録され(6
55)、通信制御回路ドライバ処理ルーチン66Tが実
行される。
When the creation of the MAC header 35 is completed (6
50T), the address of the local control block 50 is registered in the communication control circuit driver transmission pool 444T (6T).
55), a communication control circuit driver processing routine 66T is executed.

【0064】通信制御回路ドライバ処理ルーチン66T
では図18に示すように、通信制御回路ドライバ用送信
プール444Rからローカル制御ブロック50のアドレ
スを読み出し(662)、通信制御回路26に対して、
バッファ先頭アドレス506とデータ長508を指定し
て、データ送信要求を発行する(664)。
Communication control circuit driver processing routine 66T
Then, as shown in FIG. 18, the address of the local control block 50 is read from the communication control circuit driver transmission pool 444R (662).
A data transmission request is issued by designating the buffer start address 506 and the data length 508 (664).

【0065】次に、ローカルプロセッサが実行するデー
タ受信(イベント報告)動作について説明する。
Next, the data reception (event report) operation executed by the local processor will be described.

【0066】図19は、図14に示した受信sub70
Rの内容を示すフローチャートである。
FIG. 19 shows the reception sub 70 shown in FIG.
9 is a flowchart showing the contents of R.

【0067】受信sub70Rは、通信制御回路26を
制御する通信制御回路ドライバ処理ルーチン72Rと、
通信プロトコル処理ルーチン74Rと、計算機1とのイ
ンタフェース処理ルーチン76Rとからなる。
The reception sub 70 R includes a communication control circuit driver processing routine 72 R for controlling the communication control circuit 26,
It comprises a communication protocol processing routine 74R and an interface processing routine 76R with the computer 1.

【0068】ネットワーク伝送路5からパケットを受信
すると、通信制御回路26からローカルメモリ上の空い
ている受信バッファエリア247Rnを獲得し、上記ロ
ーカル受信バッファに同期ビット33とFCS34を取
り除いた受信パケットを設定し、通信制御回路ドライバ
300に対し、パケットを受信したことを通知する。通
信制御回路ドライバ300では、図20に示すようにロ
ーカル制御ブロック50にデータ受信を示すコマンドコ
ード500と、ローカル受信バッファの先頭アドレス5
06と、受信データ長(ヘッダ長を含む)508とを設
定し(722)、通信制御回路ドライバ用受信プール4
44Rにローカル制御ブロック50のアドレスを登録し
(724)、通信プロトコル処理74Rが実行される。
When a packet is received from the network transmission line 5, an empty reception buffer area 247Rn on the local memory is obtained from the communication control circuit 26, and a reception packet from which the synchronization bit 33 and the FCS 34 have been removed is set in the local reception buffer. The communication control circuit driver 300 is notified that the packet has been received. In the communication control circuit driver 300, as shown in FIG. 20, a command code 500 indicating data reception and a start address 5
06 and the reception data length (including the header length) 508 are set (722), and the reception pool 4 for the communication control circuit driver is set.
The address of the local control block 50 is registered in 44R (724), and the communication protocol processing 74R is executed.

【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を実行する。
FIG. 21 shows the details of the communication protocol processing routine 74R executed following the communication control circuit driver processing routine 72R. In this routine,
First, the MAC processing unit 240 reads the address of the local control block 50 from the communication control circuit driver reception pool 444R (742), and analyzes the MAC header (744R). After the completion of the MAC processing, the LLC processing unit 23
0, the local control block 50 is sequentially delivered to the CLNP processing unit 220 and the TP4 processing unit 210, and header analysis (746R, 748R, 750R) is performed for each protocol. In each header section, after analyzing the header, the address indicating the head of the data excluding the header is reset to the buffer head address of the local control block 50. At the time of header analysis, a CLNP header indicating the other party and TP4
The header information is stored in connection ID 402, D
A (MAC) 404 as the local control block 50
(755). In the TP4 processing unit, after analyzing the TP4 header, the data bits (50
In 9), the EOT bit of the TP4 header is set, the command code (500) is set to a command code indicating a data reception report, the address of the local control block is registered in the communication protocol processing end pool (442), and the interface processing routine 76R Execute

【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)。
The interface processing routine 76 shown in FIG.
In R, as shown in FIG. 22, first, the local control block 50 is read from the communication protocol processing end pool 442 (761), it is determined whether the report is a data reception report, and a reception processing table corresponding to a connection is selected (R). 762). If there is an empty area in the reception buffer, the received data is written by the DMAC to the position indicated by the PW in the reception processing table (763). If the received data is located at the head of the reception buffer, the status of the reception processing table is 0. In these cases, the head address (PW) of the received data is set to BP, 0 is set to LEN (769), and 1 is set to the status (770). Next, the data length of the local reception buffer written in the local reception buffer is added to PW and LEN of the reception processing table and updated (764). If the data bit 509 of the local control block is "0", assembling of the received data has not been completed, the reception report is not made to the computer, the local control block and the local reception buffer are released, and the interface processing is completed. (768).

【0071】データビット=“1”ならば、処理対象と
している受信データが単1のパケットとして送信された
ものか、或は複数ブロックに分割された最後の部分のい
ずれかである。この場合、計算機にデータ受信報告を行
う必要があり、受信処理テーブルのステータスに0を設
定(765)し、主制御ブロックに、データ受信を示す
コマンドコードと、バッファアドレスに受信処理テーブ
ルのBPに格納してある受信バッファのアドレスと、受
信処理テーブルLENに格納してあるデータ長と、そし
てコネクションIDとを設定する(766)次に、受信
FIFO22Rに主制御ブロックのアドレスを登録する
ことにより(767)、計算機にデータ受信報告し、同
時にローカル制御ブロックとローカル受信バッファを解
放し、インタフェース処理を終了する(768)。
If the data bit = “1”, the received data to be processed is either transmitted as a single packet or the last part divided into a plurality of blocks. In this case, it is necessary to report data reception to the computer, set 0 to the status of the reception processing table (765), and set the command code indicating data reception in the main control block and the BP of the reception processing table in the buffer address. The address of the stored reception buffer, the data length stored in the reception processing table LEN, and the connection ID are set (766). Next, the address of the main control block is registered in the reception FIFO 22R ( 767), reports data reception to the computer, releases the local control block and the local reception buffer at the same time, and ends the interface processing (768).

【0072】(実施例2)本発明の第2の実施例を図2
3、及び図24を参照して説明する。
(Embodiment 2) A second embodiment of the present invention is shown in FIG.
3 and FIG.

【0073】図23は、ローカルプロセッサ25の他
に、インタフェース処理を実行する専用のプロセッサ
(インタフェースプロセッサ)104を設けた通信制御
装置4のブロック図を示す。
FIG. 23 is a block diagram of the communication control apparatus 4 provided with a dedicated processor (interface processor) 104 for executing interface processing in addition to the local processor 25.

【0074】上記インタフェースプロセッサ104は、
第1のローカルバス23Aと第2のローカルバス23B
とに接続され、通信制御装置は、更に、上記第1のロー
カルバス23Aに接続するダイレクト・メモリ・コント
ローラ(DMAC)27と、バスインタフェース21
と、計算機1から通信制御装置4への制御情報の伝達に
用いられている第1のFIFO22Tと、これとは逆方
向の制御情報伝達に用いられる第2のFIFO22Rと
を備えている。
The interface processor 104 includes:
First local bus 23A and second local bus 23B
The communication control device further includes a direct memory controller (DMAC) 27 connected to the first local bus 23A and a bus interface 21.
And a first FIFO 22T used to transmit control information from the computer 1 to the communication control device 4, and a second FIFO 22R used to transmit control information in the opposite direction.

【0075】通信制御装置は、計算機により主メモリ上
の受信バッファエリアに書き込まれた送信データを読み
出し、これをパケット化してネットワーク伝送路5に送
出すると共に、ネットワーク伝送路5からの受信パケッ
トに含まれる受信データを主メモリ上の予め割り当てら
れた受信バッファエリアに書き込み、このエリア上でリ
アセンブル処理する。また、通信制御装置は、主メモリ
との間の送受信データの読み出し、書き込み動作の他に
送信データ用ヘッダの作成、あるいは受信データに付さ
れたヘッダ解析の動作(プロトコル処理)を行う。これ
らの動作は、実施例1では1つのプロセッサで行わせて
いるが、実施例2では、処理を高速化するため、これら
の動作を2つのプロセッサ(ローカルプロセッサ25と
インタフェースプロセッサ104)により実行する。
The communication control device reads out the transmission data written in the reception buffer area on the main memory by the computer, packetizes the data and sends it out to the network transmission line 5, and includes it in the received packet from the network transmission line 5. The received data to be written is written into a pre-allocated reception buffer area on the main memory, and reassembly processing is performed on this area. In addition, the communication control device performs an operation (protocol processing) of creating a header for transmission data or analyzing a header attached to reception data, in addition to an operation of reading and writing transmission / reception data to / from the main memory. In the first embodiment, these operations are performed by one processor, but in the second embodiment, these operations are executed by two processors (the local processor 25 and the interface processor 104) in order to speed up processing. .

【0076】すなわち、インタフェースプロセッサ10
4は、主メモリ上の送信バッファエリアに書き込まれた
送信データを読み出し、これを複数の送信データブロッ
クに分割してローカルメモリ24に書き込む。また、主
メモリ上の受信バッファエリアにコネクション毎の受信
バッファを確保し、各受信バッファエリアの空きエリア
を管理しながら、ローカルメモリ24上にローカルプロ
セッサ25が書き込んだ各受信データブロックを、この
受信データブロックと対応する受信バッファの空きエリ
アに順次に書き込む。
That is, the interface processor 10
Reference numeral 4 reads the transmission data written in the transmission buffer area on the main memory, divides the transmission data into a plurality of transmission data blocks, and writes the divided data into the local memory 24. In addition, a reception buffer for each connection is secured in the reception buffer area on the main memory, and while the free area of each reception buffer area is managed, each reception data block written by the local processor 25 on the local memory 24 is received. The data blocks are sequentially written into the empty areas of the reception buffer corresponding to the data blocks.

【0077】一方、ローカルプロセッサ25は、ローカ
ルメモリ24に書き込まれている各送信データブロック
にヘッダを付加することにより、パケットを形成し、ネ
ットワーク伝送路5に送出する。また、ネットワーク伝
送路5から受信したパケットに対しては、ヘッダ処理を
した後、受信パケットに含まれる受信データブロックを
ローカルメモリに書き込む。すなわち、上記インタフェ
ースプロセッサ104は、実施例1において図15と図
19に示した送受信動作のうち、インタフェース処理6
2Tとインタフェース処理76Rとを図24に示すが如
く、交互に実行している。
On the other hand, the local processor 25 forms a packet by adding a header to each transmission data block written in the local memory 24 and sends the packet to the network transmission line 5. Further, for a packet received from the network transmission line 5, after performing header processing, a received data block included in the received packet is written to the local memory. That is, the interface processor 104 performs the interface processing 6 of the transmission / reception operations shown in FIGS.
As shown in FIG. 24, 2T and the interface processing 76R are executed alternately.

【0078】このように、通信制御装置をローカルプロ
セッサとインタフェースプロセッサとで構成し、ローカ
ルプロセッサでプロトコル処理(74R,64T)と通
信制御回路ドライバ処理(72R,66T)を行い、イ
ンタフェースプロセッサで主メモリと通信制御装置との
間のインタフェース処理(76R,62T)を行うこと
により、処理を高速化することができる。
As described above, the communication control device is constituted by the local processor and the interface processor, the protocol processing (74R, 64T) and the communication control circuit driver processing (72R, 66T) are performed by the local processor, and the main memory is processed by the interface processor. By performing the interface processing (76R, 62T) between the communication control device and the communication control device, the processing speed can be increased.

【0079】[0079]

【発明の効果】以上の説明から明らかなように、本発明
によれば、送信バッファは主計算機側で管理し、受信バ
ッファは通信制御装置側で管理するようにしているた
め、受信データの主メモリへの書き込み動作を通信制御
装置側の判断で即座に実行でき、通信制御装置の送受信
データ処理を高速化することができる。
As is apparent from the above description, according to the present invention, the transmission buffer is managed on the main computer side and the reception buffer is managed on the communication control device side. The write operation to the memory can be executed immediately by the judgment of the communication control device side, and the transmission and reception data processing of the communication control device can be speeded up.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施例における計算機と通信制
御装置の詳細を示す図である。
FIG. 1 is a diagram illustrating details of a computer and a communication control device according to a first embodiment of this invention.

【図2】本発明を適用するデータ通信システムの1構成
例を示す図である。
FIG. 2 is a diagram showing one configuration example of a data communication system to which the present invention is applied.

【図3】階層化通信プロトコルの1構成例を示す図であ
る。
FIG. 3 is a diagram illustrating a configuration example of a layered communication protocol.

【図4】通信制御装置が備えるソフトウェアの基本構成
を示す図である。
FIG. 4 is a diagram showing a basic configuration of software provided in the communication control device.

【図5】送信データと送信パケットとの関係を示す図で
ある。
FIG. 5 is a diagram illustrating a relationship between transmission data and transmission packets.

【図6】送信パケットのフォーマットを示す図である。FIG. 6 is a diagram showing a format of a transmission packet.

【図7】データ送受信動作の概略を説明するための図で
ある。
FIG. 7 is a diagram for explaining an outline of a data transmission / reception operation.

【図8】主制御ブロックの構成を示す図である。FIG. 8 is a diagram showing a configuration of a main control block.

【図9】通信制御装置が備える受信処理管理テーブル2
46の構成を示す図である。
FIG. 9 is a reception processing management table 2 provided in the communication control device.
FIG. 46 is a diagram illustrating a configuration of a controller 46;

【図10】通信制御装置が行なう主メモリへのデータブ
ロックの書き込み動作と制御パラメータの値との関係を
示す図である。
FIG. 10 is a diagram showing a relationship between a write operation of a data block to a main memory performed by a communication control device and a value of a control parameter.

【図11】通信制御装置が備えるローカルメモリ24の
構成を示す図である。
FIG. 11 is a diagram showing a configuration of a local memory 24 included in the communication control device.

【図12】通信制御装置内で用いられるローカル制御ブ
ロックの構成を示す図である。
FIG. 12 is a diagram showing a configuration of a local control block used in the communication control device.

【図13】ローカルメモリに設けられる通信プロトコル
処理用エリアの構成を示す図である。
FIG. 13 is a diagram showing a configuration of a communication protocol processing area provided in a local memory.

【図14】通信制御装置が実行する通信制御動作の基本
フローチャートである。
FIG. 14 is a basic flowchart of a communication control operation executed by the communication control device.

【図15】図14における送信sub60Tの詳細を示
すフローチャートである。
FIG. 15 is a flowchart showing details of a transmission sub60T in FIG.

【図16】図15におけるインタフェース処理62Tの
詳細を示すフローチャートである。
FIG. 16 is a flowchart showing details of an interface process 62T in FIG. 15;

【図17】図15における通信プロトコル処理64Tの
詳細を示すフローチャートである。
FIG. 17 is a flowchart showing details of a communication protocol process 64T in FIG. 15;

【図18】図15における通信制御回路ドライバ処理6
6Tの詳細を示すフローチャートである。
18 is a communication control circuit driver processing 6 in FIG.
It is a flowchart which shows the detail of 6T.

【図19】図14における受信sub70Rの内容を示
すフローチャートである。
FIG. 19 is a flowchart showing the contents of a reception sub 70R in FIG.

【図20】図19における通信制御回路ドライバ処理7
2Rの詳細を示すフローチャートである。
20 is a communication control circuit driver process 7 in FIG.
It is a flowchart which shows the detail of 2R.

【図21】図19における通信プロトコル処理74Rの
詳細を示すフローチャートである。
FIG. 21 is a flowchart showing details of a communication protocol process 74R in FIG. 19;

【図22】図19におけるインタフェース処理76Rの
詳細を示すフローチャートである。
FIG. 22 is a flowchart showing details of interface processing 76R in FIG. 19;

【図23】本発明の第2の実施例における通信制御装置
の構成を示すブロック図である。
FIG. 23 is a block diagram illustrating a configuration of a communication control device according to a second embodiment of the present invention.

【図24】上記第2の実施例においてインタフェースプ
ロセッサ104が実行する制御動作を示すフローチャー
トである。
FIG. 24 is a flowchart showing a control operation executed by an interface processor 104 in the second embodiment.

【符号の説明】[Explanation of symbols]

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…ローカル受信バッファエリア 1A, 1B, 1C Computers 4A, 4B, 4C Communication control devices B1, B2, Bn Data blocks 30-1, 30-2, 30-n Packets 40T1 to 40Tm Main control block 40T Multiple main controls Area for storing blocks 40R1 to 40Rn Main control block 40R Area for storing a plurality of main control blocks 41T1 to 41Tm Transmission buffer area 41T Area for storing transmission data 41R1 to 41Rn reception buffer Area 41R: Area for storing received data 50T: Local control block 50R: Local control block 247T1, 247Tm: Transmission data 247T: Local transmission buffer area 247R1, 247Rn: Reception data 247R: Local reception buffer area

───────────────────────────────────────────────────── フロントページの続き (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 ──────────────────────────────────────────────────の Continuing on the front page (72) Inventor Junji Fukuzawa 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture Inside Hitachi, Ltd.System Development Laboratory Co., Ltd. (72) Matsuaki Terada 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture (56) References JP-A-1-194547 (JP, A) JP-A-2-55444 (JP, A) JP-A-63-222544 (JP, A) JP-A-63 JP-A-275239 (JP, A) JP-A-59-36222 (JP, A) JP-A-62-108640 (JP, A) JP-A-61-170163 (JP, A) JP-A-63-217457 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) H04L 29/00 H04L 13/08 H04L 12/00

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】通信路と、主メモリを備える計算機とに接
続され、 通信路との接続回路である通信制御回路と、前記通信制
御回路が受信した受信パケットについてプロトコル処理
を行う手段とを備える通信制御装置であって、前記主メ
モリ中に設けられた受信バッファへの書き込みアドレス
の保持と、更新と、指示とを行う受信バッファアドレス
管理手段と、 前記プロトコル処理を行う手段の処理により前記受信パ
ケットから生成されたデータを、前記受信バッファアド
レス管理手段の指示に従って前記計算機の前記受信バッ
ファへ書き込むデータ書き込み手段と、 前記データが書き込まれた前記受信バッファのアドレス
を前記計算機に通知するアドレス通知手段と、 を備える通信制御装置。
1. A communication control circuit connected to a communication path and a computer having a main memory, the communication control circuit being a connection circuit with the communication path, and means for performing a protocol process on a received packet received by the communication control circuit. A communication control device, comprising: a reception buffer address management unit that holds, updates, and instructs a write address in a reception buffer provided in the main memory; and Data writing means for writing data generated from a packet to the reception buffer of the computer in accordance with an instruction of the reception buffer address management means; address notification means for notifying the computer of an address of the reception buffer in which the data is written A communication control device comprising:
【請求項2】請求項1記載の通信制御装置において、 前記受信バッファアドレス管理手段は、前記受信パケッ
トからのデータ生成により、一つのメッセージ組み立て
が完了するか否かを管理し、 前記アドレス通知手段は、前記一つのメッセージの組み
立てが完了するデータを前記受信バッファへ書き込んだ
ときに、前記アドレスの通知を行うものである通信制御
装置。
2. The communication control device according to claim 1, wherein said reception buffer address management means manages whether or not one message assembly is completed by generating data from said reception packet, and said address notification means. A communication control device for notifying the address when data for which the assembly of the one message is completed is written to the reception buffer.
【請求項3】請求項1または2に記載の通信制御装置に
おいて、 前記受信バッファアドレス管理手段は、複数の前記受信
バッファ各々の書き込みアドレスを管理し、 前記複数の受信バッファ各々を、一つのコネクションに
割り当てて管理する通信制御装置。
3. The communication control device according to claim 1, wherein said reception buffer address management means manages a write address of each of said plurality of reception buffers, and connects each of said plurality of reception buffers to one connection. Communication control device that is assigned to and managed.
【請求項4】請求項3に記載の通信制御装置において、 前記受信バッファアドレス管理手段は、管理テーブルを
備え、前記複数の受信バッファ各々について、受信バッ
ファ先頭アドレス、受信バッファ長、トランスポートコ
ネクション識別子、書き込みポインタを管理し、 前記プロトコル処理を行う手段は、前記通信路からパケ
ットを受信し、ヘッダ処理を行う際にヘッダからトラン
スポートコネクション識別子を抽出する手段を備え、 前記データ書き込み手段は、前記管理テーブルに管理さ
れるトランスポートコネクション識別子に対応する、い
ずれかの前記受信バッファの書き込みポインタヘ受信デ
ータを書き込む通信制御装置。
4. The communication control device according to claim 3, wherein said reception buffer address management means comprises a management table, and for each of said plurality of reception buffers, a reception buffer head address, a reception buffer length, a transport connection identifier. Means for managing a write pointer; means for performing the protocol processing, comprising means for receiving a packet from the communication path and extracting a transport connection identifier from a header when performing header processing, and wherein the data writing means comprises: A communication control device that writes received data to a write pointer of any one of the reception buffers corresponding to a transport connection identifier managed in a management table.
【請求項5】請求項1ないし4いずれか一に記載の通信
制御装置であって、 第一のプロセッサと第二のプロセッサを有し、 前記第一のプロセッサは、前記プロトコル処理を行う手
段を制御し、 前記第二のプロセッサは、前記受信バッファアドレス管
理手段と、前記データ書き込み手段と、前記アドレス通
知手段とを制御する通信制御装置。
5. The communication control device according to claim 1, further comprising a first processor and a second processor, wherein the first processor includes a unit that performs the protocol processing. A communication control device that controls the reception buffer address management unit, the data writing unit, and the address notification unit.
JP252291A 1991-01-14 1991-01-14 Communication control device Expired - Fee Related JP3278852B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP252291A JP3278852B2 (en) 1991-01-14 1991-01-14 Communication control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP252291A JP3278852B2 (en) 1991-01-14 1991-01-14 Communication control device

Publications (2)

Publication Number Publication Date
JPH04241541A JPH04241541A (en) 1992-08-28
JP3278852B2 true JP3278852B2 (en) 2002-04-30

Family

ID=11531712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP252291A Expired - Fee Related JP3278852B2 (en) 1991-01-14 1991-01-14 Communication control device

Country Status (1)

Country Link
JP (1) JP3278852B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3356110B2 (en) 1999-04-21 2002-12-09 日本電気株式会社 Function expansion system and data transfer method used therefor
EP2363989B1 (en) * 2003-08-13 2018-09-19 Qualcomm Incorporated A signal interface for higher data rates
JP5847013B2 (en) * 2012-05-10 2016-01-20 株式会社日立製作所 Computer and input / output control method in computer

Also Published As

Publication number Publication date
JPH04241541A (en) 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
JP3364587B2 (en) System and method for controlling transmission of relatively large data objects in a communication system
CN106411767B (en) Pass through method, system and the medium of the transmission operation that Remote Direct Memory accesses
US5301280A (en) Capability based communication protocol
JP2006510996A (en) Usage of direct memory access to perform database operations between two or more machines
JPH10301871A (en) System and method for controlling transmission of relatively large data object in communication system
CN106598752B (en) Remote zero-copy method
US20110153780A1 (en) Apparatus and methods for handling network file operations over a fibre channel network
JP2001024733A (en) Data transmission equipment
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 (en) Memory allocation method and device based on DPDK of data plane development kit
JP3278852B2 (en) Communication control device
EP1253520B1 (en) Apparatus for issuing command for high-speed serial interface
JP2001202345A (en) Parallel processor
JPH07111697B2 (en) High-speed communication buffering control method
JP2697588B2 (en) Communication task management method
JPH11149455A (en) Memory disk sharing method and its executing device
JP2821205B2 (en) Communication protocol high-speed processing method
JP3058010B2 (en) Method and apparatus for communication between processors
JP2665185B2 (en) Data transmission system
JPH06244902A (en) Communication controller
JPH03294949A (en) High speed communication bus window controller
JPH0974410A (en) Communication repeater
JPH11353249A (en) File system and file transfer method

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees