JPH06266535A - Addition system and communication system with addition section - Google Patents

Addition system and communication system with addition section

Info

Publication number
JPH06266535A
JPH06266535A JP5266193A JP5266193A JPH06266535A JP H06266535 A JPH06266535 A JP H06266535A JP 5266193 A JP5266193 A JP 5266193A JP 5266193 A JP5266193 A JP 5266193A JP H06266535 A JPH06266535 A JP H06266535A
Authority
JP
Japan
Prior art keywords
data
addition
unit
information
added
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.)
Granted
Application number
JP5266193A
Other languages
Japanese (ja)
Other versions
JP3286377B2 (en
Inventor
Takahisa Miyamoto
貴久 宮本
Toru Horimoto
徹 堀本
Yoshinori Watanabe
義則 渡辺
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 JP05266193A priority Critical patent/JP3286377B2/en
Publication of JPH06266535A publication Critical patent/JPH06266535A/en
Application granted granted Critical
Publication of JP3286377B2 publication Critical patent/JP3286377B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

PURPOSE:To enable a high-speed processing by providing an addition section successively performing the addition of complement '1' on the read data, compression section performing the addition of complement '1', and output section outputting the compression addition result of the compression section. CONSTITUTION:A 4-byte length addition section 1207 performs the addition of complement '1' by 4-bit length for data to be added in the case the discrimination of the boundary is proved to be 'good' and remaining data to be added in the case of storing save data. After the 4-bit length addition, a 2-byte length compression section 1205 performs the addition of complement '1' by 2-byte length for the 4-byte length data. After the 2-byte length addition, the addition result is held in a 2-byte length data storage area 1209 to perform the discrimination of boundary of the leading data. When the boundary is 'good', the 2-byte length data are stored in an addition result storage area 121 as the addition result and the processing is ended.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ネットワーク通信シス
テムなどに利用されるチェックサム処理の加算システム
に関し、特に、送受信データを被加算データとして、1
の補数加算を使用して加算を行ない、2バイトの加算結
果を高速に求める加算システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a checksum processing addition system used in a network communication system and the like.
The present invention relates to an addition system in which addition is performed by using the complementary addition of 2 to obtain a 2-byte addition result at high speed.

【0002】[0002]

【従来の技術】従来、TCP/IP(Transmission Con
trol Protocol/Internet Protocol)プロトコルによる
ネットワーク通信システムにおいて、データの誤り検出
のために行なわれるチェックサム処理には、1の補数加
算を使用した加算システムが用いられている。
2. Description of the Related Art Conventionally, TCP / IP (Transmission
In a network communication system based on the Control Protocol / Internet Protocol), an addition system using 1's complement addition is used for checksum processing performed for data error detection.

【0003】初めに、上記ネットワーク通信システムに
ついて図1を用いて説明する。図1は、2台の情報機器
間でデータを送受信するネットワーク通信システムを示
した図である。送信装置101は、ワークステーション、
パーソナルコンピュータなどの情報機器であり、送信デ
ータを作成するための送信側ユーザアプリケーションプ
ログラム102、送信におけるプロトコル制御をするため
の送信側プロトコル制御部103、および、ネットワーク
に接続するための送信側ネットワークインタフェース部
105を有して、他の情報機器に対してデータの送信を行
なう。受信装置107は、ワークステーション、パーソナ
ルコンピュータなどの情報機器であり、受信データを処
理するための受信側ユーザアプリケーションプログラム
108、受信におけるプロトコルの制御をする受信側プロ
トコル制御部109、および、ネットワークに接続するた
めの受信側ネットワークインタフェース部111を有し
て、他の情報機器からのデータの受信を行なう。LAN
(Local Area Network)106は、送信装置101から送信さ
れたデータを受信装置107に伝達するもので、代表的な
ものにFDDI(Fiber Distributed Data Interface)
がある。誤り制御をするためのチェックサム処理に用い
られる、1の補数加算を使用した加算システム104およ
び110は、送信装置101の送信側プロトコル制御部103と
受信装置107の受信側プロトコル制御部109とにおいて、
送信装置101から送信されたデータを正しく受信装置107
が受信したかどうかを検査するために使用される。
First, the network communication system will be described with reference to FIG. FIG. 1 is a diagram showing a network communication system for transmitting and receiving data between two information devices. The transmitter 101 is a workstation,
An information device such as a personal computer, which is a transmission-side user application program 102 for creating transmission data, a transmission-side protocol control unit 103 for controlling a protocol in transmission, and a transmission-side network interface for connecting to a network. Department
Having 105, it transmits data to other information devices. The receiving device 107 is an information device such as a workstation or a personal computer, and a receiving side user application program for processing received data.
It has a receiving side protocol control section 109 for controlling a protocol in receiving, a receiving side network interface section 111 for connecting to a network, and receives data from other information equipment. LAN
A (Local Area Network) 106 transfers data transmitted from the transmission device 101 to the reception device 107, and is typically a FDDI (Fiber Distributed Data Interface).
There is. Addition systems 104 and 110 using 1's complement addition used for checksum processing for error control are performed in a transmission side protocol control unit 103 of a transmission device 101 and a reception side protocol control unit 109 of a reception device 107. ,
The data transmitted from the transmitter 101 is correctly received by the receiver 107.
It is used to check if the received.

【0004】図1において送受信動作について説明す
る。まず、送信装置101では、送信側ユーザアプリケー
ションプログラム102で作成された送信データを送信側
プロトコル制御部103に渡し、そのデータを加算システ
ム104の被加算データとして加算結果を求める。そし
て、求まった加算結果を送信データに付加してから、送
信データを送信側ネットワークインタフェース部105に
渡し、LAN106を介して受信装置107に送信する。受信
装置107は、受信側ネットワークインタフェース部11
1で受信した、送信データおよび送信側の加算システム
104の加算結果からなる受信データを受信側プロトコ
ル制御部109に渡す。受信側プロトコル制御部109では、
受信データを加算システム110の被加算データとして加
算結果を求め、その加算結果を用いて受信データの誤り
検出を行なう。その結果、受信データが正しいときは、
受信データは受信側ユーザアプリケーションプログラム
108に渡され、誤りが有るときは廃棄される。
A transmission / reception operation will be described with reference to FIG. First, the transmission device 101 passes the transmission data created by the transmission-side user application program 102 to the transmission-side protocol control unit 103, and obtains the addition result as the data to be added of the addition system 104. Then, after adding the obtained addition result to the transmission data, the transmission data is passed to the transmission side network interface unit 105 and transmitted to the reception device 107 via the LAN 106. The reception device 107 includes a reception side network interface unit 11
The received data including the transmission data and the addition result of the addition system 104 on the transmission side received in 1 is passed to the reception side protocol control unit 109. In the receiving side protocol control unit 109,
An addition result is obtained using the received data as the data to be added by the addition system 110, and an error in the received data is detected using the addition result. As a result, when the received data is correct,
Received data is the user application program on the receiving side
It is passed to 108 and is discarded if there is an error.

【0005】つぎに、図1で用いられている、加算シス
テム104および110の加算処理の流れを図2を用いて説明
する。初めに、被加算データが2バイト単位にアクセス
可能かどうかの判定201を行なう。これは、被加算デー
タはメモリ上に配置されているが、メモリには境界(以
下、バウンダリという)が有り、それを越えてのアクセ
スができないようになっているために行なうものであ
る。アクセス可能な場合、SRI(Stanford Research
Institute)より出版されているRFC(RequestFor Co
mments)1071により、チェックサム処理の加算バイト長
は2バイトと規定しているため、被加算データに対して
2バイト長加算202を行ない、2バイト単位のアクセス
が不可能な場合は、1バイト長加算203を行なってい
る。
Next, the flow of the addition processing of the addition systems 104 and 110 used in FIG. 1 will be described with reference to FIG. First, a determination 201 is made as to whether the data to be added is accessible in units of 2 bytes. This is done because the data to be added is arranged on the memory, but the memory has a boundary (hereinafter, referred to as a boundary), and it is impossible to access beyond the boundary. If accessible, SRI (Stanford Research
RFC (Request For Co.) published by Institute
mments) 1071 specifies that the addition byte length of the checksum processing is 2 bytes. Therefore, if the addition byte length is added to the addition data 202, and if access in units of 2 bytes is not possible, 1 byte is added. Long addition 203 is performed.

【0006】初めに、2バイト長加算202の加算方法に
ついて図3を参照して説明する。被加算データは、図1
に示すネットワーク通信システムのLAN106の伝送媒
体がFDDIである時のものであり、4470バイトのデー
タの場合を例にする。2バイト長加算は、連続したデー
タ列を2バイト単位のデータに分割して、それぞれを1
の補数加算を用いて加算する。被加算データ301が4470
バイトである場合、2235個のデータについての加算にな
るので加算回数は2234回である。
First, the addition method of the 2-byte length addition 202 will be described with reference to FIG. The data to be added is shown in Fig. 1.
The case where the transmission medium of the LAN 106 of the network communication system shown in FIG. 1 is FDDI and the data is 4470 bytes is taken as an example. 2-byte length addition divides a continuous data string into 2-byte unit data, and
Add using the complement addition of. Added data 301 is 4470
In the case of a byte, the number of additions is 2234, because 2235 pieces of data are added.

【0007】ここで、2バイト長加算202の、具体的な
数値による加算の例を図4を用いて説明する。図4は、
先頭データが偶数アドレスに格納されている、16バイト
の被加算データ401を2バイト長加算により加算し、加
算時の桁あふれを毎回最下位バイトに加算するのではな
く、被加算データに対する加算処理終了後にまとめて加
算する例を示している。1の補数加算は、加算時の桁あ
ふれを最下位バイトに再加算する演算であるが、図4に
示すように、桁あふれを蓄積しておき、最後に加算を行
なっても加算結果402は同じ値になる。初めに、2バイ
ト長加算を8個の2バイト長データについて行なう。そ
の際、加算結果の桁あふれ4が生じるので、それを最下
位バイトに加算して処理は終了する。この場合の加算結
果402は、16進数で3BC4になる。
Here, an example of addition by a specific numerical value of the 2-byte length addition 202 will be described with reference to FIG. Figure 4
The 16-byte added data 401 in which the start data is stored in an even address is added by 2-byte length addition, and the overflow at the time of addition is not added to the least significant byte every time, but addition processing is performed on the added data. An example is shown in which the addition is performed collectively after the end. The one's complement addition is an operation for re-adding the overflow at the time of addition to the least significant byte, but as shown in FIG. It becomes the same value. First, 2-byte length addition is performed on eight 2-byte length data. At that time, since the overflow 4 of the addition result occurs, it is added to the least significant byte, and the processing is ended. In this case, the addition result 402 is 3BC4 in hexadecimal.

【0008】つぎに、1バイト長加算203の加算方法に
ついて図5を参照して説明する。被加算データが、図3
と同じく4470バイトのデータの場合を例にする。図5
は、バウンダリが奇数アドレスと偶数アドレスの間に有
る場合で、被加算データが奇数アドレスから格納されて
いるために、2バイト単位でのメモリアクセスができな
い。そこで、図3に示すような、2バイト長で加算を行
なうことができないため、図5に示すように、1バイト
単位でメモリアクセスを行なう。この場合、奇数番目の
データを上位バイトに加算し、偶数番目のデータを下位
バイトに加算する。その際、下位バイトの加算で桁あふ
れが生じたら上位バイトに、上位バイトの加算で桁あふ
れが生じたら下位バイトに加算することにより、2バイ
ト長による1の補数加算と同じ加算結果を求めるように
している。1バイト長加算は、連続したデータ列を1バ
イト単位のデータに分割して、それぞれを加算する。被
加算データ501が4470バイトである場合、4470個のデー
タについての加算になるので加算回数は4469回である。
Next, the addition method of the 1-byte length addition 203 will be described with reference to FIG. The data to be added is
As in the case of 4470 bytes of data, as an example. Figure 5
In the case where the boundary is between the odd numbered address and the even numbered address, and the data to be added is stored from the odd numbered address, the memory access cannot be performed in units of 2 bytes. Therefore, as shown in FIG. 3, since it is impossible to perform addition with a 2-byte length, memory access is performed in 1-byte units as shown in FIG. In this case, odd-numbered data is added to the upper byte and even-numbered data is added to the lower byte. At that time, if the addition of the lower byte causes overflow, the addition is performed to the upper byte, and if the addition of the upper byte causes overflow, the addition is performed to the lower byte to obtain the same addition result as the one's complement addition by the length of 2 bytes. I have to. In the 1-byte length addition, a continuous data string is divided into 1-byte units of data, and each of them is added. When the data to be added 501 is 4470 bytes, 4470 pieces of data are added, so the number of additions is 4469.

【0009】ここで、1の補数加算の加算方法につい
て、図6を用いて詳しく説明する。図6は、2桁のデー
タA601と2桁のデータB604とを1の補数加算する場合
の例を示す。まず、データA601の下位桁602とデータB
604の下位桁605とを加算して、加算結果607の下位桁608
を求める。つぎに、データA601の上位桁603とデータB
604の上位桁606とを加算し、更に、下位桁の加算により
桁あふれが生じている場合は、その桁あふれも加算して
加算結果607の上位桁609を求める。そして、上位桁の加
算により桁あふれが生じている場合は、桁あふれ610を
加算結果607の下位桁608に加算して、1の補数加算は終
了する。このように、1の補数加算とは、桁あふれを順
次上位の桁に加算していき、最上位桁の桁あふれを最下
位桁に加算するものである。
Here, the addition method of 1's complement addition will be described in detail with reference to FIG. FIG. 6 shows an example in the case of 1-complement addition of 2-digit data A601 and 2-digit data B604. First, the lower digit 602 of data A601 and data B
Add the lower digit 605 of 604 and the lower digit 608 of the addition result 607
Ask for. Next, upper digit 603 of data A601 and data B
The upper digit 606 of 604 is added, and when a digit overflow occurs due to the addition of the lower digit, the overflow is also added to obtain the upper digit 609 of the addition result 607. If a digit overflow occurs due to the addition of the upper digits, the digit overflow 610 is added to the lower digit 608 of the addition result 607, and the one's complement addition is completed. As described above, the one's complement addition is to sequentially add the overflow to the upper digit and add the overflow of the most significant digit to the least significant digit.

【0010】[0010]

【発明が解決しようとする課題】上記従来技術では、奇
数アドレスと偶数アドレスの間にバウンダリが有る時、
被加算データが偶数アドレスから格納されている場合
は、2バイト長で、奇数アドレスから格納されている場
合は、1バイト長で加算が行なわれていたために次のよ
うな課題がある。
In the above prior art, when there is a boundary between an odd address and an even address,
If the data to be added is stored from an even address, the addition is performed with a 2-byte length, and if the data to be added is stored from an odd address, the addition is performed with a 1-byte length.

【0011】1.データ長がMバイトの場合、M/2回
の加算を行なわなければならず、Mが大きいとき、大量
の加算回数を必要とする。
1. If the data length is M bytes, M / 2 additions must be performed, and when M is large, a large number of additions are required.

【0012】2.被加算データが奇数アドレスから格納
されいる場合は、偶数アドレスの場合の2倍の加算を行
なわなければならない。
2. If the data to be added is stored from an odd address, double addition must be performed as in the case of an even address.

【0013】また、上記従来技術の加算システムを図1
に示すような通信システムにおいて利用する場合には、
加算処理を高速に行うことができないために以下のよう
な課題がある。
Further, the above-mentioned conventional addition system is shown in FIG.
When used in a communication system such as
Since the addition process cannot be performed at high speed, there are the following problems.

【0014】3.プロトコル制御部に、上記加算システ
ムおよび被加算データを格納するプロトコルバッファを
備えて加算処理を行うため、プロトコル制御部の処理の
うち加算処理の閉める割合が大きく、通信性能を低下さ
せている。
3. Since the protocol control unit is provided with the addition system and the protocol buffer for storing the data to be added to perform the addition process, the addition process closes to a large proportion in the process of the protocol control unit, which deteriorates the communication performance.

【0015】4.プロトコル制御部における加算処理に
より受信データの誤り検出を行うので早い段階で誤り検
出を行うことができない。
4. Since the error detection of the received data is performed by the addition processing in the protocol control unit, the error detection cannot be performed at an early stage.

【0016】このため、通信システムにおいて高速に通
信することができない。
Therefore, the communication system cannot communicate at high speed.

【0017】本発明は、上記課題を解決すべく、加算シ
ステムにおいて高速処理することを目的とする。また、
本発明の他の目的は、加算システムを利用する通信シス
テムにおいて、高速通信を行うことを目的とする。
An object of the present invention is to perform high-speed processing in an addition system in order to solve the above problems. Also,
Another object of the present invention is to perform high speed communication in a communication system using an addition system.

【0018】[0018]

【課題を解決するための手段】上記目的を達成するため
に、記憶手段に格納されたデータを読みだして1の補数
加算し、あらかじめ定められたデータ長の加算結果を出
力する加算システムであって、前記あらかじめ定められ
たデータ長より大きい単位で前記記憶手段からデータを
読み出し、該読み出したデータについて順次1の補数加
算を行なう加算部と、前記加算部の結果について前記あ
らかじめ定められたデータ長の単位に区切って1の補数
加算を行なう圧縮部と、該圧縮部の圧縮加算結果を出力
する出力部とを備えることにより達成される。
In order to achieve the above object, there is provided an addition system which reads out data stored in a storage means, performs one's complement addition, and outputs an addition result of a predetermined data length. An addition unit that reads data from the storage unit in a unit larger than the predetermined data length and sequentially performs one's complement addition on the read data; and a predetermined data length for the result of the addition unit. It is achieved by including a compression unit that performs 1's complement addition by dividing the unit into units of, and an output unit that outputs the compression addition result of the compression unit.

【0019】また、前記記憶手段に格納されたデータの
先頭部分が前記記憶手段の読み出し単位の先頭部分であ
るかないかを判定する先頭データ判定部と、該先頭デー
タ判定部における判断の結果、前記記憶手段の読み出し
単位の先頭部分でない場合に、前記記憶手段に格納され
たデータの先頭部分から前記記憶手段の最初の読み出し
単位の先頭部分の区切れ目までのデータを保持するデー
タ退避部とをさらに有し、前記加算部は、前記先頭デー
タ判定部における判断の結果、前記記憶手段の読み出し
単位の先頭部分でない場合に、前記区切れ目以降のデー
タについて前記記憶手段の読み出し単位で前記記憶手段
から読み出し、該読み出したデータについて順次1の補
数加算を行ない、前記圧縮部は、前記先頭データ判定部
における判断の結果、前記記憶手段の読み出し単位の先
頭部分でない場合に、前記加算部の前記区切れ目以降の
データの加算結果について前記あらかじめ定められたデ
ータ長の単位に区切って1の補数加算を行ない、前記デ
ータ退避部に保持したデータについて前記あらかじめ定
められたデータ長の単位に区切って1の補数加算をさら
に行ない、前記区切れ目以降のデータについての前記圧
縮部における圧縮加算結果に対して、前記データ退避部
に保持したデータについての前記圧縮部における加算結
果を1の補数加算する退避データ加算部をさらに有す
る。
Further, a head data judging section for judging whether or not the head section of the data stored in the memory section is the head section of the reading unit of the memory section, and the result of the judgment in the head data judging section, And a data saving unit for holding data from the head portion of the data stored in the memory unit to the break of the head portion of the first read unit of the memory unit when the head unit is not the head unit of the reading unit of the memory unit. The addition unit reads out from the storage unit the data after the break in units of reading by the storage unit when the result of the determination by the head data determination unit is not the beginning portion of the reading unit of the storage unit. , The read data is sequentially subjected to 1's complement addition, and the compression unit determines the result of the determination by the head data determination unit. When the data is not the first part of the reading unit of the storage means, a one's complement addition is performed by dividing the addition result of the data after the break of the adding unit into units of the predetermined data length, and the data saving The data held in the section is further divided into units of the predetermined data length, and one's complement addition is further performed, and the result of compression addition in the compression unit for data after the division is stored in the data saving unit. It further has a save data addition unit for performing one's complement addition of the addition result of the held data in the compression unit.

【0020】また、前記あらかじめ定められたデータ長
が2バイトの場合に、前記記憶手段は、前記記憶手段の
読み出し単位を4バイト以上の偶数バイトとすることが
できる。前記記憶手段は、前記記憶手段の読み出し単位
を4バイトとすることができる。
Further, when the predetermined data length is 2 bytes, the storage means can set the reading unit of the storage means to an even byte of 4 bytes or more. The reading unit of the storage unit may be 4 bytes.

【0021】前記先頭データ判定部は、前記記憶手段に
格納されたデータの先頭部分の格納アドレスが奇数か偶
数かをさらに判定し、該先頭データ判定部における判定
の結果、奇数アドレスに格納されている場合に、前記加
算部における前記区切れ目以降のデータについての加算
結果を前記圧縮部で圧縮した圧縮加算結果の上位バイト
と下位バイトとのデータ交換を行なうデータ補正部をさ
らに有する。
The head data judging section further judges whether the storage address of the head part of the data stored in the storage means is an odd number or an even number, and as a result of the judgment in the head data judging section, the data is stored in the odd number address. In the case where the addition result is added, a data correction unit for performing data exchange between the upper byte and the lower byte of the compression addition result obtained by compressing the addition result of the data after the break in the addition unit by the compression unit.

【0022】また、伝送路を介して情報の送受信を制御
する通信制御部と、情報を処理する処理部と、情報の送
受信時に伝送情報を正しく送受信するための誤り検出用
のデータを送信すべき情報に対して付加し、受信した情
報から誤りを検出するチェックサム部とを有する情報処
理装置であって、前記チェックサム部は、前記情報を保
持する記憶手段と、前記記憶手段に保持した情報を4バ
イトずつ1の補数加算を行なう加算手段と、該加算結果
について2バイトずつ1の補数加算を行なう圧縮手段と
を備え、該圧縮部の加算結果を前記誤り検出用のデータ
とすることができる。
Further, a communication control unit for controlling transmission / reception of information via a transmission line, a processing unit for processing information, and error detection data for correctly transmitting / receiving transmission information at the time of transmitting / receiving information should be transmitted. An information processing device having a checksum unit for adding an error to information and detecting an error from received information, wherein the checksum unit has storage means for holding the information, and information stored in the storage means. Is provided with addition means for performing 1's complement addition by 4 bytes each, and compression means for performing 1's complement addition by 2 bytes for each addition result, and the addition result of the compression section can be used as the error detection data. it can.

【0023】前記加算手段は、前記記憶手段に保持した
情報の先頭部分が、前記記憶手段の読み出し単位の先頭
部分であるかないかを判定し、該先頭部分でない場合に
は、前記記憶手段に保持した情報の先頭部分から前記記
憶手段の最初の読み出し単位の先頭部分の区切れ目まで
の情報について2バイトで1の補数加算をし、前記区切
れ目以降の情報について前記記憶手段から4バイトずつ
1の補数加算し、該区切れ目以降の情報についての加算
結果を2バイトずつさらに1の補数加算を行なって圧縮
し、該区切れ目以降の情報についての圧縮加算結果と、
前記区切れ目までの情報についての加算結果とを加算し
て出力する。前記加算手段は、前記記憶手段に保持した
情報の先頭部分の格納アドレスが奇数か偶数かをさらに
判定し、奇数アドレスに格納されている場合に、前記区
切れ目以降の情報についての圧縮加算結果の上位バイト
と下位バイトとのデータ交換を行ない、該データ交換し
た値と前記先頭部分から区切れ目までの情報についての
加算結果とを加算して出力することができる。
The addition means determines whether or not the head portion of the information held in the storage means is the head portion of the reading unit of the storage means, and if it is not the head portion, it is held in the storage means. The information from the beginning portion of the stored information to the break of the beginning portion of the first reading unit of the storage means is subjected to 1's complement addition with 2 bytes, and the information after the break is added with 4 bytes each from the storage means. Complement addition is performed, and the addition result for the information after the break is further compressed by performing 1's complement addition every 2 bytes, and the compression addition result for the information after the break is obtained.
The addition result of the information up to the break is added and output. The addition means further determines whether the storage address of the head portion of the information held in the storage means is an odd number or an even number. Data can be exchanged between the upper byte and the lower byte, and the exchanged value and the addition result of the information from the leading portion to the break can be added and output.

【0024】また、伝送路と、該伝送路を介して情報の
送受信する送受信装置を複数有する通信システムにおい
て、前記送受信装置は、前記伝送路に対して送受信処理
を行うネットワークインタフェース部と、送受信情報を
処理するユーザアプリケーション部と、送受信時にあら
かじめ定められたプロトコルに従って処理を行うプロト
コル制御部と、情報の送受信時に、伝送情報を正しく送
受信するための誤り検出用のチェックサムデータを付加
/検出するために、被加算データを加算処理する加算部
とを有し、前記加算部は、前記情報について順次1の補
数加算を行なう加算手段と、該加算結果についてあらか
じめ定められたデータ長の単位に区切って1の補数加算
を行なう圧縮手段とを備え、該圧縮部の加算結果を前記
誤り検出用のチェックサムデータとすることができる。
Further, in a communication system having a transmission line and a plurality of transmission / reception devices for transmitting / receiving information via the transmission line, the transmission / reception device includes a network interface unit for performing transmission / reception processing on the transmission line, and transmission / reception information. To add / detect the checksum data for error detection for correctly transmitting / receiving the transmission information when transmitting / receiving information. And an adder for adding data to be added. The adder divides the addition result into a unit of a predetermined data length for the one-complement addition. Compression means for performing 1's complement addition, and the addition result of the compression section is used for the error detection check. It can be Kusamudeta.

【0025】前記プロトコル制御部は、前記加算部を備
え、前記プロトコルに従った処理とともに、前記加算部
に対して被加算データを指示し、前記加算部は、指示さ
れた被加算データについて加算処理してチェックサムデ
ータを出力し、前記プロトコル制御部は、受信時に、前
記加算部におけるチェックサムデータに基づいて、受信
データが正しいか否かを判定し、正しい場合には、あら
かじめ定めたつぎの処理に移行し、正しくない場合に
は、受信データを廃棄する。
The protocol control section includes the adding section, and, in addition to the processing in accordance with the protocol, instructs the addition section to perform addition data, and the addition section adds processing to the instructed addition data. And outputs checksum data, and the protocol control unit, upon reception, determines whether the received data is correct based on the checksum data in the adding unit. If it is not correct, the received data is discarded.

【0026】前記プロトコル制御部は、送信時に、前記
プロトコルに従った処理の終了後に、処理した情報と該
情報の管理データとを前記ネットワークインタフェース
部に転送し、受信時に、受信した情報について前記プロ
トコルに従った処理を行い、前記ネットワークインタフ
ェース部は、前記加算部を備え、前記送受信処理ととも
に、送信時に、前記プロトコル制御部から転送された情
報と該情報の管理データとに基づいて前記加算部に対し
て被加算データを指示し、前記加算部におけるチェック
サムデータを情報に付加して前記伝送路に送出し、受信
時に、前記伝送路から情報を受信し、受信した情報に基
づいて前記加算部に対して被加算データを指示し、前記
加算部におけるチェックサムデータに基づいて、受信デ
ータが正しいか否かを判定し、正しい場合には、あらか
じめ定めたつぎの処理に移行し、正しくない場合には、
受信データを廃棄するようにしてもよい。
The protocol control unit transfers the processed information and the management data of the information to the network interface unit at the time of transmission, after the processing according to the protocol is completed, and at the time of reception, the protocol is applied to the received information. The network interface unit includes the addition unit, and the addition unit is provided to the addition unit based on the information transferred from the protocol control unit and the management data of the information at the time of transmission, together with the transmission / reception process. On the other hand, the data to be added is instructed, the checksum data in the adder is added to the information and sent to the transmission path, the information is received from the transmission path at the time of reception, and the adder is based on the received information. To the data to be added, and based on the checksum data in the adder, whether the received data is correct or not. Determines, if correct, the process proceeds to the next processing predetermined, if not correct,
The received data may be discarded.

【0027】さらに、前記ネットワークインタフェース
部は、前記加算部を備え、前記プロトコル制御部は、送
信時に、前記加算部に対して被加算データを指示し、前
記加算部におけるチェックサムデータを情報に付加し、
受信時に、前記伝送路から情報を受信し、受信した情報
に基づいて前記加算部に対して被加算データを指示し、
前記ネットワークインタフェース部は、受信時に、前記
加算部におけるチェックサムデータに基づいて、受信デ
ータが正しいか否かを判定し、正しい場合には、あらか
じめ定めたつぎの処理に移行し、正しくない場合には、
受信データを廃棄することができる。前記プロトコル制
御部は、前記情報を格納するコモンバッファを備え、前
記加算部に対して前記コモンバッファに格納している被
加算データの領域および前記チェックサムデータの格納
領域を指示し、前記加算部は、前記プロトコル制御部に
指示された被加算データの領域を参照して加算を行い、
指示されたチェックサムデータの格納領域にチェックサ
ムデータを格納することにより、チェックサムデータを
情報に付加し、前記インタフェースネットワーク部は、
送信時に、前記コモンバッファに送信情報の出力を指示
し、受信時に、前記コモンバッファに受信データを格納
することができる。
Further, the network interface unit includes the addition unit, and the protocol control unit instructs the addition unit to be added data at the time of transmission, and adds the checksum data in the addition unit to the information. Then
Upon reception, receiving information from the transmission line, and instructing the adder unit to be added data based on the received information,
At the time of reception, the network interface unit determines whether or not the received data is correct based on the checksum data in the adding unit. If the received data is correct, the process proceeds to a predetermined next process, Is
Received data can be discarded. The protocol control unit includes a common buffer that stores the information, and instructs the addition unit to specify an area for the data to be added and a storage area for the checksum data that are stored in the common buffer. Refers to the area of the data to be added, which is instructed to the protocol control unit, to perform addition,
By storing the checksum data in the designated checksum data storage area, the checksum data is added to the information, and the interface network unit
At the time of transmission, it is possible to instruct the common buffer to output transmission information, and at the time of reception, receive data can be stored in the common buffer.

【0028】また、前記ネットワークインタフェース部
は、前記加算部を備え、該加算部は、送信時に、前記プ
ロトコル制御部からの送信情報を受信し、該送信情報に
基づいて加算処理してチェックサムデータを付加して前
記ネットワークインタフェース部に出力し、受信時に、
前記ネットワークインタフェース部で受信された情報に
基づいて加算処理してチェックサムデータを出力し、前
記プロトコル制御部に受信情報を転送し、前記ネットワ
ークインタフェース部は、受信時に、前記加算部におけ
るチェックサムデータに基づいて、受信データが正しい
か否かを判定し、正しい場合には、あらかじめ定めたつ
ぎの処理に移行し、正しくない場合には、受信データを
廃棄するようにしてもよい。
Further, the network interface unit includes the adding unit, and the adding unit receives transmission information from the protocol control unit at the time of transmission, performs addition processing based on the transmission information, and performs checksum data. And output to the network interface section, and when receiving,
Addition processing is performed based on the information received by the network interface unit to output checksum data, and the received information is transferred to the protocol control unit. The network interface unit receives the checksum data in the addition unit at the time of reception. It is also possible to judge whether or not the received data is correct based on the above. If it is correct, the process proceeds to a predetermined next process, and if not, the received data may be discarded.

【0029】前記プロトコル制御部は、送信時に、前記
プロトコルに従った処理の終了後に、処理した情報と該
情報の管理データとを前記ネットワークインタフェース
部に転送し、受信時に、受信した情報について前記プロ
トコルに従った処理を行い、前記ネットワークインタフ
ェース部は、前記加算部を備え、該加算部は、送信時
に、前記プロトコル制御部からの送信情報を受信し、該
送信情報に基づいて加算処理してチェックサムデータお
よび送信情報を出力し、受信時に、前記伝送路から情報
を受信し、該情報に基づいて加算処理してチェックサム
データを出力し、前記情報を前記ネットワークインタフ
ェース部に出力し、前記ネットワークインタフェース部
は、送信時に、前記加算部から出力された送信情報にチ
ェックサムデータを付加して前記伝送路に送信情報を送
出し、受信時に、前記加算部におけるチェックサムデー
タに基づいて、受信データが正しいか否かを判定し、正
しい場合には、あらかじめ定めたつぎの処理に移行し、
正しくない場合には、受信データを廃棄することができ
る。
The protocol control section transfers the processed information and the management data of the information to the network interface section at the time of transmission, after the processing according to the protocol is completed, and at the time of reception, the received information is processed by the protocol. The network interface unit includes the addition unit, and the addition unit receives transmission information from the protocol control unit at the time of transmission, and performs addition processing based on the transmission information and checks the transmission information. Outputting sum data and transmission information, receiving the information from the transmission path at the time of reception, adding processing based on the information, outputting checksum data, outputting the information to the network interface unit, The interface section, when transmitting, adds checksum data to the transmission information output from the adding section. In addition, the transmission information is sent to the transmission path, and at the time of reception, it is determined whether or not the reception data is correct based on the checksum data in the adding unit. If the reception data is correct, the next predetermined process is performed. Migrated,
If it is incorrect, the received data can be discarded.

【0030】前記ネットワークインタフェース部は、前
記加算部を備え、前記プロトコル制御部は、送信時に、
前記加算部に対して被加算データを指示し、前記加算部
におけるチェックサムデータを情報に付加し、前記加算
部は、受信時に、前記伝送路から情報を受信し、該情報
に基づいて加算処理してチェックサムデータを出力し、
前記情報を前記プロトコル制御部に出力し、前記ネット
ワークインタフェース部は、受信時に、前記加算部にお
けるチェックサムデータに基づいて、受信データが正し
いか否かを判定し、正しい場合には、あらかじめ定めた
つぎの処理に移行し、正しくない場合には、受信データ
を廃棄するようにしてもよい。
The network interface unit includes the adding unit, and the protocol control unit, when transmitting,
Instructing the data to be added to the adder unit, adding the checksum data in the adder unit to the information, and the adder unit receives the information from the transmission path at the time of reception, and performs the addition process based on the information. And output checksum data,
The information is output to the protocol control unit, and when receiving, the network interface unit determines whether the received data is correct based on the checksum data in the adding unit. If it is not correct, the received data may be discarded.

【0031】[0031]

【作用】上記手段を実行すると、先頭データ判定部が、
記憶手段に格納されているデータの先頭部分のアドレス
が、前記記憶手段の読み出し単位の先頭部分(バウンダ
リ)であるかないかを判定する。前記記憶手段の読み出
し単位の先頭部分でない場合に、データ退避部が、先頭
データからアクセス可能な区切れ目までのデータを退避
する。つぎに、加算部が、前記区切れ目以降のデータに
ついて前記記憶手段の読み出し単位で前記記憶手段から
読み出し、該読み出したデータについて順次1の補数加
算を行なう。更に、その加算結果を、圧縮部があらかじ
め定められたデータ長の単位に区切って1の補数加算を
行ない、あらかじめ定められたデータ長の圧縮加算結果
を生成する。
When the above means is executed, the head data judging section
It is determined whether or not the address of the head portion of the data stored in the storage means is the head portion (boundary) of the reading unit of the storage means. The data saving unit saves the data from the first data to the accessible break when it is not the first part of the reading unit of the storage unit. Next, the adder reads the data after the break in units of reading from the storage, and sequentially performs one's complement addition on the read data. Further, the compression unit divides the addition result into units of a predetermined data length and performs one's complement addition to generate a compression addition result of the predetermined data length.

【0032】そして、前記記憶手段の読み出し単位の先
頭部分である場合、圧縮加算結果を出力して処理は終了
する。
Then, if it is the head portion of the reading unit of the storage means, the compression addition result is output and the processing is terminated.

【0033】また、先頭データ判定部は、前記記憶手段
に格納されたデータの先頭部分の格納アドレスが奇数か
偶数かをさらに判定し、前記記憶手段に格納されたデー
タの先頭部分の格納アドレスが奇数アドレスの場合、デ
ータ補正部が、圧縮加算結果の上位バイトと下位バイト
とを交換する。前記記憶手段の読み出し単位の先頭部分
でない場合に、退避データ加算部が、退避データとデー
タ補正部のデータ交換されたデータとを1の補数加算
し、その加算結果を出力して処理は終了する。
The head data determination unit further determines whether the storage address of the head portion of the data stored in the storage means is odd or even, and the storage address of the head portion of the data stored in the storage means is In the case of an odd address, the data correction unit exchanges the upper byte and the lower byte of the compression addition result. When it is not the first part of the reading unit of the storage means, the save data addition unit adds 1's complement to the save data and the data exchanged data of the data correction unit, outputs the addition result, and the process ends. .

【0034】これにより、あらかじめ定められたデータ
長より大きい単位の前記記憶手段からデータを読み出し
て順次1の補数加算し、その加算結果をあらかじめ定め
られたデータ長に圧縮加算するので、加算回数を従来の
加算回数より少なくすることができ、処理時間を短縮す
ることができる。
As a result, the data is read from the storage means in a unit larger than the predetermined data length, the one's complement is sequentially added, and the addition result is compressed and added to the predetermined data length. The number of times of addition can be reduced as compared with the conventional number, and the processing time can be shortened.

【0035】また、上記加算システムを通信システムに
利用した場合には、チェックサムデータの計算が高速に
処理できるので、通信システムにおける処理を高速化す
ることができる。この場合において、加算システムを通
信システムのどこに有するかにより、下記のようにいろ
いろな態様とすることができる。
Further, when the above addition system is used in a communication system, the checksum data can be calculated at high speed, so that the processing in the communication system can be speeded up. In this case, depending on where the addition system is provided in the communication system, various modes can be adopted as described below.

【0036】通信システムとしては、伝送路と、該伝送
路を介して情報の送受信する送受信装置を複数有する通
信システムにおいて、前記送受信装置は、前記伝送路に
対して送受信処理を行うネットワークインタフェース部
と、送受信情報を処理するユーザアプリケーション部
と、送受信時にあらかじめ定められたプロトコルに従っ
て処理を行うプロトコル制御部と、情報の送受信時に、
伝送情報を正しく送受信するための誤り検出用のチェッ
クサムデータを付加/検出するために、被加算データを
加算処理する加算部とを有する。
As the communication system, in a communication system having a transmission line and a plurality of transmission / reception devices for transmitting / receiving information via the transmission line, the transmission / reception device includes a network interface unit for performing transmission / reception processing on the transmission line. , A user application unit that processes transmission / reception information, a protocol control unit that processes according to a predetermined protocol at the time of transmission / reception, and at the time of transmission / reception of information,
And an adder unit that adds the data to be added in order to add / detect the checksum data for error detection for correctly transmitting / receiving the transmission information.

【0037】前記加算部を、前記プロトコル制御部に設
ける場合には、前記プロトコル制御部は、前記プロトコ
ルに従った処理とともに、前記加算部に対して被加算デ
ータを指示する。これに対して、前記加算部は、指示さ
れた被加算データについて加算処理してチェックサムデ
ータを出力し、前記プロトコル制御部は、受信時に、前
記加算部におけるチェックサムデータに基づいて、受信
データが正しいか否かを判定し、正しい場合には、あら
かじめ定めたつぎの処理に移行し、正しくない場合に
は、受信データを廃棄する。
When the addition unit is provided in the protocol control unit, the protocol control unit instructs the addition unit to be added data together with the process according to the protocol. On the other hand, the adder performs addition processing on the instructed data to be added, and outputs checksum data. Is correct, and if correct, the process proceeds to the next predetermined process, and if not correct, the received data is discarded.

【0038】また、前記加算部を、前記ネットワークイ
ンタフェース部に設ける場合には、前記プロトコル制御
部は、送信時に、前記プロトコルに従った処理の終了後
に、処理した情報と該情報の管理データとを前記ネット
ワークインタフェース部に転送し、受信時に、受信した
情報について前記プロトコルに従った処理を行う。前記
ネットワークインタフェース部は、送受信処理ととも
に、送信時に、前記プロトコル制御部から転送された情
報と該情報の管理データとに基づいて前記加算部に対し
て被加算データを指示し、前記加算部におけるチェック
サムデータを情報に付加して前記伝送路に送出し、受信
時に、前記伝送路から情報を受信し、受信した情報に基
づいて前記加算部に対して被加算データを指示し、前記
加算部におけるチェックサムデータに基づいて、受信デ
ータが正しいか否かを判定し、正しい場合には、あらか
じめ定めたつぎの処理に移行し、正しくない場合には、
受信データを廃棄するようにしてもよい。
Further, when the addition unit is provided in the network interface unit, the protocol control unit, at the time of transmission, stores the processed information and the management data of the information after the processing according to the protocol is completed. The information is transferred to the network interface unit, and when received, the received information is processed according to the protocol. At the time of transmission / reception processing, the network interface unit instructs the addition unit based on the information transferred from the protocol control unit and the management data of the information at the time of transmission, and checks in the addition unit. The sum data is added to the information and sent to the transmission path, when the information is received, the information is received from the transmission path, and the added data is instructed to the addition section based on the received information. Based on the checksum data, it is determined whether the received data is correct, and if it is correct, the process moves to the next predetermined process. If it is not correct,
The received data may be discarded.

【0039】さらに、前記加算部を、前記ネットワーク
インタフェース部に設ける場合には、他の態様として、
前記プロトコル制御部は、送信時に、前記加算部に対し
て被加算データを指示し、前記加算部におけるチェック
サムデータを情報に付加し、受信時に、前記伝送路から
情報を受信し、受信した情報に基づいて前記加算部に対
して被加算データを指示する。前記ネットワークインタ
フェース部は、受信時に、前記加算部におけるチェック
サムデータに基づいて、受信データが正しいか否かを判
定し、正しい場合には、あらかじめ定めたつぎの処理に
移行し、正しくない場合には、受信データを廃棄するこ
とができる。この場合、前記プロトコル制御部は、前記
情報を格納するコモンバッファを備え、前記加算部に対
して前記コモンバッファに格納している被加算データの
領域および前記チェックサムデータの格納領域を指示す
る。前記加算部は、前記プロトコル制御部に指示された
被加算データの領域を参照して加算を行い、指示された
チェックサムデータの格納領域にチェックサムデータを
格納することにより、チェックサムデータを情報に付加
し、前記インタフェースネットワーク部は、送信時に、
前記コモンバッファに送信情報の出力を指示し、受信時
に、前記コモンバッファに受信データを格納することが
できる。
Furthermore, when the addition unit is provided in the network interface unit, as another aspect,
At the time of transmission, the protocol control unit instructs the addition unit to be added data, adds the checksum data in the addition unit to information, and at the time of reception, receives information from the transmission path and receives the received information. The data to be added is instructed to the adder based on the above. At the time of reception, the network interface unit determines whether or not the received data is correct based on the checksum data in the adding unit. If the received data is correct, the process proceeds to a predetermined next process, Can discard the received data. In this case, the protocol control unit includes a common buffer that stores the information, and instructs the adding unit to specify the area of the added data and the storage area of the checksum data that are stored in the common buffer. The addition unit refers to the area of the data to be added instructed by the protocol control unit, performs addition, and stores the checksum data in the storage area of the instructed checksum data, thereby checking the checksum data. In addition, the interface network unit, when transmitting,
It is possible to instruct the common buffer to output transmission information and store the reception data in the common buffer at the time of reception.

【0040】また、前記加算部を、前記ネットワークイ
ンタフェース部に設ける場合の他の態様として、該加算
部は、送信時に、前記プロトコル制御部からの送信情報
を受信し、該送信情報に基づいて加算処理してチェック
サムデータを付加して前記ネットワークインタフェース
部に出力し、受信時に、前記ネットワークインタフェー
ス部で受信された情報に基づいて加算処理してチェック
サムデータを出力し、前記プロトコル制御部に受信情報
を転送する。前記ネットワークインタフェース部は、受
信時に、前記加算部におけるチェックサムデータに基づ
いて、受信データが正しいか否かを判定し、正しい場合
には、あらかじめ定めたつぎの処理に移行し、正しくな
い場合には、受信データを廃棄するようにしてもよい。
As another aspect of the case where the addition unit is provided in the network interface unit, the addition unit receives the transmission information from the protocol control unit at the time of transmission, and adds based on the transmission information. Processed, add checksum data and output to the network interface unit, and upon reception, perform addition processing based on information received by the network interface unit, output checksum data, and receive to the protocol control unit Transfer information. At the time of reception, the network interface unit determines whether or not the received data is correct based on the checksum data in the adding unit. If the received data is correct, the process proceeds to a predetermined next process, May discard the received data.

【0041】さらに、前記加算部を、前記ネットワーク
インタフェース部に設ける場合の他の態様として、前記
プロトコル制御部は、送信時に、前記プロトコルに従っ
た処理の終了後に、処理した情報と該情報の管理データ
とを前記ネットワークインタフェース部に転送し、受信
時に、受信した情報について前記プロトコルに従った処
理を行う。該加算部は、送信時に、前記プロトコル制御
部からの送信情報を受信し、該送信情報に基づいて加算
処理してチェックサムデータおよび送信情報を出力し、
受信時に、前記伝送路から情報を受信し、該情報に基づ
いて加算処理してチェックサムデータを出力し、前記情
報を前記ネットワークインタフェース部に出力する。前
記ネットワークインタフェース部は、送信時に、前記加
算部から出力された送信情報にチェックサムデータを付
加して前記伝送路に送信情報を送出し、受信時に、前記
加算部におけるチェックサムデータに基づいて、受信デ
ータが正しいか否かを判定し、正しい場合には、あらか
じめ定めたつぎの処理に移行し、正しくない場合には、
受信データを廃棄することができる。
Further, as another aspect of the case where the addition unit is provided in the network interface unit, the protocol control unit, at the time of transmission, after the processing according to the protocol is finished, manages the processed information and the information. Data and data are transferred to the network interface unit, and when received, the received information is processed according to the protocol. The addition unit receives transmission information from the protocol control unit during transmission, performs addition processing based on the transmission information, and outputs checksum data and transmission information,
Upon reception, information is received from the transmission path, addition processing is performed based on the information, checksum data is output, and the information is output to the network interface unit. The network interface unit, at the time of transmission, adds checksum data to the transmission information output from the addition unit and sends the transmission information to the transmission path, and at the time of reception, based on the checksum data in the addition unit, It judges whether the received data is correct, and if it is correct, it moves to the next predetermined process, and if it is not correct,
Received data can be discarded.

【0042】また、前記加算部を、前記ネットワークイ
ンタフェース部に設ける場合の他の態様として、前記プ
ロトコル制御部は、送信時に、前記加算部に対して被加
算データを指示し、前記加算部におけるチェックサムデ
ータを情報に付加する。前記加算部は、受信時に、前記
伝送路から情報を受信し、該情報に基づいて加算処理し
てチェックサムデータを出力し、前記情報を前記プロト
コル制御部に出力する。前記ネットワークインタフェー
ス部は、受信時に、前記加算部におけるチェックサムデ
ータに基づいて、受信データが正しいか否かを判定し、
正しい場合には、あらかじめ定めたつぎの処理に移行
し、正しくない場合には、受信データを廃棄する。
As another aspect of the case where the addition unit is provided in the network interface unit, the protocol control unit instructs the addition unit at the time of transmission of data to be added and checks the addition unit. Add thumb data to information. Upon receiving, the adder receives information from the transmission path, performs addition processing based on the information, outputs checksum data, and outputs the information to the protocol controller. The network interface unit, when receiving, based on the checksum data in the adding unit, determines whether the received data is correct,
If it is correct, the process moves to the next predetermined process, and if it is not correct, the received data is discarded.

【0043】[0043]

【実施例】以下、本発明の一実施例を説明する。本実施
例は、高速加算システムを実装する情報処理装置が扱え
るデータの大きさが4バイトの場合を例にする。
EXAMPLE An example of the present invention will be described below. In the present embodiment, the case where the size of data that can be handled by the information processing device that implements the high-speed addition system is 4 bytes is taken as an example.

【0044】初めに、高速加算システムを、伝送媒体を
FDDIとするTCP/IPプロトコルによるネットワ
ーク通信に使用する例を、図7および図8を用いて説明
する。TCP/IPプロトコルでは、送信側、受信側共
に、AP(Application Program)、TCP層、IP層
およびドライバ層からなる階層構造になっていて、送信
データおよび受信データに対して、各層で色々な処理が
施される。その処理の中で、高速加算システムは、TC
P層とIP層とでデータの誤り検出のために行なう、チ
ェックサム処理に使用する。
First, an example in which the high-speed addition system is used for network communication by the TCP / IP protocol in which the transmission medium is FDDI will be described with reference to FIGS. 7 and 8. The TCP / IP protocol has a hierarchical structure including an AP (Application Program), a TCP layer, an IP layer, and a driver layer on both the transmitting side and the receiving side. Is applied. In the process, the high-speed addition system is TC
It is used for the checksum processing performed for data error detection in the P layer and the IP layer.

【0045】初めに、送信側の情報処理装置における処
理について図7を用いて説明する。図7は、送信側の階
層構造、データの流れ、および、チェックサム処理を示
した図である。送信側では、まずAP701で送信データ7
11の作成を行なう。図7に示す例では、FDDI上の最
大パケットサイズが4.5キロバイトであることより、送
信データ711は4430バイトとした。AP701で作成された
送信データ711は、TCP層702に渡され、データの誤り
検出の精度をあげるために、TCP層702でのチェック
サム時にのみ付加される20バイトの擬似ヘッダ712と、
TCPプロトコル情報が格納されている20バイトのTC
Pヘッダ713との誤り検出用データが付加される。TC
P層702のチェックサム部705は、TCPヘッダ713中の
2バイトのTCPチェックサム値格納エリア714をゼロ
クリアしてから、TCP層702で付加された40バイトの
ヘッダと4430バイトの送信データ711との合計4470バイ
トを高速加算システム706の被加算データとし、2バイ
トの加算結果を求める。そして、求まった加算結果の1
の補数をとり(処理707)、それをTCPチェックサム
値格納エリア714に代入し、TCPヘッダ713と送信デー
タ711をIP層703に渡す。IP層703では渡されたデー
タに、IPプロトコル情報が格納されている20バイトの
IPヘッダ716を付加する。IP層703のチェックサム部
708はIPヘッダ716中の2バイトのIPチェックサム値
格納エリア715をゼロクリアしてから、20バイトのIP
ヘッダ716を高速加算システム709の被加算データとして
2バイトの加算結果を求める。そして、チェックサム部
703は、求まった加算結果の1の補数をとり(処理71
0)、それをIPチェックサム値格納エリア715に代入
し、IPヘッダ716、TCPヘッダ713および送信データ
711をドライバ層704に渡す。ドライバ層704では、渡さ
れたデータに、13バイトのMAC(Media Access Contr
ol)ヘッダと3バイトのLLC(Logical Link Contro
l)ヘッダと5バイトのSNAP(Sub-Network Access
Protocol)ヘッダとからなる21バイトのFDDIヘッダ
717を付加し、FDDI回線718を介して受信側に送信す
る。
First, the processing in the information processing device on the transmission side will be described with reference to FIG. FIG. 7 is a diagram showing a hierarchical structure on the transmitting side, a data flow, and a checksum process. On the sending side, first send data with AP701 7
Create 11. In the example shown in FIG. 7, since the maximum packet size on FDDI is 4.5 kilobytes, the transmission data 711 is set to 4430 bytes. The transmission data 711 created by the AP 701 is passed to the TCP layer 702, and in order to improve the accuracy of data error detection, a 20-byte pseudo header 712 added only at the time of checksum in the TCP layer 702,
20-byte TC that stores TCP protocol information
Data for error detection with the P header 713 is added. TC
The checksum unit 705 of the P layer 702 clears the 2-byte TCP checksum value storage area 714 in the TCP header 713 to zero, and then adds the 40-byte header added in the TCP layer 702 and the 4430-byte transmission data 711. 4470 bytes in total are used as the data to be added by the high-speed addition system 706, and the addition result of 2 bytes is obtained. And 1 of the addition result obtained
Of the TCP checksum value storage area 714, and the TCP header 713 and the transmission data 711 are passed to the IP layer 703. The IP layer 703 adds a 20-byte IP header 716 storing the IP protocol information to the passed data. Checksum part of IP layer 703
708 is a 20-byte IP after clearing the 2-byte IP checksum value storage area 715 in the IP header 716 to zero.
A 2-byte addition result is obtained by using the header 716 as the data to be added by the high-speed addition system 709. And the checksum part
703 takes the one's complement of the obtained addition result (processing 71
0), substituting it in the IP checksum value storage area 715, the IP header 716, the TCP header 713, and the transmission data.
Pass 711 to driver layer 704. In the driver layer 704, the 13-byte MAC (Media Access Contr
ol) header and 3-byte LLC (Logical Link Contro)
l) Header and 5-byte SNAP (Sub-Network Access)
Protocol) header with 21 bytes FDDI header
717 is added and the data is transmitted to the receiving side via the FDDI line 718.

【0046】つぎに、受信側の情報処理装置における処
理について図8を用いて説明する。図8は、受信側の階
層構造、データの流れ、および、チェックサム処理を示
した図である。ドライバ層805は、FDDI回線801を介
して送信側から送信された21バイトのFDDIヘッダ81
4、20バイトのIPヘッダ815、20バイトのTCPヘッダ
816および4430バイトの送信データ817からなる受信デー
タからFDDIヘッダ814を取り除き、IP層804に渡
す。IP層804のチェックサム部810は、IPヘッダ815
を高速加算システム811の被加算データとして2バイト
の加算結果を求める。そして、求まった加算結果の1の
補数をとり(処理812)、それが0かどうかの判定をし
(処理813)、0ならば受信データは正しいので、IP
ヘッダ815を取り除いてからTCPヘッダ816と送信デー
タ817とをTCP層803に渡し、0以外ならば受信データ
には誤りが有るので廃棄する。TCP層803では、渡さ
れたデータに、データの誤り検出の精度をあげるため
に、TCP層803でのチェックサム時にのみ付加される2
0バイトの擬似ヘッダ818を付加する。
Next, the processing in the information processing device on the receiving side will be described with reference to FIG. FIG. 8 is a diagram showing a hierarchical structure on the receiving side, a data flow, and a checksum process. The driver layer 805 has a 21-byte FDDI header 81 transmitted from the transmission side via the FDDI line 801.
4, 20-byte IP header 815, 20-byte TCP header
The FDDI header 814 is removed from the reception data composed of the transmission data 817 of 816 and 4430 bytes, and is passed to the IP layer 804. The checksum portion 810 of the IP layer 804 is the IP header 815.
Is added as data to be added by the high-speed addition system 811 to obtain a 2-byte addition result. Then, the one's complement of the obtained addition result is taken (process 812) and it is judged whether it is 0 (process 813). If it is 0, the received data is correct.
After removing the header 815, the TCP header 816 and the transmission data 817 are passed to the TCP layer 803, and if it is other than 0, the received data has an error and is discarded. In the TCP layer 803, it is added to the passed data only at the time of checksum in the TCP layer 803 in order to improve the accuracy of data error detection.
A 0-byte pseudo header 818 is added.

【0047】TCP層803のチェックサム部809は、擬似
ヘッダ818、TCPヘッダ816および送信データ817を高
速加算システム806の被加算データとして2バイトの加
算結果を求める。そして求まった加算結果の1の補数を
とり(処理807)、それが0かどうかの判定をし(処理8
08)、0ならば受信データは正しいので、擬似ヘッダ81
8およびTCPヘッダ816を取り除いてから送信データ81
7をAP802に渡し、受信処理は完了する。また、0以外
ならば受信データには誤りが有るので廃棄する。TCP
/IPプロトコルによるネットワーク通信の場合、受信
データの誤りが検出されると、データを廃棄すると同時
に、送信側に再度データを送信することを要求し、送信
側は要求を受けるとただちにもう1度データの送信を行
なう。
The checksum unit 809 of the TCP layer 803 uses the pseudo header 818, the TCP header 816, and the transmission data 817 as the data to be added by the high-speed addition system 806 to obtain a 2-byte addition result. Then, the one's complement of the obtained addition result is taken (process 807), and it is determined whether it is 0 (process 8).
08), the received data is correct if 0, so the pseudo header 81
8 and TCP header 816 are removed before sending data 81
7 is passed to AP802, and the reception process is completed. If it is not 0, the received data has an error and is discarded. TCP
In the case of network communication using the / IP protocol, when an error in the received data is detected, the data is discarded and at the same time the sender is requested to send the data again. Is sent.

【0048】つぎに、本高速加算システムが、1の補数
加算による加算処理の加算回数を削減するために用いて
いる、1の補数加算の特性について図9および図10を用
いて説明する。
Next, the characteristics of 1's complement addition used by the high-speed addition system to reduce the number of times of addition processing by 1's complement addition will be described with reference to FIGS. 9 and 10.

【0049】初めに、1の補数加算に桁数の制限が無い
ことを図9を用いて説明する。図9は、任意の数n桁の
データC901とデータD904とを1の補数加算する例を示
している。まず、データC901の最下位桁902とデータD
904の最下位桁905とを加算し、加算結果907の最下位桁9
08を求める。つぎに、データC901の下位2桁目903とデ
ータD904の下位2桁目906とを加算し、更に、最下位桁
の加算により桁あふれが生じている場合は、その桁あふ
れも加算して加算結果907の下位2桁目909を求める。同
様にして、加算結果を最上位桁まで求め、最上位桁の加
算により桁あふれが生じている場合は、桁あふれ910を
加算結果907の最下位桁908に加算して、1の補数加算は
終了する。このように、1の補数加算は、被加算データ
の桁数を任意の数nにして行なっても同様の手順で加算
結果を求めることが可能である。よって、被加算データ
の桁数を任意の大きさに拡大して加算を行ない、その加
算結果を2バイト長で更に加算することにより、2バイ
ト長による加算と同じ加算結果を求めることが可能であ
る。
First, it will be described with reference to FIG. 9 that the number of digits is not limited in 1's complement addition. FIG. 9 shows an example in which the data C901 and the data D904 having an arbitrary number n digits are subjected to 1's complement addition. First, the least significant digit 902 of data C901 and data D
The lowest digit 905 of 904 is added, and the lowest digit 9 of the addition result 907
Ask for 08. Next, the lower-order second digit 903 of the data C901 and the lower-order second digit 906 of the data D904 are added, and when a digit overflow occurs due to the addition of the lowest digit, the overflow is also added and added. The second lower digit 909 of the result 907 is obtained. Similarly, the addition result is calculated up to the most significant digit, and if an overflow occurs due to the addition of the most significant digit, the overflow 910 is added to the least significant digit 908 of the addition result 907, and 1's complement addition is not performed. finish. As described above, the one's complement addition can be performed by the same procedure even if the number of digits of the data to be added is set to an arbitrary number n. Therefore, by expanding the number of digits of the data to be added to an arbitrary size and performing addition, and further adding the addition result with a 2-byte length, it is possible to obtain the same addition result as the addition with a 2-byte length. is there.

【0050】ここで、上記加算を数式にして下記に示
す。
Here, the above addition is expressed as a mathematical expression below.

【0051】ただし、下記の式において、k=1,…,
K(K=被チェックサムバイト数÷n)であり、「Wk
(w12…wn)」は、nバイトの値w12…wnからな
る加算バッファの内容を示し、「Uk(u12…un)」
は、nバイトの値u12…unからなるデータを示し、
「Sum」はチェックサム値を示し、「+’」は1の補
数加算を示す。
However, in the following equation, k = 1, ...,
K (K = number of checked sum bytes / n), and “W k
(W 1 w 2 ... w n ) "indicates the content of summing buffer consisting of a value w 1 w 2 ... w n of n bytes," U k (u 1 u 2 ... u n) "
Indicates data consisting of n-byte values u 1 u 2 ... u n ,
“Sum” indicates a checksum value, and “+ ′” indicates 1's complement addition.

【0052】[0052]

【数1】W0=0## EQU1 ## W 0 = 0

【0053】[0053]

【数2】 Wk(w12…wn16=Wk-1(w12…wn16+’Uk(u12…un16 [Number 2] W k (w 1 w 2 ... w n) 16 = W k-1 (w 1 w 2 ... w n) 16 + 'U k (u 1 u 2 ... u n) 16

【0054】[0054]

【数3】 Sum16=WK(w1216+’WK(w3416+’…+’WK(wn-1n
16 16バイトのデータについて、上記加算のn=4の場合
を用いた加算例を図25を用いて説明する。図25に示
すように、はじめに16バイトデータ2501を4バイトで
加算する。加算終了後、1の補数加算として加算時の桁
あふれである2を最下位バイトに加算し、4バイト長加
算結果2502を求める。つぎに、4バイト加算結果2502を
2バイト長で加算する。加算終了後、1の補数加算とし
て加算時の桁あふれである1を最下位バイトに加算して
2バイト長加算結果2503を求める。2バイト長加算結果
2503は、16進数で3BC4になり、図4に示した2バ
イト長加算結果と同じになる。
## EQU3 ## Sum 16 = W K (w 1 w 2 ) 16 + 'W K (w 3 w 4 ) 16 +' ... + 'W K (w n-1 w n ).
An example of addition of 16 16-byte data using the case of n = 4 of the above addition will be described with reference to FIG. As shown in FIG. 25, 16-byte data 2501 is first added in 4 bytes. After completion of the addition, as a complement addition of 1, 2 which is an overflow at the time of addition is added to the least significant byte to obtain a 4-byte length addition result 2502. Next, the 4-byte addition result 2502 is added with a 2-byte length. After completion of the addition, as a complement addition of 1, 1 which is an overflow at the time of addition is added to the least significant byte to obtain a 2-byte length addition result 2503. 2-byte length addition result
2503 is 3BC4 in hexadecimal, which is the same as the 2-byte length addition result shown in FIG.

【0055】このように、1の補数加算においては、桁
あふれがあるときには上位の桁に加算し、最上位の桁の
桁あふれは最下位の桁に加算するので、桁数の制限が無
いことがわかる。
As described above, in the one's complement addition, when there is a digit overflow, the higher digit is added, and the overflow of the highest digit is added to the lowest digit. Therefore, there is no limitation on the number of digits. I understand.

【0056】つぎに、1の補数加算は、加算位置の入替
えが可能であることを図10を用いて説明する。図10は、
被加算データの上位桁と下位桁とを入替えて加算を行な
い、加算終了後、加算結果の上位桁と下位桁を入替える
1の補数加算の例である。まず、図6に示すようなデー
タA601の上位桁603と下位桁602とを入替えたデータE1
001の下位桁1002と、データB604の上位桁606と下位桁6
05とを入替えたデータF1004の下位桁1005を加算し、加
算結果1007の下位桁1008を求める。つぎに、データE10
01の上位桁1003とデータF1004の上位桁1006を加算し、
更に、下位桁の加算により桁あふれが生じている場合
は、その桁あふれも加算して加算結果1007の上位桁1009
を求める。上位桁の加算により桁あふれが生じている場
合は、桁あふれ1010を加算結果1007の下位桁1008に加算
する。そして、加算結果1007の上位桁1009と下位桁1008
とを入替えることにより、加算結果1011が求まり1の補
数加算は終了する。入替えた後の加算結果1011の下位桁
1012は、データA601の下位桁602とデータB604の下位
桁605と上位桁の加算による桁あふれ610が加算されたも
ので、上位桁1013は、データA601の上位桁603とデータ
B604の上位桁606と下位桁の加算による桁あふれが加算
されたものになっていて、図6に示す加算結果607と同
じ値になる。このように、1の補数加算は、被加算デー
タの上位桁と下位桁とを入替えて加算を行ない、加算終
了後、加算結果の上位桁と下位桁を入れ替えることによ
り、最初の状態の被加算データに対する加算と同じ加算
結果を求めることが可能である。よって、被加算データ
の任意の位置から加算を行ない、加算結果終了後に、加
算位置の補正を行なうことにより、元のデータ列に対す
る加算と同じ加算結果を求めることが可能である。
Next, it will be described with reference to FIG. 10 that the addition positions can be exchanged in the 1's complement addition. Figure 10
This is an example of 1's complement addition in which the upper digit and the lower digit of the data to be added are exchanged to perform the addition, and after the addition is completed, the upper digit and the lower digit of the addition result are exchanged. First, the data E1 in which the upper digit 603 and the lower digit 602 of the data A601 as shown in FIG.
Lower digit 1002 of 001, upper digit 606 and lower digit 6 of data B604
The lower digit 1005 of the data F1004 in which 05 is replaced is added, and the lower digit 1008 of the addition result 1007 is obtained. Next, data E10
Add the upper digit 1003 of 01 and the upper digit 1006 of data F1004,
Furthermore, if a digit overflow occurs due to the addition of the lower digits, the overflow is also added and the higher digit 1009 of the addition result 1007 is added.
Ask for. If a digit overflow occurs due to the addition of the high-order digits, the digit overflow 1010 is added to the low-order digit 1008 of the addition result 1007. Then, the higher digit 1009 and the lower digit 1008 of the addition result 1007
By replacing and, the addition result 1011 is obtained, and the 1's complement addition is completed. Lower digit of addition result 1011 after replacement
1012 is the sum of the lower digit 602 of the data A601, the lower digit 605 of the data B604, and the overflow 610 due to the addition of the upper digit, and the upper digit 1013 is the upper digit 603 of the data A601 and the upper digit 606 of the data B604. And the overflow caused by the addition of the lower digits are added, and the same value as the addition result 607 shown in FIG. 6 is obtained. As described above, in the 1's complement addition, the upper digit and the lower digit of the augend data are exchanged to perform the addition, and after the addition is completed, the upper digit and the lower digit of the addition result are exchanged, whereby the augend of the first state is added. It is possible to obtain the same addition result as the addition to the data. Therefore, it is possible to obtain the same addition result as the addition to the original data string by performing the addition from an arbitrary position of the data to be added and correcting the addition position after the end of the addition result.

【0057】ここで、上記加算を数式にして下記に示
す。
Here, the above addition is expressed as a mathematical expression below.

【0058】ただし、下記の式において、「W(w
12)」は、2バイトの値w12からなる加算バッファ
の内容を示し、「U(u12)」は、2バイトの値u1
2からなるデータを示し、「Sum」はチェックサム
値を示し、「+’」は1の補数加算を示す。
However, in the following equation, "W (w
1 w 2 ) ”indicates the contents of the addition buffer consisting of the 2-byte value w 1 w 2 , and“ U (u 1 u 2 ) ”is the 2-byte value u 1
Data consisting of u 2 , "Sum" indicates a checksum value, and "+ '" indicates 1's complement addition.

【0059】[0059]

【数4】W0(w1216=U1(0u116 [Formula 4] W 0 (w 1 w 2 ) 16 = U 1 (0u 1 ) 16

【0060】[0060]

【数5】 W(w1216=W0(w1216+’U2(u2316+’U2(u4516+ ’…## EQU00005 ## W (w 1 w 2 ) 16 = W 0 (w 1 w 2 ) 16 + 'U 2 (u 2 u 3 ) 16 +' U 2 (u 4 u 5 ) 16 + '...

【0061】[0061]

【数6】Sum16=W(w2116 16バイトのデータについて、上記加算を用いた加算例
を図26を用いて説明する。図26に示すように、はじ
めに16バイトデータ2601を1バイト目のデータを右
側、2バイト目のデータを左側というように位置を入れ
替えて加算する。加算終了後、1の補数加算として加算
時の桁あふれである3を最下位バイトに加算し、加算結
果2602を求める。つぎに、加算結果2602の上位バイトと
下位バイトとの交換を行い、補正加算結果2603を求め
る。加算結果2603は、16進数で3BC4になり、図4
に示した2バイト長加算結果と同じになる。
[Equation 6] Sum 16 = W (w 2 w 1 ) 16 16 bytes of data will be described with reference to FIG. 26 as an example of addition using the above addition. As shown in FIG. 26, first, the 16-byte data 2601 is added by replacing the positions of the first byte data on the right side and the second byte data on the left side. After the addition is completed, as a complement addition of 1, 3 which is an overflow at the time of addition is added to the least significant byte, and an addition result 2602 is obtained. Next, the upper byte and the lower byte of the addition result 2602 are exchanged to obtain the corrected addition result 2603. The addition result 2603 becomes 3BC4 in hexadecimal, as shown in FIG.
It is the same as the 2-byte length addition result shown in.

【0062】このように、1の補数加算は、加算位置を
替えて加算し、加算終了後、さらに入替えた結果と、入
れ替えないで加算した結果とが同じになるために加算位
置の入替えが可能である。
As described above, in the 1's complement addition, the addition positions are changed and added, and after the addition is completed, the result of further replacement and the result of addition without replacement are the same, so the addition positions can be replaced. Is.

【0063】つぎに、本高速加算システムを構成する各
ブロックと、各ブロックによる処理、および、データの
流れの例を図12を用いて説明する。
Next, an example of each block constituting the high-speed addition system, processing by each block, and data flow will be described with reference to FIG.

【0064】図12において、被加算データ格納エリア
1201は、記憶手段であり、被加算データを格納する場所
で、本高速加算システムの入力部になっている。先頭デ
ータ判定部1202は、被加算データの先頭部分が前記記憶
手段の同時読出し可能なデータ長の区切れ目であるかな
いかを判定する。先頭データ判定部1202では、被加算デ
ータの先頭データの格納アドレスの判定(以下、アドレ
ス判定と呼ぶ)と、先頭の4バイトを1度にアクセス可
能かどうかの判定(以下、バウンダリ判定と呼ぶ)とを
する。バウンダリ判定とは、アクセスを行なう4バイト
中にバウンダリが有るかどうかを調べることであり、無
い場合はアクセス可能(以下バウンダリ適と呼ぶ)で、
有る場合はアクセス不可能(以下バウンダリ不適と呼
ぶ)になる。データ退避部1203は、バウンダリ不適の場
合に、先頭データからアクセス可能なデータまでを退避
する。退避データ格納エリア1204は、データ退避部によ
り退避したデータを格納させる場所である。データ退避
部1203に、退避データ格納エリア1204を備えるようにし
てもよい。4バイト長加算部1207は、被加算データに対
して4バイト長で1の補数加算を行なうものである。4
バイト長データ格納エリア1208は、4バイト長加算部12
07の加算結果である4バイト長データを格納する場所で
ある。2バイト長圧縮部1205は、4バイト長データおよ
び退避データに対して2バイト長で1の補数加算を行な
うものである。2バイト長データ格納エリア1209は、4
バイト長データに対して、2バイト長圧縮部1205が加算
した結果である2バイト長データを格納する場所であ
る。圧縮退避データ格納エリア1206は、退避データに対
して、2バイト長圧縮部1205が加算した結果である圧縮
退避データを格納する場所である。データ補正部1210は
被加算データが奇数アドレスから格納されている場合、
加算結果の補正を行なうもので、2バイト長データの上
位バイトと下位バイトとの交換を行なうものである。退
避データ加算部1211は、被加算データがバウンダリ不適
の場合、圧縮退避データと2バイト長データを1の補数
加算するものである。加算結果格納エリア1212は、2バ
イト長データを格納する場所で、本高速加算システムの
出力部になっている。上記構成において、4バイト長加
算部1207、2バイト長圧縮部1205および退避データ加算
部1211を加算部として全ての機能を有するようにしても
よい。また、上記各エリアは、メモリ上の領域を区切る
ことにより1つのメモリで構成するようにしてもよい。
In FIG. 12, the added data storage area
A storage unit 1201 is a place for storing data to be added and is an input unit of the high-speed addition system. The head data determination unit 1202 determines whether or not the head portion of the data to be added is a break in the data length that can be simultaneously read by the storage means. The start data determination unit 1202 determines the storage address of the start data of the data to be added (hereinafter referred to as address determination) and determines whether the top 4 bytes can be accessed at one time (hereinafter referred to as boundary determination). And Boundary determination is to check whether or not there is a boundary in the 4 bytes to be accessed, and if there is no boundary, it is accessible (hereinafter referred to as “boundary suitable”).
If there is, it becomes inaccessible (hereinafter referred to as “unsuitable for boundary”). The data saving unit 1203 saves data from the first data to accessible data when the boundary is inappropriate. The save data storage area 1204 is a place for storing the data saved by the data save unit. The data saving unit 1203 may include a saved data storage area 1204. The 4-byte length addition unit 1207 performs a 1's complement addition with a 4-byte length on the data to be added. Four
The byte length data storage area 1208 is a 4-byte length addition unit 12
It is a place to store 4-byte length data that is the addition result of 07. The 2-byte length compression unit 1205 performs 1's complement addition with 2-byte length on 4-byte length data and save data. 2-byte length data storage area 1209 has 4
This is a place for storing the 2-byte length data that is the result of addition by the 2-byte length compression unit 1205 to the byte length data. The compressed save data storage area 1206 is a place for storing the compressed save data which is the result of addition of the 2-byte length compression unit 1205 to the save data. If the data to be added is stored from an odd address, the data correction unit 1210
The addition result is corrected, and the upper byte and the lower byte of the 2-byte length data are exchanged. The save data addition unit 1211 adds one's complement to the compressed save data and the 2-byte length data when the augend data is not suitable for the boundary. The addition result storage area 1212 is a place for storing 2-byte length data and serves as an output unit of the high-speed addition system. In the above configuration, the 4-byte length addition unit 1207, the 2-byte length compression unit 1205, and the saved data addition unit 1211 may serve as addition units and have all functions. Further, each of the above areas may be configured by one memory by dividing the area on the memory.

【0065】つぎに、図12に示す本高速加算システム
の処理の流れを図11を用いて説明する。
Next, the processing flow of the high speed addition system shown in FIG. 12 will be described with reference to FIG.

【0066】図11において、初めに、先頭データ判定
部1202は、被加算データについて先頭データのバウンダ
リ判定を行なう(処理1101)。これは、被加算データは
メモリ上に配置されていて、メモリには境界が有るため
に、それを越えてのアクセスができないために行う。本
実施例においては、4バイト長のデータにアクセスが可
能であるので先頭データが蓄積されているアドレスを検
出し、このアドレスがバウンダリであるか否かを判定す
ることによりバウンダリの判定を行う。また、メモリに
よっては、8バイト長のデータに同時アクセスが可能な
場合には、8バイトデータのバウンダリ判定をしてもよ
い。この場合、以下の加算では8バイトで加算すること
ができる。
In FIG. 11, first, the leading data determination unit 1202 determines the boundary of the leading data for the data to be added (process 1101). This is done because the data to be added is located in the memory and there is a boundary in the memory, so access beyond that boundary is not possible. In this embodiment, since 4-byte length data can be accessed, the address at which the top data is stored is detected, and the boundary is determined by determining whether or not this address is the boundary. In addition, depending on the memory, when 8-byte data can be simultaneously accessed, the boundary of 8-byte data may be determined. In this case, the following addition can be performed with 8 bytes.

【0067】上記判定の結果、バウンダリ不適の場合、
データ退避部1203は、先頭データからアクセス可能なデ
ータまでを退避させ、退避データ格納エリア1204に格納
する(処理1102)。そして、2バイト長圧縮部1205は、
退避データに対して2バイト長で1の補数加算を行ない
(処理1103)、圧縮退避データを生成しておく。例え
ば、退避データ格納エリア1204に3バイトのデータが格
納されている場合には、下位2バイトと上位1バイトと
を加算して2バイト長データにしておく。
As a result of the above judgment, if the boundary is unsuitable,
The data saving unit 1203 saves from the head data to accessible data and stores it in the saved data storage area 1204 (process 1102). Then, the 2-byte length compression unit 1205
A 1-complement addition with a 2-byte length is performed on the saved data (process 1103) to generate compressed saved data. For example, when 3 bytes of data are stored in the save data storage area 1204, the lower 2 bytes and the upper 1 byte are added to form a 2-byte length data.

【0068】つぎに、上記判定でバウンダリの判定が適
の場合の被加算データと、退避データを格納した場合の
残りの被加算データとに対しては、4バイト長加算部12
07が4バイト長で1の補数加算を行ない(処理1104)、
4バイト長加算終了後、2バイト長圧縮部1205は、4バ
イト長データに対して2バイト長で1の補数加算を行な
う(処理1105)。2バイト長加算終了後、2バイト長デ
ータ格納エリア1209に加算結果を保持し、先頭データの
バウンダリの判定を行う(処理1116)。この判定は、上
記処理1101における判定と同じなので、上記判定時に判
定結果を保持しておいてもよい。バウンダリ適の場合、
2バイト長データを加算結果として加算結果格納エリア
1212に格納し(処理1110)、処理は終了する。
Next, the 4-byte length addition unit 12 is applied to the augend data when the boundary is determined as appropriate in the above determination and the remaining augend data when the saved data is stored.
07 is 4 bytes long and performs 1's complement addition (process 1104),
After the 4-byte length addition is completed, the 2-byte length compression unit 1205 performs a 1's complement addition with a 2-byte length on the 4-byte length data (process 1105). After the addition of the 2-byte length, the addition result is held in the 2-byte length data storage area 1209, and the boundary of the head data is determined (process 1116). This determination is the same as the determination in the above processing 1101, so the determination result may be held at the time of the above determination. If the boundary is suitable,
Addition result storage area with 2-byte length data as addition result
It is stored in 1212 (process 1110) and the process ends.

【0069】バウンダリ不適の場合には、先頭データ判
定部1202は、ここで被加算データの先頭データのアドレ
スが奇数か偶数かの判定を行なう(処理1107)。先頭デ
ータが奇数アドレスから格納されている場合、2バイト
長圧縮部1205は、2バイト長データの補正を行なう(処
理1108)。データ補正部1210は、2バイト長データの上
位バイトと下位バイトとを交換する。先頭データが奇数
アドレスであるときには、退避データ格納エリアに不適
正部を格納して、残りのデータを加算しているが、これ
は、前述した図10および図26に示したように、桁を
入れ替えた場合の加算であるので最後に上位バイトと下
位バイトとを交換する。これにより、被加算データを2
バイトづつ加算した結果と同一にすることができる。ま
た、バウンダリ不適の場合、退避データ加算部1211は、
圧縮退避データと2バイト長データを1の補数加算(処
理1109)し、加算結果を加算結果格納エリア1212に格納
し(処理1110)、処理は終了する。
If the boundary is unsuitable, the head data judgment unit 1202 judges here whether the address of the head data of the data to be added is an odd number or an even number (step 1107). When the first data is stored from the odd address, the 2-byte length compression unit 1205 corrects the 2-byte length data (process 1108). The data correction unit 1210 exchanges the upper byte and the lower byte of the 2-byte length data. When the first data is an odd address, the improper portion is stored in the save data storage area and the remaining data is added. However, as shown in FIGS. Lastly, the upper byte and the lower byte are exchanged, because the addition is performed when they are exchanged. As a result, the data to be added becomes 2
It can be the same as the result of adding byte by byte. If the boundary is unsuitable, the save data addition unit 1211
The compression save data and the 2-byte length data are 1's complement addition (process 1109), the addition result is stored in the addition result storage area 1212 (process 1110), and the process ends.

【0070】このように処理することにより、より高速
に加算することができる。
By processing in this way, it is possible to add at a higher speed.

【0071】つぎに、高速加算システムで用いられてい
る、1の補数加算による加算処理を行なう加算部1207の
ハードウェアの構成について図13および図24を用いて説
明する。
Next, the hardware configuration of the adder 1207, which is used in the high-speed addition system and performs the addition processing by the one's complement addition, will be described with reference to FIGS. 13 and 24.

【0072】初めに、2ステップにより1の補数加算を
行なう場合を、図13を用いて説明する。まず、図13に
おいて、各ブロックの説明をする。メモリ1301は、被加
算データ(本実施例においては、データAとデータBと
が被加算データとしてあるものとする)と加算結果を格
納する記憶領域である。データバス1302は、メモリ1301
とレジスタ間でデータをやり取りする伝送路である。レ
ジスタA1303およびレジスタB1304は、メモリ1301から
転送された被加算データを一時格納する記憶領域であ
る。スイッチA1307は、加算器1308の入力をレジスタA
1303か、加算器出力かに切り替える。スイッチB1306
は、加算器1308の入力をレジスタB1304か、加算器1308
の加算結果が桁あふれを生じた場合、その桁あふれを出
力するキャリー出力かに切り替えるものである。加算器
1308は2つの被加算データを入力情報としてその加算結
果と、加算時の桁あふれを出力するものである。レジス
タC1305は、加算器の出力を格納する記憶領域で、1の
補数加算の加算結果が一時格納される。制御部1309は、
メモリ1301、レジスタA1303、レジスタB1304、レジス
タC1305、スイッチA1307、スイッチB1306および加算
器1308を制御する。
First, the case of performing 1's complement addition in two steps will be described with reference to FIG. First, in FIG. 13, each block will be described. The memory 1301 is a storage area for storing the data to be added (in the present embodiment, the data A and the data B are the data to be added) and the addition result. Data bus 1302 is memory 1301
Is a transmission line for exchanging data between the register and the register. The register A 1303 and the register B 1304 are storage areas for temporarily storing the added data transferred from the memory 1301. Switch A 1307 inputs the input of adder 1308 to register A
Switch between 1303 and adder output. Switch B1306
Input the adder 1308 to the register B 1304 or adder 1308
When the addition result of 1 causes overflow, the carry output is switched to the carry output. Adder
1308 outputs the addition result and the overflow at the time of addition by using two pieces of data to be added as input information. The register C1305 is a storage area for storing the output of the adder, and temporarily stores the addition result of 1's complement addition. The control unit 1309
It controls the memory 1301, the register A1303, the register B1304, the register C1305, the switch A1307, the switch B1306, and the adder 1308.

【0073】つぎに、動作について説明する。はじめ
に、制御部1309は、データバス1302を通じてメモリ1301
に格納されていたデータAをレジスタA1303に、データ
BをレジスタB1304に転送させる。ステップ1として、
制御部1309は、スイッチA1307をレジスタA1303側に、
スイッチB1306をレジスタB1304側に切り替えることに
より、加算器1308にデータAとデータBとを被加算デー
タとして入力させる。加算器1308の加算処理が終了した
ら、ステップ2として、制御部1309は、スイッチA1307
を加算器出力側に、スイッチB1306をキャリー出力側に
切り替えて、再度、加算器1308による加算を行なう。そ
して、加算処理が終了したら、レジスタC1305には1の
補数加算の加算結果が格納されているので、制御部1309
は、その内容をデータバス1302を介してメモリ1301に転
送させて処理は終了する。
Next, the operation will be described. First, the control unit 1309 uses the data bus 1302 to access the memory 1301.
The data A stored in the register A 1303 and the data B stored in the register B 1304 are transferred to the register B 1304. As step 1,
The control unit 1309 sets the switch A1307 to the register A1303 side,
By switching the switch B1306 to the register B1304 side, the data A and the data B are input to the adder 1308 as the data to be added. When the adding process of the adder 1308 is completed, as a step 2, the control unit 1309 controls the switch A 1307.
To the adder output side and switch B1306 to the carry output side, and the adder 1308 performs the addition again. Then, when the addition processing is completed, since the addition result of the one's complement addition is stored in the register C1305, the control unit 1309
Causes the contents to be transferred to the memory 1301 via the data bus 1302, and the processing ends.

【0074】被加算データがメモリ上にさらにある場合
には、制御部1309は、メモリ上の被加算データをデータ
バス1302を介してレジスタA1303に転送させ、レジスタ
C1305に格納されているデータをレジスタB1304に転送
させて前記ステップ1およびステップ2のように動作さ
せる。
When the data to be added is further present in the memory, the control unit 1309 transfers the data to be added in the memory to the register A 1303 via the data bus 1302 and registers the data stored in the register C 1305. It is transferred to B1304 and operated as in steps 1 and 2 above.

【0075】また、2バイト圧縮部および退避データ加
算部のハードウエア構成も図13に示すような構成で、
2バイトのレジスタおよび加算器を用いることにより圧
縮および加算ができる。2バイト圧縮部の場合、制御部
1309は、メモリから被加算データの読出し時に、4バイ
トで1の補数加算した結果データを2バイトづつ読みだ
し加算させる。さらに、データの補正を行う場合のハー
ドウエア構成は、メモリの読出し時に、下位バイトから
読みだしたデータを上位バイトに、また、上位バイトの
データを下位バイトに設定するようにアドレスを指示し
て読み出す。
Also, the hardware configurations of the 2-byte compression unit and the save data addition unit are as shown in FIG.
Compression and addition are possible by using a 2-byte register and adder. In case of 2-byte compression unit, control unit
When reading the data to be added from the memory, the reference numeral 1309 reads out and adds the result data obtained by adding 1's complement in 4 bytes in units of 2 bytes. Furthermore, the hardware configuration for data correction is to specify the address to set the data read from the lower byte to the upper byte and the upper byte data to the lower byte when reading the memory. read out.

【0076】以上のように、ハードウエアのみで構成で
き、より高速に処理できる。
As described above, the hardware can be used alone and processing can be performed at higher speed.

【0077】つぎに、1の補数加算による加算処理を行
なうハードウェアの他の構成を説明する。図24にキャ
リー出力器を用いる場合のハードウエア構成図を示す。
キャリー出力器を用いることにより、1ステップで1の
補数加算を行なう場合を図24を用いて説明する。まず、
各ブロックの説明をする。図24において、メモリ2401
は、被加算データ(データAおよびデータB)と加算結
果とを格納する記憶領域である。データバス2402は、メ
モリ2401とレジスタ間でデータをやり取りする伝送路で
ある。レジスタA2403およびレジスタB2404は、メモリ
2401から転送された被加算データを一時格納する記憶領
域である。キャリー出力器2406は、2つの被加算データ
を入力情報として加算を行ない、加算時の桁あふれを出
力するものである。加算器2407は、2つの被加算データ
とキャリー出力器2406の出力を入力情報として、その加
算結果を出力するものである。レジスタC2405は、加算
器の出力を格納する記憶領域で、1の補数加算の加算結
果が一時格納される。制御部2408は、メモリ2401、レジ
スタA2403、レジスタB2404、レジスタC2405、キャリ
ー出力器2406および加算器2408を制御する。
Next, another configuration of hardware for performing addition processing by one's complement addition will be described. FIG. 24 shows a hardware configuration diagram when the carry output device is used.
A case where one's complement addition is performed in one step by using the carry output device will be described with reference to FIG. First,
Each block will be explained. In FIG. 24, a memory 2401
Is a storage area for storing the data to be added (data A and data B) and the addition result. The data bus 2402 is a transmission path for exchanging data between the memory 2401 and the register. Register A 2403 and register B 2404 are memory
This is a storage area for temporarily storing the data to be added transferred from the 2401. The carry output device 2406 performs addition using the two pieces of data to be added as input information and outputs the overflow at the time of addition. The adder 2407 uses the two added data and the output of the carry output unit 2406 as input information and outputs the addition result. The register C2405 is a storage area for storing the output of the adder, and temporarily stores the addition result of 1's complement addition. The control unit 2408 controls the memory 2401, the register A 2403, the register B 2404, the register C 2405, the carry output device 2406, and the adder 2408.

【0078】つぎに動作について説明する。はじめに、
制御部2408は、データバス2402を通じてメモリ2401に格
納されていたデータAはレジスタA2403に、データBは
レジスタB2404に転送させる。つぎに、制御部2408は、
キャリー出力器2406にデータAとデータBとを被加算デ
ータとして入力させる。その結果、キャリー出力器2406
は、レジスタA2403のデータAと、レジスタB2404のデ
ータBとを加算し、その桁あふれを出力する。つぎに、
加算器2407にレジスタA2403のデータAと、レジスタB
2404のデータBと、キャリー出力器2406の出力とが被加
算データとして入力され、加算処理が行われる。そして
加算処理が終了したら、レジスタC2405には1の補数加
算の加算結果が格納されているので、制御部2408は、そ
の内容をデータバス2402を介してメモリ2401に転送させ
て処理は終了する。
Next, the operation will be described. First,
The control unit 2408 transfers the data A stored in the memory 2401 to the register A 2403 and the data B stored in the memory 2401 to the register B 2404 via the data bus 2402. Next, the control unit 2408
Data A and data B are input to carry output device 2406 as data to be added. As a result, carry output device 2406
Adds the data A in the register A 2403 and the data B in the register B 2404 and outputs the overflow. Next,
The data A of the register A 2403 and the register B are added to the adder 2407.
The data B of 2404 and the output of the carry output device 2406 are input as the data to be added, and the addition processing is performed. When the addition processing is completed, the addition result of the one's complement addition is stored in the register C2405, so the control unit 2408 transfers the contents to the memory 2401 via the data bus 2402 and the processing is completed.

【0079】被加算データがメモリ上にさらにある場合
には、制御部2408は、メモリ上の被加算データをデータ
バス1302を介してレジスタA1303に転送させ、レジスタ
C2405に格納されているデータをレジスタB2404に転送
させて前記のように動作させる。
When there is more data to be added on the memory, the control unit 2408 transfers the data to be added on the memory to the register A 1303 via the data bus 1302, and the data stored in the register C 2405 is registered. Transfer to B2404 and operate as above.

【0080】また、他のハードウエア構成も前述の図1
3におけるハードウエア構成と同様に図24に示すよう
な構成にできる。
Further, other hardware configurations are also shown in FIG.
Similar to the hardware configuration in 3, the configuration as shown in FIG.

【0081】つぎに、高速加算システムで用いられてい
る、1の補数加算による加算処理をCプログラムで行な
う場合の例を、図14を用いて説明する。図14は、4バイ
ト長加算部の加算バイト数を4バイトから2バイトに
し、被加算データ長=4470、1の補数加算の桁あふれを
最下位バイトへ加算する処理を、加算処理終了後に一括
して行なう場合のプログラムを示す。初めに、各変数の
説明をする。変数data1404は、1バイト長配列変数であ
り、被加算データが各要素に1バイトづつ格納されてい
る。変数*dp1405は、2バイト長ポインタ変数であり、
被加算データ中の加算データ位置を指し、初期値は被加
算データの先頭アドレスである。変数sum1406は、4バ
イト長変数で、被加算データについての加算結果が格納
される格納エリアで、初期値は0である。この変数sum1
406は、被加算データについての加算結果をその桁あふ
れまで含めて格納する必要があるので、2バイト長加算
部の加算バイト数である2よりも大きい変数長にしなく
てはならない。変数len1407は、4バイト長変数であ
り、被加算データ長が格納されていて、初期値は図14で
は4470である。
Next, an example in which the addition processing by the 1's complement addition used in the high speed addition system is performed by the C program will be described with reference to FIG. Fig. 14 shows the process of adding the number of bytes to be added in the 4-byte length adder from 4 bytes to 2 bytes, and adding the overflow of the complemented data length = 4470 and 1 to the least significant byte at once after the addition process is completed. The following shows the program to be executed. First, each variable will be explained. The variable data1404 is a 1-byte length array variable, and the data to be added is stored in each element, one byte at a time. The variable * dp1405 is a 2-byte length pointer variable,
It points to the addition data position in the data to be added, and the initial value is the start address of the data to be added. The variable sum1406 is a 4-byte variable and is a storage area in which the addition result of the data to be added is stored, and the initial value is 0. This variable sum1
Since 406 needs to store the addition result of the data to be added, including the overflow, the variable length must be larger than 2, which is the number of bytes added by the 2-byte length addition unit. The variable len1407 is a 4-byte variable, stores the data length to be added, and the initial value is 4470 in FIG.

【0082】つぎに、このプログラムの処理の流れを説
明する。まず、各変数の宣言と初期化(1401)を行な
う。つぎに、被加算データ4470バイトを2バイト長で加
算(1402)し、全被加算データについての加算処理が終
了したら、1の補数加算として2バイトからあふれた分
を最下位バイトに加算1403する。このプログラムを実行
すると、変数sum1406に2バイト長加算部の加算結果が
求まる。図14では、加算結果の格納エリアである変数su
m1406の変数長が4バイトであったため、桁あふれが捨
て去られることが無いように、2バイト長加算部の加算
バイト数は2バイト長であったが、変数sum1406の変数
長を4バイトよりも大きく採れるような場合には、2バ
イト長加算部の加算バイト数である2もそれに合わせて
大きくすることが可能である。例えば、4バイト長加算
部にして、変数sum1406の変数長を4バイトより大きく
とるように構成すれば、4バイト長の加算をすることが
できる。
Next, the flow of processing of this program will be described. First, each variable is declared and initialized (1401). Next, 4470 bytes of the augend data are added with a 2-byte length (1402), and when the addition processing for all the augend data is completed, the overflow from 2 bytes is added 1403 to the least significant byte as a 1's complement addition. . When this program is executed, the addition result of the 2-byte length addition unit is obtained in the variable sum1406. In FIG. 14, the variable su, which is the storage area for the addition result, is
Since the variable length of m1406 was 4 bytes, the number of bytes added in the 2-byte length addition part was 2 bytes so that overflows would not be discarded. In the case where a large value can be obtained, it is possible to increase the addition byte number of the 2-byte length addition unit, that is, 2 as well. For example, if a 4-byte length adding unit is used and the variable length of the variable sum1406 is configured to be larger than 4 bytes, the 4-byte length can be added.

【0083】つぎに、高速加算システムで用いられてい
る、1の補数加算による加算処理をアセンブラプログラ
ムで行なう場合の例を、図15を用いて説明する。図15
は、4バイト長加算部および2バイト長圧縮部の処理
で、被加算データ長=4470、1の補数加算の桁あふれを
最下位バイトへ加算する処理を、加算処理と同時に行な
う場合のプログラムである。初めに各レジスタの説明を
する。図15において、使用しているレジスタはすべて大
きさが4バイトである。regA1504は、被加算データに
ついての加算結果が格納されるエリアで、初期値は0で
ある。regB1505は、被加算データ長が格納されてい
て、初期値は図15では4470である。regC1506は、被加
算データ中の加算データ位置を指し、初期値は被加算デ
ータの先頭アドレスである。regD1507は、regC1506が
指す加算データ位置から4バイトのデータを格納するエ
リアである。regE1508は、regA1504に格納されている
4バイト長加算結果の下位2バイトを格納するエリアで
ある。
Next, an example of the case where the addition processing by the one's complement addition used in the high speed addition system is performed by the assembler program will be described with reference to FIG. Figure 15
Is a program for performing the process of adding the overflow of the data to be added = 4470, 1's complement to the least significant byte in the process of the 4-byte length adder and the 2-byte length compressor at the same time as the addition process. is there. First, each register will be described. In FIG. 15, the registers used are all 4 bytes in size. regA1504 is an area in which the addition result of the data to be added is stored, and the initial value is 0. The regB 1505 stores the length of the data to be added, and the initial value is 4470 in FIG. regC1506 indicates the addition data position in the data to be added, and the initial value is the start address of the data to be added. regD1507 is an area for storing 4-byte data from the addition data position pointed to by regC1506. regE1508 is an area for storing the lower 2 bytes of the 4-byte length addition result stored in regA1504.

【0084】つぎに、このプログラムの処理の流れを説
明する。まず、各変数の宣言と初期化1501を行なう。つ
ぎに被加算データ4470バイトを4バイト長で加算1502す
る。この時に、前の加算処理の桁あふれを同時に加算す
る加算命令が、アセンブラ言語の場合使用できるので、
桁あふれを最下位バイトに加算する処理は1加算づつ遅
れて行なわれる。全被加算データについての加算が終了
したら、最後の加算処理の桁あふれを最下位バイトに加
算する。つぎに、4バイト長加算結果について、2バイ
ト長圧縮1503を行う。これはまず、regA1504の下位2
バイトをregE1508に代入する。つぎに、regA1504の値
を右に2バイトシフトすることにより、regA1504の上
位2バイトを求める。そして、regA1504にregE1508を
加算し、2バイト長圧縮を行う。最後に、2バイト長圧
縮により桁あふれが生じる場合があるので、桁あふれの
加算として上位16バイトと下位16バイトとを加算す
る。これで処理は終了する。このプログラムを実行する
と、regA1504に4バイト長加算結果を2バイト圧縮し
た値が求まる。図15においては、レジスタ長が4バイト
であるため、4バイト長加算部の加算バイト数は4バイ
トであったが、レジスタ長を4バイトよりも大きく採れ
るような場合には、4バイト長加算部の加算バイト数で
ある4もそれに合わせて大きくすることが可能である。
Next, the processing flow of this program will be described. First, each variable is declared and initialized 1501. Next, the data to be added 4470 bytes is added 1502 with a 4-byte length. At this time, the add instruction that adds the overflow of the previous add process at the same time can be used in the assembler language.
The process of adding the overflow to the least significant byte is delayed by one. When the addition of all the data to be added is completed, the overflow of the last addition processing is added to the least significant byte. Next, 2-byte length compression 1503 is performed on the 4-byte length addition result. This is the lower 2 of regA1504
Substitute the byte into regE1508. Next, the value of regA1504 is shifted to the right by 2 bytes to obtain the upper 2 bytes of regA1504. Then, regE1508 is added to regA1504 to perform 2-byte length compression. Finally, since overflow may occur due to 2-byte length compression, the upper 16 bytes and the lower 16 bytes are added as addition of overflow. This ends the processing. When this program is executed, the value obtained by compressing the 4-byte length addition result by 2 bytes in regA1504 is obtained. In FIG. 15, since the register length is 4 bytes, the number of bytes to be added in the 4-byte length addition section is 4 bytes. It is possible to increase the number of bytes to be added, which is 4, to be larger.

【0085】つぎに、FDDI上のTCP/IPプロト
コルによるネットワーク通信で、TCP層のチェックサ
ム処理に高速加算システムを用いた場合の加算処理を説
明する。実装する情報処理装置で扱えるデータバイト数
が4バイトの例のため、アクセスするデータ中のバウン
ダリにより、4種類の加算処理が行われる。また、ここ
での1の補数加算は、加算時の桁あふれを蓄積しておき
最後にまとめて最下位バイトに加算する形式にした。
Next, in the network communication according to the TCP / IP protocol on FDDI, the addition processing when the high-speed addition system is used for the checksum processing of the TCP layer will be described. Since the number of data bytes that can be handled by the mounted information processing device is 4 bytes, four types of addition processing are performed depending on the boundary in the data to be accessed. In addition, the one's complement addition here is of a form in which overflows at the time of addition are accumulated and finally added together and added to the least significant byte.

【0086】初めに、バウンダリ適である場合の被加算
データに対する4バイト長加算を図11、図16および図17
を用いて説明する。まず、被加算データ1601が4470バイ
トの場合の加算処理を図11および図16を用いて説明す
る。初めに、被加算データ1601に対して4バイト長加算
1104を行ない、加算結果を4バイト長データ格納エリア
に格納する。4バイト長加算1104は、1117個の4バイト
長データと、1個の2バイト長データについての1の補
数加算になるので加算回数は1117回である。つぎに、加
算結果の4バイト長データに対して2バイト長圧縮1105
を行ない、圧縮結果を2バイト長データ格納エリアに格
納する。2バイト長圧縮1105は、2個の2バイト長デー
タについての1の補数加算になるので加算回数は1回で
ある。最後に、2バイト長データを加算結果格納エリア
に格納1110して処理は終了する。
First, the 4-byte length addition for the data to be added when the boundary is suitable is shown in FIG. 11, FIG. 16 and FIG.
Will be explained. First, the addition process when the data to be added 1601 is 4470 bytes will be described with reference to FIGS. 11 and 16. First, add 4-byte length to the data to be added 1601
1104 is performed and the addition result is stored in the 4-byte length data storage area. Since the 4-byte length addition 1104 is a 1's complement addition for 1117 4-byte length data and one 2-byte length data, the number of additions is 1117. Next, a 2-byte length compression 1105 is applied to the 4-byte length data of the addition result.
And stores the compression result in the 2-byte length data storage area. Since the 2-byte length compression 1105 is a 1's complement addition for two 2-byte length data, the number of additions is once. Finally, the 2-byte length data is stored 1110 in the addition result storage area, and the process ends.

【0087】以上のように、図16に示す場合の加算回数
は1118回となり、図3に示す従来の加算回数2234回の約
半分である。
As described above, the number of additions in the case shown in FIG. 16 is 1118, which is about half the number of additions 2234 in the conventional case shown in FIG.

【0088】つぎに、具体的な数値による、16バイトの
被加算データ1701に対する加算処理を図11および図17を
用いて説明する。初めに、4バイト長加算1104を4個の
4バイト長データについて行なう。その際、加算結果の
桁あふれ「2」が生じるので、それを最下位バイトに加
算することにより、4バイト長データ1702が求まる。つ
ぎに、4バイト長データ1702に対する2バイト長圧縮11
05として、上位2バイトと下位2バイトとの加算を行な
う。その際、加算結果の桁あふれ「1」が生じるので、
それを最下位バイトに加算して処理は終了する。この場
合の加算結果1703は、図4に示す、従来の加算結果と同
じ値になる。
Next, the adding process for the 16-byte data to be added 1701 with a specific numerical value will be described with reference to FIGS. 11 and 17. First, 4-byte length addition 1104 is performed on four 4-byte length data. At that time, an overflow "2" of the addition result occurs, and the 4-byte length data 1702 is obtained by adding it to the least significant byte. Next, 2 byte length compression for 4 byte length data 1702 11
As 05, the upper 2 bytes and the lower 2 bytes are added. At that time, an overflow "1" occurs in the addition result.
It is added to the least significant byte and the process ends. The addition result 1703 in this case has the same value as the conventional addition result shown in FIG.

【0089】つぎに、先頭データの格納アドレスが奇数
で、先頭の1バイト目と2バイト目との間にバウンダリ
が有るためにバウンダリ不適である被加算データに対す
る4バイト長加算を図11、図18および図19を用いて説明
する。まず、被加算データ1801が4470バイトの場合の加
算処理を、図11および図18を用いて説明する。初めに、
被加算データ1801の先頭の1バイトを退避データ格納エ
リアに格納1102する。そして、退避データに対して2バ
イト長圧縮1103を行ない、圧縮結果を圧縮退避データ格
納エリアに格納する。2バイト長圧縮1103は、2個の2
バイト長データについての1の補数加算になるので加算
回数は1回である。つぎに、被加算データ1801の2バイ
ト目からに対して4バイト長加算1104を行ない、加算結
果を4バイト長データ格納エリアに格納する。4バイト
長加算1104は、1117個の4バイト長データと、1個の1
バイト長データについての1の補数加算になるので加算
回数は1117回である。つぎに、加算結果の4バイト長デ
ータに対して2バイト長圧縮1105を行ない、圧縮結果を
2バイト長データ格納エリアに格納する。2バイト長圧
縮1105は2個の2バイト長データについての1の補数加
算になるので加算回数は1回である。つぎに、被加算デ
ータ1801の先頭データの格納アドレスが奇数なので、デ
ータ補正1108を行なう。データ補正1108は2バイト長デ
ータのバイトスワップで、上位バイトと下位バイトを交
換することにより行なわれる。つぎに、圧縮退避データ
と、データ補正1108を行なった2バイト長データを退避
データ加算1109する。退避データ加算1109の加算回数は
1回である。最後に2バイト長データを加算結果格納エ
リアに格納1110して処理は終了する。
Next, the 4-byte length addition is performed on the data to be added whose boundary is not suitable because the storage address of the head data is an odd number and there is a boundary between the first byte and the second byte of the head. This will be described with reference to 18 and FIG. First, the addition process when the data to be added 1801 is 4470 bytes will be described with reference to FIGS. 11 and 18. at first,
The first 1 byte of the data to be added 1801 is stored 1102 in the save data storage area. Then, 2-byte length compression 1103 is performed on the saved data, and the compression result is stored in the compressed saved data storage area. 2-byte length compression 1103 has two 2
Since one's complement addition is performed for byte length data, the number of additions is one. Next, 4-byte length addition 1104 is performed on the second byte of the data to be added 1801 and the addition result is stored in the 4-byte length data storage area. 4-byte length addition 1104 is 1117 4-byte length data and 1 1
Since 1's complement addition is performed for byte length data, the number of additions is 1117. Next, 2-byte length compression 1105 is performed on the 4-byte length data of the addition result, and the compression result is stored in the 2-byte length data storage area. Since the 2-byte length compression 1105 is a 1's complement addition for two pieces of 2-byte length data, the number of additions is one. Next, since the storage address of the head data of the data to be added 1801 is an odd number, data correction 1108 is performed. The data correction 1108 is a byte swap of 2-byte length data, and is performed by exchanging the upper byte and the lower byte. Next, the compressed save data and the 2-byte length data subjected to the data correction 1108 are saved data added 1109. The saved data addition 1109 is added once. Finally, the 2-byte length data is stored 1110 in the addition result storage area, and the process ends.

【0090】以上のように、この場合の加算回数は1120
回で、図5に示す、従来の加算回数4469回の約4分の1
である。
As described above, the number of additions in this case is 1120.
5 times, about 1/4 of the conventional 4469 additions shown in FIG.
Is.

【0091】つぎに具体的な数値による、16バイトの被
加算データ1901に対する加算処理を図11および図19を用
いて説明する。初めに、被加算データ1901の先頭の1バ
イトを退避1102する。退避データ1902を2バイト長圧縮
1103として上位2バイトと下位2バイトの加算を行なう
ことにより、圧縮退避データ1903が求まる。つぎに、4
バイト長加算1104を3個の4バイト長データと、空いて
いる下位1バイトを0にした3バイト長データについて
行なう。その際、加算結果の桁あふれ「2」が生じるの
で、それを最下位バイトに加算することにより、4バイ
ト長データ1904が求まる。つぎに、4バイト長データ19
04に対する2バイト長圧縮1105として上位2バイトと下
位2バイトとの加算を行なう。その際、加算結果の桁あ
ふれ「1」が生じるので、それを最下位バイトに加算す
ることにより、2バイト長データ1905が求まる。つぎ
に、被加算データ1901の先頭データの格納アドレスが奇
数なので、データ補正1108として2バイト長データ1905
の上位バイトと下位バイトとの交換を行なうことによ
り、補正データ1906が求まる。最後に、圧縮退避データ
1903と補正データ1906の退避データ加算1109を行なう。
その際、加算結果の桁あふれ1が生じるので、それを最
下位バイトに加算して処理は終了する。この場合の加算
結果1907は、図4に示す従来の加算結果と同じ値にな
る。
Next, the adding process for the 16-byte data to be added 1901 using specific numerical values will be described with reference to FIGS. 11 and 19. First, the first byte of the data to be added 1901 is saved 1102. Saved data 1902 compressed by 2 bytes
The compression save data 1903 is obtained by adding the upper 2 bytes and the lower 2 bytes as 1103. Next, 4
Byte length addition 1104 is performed for three 4-byte length data and 3-byte length data in which the vacant lower 1 byte is 0. At that time, since the overflow "2" of the addition result occurs, the 4-byte length data 1904 is obtained by adding it to the least significant byte. Next, 4-byte length data 19
As the 2-byte length compression 1105 for 04, the upper 2 bytes and the lower 2 bytes are added. At that time, since the overflow "1" of the addition result occurs, the 2-byte length data 1905 is obtained by adding it to the least significant byte. Next, since the storage address of the head data of the data to be added 1901 is odd, the 2-byte length data 1905 is set as the data correction 1108.
The correction data 1906 can be obtained by exchanging the upper byte and the lower byte. Finally, the compressed evacuation data
Saved data addition 1109 of 1903 and correction data 1906 is performed.
At that time, since the overflow 1 of the addition result occurs, it is added to the least significant byte, and the process ends. The addition result 1907 in this case has the same value as the conventional addition result shown in FIG.

【0092】つぎに、先頭データの格納アドレスが偶数
で、先頭の2バイト目と3バイト目の間にバウンダリが
有るためにバウンダリ不適である被加算データに対する
4バイト長加算を、図11、図20および図21を用いて説明
する。まず、被加算データ2001が4470バイトの場合の加
算処理を図20を用いて説明する。初めに、被加算データ
2001の先頭の2バイトを退避データ格納エリアに格納11
02する。そして、退避データに対して2バイト長圧縮11
03を行ない、圧縮結果を圧縮退避データ格納エリアに格
納する。2バイト長圧縮1103は、2個の2バイト長デー
タについての1の補数加算になるので加算回数は1回で
ある。つぎに、被加算データ2001の3バイト目からに対
して4バイト長加算1104を行ない、加算結果を4バイト
長データ格納エリアに格納する。4バイト長加算1104
は、1117個の4バイト長データについての1の補数加算
になるので加算回数は1116回である。つぎに、加算結果
の4バイト長データに対して2バイト長圧縮1105を行な
い、圧縮結果を2バイト長データ格納エリアに格納す
る。2バイト長圧縮1105は2個の2バイト長データにつ
いての1の補数加算になるので加算回数は1回である。
つぎに、圧縮退避データと、2バイト長データとを退避
データ加算1109する。退避データ加算1109の加算回数は
1回である。最後に2バイト長データを加算結果格納エ
リアに格納1110して処理は終了する。
Next, a 4-byte length addition is performed on the data to be added which is not suitable for the boundary because the storage address of the first data is an even number and there is a boundary between the second and third bytes at the beginning. This will be described with reference to 20 and FIG. First, the addition process when the data to be added 2001 is 4470 bytes will be described with reference to FIG. First, the added data
Store the first 2 bytes of 2001 in the save data storage area 11
02. Then, 2 bytes length compression is applied to the saved data 11
03 is performed and the compression result is stored in the compression save data storage area. Since the 2-byte length compression 1103 is a 1's complement addition for two 2-byte length data, the number of additions is once. Next, 4-byte length addition 1104 is performed from the third byte of the data to be added 2001, and the addition result is stored in the 4-byte length data storage area. 4-byte length addition 1104
Is 1's complement addition for 1117 4-byte length data, the number of additions is 1116. Next, 2-byte length compression 1105 is performed on the 4-byte length data of the addition result, and the compression result is stored in the 2-byte length data storage area. Since the 2-byte length compression 1105 is a 1's complement addition for two pieces of 2-byte length data, the number of additions is one.
Next, the compressed save data and the 2-byte length data are saved data added 1109. The saved data addition 1109 is added once. Finally, the 2-byte length data is stored 1110 in the addition result storage area, and the process ends.

【0093】以上のように、この場合の加算回数は1119
回で、図3に示す、従来の加算回数2234回の約2分の1
である。
As described above, the number of additions in this case is 1119.
3 times, which is about half of the conventional addition number of 2234 shown in FIG.
Is.

【0094】つぎに、具体的な数値による、16バイトの
被加算データ2101に対する加算処理を図11および図21を
用いて説明する。初めに、被加算データ2101の先頭の2
バイトを退避1102する。退避データ2102を2バイト長圧
縮1103として上位2バイトと下位2バイトとの加算を行
なうことにより、圧縮退避データ2103が求まる。つぎ
に、4バイト長加算1104を3個の4バイト長データと、
空いている下位2バイトを0にした2バイト長データに
ついて行なう。その際、加算結果の桁あふれ「1」が生
じるので、それを最下位バイトに加算することにより、
4バイト長データ2104が求まる。つぎに、4バイト長デ
ータ2104に対する2バイト長圧縮1105として上位2バイ
トと下位2バイトとの加算を行なう。その際、加算結果
の桁あふれ「1」が生じるので、それを最下位バイトに
加算することにより、2バイト長データ2105が求まる。
最後に、圧縮退避データ2103と2バイト長データ2105と
の加算を行なう。その際、加算結果の桁あふれ「1」が
生じるので、それを最下位バイトに加算して処理は終了
する。この場合の加算結果2106は、図4に示す従来の加
算結果と同じ値になる。
Next, the adding process for the 16-byte data to be added 2101 with a specific numerical value will be described with reference to FIGS. 11 and 21. First, the first 2 of the added data 2101
The byte is saved 1102. The compressed save data 2103 is obtained by adding the high-order 2 bytes and the low-order 2 bytes to the save data 2102 with the 2-byte length compression 1103. Next, add 4-byte length addition 1104 to three 4-byte length data,
This is performed for 2-byte length data in which the vacant lower 2 bytes are set to 0. At that time, an overflow "1" occurs in the addition result, so by adding it to the least significant byte,
The 4-byte length data 2104 is obtained. Next, as the 2-byte length compression 1105 for the 4-byte length data 2104, the upper 2 bytes and the lower 2 bytes are added. At that time, since the overflow "1" of the addition result occurs, the 2-byte length data 2105 is obtained by adding it to the least significant byte.
Finally, the compression save data 2103 and the 2-byte length data 2105 are added. At that time, since a digit overflow "1" occurs in the addition result, it is added to the least significant byte, and the process ends. The addition result 2106 in this case has the same value as the conventional addition result shown in FIG.

【0095】つぎに、先頭データの格納アドレスが奇数
で、先頭の3バイト目と4バイト目との間にバウンダリ
が有るためにバウンダリ不適である被加算データに対す
る4バイト長加算を図11、図22および図23を使って説明
する。まず、被加算データ2201が4470バイトの場合の加
算処理を、図11および図22を用いて説明する。初めに、
被加算データ2201の先頭の3バイトを退避データ格納エ
リアに格納1102する。そして、退避データに対して2バ
イト長圧縮1103を行ない、圧縮結果を圧縮退避データ格
納エリアに格納する。2バイト長圧縮1103は、2個の2
バイト長データについての1の補数加算になるので加算
回数は1回である。つぎに、被加算データ2201の4バイ
ト目からのデータに対して4バイト長加算1104を行な
い、加算結果を4バイト長データ格納エリアに格納す
る。4バイト長加算1104は、1116個の4バイト長データ
と、1個の3バイト長データとについての1の補数加算
になるので加算回数は1116回である。つぎに、加算結果
の4バイト長データに対して2バイト長圧縮1105を行な
い、圧縮結果を2バイト長データ格納エリアに格納す
る。2バイト長圧縮1105は、2個の2バイト長データに
ついての1の補数加算になるので加算回数は1回であ
る。つぎに、被加算データ2201の先頭データの格納アド
レスが奇数なので、データ補正1108を行なう。データ補
正1108は、2バイト長データのバイトスワップで、上位
バイトと下位バイトとを交換することにより行なわれ
る。つぎに、圧縮退避データと、データ補正1108を行な
った2バイト長データとを退避データ加算1109する。退
避データ加算1109の加算回数は1回である。最後に、2
バイト長データを加算結果格納エリアに格納1110して処
理は終了する。
Next, the 4-byte length addition is performed on the data to be added which is not suitable for the boundary because the storage address of the head data is an odd number and there is a boundary between the 3rd and 4th bytes at the head. 22 and FIG. 23. First, the addition process when the data to be added 2201 is 4470 bytes will be described with reference to FIGS. 11 and 22. at first,
The top 3 bytes of the data to be added 2201 are stored 1102 in the save data storage area. Then, 2-byte length compression 1103 is performed on the saved data, and the compression result is stored in the compressed saved data storage area. 2-byte length compression 1103 has two 2
Since one's complement addition is performed for byte length data, the number of additions is one. Next, 4-byte length addition 1104 is performed on the data from the 4th byte of the data to be added 2201 and the addition result is stored in the 4-byte length data storage area. Since the 4-byte length addition 1104 is a 1's complement addition for 1116 4-byte length data and one 3-byte length data, the number of additions is 1116. Next, 2-byte length compression 1105 is performed on the 4-byte length data of the addition result, and the compression result is stored in the 2-byte length data storage area. Since the 2-byte length compression 1105 is a 1's complement addition for two 2-byte length data, the number of additions is once. Next, since the storage address of the leading data of the data to be added 2201 is an odd number, data correction 1108 is performed. The data correction 1108 is a byte swap of 2-byte length data, and is performed by exchanging the upper byte and the lower byte. Next, the compressed save data and the 2-byte length data subjected to the data correction 1108 are saved data added 1109. The saved data addition 1109 is added once. Finally 2
The byte length data is stored 1110 in the addition result storage area, and the process ends.

【0096】以上のように、この場合の加算回数は1119
回で、図5の従来の加算回数4469回の約4分の1であ
る。
As described above, the number of additions in this case is 1119.
This is about 1/4 of the conventional number of additions of 4469 in FIG.

【0097】つぎに、具体的な数値による、16バイトの
被加算データ2301に対する加算処理を図11および図23を
用いて説明する。初めに、被加算データ2301の先頭の3
バイトを退避1102する。退避データ2302を2バイト長圧
縮1103として上位2バイトと下位2バイトとの加算を行
なう。その際、加算結果の桁あふれ1が生じるので、そ
れを最下位バイトに加算することにより、圧縮退避デー
タ2303が求まる。つぎに、4バイト長加算1104を3個の
4バイト長データと、空いている下位3バイトを0にし
た1バイト長データについて行なう。その際、加算結果
の桁あふれ1が生じるので、それを最下位バイトに加算
することにより、4バイト長データ2304が求まる。つぎ
に、4バイト長データ2304に対する2バイト長圧縮1105
として上位2バイトと下位2バイトとの加算を行なうこ
とにより、2バイト長データ2305が求まる。つぎに、被
加算データ2301の先頭データの格納アドレスが奇数なの
で、データ補正1108として2バイト長データ2305の上位
バイトと下位バイトの交換を行なうことにより、補正デ
ータ2306が求まる。最後に、圧縮退避データ2303と補正
データ2306の退避データ加算1109を行なう。その際、加
算結果の桁あふれ1が生じるので、それを最下位バイト
に加算して処理は終了する。この場合の加算結果2307
は、図4に示す、従来の加算結果と同じ値になる。
Next, the addition process for the 16-byte data to be added 2301 with a specific numerical value will be described with reference to FIGS. 11 and 23. First, the first 3 of the added data 2301
The byte is saved 1102. The saved data 2302 is compressed to a 2-byte length 1103, and the upper 2 bytes and the lower 2 bytes are added. At that time, since the overflow 1 of the addition result occurs, the compression save data 2303 is obtained by adding it to the least significant byte. Next, the 4-byte length addition 1104 is performed on the three 4-byte length data and the 1-byte length data in which the vacant lower 3 bytes are set to 0. At this time, since the overflow 1 of the addition result occurs, the 4-byte length data 2304 is obtained by adding it to the least significant byte. Next, 2-byte length compression 1105 for 4-byte length data 2304
By adding the upper 2 bytes and the lower 2 bytes, the 2-byte length data 2305 is obtained. Next, since the storage address of the head data of the augend data 2301 is an odd number, the correction data 2306 is obtained by exchanging the upper byte and the lower byte of the 2-byte length data 2305 as the data correction 1108. Finally, the save data addition 1109 of the compressed save data 2303 and the correction data 2306 is performed. At that time, since the overflow 1 of the addition result occurs, it is added to the least significant byte, and the process ends. Addition result in this case 2307
Becomes the same value as the conventional addition result shown in FIG.

【0098】本実施例は、被加算データに対して加算を
行なう4バイト長加算部の加算バイト数は4バイトだ
が、加算バイト数は実装する機器で扱えるデータの大き
さにあわせて偶数バイトとすることができるので、従来
と同じ2バイト長加算や、8バイト長加算をすることが
可能である。加算バイト数を本実施例の4バイトから大
きくすることにより、更に、加算回数は削減する。
In the present embodiment, the number of added bytes in the 4-byte length adder that performs addition on the data to be added is 4 bytes. Therefore, it is possible to perform the same 2-byte length addition and 8-byte length addition as in the conventional case. By increasing the number of bytes to be added from 4 bytes in this embodiment, the number of times of addition can be further reduced.

【0099】また、本実施例は、TCP/IPネットワ
ーク通信で受信データの誤り検出をするために行われる
チェックサム処理に、高速加算システムを用いた場合と
したため、2バイト長圧縮部の加算バイト数は、2バイ
トであるが、加算バイト数を2バイトから任意の値に拡
大することにより、加算結果を任意の大きさにすること
ができる。
In this embodiment, the high-speed addition system is used for the checksum processing performed to detect the error in the received data in the TCP / IP network communication. Although the number is 2 bytes, the addition result can be set to an arbitrary size by expanding the number of addition bytes from 2 bytes to an arbitrary value.

【0100】また、本実施例は、ネットワーク通信シス
テムに用いた例としたが、連続データに対して加算を行
なう処理であれば、ネットワーク通信システム以外でも
同様に使用することができる。
Although the present embodiment has been described as an example in which it is used in the network communication system, it can be similarly used in a system other than the network communication system as long as it is a process of adding continuous data.

【0101】本実施例によれば、高速加算システムを用
いて加算を行なうことにより、加算回数を削減すること
ができる。被加算データがMバイトで被加算データに対
する加算バイト数が4バイトの場合、 (1)被加算データが偶数アドレスから格納されている
場合、被加算データ長Mが4バイト長加算部の加算バイ
ト数4より十分大きいとき、加算回数は1/2に削減さ
れる。
According to this embodiment, the number of times of addition can be reduced by performing the addition using the high speed addition system. If the data to be added is M bytes and the number of bytes to be added to the data to be added is 4 (1) If the data to be added is stored from an even address, the length of the data to be added M is 4 bytes. When it is sufficiently larger than the number 4, the number of additions is reduced to 1/2.

【0102】(2)被加算データが奇数アドレスから格
納されている場合、被加算データ長Mが4バイト長加算
部の加算バイト数4より十分大きいとき、加算回数は1
/4に削減される。
(2) If the data to be added is stored from an odd address, and the length of the data to be added M is sufficiently larger than the number of bytes to be added 4 of the 4-byte length adder, the number of additions is 1
It is reduced to / 4.

【0103】被加算データ長Mが4バイト長加算部の加
算バイト数4より十分大きいとき、被加算データの格納
状態によらず加算回数がM/4回と一定であるため、被
加算データの格納状態による加算回数の違いが無くな
る。また、4バイト長加算の加算バイト長である4は、
実装機器で扱えるデータの大きさに合わせて、偶数バイ
トに拡大することができ、例えば、8バイトにした場合
は加算回数は更に削減する。
When the added data length M is sufficiently larger than the number of added bytes 4 of the 4-byte length adder, the number of additions is constant regardless of the storage state of the added data, that is, M / 4 times. There is no difference in the number of additions depending on the storage state. In addition, 4 which is the addition byte length of the 4-byte length addition is
It can be expanded to an even number of bytes according to the size of data that can be handled by the mounted device. For example, when the number of bytes is set to 8 bytes, the number of additions is further reduced.

【0104】つぎに、上記高速加算システムをネットワ
ーク通信システムに適用した場合の実施例を説明する。
ネットワーク通信システムにおいて、上記高速加算シス
テムを設ける場合の高速通信システムの例を、図27、図
28、図29、図30、図31および図32を参照して説明する。
図27、図28、図29、図30、図31および図32は、2台の情
報機器間で伝送媒体をFDDIとするLANを介してデ
ータ転送を行う通信システムを示した図であり、通信プ
ロトコルはTCP/IPとする。以下に示す実施例で
は、伝送路と、該伝送路を介して情報の送受信する送受
信装置を複数有する通信システムにおいて、前記送受信
装置は、前記伝送路に対して送受信処理を行うネットワ
ークインタフェース部と、送受信情報を処理するユーザ
アプリケーション部と、送受信時にあらかじめ定められ
たプロトコルに従って処理を行うプロトコル制御部と、
情報の送受信時に、伝送情報を正しく送受信するための
誤り検出用のチェックサムデータを付加/検出するため
に、被加算データを加算処理する加算部とを有する。前
記加算部は、前記情報について順次1の補数加算を行な
う加算手段と、該加算結果についてあらかじめ定められ
たデータ長の単位に区切って1の補数加算を行なう圧縮
手段とを備え、該圧縮部の加算結果を前記誤り検出用の
チェックサムデータとする。
Next, an embodiment in which the above-mentioned high-speed addition system is applied to a network communication system will be described.
In a network communication system, an example of a high-speed communication system when the above high-speed addition system is provided is shown in FIG. 27 and FIG.
It will be described with reference to FIGS. 28, 29, 30, 31, and 32.
FIG. 27, FIG. 28, FIG. 29, FIG. 30, FIG. 31, and FIG. 32 are diagrams showing a communication system for performing data transfer between two information devices via a LAN whose transmission medium is FDDI. The protocol is TCP / IP. In the embodiments described below, in a communication system having a transmission line and a plurality of transmission / reception devices that transmit and receive information via the transmission line, the transmission / reception device includes a network interface unit that performs transmission / reception processing with respect to the transmission line, A user application unit that processes transmission / reception information, a protocol control unit that processes according to a predetermined protocol at the time of transmission / reception,
When transmitting / receiving information, an adder unit that adds the data to be added in order to add / detect the checksum data for error detection for correctly transmitting / receiving the transmission information is included. The addition unit includes an addition unit that sequentially performs one's complement addition on the information, and a compression unit that divides the addition result into units of a predetermined data length and performs one's complement addition. The addition result is used as the checksum data for error detection.

【0105】初めに、図27を参照して説明する。図27
は、TCP層、IP層およびドライバ層からなるプロト
コル制御部に、上記高速加算システム2709/2712と被加
算データを格納するプロトコルバッファ2708/2711とが
備えられている場合の構成図を示し、プロトコル制御部
におけるヘッダ付加処理と加算処理とを独立して行う場
合について説明する。本実施例においては、プロトコル
制御部は、前記加算部を備え、前記プロトコルに従った
処理とともに、前記加算部に対して被加算データを指示
し、前記加算部は、指示された被加算データについて加
算処理してチェックサムデータを出力し、前記プロトコ
ル制御部は、受信時に、前記加算部におけるチェックサ
ムデータに基づいて、受信データが正しいか否かを判定
し、正しい場合には、あらかじめ定めたつぎの処理に移
行し、正しくない場合には、受信データを廃棄すること
ができる。
First, description will be made with reference to FIG. FIG. 27
Shows a configuration diagram in the case where a protocol control unit including a TCP layer, an IP layer, and a driver layer is provided with the above-described high-speed addition system 2709/2712 and a protocol buffer 2708/2711 for storing data to be added. A case where the header addition process and the addition process in the control unit are performed independently will be described. In the present embodiment, the protocol control unit includes the addition unit, and instructs the addition unit to perform augend data along with the processing in accordance with the protocol, and the addition unit determines the addition data to be instructed. Addition processing is performed, and checksum data is output. Upon reception, the protocol control unit determines whether or not the received data is correct based on the checksum data in the addition unit. If it is not correct, the received data can be discarded.

【0106】図7および図8に示したプロトコル制御部
においては、ヘッダ処理と加算処理とを一緒に行ってい
る。本実施例においては、高速加算システムを設けるこ
とで、機能的に別けて処理をそれぞれ行うことができ
る。
In the protocol control section shown in FIGS. 7 and 8, the header processing and the addition processing are performed together. In the present embodiment, by providing a high-speed addition system, it is possible to perform processing separately for each function.

【0107】初めに送信側の処理について説明する。ユ
ーザアプリケーション部2701は、FDDI上で許可され
ている最大データ長が4.5キロバイトであることより、4
430バイトの送信データ2714を生成する。そして、送信
データ2714を、プロトコル制御部2702に設けられている
プロトコルバッファ2708にコピーし、ユーザアプリケー
ション部2701の処理は終了する。プロトコル制御部2702
では、まず、TCP層が、転送データの誤り検出の精度
を上げるためにTCP層でのみ付加される20バイトの擬
似ヘッダ2715と、TCPプロトコル情報が格納されてい
る20バイトのTCPヘッダ2716とを、コピーされた送信
データ2714の前に付加する。そして高速加算システム27
09が、擬似ヘッダ2715、TCPヘッダ2716およびデータ
2714を被加算データとしてチェックサム値を求め、チェ
ックサム値をTCPヘッダ2716に代入する。そして、擬
似ヘッダ2715は外され、TCPヘッダ2716とデータ2714
とをIP層にコピーし、TCP層の処理は終了する。つ
ぎに、IP層は、IPプロトコル情報が格納されている
20バイトのIPヘッダ2717を、コピーされたデータのT
CPヘッダ2716の前に付加する。そして高速加算システ
ム2709がIPヘッダ2717を被加算データとしてチェック
サム値を求め、チェックサム値をIPヘッダ2717に代入
する。そして、IPヘッダ2717とTCPヘッダ2716とデ
ータ2714とをドライバ層にコピーし、IP層での処理は
終了する。つぎに、ドライバ層は、物理アドレス情報が
格納されている22バイトのFDDIヘッダ2718を、コピ
ーされたデータのIPヘッダ2717の前に付加し、送信フ
レーム2719を作成する。そして、送信フレーム2719を、
ネットワークインタフェース部2703に設けられているネ
ットワークバッファ2710にコピーし、ドライバ層の処理
は終了する。最後に、ネットワークインタフェース部27
03は、送信フレーム2719をLAN2707に送出して、送信
側の処理は終了する。
First, processing on the transmission side will be described. Since the maximum data length permitted on FDDI is 4.5 kilobytes,
Generates 430 bytes of transmit data 2714. Then, the transmission data 2714 is copied to the protocol buffer 2708 provided in the protocol control unit 2702, and the processing of the user application unit 2701 ends. Protocol control unit 2702
Then, first, the TCP layer includes a 20-byte pseudo header 2715 added only in the TCP layer to improve the accuracy of error detection of transfer data, and a 20-byte TCP header 2716 in which TCP protocol information is stored. , Is added before the copied transmission data 2714. And high-speed addition system 27
09 is pseudo header 2715, TCP header 2716 and data
A checksum value is obtained by using 2714 as data to be added, and the checksum value is assigned to the TCP header 2716. Then, the pseudo header 2715 is removed, and the TCP header 2716 and the data 2714 are
And are copied to the IP layer, and the processing of the TCP layer ends. Next, the IP layer stores IP protocol information.
The 20-byte IP header 2717 is added to the T of the copied data.
It is added before the CP header 2716. Then, the high-speed addition system 2709 obtains a checksum value using the IP header 2717 as data to be added, and substitutes the checksum value into the IP header 2717. Then, the IP header 2717, the TCP header 2716, and the data 2714 are copied to the driver layer, and the processing in the IP layer ends. Next, the driver layer adds a 22-byte FDDI header 2718 storing physical address information to the front of the IP header 2717 of the copied data to create a transmission frame 2719. Then, the transmission frame 2719
Copying to the network buffer 2710 provided in the network interface unit 2703, the processing of the driver layer ends. Finally, the network interface unit 27
03 sends the transmission frame 2719 to the LAN 2707, and the processing on the transmission side ends.

【0108】つぎに受信側の処理について説明する。ま
ず、ネットワークインタフェース部2706が、LAN2707
を介して送信側より送られてきた、FDDIヘッダ2722
とIPヘッダ2723とTCPヘッダ272と、データ2725と
からなる受信フレーム2721をネットワークバッファ2713
に受信する。つぎに、ネットワークインタフェース部27
06は、受信フレーム2721を全て、プロトコル制御部2705
に設けられているプロトコルバッファ2711にコピーす
る。プロトコル制御部2705では、まず、ドライバ層が、
コピーされたデータ2721に対して処理を行い、処理が終
了したらFDDIヘッダ2722を外し、IPヘッダ2723と
TCPヘッダ2724とデータ2725とをIP層にコピーす
る。つぎに、IP層は、コピーされたデータのうち、I
Pヘッダ2723を高速加算システム2712の被加算データと
してチェックサム値を求める。チェックサム値により、
受信データが正しいと判定された場合に、IP層の処理
が終了したら、IPヘッダ2723を外し、TCPヘッダ27
24およびデータ2725をTCP層にコピーする。受信デー
タが誤っていると判定された場合には、受信データはた
だちに廃棄され、受信側の処理は終了する。つぎに、T
CP層は、受信データの誤り判定の精度を上げるために
TCP層でのみ付加される擬似ヘッダ2720を、コピーさ
れたデータのTCPヘッダ2724の前に付加する。そして
TCP層は、擬似ヘッダ2720、TCPヘッダ2724および
データ2725を高速加算システム2712の被加算データとし
てチェックサム値を求める。チェックサム値により、受
信データが正しいと判定された場合に、TCP層の処理
が終了したら、擬似ヘッダ2720とTCPヘッダ2724とを
外し、データ2725をユーザアプリケーション部2704にコ
ピーし、受信側の処理は終了する。受信データが誤って
いると判定された場合、受信データはただちに廃棄さ
れ、受信側の処理は終了する。
Next, the processing on the receiving side will be described. First, the network interface unit 2706 uses the LAN 2707
FDDI header 2722 sent from the sending side via
The received frame 2721 including the IP header 2723, the TCP header 272, and the data 2725 is transferred to the network buffer 2713.
To receive. Next, the network interface unit 27
06 is a protocol control unit 2705 for all received frames 2721.
To the protocol buffer 2711 provided in the. In the protocol control unit 2705, first, the driver layer
The copied data 2721 is processed, and when the processing is completed, the FDDI header 2722 is removed, and the IP header 2723, the TCP header 2724, and the data 2725 are copied to the IP layer. Next, the IP layer uses the I
A checksum value is obtained by using the P header 2723 as data to be added by the high-speed addition system 2712. Depending on the checksum value,
When it is determined that the received data is correct, when the processing of the IP layer is completed, the IP header 2723 is removed and the TCP header 27
Copy 24 and data 2725 to the TCP layer. If it is determined that the received data is incorrect, the received data is immediately discarded, and the processing on the receiving side ends. Next, T
The CP layer adds a pseudo header 2720, which is added only in the TCP layer to improve the accuracy of error determination of received data, before the TCP header 2724 of the copied data. Then, the TCP layer obtains the checksum value by using the pseudo header 2720, the TCP header 2724 and the data 2725 as the data to be added of the high speed addition system 2712. When it is determined that the received data is correct based on the checksum value, when the processing of the TCP layer is completed, the pseudo header 2720 and the TCP header 2724 are removed, the data 2725 is copied to the user application unit 2704, and the processing on the receiving side is performed. Ends. If it is determined that the received data is erroneous, the received data is immediately discarded and the processing on the receiving side ends.

【0109】以上のように、プロトコル制御部に、上記
高速加算システムと被加算データを格納するプロトコル
バッファとを備えることにより、高速に加算処理し、誤
りデータの検出を早期に行うことができる。
As described above, by providing the high-speed addition system and the protocol buffer for storing the data to be added in the protocol control unit, the addition processing can be performed at high speed and the error data can be detected early.

【0110】つぎに、図28を参照して説明する。図28
は、ネットワークインタフェース部が、上記高速加算シ
ステムと、被加算データを格納するネットワークバッフ
ァとを備えている場合の構成を示している。本実施例に
おいては、プロトコル制御部は、送信時に、前記プロト
コルに従った処理の終了後に、処理した情報と該情報の
管理データとを前記ネットワークインタフェース部に転
送し、受信時に、受信した情報について前記プロトコル
に従った処理を行い、前記ネットワークインタフェース
部は、前記加算部を備え、前記送受信処理とともに、送
信時に、前記プロトコル制御部から転送された情報と該
情報の管理データとに基づいて前記加算部に対して被加
算データを指示し、前記加算部におけるチェックサムデ
ータを情報に付加して前記伝送路に送出し、受信時に、
前記伝送路から情報を受信し、受信した情報に基づいて
前記加算部に対して被加算データを指示し、前記加算部
におけるチェックサムデータに基づいて、受信データが
正しいか否かを判定し、正しい場合には、あらかじめ定
めたつぎの処理に移行し、正しくない場合には、受信デ
ータを廃棄する。
Next, description will be made with reference to FIG. FIG. 28
Shows a configuration in the case where the network interface section includes the above-mentioned high-speed addition system and a network buffer for storing data to be added. In this embodiment, the protocol control unit transfers the processed information and the management data of the information to the network interface unit after the processing according to the protocol at the time of transmission, and receives the received information at the time of reception. The processing according to the protocol is performed, the network interface unit includes the addition unit, and the addition and reception process is performed based on the information transferred from the protocol control unit and the management data of the information at the time of transmission. To the section to be added data, add the checksum data in the adding section to the information and send it to the transmission path, and when receiving,
Receiving information from the transmission path, instructing the data to be added to the adder based on the received information, based on the checksum data in the adder, to determine whether the received data is correct, If it is correct, the process moves to the next predetermined process, and if it is not correct, the received data is discarded.

【0111】初めに、送信側の処理について説明する。
ユーザアプリケーション部2801は、FDDI上で許可さ
れている最大データ長が4.5キロバイトであることよ
り、4430バイトの送信データ2814を生成する。そして、
送信データ2814を、プロトコル制御部2802に設けられて
いるプロトコルバッファ2808にコピーし、ユーザアプリ
ケーション部2801の処理は終了する。プロトコル制御部
2802では、まず、TCP層が、転送データの誤り検出の
精度を上げるためにTCP層でのみ付加される20バイト
の擬似ヘッダ2815と、TCPプロトコル情報が格納され
ている20バイトのTCPヘッダ2816とを、コピーされた
送信データ2814の前に付加して、プロトコルバッファ28
08に格納する。そして、擬似ヘッダ2815とTCPヘッダ
2816とデータ2814とをIP層にコピーし、TCP層の処
理は終了する。つぎに、IP層は、IPプロトコル情報
が格納されている20バイトのIPヘッダ2817を、コピー
されたデータのTCPヘッダ2816の前に、擬似ヘッダ28
15と並列に付加する。そして、擬似ヘッダ2815とIPヘ
ッダ2817とTCPヘッダ2816とデータ2814とをドライバ
層にコピーし、IP層での処理は終了する。つぎに、ド
ライバ層は、物理アドレス情報が格納されている22バイ
トのFDDIヘッダ2818を、コピーされたデータのIP
ヘッダ2817の前に付加する。そして、FDDIヘッダ28
18とIPヘッダ2817と擬似ヘッダ2815とTCPヘッダ28
16とデータ2814とを、ネットワークインタフェース部28
03に設けられているネットワークバッファ2809にコピー
し、ドライバ層の処理は終了する。ネットワークインタ
フェース部では、まず、高速加算システム2810がコピー
されたデータのうち、擬似ヘッダ2815とTCPヘッダ28
16とデータ2814とを被加算データとしてチェックサム値
を求め、チェックサム値をTCPヘッダ2816に代入す
る。つぎに、高速加算システム2810が、IPヘッダ2817
を被加算データとしてチェックサム値を求め、チェック
サム値をIPヘッダ2817に代入する。最後にネットワー
クインタフェース部2803は、FDDIヘッダ2818とIP
ヘッダ2817とTCPヘッダ2816とデータ2814とを送信フ
レーム2819としてLAN2807に送出して、信側の処理は
終了する。
First, the processing on the transmitting side will be described.
The user application unit 2801 generates transmission data 2814 of 4430 bytes because the maximum data length permitted on the FDDI is 4.5 kilobytes. And
The transmission data 2814 is copied to the protocol buffer 2808 provided in the protocol control unit 2802, and the processing of the user application unit 2801 ends. Protocol control unit
In the 2802, first, the TCP layer adds a 20-byte pseudo header 2815 that is added only in the TCP layer to improve the accuracy of error detection of transfer data, and a 20-byte TCP header 2816 that stores TCP protocol information. Is added in front of the copied transmission data 2814, and the protocol buffer 28
Store in 08. And pseudo header 2815 and TCP header
2816 and data 2814 are copied to the IP layer, and the processing of the TCP layer ends. Next, the IP layer adds a 20-byte IP header 2817 storing IP protocol information to the pseudo header 28 before the TCP header 2816 of the copied data.
Add in parallel with 15. Then, the pseudo header 2815, the IP header 2817, the TCP header 2816, and the data 2814 are copied to the driver layer, and the processing in the IP layer ends. Next, the driver layer stores the 22-byte FDDI header 2818, which stores the physical address information, in the IP of the copied data.
Add before header 2817. And the FDDI header 28
18, IP header 2817, pseudo header 2815, TCP header 28
16 and data 2814 in the network interface unit 28
The data is copied to the network buffer 2809 provided in 03, and the processing of the driver layer ends. In the network interface section, first of all, the pseudo header 2815 and the TCP header 2815 among the data copied by the high-speed addition system 2810.
A checksum value is obtained by using 16 and data 2814 as data to be added, and the checksum value is assigned to the TCP header 2816. Next, the high-speed addition system 2810 uses the IP header 2817.
A checksum value is obtained as the data to be added, and the checksum value is assigned to the IP header 2817. Finally, the network interface unit 2803 has an FDDI header 2818 and an IP.
The header 2817, the TCP header 2816, and the data 2814 are sent to the LAN 2807 as a transmission frame 2819, and the processing on the receiving side ends.

【0112】つぎに受信側の処理について説明する。ま
ず、ネットワークインタフェース部2806が、LAN2807
を介して送信側より送られてきた、FDDIヘッダ2821
とIPヘッダ2822とTCPヘッダ2823とデータ2824とか
らなる受信フレーム2820をネットワークバッファ2812に
受信する。つぎに、ネットワークインタフェース部2806
は、受信データの誤り判定の精度を上げるために、TC
P層でのみ付加されていた擬似ヘッダ2825をIPヘッダ
2822から作成し、受信したデータのTCPヘッダ2823の
前に、IPヘッダ2822と並列に付加する。そして、高速
加算システム2813は、まず、IPヘッダ2822を被加算デ
ータとしてチェックサム値を求める。チェックサム値に
より、受信データが正しいと判定された場合、更に、高
速加算システム2813は、擬似ヘッダ2825とTCPヘッダ
2823とデータ2724とを高速加算システム2813の被加算デ
ータとしてチェックサム値を求める。チェックサム値に
より、受信データが正しいと判定された場合、擬似ヘッ
ダ2825を外し、FDDIヘッダ2821とIPヘッダ2822と
TCPヘッダ2823とデータ2824とを、プロトコル制御部
2805に設けられているプロトコルバッファ2811にコピー
し、ネットワークインタフェース部2806の処理は終了す
る。受信データが誤っていると判定された場合、受信デ
ータはただちに廃棄され、受信側の処理は終了する。プ
ロトコル制御部2805では、まず、ドライバ層が、コピー
されたデータに対して処理を行い、処理が終了したらF
DDIヘッダ2821を外し、IPヘッダ2822とTCPヘッ
ダ2823とデータ2824とをIP層にコピーする。つぎに、
IP層は、コピーされたデータに対して処理を行い、処
理が終了したらIPヘッダ2822を外し、TCPヘッダ28
23とデータ2824をTCP層にコピーし、IP層の処理は
終了する。つぎにTCP層はコピーされたデータに対し
て処理を行い、処理が終了したらTCPヘッダ2823を外
し、データ2824をユーザアプリケーション部2804にコピ
ーして、受信側の処理は終了する。
Next, the processing on the receiving side will be described. First, the network interface unit 2806 changes the LAN 2807
FDDI header 2821 sent from the sending side via
A reception frame 2820 including an IP header 2822, a TCP header 2823, and data 2824 is received by the network buffer 2812. Next, the network interface unit 2806
In order to improve the accuracy of error determination of received data,
Pseudo header 2825 added only in P layer is IP header
It is created from 2822 and is added in parallel with the IP header 2822 before the TCP header 2823 of the received data. Then, the high speed addition system 2813 first obtains the checksum value using the IP header 2822 as the data to be added. When the checksum value determines that the received data is correct, the high speed addition system 2813 further determines that the pseudo header 2825 and the TCP header
The checksum value is obtained by using 2823 and the data 2724 as data to be added by the high-speed addition system 2813. If the checksum value determines that the received data is correct, the pseudo header 2825 is removed, and the FDDI header 2821, the IP header 2822, the TCP header 2823, and the data 2824 are added to the protocol control unit.
The data is copied to the protocol buffer 2811 provided in the 2805, and the processing of the network interface unit 2806 ends. If it is determined that the received data is erroneous, the received data is immediately discarded and the processing on the receiving side ends. In the protocol control unit 2805, the driver layer first processes the copied data, and when the processing is completed, F
The DDI header 2821 is removed, and the IP header 2822, the TCP header 2823, and the data 2824 are copied to the IP layer. Next,
The IP layer processes the copied data, removes the IP header 2822 when the processing is completed, and removes the TCP header 28
23 and the data 2824 are copied to the TCP layer, and the processing of the IP layer ends. Next, the TCP layer processes the copied data. When the processing is completed, the TCP header 2823 is removed, the data 2824 is copied to the user application unit 2804, and the processing on the receiving side is completed.

【0113】つぎに、上記高速通信システムで行ってい
るデータ管理の方法について、図28、図33および図
34を用いて説明する。従来、TCP層では、擬似ヘッ
ダ2815とTCPヘッダ2816とを作成して付加
し、TCP層での処理終了後、擬似ヘッダ2815は削
除され、TCPヘッダ2816とデータ2814とがI
P層に渡されていた。本高速通信システムでは、ネット
ワークインタフェース部2803に設けた高速加算シス
テム2810でチェックサム処理を行うため、ネットワ
ークインタフェース部2803に設けられているネット
ワークバッファ2809まで、チェックサム処理対象の
1つである擬似ヘッダ2825を渡さなければならな
い。そこで、図33に示すデータ管理テーブル3301
によりデータの管理を行う。
Next, a data management method performed in the above high speed communication system will be described with reference to FIGS. 28, 33 and 34. Conventionally, in the TCP layer, a pseudo header 2815 and a TCP header 2816 are created and added, and after the processing in the TCP layer is completed, the pseudo header 2815 is deleted, and the TCP header 2816 and the data 2814 are I.
It was passed to the P layer. In this high-speed communication system, since the high-speed addition system 2810 provided in the network interface unit 2803 performs checksum processing, up to the network buffer 2809 provided in the network interface unit 2803, a pseudo header that is one of the checksum processing targets. You have to pass 2825. Therefore, the data management table 3301 shown in FIG.
The data is managed by.

【0114】初めに、データ管理テーブル3301の構
成について図33を用いて説明する。次テーブルポイン
タ3302は、データ管理テーブルを複数持つ場合に次
のテーブルを指すポインタが格納され、テーブルが1つ
の時は0が入る。データポインタ3303は、そのテー
ブルが管理するデータの先頭位置を示すポインタが格納
される。データ長3304は、そのテーブルが管理する
データの大きさが格納される。不要データ長3305
は、そのテーブルが管理するデータのうち、擬似ヘッダ
などのように本来、下位層では必要ではない先頭の不要
なデータの大きさが格納され、先頭不要データがないと
きは0が入る。
First, the structure of the data management table 3301 will be described with reference to FIG. The next table pointer 3302 stores a pointer that points to the next table when there are a plurality of data management tables, and 0 is entered when there is one table. The data pointer 3303 stores a pointer indicating the head position of the data managed by the table. The data length 3304 stores the size of data managed by the table. Unnecessary data length 3305
Among the data managed by the table, the size of the unnecessary data at the beginning which is not originally necessary in the lower layer, such as a pseudo header, is stored, and 0 is entered when there is no unnecessary data at the beginning.

【0115】つぎに、データ管理テーブルの使用例を図
34を用いて説明する。TCP層では、まず、擬似ヘッ
ダ3406とTCPヘッダ3407とを作成し、プロト
コルバッファ2808に格納し、つぎに、データ管理テ
ーブル3401を作成する。そして、次テーブルポイン
タ3402に0を代入し、データポインタ3403に擬
似ヘッダ3406が格納されているアドレスを代入し、
データ長3404には擬似ヘッダ3406の大きさと、
TCPヘッダ3407の大きさと、データ3408の大
きさとを合計した値を代入し、不要データ長3405に
擬似ヘッダ3406の大きさを代入する。TCP層での
処理終了後、IP層にデータ管理テーブル3401とデ
ータとを渡す。つぎに、IP層では、まず、IPヘッダ
3414を作成し、データ管理テーブル3409を作成
する。そして、次テーブルポインタ3410にTCP層
から渡されたデータ管理テーブル3401のアドレスを
代入し、データポインタ3411にIPヘッダ3414
が格納されているアドレスを代入し、データ長3412
にはIPヘッダ3414の大きさを代入し、不要データ
長3413に0を代入する。IP層での処理終了後、ド
ライバ層にIP層で作成したデータ管理テーブル340
9とTCP層で作成したデータ管理テーブル3401と
データとを渡す。つぎに、ドライバ層では、FDDIヘ
ッダを作成してIPヘッダ3414の前に付加し、デー
タポインタ3411にFDDIヘッダ3415のアドレ
スを代入し、データ長3412にはFDDIヘッド34
15の大きさとIPヘッダ3414の大きさを合計した
値を代入する。FDDIヘッダは固定形であるので、デ
ータ管理テーブル3409によりIPヘッダとともに管
理できる。ドライバ層での処理終了後、ネットワークイ
ンタフェース部にIP層で作成したデータ管理テーブル
3409とTCP層で作成したデータ管理テーブル34
01とデータを渡す。ネットワークインタフェース部で
は、IP層で作成したデータ管理テーブル3409を参
照することにより、FDDIヘッダ3415とIPヘッ
ダ3414とTCP層で作成したデータ管理テーブル3
401を使用することができ、更にTCP層で作成した
管理テーブル3401を参照することにより擬似ヘッダ
3406とTCPヘッダ3407とデータ3408を使
用することができる。ネットワークインタフェース部で
の処理終了後、データ管理テーブルを参照し、送信に必
要な部分である、FDDIヘッダ3415とIPヘッダ
3414とTCPヘッダ3407とデータ3408とを
送信する。
Next, an example of using the data management table will be described with reference to FIG. In the TCP layer, first, the pseudo header 3406 and the TCP header 3407 are created and stored in the protocol buffer 2808, and then the data management table 3401 is created. Then, 0 is assigned to the next table pointer 3402, the address in which the pseudo header 3406 is stored is assigned to the data pointer 3403,
The data length 3404 includes the size of the pseudo header 3406,
A value obtained by adding the size of the TCP header 3407 and the size of the data 3408 is substituted, and the size of the pseudo header 3406 is substituted for the unnecessary data length 3405. After the processing in the TCP layer is completed, the data management table 3401 and the data are passed to the IP layer. Next, in the IP layer, first, the IP header 3414 is created and the data management table 3409 is created. Then, the address of the data management table 3401 passed from the TCP layer is assigned to the next table pointer 3410, and the IP header 3414 is assigned to the data pointer 3411.
Is stored, and the data length 3412
Is substituted with the size of the IP header 3414, and 0 is substituted for the unnecessary data length 3413. After the processing in the IP layer is completed, the data management table 340 created in the driver layer in the IP layer
9 and the data management table 3401 created in the TCP layer and the data. Next, in the driver layer, an FDDI header is created and added in front of the IP header 3414, the address of the FDDI header 3415 is assigned to the data pointer 3411, and the FDDI head 34 is assigned to the data length 3412.
A value obtained by summing the size of 15 and the size of the IP header 3414 is substituted. Since the FDDI header is a fixed type, it can be managed together with the IP header by the data management table 3409. After the processing in the driver layer is completed, the data management table 3409 created in the IP layer and the data management table 34 created in the TCP layer in the network interface section.
Pass 01 and the data. The network interface unit refers to the data management table 3409 created in the IP layer to refer to the FDDI header 3415, the IP header 3414, and the data management table 3 created in the TCP layer.
401 can be used, and the pseudo header 3406, TCP header 3407, and data 3408 can be used by referring to the management table 3401 created in the TCP layer. After the processing in the network interface section is completed, the FDDI header 3415, the IP header 3414, the TCP header 3407, and the data 3408, which are necessary for transmission, are transmitted by referring to the data management table.

【0116】以上のように、高速通信システムにおい
て、データを管理することによりデータについてのチェ
ックサムデータを加算する加算処理を独立にして行うこ
とができる。また、次々とチェックサム処理要求を送出
する場合には、該チェックサム処理要求に識別情報を付
加してもよい。
As described above, in the high-speed communication system, it is possible to independently perform the addition process of adding the checksum data for the data by managing the data. When the checksum processing requests are transmitted one after another, the identification information may be added to the checksum processing requests.

【0117】以上のように、ネットワークインタフェー
ス部に、上記高速加算システムと被加算データを格納す
るネットワークバッファとを備えることにより、高速に
加算処理し、誤りデータの検出を早い段階で検出するこ
とができる。また、ヘッダ処理と加算処理とを独立で処
理することにより、並列に処理することができる。
As described above, by providing the network interface unit with the high-speed addition system and the network buffer for storing the data to be added, the addition processing can be performed at high speed and the detection of error data can be detected at an early stage. it can. Further, the header processing and the addition processing are independently processed, so that they can be processed in parallel.

【0118】つぎに、図29を参照して説明する。図29
は、ネットワークインタフェース部が高速加算システム
を備え、プロトコル制御部に、被加算データを格納し、
ソフトウェアおよびハードウェアで共用されるコモンバ
ッファを備えている場合についての構成を示している。
本実施例においては、前記加算部を前記ネットワークイ
ンタフェース部に設け、前記プロトコル制御部は、送信
時に、前記加算部に対して被加算データを指示し、前記
加算部におけるチェックサムデータを情報に付加し、受
信時に、前記伝送路から情報を受信し、受信した情報に
基づいて前記加算部に対して被加算データを指示し、前
記ネットワークインタフェース部は、受信時に、前記加
算部におけるチェックサムデータに基づいて、受信デー
タが正しいか否かを判定し、正しい場合には、あらかじ
め定めたつぎの処理に移行し、正しくない場合には、受
信データを廃棄する。さらに、前記プロトコル制御部
は、前記情報を格納するコモンバッファを備え、前記加
算部に対して前記コモンバッファに格納している被加算
データの領域および前記チェックサムデータの格納領域
を指示し、前記加算部は、前記プロトコル制御部に指示
された被加算データの領域を参照して加算を行い、指示
されたチェックサムデータの格納領域にチェックサムデ
ータを格納することにより、チェックサムデータを情報
に付加し、前記インタフェースネットワーク部は、送信
時に、前記コモンバッファに送信情報の出力を指示し、
受信時に、前記コモンバッファに受信データを格納する
ことができる。
Next, description will be made with reference to FIG. Figure 29
, The network interface unit has a high-speed addition system, the protocol control unit stores the data to be added,
The configuration in the case of having a common buffer shared by software and hardware is shown.
In the present embodiment, the addition unit is provided in the network interface unit, and the protocol control unit, at the time of transmission, instructs the addition unit to be added data and adds the checksum data in the addition unit to the information. Then, at the time of reception, the information is received from the transmission path, and the added data is instructed to the addition unit based on the received information, and the network interface unit receives the checksum data in the addition unit at the reception. Based on this, it is determined whether or not the received data is correct. If the received data is correct, the process proceeds to a predetermined next process, and if not, the received data is discarded. Further, the protocol control unit includes a common buffer that stores the information, and instructs the addition unit to specify an area of the added data and a storage area of the checksum data that are stored in the common buffer. The adder refers to the area of the data to be added instructed by the protocol control unit to perform addition, and stores the checksum data in the storage area of the instructed checksum data to convert the checksum data into information. In addition, the interface network unit instructs the common buffer to output transmission information at the time of transmission,
Upon reception, the received data can be stored in the common buffer.

【0119】初めに、送信側の処理について説明する。
ユーザアプリケーション部2901は、FDDI上で許可さ
れている最大データ長が4.5キロバイトであることよ
り、4430バイトの送信データ2912を生成する。そして、
送信データ2912を、プロトコル制御部2902に設けられて
いるコモンバッファ2908にコピーし、ユーザアプリケー
ション部2901の処理は終了する。プロトコル制御部2902
では、まず、TCP層が、転送データの誤り検出の精度
を上げるためにTCP層でのみ付加される20バイトの擬
似ヘッダ2913と、TCPプロトコル情報が格納されてい
る20バイトのTCPヘッダ2914とを、コピーされた送信
データ2912の前に付加する。そして、ネットワークイン
タフェース部2903に設けられている高速加算システム29
09に対し、チェックサム処理要求を行う。チェックサム
処理要求としては、チェックサム処理対象となる擬似ヘ
ッダ2913とTCPヘッダ2914とデータ2912
のコモンバッファ格納位置と、データの長さと、チェッ
クサム処理結果のコモンバッファ格納位置とを通知す
る。要求を受けた高速加算システム2909は、プロトコル
制御部2902におけるヘッダ処理と並列に動作する。高速
加算システム2909は、通知された被加算データの格納位
置からコモンバッファ2908を参照し、擬似ヘッダ2913と
TCPヘッダ2914とデータ2912とを被加算データとして
チェックサム値を求め、通知されたチェックサム処理結
果格納位置にチェックサム値を格納する。これによりチ
ェックサム値をTCPヘッダ2914に代入することができ
る。チェックサム値を格納後、高速加算システム2909
は、プロトコル制御部2902に加算処理の終了を通知す
る。そして、プロトコル制御部2902のTCP層では加算
処理の通知があると、擬似ヘッダ2913を外し、TCPヘ
ッダ2914とデータ2912とをIP層にコピーし、TCP層
の処理は終了する。つぎに、IP層は、IPプロトコル
情報が格納されている20バイトのIPヘッダ2915を、コ
ピーされたデータのTCPヘッダ2914の前に付加する。
そして、ネットワークインタフェース部2903に設けられ
ている高速加算システム2909に対し、チェックサム処理
要求を行う。同様にして、チェックサム処理要求として
は、チェックサム処理対象となるIPヘッダ2915の
コモンバッファ格納位置と、長さと、チェックサム処理
結果のコモンバッファ格納位置を通知して行う。要求を
受けた高速加算システム2909は、プロトコル制御部2902
におけるヘッダ処理と並列に動作する。高速加算システ
ム2909は、通知された被加算データの格納位置からコモ
ンバッファ2908を参照し、コモンバッファ2908に格納さ
れているIPヘッダ2915を被加算データとしてチェック
サム値を求め、通知されたチェックサム処理結果格納位
置にチェックサム値を格納する。これによりチェックサ
ム値をIPヘッダ2915に代入することができる。チェッ
クサム値を格納後、高速加算システム2909は、プロトコ
ル制御部2902に加算処理の終了を通知する。そして、プ
ロトコル制御部2902のIP層では、IPヘッダ2915とT
CPヘッダ2914とデータ2912とをドライバ層にコピー
し、IP層での処理は終了する。つぎに、ドライバ層
は、物理アドレス情報が格納されている22バイトのFD
DIヘッダ2916を、コピーされたデータのIPヘッダ29
15の前に付加し、コモンバッファ2908に送信フレーム29
17を作成する。そして、ネットワークインタフェース部
2903は、コモンバッファ2908から送信フレーム2917をL
AN2907に送出して、送信側の処理は終了する。
First, the processing on the transmitting side will be described.
The user application unit 2901 generates the transmission data 2912 of 4430 bytes because the maximum data length permitted on the FDDI is 4.5 kilobytes. And
The transmission data 2912 is copied to the common buffer 2908 provided in the protocol control unit 2902, and the processing of the user application unit 2901 ends. Protocol control unit 2902
Then, first, the TCP layer includes a 20-byte pseudo header 2913 added only in the TCP layer in order to improve the accuracy of error detection of transfer data, and a 20-byte TCP header 2914 in which TCP protocol information is stored. , Is added before the copied transmission data 2912. Then, the high-speed addition system 29 provided in the network interface unit 2903
Sends a checksum processing request to 09. The checksum processing request includes a pseudo header 2913, a TCP header 2914, and data 2912 to be the checksum processing target.
The common buffer storage position, the data length, and the checksum processing result common buffer storage position are notified. Upon receiving the request, the high-speed addition system 2909 operates in parallel with the header processing in the protocol control unit 2902. The high-speed addition system 2909 refers to the common buffer 2908 from the notified storage position of the added data, obtains a checksum value using the pseudo header 2913, the TCP header 2914, and the data 2912 as the added data, and notifies the checksum The checksum value is stored in the processing result storage location. As a result, the checksum value can be substituted in the TCP header 2914. After storing the checksum value, high-speed addition system 2909
Notifies the protocol control unit 2902 of the end of the addition process. Then, when the TCP layer of the protocol control unit 2902 is notified of the addition processing, the pseudo header 2913 is removed, the TCP header 2914 and the data 2912 are copied to the IP layer, and the processing of the TCP layer ends. Next, the IP layer adds a 20-byte IP header 2915 in which IP protocol information is stored before the TCP header 2914 of the copied data.
Then, the checksum processing request is issued to the high-speed addition system 2909 provided in the network interface unit 2903. Similarly, the checksum processing request is made by notifying the common buffer storage position and length of the IP header 2915 to be the checksum processing target and the common buffer storage position of the checksum processing result. The high-speed addition system 2909 that received the request is the protocol control unit 2902.
It operates in parallel with the header processing in. The high-speed addition system 2909 refers to the common buffer 2908 from the notified storage position of the added data, obtains a checksum value using the IP header 2915 stored in the common buffer 2908 as the added data, and notifies the notified checksum. The checksum value is stored in the processing result storage location. This allows the checksum value to be assigned to the IP header 2915. After storing the checksum value, the high speed addition system 2909 notifies the protocol control unit 2902 of the end of the addition process. Then, in the IP layer of the protocol control unit 2902, the IP header 2915 and the T
The CP header 2914 and the data 2912 are copied to the driver layer, and the processing at the IP layer ends. Next, the driver layer is a 22-byte FD that stores physical address information.
The DI header 2916 is replaced with the IP header 29 of the copied data.
It is added before 15 and the transmission frame 29 is sent to the common buffer 2908.
Create 17. And the network interface section
The 2903 transmits the transmission frame 2917 from the common buffer 2908 to the L level.
The data is sent to AN2907, and the processing on the transmission side is completed.

【0120】コモンバッファにデータが格納されている
ときに、プロトコル制御部の各層のデータの引渡しにお
いて、データのコピーには、当該コモンバッファに格納
しているデータの位置を示すアドレスの通知を含める。
例えば、TCP層からIP層、IP層からドライバ層へ
のデータの引渡し時に、コモンバッファのアドレスを通
知することができる。
When data is stored in the common buffer, when the data of each layer of the protocol control unit is delivered, the copy of the data includes the notification of the address indicating the position of the data stored in the common buffer. .
For example, when passing data from the TCP layer to the IP layer and from the IP layer to the driver layer, the address of the common buffer can be notified.

【0121】つぎに、受信側の処理について説明する。
まず、ネットワークインタフェース部が、LAN2907を
介して送信側より送られてきた、FDDIヘッダ2919と
IPヘッダ2920とTCPヘッダ2921とデータ2922とから
なる受信フレーム2918をコモンバッファ2910に受信す
る。
Next, the processing on the receiving side will be described.
First, the network interface unit receives, in the common buffer 2910, the reception frame 2918 including the FDDI header 2919, the IP header 2920, the TCP header 2921, and the data 2922 sent from the transmission side via the LAN 2907.

【0122】つぎに、プロトコル制御部2905のドライバ
層が、受信データの誤り判定の精度を上げるために、T
CP層でのみ付加されていた擬似ヘッダ2923をIPヘッ
ダ2920から作成し、受信したデータのTCPヘッダ2921
の前に、IPヘッダ2920と並列に付加する。そして、ネ
ットワークインタフェース部2906に設けられている高速
加算システム2911に対し、チェックサム処理要求を行
う。チェックサム処理要求としては、チェックサム処理
対象となるIPヘッダ2920および擬似ヘッダ2923の
コモンバッファ格納位置と、長さと、チェックサム処理
結果のコモンバッファ格納位置を通知して行う。要求を
受けた高速加算システム2911は、プロトコル制御部2905
におけるヘッダ処理と並列に動作する。高速加算システ
ム2911は、まず、通知された被加算データの格納位置か
らコモンバッファ2910を参照し、コモンバッファ2910に
格納されているIPヘッダ2920を被加算データとしてチ
ェックサム値を求める。チェックサム値により受信デー
タが正しいか否かの判定を行う。受信データが正しいと
判定された場合、更に、高速加算システム2911は、プロ
トコル制御部2905におけるヘッダ処理と並列に動作し、
擬似ヘッダ2923とTCPヘッダ2921とデータ2922とを高
速加算システム2911の被加算データとしてチェックサム
値を求める。チェックサム値により受信データが正しい
か否かの判定を行う。受信データが正しいと判定された
場合、プロトコル制御部2906は、擬似ヘッダ2923とFD
DIヘッダ2919とを外し、IPヘッダ2920とTCPヘッ
ダ2921とデータ2922とを、IP層にコピーし、ドライバ
層の処理は終了する。受信データが誤っていると判定さ
れた場合、受信データはただちに廃棄され、受信側の処
理は終了する。
Next, the driver layer of the protocol control unit 2905 uses T in order to improve the accuracy of error determination of received data.
A pseudo header 2923 added only in the CP layer is created from the IP header 2920, and the TCP header 2921 of the received data is created.
Is added in parallel with the IP header 2920. Then, the checksum processing request is issued to the high-speed addition system 2911 provided in the network interface unit 2906. The checksum processing request is made by notifying the common buffer storage position and the length of the IP header 2920 and the pseudo header 2923 to be the checksum processing target, and the common buffer storage position of the checksum processing result. The high-speed addition system 2911 that received the request uses the protocol control unit 2905.
It operates in parallel with the header processing in. The high-speed addition system 2911 first refers to the common buffer 2910 from the storage position of the notified data to be added, and obtains the checksum value using the IP header 2920 stored in the common buffer 2910 as the data to be added. The checksum value is used to determine whether the received data is correct. When the received data is determined to be correct, the high-speed addition system 2911 further operates in parallel with the header processing in the protocol control unit 2905,
The checksum value is obtained by using the pseudo header 2923, the TCP header 2921, and the data 2922 as data to be added by the high-speed addition system 2911. The checksum value is used to determine whether the received data is correct. If it is determined that the received data is correct, the protocol control unit 2906 determines that the pseudo header 2923 and the FD
The DI header 2919 is removed, the IP header 2920, the TCP header 2921, and the data 2922 are copied to the IP layer, and the processing of the driver layer ends. If it is determined that the received data is erroneous, the received data is immediately discarded and the processing on the receiving side ends.

【0123】つぎに、IP層はコピーされたデータに対
して処理を行い、処理が終了したらIPヘッダ2920を外
し、TCPヘッダ2921とデータ2922をTCP層にコピー
し、IP層の処理は終了する。つぎにTCP層はコピー
されたデータに対して処理を行い、処理が終了したらT
CPヘッダ2921を外し、データ2922をユーザアプリケー
ション部2904にコピーして、受信側の処理は終了する。
Next, the IP layer processes the copied data. When the processing is completed, the IP header 2920 is removed, the TCP header 2921 and the data 2922 are copied to the TCP layer, and the processing of the IP layer is completed. . Next, the TCP layer processes the copied data, and when the processing is completed, T
The CP header 2921 is removed, the data 2922 is copied to the user application unit 2904, and the processing on the receiving side ends.

【0124】以上のように、ネットワークインタフェー
ス部に、上記高速加算システムと被加算データを格納す
るネットワークバッファとを備え、また、プロトコル制
御部にコモンバッファを備えることにより、高速に加算
処理し、誤りデータの検出を早い段階で検出することが
できる。また、ヘッダ処理と加算処理とを独立で処理す
ることにより、並列に処理することができる。
As described above, the high-speed addition system and the network buffer for storing the data to be added are provided in the network interface section, and the common buffer is provided in the protocol control section. Data detection can be detected at an early stage. Further, the header processing and the addition processing are independently processed, so that they can be processed in parallel.

【0125】つぎに、図30を参照して説明する。図30
は、ネットワークインタフェース部に、高速加算システ
ムと、高速加算システムの処理結果を一時格納しておく
サムバッファとを備えている場合の構成を示している。
本実施例においては、プロトコル制御部3002に備えるプ
ロトコルバッファと、ネットワークインタフェース部に
備えるネットワークバッファ間でデータ転送されるとき
に、高速加算システムにおいて転送データを抽出して被
加算データとすることを特徴とする。本実施例において
は、前記加算部を前記ネットワークインタフェース部に
設け、該加算部は、送信時に、前記プロトコル制御部か
らの送信情報を受信し、該送信情報に基づいて加算処理
してチェックサムデータを付加して前記ネットワークイ
ンタフェース部に出力し、受信時に、前記ネットワーク
インタフェース部で受信された情報に基づいて加算処理
してチェックサムデータを出力し、前記プロトコル制御
部に受信情報を転送し、前記ネットワークインタフェー
ス部は、受信時に、前記加算部におけるチェックサムデ
ータに基づいて、受信データが正しいか否かを判定し、
正しい場合には、あらかじめ定めたつぎの処理に移行
し、正しくない場合には、受信データを廃棄する。
Next, description will be made with reference to FIG. Figure 30
Shows a configuration in the case where the network interface unit includes a high-speed addition system and a thumb buffer for temporarily storing the processing result of the high-speed addition system.
In this embodiment, when data is transferred between the protocol buffer provided in the protocol control unit 3002 and the network buffer provided in the network interface unit, the transfer data is extracted in the high-speed addition system to be added data. And In the present embodiment, the addition unit is provided in the network interface unit, and the addition unit receives transmission information from the protocol control unit at the time of transmission, performs addition processing based on the transmission information, and performs checksum data. And output to the network interface unit, and when receiving, add processing is performed based on the information received by the network interface unit to output checksum data, and transfer the received information to the protocol control unit. The network interface unit, when receiving, determines whether the received data is correct, based on the checksum data in the adding unit,
If it is correct, the process moves to the next predetermined process, and if it is not correct, the received data is discarded.

【0126】初めに送信側の処理について説明する。ユ
ーザアプリケーション部3001は、FDDI上で許可され
ている最大データ長が4.5キロバイトであることより、
4430バイトの送信データ3016を生成する。そし
て、送信データ3016を、プロトコル制御部3002に設けら
れているプロトコルバッファ3008にコピーし、ユーザア
プリケーション部3001の処理は終了する。プロトコル制
御部3002では、まず、TCP層が、転送データの誤り検
出の精度を上げるためにTCP層でのみ付加される20バ
イトの擬似ヘッダ3017と、TCPプロトコル情報が格納
されている20バイトのTCPヘッダ3018とを、コピーさ
れた送信データ3016の前に付加する。そして、擬似ヘッ
ダ3017とTCPヘッダ3018とデータ3016とをIP層にコ
ピーし、TCP層の処理は終了する。つぎに、IP層
は、IPプロトコル情報が格納されている20バイトのI
Pヘッダ3019を、コピーされたデータのTCPヘッダ30
18の前に、擬似ヘッダ3017と並列に付加する。そして、
擬似ヘッダ3017とIPヘッダ3019とTCPヘッダ3018と
データ3016とをドライバ層にコピーし、IP層での処理
は終了する。つぎに、ドライバ層は、物理アドレス情報
が格納されている22バイトのFDDIヘッダ3020を、コ
ピーされたデータのIPヘッダ3019の前に付加する。ド
ライバ層での処理終了後、プロトコル制御部3002は、高
速加算システム3011に対してデータを出力することを通
知後、FDDIヘッダ3020とIPヘッダ3019と擬似ヘッ
ダ3017とTCPヘッダ3018とデータ3016とを出力する。
高速加算システム3011は、入力したデータのうち、初め
に、擬似ヘッダ3017とTCPヘッダ3018とデータ3016と
を被加算データとしてチェックサム値A3021を求め、チ
ェックサム値A3021をサムバッファ3010に出力する。つ
ぎに、IPヘッダを被加算データとしてチェックサム値
B3022を求め、チェックサム値B3022をサムバッファ30
10に出力する。加算処理が終了したら、高速加算システ
ム3011は、プロトコル制御部3002からコピーされたデー
タから、擬似ヘッダ3017を外し、FDDIヘッダ3020と
IPヘッダ3019とTCPヘッダ3018とデータ3016とをネ
ットワークバッファ3009に出力する。ネットワークイン
タフェース部3003は、サムバッファ3010に格納されてい
るチェックサム値A3021およびチェックサム値B3022
を、TCPヘッダ3018とIPヘッダ3019とにそれぞれ代
入する。最後に、ネットワークインタフェース部3003
は、FDDIヘッダ3020とIPヘッダ3019とTCPヘッ
ダ3018とデータ3016とを送信フレーム3023としてLAN
3007に送出して、送信側の処理は終了する。
First, the processing on the transmitting side will be described. The user application unit 3001 determines that the maximum data length allowed on FDDI is 4.5 kilobytes.
Transmission data 3016 of 4430 bytes is generated. Then, the transmission data 3016 is copied to the protocol buffer 3008 provided in the protocol control unit 3002, and the processing of the user application unit 3001 ends. In the protocol control unit 3002, first, the TCP layer has a 20-byte pseudo header 3017 added only in the TCP layer to improve the accuracy of error detection of transfer data, and a 20-byte TCP in which TCP protocol information is stored. A header 3018 and a header 3018 are added before the copied transmission data 3016. Then, the pseudo header 3017, the TCP header 3018, and the data 3016 are copied to the IP layer, and the processing of the TCP layer ends. Next, the IP layer is a 20-byte I that stores IP protocol information.
The P header 3019 is replaced with the TCP header 30 of the copied data.
It is added in parallel with the pseudo header 3017 before 18. And
The pseudo header 3017, the IP header 3019, the TCP header 3018, and the data 3016 are copied to the driver layer, and the processing in the IP layer ends. Next, the driver layer adds a 22-byte FDDI header 3020 storing physical address information in front of the IP header 3019 of the copied data. After the processing in the driver layer is completed, the protocol control unit 3002 notifies the high-speed addition system 3011 that data will be output, and then sends the FDDI header 3020, the IP header 3019, the pseudo header 3017, the TCP header 3018, and the data 3016. Output.
The high-speed addition system 3011 first obtains a checksum value A3021 using the pseudo header 3017, the TCP header 3018, and the data 3016 as input data among the input data, and outputs the checksum value A3021 to the sum buffer 3010. Next, the checksum value B3022 is obtained using the IP header as the data to be added, and the checksum value B3022 is stored in the sum buffer 30.
Output to 10. After the addition processing is completed, the high-speed addition system 3011 removes the pseudo header 3017 from the data copied from the protocol control unit 3002 and outputs the FDDI header 3020, the IP header 3019, the TCP header 3018, and the data 3016 to the network buffer 3009. To do. The network interface unit 3003 has a checksum value A3021 and a checksum value B3022 stored in the sum buffer 3010.
Are substituted into the TCP header 3018 and the IP header 3019, respectively. Finally, the network interface unit 3003
Uses the FDDI header 3020, the IP header 3019, the TCP header 3018, and the data 3016 as the transmission frame 3023 on the LAN.
The data is sent to 3007, and the processing on the transmission side ends.

【0127】つぎに、受信側の処理について説明する。
まず、ネットワークインタフェース部3006が、LAN30
07を介して送信側より送られてきた、FDDIヘッダ30
25とIPヘッダ3026とTCPヘッダ3027とデータ3028と
からなる受信フレーム3024をネットワークバッファ3013
に受信する。つぎに、ネットワークインタフェース部30
06は、受信データの誤り判定の精度を上げるために、T
CP層でのみ付加されていた擬似ヘッダ3029をIPヘッ
ダ3026から作成し、受信したデータのTCPヘッダ3027
の前に、IPヘッダ3026と並列に付加する。そして、F
DDIヘッダ3025とIPヘッダ3026と擬似ヘッダ3029と
TCPヘッダ3027とデータ3028とを、高速加算システム
3015に出力する。高速加算システム3015は、入力したデ
ータのうち、初めに、IPヘッダ3026を被加算データと
してチェックサム値A3030を求め、チェックサム値A30
30をサムバッファ3014に出力する。つぎに、擬似ヘッダ
3029とTCP3027ヘッダとデータ3028を被加算データと
してチェックサム値B3031を求め、チェックサム値B30
31をサムバッファ3014に出力する。加算処理が終了した
ら、高速加算システム3015はネットワークインタフェー
ス部3006からコピーされたデータから、擬似ヘッダ3029
を外し、FDDIヘッダ3025とIPヘッダ3026とTCP
ヘッダ3027とデータ3028とをプロトコルバッファ3012に
出力する。ネットワークインタフェース部3006は、サム
バッファ3014に格納されているチェックサム値A3030お
よびチェックサム値B3031により、受信データが正しい
か否かを判定する。正しいと判定された場合、プロトコ
ル制御部3005が、引き続き処理を行い、誤っていると判
定された場合、受信データはただちに廃棄され、受信側
の処理は終了する。プロトコル制御部3005では、プロト
コルバッファ3012に入力があると、まず、ドライバ層
が、コピーされたデータに対して処理を行い、処理が終
了したらFDDIヘッダ3025を外し、IPヘッダ3026と
TCPヘッダ3027とデータ3028とをIP層にコピーす
る。つぎにIP層は、コピーされたデータに対して処理
を行い、処理が終了したらIPヘッダ3026を外し、TC
Pヘッダ3027とデータ3028をTCP層にコピーする。つ
ぎにTCP層は、コピーされたデータに対して処理を行
い、処理が終了したらTCPヘッダ3027を外し、データ
3028をユーザアプリケーション部3004にコピーして、受
信側の処理は終了する。
Next, the processing on the receiving side will be described.
First, the network interface unit 3006 uses the LAN 30
FDDI header 30 sent from the sender via 07
25, an IP header 3026, a TCP header 3027, and data 3028.
To receive. Next, the network interface unit 30
06 is T in order to improve the accuracy of error determination of received data.
A pseudo header 3029 added only in the CP layer is created from the IP header 3026, and the TCP header 3027 of the received data is created.
Is added in parallel with the IP header 3026. And F
High-speed addition system for DDI header 3025, IP header 3026, pseudo header 3029, TCP header 3027, and data 3028
Output to 3015. The high-speed addition system 3015 first obtains the checksum value A3030 using the IP header 3026 as the data to be added from the input data, and then checks the checksum value A30.
30 is output to the sum buffer 3014. Next, the pseudo header
3029 and TCP 3027 Header and data 3028 are used as augend data to obtain a checksum value B3031 and a checksum value B30
31 is output to the sum buffer 3014. After the addition processing is completed, the high speed addition system 3015 uses the data copied from the network interface unit 3006 to generate the pseudo header 3029.
, FDDI header 3025, IP header 3026 and TCP
The header 3027 and the data 3028 are output to the protocol buffer 3012. The network interface unit 3006 determines whether or not the received data is correct based on the checksum value A3030 and the checksum value B3031 stored in the sum buffer 3014. If it is determined to be correct, the protocol control unit 3005 continues processing, and if it is determined to be incorrect, the received data is immediately discarded, and the processing on the receiving side ends. In the protocol control unit 3005, when there is an input in the protocol buffer 3012, the driver layer first processes the copied data, and when the processing is completed, the FDDI header 3025 is removed and the IP header 3026 and the TCP header 3027 are stored. Copy data 3028 and IP layer. Next, the IP layer processes the copied data. When the processing is completed, the IP header 3026 is removed and the TC
Copy the P header 3027 and data 3028 to the TCP layer. Next, the TCP layer processes the copied data, removes the TCP header 3027 when the processing is completed, and
After copying 3028 to the user application unit 3004, the processing on the receiving side is completed.

【0128】以上のように処理することにより、プロト
コルバッファと、ネットワークバッファ間でデータ転送
の時に高速加算システムを介し、高速加算システムにお
いて転送データを被加算データとして加算処理し、ネッ
トワークインタフェース部において誤り検出を行うこと
ができる。
By performing the above processing, when data is transferred between the protocol buffer and the network buffer, the transfer data is added as data to be added in the high-speed addition system via the high-speed addition system, and an error is generated in the network interface section. Detection can be performed.

【0129】つぎに、図31を参照して説明する。図31
は、ネットワークインタフェース部に、高速加算システ
ムとサムバッファとを備えている場合の構成を示してい
る。本実施例においては、送信時は、プロトコルバッフ
ァからネットワークバッファにコピーされるデータを被
加算データとし、受信時は、LANからネットワークバ
ッファにコピーされるデータを被加算データとすること
を特徴とする。本実施例においては、前記プロトコル制
御部は、送信時に、前記プロトコルに従った処理の終了
後に、処理した情報と該情報の管理データとを前記ネッ
トワークインタフェース部に転送し、受信時に、受信し
た情報について前記プロトコルに従った処理を行い、前
記加算部を前記ネットワークインタフェース部に設け、
該加算部は、送信時に、前記プロトコル制御部からの送
信情報を受信し、該送信情報に基づいて加算処理してチ
ェックサムデータおよび送信情報を出力し、受信時に、
前記伝送路から情報を受信し、該情報に基づいて加算処
理してチェックサムデータを出力し、前記情報を前記ネ
ットワークインタフェース部に出力し、前記ネットワー
クインタフェース部は、送信時に、前記加算部から出力
された送信情報にチェックサムデータを付加して前記伝
送路に送信情報を送出し、受信時に、前記加算部におけ
るチェックサムデータに基づいて、受信データが正しい
か否かを判定し、正しい場合には、あらかじめ定めたつ
ぎの処理に移行し、正しくない場合には、受信データを
廃棄する。
Next, description will be made with reference to FIG. Figure 31
Shows a configuration in the case where the network interface unit includes a high-speed addition system and a thumb buffer. The present embodiment is characterized in that the data copied from the protocol buffer to the network buffer is the augend data at the time of transmission, and the data copied from the LAN to the network buffer is the augend data at the time of reception. . In this embodiment, the protocol control unit transfers the processed information and the management data of the information to the network interface unit after the processing according to the protocol at the time of transmission, and receives the information at the time of reception. Processing according to the above protocol, the addition unit is provided in the network interface unit,
The addition unit receives transmission information from the protocol control unit at the time of transmission, performs addition processing based on the transmission information, outputs checksum data and transmission information, and at the time of reception,
Information is received from the transmission path, addition processing is performed based on the information, checksum data is output, the information is output to the network interface unit, and the network interface unit outputs from the addition unit during transmission. Checksum data is added to the transmitted information that has been sent, and the transmission information is sent to the transmission path.At the time of reception, it is determined whether or not the received data is correct based on the checksum data in the adding unit. Shifts to the next predetermined process, and discards the received data if it is incorrect.

【0130】初めに送信側の処理について説明する。ユ
ーザアプリケーション部3101は、FDDI上で許可され
ている最大データ長が4.5キロバイトであることより、
4430バイトの送信データ3116を生成する。そし
て、送信データ3116を、プロトコル制御部3102に設けら
れているプロトコルバッファ3108にコピーし、ユーザア
プリケーション部3101の処理は終了する。
First, the processing on the transmitting side will be described. Since the maximum data length permitted on the FDDI is 4.5 kilobytes, the user application unit 3101
Transmission data 3116 of 4430 bytes is generated. Then, the transmission data 3116 is copied to the protocol buffer 3108 provided in the protocol control unit 3102, and the processing of the user application unit 3101 ends.

【0131】プロトコル制御部3102では、まず、TCP
層が、転送データの誤り検出の精度を上げるためにTC
P層でのみ付加される20バイトの擬似ヘッダ3117と、T
CPプロトコル情報が格納されている20バイトのTCP
ヘッダ3118とを、コピーされた送信データ3116の前に付
加する。そして、擬似ヘッダ3117とTCPヘッダ3118と
データ3116とをIP層にコピーし、TCP層の処理は終
了する。つぎに、IP層は、IPプロトコル情報が格納
されている20バイトのIPヘッダ3119を、コピーされた
データのTCPヘッダ3118の前に、擬似ヘッダ3117と並
列に付加する。そして、擬似ヘッダ3117とIPヘッダ31
19とTCPヘッダ3118とデータ3116とをドライバ層にコ
ピーし、IP層の処理は終了する。つぎに、ドライバ層
は、物理アドレス情報が格納されている22バイトのFD
DIヘッダ3120を、コピーされたデータのIPヘッダ31
19の前に付加する。ドライバ層の処理終了後、プロトコ
ル処理部3102はFDDIヘッダ3120とIPヘッダ3119と
擬似ヘッダ3117とTCPヘッダ3118とデータ3116とを、
ネットワークインタフェース部に設けられている高速加
算システム3111に出力する。高速加算システム3111は、
入力したデータのうち、初めに、擬似ヘッダ3117とTC
Pヘッダ3118とデータ3116とを被加算データとしてチェ
ックサム値A3121を求め、チェックサム値A3121をサム
バッファ3110に出力する。つぎに、IPヘッダを被加算
データとしてチェックサム値B3122を求め、チェックサ
ム値B3122をサムバッファ3110に出力する。加算処理が
終了したら、高速加算システム3111は、プロトコル制御
部3102からコピーされたデータから、擬似ヘッダ3117を
外し、FDDIヘッダ3120とIPヘッダ3119とTCPヘ
ッダ3118とデータ3116とをネットワークバッファ3109に
出力する。ネットワークインタフェース部3103は、サム
バッファ3110に格納されているチェックサム値A3121お
よびチェックサム値B3122を、TCPヘッダ3118とIP
ヘッダ3119とにそれぞれ代入する。最後にネットワーク
インタフェース部3103は、FDDIヘッダ3120とIPヘ
ッダ3119とTCPヘッダ3118とデータ3116とを送信フレ
ーム3123としてLAN3107に送出して、送信側の処理は
終了する。
In the protocol control unit 3102, first, TCP
The layer is used by the TC to improve the accuracy of error detection of the transmitted data.
20-byte pseudo header 3117 added only in the P layer, and T
20-byte TCP that stores CP protocol information
A header 3118 is added before the copied transmission data 3116. Then, the pseudo header 3117, the TCP header 3118, and the data 3116 are copied to the IP layer, and the processing of the TCP layer ends. Next, the IP layer adds a 20-byte IP header 3119 in which IP protocol information is stored in parallel with the pseudo header 3117 before the TCP header 3118 of the copied data. Then, the pseudo header 3117 and the IP header 31
19, the TCP header 3118 and the data 3116 are copied to the driver layer, and the processing of the IP layer ends. Next, the driver layer is a 22-byte FD that stores physical address information.
The DI header 3120 is replaced with the IP header 31 of the copied data.
Add before 19. After the processing of the driver layer is completed, the protocol processing unit 3102 receives the FDDI header 3120, the IP header 3119, the pseudo header 3117, the TCP header 3118, and the data 3116.
It outputs to the high-speed addition system 3111 provided in the network interface unit. The high-speed addition system 3111
Of the input data, first the pseudo header 3117 and TC
A checksum value A3121 is obtained using the P header 3118 and the data 3116 as data to be added, and the checksum value A3121 is output to the sum buffer 3110. Next, the checksum value B3122 is obtained using the IP header as the data to be added, and the checksum value B3122 is output to the sum buffer 3110. After the addition processing is completed, the high-speed addition system 3111 removes the pseudo header 3117 from the data copied from the protocol control unit 3102 and outputs the FDDI header 3120, the IP header 3119, the TCP header 3118, and the data 3116 to the network buffer 3109. To do. The network interface unit 3103 transfers the checksum value A3121 and the checksum value B3122 stored in the sum buffer 3110 to the TCP header 3118 and the IP.
Substitute in header 3119 and respectively. Finally, the network interface unit 3103 sends the FDDI header 3120, the IP header 3119, the TCP header 3118, and the data 3116 as a transmission frame 3123 to the LAN 3107, and the processing on the transmission side ends.

【0132】つぎに受信側の処理について説明する。ま
ず、LAN3107を介して送信側より送られてきたFDD
Iヘッダ3125とIPヘッダ3126とTCPヘッダ3127とデ
ータ3128とからなる受信フレーム3124を高速加算システ
ム3115に入力する。高速加算システム3115は、初めに、
入力したデータのうちIPヘッダ3126を被加算データと
してチェックサム値A3130を求め、チェックサム値A31
30をサムバッファ3114に出力する。つぎに、TCPヘッ
ダ3127とデータ3128とを被加算データとしてチェックサ
ム値B3131を求め、チェックサム値B3131をサムバッフ
ァ3114に出力する。加算処理が終了したら、高速加算シ
ステム3115は、入力したデータである、FDDIヘッダ
3125とIPヘッダ3126とTCPヘッダ3127とデータ3128
とをネットワークバッファ3113に出力する。つぎに、ネ
ットワークインタフェース部3106は、受信データの誤り
判定の精度を上げるために、TCP層でのみ付加されて
いた擬似ヘッダ3129をIPヘッダ3126から作成し、高速
加算システム3115に出力する。高速加算システム3115は
擬似ヘッダ3126を被加算データとしてチェックサム値を
求め、サムバッファに格納されているチェックサム値B
3131にチェックサム値を加算する。ネットワークインタ
フェース部3106は、サムバッファ3114に格納されている
チェックサム値A3130およびチェックサム値B3131によ
り、受信データが正しいか否かを判定し、正しいと判定
された場合、FDDIヘッダ3125とIPヘッダ3126とT
CPヘッダ3127とデータ3128とをプロトコルバッファ31
12にコピーする。誤っていると判定された場合、受信デ
ータはただちに廃棄され、受信側の処理は終了する。プ
ロトコル制御部3105ではまず、ドライバ層が、コピーさ
れたデータに対して処理を行い、処理が終了したらFD
DIヘッダ3125を外し、IPヘッダ3126とTCPヘッダ
3127とデータ3128をIP層にコピーする。つぎに、IP
層はコピーされたデータに対して処理を行い、処理が終
了したらIPヘッダ3126を外し、TCPヘッダ3127とデ
ータ3128をTCP層にコピーする。つぎに、TCP層は
コピーされたデータに対して処理を行い、処理が終了し
たらTCPヘッダ3127を外し、データ3128をユーザアプ
リケーション部3104にコピーして、受信側の処理は終了
する。
Next, the processing on the receiving side will be described. First, the FDD sent from the sender via the LAN3107
A received frame 3124 including an I header 3125, an IP header 3126, a TCP header 3127 and data 3128 is input to the high speed addition system 3115. The fast addition system 3115
Of the input data, the IP header 3126 is used as the data to be added to obtain the checksum value A3130, and the checksum value A31
30 is output to the sum buffer 3114. Next, a checksum value B3131 is obtained using the TCP header 3127 and the data 3128 as data to be added, and the checksum value B3131 is output to the sum buffer 3114. After the addition processing is completed, the high-speed addition system 3115 receives the FDDI header, which is the input data.
3125, IP header 3126, TCP header 3127, and data 3128
And are output to the network buffer 3113. Next, the network interface unit 3106 creates the pseudo header 3129 added only in the TCP layer from the IP header 3126 in order to improve the accuracy of error determination of the received data, and outputs it to the high speed addition system 3115. The high-speed addition system 3115 obtains the checksum value using the pseudo header 3126 as the data to be added, and the checksum value B stored in the sum buffer.
Add checksum value to 3131. The network interface unit 3106 determines whether or not the received data is correct based on the checksum value A3130 and the checksum value B3131 stored in the sum buffer 3114. If it is determined that the received data is correct, the FDDI header 3125 and the IP header 3126 are used. And T
The protocol buffer 31 stores the CP header 3127 and the data 3128.
Copy to 12. If it is determined to be incorrect, the received data is immediately discarded, and the processing on the receiving side ends. In the protocol control unit 3105, the driver layer first processes the copied data, and when the processing is completed, the FD is processed.
Remove DI header 3125, IP header 3126 and TCP header
Copy 3127 and data 3128 to the IP layer. Next, IP
The layer processes the copied data, removes the IP header 3126 when the processing is completed, and copies the TCP header 3127 and the data 3128 to the TCP layer. Next, the TCP layer processes the copied data. When the processing is completed, the TCP header 3127 is removed, the data 3128 is copied to the user application unit 3104, and the processing on the receiving side is completed.

【0133】以上のように処理することにより、送信時
は、プロトコルバッファからネットワークバッファにコ
ピーされるデータを被加算データとし、受信時は、LA
Nからネットワークバッファにコピーされるデータを被
加算データとして、高速加算システムにおいて被加算デ
ータを加算処理することにより、ネットワークインタフ
ェース部において誤り検出を行うことができる。
By the above processing, the data copied from the protocol buffer to the network buffer is used as the augend data at the time of transmission, and LA is received at the time of reception.
By using the data copied from N to the network buffer as the data to be added, and performing the addition process on the data to be added in the high-speed addition system, the error can be detected in the network interface unit.

【0134】つぎに、図32を参照して説明する。図32
は、ネットワークインタフェース部に、高速加算システ
ムとサムバッファとを備え、プロトコル制御部3002にコ
モンバッファを備える場合の構成図を示している。本実
施例においては、送信時は、プロトコル制御部3002のコ
モンバッファのデータを被加算データとし、受信時は、
LANから高速加算システムを介してコモンバッファに
転送することを特徴とする。本実施例においては、前記
加算部を前記ネットワークインタフェース部に設け、前
記プロトコル制御部は、送信時に、前記加算部に対して
被加算データを指示し、前記加算部におけるチェックサ
ムデータを情報に付加し、前記加算部は、受信時に、前
記伝送路から情報を受信し、該情報に基づいて加算処理
してチェックサムデータを出力し、前記情報を前記プロ
トコル制御部に出力し、前記ネットワークインタフェー
ス部は、受信時に、前記加算部におけるチェックサムデ
ータに基づいて、受信データが正しいか否かを判定し、
正しい場合には、あらかじめ定めたつぎの処理に移行
し、正しくない場合には、受信データを廃棄する。
Next, description will be made with reference to FIG. Figure 32
Shows a configuration diagram when the network interface unit includes a high-speed addition system and a thumb buffer, and the protocol control unit 3002 includes a common buffer. In the present embodiment, during transmission, the data in the common buffer of the protocol control unit 3002 is the augend data, and during reception,
It is characterized in that the data is transferred from the LAN to the common buffer via the high-speed addition system. In this embodiment, the adder is provided in the network interface, and the protocol controller instructs the adder to add data at the time of transmission and adds the checksum data in the adder to the information. When receiving, the adder receives information from the transmission path, performs addition processing based on the information, outputs checksum data, outputs the information to the protocol controller, and the network interface unit. At the time of reception, based on the checksum data in the addition unit, determines whether the received data is correct,
If it is correct, the process moves to the next predetermined process, and if it is not correct, the received data is discarded.

【0135】初めに、送信側の処理について説明する。
ユーザアプリケーション部3201は、FDDI上で許可さ
れている最大データ長が4.5キロバイトであることよ
り、4430バイトの送信データ3213を生成する。そして、
送信データ3213を、プロトコル制御部3202に設けられて
いるコモンバッファ3208にコピーし、ユーザアプリケー
ション部3201の処理は終了する。プロトコル制御部3202
では、まず、TCP層が、転送データの誤り検出の精度
を上げるためにTCP層でのみ付加される20バイトの擬
似ヘッダ3214と、TCPプロトコル情報が格納されてい
る20バイトのTCPヘッダ3215とを、コピーされた送信
データ3213の前に付加する。そして、ネットワークイン
タフェース部3203に設けられている高速加算システム32
09に対し、チェックサム処理要求を行う。チェックサム
処理要求としては、チェックサム処理対象となる擬似ヘ
ッダ3214とTCPヘッダ3215とデータ3213
のコモンバッファ格納位置と、データの長さと、チェッ
クサム処理結果のコモンバッファ格納位置とを通知す
る。要求を受けた高速加算システム3209は、プロトコル
制御部3202におけるヘッダ処理に並行して動作する。高
速加算システム3209は、プロトコルバッファ3208に格納
されている擬似ヘッダ3214とTCPヘッダ3215とデータ
3213とを被加算データとしてチェックサム値を求め、チ
ェックサム値を通知されたチェックサム値格納領域に代
入する。そして、擬似ヘッダ3214を外し、TCPヘッダ
3215とデータ3213とをIP層にコピーし、TCP層の処
理は終了する。つぎに、IP層は、IPプロトコル情報
が格納されている20バイトのIPヘッダ3216を、コピー
されたデータのTCPヘッダ3215の前に付加する。そし
て、ネットワークインタフェース部3203に設けられてい
る高速加算システム3209に対し、チェックサム処理要求
を行う。同様にして、チェックサム処理要求としては、
チェックサム処理対象となるIPヘッダ3216のコモ
ンバッファ格納位置と、長さと、チェックサム処理結果
のコモンバッファ格納位置を通知して行う。要求を受け
た高速加算システム3209は、プロトコル制御部3202にお
けるヘッダ処理と並列に動作する。高速加算システム32
09は、プロトコルバッファ3208に格納されているIPヘ
ッダ3216を被加算データとしてチェックサム値を求め、
チェックサム値を通知されたチェックサム値格納領域に
代入する。そして、IPヘッダ3216とTCPヘッダ3215
とデータ3213とをドライバ層にコピーし、IP層の処理
は終了する。つぎに、ドライバ層は、物理アドレス情報
が格納されている22バイトのFDDIヘッダ3217を、コ
ピーされたデータのIPヘッダ3216の前に付加し、送信
フレーム3218を作成する。ドライバ層での処理終了後、
ネットワークインタフェース部3203は、送信フレーム32
18をLAN3207に送出して、送信側の処理は終了する。
First, the processing on the transmitting side will be described.
The user application unit 3201 generates the transmission data 3213 of 4430 bytes because the maximum data length permitted on the FDDI is 4.5 kilobytes. And
The transmission data 3213 is copied to the common buffer 3208 provided in the protocol control unit 3202, and the processing of the user application unit 3201 ends. Protocol control unit 3202
Then, first, the TCP layer includes a 20-byte pseudo header 3214 that is added only in the TCP layer in order to improve the accuracy of error detection of transfer data, and a 20-byte TCP header 3215 that stores TCP protocol information. , Is added before the copied transmission data 3213. Then, the high-speed addition system 32 provided in the network interface unit 3203
Sends a checksum processing request to 09. The checksum processing request includes a pseudo header 3214, a TCP header 3215, and data 3213 that are the target of the checksum processing.
The common buffer storage position, the data length, and the checksum processing result common buffer storage position are notified. Upon receiving the request, the high speed addition system 3209 operates in parallel with the header processing in the protocol control unit 3202. The high-speed addition system 3209 uses the pseudo header 3214, the TCP header 3215, and the data stored in the protocol buffer 3208.
3213 and 3213 are used as augend data to obtain a checksum value, and the checksum value is substituted into the notified checksum value storage area. Then, the pseudo header 3214 is removed, and the TCP header
The 3215 and the data 3213 are copied to the IP layer, and the processing of the TCP layer ends. Next, the IP layer adds a 20-byte IP header 3216 in which IP protocol information is stored before the TCP header 3215 of the copied data. Then, the checksum processing request is issued to the high-speed addition system 3209 provided in the network interface unit 3203. Similarly, as a checksum processing request,
The common buffer storage position and length of the IP header 3216 to be subjected to the checksum processing and the common buffer storage position of the checksum processing result are notified and performed. Upon receiving the request, the high-speed addition system 3209 operates in parallel with the header processing in the protocol control unit 3202. High speed addition system 32
In 09, the checksum value is obtained using the IP header 3216 stored in the protocol buffer 3208 as data to be added,
The checksum value is assigned to the notified checksum value storage area. Then, the IP header 3216 and the TCP header 3215
And the data 3213 are copied to the driver layer, and the processing of the IP layer ends. Next, the driver layer adds a 22-byte FDDI header 3217 storing physical address information to the front of the IP header 3216 of the copied data to create a transmission frame 3218. After finishing the process in the driver layer,
The network interface unit 3203 uses the transmission frame 32.
18 is sent to the LAN 3207, and the processing on the transmission side ends.

【0136】つぎに受信側の処理について説明する。ま
ず、LAN3207を介して送信側より送られてきた、FD
DIヘッダ3220とIPヘッダ3221とTCPヘッダ3222と
データ3223とからなる受信フレーム3219を高速加算シス
テム3212に入力する。高速加算システム3212は、初め
に、入力したデータのうちIPヘッダ3221を被加算デー
タとしてチェックサム値A3225を求め、チェックサム値
A3225をサムバッファ3211に出力する。つぎに、TCP
ヘッダ3222とデータ3223とを被加算データとしてチェッ
クサム値B3226を求め、チェックサム値B3226をサムバ
ッファ3211に出力する。加算処理が終了したら、高速加
算システム3212は、入力したデータであるFDDIヘッ
ダ3220とIPヘッダ3221とTCPヘッダ3222とデータ32
23とをプロトコルバッファ3211に出力する。つぎに、プ
ロトコル制御部3205は、受信データの誤り判定の精度を
上げるために、TCP層でのみ付加されていた擬似ヘッ
ダ3224をIPヘッダ3221から作成し、高速加算システム
3212に出力する。高速加算システム3212は、擬似ヘッダ
3224を被加算データとしてチェックサム値を求め、サム
バッファに格納されているチェックサム値B3226にチェ
ックサム値を加算する。ネットワークインタフェース部
は、サムバッファ3211に格納されているチェックサム値
A3225およびチェックサム値B3226により、受信データ
が正しいか否かを判定する。正しいと判定された場合、
プロトコル制御部3205が引き続き処理を続け、誤ってい
ると判定された場合、受信データはただちに廃棄され、
受信側の処理は終了する。ドライバ層は、コピーされた
データに対して処理を行い、処理が終了したらFDDI
ヘッダ3220を外し、IPヘッダ3221とTCPヘッダ3222
とデータ3223をIP層にコピーする。つぎにIP層はコ
ピーされたデータに対して処理を行い、処理が終了した
らIPヘッダ3221を外し、TCPヘッダ3222とデータ32
23をTCP層にコピーする。つぎにTCP層はコピーさ
れたデータに対して処理を行い、処理が終了したらTC
Pヘッダ3222を外し、データ3223をユーザアプリケーシ
ョン部3204にコピーして、受信側の処理は終了する。
Next, the processing on the receiving side will be described. First, the FD sent from the sending side via LAN3207
A received frame 3219 including a DI header 3220, an IP header 3221, a TCP header 3222, and data 3223 is input to the high-speed addition system 3212. The high-speed addition system 3212 first obtains a checksum value A3225 with the IP header 3221 of the input data as the data to be added, and outputs the checksum value A3225 to the sum buffer 3211. Next, TCP
A checksum value B3226 is obtained using the header 3222 and the data 3223 as data to be added, and the checksum value B3226 is output to the sum buffer 3211. After the addition processing is completed, the high-speed addition system 3212 receives the FDDI header 3220, the IP header 3221, the TCP header 3222, and the data 32 which are the input data.
23 and 23 are output to the protocol buffer 3211. Next, the protocol control unit 3205 creates the pseudo header 3224 added only in the TCP layer from the IP header 3221 in order to improve the accuracy of error determination of the received data, and the high speed addition system.
Output to 3212. High speed addition system 3212, pseudo header
A checksum value is obtained using 3224 as the data to be added, and the checksum value is added to the checksum value B3226 stored in the sum buffer. The network interface unit determines whether or not the received data is correct based on the checksum value A3225 and checksum value B3226 stored in the sum buffer 3211. If it is determined to be correct,
If the protocol control unit 3205 continues processing and it is determined that the data is incorrect, the received data is immediately discarded,
The processing on the receiving side ends. The driver layer processes the copied data, and when the processing is completed, the FDDI
Remove the header 3220, IP header 3221 and TCP header 3222
And data 3223 are copied to the IP layer. Next, the IP layer processes the copied data, removes the IP header 3221 when the processing is completed, and removes the TCP header 3222 and the data 32.
Copy 23 to TCP layer. Next, the TCP layer processes the copied data, and when the processing is completed, TC is executed.
The P header 3222 is removed, the data 3223 is copied to the user application section 3204, and the processing on the receiving side ends.

【0137】以上のように処理することにより、送信時
は、コモンバッファのデータを被加算データとし、受信
時は、LANから高速加算システムを介してコモンバッ
ファに転送されるデータを被加算データとし、高速加算
システムにおいて被加算データを加算処理することによ
り、ネットワークインタフェース部において誤り検出を
行うことができる。
By the above processing, the data in the common buffer is used as the data to be added during transmission, and the data transferred from the LAN to the common buffer via the high-speed addition system is used as the data to be added during reception. The error can be detected in the network interface unit by adding data to be added in the high-speed addition system.

【0138】[0138]

【発明の効果】本発明によれば、加算システムにおい
て、高速に処理することができる。また、加算システム
を備える通信システムにおいて、高速に通信処理するこ
とができる。
According to the present invention, high-speed processing can be performed in the addition system. In addition, communication processing can be performed at high speed in a communication system including an addition system.

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

【図1】1の補数加算を用いた加算システムを、ネット
ワーク通信システムの誤り検出処理に用いた場合の構成
図。
FIG. 1 is a configuration diagram when an addition system using 1's complement addition is used for error detection processing of a network communication system.

【図2】従来の加算システムの処理の流れを示すフロー
図。
FIG. 2 is a flowchart showing a processing flow of a conventional addition system.

【図3】従来の加算システムが、偶数アドレスから格納
されている4470バイトの被加算データに対して行なう2
バイト長加算処理を示す説明図。
FIG. 3 The conventional addition system performs 4470 bytes of added data stored from an even address 2
Explanatory drawing which shows a byte length addition process.

【図4】従来の加算システムが、偶数アドレスから格納
されている16バイトの被加算データに対して行なう2バ
イト長加算処理の具体例を示す説明図。
FIG. 4 is an explanatory diagram showing a specific example of a 2-byte length addition process performed by a conventional addition system on 16-byte added data stored from an even address.

【図5】従来の加算システムが、奇数アドレスから格納
されている4470バイトの被加算データに対して行なう1
バイト長加算処理を示す説明図。
FIG. 5: 1 performed by a conventional addition system on 4470-byte added data stored from an odd address
Explanatory drawing which shows a byte length addition process.

【図6】本発明で対象としている加算システムで用いて
いる、2桁の被加算データに対する1の補数加算を示す
説明図。
FIG. 6 is an explanatory diagram showing one's complement addition for two-digit augend data used in the addition system of the present invention.

【図7】本発明をTCP/IPプロトコルによるネット
ワーク通信システムの送信側のチェックサム処理に用い
た場合の例を示す説明図。
FIG. 7 is an explanatory diagram showing an example in which the present invention is used for checksum processing on the transmitting side of a network communication system using the TCP / IP protocol.

【図8】本発明をTCP/IPプロトコルによるネット
ワーク通信システムの受信側のチェックサム処理に用い
た場合の例を示す説明図。
FIG. 8 is an explanatory diagram showing an example in which the present invention is used for checksum processing on the receiving side of a network communication system based on the TCP / IP protocol.

【図9】本発明で対象としている加算システムで用いて
いる、n桁の被加算データに対する1の補数加算を示す
説明図。
FIG. 9 is an explanatory diagram showing one's complement addition for n-digit added data used in the addition system of the present invention.

【図10】本発明で対象としている加算システムで用い
ている、図6の被加算データの上位桁と下位桁を入替え
た被加算データに対する1の補数加算を示す説明図。
10 is an explanatory diagram showing one's complement addition to the augend data in which the upper digit and the lower digit of the augend data of FIG. 6 are used, which is used in the addition system targeted by the present invention.

【図11】本発明の処理の流れを示すフロー図。FIG. 11 is a flowchart showing a processing flow of the present invention.

【図12】高速加算システムの構成を示すブロック図。FIG. 12 is a block diagram showing the configuration of a high-speed addition system.

【図13】2ステップの1の補数加算を用いた加算処理
のハードウェア構成図。
FIG. 13 is a hardware configuration diagram of addition processing using two-step 1's complement addition.

【図14】C言語による1の補数加算処理を用いた加算
処理のプログラムを示す説明図。
FIG. 14 is an explanatory diagram showing a program of an addition process using a one's complement addition process in C language.

【図15】アセンブラ言語による1の補数加算処理を用
いた加算処理のプログラムを示す説明図。
FIG. 15 is an explanatory diagram showing a program of addition processing using a one's complement addition processing in assembler language.

【図16】本発明が、バウンダリ適である4470バイ
トの被加算データに対して行なう4バイト長加算の説明
図。
FIG. 16 is an explanatory diagram of 4-byte length addition performed on 4470-byte added data that is suitable for a boundary according to the present invention.

【図17】本発明が、バウンダリ適である具体的な数値
の16バイトの被加算データに対して行なう4バイト長
加算の説明図。
FIG. 17 is an explanatory diagram of 4-byte length addition performed on 16-byte added data of a specific numerical value suitable for a boundary according to the present invention.

【図18】本発明が、奇数アドレスから格納されてい
て、先頭の1バイト目と2バイト目の間にバウンダリが
有るためにバウンダリ不適である、4470バイトの被
加算データに対して行なう4バイト長加算の説明図。
FIG. 18 is a 4-byte operation to be performed on 4470-byte added data, which is unsuitable for the boundary because the present invention is stored from odd addresses and there is a boundary between the first 1st byte and the 2nd byte. Explanatory drawing of long addition.

【図19】本発明が、奇数アドレスから格納されてい
て、先頭の1バイト目と2バイト目との間にバウンダリ
が有るためにバウンダリ不適である、具体的な数値の1
6バイトの被加算データに対して行なう4バイト長加算
の説明図。
FIG. 19 is a specific numerical value of 1 according to the present invention, which is unsuitable for a boundary because it is stored from an odd address and there is a boundary between the first byte and the second byte.
Explanatory drawing of 4-byte length addition performed for 6-byte added data.

【図20】本発明が、偶数アドレスから格納されてい
て、先頭の2バイト目と3バイト目の間にバウンダリが
有るためにバウンダリ不適である、4470バイトの被
加算データに対して行なう4バイト長加算の説明図。
FIG. 20 is a 4-byte operation performed on 4470-byte added data according to the present invention, which is unsuitable for a boundary because it is stored from an even-numbered address and there is a boundary between the first and second bytes. Explanatory drawing of long addition.

【図21】本発明が、偶数アドレスから格納されてい
て、先頭の2バイト目と3バイト目の間にバウンダリが
有るためにバウンダリ不適である、具体的な数値の16
バイトの被加算データに対して行なう4バイト長加算処
理の説明図。
FIG. 21 is a specific numerical value of 16 according to the present invention, which is unsuitable for a boundary because it is stored from an even-numbered address and there is a boundary between the first and second bytes.
Explanatory drawing of the 4-byte length addition process performed with respect to the data to be added of bytes.

【図22】本発明が、奇数アドレスから格納されてい
て、先頭の3バイト目と4バイト目の間にバウンダリが
有るためにバウンダリ不適である、4470バイトの被
加算データに対して行なう4バイト長加算処理の説明
図。
FIG. 22 is a diagram showing a case where the present invention is unsuitable for the boundary because the boundary is stored between the 3rd and 4th bytes at the beginning, which is stored from an odd address, and is performed for 4470 bytes of added data. Explanatory drawing of a long addition process.

【図23】本発明が、奇数アドレスから格納されてい
て、先頭の3バイト目と4バイト目の間にバウンダリが
有るためにバウンダリ不適である、具体的な数値の16
バイトの被加算データに対して行なう4バイト長加算の
説明図。
FIG. 23 is a specific numerical value of 16 according to the present invention, which is unsuitable for a boundary because it is stored from an odd address and there is a boundary between the 3rd and 4th bytes at the beginning.
Explanatory drawing of 4-byte length addition performed for data to be added of bytes.

【図24】1ステップの1の補数加算を用いた加算処理
のハードウェア構成図。
FIG. 24 is a hardware configuration diagram of an addition process using one's complement addition in one step.

【図25】4バイト長の加算例を説明するための説明
図。
FIG. 25 is an explanatory diagram for explaining an example of adding 4-byte length.

【図26】位置を入れ替えて加算する場合の説明図。FIG. 26 is an explanatory diagram of a case where positions are exchanged and addition is performed.

【図27】プロトコル制御部に高速加算システムが設け
られていて、プロトコルバッファのデータを被加算デー
タとする場合の処理を示す図。
FIG. 27 is a diagram showing processing when the protocol control unit is provided with a high-speed addition system and data in the protocol buffer is used as data to be added;

【図28】ネットワークインタフェース部に高速加算シ
ステムが設けられていて、ネットワークバッファのデー
タを被加算データとする場合の処理を示す図。
FIG. 28 is a diagram showing processing when a high-speed addition system is provided in the network interface unit and data in a network buffer is used as data to be added.

【図29】ネットワークインタフェース部に高速加算シ
ステムが設けられていて、コモンバッファのデータを被
加算データとする場合の処理を示す図。
FIG. 29 is a diagram showing processing when a high-speed addition system is provided in the network interface unit and data in a common buffer is used as data to be added.

【図30】ネットワークインタフェース部に高速加算シ
ステムが設けられていて、プロトコルバッファとネット
ワークバッファ間でコピーされるデータを被加算データ
とする場合の処理を示す図。
FIG. 30 is a diagram showing processing in the case where a high-speed addition system is provided in the network interface unit and data copied between a protocol buffer and a network buffer is used as data to be added.

【図31】ネットワークインタフェース部に高速加算シ
ステムが設けられていて、送信時はプロトコルバッファ
からネットワークバッファにコピーされるデータを被加
算データとし、受信時はLANからネットワークバッフ
ァにコピーされるデータを被加算データとする場合の処
理を示す図。
FIG. 31 is a diagram showing a case where a high-speed addition system is provided in the network interface unit, and data to be added is data copied from the protocol buffer to the network buffer during transmission and data to be copied from LAN to the network buffer during reception. The figure which shows the process in case of making it addition data.

【図32】ネットワークインタフェース部に高速加算シ
ステムが設けられていて、送信時はコモンバッファのデ
ータを被加算データとし、受信時はLANからコモンバ
ッファにコピーされるデータを被加算データとする場合
の処理を示す図。
FIG. 32 shows a case where a high-speed addition system is provided in the network interface unit and data in the common buffer is used as data to be added during transmission and data copied from the LAN to the common buffer is used as data to be added during reception. The figure which shows a process.

【図33】データ管理テーブル。FIG. 33 is a data management table.

【図34】データ管理テーブル使用例を示す説明図。FIG. 34 is an explanatory diagram showing an example of using the data management table.

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

1101…先頭データのバウンダリ判定処理、1102
…データ退避処理、1103…退避データの2バイト長
圧縮処理、1104…被加算データの4バイト長加算処
理、1105…4バイト長データの2バイト長圧縮処
理、1106…先頭データのバウンダリ判定処理、11
07…先頭データのアドレス判定処理、1108…2バ
イト長データのデータ補正処理、1109…退避データ
加算処理、1110…加算結果格納処理、1201…被
加算データ格納エリア、1202…先頭データ判定部、
1203…データ退避部、1204…退避データ格納エ
リア、1205…2バイト長圧縮部、1206…圧縮退
避データ格納エリア、1207…4バイト長加算部、1
208…4バイト長データ格納エリア、1209…2バ
イト長データ格納エリア、1210…データ補正部、1
211…退避データ加算部、1212…加算結果格納エ
リア。
1101 ... Boundary determination processing of top data, 1102
Data saving process, 1103 ... 2 byte length compression process of saved data, 1104 ... 4 byte length addition process of added data, 1105 ... 2 byte length compression process of 4 byte length data, 1106 ... Boundary determination process of top data, 11
07 ... head data address determination processing, 1108 ... 2-byte length data correction processing, 1109 ... save data addition processing, 1110 ... addition result storage processing, 1201 ... added data storage area, 1202 ... head data determination unit,
1203 ... Data save section, 1204 ... Save data storage area, 1205 ... 2 byte length compression section, 1206 ... Compressed save data storage area, 1207 ... 4 byte length adder section, 1
208 ... 4-byte length data storage area, 1209 ... 2-byte length data storage area, 1210 ... Data correction unit, 1
211 ... Saved data addition unit, 1212 ... Addition result storage area.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 渡辺 義則 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 ─────────────────────────────────────────────────── ─── Continued front page (72) Inventor Yoshinori Watanabe 292 Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa Hitachi, Ltd. Microelectronics Device Development Laboratory

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】記憶手段に格納されたデータを読みだして
1の補数加算し、あらかじめ定められたデータ長の加算
結果を出力する加算システムであって、 前記あらかじめ定められたデータ長より大きい単位で前
記記憶手段からデータを読み出し、該読み出したデータ
について順次1の補数加算を行なう加算部と、前記加算
部の結果について前記あらかじめ定められたデータ長の
単位に区切って1の補数加算を行なう圧縮部と、該圧縮
部の圧縮加算結果を出力する出力部とを備えることを特
徴とする加算システム。
1. An addition system for reading out data stored in a storage means, performing 1's complement addition, and outputting an addition result of a predetermined data length, the unit being larger than the predetermined data length. At 1 to read data from the storage means and sequentially perform 1's complement addition on the read data, and a compression to perform 1's complement addition by dividing the result of the addition unit into units of the predetermined data length. And an output unit that outputs a compression addition result of the compression unit.
【請求項2】請求項1において、前記記憶手段に格納さ
れたデータの先頭部分が前記記憶手段の読み出し単位の
先頭部分であるかないかを判定する先頭データ判定部
と、 該先頭データ判定部における判断の結果、前記記憶手段
の読み出し単位の先頭部分でない場合に、前記記憶手段
に格納されたデータの先頭部分から前記記憶手段の最初
の読み出し単位の先頭部分の区切れ目までのデータを保
持するデータ退避部とをさらに有し、 前記加算部は、前記区切れ目以降のデータについて前記
記憶手段の読み出し単位で前記記憶手段から読み出し、
該読み出したデータについて順次1の補数加算を行な
い、 前記圧縮部は、前記加算部の前記区切れ目以降のデータ
の加算結果について前記あらかじめ定められたデータ長
の単位に区切って1の補数加算を行ない、前記先頭デー
タ判定部における判断の結果、前記記憶手段の読み出し
単位の先頭部分でない場合に、前記データ退避部に保持
したデータについて前記あらかじめ定められたデータ長
の単位に区切って1の補数加算をさらに行ない、 前記区切れ目以降のデータについての前記圧縮部におけ
る圧縮加算結果に対して、前記データ退避部に保持した
データについての前記圧縮部における加算結果を1の補
数加算する退避データ加算部をさらに有することを特徴
とする加算システム。
2. The head data determining unit for determining whether or not the head portion of the data stored in the storage unit is the head unit of the reading unit of the storage unit, and the head data determining unit. As a result of the determination, when the read unit of the storage means is not the start portion, the data holding the data from the start portion of the data stored in the storage means to the break of the start portion of the first read unit of the storage means Further comprising a save unit, wherein the addition unit reads the data after the break from the storage unit in units of reading by the storage unit,
The read data is sequentially subjected to 1's complement addition, and the compression unit performs 1's complement addition by dividing the addition result of the data after the break of the addition unit into units of the predetermined data length. As a result of the judgment by the head data judgment unit, if the data is not the head part of the reading unit of the storage means, the data held in the data saving unit is divided into units of the predetermined data length and 1's complement addition is performed. Further, a save data addition unit that adds one's complement to the addition result in the compression unit for the data held in the data saving unit is further added to the compression addition result in the compression unit for the data after the break. An addition system characterized by having.
【請求項3】請求項2において、前記あらかじめ定めら
れたデータ長が2バイトの場合に、前記記憶手段は、前
記記憶手段の読み出し単位を4バイト以上の偶数バイト
とすることを特徴とする加算システム。
3. The addition according to claim 2, wherein when the predetermined data length is 2 bytes, the storage unit sets the read unit of the storage unit to an even number of bytes of 4 bytes or more. system.
【請求項4】請求項3において、前記記憶手段は、前記
記憶手段の読み出し単位を4バイトとすることを特徴と
する加算システム。
4. The addition system according to claim 3, wherein the storage unit sets the read unit of the storage unit to 4 bytes.
【請求項5】請求項4において、前記先頭データ判定部
は、前記記憶手段に格納されたデータの先頭部分の格納
アドレスが奇数か偶数かをさらに判定し、 該先頭データ判定部における判定の結果、奇数アドレス
に格納されている場合に、前記加算部における前記区切
れ目以降のデータについての加算結果を前記圧縮部で圧
縮した圧縮加算結果の上位バイトと下位バイトとのデー
タ交換を行なうデータ補正部をさらに有することを特徴
とする加算システム。
5. The head data determination unit according to claim 4, further determining whether the storage address of the head portion of the data stored in the storage unit is an odd number or an even number, and the result of the determination by the head data determination unit. , A data correction unit for exchanging data between the upper byte and the lower byte of the compression addition result obtained by compressing the addition result of the data after the break in the addition unit in the addition unit when stored in an odd address An addition system, further comprising:
【請求項6】伝送路を介して情報の送受信を制御する通
信制御部と、情報を処理する処理部と、情報の送受信時
に伝送情報を正しく送受信するための誤り検出用のデー
タを送信すべき情報に対して付加し、受信した情報から
誤りを検出するチェックサム部とを有する情報処理装置
であって、 前記チェックサム部は、前記情報を保持する記憶手段
と、前記記憶手段に保持した情報を4バイトずつ1の補
数加算を行なう加算手段と、該加算結果について2バイ
トずつ1の補数加算を行なう圧縮手段とを備え、該圧縮
部の加算結果を前記誤り検出用のデータとすることを特
徴とする情報処理装置。
6. A communication control unit for controlling transmission / reception of information via a transmission line, a processing unit for processing information, and error detection data for correctly transmitting / receiving transmission information when transmitting / receiving information should be transmitted. An information processing device having a checksum unit that is added to information and detects an error from received information, wherein the checksum unit is a storage unit that holds the information, and information that is stored in the storage unit. Is provided with addition means for performing 1's complement addition by 4 bytes each, and compression means for performing 1's complement addition by 2 bytes for each addition result, and the addition result of the compression section is used as the error detection data. A characteristic information processing device.
【請求項7】請求項6において、前記加算手段は、前記
記憶手段に保持した情報の先頭部分が、前記記憶手段の
読み出し単位の先頭部分であるかないかを判定し、該先
頭部分でない場合には、前記記憶手段に保持した情報の
先頭部分から前記記憶手段の最初の読み出し単位の先頭
部分の区切れ目までの情報について2バイトで1の補数
加算をし、前記区切れ目以降の情報について前記記憶手
段から4バイトずつ1の補数加算し、該区切れ目以降の
情報についての加算結果を2バイトずつさらに1の補数
加算を行なって圧縮し、該区切れ目以降の情報について
の圧縮加算結果と、前記区切れ目までの情報についての
加算結果とを加算して出力することを特徴とする情報処
理装置。
7. The addition means according to claim 6, wherein the addition means determines whether or not the head portion of the information held in the storage means is the head portion of the reading unit of the storage means, and if it is not the head portion. Is a two-byte one-complement addition for the information from the head portion of the information held in the storage means to the break of the head portion of the first read unit of the storage means, and the information after the break is stored in the memory. 1-complement addition by 4 bytes from the means, and the addition result for the information after the break is further 1-complement addition by 2 bytes for compression, and the compression addition result for the information after the break; An information processing device, which adds and outputs an addition result of information up to a break.
【請求項8】請求項7において、前記加算手段は、前記
記憶手段に保持した情報の先頭部分の格納アドレスが奇
数か偶数かをさらに判定し、奇数アドレスに格納されて
いる場合に、前記区切れ目以降の情報についての圧縮加
算結果の上位バイトと下位バイトとのデータ交換を行な
い、該データ交換した値と前記先頭部分から区切れ目ま
での情報についての加算結果とを加算して出力すること
を特徴とする情報処理装置。
8. The adder according to claim 7, further determining whether the storage address of the head portion of the information held in said storage means is an odd number or an even number. Data is exchanged between the upper byte and the lower byte of the compression addition result for the information after the break, and the value after the data exchange and the addition result for the information from the leading part to the break are added and output. A characteristic information processing device.
【請求項9】伝送路と、該伝送路を介して情報の送受信
する送受信装置を複数有する通信システムにおいて、 前記送受信装置は、 前記伝送路に対して送受信処理を行うネットワークイン
タフェース部と、 送受信情報を処理するユーザアプリケーション部と、 送受信時にあらかじめ定められたプロトコルに従って処
理を行うプロトコル制御部と、 情報の送受信時に、伝送情報を正しく送受信するための
誤り検出用のチェックサムデータを付加/検出するため
に、被加算データを加算処理する加算部とを有し、 前記加算部は、前記情報について順次1の補数加算を行
なう加算手段と、該加算結果についてあらかじめ定めら
れたデータ長の単位に区切って1の補数加算を行なう圧
縮手段とを備え、該圧縮部の加算結果を前記誤り検出用
のチェックサムデータとすることを特徴とする通信シス
テム。
9. A communication system having a transmission line and a plurality of transmission / reception devices for transmitting / receiving information via the transmission line, wherein the transmission / reception device includes a network interface unit for performing transmission / reception processing on the transmission line, and transmission / reception information. A user application unit that processes the data, a protocol control unit that performs processing according to a predetermined protocol at the time of transmission / reception, and at the time of transmitting / receiving information, for adding / detecting checksum data for error detection for correctly transmitting / receiving transmission information. And an adder for adding data to be added. The adder divides the addition result into a unit of a predetermined data length for the one-complement addition. Compression means for performing one's complement addition, and the addition result of the compression section is checked by the error detection checker. Communication system, characterized in that the sum data.
【請求項10】請求項9において、前記プロトコル制御
部は、前記加算部を備え、前記プロトコルに従った処理
とともに、前記加算部に対して被加算データを指示し、 前記加算部は、指示された被加算データについて加算処
理してチェックサムデータを出力し、 前記プロトコル制御部は、受信時に、前記加算部におけ
るチェックサムデータに基づいて、受信データが正しい
か否かを判定し、正しい場合には、あらかじめ定めたつ
ぎの処理に移行し、正しくない場合には、受信データを
廃棄することを特徴とする通信システム。
10. The protocol control unit according to claim 9, further comprising the addition unit, which instructs the addition unit to perform addition-added data along with the processing according to the protocol, and the addition unit is instructed. And outputs checksum data by performing addition processing on the data to be added, and when receiving, the protocol control unit determines whether or not the received data is correct based on the checksum data in the adding unit. Is a communication system characterized by shifting to the next predetermined process and discarding the received data when it is incorrect.
【請求項11】請求項9において、前記プロトコル制御
部は、送信時に、前記プロトコルに従った処理の終了後
に、処理した情報と該情報の管理データとを前記ネット
ワークインタフェース部に転送し、受信時に、受信した
情報について前記プロトコルに従った処理を行い、 前記ネットワークインタフェース部は、前記加算部を備
え、前記送受信処理とともに、送信時に、前記プロトコ
ル制御部から転送された情報と該情報の管理データとに
基づいて前記加算部に対して被加算データを指示し、前
記加算部におけるチェックサムデータを情報に付加して
前記伝送路に送出し、受信時に、前記伝送路から情報を
受信し、受信した情報に基づいて前記加算部に対して被
加算データを指示し、前記加算部におけるチェックサム
データに基づいて、受信データが正しいか否かを判定
し、正しい場合には、あらかじめ定めたつぎの処理に移
行し、正しくない場合には、受信データを廃棄すること
を特徴とする通信システム。
11. The protocol control unit according to claim 9, at the time of transmission, after the processing according to the protocol is completed, the processed information and management data of the information are transferred to the network interface unit, and at the time of reception. Processing the received information in accordance with the protocol, the network interface unit includes the adding unit, and at the same time as the transmission / reception process, the information transferred from the protocol control unit at the time of transmission and management data of the information. Based on the above, the data to be added is instructed to the adder, the checksum data in the adder is added to the information, and the information is sent to the transmission line. Upon reception, the information is received from the transmission line and received. Based on the information, the adder is instructed which data to be added, and based on the checksum data in the adder, the received data is received. A communication system characterized by judging whether or not the received data is correct, and if the received data is correct, shifts to the next predetermined process, and if not, discards the received data.
【請求項12】請求項9において、前記ネットワークイ
ンタフェース部は、前記加算部を備え、 前記プロトコ
ル制御部は、送信時に、前記加算部に対して被加算デー
タを指示し、前記加算部におけるチェックサムデータを
情報に付加し、受信時に、前記伝送路から情報を受信
し、受信した情報に基づいて前記加算部に対して被加算
データを指示し、 前記ネットワークインタフェース部は、受信時に、前記
加算部におけるチェックサムデータに基づいて、受信デ
ータが正しいか否かを判定し、正しい場合には、あらか
じめ定めたつぎの処理に移行し、正しくない場合には、
受信データを廃棄することを特徴とする通信システム。
12. The network interface unit according to claim 9, wherein the network interface unit includes the adder unit, and the protocol control unit instructs the adder unit to perform data addition when transmitting, and a checksum in the adder unit. Data is added to the information, the information is received from the transmission path at the time of reception, the data to be added is instructed to the addition unit based on the received information, and the network interface unit is provided at the time of reception Based on the checksum data in, it is determined whether or not the received data is correct. If it is correct, the process proceeds to the next predetermined process, and if it is not correct,
A communication system characterized by discarding received data.
【請求項13】請求項12において、前記プロトコル制
御部は、前記情報を格納するコモンバッファを備え、前
記加算部に対して前記コモンバッファに格納している被
加算データの領域および前記チェックサムデータの格納
領域を指示し、 前記加算部は、前記プロトコル制御部に指示された被加
算データの領域を参照して加算を行い、指示されたチェ
ックサムデータの格納領域にチェックサムデータを格納
することにより、チェックサムデータを情報に付加し、 前記インタフェースネットワーク部は、送信時に、前記
コモンバッファに送信情報の出力を指示し、受信時に、
前記コモンバッファに受信データを格納することを特徴
とする通信システム。 【請求項13】請求項9において、前記ネットワークイ
ンタフェース部は、前記加算部を備え、 該加算部は、
送信時に、前記プロトコル制御部からの送信情報を受信
し、該送信情報に基づいて加算処理してチェックサムデ
ータを付加して前記ネットワークインタフェース部に出
力し、受信時に、前記ネットワークインタフェース部で
受信された情報に基づいて加算処理してチェックサムデ
ータを出力し、前記プロトコル制御部に受信情報を転送
し、 前記ネットワークインタフェース部は、受信時に、前記
加算部におけるチェックサムデータに基づいて、受信デ
ータが正しいか否かを判定し、正しい場合には、あらか
じめ定めたつぎの処理に移行し、正しくない場合には、
受信データを廃棄することを特徴とする通信システム。
13. The protocol control unit according to claim 12, further comprising a common buffer for storing the information, wherein an area of added data stored in the common buffer and the checksum data are stored in the addition unit. Storage area of the checksum data is stored in the storage area of the instructed checksum data, and the addition section refers to the area of the data to be added instructed by the protocol control section. According to the above, the checksum data is added to the information, and the interface network unit instructs the common buffer to output the transmission information at the time of transmission, and at the time of reception,
A communication system, wherein received data is stored in the common buffer. 13. The network interface unit according to claim 9, wherein the addition unit includes the addition unit.
At the time of transmission, the transmission information from the protocol control unit is received, addition processing is performed based on the transmission information, checksum data is added and output to the network interface unit, and at the time of reception, it is received by the network interface unit. The checksum data is output by performing addition processing based on the received information, the received information is transferred to the protocol control unit, and the network interface unit receives the received data based on the checksum data in the addition unit when receiving. It is judged whether it is correct, and if it is correct, it moves to the next predetermined process, and if it is not correct,
A communication system characterized by discarding received data.
【請求項14】請求項9において、前記プロトコル制御
部は、送信時に、前記プロトコルに従った処理の終了後
に、処理した情報と該情報の管理データとを前記ネット
ワークインタフェース部に転送し、受信時に、受信した
情報について前記プロトコルに従った処理を行い、 前記ネットワークインタフェース部は、前記加算部を備
え、 該加算部は、送信時に、前記プロトコル制御部からの送
信情報を受信し、該送信情報に基づいて加算処理してチ
ェックサムデータおよび送信情報を出力し、受信時に、
前記伝送路から情報を受信し、該情報に基づいて加算処
理してチェックサムデータを出力し、前記情報を前記ネ
ットワークインタフェース部に出力し、 前記ネットワークインタフェース部は、送信時に、前記
加算部から出力された送信情報にチェックサムデータを
付加して前記伝送路に送信情報を送出し、受信時に、前
記加算部におけるチェックサムデータに基づいて、受信
データが正しいか否かを判定し、正しい場合には、あら
かじめ定めたつぎの処理に移行し、正しくない場合に
は、受信データを廃棄することを特徴とする通信システ
ム。
14. The protocol control unit according to claim 9, at the time of transmission, after processing according to the protocol is completed, the processed information and management data of the information are transferred to the network interface unit, and at the time of reception. Processing the received information according to the protocol, the network interface unit includes the addition unit, the addition unit receives the transmission information from the protocol control unit at the time of transmission, and adds the transmission information to the transmission information. Based on the addition processing, output checksum data and transmission information, and when receiving,
Information is received from the transmission path, addition processing is performed based on the information, checksum data is output, the information is output to the network interface unit, and the network interface unit outputs from the addition unit when transmitting. Checksum data is added to the transmitted information that has been sent, and the transmission information is sent to the transmission path.At the time of reception, it is determined whether or not the received data is correct based on the checksum data in the adding unit. Is a communication system characterized by shifting to the next predetermined process and discarding the received data when it is incorrect.
【請求項15】請求項9において、前記ネットワークイ
ンタフェース部は、前記加算部を備え、 前記プロトコ
ル制御部は、送信時に、前記加算部に対して被加算デー
タを指示し、前記加算部におけるチェックサムデータを
情報に付加し、 前記加算部は、受信時に、前記伝送路から情報を受信
し、該情報に基づいて加算処理してチェックサムデータ
を出力し、前記情報を前記プロトコル制御部に出力し、 前記ネットワークインタフェース部は、受信時に、前記
加算部におけるチェックサムデータに基づいて、受信デ
ータが正しいか否かを判定し、正しい場合には、あらか
じめ定めたつぎの処理に移行し、正しくない場合には、
受信データを廃棄することを特徴とする通信システム。
15. The network interface unit according to claim 9, further comprising: the addition unit, wherein the protocol control unit, when transmitting, instructs the addition unit to perform data addition, and a checksum in the addition unit. The data is added to the information, and the addition unit receives the information from the transmission path at the time of reception, performs addition processing based on the information, outputs checksum data, and outputs the information to the protocol control unit. At the time of reception, the network interface unit determines whether or not the received data is correct based on the checksum data in the adding unit, and if correct, shifts to the next predetermined process Has
A communication system characterized by discarding received data.
JP05266193A 1993-01-12 1993-03-12 Communication system including addition system and addition unit Expired - Fee Related JP3286377B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05266193A JP3286377B2 (en) 1993-01-12 1993-03-12 Communication system including addition system and addition unit

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-3568 1993-01-12
JP356893 1993-01-12
JP05266193A JP3286377B2 (en) 1993-01-12 1993-03-12 Communication system including addition system and addition unit

Publications (2)

Publication Number Publication Date
JPH06266535A true JPH06266535A (en) 1994-09-22
JP3286377B2 JP3286377B2 (en) 2002-05-27

Family

ID=26337185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05266193A Expired - Fee Related JP3286377B2 (en) 1993-01-12 1993-03-12 Communication system including addition system and addition unit

Country Status (1)

Country Link
JP (1) JP3286377B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011508989A (en) * 2007-11-28 2011-03-17 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system and computer program for performing partial word write in a network adapter
JP2012039266A (en) * 2010-08-04 2012-02-23 Canon Inc Communication control device and method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4397372B2 (en) 2005-12-28 2010-01-13 トヨタ自動車株式会社 3D shape data creation method, 3D shape data creation device, and 3D shape data creation program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011508989A (en) * 2007-11-28 2011-03-17 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, system and computer program for performing partial word write in a network adapter
JP2012039266A (en) * 2010-08-04 2012-02-23 Canon Inc Communication control device and method

Also Published As

Publication number Publication date
JP3286377B2 (en) 2002-05-27

Similar Documents

Publication Publication Date Title
US5590328A (en) Protocol parallel processing apparatus having a plurality of CPUs allocated to process hierarchical protocols
EP0551243B1 (en) Address recognition engine
US6366582B1 (en) Connection switching apparatus, connection switching network control system and connection switching network control method
CA2052349C (en) Communication control system using an asynchronous transfer mode network.
JP4542539B2 (en) Route lookup engine
JP3734704B2 (en) Packet classification engine
US7447230B2 (en) System for protocol processing engine
EP0642246A2 (en) Network communication method and network system
US20050171937A1 (en) Memory efficient hashing algorithm
CA2311078A1 (en) Multithreaded address resolution system
US5999981A (en) Switching ethernet controller providing packet routing
US6976256B2 (en) Pipeline processing type shaping apparatus and its method
US6721335B1 (en) Segment-controlled process in a link switch connected between nodes in a multiple node network for maintaining burst characteristics of segments of messages
JPH09505713A (en) System for parallel assembly of data transmission in broadband networks
KR19980703473A (en) Window comparator
JPH06261078A (en) Table retrieval method and router
US7248584B2 (en) Network packet processing
US7174394B1 (en) Multi processor enqueue packet circuit
JP3520709B2 (en) Network address search method
US7245615B1 (en) Multi-link protocol reassembly assist in a parallel 1-D systolic array system
US20200220952A1 (en) System and method for accelerating iscsi command processing
JPH06266535A (en) Addition system and communication system with addition section
CA2064957A1 (en) Method and apparatus for performing pattern search functions
JP5144225B2 (en) Information search apparatus and entry information registration method in information search apparatus
JP3508057B2 (en) Layer 3 switch

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090308

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090308

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100308

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees