(57)【要約】【課題】各周辺回路モジュールへのクロック供給を自律分散的に制御して消費電力の低減を図れる半導体集積回路を提供する。【解決手段】バスに繋がる周辺回路モジュールの各個に対して、クロック制御回路ＣＴＬを付加する。クロック制御回路がＣＰＵもしくは他の周辺モジュールからの動作要求信号ｒｅｑを受けた場合、該当モジュールＭＤへ自律的にクロックｍｃｌｋの供給を開始し、また、該当モジュールから動作終了信号ｉｎｆｏを受け取ったならば、該当モジュールへのクロックの供給を自律的に停止する。【効果】プログラマによるソフトウェア的な制御に加えて、各周辺回路モジュールが自律分散的に動作及び停止して、更にきめ細かに消費電力を低減できる。【選択図】図１
2004199115.tif 000002
【特許請求の範囲】
【請求項１】
中央演算処理装置（ＣＰＵ）と周辺回路モジュールとを有する半導体集積回路であって、
前記ＣＰＵからのリクエスト信号を受けて前記周辺回路モジュールにクロック信号を供給し、前記周辺回路モジュールからの終了信号を受けて前記周辺回路モジュールへの前記クロック信号の供給を停止するクロック制御回路を有することを特徴とする半導体集積回路。
【請求項２】
請求項１記載の半導体集積回路において、
前記周辺回路モジュールは、クロック制御が可能であり、かつ、バスを介して前記ＣＰＵと繋がっていることを特徴とする半導体集積回路。
【請求項３】
中央演算処理装置（ＣＰＵ）と、同期クロック供給装置と、少なくとも１個の周辺回路モジュールとを有する半導体集積回路であって、
前記周辺回路モジュールに対して、動的にクロックの供給・および停止動作を自律制御するクロック供給制御回路を設けることを特徴とする。
【請求項４】
請求項３記載の半導体集積回路において、
前記周辺回路モジュールに１対１で対応し、かつ、ソフトウェアによりレジスタ値を変更することで対応する周辺回路モジュールへのクロック供給を制御可能な第１レジスタを更に具備し、
前記クロック供給制御回路による自律制御と、前記第１レジスタによるソフトウェア制御との組合わせで前記周辺回路モジュールに対するクロック供給制御を行うことを特徴とする半導体集積回路。
【請求項５】
請求項３または請求項４に記載の半導体集積回路において、
前記ＣＰＵ、前記周辺回路モジュール、及び前記クロック供給制御回路とはそれぞれバスを介して接続され、
前記クロック供給制御回路は、前記バス、前記ＣＰＵ、もしくは他の周辺回路モジュールから当該周辺回路モジュールに対する起動要求信号に応答して、当該周辺回路モジュールへクロックを供給することを特徴とする半導体集積回路。
【請求項６】
請求項３または請求項４に記載の半導体集積回路において、
前記ＣＰＵ、前記周辺回路モジュール、及び前記クロック供給制御回路とはそれぞれバスを介して接続され、
前記クロック供給制御回路は、当該周辺回路モジュールから前記バスを通して受ける動作終了信号に応答して、当該周辺回路モジュールへのクロック供給を停止することを特徴とする半導体集積回路。
【請求項７】
請求項３または請求項４に記載の半導体集積回路において、
前記ＣＰＵ、前記周辺回路モジュール、及び前記クロック供給制御回路とはそれぞれルーティング機能を有するスイッチ回路を介して接続され、
前記クロック供給制御回路は、当該周辺回路モジュールから前記スイッチ回路を通して受ける動作終了信号に応答して、当該周辺回路モジュールへのクロック供給を停止することを特徴とする半導体集積回路。
【請求項８】
請求項３または請求項４に記載の半導体集積回路において、
前記ＣＰＵ、前記周辺回路モジュール、及び前記クロック供給制御回路とはそれぞれルーティング機能を有するスイッチ回路を介して接続され、
前記クロック供給制御回路は、当該周辺回路モジュールから前記スイッチ回路を通して受ける起動要求信号に応答して、当該周辺回路モジュールへのクロックを供給することを特徴とする半導体集積回路。
【請求項９】
請求項３または請求項４に記載の半導体集積回路において、
前記クロック供給制御回路は、前記周辺回路モジュール自身が出力する動作中もしくは停止中を示す信号を判断して、前記周辺回路モジュールへのクロックの停止もしくは供給の制御を行うことを特徴とする半導体集積回路。
【請求項１０】
請求項３または請求項４に記載の半導体集積回路において、
前記クロック供給制御回路は、当該周辺回路モジュールへのクロック供給が行われていない時にリクエスト信号が到来した場合でも前記リクエスト信号を受信して当該周辺回路モジュールへのクロック制御動作をすることを特徴とする半導体集積回路。
【請求項１１】
請求項３または請求項４に記載の半導体集積回路において、
前記ＣＰＵが前記周辺回路モジュールに対して発行したクロックの停止／供給命令を、前記クロック供給制御回路が受けて前記周辺回路モジュールへのクロック供給を制御することを特徴とする半導体集積回路。
【請求項１２】
請求項３〜８のいずれかに記載の半導体集積回路において、
前記クロック制御回路に、前記周辺回路モジュールの動作頻度状況に応じて、当該回路モジュールから送信される動作終了信号に関わりなくクロック供給制御を行う予測学習回路を設けることを特徴とする半導体集積回路。
【請求項１３】
請求項１２記載の半導体集積回路において、
前記予測学習回路は、前記周辺回路モジュールの動作履歴を格納するメモリと、前記周辺回路モジュールへのクロック数を計数するサイクルカウンタと、前記メモリに格納された動作履歴から呼び出したサイクル数を書き込む第２レジスタと、該第２レジスタに書き込まれたレジスタ値と、前記サイクルカウンタの計数値とを比較する比較器とから成ることを特徴とする半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体集積回路に係り、特に多種多様なモジュールに対して、クロック供給を自律分散的に行って低電力化を図る大規模システムＬＳＩ（Large Scale Integrated circuit）に好適な半導体集積回路に関する。
【０００２】
【従来の技術】
従来、この種の低消費電力プロセッサとしては、プログラムの命令コードをデコードして、そのデコード結果を基に、該当命令の動作に関与する機能ブロックに対してフラグを設定し、その命令を必要とする機能ブロックにのみクロックを供給することにより消費電力を低減する方法が知られている（例えば、特許文献１参照）。
【０００３】
また、中央処理演算装置（ＣＰＵ）用・浮動小数点演算装置（ＦＰＵ）用など、デコーダを複数もつようなプロセッサにおいて、該当デコーダで使用されない命令コードに関しては、命令コードを無効化してからデコーダに該命令を供給して、消費電力の削減を目指すものもある（例えば、特許文献２参照）。
【０００４】
さらに、命令コードに電力制御フラグを付加して、命令のデコード時に、その電力制御フラグも同時にデコードすることによって、該命令の動作に必要な機能ブロックの電力状態を任意に制御し低消費電力化を図る方法も知られている（例えば、特許文献３参照）。
【０００５】
また、バスに繋がる周辺モジュールへのクロック供給制御に関しては、ソフトウェア的に各ＩＰ（Intellectual Property）を制御する方法が知られている（例えば、非特許文献１参照）。
【０００６】
【特許文献１】
特開平５−１９８８９号公報
【特許文献２】
特開２００１−２２５８２号公報
【特許文献３】
特開平１０−２０９５９号公報
【非特許文献１】
“Hitachi SuperＨTM RISC engine SH3-DSP SH7729R Hardware Manual”、ADE-602-229B, Rev.3.0,09/18/2002, Hitachi, Ltd. Section 9, 9.1-9.2.2）
【０００７】
【発明が解決しようとする課題】
前述した特許文献１から３に開示されるような方法は、命令コードがデコードされて、そのデコード結果から該当命令が必要とする機能ブロック中にあるフリップフロップへのクロックを１度だけ供給する方法である。しかし、この方法では、パイプライン制御が行われている回路ブロックの中だけでしか適用できず、またデコードにおいて、各パイプラインへ制御信号を生成する必要があり、複雑さから、大規模な回路や、バスに繋がる各周辺回路モジュール等の機能部品（ＩＰ）群への適用は困難であった。
【０００８】
また、前述した非特許文献１に開示されるような、ソフトウェア的に各ＩＰを制御する方法では、バスに繋がる各周辺回路モジュールが、ある任意の処理をするのに、どのぐらい時間がかかって、どのタイミングでクロック供給を停止させることができる、といった情報までをプログラマが把握して管理するのは非常に困難である。したがって、ソフトウェア的なモジュールへのクロック供給制御を行う方法は、現実的ではない。
【０００９】
そこで、本発明の一つの目的は、バスに繋がる各周辺回路モジュールへのクロック供給を自律分散的に制御して消費電力の低減が可能な半導体集積回路を提供することにある。
【００１０】
【課題を解決するための手段】
開示される本発明のうち代表的なものの概要を簡単に説明すれば、下記のとおりである。すなわち、本発明に係る半導体集積回路は、バスに繋がる各周辺回路モジュールそれぞれに、クロック制御回路を設け、そのクロック制御回路によって、各周辺回路モジュールへのクロック供給を動的に行うように構成することを特徴とするものである。
【００１１】
【発明の実施の形態】
以下、本発明に係る半導体集積回路の好適な実施形態について、添付図面を参照しながら詳細に説明する。
【００１２】
＜実施形態１＞
図１は、本発明に係る半導体集積回路の第１実施形態を示すシステムＬＳＩの構成図である。図１において、参照符号ＭＤ１〜５はバス上に繋がる各周辺モジュールを示す。ＣＴＬはモジュールへのクロック供給を制御するクロック制御回路である。ＣＰＧ（Clock Pulse Generator）は、クロックそのものを供給するクロック生成回路であり、クロック生成回路ＣＰＧ内では、位相同期ループ回路（ＰＬＬ：Phase Locked Loop）１０で生成されるクロックの元信号ｃｌｋ０を、分周器ＤＶを通して、必要な周波数にして、それにより生成されたクロック信号を制御論理積回路１２で供給制御できる構成となっている。なお、参照符号２０は、遅延軽減のため挿入されている増幅器であり、論理的には無関係なので、以下で説明する図２、図４、図６、図７では、増幅器２０を省略してある。
【００１３】
高速なバスＢＳ１には、ＣＰＵ１００および、高速性を必要とする周辺回路モジュールＭＤ１〜３（例えば、動画像処理回路や３次元グラフィック処理回路など）が接続されている。また、バスブリッジ回路ＢＢを中継して、低速なバスＢＳ２にも繋がっており、その低速バスＢＳ２には、高速性を必要としない周辺モジュールＭＤ４，ＭＤ５（例えば、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）やシリアルコミュニケーションインタフェース（ＳＣＩ）回路など）が接続され、ＣＰＵ１００には、実効的なアクセスタイムを短くするための高速なバッファメモリであるキャッシュメモリ１０１が接続されている。
【００１４】
これらバスＢＳ１，ＢＳ２に接続されている周辺モジュールのうち、ＭＤ１，ＭＤ２，ＭＤ４，ＭＤ５はクロック制御が可能なモジュールであるため、クロック制御回路ＣＴＬがそれぞれのモジュールに直接接続されている。クロック制御回路ＣＴＬは、モジュールから動作状態信号ｉｎｆｏを受け取ること、および、バスＢＳ１あるいはバスＢＳ２を監視することによって、クロック制御論理積回路１３に対して信号ｅｎを出力し、接続されているモジュールへのクロックｍｃｌｋの供給を制御する。
【００１５】
また、レジスタ１１に対してモジュールストップビット（ＭＳＴＰビット）をＣＰＵ１００からソフトウェアにより指定することにより、制御論理積回路１２を通して、各モジュールへのクロック供給を制御することも可能であり、このソフトウェアによるクロック供給制御と上記自律制御とを組合わせて行なっても良い。
【００１６】
ここで、図２を用いて周辺回路モジュールのクロックを制御する方法を説明する。図２は、図１におけるバスＢＳ１に繋がる周辺回路モジュールＭＤ１を例にしたクロック制御動作を説明するための要部ブロック図である。信号ｒｅｑは、ＣＰＵ１００もしくは、他のモジュール（例えば、周辺回路モジュールＭＤ２）からの動作要求信号を表し、動作状態信号ｉｎｆｏは周辺回路モジュールＭＤ１からクロック制御回路ＣＴＬおよび、バスＢＳ１へ出力されている信号を表している。
【００１７】
まず、周辺回路モジュールＭＤ１が動作中の時を想定する。動作中では、周辺回路モジュールＭＤ１へクロック制御論理積回路１３からモジュールクロックｍｃｌｋが供給され続けるが、周辺回路モジュールＭＤ１が担当の処理を終了すると、終わったことを示す動作終了情報信号ｉｎｆｏをバスＢＳ１へ出力して、ＣＰＵ１００や、その他のモジュールへ伝達する。その際、その動作終了情報信号ｉｎｆｏをクロック制御回路ＣＴＬも受け取り、処理の終了が確認できクロック制御回路ＣＴＬからクロック制御論理積回路１３へクロック停止信号ｅｎを出力して、自律的に周辺回路モジュールＭＤ１へのクロックｍｃｌｋの供給を停止させることができる。
【００１８】
このモジュールストップに関するタイミングチャートを図３に示す。図３において、信号ｃｌｋはクロック生成回路ＣＰＧから供給されるクロック、信号ｒｅｑはＣＰＵ１００もしくはその他の周辺回路モジュールから送られる動作開始要求信号、信号ｅｎはクロック制御回路ＣＴＬからクロック制御論理積回路１３へ出力される信号、信号ｍｃｌｋは実際に各周辺回路モジュール（この場合、ＭＤ１）に供給されるクロック信号、信号ｉｎｆｏは動作状態情報信号を、それぞれ表している。
【００１９】
図３より、クロックｃｌｋのサイクルＴ１で、動作状態情報信号ｉｎｆｏが立ち上がり（図３では、動作終了を意味する“ハイ”レベルになる）、この信号ｉｎｆｏの立ち上がりを受けて、次のクロックサイクルＴ２でクロック制御回路ＣＴＬからの信号ｅｎが立ち下がる（イネーブルを意味する“ハイ”レベルからネゲートを意味する“ロー”レベルになる）。次のクロックサイクルＴ３以降では、周辺回路モジュールＭＤ１へのクロックｍｃｌｋの供給が停止している状態（“ロー”レベル）になっていることが分かる。すなわち、周辺回路ＭＤ１から動作終了を示す動作状態情報信号ｉｎｆｏをクロック制御回路ＣＴＬが受けて、周辺回路ＭＤ１へのモジュールクロックｍｃｌｋの供給を自律的に停止させることができている。
【００２０】
次に、クロック供給が停止している状態を想定する。この状態において、バスＢＳ１を通して、動作要求信号ｒｅｑが送られた場合、周辺回路モジュールＭＤ１は動作していないため、動作要求信号ｒｅｑを受け取ることができないが、クロック制御回路ＣＴＬを、周辺回路モジュール停止中も動作させておくことにより、周辺回路モジュールＭＤ１へ送られた動作要求信号ｒｅｑを受け取り、この動作要求信号ｒｅｑに基づきクロック制御回路ＣＴＬからクロック制御論理積回路１３へ信号ｅｎを出力する。すなわち、クロック制御回路ＣＴＬは、動作要求信号ｒｅｑをバッファリングして、動作要求信号の受信を可能にしている。信号ｅｎによりクロック制御論理積回路１３からモジュールクロックｍｃｌｋが再び周辺回路モジュールＭＤ１へ供給され、動作させることができる。すなわち、動作要求信号ｒｅｑに応じて、自律的に処理を開始することができる。
【００２１】
この時の動作に関するタイミングチャートを図５に示す。各信号の意味は、前述した通り図３の場合と全く同等である。例えばクロックｃｌｋのサイクルＴ１において、ＣＰＵ１００から動作要求信号ｒｅｑが送信された時、動作要求信号ｒｅｑが立ち上がり、それに伴い次のクロックサイクルＴ２で、クロック制御回路ＣＬＴから出力される信号ｅｎが立ち上がる（図５の場合は、ネゲートを意味する“ロー”レベルからイネーブルを意味する“ハイ”レベルになる）。これをクロック制御論理積回路１３が受けて、次のクロックサイクルＴ３以降では、クロック制御論理積回路１３から周辺回路モジュールＭＤ１へモジュールクロックｍｃｌｋが供給されている。すなわち、ＣＰＵ１００からの動作要求信号ｒｅｑを受けて、自律的に周辺回路モジュールＭＤ１へのクロック供給を開始していることが分かる。
【００２２】
以上、本実施形態によれば、動作要求信号を受けて動作要求に対応する周辺回路モジュールへ自律的にクロックを供給して動作を開始させ、その周辺回路モジュールの動作終了信号を受けて、クロック供給を自律的に停止することができるので、バスに接続される周辺回路モジュールへのクロック供給を自律分散的に動的に制御が可能となり、半導体集積回路内のより一層のきめ細かな電力管理により低消費電力化を図ることができる。
【００２３】
なお、本実施形態では、動作要求信号をＣＰＵから受けるとして説明したが、他の周辺モジュールからの動作要求信号であってもよい。更に、周辺回路モジュール自身が、動作中もしくは停止中の信号を出し、この信号に基づいてクロック制御回路が周辺回路モジュールへのクロック供給を制御してもよいことは言うまでもない。
【００２４】
さらに、動作要求信号と、動作終了信号の代わりに、ＣＰＵ１００が周辺回路モジュールに対して発行したクロックの停止／供給命令を、クロック制御回路ＣＴＬが受けて周辺回路モジュールへのクロック供給を制御してもよい。
【００２５】
＜実施形態２＞
図４は、本発明に係る半導体集積回路の第２実施形態を示すシステムＬＳＩの構成図である。本実施形態は、前述した第１実施形態の自律的な動作を実現する別の構成例である。なお本実施形態において、前述した図１の構成部分と同じ構成部分には同じ参照符号を付して、説明の便宜上、その詳細な説明は省略する。すなわち、図１ではバスＢＳ１に周辺回路モジュールが直接接続されていたのに対して、本実施形態ではルーティング機能を有するクロスバー形式のスイッチ回路３０を介してＣＰＵ１００と周辺回路モジュールが接続される構成となっている点が相違する。ここでは説明を簡単にするため、周辺回路モジュールＭＤ１だけが、クロック制御が可能なモジュールとする。他の周辺回路モジュールがクロック制御が可能な場合には、周辺回路モジュールＭＤ１と同様にその周辺回路モジュールにクロック制御回路ＣＴＬとクロック制御論理積回路１３を設ければよいことは言うまでもない。
【００２６】
図４に示すような構成であっても、クロック制御動作は前述した図２の第１実施形態の場合と同様に、以下のようにクロック供給を自律的に制御できる。
ＣＰＵ１００から周辺回路モジュールＭＤ１への接続要求の信号ｒｅｑをスイッチ回路３０へ出し、ルートが確立されると、スイッチ回路３０からクロック制御回路ＣＴＬへ動作要求の信号ｒｅｑを送信し、また、ＣＰＵ１００から処理データが、スイッチ回路３０を中継して送信される。動作要求信号ｒｅｑをクロック制御回路ＣＴＬが受け取り、この信号ｒｅｑに基づいて、クロック制御論理積回路１３へクロック供給の信号ｅｎを送り、クロック制御論理積回路１３からモジュールクロックｍｃｌｋが周辺回路モジュールＭＤ１へ供給されて、自律的に処理が開始する。
【００２７】
また、処理が終了すれば、周辺回路モジュールＭＤ１からの終了を示す動作状態情報信号ｉｎｆｏを、クロック制御回路ＣＴＬおよび、スイッチ回路３０が受け取り、クロック制御回路ＣＴＬは処理の終了が確認でき、これに基づいてクロック制御回路ＣＴＬは、クロック制御論理積回路１３へクロック停止信号ｅｎを出力して、自律的に周辺回路モジュールＭＤ１へのクロックｍｃｌｋの供給を停止させることによって周辺回路モジュールＭＤ１へのクロック供給が絶たれると共に、ＣＰＵ１００との接続ルートも解除される。
【００２８】
＜実施形態３＞
図６は、本発明に係る半導体集積回路の第３実施形態を示すシステムＬＳＩの要部の構成図である。
前述した第１及び第２実施形態では、自律分散的に各周辺回路モジュールへのクロック制御を行うことができるが、周辺回路モジュールの立ち上げ時において、クロック制御回路ＣＴＬが一旦動作要求信号ｒｅｑを受け取ってから、該当周辺回路モジュールへクロック供給を開始するため、少なくとも１サイクルは動作の開始が遅れることになる。本実施形態は、このような遅れが問題となる場合に対応したものである。
【００２９】
図６において、図２と同様の構成部分には同じ参照符号を付して、説明の便宜上、その詳細な説明は省略する。すなわち本実施形態は、クロック制御論理積回路１３の代わりにＡＮＤ−ＯＲ複合回路４３と、予測学習回路４１と、メモリ４２とを設けている点が、図２の構成と相違する。なお、ここではＣＰＵ１００及びＣＰＵ１００からクロック生成回路ＣＰＧへの信号線の図示は省略してある。
【００３０】
予測学習回路４１は、クロック制御回路ＣＴＬから周辺回路モジュールＭＤ１の動作情報信号ｉｎｆｏを受け取ることができ、その情報を基にクロック制御を行う回路である。予測学習回路４１は、過去の動作履歴をメモリ４２内に記録しておき、動作終了の動作情報信号ｉｎｆｏを受け取ってから何サイクル後に再び動作開始要求信号ｒｅｑが到着するかを予測する。
【００３１】
例えば、非常に頻繁に動作する周辺回路モジュールがあったと仮定して、周辺回路モジュールＭＤ１から動作終了の動作情報信号ｉｎｆｏが出力された時、その信号を受け取ったクロック制御回路ＣＴＬは、クロック停止の信号ｅｎをＡＮＤ−ＯＲ複合回路４３へ出力すると同時に、予測学習回路４１へもモジュールの動作の終了信号ｅｓｇを送信する。予測学習回路４１は、メモリ４２に格納された周辺回路モジュールＭＤ１の過去の動作履歴内容に従って、次に何サイクル後に動作開始要求信号ｒｅｑが来るかを予測し、１サイクル後にすぐに要求がくると判断したならば、予測学習回路４１からＡＮＤ−ＯＲ複合回路４３へ動作継続信号ｃｓｇを出力して、クロック制御回路ＣＬＴからの信号を無効化し、クロック生成回路ＣＰＧのクロックｃｌｋをモジュールクロックｍｃｌｋとして周辺回路モジュールＭＤ１へ供給し続けることができる。すなわち、周辺回路モジュールの動作頻度状況に応じて、周辺回路モジュールから送信される動作終了信号に関わりなくクロック供給制御を行うことができる。これにより、自律的に周辺回路モジュールＭＤ１の起動及び停止ができると共に、次サイクルで要求信号ｒｅｑが来た時に、周辺回路モジュールＭＤ１は瞬時に反応でき、１サイクル分の損失を無くすことができる。
【００３２】
なお、本実施形態では、周辺回路モジュールは代表して周辺回路モジュールＭＤ１だけを示して説明したが、複数の周辺回路モジュールが有っても同様に構成できることは勿論である。
【００３３】
また、上記予測学習回路４１は、例えば、クロック数を計数するサイクルカウンタ、メモリ４２に格納された動作履歴から呼び出したサイクル数を書き込むレジスタと、この書き込まれたレジスタ値と、サイクルカウンタの計数値とを比較する比較器とから構成すればよい。
【００３４】
＜実施形態４＞
図７は、本発明に係る半導体集積回路の第４実施形態を示すシステムＬＳＩの要部の構成図である。
本実施形態は、動作開始の遅れを防ぐまた別の構成例を示すものである。
【００３５】
図７において、前述した図６に示した構成部分と同様の構成部分には、同じ参照符号を付して、説明の便宜上、その詳細な説明は省略する。すなわち、本実施形態では、予測学習回路４１とメモリ４２を用いずに、ＣＰＵ１００内に存在するデコーダＤＥＣのデコード結果を、ＡＮＤ−ＯＲ複合回路４３へ入力する構成としている点が相違する。
【００３６】
ＣＰＵ１００内に存在するデコーダＤＥＣのデコード結果を基に、リクエスト信号ｒｅｑを周辺回路モジュールＭＤ１へ送信する前に、先行して起動信号ｔｒｇを出力する。これにより自律的に周辺回路モジュールＭＤ１の起動及び停止ができると共に、第３実施形態で述べた動作の開始の遅れを防ぐことができる。また、図６の構成に比べて回路構成が簡略化される利点がある。
【００３７】
第１から第４実施形態で述べた構成はいずれも、各周辺回路モジュールに付随するクロック制御回路ＣＴＬによって、自律分散的にクロックの制御を行っているが、図１に示したクロック生成回路ＣＰＧの構成からも分かるように、クロック生成回路ＣＰＧの内部にはレジスタ１１に各モジュールに対応したＭＳＴＰビットを持ち、その情報に基づき、クロック生成回路ＣＰＧ内において各周辺回路モジュールのクロック制御も可能である。
【００３８】
このレジスタ１１内のＭＳＴＰビットは、各周辺回路モジュールと１対１で対応付けができ、周辺回路モジュールの数と同じ個数ある。そのレジスタ１１のＭＳＴＰビットの内容は、ソフトウェア的にプログラマが自由に書き換えることができ、任意の位置で周辺回路モジュールへのクロック供給を停止させることができる。したがって、上記の自律制御とソフトウェアによる制御とを組合わせてもよいことは勿論である。
【００３９】
＜実施形態５＞
図８は本発明の好適な応用例を示す第５実施形態であり、携帯情報システムのブロック構成図である。具体的には、移動体電話の構成の一例である。移動体電話は、大きく分けて、通信部とアプリケーションプロセッサ部から構成される。
【００４０】
通信部は、電波の送受信を行うアンテナと、高周波アナログ信号を処理するＲＦ無線部、アナログ信号からデジタル信号への変換や、その逆の変換を行うＡ／Ｄ・Ｄ／Ａ変換部、デジタル変換した信号の変調・復調を行うベースバンド部５０、ベースバンド部５０とのインターフェース制御や、電話音声システム制御を行うＣＰＵと、主記憶部５１と、スピーカー５２およびマイク５３とから構成される。なお、ＣＰＵにはＤＳＰが内蔵されていてもよい。
【００４１】
また、アプリケーションプロセッサ部６０は、各種アプリケーションを処理するためのＣＰＵ１００（なお、ＤＳＰ：Digital Signal Processorが内蔵されていてもよい）や、カメラ・メモリカード・音源ＩＣ・キー入力、ＭＰＥＧ４(MPEG：Moving Picture Experts Group)コーデック処理のための専用回路や、その他のＩＰなどの周辺回路モジュールからなる周辺回路部６３と、外部バスと内部バスとを接続するインターフェース（ＩＦ）回路から構成され、ベースバンド部５０とは、外部バス７０、インターフェース６２を介して接続される。
【００４２】
このアプリケーションロセッサ部６０には、カメラ（ＣＭＲ）６５、メモリカード（ＣＡＲＤ）６６、音源ＩＣ（ＳＯＤ）６７、キー入力（ＫＥＹ）６８などが接続される。さらにインターフェース６４、外部バス７１を通じて、液晶ディスプレイコントローラ（ＬＣＤ）８０、大容量メモリ（ＭＥＭ）８１などが接続される。
【００４３】
内部の高速バスＢＳ１にＣＰＵ１００、周辺回路部６３、ＩＦ６２、ＩＦ６３が繋がっている。ここで、周辺回路部６３が第１〜第４実施形態で説明した例えば、図１に示した複数の周辺回路モジュール群をまとめた部分である。クロック生成回路ＣＰＧは、特に制限されないが、すべての同期回路にクロックを供給するためＣＰＵにも供給されている。しかし、図８では、アプリケーションプロセッサ６０の内部が煩雑になり分かりにくくなるため省略し、周辺回路部６３に供給している線だけを示している。
【００４４】
この周辺回路部６３内のクロック制御可能な各周辺回路モジュールに対して、第１実施形態で述べたように、それぞれクロック制御回路ＣＴＬと、クロック論理積回路１３を設けた構成を適用すればよい。例えば、ＣＭＲ６５を処理する周辺回路モジュールＭＤがクロック制御可能な周辺回路モジュールとすれば、図９に示したように構成すればよい。また同様に、動作開始の遅れが問題となる周辺回路モジュールには、第３実施形態で説明したように、クロック制御回路ＣＴＬと、予測学習回路４１とメモリ４２（このメモリは、主記憶部５１もしくは大容量メモリ８１で兼用してもよい）と、ＡＮＤ−ＯＲ複合回路４３を設けた構成とするか、あるいは第４実施形態で説明したようにＡＮＤ−ＯＲ複合回路４３を設け、ＣＰＵ１００内に存在するデコーダＤＥＣのデコード結果を、ＡＮＤ−ＯＲ複合回路４３へ入力する構成を適用すればよい。
【００４５】
このように構成することにより、周辺回路部６３内のクロック制御が可能な各周辺回路モジュールに対して自律分散的にクロック制御を行うことができるので、本システム内において、動作の必要がないモジュールに関して、各個に動的にクロック制御を行って低消費電力化を図ることができる。なお、アプリケーションプロセッサ部は、１チップＬＳＩで実現してもよいし、クロック制御回路ＣＴＬとクロック制御論理積回路を含む周辺回路モジュール群を別チップで構成しても良い。或いは、クロック制御回路ＣＴＬと予測学習回路４１及びメモリ４２を含む周辺回路モジュール群を別チップで構成しても良い。
【００４６】
また、本実施形態のみならず、前述した各実施形態において、自律分散制御による動的なクロック制御と、ソフトウェアによる静的なクロック制御の両方を臨機応変に使い分けることによって、更にきめ細やかな電力制御を行うことが可能となることは言うまでもない。
【００４７】
以上、本発明の好適な実施の形態例について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の精神を逸脱しない範囲内において、種々の設計変更をなし得ることは勿論である。
【００４８】
【発明の効果】
前述した実施形態から明らかなように、本発明によれば大規模システムＬＳＩにおいて、クロック制御が可能な周辺回路モジュールに対して自律分散的に、かつ、動的に電力管理を行うことができる。これにより、従来プログラマが、対象とする周辺回路モジュールが明らかに停止していると判断できた時に限りクロック供給を停止できていた電力管理を、動的にきめ細かい消費電力制御が可能になるので、低消費電力化を実現することができる。また、自動制御であるため、プログラマの負担を軽減でき、開発工数の低減にも寄与できる。
【図面の簡単な説明】
【図１】本発明に係る半導体集積回路の第１実施形態を示すシステムＬＳＩの構成図。
【図２】図１に示したバスに繋がる周辺回路モジュールへのクロック制御動作を説明するための要部ブロック図。
【図３】周辺回路モジュールのストップ時のタイミングチャート。
【図４】本発明に係る半導体集積回路の第２実施形態を示すシステムＬＳＩの構成図。
【図５】周辺回路モジュールの動作開始時のタイミングチャート。
【図６】本発明に係る半導体集積回路の第３実施形態を示すシステムＬＳＩの要部構成図。
【図７】本発明に係る半導体集積回路の第４実施形態を示すシステムＬＳＩの要部構成図。
【図８】本発明の好適な応用例を示す第５実施形態の携帯情報システムブロック図。
【図９】図８の周辺回路部のクロックを自律制御する部分の構成例を示す要部拡大図。
【符号の説明】
１０…位相同期ループ回路（ＰＬＬ）、１１…レジスタ、１２…制御論理積回路、１３…クロック制御論理積回路、２０…増幅器、３０…スイッチ回路、４１…予測学習回路、４２…メモリ、４３…ＡＮＤ−ＯＲ複合回路、５０…ベースバンド部、５１…主記憶部、５２…スピーカー、５３…マイク、６０…アプリケーションプロセッサ部、６２，６４…インターフェース（ＩＦ）、６３…周辺回路部、６５…カメラ（ＣＭＲ）、６６…メモリカード（ＣＡＲＤ）、６７…音源ＩＣ（ＳＯＤ）、６８…キー入力（ＫＥＹ）、７０，７１…外部バス、８０…液晶ディスプレイコントローラ（ＬＣＤ）、８１…大容量メモリ（ＭＥＭ）、
１００…中央処理演算装置（ＣＰＵ）、１０１…キャッシュメモリ、ＭＤ，ＭＤ１〜ＭＤ７…周辺回路モジュール、ＢＢ…バスブリッジ回路、ＢＳ１…高速バス、ＢＳ２…低速バス、ＣＰＧ…クロック生成回路、ＣＴＬ…クロック制御回路、ＤＥＣ…デコーダ、ＲＦ…アンテナ高周波部、ｃｌｋ，ｃｌｋ０，ｍｃｌｋ…クロック、ｃｓｇ…動作継続信号、ｅｎ…クロック制御回路の出力信号、ｉｎｆｏ…動作状態信号、ｒｅｑ…動作要求（リクエスト）信号、ｅｓｇ…動作終了信号、ｔｒｇ…起動信号。
【図１】
2004199115.tif 000003
【図２】
2004199115.tif 000004
【図３】
2004199115.tif 000005
【図４】
2004199115.tif 000006
【図５】
2004199115.tif 000007
【図６】
2004199115.tif 000008
【図７】
2004199115.tif 000009
【図８】
2004199115.tif 000010
【図９】
2004199115.tif 000011