(57)【特許請求の範囲】
【請求項１】
受信したパケットから、前記パケットに記録された情報であって、機能させるべき処理を特定する情報である機能情報を抽出する制御部と、
抽出された前記機能情報と、前記処理を行う際にクロックを供給すべき処理回路を特定する情報である回路情報とに基づいて、抽出された前記機能情報により特定される前記機能させるべき処理を行う際に前記クロックを供給すべき処理回路に、前記クロックを供給するクロック供給部とを含む
ことを特徴とする半導体装置。
【請求項２】
受信したパケットを処理する半導体装置であって、
前記パケットを処理する機能ごとに分割した処理回路と、
ツリー状に分岐してクロックを供給する経路を形成し、前記処理回路にクロックを供給するクロックツリーと、
前記クロックツリーの分岐点に設けられたクロックゲーティング回路と、
前記パケットから機能させるべき処理を特定し、特定した処理に基づいて前記クロックゲーティング回路を制御する制御部とを含む
ことを特徴とする半導体装置。
【請求項３】
受信したパケットから、前記パケットに記録された情報であって、機能させるべき処理を特定する情報である機能情報を抽出する制御部と、
抽出された前記機能情報と、前記処理を行う際にクロックを供給すべき処理回路を特定する情報である回路情報とに基づいて、抽出された前記機能情報により特定される前記機能させるべき処理を行う際に前記クロックを供給すべき処理回路に、前記クロックを供給するクロック供給部とを含み、
前記制御部は、前記回路情報として、前記処理と前記処理を行う際に前記クロックを供給すべき処理回路とを関連付けて保持し、抽出された前記機能情報と前記回路情報とに基づいて、前記クロック供給部を制御する制御信号を生成して前記クロック供給部に入力し、
前記クロック供給部は、前記クロックを供給する経路であってツリー状に分岐するクロックツリーと、前記クロックツリーの分岐点の各々において、前記分岐点において分岐した複数の経路の各々の先頭に設けられたクロックゲーティング回路とを含み、
前記制御部は、前記クロックゲーティング回路の各々に対応する制御信号を生成し入力する
ことを特徴とする半導体装置。
【請求項４】
前記機能情報は、前記パケットのヘッダに記録された情報であって、前記パケットの種類を表す情報、又は、前記パケットに含まれるデータを処理する命令の種類を表す情報である
ことを特徴とする請求項３に記載の半導体装置。
【請求項５】
前記制御部は、前記パケットの種類を表す情報又は前記命令の種類を表す情報に関連付けて前記機能させるべき処理を保持する第１保持部と、前記機能させるべき処理に関連付けて前記機能させるべき処理を行う際に前記クロックを供給すべき処理回路を保持する第２保持部とにより、前記回路情報を保持する
ことを特徴とする請求項４に記載の半導体装置。
【請求項６】
前記半導体装置は、前記制御部と前記クロック供給部とを含む少なくとも１個の処理回路ブロックを含み、
前記処理回路ブロックには、前記パケットと、前記パケットの受信の期間中において前記処理回路ブロックへの前記クロックの供給を有効とするクロック制御信号とが入力される
ことを特徴とする請求項３に記載の半導体装置。
【請求項７】
制御部と、クロック供給部と、処理回路とを含む半導体装置の消費電力制御方法であって、
制御部が、受信したパケットから、前記パケットに記録された情報であって、機能させるべき処理を特定する情報である機能情報を抽出し、
クロック供給部が、抽出された前記機能情報と、前記処理を行う際にクロックを供給すべき処理回路を特定する情報である回路情報とに基づいて、抽出された前記機能情報により特定される前記機能させるべき処理を行う際に前記クロックを供給すべき処理回路に、前記クロックを供給する
ことを特徴とする半導体装置の消費電力制御方法。
【請求項８】
受信したパケットから、前記パケットに記録された情報であって、機能させるべき処理を特定する情報である機能情報を抽出する制御部と、抽出された前記機能情報と、前記処理を行う際にクロックを供給すべき処理回路を特定する情報である回路情報とに基づいて、抽出された前記機能情報により特定される前記機能させるべき処理を行う際に前記クロックを供給すべき処理回路に、前記クロックを供給するクロック供給部であって、前記クロックを供給する経路であってツリー状に分岐するクロックツリーと、前記クロックツリーの分岐点の各々において、前記分岐点において分岐した複数の経路の各々の先頭に設けられたクロックゲーティング回路とを含むクロック供給部と、処理回路とを含む半導体装置の消費電力制御方法であって、
前記制御部は、前記回路情報として、前記処理と前記処理を行う際に前記クロックを供給すべき処理回路とを関連付けて保持し、抽出された前記機能情報と前記回路情報とに基づいて、前記クロック供給部を制御する制御信号を生成して前記クロック供給部に入力し、
前記制御部は、前記クロックゲーティング回路の各々に対応する制御信号を生成し入力する
ことを特徴とする半導体装置の消費電力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置、半導体装置の消費電力制御方法に関する。
【背景技術】
【０００２】
半導体装置における消費電力を削減する手段として、動作しない処理回路へクロックを供給しない指示を行う方法が用いられる。また、消費電力を削減する他の手段として、処理回路へ入力されたイネーブル信号の値に応じて、処理回路に供給されるクロックを停止する方法が用いられる。
【０００３】
図９は、従来の省電力制御の説明図である。例えば、図９に示すように、クロックを、インバータ３０１、クロックゲーティング回路３０２、インバータ３０３及び３０４を介して、処理回路３０５に供給する。クロックゲーティング回路３０２には、クロック制御部３００からクロック制御信号が入力される。クロック制御部３００は、例えばファームウェア又はソフトウェアにより実現される。例えば、クロック制御部３００は、動作しない処理回路３０５を特定して、動作しない処理回路３０５に対応するクロックゲーティング回路３０２へのクロック制御信号をロウレベルとする。これにより、処理回路３０５へのクロックの供給を停止することができる。
【０００４】
なお、パケット転送装置が備えるヘッダ処理部はパケット処理を実施するパケット処理回路を複数備え、回路数判定回路は通信を実施する回線数、回線から入力するトラフィック量を監視してパケット処理回路の動作の有無を判定し、この判定結果に基づき、必要の無いパケット処理回路の電源やクロックを遮断して、パケット転送装置の省電力化を実現することが提案されている。
【０００５】
また、通信インタフェース回路は受信信号からパケットデータを抽出し、通信インタフェース制御回路は割り込み信号を生成して出力し、ネットワークプロセッサは、パケットデータを解析して、解析結果に基づいて、パケットデータをホストプロセッサに転送するか否かを判定し、割り込み制御回路は、ネットワークプロセッサから割り込み信号を受け取った際に、ホストプロセッサを起動させ、ホストプロセッサは、電源及びクロックの供給を受けて起動し、割り込み信号を受けてパケットデータの受信処理を実行することが提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１１１７０７号公報
【特許文献２】特開２００８−２７０９１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述したように、従来の消費電力の削減手段においては、処理回路へのクロックの供給及び停止を、クロック制御回路が制御する。しかし、クロック制御回路による手段は、大きな処理回路毎の消費電力の削減には有効であるが、処理回路規模が小さくなるほど、消費電力の削減には適用でき難くなる。
【０００８】
具体的には、半導体装置の設計時において半導体装置のシステム仕様が与えられた段階では、回路規模が大きな処理回路の中の回路規模が小さな処理回路の詳細な設計までは完了していない。従って、この段階で、小さな処理回路毎にクロックの供給の制御手段まで設計することは、事実上不可能である。一方、小さな処理回路の詳細な設計の完了の後に、クロックの供給の制御手段を設計することは、２段階で回路を設計することになり、採用できない。また、ファームウェア又はソフトウェアにより実現されるクロック制御部により、小さな処理回路毎にクロックの供給を制御すると、ファームウェア又はソフトウェアでの処理が複雑化になり、クロック制御に起因する何らかのエラーが発生する可能性が高くなる。
【０００９】
また、処理回路へ入力されたイネーブル信号の値に応じて処理回路に供給されるクロックを停止する場合、処理回路へのクロックの供給は停止することができる。しかし、クロックを供給する回路であるクロックツリーにおいて、クロックツリーの中で、クロックの供給が停止される処理回路に対応する部分に対するクロックの供給を停止できない。このため、クロックツリー自体での消費電力を削減することができない。
【００１０】
本発明は、一側面によれば、クロックの供給を制御して消費電力を削減することが可能な半導体装置を提供する。
【課題を解決するための手段】
【００１１】
開示される半導体装置は、一側面によれば、制御部と、クロック供給部とを含む。制御部は、受信したパケットから、パケットに記録された情報であって、機能させるべき処理を特定する情報である機能情報を抽出する。クロック供給部は、抽出された機能情報と、処理を行う際にクロックを供給すべき処理回路を特定する情報である回路情報とに基づいて、抽出された機能情報により特定される機能させるべき処理を行う際にクロックを供給すべき処理回路に、クロックを供給する。
【発明の効果】
【００１２】
開示される半導体装置は、一側面によれば、クロックの供給を制御して消費電力を削減することができる。
【図面の簡単な説明】
【００１３】
【図１】半導体装置の一例を示す図である。
【図２】処理回路ブロックの一例を示す図である。
【図３】処理回路ブロックの一部を示す図である。
【図４】パケットの一例を示す図である。
【図５】省電力制御部における処理の説明図である。
【図６】省電力制御部における処理の説明図である。
【図７】省電力制御の説明図である。
【図８】省電力制御シーケンスを示す図である。
【図９】従来の省電力制御の説明図である。
【発明を実施するための形態】
【００１４】
図１は、半導体装置の一例を示す図である。
【００１５】
半導体装置１００は、少なくとも１個の処理回路ブロックを含む。具体的には、半導体装置１００は、処理回路ブロック１０１と、複数の処理回路ブロック１０２とを含む。
【００１６】
処理回路ブロック１０１は、他の処理回路ブロック１０２に含まれない回路である。処理回路ブロック１０１は、上位の処理回路ブロックであり、例えば、処理回路ブロック１０３と、複数の処理回路ブロック１０４とを含む。処理回路ブロック１０１において、実際には、パケット２００は、下位の処理回路ブロック１０３により受信されて処理され、また、クロック制御に用いられる。
【００１７】
処理回路ブロック１０２は、上位の処理回路ブロック１０１に含まれない回路である。処理回路ブロック１０２は、パケット２００を受信して処理し、処理結果に基づいて新たなパケット２００を生成して出力する。また、処理回路ブロック１０２は、自己が受信したパケット２００を解析して、解析結果に基づいて、自回路、換言すれば、処理回路ブロック１０２のクロック制御を行う。処理回路ブロック１０２が、解析の処理回路ブロックを含むようにしても良い。
【００１８】
処理回路ブロック１０３は、上位の処理回路ブロック１０１に含まれる回路である。処理回路ブロック１０３は、パケット２００を受信して処理し、処理結果に基づいて新たなパケット２００を生成して出力する。また、処理回路ブロック１０３は、自己が受信したパケット２００を解析して、解析結果に基づいて、自回路、換言すれば、処理回路ブロック１０３のクロック制御を行う。処理回路ブロック１０３が、解析の処理回路ブロックを含むようにしても良い。
【００１９】
処理回路ブロック１０４は、上位の処理回路ブロック１０１に含まれる回路である。処理回路ブロック１０４は、パケット２００を受信せず、処理回路ブロック１０３からパケット２００の処理結果を受信して処理する。また、処理回路ブロック１０４は、処理回路ブロック１０３からパケット２００の解析結果を受信して、又は、クロック制御のための種々の信号を受信して、処理回路ブロック１０４のクロック制御を行う。
【００２０】
処理回路ブロック１０１又は処理回路ブロック１０３と処理回路ブロック１０２との間、及び、処理回路ブロック１０２と処理回路ブロック１０２との間は、パケット２００により、信号が送受信される。処理回路ブロック１０２及び１０３は、前述したように、自己が受信したパケット２００の解析結果に基づいて、自己のクロック制御を行う。従って、パケット２００は、パケット２００の受信先である処理回路ブロック１０２及び１０３にクロック供給を指示する。また、パケット２００は、処理対象であるデータを含むことができる。
【００２１】
処理回路ブロック１０１〜１０３を区別する場合には、例えば処理回路ブロック＃１等と言う。パケット２００を区別する場合には、例えばパケット＃１等と言う。
【００２２】
図２は、処理回路ブロックの一例を示す図である。
【００２３】
処理回路ブロック１０３は、クロックゲーティング回路１と、ラッチ回路２及び３と、内部処理回路４と、省電力制御部７とを含む。内部処理回路４は、クロックツリー部５と、処理回路群６とを含む。省電力制御部７は、ＯＲゲート回路８と、クロックゲーティング回路９と、解析制御回路１０とを含む。処理回路群６は、複数の処理回路６１を含む。
【００２４】
クロックは、クロックゲーティング回路１、ラッチ回路３、省電力制御部７のクロックゲーティング回路９、クロックツリー部５に入力される。クロックは、半導体装置１００のクロック供給源から供給される。クロック制御信号は、クロックゲーティング回路１、ラッチ回路３に入力される。パケット２００は、ラッチ回路２に入力される。クロック制御信号及びパケット２００は、例えば、処理回路ブロック１０３の前段の処理回路ブロック１０２又は１０３から、送信され入力される。図４（Ａ）を参照して後述するように、パケット２００は、クロック制御信号に同期して送信され入力される。
【００２５】
従って、クロックゲーティング回路１、ラッチ回路３、クロックゲーティング回路９までは、常時、クロックが供給されている。一方、ラッチ回路２、処理回路群６、解析制御回路１０には、パケット２００及びクロック制御信号を受信した場合にのみ、クロックが供給される。これにより、パケット２００を受信しない場合には、クロック制御信号及びパケット２００の受信の有無を処理する回路、換言すれば、必要最低限の回路にのみ、クロックが供給される。
【００２６】
クロックツリー部５の一部、具体的には後述する図３のインバータ列５１のみには、常時、クロックが供給されている。一方、インバータ列５１以外のクロックツリー部５には、パケット２００及びクロック制御信号を受信した場合にのみ、解析制御回路１０からの制御信号に従って、パケット２００を処理する回路にのみ、クロックが供給される。これにより、パケット２００を受信した場合には、パケット２００を受信した時点から、パケット２００を処理する回路、換言すれば、処理を行う際にクロックを供給すべき処理回路６１にのみ、クロックが供給される。
【００２７】
クロックゲーティング回路１としては、例えば、２入力のＡＮＤゲート回路が用いられる。クロックゲーティング回路１が、クロックが供給されている状態で、ハイレベルのクロック制御信号を受信する。これにより、クロックゲーティング回路１が開かれ、クロックが、クロックゲーティング回路１からラッチ回路２に供給される。
【００２８】
この結果、ラッチ回路２は、クロック制御信号と共に送信が開始されたパケット２００をクロックに同期して受信する。ラッチ回路２は、受信したパケット２００を、内部処理回路４の処理回路群６と、省電力制御部７の解析制御回路１０とに出力する。
【００２９】
ラッチ回路３は、クロックが供給されている状態で、ハイレベルのクロック制御信号を受信する。これにより、ラッチ回路３は、受信したクロック制御信号を、省電力制御部７のＯＲゲート回路８に出力する。
【００３０】
ＯＲゲート回路８は、ハイレベルのクロック制御信号を受信して、ハイレベルの制御信号をクロックゲーティング回路９に出力する。この時、ＯＲゲート回路８には、後述するように、解析制御回路１０からロウレベルの制御信号が入力されている。
【００３１】
クロックゲーティング回路９は、クロックが供給されている状態で、ハイレベルの制御信号を受信して、解析制御回路１０にクロックを出力する。これにより、解析制御回路１０は、供給が開始されたクロックに同期して、パケット２００を受信し、受信したパケット２００の解析を開始する。クロックゲーティング回路９からのクロックが供給される以前は、解析制御回路１０は殆ど電力を消費しない。
【００３２】
解析制御回路１０は、クロックツリー部５による処理回路群６へのクロックの供給を制御する制御部である。解析制御回路１０は、ラッチ回路２から受信したパケット２００のヘッダの解析を行い、解析の結果に基づいて、クロックツリー部５における制御判定を行い、判定の結果に基づいて、クロックツリー部５への制御指示を行う。
【００３３】
具体的には、解析制御回路１０は、解析処理として、受信したパケット２００のヘッダの予め定められた位置の複数のビットを抽出することにより、機能情報を抽出する。機能情報は、パケット２００に記録された情報であって、機能させるべき処理を特定する情報である。
【００３４】
解析制御回路１０は、制御判定処理として、機能情報と回路情報とに基づいて、クロックを供給すべき処理回路６１を特定する。回路情報は、処理を行う際にクロックを供給すべき処理回路を特定する情報である。クロックを供給すべき処理回路６１は、機能情報により特定される機能させるべき処理を行う際にクロックを供給すべき回路である。
【００３５】
回路情報は、解析制御回路１０により予め保持される。解析制御回路１０は、回路情報として、処理とクロックを供給すべき処理回路とを、関連付けて保持する。解析制御回路１０は、抽出した機能情報と、保持している回路情報とに基づいて、クロックツリー部５を制御する制御信号を生成してクロックツリー部５に入力する。
【００３６】
具体的には、解析制御回路１０は、例えば第１保持部と第２保持部とにより、回路情報を保持する。
【００３７】
第１保持部は、機能情報、換言すれば、パケット２００の種類を表す情報又は命令の種類を表す情報に関連付けて、機能させるべき処理を保持する。第１保持部は、例えば、図５（Ｂ）を参照して後述する、クロック制御判断テーブル１２である。後述するように、パケット２００の種類を表す情報又は命令の種類を表す情報は、例えば、パケット種別ＩＤである。機能させるべき処理は、例えば、クロック制御判断、換言すれば、対応するパケット種別ＩＤを持つパケット２００を受信した場合に、行われるべき処理を示す。
【００３８】
第２保持部は、機能させるべき処理に関連付けて、機能させるべき処理を行う際にクロックを供給すべき処理回路６１を保持する。第２保持部は、例えば、図６（Ａ）を参照して後述する、クロックゲーティングＩＤ判断テーブル１３である。後述するように、機能させるべき処理は、処理の種別である。クロックを供給すべき処理回路６１は、実際には、クロックを供給するために開くべき、クロックツリー部５のクロックゲーティング回路５２及び５４のＩＤ、換言すれば、ゲーティングＩＤとして保持される。換言すれば、第２保持部は、機能させるべき処理に関連付けて、クロックを供給すべき処理回路６１にクロックを供給するために開くべき、クロックゲーティング回路５２及び５４のゲーティングＩＤを保持する。
【００３９】
なお、解析制御回路１０における回路情報の保持手段は、第１保持部と第２保持部とに限られない。解析制御回路１０において、回路情報は、種々の保持手段によって保持することができる。例えば、第１保持部と第２保持部とに代えて、機能情報に基づいて機能させるべき処理を求め、機能させるべき処理に基づいてクロックを供給すべき処理回路６１を求める保持手段を用いるようにしても良い。また、機能情報に基づいてクロックを供給すべき処理回路６１を求める保持手段を用いるようにしても良い。
【００４０】
解析制御回路１０は、制御指示として、特定した処理回路６１に基づいて、制御指示を生成して、生成した制御指示をクロックツリー部５に入力する。制御指示は、クロックツリー部５を制御する制御信号である。換言すれば、解析制御回路１０は、クロックゲーティング回路５２及び５４の各々に対応する制御指示を生成して出力し、生成した制御指示の各々をクロックゲーティング回路５２及び５４の各々に入力する。これにより、クロックゲーティング回路５２及び５４の各々が個別に制御される。この結果、クロックを供給すべき処理回路６１のみにクロックを供給し、消費電力を削減することができる。クロックゲーティング回路９からのクロックが供給される以前は、処理回路群６は殆ど電力を消費しない。
【００４１】
解析制御回路１０は、クロックゲーティング回路５２及び５４の各々に対応する制御指示の出力と共に、ＯＲゲート回路８に、ハイレベルの制御信号を入力する。
【００４２】
クロックツリー部５は、処理回路群６にクロックを供給するクロック供給部である。クロックツリー部５は、解析制御回路１０からの制御指示を受信して、クロックを供給すべき処理回路６１、換言すれば、特定した処理回路６１にクロックを供給する。これにより、特定した処理回路６１は、ラッチ回路２から受信したパケット２００の処理を行う。特定した処理回路６１は、処理完了の通知の信号を解析制御回路１０に送信する。
【００４３】
解析制御回路１０は、処理回路６１からの処理完了の通知の信号を受信して、処理完了判定を行う。具体的には、解析制御回路１０は、処理回路６１からの処理完了の通知の信号を受信して、ＯＲゲート回路８にロウレベルの制御信号を入力する。
【００４４】
この時、解析制御回路１０が、処理回路６１からの処理完了の通知の信号を受信して、クロックゲーティング回路５２及び５４の各々に対応する制御指示を生成して、処理回路６１へのクロックの供給を停止するようにしても良い。これにより、より早いタイミングで、処理回路６１へのクロックの供給を停止することができる。この結果、クロックツリー部５において、処理回路６１に対応するクロックゲーティング回路５２及び５４が閉じられ、結果として、全てのクロックゲーティング回路５２及び５４が閉じられる。従って、クロックツリー部５において、クロックが供給されることにより電力を消費するのは、インバータ列５１のみである。
【００４５】
一方、クロック制御信号の送信が停止された場合、クロック制御信号は、図４（Ａ）に示すように、ロウレベルとされる。換言すれば、クロックゲーティング回路１は、クロック制御信号のロウレベルを受信する。これにより、クロックゲーティング回路１が閉じられ、クロックがクロックゲーティング回路１からラッチ回路２に供給されなくなる。この結果、ラッチ回路２は、パケット２００を処理回路群６と解析制御回路１０とに出力しなくなる。これにより、処理回路群６における消費電力を削減することができる。
【００４６】
ラッチ回路３は、クロック制御信号のロウレベルを受信して、受信したロウレベルのクロック制御信号を省電力制御部７のＯＲゲート回路８に出力する。これにより、ＯＲゲート回路８は、ロウレベルの信号をクロックゲーティング回路９に出力する。この結果、クロックゲーティング回路９は、解析制御回路１０にクロックを出力しなくなる。これにより、省電力制御部７、換言すれば、解析制御回路１０における消費電力を削減することができる。
【００４７】
解析制御回路１０は、パケット２００及びクロックを供給されない状態では、制御指示を生成しない。具体的には、解析制御回路１０は、全てのクロックゲーティング回路５２及び５４にハイレベルの制御信号を入力する。これにより、クロックツリー部５において、全てのクロックゲーティング回路５２及び５４は閉じられる。従って、クロックツリー部５において、クロックの供給に起因して電力を消費するのは、インバータ列５１のみである。これにより、クロックツリー部５における消費電力を削減することができる。従って、ラッチ回路３は、パケット２００の受信前において、解析制御回路１０、クロックツリー部５及び処理回路６１へのクロックの供給を制限するクロック制御回路である。
【００４８】
半導体装置１００において、処理回路６１が動作するトリガは、パケット２００の受信による場合が多い。パケット２００を受信していない回路は、実際には動作する必要がなく、クロック供給を必要としない。そこで、パケット２００の受信をトリガにクロックツリー部５の制御を行う。このために、後述するように、パケット２００は、それ自体にクロックを制御する情報を持つ。換言すれば、パケット２００は、自己が送信される処理回路ブロック１０２又は１０３を制御して、自律的に必要なクロックを供給させる。
【００４９】
これにより、パケット２００を受信するまでは、処理回路６１にクロックが供給されていないため、消費電力を削減することができる。また、パケット２００を受信した場合には、クロックの供給が必要な処理回路６１だけを動作させることにより、消費電力を削減することができる。また、パケット２００を受信するまでは、クロックツリー部５においてもクロックが供給されていないため、消費電力を削減することができる。また、パケット２００を受信した場合には、クロックツリー部５においてクロックの供給が必要な処理回路６１への経路だけにクロックを供給することにより、消費電力を削減することができる。
【００５０】
なお、解析制御回路１０に代えて、図８を参照して後述する処理を実行するプログラムをＣＰＵ（Central Processing Unit）上で実行することにより、解析制御回路１０と同様の処理を行うようにしても良い。
【００５１】
図３は、クロックツリー部及び処理回路群の一例を示す図である。
【００５２】
クロックツリー部５は、クロックツリーと、クロックゲーティング回路５２及び５４とを含む。クロックツリーは、クロックを供給する経路であってツリー状に分岐するクロック供給経路である。具体的には、クロックツリーは、インバータ列５１と、インバータ列５１から複数に分岐するインバータ列５３と、インバータ列５３から複数に分岐するインバータ列５５とを含む。インバータ列５１、５３及び５５に含まれるインバータの数は、２個に限られない。
【００５３】
クロックゲーティング回路５２及び５４は、クロックツリーの分岐点の各々において、分岐点において分岐した複数の経路の各々の先頭に設けられる。具体的には、クロックゲーティング回路５２は、インバータ列５１と複数のインバータ列５３との間において、インバータ列５３のクロック供給源側に設けられる。また、クロックゲーティング回路５４は、インバータ列５３と複数のインバータ列５５との間において、インバータ列５５のクロック供給源側に設けられる。
【００５４】
処理回路群６は、例えば６個の処理回路６１を含む。処理回路６１の数は、６個に限られない。各々の処理回路６１が行う処理は、半導体装置１００の設計時点で予め定められる。例えば、「処理回路Ａ」は、処理Ａを行う処理回路６１である。各々の処理回路６１は、例えば異なる処理を行う。各々の処理回路６１には、各々の処理回路６１に対応して設けられた相互に異なるクロック供給経路を介して、クロックが供給される。なお、１個の処理回路６１が複数の処理を行うようにしても良い。
【００５５】
インバータ列５１は、クロック供給源に接続される。クロック供給経路は、インバータ列５１にクロックゲーティング回路５２を介して接続されたインバータ列５３により、３つの経路に分岐する。更に、クロック供給経路は、インバータ列５３にクロックゲーティング回路５４を介して接続されたインバータ列５５により、２つの経路に分岐する。これにより、クロックツリーは、処理回路群６に含まれる６個の処理回路６１の各々に対応するように分岐し、クロック供給経路は、処理回路群６に含まれる６個の処理回路６１へ異なる経路によりクロックを供給する。
【００５６】
クロックゲーティング回路５２である３個の２入力ＡＮＤゲートの一方の入力端子には、インバータ列５１を介して、クロック供給源からのクロックが共通に入力される。３個のクロックゲーティング回路５２の他方の入力端子には、各々、解析制御回路１０からの異なる制御信号が入力される。これにより、３個のクロックゲーティング回路５２は、個別に制御される。
【００５７】
クロックゲーティング回路５４である６個の２入力ＡＮＤゲートの一方の入力端子には、インバータ列５１、クロックゲーティング回路５２及びインバータ列５３を介して、クロック供給源からのクロックが入力される。６個のクロックゲーティング回路５４の他方の入力端子には、各々、解析制御回路１０からの異なる制御信号が入力される。これにより、６個のクロックゲーティング回路５２は、個別に制御される。
【００５８】
２入力ＡＮＤゲートの他方の入力端子には、解析制御回路１０からの制御信号が、インバータにより反転された上で入力される。そこで、図３において、２入力ＡＮＤゲートの他方の入力端子には、インバータを表す「丸印」が付加されている。また、図３において、解析制御回路１０から各々のクロックゲーティング回路５２への制御信号線は、省略されている。
【００５９】
例えば、図３に示すように、クロックゲーティング回路５２及び５４に、各々、クロックツリー部５におけるゲーティングＩＤを割当てる。ゲーティングＩＤは、クロックツリー部５において、一意にクロックゲーティング回路５２又は５４を特定する識別情報である。
【００６０】
クロックゲーティング回路５２は、クロックツリー部５における第１階層のゲートであるので、「１−Ｘ」のようなゲーティングＩＤを持つ。クロックゲーティング回路５２は、図３において、左から順に「１−１」「１−２」「１−３」のゲーティングＩＤを持つ。図３において、Ｘの値は「１」〜「３」であるが、これに限られない。
【００６１】
クロックゲーティング回路５４は、クロックツリー部５における第２階層のゲートであるので、「２−Ｘ−Ｙ」のようなゲーティングＩＤを持つ。クロックゲーティング回路５２は、図３において、左から順に「１−１−１」「１−１−２」「１−２−１」等のゲーティングＩＤを持つ。図３において、Ｙの値は「１」〜「２」であるが、これに限られない。
【００６２】
なお、例えば「１−１」のゲーティングＩＤを持つクロックゲーティング回路５２を、クロックゲーティング回路１−１と言う場合がある。また、例えば「１−１−１」のゲーティングＩＤを持つクロックゲーティング回路５４を、クロックゲーティング回路１−１−１と言う場合がある。
【００６３】
例えば、解析制御回路１０からクロックゲーティング回路５２への制御信号がハイレベルである場合、その反転信号であるロウレベルが、クロックゲーティング回路５２へ入力される。これにより、クロックゲーティング回路５２の出力は、インバータ列５１からの信号のレベルに拘わることなく、ロウレベルとされる。換言すれば、クロックゲーティング回路５２は閉じられる。従って、クロックは、インバータ列５３には供給されない。
【００６４】
また、解析制御回路１０からクロックゲーティング回路５２への制御信号がロウレベルである場合、その反転信号であるハイレベルが、クロックゲーティング回路５２へ入力される。これにより、クロックゲーティング回路５２の出力は、インバータ列５１からの信号のレベルに依存する。換言すれば、クロックゲーティング回路５２は開かれる。従って、クロックは、インバータ列５３に供給される。
【００６５】
図４は、パケットの一例を示す図である。
【００６６】
パケット２００は、図４（Ａ）に示すように、クロックに同期して送信される。従って、処理回路ブロック１０２及び１０３には、パケット２００と、パケット２００の受信の期間中において処理回路ブロック１０２及び１０３へのクロックの供給を有効とするクロック制御信号とが入力される。パケット２００は、半導体装置１００に含まれる処理回路ブロック１０２及び１０３の間における情報の送受信の単位である。パケット２００は、ヘッダと、パケットデータとを含む。ヘッダは、パケット２００の先頭に付加され、後述するように、機能させるべき処理を特定する情報である機能情報を含む。パケットデータは、ヘッダの次の位置に付加され、処理対象とされるデータを含む。パケットデータは、省略される場合がある。
【００６７】
クロック制御信号は、パケット２００と共に、クロックに同期して送信される。クロック制御信号は、パケット２００が送信される期間の間だけ、送信される。具体的には、クロック制御信号は、パケット２００が送信される期間の間だけ、例えばハイレベルとされる。これにより、パケット２００が送信される期間の間だけ、パケット２００を受信する処理回路ブロック１０２及び１０３にクロックが供給され、動作可能とされる。従って、クロック制御信号は、処理回路ブロック１０２及び１０３のイネーブル信号である。
【００６８】
パケット２００は、表される定められたフォーマットを有し、処理回路ブロック１０２及び１０３の間で送受信されるデータ又は制御情報であれば良い。パケット２００は種々のフォーマットを採ることができる。
【００６９】
パケット２００におけるヘッダの送信期間の長さ及びパケットデータの送信期間の長さは、種々の値を採ることができる。また、ヘッダを含むヘッダパケットとパケットデータを含むデータパケットとを、異なるパケット２００として異なる通信線を用いて、例えば同一のタイミングで、並列に送信するようにしても良い。
【００７０】
パケット２００のヘッダは、図４（Ｂ）に示すように、例えば、８ビットのデータを含む。ヘッダの第８ビット〜第５ビットの４ビット［７：４］により、パケット２００の種類を表す情報「ＰＫＴ種別」が表される。ヘッダの第４ビット〜第１ビットの４ビット［３：０］により、パケット２００に含まれるデータを処理する命令の種類を表す情報「命令」が表される。
【００７１】
従って、機能情報は、パケット２００のヘッダに記録された情報であって、パケット２００の種類を表す情報、又は、パケット２００に含まれるデータを処理する命令の種類を表す情報である。以上のように、機能情報は、パケット２００に応じて定まる処理の種類を表す識別情報である。換言すれば、機能情報は、パケット２００の種別を表すパケット種別ＩＤである。機能情報としては、パケット２００の種類を表す情報、又は、パケット２００に含まれるデータを処理する命令の種類を表す情報のいずれか一方、又は、双方を用いることができ、いずれを用いるかは予め定められる。
【００７２】
例えば、図４（Ｃ）に示すように、ヘッダの第８ビット〜第５ビットの４ビット［７：４］により表される値が「０」である場合、ヘッダは、自己が含まれるパケット２００が処理Ａ用のパケット２００であることを表す。処理Ａを行う処理回路６１は「処理回路Ａ」であることが、半導体装置１００の設計時点で予め定まっている。従って、処理回路ブロック１０２及び１０３が第８ビット〜第５ビットの４ビット［７：４］により表される値が「０」であるヘッダを受信した場合に、処理回路ブロック１０２及び１０３に含まれる処理回路Ａにのみクロックを供給するようにされる。
【００７３】
また、例えば、図４（Ｄ）に示すように、ヘッダの第４ビット〜第１ビットの４ビット［３：０］により表される値が「０」である場合、ヘッダは、パケットデータに含まれるデータを足し算すべきことを表す。処理回路ブロック１０２及び１０３に含まれる処理回路６１の中で、例えば足し算を行う処理回路が「処理回路Ａ」であることは、半導体装置１００の設計時点で予め定まっている。従って、処理回路ブロック１０２及び１０３が第４ビット〜第１ビットの４ビット［３：０］により表される値が「０」であるヘッダを受信した場合に、処理回路ブロック１０２及び１０３に含まれる処理回路Ａにのみクロックを供給するようにされる。
【００７４】
図５（Ａ）は、パケットのヘッダに含まれる情報であるヘッダ情報の説明図である。
【００７５】
パケット２００のヘッダ１１が、図５（Ａ）に示すように、図４を参照して説明した情報以外に、種々の制御情報を含むようにしても良い。なお、図５（Ａ）において、種々の制御情報の用途も合わせて図示している。パケット２００のヘッダ１１が種々の制御情報を含む場合、パケット２００のヘッダは、実際には、図４（Ｂ）に示す８ビットではなく、例えば１６ビットとされる。パケット２００のヘッダは、３２ビット、６４ビット等であっても良い。
【００７６】
種々の制御情報として、パケット２００のヘッダ１１は、例えば、図５（Ａ）に示すように、パケットの種別ＩＤの他に、クロック供給制御、強制クロック停止、強制クロック停止ＩＤを含む。パケットの種別ＩＤは、前述したように、１６ビットのヘッダの８ビットを用いて表される。クロック供給制御、強制クロック停止及び強制クロック停止ＩＤは、１６ビットのヘッダの他の８ビットを用いて表される。
【００７７】
クロック供給制御は、クロックの供給を制御するか否かを示す情報である。クロック供給制御がＯＮ（ハイレベル）の場合には、解析制御回路１０によりクロックツリー部５が制御され、クロックの供給が制御される。クロック供給制御がＯＦＦ（ロウレベル）の場合には、解析制御回路１０によるクロックツリー部５の制御は行われず、常時クロックが供給される。
【００７８】
クロック供給制御に基づく制御は、解析制御回路１０によるパケット種別ＩＤに基づくクロックツリー部５の制御に優先する。例えば、受信したパケット２００において、パケット種別ＩＤが処理回路Ａにクロックを供給することを表しており、クロック供給制御がＯＦＦである場合には、解析制御回路１０は、クロック供給制御のＯＦＦに基づいて、処理回路Ａに常時クロックを供給する。これにより、例えば、常時動作させる必要がある処理回路６１には、パケット２００の送信により、常時クロックを供給することができる。
【００７９】
強制クロック停止は、クロックの供給を強制的に停止すること又は停止の解除をすることを示す情報である。強制クロック停止がＯＮ（ハイレベル）の場合には、解析制御回路１０によりクロックツリー部５が制御され、クロックの供給が強制的に停止される。強制クロック停止がＯＦＦ（ロウレベル）の場合には、解析制御回路１０によりクロックの供給の強制的な停止が解除される。
【００８０】
強制クロック停止ＩＤは、強制クロック停止に基づいて、クロックの供給を停止すべき又は停止の解除をすべき処理を行う処理回路の識別情報である。強制クロック停止ＩＤは、例えば、前述の処理Ａ〜処理Ｆ毎に予め定められる。強制クロック停止ＩＤにより指示された処理回路６１について、クロックの供給が強制的に停止され、又は、停止が解除される。
【００８１】
強制クロック停止に基づく制御は、クロック供給制御に基づくクロックツリー部５の制御に優先する。従って、強制クロック停止に基づく制御は、解析制御回路１０によるパケット種別ＩＤに基づくクロックツリー部５の制御にも優先する。なお、強制クロック停止に基づく制御は、クロック供給制御に基づくクロックツリー部５の制御とは無関係に行うようにしても良い。また、強制クロック停止に基づく制御は、パケット種別ＩＤに基づくクロックツリー部５の制御とは無関係に行うようにしても良い。これらの場合、強制クロック停止とクロック供給制御とは、パケット２００のヘッダにおいて、相互に矛盾しないように設定される。
【００８２】
例えば、受信したパケット２００において、クロック供給制御がＯＦＦであり、強制クロック停止がＯＮである場合には、解析制御回路１０は、強制クロック停止のＯＮと処理回路Ａを示す強制クロック停止ＩＤとに基づいて、処理回路Ａへのクロックの供給を強制的に停止する。パケット種別ＩＤがどの処理回路６１にクロックを供給することを表しているかは、強制クロック停止に基づく制御には無関係である。これにより、例えば、半導体装置１００の設計後に不要となった処理Ａを行う処理回路Ａには、パケット２００の送信により、常時クロックの供給を停止することができる。
【００８３】
図５（Ｂ）は、クロック制御判断テーブル１２を示す。
【００８４】
クロック制御判断テーブル１２は、パケット種別ＩＤとクロック制御判断との対応を示す。換言すれば、クロック制御判断テーブル１２は、パケット種別ＩＤ毎に、パケット種別ＩＤに対応するクロック制御判断を定める。クロック制御判断は、対応するパケット種別ＩＤを持つパケット２００を受信した場合に、行われるべき処理を示す。
【００８５】
例えば、図４（Ｃ）に示すヘッダの第８ビット〜第５ビットの４ビット［７：４］の値が「＃１」であるとする。また、例えば、パケット種別ＩＤが「＃１」であるパケット＃１は、処理Ａ及び処理Ｃを行うことが予め定められている。一方、パケット種別ＩＤは、パケット２００のヘッダの内部の予め定められた位置に記述されている。従って、受信したパケット２００を解析してパケット種別ＩＤを抽出することにより、受信したパケット２００を処理するために、どの処理回路６１が動作すれば良いかを知ることができる。従って、処理を行う際にクロックを供給すべき処理回路６１を知ることができる。例えば、抽出されたパケット種別ＩＤが「＃１」である場合、処理回路Ａ及び処理回路Ｃにクロックを供給すれば良い。
【００８６】
クロック制御判断テーブル１２は、テーブル形式以外の構成であっても良い。クロック制御判断テーブル１２は、実際には、パケット種別ＩＤを入力として、対応する１又は複数の処理、換言すれば、処理回路６１を出力する回路により構成される。例えば、クロック制御判断用のデコード回路が、パケット種別ＩＤをデコードして、保持回路から対応する１又は複数の処理、換言すれば、処理回路６１を出力するようにしても良い。
【００８７】
図６（Ａ）は、クロックゲーティングＩＤ判断テーブルを示す。
【００８８】
クロックゲーティングＩＤ判断テーブル１３は、処理を行う際にクロックを供給すべき処理回路とクロックツリー部５のクロックゲーティング回路５２及び５４との対応を示す。換言すれば、クロックゲーティングＩＤ判断テーブル１３は、処理の種別毎に、クロックを供給するために開くべき、クロックツリー部５のクロックゲーティング回路５２及び５４を定める。前述したように、処理の種別が定まれば、処理を行う際にクロックを供給すべき処理回路６１も定まる。
【００８９】
例えば、処理Ａを行うためには、処理回路Ａにクロックを供給することが求められる。図３を参照すると、クロックは、インバータ列５１、クロックゲーティング回路１−１、インバータ列５３、クロックゲーティング回路１−１−１を介して、処理回路Ａに供給される。換言すれば、処理回路Ａにクロックを供給するためには、クロックゲーティング回路１−１とクロックゲーティング回路１−１−１とを開けば良い。従って、図６（Ａ）において「丸印」で示すように、処理Ａには、ゲーティングＩＤが「１−１」及び「１−１−１」であるクロックゲーティング回路５２及び５４が開かれることが定義される。
【００９０】
クロックゲーティングＩＤ判断テーブル１３は、テーブル形式以外の構成であっても良い。クロックゲーティングＩＤ判断テーブル１３は、実際には、処理の種別を入力として、対応するクロックゲーティング回路５２及び５４を出力する回路により構成される。例えば、クロックゲーティングＩＤ判断用のデコード回路が、処理の種別をデコードして、保持回路から対応するクロックゲーティング回路５２及び５４を出力するようにしても良い。
【００９１】
図６（Ｂ）は、クロックゲーティングＩＤの判断結果の論理和を示す。
【００９２】
例えば、解析制御回路１０は、受信したパケット２００のヘッダの所定のビット位置の信号を抽出することにより、パケット種別ＩＤ「＃３」を抽出する。そして、解析制御回路１０は、抽出したパケット種別ＩＤ「＃３」に基づいて、図５（Ｂ）に示すように、パケット２００により行うべき処理Ａ及び処理Ｆを判断する。
【００９３】
更に、解析制御回路１０は、判断した処理Ａに基づいて、図６（Ａ）に示すように、処理回路Ａにクロックを供給するために開くべきクロックゲーティング回路１−１とクロックゲーティング回路１−１−１とを求める。また、解析制御回路１０は、判断した処理Ｆに基づいて、図６（Ａ）に示すように、処理回路Ｆにクロックを供給するために開くべきクロックゲーティング回路１−３とクロックゲーティング回路１−３−２とを求める。そして、解析制御回路１０は、求めたクロックゲーティング回路の論理和を求める。
【００９４】
これにより、解析制御回路１０は、図６（Ｂ）に示すように、受信したパケット２００により処理Ａ及び処理Ｆを行うために、クロックゲーティング回路１−１、１−３、１−１−１及び１−３−２を開くことを判定し、クロックゲーティング回路１−１、１−３、１−１−１及び１−３−２を開く信号である制御指示を生成して、クロックツリー部５へ入力する。これにより、処理回路Ａ及び処理回路Ｆのみにクロックを供給して、受信したパケット２００により処理Ａ及び処理Ｆを行うことができる。また、クロックツリー部５において、処理回路Ａ及び処理回路Ｆにクロックを供給する経路のみにクロックを供給し、処理回路Ａ及び処理回路Ｆにクロックを供給する経路以外の経路にはクロックを供給しないようにすることができる。
【００９５】
図７は、省電力制御の説明図である。
【００９６】
図７は、前述したように、処理回路Ａ及び処理回路Ｆにクロックを供給し、他の処理回路６１にはクロックを供給しない場合における、クロックゲーティングについて示す。
【００９７】
処理回路Ａにクロックを供給するために、クロックゲーティング回路１−１とクロックゲーティング回路１−１−１に対して、ロウレベルの制御信号が入力される。これにより、図７において実線で囲んで示すように、クロックゲーティング回路１−１とクロックゲーティング回路１−１−１が開かれる。この結果、図７において一点差線で示すように、クロックが、インバータ列５１、クロックゲーティング回路１−１、インバータ列５３、クロックゲーティング回路１−１−１、インバータ列５５を介して、処理回路Ａに入力される。
【００９８】
また、処理回路Ｆにクロックを供給するために、クロックゲーティング回路１−３とクロックゲーティング回路１−３−２に対して、ロウレベルの制御信号が入力される。これにより、図７において実線で囲んで示すように、クロックゲーティング回路１−３とクロックゲーティング回路１−３−２が開かれる。この結果、図７において一点差線で示すように、クロックが、インバータ列５１、クロックゲーティング回路１−３、インバータ列５３、クロックゲーティング回路１−３−２、インバータ列５５を介して、処理回路Ｆに入力される。
【００９９】
一方、処理回路Ａ及び処理回路Ｆ以外の処理回路６１には、クロックが供給されないようにされる。このために、クロックゲーティング回路１−２、クロックゲーティング回路１−１−２、クロックゲーティング回路１−２−１、クロックゲーティング回路１−２−２、クロックゲーティング回路１−３−１に対して、ハイレベルの制御信号が入力される。これにより、図７において点線で囲んで示すように、これらのクロックゲーティング回路は閉じられる。この結果、処理回路Ｂ、処理回路Ｃ、処理回路Ｄ、処理回路Ｅには、クロックが供給されない。これにより、パケット２００を処理しない処理回路６１へのクロックの供給を停止することができる。
【０１００】
図８は、省電力制御シーケンスを示す図である。
【０１０１】
前段の処理回路ブロック１０２又は１０３から、クロック制御信号とパケット２００の送信が開始されると、クロックゲーティング回路１が、クロックが供給されている状態で、ハイレベルのクロック制御信号を受信する（Ｓ１）。これにより、クロックゲーティング回路１が開かれ、クロックが、クロックゲーティング回路１からラッチ回路２に供給される（Ｓ２）。この結果、ラッチ回路２は、パケット２００を受信して、受信したパケット２００を処理回路群６と解析制御回路１０とに出力する（Ｓ３）。一方、ラッチ回路３は、クロックが供給されている状態で、ハイレベルのクロック制御信号を受信して、受信したクロック制御信号をＯＲゲート回路８に出力する（Ｓ３）。
【０１０２】
ＯＲゲート回路８は、受信したハイレベルのクロック制御信号に応じて、ハイレベルの制御信号をクロックゲーティング回路９に出力する。クロックゲーティング回路９は、クロックが供給されている状態で、ハイレベルの制御信号を受信して、解析制御回路１０にクロックを出力する（Ｓ４）。これにより、解析制御回路１０は、供給が開始されたクロックに同期して、受信したパケット２００の解析を開始する。
【０１０３】
解析制御回路１０は、ラッチ回路２から受信したパケット２００のヘッダの解析を行い（Ｓ５）、解析の結果に基づいて、クロックツリー部５における制御判定を行い（Ｓ６）、判定の結果に基づいて、クロックツリー部５への制御指示を行う（Ｓ７）。
【０１０４】
具体的には、解析制御回路１０は、解析処理として、パケット２００から機能情報を抽出て、制御判定処理として、機能情報と回路情報とに基づいて、クロックを供給すべき処理回路６１を特定し、制御指示として、特定した処理回路６１に基づいて制御指示を生成して、生成した制御指示をクロックツリー部５に入力する。これにより、クロックゲーティング回路５２及び５４の各々が、個別に制御される。
【０１０５】
シーケンスＳ７において、解析制御回路１０は、クロックゲーティング回路５２及び５４の各々に対応する制御指示の出力と共に、ＯＲゲート回路８に、ハイレベルの制御信号を入力する。この後、解析制御回路１０は、処理回路６１からの処理完了の通知の信号の受信を待つ。
【０１０６】
クロックツリー部５は、シーケンスＳ７における処理により解析制御回路１０からの制御指示を受信して、例えば、図７に示すように、処理回路Ａにクロックを供給する（Ｓ９）。これにより、処理回路Ａは、シーケンスＳ３における処理によりラッチ回路２から受信したパケット２００の処理を行い（Ｓ１０）、処理を完了する（Ｓ１１）。処理回路Ａは、Ｓ１１において、処理完了の通知の信号を解析制御回路１０に送信する。
【０１０７】
また、クロックツリー部５は、シーケンスＳ７における処理により解析制御回路１０からの制御指示を受信して、例えば、図７に示すように、処理回路Ｆにクロックを供給する（Ｓ１２）。これにより、処理回路Ｆは、シーケンスＳ３における処理によりラッチ回路２から受信したパケット２００の処理を行い（Ｓ１３）、処理を完了する（Ｓ１４）。処理回路Ｆは、Ｓ１４において、処理完了の通知の信号を解析制御回路１０に送信する。なお、例えば、シーケンスＳ９とシーケンスＳ１２とは並列に行われ、シーケンスＳ１０とシーケンスＳ１３とは並列に開始される。シーケンスＳ１１とシーケンスＳ１４とは並列に行われても行われなくても良い。
【０１０８】
シーケンスＳ１１及びシーケンスＳ１４における処理により、解析制御回路１０は、処理回路Ａ及び処理回路Ｆからの処理完了の通知の信号を受信して、処理完了判定を開始する（Ｓ８）。具体的には、解析制御回路１０は、処理回路Ａ及び処理回路Ｆからの処理完了の通知の信号を受信して、ＯＲゲート回路８に、ロウレベルの制御信号を入力する。
【０１０９】
この後、前段の処理回路ブロック１０２又は１０３からのクロック制御信号とパケット２００の送信が停止される。これにより、クロックゲーティング回路１が、クロック制御信号のロウレベルを受信する。この結果、クロックゲーティング回路１が閉じられ、クロックがクロックゲーティング回路１からラッチ回路２に供給されなくなり、ラッチ回路２は、パケット２００を処理回路群６と解析制御回路１０とに出力しなくなる。
【０１１０】
一方、ラッチ回路３は、クロック制御信号のロウレベルを受信して、受信したロウレベルのクロック制御信号をＯＲゲート回路８に出力する。これにより、ＯＲゲート回路８は、ロウレベルの信号をクロックゲーティング回路９に出力する。この結果、クロックゲーティング回路９は、解析制御回路１０にクロックを出力しなくなる。
【０１１１】
解析制御回路１０は、パケット２００及びクロックを供給されない状態で、制御指示を生成しない。これにより、クロックツリー部５において、全てのクロックゲーティング回路５２及び５４は閉じられる。従って、クロックツリー部５において、クロックが供給されることにより電力を消費するのは、インバータ列５１のみである。
【０１１２】
以上の説明から理解されるように、以下のような実施の態様が把握される。
【０１１３】
（付記１）  受信したパケットから、前記パケットに記録された情報であって、機能させるべき処理を特定する情報である機能情報を抽出する制御部と、
抽出された前記機能情報と、前記処理を行う際にクロックを供給すべき処理回路を特定する情報である回路情報とに基づいて、抽出された前記機能情報により特定される前記機能させるべき処理を行う際に前記クロックを供給すべき処理回路に、前記クロックを供給するクロック供給部とを含む
ことを特徴とする半導体装置。
【０１１４】
（付記２）  前記制御部は、前記回路情報として、前記処理と前記処理を行う際に前記クロックを供給すべき処理回路とを関連付けて保持し、抽出された前記機能情報と前記回路情報とに基づいて、前記クロック供給部を制御する制御信号を生成して前記クロック供給部に入力する
ことを特徴とする半導体装置。
【０１１５】
（付記３）  前記クロック供給部は、前記クロックを供給する経路であってツリー状に分岐するクロックツリーと、前記クロックツリーの分岐点の各々において、前記分岐点において分岐した複数の経路の各々の先頭に設けられたクロックゲーティング回路とを含み、
前記制御部は、前記クロックゲーティング回路の各々に対応する制御信号を生成し入力する
ことを特徴とする付記２に記載の半導体装置。
【０１１６】
（付記４）  前記機能情報は、前記パケットのヘッダに記録された情報であって、前記パケットの種類を表す情報、又は、前記パケットに含まれるデータを処理する命令の種類を表す情報である
ことを特徴とする付記１に記載の半導体装置。
【０１１７】
（付記５）  前記制御部は、前記パケットの種類を表す情報又は前記命令の種類を表す情報に関連付けて前記機能させるべき処理を保持する第１保持部と、前記機能させるべき処理に関連付けて前記機能させるべき処理を行う際に前記クロックを供給すべき処理回路を保持する第２保持部とにより、前記回路情報を保持する
ことを特徴とする付記４に記載の半導体装置。
【０１１８】
（付記６）  前記クロック供給部は、前記クロックを供給する経路であってツリー状に分岐するクロックツリーと、前記クロックツリーの分岐点の各々において、前記分岐点において分岐した複数の経路の各々の先頭に設けられたクロックゲーティング回路とを含み、
前記第２保持部は、前記クロックを供給すべき処理回路として、前記クロックを供給すべき処理回路にクロックを供給するために開くべき、前記クロックゲーティング回路を示す識別情報を保持する
ことを特徴とする付記５に記載の半導体装置。
【０１１９】
（付記７）  前記制御部は、前記クロックを供給すべき処理回路に前記クロックを供給した場合に、前記クロックを供給すべき処理回路からの処理完了の通知の信号を受信して、前記クロックを供給すべき処理回路への前記クロックの供給を停止する
ことを特徴とする付記１に記載の半導体装置。
【０１２０】
（付記８）  前記半導体装置は、更に、
前記パケットの受信前において、前記制御部、前記クロック供給部及び前記処理回路への前記クロックの供給を制限するクロック制御回路を含む
ことを特徴とする付記１に記載の半導体装置。
【０１２１】
（付記９）  前記パケットは、前記パケットに記録された情報であって、前記クロックの供給を制御するか否かを示す情報を含み、
前記制御部は、前記機能情報による制御に優先して、前記クロックの供給を制御するか否かを示す情報に基づいて、前記クロックを供給すべき処理回路への前記クロックを制御する
ことを特徴とする付記１に記載の半導体装置。
【０１２２】
（付記１０）  前記パケットは、前記パケットに記録された情報であって、前記クロックの供給を強制的に停止することを示す情報を含み、
前記制御部は、前記クロックの供給を強制的に停止することを示す情報に基づいて、前記クロックを供給すべき処理回路への前記クロックの供給を強制的に停止する
ことを特徴とする付記１に記載の半導体装置。
【０１２３】
（付記１１）  前記パケットは、前記クロックの供給を強制的に停止することを示す情報に基づいて、前記クロックの供給を停止すべき処理に対応する処理回路の識別情報を含み、
前記制御部は、前記クロックの供給を強制的に停止することを示す情報と前記識別情報とに基づいて、前記クロックの供給を停止すべき処理に対応する処理回路への前記クロックの供給を強制的に停止する
ことを特徴とする付記１０に記載の半導体装置。
【０１２４】
（付記１２）  前記半導体装置は、前記制御部と前記クロック供給部とを含む少なくとも１個の処理回路ブロックを含み、
前記処理回路ブロックには、前記パケットと、前記パケットの受信の期間中において前記処理回路ブロックへの前記クロックの供給を有効とするクロック制御信号とが入力される
ことを特徴とする付記１に記載の半導体装置。
【０１２５】
（付記１３）  制御部と、クロック供給部と、処理回路とを含む半導体装置の消費電力制御方法であって、
制御部が、受信したパケットから、前記パケットに記録された情報であって、機能させるべき処理を特定する情報である機能情報を抽出し、
クロック供給部が、抽出された前記機能情報と、前記処理を行う際にクロックを供給すべき処理回路を特定する情報である回路情報とに基づいて、抽出された前記機能情報により特定される前記機能させるべき処理を行う際に前記クロックを供給すべき処理回路に、前記クロックを供給する
ことを特徴とする半導体装置の消費電力制御方法。
【０１２６】
（付記１４）  制御部と、クロック供給部と、処理回路とを含む半導体装置の消費電力制御方法であって、
パケットが受信されるまで、前記半導体装置は、前記制御部、前記クロック供給部及び前記処理回路に対するクロック供給を停止する
ことを特徴とする半導体装置の消費電力制御方法。
【符号の説明】
【０１２７】
１、９    クロックゲーティング回路
２、３    ラッチ回路
４    内部処理回路
５    クロックツリー部
６    処理回路群
７    省電力制御部
８    ＯＲゲート回路
１０    解析制御回路
５１、５３、５５    インバータ列
５２、５４    クロックゲーティング回路
６１    処理回路
１００    半導体装置
１０１〜１０４    処理回路ブロック
２００    パケット
【図１】
0005879925.tif 000002
【図２】
0005879925.tif 000003
【図３】
0005879925.tif 000004
【図４】
0005879925.tif 000005
【図５】
0005879925.tif 000006
【図６】
0005879925.tif 000007
【図７】
0005879925.tif 000008
【図８】
0005879925.tif 000009
【図９】
0005879925.tif 000010