JP3286377B2 - 加算システムおよび加算部を備える通信システム - Google Patents

加算システムおよび加算部を備える通信システム

Info

Publication number
JP3286377B2
JP3286377B2 JP05266193A JP5266193A JP3286377B2 JP 3286377 B2 JP3286377 B2 JP 3286377B2 JP 05266193 A JP05266193 A JP 05266193A JP 5266193 A JP5266193 A JP 5266193A JP 3286377 B2 JP3286377 B2 JP 3286377B2
Authority
JP
Japan
Prior art keywords
data
addition
unit
byte
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP05266193A
Other languages
English (en)
Other versions
JPH06266535A (ja
Inventor
貴久 宮本
徹 堀本
義則 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP05266193A priority Critical patent/JP3286377B2/ja
Publication of JPH06266535A publication Critical patent/JPH06266535A/ja
Application granted granted Critical
Publication of JP3286377B2 publication Critical patent/JP3286377B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ネットワーク通信シス
テムなどに利用されるチェックサム処理の加算システム
に関し、特に、送受信データを被加算データとして、1
の補数加算を使用して加算を行ない、2バイトの加算結
果を高速に求める加算システムに関する。
【0002】
【従来の技術】従来、TCP/IP(Transmission Con
trol Protocol/Internet Protocol)プロトコルによる
ネットワーク通信システムにおいて、データの誤り検出
のために行なわれるチェックサム処理には、1の補数加
算を使用した加算システムが用いられている。
【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
が受信したかどうかを検査するために使用される。
【0004】図1において送受信動作について説明す
る。まず、送信装置101では、送信側ユーザアプリケー
ションプログラム102で作成された送信データを送信側
プロトコル制御部103に渡し、そのデータを加算システ
ム104の被加算データとして加算結果を求める。そし
て、求まった加算結果を送信データに付加してから、送
信データを送信側ネットワークインタフェース部105に
渡し、LAN106を介して受信装置107に送信する。受信
装置107は、受信側ネットワークインタフェース部11
1で受信した、送信データおよび送信側の加算システム
104の加算結果からなる受信データを受信側プロトコ
ル制御部109に渡す。受信側プロトコル制御部109では、
受信データを加算システム110の被加算データとして加
算結果を求め、その加算結果を用いて受信データの誤り
検出を行なう。その結果、受信データが正しいときは、
受信データは受信側ユーザアプリケーションプログラム
108に渡され、誤りが有るときは廃棄される。
【0005】つぎに、図1で用いられている、加算シス
テム104および110の加算処理の流れを図2を用いて説明
する。初めに、被加算データが2バイト単位にアクセス
可能かどうかの判定201を行なう。これは、被加算デー
タはメモリ上に配置されているが、メモリには境界(以
下、バウンダリという)が有り、それを越えてのアクセ
スができないようになっているために行なうものであ
る。アクセス可能な場合、SRI(Stanford Research
Institute)より出版されているRFC(RequestFor Co
mments)1071により、チェックサム処理の加算バイト長
は2バイトと規定しているため、被加算データに対して
2バイト長加算202を行ない、2バイト単位のアクセス
が不可能な場合は、1バイト長加算203を行なってい
る。
【0006】初めに、2バイト長加算202の加算方法に
ついて図3を参照して説明する。被加算データは、図1
に示すネットワーク通信システムのLAN106の伝送媒
体がFDDIである時のものであり、4470バイトのデー
タの場合を例にする。2バイト長加算は、連続したデー
タ列を2バイト単位のデータに分割して、それぞれを1
の補数加算を用いて加算する。被加算データ301が4470
バイトである場合、2235個のデータについての加算にな
るので加算回数は2234回である。
【0007】ここで、2バイト長加算202の、具体的な
数値による加算の例を図4を用いて説明する。図4は、
先頭データが偶数アドレスに格納されている、16バイト
の被加算データ401を2バイト長加算により加算し、加
算時の桁あふれを毎回最下位バイトに加算するのではな
く、被加算データに対する加算処理終了後にまとめて加
算する例を示している。1の補数加算は、加算時の桁あ
ふれを最下位バイトに再加算する演算であるが、図4に
示すように、桁あふれを蓄積しておき、最後に加算を行
なっても加算結果402は同じ値になる。初めに、2バイ
ト長加算を8個の2バイト長データについて行なう。そ
の際、加算結果の桁あふれ4が生じるので、それを最下
位バイトに加算して処理は終了する。この場合の加算結
果402は、16進数で3BC4になる。
【0008】つぎに、1バイト長加算203の加算方法に
ついて図5を参照して説明する。被加算データが、図3
と同じく4470バイトのデータの場合を例にする。図5
は、バウンダリが奇数アドレスと偶数アドレスの間に有
る場合で、被加算データが奇数アドレスから格納されて
いるために、2バイト単位でのメモリアクセスができな
い。そこで、図3に示すような、2バイト長で加算を行
なうことができないため、図5に示すように、1バイト
単位でメモリアクセスを行なう。この場合、奇数番目の
データを上位バイトに加算し、偶数番目のデータを下位
バイトに加算する。その際、下位バイトの加算で桁あふ
れが生じたら上位バイトに、上位バイトの加算で桁あふ
れが生じたら下位バイトに加算することにより、2バイ
ト長による1の補数加算と同じ加算結果を求めるように
している。1バイト長加算は、連続したデータ列を1バ
イト単位のデータに分割して、それぞれを加算する。被
加算データ501が4470バイトである場合、4470個のデー
タについての加算になるので加算回数は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の補数加算とは、桁あふれを順
次上位の桁に加算していき、最上位桁の桁あふれを最下
位桁に加算するものである。
【0010】
【発明が解決しようとする課題】上記従来技術では、奇
数アドレスと偶数アドレスの間にバウンダリが有る時、
被加算データが偶数アドレスから格納されている場合
は、2バイト長で、奇数アドレスから格納されている場
合は、1バイト長で加算が行なわれていたために次のよ
うな課題がある。
【0011】1.データ長がMバイトの場合、M/2回
の加算を行なわなければならず、Mが大きいとき、大量
の加算回数を必要とする。
【0012】2.被加算データが奇数アドレスから格納
されいる場合は、偶数アドレスの場合の2倍の加算を
行なわなければならない。
【0013】また、上記従来技術の加算システムを図1
に示すような通信システムにおいて利用する場合には、
加算処理を高速に行うことができないために以下のよう
な課題がある。
【0014】3.プロトコル制御部に、上記加算システ
ムおよび被加算データを格納するプロトコルバッファを
備えて加算処理を行うため、プロトコル制御部の処理の
うち加算処理の閉める割合が大きく、通信性能を低下さ
せている。
【0015】4.プロトコル制御部における加算処理に
より受信データの誤り検出を行うので早い段階で誤り検
出を行うことができない。
【0016】このため、通信システムにおいて高速に通
信することができない。
【0017】本発明は、上記課題を解決すべく、加算シ
ステムにおいて高速処理することを目的とする。また、
本発明の他の目的は、加算システムを利用する通信シス
テムにおいて、高速通信を行うことを目的とする。
【0018】
【課題を解決するための手段】上記目的を達成するため
に、記憶手段に格納されたデータを読みだして1の補数
加算し、あらかじめ定められたデータ長の加算結果を出
力する加算システムであって、前記あらかじめ定められ
たデータ長より大きい単位で前記記憶手段からデータを
読み出し、該読み出したデータについて順次1の補数加
算を行なう加算部と、前記加算部の結果について前記あ
らかじめ定められたデータ長の単位に区切って1の補数
加算を行なう圧縮部と、該圧縮部の圧縮加算結果を出力
する出力部とを備えることにより達成される。
【0019】また、前記記憶手段に格納されたデータの
先頭部分が前記記憶手段の読み出し単位の先頭部分であ
るかないかを判定する先頭データ判定部と、該先頭デー
タ判定部における判断の結果、前記記憶手段の読み出し
単位の先頭部分でない場合に、前記記憶手段に格納され
たデータの先頭部分から前記記憶手段の最初の読み出し
単位の先頭部分の区切れ目までのデータを保持するデー
タ退避部とをさらに有し、前記加算部は、前記先頭デー
タ判定部における判断の結果、前記記憶手段の読み出し
単位の先頭部分でない場合に、前記区切れ目以降のデー
タについて前記記憶手段の読み出し単位で前記記憶手段
から読み出し、該読み出したデータについて順次1の補
数加算を行ない、前記圧縮部は、前記先頭データ判定部
における判断の結果、前記記憶手段の読み出し単位の先
頭部分でない場合に、前記加算部の前記区切れ目以降の
データの加算結果について前記あらかじめ定められたデ
ータ長の単位に区切って1の補数加算を行ない、前記デ
ータ退避部に保持したデータについて前記あらかじめ定
められたデータ長の単位に区切って1の補数加算をさら
に行ない、前記区切れ目以降のデータについての前記圧
縮部における圧縮加算結果に対して、前記データ退避部
に保持したデータについての前記圧縮部における加算結
果を1の補数加算する退避データ加算部をさらに有す
る。
【0020】また、前記あらかじめ定められたデータ長
が2バイトの場合に、前記記憶手段は、前記記憶手段の
読み出し単位を4バイト以上の偶数バイトとすることが
できる。前記記憶手段は、前記記憶手段の読み出し単位
を4バイトとすることができる。
【0021】前記先頭データ判定部は、前記記憶手段に
格納されたデータの先頭部分の格納アドレスが奇数か偶
数かをさらに判定し、該先頭データ判定部における判定
の結果、奇数アドレスに格納されている場合に、前記加
算部における前記区切れ目以降のデータについての加算
結果を前記圧縮部で圧縮した圧縮加算結果の上位バイト
と下位バイトとのデータ交換を行なうデータ補正部をさ
らに有する。
【0022】また、伝送路を介して情報の送受信を制御
する通信制御部と、情報を処理する処理部と、情報の送
受信時に伝送情報を正しく送受信するための誤り検出用
のデータを送信すべき情報に対して付加し、受信した情
報から誤りを検出するチェックサム部とを有する情報処
理装置であって、前記チェックサム部は、前記情報を保
持する記憶手段と、前記記憶手段に保持した情報を4バ
イトずつ1の補数加算を行なう加算手段と、該加算結果
について2バイトずつ1の補数加算を行なう圧縮手段と
を備え、該圧縮部の加算結果を前記誤り検出用のデータ
とすることができる。
【0023】前記加算手段は、前記記憶手段に保持した
情報の先頭部分が、前記記憶手段の読み出し単位の先頭
部分であるかないかを判定し、該先頭部分でない場合に
は、前記記憶手段に保持した情報の先頭部分から前記記
憶手段の最初の読み出し単位の先頭部分の区切れ目まで
の情報について2バイトで1の補数加算をし、前記区切
れ目以降の情報について前記記憶手段から4バイトずつ
1の補数加算し、該区切れ目以降の情報についての加算
結果を2バイトずつさらに1の補数加算を行なって圧縮
し、該区切れ目以降の情報についての圧縮加算結果と、
前記区切れ目までの情報についての加算結果とを加算し
て出力する。前記加算手段は、前記記憶手段に保持した
情報の先頭部分の格納アドレスが奇数か偶数かをさらに
判定し、奇数アドレスに格納されている場合に、前記区
切れ目以降の情報についての圧縮加算結果の上位バイト
と下位バイトとのデータ交換を行ない、該データ交換し
た値と前記先頭部分から区切れ目までの情報についての
加算結果とを加算して出力することができる。
【0024】また、伝送路と、該伝送路を介して情報の
送受信する送受信装置を複数有する通信システムにおい
て、前記送受信装置は、前記伝送路に対して送受信処理
を行うネットワークインタフェース部と、送受信情報を
処理するユーザアプリケーション部と、送受信時にあら
かじめ定められたプロトコルに従って処理を行うプロト
コル制御部と、情報の送受信時に、伝送情報を正しく送
受信するための誤り検出用のチェックサムデータを付加
/検出するために、被加算データを加算処理する加算部
とを有し、前記加算部は、前記情報について順次1の補
数加算を行なう加算手段と、該加算結果についてあらか
じめ定められたデータ長の単位に区切って1の補数加算
を行なう圧縮手段とを備え、該圧縮部の加算結果を前記
誤り検出用のチェックサムデータとすることができる。
【0025】前記プロトコル制御部は、前記加算部を備
え、前記プロトコルに従った処理とともに、前記加算部
に対して被加算データを指示し、前記加算部は、指示さ
れた被加算データについて加算処理してチェックサムデ
ータを出力し、前記プロトコル制御部は、受信時に、前
記加算部におけるチェックサムデータに基づいて、受信
データが正しいか否かを判定し、正しい場合には、あら
かじめ定めたつぎの処理に移行し、正しくない場合に
は、受信データを廃棄する。
【0026】前記プロトコル制御部は、送信時に、前記
プロトコルに従った処理の終了後に、処理した情報と該
情報の管理データとを前記ネットワークインタフェース
部に転送し、受信時に、受信した情報について前記プロ
トコルに従った処理を行い、前記ネットワークインタフ
ェース部は、前記加算部を備え、前記送受信処理ととも
に、送信時に、前記プロトコル制御部から転送された情
報と該情報の管理データとに基づいて前記加算部に対し
て被加算データを指示し、前記加算部におけるチェック
サムデータを情報に付加して前記伝送路に送出し、受信
時に、前記伝送路から情報を受信し、受信した情報に基
づいて前記加算部に対して被加算データを指示し、前記
加算部におけるチェックサムデータに基づいて、受信デ
ータが正しいか否かを判定し、正しい場合には、あらか
じめ定めたつぎの処理に移行し、正しくない場合には、
受信データを廃棄するようにしてもよい。
【0027】さらに、前記ネットワークインタフェース
部は、前記加算部を備え、前記プロトコル制御部は、送
信時に、前記加算部に対して被加算データを指示し、前
記加算部におけるチェックサムデータを情報に付加し、
受信時に、前記伝送路から情報を受信し、受信した情報
に基づいて前記加算部に対して被加算データを指示し、
前記ネットワークインタフェース部は、受信時に、前記
加算部におけるチェックサムデータに基づいて、受信デ
ータが正しいか否かを判定し、正しい場合には、あらか
じめ定めたつぎの処理に移行し、正しくない場合には、
受信データを廃棄することができる。前記プロトコル制
御部は、前記情報を格納するコモンバッファを備え、前
記加算部に対して前記コモンバッファに格納している被
加算データの領域および前記チェックサムデータの格納
領域を指示し、前記加算部は、前記プロトコル制御部に
指示された被加算データの領域を参照して加算を行い、
指示されたチェックサムデータの格納領域にチェックサ
ムデータを格納することにより、チェックサムデータを
情報に付加し、前記インタフェースネットワーク部は、
送信時に、前記コモンバッファに送信情報の出力を指示
し、受信時に、前記コモンバッファに受信データを格納
することができる。
【0028】また、前記ネットワークインタフェース部
は、前記加算部を備え、該加算部は、送信時に、前記プ
ロトコル制御部からの送信情報を受信し、該送信情報に
基づいて加算処理してチェックサムデータを付加して前
記ネットワークインタフェース部に出力し、受信時に、
前記ネットワークインタフェース部で受信された情報に
基づいて加算処理してチェックサムデータを出力し、前
記プロトコル制御部に受信情報を転送し、前記ネットワ
ークインタフェース部は、受信時に、前記加算部におけ
るチェックサムデータに基づいて、受信データが正しい
か否かを判定し、正しい場合には、あらかじめ定めたつ
ぎの処理に移行し、正しくない場合には、受信データを
廃棄するようにしてもよい。
【0029】前記プロトコル制御部は、送信時に、前記
プロトコルに従った処理の終了後に、処理した情報と該
情報の管理データとを前記ネットワークインタフェース
部に転送し、受信時に、受信した情報について前記プロ
トコルに従った処理を行い、前記ネットワークインタフ
ェース部は、前記加算部を備え、該加算部は、送信時
に、前記プロトコル制御部からの送信情報を受信し、該
送信情報に基づいて加算処理してチェックサムデータお
よび送信情報を出力し、受信時に、前記伝送路から情報
を受信し、該情報に基づいて加算処理してチェックサム
データを出力し、前記情報を前記ネットワークインタフ
ェース部に出力し、前記ネットワークインタフェース部
は、送信時に、前記加算部から出力された送信情報にチ
ェックサムデータを付加して前記伝送路に送信情報を送
出し、受信時に、前記加算部におけるチェックサムデー
タに基づいて、受信データが正しいか否かを判定し、正
しい場合には、あらかじめ定めたつぎの処理に移行し、
正しくない場合には、受信データを廃棄することができ
る。
【0030】前記ネットワークインタフェース部は、前
記加算部を備え、前記プロトコル制御部は、送信時に、
前記加算部に対して被加算データを指示し、前記加算部
におけるチェックサムデータを情報に付加し、前記加算
部は、受信時に、前記伝送路から情報を受信し、該情報
に基づいて加算処理してチェックサムデータを出力し、
前記情報を前記プロトコル制御部に出力し、前記ネット
ワークインタフェース部は、受信時に、前記加算部にお
けるチェックサムデータに基づいて、受信データが正し
いか否かを判定し、正しい場合には、あらかじめ定めた
つぎの処理に移行し、正しくない場合には、受信データ
を廃棄するようにしてもよい。
【0031】
【作用】上記手段を実行すると、先頭データ判定部が、
記憶手段に格納されているデータの先頭部分のアドレス
が、前記記憶手段の読み出し単位の先頭部分(バウンダ
リ)であるかないかを判定する。前記記憶手段の読み出
し単位の先頭部分でない場合に、データ退避部が、先頭
データからアクセス可能な区切れ目までのデータを退避
する。つぎに、加算部が、前記区切れ目以降のデータに
ついて前記記憶手段の読み出し単位で前記記憶手段から
読み出し、該読み出したデータについて順次1の補数加
算を行なう。更に、その加算結果を、圧縮部があらかじ
め定められたデータ長の単位に区切って1の補数加算を
行ない、あらかじめ定められたデータ長の圧縮加算結果
を生成する。
【0032】そして、前記記憶手段の読み出し単位の先
頭部分である場合、圧縮加算結果を出力して処理は終了
する。
【0033】また、先頭データ判定部は、前記記憶手段
に格納されたデータの先頭部分の格納アドレスが奇数か
偶数かをさらに判定し、前記記憶手段に格納されたデー
タの先頭部分の格納アドレスが奇数アドレスの場合、デ
ータ補正部が、圧縮加算結果の上位バイトと下位バイト
とを交換する。前記記憶手段の読み出し単位の先頭部分
でない場合に、退避データ加算部が、退避データとデー
タ補正部のデータ交換されたデータとを1の補数加算
し、その加算結果を出力して処理は終了する。
【0034】これにより、あらかじめ定められたデータ
長より大きい単位の前記記憶手段からデータを読み出し
て順次1の補数加算し、その加算結果をあらかじめ定め
られたデータ長に圧縮加算するので、加算回数を従来の
加算回数より少なくすることができ、処理時間を短縮す
ることができる。
【0035】また、上記加算システムを通信システムに
利用した場合には、チェックサムデータの計算が高速に
処理できるので、通信システムにおける処理を高速化す
ることができる。この場合において、加算システムを通
信システムのどこに有するかにより、下記のようにいろ
いろな態様とすることができる。
【0036】通信システムとしては、伝送路と、該伝送
路を介して情報の送受信する送受信装置を複数有する通
信システムにおいて、前記送受信装置は、前記伝送路に
対して送受信処理を行うネットワークインタフェース部
と、送受信情報を処理するユーザアプリケーション部
と、送受信時にあらかじめ定められたプロトコルに従っ
て処理を行うプロトコル制御部と、情報の送受信時に、
伝送情報を正しく送受信するための誤り検出用のチェッ
クサムデータを付加/検出するために、被加算データを
加算処理する加算部とを有する。
【0037】前記加算部を、前記プロトコル制御部に設
ける場合には、前記プロトコル制御部は、前記プロトコ
ルに従った処理とともに、前記加算部に対して被加算デ
ータを指示する。これに対して、前記加算部は、指示さ
れた被加算データについて加算処理してチェックサムデ
ータを出力し、前記プロトコル制御部は、受信時に、前
記加算部におけるチェックサムデータに基づいて、受信
データが正しいか否かを判定し、正しい場合には、あら
かじめ定めたつぎの処理に移行し、正しくない場合に
は、受信データを廃棄する。
【0038】また、前記加算部を、前記ネットワークイ
ンタフェース部に設ける場合には、前記プロトコル制御
部は、送信時に、前記プロトコルに従った処理の終了後
に、処理した情報と該情報の管理データとを前記ネット
ワークインタフェース部に転送し、受信時に、受信した
情報について前記プロトコルに従った処理を行う。前記
ネットワークインタフェース部は、送受信処理ととも
に、送信時に、前記プロトコル制御部から転送された情
報と該情報の管理データとに基づいて前記加算部に対し
て被加算データを指示し、前記加算部におけるチェック
サムデータを情報に付加して前記伝送路に送出し、受信
時に、前記伝送路から情報を受信し、受信した情報に基
づいて前記加算部に対して被加算データを指示し、前記
加算部におけるチェックサムデータに基づいて、受信デ
ータが正しいか否かを判定し、正しい場合には、あらか
じめ定めたつぎの処理に移行し、正しくない場合には、
受信データを廃棄するようにしてもよい。
【0039】さらに、前記加算部を、前記ネットワーク
インタフェース部に設ける場合には、他の態様として、
前記プロトコル制御部は、送信時に、前記加算部に対し
て被加算データを指示し、前記加算部におけるチェック
サムデータを情報に付加し、受信時に、前記伝送路から
情報を受信し、受信した情報に基づいて前記加算部に対
して被加算データを指示する。前記ネットワークインタ
フェース部は、受信時に、前記加算部におけるチェック
サムデータに基づいて、受信データが正しいか否かを判
定し、正しい場合には、あらかじめ定めたつぎの処理に
移行し、正しくない場合には、受信データを廃棄するこ
とができる。この場合、前記プロトコル制御部は、前記
情報を格納するコモンバッファを備え、前記加算部に対
して前記コモンバッファに格納している被加算データの
領域および前記チェックサムデータの格納領域を指示す
る。前記加算部は、前記プロトコル制御部に指示された
被加算データの領域を参照して加算を行い、指示された
チェックサムデータの格納領域にチェックサムデータを
格納することにより、チェックサムデータを情報に付加
し、前記インタフェースネットワーク部は、送信時に、
前記コモンバッファに送信情報の出力を指示し、受信時
に、前記コモンバッファに受信データを格納することが
できる。
【0040】また、前記加算部を、前記ネットワークイ
ンタフェース部に設ける場合の他の態様として、該加算
部は、送信時に、前記プロトコル制御部からの送信情報
を受信し、該送信情報に基づいて加算処理してチェック
サムデータを付加して前記ネットワークインタフェース
部に出力し、受信時に、前記ネットワークインタフェー
ス部で受信された情報に基づいて加算処理してチェック
サムデータを出力し、前記プロトコル制御部に受信情報
を転送する。前記ネットワークインタフェース部は、受
信時に、前記加算部におけるチェックサムデータに基づ
いて、受信データが正しいか否かを判定し、正しい場合
には、あらかじめ定めたつぎの処理に移行し、正しくな
い場合には、受信データを廃棄するようにしてもよい。
【0041】さらに、前記加算部を、前記ネットワーク
インタフェース部に設ける場合の他の態様として、前記
プロトコル制御部は、送信時に、前記プロトコルに従っ
た処理の終了後に、処理した情報と該情報の管理データ
とを前記ネットワークインタフェース部に転送し、受信
時に、受信した情報について前記プロトコルに従った処
理を行う。該加算部は、送信時に、前記プロトコル制御
部からの送信情報を受信し、該送信情報に基づいて加算
処理してチェックサムデータおよび送信情報を出力し、
受信時に、前記伝送路から情報を受信し、該情報に基づ
いて加算処理してチェックサムデータを出力し、前記情
報を前記ネットワークインタフェース部に出力する。前
記ネットワークインタフェース部は、送信時に、前記加
算部から出力された送信情報にチェックサムデータを付
加して前記伝送路に送信情報を送出し、受信時に、前記
加算部におけるチェックサムデータに基づいて、受信デ
ータが正しいか否かを判定し、正しい場合には、あらか
じめ定めたつぎの処理に移行し、正しくない場合には、
受信データを廃棄することができる。
【0042】また、前記加算部を、前記ネットワークイ
ンタフェース部に設ける場合の他の態様として、前記プ
ロトコル制御部は、送信時に、前記加算部に対して被加
算データを指示し、前記加算部におけるチェックサムデ
ータを情報に付加する。前記加算部は、受信時に、前記
伝送路から情報を受信し、該情報に基づいて加算処理し
てチェックサムデータを出力し、前記情報を前記プロト
コル制御部に出力する。前記ネットワークインタフェー
ス部は、受信時に、前記加算部におけるチェックサムデ
ータに基づいて、受信データが正しいか否かを判定し、
正しい場合には、あらかじめ定めたつぎの処理に移行
し、正しくない場合には、受信データを廃棄する。
【0043】
【実施例】以下、本発明の一実施例を説明する。本実施
例は、高速加算システムを実装する情報処理装置が扱え
るデータの大きさが4バイトの場合を例にする。
【0044】初めに、高速加算システムを、伝送媒体を
FDDIとするTCP/IPプロトコルによるネットワ
ーク通信に使用する例を、図7および図8を用いて説明
する。TCP/IPプロトコルでは、送信側、受信側共
に、AP(Application Program)、TCP層、IP層
およびドライバ層からなる階層構造になっていて、送信
データおよび受信データに対して、各層で色々な処理が
施される。その処理の中で、高速加算システムは、TC
P層とIP層とでデータの誤り検出のために行なう、チ
ェックサム処理に使用する。
【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を介して受信側に送信す
る。
【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を付加する。
【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度データの送信を行
なう。
【0048】つぎに、本高速加算システムが、1の補数
加算による加算処理の加算回数を削減するために用いて
いる、1の補数加算の特性について図9および図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バイ
ト長による加算と同じ加算結果を求めることが可能であ
る。
【0050】ここで、上記加算を数式にして下記に示
す。
【0051】ただし、下記の式において、k=1,…,
K(K=被チェックサムバイト数÷n)であり、「Wk
(w12…wn)」は、nバイトの値w12…wnからな
る加算バッファの内容を示し、「Uk(u12…un)」
は、nバイトの値u12…unからなるデータを示し、
「Sum」はチェックサム値を示し、「+’」は1の補
数加算を示す。
【0052】
【数1】W0=0
【0053】
【数2】 Wk(w12…wn16=Wk-1(w12…wn16+’Uk(u12…un16
【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バ
イト長加算結果と同じになる。
【0055】このように、1の補数加算においては、桁
あふれがあるときには上位の桁に加算し、最上位の桁の
桁あふれは最下位の桁に加算するので、桁数の制限が無
いことがわかる。
【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の補数加算は、被加算デー
タの上位桁と下位桁とを入替えて加算を行ない、加算終
了後、加算結果の上位桁と下位桁を入れ替えることによ
り、最初の状態の被加算データに対する加算と同じ加算
結果を求めることが可能である。よって、被加算データ
の任意の位置から加算を行ない、加算結果終了後に、加
算位置の補正を行なうことにより、元のデータ列に対す
る加算と同じ加算結果を求めることが可能である。
【0057】ここで、上記加算を数式にして下記に示
す。
【0058】ただし、下記の式において、「W(w
12)」は、2バイトの値w12からなる加算バッファ
の内容を示し、「U(u12)」は、2バイトの値u1
2からなるデータを示し、「Sum」はチェックサム
値を示し、「+’」は1の補数加算を示す。
【0059】
【数4】W0(w1216=U1(0u116
【0060】
【数5】 W(w1216=W0(w1216+’U2(u2316+’U2(u4516+ ’…
【0061】
【数6】Sum16=W(w2116 16バイトのデータについて、上記加算を用いた加算例
を図26を用いて説明する。図26に示すように、はじ
めに16バイトデータ2601を1バイト目のデータを右
側、2バイト目のデータを左側というように位置を入れ
替えて加算する。加算終了後、1の補数加算として加算
時の桁あふれである3を最下位バイトに加算し、加算結
果2602を求める。つぎに、加算結果2602の上位バイトと
下位バイトとの交換を行い、補正加算結果2603を求め
る。加算結果2603は、16進数で3BC4になり、図4
に示した2バイト長加算結果と同じになる。
【0062】このように、1の補数加算は、加算位置を
替えて加算し、加算終了後、さらに入替えた結果と、入
れ替えないで加算した結果とが同じになるために加算位
置の入替えが可能である。
【0063】つぎに、本高速加算システムを構成する各
ブロックと、各ブロックによる処理、および、データの
流れの例を図12を用いて説明する。
【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つのメモリで構成するようにしてもよい。
【0065】つぎに、図12に示す本高速加算システム
の処理の流れを図11を用いて説明する。
【0066】図11において、初めに、先頭データ判定
部1202は、被加算データについて先頭データのバウンダ
リ判定を行なう(処理1101)。これは、被加算データは
メモリ上に配置されていて、メモリには境界が有るため
に、それを越えてのアクセスができないために行う。本
実施例においては、4バイト長のデータにアクセスが可
能であるので先頭データが蓄積されているアドレスを検
出し、このアドレスがバウンダリであるか否かを判定す
ることによりバウンダリの判定を行う。また、メモリに
よっては、8バイト長のデータに同時アクセスが可能な
場合には、8バイトデータのバウンダリ判定をしてもよ
い。この場合、以下の加算では8バイトで加算すること
ができる。
【0067】上記判定の結果、バウンダリ不適の場合、
データ退避部1203は、先頭データからアクセス可能なデ
ータまでを退避させ、退避データ格納エリア1204に格納
する(処理1102)。そして、2バイト長圧縮部1205は、
退避データに対して2バイト長で1の補数加算を行ない
(処理1103)、圧縮退避データを生成しておく。例え
ば、退避データ格納エリア1204に3バイトのデータが格
納されている場合には、下位2バイトと上位1バイトと
を加算して2バイト長データにしておく。
【0068】つぎに、上記判定でバウンダリの判定が適
の場合の被加算データと、退避データを格納した場合の
残りの被加算データとに対しては、4バイト長加算部12
07が4バイト長で1の補数加算を行ない(処理1104)、
4バイト長加算終了後、2バイト長圧縮部1205は、4バ
イト長データに対して2バイト長で1の補数加算を行な
う(処理1105)。2バイト長加算終了後、2バイト長デ
ータ格納エリア1209に加算結果を保持し、先頭データの
バウンダリの判定を行う(処理1116)。この判定は、上
記処理1101における判定と同じなので、上記判定時に判
定結果を保持しておいてもよい。バウンダリ適の場合、
2バイト長データを加算結果として加算結果格納エリア
1212に格納し(処理1110)、処理は終了する。
【0069】バウンダリ不適の場合には、先頭データ判
定部1202は、ここで被加算データの先頭データのアドレ
スが奇数か偶数かの判定を行なう(処理1107)。先頭デ
ータが奇数アドレスから格納されている場合、2バイト
長圧縮部1205は、2バイト長データの補正を行なう(処
理1108)。データ補正部1210は、2バイト長データの上
位バイトと下位バイトとを交換する。先頭データが奇数
アドレスであるときには、退避データ格納エリアに不適
正部を格納して、残りのデータを加算しているが、これ
は、前述した図10および図26に示したように、桁を
入れ替えた場合の加算であるので最後に上位バイトと下
位バイトとを交換する。これにより、被加算データを2
バイトづつ加算した結果と同一にすることができる。ま
た、バウンダリ不適の場合、退避データ加算部1211は、
圧縮退避データと2バイト長データを1の補数加算(処
理1109)し、加算結果を加算結果格納エリア1212に格納
し(処理1110)、処理は終了する。
【0070】このように処理することにより、より高速
に加算することができる。
【0071】つぎに、高速加算システムで用いられてい
る、1の補数加算による加算処理を行なう加算部1207の
ハードウェアの構成について図13および図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を制御する。
【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に転
送させて処理は終了する。
【0074】被加算データがメモリ上にさらにある場合
には、制御部1309は、メモリ上の被加算データをデータ
バス1302を介してレジスタA1303に転送させ、レジスタ
C1305に格納されているデータをレジスタB1304に転送
させて前記ステップ1およびステップ2のように動作さ
せる。
【0075】また、2バイト圧縮部および退避データ加
算部のハードウエア構成も図13に示すような構成で、
2バイトのレジスタおよび加算器を用いることにより圧
縮および加算ができる。2バイト圧縮部の場合、制御部
1309は、メモリから被加算データの読出し時に、4バイ
トで1の補数加算した結果データを2バイトづつ読みだ
し加算させる。さらに、データの補正を行う場合のハー
ドウエア構成は、メモリの読出し時に、下位バイトから
読みだしたデータを上位バイトに、また、上位バイトの
データを下位バイトに設定するようにアドレスを指示し
て読み出す。
【0076】以上のように、ハードウエアのみで構成で
き、より高速に処理できる。
【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を制御する。
【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に転送させ
て処理は終了する。
【0079】被加算データがメモリ上にさらにある場合
には、制御部2408は、メモリ上の被加算データをデータ
バス1302を介してレジスタA1303に転送させ、レジスタ
C2405に格納されているデータをレジスタB2404に転送
させて前記のように動作させる。
【0080】また、他のハードウエア構成も前述の図1
3におけるハードウエア構成と同様に図24に示すよう
な構成にできる。
【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である。
【0082】つぎに、このプログラムの処理の流れを説
明する。まず、各変数の宣言と初期化(1401)を行な
う。つぎに、被加算データ4470バイトを2バイト長で加
算(1402)し、全被加算データについての加算処理が終
了したら、1の補数加算として2バイトからあふれた分
を最下位バイトに加算1403する。このプログラムを実行
すると、変数sum1406に2バイト長加算部の加算結果が
求まる。図14では、加算結果の格納エリアである変数su
m1406の変数長が4バイトであったため、桁あふれが捨
て去られることが無いように、2バイト長加算部の加算
バイト数は2バイト長であったが、変数sum1406の変数
長を4バイトよりも大きく採れるような場合には、2バ
イト長加算部の加算バイト数である2もそれに合わせて
大きくすることが可能である。例えば、4バイト長加算
部にして、変数sum1406の変数長を4バイトより大きく
とるように構成すれば、4バイト長の加算をすることが
できる。
【0083】つぎに、高速加算システムで用いられてい
る、1の補数加算による加算処理をアセンブラプログラ
ムで行なう場合の例を、図15を用いて説明する。図15
は、4バイト長加算部および2バイト長圧縮部の処理
で、被加算データ長=4470、1の補数加算の桁あふれを
最下位バイトへ加算する処理を、加算処理と同時に行な
う場合のプログラムである。初めに各レジスタの説明を
する。図15において、使用しているレジスタはすべて大
きさが4バイトである。regA1504は、被加算データに
ついての加算結果が格納されるエリアで、初期値は0で
ある。regB1505は、被加算データ長が格納されてい
て、初期値は図15では4470である。regC1506は、被加
算データ中の加算データ位置を指し、初期値は被加算デ
ータの先頭アドレスである。regD1507は、regC1506が
指す加算データ位置から4バイトのデータを格納するエ
リアである。regE1508は、regA1504に格納されている
4バイト長加算結果の下位2バイトを格納するエリアで
ある。
【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もそれに合わせて大きくすることが可能である。
【0085】つぎに、FDDI上のTCP/IPプロト
コルによるネットワーク通信で、TCP層のチェックサ
ム処理に高速加算システムを用いた場合の加算処理を説
明する。実装する情報処理装置で扱えるデータバイト数
が4バイトの例のため、アクセスするデータ中のバウン
ダリにより、4種類の加算処理が行われる。また、ここ
での1の補数加算は、加算時の桁あふれを蓄積しておき
最後にまとめて最下位バイトに加算する形式にした。
【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して処理は終了する。
【0087】以上のように、図16に示す場合の加算回数
は1118回となり、図3に示す従来の加算回数2234回の約
半分である。
【0088】つぎに、具体的な数値による、16バイトの
被加算データ1701に対する加算処理を図11および図17を
用いて説明する。初めに、4バイト長加算1104を4個の
4バイト長データについて行なう。その際、加算結果の
桁あふれ「2」が生じるので、それを最下位バイトに加
算することにより、4バイト長データ1702が求まる。つ
ぎに、4バイト長データ1702に対する2バイト長圧縮11
05として、上位2バイトと下位2バイトとの加算を行な
う。その際、加算結果の桁あふれ「1」が生じるので、
それを最下位バイトに加算して処理は終了する。この場
合の加算結果1703は、図4に示す、従来の加算結果と同
じ値になる。
【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して処理は終了する。
【0090】以上のように、この場合の加算回数は1120
回で、図5に示す、従来の加算回数4469回の約4分の1
である。
【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に示す従来の加算結果と同じ値にな
る。
【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して処理は終了する。
【0093】以上のように、この場合の加算回数は1119
回で、図3に示す、従来の加算回数2234回の約2分の1
である。
【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に示す従来の加
算結果と同じ値になる。
【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して処
理は終了する。
【0096】以上のように、この場合の加算回数は1119
回で、図5の従来の加算回数4469回の約4分の1であ
る。
【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に示す、従来の加算結果と同じ値になる。
【0098】本実施例は、被加算データに対して加算を
行なう4バイト長加算部の加算バイト数は4バイトだ
が、加算バイト数は実装する機器で扱えるデータの大き
さにあわせて偶数バイトとすることができるので、従来
と同じ2バイト長加算や、8バイト長加算をすることが
可能である。加算バイト数を本実施例の4バイトから大
きくすることにより、更に、加算回数は削減する。
【0099】また、本実施例は、TCP/IPネットワ
ーク通信で受信データの誤り検出をするために行われる
チェックサム処理に、高速加算システムを用いた場合と
したため、2バイト長圧縮部の加算バイト数は、2バイ
トであるが、加算バイト数を2バイトから任意の値に拡
大することにより、加算結果を任意の大きさにすること
ができる。
【0100】また、本実施例は、ネットワーク通信シス
テムに用いた例としたが、連続データに対して加算を行
なう処理であれば、ネットワーク通信システム以外でも
同様に使用することができる。
【0101】本実施例によれば、高速加算システムを用
いて加算を行なうことにより、加算回数を削減すること
ができる。被加算データがMバイトで被加算データに対
する加算バイト数が4バイトの場合、 (1)被加算データが偶数アドレスから格納されている
場合、被加算データ長Mが4バイト長加算部の加算バイ
ト数4より十分大きいとき、加算回数は1/2に削減さ
れる。
【0102】(2)被加算データが奇数アドレスから格
納されている場合、被加算データ長Mが4バイト長加算
部の加算バイト数4より十分大きいとき、加算回数は1
/4に削減される。
【0103】被加算データ長Mが4バイト長加算部の加
算バイト数4より十分大きいとき、被加算データの格納
状態によらず加算回数がM/4回と一定であるため、被
加算データの格納状態による加算回数の違いが無くな
る。また、4バイト長加算の加算バイト長である4は、
実装機器で扱えるデータの大きさに合わせて、偶数バイ
トに拡大することができ、例えば、8バイトにした場合
は加算回数は更に削減する。
【0104】つぎに、上記高速加算システムをネットワ
ーク通信システムに適用した場合の実施例を説明する。
ネットワーク通信システムにおいて、上記高速加算シス
テムを設ける場合の高速通信システムの例を、図27、図
28、図29、図30、図31および図32を参照して説明する。
図27、図28、図29、図30、図31および図32は、2台の情
報機器間で伝送媒体をFDDIとするLANを介してデ
ータ転送を行う通信システムを示した図であり、通信プ
ロトコルはTCP/IPとする。以下に示す実施例で
は、伝送路と、該伝送路を介して情報の送受信する送受
信装置を複数有する通信システムにおいて、前記送受信
装置は、前記伝送路に対して送受信処理を行うネットワ
ークインタフェース部と、送受信情報を処理するユーザ
アプリケーション部と、送受信時にあらかじめ定められ
たプロトコルに従って処理を行うプロトコル制御部と、
情報の送受信時に、伝送情報を正しく送受信するための
誤り検出用のチェックサムデータを付加/検出するため
に、被加算データを加算処理する加算部とを有する。前
記加算部は、前記情報について順次1の補数加算を行な
う加算手段と、該加算結果についてあらかじめ定められ
たデータ長の単位に区切って1の補数加算を行なう圧縮
手段とを備え、該圧縮部の加算結果を前記誤り検出用の
チェックサムデータとする。
【0105】初めに、図27を参照して説明する。図27
は、TCP層、IP層およびドライバ層からなるプロト
コル制御部に、上記高速加算システム2709/2712と被加
算データを格納するプロトコルバッファ2708/2711とが
備えられている場合の構成図を示し、プロトコル制御部
におけるヘッダ付加処理と加算処理とを独立して行う場
合について説明する。本実施例においては、プロトコル
制御部は、前記加算部を備え、前記プロトコルに従った
処理とともに、前記加算部に対して被加算データを指示
し、前記加算部は、指示された被加算データについて加
算処理してチェックサムデータを出力し、前記プロトコ
ル制御部は、受信時に、前記加算部におけるチェックサ
ムデータに基づいて、受信データが正しいか否かを判定
し、正しい場合には、あらかじめ定めたつぎの処理に移
行し、正しくない場合には、受信データを廃棄すること
ができる。
【0106】図7および図8に示したプロトコル制御部
においては、ヘッダ処理と加算処理とを一緒に行ってい
る。本実施例においては、高速加算システムを設けるこ
とで、機能的に別けて処理をそれぞれ行うことができ
る。
【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に送出して、送信
側の処理は終了する。
【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にコ
ピーし、受信側の処理は終了する。受信データが誤って
いると判定された場合、受信データはただちに廃棄さ
れ、受信側の処理は終了する。
【0109】以上のように、プロトコル制御部に、上記
高速加算システムと被加算データを格納するプロトコル
バッファとを備えることにより、高速に加算処理し、誤
りデータの検出を早期に行うことができる。
【0110】つぎに、図28を参照して説明する。図28
は、ネットワークインタフェース部が、上記高速加算シ
ステムと、被加算データを格納するネットワークバッフ
ァとを備えている場合の構成を示している。本実施例に
おいては、プロトコル制御部は、送信時に、前記プロト
コルに従った処理の終了後に、処理した情報と該情報の
管理データとを前記ネットワークインタフェース部に転
送し、受信時に、受信した情報について前記プロトコル
に従った処理を行い、前記ネットワークインタフェース
部は、前記加算部を備え、前記送受信処理とともに、送
信時に、前記プロトコル制御部から転送された情報と該
情報の管理データとに基づいて前記加算部に対して被加
算データを指示し、前記加算部におけるチェックサムデ
ータを情報に付加して前記伝送路に送出し、受信時に、
前記伝送路から情報を受信し、受信した情報に基づいて
前記加算部に対して被加算データを指示し、前記加算部
におけるチェックサムデータに基づいて、受信データが
正しいか否かを判定し、正しい場合には、あらかじめ定
めたつぎの処理に移行し、正しくない場合には、受信デ
ータを廃棄する。
【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に送出して、信側の処理は
終了する。
【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にコピ
ーして、受信側の処理は終了する。
【0113】つぎに、上記高速通信システムで行ってい
るデータ管理の方法について、図28、図33および図
34を用いて説明する。従来、TCP層では、擬似ヘッ
ダ2815とTCPヘッダ2816とを作成して付加
し、TCP層での処理終了後、擬似ヘッダ2815は削
除され、TCPヘッダ2816とデータ2814とがI
P層に渡されていた。本高速通信システムでは、ネット
ワークインタフェース部2803に設けた高速加算シス
テム2810でチェックサム処理を行うため、ネットワ
ークインタフェース部2803に設けられているネット
ワークバッファ2809まで、チェックサム処理対象の
1つである擬似ヘッダ2825を渡さなければならな
い。そこで、図33に示すデータ管理テーブル3301
によりデータの管理を行う。
【0114】初めに、データ管理テーブル3301の構
成について図33を用いて説明する。次テーブルポイン
タ3302は、データ管理テーブルを複数持つ場合に次
のテーブルを指すポインタが格納され、テーブルが1つ
の時は0が入る。データポインタ3303は、そのテー
ブルが管理するデータの先頭位置を示すポインタが格納
される。データ長3304は、そのテーブルが管理する
データの大きさが格納される。不要データ長3305
は、そのテーブルが管理するデータのうち、擬似ヘッダ
などのように本来、下位層では必要ではない先頭の不要
なデータの大きさが格納され、先頭不要データがないと
きは0が入る。
【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とを
送信する。
【0116】以上のように、高速通信システムにおい
て、データを管理することによりデータについてのチェ
ックサムデータを加算する加算処理を独立にして行うこ
とができる。また、次々とチェックサム処理要求を送出
する場合には、該チェックサム処理要求に識別情報を付
加してもよい。
【0117】以上のように、ネットワークインタフェー
ス部に、上記高速加算システムと被加算データを格納す
るネットワークバッファとを備えることにより、高速に
加算処理し、誤りデータの検出を早い段階で検出するこ
とができる。また、ヘッダ処理と加算処理とを独立で処
理することにより、並列に処理することができる。
【0118】つぎに、図29を参照して説明する。図29
は、ネットワークインタフェース部が高速加算システム
を備え、プロトコル制御部に、被加算データを格納し、
ソフトウェアおよびハードウェアで共用されるコモンバ
ッファを備えている場合についての構成を示している。
本実施例においては、前記加算部を前記ネットワークイ
ンタフェース部に設け、前記プロトコル制御部は、送信
時に、前記加算部に対して被加算データを指示し、前記
加算部におけるチェックサムデータを情報に付加し、受
信時に、前記伝送路から情報を受信し、受信した情報に
基づいて前記加算部に対して被加算データを指示し、前
記ネットワークインタフェース部は、受信時に、前記加
算部におけるチェックサムデータに基づいて、受信デー
タが正しいか否かを判定し、正しい場合には、あらかじ
め定めたつぎの処理に移行し、正しくない場合には、受
信データを廃棄する。さらに、前記プロトコル制御部
は、前記情報を格納するコモンバッファを備え、前記加
算部に対して前記コモンバッファに格納している被加算
データの領域および前記チェックサムデータの格納領域
を指示し、前記加算部は、前記プロトコル制御部に指示
された被加算データの領域を参照して加算を行い、指示
されたチェックサムデータの格納領域にチェックサムデ
ータを格納することにより、チェックサムデータを情報
に付加し、前記インタフェースネットワーク部は、送信
時に、前記コモンバッファに送信情報の出力を指示し、
受信時に、前記コモンバッファに受信データを格納する
ことができる。
【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に送出して、送信側の処理は終了する。
【0120】コモンバッファにデータが格納されている
ときに、プロトコル制御部の各層のデータの引渡しにお
いて、データのコピーには、当該コモンバッファに格納
しているデータの位置を示すアドレスの通知を含める。
例えば、TCP層からIP層、IP層からドライバ層へ
のデータの引渡し時に、コモンバッファのアドレスを通
知することができる。
【0121】つぎに、受信側の処理について説明する。
まず、ネットワークインタフェース部が、LAN2907を
介して送信側より送られてきた、FDDIヘッダ2919と
IPヘッダ2920とTCPヘッダ2921とデータ2922とから
なる受信フレーム2918をコモンバッファ2910に受信す
る。
【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層にコピーし、ドライバ
層の処理は終了する。受信データが誤っていると判定さ
れた場合、受信データはただちに廃棄され、受信側の処
理は終了する。
【0123】つぎに、IP層はコピーされたデータに対
して処理を行い、処理が終了したらIPヘッダ2920を外
し、TCPヘッダ2921とデータ2922をTCP層にコピー
し、IP層の処理は終了する。つぎにTCP層はコピー
されたデータに対して処理を行い、処理が終了したらT
CPヘッダ2921を外し、データ2922をユーザアプリケー
ション部2904にコピーして、受信側の処理は終了する。
【0124】以上のように、ネットワークインタフェー
ス部に、上記高速加算システムと被加算データを格納す
るネットワークバッファとを備え、また、プロトコル制
御部にコモンバッファを備えることにより、高速に加算
処理し、誤りデータの検出を早い段階で検出することが
できる。また、ヘッダ処理と加算処理とを独立で処理す
ることにより、並列に処理することができる。
【0125】つぎに、図30を参照して説明する。図30
は、ネットワークインタフェース部に、高速加算システ
ムと、高速加算システムの処理結果を一時格納しておく
サムバッファとを備えている場合の構成を示している。
本実施例においては、プロトコル制御部3002に備えるプ
ロトコルバッファと、ネットワークインタフェース部に
備えるネットワークバッファ間でデータ転送されるとき
に、高速加算システムにおいて転送データを抽出して被
加算データとすることを特徴とする。本実施例において
は、前記加算部を前記ネットワークインタフェース部に
設け、該加算部は、送信時に、前記プロトコル制御部か
らの送信情報を受信し、該送信情報に基づいて加算処理
してチェックサムデータを付加して前記ネットワークイ
ンタフェース部に出力し、受信時に、前記ネットワーク
インタフェース部で受信された情報に基づいて加算処理
してチェックサムデータを出力し、前記プロトコル制御
部に受信情報を転送し、前記ネットワークインタフェー
ス部は、受信時に、前記加算部におけるチェックサムデ
ータに基づいて、受信データが正しいか否かを判定し、
正しい場合には、あらかじめ定めたつぎの処理に移行
し、正しくない場合には、受信データを廃棄する。
【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に送出して、送信側の処理は終了する。
【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にコピーして、受
信側の処理は終了する。
【0128】以上のように処理することにより、プロト
コルバッファと、ネットワークバッファ間でデータ転送
の時に高速加算システムを介し、高速加算システムにお
いて転送データを被加算データとして加算処理し、ネッ
トワークインタフェース部において誤り検出を行うこと
ができる。
【0129】つぎに、図31を参照して説明する。図31
は、ネットワークインタフェース部に、高速加算システ
ムとサムバッファとを備えている場合の構成を示してい
る。本実施例においては、送信時は、プロトコルバッフ
ァからネットワークバッファにコピーされるデータを被
加算データとし、受信時は、LANからネットワークバ
ッファにコピーされるデータを被加算データとすること
を特徴とする。本実施例においては、前記プロトコル制
御部は、送信時に、前記プロトコルに従った処理の終了
後に、処理した情報と該情報の管理データとを前記ネッ
トワークインタフェース部に転送し、受信時に、受信し
た情報について前記プロトコルに従った処理を行い、前
記加算部を前記ネットワークインタフェース部に設け、
該加算部は、送信時に、前記プロトコル制御部からの送
信情報を受信し、該送信情報に基づいて加算処理してチ
ェックサムデータおよび送信情報を出力し、受信時に、
前記伝送路から情報を受信し、該情報に基づいて加算処
理してチェックサムデータを出力し、前記情報を前記ネ
ットワークインタフェース部に出力し、前記ネットワー
クインタフェース部は、送信時に、前記加算部から出力
された送信情報にチェックサムデータを付加して前記伝
送路に送信情報を送出し、受信時に、前記加算部におけ
るチェックサムデータに基づいて、受信データが正しい
か否かを判定し、正しい場合には、あらかじめ定めたつ
ぎの処理に移行し、正しくない場合には、受信データを
廃棄する。
【0130】初めに送信側の処理について説明する。ユ
ーザアプリケーション部3101は、FDDI上で許可され
ている最大データ長が4.5キロバイトであることより、
4430バイトの送信データ3116を生成する。そし
て、送信データ3116を、プロトコル制御部3102に設けら
れているプロトコルバッファ3108にコピーし、ユーザア
プリケーション部3101の処理は終了する。
【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に送出して、送信側の処理は
終了する。
【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にコピーして、受信側の処理は終了
する。
【0133】以上のように処理することにより、送信時
は、プロトコルバッファからネットワークバッファにコ
ピーされるデータを被加算データとし、受信時は、LA
Nからネットワークバッファにコピーされるデータを被
加算データとして、高速加算システムにおいて被加算デ
ータを加算処理することにより、ネットワークインタフ
ェース部において誤り検出を行うことができる。
【0134】つぎに、図32を参照して説明する。図32
は、ネットワークインタフェース部に、高速加算システ
ムとサムバッファとを備え、プロトコル制御部3002にコ
モンバッファを備える場合の構成図を示している。本実
施例においては、送信時は、プロトコル制御部3002のコ
モンバッファのデータを被加算データとし、受信時は、
LANから高速加算システムを介してコモンバッファに
転送することを特徴とする。本実施例においては、前記
加算部を前記ネットワークインタフェース部に設け、前
記プロトコル制御部は、送信時に、前記加算部に対して
被加算データを指示し、前記加算部におけるチェックサ
ムデータを情報に付加し、前記加算部は、受信時に、前
記伝送路から情報を受信し、該情報に基づいて加算処理
してチェックサムデータを出力し、前記情報を前記プロ
トコル制御部に出力し、前記ネットワークインタフェー
ス部は、受信時に、前記加算部におけるチェックサムデ
ータに基づいて、受信データが正しいか否かを判定し、
正しい場合には、あらかじめ定めたつぎの処理に移行
し、正しくない場合には、受信データを廃棄する。
【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に送出して、送信側の処理は終了する。
【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にコピーして、受信側の処理は終了する。
【0137】以上のように処理することにより、送信時
は、コモンバッファのデータを被加算データとし、受信
時は、LANから高速加算システムを介してコモンバッ
ファに転送されるデータを被加算データとし、高速加算
システムにおいて被加算データを加算処理することによ
り、ネットワークインタフェース部において誤り検出を
行うことができる。
【0138】
【発明の効果】本発明によれば、加算システムにおい
て、高速に処理することができる。また、加算システム
を備える通信システムにおいて、高速に通信処理するこ
とができる。
【図面の簡単な説明】
【図1】1の補数加算を用いた加算システムを、ネット
ワーク通信システムの誤り検出処理に用いた場合の構成
図。
【図2】従来の加算システムの処理の流れを示すフロー
図。
【図3】従来の加算システムが、偶数アドレスから格納
されている4470バイトの被加算データに対して行なう2
バイト長加算処理を示す説明図。
【図4】従来の加算システムが、偶数アドレスから格納
されている16バイトの被加算データに対して行なう2バ
イト長加算処理の具体例を示す説明図。
【図5】従来の加算システムが、奇数アドレスから格納
されている4470バイトの被加算データに対して行なう1
バイト長加算処理を示す説明図。
【図6】本発明で対象としている加算システムで用いて
いる、2桁の被加算データに対する1の補数加算を示す
説明図。
【図7】本発明をTCP/IPプロトコルによるネット
ワーク通信システムの送信側のチェックサム処理に用い
た場合の例を示す説明図。
【図8】本発明をTCP/IPプロトコルによるネット
ワーク通信システムの受信側のチェックサム処理に用い
た場合の例を示す説明図。
【図9】本発明で対象としている加算システムで用いて
いる、n桁の被加算データに対する1の補数加算を示す
説明図。
【図10】本発明で対象としている加算システムで用い
ている、図6の被加算データの上位桁と下位桁を入替え
た被加算データに対する1の補数加算を示す説明図。
【図11】本発明の処理の流れを示すフロー図。
【図12】高速加算システムの構成を示すブロック図。
【図13】2ステップの1の補数加算を用いた加算処理
のハードウェア構成図。
【図14】C言語による1の補数加算処理を用いた加算
処理のプログラムを示す説明図。
【図15】アセンブラ言語による1の補数加算処理を用
いた加算処理のプログラムを示す説明図。
【図16】本発明が、バウンダリ適である4470バイ
トの被加算データに対して行なう4バイト長加算の説明
図。
【図17】本発明が、バウンダリ適である具体的な数値
の16バイトの被加算データに対して行なう4バイト長
加算の説明図。
【図18】本発明が、奇数アドレスから格納されてい
て、先頭の1バイト目と2バイト目の間にバウンダリが
有るためにバウンダリ不適である、4470バイトの被
加算データに対して行なう4バイト長加算の説明図。
【図19】本発明が、奇数アドレスから格納されてい
て、先頭の1バイト目と2バイト目との間にバウンダリ
が有るためにバウンダリ不適である、具体的な数値の1
6バイトの被加算データに対して行なう4バイト長加算
の説明図。
【図20】本発明が、偶数アドレスから格納されてい
て、先頭の2バイト目と3バイト目の間にバウンダリが
有るためにバウンダリ不適である、4470バイトの被
加算データに対して行なう4バイト長加算の説明図。
【図21】本発明が、偶数アドレスから格納されてい
て、先頭の2バイト目と3バイト目の間にバウンダリが
有るためにバウンダリ不適である、具体的な数値の16
バイトの被加算データに対して行なう4バイト長加算処
理の説明図。
【図22】本発明が、奇数アドレスから格納されてい
て、先頭の3バイト目と4バイト目の間にバウンダリが
有るためにバウンダリ不適である、4470バイトの被
加算データに対して行なう4バイト長加算処理の説明
図。
【図23】本発明が、奇数アドレスから格納されてい
て、先頭の3バイト目と4バイト目の間にバウンダリが
有るためにバウンダリ不適である、具体的な数値の16
バイトの被加算データに対して行なう4バイト長加算の
説明図。
【図24】1ステップの1の補数加算を用いた加算処理
のハードウェア構成図。
【図25】4バイト長の加算例を説明するための説明
図。
【図26】位置を入れ替えて加算する場合の説明図。
【図27】プロトコル制御部に高速加算システムが設け
られていて、プロトコルバッファのデータを被加算デー
タとする場合の処理を示す図。
【図28】ネットワークインタフェース部に高速加算シ
ステムが設けられていて、ネットワークバッファのデー
タを被加算データとする場合の処理を示す図。
【図29】ネットワークインタフェース部に高速加算シ
ステムが設けられていて、コモンバッファのデータを被
加算データとする場合の処理を示す図。
【図30】ネットワークインタフェース部に高速加算シ
ステムが設けられていて、プロトコルバッファとネット
ワークバッファ間でコピーされるデータを被加算データ
とする場合の処理を示す図。
【図31】ネットワークインタフェース部に高速加算シ
ステムが設けられていて、送信時はプロトコルバッファ
からネットワークバッファにコピーされるデータを被加
算データとし、受信時はLANからネットワークバッフ
ァにコピーされるデータを被加算データとする場合の処
理を示す図。
【図32】ネットワークインタフェース部に高速加算シ
ステムが設けられていて、送信時はコモンバッファのデ
ータを被加算データとし、受信時はLANからコモンバ
ッファにコピーされるデータを被加算データとする場合
の処理を示す図。
【図33】データ管理テーブル。
【図34】データ管理テーブル使用例を示す説明図。
【符号の説明】
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…加算結果格納エ
リア。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 渡辺 義則 神奈川県横浜市戸塚区吉田町292番地 株式会社 日立製作所 マイクロエレク トロニクス機器開発研究所内 (56)参考文献 特開 平4−367138(JP,A) 特開 平3−129427(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 7/50 H04L 1/00

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】記憶手段に格納されたデータを読み出して
    1の補数加算し、あらかじめ定められた第一のデータ長
    の加算結果を出力する加算システムであって、前記記憶手段から読み出されたデータを、前記第一のデ
    ータ長より大きい第二のデータ長の単位で区切って1の
    補数加算を行ない、前記第二のデータ長を持つ加算結果
    を得る加算部 と、 前記加算部の加算結果について、前記第一のデータ長の
    単位に区切って1の補数加算を行ない、前記第一のデー
    タ長の加算結果を出力する圧縮部とを備えることを特徴
    とする加算システム。
  2. 【請求項2】請求項1記載の加算システムであって、 前記記憶手段に格納されたデータの先頭から前記第二の
    データ長分のデータを1度にアクセス可能かどうかを
    定する先頭データ判定部と、 前記先頭データ判定部において、前記第二のデータ長分
    のデータを1度にアクセス可能でないと判定された場合
    に、前記記憶手段に格納されたデータの先頭から前記1
    度にアクセス可能なデータまでのデータを保持するデー
    タ退避部と、退避データ加算部と をさらに有し、 前記加算部は、該先頭データ判定部において、前記第二
    のデータ長分のデータを1度にアクセス可能でないと判
    定された場合に、前記記憶手段に格納されたデータのう
    ち前記データ退避部に保持されたデータ以降のデータ
    を、前記第二のデータ長の単位で区切って1の補数加算
    を行ない、前記第二のデータ長を持つ加算結果を得、 前記圧縮部は、該先頭データ判定部において、前記第二
    のデータ長分のデータを1度にアクセス可能でないと判
    定された場合に、前記加算部の該加算結果について、前
    第一のデータ長の単位に区切って1の補数加算を行な
    い、前記第一のデータ長の加算結果を得ると共に、前記
    データ退避部に保持したデータについて、前記第一の
    ータ長の単位に区切って1の補数加算を行ない、前記第
    一のデータ長の加算結果を得、 前記退避データ加算部は、前記記憶手段に格納されたデ
    ータのうち前記データ退避部に保持されたデータ以降の
    データ についての前記圧縮部における加算結果に対し
    て、前記データ退避部に保持したデータについての前記
    圧縮部における加算結果を1の補数加算し、前記第一の
    データ長の加算結果を出力することを特徴とする加算シ
    ステム。
  3. 【請求項3】請求項2記載の加算システムであって、前
    第一のデータ長が2バイトの場合に、前記第二のデー
    タ長は4バイト以上の偶数バイトであることを特徴とす
    る加算システム。
  4. 【請求項4】請求項3記載の加算システムであって、前
    記第二のデータ長は4バイトであることを特徴とする加
    算システム。
  5. 【請求項5】請求項2、3、または記載の加算システ
    ムであって、 データ補正部をさらに有し、 前記先頭データ判定部は、前記第二のデータ長分のデー
    タを1度にアクセス可能でないと判定した場合に、前記
    記憶手段に格納されたデータの先頭データの格納アドレ
    スが奇数か偶数かをさらに判定し、 前記データ補正部は、該先頭データ判定部において、奇
    数と判定された場合に前記記憶手段に格納されたデー
    タのうち前記データ退避部に保持されたデータ以降のデ
    ータについての前記圧縮部における前記第一のデータ長
    の加算結果の上位バイトと下位バイトとのデータ交換を
    行なうことを特徴とする加算システム。
  6. 【請求項6】伝送路を介して情報の送受信を制御する通
    信制御部と、情報を処理する処理部と、情報の送受信時
    に伝送情報を正しく送受信するための誤り検出用のデー
    タを送信すべき情報に対して付加し、受信した情報から
    誤りを検出するチェックサム部とを有する情報処理装置
    であって、 前記チェックサム部は、 前記情報を保持する記憶手段と、前記記憶手段に保持し
    た情報を4バイトずつ1の補数加算を行なう加算手段
    と、 該加算結果について、2バイトずつ1の補数加算を行な
    う圧縮手段とを備え、 該圧縮手段の加算結果を前記誤り検出用のデータとする
    ことを特徴とする情報処理装置。
  7. 【請求項7】請求項6記載の情報処理装置であって、 前記加算手段は、 前記記憶手段に保持した情報の先頭部分の4バイトを1
    度にアクセス可能かどうかを判定し、該判定が1度にアクセス可能でない 場合に、 前記記憶手段に保持した情報の、先頭部分から4バイト
    でアクセス可能なデータまでの情報について2バイトで
    1の補数加算をし、該先頭部分から4バイトでアクセス可能なデータ 以降の
    情報について前記記憶手段から4バイトずつ1の補数加
    算し、該先頭部分から4バイトでアクセス可能なデータ 以降の
    情報についての前記加算結果を2バイトずつさらに1の
    補数加算を行なって圧縮し、該先頭部分から4バイトでアクセス可能なデータ 以降の
    情報についての前記圧縮した結果に対して、前記先頭部
    分から4バイトでアクセス可能なデータまでの情報につ
    いての前記加算結果を1の補数加算して出力することを
    特徴とする情報処理装置。
  8. 【請求項8】請求項7記載の情報処理装置であって、 前記加算手段は、前記判定が1度にアクセス可能でない 場合に、前記記憶
    手段に保持した情報の先頭部分の格納アドレスが奇数か
    偶数かをさらに判定し、該判定が奇数である 場合に、 前記先頭部分から4バイトでアクセス可能なデータ以降
    の情報についての前記圧縮した結果の上位バイトと下位
    バイトとのデータ交換を行ない、 該データ交換した値に対して、前記先頭部分から4バイ
    トでアクセス可能なデ ータまでの情報についての前記加
    算結果を1の補数加算して出力することを特徴とする情
    報処理装置。
JP05266193A 1993-01-12 1993-03-12 加算システムおよび加算部を備える通信システム Expired - Fee Related JP3286377B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05266193A JP3286377B2 (ja) 1993-01-12 1993-03-12 加算システムおよび加算部を備える通信システム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP356893 1993-01-12
JP5-3568 1993-01-12
JP05266193A JP3286377B2 (ja) 1993-01-12 1993-03-12 加算システムおよび加算部を備える通信システム

Publications (2)

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

Family

ID=26337185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05266193A Expired - Fee Related JP3286377B2 (ja) 1993-01-12 1993-03-12 加算システムおよび加算部を備える通信システム

Country Status (1)

Country Link
JP (1) JP3286377B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8269766B2 (en) 2005-12-28 2012-09-18 Toyota Jidosha Kabushiki Kaisha Method for generating three-dimensional shape data, apparatus for generating three-dimensional shape data, and three-dimensional shape data generating program

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8151177B2 (en) * 2007-11-28 2012-04-03 International Business Machines Corporation Methods and arrangements for partial word stores in networking adapters
JP5729938B2 (ja) * 2010-08-04 2015-06-03 キヤノン株式会社 通信装置およびその制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8269766B2 (en) 2005-12-28 2012-09-18 Toyota Jidosha Kabushiki Kaisha Method for generating three-dimensional shape data, apparatus for generating three-dimensional shape data, and three-dimensional shape data generating program

Also Published As

Publication number Publication date
JPH06266535A (ja) 1994-09-22

Similar Documents

Publication Publication Date Title
US5778180A (en) Mechanism for reducing data copying overhead in protected memory operating systems
CA2052349C (en) Communication control system using an asynchronous transfer mode network.
JP3397144B2 (ja) パケット処理装置とパケット処理方法とパケット交換機
US6032190A (en) System and method for processing data packets
EP1019833B1 (en) Mechanism for packet field replacement in a multi-layered switched network element
EP0551243B1 (en) Address recognition engine
JP3340846B2 (ja) Atm−lan及びサーバ及びatmアドレス管理方法
JP4542539B2 (ja) ルートルックアップエンジン
JP3109591B2 (ja) Atm交換機
JPH11503280A (ja) ウインドウ比較器
JP3286377B2 (ja) 加算システムおよび加算部を備える通信システム
US7245615B1 (en) Multi-link protocol reassembly assist in a parallel 1-D systolic array system
US6601150B1 (en) Memory management technique for maintaining packet order in a packet processing system
EP1463999B1 (en) An efficient timeout message management in ieee 1394 bridged serial bus network
US7100102B2 (en) Method and apparatus for performing cyclic redundancy checks
US20050132244A1 (en) Byte alignment method and apparatus
US7757006B2 (en) Implementing conditional packet alterations based on transmit port
JPS6393235A (ja) アドレス変換機能付きバスアダプタ
US6804258B1 (en) Method and apparatus for alleviating cell packing problems in bundled link systems
JP2000259523A (ja) データ転送装置、lan通信システム及びデータ転送方法
JP2611797B2 (ja) 通信制御装置
JP3508057B2 (ja) レイヤ3スイッチ
JPH06224918A (ja) Lan間接続装置
JP2602946B2 (ja) データ受信方式
JPH08305649A (ja) マルチキャスト方法及び交換スイッチ

Legal Events

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

Free format text: PAYMENT UNTIL: 20090308

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090308

Year of fee payment: 7

FPAY Renewal fee payment (event 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