JP5070609B2 - 通信装置、通信システム及び通信方法 - Google Patents

通信装置、通信システム及び通信方法 Download PDF

Info

Publication number
JP5070609B2
JP5070609B2 JP2010106915A JP2010106915A JP5070609B2 JP 5070609 B2 JP5070609 B2 JP 5070609B2 JP 2010106915 A JP2010106915 A JP 2010106915A JP 2010106915 A JP2010106915 A JP 2010106915A JP 5070609 B2 JP5070609 B2 JP 5070609B2
Authority
JP
Japan
Prior art keywords
data
transmission
communication
control unit
reception
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010106915A
Other languages
English (en)
Other versions
JP2011239046A (ja
Inventor
建支 曽我
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC System Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC System Technologies Ltd filed Critical NEC System Technologies Ltd
Priority to JP2010106915A priority Critical patent/JP5070609B2/ja
Publication of JP2011239046A publication Critical patent/JP2011239046A/ja
Application granted granted Critical
Publication of JP5070609B2 publication Critical patent/JP5070609B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Description

本発明は、コンピュータ等の情報機器の通信に利用される通信装置、それを用いた通信システム、及び通信方法に関する。
近年、IT技術の発展に伴い、コンピュータに代表される情報機器は、ネットワークを介して通信を行うため、通信装置を搭載している。通信装置は、情報機器のオペレーティングシステム(OS: Operating System)が作成したパケットデータを、ネットワーク上の他の情報機器へと送信する機能、及び他の情報機器からネットワークを経由して送られてきたパケットデータを受信する機能を有している。
また、一般に、情報機器においては、省電力化が求められている。例えば、ノート型のコンピュータ等の携帯型の端末装置では、稼働時間の延長を図るため、省電力化が求められている。更に、サーバコンピュータ等の据え置き型の装置であっても、環境保護の観点から省電力化が求められている。このため、通信装置においても、情報機器の省電力化に貢献するため、省電力化を促進する必要がある。
このような省電力化の要求に応えるため、特許文献1及び2は、通信プロトコルに沿った信号処理が必要とされない状態が検出されると、信号処理を実行する処理回路へのクロック信号の供給を停止する通信装置を開示している。また、特許文献1及び2に開示された通信装置では、信号処理の負荷に応じてクロック信号の周波数を変更することによっても、省電力化を図っている。
特開平11−88467号公報 特開2001−60985号公報
しかしながら、特許文献1及び2に開示された通信装置では、内部バス幅は、常に一定であり、また、これらは想定される最大トラフィック量に対応して設計されている。このため、特許文献1及び2に開示された通信装置を用いた場合であっても、省電力化には限界があり、省電力化は不十分である。
本発明の目的の一例は、上記問題を解消し、通信状況に応じて、内部バス幅を可変し得る、通信装置、通信システム、及び通信方法を提供することにある。
上記目的を達成するため、本発明の一側面における通信装置は、ホスト装置からの指示に応じて通信を行う通信装置であって、
伝送路として機能する複数の通信処理部と、
前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、電力設定制御部と、
前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、データ変更部と、
選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、データ出力部と、
を備えている、ことを特徴とする。
また、上記目的を達成するため、本発明の一側面における通信システムは、ホスト装置と、前記ホスト装置からの指示に応じて通信を行う通信装置とを備え、
前記通信装置は、
伝送路として機能する複数の通信処理部と、
前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、電力設定制御部と、
前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、データ変更部と、
選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、データ出力部と、
を備えている、ことを特徴とする。
更に、上記目的を達成するため、本発明の一側面における通信方法は、ホスト装置からの指示に応じて通信を行い、且つ、伝送路として機能する複数の通信処理部を備える、通信装置を用いた通信方法であって、
(a)前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、ステップと、
(b)前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、ステップと、
(c)選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、ステップと、
を有する、ことを特徴とする。
以上のように、本発明における、通信装置、通信システム、及び通信方法によれば、通信状況に応じて、内部バス幅を可変できる。
図1は、本発明の実施の形態における通信装置及び通信システムの構成を示すブロック図である。 図2は、図1に示した通信装置及び通信システムの具体例を示すブロック図である。 図3は、図2に示した省電力設定パケットの構成の一例を示す図である。 図4は、図2に示した省電力設定テーブルの一例を示す図である。 図5は、図2に示したIOマクロ制御部の構成を更に具体的に示すブロック図である。 図6は、図2に示した送信DMA制御部の構成を更に具体的に示すブロック図である。 図7は、図2に示した送信MAC制御部の構成を更に具体的に示すブロック図である。 図8は、図2に示した受信MAC制御部の構成を更に具体的に示すブロック図である。 図9は、図2に示した受信DMA制御部の構成を更に具体的に示すブロック図である。 図10は、本実施の形態における通信システムを構成するホスト装置の動作を示すフロー図である。 図11は、本実施の形態における通信装置の電力設定時の動作を示すフロー図である。 図12は、本実施の形態における通信装置の送信時の動作を示すフロー図である。 図13は、本実施の形態における通信装置の受信時の動作を示すフロー図である。
(実施の形態)
以下、本発明の実施の形態における、通信装置、通信システム、及び通信方法について、図1〜図12を参照しながら説明する。最初に、本実施の形態における通信装置100及び通信システム10の全体構成について図1を用いて説明する。図1は、本発明の実施の形態における通信装置及び通信システムの構成を示すブロック図である。
図1に示すように、通信システム10は、ホスト装置180と、ホスト装置180からの指示に応じて通信を行う通信装置100とを備えている。本実施の形態では、通信システム10は、パーソナルコンピュータ、サーバコンピュータといった汎用コンピュータである。
また、ホスト装置180は、CPU181、メモリ182、及び、PCI、PCI−X、PCI−Express等のバス183を備えている。ホスト装置180は、通信システム10として機能するコンピュータの一部である。通信装置100も、ホスト装置180のバス183に接続されており、通信システム100として機能するコンピュータの一部である。なお、通信システム10は、汎用コンピュータに限定されず、携帯電話、スマートフォンといった通信端末等であっても良い。
また、図1に示すように、通信装置100は、送信処理部13−1〜13−N、送信処理部14−1〜14−N、電力設定制御部20、送信用データ変更部30、受信用データ変更部50、送信用データ出力部40、及び受信用データ出力部60を備えている。なお、Nは自然数である。
送信処理部13−1〜13−Nは、ホスト装置180からの送信データの伝送路として機能する。受信処理部14−1〜14−Nは、外部からの受信データの伝送路として機能する。なお、以降の説明において、「送信処理部13」と記載されている場合は、任意の送信処理部を意味しているものとする。同様に、「受信処理部14」と記載されている場合も、任意の受信処理部を意味しているものとする。
電力設定制御部20は、ホスト装置180によって設定された電力パラメータに基づいて、送信処理部13−1〜13−Nの中から、動作させる送信処理部13を選択し、更に、受信処理部14−1〜14−Nの中から、動作させる受信処理部14を選択する。電力パラメータは、通信装置100の消費電力を規定するパラメータであり、例えば、電力パラメータとしては、動作させる送信処理部13又は受信処理部14の個数が用いられる。
送信用データ変更部30は、送信データを、選択された送信処理部の数と同数のデータ(以下「子送信データ」とする。)に変更し、子送信データを、選択された送信処理部それぞれに入力する。受信用データ変更部50は、受信データを、選択された受信処理部の数と同数のデータ(以下「子受信データ」とする。)に変更し、子受信データを、選択された受信処理部それぞれに入力する。
送信用データ出力部40は、選択された送信処理部から子送信データを受け取り、受け取った子送信データを元の送信データに戻して外部に出力する。受信用データ出力部60は、選択された受信処理部から子受信データを受け取り、受け取った子受信データを元の受信データに戻してホスト装置180に出力する。
また、本実施の形態では、通信処理装置100は、ホストインタフェース部150と、設定されているプロトコルに合わせてデータ処理を行うデータ処理部151とを更に備えている。ホストインタフェース部150は、ホスト装置180のバス183に直接接続され、ホスト装置180を構成するCPU181及びメモリ182との間でやり取りする信号を制御している。データ処理部151は、送信データ及び受信データに対して、設定されているプロトコルに合わせてデータ処理を実行する。
このように、通信装置100では、ホスト装置180の指示に応じて、動作させる伝送路の数を変更することができる。従って、通信装置100によれば、通信状況に応じて、内部バス幅を可変することができ、特許文献1及び2に開示された通信装置に比べて、省電力化のいっそうの促進を図ることができる。
また、図1に示した通信装置100では、動作させる伝送路の数の変更は、送信時及び受信時の両方において行われているが、本実施の形態は、この態様に限定されるものではない。本実施の形態は、動作させる伝送路の数の変更が、送信又は受信のいずれか一方でのみ行われる態様であっても良い。例えば、図1において、受信側には、1の受信処理部及び受信用データ出力部のみが設けられている態様、又は、送信側には、1の送信処理部及び送信用データ出力部のみが設けられている態様であっても良い。これらの態様であっても、省電力化の促進を図ることができる。
続いて、図2を用いて、本実施の形態における通信装置100及び通信システム10の構成を具体的に説明する。図2は、図1に示した通信装置及び通信システムの具体例を示すブロック図である。
図2の例では、通信装置100は、ホストインタフェース部150と、送信DMA制御部300と、N個の送信処理部13−1〜13−Nと、送信MAC制御部400と、MAC処理部160と、PHY処理部170と、受信MAC制御部500と、N個の受信処理部14−1〜14−Nと、受信DMA制御部600とを備えている。更に、通信装置100は、レジスタ制御部110と、IOマクロ制御部200と、IO退避メモリ299と、PLL120と、PLL制御部129も備えている。
また、図2の例では、ホスト装置180からの送信データは、メモリ182のパケットデータ格納領域700に格納されている各パケットデータ(以下「送信パケット」とする。)である。メモリ182に格納されている各送信パケットは、順次、バス183を経由して、送信DMA制御部300によって読み取られ、結果、通信装置100に送信される。
また、ホスト装置180からの送信パケットの中には、電力パラメータを特定する省電力設定パケット(後述の図3参照)が含まれており、通信装置100は、省電力設定パケットから電力パラメータを取得する。更に、図2の例では、ホスト装置180は、メモリ182に格納されている省電力設定テーブル800(後述の図4参照)を用いて、電力パラメータの設定を行っている。なお、以降の説明では、電力パラメータは、「省電力レベル」と称する。
送信DMA制御部300は、図1に示した送信用データ変更部30及び電力設定制御部20として機能する。先ず、送信DMA制御部300は、送信データ(送信パケット)を1又は2以上の子送信データに変更するため、受信した省電力設定パケット(図3参照)に含まれる省電力レベルに基づいて、動作させる送信処理部13及び受信処理部14の個数Lを決定する。なお、「L」は「N」以下の自然数である。
また、送信DMA制御部300は、決定した個数Lを、送信DMA制御部300内のカウンタセレクタ330(後述の図4参照)、PLL制御部129、送信MAC制御部400、受信DMA制御部600、及び受信MAC制御部500へと通知する。
次に、送信DMA制御部300は、個数Lを決定すると、送信パケットをL個の子送信データ(以下「子送信パケット」とする。)に変更する。具体的には、送信DMA制御部300は、Lが2以上であれば、1の送信パケットを、データ幅が元のL分の1となるL個の子送信パケットに分割し、各子送信パケットを、対応する送信処理部13に出力する。また、このとき、送信DMA制御部300は、特定のデータ長単位で分割を行っており、各子送信パケットのデータ幅は、送信処理部13で処理可能なデータ幅となっている。なお、Lが1の場合は、送信DMA制御部300は、元の送信パケットを、そのまま、対応する1の送信処理部13に出力する。
送信処理部13−1〜13−Nは、それぞれ、送信パケット処理部131と、送信バッファ制御部132とを備えている。送信パケット処理部131は、子送信パケットが入力されると、子送信パケットに対してデータ変更処理を行う。データ変更処理としては、子送信パケットのフレームの書き換え処理、子送信パケットにフラグメント番号を付加するフラグメント処理等が挙げられる。また、送信パケット処理部131は、処理済みの子送信パケットを送信バッファ制御部132に出力する。
送信バッファ制御部132は、内部に送信FIFO133を備え、送信FIFO133に対するリードライト制御を実行する。送信FIFO133は、送信パケット処理部131が出力した子送信パケットを格納し、格納した順に、送信MAC制御部400に出力する。
また、上述したように、送信処理部13−1〜13−Nのうち、L個の送信処理部13のみが動作するが、これは、PLL制御部129がL個の送信処理部13のみにクロック信号を供給することによって行われている。PLL制御部129の動作については後述する。
送信MAC制御部400は、図1に示した送信用データ出力部40として機能する。送信MAC制御部400は、先ず、送信DMA制御部300によって決定された送信処理部13の個数Lを参照し、子送信パケットをリードする送信処理部13を選択する。次に、送信MAC制御部400は、各送信処理部13からリードした各子送信パケットを、それぞれのフラグメント番号に基づいて組み合わせ、データ幅がL倍となるパケットデータを生成する。また、このとき生成されたパケットデータは、送信DMA制御部300が読み出した送信パケットと同一のデータとなる。そして、送信MAC制御部400は、生成したパケットデータを、予めプロトコルによって規定されているデータ長単位で、MAC処理部160に出力する。
また、MAC処理部160及びPHY処理部170は、図1に示したデータ処理部151として機能する。MAC処理部160は、例えば、IEEE802.3で規定された物理層及びデータリンク層の一部をサポートする処理を実行する。また、PHY処理部170は、例えば、IEEE802.3で規定された物理層をサポートする処理を実行する。
受信MAC制御部500は、図1に示した受信用データ変更部50として機能する。受信MAC制御部500は、先ず、送信DMA制御部300によって決定された受信処理部14の個数Lを参照し、動作させる受信処理部14を選択する。次に、受信MAC制御部500は、MAC処理部160から受信処理部14に向けて出力された受信データ(以下「受信パケット」とする。)を、L個の子受信データ(以下「子受信パケット」とする。)に変更する。
具体的には、受信MAC制御部500は、Lが2以上であれば、1の受信パケットを、データ幅が元のL分の1となるL個の子受信パケットに分割し、各子受信パケットを、対応する送信処理部14に出力する。また、このとき、受信MAC制御部500は、特定のデータ長単位で分割を行っており、各子受信パケットのデータ幅は、受信処理部14で処理可能なデータ幅となっている。なお、Lが1の場合は、受信MAC制御部500は、元の受信パケットを、そのまま、対応する1の受信処理部14に出力する。
受信処理部14−1〜14−Nは、それぞれ、受信パケット処理部141と、受信バッファ制御部142とを備えている。受信パケット処理部141は、MAC処理部160から受信した受信子パケットに対してデータ変更処理を行う。データ変更処理としては、送信処理部13の例と同様に、子受信パケットのフレームの書き換え処理、子受信パケットにフラグメント番号を付加するフラグメント処理等が挙げられる。また、受信パケット処理部141は、処理済みの子送信パケットを受信バッファ制御部142に出力する。
受信バッファ制御部142は、内部に受信FIFO143を備え、受信FIFO143に対するリードライト制御を実行する。受信FIFO143は、受信パケット処理部141が出力した子受信パケットを格納し、格納した順に、受信DMA制御部600に出力する。
また、上述したように、受信処理部14−1〜14−Nのうち、L個の送信処理部14のみが動作するが、これは、送信処理部13の例と同様に、PLL制御部129がL個の受信処理部14のみにクロック信号を供給することによって行われている。PLL制御部129の動作については後述する。
受信DMA制御部600は、図1に示した受信用データ出力部60として機能する。受信DMA制御部600は、先ず、送信DMA制御部300によって決定された受信処理部14の個数Lを参照し、子受信パケットをリードする受信処理部14を選択する。
次に、受信DMA制御部600は、各受信処理部14からリードした子受信パケットを、それぞれのフラグメント番号に基づいて組み合わせ、データ幅がL倍となるパケットデータを生成する。このとき生成されたパケットデータは、受信MAC制御部500が受信した受信パケットと同一のデータとなる。そして、受信DMA制御部600は、ホストインタフェース150介してメモリ182にアクセスし、生成したパケットデータを、予めプロトコルによって規定されているデータ長単位でメモリ182上に書き込む。
レジスタ制御部110は、ホスト装置180が通信装置100に対して、レジスタの設定を指示する命令(以下「IO命令」とも言う。)を出力すると、この命令で指示されたレジストのアドレスに、この命令で指示されたデータの書き込みを実行する。なお、ここでいう「レジスタ」は、通信装置100の内部ロジックを構成するレジスタをいう。また、レジスタ制御部110は、各レジスタに書き込みを実行しながら、ホスト装置180から受け取った信号を、IOマクロ制御部200にも伝搬する。
IOマクロ制御部200は、レジスタ制御部110が書き込みを行う際に、レジスタ制御部110から、IO命令で指示されたアドレス及びデータを取得し、これらをIO退避メモリ209に格納させる。また、IOマクロ制御部200は、IO退避メモリ209に格納されているアドレスとデータとを指定するIO命令がホスト装置180から新たに出力されると、レジスタ制御部110に代わり、記憶されているアドレスに、記憶されているデータの書き込みを実行する。
つまり、IOマクロ制御部200は、既に格納されているアドレス及びデータを利用できる場合が発生すると、これらを読み出して、通信装置100の内部ロジックを設定する。このような場合の例としては、後述するように、ホスト装置180が、省電力レベルを、以前の設定に戻す場合が挙げられる。
また、PLL120は、通信装置100を動作させるためのクロック信号を生成し、これをPLL制御部129に供給する。PLL制御部129は、PLL120からのクロック信号を、ホストインタフェース150、送信DMA制御部300、送信処理部13、受信処理部14、送信MAC制御部400、及び受信MAC制御部500に供給し、クロック制御部として機能する。
また、PLL制御部129は、送信処理部13及び受信処理部14に対しては、選択された場合にのみ、クロック信号を供給し、選択されなかった送信処理部13及び受信処理部14の動作を停止させる。なお、本実施の形態では、送信処理部13及び受信処理部14の動作の制御は、クロック信号の供給によって行われるが、この例に限定されるものではない。送信処理部13及び受信処理部14の動作は、例えば、電源の供給又は供給停止によって制御されていても良い。
[省電力設定パケット及び省電力設定テーブル]
ここで、上述した、省電力設定パケット及び省電力設定テーブル800について、図3及び図4を用いて具体的に説明する。図3は、図2に示した省電力設定パケットの構成の一例を示す図である。図4は、図2に示した省電力設定テーブルの一例を示す図である。
図3に示すように、メモリのパケットデータ格納領域700には、複数個の送信パケット301に加えて、省電力設定パケット701が格納されている。省電力設定パケット701は、送信先MACアドレス711、送信元MACアドレス712、プロトコルタイプ713、送受信パケット数714、省電力レベル715を含んでいる。
このうち、送受信パケット数714は、省電力パケット701の送信後に、通信装置100の性能が低下しても、問題なく送信又は受信を行うことができるパケットデータの数を示している。また、省電力レベル715としては、図3及び図4の例では、動作させる送信処理部13又は受信処理部14の個数が採用されているが、省電力レベル715はこれに限定されるものではない。
また、プロトコルタイプ713は、通信装置100が当該パケットが省電力設定パケット701であるかどうかを判断するために利用される。更に、プロトコルタイプ713により、送受信パケット数714が送信パケット301のカウントに対するものであるのか、受信パケットのカウントに対するものであるのかが、判別可能となる。
また、図4に示すように、本実施の形態では、省電力設定テーブル800は、項目として、テーブルのエントリを示す項番801、開始時間802、終了時間803、通信速度804、コネクション数805、CPU使用率806、及び省電力レベル807を有している。開始時間802は、省電力レベルの適用を開始できる時間を示し、終了時間803は、省電力レベルの適用を終了すべき時間を示している。
また、上記の項目のうち、開始時間802、通信速度804、コネクション数805、及びCPU使用率806は、省電力レベル807を適用するための適用条件を示しており、本実施の形態では、いずれかの項目が合致すれば、同行にある省電力レベル807が適用される。また、省電力レベル807は、上述したように、通信装置100の消費電力を規定する電力パラメータであり、本実施の形態では、省電力レベル807に基づいて、動作させる送信処理部13及び受信処理部14の個数Lが特定される。
本実施の形態では、このような省電力設定テーブル800に基づいて、条件に応じた省電力レベルが設定され、設定された省電力レベルが省電力設定パケット701によって通信装置100に通知される。このため、状況に応じて通信装置100の性能を変化させることができ、消費電力の削減を図ることができる。また、省電力レベル(電力パラメータ)及びその適用の条件は、ホスト装置180によって設定できるため、送信処理部13及び受信処理部14の切り替え時間、及び切替えるタイミングを、ホスト装置180で実行されるアプリケーションプログラムの関数からも自由に設定できる。
[通信装置の具体的構成]
続いて、図2に示した通信装置100の具体的構成を、図5〜図9を用いて、更に詳細に説明する。図5は、図2に示したIOマクロ制御部の構成を更に具体的に示すブロック図である。図6は、図2に示した送信DMA制御部の構成を更に具体的に示すブロック図である。図7は、図2に示した送信MAC制御部の構成を更に具体的に示すブロック図である。図8は、図2に示した受信MAC制御部の構成を更に具体的に示すブロック図である。図9は、図2に示した受信DMA制御部の構成を更に具体的に示すブロック図である。
[IOマクロ制御部]
図5を用いて、IOマクロ制御部200の構成について説明する。図5に示すように、IOマクロ制御部200は、ライトIOカウンタ211と、ライトIOベースアドレスレジスタ212と、リードライト指示レジスタ213と、データ作成部214と、ライトアドレス加算器215とを備えている。IOマクロ制御部200は、これらにより、ホスト装置180が通信装置100に出力したIO命令(レジスタのアドレス及びデータ)をIO退避メモリ209に格納することができる。
ライトIOベースアドレスレジスタ212は、レジスタ制御部110が出力したライトIOベースアドレス指示信号に基づき、ホスト装置180から通信装置100へのIO命令の格納が開始される、IO退避メモリ209の最初の番地を設定し、これをライトアドレス加算機215に出力する。
ライトIOカウンタ211は、レジスタライト時に、ホスト装置180から通信装置100へのライトイネーブル信号がアサートされると、インクリメント処理を実行し、インクリメント処理の結果をライトアドレス加算機215に出力する。ライトイネーブル信号は、ホスト装置180が通信装置100内のレジスタ223にライトを指示するために出力する信号である。
また、図5においてレジスタ223は、通信装置100の内部ロジックを構成する全てのレジスタを抽象的に示している。レジスタ223は、特定のレジスタに限定されず、後述する、パケットアドレスレジスタ311(図6参照)、パケットレングスレジスタ(図6参照)、パケットアドレスレジスタ611(図9参照)、及びパケットレングスレジスタ612(図9参照)も含む。
ライトアドレス加算器215は、ライトIOベースアドレスレジスタ212が出力した信号とライトIOカウンタ211が出力した信号とを加算し、これによって、IO退避メモリ209において書き込み(ライト)を行うアドレス(ライトアドレス)を算出する。また、ライトアドレス加算器215は、算出したライトアドレスをIO退避メモリ209に出力する。
データ作成部214は、レジスタライト時にレジスタ制御部110がライトアドレス信号及びライトデータ信号を出力すると、これらの信号から、ホスト装置180がIO命令で指示したアドレス及びデータを特定する。そして、データ作成部214は、特定したアドレス及びデータに基づいて、IO退避メモリ209に格納するライトデータを作成する。
リードライト指示レジスタ213には、ホスト装置180からのライトイネーブル信号、IO退避メモリ209からのリードを指示するIOメモリリード信号、及びIO退避メモリ209へのライトを指示するIOメモリライト信号が入力される。リードライト指示レジスタ213は、入力されたこれらの信号に基づき、IO退避メモリ209に対してライトイネーブル又はリードイネーブルを指示する。
また、図2に示すように、IOマクロ制御部200は、リードIOベースアドレスレジスタ201と、リードIOカウンタ202と、比較器203と、命令長設定レジスタ204と、リードアドレス加算器205と、IOマクロセレクタ221と、アドレスデコーダ222とを備えている。IOマクロ制御部200は、これらにより、IO退避メモリ209に格納したIO命令(アドレス及びデータ)を用いてレジスタ223の設定を行うことができる。
リードIOベースアドレスレジスタ201は、レジスタ制御部110が出力したリードIOベースアドレス指示信号に基づき、IO命令の取り出しが開始される、IO退避メモリ209の最初の番地を設定し、これをリードアドレス加算機205に出力する。
命令長設定レジスタ204は、IO退避メモリ209に格納されたIO命令を利用して通信装置100へのレジスタライトを実行する際の命令長を設定する。具体的には、命令長設定レジスタ204は、レジスタ制御部110が出力したリードIO命令長指示信号に基づき、リードIOベースアドレスレジスタ201が設定した番地からどこまでの番地をリード対象とするかを設定する。
リードIOカウンタ202は、比較器203の指示により、一定のタイミング毎にインクリメントを実行し、得られたカウント値を比較器203に入力する。比較器203は、命令長設定レジスタ204が設定した命令長と、リードIOカウンタ202から得られたカウント値とが等しくなるまで、リードIOカウンタ202に指示を出し続ける。そして、比較器203は、等しくなった場合に、IO退避メモリ209に割り込みの指示を出力する。
リードアドレス加算器205は、リードIOベースアドレスレジスタ201が設定した番地と、リードIOカウンタ202によって得られたカウント値とを加算し、リードアドレスを算出する。そして、リードアドレス加算器205は、算出したリードアドレスを、IO退避メモリに出力する。
IOマクロセレクタ221は、IOメモリリード信号に基づき、IO退避メモリ209に退避されているデータ、及びホスト装置180からライトされたデータのうちいずれかを選択し、レジスタ223へのライトデータを生成する。
アドレスデコーダ222は、IOメモリリード信号に基づき、IO退避メモリ209に格納されているアドレス、又はホスト装置180から指示されたライトアドレスのうちいずれかを選択し、レジスタ223に対してライトイネーブルを指示する。
[送信DMA制御部]
続いて、図6を用いて、送信DMA制御部300の構成について説明する。図6に示すように、送信DMA制御部300は、送信DMAコア部310と、カウンタセレクタ330と、N個のカウンタ331−1〜331−Nと、セレクタ320とを備えている。このうち、送信DMAコア部310は、更に、パケットアドレスレジスタ311と、パケットレングスレジスタ312と、送信パケット制御部313と、電力設定制御部20とを備えている。なお、以降の説明において、カウンタ331−1〜331−Nのうち、任意のカウンタを示す場合は、「カウンタ331」とする。
送信DMAコア部310において、パケットアドレスレジスタ311は、ホスト装置180(図2参照)のメモリ182上の送信パケット301が格納されているアドレスを保持している。パケットレングスレジスタ312は、送信パケット301のパケット長を保持している。
電力設定制御部20は、ホスト装置180から送信された省電力設定パケット701を取得し、上述したように個数Lを決定する(図1参照)。そして、電力設定制御部20は、パケット数714(図3参照)に基づいたタイミングで、省電力レベル715に応じて、PLL制御部129(図2参照)、カウンタセレクタ330、カウンタセレクタ430(図7参照)、カウンタセレクタ530(図8参照)、カウンタセレクタ630(図9参照)に対して、動作させる送信処理部13及び受信処理部14の個数Lを通知する。
送信パケット制御部313は、送信パケット301をL個の子送信パケット302に変更するため、送信パケット301のセレクタ320への出力に際し、パケットアドレスレジスタ311及びパケットレングスレジスタ312を参照して、セレクタ320にスタート信号及びエンド信号を出力する。
具体的には、送信パケット制御部313は、セレクタ320に、先ず、送信パケット301のデータの先頭を示すスタート信号を出力する。更に、送信パケット制御部313は、送信DMAコア部310から送信パケット301のフラグメント分のデータが出力されると、セレクタ320に、フラグメント分のデータの出力の完了を示すエンド信号も出力する。また、フラグメント分のデータの出力と、エンド信号の出力とについては、フラグメントの数(L個)だけ繰り返し行われる。なお、送信パケット301のフラグメント分のデータとは、子送信パケット302に相当するデータであり、そのデータ幅は元の受信パケット301のL分の1となっている。また、このフラグメント分のデータ単位で、各送信処理部13は、フラグメント処理を実行する。
また、送信パケット制御部313は、エンド信号の出力と同時に、カウンタ331−1〜331−Nに対して、EOP(End Of Packet)指示を出力する。カウンタ331−1〜331−Nは、EOP指示が入力されると、その度にインクリメントを行い、カウンタ値をカウンタセレクタ330に入力する。但し、カウンタ331−1〜331−Nは、それぞれ、カウントできる最大値が異なっている。例えば、カウンタ331−1は、「1」までしかカウントできないが、カウンタ331−Nは、「1」から「N」までをカウントできる。
カウンタセレクタ330は、電力設定制御部20から個数Lが通知されると、カウンタ331−1〜331−Nの中から、1からLまでをカウント可能なカウンタ331−Lを選択する。そして、カウンタセレクタ330は、選択したカウンタ331−Lのカウンタ値のみをセレクタ320に出力する。
セレクタ320は、カウンタセレクタ330から出力されたカウンタ値に応じて、送信処理部13−1〜13−Nの中から1つの送信処理部13を選択する。そして、セレクタ320は、選択した送信処理部13に対して、スタート信号(最初の送信処理部13−1に対してのみ)、フラグメント分のデータ(子送信パケット302)、及びエンド信号を、順に出力する。このような処理により、送信パケット301は、L個の子送信パケット302に変更され、L個の送信処理部13それぞれへと出力される。
[送信MAC制御部]
続いて、図7を用いて、送信MAC制御部400の構成について説明する。図7に示すように、送信MAC制御部400は、セレクタ410と、送信パケット検出部420と、カウンタセレクタ430と、N個のカウンタ431−1〜431−Nとを備えている。カウンタ431−1〜431−Nは、カウンタ331−1〜331−N(図6参照)と同様に、それぞれ、カウントできる最大値が異なるカウンタである。カウンタ431−1〜431−Nは、送信パケット検出部420からEOP指示が入力されると、その度にインクリメントを行う。なお、以降の説明において、カウンタ431−1〜431−Nのうち、任意のカウンタを示す場合は、「カウンタ431」とする。
カウンタセレクタ430は、カウンタセレクタ330(図6参照)と同様に、電力設定制御部20(図6参照)から個数Lが通知されると、カウンタ431−1〜431−Nの中から、1からLまでをカウント可能なカウンタ431−Lを選択する。そして、カウンタセレクタ430は、選択したカウンタ431−Lのカウンタ値のみをセレクタ410に出力する。
セレクタ410は、セレクタ320(図6参照)と同様に、カウンタセレクタ430から出力されたカウンタ値に応じて、送信処理部13−1〜13−Nの中から1つの送信処理部13を選択する。そして、セレクタ410は、選択した送信処理部13から、スタート信号(最初の送信処理部13−1からのみ)、子送信パケット302、及びエンド信号を順次受け取り、これらを送信パケット検出部420に出力する。
送信パケット検出部420は、セレクタ410から、スタート信号、各子送信パケット302、及び各エンド信号を順次受け取ると、各子送信パケット302を結合して、これらを連続した1つの送信パケット301に戻し、送信パケット301をMAC処理部160に出力する。また、送信パケット検出部420は、送信処理部13からのエンド信号を検出すると、検出の度に、カウンタ431に、上述したEOP指示を出力する。更に、送信パケット検出部420は、スタート信号と、送信パケット301の出力完了を示すエンド信号(以下「送信パケット・エンド信号」という。)もMAC処理部160に出力する。
また、送信パケット検出部420からのEOP指示と、送信パケット制御部313(図6参照)からのEOP指示は、共に、エンド信号を契機として出力されていることから、カウンタ431のカウンタ値と、カウンタ331のカウンタ値とは同期する。この結果、セレクタ320(図6参照)が選択する送信処理部13と、セレクタ410が選択する送信処理部13とは一致することとなる。
[受信MAC制御部]
続いて、図8を用いて、受信MAC制御部500の構成について説明する。図8に示すように、受信MAC制御部500は、セレクタ510と、受信パケット検出部520と、カウンタセレクタ530と、N個のカウンタ531−1〜531−Nとを備えている。なお、以降の説明において、カウンタ531−1〜531−Nのうち、任意のカウンタを示す場合は、「カウンタ531」とする。
受信パケット検出部520は、先ず、MAC処理部160が出力した、受信パケット501の先頭を示すスタート信号、受信パケット501、受信パケット501の最後を示すエンド信号(以下「受信パケット・エンド信号」とする。)を受信し、受信パケット501を検出する。
続いて、受信パケット検出部520は、受信パケット501をL個の子受信パケット502に変更するため、受信パケット501のセレクタ510への出力に際し、セレクタ510に、スタート信号、及びフラグメント分のデータの完了を示すエンド信号も出力する。
具体的には、受信パケット検出部520は、セレクタ510に、先ず、受信パケット501の先頭を示すスタート信号を出力し、次に、受信パケット501のフラグメント分のデータを出力し、その後に、フラグメント分のデータの出力の完了を示すエンド信号を出力する。また、受信パケット検出部520は、フラグメント分のデータの出力と、エンド信号の出力とについては、フラグメントの数(L個)だけ繰り返す。なお、受信パケット501のフラグメント分のデータとは、子受信パケット502に相当するデータであり、そのデータ幅は元の受信パケット501のL分の1となっている。また、このフラグメント分のデータ単位で、各受信処理部14は、フラグメント処理を実行する。
また、受信パケット検出部520は、エンド信号の出力と同時に、カウンタ531−1〜531−Nに対して、EOP(End Of Packet)指示を出力する。カウンタ531−1〜531−Nは、カウンタ331−1〜331−N(図6参照)と同様に、それぞれ、カウントできる最大値が異なるカウンタである。カウンタ531−1〜531−Nは、受信パケット検出部520からEOP指示が入力されると、その度に、インクリメントを行う。
カウンタセレクタ530は、カウンタセレクタ330(図6参照)と同様に、電力設定制御部20(図6参照)から個数Lが通知されると、カウンタ531−1〜531−Nの中から、1からLまでをカウント可能なカウンタ531−Lを選択する。そして、カウンタセレクタ530は、選択したカウンタ531−Lのカウンタ値のみをセレクタ510に出力する。
セレクタ510は、カウンタセレクタ530から出力されたカウンタ値に応じて、受信処理部14−1〜14−Nの中から1つの受信処理部14を選択する。そして、セレクタ510は、選択した受信処理部14に対して、スタート信号(最初の受信処理部14−1に対してのみ)、フラグメント分のデータ(子受信パケット502)、及びエンド信号を、順に出力する。このような処理により、受信パケット501は、L個の子受信パケット502に変更され、L個の受信処理部14それぞれへと出力される。
[受信DMA制御部]
続いて、図9を用いて、受信DMA制御部600の構成について説明する。図9に示すように、受信DMA制御部600は、図6に示すように、受信DMAコア部610と、セレクタ620と、カウンタセレクタ630と、N個のカウンタ631−1〜631−Nとを備えている。このうち、受信DMAコア部610は、更に、パケットアドレスレジスタ611と、パケットレングスレジスタ612と、受信パケット制御部613とを備えている。なお、以降の説明において、カウンタ631−1〜631−Nのうち、任意のカウンタを示す場合は、「カウンタ631」とする。
カウンタ631−1〜631−Nは、カウンタ331−1〜331−N(図6参照)と同様に、それぞれ、カウントできる最大値が異なるカウンタである。カウンタ631−1〜631−Nは、受信パケット制御部613からEOP指示が入力されると、その度にインクリメントを行う。
カウンタセレクタ630は、カウンタセレクタ330(図6参照)と同様に、電力設定制御部20(図6参照)から個数Lが通知されると、カウンタ631−1〜631−Nの中から、1からLまでをカウント可能なカウンタ631−Lを選択する。そして、カウンタセレクタ630は、選択したカウンタ631−Lのカウンタ値のみをセレクタ620に出力する。
セレクタ620は、セレクタ320(図6参照)と同様に、カウンタセレクタ630から出力されたカウンタ値に応じて、受信処理部14−1〜14−Nの中から1つの受信処理部14を選択する。そして、セレクタ620は、選択した受信処理部14から、スタート信号、子受信パケット502、及びエンド信号を順次受け取る。この後、セレクタ620は、受信DMAコア部610に対して、スタート信号を出力し、更に、子受信パケット502毎に、子受信パケット502とエンド信号とを出力する。
受信DMAコア部610において、パケットアドレスレジスタ611は、ホスト装置180のメモリ182上における、受信パケット501を格納可能なアドレスを保持している。パケットレングスレジスタ612は、メモリ182上に書き込むことができるパケットデータのデータ長を保持している。
受信パケット制御部613は、セレクタ620から、スタート信号と、受信処理部14毎のエンド信号とを受信する。そして、受信DMAコア部610は、受信パケット制御部613が受信したスタート信号及び各エンド信号を参照し、受信されたL個の子受信パケット502を結合して、連続した1つの受信パケット501を生成する。
また、受信DMAコア部610は、ホストインタフェース部150(図2参照)介して、生成した受信パケット501を、パケットアドレスレジスタ611で保持されているメモリ180上のアドレスに書き込む。また、受信パケット制御部613は、受信処理部14からのエンド信号を検出すると、検出の度に、カウンタ631に、上述したEOP指示を出力する。
また、受信パケット制御部613は、セレクタ620からのスタート信号及び各エンド信号を参照し、受信パケット501のデータ長を算出し、算出したデータ長が、パケットレングスレジスタ613が保持するデータ長の範囲内にあるかどうかを判定する。範囲内に無い場合は、受信パケット制御部613は、受信パケット501を複数個のパケットデータに分割し、分割されたパケットデータ毎に、ホストインタフェース部150(図2参照)に出力する。
[通信装置及び通信システムの動作]
次に、本発明の実施の形態における通信装置100及び通信システム10の動作について図10〜図14を用いて説明する。なお、以下の説明においては、適宜図1〜図9を参酌する。また、本実施の形態では、通信装置100を動作させることによって、通信方法が実施される。よって、本実施の形態における通信方法の説明は、以下の通信装置100の動作説明に代える。
先ず、以下の図10〜図14に示される処理が実行される前に、通信装置100では、設定処理が実行される。具体的には、ホスト装置180(図1及び図2参照)によるレジスタの設定の前に、レジスタ制御部110は、先ず、ライトIOベースアドレス指示信号(図5参照)を出力し、IOマクロ制御部200内のライトIOベースアドレスレジスタ212を設定する。続いて、レジスタ制御部110は、IOメモリライト信号を有効にする。これらの処理により、通信装置100のレジスタ223(内部ロジックを構成する各レジスタ)は、設定可能な状態となる。
[ホスト装置における処理]
その後、ホスト装置180が、図10に示す処理を実行する。図10は、本実施の形態における通信システムを構成するホスト装置の動作を示すフロー図である。なお、ホスト装置180においては、図10に示す処理が実行される前に、予め、省電力設定テーブル800(図4参照)が設定されているとする。また、ホスト装置180は、既に、レジスタ制御部110を介して、通信装置100内の各レジスタに対して設定を行っており、通信装置100を介して通信を開始しているとする。
図10に示すように、先ず、ホスト装置180は、現在、省電力設定テーブル800に登録されている適用条件が満たされているかどうかを判定する(ステップA1)。具体的には、ホスト装置180は、現在の時刻が開始時間802と等しくなると、現在の通信速度が通信速度804の値以下であるか、現在のコネクション数がコネクション数805の値以下であるか、及び現在のCPU使用率がCPU使用率806の値以上であるか、どうかを判定する。ホスト装置180は、通信速度、コネクション数、及びCPU使用率のうち少なくとも1つが要件を満たす場合は、適用条件が満たされていると判定する。
ステップA1の判定の結果、適用条件が満たされていない場合は、ホスト装置180は待機状態となる。一方、ステップA1の判定の結果、適用条件が満たされている場合は、ホスト装置180は、省電力設定パケット701(図3参照)を作成する(ステップA2)。
本実施の形態では、ホスト装置180は、省電力設定テーブル800の省電力レベル807、現在待機中の送信パケットの数、及び実行中のアプリケーションプログラムの種類に基づき、省電力設定パケット701の送信後に通信装置100の性能が低下しても問題無く送信又は送信できるパケット数を特定する。そして、ホスト装置180は、特定したパケット数を、省電力設定パケット701における送信パケット数714に設定し、この送信パケット数714を含む省電力設定パケット701を作成する。また、ホスト装置180は、作成した省電力設定パケット701を、メモリ182上のパケットデータ格納領域700に格納する(図2参照)。
次に、ホスト装置180は、省電力設定パケット701が通信装置100によって読み込まれた後、省電力設定テーブル800に登録されている終了条件が満たされているかどうかを判定する(ステップA3)。具体的には、ホスト装置180は、現在の時刻が、終了時間803と等しくなっているかどうかを判定する。
ステップA3の判定の結果、終了条件が満たされていない場合は、ホスト装置180は待機状態となる。一方、ステップA3の判定の結果、終了条件が満たされている場合は、ホスト装置180は、省電力設定テーブル800に登録されている次の適用条件が満たされているかどうかを判定する(ステップA4)。
ステップA4の判定の結果、次の適用条件が満たされている場合は、ホスト装置180は、再度、ステップA2以降を実行する。一方、ステップA4の判定の結果、次の適用条件が満たされていない場合は、ホスト装置180は、通信装置100を、ステップA2で作成された省電力設定パケット701が送信される前の状態(元の状態)に戻すために、別の省電力設定パケット701を生成する(ステップA5)。
その後、ステップA5で作成された省電力設定パケット701が通信装置100によって読み込まれ、ホスト装置180における処理は終了する。なお、本実施の形態では、ステップA1〜A5は、ホスト装置180が起動している間、繰り返し実行される。
[電力設定処理]
次に、図11を用いて、通信装置100における電力設定処理について説明する。図11は、本実施の形態における通信装置の電力設定時の動作を示すフロー図である。図11に示す処理は、主に、送信DMA制御部300における電力設定制御部20(図6参照)によって実行される。
図11に示すように、先ず、電力設定制御部20は、省電力レベルが変更されているかどうかを判定する(ステップB1)。具体的には、送信DMA制御部300が、メモリ182のパケットデータ格納領域700からパケットをリードすると、電力設定制御部20は、パケットのプロトコルタイプのフィールドをチェックし、当該パケットが省電力設定パケット701であるかどうかを判定する。当該パケットが省電力設定パケット701である場合は、電力設定制御部20は、省電力レベルが変更されていると判断する。
ステップB1の結果、省電力レベルが変更されていない場合は、電力設定制御部20は、待機状態となる。一方、ステップB1の結果、省電力レベルが変更されている場合は、電力設定制御部20は、その後に送信される予定のパケットデータの数又はその後に受信される予定のパケットデータの数をカウントし、カウント値が条件に合致するかどうかを判定する(ステップB2)。具体的には、電力設定制御部20は、カウント値が送受信パケット数714(図3参照)と等しくなっているかどうかを判定する。
ステップB2の判定の結果、カウント値が条件に合致しない場合(受信パケット数714と等しくない場合)は、電力設定制御部20は、待機状態となる。一方、ステップB2の判定の結果、カウント値が条件に合致する場合(受信パケット数714と等しい場合)は、電力設定制御部20は、省電力設定パケット701から、省電力レベル715(個数L)を特定する(ステップB3)。
次に、電力設定制御部20は、PLL制御部129(図2参照)に省電力レベル715を通知する(ステップB4)。ステップB4では、PLL制御部129は、特定された省電力レベル715に合わせて、L個の送信処理部13及び受信処理部数14に対してのみクロック信号を供給する。具体的には、PLL制御部129は、クロック信号の供給が停止されていた送信処理部13及び受信処理部数14に対するクロック信号の供給再開、クロック信号の供給が行われていた送信処理部13及び受信処理部数14に対するクロック信号の供給停止等を行う。
次に、電力設定制御部20は、カウンタセレクタ330、カウンタセレクタ430(図7参照)、カウンタセレクタ530(図8参照)、及びカウンタセレクタ630(図9参照)に対しても、省電力レベル715(個数L)を通知する(ステップB5)。
ステップB5が実行されると、カウンタセレクタ330、カウンタセレクタ430、カウンタセレクタ530、及びカウンタセレクタ630は、1からLまでをカウント可能なカウンタを選択し、選択したカウンタのカウンタ値を、対応するセレクタに出力する。また、この結果、セレクタ320、レクタ410、セレクタ510、及びセレクタ620は、選択されたカウンタの最大カウンタ値以上の数の送信処理部13又は受信処理部14を選択することができなくなる。
また、本実施の形態では、ステップB3の実行後、電力設定制御部20は、ステップB3で特定された省電力レベル715が以前にも設定されているかどうかを判断することができる。具体的には、この場合、電力設定制御部20は、ステップB1での省電力パケットのリードの際にホスト装置180が出力したIO命令が、IO退避メモリ209に既に格納されているかどうかを判定する。
そして、ステップB3で特定された省電力レベル715が以前にも設定されていた場合は、電力設定制御部20は、レジスタ制御部110を介して、IOマクロ制御部200にIOメモリリード信号を出力することができる。この場合、IOマクロ制御部200は、IO退避メモリ209をライトイネーブルとし、IO退避メモリ209に格納されているアドレスとデータとを用いて、通信装置100内の各レジスタ223(図5参照)を再設定することができる。
ステップB5の実行後、電力設定制御部20における処理は一旦終了する。但し、ステップB1〜ステップB5は、通信装置100において、省電力レベルの変更が必要な場合は、繰り返し実行される。
[送信処理]
次に、図12を用いて、通信装置100における送信パケットの送信処理について説明する。図12は、本実施の形態における通信装置の送信時の動作を示すフロー図である。図12に示す処理は、送信DMA制御部300(図6参照)及び送信MAC制御部400(図7参照)によって実行される。
図12に示すように、先ず、送信DMA制御部300の送信DMAコア部310は、パケットアドレスレジスタ311に保持されているメモリ182のアドレスから、送信パケット301の読み込みを実行する(ステップC1)。次に、送信DMAコア部300は、送信パケット301からL個の子送信パケット302を作成し、L個の送信処理部13それぞれに、子送信パケット302を出力する(ステップC2)。
具体的には、ステップC2では、送信パケット制御部313(図6参照)が、セレクタ320に対して、送信パケット301の先頭を示すスタート信号を出力する。そして、送信DMAコア部310が、送信パケット301のフラグメント分のデータを出力すると、送信パケット制御部313は、その度に、セレクタ320に対して、フラグメント分のデータの出力の完了を示すエンド信号を出力する。エンド信号は、後段の処理を行う各部に対して、パケットの切れ目を通知する役目を担っている。
更に、ステップC2では、セレクタ320は、カウンタセレクタ330が通知するカウンタ331のカウンタ値に従って、送信処理部13の選択を切り替え、子送信パケット302の出力先を決定する。また、カウンタ331は、送信パケット制御部313がエンド信号の出力と同時にEOP指示を出力する度に、カウンタ値をインクリメントしているため、フラグメント分のデータ単位で、送信処理部13の選択の切り替えが行われることとなる。
また、セレクタ320は、選択した送信処理部毎に、スタート信号(最初の送信処理部13−1に対してのみ)、フラグメント分のデータ(子送信パケット302)、及びエンド信号を、順に出力する。この結果、送信パケット301は、L個の子送信パケット302に変更され、各送信処理部13に子送信パケット302が出力される。
また、ステップC2において、選択された各送信処理部13では、送信パケット処理部131は、子送信パケット302に対して、フラグメント処理等のデータ変更処理を実行する。また、選択された各送信処理部13では、送信バッファ制御部132は、データ変更処理後の子送信パケット302を、送信FIFO133で一旦保持し、その後、送信MAC制御部400(図7参照)へと出力する。
次に、送信MAC制御部400は、各子送信パケット302から、元の送信パケット301を生成する(ステップC3)。具体的には、ステップC3では、セレクタ410は、カウンタセレクタ430が通知するカウンタ431のカウンタ値に従って、送信処理部13の選択を切り替え、子送信パケット302の読み取り先となる送信処理部13を決定する。また、カウンタ431は、送信パケット検出部420がエンド信号の検出と同時にEOP指示を出力する度にカウンタ値をインクリメントしているため、送信MAC制御部400においても、フラグメント分のデータ単位で、送信処理部13の選択の切り替えが行われることとなる。
また、ステップC3では、セレクタ410は、選択された各送信処理部13が出力した、スタート信号(最初の送信処理部13−1のみ)、子送信パケット302、及びエンド信号を、送信パケット検出部420に出力する。送信パケット検出部420は、スタート信号及びエンド信号に基づき、各子送信パケット302を結合して、これらを、連続した1つの送信パケット301に戻す。
その後、送信MAC制御部400において、送信パケット検出部420は、生成した送信パケット301をMAC処理部160に出力する(ステップC4)。ステップC4では、送信パケット検出部420は、スタート信号と、送信パケット301の出力完了を示す送信パケット・エンド信号もMAC処理部160に出力する。なお、ステップC1〜C4は、1つの送信パケット301の送信処理のみを示している。ステップC1〜C4は、送信パケット301の数だけ繰り返し実行される。
[受信処理]
次に、図13を用いて、通信装置100における受信パケットの受信処理について説明する。図13は、本実施の形態における通信装置の受信時の動作を示すフロー図である。図13に示す処理は、受信MAC制御部500(図8参照)及び受信DMA制御部600(図9参照)によって実行される。
図13に示すように、先ず、受信MAC制御部500は、MAC処理部160から、受信パケット501を受け取る(ステップD1)。具体的には、ステップD1では、受信パケット検出部520が、MAC処理部160から、受信パケット501の先頭を示すスタート信号、受信パケット501、及び受信パケット501の最後を示す受信パケット・エンド信号を順に受け取る。
次に、受信MAC制御部500は、受信パケット501からL個の子受信パケット502を作成し、L個の受信処理部14それぞれに、子受信パケット502を出力する(ステップD2)。
具体的には、ステップD2では、先ず、受信パケット検出部520が、セレクタ510に、受信パケット501の先頭を示すスタート信号を出力し、次に、受信パケット501のフラグメント分のデータを出力し、その後に、フラグメント分のデータの出力の完了を示すエンド信号を出力する。更に、受信パケット検出部520は、フラグメント分のデータの出力と、エンド信号の出力とについては、フラグメントの数(L個)だけ繰り返す。
また、ステップD2では、受信パケット検出部520は、エンド信号の出力と同時に、カウンタ531に、EOP指示を出力する。カウンタ531は、受信パケット検出部520からEOP指示が入力されると、その度に、カウンタ値をインクリメントする。また、カウンタ531は、カウンタ値をカウンタセレクタ530に入力する。
更に、ステップD2では、セレクタ510は、カウンタセレクタ530が通知するカウンタ531のカウンタ値に従って、受信処理部14の選択を切り替え、子受信パケット502の出力先を決定する。カウンタ531は、受信パケット検出部520がEOP指示を出力する度に、カウンタ値をインクリメントしているため、フラグメント分のデータ単位で、受信処理部14の選択の切り替えが行われる。
また、セレクタ510は、選択した受信処理部毎に、スタート信号(最初の受信処理部14−1に対してのみ)、フラグメント分のデータ(子受信パケット502)、及びエンド信号を、順に出力する。この結果、受信パケット501は、L個の子受信パケット502に変更され、各受信処理部14に子受信パケット502が出力される。
また、ステップD2において、選択された各受信処理部14では、受信パケット処理部141は、子受信パケット502に対して、フラグメント処理等のデータ変更処理を実行する。また、選択された各受信処理部14では、受信バッファ制御部142は、データ変更処理後の子受信パケット502を、受信FIFO143で一旦保持し、その後、受信DMA制御部600(図9参照)へと出力する。
次に、受信DMA制御部600は、各受信パケット502から、元の受信パケット501を生成する(ステップD3)。具体的には、ステップD3では、セレクタ620は、カウンタセレクタ630が通知するカウンタ631のカウンタ値に従って、受信処理部14の選択を切り替え、子受信パケット502の読み取り先となる受信処理部14を決定する。そして、セレクタ620は、選択した受信処理部14から、スタート信号、子受信パケット502、及びエンド信号を順次受け取り、これらを受信DMAコア部610に出力する。
また、ステップD3では、受信パケット制御部613が、スタート信号及び各エンド信号を参照し、受信されたL個の子受信パケット502を結合して、連続した1つの受信パケット501を生成する。なお、カウンタ631は、受信パケット制御部613がエンド信号の検出と同時にEOP指示を出力する度にカウンタ値をインクリメントしており、受信DMA制御部600においても、フラグメント分のデータ単位で、受信処理部14の選択の切り替えが行われている。
その後、受信DMA制御部600において、受信DMAコア部610は、生成した受信パケットを、ホストインタフェース部150(図2参照)を介してメモリ180に出力する(ステップD4)。具体的には、受信DMAコア部610は、パケットアドレスレジスタ611で保持されているメモリ180上のアドレスに受信パケット501の書き込みを行う。なお、ステップD1〜D4は、1つの受信パケット501の受信処理のみを示している。ステップD1〜D4は、受信パケット501の数だけ繰り返し実行される。
以上のように、本実施の形態では、通信状況に応じて、一部の送信処理部13及び受信処理部14を動作させないようにすることができるので、通信装置100が必要以上に電力を消費しないようにする事ができる。また、本実施の形態では、IOマクロ制御部200及びIO退避メモリ209により、ホスト装置180は、通信装置100に対して同様の設定を繰り返して行う必要がないため、ホスト装置側での消費電力の削減も図ることができる。
また、本実施の形態では、省電力設定テーブル800を利用することができる。よって、開始時間802、終了時間803、通信装置に必要な通信速度804、ホスト装置180が通信時に必要なコネクション数805、ホスト装置180のCPU使用率806等の各種パラメータに基づいて、通信装置100の消費電力をきめ細かく制御することができる。更に、省電力設定パケット701を用いて、通信装置に省電力レベル等を通知できるため、省電力レベルの変更は、ホスト装置180内のプロセッサの介在なしに実行でき、この点でも消費電力の削減が図られる。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記15)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
ホスト装置からの指示に応じて通信を行う通信装置であって、
伝送路として機能する複数の通信処理部と、
前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、電力設定制御部と、
前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、データ変更部と、
選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、データ出力部と、
を備えている、ことを特徴とする通信装置。
(付記2)
前記通信処理部として、前記ホスト装置からの送信データの伝送路となる複数の送信処理部と、外部からの受信データの伝送路となる複数の受信処理部とが備えられ、
前記電力設定制御部が、前記電力パラメータに基づいて、前記複数の送信処理部の中から、動作させる送信処理部を選択し、更に、前記複数の受信処理部の中から、動作させる受信処理部を選択し、
前記データ変更部として、
前記送信データを、選択された前記送信処理部の数と同数の子送信データに変更し、前記子送信データを、選択された前記送信処理部それぞれに入力する、送信用データ変更部と、
前記受信データを、選択された前記受信処理部の数と同数の子受信データに変更し、前記子受信データを、選択された前記受信処理部それぞれに入力する、受信用データ変更部とが備えられ、
前記データ出力部として、
選択された前記送信処理部から前記子送信データを受け取り、受け取った前記子送信データを元の前記送信データに戻して外部に出力する、送信用データ出力部と、
選択された前記受信処理部から前記子受信データを受け取り、受け取った前記子受信データを元の前記受信データに戻して前記ホスト装置に出力する、受信用データ出力部とが備えられている、
付記1に記載の通信装置。
(付記3)
クロック信号を供給するクロック制御部を更に備え、
前記クロック制御部は、前記複数の通信処理部に対しては、選択された前記通信処理部にのみ前記クロック信号を供給する、付記1または2に記載の通信装置。
(付記4)
記憶部と、
前記ホスト装置が当該通信装置に対してレジスタの設定を指示する命令を出力すると、前記命令で指示された前記レジスタのアドレスに、前記命令で指示されたデータを書き込む、レジスタ制御部と、
前記レジスタ制御部が書き込みを行う際に、前記命令で指示された前記アドレスと、前記命令で指示された前記データとを取得し、これらを前記記憶部に記憶させる、IOマクロ制御部とを備え、
前記IOマクロ制御部は、前記記憶部に記憶されているアドレスとデータとを指定する命令が、新たに、前記ホスト装置から当該通信装置に出力されると、前記レジスタ制御部に代わり、前記記憶部に記憶されているアドレスに、前記記憶部に記憶されているデータを書き込む、
付記1〜3のいずれかに記載の通信装置。
(付記5)
複数の前記電力パラメータが、前記ホスト装置によって、条件毎に設定され、各条件に合致した場合に、対応する前記電力パラメータを含む前記送信データが、当該通信装置に送信され、
前記電力設定制御部が、前記送信データから、前記電力パラメータを取得する、
付記2に記載の通信装置。
(付記6)
ホスト装置と、前記ホスト装置からの指示に応じて通信を行う通信装置とを備え、
前記通信装置は、
伝送路として機能する複数の通信処理部と、
前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、電力設定制御部と、
前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、データ変更部と、
選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、データ出力部と、
を備えている、ことを特徴とする通信システム。
(付記7)
前記通信装置において、
前記通信処理部として、前記ホスト装置からの送信データの伝送路となる複数の送信処理部と、外部からの受信データの伝送路となる複数の受信処理部とが備えられ、
前記電力設定制御部が、前記電力パラメータに基づいて、前記複数の送信処理部の中から、動作させる送信処理部を選択し、更に、前記複数の受信処理部の中から、動作させる受信処理部を選択し、
前記データ変更部として、
前記送信データを、選択された前記送信処理部の数と同数の子送信データに変更し、前記子送信データを、選択された前記送信処理部それぞれに入力する、送信用データ変更部と、
前記受信データを、選択された前記受信処理部の数と同数の子受信データに変更し、前記子受信データを、選択された前記受信処理部それぞれに入力する、受信用データ変更部とが備えられ、
前記データ出力部として、
選択された前記送信処理部から前記子送信データを受け取り、受け取った前記子送信データを元の前記送信データに戻して外部に出力する、送信用データ出力部と、
選択された前記受信処理部から前記子受信データを受け取り、受け取った前記子受信データを元の前記受信データに戻して前記ホスト装置に出力する、受信用データ出力部とが備えられている、
付記6に記載の通信システム。
(付記8)
前記通信装置が、クロック信号を供給するクロック制御部を更に備え、
前記クロック制御部は、前記複数の通信処理部に対しては、選択された前記通信処理部にのみ前記クロック信号を供給する、付記6または7に記載の通信システム。
(付記9)
前記通信装置が、更に、
記憶部と、
前記ホスト装置が当該通信装置に対してレジスタの設定を指示する命令を出力すると、前記命令で指示された前記レジスタのアドレスに、前記命令で指示されたデータを書き込む、レジスタ制御部と、
前記レジスタ制御部が書き込みを行う際に、前記命令で指示された前記アドレスと、前記命令で指示された前記データとを取得し、これらを前記記憶部に記憶させる、IOマクロ制御部とを備え、
前記IOマクロ制御部は、前記記憶部に記憶されているアドレスとデータとを指定する命令が、新たに、前記ホスト装置から前記通信装置に出力されると、前記レジスタ制御部に代わり、前記記憶部に記憶されているアドレスに、前記記憶部に記憶されているデータを書き込む、
付記6〜8のいずれかに記載の通信システム。
(付記10)
前記ホスト装置が、条件毎に複数の前記電力パラメータを設定し、各条件に合致した場合に、対応する前記電力パラメータを含む前記送信データを前記通信装置に送信し、
前記電力設定制御部が、前記送信データから、前記電力パラメータを取得する、
付記7に記載の通信システム。
(付記11)
ホスト装置からの指示に応じて通信を行い、且つ、伝送路として機能する複数の通信処理部を備える、通信装置を用いた通信方法であって、
(a)前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、ステップと、
(b)前記ホスト装置または外部からのデータを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、ステップと、
(c)選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、ステップと、
を有する、ことを特徴とする通信方法。
(付記12)
前記通信装置が、前記通信処理部として、前記ホスト装置からの送信データの伝送路となる複数の送信処理部と、外部からの受信データの伝送路となる複数の受信処理部とを備えており、
当該通信方法が、
前記(a)のステップの代わりに、
(a1)前記電力パラメータに基づいて、前記複数の送信処理部の中から、動作させる送信処理部を選択するステップと、
(a2)前記電力パラメータに基づいて、前記複数の受信処理部の中から、動作させる受信処理部を選択するステップとを有し、
前記(b)のステップの代わりに、
(b1)前記送信データを、選択された前記送信処理部の数と同数の子送信データに変更し、前記子送信データを、選択された前記送信処理部それぞれに入力する、ステップと、
(b2)前記受信データを、選択された前記受信処理部の数と同数の子受信データに変更し、前記子受信データを、選択された前記受信処理部それぞれに入力する、ステップとを有し、
前記(c)のステップの代わりに、
(c1)選択された前記送信処理部から前記子送信データを受け取り、受け取った前記子送信データを元の前記送信データに戻して外部に出力する、ステップと、
(c2)選択された前記受信処理部から前記子受信データを受け取り、受け取った前記子受信データを元の前記受信データに戻して前記ホスト装置に出力する、ステップとを有している、
付記11に記載の通信方法。
(付記13)
前記(a)のステップにおいて、動作させる前記通信処理部の選択が、前記複数の通信処理部のうち、選択される前記通信処理部にのみクロック信号を供給することによって行われている、付記11または12に記載の通信方法。
(付記14)
当該通信方法が、
(d)前記ホスト装置が前記通信装置に対してレジスタの設定を指示する命令を出力した場合に、前記命令で指示されたアドレスに、前記命令で指示されたデータの書き込みを行い、更に、その際、前記命令で指示されたアドレスと、前記命令で指示されたデータとを、前記通信装置に備えられた記憶装置に記憶させる、ステップと、
(e)前記ホスト装置から、前記記憶装置に記憶されているアドレスとデータとを指定する命令が、新たに、前記通信装置に出力された場合に、前記記憶装置に記憶されているアドレスに、前記記憶装置に記憶されているデータを書き込む、ステップと、
を更に有する、付記11〜13のいずれかに記載の通信方法。
(付記15)
複数の前記電力パラメータが、前記ホスト装置によって、条件毎に設定され、各条件に合致した場合に、対応する前記電力パラメータを含む前記送信データが、当該通信装置に送信され、
(f)前記送信データから、前記電力パラメータを取得する、ステップを更に有する、付記12に記載の通信方法。
本発明によれば、通信状況に応じて、内部バス幅を可変でき、通信装置及び通信システムの消費電力を低減することができる。本発明は、一般的なオフィス又は工業向けに使用される通信装置及び通信システムに有用である。
10 通信システム
13、13−1〜13−N 送信処理部
14、14−1〜14−N 受信処理部
20 電力設定制御部
30 送信用データ変更部
40 送信用データ出力部
50 受信用データ変更部
60 受信用データ出力部
100 通信装置
110 レジスタ制御部
120 PLL
129 PLL制御部
131 送信パケット処理部
132 送信バッファ制御部
133 送信FIFO
141 受信パケット処理部
142 受信バッファ制御部
143 受信FIFO
150 ホストインタフェース部
151 データ処理部
160 MAC処理部
170 PHY処理部
180 ホスト装置
181 CPU
182 メモリ
183 バス
200 IOマクロ制御部
201 リードIOベースアドレスレジスタ
202 リードIOカウンタ
203 比較器
204 命令長設定レジスタ
205 リードアドレス加算器
209 IO退避メモリ
211 ライトIOカウンタ
212 ライトIOベースアドレスレジスタ
213 リードライト指示レジスタ
214 データ作成部
215 ライトアドレス加算器
221 IOマクロセレクタ
222 アドレスデコーダ
223 レジスタ
300 送信DMA制御部
301 送信パケット
302 子送信パケット
310 送信DMAコア部
311 パケットアドレスレジスタ
312 パケットレングスレジスタ312
313 送信パケット制御部
320 セレクタ
330 カウンタセレクタ
331、331−1〜331−N カウンタ
400 送信MAC制御部
410 セレクタ
420 送信パケット検出部
430 カウンタセレクタ
431、431−1〜431−N カウンタ
500 受信MAC制御部
501 受信パケット
502 子受信パケット
510 セレクタ
520 受信パケット検出部
530 カウンタセレクタ
531、531−1〜531−N カウンタ
600 受信DMA制御部
610 受信DMAコア部
611 パケットアドレスレジスタ
612 パケットレングスレジスタ
613 受信パケット制御部
620 セレクタ
630 カウンタセレクタ
631、631−1〜631−N カウンタ
700 パケットデータ格納領域
701 省電力設定パケット
711 送信先MACアドレス
712 送信元MACアドレス
713 プロトコルタイプ
714 送受信パケット数
715 省電力レベル(電力パラメータ)
800 省電力設定テーブル
801 項番
802 開始時間
803 終了時間
804 通信速度
805 コネクション数
806 CPU使用率
807 省電力レベル

Claims (6)

  1. ホスト装置からの指示に応じて通信を行う通信装置であって、
    伝送路として機能する複数の通信処理部と、
    前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、電力設定制御部と、
    前記ホスト装置からの送信データまたは外部からの受信データを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、データ変更部と、
    選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、データ出力部と、
    記憶部と、
    前記ホスト装置が、当該通信装置に対して、前記送信データの取得または前記受信データの格納のためのレジスタの設定を指示する命令を出力すると、前記命令で指示された前記レジスタのアドレスに、前記命令で指示されたデータを書き込む、レジスタ制御部と、
    前記レジスタ制御部が書き込みを行う際に、前記命令で指示された前記アドレスと、前記命令で指示された前記データとを取得し、これらを前記記憶部に記憶させる、IOマクロ制御部と、を備え
    前記電力設定制御部は、前記記憶部に記憶されているアドレスとデータとを指定する命令が、新たに、前記ホスト装置から当該通信装置に出力されている場合に、前記IOマクロ制御部に対して、前記レジスタ制御部に代わり、前記記憶部に記憶されているアドレスに、前記記憶部に記憶されているデータを書き込ませる、
    ことを特徴とする通信装置。
  2. 前記通信処理部として、前記ホスト装置からの送信データの伝送路となる複数の送信処理部と、外部からの受信データの伝送路となる複数の受信処理部とが備えられ、
    前記電力設定制御部が、前記電力パラメータに基づいて、前記複数の送信処理部の中から、動作させる送信処理部を選択し、更に、前記複数の受信処理部の中から、動作させる受信処理部を選択し、
    前記データ変更部として、
    前記送信データを、選択された前記送信処理部の数と同数の子送信データに変更し、前記子送信データを、選択された前記送信処理部それぞれに入力する、送信用データ変更部と、
    前記受信データを、選択された前記受信処理部の数と同数の子受信データに変更し、前記子受信データを、選択された前記受信処理部それぞれに入力する、受信用データ変更部とが備えられ、
    前記データ出力部として、
    選択された前記送信処理部から前記子送信データを受け取り、受け取った前記子送信データを元の前記送信データに戻して外部に出力する、送信用データ出力部と、
    選択された前記受信処理部から前記子受信データを受け取り、受け取った前記子受信データを元の前記受信データに戻して前記ホスト装置に出力する、受信用データ出力部とが備えられている、
    請求項1に記載の通信装置。
  3. クロック信号を供給するクロック制御部を更に備え、
    前記クロック制御部は、前記複数の通信処理部に対しては、選択された前記通信処理部にのみ前記クロック信号を供給する、請求項1または2に記載の通信装置。
  4. 複数の前記電力パラメータが、前記ホスト装置によって、条件毎に設定され、各条件に合致した場合に、対応する前記電力パラメータを含む前記送信データが、当該通信装置に送信され、
    前記電力設定制御部が、前記送信データから、前記電力パラメータを取得する、
    請求項2に記載の通信装置。
  5. ホスト装置と、前記ホスト装置からの指示に応じて通信を行う通信装置とを備え、
    前記通信装置は、
    伝送路として機能する複数の通信処理部と、
    前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、電力設定制御部と、
    前記ホスト装置からの送信データまたは外部からの受信データを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、データ変更部と、
    選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、データ出力部と、
    記憶部と、
    前記ホスト装置が、当該通信装置に対して、前記送信データの取得または前記受信データの格納のためのレジスタの設定を指示する命令を出力すると、前記命令で指示された前記レジスタのアドレスに、前記命令で指示されたデータを書き込む、レジスタ制御部と、
    前記レジスタ制御部が書き込みを行う際に、前記命令で指示された前記アドレスと、前記命令で指示された前記データとを取得し、これらを前記記憶部に記憶させる、IOマクロ制御部と、を備え
    前記電力設定制御部は、前記記憶部に記憶されているアドレスとデータとを指定する命令が、新たに、前記ホスト装置から当該通信装置に出力されている場合に、前記IOマクロ制御部に対して、前記レジスタ制御部に代わり、前記記憶部に記憶されているアドレスに、前記記憶部に記憶されているデータを書き込ませる、
    ことを特徴とする通信システム。
  6. ホスト装置からの指示に応じて通信を行い、且つ、伝送路として機能する複数の通信処理部と、記憶部とを備える、通信装置を用いた通信方法であって、
    (a)前記ホスト装置によって設定され、且つ当該通信装置の消費電力を規定する、電力パラメータに基づいて、前記複数の通信処理部の中から、動作させる通信処理部を選択する、ステップと、
    (b)前記ホスト装置からの送信データまたは外部からの受信データを入力データとして取得し、前記入力データを、選択された前記通信処理部の数と同数の子データに変更し、前記子データを、選択された前記通信処理部それぞれに入力する、ステップと、
    (c)選択された前記通信処理部から前記子データを受け取り、受け取った前記子データを元の前記データに戻して出力する、ステップと、
    (d)前記ホスト装置が、前記通信装置に対して、前記送信データの取得または前記受信データの格納のためのレジスタの設定を指示する命令を出力した場合に、前記命令で指示された前記レジスタのアドレスに、前記命令で指示されたデータの書き込みを行い、更に、その際、前記命令で指示された前記アドレスと、前記命令で指示された前記データとを、前記記憶部に記憶させる、ステップと、
    (e)前記ホスト装置から、前記記憶部に記憶されているアドレスとデータとを指定する命令が、新たに、前記通信装置に出力された場合に、前記記憶部に記憶されているアドレスに、前記記憶部に記憶されているデータを書き込む、ステップと、
    を有する、ことを特徴とする通信方法。

JP2010106915A 2010-05-07 2010-05-07 通信装置、通信システム及び通信方法 Expired - Fee Related JP5070609B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010106915A JP5070609B2 (ja) 2010-05-07 2010-05-07 通信装置、通信システム及び通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010106915A JP5070609B2 (ja) 2010-05-07 2010-05-07 通信装置、通信システム及び通信方法

Publications (2)

Publication Number Publication Date
JP2011239046A JP2011239046A (ja) 2011-11-24
JP5070609B2 true JP5070609B2 (ja) 2012-11-14

Family

ID=45326576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010106915A Expired - Fee Related JP5070609B2 (ja) 2010-05-07 2010-05-07 通信装置、通信システム及び通信方法

Country Status (1)

Country Link
JP (1) JP5070609B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05160858A (ja) * 1991-12-05 1993-06-25 Nippon Telegr & Teleph Corp <Ntt> 分散形マルチリンク手順制御方式
JP3901982B2 (ja) * 2001-10-18 2007-04-04 富士通株式会社 ネットワークプロセッサの負荷分散装置
JP4121298B2 (ja) * 2002-04-18 2008-07-23 松下電器産業株式会社 通信端末装置及び通信制御方法
JP3927443B2 (ja) * 2002-05-01 2007-06-06 日本電信電話株式会社 動画像送受信システムおよび動画像送受信方法
JP4485370B2 (ja) * 2005-01-06 2010-06-23 三菱電機株式会社 並列計算装置
JP4782082B2 (ja) * 2007-08-22 2011-09-28 日本電信電話株式会社 パケット処理装置、方法、およびプログラム

Also Published As

Publication number Publication date
JP2011239046A (ja) 2011-11-24

Similar Documents

Publication Publication Date Title
US9225343B2 (en) Electronics device capable of efficient communication between components with asyncronous clocks
US6389489B1 (en) Data processing system having a fifo buffer with variable threshold value based on input and output data rates and data block size
KR102114388B1 (ko) 전자 장치의 메모리 압축 방법 및 장치
EP4350515A1 (en) Load balancing method for multi-thread forwarding, and related apparatus
US20080028249A1 (en) System and method for adaptive frequency scaling
CN113094309A (zh) 一种数据位宽转换方法和装置
US20170329632A1 (en) Device scheduling method, task manager and storage medium
JP5388864B2 (ja) クロック制御装置、クロック制御方法、クロック制御プログラム及び集積回路
JP4940033B2 (ja) 計算機システム、計算機システムの制御方法および携帯電話機
CN115334175A (zh) 多协议的自适应解析方法、物联网计量装置、设备和介质
JP2013065975A (ja) 電力供給制御装置、管理制御装置、画像処理装置、電力供給制御プログラム
US8972769B2 (en) Data processing apparatus and control method for controlling clock frequency based on calculated frequency-to-response-time ratios
KR101501181B1 (ko) 인터페이스 프로세서
JP5070609B2 (ja) 通信装置、通信システム及び通信方法
JP2007172030A (ja) 割り込み制御装置及び割り込み制御方法
US8867304B2 (en) Command throttling for multi-channel duty-cycle based memory power management
JP2011173378A (ja) 印刷装置
JP5783348B2 (ja) 制御装置、制御プログラム、画像形成装置
US6678749B2 (en) System and method for efficiently performing data transfer operations
JP2012234315A (ja) データ処理装置
JP5668505B2 (ja) クロック周波数制御プログラム、クロック周波数制御装置
CN114721464A (zh) 片上系统和计算装置
CN117331872B (zh) 防止总线死锁的方法及相关装置
WO2012070170A1 (ja) 電源制御システム及び電源制御方法
JP2010262663A (ja) メモリインタフェース装置、メモリインタフェース方法、およびモデム装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120629

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120725

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120801

R150 Certificate of patent or registration of utility model

Ref document number: 5070609

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150831

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees