(57)【要約】【課題】通信状況に応じて、内部バス幅を可変し得る、通信装置、通信システム、及び通信方法を提供する。【解決手段】通信装置１００は、伝送路として機能する複数の送信処理部１３及び受信処理部１４と、ホスト装置１８０によって設定され、且つ当該通信装置１００の消費電力を規定する、電力パラメータに基づいて、複数の送信処理部１３及び受信処理部１４の中から、動作させる送信処理部１３及び受信処理部１４を選択する電力設定制御部２０と、入力データを、選択された送信処理部１３又は受信処理部１４の数と同数の子データに変更し、各子データを、選択された送信処理部１３又は受信処理部１４に入力するデータ変更部（送信用データ変更部３０及び受信用データ変更部５０）と、子データを元のデータに戻して出力する、データ出力部（送信用データ出力部４０及び受信用データ出力部６０）とを備えている。【選択図】図１
2011239046.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置からの指示に応じて通信を行う通信装置であって、
伝送路として機能する複数の通信処理部と、
前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、電力設定制御部と、
前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、データ変更部と、
選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、データ出力部と、
を備えている、ことを特徴とする通信装置。
【請求項２】
前記通信処理部として、前記ホスト装置からの送信データの伝送路となる複数の送信処理部と、外部からの受信データの伝送路となる複数の受信処理部とが備えられ、
前記電力設定制御部が、前記電力パラメータに基づいて、前記複数の送信処理部の中から、動作させる送信処理部を選択し、更に、前記複数の受信処理部の中から、動作させる受信処理部を選択し、
前記データ変更部として、
前記送信データを、選択された前記送信処理部の数と同数の子送信データに変更し、前記子送信データを、選択された前記送信処理部それぞれに入力する、送信用データ変更部と、
前記受信データを、選択された前記受信処理部の数と同数の子受信データに変更し、前記子受信データを、選択された前記受信処理部それぞれに入力する、受信用データ変更部とが備えられ、
前記データ出力部として、
選択された前記送信処理部から前記子送信データを受け取り、受け取った前記子送信データを元の前記送信データに戻して外部に出力する、送信用データ出力部と、
選択された前記受信処理部から前記子受信データを受け取り、受け取った前記子受信データを元の前記受信データに戻して前記ホスト装置に出力する、受信用データ出力部とが備えられている、
請求項１に記載の通信装置。
【請求項３】
クロック信号を供給するクロック制御部を更に備え、
前記クロック制御部は、前記複数の通信処理部に対しては、選択された前記通信処理部にのみ前記クロック信号を供給する、請求項１または２に記載の通信装置。
【請求項４】
記憶部と、
前記ホスト装置が当該通信装置に対してレジスタの設定を指示する命令を出力すると、前記命令で指示された前記レジスタのアドレスに、前記命令で指示されたデータを書き込む、レジスタ制御部と、
前記レジスタ制御部が書き込みを行う際に、前記命令で指示された前記アドレスと、前記命令で指示された前記データとを取得し、これらを前記記憶部に記憶させる、ＩＯマクロ制御部とを備え、
前記ＩＯマクロ制御部は、前記記憶部に記憶されているアドレスとデータとを指定する命令が、新たに、前記ホスト装置から当該通信装置に出力されると、前記レジスタ制御部に代わり、前記記憶部に記憶されているアドレスに、前記記憶部に記憶されているデータを書き込む、
請求項１〜３のいずれかに記載の通信装置。
【請求項５】
複数の前記電力パラメータが、前記ホスト装置によって、条件毎に設定され、各条件に合致した場合に、対応する前記電力パラメータを含む前記送信データが、当該通信装置に送信され、
前記電力設定制御部が、前記送信データから、前記電力パラメータを取得する、
請求項２に記載の通信装置。
【請求項６】
ホスト装置と、前記ホスト装置からの指示に応じて通信を行う通信装置とを備え、
前記通信装置は、
伝送路として機能する複数の通信処理部と、
前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、電力設定制御部と、
前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、データ変更部と、
選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、データ出力部と、
を備えている、ことを特徴とする通信システム。
【請求項７】
ホスト装置からの指示に応じて通信を行い、且つ、伝送路として機能する複数の通信処理部を備える、通信装置を用いた通信方法であって、
（ａ）前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、ステップと、
（ｂ）前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、ステップと、
（ｃ）選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、ステップと、
を有する、ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ等の情報機器の通信に利用される通信装置、それを用いた通信システム、及び通信方法に関する。
【背景技術】
【０００２】
近年、ＩＴ技術の発展に伴い、コンピュータに代表される情報機器は、ネットワークを介して通信を行うため、通信装置を搭載している。通信装置は、情報機器のオペレーティングシステム（OS: Operating System）が作成したパケットデータを、ネットワーク上の他の情報機器へと送信する機能、及び他の情報機器からネットワークを経由して送られてきたパケットデータを受信する機能を有している。
【０００３】
また、一般に、情報機器においては、省電力化が求められている。例えば、ノート型のコンピュータ等の携帯型の端末装置では、稼働時間の延長を図るため、省電力化が求められている。更に、サーバコンピュータ等の据え置き型の装置であっても、環境保護の観点から省電力化が求められている。このため、通信装置においても、情報機器の省電力化に貢献するため、省電力化を促進する必要がある。
【０００４】
このような省電力化の要求に応えるため、特許文献１及び２は、通信プロトコルに沿った信号処理が必要とされない状態が検出されると、信号処理を実行する処理回路へのクロック信号の供給を停止する通信装置を開示している。また、特許文献１及び２に開示された通信装置では、信号処理の負荷に応じてクロック信号の周波数を変更することによっても、省電力化を図っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−８８４６７号公報
【特許文献２】特開２００１−６０９８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１及び２に開示された通信装置では、内部バス幅は、常に一定であり、また、これらは想定される最大トラフィック量に対応して設計されている。このため、特許文献１及び２に開示された通信装置を用いた場合であっても、省電力化には限界があり、省電力化は不十分である。
【０００７】
本発明の目的の一例は、上記問題を解消し、通信状況に応じて、内部バス幅を可変し得る、通信装置、通信システム、及び通信方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一側面における通信装置は、ホスト装置からの指示に応じて通信を行う通信装置であって、
伝送路として機能する複数の通信処理部と、
前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、電力設定制御部と、
前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、データ変更部と、
選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、データ出力部と、
を備えている、ことを特徴とする。
【０００９】
また、上記目的を達成するため、本発明の一側面における通信システムは、ホスト装置と、前記ホスト装置からの指示に応じて通信を行う通信装置とを備え、
前記通信装置は、
伝送路として機能する複数の通信処理部と、
前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、電力設定制御部と、
前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、データ変更部と、
選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、データ出力部と、
を備えている、ことを特徴とする。
【００１０】
更に、上記目的を達成するため、本発明の一側面における通信方法は、ホスト装置からの指示に応じて通信を行い、且つ、伝送路として機能する複数の通信処理部を備える、通信装置を用いた通信方法であって、
（ａ）前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、ステップと、
（ｂ）前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、ステップと、
（ｃ）選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、ステップと、
を有する、ことを特徴とする。
【発明の効果】
【００１１】
以上のように、本発明における、通信装置、通信システム、及び通信方法によれば、通信状況に応じて、内部バス幅を可変できる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施の形態における通信装置及び通信システムの構成を示すブロック図である。
【図２】図２は、図１に示した通信装置及び通信システムの具体例を示すブロック図である。
【図３】図３は、図２に示した省電力設定パケットの構成の一例を示す図である。
【図４】図４は、図２に示した省電力設定テーブルの一例を示す図である。
【図５】図５は、図２に示したＩＯマクロ制御部の構成を更に具体的に示すブロック図である。
【図６】図６は、図２に示した送信ＤＭＡ制御部の構成を更に具体的に示すブロック図である。
【図７】図７は、図２に示した送信ＭＡＣ制御部の構成を更に具体的に示すブロック図である。
【図８】図８は、図２に示した受信ＭＡＣ制御部の構成を更に具体的に示すブロック図である。
【図９】図９は、図２に示した受信ＤＭＡ制御部の構成を更に具体的に示すブロック図である。
【図１０】図１０は、本実施の形態における通信システムを構成するホスト装置の動作を示すフロー図である。
【図１１】図１１は、本実施の形態における通信装置の電力設定時の動作を示すフロー図である。
【図１２】図１２は、本実施の形態における通信装置の送信時の動作を示すフロー図である。
【図１３】図１３は、本実施の形態における通信装置の受信時の動作を示すフロー図である。
【発明を実施するための形態】
【００１３】
（実施の形態）
以下、本発明の実施の形態における、通信装置、通信システム、及び通信方法について、図１〜図１２を参照しながら説明する。最初に、本実施の形態における通信装置１００及び通信システム１０の全体構成について図１を用いて説明する。図１は、本発明の実施の形態における通信装置及び通信システムの構成を示すブロック図である。
【００１４】
図１に示すように、通信システム１０は、ホスト装置１８０と、ホスト装置１８０からの指示に応じて通信を行う通信装置１００とを備えている。本実施の形態では、通信システム１０は、パーソナルコンピュータ、サーバコンピュータといった汎用コンピュータである。
【００１５】
また、ホスト装置１８０は、ＣＰＵ１８１、メモリ１８２、及び、ＰＣＩ、ＰＣＩ−Ｘ、ＰＣＩ−Ｅｘｐｒｅｓｓ等のバス１８３を備えている。ホスト装置１８０は、通信システム１０として機能するコンピュータの一部である。通信装置１００も、ホスト装置１８０のバス１８３に接続されており、通信システム１００として機能するコンピュータの一部である。なお、通信システム１０は、汎用コンピュータに限定されず、携帯電話、スマートフォンといった通信端末等であっても良い。
【００１６】
また、図１に示すように、通信装置１００は、送信処理部１３−１〜１３−Ｎ、送信処理部１４−１〜１４−Ｎ、電力設定制御部２０、送信用データ変更部３０、受信用データ変更部５０、送信用データ出力部４０、及び受信用データ出力部６０を備えている。なお、Ｎは自然数である。
【００１７】
送信処理部１３−１〜１３−Ｎは、ホスト装置１８０からの送信データの伝送路として機能する。受信処理部１４−１〜１４−Ｎは、外部からの受信データの伝送路として機能する。なお、以降の説明において、「送信処理部１３」と記載されている場合は、任意の送信処理部を意味しているものとする。同様に、「受信処理部１４」と記載されている場合も、任意の受信処理部を意味しているものとする。
【００１８】
電力設定制御部２０は、ホスト装置１８０によって設定された電力パラメータに基づいて、送信処理部１３−１〜１３−Ｎの中から、動作させる送信処理部１３を選択し、更に、受信処理部１４−１〜１４−Ｎの中から、動作させる受信処理部１４を選択する。電力パラメータは、通信装置１００の消費電力を規定するパラメータであり、例えば、電力パラメータとしては、動作させる送信処理部１３又は受信処理部１４の個数が用いられる。
【００１９】
送信用データ変更部３０は、送信データを、選択された送信処理部の数と同数のデータ（以下「子送信データ」とする。）に変更し、子送信データを、選択された送信処理部それぞれに入力する。受信用データ変更部５０は、受信データを、選択された受信処理部の数と同数のデータ（以下「子受信データ」とする。）に変更し、子受信データを、選択された受信処理部それぞれに入力する。
【００２０】
送信用データ出力部４０は、選択された送信処理部から子送信データを受け取り、受け取った子送信データを元の送信データに戻して外部に出力する。受信用データ出力部６０は、選択された受信処理部から子受信データを受け取り、受け取った子受信データを元の受信データに戻してホスト装置１８０に出力する。
【００２１】
また、本実施の形態では、通信処理装置１００は、ホストインタフェース部１５０と、設定されているプロトコルに合わせてデータ処理を行うデータ処理部１５１とを更に備えている。ホストインタフェース部１５０は、ホスト装置１８０のバス１８３に直接接続され、ホスト装置１８０を構成するＣＰＵ１８１及びメモリ１８２との間でやり取りする信号を制御している。データ処理部１５１は、送信データ及び受信データに対して、設定されているプロトコルに合わせてデータ処理を実行する。
【００２２】
このように、通信装置１００では、ホスト装置１８０の指示に応じて、動作させる伝送路の数を変更することができる。従って、通信装置１００によれば、通信状況に応じて、内部バス幅を可変することができ、特許文献１及び２に開示された通信装置に比べて、省電力化のいっそうの促進を図ることができる。
【００２３】
また、図１に示した通信装置１００では、動作させる伝送路の数の変更は、送信時及び受信時の両方において行われているが、本実施の形態は、この態様に限定されるものではない。本実施の形態は、動作させる伝送路の数の変更が、送信又は受信のいずれか一方でのみ行われる態様であっても良い。例えば、図１において、受信側には、１の受信処理部及び受信用データ出力部のみが設けられている態様、又は、送信側には、１の送信処理部及び送信用データ出力部のみが設けられている態様であっても良い。これらの態様であっても、省電力化の促進を図ることができる。
【００２４】
続いて、図２を用いて、本実施の形態における通信装置１００及び通信システム１０の構成を具体的に説明する。図２は、図１に示した通信装置及び通信システムの具体例を示すブロック図である。
【００２５】
図２の例では、通信装置１００は、ホストインタフェース部１５０と、送信ＤＭＡ制御部３００と、Ｎ個の送信処理部１３−１〜１３−Ｎと、送信ＭＡＣ制御部４００と、ＭＡＣ処理部１６０と、ＰＨＹ処理部１７０と、受信ＭＡＣ制御部５００と、Ｎ個の受信処理部１４−１〜１４−Ｎと、受信ＤＭＡ制御部６００とを備えている。更に、通信装置１００は、レジスタ制御部１１０と、ＩＯマクロ制御部２００と、ＩＯ退避メモリ２９９と、ＰＬＬ１２０と、ＰＬＬ制御部１２９も備えている。
【００２６】
また、図２の例では、ホスト装置１８０からの送信データは、メモリ１８２のパケットデータ格納領域７００に格納されている各パケットデータ（以下「送信パケット」とする。）である。メモリ１８２に格納されている各送信パケットは、順次、バス１８３を経由して、送信ＤＭＡ制御部３００によって読み取られ、結果、通信装置１００に送信される。
【００２７】
また、ホスト装置１８０からの送信パケットの中には、電力パラメータを特定する省電力設定パケット（後述の図３参照）が含まれており、通信装置１００は、省電力設定パケットから電力パラメータを取得する。更に、図２の例では、ホスト装置１８０は、メモリ１８２に格納されている省電力設定テーブル８００（後述の図４参照）を用いて、電力パラメータの設定を行っている。なお、以降の説明では、電力パラメータは、「省電力レベル」と称する。
【００２８】
送信ＤＭＡ制御部３００は、図１に示した送信用データ変更部３０及び電力設定制御部２０として機能する。先ず、送信ＤＭＡ制御部３００は、送信データ（送信パケット）を１又は２以上の子送信データに変更するため、受信した省電力設定パケット（図３参照）に含まれる省電力レベルに基づいて、動作させる送信処理部１３及び受信処理部１４の個数Ｌを決定する。なお、「Ｌ」は「Ｎ」以下の自然数である。
【００２９】
また、送信ＤＭＡ制御部３００は、決定した個数Ｌを、送信ＤＭＡ制御部３００内のカウンタセレクタ３３０（後述の図４参照）、ＰＬＬ制御部１２９、送信ＭＡＣ制御部４００、受信ＤＭＡ制御部６００、及び受信ＭＡＣ制御部５００へと通知する。
【００３０】
次に、送信ＤＭＡ制御部３００は、個数Ｌを決定すると、送信パケットをＬ個の子送信データ（以下「子送信パケット」とする。）に変更する。具体的には、送信ＤＭＡ制御部３００は、Ｌが２以上であれば、１の送信パケットを、データ幅が元のＬ分の１となるＬ個の子送信パケットに分割し、各子送信パケットを、対応する送信処理部１３に出力する。また、このとき、送信ＤＭＡ制御部３００は、特定のデータ長単位で分割を行っており、各子送信パケットのデータ幅は、送信処理部１３で処理可能なデータ幅となっている。なお、Ｌが１の場合は、送信ＤＭＡ制御部３００は、元の送信パケットを、そのまま、対応する１の送信処理部１３に出力する。
【００３１】
送信処理部１３−１〜１３−Ｎは、それぞれ、送信パケット処理部１３１と、送信バッファ制御部１３２とを備えている。送信パケット処理部１３１は、子送信パケットが入力されると、子送信パケットに対してデータ変更処理を行う。データ変更処理としては、子送信パケットのフレームの書き換え処理、子送信パケットにフラグメント番号を付加するフラグメント処理等が挙げられる。また、送信パケット処理部１３１は、処理済みの子送信パケットを送信バッファ制御部１３２に出力する。
【００３２】
送信バッファ制御部１３２は、内部に送信ＦＩＦＯ１３３を備え、送信ＦＩＦＯ１３３に対するリードライト制御を実行する。送信ＦＩＦＯ１３３は、送信パケット処理部１３１が出力した子送信パケットを格納し、格納した順に、送信ＭＡＣ制御部４００に出力する。
【００３３】
また、上述したように、送信処理部１３−１〜１３−Ｎのうち、Ｌ個の送信処理部１３のみが動作するが、これは、ＰＬＬ制御部１２９がＬ個の送信処理部１３のみにクロック信号を供給することによって行われている。ＰＬＬ制御部１２９の動作については後述する。
【００３４】
送信ＭＡＣ制御部４００は、図１に示した送信用データ出力部４０として機能する。送信ＭＡＣ制御部４００は、先ず、送信ＤＭＡ制御部３００によって決定された送信処理部１３の個数Ｌを参照し、子送信パケットをリードする送信処理部１３を選択する。次に、送信ＭＡＣ制御部４００は、各送信処理部１３からリードした各子送信パケットを、それぞれのフラグメント番号に基づいて組み合わせ、データ幅がＬ倍となるパケットデータを生成する。また、このとき生成されたパケットデータは、送信ＤＭＡ制御部３００が読み出した送信パケットと同一のデータとなる。そして、送信ＭＡＣ制御部４００は、生成したパケットデータを、予めプロトコルによって規定されているデータ長単位で、ＭＡＣ処理部１６０に出力する。
【００３５】
また、ＭＡＣ処理部１６０及びＰＨＹ処理部１７０は、図１に示したデータ処理部１５１として機能する。ＭＡＣ処理部１６０は、例えば、ＩＥＥＥ８０２.３で規定された物理層及びデータリンク層の一部をサポートする処理を実行する。また、ＰＨＹ処理部１７０は、例えば、ＩＥＥＥ８０２.３で規定された物理層をサポートする処理を実行する。
【００３６】
受信ＭＡＣ制御部５００は、図１に示した受信用データ変更部５０として機能する。受信ＭＡＣ制御部５００は、先ず、送信ＤＭＡ制御部３００によって決定された受信処理部１４の個数Ｌを参照し、動作させる受信処理部１４を選択する。次に、受信ＭＡＣ制御部５００は、ＭＡＣ処理部１６０から受信処理部１４に向けて出力された受信データ（以下「受信パケット」とする。）を、Ｌ個の子受信データ（以下「子受信パケット」とする。）に変更する。
【００３７】
具体的には、受信ＭＡＣ制御部５００は、Ｌが２以上であれば、１の受信パケットを、データ幅が元のＬ分の１となるＬ個の子受信パケットに分割し、各子受信パケットを、対応する送信処理部１４に出力する。また、このとき、受信ＭＡＣ制御部５００は、特定のデータ長単位で分割を行っており、各子受信パケットのデータ幅は、受信処理部１４で処理可能なデータ幅となっている。なお、Ｌが１の場合は、受信ＭＡＣ制御部５００は、元の受信パケットを、そのまま、対応する１の受信処理部１４に出力する。
【００３８】
受信処理部１４−１〜１４−Ｎは、それぞれ、受信パケット処理部１４１と、受信バッファ制御部１４２とを備えている。受信パケット処理部１４１は、ＭＡＣ処理部１６０から受信した受信子パケットに対してデータ変更処理を行う。データ変更処理としては、送信処理部１３の例と同様に、子受信パケットのフレームの書き換え処理、子受信パケットにフラグメント番号を付加するフラグメント処理等が挙げられる。また、受信パケット処理部１４１は、処理済みの子送信パケットを受信バッファ制御部１４２に出力する。
【００３９】
受信バッファ制御部１４２は、内部に受信ＦＩＦＯ１４３を備え、受信ＦＩＦＯ１４３に対するリードライト制御を実行する。受信ＦＩＦＯ１４３は、受信パケット処理部１４１が出力した子受信パケットを格納し、格納した順に、受信ＤＭＡ制御部６００に出力する。
【００４０】
また、上述したように、受信処理部１４−１〜１４−Ｎのうち、Ｌ個の送信処理部１４のみが動作するが、これは、送信処理部１３の例と同様に、ＰＬＬ制御部１２９がＬ個の受信処理部１４のみにクロック信号を供給することによって行われている。ＰＬＬ制御部１２９の動作については後述する。
【００４１】
受信ＤＭＡ制御部６００は、図１に示した受信用データ出力部６０として機能する。受信ＤＭＡ制御部６００は、先ず、送信ＤＭＡ制御部３００によって決定された受信処理部１４の個数Ｌを参照し、子受信パケットをリードする受信処理部１４を選択する。
【００４２】
次に、受信ＤＭＡ制御部６００は、各受信処理部１４からリードした子受信パケットを、それぞれのフラグメント番号に基づいて組み合わせ、データ幅がＬ倍となるパケットデータを生成する。このとき生成されたパケットデータは、受信ＭＡＣ制御部５００が受信した受信パケットと同一のデータとなる。そして、受信ＤＭＡ制御部６００は、ホストインタフェース１５０介してメモリ１８２にアクセスし、生成したパケットデータを、予めプロトコルによって規定されているデータ長単位でメモリ１８２上に書き込む。
【００４３】
レジスタ制御部１１０は、ホスト装置１８０が通信装置１００に対して、レジスタの設定を指示する命令（以下「ＩＯ命令」とも言う。）を出力すると、この命令で指示されたレジストのアドレスに、この命令で指示されたデータの書き込みを実行する。なお、ここでいう「レジスタ」は、通信装置１００の内部ロジックを構成するレジスタをいう。また、レジスタ制御部１１０は、各レジスタに書き込みを実行しながら、ホスト装置１８０から受け取った信号を、ＩＯマクロ制御部２００にも伝搬する。
【００４４】
ＩＯマクロ制御部２００は、レジスタ制御部１１０が書き込みを行う際に、レジスタ制御部１１０から、ＩＯ命令で指示されたアドレス及びデータを取得し、これらをＩＯ退避メモリ２０９に格納させる。また、ＩＯマクロ制御部２００は、ＩＯ退避メモリ２０９に格納されているアドレスとデータとを指定するＩＯ命令がホスト装置１８０から新たに出力されると、レジスタ制御部１１０に代わり、記憶されているアドレスに、記憶されているデータの書き込みを実行する。
【００４５】
つまり、ＩＯマクロ制御部２００は、既に格納されているアドレス及びデータを利用できる場合が発生すると、これらを読み出して、通信装置１００の内部ロジックを設定する。このような場合の例としては、後述するように、ホスト装置１８０が、省電力レベルを、以前の設定に戻す場合が挙げられる。
【００４６】
また、ＰＬＬ１２０は、通信装置１００を動作させるためのクロック信号を生成し、これをＰＬＬ制御部１２９に供給する。ＰＬＬ制御部１２９は、ＰＬＬ１２０からのクロック信号を、ホストインタフェース１５０、送信ＤＭＡ制御部３００、送信処理部１３、受信処理部１４、送信ＭＡＣ制御部４００、及び受信ＭＡＣ制御部５００に供給し、クロック制御部として機能する。
【００４７】
また、ＰＬＬ制御部１２９は、送信処理部１３及び受信処理部１４に対しては、選択された場合にのみ、クロック信号を供給し、選択されなかった送信処理部１３及び受信処理部１４の動作を停止させる。なお、本実施の形態では、送信処理部１３及び受信処理部１４の動作の制御は、クロック信号の供給によって行われるが、この例に限定されるものではない。送信処理部１３及び受信処理部１４の動作は、例えば、電源の供給又は供給停止によって制御されていても良い。
【００４８】
［省電力設定パケット及び省電力設定テーブル］
ここで、上述した、省電力設定パケット及び省電力設定テーブル８００について、図３及び図４を用いて具体的に説明する。図３は、図２に示した省電力設定パケットの構成の一例を示す図である。図４は、図２に示した省電力設定テーブルの一例を示す図である。
【００４９】
図３に示すように、メモリのパケットデータ格納領域７００には、複数個の送信パケット３０１に加えて、省電力設定パケット７０１が格納されている。省電力設定パケット７０１は、送信先ＭＡＣアドレス７１１、送信元ＭＡＣアドレス７１２、プロトコルタイプ７１３、送受信パケット数７１４、省電力レベル７１５を含んでいる。
【００５０】
このうち、送受信パケット数７１４は、省電力パケット７０１の送信後に、通信装置１００の性能が低下しても、問題なく送信又は受信を行うことができるパケットデータの数を示している。また、省電力レベル７１５としては、図３及び図４の例では、動作させる送信処理部１３又は受信処理部１４の個数が採用されているが、省電力レベル７１５はこれに限定されるものではない。
【００５１】
また、プロトコルタイプ７１３は、通信装置１００が当該パケットが省電力設定パケット７０１であるかどうかを判断するために利用される。更に、プロトコルタイプ７１３により、送受信パケット数７１４が送信パケット３０１のカウントに対するものであるのか、受信パケットのカウントに対するものであるのかが、判別可能となる。
【００５２】
また、図４に示すように、本実施の形態では、省電力設定テーブル８００は、項目として、テーブルのエントリを示す項番８０１、開始時間８０２、終了時間８０３、通信速度８０４、コネクション数８０５、ＣＰＵ使用率８０６、及び省電力レベル８０７を有している。開始時間８０２は、省電力レベルの適用を開始できる時間を示し、終了時間８０３は、省電力レベルの適用を終了すべき時間を示している。
【００５３】
また、上記の項目のうち、開始時間８０２、通信速度８０４、コネクション数８０５、及びＣＰＵ使用率８０６は、省電力レベル８０７を適用するための適用条件を示しており、本実施の形態では、いずれかの項目が合致すれば、同行にある省電力レベル８０７が適用される。また、省電力レベル８０７は、上述したように、通信装置１００の消費電力を規定する電力パラメータであり、本実施の形態では、省電力レベル８０７に基づいて、動作させる送信処理部１３及び受信処理部１４の個数Ｌが特定される。
【００５４】
本実施の形態では、このような省電力設定テーブル８００に基づいて、条件に応じた省電力レベルが設定され、設定された省電力レベルが省電力設定パケット７０１によって通信装置１００に通知される。このため、状況に応じて通信装置１００の性能を変化させることができ、消費電力の削減を図ることができる。また、省電力レベル（電力パラメータ）及びその適用の条件は、ホスト装置１８０によって設定できるため、送信処理部１３及び受信処理部１４の切り替え時間、及び切替えるタイミングを、ホスト装置１８０で実行されるアプリケーションプログラムの関数からも自由に設定できる。
【００５５】
［通信装置の具体的構成］
続いて、図２に示した通信装置１００の具体的構成を、図５〜図９を用いて、更に詳細に説明する。図５は、図２に示したＩＯマクロ制御部の構成を更に具体的に示すブロック図である。図６は、図２に示した送信ＤＭＡ制御部の構成を更に具体的に示すブロック図である。図７は、図２に示した送信ＭＡＣ制御部の構成を更に具体的に示すブロック図である。図８は、図２に示した受信ＭＡＣ制御部の構成を更に具体的に示すブロック図である。図９は、図２に示した受信ＤＭＡ制御部の構成を更に具体的に示すブロック図である。
【００５６】
［ＩＯマクロ制御部］
図５を用いて、ＩＯマクロ制御部２００の構成について説明する。図５に示すように、ＩＯマクロ制御部２００は、ライトＩＯカウンタ２１１と、ライトＩＯベースアドレスレジスタ２１２と、リードライト指示レジスタ２１３と、データ作成部２１４と、ライトアドレス加算器２１５とを備えている。ＩＯマクロ制御部２００は、これらにより、ホスト装置１８０が通信装置１００に出力したＩＯ命令（レジスタのアドレス及びデータ）をＩＯ退避メモリ２０９に格納することができる。
【００５７】
ライトＩＯベースアドレスレジスタ２１２は、レジスタ制御部１１０が出力したライトＩＯベースアドレス指示信号に基づき、ホスト装置１８０から通信装置１００へのＩＯ命令の格納が開始される、ＩＯ退避メモリ２０９の最初の番地を設定し、これをライトアドレス加算機２１５に出力する。
【００５８】
ライトＩＯカウンタ２１１は、レジスタライト時に、ホスト装置１８０から通信装置１００へのライトイネーブル信号がアサートされると、インクリメント処理を実行し、インクリメント処理の結果をライトアドレス加算機２１５に出力する。ライトイネーブル信号は、ホスト装置１８０が通信装置１００内のレジスタ２２３にライトを指示するために出力する信号である。
【００５９】
また、図５においてレジスタ２２３は、通信装置１００の内部ロジックを構成する全てのレジスタを抽象的に示している。レジスタ２２３は、特定のレジスタに限定されず、後述する、パケットアドレスレジスタ３１１（図６参照）、パケットレングスレジスタ（図６参照）、パケットアドレスレジスタ６１１（図９参照）、及びパケットレングスレジスタ６１２（図９参照）も含む。
【００６０】
ライトアドレス加算器２１５は、ライトＩＯベースアドレスレジスタ２１２が出力した信号とライトＩＯカウンタ２１１が出力した信号とを加算し、これによって、ＩＯ退避メモリ２０９において書き込み（ライト）を行うアドレス（ライトアドレス）を算出する。また、ライトアドレス加算器２１５は、算出したライトアドレスをＩＯ退避メモリ２０９に出力する。
【００６１】
データ作成部２１４は、レジスタライト時にレジスタ制御部１１０がライトアドレス信号及びライトデータ信号を出力すると、これらの信号から、ホスト装置１８０がＩＯ命令で指示したアドレス及びデータを特定する。そして、データ作成部２１４は、特定したアドレス及びデータに基づいて、ＩＯ退避メモリ２０９に格納するライトデータを作成する。
【００６２】
リードライト指示レジスタ２１３には、ホスト装置１８０からのライトイネーブル信号、ＩＯ退避メモリ２０９からのリードを指示するＩＯメモリリード信号、及びＩＯ退避メモリ２０９へのライトを指示するＩＯメモリライト信号が入力される。リードライト指示レジスタ２１３は、入力されたこれらの信号に基づき、ＩＯ退避メモリ２０９に対してライトイネーブル又はリードイネーブルを指示する。
【００６３】
また、図２に示すように、ＩＯマクロ制御部２００は、リードＩＯベースアドレスレジスタ２０１と、リードＩＯカウンタ２０２と、比較器２０３と、命令長設定レジスタ２０４と、リードアドレス加算器２０５と、ＩＯマクロセレクタ２２１と、アドレスデコーダ２２２とを備えている。ＩＯマクロ制御部２００は、これらにより、ＩＯ退避メモリ２０９に格納したＩＯ命令（アドレス及びデータ）を用いてレジスタ２２３の設定を行うことができる。
【００６４】
リードＩＯベースアドレスレジスタ２０１は、レジスタ制御部１１０が出力したリードＩＯベースアドレス指示信号に基づき、ＩＯ命令の取り出しが開始される、ＩＯ退避メモリ２０９の最初の番地を設定し、これをリードアドレス加算機２０５に出力する。
【００６５】
命令長設定レジスタ２０４は、ＩＯ退避メモリ２０９に格納されたＩＯ命令を利用して通信装置１００へのレジスタライトを実行する際の命令長を設定する。具体的には、命令長設定レジスタ２０４は、レジスタ制御部１１０が出力したリードＩＯ命令長指示信号に基づき、リードＩＯベースアドレスレジスタ２０１が設定した番地からどこまでの番地をリード対象とするかを設定する。
【００６６】
リードＩＯカウンタ２０２は、比較器２０３の指示により、一定のタイミング毎にインクリメントを実行し、得られたカウント値を比較器２０３に入力する。比較器２０３は、命令長設定レジスタ２０４が設定した命令長と、リードＩＯカウンタ２０２から得られたカウント値とが等しくなるまで、リードＩＯカウンタ２０２に指示を出し続ける。そして、比較器２０３は、等しくなった場合に、ＩＯ退避メモリ２０９に割り込みの指示を出力する。
【００６７】
リードアドレス加算器２０５は、リードＩＯベースアドレスレジスタ２０１が設定した番地と、リードＩＯカウンタ２０２によって得られたカウント値とを加算し、リードアドレスを算出する。そして、リードアドレス加算器２０５は、算出したリードアドレスを、ＩＯ退避メモリに出力する。
【００６８】
ＩＯマクロセレクタ２２１は、ＩＯメモリリード信号に基づき、ＩＯ退避メモリ２０９に退避されているデータ、及びホスト装置１８０からライトされたデータのうちいずれかを選択し、レジスタ２２３へのライトデータを生成する。
【００６９】
アドレスデコーダ２２２は、ＩＯメモリリード信号に基づき、ＩＯ退避メモリ２０９に格納されているアドレス、又はホスト装置１８０から指示されたライトアドレスのうちいずれかを選択し、レジスタ２２３に対してライトイネーブルを指示する。
【００７０】
［送信ＤＭＡ制御部］
続いて、図６を用いて、送信ＤＭＡ制御部３００の構成について説明する。図６に示すように、送信ＤＭＡ制御部３００は、送信ＤＭＡコア部３１０と、カウンタセレクタ３３０と、Ｎ個のカウンタ３３１−１〜３３１−Ｎと、セレクタ３２０とを備えている。このうち、送信ＤＭＡコア部３１０は、更に、パケットアドレスレジスタ３１１と、パケットレングスレジスタ３１２と、送信パケット制御部３１３と、電力設定制御部２０とを備えている。なお、以降の説明において、カウンタ３３１−１〜３３１−Ｎのうち、任意のカウンタを示す場合は、「カウンタ３３１」とする。
【００７１】
送信ＤＭＡコア部３１０において、パケットアドレスレジスタ３１１は、ホスト装置１８０（図２参照）のメモリ１８２上の送信パケット３０１が格納されているアドレスを保持している。パケットレングスレジスタ３１２は、送信パケット３０１のパケット長を保持している。
【００７２】
電力設定制御部２０は、ホスト装置１８０から送信された省電力設定パケット７０１を取得し、上述したように個数Ｌを決定する（図１参照）。そして、電力設定制御部２０は、パケット数７１４（図３参照）に基づいたタイミングで、省電力レベル７１５に応じて、ＰＬＬ制御部１２９（図２参照）、カウンタセレクタ３３０、カウンタセレクタ４３０（図７参照）、カウンタセレクタ５３０（図８参照）、カウンタセレクタ６３０（図９参照）に対して、動作させる送信処理部１３及び受信処理部１４の個数Ｌを通知する。
【００７３】
送信パケット制御部３１３は、送信パケット３０１をＬ個の子送信パケット３０２に変更するため、送信パケット３０１のセレクタ３２０への出力に際し、パケットアドレスレジスタ３１１及びパケットレングスレジスタ３１２を参照して、セレクタ３２０にスタート信号及びエンド信号を出力する。
【００７４】
具体的には、送信パケット制御部３１３は、セレクタ３２０に、先ず、送信パケット３０１のデータの先頭を示すスタート信号を出力する。更に、送信パケット制御部３１３は、送信ＤＭＡコア部３１０から送信パケット３０１のフラグメント分のデータが出力されると、セレクタ３２０に、フラグメント分のデータの出力の完了を示すエンド信号も出力する。また、フラグメント分のデータの出力と、エンド信号の出力とについては、フラグメントの数（Ｌ個）だけ繰り返し行われる。なお、送信パケット３０１のフラグメント分のデータとは、子送信パケット３０２に相当するデータであり、そのデータ幅は元の受信パケット３０１のＬ分の１となっている。また、このフラグメント分のデータ単位で、各送信処理部１３は、フラグメント処理を実行する。
【００７５】
また、送信パケット制御部３１３は、エンド信号の出力と同時に、カウンタ３３１−１〜３３１−Ｎに対して、ＥＯＰ（End Of Packet）指示を出力する。カウンタ３３１−１〜３３１−Ｎは、ＥＯＰ指示が入力されると、その度にインクリメントを行い、カウンタ値をカウンタセレクタ３３０に入力する。但し、カウンタ３３１−１〜３３１−Ｎは、それぞれ、カウントできる最大値が異なっている。例えば、カウンタ３３１−１は、「１」までしかカウントできないが、カウンタ３３１−Ｎは、「１」から「Ｎ」までをカウントできる。
【００７６】
カウンタセレクタ３３０は、電力設定制御部２０から個数Ｌが通知されると、カウンタ３３１−１〜３３１−Ｎの中から、１からＬまでをカウント可能なカウンタ３３１−Ｌを選択する。そして、カウンタセレクタ３３０は、選択したカウンタ３３１−Ｌのカウンタ値のみをセレクタ３２０に出力する。
【００７７】
セレクタ３２０は、カウンタセレクタ３３０から出力されたカウンタ値に応じて、送信処理部１３−１〜１３−Ｎの中から１つの送信処理部１３を選択する。そして、セレクタ３２０は、選択した送信処理部１３に対して、スタート信号（最初の送信処理部１３−１に対してのみ）、フラグメント分のデータ（子送信パケット３０２）、及びエンド信号を、順に出力する。このような処理により、送信パケット３０１は、Ｌ個の子送信パケット３０２に変更され、Ｌ個の送信処理部１３それぞれへと出力される。
【００７８】
［送信ＭＡＣ制御部］
続いて、図７を用いて、送信ＭＡＣ制御部４００の構成について説明する。図７に示すように、送信ＭＡＣ制御部４００は、セレクタ４１０と、送信パケット検出部４２０と、カウンタセレクタ４３０と、Ｎ個のカウンタ４３１−１〜４３１−Ｎとを備えている。カウンタ４３１−１〜４３１−Ｎは、カウンタ３３１−１〜３３１−Ｎ（図６参照）と同様に、それぞれ、カウントできる最大値が異なるカウンタである。カウンタ４３１−１〜４３１−Ｎは、送信パケット検出部４２０からＥＯＰ指示が入力されると、その度にインクリメントを行う。なお、以降の説明において、カウンタ４３１−１〜４３１−Ｎのうち、任意のカウンタを示す場合は、「カウンタ４３１」とする。
【００７９】
カウンタセレクタ４３０は、カウンタセレクタ３３０（図６参照）と同様に、電力設定制御部２０（図６参照）から個数Ｌが通知されると、カウンタ４３１−１〜４３１−Ｎの中から、１からＬまでをカウント可能なカウンタ４３１−Ｌを選択する。そして、カウンタセレクタ４３０は、選択したカウンタ４３１−Ｌのカウンタ値のみをセレクタ４１０に出力する。
【００８０】
セレクタ４１０は、セレクタ３２０（図６参照）と同様に、カウンタセレクタ４３０から出力されたカウンタ値に応じて、送信処理部１３−１〜１３−Ｎの中から１つの送信処理部１３を選択する。そして、セレクタ４１０は、選択した送信処理部１３から、スタート信号（最初の送信処理部１３−１からのみ）、子送信パケット３０２、及びエンド信号を順次受け取り、これらを送信パケット検出部４２０に出力する。
【００８１】
送信パケット検出部４２０は、セレクタ４１０から、スタート信号、各子送信パケット３０２、及び各エンド信号を順次受け取ると、各子送信パケット３０２を結合して、これらを連続した１つの送信パケット３０１に戻し、送信パケット３０１をＭＡＣ処理部１６０に出力する。また、送信パケット検出部４２０は、送信処理部１３からのエンド信号を検出すると、検出の度に、カウンタ４３１に、上述したＥＯＰ指示を出力する。更に、送信パケット検出部４２０は、スタート信号と、送信パケット３０１の出力完了を示すエンド信号（以下「送信パケット・エンド信号」という。）もＭＡＣ処理部１６０に出力する。
【００８２】
また、送信パケット検出部４２０からのＥＯＰ指示と、送信パケット制御部３１３（図６参照）からのＥＯＰ指示は、共に、エンド信号を契機として出力されていることから、カウンタ４３１のカウンタ値と、カウンタ３３１のカウンタ値とは同期する。この結果、セレクタ３２０（図６参照）が選択する送信処理部１３と、セレクタ４１０が選択する送信処理部１３とは一致することとなる。
【００８３】
［受信ＭＡＣ制御部］
続いて、図８を用いて、受信ＭＡＣ制御部５００の構成について説明する。図８に示すように、受信ＭＡＣ制御部５００は、セレクタ５１０と、受信パケット検出部５２０と、カウンタセレクタ５３０と、Ｎ個のカウンタ５３１−１〜５３１−Ｎとを備えている。なお、以降の説明において、カウンタ５３１−１〜５３１−Ｎのうち、任意のカウンタを示す場合は、「カウンタ５３１」とする。
【００８４】
受信パケット検出部５２０は、先ず、ＭＡＣ処理部１６０が出力した、受信パケット５０１の先頭を示すスタート信号、受信パケット５０１、受信パケット５０１の最後を示すエンド信号（以下「受信パケット・エンド信号」とする。）を受信し、受信パケット５０１を検出する。
【００８５】
続いて、受信パケット検出部５２０は、受信パケット５０１をＬ個の子受信パケット５０２に変更するため、受信パケット５０１のセレクタ５１０への出力に際し、セレクタ５１０に、スタート信号、及びフラグメント分のデータの完了を示すエンド信号も出力する。
【００８６】
具体的には、受信パケット検出部５２０は、セレクタ５１０に、先ず、受信パケット５０１の先頭を示すスタート信号を出力し、次に、受信パケット５０１のフラグメント分のデータを出力し、その後に、フラグメント分のデータの出力の完了を示すエンド信号を出力する。また、受信パケット検出部５２０は、フラグメント分のデータの出力と、エンド信号の出力とについては、フラグメントの数（Ｌ個）だけ繰り返す。なお、受信パケット５０１のフラグメント分のデータとは、子受信パケット５０２に相当するデータであり、そのデータ幅は元の受信パケット５０１のＬ分の１となっている。また、このフラグメント分のデータ単位で、各受信処理部１４は、フラグメント処理を実行する。
【００８７】
また、受信パケット検出部５２０は、エンド信号の出力と同時に、カウンタ５３１−１〜５３１−Ｎに対して、ＥＯＰ（End Of Packet）指示を出力する。カウンタ５３１−１〜５３１−Ｎは、カウンタ３３１−１〜３３１−Ｎ（図６参照）と同様に、それぞれ、カウントできる最大値が異なるカウンタである。カウンタ５３１−１〜５３１−Ｎは、受信パケット検出部５２０からＥＯＰ指示が入力されると、その度に、インクリメントを行う。
【００８８】
カウンタセレクタ５３０は、カウンタセレクタ３３０（図６参照）と同様に、電力設定制御部２０（図６参照）から個数Ｌが通知されると、カウンタ５３１−１〜５３１−Ｎの中から、１からＬまでをカウント可能なカウンタ５３１−Ｌを選択する。そして、カウンタセレクタ５３０は、選択したカウンタ５３１−Ｌのカウンタ値のみをセレクタ５１０に出力する。
【００８９】
セレクタ５１０は、カウンタセレクタ５３０から出力されたカウンタ値に応じて、受信処理部１４−１〜１４−Ｎの中から１つの受信処理部１４を選択する。そして、セレクタ５１０は、選択した受信処理部１４に対して、スタート信号（最初の受信処理部１４−１に対してのみ）、フラグメント分のデータ（子受信パケット５０２）、及びエンド信号を、順に出力する。このような処理により、受信パケット５０１は、Ｌ個の子受信パケット５０２に変更され、Ｌ個の受信処理部１４それぞれへと出力される。
【００９０】
［受信ＤＭＡ制御部］
続いて、図９を用いて、受信ＤＭＡ制御部６００の構成について説明する。図９に示すように、受信ＤＭＡ制御部６００は、図６に示すように、受信ＤＭＡコア部６１０と、セレクタ６２０と、カウンタセレクタ６３０と、Ｎ個のカウンタ６３１−１〜６３１−Ｎとを備えている。このうち、受信ＤＭＡコア部６１０は、更に、パケットアドレスレジスタ６１１と、パケットレングスレジスタ６１２と、受信パケット制御部６１３とを備えている。なお、以降の説明において、カウンタ６３１−１〜６３１−Ｎのうち、任意のカウンタを示す場合は、「カウンタ６３１」とする。
【００９１】
カウンタ６３１−１〜６３１−Ｎは、カウンタ３３１−１〜３３１−Ｎ（図６参照）と同様に、それぞれ、カウントできる最大値が異なるカウンタである。カウンタ６３１−１〜６３１−Ｎは、受信パケット制御部６１３からＥＯＰ指示が入力されると、その度にインクリメントを行う。
【００９２】
カウンタセレクタ６３０は、カウンタセレクタ３３０（図６参照）と同様に、電力設定制御部２０（図６参照）から個数Ｌが通知されると、カウンタ６３１−１〜６３１−Ｎの中から、１からＬまでをカウント可能なカウンタ６３１−Ｌを選択する。そして、カウンタセレクタ６３０は、選択したカウンタ６３１−Ｌのカウンタ値のみをセレクタ６２０に出力する。
【００９３】
セレクタ６２０は、セレクタ３２０（図６参照）と同様に、カウンタセレクタ６３０から出力されたカウンタ値に応じて、受信処理部１４−１〜１４−Ｎの中から１つの受信処理部１４を選択する。そして、セレクタ６２０は、選択した受信処理部１４から、スタート信号、子受信パケット５０２、及びエンド信号を順次受け取る。この後、セレクタ６２０は、受信ＤＭＡコア部６１０に対して、スタート信号を出力し、更に、子受信パケット５０２毎に、子受信パケット５０２とエンド信号とを出力する。
【００９４】
受信ＤＭＡコア部６１０において、パケットアドレスレジスタ６１１は、ホスト装置１８０のメモリ１８２上における、受信パケット５０１を格納可能なアドレスを保持している。パケットレングスレジスタ６１２は、メモリ１８２上に書き込むことができるパケットデータのデータ長を保持している。
【００９５】
受信パケット制御部６１３は、セレクタ６２０から、スタート信号と、受信処理部１４毎のエンド信号とを受信する。そして、受信ＤＭＡコア部６１０は、受信パケット制御部６１３が受信したスタート信号及び各エンド信号を参照し、受信されたＬ個の子受信パケット５０２を結合して、連続した１つの受信パケット５０１を生成する。
【００９６】
また、受信ＤＭＡコア部６１０は、ホストインタフェース部１５０（図２参照）介して、生成した受信パケット５０１を、パケットアドレスレジスタ６１１で保持されているメモリ１８０上のアドレスに書き込む。また、受信パケット制御部６１３は、受信処理部１４からのエンド信号を検出すると、検出の度に、カウンタ６３１に、上述したＥＯＰ指示を出力する。
【００９７】
また、受信パケット制御部６１３は、セレクタ６２０からのスタート信号及び各エンド信号を参照し、受信パケット５０１のデータ長を算出し、算出したデータ長が、パケットレングスレジスタ６１３が保持するデータ長の範囲内にあるかどうかを判定する。範囲内に無い場合は、受信パケット制御部６１３は、受信パケット５０１を複数個のパケットデータに分割し、分割されたパケットデータ毎に、ホストインタフェース部１５０（図２参照）に出力する。
【００９８】
［通信装置及び通信システムの動作］
次に、本発明の実施の形態における通信装置１００及び通信システム１０の動作について図１０〜図１４を用いて説明する。なお、以下の説明においては、適宜図１〜図９を参酌する。また、本実施の形態では、通信装置１００を動作させることによって、通信方法が実施される。よって、本実施の形態における通信方法の説明は、以下の通信装置１００の動作説明に代える。
【００９９】
先ず、以下の図１０〜図１４に示される処理が実行される前に、通信装置１００では、設定処理が実行される。具体的には、ホスト装置１８０（図１及び図２参照）によるレジスタの設定の前に、レジスタ制御部１１０は、先ず、ライトＩＯベースアドレス指示信号（図５参照）を出力し、ＩＯマクロ制御部２００内のライトＩＯベースアドレスレジスタ２１２を設定する。続いて、レジスタ制御部１１０は、ＩＯメモリライト信号を有効にする。これらの処理により、通信装置１００のレジスタ２２３（内部ロジックを構成する各レジスタ）は、設定可能な状態となる。
【０１００】
［ホスト装置における処理］
その後、ホスト装置１８０が、図１０に示す処理を実行する。図１０は、本実施の形態における通信システムを構成するホスト装置の動作を示すフロー図である。なお、ホスト装置１８０においては、図１０に示す処理が実行される前に、予め、省電力設定テーブル８００（図４参照）が設定されているとする。また、ホスト装置１８０は、既に、レジスタ制御部１１０を介して、通信装置１００内の各レジスタに対して設定を行っており、通信装置１００を介して通信を開始しているとする。
【０１０１】
図１０に示すように、先ず、ホスト装置１８０は、現在、省電力設定テーブル８００に登録されている適用条件が満たされているかどうかを判定する（ステップＡ１）。具体的には、ホスト装置１８０は、現在の時刻が開始時間８０２と等しくなると、現在の通信速度が通信速度８０４の値以下であるか、現在のコネクション数がコネクション数８０５の値以下であるか、及び現在のＣＰＵ使用率がＣＰＵ使用率８０６の値以上であるか、どうかを判定する。ホスト装置１８０は、通信速度、コネクション数、及びＣＰＵ使用率のうち少なくとも１つが要件を満たす場合は、適用条件が満たされていると判定する。
【０１０２】
ステップＡ１の判定の結果、適用条件が満たされていない場合は、ホスト装置１８０は待機状態となる。一方、ステップＡ１の判定の結果、適用条件が満たされている場合は、ホスト装置１８０は、省電力設定パケット７０１（図３参照）を作成する（ステップＡ２）。
【０１０３】
本実施の形態では、ホスト装置１８０は、省電力設定テーブル８００の省電力レベル８０７、現在待機中の送信パケットの数、及び実行中のアプリケーションプログラムの種類に基づき、省電力設定パケット７０１の送信後に通信装置１００の性能が低下しても問題無く送信又は送信できるパケット数を特定する。そして、ホスト装置１８０は、特定したパケット数を、省電力設定パケット７０１における送信パケット数７１４に設定し、この送信パケット数７１４を含む省電力設定パケット７０１を作成する。また、ホスト装置１８０は、作成した省電力設定パケット７０１を、メモリ１８２上のパケットデータ格納領域７００に格納する（図２参照）。
【０１０４】
次に、ホスト装置１８０は、省電力設定パケット７０１が通信装置１００によって読み込まれた後、省電力設定テーブル８００に登録されている終了条件が満たされているかどうかを判定する（ステップＡ３）。具体的には、ホスト装置１８０は、現在の時刻が、終了時間８０３と等しくなっているかどうかを判定する。
【０１０５】
ステップＡ３の判定の結果、終了条件が満たされていない場合は、ホスト装置１８０は待機状態となる。一方、ステップＡ３の判定の結果、終了条件が満たされている場合は、ホスト装置１８０は、省電力設定テーブル８００に登録されている次の適用条件が満たされているかどうかを判定する（ステップＡ４）。
【０１０６】
ステップＡ４の判定の結果、次の適用条件が満たされている場合は、ホスト装置１８０は、再度、ステップＡ２以降を実行する。一方、ステップＡ４の判定の結果、次の適用条件が満たされていない場合は、ホスト装置１８０は、通信装置１００を、ステップＡ２で作成された省電力設定パケット７０１が送信される前の状態（元の状態）に戻すために、別の省電力設定パケット７０１を生成する（ステップＡ５）。
【０１０７】
その後、ステップＡ５で作成された省電力設定パケット７０１が通信装置１００によって読み込まれ、ホスト装置１８０における処理は終了する。なお、本実施の形態では、ステップＡ１〜Ａ５は、ホスト装置１８０が起動している間、繰り返し実行される。
【０１０８】
［電力設定処理］
次に、図１１を用いて、通信装置１００における電力設定処理について説明する。図１１は、本実施の形態における通信装置の電力設定時の動作を示すフロー図である。図１１に示す処理は、主に、送信ＤＭＡ制御部３００における電力設定制御部２０（図６参照）によって実行される。
【０１０９】
図１１に示すように、先ず、電力設定制御部２０は、省電力レベルが変更されているかどうかを判定する（ステップＢ１）。具体的には、送信ＤＭＡ制御部３００が、メモリ１８２のパケットデータ格納領域７００からパケットをリードすると、電力設定制御部２０は、パケットのプロトコルタイプのフィールドをチェックし、当該パケットが省電力設定パケット７０１であるかどうかを判定する。当該パケットが省電力設定パケット７０１である場合は、電力設定制御部２０は、省電力レベルが変更されていると判断する。
【０１１０】
ステップＢ１の結果、省電力レベルが変更されていない場合は、電力設定制御部２０は、待機状態となる。一方、ステップＢ１の結果、省電力レベルが変更されている場合は、電力設定制御部２０は、その後に送信される予定のパケットデータの数又はその後に受信される予定のパケットデータの数をカウントし、カウント値が条件に合致するかどうかを判定する（ステップＢ２）。具体的には、電力設定制御部２０は、カウント値が送受信パケット数７１４（図３参照）と等しくなっているかどうかを判定する。
【０１１１】
ステップＢ２の判定の結果、カウント値が条件に合致しない場合（受信パケット数７１４と等しくない場合）は、電力設定制御部２０は、待機状態となる。一方、ステップＢ２の判定の結果、カウント値が条件に合致する場合（受信パケット数７１４と等しい場合）は、電力設定制御部２０は、省電力設定パケット７０１から、省電力レベル７１５（個数Ｌ）を特定する（ステップＢ３）。
【０１１２】
次に、電力設定制御部２０は、ＰＬＬ制御部１２９（図２参照）に省電力レベル７１５を通知する（ステップＢ４）。ステップＢ４では、ＰＬＬ制御部１２９は、特定された省電力レベル７１５に合わせて、Ｌ個の送信処理部１３及び受信処理部数１４に対してのみクロック信号を供給する。具体的には、ＰＬＬ制御部１２９は、クロック信号の供給が停止されていた送信処理部１３及び受信処理部数１４に対するクロック信号の供給再開、クロック信号の供給が行われていた送信処理部１３及び受信処理部数１４に対するクロック信号の供給停止等を行う。
【０１１３】
次に、電力設定制御部２０は、カウンタセレクタ３３０、カウンタセレクタ４３０（図７参照）、カウンタセレクタ５３０（図８参照）、及びカウンタセレクタ６３０（図９参照）に対しても、省電力レベル７１５（個数Ｌ）を通知する（ステップＢ５）。
【０１１４】
ステップＢ５が実行されると、カウンタセレクタ３３０、カウンタセレクタ４３０、カウンタセレクタ５３０、及びカウンタセレクタ６３０は、１からＬまでをカウント可能なカウンタを選択し、選択したカウンタのカウンタ値を、対応するセレクタに出力する。また、この結果、セレクタ３２０、レクタ４１０、セレクタ５１０、及びセレクタ６２０は、選択されたカウンタの最大カウンタ値以上の数の送信処理部１３又は受信処理部１４を選択することができなくなる。
【０１１５】
また、本実施の形態では、ステップＢ３の実行後、電力設定制御部２０は、ステップＢ３で特定された省電力レベル７１５が以前にも設定されているかどうかを判断することができる。具体的には、この場合、電力設定制御部２０は、ステップＢ１での省電力パケットのリードの際にホスト装置１８０が出力したＩＯ命令が、ＩＯ退避メモリ２０９に既に格納されているかどうかを判定する。
【０１１６】
そして、ステップＢ３で特定された省電力レベル７１５が以前にも設定されていた場合は、電力設定制御部２０は、レジスタ制御部１１０を介して、ＩＯマクロ制御部２００にＩＯメモリリード信号を出力することができる。この場合、ＩＯマクロ制御部２００は、ＩＯ退避メモリ２０９をライトイネーブルとし、ＩＯ退避メモリ２０９に格納されているアドレスとデータとを用いて、通信装置１００内の各レジスタ２２３（図５参照）を再設定することができる。
【０１１７】
ステップＢ５の実行後、電力設定制御部２０における処理は一旦終了する。但し、ステップＢ１〜ステップＢ５は、通信装置１００において、省電力レベルの変更が必要な場合は、繰り返し実行される。
【０１１８】
［送信処理］
次に、図１２を用いて、通信装置１００における送信パケットの送信処理について説明する。図１２は、本実施の形態における通信装置の送信時の動作を示すフロー図である。図１２に示す処理は、送信ＤＭＡ制御部３００（図６参照）及び送信ＭＡＣ制御部４００（図７参照）によって実行される。
【０１１９】
図１２に示すように、先ず、送信ＤＭＡ制御部３００の送信ＤＭＡコア部３１０は、パケットアドレスレジスタ３１１に保持されているメモリ１８２のアドレスから、送信パケット３０１の読み込みを実行する（ステップＣ１）。次に、送信ＤＭＡコア部３００は、送信パケット３０１からＬ個の子送信パケット３０２を作成し、Ｌ個の送信処理部１３それぞれに、子送信パケット３０２を出力する（ステップＣ２）。
【０１２０】
具体的には、ステップＣ２では、送信パケット制御部３１３（図６参照）が、セレクタ３２０に対して、送信パケット３０１の先頭を示すスタート信号を出力する。そして、送信ＤＭＡコア部３１０が、送信パケット３０１のフラグメント分のデータを出力すると、送信パケット制御部３１３は、その度に、セレクタ３２０に対して、フラグメント分のデータの出力の完了を示すエンド信号を出力する。エンド信号は、後段の処理を行う各部に対して、パケットの切れ目を通知する役目を担っている。
【０１２１】
更に、ステップＣ２では、セレクタ３２０は、カウンタセレクタ３３０が通知するカウンタ３３１のカウンタ値に従って、送信処理部１３の選択を切り替え、子送信パケット３０２の出力先を決定する。また、カウンタ３３１は、送信パケット制御部３１３がエンド信号の出力と同時にＥＯＰ指示を出力する度に、カウンタ値をインクリメントしているため、フラグメント分のデータ単位で、送信処理部１３の選択の切り替えが行われることとなる。
【０１２２】
また、セレクタ３２０は、選択した送信処理部毎に、スタート信号（最初の送信処理部１３−１に対してのみ）、フラグメント分のデータ（子送信パケット３０２）、及びエンド信号を、順に出力する。この結果、送信パケット３０１は、Ｌ個の子送信パケット３０２に変更され、各送信処理部１３に子送信パケット３０２が出力される。
【０１２３】
また、ステップＣ２において、選択された各送信処理部１３では、送信パケット処理部１３１は、子送信パケット３０２に対して、フラグメント処理等のデータ変更処理を実行する。また、選択された各送信処理部１３では、送信バッファ制御部１３２は、データ変更処理後の子送信パケット３０２を、送信ＦＩＦＯ１３３で一旦保持し、その後、送信ＭＡＣ制御部４００（図７参照）へと出力する。
【０１２４】
次に、送信ＭＡＣ制御部４００は、各子送信パケット３０２から、元の送信パケット３０１を生成する（ステップＣ３）。具体的には、ステップＣ３では、セレクタ４１０は、カウンタセレクタ４３０が通知するカウンタ４３１のカウンタ値に従って、送信処理部１３の選択を切り替え、子送信パケット３０２の読み取り先となる送信処理部１３を決定する。また、カウンタ４３１は、送信パケット検出部４２０がエンド信号の検出と同時にＥＯＰ指示を出力する度にカウンタ値をインクリメントしているため、送信ＭＡＣ制御部４００においても、フラグメント分のデータ単位で、送信処理部１３の選択の切り替えが行われることとなる。
【０１２５】
また、ステップＣ３では、セレクタ４１０は、選択された各送信処理部１３が出力した、スタート信号（最初の送信処理部１３−１のみ）、子送信パケット３０２、及びエンド信号を、送信パケット検出部４２０に出力する。送信パケット検出部４２０は、スタート信号及びエンド信号に基づき、各子送信パケット３０２を結合して、これらを、連続した１つの送信パケット３０１に戻す。
【０１２６】
その後、送信ＭＡＣ制御部４００において、送信パケット検出部４２０は、生成した送信パケット３０１をＭＡＣ処理部１６０に出力する（ステップＣ４）。ステップＣ４では、送信パケット検出部４２０は、スタート信号と、送信パケット３０１の出力完了を示す送信パケット・エンド信号もＭＡＣ処理部１６０に出力する。なお、ステップＣ１〜Ｃ４は、１つの送信パケット３０１の送信処理のみを示している。ステップＣ１〜Ｃ４は、送信パケット３０１の数だけ繰り返し実行される。
【０１２７】
［受信処理］
次に、図１３を用いて、通信装置１００における受信パケットの受信処理について説明する。図１３は、本実施の形態における通信装置の受信時の動作を示すフロー図である。図１３に示す処理は、受信ＭＡＣ制御部５００（図８参照）及び受信ＤＭＡ制御部６００（図９参照）によって実行される。
【０１２８】
図１３に示すように、先ず、受信ＭＡＣ制御部５００は、ＭＡＣ処理部１６０から、受信パケット５０１を受け取る（ステップＤ１）。具体的には、ステップＤ１では、受信パケット検出部５２０が、ＭＡＣ処理部１６０から、受信パケット５０１の先頭を示すスタート信号、受信パケット５０１、及び受信パケット５０１の最後を示す受信パケット・エンド信号を順に受け取る。
【０１２９】
次に、受信ＭＡＣ制御部５００は、受信パケット５０１からＬ個の子受信パケット５０２を作成し、Ｌ個の受信処理部１４それぞれに、子受信パケット５０２を出力する（ステップＤ２）。
【０１３０】
具体的には、ステップＤ２では、先ず、受信パケット検出部５２０が、セレクタ５１０に、受信パケット５０１の先頭を示すスタート信号を出力し、次に、受信パケット５０１のフラグメント分のデータを出力し、その後に、フラグメント分のデータの出力の完了を示すエンド信号を出力する。更に、受信パケット検出部５２０は、フラグメント分のデータの出力と、エンド信号の出力とについては、フラグメントの数（Ｌ個）だけ繰り返す。
【０１３１】
また、ステップＤ２では、受信パケット検出部５２０は、エンド信号の出力と同時に、カウンタ５３１に、ＥＯＰ指示を出力する。カウンタ５３１は、受信パケット検出部５２０からＥＯＰ指示が入力されると、その度に、カウンタ値をインクリメントする。また、カウンタ５３１は、カウンタ値をカウンタセレクタ５３０に入力する。
【０１３２】
更に、ステップＤ２では、セレクタ５１０は、カウンタセレクタ５３０が通知するカウンタ５３１のカウンタ値に従って、受信処理部１４の選択を切り替え、子受信パケット５０２の出力先を決定する。カウンタ５３１は、受信パケット検出部５２０がＥＯＰ指示を出力する度に、カウンタ値をインクリメントしているため、フラグメント分のデータ単位で、受信処理部１４の選択の切り替えが行われる。
【０１３３】
また、セレクタ５１０は、選択した受信処理部毎に、スタート信号（最初の受信処理部１４−１に対してのみ）、フラグメント分のデータ（子受信パケット５０２）、及びエンド信号を、順に出力する。この結果、受信パケット５０１は、Ｌ個の子受信パケット５０２に変更され、各受信処理部１４に子受信パケット５０２が出力される。
【０１３４】
また、ステップＤ２において、選択された各受信処理部１４では、受信パケット処理部１４１は、子受信パケット５０２に対して、フラグメント処理等のデータ変更処理を実行する。また、選択された各受信処理部１４では、受信バッファ制御部１４２は、データ変更処理後の子受信パケット５０２を、受信ＦＩＦＯ１４３で一旦保持し、その後、受信ＤＭＡ制御部６００（図９参照）へと出力する。
【０１３５】
次に、受信ＤＭＡ制御部６００は、各受信パケット５０２から、元の受信パケット５０１を生成する（ステップＤ３）。具体的には、ステップＤ３では、セレクタ６２０は、カウンタセレクタ６３０が通知するカウンタ６３１のカウンタ値に従って、受信処理部１４の選択を切り替え、子受信パケット５０２の読み取り先となる受信処理部１４を決定する。そして、セレクタ６２０は、選択した受信処理部１４から、スタート信号、子受信パケット５０２、及びエンド信号を順次受け取り、これらを受信ＤＭＡコア部６１０に出力する。
【０１３６】
また、ステップＤ３では、受信パケット制御部６１３が、スタート信号及び各エンド信号を参照し、受信されたＬ個の子受信パケット５０２を結合して、連続した１つの受信パケット５０１を生成する。なお、カウンタ６３１は、受信パケット制御部６１３がエンド信号の検出と同時にＥＯＰ指示を出力する度にカウンタ値をインクリメントしており、受信ＤＭＡ制御部６００においても、フラグメント分のデータ単位で、受信処理部１４の選択の切り替えが行われている。
【０１３７】
その後、受信ＤＭＡ制御部６００において、受信ＤＭＡコア部６１０は、生成した受信パケットを、ホストインタフェース部１５０（図２参照）を介してメモリ１８０に出力する（ステップＤ４）。具体的には、受信ＤＭＡコア部６１０は、パケットアドレスレジスタ６１１で保持されているメモリ１８０上のアドレスに受信パケット５０１の書き込みを行う。なお、ステップＤ１〜Ｄ４は、１つの受信パケット５０１の受信処理のみを示している。ステップＤ１〜Ｄ４は、受信パケット５０１の数だけ繰り返し実行される。
【０１３８】
以上のように、本実施の形態では、通信状況に応じて、一部の送信処理部１３及び受信処理部１４を動作させないようにすることができるので、通信装置１００が必要以上に電力を消費しないようにする事ができる。また、本実施の形態では、ＩＯマクロ制御部２００及びＩＯ退避メモリ２０９により、ホスト装置１８０は、通信装置１００に対して同様の設定を繰り返して行う必要がないため、ホスト装置側での消費電力の削減も図ることができる。
【０１３９】
また、本実施の形態では、省電力設定テーブル８００を利用することができる。よって、開始時間８０２、終了時間８０３、通信装置に必要な通信速度８０４、ホスト装置１８０が通信時に必要なコネクション数８０５、ホスト装置１８０のＣＰＵ使用率８０６等の各種パラメータに基づいて、通信装置１００の消費電力をきめ細かく制御することができる。更に、省電力設定パケット７０１を用いて、通信装置に省電力レベル等を通知できるため、省電力レベルの変更は、ホスト装置１８０内のプロセッサの介在なしに実行でき、この点でも消費電力の削減が図られる。
【０１４０】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１５）によって表現することができるが、以下の記載に限定されるものではない。
【０１４１】
（付記１）
ホスト装置からの指示に応じて通信を行う通信装置であって、
伝送路として機能する複数の通信処理部と、
前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、電力設定制御部と、
前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、データ変更部と、
選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、データ出力部と、
を備えている、ことを特徴とする通信装置。
【０１４２】
（付記２）
前記通信処理部として、前記ホスト装置からの送信データの伝送路となる複数の送信処理部と、外部からの受信データの伝送路となる複数の受信処理部とが備えられ、
前記電力設定制御部が、前記電力パラメータに基づいて、前記複数の送信処理部の中から、動作させる送信処理部を選択し、更に、前記複数の受信処理部の中から、動作させる受信処理部を選択し、
前記データ変更部として、
前記送信データを、選択された前記送信処理部の数と同数の子送信データに変更し、前記子送信データを、選択された前記送信処理部それぞれに入力する、送信用データ変更部と、
前記受信データを、選択された前記受信処理部の数と同数の子受信データに変更し、前記子受信データを、選択された前記受信処理部それぞれに入力する、受信用データ変更部とが備えられ、
前記データ出力部として、
選択された前記送信処理部から前記子送信データを受け取り、受け取った前記子送信データを元の前記送信データに戻して外部に出力する、送信用データ出力部と、
選択された前記受信処理部から前記子受信データを受け取り、受け取った前記子受信データを元の前記受信データに戻して前記ホスト装置に出力する、受信用データ出力部とが備えられている、
付記１に記載の通信装置。
【０１４３】
（付記３）
クロック信号を供給するクロック制御部を更に備え、
前記クロック制御部は、前記複数の通信処理部に対しては、選択された前記通信処理部にのみ前記クロック信号を供給する、付記１または２に記載の通信装置。
【０１４４】
（付記４）
記憶部と、
前記ホスト装置が当該通信装置に対してレジスタの設定を指示する命令を出力すると、前記命令で指示された前記レジスタのアドレスに、前記命令で指示されたデータを書き込む、レジスタ制御部と、
前記レジスタ制御部が書き込みを行う際に、前記命令で指示された前記アドレスと、前記命令で指示された前記データとを取得し、これらを前記記憶部に記憶させる、ＩＯマクロ制御部とを備え、
前記ＩＯマクロ制御部は、前記記憶部に記憶されているアドレスとデータとを指定する命令が、新たに、前記ホスト装置から当該通信装置に出力されると、前記レジスタ制御部に代わり、前記記憶部に記憶されているアドレスに、前記記憶部に記憶されているデータを書き込む、
付記１〜３のいずれかに記載の通信装置。
【０１４５】
（付記５）
複数の前記電力パラメータが、前記ホスト装置によって、条件毎に設定され、各条件に合致した場合に、対応する前記電力パラメータを含む前記送信データが、当該通信装置に送信され、
前記電力設定制御部が、前記送信データから、前記電力パラメータを取得する、
付記２に記載の通信装置。
【０１４６】
（付記６）
ホスト装置と、前記ホスト装置からの指示に応じて通信を行う通信装置とを備え、
前記通信装置は、
伝送路として機能する複数の通信処理部と、
前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、電力設定制御部と、
前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、データ変更部と、
選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、データ出力部と、
を備えている、ことを特徴とする通信システム。
【０１４７】
（付記７）
前記通信装置において、
前記通信処理部として、前記ホスト装置からの送信データの伝送路となる複数の送信処理部と、外部からの受信データの伝送路となる複数の受信処理部とが備えられ、
前記電力設定制御部が、前記電力パラメータに基づいて、前記複数の送信処理部の中から、動作させる送信処理部を選択し、更に、前記複数の受信処理部の中から、動作させる受信処理部を選択し、
前記データ変更部として、
前記送信データを、選択された前記送信処理部の数と同数の子送信データに変更し、前記子送信データを、選択された前記送信処理部それぞれに入力する、送信用データ変更部と、
前記受信データを、選択された前記受信処理部の数と同数の子受信データに変更し、前記子受信データを、選択された前記受信処理部それぞれに入力する、受信用データ変更部とが備えられ、
前記データ出力部として、
選択された前記送信処理部から前記子送信データを受け取り、受け取った前記子送信データを元の前記送信データに戻して外部に出力する、送信用データ出力部と、
選択された前記受信処理部から前記子受信データを受け取り、受け取った前記子受信データを元の前記受信データに戻して前記ホスト装置に出力する、受信用データ出力部とが備えられている、
付記６に記載の通信システム。
【０１４８】
（付記８）
前記通信装置が、クロック信号を供給するクロック制御部を更に備え、
前記クロック制御部は、前記複数の通信処理部に対しては、選択された前記通信処理部にのみ前記クロック信号を供給する、付記６または７に記載の通信システム。
【０１４９】
（付記９）
前記通信装置が、更に、
記憶部と、
前記ホスト装置が当該通信装置に対してレジスタの設定を指示する命令を出力すると、前記命令で指示された前記レジスタのアドレスに、前記命令で指示されたデータを書き込む、レジスタ制御部と、
前記レジスタ制御部が書き込みを行う際に、前記命令で指示された前記アドレスと、前記命令で指示された前記データとを取得し、これらを前記記憶部に記憶させる、ＩＯマクロ制御部とを備え、
前記ＩＯマクロ制御部は、前記記憶部に記憶されているアドレスとデータとを指定する命令が、新たに、前記ホスト装置から前記通信装置に出力されると、前記レジスタ制御部に代わり、前記記憶部に記憶されているアドレスに、前記記憶部に記憶されているデータを書き込む、
付記６〜８のいずれかに記載の通信システム。
【０１５０】
（付記１０）
前記ホスト装置が、条件毎に複数の前記電力パラメータを設定し、各条件に合致した場合に、対応する前記電力パラメータを含む前記送信データを前記通信装置に送信し、
前記電力設定制御部が、前記送信データから、前記電力パラメータを取得する、
付記７に記載の通信システム。
【０１５１】
（付記１１）
ホスト装置からの指示に応じて通信を行い、且つ、伝送路として機能する複数の通信処理部を備える、通信装置を用いた通信方法であって、
（ａ）前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、ステップと、
（ｂ）前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、ステップと、
（ｃ）選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、ステップと、
を有する、ことを特徴とする通信方法。
【０１５２】
（付記１２）
前記通信装置が、前記通信処理部として、前記ホスト装置からの送信データの伝送路となる複数の送信処理部と、外部からの受信データの伝送路となる複数の受信処理部とを備えており、
当該通信方法が、
前記（ａ）のステップの代わりに、
（ａ１）前記電力パラメータに基づいて、前記複数の送信処理部の中から、動作させる送信処理部を選択するステップと、
（ａ２）前記電力パラメータに基づいて、前記複数の受信処理部の中から、動作させる受信処理部を選択するステップとを有し、
前記（ｂ）のステップの代わりに、
（ｂ１）前記送信データを、選択された前記送信処理部の数と同数の子送信データに変更し、前記子送信データを、選択された前記送信処理部それぞれに入力する、ステップと、
（ｂ２）前記受信データを、選択された前記受信処理部の数と同数の子受信データに変更し、前記子受信データを、選択された前記受信処理部それぞれに入力する、ステップとを有し、
前記（ｃ）のステップの代わりに、
（ｃ１）選択された前記送信処理部から前記子送信データを受け取り、受け取った前記子送信データを元の前記送信データに戻して外部に出力する、ステップと、
（ｃ２）選択された前記受信処理部から前記子受信データを受け取り、受け取った前記子受信データを元の前記受信データに戻して前記ホスト装置に出力する、ステップとを有している、
付記１１に記載の通信方法。
【０１５３】
（付記１３）
前記（ａ）のステップにおいて、動作させる前記通信処理部の選択が、前記複数の通信処理部のうち、選択される前記通信処理部にのみクロック信号を供給することによって行われている、付記１１または１２に記載の通信方法。
【０１５４】
（付記１４）
当該通信方法が、
（ｄ）前記ホスト装置が前記通信装置に対してレジスタの設定を指示する命令を出力した場合に、前記命令で指示されたアドレスに、前記命令で指示されたデータの書き込みを行い、更に、その際、前記命令で指示されたアドレスと、前記命令で指示されたデータとを、前記通信装置に備えられた記憶装置に記憶させる、ステップと、
（ｅ）前記ホスト装置から、前記記憶装置に記憶されているアドレスとデータとを指定する命令が、新たに、前記通信装置に出力された場合に、前記記憶装置に記憶されているアドレスに、前記記憶装置に記憶されているデータを書き込む、ステップと、
を更に有する、付記１１〜１３のいずれかに記載の通信方法。
【０１５５】
（付記１５）
複数の前記電力パラメータが、前記ホスト装置によって、条件毎に設定され、各条件に合致した場合に、対応する前記電力パラメータを含む前記送信データが、当該通信装置に送信され、
（ｆ）前記送信データから、前記電力パラメータを取得する、ステップを更に有する、付記１２に記載の通信方法。
【産業上の利用可能性】
【０１５６】
本発明によれば、通信状況に応じて、内部バス幅を可変でき、通信装置及び通信システムの消費電力を低減することができる。本発明は、一般的なオフィス又は工業向けに使用される通信装置及び通信システムに有用である。
【符号の説明】
【０１５７】
１０  通信システム
１３、１３−１〜１３−Ｎ  送信処理部
１４、１４−１〜１４−Ｎ  受信処理部
２０  電力設定制御部
３０  送信用データ変更部
４０  送信用データ出力部
５０  受信用データ変更部
６０  受信用データ出力部
１００  通信装置
１１０  レジスタ制御部
１２０  ＰＬＬ
１２９  ＰＬＬ制御部
１３１  送信パケット処理部
１３２  送信バッファ制御部
１３３  送信ＦＩＦＯ
１４１  受信パケット処理部
１４２  受信バッファ制御部
１４３  受信ＦＩＦＯ
１５０  ホストインタフェース部
１５１  データ処理部
１６０  ＭＡＣ処理部
１７０  ＰＨＹ処理部
１８０  ホスト装置
１８１  ＣＰＵ
１８２  メモリ
１８３  バス
２００  ＩＯマクロ制御部
２０１  リードＩＯベースアドレスレジスタ
２０２  リードＩＯカウンタ
２０３  比較器
２０４  命令長設定レジスタ
２０５  リードアドレス加算器
２０９  ＩＯ退避メモリ
２１１  ライトＩＯカウンタ
２１２  ライトＩＯベースアドレスレジスタ
２１３  リードライト指示レジスタ
２１４  データ作成部
２１５  ライトアドレス加算器
２２１  ＩＯマクロセレクタ
２２２  アドレスデコーダ
２２３  レジスタ
３００  送信ＤＭＡ制御部
３０１  送信パケット
３０２  子送信パケット
３１０  送信ＤＭＡコア部
３１１  パケットアドレスレジスタ
３１２  パケットレングスレジスタ３１２
３１３  送信パケット制御部
３２０  セレクタ
３３０  カウンタセレクタ
３３１、３３１−１〜３３１−Ｎ  カウンタ
４００  送信ＭＡＣ制御部
４１０  セレクタ
４２０  送信パケット検出部
４３０  カウンタセレクタ
４３１、４３１−１〜４３１−Ｎ  カウンタ
５００  受信ＭＡＣ制御部
５０１  受信パケット
５０２  子受信パケット
５１０  セレクタ
５２０  受信パケット検出部
５３０  カウンタセレクタ
５３１、５３１−１〜５３１−Ｎ  カウンタ
６００  受信ＤＭＡ制御部
６１０  受信ＤＭＡコア部
６１１  パケットアドレスレジスタ
６１２  パケットレングスレジスタ
６１３  受信パケット制御部
６２０  セレクタ
６３０  カウンタセレクタ
６３１、６３１−１〜６３１−Ｎ  カウンタ
７００  パケットデータ格納領域
７０１  省電力設定パケット
７１１  送信先ＭＡＣアドレス
７１２  送信元ＭＡＣアドレス
７１３  プロトコルタイプ
７１４  送受信パケット数
７１５  省電力レベル（電力パラメータ）
８００  省電力設定テーブル
８０１  項番
８０２  開始時間
８０３  終了時間
８０４  通信速度
８０５  コネクション数
８０６  ＣＰＵ使用率
８０７  省電力レベル
【図１】
2011239046.tif 000003
【図２】
2011239046.tif 000004
【図３】
2011239046.tif 000005
【図４】
2011239046.tif 000006
【図５】
2011239046.tif 000007
【図６】
2011239046.tif 000008
【図７】
2011239046.tif 000009
【図８】
2011239046.tif 000010
【図９】
2011239046.tif 000011
【図１０】
2011239046.tif 000012
【図１１】
2011239046.tif 000013
【図１２】
2011239046.tif 000014
【図１３】
2011239046.tif 000015