(57)【要約】【課題】高速な通信を可能とし、通信端末のプロセッサの処理負荷や共有バスのアクセス負荷の低減、および低コスト化、低消費電力化を可能とする通信プロトコル処理回路及び通信プロトコル処理方法ならびに通信端末を提供する。【解決手段】通信端末１０１における通信プロトコル処理回路１０２であって、受信フレームを逐次解析する受信解析部１１０と、前記受信フレームを逐次記憶する第一の記憶部１１１と、通信情報を管理し、前記受信フレームに対する対応、または送信を判断する通信情報管理制御部１１５と、ＤＭＡ制御部１１２と、送信対象データを逐次累算しながら記憶する第二の記憶部１１３と、前記通信情報に基づいて、第一の記憶部１１１に記憶された前記受信対象データまたは前記第二の記憶部１１３に記憶された送信対象データを逐次読み出して送信フレームを逐次生成する送信生成部１１４とを有する。【選択図】図１
2009253723.tif 000002
【特許請求の範囲】
【請求項１】
通信インタフェースと記憶装置とを有する通信端末において、前記通信インタフェースを介して送受信されるフレームに対して通信プロトコルに則した処理を行う通信プロトコル処理回路であって、
前記通信インタフェースによって逐次受信される受信フレームを逐次解析する手段と、
前記受信フレームを逐次記憶する第一の記憶手段と、
通信情報を管理し、前記解析する手段による解析結果と前記通信情報とに基づいて前記受信フレームに対する対応を判断し、また、前記通信情報に基づいて送信を判断する手段と、
前記第一の記憶手段に記憶された前記受信フレーム中の受信対象データを逐次読み出して前記記憶装置に書き込み、また、前記記憶装置に記憶された送信対象データを読み出す手段と、
前記記憶装置から読み出された送信対象データを逐次累算しながら記憶する第二の記憶手段と、
前記通信情報に基づいて、前記第一の記憶手段に記憶された前記受信フレーム中の応答送信対象データまたは前記第二の記憶手段に記憶された送信対象データを逐次読み出して送信フレームを逐次生成する手段とを有することを特徴とする通信プロトコル処理回路。
【請求項２】
通信インタフェースを有する通信端末において、前記通信インタフェースを介して送受信されるフレームに対して通信プロトコルに則した処理を行う通信プロトコル処理回路であって、
前記通信インタフェースによって逐次受信される受信フレームを逐次解析する手段と、
前記受信フレームを逐次記憶し、また、送信対象データを逐次累算しながら記憶する記憶手段と、
通信情報を管理し、前記解析する手段による解析結果と前記通信情報とに基づいて前記受信フレームに対する対応を判断し、また、前記通信情報に基づいて送信を判断する手段と、
前記通信情報に基づいて、前記記憶手段に記憶された前記受信フレーム中の応答送信対象データもしくは送信対象データを逐次読み出して送信フレームを逐次生成する手段とを有することを特徴とする通信プロトコル処理回路。
【請求項３】
通信インタフェースと記憶装置と該通信インタフェースを介して送受信されるフレームに対して通信プロトコルに則した処理を行う通信プロトコル処理回路とを有する通信端末における通信プロトコル処理方法であって、
前記通信端末は、
送信時には、
前記通信端末についての情報を前記通信プロトコル処理回路に設定する手順と、
通信相手端末についての情報を前記通信プロトコル処理回路に設定する手順と、
送信対象データの格納領域を前記記憶装置に確保する手順と、
前記送信対象データを前記記憶装置の前記格納領域に準備する手順と、
前記記憶装置の前記格納領域の情報を前記通信プロトコル処理回路に設定する手順と、
送信を開始する手順と、
前記送信の結果を待つ手順とを実行し、
受信時には、
前記通信端末についての情報を前記通信プロトコル処理回路に設定する手順と、
通信相手端末についての情報を前記通信プロトコル処理回路に設定する手順と、
受信対象データの格納領域を前記記憶装置に確保する手順と、
前記記憶装置の前記格納領域の情報を前記通信プロトコル処理回路に設定する手順と、
受信を開始する手順と、
前記受信の結果を待つ手順と、
前記受信により前記記憶装置の前記格納領域に格納された前記受信対象データのサイズを確認して、該受信対象データを処理する手順とを実行することを特徴とする通信プロトコル処理方法。
【請求項４】
通信インタフェースと該通信インタフェースを介して送受信されるフレームに対して通信プロトコルに則した処理を行う通信プロトコル処理回路とを有する通信端末における通信プロトコル処理方法であって、
前記通信端末は、
送信時には、
前記通信端末についての情報を前記通信プロトコル処理回路に設定する手順と、
通信相手端末についての情報を前記通信プロトコル処理回路に設定する手順と、
送信対象データを前記通信プロトコル処理回路内の記憶手段に格納する手順と、
送信を開始する手順と、
前記送信の結果を待つ手順とを実行し、
受信時には、
前記通信端末についての情報を前記通信プロトコル処理回路に設定する手順と、
通信相手端末についての情報を前記通信プロトコル処理回路に設定する手順と、
受信を開始する手順と、
前記受信の結果を待つ手順と、
前記受信により前記通信プロトコル処理回路内の前記記憶手段に格納された受信対象データのサイズを確認して、該受信対象データを処理する手順とを実行することを特徴とする通信プロトコル処理方法。
【請求項５】
請求項１または２記載の通信プロトコル処理回路を有することを特徴とする通信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信プロトコルを効率的に処理することを可能とする、通信端末向けの通信プロトコル処理回路及び通信プロトコル処理方法ならびに通信端末に適用して有効な技術に関するものである。
【背景技術】
【０００２】
今般、ＰＣ（Personal Computer）だけでなく、ビデオレコーダ等のＡＶ（Audio/Visual）機器を含め様々な組込み機器にも、通信のためのインタフェースと通信機能が搭載され、通信端末として機能するようになってきている。これらの機器に採用されている通信のためのインタフェースとしては、今後も、有線や無線の形態は限定されずに、様々な規格が適用されていく見込みである。
【０００３】
そのインタフェースを介して機能する通信プロトコルとしては、ＩＡＢ（Internet Architecture  Board）によりＲＦＣ（Request For Comments）７９１で定義されているネットワーク層プロトコルのＩＰ（Internet Protocol）規格や、また、トランスポート層プロトコルのＲＦＣ７９３で定義されているＴＣＰ（Transmission Control Protocol）規格や、ＲＦＣ７６８で定義されているＵＤＰ（User Datagram Protocol）規格がある。
【０００４】
また、その他の通信プロトコルとして、ＡＲＰ（Address Resolution Protocol）やＩＣＭＰ（Internet Control Message Protocol）、ＩＰｖ６（IP version 6）、ＩＣＭＰｖ６（ICMP version 6）等もあり、これらプロトコルセットを総称したＴＣＰ／ＩＰが、これら通信端末に今後も利用されていく見込みである。
【０００５】
このような通信プロトコルを処理する通信端末では、プロセッサとメモリ等の記憶装置とを有し、プロセッサでのプログラムの実行による、いわゆるソフトウェアベースでのプロトコルの処理を行っているものがある。これに対し、ハードウェアベースでこれらを行う技術として、特開２００６−５０５０２号公報（特許文献１）には、各プロトコル層毎に処理を階層化することによって、処理時間の短縮化と処理効率の向上を図る技術も開示されている。
【特許文献１】特開２００６−５０５０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来技術の通信端末では、大きく二つ、性能面とコスト面での課題がある。以下に、上述したソフトウェアベースでプロトコルを処理する通信端末の場合について、上記二つの課題の要因となる点について説明する。
【０００７】
一つ目の観点は、通信端末内における共有バスへのアクセスである。通信端末の全体動作におけるメモリへのアクセスとしては、プロセッサや他の周辺装置等による送受信の対象データの書き込み、参照や処理、プログラムへのアクセスなど様々なものがある。また、このような通信端末はプロトコルの処理のみを行っているわけではなく、提供するサービスに応じて、プロトコル処理以外のＯＳ（オペレーティングシステム）やユーザアプリケーションの処理も行っており、メモリに対して様々なアクセスが発生する。このため、結果としてプロセッサやメモリ、他の周辺装置などが接続されている共有バスへのアクセス負荷が高くなってしまう。
【０００８】
二つ目の観点は、プロトコルを処理する各部位の機能や処理能力である。このような通信端末に採用されるプロセッサは、一般に、プロトコル処理のみに特化したものではなく、その他の演算等まで実装している汎用的なものであることが多い。そのため、プロトコル処理の点から見ると、プロセッサの処理能力を全て有効に使用しているとは言えない。
【０００９】
以上のような観点から、従来技術の通信端末では、通信速度（性能）や応答速度（受信に対する応答送信の時間）と、通信端末を構成するプロセッサや各回路、メモリなどの回路規模や動作周波数等とが最適化されたものではなく、効率的ではない、すなわちコストパフォーマンスが低い状態となっており、改善の余地がある。
【００１０】
そこで本発明の目的は、高速な通信を可能とし、プロトコル処理に伴う通信端末のプロセッサの処理負荷や共有バスのアクセス負荷の低減、および低コスト化、低消費電力化を可能とする通信プロトコル処理回路及び通信プロトコル処理方法ならびに通信端末を提供することを目的とする。
【００１１】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１３】
本発明の代表的な実施の形態による通信プロトコル処理回路及び通信端末は、以下の機能を有することを特徴とするものである。すなわち、通信インタフェースから逐次受信される受信フレームを逐次解析しつつ、小容量な第一の記憶部に逐次格納する。１フレーム分の受信が終わると、その解析結果と通信情報とに基づいて、対象データのメモリへの書込みや、通信情報の更新、応答の送信等の、受信フレームに対する対応を判断する。
【００１４】
また、送信については、送信フレームの生成のために小容量な第二の記憶部に対象データを準備する際に、対象データに依存するヘッダ等を構成するのに必要な情報を予め累算計算しておく。そして、通信情報から送信を判断すると、通信情報と累算結果からヘッダ等を生成し、第二の記憶部に格納されたデータを逐次読み出して、送信フレームを逐次生成する。
【００１５】
また、受信に対する応答の送信は、受信の解析結果、あるいはそれに対応した通信情報の更新に基づいて送信を判断し、第一および第二の記憶部に格納されたデータを用いずに通信情報から送信フレームを逐次生成するものと、受信の解析結果に基づいて、受信の際に格納した第一の記憶部に格納されたデータを逐次読み出して、送信フレームを逐次生成するものの二種類を有する。
【発明の効果】
【００１６】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１７】
本発明の代表的な実施の形態によれば、通信性能の高速化、具体的には物理データリンク帯域を最大限に活かす通信性能が達成可能となる。また、通信端末のプロセッサの処理負荷や共有バスのアクセス負荷の低減が可能となり、低消費電力化が図れる。また、本発明の代表的な実施の形態によれば、通信プロトコル処理回路を比較的低い周波数で動作する小規模な回路で実現することができるため、低コスト、低消費電力化が可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。また、以下においては、本発明の特徴を分かり易くするために、従来の技術と比較して説明する。
【００１９】
＜概要＞
通信プロトコルにおいては、送受信の対象データをペイロードとして扱い、ペイロードの前にヘッダと呼ばれるプロトコルに則したデータを付加したり、ペイロードの後ろにトレーラと呼ばれるプロトコルに則したデータを付加したりしたデータを、プロトコルに応じて一般にフレームやパケットと称することがあるが、以下の説明においては、プロトコルで区別せずに総じてフレームと称することとする。
【００２０】
図１１は、ＭＡＣ（Media Access Control、データリンク層プロトコル）を含めたＴＣＰ／ＩＰフレームのデータ構成を表した図である。ＴＣＰで送受信する対象データの一断片をＴＣＰセグメント１１０５として扱い、ＴＣＰプロトコルに則したＴＣＰヘッダ１１０４をその前に付加し、ＩＰプロトコルに則したＩＰヘッダ１１０３とＭＡＣ層プロトコルに則したＭＡＣヘッダ１１０２を更にその前に付加し、ＭＡＣ層プロトコルに則したＭＡＣトレーラ１１０６をそれらの後ろに付加し、それによって得られたＭＡＣフレーム１１０１をＴＣＰ／ＩＰフレームとして送受信することを表している。括弧書きで示した数字は、それぞれのデータサイズ（バイト）の一例を表している。
【００２１】
図１０は、既存の通信端末のハードウェア構成の一例を示した図である。通信端末１００１は、有線か無線かを問わず、通信インタフェース１００４を介して図示していないネットワークに接続されている。ネットワークを経由して、通信端末１００１が図示していない通信相手端末と通信する場合の動作を以下に簡単に説明する。
【００２２】
メモリ１００３内には、ＯＳやユーザアプリケーションの他、通信制御部１００７を利用するためのデバイスドライバや、プロトコルを処理するためのプロトコルスタック（プロトコルスイート）等のプログラムデータ（ソフトウェアコード）が格納されており、プロセッサ１００５はそれらプログラムデータに基づいて動作する。プロセッサ１００５は、前記プログラムデータの働きにより、予め受信フレームを格納する領域をメモリ１００３内に確保し、その領域情報（アドレスとサイズ）を通信制御部１００７に設定しておく。
【００２３】
通信インタフェース１００４に受信フレームの信号が逐次届くと、信号処理部１００９はその信号を逐次復調し、復調されたデータをＤＭＡ制御部１０１０へ逐次送る。ＤＭＡ制御部１０１０は、プロセッサ１００５、メモリ制御部１００６、通信制御部１００７、周辺制御部１００８の間の共有バスのマスタになり、主体的にメモリ１００３へのアクセス、いわゆるＤＭＡ（Direct Memory Access）を行う部位である。
【００２４】
ＤＭＡ制御部１０１０では、予めプロセッサ１００５によって通信制御部１００７に設定された領域情報に従って、逐次送られてくる受信フレームを、メモリ制御部１００６を介してメモリ１００３に逐次書き込む。一つの受信フレームの全てのデータを書き込み終えると、通信制御部１００７は、プロセッサ１００５に受信フレームを格納したことを知らせる。
【００２５】
受信フレームの個数や各受信フレームのデータサイズを知ったプロセッサ１００５は、メモリ１００３内のプロトコルスタックを逐次読み出しながら、そのプログラムデータに基づく処理により、メモリ１００３内の受信フレームのデータを読み出し、プロトコルに則したヘッダやトレーラの解釈に従って各受信フレームに対応した適切な処理を行う。
【００２６】
その処理の例としては、受信フレームから抽出すべきデータを更に上位のプロトコルの処理を行うための適切なメモリ領域へコピーしてその上位のプロトコル処理を行ったり、受信フレームから抽出すべきデータを、周辺制御部１００８を介して接続されている通信端末１００１内の図示していない磁気ディスク装置等の記憶装置へ書き込んだり、応答フレームを送信したり、等である。
【００２７】
また、送信については、送信対象のデータを、周辺制御部１００８を介して接続されている通信端末１００１内の図示していない磁気ディスク装置等の記憶装置から読み出す等により、予めメモリ１００３内に準備しておく。プロセッサ１００５は、メモリ１００３内のプロトコルスタックを逐次読み出しながら、そのプログラムデータに基づく処理により、必要に応じて送信対象のデータを逐次読み出し、プロトコルに則したヘッダやトレーラを生成し、必要に応じて送信対象のデータをコピーして、メモリ１００３内に送信フレームのデータを準備する。その後、通信制御部１００７に対して、送信フレームのデータを格納した領域情報を設定し、送信を指示する。
【００２８】
送信の指示を受けて、ＤＭＡ制御部１０１０は、プロセッサ１００５によって通信制御部１００７に設定された領域情報に従って、メモリ制御部１００６を介してメモリ１００３から送信フレームのデータを逐次読み出し、そのデータを信号処理部１００９へ逐次送る。信号処理部１００９は、そのデータを送信に供する信号へと逐次変調し、その信号を通信インタフェース１００４に逐次印加することで、図示していないネットワークに送信する。
【００２９】
このような既存の通信端末１００１では、上述したように大きく二つ、性能面とコスト面での課題がある。一つ目の観点は、共有バスへのアクセスである。通信端末１００１の全体動作におけるメモリ１００３に対して発生し得るアクセスとしては、まず、プロセッサ１００５あるいは周辺制御部１００８による送受信の対象データの参照（読み出し）や準備（書き込み）がある。また、プロセッサ１００５によるフレームデータの解釈や生成のアクセス（読み出しや、コピーのための読み出し及び書き込み）と、プロトコルスタックの参照がある。
【００３０】
また、通信制御部１００７による受信フレームデータの書き込みと、送信フレームデータの読み出しもある。更に、このような通信端末１００１は、プロトコルの処理のみを行っているわけではなく、提供するサービスに応じて、プロトコル処理以外のＯＳやユーザアプリケーションの処理を行っており、そのためのアクセスもあり得る。すなわち、通信端末１００１の全体動作においては、メモリ１００３に対して様々なアクセスが発生するため、共有バスの負荷が高くなってしまう。
【００３１】
二つ目の観点は、プロトコルを処理する各部位の機能や処理能力である。このような通信端末１００１に採用されるプロセッサ１００５は、一般に、提供するサービスのために、条件分岐や整数演算等の汎用的な演算はもちろんのこと、浮動小数点演算やデジタル信号処理等の拡張的な演算まで幅広く実装していることが多く、プロトコル処理のみ行うことを仮定すれば、プロセッサの処理能力を全て有効に使用しているとは言えない。また、プロトコルの一処理を複数の演算によってようやく達成できる等、その機能はプロトコル処理に特化したものではない。
【００３２】
このような観点から、従来技術の通信端末１００１は、通信速度（性能）や応答速度（受信に対する応答送信の時間）と、通信端末１００１を構成する通信プロトコル処理回路１００２やメモリ１００３の回路規模や動作周波数等とが最適化されたものではなく、効率的ではない、すなわちコストパフォーマンスが低い状態となっており、改善の余地がある。
【００３３】
そこで本発明の一実施の形態である通信端末における通信プロトコル処理回路は、プロトコル処理をこれに適した回路・構成・動作によって行う。具体的には、通信プロトコル処理回路は、通信インタフェースから逐次受信される信号を逐次変調・デジタルデータ化し、そのデータを逐次解析しつつ小容量な記憶部に逐次格納する。１フレーム分の受信が終わると、その解析結果と通信情報とに基づいて、適切なメモリ領域への書き込みや、通信情報の更新、応答の送信、あるいは無視といった対応を判断する。そして、その判断に応じた処理を行い、記憶部のエントリを廃棄する。
【００３４】
また送信については、通信プロトコル処理回路は、送信フレームの生成のために小容量な記憶部に対象データを準備する際に、対象データに依存するヘッダ等を構成するのに必要な情報を予め累算計算しておく。そして、通信情報から送信を判断すると、通信情報と累算結果からヘッダ等を生成し、小容量な記憶部に格納されたデータを逐次読み出して、送信フレームを逐次生成、送信し、記憶部のエントリを廃棄する。
【００３５】
また、通信プロトコル処理回路における受信に対する応答の送信は、２種類に大別される。一つは、受信の解析結果、あるいはそれに対応した通信情報の更新に基づいて送信を判断し、送信フレームを逐次生成、送信する。他の一つは、受信の解析結果に基づいて、受信の際に格納した記憶部に格納されたデータを逐次読み出して、送信フレームを逐次生成、送信する。すなわち、この場合はデータ読み出しのためのメモリへのアクセスは行わない。
【００３６】
上記のように構成することで、詳細は後述するが、送信のための記憶部は１フレームあるいは２フレームを格納可能な容量で充分となる。また受信のための記憶部は、通信帯域や、通信端末全体として提供する通信サービス、メモリへの共有バスの利用可能領域等に依存するが、これらを考慮しないとすると、２フレームあるいは３フレームを格納可能な容量で充分となる。またこれら記憶部は、比較的低い周波数で入出力の並行動作を実現する。
【００３７】
また、上記のように構成することで、プロトコル処理に関する部位の低周波動作が可能となる。例えば、送受信それぞれ１０００Ｍｂｐｓの物理データリンク帯域の場合、前記の逐次動作を８ビット毎に１２５ＭＨｚ、あるいは１６ビット毎に６２．５ＭＨｚ、あるいは３２ビット毎に３１．２５ＭＨｚ、あるいは６４ビット毎に１５．６２５ＭＨｚ等のように行えばよい。
【００３８】
また、本発明の一実施の形態である通信端末における通信プロトコル処理回路は、フレームの解析や生成、判定等の処理を、プロトコル処理に特化した比較や抽出、選択、数値演算、分岐等の回路にて実現することが可能である。
【００３９】
なお、本発明の一実施の形態である通信端末は、ＴＣＰ／ＩＰプロトコルに対応したインターネットに接続される通信端末に限らず、例えば自動車内で通信し合う電子制御モジュールや、ビルや工場のオートメーションでリモート制御を行い合う制御ノードや、ホストＰＣとそれに接続されて１対１の通信を行うターゲットデバイス等、ＴＣＰ／ＩＰプロトコル以外の通信プロトコルを利用する通信端末にも適用可能である。また、ＴＣＰ／ＩＰプロトコルにおいても、上位層（アプリケーション）のプロトコルまで含めて適用可能である。以下の説明では、対象の通信プロトコルとしてＴＣＰ／ＩＰプロトコルを例に挙げて説明するものとする。
【００４０】
＜実施の形態１＞
図１は、本発明の実施の形態１である通信端末のハードウェア構成の一例を示した図である。通信端末１０１は、有線か無線かを問わず、通信インタフェース１０４を介して図示していないネットワークに接続されている。すなわち、有線通信であれば通信ケーブルを介して、無線通信であれば電磁波を介して、ネットワークに接続されている。そして、前記ネットワークを経由して、図示していない通信相手端末と通信する。
【００４１】
通信端末１０１は、通信プロトコル処理回路１０２、記憶装置であるメモリ１０３、通信インタフェース１０４の各半導体チップや部品を有する構成となっており、更に、提供するサービスに応じて、図示していない磁気ディスク装置等の記憶装置や、スイッチやセンサや表示パネル等を有する構成をとり得る。
【００４２】
通信プロトコル処理回路１０２は、プロセッサ１０５、メモリ制御部１０６、通信処理部１０７、周辺制御部１０８を有し、更に、これら各構成部位を接続する共有バスと、図示していない共有バス調停部の各機能ブロックとを有する構成となっている。
【００４３】
通信処理部１０７は、更に、信号処理部１０９と、通信インタフェース１０４によって逐次受信される受信フレームを逐次解析する手段である受信解析部１１０と、受信フレームを逐次記憶する第一の記憶手段である第一の記憶部１１１と、第一の記憶部１１１に記憶された受信フレーム中の受信対象データを逐次読み出してメモリ１０３に書き込み、また、メモリ１０３に記憶された送信対象データを読み出す手段であるＤＭＡ制御部１１２と、メモリ１０３から読み出された送信対象データを逐次累算しながら記憶する第二の記憶手段である第二の記憶部１１３と、通信情報を管理し、受信解析部１１０による解析結果と前記通信情報とに基づいて受信フレームに対する対応を判断し、また、前記通信情報に基づいて送信を判断する手段である通信情報管理制御部１１５と、前記通信情報に基づいて、第一の記憶部１１１に記憶された受信フレーム中の受信対象データまたは第二の記憶部１１３に記憶された送信対象データを逐次読み出して送信フレームを逐次生成する手段である送信生成部１１４の各機能ブロックを有する構成となっている。
【００４４】
図１において、接続を示す矢印は、フレームの主要部分を占めるペイロード（ＴＣＰプロトコルの観点ではＴＣＰセグメントであり、例えば、図１１における１１０５の１４６０バイトの部分）、すなわち実効的な送受信の対象データの断片の流れを示している。一方、受信フレームを解析して得られるデータや、送信フレームを生成するために必要なペイロード以外のデータや、各部位が有機的に働くために受け渡しする制御的な信号も存在するが、図示は省略している。
【００４５】
メモリ１０３には、ＯＳやユーザアプリケーションの他、通信処理部１０７を利用するためのデバイスドライバ等のプログラムデータが格納される。また、このプログラムデータが稼動するための作業領域も確保される。なお、このプログラムデータには、通信処理部１０７が行うプロトコル処理（従来のプロトコルスタックの一部または全て）のためのプログラムデータは含まれない。
【００４６】
プロセッサ１０５は、メモリ１０３に格納されたプログラムデータに基づいて動作する。具体的には、通信に際して予め必要となる初期情報の設定、通信処理部１０７に対する通信の開始や中断の指示、送信対象データの準備、受信対象データのためのメモリ１０３内の格納領域の準備、受信対象データの処理、通信の中断や終了および例外発生を認識した場合の対応処理等を行う。また、プロトコル処理以外にも、通信端末１０１全体の制御を行う。
【００４７】
メモリ制御部１０６は、通信プロトコル処理回路１０２の外部の記憶装置であるメモリ１０３に接続され、メモリ１０３とデータを受け渡しするための機能を備えている。周辺制御部１０８は、通信端末１０１が提供するサービスに応じて、図示していない磁気ディスク装置等の記憶装置や、スイッチ、センサ、表示パネル等に接続され、これらと送受信の対象データを受け渡しするための機能を備えている。
【００４８】
通信処理部１０７は、通信インタフェース１０４に接続され、受信および受信フレームの解析と受信対象データの断片の抽出、送信判断と送信フレームの生成および送信等、プロトコル処理の一部もしくは全ての機能を担う。また、プロセッサ１０５から指示される処理に係る終了結果をプロセッサ１０５に報告する。
【００４９】
次に、本実施の形態の通信端末１０１における送信手順について説明する。図２は、本実施の形態の通信端末１０１における送信手順を示したフローチャートである。プロセッサ１０５は、プログラムデータの処理に基づき、送信すべきことを判断すると、まず最初に、通信端末１０１自身の情報を通信処理部１０７に設定する（ステップＳ２０１）。また、通信相手端末の情報も通信処理部１０７に設定する（ステップＳ２０２）。
【００５０】
その後、プロセッサ１０５は、プログラムデータの処理に基づき、送信対象データの格納領域をメモリ１０３内に確保し（ステップＳ２０３）、送信対象データをメモリ１０３内の格納領域に準備する（ステップＳ２０４）。その後、送信対象データの格納領域情報を通信処理部１０７に設定し（ステップＳ２０５）、送信を通信処理部１０７に指示して（ステップＳ２０６）、通信処理部１０７から送信指示に対する結果報告があるまで待つ（ステップＳ２０７）。送信終了の結果報告を受けた後は、通信処理部１０７への設定を解除したり、メモリ１０３内の領域を開放したり等の処理を行ってもよい。
【００５１】
ステップＳ２０６において送信指示を受けた通信処理部１０７は、指示通りに、まず通信相手端末と通信するための状態が不完全であると判断すれば、適切な送信フレームを生成して送信し、その応答として受信したフレームを解析して、通信するための状態を完全なものとする。この処理の一例としては、プロセッサ１０５から通信相手端末のＩＰアドレスは設定されたものの、通信相手のＭＡＣアドレスが未設定の場合に、その情報を調べるためにＡＲＰプロトコルに基づくフレームを送受信する処理がある。
【００５２】
他の一例としては、ＴＣＰプロトコルにおける能動的な接続開始（ＴＣＰクライアント）の手続き、すなわち３ウェイハンドシェークと呼ばれるＳＹＮ（同期フラグ）の送信、ＳＹＮ＋ＡＣＫ（応答フラグ）の受信、ＡＣＫの送信を行う処理がある。また他の一例としては、受動的な接続開始（ＴＣＰサーバ）の手続き、すなわち通信相手端末からのＳＹＮの受信を待ち、ＳＹＮ＋ＡＣＫの送信、ＡＣＫの受信を行う処理がある。
【００５３】
そして、通信相手端末に送信対象データを送信するための準備が整うと、通信処理部１０７は、メモリ１０３内に格納された送信対象データを、フレーム化した際に１フレームに収まるサイズ毎に断片的に読み出し、各断片毎にヘッダやトレーラを付加して送信フレーム化して送信する。指示された全ての送信対象データの送信が終わると、あるいは、例えば通信相手端末からの受信応答の確認を要するなど、送信後に所定の処理を行う必要があるプロトコルについての送信を指示された場合には、当該処理が終わると、通信処理部１０７はその結果をプロセッサ１０５に報告する。
【００５４】
ステップＳ２０１やＳ２０２、Ｓ２０５、Ｓ２０６などにおいて、通信処理部１０７に対してプロセッサ１０５から設定や指示を行い、その内容を保持するために、例えば通信処理部１０７内部に状態レジスタを備えてもよい。あるいは、メモリ１０３内の領域を準備し、通信処理部１０７への設定内容に基づいてプロセッサ１０５が当該領域を書き換え、通信処理部１０７が当該領域を読み取るような構成としてもよい。
【００５５】
また、ステップＳ２０６において送信指示を受けた通信処理部１０７での結果報告をプロセッサ１０５に通知するには、プロセッサ１０５からの指示内容が終了したことを設定するために、例えば通信処理部１０７内部に状態レジスタを備えてもよい。あるいは、メモリ１０３内の領域を準備し、通信処理部１０７は処理結果に応じて当該領域を書き換え、プロセッサ１０５が当該領域を読み取るような構成としてもよい。あるいは、通信処理部１０７は、プロセッサ１０５からの指示内容が終了したことを示す割り込み要求をプロセッサ１０５に対して出力する構成としてもよい。
【００５６】
また、通信処理部１０７からの結果報告は、送信が正常に終了したという通知だけでなく、例えば通信相手端末または中継機器からの例外（エラー）を示すフレームを受信した場合や、通信相手端末からの応答が届かずタイムアウトした場合等、異常終了や例外終了の通知を行ってもよい。その際、当該結果報告を受けたプロセッサ１０５は、その結果に応じた処理を行うようにすることができる。
【００５７】
なお、Ｓ２０１〜Ｓ２０７の各ステップでの処理は、例えばステップＳ２０１においては、通信端末１０１自身の情報を通信処理部１０７に設定する際に、以前に同一内容を設定済みであれば再度の設定を省略することも可能であり、同様に他のステップにおいても処理を省略することが可能な場合がある。
【００５８】
次に、本実施の形態の通信端末１０１における受信手順について説明する。図３は、本実施の形態の通信端末１０１における受信手順を示したフローチャートである。プロセッサ１０５は、プログラムデータの処理に基づき、受信すべきことを判断すると、まず最初に、通信端末１０１自身の情報を通信処理部１０７に設定する（ステップＳ３０１）。また、必要であれば通信相手端末の情報も通信処理部１０７に設定する（ステップＳ３０２）。任意の通信相手端末からの受信を許容するのであれば、ステップＳ３０２の処理は省略可能である。
【００５９】
その後、プロセッサ１０５は、プログラムデータの処理に基づき、受信対象データの格納領域をメモリ１０３内に確保し（ステップＳ３０３）、格納領域の情報を通信処理部１０７に設定し（ステップＳ３０４）、受信を通信処理部１０７に指示する（ステップＳ３０５）。その後、通信処理部１０７から受信指示に対する結果報告があるまで待つ（ステップＳ３０６）。
【００６０】
受信終了の結果報告を受けた後は、プロセッサ１０５は、プログラムデータの処理に基づき、通信相手端末が適切かどうかを確認すること等が必要であれば、結果報告に含まれる通信相手端末の情報を確認し（ステップＳ３０７）、最後に、結果報告に含まれる受信対象データのサイズを確認して、メモリ１０３内に格納された受信対象データを処理する（ステップＳ３０８）。処理の結果、通信処理部１０７への設定内容やメモリ１０３内に確保した領域が不要になった場合は、設定の解除、領域の開放を行ってもよい。
【００６１】
前述した送信時の処理における場合と同様に、ステップＳ３０５において受信指示を受けた通信処理部１０７は、指示通りに、まず通信相手端末と通信するための状態が不完全であると判断すれば、適切な送信フレームを生成して送信し、その応答として受信したフレームを解析して、通信するための状態を完全なものとする。
【００６２】
通信相手端末から受信対象データを受信するための準備が整い、受信フレームを受信すると、通信処理部１０７は、受信フレームを解析して受信対象データの断片を抽出し、メモリ１０３内の指示された領域に格納する。指示された全ての受信対象データの受信、抽出が終わると、あるいは、例えば通信相手端末に受信したことを応答する必要があるなど、受信後に所定の処理を行う必要があるプロトコルについての受信を指示された場合には、当該処理が終わると、通信処理部１０７はその結果をプロセッサ１０５に報告する。
【００６３】
また、通信処理部１０７からの結果報告は、受信が正常に終了したという通知だけでなく、例えば通信相手端末または中継機器からの例外（エラー）を示すフレームを受信した場合や、通信相手端末からの送信が無くタイムアウトした場合等、異常終了や例外終了の通知を行ってもよい。その際、当該結果報告を受けたプロセッサ１０５は、ステップＳ３０７やステップＳ３０８の処理に替えて、その結果に応じた処理を行うようにすることができる。
【００６４】
なお、Ｓ３０１〜Ｓ３０８の各ステップでの処理は、前述した送信時の処理における場合と同様に、処理を省略することが可能な場合がある。
【００６５】
これらの送信手順と受信手順を利用して、ＴＣＰプロトコルにおける接続開始、対象データの送受信、接続終了の一連の流れを実施することが可能である。まず接続開始については、プロセッサ１０５は通信処理部１０７に対して、通信端末１０１自身の情報と通信相手端末の情報を設定し、接続開始を指示する。それにより通信処理部１０７は、接続開始の手続きを行う。それが終わると、通信処理部１０７はその結果をプロセッサ１０５に報告する。
【００６６】
次に対象データの送受信については、前述の送信手順と受信手順を実施する。その際、各手順を、送信、受信、送信、受信、と順に実施可能なことはもちろん、送信手順と受信手順を多重化（並行）したり、複数の送信手順や複数の受信手順を多重化したりして実施することも可能である。プロセッサ１０５は、通信処理部１０７に対する設定を行いながら、送信や受信の完了の結果報告を受けると、送信完了した対象データの格納領域を開放したり、受信完了した対象データに対する処理を行ったりすることができる。
【００６７】
最後に接続終了については、プロセッサ１０５は、通信処理部１０７に接続終了を指示する。これにより通信処理部１０７は、ＦＩＮ（終了フラグ）の送信とそれに対するＡＣＫの受信、及び通信相手端末からのＦＩＮの受信とそれに対するＡＣＫの送信を行う。これが終わると、通信処理部１０７はその結果をプロセッサ１０５に報告する。
【００６８】
次に、上述した動作によりプロトコル処理を行う通信処理部１０７の内部の動作について説明する。通信インタフェース１０４に受信フレームの信号が逐次届くと、信号処理部１０９は、その信号を逐次復調することで所定のビット数毎に逐次デジタルデータ化し、そのデータを受信解析部１１０に逐次出力する。
【００６９】
例えば物理データリンク帯域が１０００Ｍｂｐｓであった場合でも、信号処理部１０９は３２ビット毎に３１．２５ＭＨｚで逐次出力する等により、通信処理部１０７全体は比較的低い動作周波数でプロトコル処理を行うことが可能となる。以降では、３２ビット毎に３１．２５ＭＨｚで逐次動作することとして説明する。
【００７０】
図４は、本実施の形態における受信解析部１１０の内部構成を示した図である。受信解析部１１０には、信号処理部１０９から３２ビット毎３１．２５ＭＨｚの受信フレームのデータが逐次入力され、また受信フレームの受信の開始や正常終了、正常終了の際の有効なビット数、異常終了といった制御に用いる信号も逐次入力される。これらの入力は、受信解析部１１０の内部で使用されるのと同時に、そのまま第一の記憶部１１１へと出力される。
【００７１】
受信フレームの入力の開始を受けて、状態レジスタ４０２の内容を初期化し、逐次入力される受信フレームや制御信号と状態レジスタ４０２の内容とに応じて、解析論理４０１の処理によって状態レジスタ４０２の内容を３１．２５ＭＨｚで更新していき、受信フレームの受信終了を受けた状態レジスタ４０２の内容の一部もしくは全てを解析結果として通信情報管理制御部１１５に出力する。解析論理４０１は、受信フレーム長のカウントアップや、有効データ長の解釈や、ネットワークアドレスの抽出や、誤り検出等、プロトコルに従った受信フレームの逐次解析を行い、状態レジスタ４０２はその中間的な結果（受信フレームの受信終了後は最終結果）を保持する。
【００７２】
上述した受信解析部１１０の処理によって、受信フレームのプロトコルの種別は何であるか、受信フレームに含まれるデータに誤りは無いか等を、フレームの受信完了とともに解釈し終えることが可能である。データに誤りが無いかの検査は、ＴＣＰプロトコルにおけるチェックサムのように検査フィールドをヘッダに含み、ヘッダとペイロードを検査の対象としたものも、ＭＡＣ層プロトコルにおけるＣＲＣ（Cyclic Redundancy Check）あるいはＦＣＳ（Frame Check Sequence）のように検査フィールドをトレーラに含み、フレーム全体を検査の対象としたものも、受信解析部１１０で検査することが可能である。
【００７３】
受信解析部１１０は、通信情報管理制御部１１５が保持している通信端末１０１自身のネットワークアドレスや通信相手端末のネットワークアドレス、通信状態等の情報を通信情報管理制御部１１５から入力され、その情報と受信フレームに含まれる情報とを比較し、比較した結果を通信情報管理制御部１１５に出力するように動作することも可能である。
【００７４】
第一の記憶部１１１は、内部に記憶装置を有し、記憶容量と管理の方式に依存するが、記憶領域に空きがあると判断する間は、受信解析部１１０から受ける受信フレームのデータを内部の記憶装置に逐次格納していく。記憶領域が溢れると判断した際には、その事実を通信情報管理制御部１１５に通知し、その受信フレームが格納された領域を開放して、その受信フレームの受信を無効とする。受信フレームの最後まで無事に格納されると、通信情報管理制御部１１５から開放する指示があるまで、格納した受信フレームのデータを記憶しておく。
【００７５】
その後、第一の記憶部１１１は、通信情報管理制御部１１５から指示があると、その指示通りに、１フレームに収まるサイズに断片化されて格納されている受信対象データをＤＭＡ制御部１１２へ３２ビット毎３１．２５ＭＨｚで逐次的に出力する。また、送信生成部１１４へのデータ出力の指示があると、その指示通りに、まず格納されている受信対象データ（そのまま応答送信対象データとなる）を送信生成部１１４へ出力し、送信生成部１１４からデータ送りの指示があると、その指示通りに、次のデータを送信生成部１１４へ３２ビット毎３１．２５ＭＨｚで逐次的に出力する。
【００７６】
また第一の記憶部１１１は、受信解析部１１０からのデータ入力と、ＤＭＡ制御部１１２へのデータ出力と、送信生成部１１４へのデータ出力の３種類のアクセスとを、それぞれ３２ビット毎３１．２５ＭＨｚで並行処理するように動作する。全てのアクセスを並行処理するように動作してもよいし、２種類のデータ出力については並行処理できないとしても、少なくともデータ入力とデータ出力とは並行処理するように動作する。
【００７７】
これを実現可能とするには、例えば、物理的に別々であり、それぞれサイクル遅延無しで３１．２５ＭＨｚで動作する、少なくとも３個の３２ビット幅の記憶装置を設け、これら３種類のアクセスが重ならないように管理して受信フレームを格納すればよい。また、サイクル遅延無しの９３．７５ＭＨｚで動作する１個の３２ビット幅の記憶装置を設けて、これら３種類のアクセスがサイクル毎に巡回的に行われるようにしてもよい。また、双方向ポートを持ち、入出力のアクセスを同時に行うことが可能な３２ビット幅の記憶装置を設けてもよい。
【００７８】
第一の記憶部１１１が一時点で記憶すべき受信フレームのデータ長（容量）は、最大フレーム長の２もしくは３個分で充分である。説明の便宜のために、ここでは全てのフレームが最大フレーム長であることを前提とする。
【００７９】
例えば、通信処理部１０７が、フレームの主要部分を占めるペイロードを応答送信にも用いることが必要な受信フレームＡを受信し、その受信完了の直前に他の送信フレームｘの送信を並行して開始したと仮定する。この受信フレームＡの受信完了直後に次の受信フレームＢの受信が始まると、受信フレームＢの受信と送信フレームｘの送信とは近い時間で完了する。その直後に最初の受信フレームＡに対する応答である送信フレームａの送信を始め、さらに次の受信フレームＣの受信が並行して始まった場合、受信フレームを格納するための第一の記憶部１１１は、最初の受信フレームＡと次の受信フレームＢと現在受信中の受信フレームＣを同時に格納するために、フレーム３個分の記憶容量が必要となる。
【００８０】
最初の受信フレームＡに対する応答のためにすでに出力済みのデータの領域を逐次把握しておき、この領域に上書きして受信フレームＣのデータを逐次入力することで、フレーム約２個分の記憶容量とすることも可能であるが、この場合はフレーム３個分の記憶容量を持つ場合と比べて管理方式がやや複雑となる。なお、同時に把握しておく受信フレームの最大個数は、ここで述べた容量に限らず、最長ではないフレームが連続して届くことを考慮して適切な個数を備えることも可能である。
【００８１】
ＤＭＡ制御部１１２は、共有バスのマスタになり、主体的にメモリ１０３へのアクセス、いわゆるＤＭＡを行い、共有バスと第一の記憶部１１１や第二の記憶部１１３との間のアクセスにおけるデータサイズや動作周波数の違いを緩衝するために充分なサイズの小容量バッファを備えている。
【００８２】
ＤＭＡ制御部１１２は、通信情報管理制御部１１５から指示があると、第一の記憶部１１１から逐次入力される３２ビット毎３１．２５ＭＨｚの受信対象データの断片を受け取り、通信情報管理制御部１１５から受けた指示内容におけるメモリ１０３の領域情報に従って、そのデータを断片的、逐次的に、メモリ制御部１０６を介してメモリ１０３に格納する。指示通りにメモリ１０３へのデータ格納が終わると、その事実を通信情報管理制御部１１５に報告する。
【００８３】
またＤＭＡ制御部１１２は、通信情報管理制御部１１５から指示があると、通信情報管理制御部１１５から受けた指示内容におけるメモリ１０３の領域情報に従って、断片的、逐次的に、メモリ制御部１０６を介してメモリ１０３から、フレーム化した際に１フレームに収まるサイズの送信対象データの断片を読み出し、３２ビット毎３１．２５ＭＨｚで第二の記憶部１１３にそのデータを出力する。指示通りに第二の記憶部１１３へのデータ出力が終わると、その事実を通信情報管理制御部１１５に報告する。
【００８４】
第二の記憶部１１３は、内部に記憶装置を有し、送信対象データの断片をＤＭＡ制御部１１２から受け取り、そのデータを逐次累算しながら内部の記憶装置に逐次格納する。この累算は、送信対象データの断片の内容に依存するヘッダ情報をフレームの生成開始前に予め計算しておくために行う。このヘッダ情報の一例は、ＴＣＰプロトコルにおけるチェックサムであり、この場合は送信対象データの断片、すなわちペイロード部分のチェックサム値を予め計算しておく。
【００８５】
第二の記憶部１１３は、その累算結果を送信生成部１１４へ出力する。また、内部の記憶装置に格納中の送信対象データを送信生成部１１４へ３２ビット毎３１．２５ＭＨｚで逐次的に出力する。送信対象データの断片や累算結果を送信生成部１１４へ出力し終えると、これらのデータが格納されている領域を開放する。
【００８６】
第二の記憶部１１３は、ＤＭＡ制御部１１２からのデータ入力と、送信生成部１１４へのデータ出力の２種類のアクセスを、それぞれ３２ビット毎３１．２５ＭＨｚで並行処理するように動作する。これを実現可能とするには、例えば、物理的に別々であり、それぞれサイクル遅延無しで３１．２５ＭＨｚで動作する、少なくとも２個の３２ビット幅の記憶装置を設け、これら２種類のアクセスが重ならないように管理して送信対象データの断片を格納すればよい。また、サイクル遅延無しの６２．５ＭＨｚで動作する１個の３２ビット幅の記憶装置を設けて、これら２種類のアクセスがサイクル毎に交互に行われるようにしてもよい。また、双方向ポートを持ち、入出力のアクセスを同時に行うことが可能な３２ビット幅の記憶装置を設けてもよい。
【００８７】
第二の記憶部１１３が一時点で記憶すべき送信フレームを生成するためのデータ長は、最大フレーム長（もしくは最大ペイロード長）の１もしくは２個分で充分である。前述の受信時の場合と同様に、ここでは全てのフレームが最大フレーム長であることを前提とする。第二の記憶部１１３に入力中の送信対象データの断片Ａと、第二の記憶部１１３から出力中の送信対象データの断片Ｂとを並行処理するためには、第二の記憶部１１３は、送信対象データの断片Ａと断片Ｂとを同時に格納するために、最大フレーム長２個分の容量で充分である。
【００８８】
また、送信対象データの断片Ｂにおける未出力データを上書きしない範囲で、送信対象データの断片Ａの入力を管理することによって、最大フレーム長のおよそ１個分の容量で実現することも可能である。この場合は最大フレーム長の２個分の記憶容量を持つ場合と比べて管理方式がやや複雑となる。
【００８９】
図５は、本実施の形態における送信生成部１１４の内部構成を示した図である。送信生成部１１４は、通信情報管理制御部１１５から指示があると、状態レジスタ５０２を初期化する。その後、通信情報管理制御部１１５から与えられる情報と、第一の記憶部１１１から３２ビット毎３１．２５ＭＨｚで逐次的に受け取るデータと、第二の記憶部１１３から与えられる累算結果と３２ビット毎３１．２５ＭＨｚで逐次的に受け取るデータと、プロトコルに従い設定すべき固定値や内部で逐次的に計算して得られる結果とを生成論理５０１で選択しながら、状態レジスタ５０２の内容を３１．２５ＭＨｚで更新していく。
【００９０】
内部で逐次的に行う計算とは、例えば、送信フレームの作業中位置のカウントアップや、第二の記憶部１１３から与えられる送信対象データの断片の累算結果と通信情報管理制御部１１５から与えられる情報とから計算されるＴＣＰヘッダに埋め込むべきチェックサム値の逐次計算や、ＭＡＣトレーラに埋め込むべきＣＲＣの逐次計算等である。
【００９１】
送信生成部１１４は、信号処理部１０９に対して、送信フレームの開始や終了、終了の際の有効なビット数といった制御信号も逐次出力する。こうして、送信フレームのデータを３２ビット毎３１．２５ＭＨｚで逐次生成し、信号処理部１０９に逐次出力する。
【００９２】
また送信生成部１１４は、第一の記憶部１１１に格納されている受信対象データ（応答送信対象データとなる）を受け取るタイミングには第一の記憶部１１１にデータ送りの指示を与え、第二の記憶部１１３に格納されている送信対象データの断片を受け取るタイミングには第二の記憶部１１３にデータ送りの指示を逐次与える。通信制御情報管理部１１５から指示された送信フレームの逐次生成と逐次出力が終わると、通信情報管理制御部１１５にその事実を報告する。
【００９３】
送信生成部１１４から逐次出力される３２ビット毎３１．２５ＭＨｚの送信フレームのデータを受けた信号処理部１０９は、物理データリンクのプロトコルに従った送信に供する信号へと逐次変調し、その信号を通信インタフェース１０４に印加する。この動作により、たとえ物理データリンク帯域が１０００Ｍｂｐｓであったとしても、３２ビット毎に３１．２５ＭＨｚで逐次入力を受け取る等により、通信処理部１０７全体は比較的低い動作周波数でプロトコル処理を行うことが可能となる。
【００９４】
通信情報管理制御部１１５は、例えば、タイマと、通信に関する様々な情報を格納するテーブル等の記憶装置と、受信フレームに対応する処理を判断して各部位に指示する論理と、送信を判断して各部位に指示する論理と、プロセッサ１０５による設定を保持する手段と、プロセッサ１０５に通信状態を報告する手段とから構成される。通信情報管理制御部１１５内部のタイマは、プロトコル処理で利用してタイムアウト等を判定するためのもので、所定の時間毎にカウントアップして時刻を計測する。
【００９５】
通信情報管理制御部１１５内部の記憶装置は、通信端末１０１自身のＭＡＣアドレスやＩＰアドレス、通信相手端末のＭＡＣアドレスやＩＰアドレス、通信端末１０１自身と通信相手端末のＵＤＰやＴＣＰのポート番号、ＴＣＰにおけるシーケンス番号や接続の状態、最後に処理した時刻、メモリ１０３における送信や受信の対象データの格納領域のアドレスとサイズ、それらの情報が有効か無効かを示すフラグ等を管理する。
【００９６】
これらの情報は、プロセッサ１０５から設定されたり、受信フレームの解析結果を反映したり、各部位への指示やそれに対する完了の報告を反映したりすることによって更新される。またこれらの情報の変化に対して必要に応じて、通信情報管理制御部１１５はプロセッサ１０５に状態を報告する。
【００９７】
上記記憶装置として、通信機器に利用されることが多い、格納データとの一致検索を行うＣＡＭ（Content Addressable Memory）と、汎用的な、アドレスを指定してアクセスを行うＲＡＭ（Random Access Memory）とを併用して構成すれば合理的である。すなわち、例えば多くの保持内容の中から受信フレームの解析結果に一致するものを検索する用途にＣＡＭを用いたり、それから得られる識別子をＲＡＭアクセスのアドレスに利用したり、一致検索が不要な他の情報の保持にはＲＡＭを用いたりすることができる。
【００９８】
通信情報管理制御部１１５内部の、受信フレームに対応する処理を判断して各部位に指示する論理は、受信解析部１１０から受け取る受信フレームの解析結果と第一の記憶部１１１から受け取る受信フレームの格納結果と通信情報管理制御部１１５内部の記憶装置が保持する情報とタイマの値とから、対応する処理を判断して各部位に指示する。
【００９９】
受信フレームに対応する処理として、ペイロード部分を受信対象データの断片としてメモリ１０３に格納することが必要と判断した場合は、第一の記憶部１１１が格納している受信フレームの読み出しオフセットと、サイズと、ＤＭＡ制御部１１２への出力指示とを第一の記憶部１１１に与える。さらに、メモリ１０３内における受信対象データの断片を格納すべき領域情報と、メモリ１０３への書き込み指示とをＤＭＡ制御部１１２に与える。
【０１００】
また、受信フレームに対応する処理として、応答送信が必要で、そのフレームの生成には受信フレームのペイロード部分の参照が必要と判断した場合は、第一の記憶部１１１が格納している受信フレームの読み出しオフセットと、サイズと、送信生成部１１４への出力指示とを第一の記憶部１１１に与える。さらに、第一の記憶部１１１から送られるデータサイズと、応答送信の指示とを送信生成部１１４に与える。
【０１０１】
また、受信フレームに対応する処理として、第一の記憶部１１１に受信フレームを格納する必要がないと判断した場合、または受信フレームに対応する処理が完了した場合には、当該受信フレームが格納されている領域を開放するように第一の記憶部１１１に指示を与える。
【０１０２】
通信情報管理制御部１１５内部の、送信を判断して各部位に指示する論理は、通信情報管理制御部１１５内部の記憶装置が保持する情報とタイマの値とから、送信を判断して各部位に指示する。
【０１０３】
送信対象データの断片すなわちペイロード部分を、メモリ１０３から読み出して送信を行うと判断した場合は、メモリ１０３内に格納されている送信対象データの断片の領域情報と、メモリ１０３からの読み出し指示とをＤＭＡ制御部１１２に与える。さらに、送信対象データの断片のサイズと、送信の指示とを送信生成部１１４に与える。また、ペイロード部分をメモリ１０３から読み出さない送信が必要であると判断した場合は、送信の指示を送信生成部１１４に与える。
【０１０４】
これら通信情報管理制御部１１５内部の受信フレームに対応する処理や送信の判断、指示の論理は、例えば、通信情報管理制御部１１５内部の記憶装置の内容や、他の部位から送られる情報を演算対象として、プロトコルの処理で行われる必要な演算のみを行う演算回路を設け、さらに状態レジスタを設けて状態遷移を管理する論理として構成することができる。
【０１０５】
なお、受信解析部１１０の説明で前述した通り、通信情報管理制御部１１５は、内部の記憶装置に保持している通信端末１０１自身や通信相手端末のネットワークアドレス、通信状態等、それらの情報の一部を、解析の助けになるように受信解析部１１０に与えるように構成してもよい。
【０１０６】
また以上では、通信情報を通信情報管理制御部１１５内部の記憶装置に格納すると説明したが、これに限らず、通信情報管理制御部１１５内部には通信情報の全てを格納するための記憶装置を備えずに、前述のＣＡＭやＲＡＭといった記憶装置を通信プロトコル処理回路１０２の外部に備えて、通信情報管理制御部１１５はこれらの記憶装置にアクセスして通信情報の一部を格納し、管理する構成としてもよい。
【０１０７】
なお、ＩＣＭＰプロトコルにおけるチェックサムのようにペイロード部分の累算を必要とする応答送信の際には、受信解析部１１０は、受信フレームの逐次解析中にペイロード部分を累算し、累算結果を解析結果とともに通信情報管理制御部１１５に渡し、通信情報管理制御部１１５は送信生成部１１４に累算結果とともに応答送信指示を与え、送信生成部１１４はペイロード部分を参照することなしにその値を利用してヘッダに埋め込むべき情報を準備すればよい。
【０１０８】
以上に説明した各部位の動作によって、通信端末１０１の中でデータがどのように流れるのかを以下に説明する。図６は、本実施の形態における受信時の各部位間のデータの流れを時系列で示した図である。ここでは、メモリ１０３に格納すべき受信対象データの断片であるペイロードを有する受信フレーム１（６０１）、受信フレーム２（６０５）、受信フレーム３（６０６）を連続的に受信した場合を示している。
【０１０９】
通信インタフェース１０４には、時点１から時点２にかけて受信フレーム１（６０１）のヘッダ６０２が到達し、その後、時点２から時点３にかけてペイロード６０３が到達し、その後、時点３から時点４にかけてトレーラ６０４がそれぞれ到達することで、受信フレーム１（６０１）の信号が到達する。また同様に、時点５から時点６にかけて受信フレーム２（６０５）の信号が到達し、時点７から受信フレーム３（６０６）の信号の到達が始まる。
【０１１０】
各受信フレームの間の時間、すなわち時点４から時点５、および時点６から時点７の間は、物理データリンクのプロトコルに従って必要となる、プリアンブルやフレーム開始のデリミタやギャップ等、物理データリンク層より上の層では解釈する必要がない制御信号が存在していることを示している。
【０１１１】
信号処理部１０９は、通信インタフェース１０４に時点１から時点４にかけて到達する受信フレーム１（６０１）の信号を、逐次デジタルデータ化して、時点８から時点９にかけて受信フレーム１（６０７）のデータを逐次出力する。受信解析部１１０は、信号処理部１０９からの受信フレーム１（６０７）のデータを受けて、時点１０から時点１１にかけて受信フレーム１（６０８）のデータを出力する。
【０１１２】
第一の記憶部１１１は、受信解析部１１０からの受信フレーム１（６０８）を受けて、時点１２から時点１３にかけて受信フレーム１（６０９）のヘッダ６１０を、その後、時点１３から時点１４にかけてペイロード６１１を、その後、時点１４から時点１５にかけてトレーラ６１２をそれぞれ格納することで、受信フレーム１（６０９）のデータを格納する。また、受信フレーム１（６０１）の後に通信インタフェースに到達する受信フレーム２（６０５）や受信フレーム３（６０６）の信号についても、各部位で同様に処理され、第一の記憶部１１１は、時点１６から時点１９にかけて受信フレーム２（６１４）を格納し、時点２０から受信フレーム３（６１６）の格納を始める。
【０１１３】
受信解析部１１０は、時点１１で受信フレーム１（６０８）の解析を終えると、前述の各部位の動作についての説明の通り、解析結果を通信情報管理制御部１１５に報告し、その解析結果を受けた通信情報管理制御部１１５は、ペイロード部分を受信対象データの断片としてメモリ１０３に格納することが必要と判断し、第一の記憶部１１１とＤＭＡ制御部１１２にそれを指示する。
【０１１４】
その指示を受けて、時点１７から、第一の記憶部１１１からＤＭＡ制御部１１２へとペイロード６１１のデータが渡され始める。このデータを受けて、ＤＭＡ制御部１１２は、時点２１から断片化された書き込みデータ１の最初の断片６１７の共有バスへの出力を始める。その後同様に、時点２２から次の断片６１８の共有バスへの出力を始め、時点２３に最後の断片６１９の共有バスへの出力を終えることで、ペイロード部分のメモリ１０３への格納を行う。
【０１１５】
断片化された書き込みデータ１（断片６１７〜断片６１９）、すなわち受信フレーム１のペイロードであり受信対象データの断片が、ＤＭＡ制御部１１２からの出力で断片化されているのは、共有バスの動作周波数とそのビット幅の積（共有バスの最大帯域）が３１．２５ＭＨｚと３２ビットの積、すなわち１０００Ｍｂｐｓに比べて大きく、実際に共有バスを利用したサイクルにおける利用帯域も１０００Ｍｂｐｓと比べて大きかったことを表している。
【０１１６】
そのため、ＤＭＡ制御部１１２内部にある小容量バッファが空に近くなって、あるいはＤＭＡ制御部１１２が共有バスアクセスに適した所定のデータ長の書き込みを終えて、メモリ１０３への書き込みを中断し、次の断片的な書き込みを開始できるだけの十分なデータがＤＭＡ制御部１１２内部にある小容量バッファに蓄積されるのを待つことにより、この断片化が発生している。
【０１１７】
それぞれの断片化されたデータの出力の間隔に時間的なずれがあるのは、共有バスには通信処理部１０７以外にプロセッサ１０５や周辺制御部１０８も接続されており、それら他部位からのものも含めて時間的に様々な共有バスへのアクセス要求が競合することがあり、競合した際には共有バス調停部が調停して各部位に順にアクセスの権利を与えるため、通信処理部１０７は、共有バスへのアクセスの権利を得てからアクセスしていることを示している。
【０１１８】
通信情報管理制御部１１５は、時点２３に、断片化された書き込みデータ１の最後の断片６１９のメモリ１０３への書き込みを終えたＤＭＡ制御部１１２からその完了の報告を受けて、対応する処理を完了した受信フレーム１（６０９）が格納されている領域を開放するように第一の記憶部１１１に指示する。第一の記憶部１１１は、その指示を受けて、時点１８に受信フレーム１（６０９）が格納されている領域を開放している。
【０１１９】
受信フレーム１（６０９）に対する処理と同様に、第一の記憶部１１１に格納された受信フレーム２（６１４）や受信フレーム３（６１６）も同様に処理される。すなわち、例えば受信フレーム２のペイロード６１５、すなわち受信対象データの断片は、時点２４から断片化された書き込みデータ２の最初の断片６２０としてＤＭＡ制御部１１２から出力が開始され、メモリ１０３に書き込まれる。
【０１２０】
なお、図６において、第一の記憶部１１１の記憶データを、受信フレーム１（６０９）と受信フレーム２（６１４）と受信フレーム３（６１６）とを縦に並べて表しているが、これは説明の便宜上、データが逐次記憶されていく状況を示すために模式的に表したものであり、第一の記憶部１１１の容量を意味しているものではない。すなわち、受信フレーム３（６１６）の格納は、時点１８において受信フレーム１（６０９）が格納されている領域が開放された以降であるため、受信フレーム１（６０９）を格納していた領域を受信フレーム３（６１６）の格納に用いることが可能である。
【０１２１】
また、時点１１（あるいは時点１５）の後で、受信解析部１１０が解析結果を通信情報管理制御部１１５に報告した後は、第一の記憶部１１１は、受信フレーム１（６０９）のヘッダ６１０及びトレーラ６１２が格納されていた領域を開放することが可能である。また、時点１７からのＤＭＡ制御部１１２への逐次出力が終わったペイロード６１３が格納されていた領域も逐次開放することが可能であるから、これらの領域を並行して行われている受信フレーム２（６１４）の格納に用いるようにすることも可能である。
【０１２２】
図７は、本実施の形態における送信時の各部位間のデータの流れを時系列で示した図である。ここでは、メモリ１０３から読み出してペイロードとしてフレーム化して送信すべき３種類の判断が連続的に発生した場合を示している。
【０１２３】
前述の各部位の動作についての説明の通り、通信情報管理制御部１１５は、保持する情報から対象データを送信する必要があると判断すると、メモリ１０３内に格納されている未送信の送信対象データの先頭アドレスと、そのサイズとペイロードとして送信可能な最大データ長とのうち小さい方の値とをＤＭＡ制御部１１２に与え、さらにメモリ１０３からの読み出し指示を与える。
【０１２４】
指示を受けたＤＭＡ制御部１１２は、時点３１に、断片化された送信対象データ１の最初の断片７０１のメモリ１０３からの受け取りを開始し、時点３２に、次の断片７０２の受け取りを開始し、時点３３に、最後の断片７０３の受け取りを完了している。ＤＭＡ制御部１１２は、メモリ１０３から読み出した送信対象データの断片１（７０６）を、時点３６から時点３７にかけて第二の記憶部１１３に逐次出力し、その後、通信情報管理制御部１１５にその完了を報告する。
【０１２５】
ＤＭＡ制御部１１２からの出力完了の報告を受けると、通信情報管理制御部１１５は、同様に断片化された送信対象データ２をメモリ１０３内から読み出す指示をＤＭＡ制御部１１２に与える。指示を受けたＤＭＡ制御部１１２は、第二の記憶部１１３と協調しながら第二の記憶部１１３の記憶装置の格納領域に空きがある間は、メモリ１０３から断片化された送信対象データ２を読み出すように動き、時点３４に、断片化された送信対象データ２の最初の断片７０４のメモリ１０３からの受け取りを開始する。
【０１２６】
ＤＭＡ制御部１１２から送信対象データの断片１（７０６）を逐次渡される第二の記憶部１１３は、時点３８から時点３９にかけてそのデータを送信対象データの断片１（７０７）として逐次格納する、また格納と合わせてそのデータを累算する。この累算結果は、送信生成部１１４に対して出力する。この累算は、ペイロード内容に依存するヘッダ情報をフレームの生成開始前に予め計算しておくために行っている。また同様に、時点４０から時点４２にかけて送信対象データの断片２（７０８）を逐次格納し、格納と合わせてそのデータを累算する。
【０１２７】
時点３７の後でＤＭＡ制御部１１２から指示内容の完了報告を受けた通信情報管理制御部１１５は、送信生成部１１４に対して、第二の記憶部１１３に格納されているデータをペイロードとし、第二の記憶部１１３が計算した累算結果を利用してヘッダ情報の一部を構成するようにして送信することを指示する。
【０１２８】
その指示を受けた送信生成部１１４は、通信情報管理制御部１１５から与えられる情報及び第二の記憶部１１３から与えられる累算結果を利用して、時点４６から時点４７にかけて、送信フレーム１（７１２）のヘッダ７１３を逐次生成する。次に時点４７から時点４８にかけて、第二の記憶部１１３から送信対象データの断片１（７０７）を逐次受け取り、それをペイロード７１４として逐次出力する。また時点４８から時点４９にかけて、送信生成部１１４内部で逐次計算したトレーラ７１５を逐次出力し、送信フレーム１（７１２）の逐次出力を完了する。その後、通信情報管理制御部１１５に指示内容の完了を報告する。
【０１２９】
時点４１から時点４４にかけて、送信対象データの断片１（７０７）を全て出力し終えた第二の記憶部１１３は、当該データが格納されている領域を開放し、当該データに対する累算結果をリセットする。送信生成部１１４から送信フレーム１（７１２）を逐次受け取る信号処理部１０９は、当該データを送信に供する信号へと逐次変調して、時点５１から時点５２にかけて通信インタフェース１０４に印加し、送信フレーム１（７１６）としてネットワークに送出する。
【０１３０】
時点４９の後で、送信生成部１１４から指示内容の完了報告を受けた通信情報管理制御部１１５は、送信対象データの断片２（７０８）についても同様に、送信生成部１１４に対して、第二の記憶部１１３に格納されているデータをペイロードとし、第二の記憶部１１３が計算した累算結果を利用してヘッダ情報の一部を構成するようにして、送信フレーム２（７１７）を生成して送信することを指示する。
【０１３１】
指示を受けた送信生成部１１４は、通信情報管理制御部１１５から与えられる情報及び第二の記憶部１１３から与えられる送信対象データの断片２（７０８）と累算結果とを利用して、時点５０から送信フレーム２（７１７）の逐次出力を始め、信号処理部１０９はそれをネットワークに送出する等、各部位は上述した送信フレーム１での処理と同様に動く。
【０１３２】
また、通信情報管理制御部１１５は、同様に送信対象データ３の断片をメモリ１０３内から読み出す指示をＤＭＡ制御部１１２に与え、それを受けたＤＭＡ制御部１１２は、第二の記憶部１１３と協調しながら第二の記憶部１１３の記憶装置の格納領域に空きがある間は、メモリ１０３から送信対象データ３の断片を読み出すように動き、時点３５から断片化された送信対象データ３の最初の断片７０５のメモリ１０３からの受け取りを開始する等、各部位は上述した送信フレーム１での処理と同様に動く。
【０１３３】
なお、図７において、第二の記憶部１１３の記憶データを、送信対象データの断片１（７０７）と送信対象データの断片２（７０８）と送信対象データの断片３（７１０）とを縦に並べて表しているが、これは説明の便宜上、データが逐次記憶されていく状況を示すために模式的に表したものであり、第二の記憶部１１３の容量を意味しているものではない。すなわち、送信対象データの断片３（７１０）の格納は、送信対象データの断片１（７０７）が格納されている領域が開放された以降であるため、送信対象データの断片１（７０７）を格納していた領域を送信対象データの断片３（７１０）の格納に用いることが可能である。
【０１３４】
また、時点４１からの送信生成部１１４への逐次出力が終わった送信対象データの断片１（７０９）が格納されていた領域も逐次開放することが可能であるから、この領域を並行して行われている送信対象データの断片２（７０８）の格納に用いるように実施することも可能である。
【０１３５】
図８は、本実施の形態における受信に対する応答送信時の各部位間のデータの流れを時系列で示した図である。ここでは、受信に対する応答送信を要するフレームとして、一つは送信フレームの生成にペイロード部分が必要と判断される受信フレーム４（８０１）、もう一つは送信フレームの生成にペイロード部分の参照は不要と判断される受信フレーム５（８０２）を、連続的に受信した場合を示している。これは例えば、前者はＩＣＭＰプロトコルにおけるEcho Requestの受信に対するEcho Replyの送信、後者はＴＣＰプロトコルにおける接続開始のＳＹＮの受信に対するＳＹＮ＋ＡＣＫの送信に対応する。
【０１３６】
通信インタフェース１０４には、時点６１から受信フレーム４（８０１）の信号が、また時点６２から受信フレーム５（８０２）の信号がそれぞれ到達する。受信解析部１１０は、信号処理部１０９を介してこれらのデータを受け取って解析し、時点６３の後で受信フレーム４（８０３）の解析結果を、また時点６４の後で受信フレーム５（８０４）の解析結果をそれぞれ通信情報管理制御部１１５に報告する。また、第一の記憶部１１１は、時点６５から時点６６にかけて受信フレーム１（８０５）を、時点６７から時点６９にかけて受信フレーム５（８０７）を格納する。
【０１３７】
時点６３の後で、受信解析部１１０から受信フレーム４（８０３）の解析結果を受けた通信情報管理制御部１１５は、ペイロード部分が送信フレームの生成に必要と判断し、第一の記憶部１１１と送信生成部１１４にこれを指示する。また、時点６４の後で受信フレーム５（８０４）の解析結果を受けた通信情報管理制御部１１５は、第一の記憶部１１１に受信フレーム５（８０７）を記憶しておくことは不要と判断し、第一の記憶部１１１にこれを指示するとともに、通信情報管理制御部１１５が管理している通信情報を更新する。この指示を受けた第一の記憶部１１１は、時点７０で受信フレーム５（８０７）が格納されている領域を開放している。
【０１３８】
一方、受信フレーム４（８０５）のペイロード（８０６）から送信フレームを生成する指示を受けた送信生成部１１４は、通信情報管理制御部１１５から与えられる情報を利用して、時点７２から時点７３にかけて送信フレーム４（８０８）のヘッダ８０９を逐次生成する。次に、時点７３から時点７４にかけて、第一の記憶部１１１から受信フレーム４（８０５）のペイロード８０６を逐次受け取り、それをペイロード８１０として逐次出力する。また時点７４から時点７５にかけて、送信生成部１１４内部で逐次計算したトレーラ８１１を逐次出力し、送信フレーム４（８０８）の逐次出力を完了する。その後、通信情報管理制御部１１５に指示内容の完了を報告する。
【０１３９】
この完了の報告の後、通信情報管理制御部１１５は、対応する処理を完了した受信フレーム４（８０５）が格納されている領域を開放するように第一の記憶部１１１に指示し、第一の記憶部１１１は、その指示を受けて時点７１に受信フレーム４（８０５）が格納されている領域を開放している。
【０１４０】
また通信情報管理制御部１１５は、受信解析部１１０によって時点６４で解析された受信フレーム５（８０４）に対する応答送信を、更新した通信情報やタイマ値から判断し、送信生成部１１４にそれを指示する。指示を受けた送信生成部１１４は、通信情報管理制御部１１５から与えられる情報や送信生成部１１４内部で逐次計算した情報を利用して、時点７６から時点７７にかけて送信フレーム５（８１２）のヘッダ８１３を、また時点７７から時点７８にかけてトレーラ８１４を逐次出力し、送信フレーム５（８１２）の逐次出力を完了する。その後、通信情報管理制御部１１５に指示内容の完了を報告する。
【０１４１】
信号処理部１０９は、送信生成部１１４から逐次受け取るデータを送信に供する信号へと逐次変調し、時点７９から送信フレーム４（８１５）の信号を、また時点８０から送信フレーム５（８１６）の信号をそれぞれ通信インタフェース１０４に印加し、ネットワークに送出する。
【０１４２】
以上に説明したような、本実施の形態の通信端末１０１及び通信プロトコル処理回路１０２によれば、送信対象データがメモリ１０３に準備された後の共有バスへのプロトコル処理の主要アクセスは、（ＴＣＰプロトコルにおけるタイムアウトや再送要求等による再送がなく正常進行するならば）実効的な送信対象データ系列をメモリ１０３から１回読み出すだけである。また、対象データの受信についても、実効的な受信対象データ系列をメモリ１０３に１回書き込むだけである。これら実効的なデータを含む送受信以外の、受信に対する応答送信を含む送受信は、通信処理部１０７の内部で処理され、共有バスには処理に係る信号は出力されない。
【０１４３】
また、本実施の形態における受信解析部１１０は、物理データリンク（通信インタフェース１０４や信号処理部１０９）の動作に合わせて、受信フレームを逐次解析し、必要な情報の抽出を行う。通信情報管理制御部１１５は、プロトコル処理に適した回路を備えて、受信フレームに対する対応や送信等を判断し、通信情報を管理する。送信生成部１１４は、物理データリンクの動作に合わせて、送信フレームを逐次生成する。更に、本実施の形態における通信処理部１０７の内部の二つの記憶部（第一の記憶部１１１および第二の記憶部１１３）は比較的小容量で構成可能であり、通信処理部１０７の主要部分は比較的低い周波数で動作する。
【０１４４】
すなわち、本実施の形態における通信プロトコル処理回路１０２は、プロトコル処理に適した動作を行う回路・構成として実装され、これにより以下の幅広い効果を享受可能である。
【０１４５】
まず通信性能の高速化、具体的には物理データリンク帯域を最大限に活かす通信性能を達成可能である。通信端末１０１全体として提供するサービスにそれ程の通信性能が要求されないのであれば、その程度に応じて動作周波数を下げることで、消費電力の削減効果が得られる。またより高い性能を要するサービスも実施可能となる。更に、高速応答、すなわち応答時間の高速化が達成可能である。具体的には、受信フレームを受信し終わった後、微小時間の後に、対応する応答を送信可能である。
【０１４６】
また、プロトコル処理を通信プロトコル処理回路１０２が行い、メモリ１０３との間では対象データのみの転送を行うため、プロセッサ１０５の処理負荷や共有バスのアクセス負荷の低減が可能である。よって従来の通信端末を置き換えて本実施の形態の通信端末１０１を適用することにより、低減した負荷の程度に応じて動作周波数を下げることで、端末システム全体の機能・性能はそのままに消費電力の削減効果が得られる。またより高い負荷を要するサービスも実施可能となる。
【０１４７】
また、通信に非対応であった既存の端末に通信機能を追加する際に、プロトコル処理の主要部分をプロセッサ１０５から隠蔽する、本実施の形態における通信プロトコル処理回路１０２を適用することにより、従来サービスの保全や、通信機能を追加したことによるサービス性能の変動の見積りもより容易となる。
【０１４８】
また前述した通り、受信フレームの解析や送信フレームの生成は、プロトコル層で分けずにそれぞれ一部位で特化した回路にて行い、また記憶部は小容量で構成することができる。すなわち、実際に現実的で合理的な小さい回路規模で実現することが可能である。また比較的低い周波数で動作することも前述した通りであり、低い周波数で回路設計が可能であることは、製造の容易さにつながり、またより低価格な回路材料の適用可能性も広がる。更に、回路規模と動作周波数の積に比例する消費電力も低く抑えることが可能である。
【０１４９】
このように、本実施の形態の通信端末１０１および通信プロトコル処理回路１０２によれば、性能面やコスト面での改善が可能であり、回路製造者から端末製造者、サービス提供者、エンドユーザまで、幅広い関係者が幅広い効果を享受可能である。
【０１５０】
なお、以上の説明において、第一の記憶部１１１と第二の記憶部１１３の容量に言及したり、各部位の詳細な実施の形態に言及したりしたが、それに従わなかったとしても本発明の本質から外れるものではない。
【０１５１】
また、信号処理部１０９の出力、受信解析部１１０の解析動作、第一の記憶部１１１の入出力動作、ＤＭＡ制御部１１２の入力、ＤＭＡ制御部１１２の出力、第二の記憶部１１３の入出力動作、送信生成部１１４の生成動作、信号処理部１０９の入力の一連の動作は、３２ビット毎の３１．２５ＭＨｚ動作として統一して説明したが、これらの接続間の一部もしくは複数の個所でビット幅や動作周波数の変更を行う回路を設けてその回路を介したとしても本発明の本質から外れるものではない。
【０１５２】
例えば実際的な事項として、送信系と受信系の動作クロックの同期が保証されていない場合は、第一の記憶部１１１から送信生成部１１４への接続で、あるいは信号処理部１０９から受信解析部１１０への接続で、受信系から送信系への動作クロックの変更を行うことが合理的である。
【０１５３】
追記として、通信処理部１０７が対応していない通信プロトコルについては、通信端末１０１及び通信プロトコル処理回路１０２全体としては、次のように対応することが可能である。対応していないプロトコルのフレームの受信については、受信解析部１１０の解析により、受信フレームが対応していないプロトコルのものであることを確認すると、ＤＭＡ制御部１１２は、第一の記憶部１１１に格納されている受信フレームをそのままメモリ１０３に格納し、通信処理部１０７は、プロセッサ１０５にその事実を報告する。
【０１５４】
プロセッサ１０５から通信処理部１０７に対して送信の指示がされると、ＤＭＡ制御部１１２は、メモリ１０３内に準備されたデータ（フレーム）を読み出し、第二の記憶部１１３はそのデータを累算を行うことなしに格納し、送信生成部１１４はそのデータにヘッダやトレーラを付加することなしに出力する。メモリ１０３内に準備するデータ（フレーム）については、プロセッサ１０５において、メモリ１０３から受信フレームを読み出して解釈し、送信フレームを生成して格納するようにする。以上により、通信処理部１０７が対応していない通信プロトコルについても、通信端末１０１及び通信プロトコル処理回路１０２全体としては対応が可能となる。
【０１５５】
また、以上の説明では、通信処理部１０７内部のＤＭＡ制御部１１２によるアクセスは、メモリ１０３を対象としたＤＭＡとしたが、これに限らず、周辺制御部１０８に直接的にＩ／Ｏ（Input/Output）アクセスして、その先に接続される記憶装置等と、メモリ１０３を介さずに直接データを転送することも可能である。これにより、通信端末１０１全体が提供するサービスにおけるメモリ１０３へのアクセスが削減可能となる。
【０１５６】
また、以上の説明では、ヘッダやペイロードのデータ変換については説明していないが、これを行うことも可能である。ヘッダやペイロードのデータ変換が必要なプロトコルの例としては、例えばセキュリティのために暗号を施すプロトコルであるＩＰｓｅｃ（Internet Protocol Security、Security Architecture for the Internet Protocol）などがある。以下、ＩＰｓｅｃを例に挙げて簡単に説明する。
【０１５７】
受信解析部１１０は、受信フレームの解析中にそのフレームの一部の復号が必要であると判断すると、通信情報管理制御部１１５に対してその復号鍵を問い合わせ、これを受け取る。受信解析部１１０は、（暗復号処理は比較的重い処理であるため、受信解析部１１０の主要な動作に合わせてより高い動作周波数で動作する必要があるかもしれない）復号回路を備え、そこに復号対象のデータと復号鍵を入力し、復号結果を得る。受信解析部１１０は、その復号結果を解析するとともに、第一の記憶部１１１へ出力する。これにより、第一の記憶部１１１には、解析済みの、復号されたデータが格納される。
【０１５８】
また、通信情報管理制御部１１５は、フレームの一部を暗号化して送信することが必要であると判断すると、送信生成部１１４に対して暗号化鍵とその指示を与える。送信生成部１１４は、（送信生成部１１４の主要な動作に合わせてより高い動作周波数で動作する必要があるかもしれない）暗号化回路を備え、そこに暗号化対象のデータと暗号化鍵を入力し、暗号化結果を得る。これにより、送信生成部１１４は、必要な部分を暗号化したデータを出力する。このようにして、ヘッダやペイロードのデータ変換が必要なプロトコルにも対応可能となる。
明する。
【０１５９】
＜実施の形態２＞
半導体チップには、プロセッサや外部アクセスのための論理モジュールに加えて、メモリも一体化したものがある。本発明の実施の形態２では、そのような半導体チップに本発明を適用した例を説明する。
【０１６０】
図９は、本発明の実施の形態２である通信端末のハードウェア構成の一例を示した図である。通信プロトコル処理回路９０２は、前述したような半導体チップによって実現される。図９において、通信インタフェース９０３、プロセッサ９０４、周辺制御部９０６、信号処理部９０７の各部位の主要な機能は、実施の形態１におけるものと同様であるため、ここでの再度の説明は省略する。
【０１６１】
受信フレームを逐次記憶し、また、送信対象データを逐次累算しながら記憶する記憶手段である記憶部９０９は、内部に記憶装置を有し、プロセッサ９０４の動作を規定するプログラムデータや、プロセッサ９０４の作業データの他に、プロトコル処理のための作業データ、すなわち送信対象データと受信フレームを格納する。また、周辺制御部９０６に直接アクセスする機能も持ち、更に、プロセッサ９０４から書き込まれるデータあるいは周辺制御部９０６から受け取るデータを累算する機能も持つ。
【０１６２】
通信インタフェース９０３から、信号処理部９０７を介して受信フレームのデータが逐次入力されると、受信解析部９０８は、それを解析しながら記憶部９０９に逐次出力し、解析結果を通信情報管理制御部９１１に報告する。
【０１６３】
記憶部９０９は、逐次受け取る受信フレームのデータを内部の記憶装置に逐次格納する。また、受信解析部９０８から受信フレームの解析結果を受けた通信情報管理制御部９１１は、その受信フレームに受信対象データを含む場合、受信フレームではなくそれに含まれる受信対象データの記憶部９０９内における格納領域をプロセッサ９０４に報告する。この報告を受けて、プロセッサ９０４は受信対象データに対応する処理を行う。
【０１６４】
また、記憶部９０９は、プロセッサ９０４から所定の領域にデータを書き込まれると、そのデータを送信対象データと見なし、そのデータを格納するとともに累算していく。そして、送信対象データが書き込まれたことを通信情報管理制御部９１１に報告する。
【０１６５】
通信情報管理制御部９１１は、プロセッサ９０４から当該送信対象データの送信指示を受けると、あるいは所定のサイズのデータが書き込まれたことを認識すると、あるいは最後の書き込みから所定の時間が経過したことを認識すると、記憶部９０９に格納された当該データをフレーム化して送信するように、記憶部９０９及び送信生成部９１０に指示する。その指示を受けて記憶部９０９は、累算結果を送信生成部９１０に出力し、また送信対象データを送信生成部９１０に逐次出力する。
【０１６６】
通信情報管理制御部９１１の通信情報に基づいて、記憶部９０９に記憶された受信フレーム中の受信対象データもしくは送信対象データを逐次読み出して送信フレームを逐次生成する手段である送信生成部９１０は、通信情報管理制御部９１１から与えられる情報と、記憶部９０９から与えられる累算結果、及び逐次受け取る送信対象データとから送信フレームを生成し、信号処理部９０７を介して通信インタフェース９０３に送信フレームの信号を逐次印加する。
【０１６７】
また、受信フレームのペイロード部分を利用して応答フレームを送信する場合は、記憶部９０９は、受信解析部９０８を介して逐次受け取る受信フレームのデータを逐次格納し、送信生成部９１０は、記憶部９０９から受信フレームのペイロード部分を逐次受け取り、応答送信のフレームを逐次生成する流れとなる。
【０１６８】
なお、通信情報管理制御部９１１が、プロセッサ９０４からの設定により、受信フレームに対して、受信対象データを周辺制御部９０６へ直接出力することを判断した場合は、その指示を記憶部９０９に与える。そして記憶部９０９は、指示通りに受信対象データを周辺制御部９０６に直接出力する。
【０１６９】
また、通信情報管理制御部９１１が、プロセッサ９０４からの設定により、送信の際に、送信対象データを周辺制御部９０６から直接受け取ることを判断した場合は、送信対象データを周辺制御部９０６から直接受け取る指示を記憶部９０９に与える。そして記憶部９０９は、指示通りに送信対象データを周辺制御部９０６から直接受け取り、そのデータを格納しながら累算し、格納が完了すると、指示内容の完了を通信情報管理制御部９１１に報告する。その後、通信情報管理制御部９１１が、記憶部９０９及び送信生成部９１０に指示する以降の動作の流れは、前述の実施の形態１と同様である。
【０１７０】
以上に説明した通り、通信端末９０１における主要な論理とメモリを一体化した半導体チップにおいて、本実施の形態における通信プロトコル処理回路９０２は、プロトコル処理に適した動作を行う回路・構成として実装され、これにより前述した幅広い効果を享受可能である。
【０１７１】
なお、実施の形態１における図１の通信端末１０１、および実施の形態２における図９の通信端末９０１は、そのまま通信プロトコル処理を行う一つの回路や半導体チップとして実現可能であり、またそれぞれの構成要素を別々の回路や半導体チップとしても実現可能であり、さらにそれら構成要素のうちの複数を一つの回路や半導体チップとしても実現可能である。
【０１７２】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１７３】
本発明の通信プロトコル処理回路及び通信プロトコル処理方法ならびに通信端末は、ネットワーク機器、ＰＣやＡＶ機器等の組込み機器などをはじめとする、通信インタフェースと通信機能を有する通信端末に利用可能である。
【図面の簡単な説明】
【０１７４】
【図１】本発明の実施の形態１である通信端末のハードウェア構成の一例を示した図である。
【図２】本発明の実施の形態１における送信手順を示したフローチャートである。
【図３】本発明の実施の形態１における受信手順を示したフローチャートである。
【図４】本発明の実施の形態１における受信解析部の内部構成を示した図である。
【図５】本発明の実施の形態１における送信生成部の内部構成を示した図である。
【図６】本発明の実施の形態１における受信時の各部位間のデータの流れを時系列で示した図である。
【図７】本発明の実施の形態１における送信時の各部位間のデータの流れを時系列で示した図である。
【図８】本発明の実施の形態１における受信に対する応答送信時の各部位間のデータの流れを時系列で示した図である。
【図９】本発明の実施の形態２である通信端末のハードウェア構成の一例を示した図である。
【図１０】既存の通信端末のハードウェア構成の一例を示した図である。
【図１１】ＭＡＣを含めたＴＣＰ／ＩＰフレームのデータ構成を表した図である。
【符号の説明】
【０１７５】
１０１…通信端末、１０２…通信プロトコル処理回路、１０３…メモリ、１０４…通信インタフェース、１０５…プロセッサ、１０６…メモリ制御部、１０７…通信処理部、１０８…周辺制御部、１０９…信号処理部、１１０…受信解析部、１１１…第一の記憶部、１１２…ＤＭＡ制御部、１１３…第二の記憶部、１１４…送信生成部、１１５…通信情報管理制御部、
４０１…解析論理、４０２…状態レジスタ、
５０１…生成論理、５０２…状態レジスタ、
９０１…通信端末、９０２…通信プロトコル処理回路、９０３…通信インタフェース、９０４…プロセッサ、９０５…通信処理部、９０６…周辺制御部、９０７…信号処理部、９０８…受信解析部、９０９…記憶部、９１０…送信生成部、９１１…通信情報管理制御部、
１００１…通信端末、１００２…通信プロトコル処理回路、１００３…メモリ、１００４…通信インタフェース、１００５…プロセッサ、１００６…メモリ制御部、１００７…通信制御部、１００８…周辺制御部、１００９…信号処理部、１０１０…ＤＭＡ制御部。
【図１】
2009253723.tif 000003
【図２】
2009253723.tif 000004
【図３】
2009253723.tif 000005
【図４】
2009253723.tif 000006
【図５】
2009253723.tif 000007
【図６】
2009253723.tif 000008
【図７】
2009253723.tif 000009
【図８】
2009253723.tif 000010
【図９】
2009253723.tif 000011
【図１０】
2009253723.tif 000012
【図１１】
2009253723.tif 000013