(57)【要約】【課題】データ喪失を防いで高速転送を行うパケット処理方法を提供。【解決手段】通信システム10は受信パケットデータを蓄積するFIFOバッファ116と、FIFOバッファ116に蓄積される受信パケットをキャッシュするキャッシュメモリ112とを有し、MACプロトコル・ソフトウェアの制御下にて受信パケットをFIFOバッファ116に保存した後ハードウェア割込みとソフトウェア割込みとを生成する際に、ハードウェア割込みに基づいてFIFOメモリ116からキャッシュメモリ112に受信パケットを転送し、この転送後にソフトウェア割込みに基づいてキャッシュメモリ112から上位プロトコル・ソフトウェアヘ受信パケットデータを転送する。【選択図】図１
2006101401.tif 000002
【特許請求の範囲】
【請求項１】
受信パケットデータを蓄積する第１のメモリと、
該第１のメモリに蓄積された受信パケットデータをキャッシュする第２のメモリとを有する通信システムにて、MACプロトコル・ソフトウェアの制御下で、受信パケットデータを書込信号に応じて前記第１のバッファに保存した後、
前記書込信号に応じてハードウェア割込みとソフトウェア割込みとを生成する際に、前記ハードウェア割込みに基づいて前記第１のメモリから前記第２のメモリに前記受信パケットデータを転送し、該転送後に前記ソフトウェア割込みに基づいて前記第２のメモリから上位プロトコル・ソフトウェアヘ該受信パケットデータを転送することを特徴とするパケット処理方法。
【請求項２】
請求項１に記載のパケット処理方法において、前記書込信号によりハードウェア割込みとソフトウェア割込みとの双方が複数回生起する場合は、その都度実行中のソフトウェア割込みに基づく転送を中断し、前記ハードウェア割込みに基づく転送を行い、該転送が終了した後に、前記中断していたソフトウェア割込みに基づく転送を再開することを特徴とするパケット処理方法。
【請求項３】
受信パケットデータを蓄積する第１のメモリと、
該第１のメモリに蓄積された受信パケットデータをキャッシュする第２のメモリと、メインメモリとして機能する第３のメモリとを有する通信システムにて、
MACプロトコル・ソフトウェアの制御下で、受信パケットデータを書込信号に応じて前記第１のバッファに保存した後、前記書込信号に応じてハードウェア割込みとソフトウェア割込みとを生成する際に、
前記ハードウェア割込みに基づいて前記第１のメモリから前記第２のメモリに前記受信パケットデータを転送し、
該受信パケットデータが前記第２のメモリに存在している間は、該転送後に前記ソフトウェア割込みに基づいて前記第２のメモリから上位プロトコル・ソフトウェアヘ該受信パケットデータを転送し、
前記受信パケットデータが前記第２のメモリから前記第３のメモリに追い出されている場合は、該転送後に前記ソフトウェア割込みに基づいて前記第２のメモリから前記第３のメモリに追い出された受信パケットデータを該第３のメモリから上位プロトコル・ソフトウェアヘ転送することを特徴とするパケット処理方法。
【請求項４】
請求項１ないし３のいずれかに記載のパケットの処理方法において、前記第１のメモリはFIFOメモリであることを特徴とするパケット処理方法。
【請求項５】
請求項３に記載のパケット処理方法において、前記第２のメモリは、ライトバック方式のキャッシュメモリであることを特徴とするパケット処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速LANにおけるパケット処理方法に係り、たとえばバッファに蓄えられるデータを高速に処理するパケット処理方法に関するものである。
【背景技術】
【０００２】
複数のコンピュータを相互に接続するアイデアの実現は、1975年に米国ゼロックス社が「Ethernet」(登録商標)と呼ぶネットワークを創設したことに始まり、1985年にIEEEの国際標準IEEE 802.3が規格化された。IEEE 802.3規格は、ネットワークの物理層(Physical Layer)、データ・リンク層(Data Link Layer)、さらにMAC層(Medium Access Control Layer)の機能を充実させ、当該ネットワークに接続する全てのコンピュータに平等な通信機会を与える通信方式としてCSMA/CD方式を採用している。
【０００３】
Ethernetは、今日急速な普及を遂げ、通信速度10 Mbit/sから100 Mbit/sへと発展し、さらにギガビット・イーサネット（登録商標）(Gigabit Ethernet)が実現されようとしている。そこで、高速のデータ通信を処理するためにMAC層のプロトコル・ソフトウェアの処理負担は益々増大する傾向にある。とくに、ネットワークを介して受信した通信パケットをFIFO (First In First Out)バッファに一旦蓄積し、蓄えたデータを上位プロトコルに転送する処理は、データの喪失を防ぐためにも高速処理が要求される。
【０００４】
現在Ethernet上に乗るIPプロトコルの中で、TCPプロトコルは最も一般的であり、TCPプロトコルはコネクション型の通信ができるので信頼性が高い。
【０００５】
TCP通信コネクション確立までの流れを説明すると、まずホストAがホストBに対して”SYN”を送信する(1)。次いでホストBがホストAにそれに対する”ACK+SYN”を送信する(2)。ホストAがホストBに”SYN”に対する応答”ACK”を返したところ(3)でTCP通信リンクが確立され、ホスト間の通信が可能となる。このようにTCP通信では、データ送信に対しての応答”ACK”を確認することで信頼性のある通信が行うことができる。この”ACK”を待たずにデータ送信が出来る頻度を決めるパラメータがウィンドウサイズ(単位:セグメント)である。
【０００６】
ウィンドウサイズが”１”のときには、ホストAとホストBとの通信は、ホストAがホストBから送信される”ACK”を待った後、次のデータを送信する。ウィンドウサイズが”５”のときには、ホストAはホストBからの”ACK”を待つことなく５回まで連続してデータを送信することができる。このためウィンドウサイズはTCP通信のスループット(実効通信速度)に大きな影響を与える。そのため、他の処理や回線品質などとのトレード・オフを考慮した上でウインドウサイズをできるだけ大きな値に設定したほうがよい。
【０００７】
【特許文献１】特開平１０−１５５０１０号公報
【特許文献２】特開２０００−３３２８１７号公報
【特許文献３】特開２００２−５２４００５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、たとえば動作速度が低速な処理プロセッサが搭載されて処理能力が低いLANシステムにおいては、100 Mbit/sの通信時に、FIFOバッファに蓄積されるEthernetフレームの流入速度に対し、処理速度が追いつかない場合がある。たとえば、ウィンドウサイズが”２”以上に設定されている場合に、ホストAから送信された２番目以降の送信データがホストBにて正常に処理されずロストする。そのため、再送処理が必要となって、結果としてスループットが低下してしまうという問題があった。
【０００９】
本発明はこのような従来技術の欠点を解消し、データ喪失を防いで高速転送を行うことのできるパケット処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は上述の課題を解決するために、受信パケットデータを蓄積する第１のメモリと、第１のメモリに蓄積された受信パケットデータをキャッシュする第２のメモリとを有する通信システムにて、MACプロトコル・ソフトウェアの制御下で、受信パケットデータを書込信号に応じて第１のバッファに保存した後、書込信号に応じてハードウェア割込みとソフトウェア割込みとを生成する際に、ハードウェア割込みに基づいて第１のメモリから前記第２のメモリに受信パケットデータを転送し、転送後にソフトウェア割込みに基づいて第２のメモリから上位プロトコル・ソフトウェアヘ受信パケットデータを転送することを特徴とする。
【００１１】
また、本発明は上述の課題を解決するために、受信パケットデータを蓄積する第１のメモリと、第１のメモリに蓄積された受信パケットデータをキャッシュする第２のメモリと、メインメモリとして機能する第３のメモリとを有する通信システムにて、MACプロトコル・ソフトウェアの制御下で、受信パケットデータを書込信号に応じて第１のバッファに保存した後、書込信号に応じてハードウェア割込みとソフトウェア割込みとを生成する際に、ハードウェア割込みに基づいて第１のメモリから第２のメモリに前記受信パケットデータを転送し、受信パケットデータが第２のメモリに存在している間は、転送後にソフトウェア割込みに基づいて第２のメモリから上位プロトコル・ソフトウェアヘ受信パケットデータを転送し、受信パケットデータが第２のメモリから第３のメモリに追い出されている場合は、転送後に前記ソフトウェア割込みに基づいて第２のメモリから第３のメモリに追い出された受信パケットデータを、第３のメモリから上位プロトコル・ソフトウェアヘ転送することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、受信パケットデータを書込信号に応じて第１のバッファに保存した後、書込信号に応じてハードウェア割込みとソフトウェア割込みとを生成する際に、ハードウェア割込みに基づいて第１のメモリから第２のメモリに受信パケットデータを転送し、転送後にソフトウェア割込みに基づいて第２のメモリから上位プロトコル・ソフトウェアヘ受信パケットデータを転送する構成により、中間キューからデータを上位層に転送するので、その転送には時間的な猶予があり、リアルタイムOS下で動作する割込制御においても十分に受信データを処理することが可能である。また、高速割込み(FIQ)制御の割込ハンドラにより、受信パケットデータを高速に第２のメモリ内の中間キューに転送することで、データの喪失を防ぐことができる。
【００１３】
通常の割込信号(IRQ)と高速割込信号(FIQ)とを同時に生起するという本発明独自の二重割込方式により、CPUによる直接の高速転送を実現し、その結果TCP通信において、ウィンドウサイズを”2”以上の値に設定しても、スループットを低下させずに、100 Mbit/sの高速LANを安定的に高速処理することができる。
【発明を実施するための最良の形態】
【００１４】
次に添付図面を参照して本発明によるパケット処理方法の実施例を詳細に説明する。実施例の説明に先立って、まず従来構成例を図４を参照して説明する。図４には、パーソナルコンピュータ等のLANシステムに搭載された通信システム400の構成例が示されている。
【００１５】
本構成例は、通信プロトコル・スタックの形を取っており、その中のハードウェア(H/W) 410の中に、通信システム400のハードウェア構成の一部が表示されている。通信プロトコル・スタックは、上位からアプリケーション層(API) 420、TCP/IP等の上位層430、データ・リンク層の一部であるMAC層440、物理層(PHY) 450から構成されており、このうちMAC層440と物理層450が通信パケットの処理に大きく関わっている。通信システム400のハードウェア410は、CPU 460を中心として、データバス462にキャシュメモリ466およびメインメモリ468が結合している。CPU 460は、たとえば「ARM7TDMI」のようなRISC形式のプロセッサ・コアが適用され、１次キャッシュおよび割り込み制御回路を内蔵している。
【００１６】
この従来例では割込制御機能を有するCPU 460は通常の割込信号(IRQ) 470を受け付ける入力端子を有する。IRQ 470は、通常はソフトウェア割込であって、オペレーティング・システム(OS)の管理下で機能する。
【００１７】
キャッシュメモリ466は、通常SRAM等の比較的高速なメモリで構成される。メインメモリ468は、通常DRAM等で構成される低速メモリである。FIFOバッファ474は、受信した通信パケット474から取り出したデータ・フレーム476を一時的に格納する。
【００１８】
次に、この従来例で通信パケットの処理方法を説明する。ハードウェア410により、有線LANを経由して特定の装置に宛てた通信パケット474からデータ・フレーム476が取り出され、当該データ・フレーム476はFIFOバッファ472に蓄積される(1)。通信パケットを構成するデータ・フレーム476は、IEEE 802.3仕様に従って64〜1500バイト弱のデータを保有する。データ・フレーム476のヘッダにはベンダIDや装置番号が書き込まれており、それらはハードウェア410にて識別され、そのパケットが当該システムに宛てたものでないものは、FIFOバッファ472に格納されずに破棄される。FIFOバッファ472は、たとえば2Kバイトの大きさを持ち、受信フレームを一時的に蓄える。
【００１９】
データ・フレーム476のFIFOバッファ472ヘの書込終了を受けて、MAC層440におけるプロトコル・ソフトウェアによって、CPU 460に対する割込みを行う割込信号（IRQ）の生成が行われる(2)。生起した割込信号(IRQ)はCPU 460に入力される。
IRQ 470は該当する割込ハンドラを起動し、FIFOバッファ472に蓄えられた受信データが読み出されて上位層430に転送される(3)。ただし本割込信号(IRQ)よりもプライオリティが高い割込処理が実行中の場合は、その割込処理が終了するまで待たされる。
【００２０】
以上の従来例において顕著な問題点の一例を、ホストA 500からホストB 510へのTCP送信フレームが1500 byteであり、ウィンドウサイズが”5”の場合について図５を参照して説明する。
【００２１】
ホストA 500はデータ”1”〜”5”までを通信速度に応じて順番に送信する。その後、ホストA 500はデータ”1”に対する”ACK”の受信を確認した後データ”6”を送信し、次にデータ”2”に対する”ACK”を受信した後データ”7”を送信し、以下同様に”ACK”を確認した時点で次のデータを送信することを繰り返す。これが通常期待される動作である。
【００２２】
CPU性能が比較的低い組み込みシステムなどにおいて10 Mbit/sの低速な通信ではこの動作ができていた。しかし100 Mbit/sの通信時にはFIFOバッファ472（図４）に蓄積されるEthernetフレームの受信速度に対し、上位層430の処理速度が追いつかない。このためウィンドウサイズを”2”以上に設定している場合、１個目のデータを受信した時点でFIFOバッファ472が受信フレーム長を満足する空き容量が無い状態で、２個目以降の受信データをFIFOバッファ472に格納することができず、受信データをロストする。そのため、ホストA 500では２番目の送信パケットに対する”ACK”を受信できずタイムアウトとなり、２番目のパケットの再送処理がホストA 500にて発生する。これが延々と繰り返されるため、スループットが低下してしまうという問題があった。この例はTCP送信データが1500バイトの場合の極端な場合であるが、たとえばTCP送信データがEthernetフレーム最小値の64byteの場合では通信の開始時点ではFIFOバッファに余裕があるため、しばらくは再送が発生しない。しかし受信速度の方が速いため、FIFOバッファ472がいずれは満杯になることは容易に考えられることであり、その時点で再送が発生するようになる。
【００２３】
このように図４に示した従来構成では、受信データのデータ・フレーム476の入力速度が、蓄積したデータ・フレームを上位層へ転送する(3)速度を超える場合に問題となっていた。
【００２４】
そこで本実施例は、キャッシュメモリと高速割り込み(FIQ: Fast Interrupt reQuest)を使い、CPUによるデータ転送を行う新たな方式を説明する。この方式では、FIFOバッファ116の書込み満了時に、通常の割込信号(IRQ)と高速割込信号(FIQ)とを同時に生起し、各々対応する割込ハンドラで受信データを蓄積し、当該バッファとして中間キューを用いるものとする。さらに、FIFOバッファを従来とは異なるダブルバッファ構成に変更する。
【００２５】
図１には本実施例による通信システムにおける高速タスク処理構成を説明するブロック図が示されている。図１の全体は、通信プロトコル・スタックの形をとっており、そのハードウェア(H/W) 100の中に、通信システム10のハードウェア構成の一部が表示されている。
【００２６】
本実施例における通信システム10は、CPU 110、キャッシュメモリ112、メインメモリ114およびFIFOバッファ116等を含むハードウェア(H/W) 100と、メインメモリ114に記憶されて存在するアプリケーション・プログラム、リアルタイムOS、通信ドライバおよび通信プロトコル・スタック等のソフトウェアを含む。通信プロトコル・スタックは、上位からアプリケーション層(API) 120、TCP/IP等の上位層122、データ・リンク層の一部であるMAC層124および物理層(PHY) 126から構成されている。このうちMAC層124と物理層126が通信パケットの処理に大きく関わっている。通信システム10のハードウェア(H/W) 100は、CPU 110を中心として、データバス130にキャッシュメモリ112およびメインメモリ114が結合している。CPU 110は、たとえば「ARM7TDMI」のようなRISC形式のプロセッサ・コアが適用され、１次キャッシュや割込制御回路を内蔵している。
【００２７】
通信システム10は、キャッシュメモリ112にてキャッシュ中に確保される中間キュー116を、通信プロトコル・スタックのMAC層124のプロトコル・ソフトウェアにより蓄積する。このように本実施例は、キャッシュメモリ112とメインメモリ114とを併用する通信システムの構成例であり、キャッシュメモリ112は、CPU 110の外部キャッシュとして機能し、処理速度の向上を図っている。
【００２８】
本実施例におけるCPU 460は、割込ハンドラを有する割込制御回路を含む。CPU 460は、通常の割込信号(IRQ)を受け付ける入力端子130と、高速割込信号(FIQ)を受け付ける入力端子132とを有し、それぞれに所定の優先度を持つ。FIQは、通常ハードウェア割り込みであり、その優先度はIRQよりも高く、かつ、高速である。IRQは、通常はソフトウェア割り込みであり、OSの管理下で機能するのでOSの管理外であるFIQに比べて低速である。なお従来の通信速度10 Mbit/s程度の低速Ethernetであれば、IRQのみの処理でもパケットをロストすることなく十分処理が間に合っている。
【００２９】
キャッシュメモリ112は、通常SRAM等の高速メモリにて構成され、本実施例ではキャッシュメモリ112内に中間キュー118が確保される。中間キュー118の制御はMAC層124のプロトコル・ソフトウェアが行う。この中間キュー118は、バッファリングに用いられる。メインメモリ114は、通常DRAM等で構成される低速メモリである。また、FIFOバッファ116は、受信した通信パケット140から取り出したデータ・フレーム142を一時的に格納するFIFOメモリである。本実施例におけるFIFOバッファ116は、２面のそれぞれ2Kバイトの格納領域を持ったFIFOメモリで構成され、物理層126から送られデータ・フレーム142を各面交互に格納するように構成されている。
【００３０】
以上の構成で、通信システム10における通信パケットの処理方法を説明する。ハードウェア100により、有線LANを経由して特定の装置に宛てた通信パケットからデータ・フレーム142が取り出され、当該データ・フレーム142はFIFOバッファ116の一方の面に蓄積される(1)。通信パケットを構成するデータ・フレーム142は、IEEE 802.3仕様にしたがって、たとえば100 Mbit/sイーサネットでは、64ないし1500バイト弱のデータを保有する。データ・フレームのヘッダ(header)に書き込まれたベンダIDや装置番号がハードウェア100により識別され、その受信パケットが本通信システム10に宛てたものでないものはFIFOバッファ116に格納されずに破棄される。本通信システム宛のデータ・フレームは、FIFOバッファ116のいずれかの面に交互に格納される。なお、取り込まれたデータが受信の順番を変更することはない。
【００３１】
データ・フレーム142がFIFOバッファ116に書込まれると、これを受けて、MAC層124のプロトコル・ソフトウェアによりCPU 110に対する割込信号の生成が行われる(2)。この割込信号は、本実施例では、通常の割込信号(IRQ)と高速割込信号(FIQ)とを同時に生起するという二重割り込み方式を採用している。その理由は以下に説明する受信データのバッファリングのためである。FIQはシステムで最高の優先度を持つ。このため直ちに該当する割込ハンドラが起動され、FIFOバッファ118に蓄えた受信データがキャッシュメモリ112内の中間キュー118にデータバス130を介して転送される(3)。この転送はCPU 110の制御により直接行われ、かつ、マルチ転送命令等も使用できるので、高速に処理することができる。
【００３２】
すなわちFIFOバッファ116にデータが書き込まれると、直ちに転送が行われてFIFOバッファ116が空になるので、高速、かつ、続々と到着するパケットに対して余裕をもって受信対応することができる。その後、中間キュー116に対するバッファリングが行われ、中間キュー116に置かれたデータは、上位層122へ転送される(4)。
【００３３】
ただし、ライトバック方式のキャッシュ・メモリアクセスを用いたシステムにおいては、当該キャッシュの容量を超えるアクセスがあった場合には、キャッシュ・コントローラの制御下で、一般的にはLFU(Least Frequency Used)アルゴリズムを使ってキャッシュメモリ112からメインメモリに掃き出す(5)。この場合、上位層122は、キャッシュメモリ112からデータを取得するのではなく、キャッシュメモリ112からメインメモリ114に掃き出されたデータに対してアクセスする必要がある。
【００３４】
そこで、MAC層124のプロトコル・ソフトウェアが中間キュー118からデータを取得しようとしたとき、そのデータがキャッシュメモリ112内に存在しない場合には、該当するデータをメインメモリ114から取得する(6)。
【００３５】
この処理はメインメモリ114を使用するものであるが、IRQによる割込ハンドラがMAC層124のプロトコル・ソフトウェアに行わせる処理であるため、時間的な余裕を持って行うことができる。
【００３６】
次に本実施例にて採用している中間キュー118のバッファリングについて説明する。図２を参照すると同図には、本実施例における中間キューのバッファリング動作が示されている。時間の流れに従ってどのような処理が行われるかを説明する。本実施例におけるFIQおよびIRQによる二重割込方式では、FIQおよびIRQが論理値Lをとることにより、それぞれの割込ハンドラが起動される。このときFIQはIRQよりも優先度が高いので、一方のFIQに対応した割込ハンドラのみが起動され、他方のIRQに対応した割込ハンドラはその起動が待たされる(時間T1)。本実施例では書込み単位は、FIFOバッファ116の容量と同じ大きさの2Kバイトである。このキャッシュメモリ112への転送処理は、CPU 110が直接データ転送の制御を行うので、高速であり短時間で終了する。当該終了に伴いFIQが解除されると、今度は待たされていたIRQに対応する割込ハンドラが起動する(時間T2)。IRQに対応する割込ハンドラは中間キュー118にあるすべてのデータを、上位層122を介してAPI 120のアプリケーション・プログラム等へ転送する(時間T3)。この転送処理は、同じくCPU 110を介して直接データ転送を行う処理方法であるが、リアルタイムOS等の制御下で行われる処理であるので、リンク時間等の消費で全体としての転送速度は低下している。しかし、この処理が相対的に低速で行われてもデータ喪失を起こすことはない。
【００３７】
次に当該システム10宛のパケットが連続して受信され、IRQによる転送処理が終了していない状態にて、さらに新たなFIQによる転送要求が発生する多重割込みが発生した場合における中間キュー118のバッファリング動作について説明する。
【００３８】
図３には、中間キュー118の連続バッファリング状態が示されている。同図において、第１回目の受信割込が生じ(時間T1)、その後IRQによる割込ハンドラがアプリケーション・プログラム等へ転送し始める(時間T2)。その後第２回目の受信割込が生じると(時間T3)、FIQの優先度が高いのでIRQによる割込ハンドラの処理は途中で待たされる。すなわち、第１回目の受信データの処理が終了しない状態で、さらに未処理のデータが山積みされる。その後第２回目の受信割込によるデータ転送が終了し、再びIRQによる割込ハンドラのデータ処理が続行される(時間T4)。
【００３９】
この処理は中間キュー118が空になるまで行われ、第１回目の受信割込で取り扱ったデータの処理終了では止まらない(時間T5)。第２回目の受信割込によるデータ転送が終了した後は受信割込を待つ状態に移行する(時間T6)。
【００４０】
中間キュー118には複数のパケットに対応するデータが積み上げられるので、中間キュー118の容量はある程度の大きさが必要である。しかし、いたずらに大きな容量を確保する必要はなく、TCP通信において決定されたウィンドウサイズに対して再送が発生しない程度の容量を確保しておけばよい。
【００４１】
以上、多重割込処理について説明した。なお、IRQによる割込処理が行われているときに、同じIRQであるが当該割込処理よりも優先度の高い他の割込処理が要求された場合は、FIQによる割込処理を行っておけば、他の処理により当該IRQによる割込処理が遅れてもデータ喪失は起こらず、優先度の高い他の処理を先に実行しても問題にはならない。
【００４２】
また、多重割込により処理が待たされている複数のIRQの取り扱いについては、中間キュー118のデータが空である場合、直ちに当該処理は終了してしまうので、累積したIRQの処理も素早く消化されることになるから、問題にはならない。
【００４３】
以上、説明したように上記実施例ではキャッシュメモリを有するコンピュータにおいて、通常の割込信号(IRQ)と高速割込信号(FIQ)とを同時に生起するという独自の二重割込方式を採用したことによって、100  Mbit/s以上の高速LANを安定的に高速処理することができた。なお、上記実施例では、有線高速LANの機能を装備するコンピュータについて説明したが、本発明は有線LANに限らず、広く有線もしくは無線ネットワークで応用可能であり、その装置もパーソナルコンピュータ(PC)に限らず、たとえば携帯電話等の携帯機器などに広く適用することができる。
【図面の簡単な説明】
【００４４】
【図１】本発明が適用された実施例の通信システムにおける高速タスク処理構成例を示すブロック図である。
【図２】図１に示す実施例における中間キューのバッファリング動作を示す図である。
【図３】図１に示す実施例における中間キューの連続バッファリング動作を示す図である。
【図４】通信システムの従来構成例におけるタスク処理構成を示すブロック図である。
【図５】TCPデータ通信の一例を示すシーケンス図である。
【図６】TCPデータ通信時にデータがロストする状態を示すシーケンス図である。
【符号の説明】
【００４５】
10  通信システム
100 ハードウェア(H/W)
110 CPU
112 キャッシュメモリ
114 メインメモリ
116 FIFOバッファ
118 中間キュー
122 上位層
124 MAC層
126 物理(PHY)層
【図１】
2006101401.tif 000003
【図２】
2006101401.tif 000004
【図３】
2006101401.tif 000005
【図４】
2006101401.tif 000006
【図５】
2006101401.tif 000007
【図６】
2006101401.tif 000008