JP2004199115A - 半導体集積回路 - Google Patents
半導体集積回路 Download PDFInfo
- Publication number
- JP2004199115A JP2004199115A JP2002363268A JP2002363268A JP2004199115A JP 2004199115 A JP2004199115 A JP 2004199115A JP 2002363268 A JP2002363268 A JP 2002363268A JP 2002363268 A JP2002363268 A JP 2002363268A JP 2004199115 A JP2004199115 A JP 2004199115A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- peripheral circuit
- semiconductor integrated
- circuit module
- circuit
- 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.)
- Pending
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 40
- 230000002093 peripheral effect Effects 0.000 claims abstract description 130
- 238000012545 processing Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 230000005611 electricity Effects 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 10
- 239000002131 composite material Substances 0.000 description 8
- DWSYCUKCNSVBRA-UHFFFAOYSA-N 4-(5-methylsulfonyltetrazol-1-yl)phenol Chemical compound CS(=O)(=O)C1=NN=NN1C1=CC=C(C=C1)O DWSYCUKCNSVBRA-UHFFFAOYSA-N 0.000 description 4
- 101710167643 Serine/threonine protein phosphatase PstP Proteins 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Power Sources (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
【課題】各周辺回路モジュールへのクロック供給を自律分散的に制御して消費電力の低減を図れる半導体集積回路を提供する。
【解決手段】バスに繋がる周辺回路モジュールの各個に対して、クロック制御回路CTLを付加する。クロック制御回路がCPUもしくは他の周辺モジュールからの動作要求信号reqを受けた場合、該当モジュールMDへ自律的にクロックmclkの供給を開始し、また、該当モジュールから動作終了信号infoを受け取ったならば、該当モジュールへのクロックの供給を自律的に停止する。
【効果】プログラマによるソフトウェア的な制御に加えて、各周辺回路モジュールが自律分散的に動作及び停止して、更にきめ細かに消費電力を低減できる。
【選択図】図1
【解決手段】バスに繋がる周辺回路モジュールの各個に対して、クロック制御回路CTLを付加する。クロック制御回路がCPUもしくは他の周辺モジュールからの動作要求信号reqを受けた場合、該当モジュールMDへ自律的にクロックmclkの供給を開始し、また、該当モジュールから動作終了信号infoを受け取ったならば、該当モジュールへのクロックの供給を自律的に停止する。
【効果】プログラマによるソフトウェア的な制御に加えて、各周辺回路モジュールが自律分散的に動作及び停止して、更にきめ細かに消費電力を低減できる。
【選択図】図1
Description
【0001】
【発明の属する技術分野】
本発明は半導体集積回路に係り、特に多種多様なモジュールに対して、クロック供給を自律分散的に行って低電力化を図る大規模システムLSI(Large Scale Integrated circuit)に好適な半導体集積回路に関する。
【0002】
【従来の技術】
従来、この種の低消費電力プロセッサとしては、プログラムの命令コードをデコードして、そのデコード結果を基に、該当命令の動作に関与する機能ブロックに対してフラグを設定し、その命令を必要とする機能ブロックにのみクロックを供給することにより消費電力を低減する方法が知られている(例えば、特許文献1参照)。
【0003】
また、中央処理演算装置(CPU)用・浮動小数点演算装置(FPU)用など、デコーダを複数もつようなプロセッサにおいて、該当デコーダで使用されない命令コードに関しては、命令コードを無効化してからデコーダに該命令を供給して、消費電力の削減を目指すものもある(例えば、特許文献2参照)。
【0004】
さらに、命令コードに電力制御フラグを付加して、命令のデコード時に、その電力制御フラグも同時にデコードすることによって、該命令の動作に必要な機能ブロックの電力状態を任意に制御し低消費電力化を図る方法も知られている(例えば、特許文献3参照)。
【0005】
また、バスに繋がる周辺モジュールへのクロック供給制御に関しては、ソフトウェア的に各IP(Intellectual Property)を制御する方法が知られている(例えば、非特許文献1参照)。
【0006】
【特許文献1】
特開平5−19889号公報
【特許文献2】
特開2001−22582号公報
【特許文献3】
特開平10−20959号公報
【非特許文献1】
“Hitachi SuperHTM 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)
【0007】
【発明が解決しようとする課題】
前述した特許文献1から3に開示されるような方法は、命令コードがデコードされて、そのデコード結果から該当命令が必要とする機能ブロック中にあるフリップフロップへのクロックを1度だけ供給する方法である。しかし、この方法では、パイプライン制御が行われている回路ブロックの中だけでしか適用できず、またデコードにおいて、各パイプラインへ制御信号を生成する必要があり、複雑さから、大規模な回路や、バスに繋がる各周辺回路モジュール等の機能部品(IP)群への適用は困難であった。
【0008】
また、前述した非特許文献1に開示されるような、ソフトウェア的に各IPを制御する方法では、バスに繋がる各周辺回路モジュールが、ある任意の処理をするのに、どのぐらい時間がかかって、どのタイミングでクロック供給を停止させることができる、といった情報までをプログラマが把握して管理するのは非常に困難である。したがって、ソフトウェア的なモジュールへのクロック供給制御を行う方法は、現実的ではない。
【0009】
そこで、本発明の一つの目的は、バスに繋がる各周辺回路モジュールへのクロック供給を自律分散的に制御して消費電力の低減が可能な半導体集積回路を提供することにある。
【0010】
【課題を解決するための手段】
開示される本発明のうち代表的なものの概要を簡単に説明すれば、下記のとおりである。すなわち、本発明に係る半導体集積回路は、バスに繋がる各周辺回路モジュールそれぞれに、クロック制御回路を設け、そのクロック制御回路によって、各周辺回路モジュールへのクロック供給を動的に行うように構成することを特徴とするものである。
【0011】
【発明の実施の形態】
以下、本発明に係る半導体集積回路の好適な実施形態について、添付図面を参照しながら詳細に説明する。
【0012】
<実施形態1>
図1は、本発明に係る半導体集積回路の第1実施形態を示すシステムLSIの構成図である。図1において、参照符号MD1〜5はバス上に繋がる各周辺モジュールを示す。CTLはモジュールへのクロック供給を制御するクロック制御回路である。CPG(Clock Pulse Generator)は、クロックそのものを供給するクロック生成回路であり、クロック生成回路CPG内では、位相同期ループ回路(PLL:Phase Locked Loop)10で生成されるクロックの元信号clk0を、分周器DVを通して、必要な周波数にして、それにより生成されたクロック信号を制御論理積回路12で供給制御できる構成となっている。なお、参照符号20は、遅延軽減のため挿入されている増幅器であり、論理的には無関係なので、以下で説明する図2、図4、図6、図7では、増幅器20を省略してある。
【0013】
高速なバスBS1には、CPU100および、高速性を必要とする周辺回路モジュールMD1〜3(例えば、動画像処理回路や3次元グラフィック処理回路など)が接続されている。また、バスブリッジ回路BBを中継して、低速なバスBS2にも繋がっており、その低速バスBS2には、高速性を必要としない周辺モジュールMD4,MD5(例えば、ダイレクトメモリアクセスコントローラ(DMAC)やシリアルコミュニケーションインタフェース(SCI)回路など)が接続され、CPU100には、実効的なアクセスタイムを短くするための高速なバッファメモリであるキャッシュメモリ101が接続されている。
【0014】
これらバスBS1,BS2に接続されている周辺モジュールのうち、MD1,MD2,MD4,MD5はクロック制御が可能なモジュールであるため、クロック制御回路CTLがそれぞれのモジュールに直接接続されている。クロック制御回路CTLは、モジュールから動作状態信号infoを受け取ること、および、バスBS1あるいはバスBS2を監視することによって、クロック制御論理積回路13に対して信号enを出力し、接続されているモジュールへのクロックmclkの供給を制御する。
【0015】
また、レジスタ11に対してモジュールストップビット(MSTPビット)をCPU100からソフトウェアにより指定することにより、制御論理積回路12を通して、各モジュールへのクロック供給を制御することも可能であり、このソフトウェアによるクロック供給制御と上記自律制御とを組合わせて行なっても良い。
【0016】
ここで、図2を用いて周辺回路モジュールのクロックを制御する方法を説明する。図2は、図1におけるバスBS1に繋がる周辺回路モジュールMD1を例にしたクロック制御動作を説明するための要部ブロック図である。信号reqは、CPU100もしくは、他のモジュール(例えば、周辺回路モジュールMD2)からの動作要求信号を表し、動作状態信号infoは周辺回路モジュールMD1からクロック制御回路CTLおよび、バスBS1へ出力されている信号を表している。
【0017】
まず、周辺回路モジュールMD1が動作中の時を想定する。動作中では、周辺回路モジュールMD1へクロック制御論理積回路13からモジュールクロックmclkが供給され続けるが、周辺回路モジュールMD1が担当の処理を終了すると、終わったことを示す動作終了情報信号infoをバスBS1へ出力して、CPU100や、その他のモジュールへ伝達する。その際、その動作終了情報信号infoをクロック制御回路CTLも受け取り、処理の終了が確認できクロック制御回路CTLからクロック制御論理積回路13へクロック停止信号enを出力して、自律的に周辺回路モジュールMD1へのクロックmclkの供給を停止させることができる。
【0018】
このモジュールストップに関するタイミングチャートを図3に示す。図3において、信号clkはクロック生成回路CPGから供給されるクロック、信号reqはCPU100もしくはその他の周辺回路モジュールから送られる動作開始要求信号、信号enはクロック制御回路CTLからクロック制御論理積回路13へ出力される信号、信号mclkは実際に各周辺回路モジュール(この場合、MD1)に供給されるクロック信号、信号infoは動作状態情報信号を、それぞれ表している。
【0019】
図3より、クロックclkのサイクルT1で、動作状態情報信号infoが立ち上がり(図3では、動作終了を意味する“ハイ”レベルになる)、この信号infoの立ち上がりを受けて、次のクロックサイクルT2でクロック制御回路CTLからの信号enが立ち下がる(イネーブルを意味する“ハイ”レベルからネゲートを意味する“ロー”レベルになる)。次のクロックサイクルT3以降では、周辺回路モジュールMD1へのクロックmclkの供給が停止している状態(“ロー”レベル)になっていることが分かる。すなわち、周辺回路MD1から動作終了を示す動作状態情報信号infoをクロック制御回路CTLが受けて、周辺回路MD1へのモジュールクロックmclkの供給を自律的に停止させることができている。
【0020】
次に、クロック供給が停止している状態を想定する。この状態において、バスBS1を通して、動作要求信号reqが送られた場合、周辺回路モジュールMD1は動作していないため、動作要求信号reqを受け取ることができないが、クロック制御回路CTLを、周辺回路モジュール停止中も動作させておくことにより、周辺回路モジュールMD1へ送られた動作要求信号reqを受け取り、この動作要求信号reqに基づきクロック制御回路CTLからクロック制御論理積回路13へ信号enを出力する。すなわち、クロック制御回路CTLは、動作要求信号reqをバッファリングして、動作要求信号の受信を可能にしている。信号enによりクロック制御論理積回路13からモジュールクロックmclkが再び周辺回路モジュールMD1へ供給され、動作させることができる。すなわち、動作要求信号reqに応じて、自律的に処理を開始することができる。
【0021】
この時の動作に関するタイミングチャートを図5に示す。各信号の意味は、前述した通り図3の場合と全く同等である。例えばクロックclkのサイクルT1において、CPU100から動作要求信号reqが送信された時、動作要求信号reqが立ち上がり、それに伴い次のクロックサイクルT2で、クロック制御回路CLTから出力される信号enが立ち上がる(図5の場合は、ネゲートを意味する“ロー”レベルからイネーブルを意味する“ハイ”レベルになる)。これをクロック制御論理積回路13が受けて、次のクロックサイクルT3以降では、クロック制御論理積回路13から周辺回路モジュールMD1へモジュールクロックmclkが供給されている。すなわち、CPU100からの動作要求信号reqを受けて、自律的に周辺回路モジュールMD1へのクロック供給を開始していることが分かる。
【0022】
以上、本実施形態によれば、動作要求信号を受けて動作要求に対応する周辺回路モジュールへ自律的にクロックを供給して動作を開始させ、その周辺回路モジュールの動作終了信号を受けて、クロック供給を自律的に停止することができるので、バスに接続される周辺回路モジュールへのクロック供給を自律分散的に動的に制御が可能となり、半導体集積回路内のより一層のきめ細かな電力管理により低消費電力化を図ることができる。
【0023】
なお、本実施形態では、動作要求信号をCPUから受けるとして説明したが、他の周辺モジュールからの動作要求信号であってもよい。更に、周辺回路モジュール自身が、動作中もしくは停止中の信号を出し、この信号に基づいてクロック制御回路が周辺回路モジュールへのクロック供給を制御してもよいことは言うまでもない。
【0024】
さらに、動作要求信号と、動作終了信号の代わりに、CPU100が周辺回路モジュールに対して発行したクロックの停止/供給命令を、クロック制御回路CTLが受けて周辺回路モジュールへのクロック供給を制御してもよい。
【0025】
<実施形態2>
図4は、本発明に係る半導体集積回路の第2実施形態を示すシステムLSIの構成図である。本実施形態は、前述した第1実施形態の自律的な動作を実現する別の構成例である。なお本実施形態において、前述した図1の構成部分と同じ構成部分には同じ参照符号を付して、説明の便宜上、その詳細な説明は省略する。すなわち、図1ではバスBS1に周辺回路モジュールが直接接続されていたのに対して、本実施形態ではルーティング機能を有するクロスバー形式のスイッチ回路30を介してCPU100と周辺回路モジュールが接続される構成となっている点が相違する。ここでは説明を簡単にするため、周辺回路モジュールMD1だけが、クロック制御が可能なモジュールとする。他の周辺回路モジュールがクロック制御が可能な場合には、周辺回路モジュールMD1と同様にその周辺回路モジュールにクロック制御回路CTLとクロック制御論理積回路13を設ければよいことは言うまでもない。
【0026】
図4に示すような構成であっても、クロック制御動作は前述した図2の第1実施形態の場合と同様に、以下のようにクロック供給を自律的に制御できる。
CPU100から周辺回路モジュールMD1への接続要求の信号reqをスイッチ回路30へ出し、ルートが確立されると、スイッチ回路30からクロック制御回路CTLへ動作要求の信号reqを送信し、また、CPU100から処理データが、スイッチ回路30を中継して送信される。動作要求信号reqをクロック制御回路CTLが受け取り、この信号reqに基づいて、クロック制御論理積回路13へクロック供給の信号enを送り、クロック制御論理積回路13からモジュールクロックmclkが周辺回路モジュールMD1へ供給されて、自律的に処理が開始する。
【0027】
また、処理が終了すれば、周辺回路モジュールMD1からの終了を示す動作状態情報信号infoを、クロック制御回路CTLおよび、スイッチ回路30が受け取り、クロック制御回路CTLは処理の終了が確認でき、これに基づいてクロック制御回路CTLは、クロック制御論理積回路13へクロック停止信号enを出力して、自律的に周辺回路モジュールMD1へのクロックmclkの供給を停止させることによって周辺回路モジュールMD1へのクロック供給が絶たれると共に、CPU100との接続ルートも解除される。
【0028】
<実施形態3>
図6は、本発明に係る半導体集積回路の第3実施形態を示すシステムLSIの要部の構成図である。
前述した第1及び第2実施形態では、自律分散的に各周辺回路モジュールへのクロック制御を行うことができるが、周辺回路モジュールの立ち上げ時において、クロック制御回路CTLが一旦動作要求信号reqを受け取ってから、該当周辺回路モジュールへクロック供給を開始するため、少なくとも1サイクルは動作の開始が遅れることになる。本実施形態は、このような遅れが問題となる場合に対応したものである。
【0029】
図6において、図2と同様の構成部分には同じ参照符号を付して、説明の便宜上、その詳細な説明は省略する。すなわち本実施形態は、クロック制御論理積回路13の代わりにAND−OR複合回路43と、予測学習回路41と、メモリ42とを設けている点が、図2の構成と相違する。なお、ここではCPU100及びCPU100からクロック生成回路CPGへの信号線の図示は省略してある。
【0030】
予測学習回路41は、クロック制御回路CTLから周辺回路モジュールMD1の動作情報信号infoを受け取ることができ、その情報を基にクロック制御を行う回路である。予測学習回路41は、過去の動作履歴をメモリ42内に記録しておき、動作終了の動作情報信号infoを受け取ってから何サイクル後に再び動作開始要求信号reqが到着するかを予測する。
【0031】
例えば、非常に頻繁に動作する周辺回路モジュールがあったと仮定して、周辺回路モジュールMD1から動作終了の動作情報信号infoが出力された時、その信号を受け取ったクロック制御回路CTLは、クロック停止の信号enをAND−OR複合回路43へ出力すると同時に、予測学習回路41へもモジュールの動作の終了信号esgを送信する。予測学習回路41は、メモリ42に格納された周辺回路モジュールMD1の過去の動作履歴内容に従って、次に何サイクル後に動作開始要求信号reqが来るかを予測し、1サイクル後にすぐに要求がくると判断したならば、予測学習回路41からAND−OR複合回路43へ動作継続信号csgを出力して、クロック制御回路CLTからの信号を無効化し、クロック生成回路CPGのクロックclkをモジュールクロックmclkとして周辺回路モジュールMD1へ供給し続けることができる。すなわち、周辺回路モジュールの動作頻度状況に応じて、周辺回路モジュールから送信される動作終了信号に関わりなくクロック供給制御を行うことができる。これにより、自律的に周辺回路モジュールMD1の起動及び停止ができると共に、次サイクルで要求信号reqが来た時に、周辺回路モジュールMD1は瞬時に反応でき、1サイクル分の損失を無くすことができる。
【0032】
なお、本実施形態では、周辺回路モジュールは代表して周辺回路モジュールMD1だけを示して説明したが、複数の周辺回路モジュールが有っても同様に構成できることは勿論である。
【0033】
また、上記予測学習回路41は、例えば、クロック数を計数するサイクルカウンタ、メモリ42に格納された動作履歴から呼び出したサイクル数を書き込むレジスタと、この書き込まれたレジスタ値と、サイクルカウンタの計数値とを比較する比較器とから構成すればよい。
【0034】
<実施形態4>
図7は、本発明に係る半導体集積回路の第4実施形態を示すシステムLSIの要部の構成図である。
本実施形態は、動作開始の遅れを防ぐまた別の構成例を示すものである。
【0035】
図7において、前述した図6に示した構成部分と同様の構成部分には、同じ参照符号を付して、説明の便宜上、その詳細な説明は省略する。すなわち、本実施形態では、予測学習回路41とメモリ42を用いずに、CPU100内に存在するデコーダDECのデコード結果を、AND−OR複合回路43へ入力する構成としている点が相違する。
【0036】
CPU100内に存在するデコーダDECのデコード結果を基に、リクエスト信号reqを周辺回路モジュールMD1へ送信する前に、先行して起動信号trgを出力する。これにより自律的に周辺回路モジュールMD1の起動及び停止ができると共に、第3実施形態で述べた動作の開始の遅れを防ぐことができる。また、図6の構成に比べて回路構成が簡略化される利点がある。
【0037】
第1から第4実施形態で述べた構成はいずれも、各周辺回路モジュールに付随するクロック制御回路CTLによって、自律分散的にクロックの制御を行っているが、図1に示したクロック生成回路CPGの構成からも分かるように、クロック生成回路CPGの内部にはレジスタ11に各モジュールに対応したMSTPビットを持ち、その情報に基づき、クロック生成回路CPG内において各周辺回路モジュールのクロック制御も可能である。
【0038】
このレジスタ11内のMSTPビットは、各周辺回路モジュールと1対1で対応付けができ、周辺回路モジュールの数と同じ個数ある。そのレジスタ11のMSTPビットの内容は、ソフトウェア的にプログラマが自由に書き換えることができ、任意の位置で周辺回路モジュールへのクロック供給を停止させることができる。したがって、上記の自律制御とソフトウェアによる制御とを組合わせてもよいことは勿論である。
【0039】
<実施形態5>
図8は本発明の好適な応用例を示す第5実施形態であり、携帯情報システムのブロック構成図である。具体的には、移動体電話の構成の一例である。移動体電話は、大きく分けて、通信部とアプリケーションプロセッサ部から構成される。
【0040】
通信部は、電波の送受信を行うアンテナと、高周波アナログ信号を処理するRF無線部、アナログ信号からデジタル信号への変換や、その逆の変換を行うA/D・D/A変換部、デジタル変換した信号の変調・復調を行うベースバンド部50、ベースバンド部50とのインターフェース制御や、電話音声システム制御を行うCPUと、主記憶部51と、スピーカー52およびマイク53とから構成される。なお、CPUにはDSPが内蔵されていてもよい。
【0041】
また、アプリケーションプロセッサ部60は、各種アプリケーションを処理するためのCPU100(なお、DSP:Digital Signal Processorが内蔵されていてもよい)や、カメラ・メモリカード・音源IC・キー入力、MPEG4(MPEG:Moving Picture Experts Group)コーデック処理のための専用回路や、その他のIPなどの周辺回路モジュールからなる周辺回路部63と、外部バスと内部バスとを接続するインターフェース(IF)回路から構成され、ベースバンド部50とは、外部バス70、インターフェース62を介して接続される。
【0042】
このアプリケーションロセッサ部60には、カメラ(CMR)65、メモリカード(CARD)66、音源IC(SOD)67、キー入力(KEY)68などが接続される。さらにインターフェース64、外部バス71を通じて、液晶ディスプレイコントローラ(LCD)80、大容量メモリ(MEM)81などが接続される。
【0043】
内部の高速バスBS1にCPU100、周辺回路部63、IF62、IF63が繋がっている。ここで、周辺回路部63が第1〜第4実施形態で説明した例えば、図1に示した複数の周辺回路モジュール群をまとめた部分である。クロック生成回路CPGは、特に制限されないが、すべての同期回路にクロックを供給するためCPUにも供給されている。しかし、図8では、アプリケーションプロセッサ60の内部が煩雑になり分かりにくくなるため省略し、周辺回路部63に供給している線だけを示している。
【0044】
この周辺回路部63内のクロック制御可能な各周辺回路モジュールに対して、第1実施形態で述べたように、それぞれクロック制御回路CTLと、クロック論理積回路13を設けた構成を適用すればよい。例えば、CMR65を処理する周辺回路モジュールMDがクロック制御可能な周辺回路モジュールとすれば、図9に示したように構成すればよい。また同様に、動作開始の遅れが問題となる周辺回路モジュールには、第3実施形態で説明したように、クロック制御回路CTLと、予測学習回路41とメモリ42(このメモリは、主記憶部51もしくは大容量メモリ81で兼用してもよい)と、AND−OR複合回路43を設けた構成とするか、あるいは第4実施形態で説明したようにAND−OR複合回路43を設け、CPU100内に存在するデコーダDECのデコード結果を、AND−OR複合回路43へ入力する構成を適用すればよい。
【0045】
このように構成することにより、周辺回路部63内のクロック制御が可能な各周辺回路モジュールに対して自律分散的にクロック制御を行うことができるので、本システム内において、動作の必要がないモジュールに関して、各個に動的にクロック制御を行って低消費電力化を図ることができる。なお、アプリケーションプロセッサ部は、1チップLSIで実現してもよいし、クロック制御回路CTLとクロック制御論理積回路を含む周辺回路モジュール群を別チップで構成しても良い。或いは、クロック制御回路CTLと予測学習回路41及びメモリ42を含む周辺回路モジュール群を別チップで構成しても良い。
【0046】
また、本実施形態のみならず、前述した各実施形態において、自律分散制御による動的なクロック制御と、ソフトウェアによる静的なクロック制御の両方を臨機応変に使い分けることによって、更にきめ細やかな電力制御を行うことが可能となることは言うまでもない。
【0047】
以上、本発明の好適な実施の形態例について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の精神を逸脱しない範囲内において、種々の設計変更をなし得ることは勿論である。
【0048】
【発明の効果】
前述した実施形態から明らかなように、本発明によれば大規模システムLSIにおいて、クロック制御が可能な周辺回路モジュールに対して自律分散的に、かつ、動的に電力管理を行うことができる。これにより、従来プログラマが、対象とする周辺回路モジュールが明らかに停止していると判断できた時に限りクロック供給を停止できていた電力管理を、動的にきめ細かい消費電力制御が可能になるので、低消費電力化を実現することができる。また、自動制御であるため、プログラマの負担を軽減でき、開発工数の低減にも寄与できる。
【図面の簡単な説明】
【図1】本発明に係る半導体集積回路の第1実施形態を示すシステムLSIの構成図。
【図2】図1に示したバスに繋がる周辺回路モジュールへのクロック制御動作を説明するための要部ブロック図。
【図3】周辺回路モジュールのストップ時のタイミングチャート。
【図4】本発明に係る半導体集積回路の第2実施形態を示すシステムLSIの構成図。
【図5】周辺回路モジュールの動作開始時のタイミングチャート。
【図6】本発明に係る半導体集積回路の第3実施形態を示すシステムLSIの要部構成図。
【図7】本発明に係る半導体集積回路の第4実施形態を示すシステムLSIの要部構成図。
【図8】本発明の好適な応用例を示す第5実施形態の携帯情報システムブロック図。
【図9】図8の周辺回路部のクロックを自律制御する部分の構成例を示す要部拡大図。
【符号の説明】
10…位相同期ループ回路(PLL)、11…レジスタ、12…制御論理積回路、13…クロック制御論理積回路、20…増幅器、30…スイッチ回路、41…予測学習回路、42…メモリ、43…AND−OR複合回路、50…ベースバンド部、51…主記憶部、52…スピーカー、53…マイク、60…アプリケーションプロセッサ部、62,64…インターフェース(IF)、63…周辺回路部、65…カメラ(CMR)、66…メモリカード(CARD)、67…音源IC(SOD)、68…キー入力(KEY)、70,71…外部バス、80…液晶ディスプレイコントローラ(LCD)、81…大容量メモリ(MEM)、
100…中央処理演算装置(CPU)、101…キャッシュメモリ、MD,MD1〜MD7…周辺回路モジュール、BB…バスブリッジ回路、BS1…高速バス、BS2…低速バス、CPG…クロック生成回路、CTL…クロック制御回路、DEC…デコーダ、RF…アンテナ高周波部、clk,clk0,mclk…クロック、csg…動作継続信号、en…クロック制御回路の出力信号、info…動作状態信号、req…動作要求(リクエスト)信号、esg…動作終了信号、trg…起動信号。
【発明の属する技術分野】
本発明は半導体集積回路に係り、特に多種多様なモジュールに対して、クロック供給を自律分散的に行って低電力化を図る大規模システムLSI(Large Scale Integrated circuit)に好適な半導体集積回路に関する。
【0002】
【従来の技術】
従来、この種の低消費電力プロセッサとしては、プログラムの命令コードをデコードして、そのデコード結果を基に、該当命令の動作に関与する機能ブロックに対してフラグを設定し、その命令を必要とする機能ブロックにのみクロックを供給することにより消費電力を低減する方法が知られている(例えば、特許文献1参照)。
【0003】
また、中央処理演算装置(CPU)用・浮動小数点演算装置(FPU)用など、デコーダを複数もつようなプロセッサにおいて、該当デコーダで使用されない命令コードに関しては、命令コードを無効化してからデコーダに該命令を供給して、消費電力の削減を目指すものもある(例えば、特許文献2参照)。
【0004】
さらに、命令コードに電力制御フラグを付加して、命令のデコード時に、その電力制御フラグも同時にデコードすることによって、該命令の動作に必要な機能ブロックの電力状態を任意に制御し低消費電力化を図る方法も知られている(例えば、特許文献3参照)。
【0005】
また、バスに繋がる周辺モジュールへのクロック供給制御に関しては、ソフトウェア的に各IP(Intellectual Property)を制御する方法が知られている(例えば、非特許文献1参照)。
【0006】
【特許文献1】
特開平5−19889号公報
【特許文献2】
特開2001−22582号公報
【特許文献3】
特開平10−20959号公報
【非特許文献1】
“Hitachi SuperHTM 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)
【0007】
【発明が解決しようとする課題】
前述した特許文献1から3に開示されるような方法は、命令コードがデコードされて、そのデコード結果から該当命令が必要とする機能ブロック中にあるフリップフロップへのクロックを1度だけ供給する方法である。しかし、この方法では、パイプライン制御が行われている回路ブロックの中だけでしか適用できず、またデコードにおいて、各パイプラインへ制御信号を生成する必要があり、複雑さから、大規模な回路や、バスに繋がる各周辺回路モジュール等の機能部品(IP)群への適用は困難であった。
【0008】
また、前述した非特許文献1に開示されるような、ソフトウェア的に各IPを制御する方法では、バスに繋がる各周辺回路モジュールが、ある任意の処理をするのに、どのぐらい時間がかかって、どのタイミングでクロック供給を停止させることができる、といった情報までをプログラマが把握して管理するのは非常に困難である。したがって、ソフトウェア的なモジュールへのクロック供給制御を行う方法は、現実的ではない。
【0009】
そこで、本発明の一つの目的は、バスに繋がる各周辺回路モジュールへのクロック供給を自律分散的に制御して消費電力の低減が可能な半導体集積回路を提供することにある。
【0010】
【課題を解決するための手段】
開示される本発明のうち代表的なものの概要を簡単に説明すれば、下記のとおりである。すなわち、本発明に係る半導体集積回路は、バスに繋がる各周辺回路モジュールそれぞれに、クロック制御回路を設け、そのクロック制御回路によって、各周辺回路モジュールへのクロック供給を動的に行うように構成することを特徴とするものである。
【0011】
【発明の実施の形態】
以下、本発明に係る半導体集積回路の好適な実施形態について、添付図面を参照しながら詳細に説明する。
【0012】
<実施形態1>
図1は、本発明に係る半導体集積回路の第1実施形態を示すシステムLSIの構成図である。図1において、参照符号MD1〜5はバス上に繋がる各周辺モジュールを示す。CTLはモジュールへのクロック供給を制御するクロック制御回路である。CPG(Clock Pulse Generator)は、クロックそのものを供給するクロック生成回路であり、クロック生成回路CPG内では、位相同期ループ回路(PLL:Phase Locked Loop)10で生成されるクロックの元信号clk0を、分周器DVを通して、必要な周波数にして、それにより生成されたクロック信号を制御論理積回路12で供給制御できる構成となっている。なお、参照符号20は、遅延軽減のため挿入されている増幅器であり、論理的には無関係なので、以下で説明する図2、図4、図6、図7では、増幅器20を省略してある。
【0013】
高速なバスBS1には、CPU100および、高速性を必要とする周辺回路モジュールMD1〜3(例えば、動画像処理回路や3次元グラフィック処理回路など)が接続されている。また、バスブリッジ回路BBを中継して、低速なバスBS2にも繋がっており、その低速バスBS2には、高速性を必要としない周辺モジュールMD4,MD5(例えば、ダイレクトメモリアクセスコントローラ(DMAC)やシリアルコミュニケーションインタフェース(SCI)回路など)が接続され、CPU100には、実効的なアクセスタイムを短くするための高速なバッファメモリであるキャッシュメモリ101が接続されている。
【0014】
これらバスBS1,BS2に接続されている周辺モジュールのうち、MD1,MD2,MD4,MD5はクロック制御が可能なモジュールであるため、クロック制御回路CTLがそれぞれのモジュールに直接接続されている。クロック制御回路CTLは、モジュールから動作状態信号infoを受け取ること、および、バスBS1あるいはバスBS2を監視することによって、クロック制御論理積回路13に対して信号enを出力し、接続されているモジュールへのクロックmclkの供給を制御する。
【0015】
また、レジスタ11に対してモジュールストップビット(MSTPビット)をCPU100からソフトウェアにより指定することにより、制御論理積回路12を通して、各モジュールへのクロック供給を制御することも可能であり、このソフトウェアによるクロック供給制御と上記自律制御とを組合わせて行なっても良い。
【0016】
ここで、図2を用いて周辺回路モジュールのクロックを制御する方法を説明する。図2は、図1におけるバスBS1に繋がる周辺回路モジュールMD1を例にしたクロック制御動作を説明するための要部ブロック図である。信号reqは、CPU100もしくは、他のモジュール(例えば、周辺回路モジュールMD2)からの動作要求信号を表し、動作状態信号infoは周辺回路モジュールMD1からクロック制御回路CTLおよび、バスBS1へ出力されている信号を表している。
【0017】
まず、周辺回路モジュールMD1が動作中の時を想定する。動作中では、周辺回路モジュールMD1へクロック制御論理積回路13からモジュールクロックmclkが供給され続けるが、周辺回路モジュールMD1が担当の処理を終了すると、終わったことを示す動作終了情報信号infoをバスBS1へ出力して、CPU100や、その他のモジュールへ伝達する。その際、その動作終了情報信号infoをクロック制御回路CTLも受け取り、処理の終了が確認できクロック制御回路CTLからクロック制御論理積回路13へクロック停止信号enを出力して、自律的に周辺回路モジュールMD1へのクロックmclkの供給を停止させることができる。
【0018】
このモジュールストップに関するタイミングチャートを図3に示す。図3において、信号clkはクロック生成回路CPGから供給されるクロック、信号reqはCPU100もしくはその他の周辺回路モジュールから送られる動作開始要求信号、信号enはクロック制御回路CTLからクロック制御論理積回路13へ出力される信号、信号mclkは実際に各周辺回路モジュール(この場合、MD1)に供給されるクロック信号、信号infoは動作状態情報信号を、それぞれ表している。
【0019】
図3より、クロックclkのサイクルT1で、動作状態情報信号infoが立ち上がり(図3では、動作終了を意味する“ハイ”レベルになる)、この信号infoの立ち上がりを受けて、次のクロックサイクルT2でクロック制御回路CTLからの信号enが立ち下がる(イネーブルを意味する“ハイ”レベルからネゲートを意味する“ロー”レベルになる)。次のクロックサイクルT3以降では、周辺回路モジュールMD1へのクロックmclkの供給が停止している状態(“ロー”レベル)になっていることが分かる。すなわち、周辺回路MD1から動作終了を示す動作状態情報信号infoをクロック制御回路CTLが受けて、周辺回路MD1へのモジュールクロックmclkの供給を自律的に停止させることができている。
【0020】
次に、クロック供給が停止している状態を想定する。この状態において、バスBS1を通して、動作要求信号reqが送られた場合、周辺回路モジュールMD1は動作していないため、動作要求信号reqを受け取ることができないが、クロック制御回路CTLを、周辺回路モジュール停止中も動作させておくことにより、周辺回路モジュールMD1へ送られた動作要求信号reqを受け取り、この動作要求信号reqに基づきクロック制御回路CTLからクロック制御論理積回路13へ信号enを出力する。すなわち、クロック制御回路CTLは、動作要求信号reqをバッファリングして、動作要求信号の受信を可能にしている。信号enによりクロック制御論理積回路13からモジュールクロックmclkが再び周辺回路モジュールMD1へ供給され、動作させることができる。すなわち、動作要求信号reqに応じて、自律的に処理を開始することができる。
【0021】
この時の動作に関するタイミングチャートを図5に示す。各信号の意味は、前述した通り図3の場合と全く同等である。例えばクロックclkのサイクルT1において、CPU100から動作要求信号reqが送信された時、動作要求信号reqが立ち上がり、それに伴い次のクロックサイクルT2で、クロック制御回路CLTから出力される信号enが立ち上がる(図5の場合は、ネゲートを意味する“ロー”レベルからイネーブルを意味する“ハイ”レベルになる)。これをクロック制御論理積回路13が受けて、次のクロックサイクルT3以降では、クロック制御論理積回路13から周辺回路モジュールMD1へモジュールクロックmclkが供給されている。すなわち、CPU100からの動作要求信号reqを受けて、自律的に周辺回路モジュールMD1へのクロック供給を開始していることが分かる。
【0022】
以上、本実施形態によれば、動作要求信号を受けて動作要求に対応する周辺回路モジュールへ自律的にクロックを供給して動作を開始させ、その周辺回路モジュールの動作終了信号を受けて、クロック供給を自律的に停止することができるので、バスに接続される周辺回路モジュールへのクロック供給を自律分散的に動的に制御が可能となり、半導体集積回路内のより一層のきめ細かな電力管理により低消費電力化を図ることができる。
【0023】
なお、本実施形態では、動作要求信号をCPUから受けるとして説明したが、他の周辺モジュールからの動作要求信号であってもよい。更に、周辺回路モジュール自身が、動作中もしくは停止中の信号を出し、この信号に基づいてクロック制御回路が周辺回路モジュールへのクロック供給を制御してもよいことは言うまでもない。
【0024】
さらに、動作要求信号と、動作終了信号の代わりに、CPU100が周辺回路モジュールに対して発行したクロックの停止/供給命令を、クロック制御回路CTLが受けて周辺回路モジュールへのクロック供給を制御してもよい。
【0025】
<実施形態2>
図4は、本発明に係る半導体集積回路の第2実施形態を示すシステムLSIの構成図である。本実施形態は、前述した第1実施形態の自律的な動作を実現する別の構成例である。なお本実施形態において、前述した図1の構成部分と同じ構成部分には同じ参照符号を付して、説明の便宜上、その詳細な説明は省略する。すなわち、図1ではバスBS1に周辺回路モジュールが直接接続されていたのに対して、本実施形態ではルーティング機能を有するクロスバー形式のスイッチ回路30を介してCPU100と周辺回路モジュールが接続される構成となっている点が相違する。ここでは説明を簡単にするため、周辺回路モジュールMD1だけが、クロック制御が可能なモジュールとする。他の周辺回路モジュールがクロック制御が可能な場合には、周辺回路モジュールMD1と同様にその周辺回路モジュールにクロック制御回路CTLとクロック制御論理積回路13を設ければよいことは言うまでもない。
【0026】
図4に示すような構成であっても、クロック制御動作は前述した図2の第1実施形態の場合と同様に、以下のようにクロック供給を自律的に制御できる。
CPU100から周辺回路モジュールMD1への接続要求の信号reqをスイッチ回路30へ出し、ルートが確立されると、スイッチ回路30からクロック制御回路CTLへ動作要求の信号reqを送信し、また、CPU100から処理データが、スイッチ回路30を中継して送信される。動作要求信号reqをクロック制御回路CTLが受け取り、この信号reqに基づいて、クロック制御論理積回路13へクロック供給の信号enを送り、クロック制御論理積回路13からモジュールクロックmclkが周辺回路モジュールMD1へ供給されて、自律的に処理が開始する。
【0027】
また、処理が終了すれば、周辺回路モジュールMD1からの終了を示す動作状態情報信号infoを、クロック制御回路CTLおよび、スイッチ回路30が受け取り、クロック制御回路CTLは処理の終了が確認でき、これに基づいてクロック制御回路CTLは、クロック制御論理積回路13へクロック停止信号enを出力して、自律的に周辺回路モジュールMD1へのクロックmclkの供給を停止させることによって周辺回路モジュールMD1へのクロック供給が絶たれると共に、CPU100との接続ルートも解除される。
【0028】
<実施形態3>
図6は、本発明に係る半導体集積回路の第3実施形態を示すシステムLSIの要部の構成図である。
前述した第1及び第2実施形態では、自律分散的に各周辺回路モジュールへのクロック制御を行うことができるが、周辺回路モジュールの立ち上げ時において、クロック制御回路CTLが一旦動作要求信号reqを受け取ってから、該当周辺回路モジュールへクロック供給を開始するため、少なくとも1サイクルは動作の開始が遅れることになる。本実施形態は、このような遅れが問題となる場合に対応したものである。
【0029】
図6において、図2と同様の構成部分には同じ参照符号を付して、説明の便宜上、その詳細な説明は省略する。すなわち本実施形態は、クロック制御論理積回路13の代わりにAND−OR複合回路43と、予測学習回路41と、メモリ42とを設けている点が、図2の構成と相違する。なお、ここではCPU100及びCPU100からクロック生成回路CPGへの信号線の図示は省略してある。
【0030】
予測学習回路41は、クロック制御回路CTLから周辺回路モジュールMD1の動作情報信号infoを受け取ることができ、その情報を基にクロック制御を行う回路である。予測学習回路41は、過去の動作履歴をメモリ42内に記録しておき、動作終了の動作情報信号infoを受け取ってから何サイクル後に再び動作開始要求信号reqが到着するかを予測する。
【0031】
例えば、非常に頻繁に動作する周辺回路モジュールがあったと仮定して、周辺回路モジュールMD1から動作終了の動作情報信号infoが出力された時、その信号を受け取ったクロック制御回路CTLは、クロック停止の信号enをAND−OR複合回路43へ出力すると同時に、予測学習回路41へもモジュールの動作の終了信号esgを送信する。予測学習回路41は、メモリ42に格納された周辺回路モジュールMD1の過去の動作履歴内容に従って、次に何サイクル後に動作開始要求信号reqが来るかを予測し、1サイクル後にすぐに要求がくると判断したならば、予測学習回路41からAND−OR複合回路43へ動作継続信号csgを出力して、クロック制御回路CLTからの信号を無効化し、クロック生成回路CPGのクロックclkをモジュールクロックmclkとして周辺回路モジュールMD1へ供給し続けることができる。すなわち、周辺回路モジュールの動作頻度状況に応じて、周辺回路モジュールから送信される動作終了信号に関わりなくクロック供給制御を行うことができる。これにより、自律的に周辺回路モジュールMD1の起動及び停止ができると共に、次サイクルで要求信号reqが来た時に、周辺回路モジュールMD1は瞬時に反応でき、1サイクル分の損失を無くすことができる。
【0032】
なお、本実施形態では、周辺回路モジュールは代表して周辺回路モジュールMD1だけを示して説明したが、複数の周辺回路モジュールが有っても同様に構成できることは勿論である。
【0033】
また、上記予測学習回路41は、例えば、クロック数を計数するサイクルカウンタ、メモリ42に格納された動作履歴から呼び出したサイクル数を書き込むレジスタと、この書き込まれたレジスタ値と、サイクルカウンタの計数値とを比較する比較器とから構成すればよい。
【0034】
<実施形態4>
図7は、本発明に係る半導体集積回路の第4実施形態を示すシステムLSIの要部の構成図である。
本実施形態は、動作開始の遅れを防ぐまた別の構成例を示すものである。
【0035】
図7において、前述した図6に示した構成部分と同様の構成部分には、同じ参照符号を付して、説明の便宜上、その詳細な説明は省略する。すなわち、本実施形態では、予測学習回路41とメモリ42を用いずに、CPU100内に存在するデコーダDECのデコード結果を、AND−OR複合回路43へ入力する構成としている点が相違する。
【0036】
CPU100内に存在するデコーダDECのデコード結果を基に、リクエスト信号reqを周辺回路モジュールMD1へ送信する前に、先行して起動信号trgを出力する。これにより自律的に周辺回路モジュールMD1の起動及び停止ができると共に、第3実施形態で述べた動作の開始の遅れを防ぐことができる。また、図6の構成に比べて回路構成が簡略化される利点がある。
【0037】
第1から第4実施形態で述べた構成はいずれも、各周辺回路モジュールに付随するクロック制御回路CTLによって、自律分散的にクロックの制御を行っているが、図1に示したクロック生成回路CPGの構成からも分かるように、クロック生成回路CPGの内部にはレジスタ11に各モジュールに対応したMSTPビットを持ち、その情報に基づき、クロック生成回路CPG内において各周辺回路モジュールのクロック制御も可能である。
【0038】
このレジスタ11内のMSTPビットは、各周辺回路モジュールと1対1で対応付けができ、周辺回路モジュールの数と同じ個数ある。そのレジスタ11のMSTPビットの内容は、ソフトウェア的にプログラマが自由に書き換えることができ、任意の位置で周辺回路モジュールへのクロック供給を停止させることができる。したがって、上記の自律制御とソフトウェアによる制御とを組合わせてもよいことは勿論である。
【0039】
<実施形態5>
図8は本発明の好適な応用例を示す第5実施形態であり、携帯情報システムのブロック構成図である。具体的には、移動体電話の構成の一例である。移動体電話は、大きく分けて、通信部とアプリケーションプロセッサ部から構成される。
【0040】
通信部は、電波の送受信を行うアンテナと、高周波アナログ信号を処理するRF無線部、アナログ信号からデジタル信号への変換や、その逆の変換を行うA/D・D/A変換部、デジタル変換した信号の変調・復調を行うベースバンド部50、ベースバンド部50とのインターフェース制御や、電話音声システム制御を行うCPUと、主記憶部51と、スピーカー52およびマイク53とから構成される。なお、CPUにはDSPが内蔵されていてもよい。
【0041】
また、アプリケーションプロセッサ部60は、各種アプリケーションを処理するためのCPU100(なお、DSP:Digital Signal Processorが内蔵されていてもよい)や、カメラ・メモリカード・音源IC・キー入力、MPEG4(MPEG:Moving Picture Experts Group)コーデック処理のための専用回路や、その他のIPなどの周辺回路モジュールからなる周辺回路部63と、外部バスと内部バスとを接続するインターフェース(IF)回路から構成され、ベースバンド部50とは、外部バス70、インターフェース62を介して接続される。
【0042】
このアプリケーションロセッサ部60には、カメラ(CMR)65、メモリカード(CARD)66、音源IC(SOD)67、キー入力(KEY)68などが接続される。さらにインターフェース64、外部バス71を通じて、液晶ディスプレイコントローラ(LCD)80、大容量メモリ(MEM)81などが接続される。
【0043】
内部の高速バスBS1にCPU100、周辺回路部63、IF62、IF63が繋がっている。ここで、周辺回路部63が第1〜第4実施形態で説明した例えば、図1に示した複数の周辺回路モジュール群をまとめた部分である。クロック生成回路CPGは、特に制限されないが、すべての同期回路にクロックを供給するためCPUにも供給されている。しかし、図8では、アプリケーションプロセッサ60の内部が煩雑になり分かりにくくなるため省略し、周辺回路部63に供給している線だけを示している。
【0044】
この周辺回路部63内のクロック制御可能な各周辺回路モジュールに対して、第1実施形態で述べたように、それぞれクロック制御回路CTLと、クロック論理積回路13を設けた構成を適用すればよい。例えば、CMR65を処理する周辺回路モジュールMDがクロック制御可能な周辺回路モジュールとすれば、図9に示したように構成すればよい。また同様に、動作開始の遅れが問題となる周辺回路モジュールには、第3実施形態で説明したように、クロック制御回路CTLと、予測学習回路41とメモリ42(このメモリは、主記憶部51もしくは大容量メモリ81で兼用してもよい)と、AND−OR複合回路43を設けた構成とするか、あるいは第4実施形態で説明したようにAND−OR複合回路43を設け、CPU100内に存在するデコーダDECのデコード結果を、AND−OR複合回路43へ入力する構成を適用すればよい。
【0045】
このように構成することにより、周辺回路部63内のクロック制御が可能な各周辺回路モジュールに対して自律分散的にクロック制御を行うことができるので、本システム内において、動作の必要がないモジュールに関して、各個に動的にクロック制御を行って低消費電力化を図ることができる。なお、アプリケーションプロセッサ部は、1チップLSIで実現してもよいし、クロック制御回路CTLとクロック制御論理積回路を含む周辺回路モジュール群を別チップで構成しても良い。或いは、クロック制御回路CTLと予測学習回路41及びメモリ42を含む周辺回路モジュール群を別チップで構成しても良い。
【0046】
また、本実施形態のみならず、前述した各実施形態において、自律分散制御による動的なクロック制御と、ソフトウェアによる静的なクロック制御の両方を臨機応変に使い分けることによって、更にきめ細やかな電力制御を行うことが可能となることは言うまでもない。
【0047】
以上、本発明の好適な実施の形態例について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の精神を逸脱しない範囲内において、種々の設計変更をなし得ることは勿論である。
【0048】
【発明の効果】
前述した実施形態から明らかなように、本発明によれば大規模システムLSIにおいて、クロック制御が可能な周辺回路モジュールに対して自律分散的に、かつ、動的に電力管理を行うことができる。これにより、従来プログラマが、対象とする周辺回路モジュールが明らかに停止していると判断できた時に限りクロック供給を停止できていた電力管理を、動的にきめ細かい消費電力制御が可能になるので、低消費電力化を実現することができる。また、自動制御であるため、プログラマの負担を軽減でき、開発工数の低減にも寄与できる。
【図面の簡単な説明】
【図1】本発明に係る半導体集積回路の第1実施形態を示すシステムLSIの構成図。
【図2】図1に示したバスに繋がる周辺回路モジュールへのクロック制御動作を説明するための要部ブロック図。
【図3】周辺回路モジュールのストップ時のタイミングチャート。
【図4】本発明に係る半導体集積回路の第2実施形態を示すシステムLSIの構成図。
【図5】周辺回路モジュールの動作開始時のタイミングチャート。
【図6】本発明に係る半導体集積回路の第3実施形態を示すシステムLSIの要部構成図。
【図7】本発明に係る半導体集積回路の第4実施形態を示すシステムLSIの要部構成図。
【図8】本発明の好適な応用例を示す第5実施形態の携帯情報システムブロック図。
【図9】図8の周辺回路部のクロックを自律制御する部分の構成例を示す要部拡大図。
【符号の説明】
10…位相同期ループ回路(PLL)、11…レジスタ、12…制御論理積回路、13…クロック制御論理積回路、20…増幅器、30…スイッチ回路、41…予測学習回路、42…メモリ、43…AND−OR複合回路、50…ベースバンド部、51…主記憶部、52…スピーカー、53…マイク、60…アプリケーションプロセッサ部、62,64…インターフェース(IF)、63…周辺回路部、65…カメラ(CMR)、66…メモリカード(CARD)、67…音源IC(SOD)、68…キー入力(KEY)、70,71…外部バス、80…液晶ディスプレイコントローラ(LCD)、81…大容量メモリ(MEM)、
100…中央処理演算装置(CPU)、101…キャッシュメモリ、MD,MD1〜MD7…周辺回路モジュール、BB…バスブリッジ回路、BS1…高速バス、BS2…低速バス、CPG…クロック生成回路、CTL…クロック制御回路、DEC…デコーダ、RF…アンテナ高周波部、clk,clk0,mclk…クロック、csg…動作継続信号、en…クロック制御回路の出力信号、info…動作状態信号、req…動作要求(リクエスト)信号、esg…動作終了信号、trg…起動信号。
Claims (13)
- 中央演算処理装置(CPU)と周辺回路モジュールとを有する半導体集積回路であって、
前記CPUからのリクエスト信号を受けて前記周辺回路モジュールにクロック信号を供給し、前記周辺回路モジュールからの終了信号を受けて前記周辺回路モジュールへの前記クロック信号の供給を停止するクロック制御回路を有することを特徴とする半導体集積回路。 - 請求項1記載の半導体集積回路において、
前記周辺回路モジュールは、クロック制御が可能であり、かつ、バスを介して前記CPUと繋がっていることを特徴とする半導体集積回路。 - 中央演算処理装置(CPU)と、同期クロック供給装置と、少なくとも1個の周辺回路モジュールとを有する半導体集積回路であって、
前記周辺回路モジュールに対して、動的にクロックの供給・および停止動作を自律制御するクロック供給制御回路を設けることを特徴とする。 - 請求項3記載の半導体集積回路において、
前記周辺回路モジュールに1対1で対応し、かつ、ソフトウェアによりレジスタ値を変更することで対応する周辺回路モジュールへのクロック供給を制御可能な第1レジスタを更に具備し、
前記クロック供給制御回路による自律制御と、前記第1レジスタによるソフトウェア制御との組合わせで前記周辺回路モジュールに対するクロック供給制御を行うことを特徴とする半導体集積回路。 - 請求項3または請求項4に記載の半導体集積回路において、
前記CPU、前記周辺回路モジュール、及び前記クロック供給制御回路とはそれぞれバスを介して接続され、
前記クロック供給制御回路は、前記バス、前記CPU、もしくは他の周辺回路モジュールから当該周辺回路モジュールに対する起動要求信号に応答して、当該周辺回路モジュールへクロックを供給することを特徴とする半導体集積回路。 - 請求項3または請求項4に記載の半導体集積回路において、
前記CPU、前記周辺回路モジュール、及び前記クロック供給制御回路とはそれぞれバスを介して接続され、
前記クロック供給制御回路は、当該周辺回路モジュールから前記バスを通して受ける動作終了信号に応答して、当該周辺回路モジュールへのクロック供給を停止することを特徴とする半導体集積回路。 - 請求項3または請求項4に記載の半導体集積回路において、
前記CPU、前記周辺回路モジュール、及び前記クロック供給制御回路とはそれぞれルーティング機能を有するスイッチ回路を介して接続され、
前記クロック供給制御回路は、当該周辺回路モジュールから前記スイッチ回路を通して受ける動作終了信号に応答して、当該周辺回路モジュールへのクロック供給を停止することを特徴とする半導体集積回路。 - 請求項3または請求項4に記載の半導体集積回路において、
前記CPU、前記周辺回路モジュール、及び前記クロック供給制御回路とはそれぞれルーティング機能を有するスイッチ回路を介して接続され、
前記クロック供給制御回路は、当該周辺回路モジュールから前記スイッチ回路を通して受ける起動要求信号に応答して、当該周辺回路モジュールへのクロックを供給することを特徴とする半導体集積回路。 - 請求項3または請求項4に記載の半導体集積回路において、
前記クロック供給制御回路は、前記周辺回路モジュール自身が出力する動作中もしくは停止中を示す信号を判断して、前記周辺回路モジュールへのクロックの停止もしくは供給の制御を行うことを特徴とする半導体集積回路。 - 請求項3または請求項4に記載の半導体集積回路において、
前記クロック供給制御回路は、当該周辺回路モジュールへのクロック供給が行われていない時にリクエスト信号が到来した場合でも前記リクエスト信号を受信して当該周辺回路モジュールへのクロック制御動作をすることを特徴とする半導体集積回路。 - 請求項3または請求項4に記載の半導体集積回路において、
前記CPUが前記周辺回路モジュールに対して発行したクロックの停止/供給命令を、前記クロック供給制御回路が受けて前記周辺回路モジュールへのクロック供給を制御することを特徴とする半導体集積回路。 - 請求項3〜8のいずれかに記載の半導体集積回路において、
前記クロック制御回路に、前記周辺回路モジュールの動作頻度状況に応じて、当該回路モジュールから送信される動作終了信号に関わりなくクロック供給制御を行う予測学習回路を設けることを特徴とする半導体集積回路。 - 請求項12記載の半導体集積回路において、
前記予測学習回路は、前記周辺回路モジュールの動作履歴を格納するメモリと、前記周辺回路モジュールへのクロック数を計数するサイクルカウンタと、前記メモリに格納された動作履歴から呼び出したサイクル数を書き込む第2レジスタと、該第2レジスタに書き込まれたレジスタ値と、前記サイクルカウンタの計数値とを比較する比較器とから成ることを特徴とする半導体集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002363268A JP2004199115A (ja) | 2002-12-16 | 2002-12-16 | 半導体集積回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002363268A JP2004199115A (ja) | 2002-12-16 | 2002-12-16 | 半導体集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004199115A true JP2004199115A (ja) | 2004-07-15 |
Family
ID=32761455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002363268A Pending JP2004199115A (ja) | 2002-12-16 | 2002-12-16 | 半導体集積回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004199115A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007108993A (ja) * | 2005-10-13 | 2007-04-26 | Renesas Technology Corp | 半導体集積回路 |
JP2007148977A (ja) * | 2005-11-30 | 2007-06-14 | Toshiba Corp | 入出力処理装置及び同入出力処理装置を有するコンピュータシステム |
JP2008536201A (ja) * | 2005-03-04 | 2008-09-04 | インテル コーポレイション | クロック分布領域へのクロック分布シーケンスの制御 |
JP2011170730A (ja) * | 2010-02-22 | 2011-09-01 | Renesas Electronics Corp | 半導体装置及びデータ処理システム |
JP2013538385A (ja) * | 2010-06-30 | 2013-10-10 | インテル コーポレイション | 低電力状態を実施するシステムと方法 |
-
2002
- 2002-12-16 JP JP2002363268A patent/JP2004199115A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008536201A (ja) * | 2005-03-04 | 2008-09-04 | インテル コーポレイション | クロック分布領域へのクロック分布シーケンスの制御 |
JP2007108993A (ja) * | 2005-10-13 | 2007-04-26 | Renesas Technology Corp | 半導体集積回路 |
JP4711410B2 (ja) * | 2005-10-13 | 2011-06-29 | ルネサスエレクトロニクス株式会社 | 半導体集積回路 |
JP2007148977A (ja) * | 2005-11-30 | 2007-06-14 | Toshiba Corp | 入出力処理装置及び同入出力処理装置を有するコンピュータシステム |
JP2011170730A (ja) * | 2010-02-22 | 2011-09-01 | Renesas Electronics Corp | 半導体装置及びデータ処理システム |
JP2013538385A (ja) * | 2010-06-30 | 2013-10-10 | インテル コーポレイション | 低電力状態を実施するシステムと方法 |
US9501125B2 (en) | 2010-06-30 | 2016-11-22 | Intel Corporation | Systems and methods for implementing reduced power states |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853304B2 (en) | System on chip including clock management unit and method of operating the system on chip | |
US7000140B2 (en) | Data processor and data processing system | |
JP4265195B2 (ja) | 半導体装置 | |
US9785211B2 (en) | Independent power collapse methodology | |
US7529958B2 (en) | Programmable power transition counter | |
US5987556A (en) | Data processing device having accelerator for digital signal processing | |
US6931470B2 (en) | Dual access serial peripheral interface | |
JP2002251232A (ja) | 消費電力制御インタフェースを有する論理回路モジュール及び該モジュールを記憶した記憶媒体 | |
US20050198418A1 (en) | Multilayer system and clock control method | |
US7774017B2 (en) | Semiconductor integrated circuit device | |
US11275708B2 (en) | System on chip including clock management unit and method of operating the system on chip | |
EP2232707B1 (en) | System and method of leakage control in an asynchronous system | |
JP2004506975A (ja) | クロックフォワードシステムi/oのための効率的なクロック開始および停止装置 | |
US20060182149A1 (en) | Method and system for mobile multimedia processor supporting rate adaptation and mode selection | |
US10209734B2 (en) | Semiconductor device, semiconductor system, and method of operating the semiconductor device | |
JP2004199115A (ja) | 半導体集積回路 | |
JPH10149237A (ja) | 半導体回路 | |
US7205815B2 (en) | Method and integrated circuit apparatus for reducing simultaneously switching output | |
US10429881B2 (en) | Semiconductor device for stopping an oscillating clock signal from being provided to an IP block, a semiconductor system having the semiconductor device, and a method of operating the semiconductor device | |
JP2007207121A (ja) | データ処理装置及びその制御方法 | |
JP2004326222A (ja) | データ処理システム | |
CN108268087B (zh) | 半导体装置、半导体***和操作半导体装置的方法 | |
JP4434118B2 (ja) | 電子機器 | |
US20120317434A1 (en) | Method and Apparatus for Processor to Operate at Its Natural Clock Frequency in the System | |
JP2001014259A (ja) | データ処理装置 |