(57)【特許請求の範囲】
【請求項１】
一又は二以上のパケット処理部を備えたパケット処理装置であって、
前記パケット処理部の入力パケットと出力パケットとを監視して、前記パケット処理部にパケットが存在するか否かを検出し、この検出の結果を示すパケット検出信号を出力するパケット検出手段と、
前記パケット検出信号の示す前記検出の結果、前記パケット処理部にパケットが存在しないときに、前記パケット処理部に供給されるクロックの周波数を低くするクロック制御手段とを有した
ことを特徴とするパケット処理装置。
【請求項２】
外部から入力されたパケットを蓄積するとともに、蓄積の有無を示すパケット検出信号を出力する入力側パケットバッファ部を有した
ことを特徴とする請求項１記載のパケット処理装置。
【請求項３】
前記パケット処理部で所定の処理がなされたパケットを蓄積するとともに、蓄積の有無を示すパケット検出信号を出力する出力側パケットバッファ部を有した
ことを特徴とする請求項１又は２記載のパケット処理装置。
【請求項４】
前記クロック制御手段が、
前記パケット検出信号を受け取るとともに、この受け取ったパケット検出信号にもとづいてクロック制御信号を生成し出力するクロック制御指示部と、
前記クロック制御信号にもとづいて、前記パケット処理部に供給されるクロックを制御するクロック制御部とを有した
ことを特徴とする請求項１〜３のいずれかに記載のパケット処理装置。
【請求項５】
前記クロック制御指示部が、
前記パケット処理部にパケットが存在しない場合に、当該パケット処理部に送られるクロックを制御すべきことを示すクロック制御信号を生成して出力する
ことを特徴とする請求項４記載のパケット処理装置。
【請求項６】
前記クロック制御指示部が、
前記パケット処理部と、このパケット処理部の前段階の処理部との両方に、パケットが存在しない場合に、当該パケット処理部に送られるクロックを制御すべきことを示すクロック制御信号を生成して出力する
ことを特徴とする請求項４記載のパケット処理装置。
【請求項７】
前記クロックの制御に関する情報を入力する設定情報入力部と、
前記入力された情報を前記クロック制御部へ送るクロック制御情報設定部とを有し、
前記クロック制御部が、前記情報にもとづいて、前記クロックを制御する
ことを特徴とする請求項４〜６のいずれかに記載のパケット処理装置。
【請求項８】
入力したパケットに所定の処理を行って出力するパケット制御方法であって、
前記所定の処理を行うパケット処理部の入力パケットと出力パケットとを監視して、前記パケット処理部にパケットが存在するか否かを検出する処理と、
前記パケットが存在しないときに、前記パケット処理部に供給されるクロックの周波数を低くする処理とを有した
ことを特徴とするパケット制御方法。
【請求項９】
前記パケット処理部の前段階の処理部にパケットが存在するか否かを検出する処理と、
前記パケット処理部と前段階の処理部との両方にパケットが存在しないときに、前記パケット処理部に供給されるクロックを制御する処理とを有した
ことを特徴とする請求項８記載のパケット制御方法。
【請求項１０】
入力したパケットに所定の処理を行って出力する処理をパケット処理装置に実行させるためのパケット制御プログラムであって、
前記所定の処理を行うパケット処理部の入力パケットと出力パケットとを監視して、前記パケット処理部にパケットが存在するか否かを検出する処理と、
前記パケットが存在しないときに、前記パケット処理部に供給されるクロックの周波数を低くする処理と
を前記パケット処理装置に実行させる
ことを特徴とするパケット制御プログラム。
【請求項１１】
前記パケット処理部の前段階の処理部にパケットが存在するか否かを検出する処理と、
前記パケット処理部と前段階の処理部との両方にパケットが存在しないときに、前記パケット処理部に供給されるクロックを制御する処理と
を前記パケット処理装置に実行させる
ことを特徴とする請求項１０記載のパケット制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力したパケットに所定の処理を行って出力するパケット処理装置、このパケット処理装置で実行されるパケット制御方法、及び、パケット制御方法を実行するためのパケット制御プログラムに関し、特に、一又は二以上備えられたパケット処理部のそれぞれに所定周波数のクロックを供給するパケット処理装置、パケット制御方法及びパケット制御プログラムに関する。
【背景技術】
【０００２】
地球環境保全に向けて省エネルギー対策が世界レベルで検討されている中、省エネルギー及び二酸化炭素排出量削減に向けた法制化検討も各国で議論され始めている。
一般的には、運輸、物流及び製造に伴うエネルギー消費が対策と受け取られることが多いが、コンピュータ、サーバなどの電子機器も同様に情報通信機器やネットワークインフラ関連のエネルギー消費量の増加も注目されつつある。
【０００３】
コンピュータ、サーバなどの電子機器では、演算処理を行わない（いわゆる待機状態と呼ばれる）時間が比較的多いことから、待機状態の消費電力を抑制することで平均消費電力を削減することが可能であり、換算される二酸化炭素排出量の削減に寄与できる効果が高い。
一方、情報通信機器においては、アナログ通信からデジタル通信に変化しながらも常にデータ通信可能な状態を保持していることが求められるため、コンピュータ、サーバなどの電子機器のように待機状態を許容できない前提条件がある。
すなわち、定常動作電力値を下げるしか平均消費電力量を削減することができないことになる。
【０００４】
このため、電力削減は、もっぱら電子部品の高集積化と電子部品の微細化に伴う動作電圧の低電圧化というデバイス技術の視点での手法が主流である。
しかしながら、電子部品の微細化に伴う動作電圧の低電圧効果については１ボルトを下回るようになり、動作電圧の低下幅が鈍化する傾向にあり、高集積化による効果も鈍化傾向にあるのが実状である。
このため、大幅な消費電力低下が困難になってきている。
また、微細化が進み９０ｎｍを下回るようになり、漏れ電流が増大し無視できない値になってきたため、デバイスベンダー毎にデバイス技術による研究が行われているものの待機状態時の消費電力が大幅に増大しつつある。
【０００５】
一方、回路設計の視点による対策も研究されている。
設計電子部品内部回路構成の主流であるクロック同期回路構成及び方式としてクロックを用いない非同期回路構成及び方式を採用することで低消費電力化をはかる試みも徐々に進んでいる。
この手法は、定常動作電力と待機状態の消費電力を下げることで平均消費電力の削減効果を狙っているが、一般的な電子部品、例えばＡＳＩＣやＦＰＧＡにおける開発手法として非同期回路構成および方式を採用するには、設計及び検証のための開発ツールが整備されていないため、一般の開発者には活用の機会がないのが課題である。
【０００６】
ところで、受信パケットの内容に応じて複数の処理を実行し、そのすべての処理が完了したパケットを送出するパケット処理装置が知られている（例えば、特許文献１参照。）。
このパケット処理装置の構成及び動作について、図５を参照して説明する。
同図は、入力トラフィック容量が変動するパケット処理装置１００のパケット処理に関する機能ブロック図である。
【０００７】
パケット入力端１１１は、パケット入力クロック入力端１１２のクロックに同期してパケットを入力する。この入力されたパケットは、パケットバッファＦ部１１３に蓄積される。
パケットバッファＦ部１１３からパケット処理Ａ部１１４にパケットが受け渡されると、このパケット処理Ａ部１１４で第一のパケット処理Ａが行われる。
パケット処理Ａ部１１４で処理Ａが終わったパケットは、パケット処理Ｂ部１１６に受け渡され、第二のパケット処理Ｂが行われる。
パケット処理Ｂ部１１６で処理Ｂが終わったパケットは、パケット処理Ｃ部１１８にパケットが受け渡され、第三のパケット処理Ｃが行われる。
【０００８】
パケット処理Ｃ部１１８で処理Ｃが終わったパケットは、パケットバッファＧ部１１９に受け渡され、パケット出力クロック入力端１２１のクロックに同期して、パケット出力端１２０より出力される。
クロック分配部１２３は、クロック入力端１２２からクロックを入力すると、各構成ブロックに最適な周波数ｆａ，ｆｂ，ｆｃのクロックを生成し、各構成ブロックに供給する。
このような構成によれば、入力したパケットに複数の処理を実行して出力することができる。
【特許文献１】特開２００２−１６４９２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、図５に示したパケット処理装置においては、入力パケット間隔が大きくなり、入力トラフィック容量が低くなり、パケット処理Ａ部、パケット処理Ｂ部、及び、パケット処理Ｃ部にパケットが存在せず、パケット処理動作を必要としないときでも、クロック分配部１２３からクロックが供給されていた。
【００１０】
つまり、各パケット処理部でパケット処理を必要としないときでもクロックが供給されているため、クロック伝達のためのドライバ、クロック配線容量に依存するクロック配線パターン、及び、クロック動作のフリップフロップやクロック同期メモリのクロック依存部の電力消費が定常的に発生する、いわゆる、待機電力と呼ばれる電力消費があった。したがって、低トラフィック時にも拘わらず平均動作消費電力量が大きく低減されることがなかった。
【００１１】
本発明は、上記の事情にかんがみなされたものであり、入力トラフィック容量が変動するパケット処理装置において、入力トラフィック容量最大の場合のスループットを損なうことなく、最大容量以下の低いトラフィック入力時に回路の消費電力を低くすることが可能なトラフィック監視にもとづくパケット処理装置、パケット制御方法及びパケット制御プログラムの提供を目的とする。
【課題を解決するための手段】
【００１２】
この目的を達成するため、本発明のパケット処理装置は、一又は二以上のパケット処理部を備えたパケット処理装置であって、パケット処理部の入力パケットと出力パケットとを監視して、パケット処理部にパケットが存在するか否かを検出し、この検出の結果を示すパケット検出信号を出力するパケット検出手段と、パケット検出信号の示す検出の結果、パケット処理部にパケットが存在しないときに、パケット処理部に供給されるクロックの周波数を低くするクロック制御手段とを有した構成としてある。
【００１３】
また、本発明のパケット制御方法は、入力したパケットに所定の処理を行って出力するパケット制御方法であって、所定の処理を行うパケット処理部の入力パケットと出力パケットとを監視して、パケット処理部にパケットが存在するか否かを検出する処理と、パケットが存在しないときに、パケット処理部に供給されるクロックを制御する処理とを有した方法としてある。
【００１４】
また、本発明のパケット制御プログラムは、入力したパケットに所定の処理を行って出力する処理をパケット処理装置に実行させるためのパケット制御プログラムであって、所定の処理を行うパケット処理部の入力パケットと出力パケットとを監視して、パケット処理部にパケットが存在するか否かを検出する処理と、パケットが存在しないときに、パケット処理部に供給されるクロックを制御する処理とをパケット処理装置に実行させる構成としてある。
【発明の効果】
【００１５】
本発明のパケット処理装置、パケット制御方法及びパケット制御プログラムによれば、各パケット処理部、及び（又は）前段のパケット処理部でパケットが存在しない場合に、当該パケット処理部へのクロック周波数を低くする（最小設定は零）ことで、各パケット処理部の動作消費電力を削減できる。このため、平均消費電力量を抑制できる効果が得られる。
また、パケット処理部のクロック周波数が零になると正常な回路動作が期待できない場合でも、クロック周波数を小さくすることで、クロック周波数を零にする場合ほどではないが平均消費電力量を抑制できる効果がある。
【００１６】
このため、情報通信機器のうち、入力トラフィック容量が変動するパケット処理装置において、搭載する電子部品（ＦＰＧＡやＡＳＩＣ）の平均消費電力量を入力トラフィック容量最大の場合のスループットを損なうことなく、最大容量以下の低いトラフィック入力時に回路の消費電力を低くすることが可能であり、非同期回路構成及び方式のような特殊な開発ツールを用いることなく、また図５に示すパケット処理装置よりも消費電力を削減する効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下、本発明に係るパケット処理装置、パケット制御方法及びパケット制御プログラムの好ましい実施形態について、図面を参照して説明する。
なお、以下の各実施形態におけるパケット処理装置及びパケット制御方法は、パケット制御プログラムに制御されたコンピュータにより実行することができる。プログラムは、例えば、記録媒体により提供される。記録媒体としては、たとえば、磁気ディスク，光ディスク，半導体メモリ，その他コンピュータで読み取り可能な任意の手段を使用することができる。
また、記録媒体に記録されたプログラムは、記録媒体を直接コンピュータに装着して当該コンピュータに読み込ませることができ、また、通信回線を介してコンピュータに読み込ませるようにしても良い。
【００１８】
［パケット処理装置］
まず、本発明のパケット処理装置の実施形態について、図１を参照して説明する。
同図は、本実施形態のパケット処理装置の構成を示すブロック図である。
【００１９】
同図に示すように、パケット処理装置１ａは、入力トラフィック容量が変動するパケット処理装置であって、パケット入力端１１と、パケット入力クロック入力端１２と、パケットバッファＦ部１３と、パケット処理Ａ部１４と、クロック乗換Ｄ部１５と、ブロック内パケット検出Ａ部１６と、パケット処理Ｂ部１７と、クロック乗換Ｅ部１８と、ブロック内パケット検出Ｂ部１９と、パケット処理Ｃ部２０と、ブロック内パケット検出Ｃ部２１と、パケットバッファＧ部２２と、パケット出力クロック入力端２３と、パケット出力端２４と、クロック分配部２５と、クロック入力端２６と、クロック制御Ａ部２７と、クロック制御Ｂ部２８と、クロック制御Ｃ部２９と、設定情報入力端３０と、クロック制御情報設定部３１と、クロック制御指示部３２とを有している。
【００２０】
パケット入力端１１は、パケット入力クロック入力端１２で入力されたクロックに同期して、パケットを入力する。
パケットバッファＦ部（入力側パケットバッファ部）１３は、パケット入力端１１で入力されたパケットを蓄積する。また、パケットバッファＦ部１３は、パケットをパケット処理Ａ部１４に受け渡す。
このパケットバッファＦ部１３は、パケット未検出信号Ｆをクロック制御指示部３２へ送る。パケット未検出信号Ｆは、当該パケットバッファＦ部１３にパケットが蓄積されていないときは、「１」を示す。一方、蓄積されているときは、「０」を示す。
【００２１】
パケット処理Ａ部１４は、パケットに対して、第一のパケット処理Ａを行う。
そして、パケット処理Ａ部１４は、処理Ａが終わったパケットを、クロック乗換Ｄ部１５を経由して、パケット処理Ｂ部１７に受け渡す。
ブロック内パケット検出Ａ部１６は、パケット処理Ａ部１４の入力パケットと出力パケットを監視し、パケット未検出信号Ａをクロック制御指示部３２へ送る。パケット未検出信号Ａは、パケット処理Ａ部１４にパケットが存在していないときには、「１」を示す。一方、存在しているときには、「０」を示す。
【００２２】
パケット処理Ｂ部１７は、クロック乗換Ｄ部１５を経由して受け渡されたパケットに対して、第二のパケット処理Ｂを行う。そして、パケット処理Ｂ部１７は、処理Ｂが終わったパケットを、クロック乗換Ｅ部１８を経由して、パケット処理Ｃ部２０に受け渡す。
ブロック内パケット検出Ｂ部１９は、パケット処理Ｂ部１７の入力パケットと出力パケットを監視し、パケット未検出信号Ｂをクロック制御指示部３２に送る。パケット未検出信号Ｂは、パケット処理Ｂ部１７の内部にパケットが存在していないときは、「１」を示す。一方、存在しているときは、「０」を示す。
【００２３】
パケット処理Ｃ部２０は、クロック乗換Ｅ部１８を経由して受け渡されたパケットに対して、第三のパケット処理Ｃを行う。そして、パケット処理Ｃ部２０は、処理Ｃが終わったパケットを、パケットバッファＧ部２２に受け渡す。
ブロック内パケット検出Ｃ部２１は、パケット処理Ｃ部２０の入力パケットと出力パケットを監視し、パケット未検出信号Ｃをクロック制御指示部３２に送る。パケット未検出信号Ｃは、パケット処理Ｃ部２０の内部にパケットが存在していないときは、「１」を示す。一方、存在しているときは、「０」を示す。
パケットバッファＧ部（出力側パケットバッファ部）２２は、パケット出力クロック入力端２３のクロックに同期して、パケット出力端２４よりパケットを出力する。
【００２４】
なお、ブロック内パケット検出部１６、１９、２１のそれぞれの内部では、パケット処理部１４、１７、２０の入力パケット数と出力パケット数を監視し、そのパケット数の差が零のときに各ブロック内パケット検出部内部にパケット蓄積が無いと判断する。この機能は、例えば１つのパケット入力時に１つ加算し、１つのパケット出力時に１つ減算する加減算カウンタにより実現可能である。
また、クロック乗換Ｄ部１５、及び、クロック乗換Ｅ部１８は、当業者にとってよく知られており、また、本発明とは直接関係しないので、その詳細な構成説明は省略する。なお、クロック乗換部に関する技術として、特開平６−６９９１３号公報に開示の技術がある。
【００２５】
クロック分配部２５は、クロック入力端２６から入力されたクロックから各構成ブロック動作に最適とすべき周波数のクロックを生成し、それら各構成ブロックに分配供給する。
ここでは、説明を簡単にするため、分配供給されるクロック周波数はｆａ，ｆｂ，ｆｃの３種類としているが、各構成ブロックごとに異なる周波数のクロックを分配供給してもよいことはいうまでもない。
【００２６】
クロック制御Ａ部２７は、クロック制御指示部３２からのクロック制御信号Ａにもとづき、クロック分配部２５から分配供給されてきたクロック周波数ｆａの絞り込み（最小値を零とし周波数を低くすること）を行って（又は、行わないで）、パケット処理Ａ部１４へ送る。
クロック制御Ｂ部２８は、クロック制御指示部３２からのクロック制御信号Ｂにもとづき、クロック分配部２５から分配供給されてきたクロック周波数ｆｂの絞り込み（最小値を零とし周波数を低くすること）を行って（又は、行わないで）、パケット処理Ｂ部１７へ送る。
【００２７】
クロック制御Ｃ部２９は、クロック制御指示部３２からのクロック制御信号Ｃにもとづき、クロック分配部２５から分配供給されてきたクロック周波数ｆｃの絞り込み（最小値を零とし周波数を低くすること）を行って（又は、行わないで）、パケット処理Ｃ部２０へ送る。
このように、クロック制御部２７、２８、２９は、パケット処理部１４、１７、２０に分配供給されるクロックの絞り込みが可能な構成となっている。
【００２８】
設定情報入力端３０は、絞り込み周波数や原クロックｆａ，ｆｂ，ｆｃのｎ分の一などの情報を入力する。
クロック制御情報設定部３１は、設定情報入力端３０で入力された情報を、クロック制御部２７、２８、２９へ送る。
クロック制御部２７、２８、２９は、クロック制御情報設定部３１から送られてきた情報にもとづいて、クロック制御信号による絞り込みの指示を受けたときの絞り込み周波数を決定する。
【００２９】
ここで、絞り込むクロック周波数を零とせずに、例えばｎ分の一などに絞り込むのは、周波数を零にした場合にクロック供給を受ける構成ブロックの回路動作が不具合になる可能性を回避したい場合の方策の例である。
また、ｎ分の一という例は、各クロック制御部内の周波数絞り込み回路規模を小さくすることで電力増加を抑制する効果がある。
さらに、周波数の絞り込みは、例えば、２分の一、４分の一、８分の一などのようにｎ分の一のｎの値を段階的に大きくしながら繰り返してもよい。
なお、クロック制御情報設定部３１は、図１に図示されないプロセッサ機能のプログラムにより設定されても構わない。
【００３０】
クロック制御指示部３２は、パケットバッファＦ部１３からパケット未検出信号Ｆを、ブロック内パケット検出Ａ部１６からパケット未検出信号Ａを、ブロック内パケット検出Ｂ部１９からパケット未検出信号Ｂを、ブロック内パケット検出Ｃ部２１からパケット未検出信号Ｃをそれぞれ受け取り、図２に示すクロック制御論理テーブルを参照して、クロック制御信号Ａ、クロック制御信号Ｂ、及びクロック制御信号Ｃを生成する。そして、これら生成したクロック制御信号を、クロック制御Ａ部２７、クロック制御Ｂ部２８、クロック制御Ｃ部２９へ送る。
このように、クロック制御信号を送ることで、パケット処理Ａ部１４、パケット処理Ｂ部１７及びパケット処理Ｃ部２０に分配供給するクロック周波数ｆａ，ｆｂ，ｆｃを絞り込むかあるいは絞り込まないかを指示することができる。
【００３１】
なお、クロック制御論理テーブルについては、後記の［クロック制御論理テーブル］で詳述する。
また、本実施形態においては、クロック制御Ａ部２７、クロック制御Ｂ部２８、クロック制御Ｃ部２９、クロック制御指示部３２を総称して「クロック制御手段」という。
【００３２】
このようにして、本発明は、各パケット処理部、及び（又は）、前段のパケット処理部でパケットが存在しない場合に該当するパケット処理部へのクロック周波数を絞り込む（最小値を零とし周波数を低くすること）ことで、各パケット処理部の動作消費電力を削減できる。これにより、平均消費電力量を抑制できる効果が得られる。
【００３３】
［パケット制御方法］
次に、本実施形態のパケット処理装置の動作（パケット制御方法）について、図１を参照して説明する。
パケット入力端１１は、パケット入力クロック入力端１２で入力されるクロックに同期して、パケットを入力する。パケットバッファＦ部１３は、その入力されたパケットを蓄積する。
パケットバッファＦ部１３は、当該パケットバッファＦ部１３の内にパケットが蓄積されていないときは、「１」を示すパケット未検出信号Ｆをクロック制御指示部３２へ送る。一方、蓄積されているときは、「０」を示すパケット未検出信号Ｆをクロック制御指示部３２へ送る。
【００３４】
パケットバッファＦ部１３は、パケット処理Ａ部１４にパケットを受け渡す。パケット処理Ａ部１４は、そのパケットに対して、第一のパケット処理Ａを行う。
ブロック内パケット検出Ａ部１６は、パケット処理Ａ部１４の入力パケットと出力パケットを監視し、パケット処理Ａ部１４内部にパケットが存在していないときは、「１」を示すパケット未検出信号Ａをクロック制御指示部３２へ送る。一方、パケット処理Ａ部１４内部にパケットが存在しているときは、「０」を示すパケット未検出信号Ａをクロック制御指示部３２へ送る。
【００３５】
パケット処理Ａ部１４で処理Ａが終わったパケットは、クロック乗換Ｄ部１５を経由して、パケット処理Ｂ部１７に受け渡される。パケット処理Ｂ部１７は、そのパケットに対して、第二のパケット処理Ｂを行う。
ブロック内パケット検出Ｂ部１９は、パケット処理Ｂ部１７の入力パケットと出力パケットを監視し、パケット処理Ｂ部１７内部にパケットが存在していないときは、「１」を示すパケット未検出信号Ｂをクロック制御指示部３２へ送る。一方、パケット処理Ｂ部１７内部にパケットが存在しているときは、「０」を示すパケット未検出信号Ｂをクロック制御指示部３２へ送る。
【００３６】
パケット処理Ｂ部１７で処理Ｂが終わったパケットは、クロック乗換Ｅ部１８を経由して、第三のパケット処理Ｃを行うパケット処理Ｃ部２０にパケットが受け渡され、処理Ｃが行われる。
ブロック内パケット検出Ｃ部２１は、パケット処理Ｃ部２０の入力パケットと出力パケットを監視し、パケット処理Ｃ部２０内部にパケットが存在していないときは、「１」を示すパケット未検出信号Ｃをクロック制御指示部３２へ送る。一方、パケット処理Ｃ部２０内部にパケットが存在しているときは、「０」を示すパケット未検出信号Ｃをクロック制御指示部３２へ送る。
【００３７】
パケット処理Ｃ部２０で処理Ｃが終わったパケットは、パケットバッファＧ部２２に受け渡される。パケットバッファＧ部２２は、パケット出力クロック入力端２３のクロックに同期して、パケット出力端２４よりパケットを出力する。
【００３８】
ところで、クロック分配部２５は、クロック入力端２６から入力されたクロックから各構成ブロック動作に最適とすべき周波数のクロックを生成し、各構成ブロックに分配供給する。
ここでは、説明を簡単にするため、分配供給されるクロック周波数は、ｆａ，ｆｂ，ｆｃの３種類とする。ただし、各構成ブロックに必要な周波数のクロックを分配供給してもよいことは言うまでもない。
【００３９】
クロック制御情報設定部３１は、設定情報入力端３０で入力された情報（絞り込み周波数や原クロックｆａ，ｆｂ，ｆｃのｎ分の１などの情報）をクロック制御Ａ部２７、クロック制御Ｂ部２８、クロック制御Ｃ部２９に分配する。
クロック制御部２７、２８、２９は、クロック制御情報設定部３１から分配されてきた情報にもとづいて、クロック制御信号による絞り込み（最小値を零とし、周波数を低くすること）の指示を受けたときの絞り込み周波数を決定する。
【００４０】
クロック制御指示部３２は、パケットバッファＦ部１３からパケット未検出信号Ｆを、ブロック内パケット検出Ａ部１６からパケット未検出信号Ａを、ブロック内パケット検出Ｂ部１９からパケット未検出信号Ｂを、ブロック内パケット検出Ｃ部２１からパケット未検出信号Ｃをそれぞれ受け取ると、図２に示すクロック制御論理テーブルを参照して、クロック制御信号Ａ、クロック制御信号Ｂ、及び、クロック制御信号Ｃを生成する。
そして、この生成したクロック制御信号Ａをクロック制御Ａ部２７に、クロック制御信号Ｂをクロック制御Ｂ部２８に、クロック制御信号Ｃをクロック制御Ｃ部２９にそれぞれ送る。これにより、パケット処理Ａ部１４、パケット処理Ｂ部１７、及び、パケット処理Ｃ部２０に分配供給するクロック周波数ｆａ，ｆｂ，ｆｃを絞り込むかあるいは絞り込まないかが指示される。
【００４１】
このようにして、本発明では、各パケット処理部、及び、前段のパケット処理部でパケットが存在しない場合に該当するパケット処理部へのクロック周波数を絞り込む（最小値を零とし、周波数を低くする）ことで、各パケット処理部の動作消費電力を削減できる。このため、平均消費電力量を抑制できる効果が得られるのである。
【００４２】
［クロック制御論理テーブル］
次に、クロック制御論理テーブルについて説明する。
クロック制御論理テーブルは、図２に示すように、パケット未検出信号列と、クロック制御信号Ａと、クロック制御信号Ｂと、クロック制御信号Ｃとを構成項目として、これらの関連付けを示したテーブルである。
パケット未検出信号列は、パケットバッファＦ部１３から出力されたパケット未検出信号Ｆ、ブロック内パケット検出Ａ部１６から出力されたパケット未検出信号Ａ、ブロック内パケット検出Ｂ部１９から出力されたパケット未検出信号Ｂ、ブロック内パケット検出Ｃ部２１から出力されたパケット未検出信号Ｃの各値の組み合わせを示している。
【００４３】
クロック制御信号Ａ、クロック制御信号Ｂ、及びクロック制御信号Ｃの値は、パケット未検出信号Ｆ、パケット未検出信号Ａ、パケット未検出信号Ｂ、及びパケット未検出信号Ｃの値の信号列によって決定される。
具体的には、クロック制御信号Ａ、クロック制御信号Ｂ、クロック制御信号Ｃが接続されるクロック制御Ａ部２７、クロック制御Ｂ部２８、及びクロック制御Ｃ部２９がクロック周波数を絞り込み対象となるパケット処理Ａ部１４、パケット処理Ｂ部１７及びパケット処理Ｃ部２０内部にパケットが存在しないこと、及びパケット処理Ａ部１４、パケット処理Ｂ部１７及びパケット処理Ｃ部２０の前段であるパケットバッファＦ部１３、パケット処理Ａ部１４、及びパケット処理Ｂ部１７内部にパケットが存在しないことの論理和をとっている。
【００４４】
さらに、具体的に見ると、クロック制御信号Ａは、パケット未検出信号Ｆとパケット未検出信号Ａの値がいずれも「１」である場合に「絞る」とされ、それ以外の場合には「開く」とされる。
クロック制御信号Ｂは、パケット未検出信号Ａとパケット未検出信号Ｂの値がいずれも「１」である場合に「絞る」とされ、それ以外の場合には「開く」とされる。
クロック制御信号Ｃは、パケット未検出信号Ｂとパケット未検出信号Ｃの値がいずれも「１」である場合に「絞る」とされ、それ以外の場合には「開く」とされる。
【００４５】
このように「絞る」場合を指定できるのは、クロック分配供給される各パケット処理部のパケット処理が行われていない場合には、クロック供給の必要が無いからである。
また、各パケット処理部の前段のパケット処理部にもパケットが存在しないことを条件にしているのは、各パケット未検出信号の検出時間とクロック制御指示部３２の演算時間と各クロック制御部の切り替え時間の総時間を考慮して十分な時間的余裕を確保するためである。
従って、各パケット未検出信号の検出時間とクロック制御指示部３２の演算時間と各クロック制御部の切り替え時間の総時間に比べて、パケット入力端１１からパケット出力端２４に流れていくパケットのトラフィック伝達時間が十分に遅いことが明確な場合は、時間的な余裕を考慮する必要がないため、図２に示すクロック制御論理テーブルを図３に示すクロック制御論理テーブルに置き換えてもよい。
【００４６】
図３に示したクロック制御論理テーブルにおいては、クロック制御信号Ａ、クロック制御信号Ｂ、及び、クロック制御信号Ｃの値は、パケット未検出信号Ｆ、パケット未検出信号Ａ、パケット未検出信号Ｂ、及び、パケット未検出信号Ｃの値の信号列によって決定される。
具体的には、クロック制御信号Ａ、クロック制御信号Ｂ、クロック制御信号Ｃが接続されるクロック制御Ａ部２７、クロック制御Ｂ部２８、クロック制御Ｃ部２９が、クロック周波数を絞り込み対象となるパケット処理Ａ部１４、パケット処理Ｂ部１７、パケット処理Ｃ部２０内部にパケットが存在しないことに一致させている。
【００４７】
さらに、具体的に見ると、クロック制御信号Ａは、パケット未検出信号Ａの値が「１」である場合に「絞る」とされ、「０」の場合に「開く」とされる。
クロック制御信号Ｂは、パケット未検出信号Ｂの値が「１」である場合に「絞る」とされ、「０」の場合に「開く」とされる。
クロック制御信号Ｃは、パケット未検出信号Ｃの値が「１」である場合に「絞る」とされ、「０」の場合に「開く」とされる。
【００４８】
なお、各パケット処理部の前段のパケット処理部にもパケットが存在しないことを条件にしても、各パケット未検出信号の検出時間とクロック制御指示部３２の演算時間と各クロック制御部の切り替え時間の総時間を考慮して十分な時間的余裕を確保できない場合は、各パケット処理部の前段のパケット処理部及び、さらに前段のパケット処理部にもパケットが存在しないことを条件として準じ拡張していくことはいうまでもない。
【００４９】
以上説明したように、本実施形態のパケット処理装置、パケット制御方法及びパケット制御プログラムによれば、情報通信機器のうち、入力トラフィック容量が変動するパケット処理装置において、入力トラフィック容量最大の場合のスループットを損なうことなく、最大容量以下の低いトラフィック入力時に回路の消費電力を低くすることが可能なトラフィック監視にもとづくパケット処理装置を提供できる。これにより、非同期回路構成及び方式のような特殊な開発ツールを用いることなく、電子部品（ＦＰＧＡやＡＳＩＣ）の平均消費電力量を関連するパケット処理装置よりも削減することができる。
【００５０】
以上、本発明のパケット処理装置、パケット制御方法及びパケット制御プログラムの好ましい実施形態について説明したが、本発明に係るパケット処理装置、パケット制御方法及びパケット制御プログラムは上述した実施形態にのみ限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
【００５１】
例えば、上述した実施形態では、クロック制御部として、クロック制御Ａ部，クロック制御Ｂ部，クロック制御Ｃ部を備えたが、これに限るものではなく、例えば、パケットバッファＧ部に入力されるクロックを制御するクロック制御Ｇ部を備えることもできる。
このクロック制御Ｇ部を備えたパケット処理装置の回路構成を図４に示す。
同図に示すパケット処理装置１ｂは、図１に示すパケット処理装置１ａとの相違点として、パケットバッファＧ部２２が当該パケットバッファＧ部２２にパケットが蓄積されていない状態を示すパケット未検出信号Ｇを出力する点が挙げられる。クロック制御指示部３２は、そのパケット未検出信号Ｇを受け取ると、図２又は図３に示すクロック制御論理を演算し、クロック制御信号ＧをパケットバッファＧ部２２のパケット入力側クロックｆｃを制御するクロック制御Ｇ部３３に送る。
クロック制御Ｇ部３３は、クロック制御信号Ｇにもとづいて、パケットバッファＧ部２２に供給されるクロックを制御する。
【００５２】
この構成では、パケットバッファＧ部２２にパケットが蓄積されていない場合、又は、パケット処理Ｃ部２０とパケットバッファＧ部２２の双方にパケットが蓄積されていない場合に、パケットバッファＧ部２２に供給されるクロック周波数を絞り込むことができる。これにより、図１に示したパケット処理装置１ａよりも、さらに消費電力を低減することができる。
【００５３】
また、図１又は図４に示したパケット処理装置では、三つのパケット処理部と二つのクロック乗換部を有する構成としたが、パケット処理部が三つ、クロック乗換部が二つに限るものではなく、それらは任意の数とすることができる。ただし、パケット処理部がＮ個の場合、クロック乗換部は（Ｎ−１）個となり、Ｎ＝１の最小構成の場合は、パケット処理部が一つ、クロック乗換部は無しとなる。
【産業上の利用可能性】
【００５４】
本発明は、一又は二以上のパケット処理部に供給されるクロックの制御に関する発明であるため、一又は二以上のパケット処理部が備えられた装置や機器に利用可能である。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施形態におけるパケット処理装置の構成を示すブロック図である。
【図２】クロック制御論理テーブルの構成を示す図表である。
【図３】クロック制御論理テーブルの他の構成を示す図表である。
【図４】本発明の実施形態におけるパケット処理装置の他の構成を示すブロック図である。
【図５】関連するパケット処理装置の構成を示すブロック図である。
【符号の説明】
【００５６】
１  パケット処理装置
１１  パケット入力端
１２  パケット入力クロック入力端
１３  パケットバッファＦ部
１４  パケット処理Ａ部
１５  クロック乗換Ｄ部
１６  ブロック内パケット検出Ａ部
１７  パケット処理Ｂ部
１８  クロック乗換Ｅ部
１９  ブロック内パケット検出Ｂ部
２０  パケット処理Ｃ部
２１  ブロック内パケット検出Ｃ部
２２  パケットバッファＧ部
２３  パケット出力クロック入力端
２４  パケット出力端
２５  クロック分配部
２６  クロック入力端
２７  クロック制御Ａ部
２８  クロック制御Ｂ部
２９  クロック制御Ｃ部
３０  設定情報入力端
３１  クロック制御情報設定部
３２  クロック制御指示部
【図１】
0005007703.tif 000002
【図２】
0005007703.tif 000003
【図３】
0005007703.tif 000004
【図４】
0005007703.tif 000005
【図５】
0005007703.tif 000006