説明

通信制御装置および通信制御方法

【課題】通信時のCPUの負担を軽減すること。
【解決手段】主メモリ部3は、複数受信データ領域を複数ディスクリプタに対応付けるディスクリプタチェイン12を記録している。通信制御部10は、ネットワークを介して受信された書き込み受信データがパケットバッファ7に蓄積された場合で、書き込み受信データ領域に対応するディスクリプタが記録可能を示しているときにその書き込み受信データ領域にその書き込み受信データを記録し、そのディスクリプタが記録不可能を示しているときに割り込み信号を出力する。CPU2は、その割り込み信号が出力されたときに、読み出し受信データ領域から受信データを読み出し、その読み出し受信データ領域に対応するディスクリプタが記録可能を示すように、そのディスクリプタチェインを更新する。このとき、その割り込み信号は、1パケットごとに出力されないで、CPUの負担を軽減することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信制御装置および通信制御方法に関し、特に、イーサーネット(登録商標)に例示される通信において受信データを受信するときに利用される通信制御装置および通信制御方法に関する。
【背景技術】
【0002】
家庭用ルーターの普及により、家庭でも複数台のパーソナルコンピュータをLAN(Local Area Network)でつなぎ、プリンタやディスクシステムを共有するようになってきている。例えば、パーソナルコンピュータからプリンタに印刷する場合は、モノクロの印刷からカラー印刷に変わってきているため送信するデータ量が増加していると共に、画像データのような大容量のデータをイーサーネット(登録商標)経由でディスクシステムに残しておくことができる。この流れの中で、イーサーネット(登録商標)などの通信装置は、大きなデータを複数のパケットに分けて送信するが、送信対象のデータが大容量化したことで送信するパケット数が増えてしまっている。以上のように、複数のパーソナルコンピュータから大容量のデータ通信をするために通信効率の向上が必要となっている。
【0003】
特開2003−85129号公報には、データ受信の終了を容易に検知してデータ転送することが可能なデータ通信コントローラが開示されている。そのデータ通信コントローラは、受信データを一時保持する受信FIFO(First−In First−Out)メモリと、該受信FIFOメモリに保持されたデータがすべて転送されると該受信FIFOメモリから出力されるデータエンプティ信号により、受信終了信号を生成する受信終了信号生成手段とを備えたことを特徴としている。
【0004】
特開2001−147875号公報には、ネットワークを通じてパケット単位で伝送される通信データを受信した旨を示す割り込み信号の発生回数を低減させて、処理装置への負荷を軽減したデータ通信システムが開示されている。そのデータ通信システムは、ネットワークを通じて通信データの受信及び送信を行うMAC(Media Access Control)と、一時的に通信データを保持するパケットバッファと、通信データを格納する主メモリ部、送受信手段MACから転送された通信データを主メモリ部に格納する制御を司るDMA(Direct Memory Access)コントローラと、主メモリ部とのメモリインターフェイス部と、データ通信システムの制御を司るCPU(Central Processing Unit)とを備えている。そのネットワークを通じて受信された通信データは、MACのパケットバッファに一旦格納される。このとき、その通信データは、連続して受信された通信データと、その後に受信された通信データの2つのブロックに分かれて受信される。その通信データは、次いで、メモリインターフェイス部5を介して、MAC31から主メモリ部3に転送される。それぞれの通信データの先頭部分には、その通信データに関する情報等を示すディスクリプタが付加されている。そのディスクリプタ内には、後続する通信データが転送可能状態となったかどうかを示すステータスフラグが設けられている。その後続する通信データは、そのステータスフラグが転送可能を示していれば、割り込み信号が発生されずに、引き続き、主メモリ部へ転送される。このため、そのデータ通信システムは、連続して受信した複数パケットの通信データを一体的な1つの通信データとして扱うことができ、1回の割り込み信号によりデータ転送を制御することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2003−85129号公報
【特許文献2】特開2001−147875号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特開2001−147875号公報の技術では、CPUは、送信元と送信先が一対一のときに、1回の割り込みで連続パケット処理をおこなうことができる。しかし、複数台のパーソナルコンピュータと1台のプリンタの場合のように、複数の送信元からのデータを受信する場合に、MACは、複数の送信元のデータが混在したデータを受信しなければならなくなり、複数の送信元のデータが混在する場合に、後続するデータが存在しないと判断されることとなり、1パケット毎に割り込みを出すことになる。すなわち、特開2001−147875号公報の技術では、送信元と送信先が多対一の場合に、複数の送信元のデータが混在するため連続パケット処理できず割り込み回数が増えてしまいCPUの処理負担が増えるという問題がある。
【0007】
特開2001−147875号公報の技術では、さらに、CPUが主メモリ部の受信データを読み込むことで、主メモリ部の受信データ格納場所は、新しい受信データを格納可能になる。(以下、再利用と記載される。)受信データ格納場所を再利用するためには、CPUがMACとDMAコントローラとを一度停止させ、CPUがDMAコントローラへ設定する受信データの格納アドレスを再設定し、DMAコントローラとMACを再初期化する必要がある。このため、CPUの負担が増加していた。それは、DMAコントローラがディスクリプタを構築して受信データを格納していくシステムであるため、格納開始信号を出すMACは、CPUの受信データ読み込み終了を知る手段がなく、いつ受信データ格納場所を再利用できるようになるのか知ることができない。そのため、CPUは、MACとDMAコントローラとの動作を止めないと受信データ格納場所の再利用ができない。
【0008】
CPUがMACを止める場合の例を、1台のプリンタと複数のパーソナルコンピュータとを接続する場合を例にとり説明する。このとき、パーソナルコンピュータが印刷するデータをプリンタに送信し、プリンタは、パーソナルコンピュータからの送信データを受信することになる。プリンタからは、データ送信要求をださないため、データを送るタイミングを制御できるのは、データ送信側のパーソナルコンピュータとなり、MACが動作しているときには、パーソナルコンピュータからのデータを受信してしまう。このため、MACは、パケットバッファに受信データを格納する。データ格納場所の準備ができないとき、DMAコントローラは、パケットバッファの受信データを主メモリ部に転送しないため、MACがデータを受信し続けるとパケットバッファに受信データを格納しきれなくなりオーバーフローエラーの状態となる。以上のようにオーバーフローエラーを発生させないためにもプリンタ側が受信できないときには、MACを停止し、パーソナルコンピュータからの送信データを受信しないように制御しなければならない。
【0009】
本発明の課題は、通信時のCPUの負担を軽減する通信制御装置および通信制御方法を提供することにある。
【課題を解決するための手段】
【0010】
以下に、発明を実施するための形態・実施例で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための形態・実施例の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【0011】
本発明による通信制御装置は、主メモリ部(3)と通信制御部(10)とCPU(2)とを備えている。主メモリ部(3)は、複数受信データ領域(20〜24)を備え、複数受信データ領域(20〜24)を複数ディスクリプタ(13〜18)に対応付けるディスクリプタチェイン(12)を記録する。通信制御部(10)は、ネットワークを介して受信された書き込み受信データがパケットバッファ(7)に蓄積されたときに、ディスクリプタチェイン(12)を参照して、複数ディスクリプタ(13〜18)のうちの書き込み受信データ領域に対応するディスクリプタが記録可能を示しているときにその書き込み受信データ領域にその書き込み受信データを記録し、そのディスクリプタが記録不可能を示しているときに割り込み信号を出力する。CPU(2)は、その割り込み信号が出力されたときに、複数受信データ領域(20〜24)のうちの読み出し受信データ領域から受信データを読み出し、複数ディスクリプタ(13〜18)のうちのその読み出し受信データ領域に対応するディスクリプタが記録可能を示しているように、そのディスクリプタチェインを更新する。
【0012】
本発明による通信制御方法は、
ネットワークを介して受信された書き込み受信データがパケットバッファ(7)に蓄積されたときに、主メモリ部(3)が備えている複数受信データ領域(20〜24)を複数ディスクリプタ(13〜18)に対応付けるディスクリプタチェイン(12)を参照して、複数受信データ領域(20〜24)のうちの書き込み受信データ領域に対応するディスクリプタが記録可能を示しているときにその書き込み受信データ領域にその書き込み受信データを記録し、その書き込み受信データ領域に対応するディスクリプタが記録不可能を示しているときに割り込み信号を出力するステップと、
その割り込み信号が出力されたときに、複数受信データ領域(20〜24)のうちの読み出し受信データ領域からCPU(2)に受信データを読み出し、その読み出し受信データ領域に対応するディスクリプタが記録可能を示しているように、そのディスクリプタチェインを更新するステップとを備えている。
【発明の効果】
【0013】
本発明による通信制御装置および通信制御方法は、主メモリ部のうちの書き込み可能である受信データ領域の情報量が1パケットの情報量より大きいときに、割り込み信号が1パケットごとにCPUに出力されないで、通信時のCPUの負担を軽減することができる。
【図面の簡単な説明】
【0014】
【図1】図1は、本発明による通信制御装置を示すブロック図である。
【図2】図2は、本発明による通信制御装置を示すブロック図である。
【図3】図3は、主メモリ部を示すブロック図である。
【図4】図4は、ディスクリプタを示す図である。
【図5】図5は、CPUの動作を示すフローチャートである。
【図6】図6は、通信制御部の動作を示すフローチャートである。
【図7】図7は、CPUが主メモリ部にディスクリプタチェインを用意する動作を示すフローチャートである。
【図8】図8は、主メモリ部に記録される他のディスクリプタチェインを示す図である。
【発明を実施するための形態】
【0015】
図面を参照して、本発明による通信制御装置の実施の形態を記載する。その通信制御装置は、図1と図2に示されているように、通信制御部10とCPU2と主メモリ部3とメモリインターフェイス部5とを備えている。メモリインターフェイス部5は、内部バス6を介して、通信制御部10に双方向に情報伝達可能に接続され、CPU2に双方向に情報伝達可能に接続されている。CPU2は、割り込み信号線11を介して、通信制御部10に情報伝達可能に接続されている。
【0016】
主メモリ部3は、メモリインターフェイス部5により書き込み、読み出し可能なデータを記録する。メモリインターフェイス部5は、通信制御部10に制御されて、通信制御部10から出力されるデータを主メモリ部3に記録する。メモリインターフェイス部5は、さらに、CPU2に制御されて、主メモリ部3に記録されているデータを読み出し、そのデータをCPU2に出力する。通信制御部10は、ネットワークに接続され、そのネットワークを介して他の通信機器から受信データを受信し、または、そのネットワークを介して他の通信機器に通信データを送信する。CPU2は、割り込み信号線11を介して通信制御部10から割り込み信号を受信したときに、メモリインターフェイス部5を介して、主メモリ部3に記録されている受信データを読み出し、その受信データをデータ処理する。
【0017】
通信制御部10は、MAC1とDMAコントローラ4とFIFO制御9とを備えている。FIFO制御9は、パケットバッファ7とバッファ制御8とを備えている。バッファ制御8は、再開フラグ34を記録している。再開フラグ34は、通信制御部10が一時停止状態から再開するときに割り込みを出すか出さないかの判定に使用される。MAC1は、ネットワークに接続され、パケットバッファ7とバッファ制御8に接続されている。MAC1は、そのネットワークを介して他の通信機器から通信データを受信し、その通信データをパケットバッファ7に記録する。MAC1は、そのネットワークを介して他の通信機器に通信データを送信する。DMAコントローラ4は、パケットバッファ7とバッファ制御8に接続され、データの入出力を制御する。DMAコントローラ4は、さらに、内部バス6に接続され、メモリインターフェイス部5とデータの授受を行う。
【0018】
図3は、主メモリ部3を示している。主メモリ部3は、ディスクリプタチェイン領域12とMAC受信データ領域19とを備えている。ディスクリプタチェイン領域12には、ディスクリプタチェインが記録される。そのディスクリプタチェインは、複数のディスクリプタ13〜18から形成されている。MAC受信データ領域19は、複数の受信データ領域20〜24を備えている。複数の受信データ領域20〜24には、通信制御部10により他の通信機器から受信された受信データが記録される。
【0019】
図4は、複数のディスクリプタ13〜18のうちの1つのディスクリプタ13を示している。ディスクリプタ13は、Tビット25とUビット26とポインタ27とを有している。ポインタ27は、受信データポインタまたはリンクポインタのうちのいずれかに使われる。その受信データポインタは、複数の受信データ領域20〜24のうちのいずれかの領域のアドレスを示している。そのリンクポインタは、ディスクリプタチェイン領域12のうちのディスクリプタ13が記録されている領域のアドレスを示している。Tビット25は、0または1のいずれかを示している。Tビット25は、0を示すときにポインタ27が受信データポインタを示すことを示し、1を示すときにポインタ27がリンクポインタを示すことを示している。Uビット26は、0または1のいずれかを示している。Uビット26は、0を示すときに、ポインタ27が示す領域に受信データが記録されていないことを示し、CPU2がその受信データを読み込みすることができないことを示している。Uビット26は、1を示すときに、ポインタ27が示す領域に受信データが記録されていることを示し、CPU2がその受信データを読み込みすることができることを示している。
【0020】
複数のディスクリプタ13〜18のうちのディスクリプタ13と異なる他のディスクリプタ14〜18は、それぞれ、ディスクリプタ13と同様にして、Tビット25とUビット26とポインタ27とを有している。
【0021】
図5は、CPU2の動作を示している。CPU2は、本発明による通信制御装置が起動されると、まず、主メモリ部3にMAC受信データ領域19を確保し、メモリインターフェイス部5を介して主メモリ部3のディスクリプタチェイン領域12にディスクリプタチェインを用意する(ステップS101)。CPU2は、次に、通信制御部10のDMAコントローラ4とMAC1とを初期化して通信制御部10を起動する(ステップS102)。CPU2は、通信制御部10を監視し、通信制御部10が主メモリ部3に受信データを格納し終わるまで、すなわち、割り込み信号線11を介して、通信制御部10から割り込み信号が出力されるまで待機する(ステップS103)。
【0022】
CPU2は、通信制御部10から割り込み信号が出力されたときに(ステップS103、YES)、ディスクリプタ13を読み込み、ディスクリプタ13のUビット26が1であるかどうかを判別し、すなわち、CPU2が受信データを読み込むことができるかどうかを確認する(ステップS104)。CPU2は、Uビット26が1であるときに、主メモリ部3のうちのディスクリプタ13のポインタ27が示す領域に格納された受信データを読み込む(ステップS105)。CPU2は、同様にして、ディスクリプタ14とディスクリプタ15とディスクリプタ16とディスクリプタ17により示される受信データの読み込みを行う。CPU2は、受信データ領域20と受信データ領域21と受信データ領域22と受信データ領域23と受信データ領域24に記録された受信データを読み込み終わると、ディスクリプタ13とディスクリプタ14とディスクリプタ15とディスクリプタ16とディスクリプタ17とディスクリプタ18のUビット26を0にクリアする(ステップS106)。
【0023】
CPU2は、ステップS106を実行した後に、再度、通信制御部10を監視し、割り込み信号線11を介して、通信制御部10から割り込み信号が出力されるまで待機する(ステップS103)。CPU2は、通信制御部10から割り込み信号が出力されるたびに(ステップS103、YES)、ステップS104〜ステップS106の動作を繰り返して実行する。
【0024】
図7は、通信制御部10の動作を示している。通信制御部10は、CPU2によりステップS102が実行されることにより、起動される。通信制御部10が起動すると、DMAコントローラ4は、まず、メモリインターフェイス部5を介して主メモリ部3からディスクリプタ13を読み出す(ステップS201)。
【0025】
DMAコントローラ4は、その読み込まれたディスクリプタのTビット25が0を示し(ステップS202、NO)、かつ、その読み込まれたディスクリプタのUビット26が0を示しているときに(ステップS203、NO)、再開フラグ34を0でクリアする(ステップS204)。再開フラグ34をクリアした後に、MAC1は、受信データがパケットバッファ7に蓄積されるまで待機する(ステップS205)。
【0026】
バッファ制御8は、受信データがパケットバッファ7に蓄積されると(ステップS205、YES)、DMAコントローラ4に受信データを読み込むように指示する。DMAコントローラ4は、その指示に応答して、その読み込まれたディスクリプタのポインタ27が示すMAC受信データ領域19の受信データ領域20にパケットバッファ7の受信データを格納する(ステップS206)。バッファ制御8は、DMAコントローラ4が1パケット分の受信データを主メモリ部3にまだ格納していないときに(ステップS207、NO)、再度、DMAコントローラ4に受信データを読み込むように指示する(ステップS205)。DMAコントローラ4は、1パケット分の受信データの格納を終了すると(ステップS207、YES)、その読み込まれたディスクリプタのUビット26に1を書き込む(ステップS208)。
【0027】
DMAコントローラ4は、ステップS201で読み込まれたディスクリプタのTビット25が1であるときに(ステップS202、YES)、その読み込まれたディスクリプタのUビット26に1を書き込む(ステップS208)。
【0028】
DMAコントローラ4は、ステップS201で読み込まれたディスクリプタのTビット25が0であり(ステップS202、NO)、かつ、その読み込まれたディスクリプタのUビット26が1を示しているときに(ステップS203、YES)、再開フラグ34が1かどうかを確認する(ステップS209)。
【0029】
DMAコントローラ4は、再開フラグ34が0であるときに(ステップS209、NO)、割り込み信号線11を介して割り込み信号をCPU2へ出力する(ステップS210)。DMAコントローラ4は、割り込み信号をCPU2へ出力した後に、再開フラグ34を1に設定する(ステップS211)。DMAコントローラ4は、再開フラグ34が1であるときに(ステップS209、YES)、または、再開フラグ34に1が設定された後に、受信データがパケットバッファ7に蓄積されるまで待機する(ステップS212)。
【0030】
バッファ制御8は、ステップS208が実行された後に、または、再開フラグ34に1が設定された後に受信データがパケットバッファ7に蓄積されたときに(ステップS212、YES)、受信データを転送するようにDMAコントローラ4に指示する。DMAコントローラ4は、その指示に応答して、ステップS201で前回に読み込まれたディスクリプタの次のディスクリプタを読み込む(ステップS201)。そのディスクリプタは、その前回に読み込まれたディスクリプタのTビット25が1であるときに、その前回に読み込まれたディスクリプタのポインタ27が示すリンクポインタが示すディスクリプタである。
【0031】
図6は、図5のステップS101を示し、すなわち、主メモリ部3のディスクリプタチェイン領域12にディスクリプタチェインを用意する動作を示している。DMAコントローラ4は、まず、ディスクリプタ13のUビット26を0に設定し、ディスクリプタ13のTビット25を0に設定し、ディスクリプタ13のポインタ27にMAC受信データ領域19の受信データ領域20の格納アドレスを示す受信データポインタを設定する(ステップS301)。DMAコントローラ4は、ディスクリプタ14のUビット26を0に設定し、ディスクリプタ14のTビット25を0に設定し、ディスクリプタ14のポインタ27にMAC受信データ領域19の受信データ領域21の格納アドレスを示す受信データポインタを設定する(ステップS302)。DMAコントローラ4は、ディスクリプタ15のUビット26を0に設定し、ディスクリプタ15のTビット25を0に設定し、ディスクリプタ15のポインタ27にMAC受信データ領域19の受信データ領域22の格納アドレスを示す受信データポインタを設定する(ステップS303)。DMAコントローラ4は、ディスクリプタ16のUビット26を0に設定し、ディスクリプタ16のTビット25を0に設定し、ディスクリプタ16のポインタ27にMAC受信データ領域19の受信データ領域23の格納アドレスを示す受信データポインタを設定する(ステップS304)。DMAコントローラ4は、ディスクリプタ17のUビット26を0に設定し、ディスクリプタ17のTビット25を0に設定し、ディスクリプタ17のポインタ27にMAC受信データ領域19の受信データ領域24の格納アドレスを示す受信データポインタを設定する(ステップS305)。DMAコントローラ4は、ディスクリプタ18のUビット26を0に設定し、ディスクリプタ18のTビット25を1に設定し、ディスクリプタ18のポインタ27に次のディスクリプタ13のアドレスを示すリンクポインタを設定する(ステップS306)。
【0032】
このような動作によれば、ディスクリプタ18がディスクリプタ13の配置アドレスになっているので、ディスクリプタチェインは、複数のディスクリプタ13〜18がリング状に構成される。
【0033】
このような動作によれば、本発明による通信制御装置は、複数のパーソナルコンピュータから送信データを受信した場合でも、所定の情報量の受信データが蓄積された後に、通信制御部10からCPU2へ割り込み信号が1回出力される。このため、CPU2は、1パケットごとでないタイミングで受信データを読み出すことができ、CPU2の負担が軽減される。また、通信制御部10は、受信データを受信して一時停止状態を解除すると、ディスクリプタを再リードしてディスクリプタのUビットの状態でCPU2が受信データの読み込みを完了したかを確認することができるので、CPU2は、DMAコントローラ4とMAC1を再初期化する必要がなくなり、CPU2の負担がさらに軽減される。
【0034】
本発明による通信制御装置は、ディスクリプタ13〜18のUビット26の有無を通信制御部10が検出し、そのUビット26を検出するとCPU2へ割り込み信号を出力し、メモリインターフェイス部5を介して受信データを主メモリ部3に格納する処理を一時停止状態に遷移させる。本発明による通信制御装置は、受信データを受信するとその一時停止状態を解除し、そのディスクリプタを再リードして、そのディスクリプタのUビットが設定されていたら再度その一時停止状態にし、CPUがそのディスクリプタのUビットをクリアすることでその一時停止状態を解除し、再度その一時停止状態に入るときに割り込みを出力する。すなわち、通信制御部10は、ディスクリプタを読み込んだときにUビットの状態でCPUへ割り込みを出力できる。このため、CPUは、1度の割り込みで受信データの読み込みが一括でできるので、本発明による通信制御装置は、CPUの負担を低減することができる。
【0035】
本発明による通信制御装置は、さらに、ディスクリプタを読み込んだときのUビットの状態で受信動作を再開することができる。すなわち、本発明による通信制御装置は、受信データ格納場所を再利用するためにCPUがMACとDMAコントローラを操作する必要はなく、ディスクリプタの設定だけで済む。このため、本発明による通信制御装置は、CPUの負担を低減することができる。
【0036】
ディスクリプタには、TビットとUビットと受信データポインタまたはリンクポインタを有し、リンクポインタに一番目のディスクリプタの配置アドレスを指定することでディスクリプタチェインをリング状態にできる。このため、本発明による通信制御装置は、さらに、受信データ格納領域を再利用可能にでき、大容量RAMが不要となる。
【0037】
図8は、ステップS101またはステップS106と異なる他の動作により設定されたCPU生成ディスクリプタを示している。そのCPU生成ディスクリプタチェイン28は、既述の実施の形態におけるディスクリプタチェイン12と比較して、ディスクリプタ17が他のディスクリプタ29に置換されている。ディスクリプタ29は、Tビット25が0に設定され、Uビット26が1に設定されている。このとき、通信制御部10は、ディスクリプタ29を読み込み、Uビット26が1になっていることを確認して割り込みを出力し、再開フラグを設定して一時停止状態になり、受信データを待つ。
【0038】
すなわち、CPU2は、既述の実施の形態におけるディスクリプタチェイン12の設定と異なる他の設定をすることができ、たとえば、所望の頻度に基づいてその設定を設計することができる。このとき、本発明による通信制御装置は、受信データを一括して読み込みたいディスクリプタのUビットを設定することで、CPU2が受信データの読み込み処理をしたいタイミングで1回の割り込みを出力することができる。
【符号の説明】
【0039】
1 :MAC
2 :CPU
3 :主メモリ部
4 :DMAコントローラ
5 :メモリインターフェイス部
6 :内部バス
7 :パケットバッファ
8 :バッファ制御
9 :FIFO制御
10:通信制御部
11:割り込み信号線
12:ディスクリプタチェイン領域
13〜18:ディスクリプタ
19:MAC受信データ領域
20〜24:受信データ領域
25:Tビット
26:Uビット
27:ポインタ
34:再開フラグ

【特許請求の範囲】
【請求項1】
複数受信データ領域を備え、前記複数受信データ領域を複数ディスクリプタに対応付けるディスクリプタチェインを記録する主メモリ部と、
ネットワークを介して受信された書き込み受信データがパケットバッファに蓄積されたときに、前記ディスクリプタチェインを参照して、前記複数ディスクリプタのうちの書き込み受信データ領域に対応するディスクリプタが記録可能を示すときに前記書き込み受信データ領域に前記書き込み受信データを記録し、前記ディスクリプタが記録不可能を示すときに割り込み信号を出力する通信制御部と、
前記割り込み信号が出力されたときに、前記複数受信データ領域のうちの読み出し受信データ領域から受信データを読み出し、前記複数ディスクリプタのうちの前記読み出し受信データ領域に対応するディスクリプタが記録可能を示すように、前記ディスクリプタチェインを更新するCPU
とを具備する通信制御装置。
【請求項2】
請求項1において、
前記通信制御部は、前記書き込み受信データ領域に前記書き込み受信データが記録されたときに、前記複数ディスクリプタのうちの前記書き込み受信データ領域に対応するディスクリプタが記録不可能を示すように、前記ディスクリプタチェインを更新する
通信制御装置。
【請求項3】
請求項2において、
前記通信制御部は、前記ディスクリプタが記録不可能を示すときに再開フラグをクリアし、前記割り込み信号が出力されたときに前記再開フラグを設定し、
前記割り込み信号は、前記再開フラグがクリアされているときに、出力される
通信制御装置。
【請求項4】
請求項1〜請求項3のいずれかにおいて、
前記複数ディスクリプタは、それぞれ、再利用可能または再利用不可能のいずれかに対応し、
前記複数ディスクリプタのうちの再利用不可能に対応する再利用不可能ディスクリプタは、前記複数ディスクリプタのうちの前記再利用不可能ディスクリプタと異なる他のディスクリプタを示し、
前記通信制御部は、前記書き込み受信データ領域に前記書き込み受信データが記録された後に、前記ネットワークを介して受信された他の書き込み受信データが前記パケットバッファに蓄積された場合で、前記複数受信データ領域のうちの書き込み受信データ領域の次の受信データ領域に対応する次のディスクリプタが再利用可能を示すときに、前記次の受信データ領域に前記他の書き込み受信データを記録し、前記次のディスクリプタが再利用不可能を示すときに、前記次のディスクリプタが示すディスクリプタに対応する受信データ領域に前記他の書き込み受信データを記録する
通信制御装置。
【請求項5】
請求項4において、
前記CPUは、受信データを読み出す頻度に基づいて前記複数ディスクリプタから選択された1つのディスクリプタが記録不可能を示すように、前記ディスクリプタチェインを更新する
通信制御装置。
【請求項6】
ネットワークを介して受信された書き込み受信データがパケットバッファに蓄積されたときに、主メモリ部が備える複数受信データ領域を複数ディスクリプタに対応付けるディスクリプタチェインを参照して、前記複数受信データ領域のうちの書き込み受信データ領域に対応するディスクリプタが記録可能を示すときに前記書き込み受信データ領域に前記書き込み受信データを記録し、前記書き込み受信データ領域に対応するディスクリプタが記録不可能を示すときに割り込み信号を出力するステップと、
前記割り込み信号が出力されたときに、前記複数受信データ領域のうちの読み出し受信データ領域からCPUに受信データを読み出し、前記読み出し受信データ領域に対応するディスクリプタが記録可能を示すように、前記ディスクリプタチェインを更新するステップ
とを具備する通信制御方法。
【請求項7】
請求項6において、
前記書き込み受信データ領域に前記書き込み受信データが記録されたときに、複数ディスクリプタのうちの前記書き込み受信データ領域に対応するディスクリプタが記録不可能を示すように、前記ディスクリプタチェインを更新するステップ
をさらに具備する通信制御方法。
【請求項8】
請求項7において、
前記ディスクリプタが記録不可能を示すときに、再開フラグをクリアするステップと、
前記割り込み信号が出力されたときに、前記再開フラグを設定するステップとを更に具備し、
前記割り込み信号は、前記再開フラグがクリアされているときに、出力される
通信制御方法。
【請求項9】
請求項6〜請求項8のいずれかにおいて、
前記複数ディスクリプタは、それぞれ、再利用可能または再利用不可能のいずれかに対応し、
前記複数ディスクリプタのうちの再利用不可能に対応する再利用不可能ディスクリプタは、前記複数ディスクリプタのうちの前記再利用不可能ディスクリプタと異なる他のディスクリプタを示し、
さらに、
前記書き込み受信データ領域に前記書き込み受信データが記録された後に、前記ネットワークを介して受信された他の書き込み受信データが前記パケットバッファに蓄積された場合で、前記複数受信データ領域のうちの書き込み受信データ領域の次の受信データ領域に対応する次のディスクリプタが再利用可能を示すときに、前記次の受信データ領域に前記他の書き込み受信データを記録し、前記次のディスクリプタが再利用不可能を示すときに、前記次のディスクリプタが示すディスクリプタに対応する受信データ領域に前記他の書き込み受信データを記録するステップ
を具備する通信制御方法。
【請求項10】
請求項9において、
受信データを読み出す頻度に基づいて前記複数ディスクリプタから選択された1つのディスクリプタが記録不可能を示すように、前記ディスクリプタチェインを更新するステップ
をさらに具備する通信制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−193242(P2011−193242A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−57854(P2010−57854)
【出願日】平成22年3月15日(2010.3.15)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】