JP2003298413A - クロック生成回路 - Google Patents

クロック生成回路

Info

Publication number
JP2003298413A
JP2003298413A JP2002096125A JP2002096125A JP2003298413A JP 2003298413 A JP2003298413 A JP 2003298413A JP 2002096125 A JP2002096125 A JP 2002096125A JP 2002096125 A JP2002096125 A JP 2002096125A JP 2003298413 A JP2003298413 A JP 2003298413A
Authority
JP
Japan
Prior art keywords
clock
circuit
output
selection
generation 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
Application number
JP2002096125A
Other languages
English (en)
Inventor
Shinji Ozaki
伸治 尾崎
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002096125A priority Critical patent/JP2003298413A/ja
Publication of JP2003298413A publication Critical patent/JP2003298413A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 PLLの出力を分周したクロックを選択して
供給するクロック生成回路においては、周波数の変更の
幅が大きく、細かな制御ができない。 【解決手段】 PLL100の電圧制御発振器150を
構成する奇数段のCMOSインバータ151〜157の
すべての出力をクロック合成選択回路161において選
択してクロック出力S160を生成する構成とし、クロ
ック出力S160の立ち上がりエッジ毎にクロック合成
選択回路161における選択をCMOSインバータ偶数
段分切り替えるよう制御するクロック合成制御回路16
2を備えることによって、PLL100の発振周波数を
固定した状態からその前後において差分の小さい周波数
のクロックを生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サ等のLSIに用いられるクロック生成回路に関するも
のである。
【0002】
【従来の技術】近年、マイクロプロセッサ等のデジタル
LSIは年々その集積度および動作周波数が向上してい
るが、同時にその消費電力とそれによる熱の発生が大き
な課題となっている。このようなLSIにおいては、消
費電力を抑制して必要とされる性能を効率的に利用する
ことが必要であり、その一手段として動作クロックの周
波数を制御する方法が用いられている。
【0003】図15は従来のマイクロプロセッサの構成
の一例を示すブロック図である。図15において、PL
L(Phase Locked Loop)100と分周選択回路240
からなるクロック生成回路は、クロック出力S240を
中央演算ユニット(CPU)170に供給する構成とな
っている。
【0004】PLL100は、基準発振器110の出力
する基準発振S110と分周器120の出力の位相を比
較する位相比較器130と、その出力から制御電圧S1
40を発生する低域フィルタ140、および制御電圧S
140によって制御され発振クロックS150を生成す
る電圧制御発振器150からなり、基準発振器110の
クロックを逓倍した周波数のクロックを生成する。例え
ば、基準発振器110が25MHzを発振し、分周器1
20が入力の1/8の周波数を出力する構成であれば、
PLL100は発振クロックS150に基準発振S11
0を8逓倍したクロック(200MHz)を生成する。
【0005】分周選択回路240は、発振クロックS1
50を入力して分周する1/2分周器241、1/4分
周器242および1/8分周器243と選択回路244
からなり、発振クロックS150もしくはそれを分周し
たもののいずれかを選択してクロック出力S240に出
力する。選択回路244の選択は、CPU170によっ
て書き換え可能なクロック設定レジスタ180に設定さ
れた値によって制御される。
【0006】このような構成とすることによって、CP
U170が必要に応じてクロック設定レジスタ180を
書き換えることによって、適切な周波数のクロック、す
なわち200MHz、100MHz、50MHz、25
MHzのいずれかを選択し供給することができる。
【0007】また、従来のマイクロプロセッサの構成の
別の一例では、図15と同様の構成において、クロック
設定レジスタ180に設定した値によって分周器120
の分周比を変更可能な構成とすることもある。この構成
によって、発振クロックS150に出力される周波数を
基準発振器110の倍数に設定することが可能である。
すなわち、基準発振器110が25MHzを発振し、分
周器120の分周比を1/8または1/7または1/6
または1/5に設定することができる構成とした場合に
は、発振クロックS150の周波数を200MHz、1
75MHz、150MHz、125MHzから選択する
ことができる。
【0008】
【発明が解決しようとする課題】上記のように構成され
た従来のクロック生成回路においては、クロック出力S
240に供給するクロックを分周選択回路240で単に
選択するだけであるため、選択可能なクロックの周波数
が大きく離散しているという問題がある。すなわち、分
周選択回路240において選択可能なクロック周波数は
発振クロックS150を分周して生成されたものに限ら
れるため、選択可能なクロック周波数は発振クロックS
150より低くかつ少なくとも半分の周波数となる。こ
のことは、周波数を制御することによって電力消費量を
抑制するという観点から見ると、電力量として制御可能
なステップが1/2もしくはそれ以下となり、同時にC
PU170の処理能力がほぼ半分に低下することから、
必要な処理能力に応じて消費電力を抑制するためのきめ
細やかな制御を行うのが困難である。
【0009】また、分周器120を制御する構成におい
ては、周波数を変更するのに時間を要するという問題が
ある。すなわち、PLL100内部の分周器120の分
周比を変更した場合には、PLL100が再ロックして
電圧制御発振器150が安定してクロックを出力するよ
うになるまで、通常10マイクロ秒以上の時間が必要で
あり、その間、CPU170は動作を停止する等、処理
を行うことができない。このため、クロック周波数を低
く抑えている状況においてCPU170の処理能力が緊
急に必要となった場合に、周波数を高くしてその要求に
迅速に応じることが困難である。
【0010】このことに対応して、本発明の目的は、必
要とされる処理能力に応じた周波数のクロックを選択
し、また、処理能力の要求の変化に対応して周波数を迅
速に変更することが可能なクロック生成回路を提供する
ことである。
【0011】また、従来のクロック生成回路において
は、クロック周波数の切り替えに時間を要するため、C
PU170等の消費電力の使用状況に応じて周波数を細
やかに調整することが困難であるという問題がある。
【0012】このことに対応して、本発明の目的は、回
路の消費電力の使用状況に応じてサイクル毎の周波数を
調整することにより、使用可能な消費電力に合わせた回
路動作を実現するクロック生成回路を提供することであ
る。
【0013】また、従来のクロック生成回路において
は、クロック周波数の切り替えに時間を要するため、C
PU170の内部の動作、例えば内部の演算回路の使用
状況に応じて周波数を調整することが困難であるという
問題がある。
【0014】このことに対応して、本発明の目的は、C
PUの内部の動作に応じて各サイクルの周波数を調整す
ることにより、内部の各演算回路等を最適な速度で動作
させて最大限の処理能力を実現するクロック生成回路を
提供することである。
【0015】また、従来のクロック生成回路において
は、CPU170を駆動するクロック周波数を切り替え
る際に、周波数の差が大きく切り替わってしまう。ある
いは、一旦クロックを停止する必要があり、そのときに
CPU170が消費する電力(電流)値が大きく変化す
るという問題があった。この電流の変化がLSIを駆動
する電源回路に対して負担となってノイズなどを発生す
る原因となっていた。
【0016】このことに対応して、本発明の目的は、周
波数を切り替える、もしくはクロックを停止・開始する
ときに、周波数を徐々に(段階的に)変化させることに
よって急激な電流の変化をなくしたクロック生成回路を
提供することである。
【0017】また、従来のクロック生成回路において複
数のクロック信号を生成した場合に、各々のクロックに
よって駆動される回路間の設計が困難になるという問題
がある。すなわち、各々の回路に供給されるクロックに
おいて同じ位相で立ち上がりエッジを発生するサイクル
が生じる。そこで、フリップフロップ間でミスラッチを
発生せず十分なホールドタイムを確保できるようにクロ
ックの供給回路およびインターフェース回路に十分な配
慮を行う必要がある。
【0018】このことに対応して、本発明の目的は、複
数のクロック信号を生成した場合においても、同じ位相
で立ち上がりエッジを発生させないことで、駆動される
回路の設計が容易となるクロック生成回路を提供するこ
とである。
【0019】
【課題を解決するための手段】上記目的を達成するため
に、本発明に係る第1のクロック生成回路は、PLLの
電圧制御発振器を構成する奇数段のインバータのすべて
の出力を選択回路において選択してクロック出力を生成
し、クロック出力の立ち上がりエッジ毎に選択回路にお
ける選択をインバータ偶数段分切り替えるよう制御する
構成としたものである。
【0020】具体的には、奇数段のインバータ回路をリ
ング状に接続して構成された発振器と、前記発振器を構
成するインバータ回路の各段出力のいずれかを選択して
クロック出力として出力する選択回路とを有し、クロッ
ク出力の立ち上がりエッジまたは立ち下がりエッジまた
は両エッジに同期して前記選択回路における選択をイン
バータ回路偶数段分前または後に切り替えるよう制御す
ることを特徴とするクロック生成回路である。
【0021】また、上記のクロック生成回路において、
さらに書き換え可能なレジスタを有し、書き換え可能な
レジスタに書き込まれた値に従って、選択回路における
選択の切り替え方向および切り替え段数を決定すること
を特徴とするクロック生成回路である。
【0022】発振器を構成するインバータ回路の段数
(奇数)をa(a≧3)、発振器が出力する発振クロッ
クの周期をTとすると、そのインバータ回路のa段分で
発振クロックの半周期T/2の遅延を構成することか
ら、各インバータ回路の各段出力はT/(2・a)ずつ
順次に位相がずれ、1段おきにはT/aずつ位相がずれ
たクロックが出力される。これら各段のインバータ回路
が出力する個別のクロックが選択回路において選択され
る複数の被選択クロックである。
【0023】1段目のインバータ回路が出力する被選択
クロックに対して、3段目のインバータ回路が出力する
被選択クロックはT/aだけ前に位相がずれ、5段目の
インバータ回路が出力する被選択クロックは(T/a)
・2だけ前に位相がずれ、7段目のインバータ回路が出
力する被選択クロックは(T/a)・3だけ前に位相が
ずれる。すなわち、選択回路により選択された結果のク
ロック出力の周期をT/a増減させるには、インバータ
回路の2段分ずらせればよい。すなわち、クロック出力
の周期をT/a増加するには、インバータ回路2段分を
前方向にシフトさせればよく、(T/a)・2増加する
には、インバータ回路4段分を前方向にシフトさせれば
よく、クロック出力の周期をT/a減少するには、イン
バータ回路2段分を後方向にシフトさせればよく、(T
/a)・2減少するには、インバータ回路4段分を後方
向にシフトさせればよい。
【0024】要するに、選択の結果出力されるクロック
出力の周期の制御において、選択回路における被選択ク
ロックの選択をインバータ回路偶数段分前または後に切
り替えるように制御することにより、クロック出力をT
/aの整数倍で可変することができる。
【0025】従来技術の場合は、既述のように、周期可
変は発振クロックの周期Tの2倍以上であったのに対し
て、本発明によれば、T/a単位(a≧3)で周期を可
変することができる。詳しくは、基準の周期をTとし
て、次に長い周期は、T+(T/a)=(a+1)T/
aであり、その次に長い周期は、T+(T/a)・2=
(a+2)T/aであり、また、基準の周期をTとし
て、次に短い周期は、T−(T/a)=(a−1)T/
aであり、その次に短い周期は、T−(T/a)・2=
(a−2)T/aである。これらを順番に並べると、 (a−2)T/a,(a−1)T/a,T,(a+1)T/
a,(a+2)T/a となる。これを周波数レベルでの遷移で記述すると、 a/(a−2)T,a/(a−1)T,1/T,a/(a+
1)T,a/(a+2)T となる。すなわち、よりきめの細かい周波数調整が可能
となっている。
【0026】ここで、本発明による効果を分かりやすく
するために一例を挙げる。発振器の出力する発振クロッ
クを例えば200MHzとすると、従来技術の場合に
は、分周器3段で、クロック出力の周波数調整は、既述
のとおり、200MHz、100MHz、50MHz、
25MHzと大きく離散しており、基準の200MHz
の次の周波数100MHzは2分の1の100MHzも
の大きなずれとなっている。これに対し、本発明では、
発振器を構成するインバータ回路の段数を例えばa=7
段として、減少方向へは200MHz、175MHz
(=7/8倍)、155MHz(=7/9倍)、また、
増加方向へは200MHz、233MHz(=7/6
倍)、280MHz(=7/5倍)となり、よりきめの
細かい周波数制御を実現できる。
【0027】以上を要するに、本発明の上記構成によれ
ば、PLLの発振周波数を固定した状態からその前後に
おいて差分の小さい周波数のクロックを生成することが
可能となる。
【0028】上記の発明において好ましい態様として
は、書き換え可能なレジスタがあれば、それに設定する
値の調整に基づいて、選択回路における選択の切り替え
方向および切り替え段数を可変することができる。すな
わち、内部回路または外部回路の状況変化に応じて適応
的な調整が可能となる。切り替え段数は偶数段分であ
り、それは具体的には、2段分、4段分、6段分等とな
るが、それぞれに前方向と後方向とがある。2段分ずつ
の順次的なシフトであれば、段階的な周波数調整となる
が、書き換え可能なレジスタを用いることにより、差分
のより小さな周波数調整から差分のより大きな周波数調
整までの複数の調整レベルにおいて、任意の調整レベル
間で即時に周波数を切り替えることが可能となる。換言
すれば、小さな変化も大きな変化も自由に設定可能であ
るということである。
【0029】また、本発明に係る第2のクロック生成回
路は、クロック出力によって駆動される電子回路の消費
電力を評価し、その結果に基づいて選択回路における選
択の切り替え段数を変更する構成としたものである。
【0030】具体的には、上記の第1のクロック生成回
路において、さらに前記クロック出力によって駆動され
る電子回路の消費する電力を評価する消費電力評価手段
を有し、消費電力評価手段における消費電力の評価結果
に従って、前記選択回路における選択の切り替え方向お
よび切り替え段数を決定することを特徴とするクロック
生成回路である。
【0031】この構成によれば、消費電力評価手段が求
めた評価結果が消費電力大の傾向のときにはクロック出
力の周波数を減少させるように切り替え方向および切り
替え段数を決定し、逆に、評価結果が消費電力小の傾向
のときにはクロック出力の周波数を増加させるように切
り替え方向および切り替え段数を決定することにより、
回路の動作時の実際の消費電力をほぼ一定の値に保つこ
とが可能となる。
【0032】上記の発明において好ましい態様として
は、クロック出力によって駆動される電子回路がマイク
ロプロセッサであり、消費電力評価手段としてマイクロ
プロセッサの実行する命令の種類に基づいて消費電力を
算出することを特徴とするクロック生成回路である。
【0033】これには、マイクロプロセッサにおいて、
パイプラインを流れる各命令の電力の和を求める方法が
ある。例えば、各種命令が各パイプランステージを実行
する際に消費する平均的な電力をテーブルとして持ち、
あるサイクルのすべてのパイプラインステージで消費さ
れる電力を加算して、そのサイクルにおけるマイクロプ
ロセッサの消費電力予測を算出すればよい。
【0034】また、別の好ましい態様としては、消費電
力評価手段として電子回路の電源を流れる電流量を測定
することを特徴とするクロック生成回路である。
【0035】これは、消費電力を予測する代わりに、マ
イクロプロセッサの内部のフリップフロップやメモリな
どの更新やアクセス状況に基づいて電力を算出したり、
電流センサーなどの素子を用いて実際の電流量などを計
測する場合を含んでいる。
【0036】また、本発明に係る第3のクロック生成回
路は、クロック出力によって駆動される回路においてサ
イクル毎に動作する回路部分を検出し、それが正常に動
作するために必要なクロック周期に基づいて選択回路に
おける選択の切り替え段数を変更する構成としたもので
ある。
【0037】具体的には、上記のクロック生成回路にお
いて、さらにクロック出力によって駆動される電子回路
の中でサイクル毎に動作する回路部分を検出する動作検
出手段を有し、動作検出手段が検出した回路部分の遅延
時間に従って、選択回路における選択の切り替え方向お
よび切り替え段数を決定することを特徴とするクロック
生成回路である。
【0038】個々の回路部分には各々正常動作のための
クロック周期がある。このクリティカルなクロック周期
よりも短い時間で動作を完了する必要がある。遅延がよ
り大きな回路部分にはクロック出力の周期としてより大
きいものが必要となる。これを適応的に制御するため
に、検出した遅延時間が大きいときはクロック出力の出
力が長くなるように被選択クロックを選択する。その結
果、回路の正常動作が可能でかつ高い周波数で動作させ
ることが可能となり、その回路の処理能力を高めること
ができる。
【0039】上記の発明において好ましい態様として
は、クロック出力によって駆動される電子回路がマイク
ロプロセッサであり、動作検出手段としてマイクロプロ
セッサの各パイプラインステージで実行される命令の種
類に基づいて動作する回路部分を検出することを特徴と
するクロック生成回路である。
【0040】命令が乗算命令は相対的に遅延が大きい。
したがって、乗算命令を検出したときには、クロック出
力の周期が長くなるように被選択クロックを選択する。
【0041】また、本発明に係る第4のクロック生成回
路は、クロックの供給を停止または起動するときに、選
択回路における選択の切り替え段数を段階的に変更する
構成としたものである。
【0042】具体的には、上記のクロック生成回路にお
いて、さらに書き換え可能なレジスタを有し、書き換え
可能なレジスタに書き込まれた値に従って決定される選
択回路の選択の切り替え方向および切り替え段数に向け
て、選択回路における選択の切り替え方向および切り替
え段数を段階的に変化させることを特徴とするクロック
生成回路である。
【0043】クロック出力の周波数を変化させる過程
で、目的とする周波数へ即時に切り替えるのではなく、
切り替え段数を段階的に変化させて徐々に切り替える。
これにより、電子回路の電源に流れる電流の急激な変化
を避けることができ、ノイズ発生も抑制することができ
る。
【0044】また、クロック出力へのクロック供給を停
止するときには、クロック出力のクロック周期が段階的
に長くなるように、選択回路における選択の切り替え段
数を段階的に変化させた後、クロックを停止することを
特徴とするクロック生成回路である。
【0045】クロック出力へのクロック供給を停止する
ときは、切り替え段数を段階的に大きくする。これによ
り、電源を流れる電流を徐々に減少させることができ、
急激な電流減少に起因するノイズの発生や電源の負担を
軽減した状態でクロックの停止を行うことができる。
【0046】また、クロック出力へのクロック供給を起
動するときには、クロック出力のクロック周期が段階的
に短くなるように、選択回路における選択の切り替え段
数を段階的に変化させてクロックを起動することを特徴
とするクロック生成回路である。
【0047】クロック出力へのクロック供給を起動する
ときは、切り替え段数を段階的に小さくする。これによ
り、電源を流れる電流を徐々に増加させることができ、
急激な電流増加に起因するノイズの発生や電源の負担を
軽減した状態でクロックの起動を行うことができる。
【0048】また、本発明に係る第5のクロック生成回
路は、複数のクロック出力にクロックを供給する場合
に、同じ位相で立ち上がりエッジを発生させない構成と
したものである。
【0049】具体的には、奇数段のインバータ回路をリ
ング状に接続して構成された発振器と、発振器を構成す
るインバータ回路の各段出力のいずれかを選択して第1
のクロック出力として出力する第1の選択回路と、発振
器を構成するインバータ回路の各段出力のいずれかを選
択して第2のクロック出力として出力する第2の選択回
路とを有し、第1のクロック出力の立ち上がりエッジま
たは立ち下がりエッジまたは両エッジに同期して第1の
選択回路における選択をインバータ回路偶数段分前また
は後に切り替えるよう制御し、第2のクロック出力の立
ち上がりエッジまたは立ち下がりエッジまたは両エッジ
に同期して第2の選択回路における選択をインバータ回
路偶数段分前または後に切り替えるよう制御し、かつ、
第1の選択回路と第2の選択回路において同一のインバ
ータ回路の出力を選択することを禁止する状態で制御す
ることを特徴とするクロック生成回路である。
【0050】クロック出力を供給される電子回路が複数
あって、ある電子回路の出力が他の電子回路の入力とな
っている場合に、電子回路のそれぞれに個別にクロック
信号を生成する。この場合に、各電子回路に立ち上がり
エッジが同じ位相のクロック出力を供給すると、ある電
子回路の出力を入力とする電子回路では誤動作を発生す
るおそれがある。例えば、フリップフロップ間でのミス
ラッチである。そこで、同じインバータ回路の出力であ
る被選択クロックの選択を禁止する。このように同じ位
相で立ち上がりエッジを発生させないことで誤動作を防
止するとともに、駆動される回路の設計を容易に行うこ
とができる。
【0051】
【発明の実施の形態】以下、本発明によるクロック生成
回路の実施の形態について、図面を参照しながら説明す
る。
【0052】(実施の形態1)図1に、本発明の実施の
形態1のマイクロプロセッサの特にクロック生成回路を
中心とするブロック回路図を示す。
【0053】図1において、PLL100と周波数選択
回路160からなるクロック生成回路は、クロック出力
S160を中央演算ユニット(CPU)170に供給す
る構成となっている。
【0054】PLL100は、基準発振器110の出力
する基準発振S110と分周器120の出力の位相を比
較する位相比較器130と、その出力から制御電圧S1
40を発生する低域フィルタ140、および制御電圧S
140によって制御され発振クロックS150を生成す
る電圧制御発振器150からなり、基準発振器110の
クロックを逓倍した周波数の発振クロックS150を生
成する。ここで、基準発振器110が25MHzを発振
し、分周器120が発振クロックS150の1/8の周
波数を出力する構成として、回路の動作が安定(ロッ
ク)したときには、PLL100は発振クロックS15
0に基準発振S110を8逓倍したクロック(200M
Hz)を生成する。
【0055】電圧制御発振器150は、特許請求の範囲
にいう“奇数段のインバータ回路をリング状に接続して
構成された発振器”の一例である。ここでは、奇数段の
段数の一例として7段を設定している。すなわち、電圧
制御発振器150は、制御電圧S140によって遅延が
制御される7段のCMOSインバータ151〜157を
リング状に配したリングオシレータとして構成されてい
る。この電圧制御発振器150はCMOSインバータ1
57の出力である発振クロックS150に加えて、残り
すべてのCMOSインバータ151〜156の出力を被
選択クロックとして出力し、周波数選択回路160に入
力する。
【0056】周波数選択回路160は、被選択クロック
S151〜S156,S150のいずれかを選択してク
ロック出力S160に出力するクロック合成選択回路1
61と、クロック合成選択回路161を制御するクロッ
ク合成制御回路162からなる。クロック合成制御回路
162は、CPU170によって書き換え可能なクロッ
ク設定レジスタ180のシフト段数制御信号S180と
クロック合成選択回路161の出力(この場合、クロッ
ク出力S160)によって、サイクル毎に選択制御信号
S162a〜gを更新してクロック合成選択回路161
の制御を行う構成となっている。クロック設定レジスタ
180が特許請求の範囲にいう“書き換え可能なレジス
タ”に対応している。
【0057】図2に、電圧制御発振器150とクロック
合成選択回路161の内部構成を示す。ここでは、CM
OSインバータ151〜157は2つのpチャンネルト
ランジスタと2つのnチャンネルトランジスタを直列に
接続した構成をとり、両側のnチャンネルトランジスタ
とpチャンネルトランジスタが制御電圧S140によっ
て制御されてその遅延が調整される。各CMOSインバ
ータ151〜157の出力は、バッファー回路を通して
被選択クロックS151〜S156,S150に出力さ
れる。ここで、すべてのCMOSインバータ回路とバッ
ファー回路は全く同等の回路構成となるように設計され
ており、このことによって各CMOSインバータ1段当
たりの遅延はすべて等しくなる。
【0058】PLL100がロックしている状態では、
各CMOSインバータ151〜157は7段で発振クロ
ックS150(200MHz)の半周期(2.5ナノ
秒)の遅延を構成することから、1段当たり0.357
ナノ秒の遅延となる。したがって、被選択クロックS1
51〜S156,S150には、1段おきに約0.71
4ナノ秒(1/7サイクル)ずつ位相のずれたクロック
が出力される。
【0059】クロック合成選択回路161は、nチャン
ネルトランジスタとpチャンネルトランジスタを並列に
接続したスイッチ回路によって被選択クロックS151
〜S156,S150を選択してクロック出力S160
に出力する構成となっており、どのスイッチ回路を選択
するかはクロック合成制御回路162の出力する選択制
御信号S162a〜gによって制御される。
【0060】図3にクロック合成制御回路162の内部
構成を示す。クロック合成制御回路162は、特許請求
の範囲にいう“クロック出力の立ち上がりエッジまたは
立ち下がりエッジまたは両エッジに同期して前記選択回
路における選択を前記インバータ回路偶数段分前または
後に切り替えるよう制御する”手段の一例である。ここ
では、立ち上がりエッジに同期するものとしている。ま
た、“選択回路”はクロック合成選択回路161のこと
である。
【0061】すなわち、クロック合成制御回路162
は、1つの非同期セット付フリップフロップ回路162
aと6つの非同期リセット付フリップフロップ回路16
2b〜gからなり、初期値(リセット時)として、フリ
ップフロップ回路162aには1が、フリップフロップ
回路162b〜gには0が設定される。すべてのフリッ
プフロップ回路162a〜gのクロック入力CKにはク
ロック出力S160を接続して駆動される。各フリップ
フロップ回路162a〜gのデータ入力Dには選択回路
(セレクタ)が設けられており、複数のフリップフロッ
プ回路の出力Qから選択することによってシフトレジス
タを構成している。すなわち、各フリップフロップ回路
162a〜gは1飛ばしの順にリング状に接続され、前
後の1または2フリップフロップ分シフトする動作をク
ロック出力S160の立ち上がりエッジに同期して行う
ことができる構成となっている。
【0062】シフトする方向および段数、もしくはシフ
トせずに値を保持するか否かについてはシフト段数制御
信号S180の値に従って選択されるが、シフト動作に
伴ってフリップフロップ回路162a〜gのいずれか1
つだけが1の値にセットされた状態は保たれることにな
る。ここで、各フリップフロップ回路162a〜gの接
続が1飛ばし順に接続されていることから、クロック合
成選択回路161におけるクロック選択の動作として
は、クロック出力S160の毎立ち上がりエッジに同期
して、被選択クロックS151〜S156,S150の
選択が各CMOSインバータ2段もしくは4段分前後に
切り替えられることになる。これが“インバータ回路偶
数段分”に相当する。
【0063】以下、上記のように構成されたクロック生
成回路において、その動作を説明する。
【0064】図4は、クロック生成回路の動作時におけ
る内部状態波形および出力波形を、左から右へ時間が進
むものとして示している。ここで、(a)〜(g)は、
電圧制御発振器150の出力する被選択クロックS15
1〜S156,S150の波形であり、上述のように1
段おきにサイクルタイムT(5ナノ秒)の1/7ずつ位
相の遅れたクロック波形が出力されている。
【0065】(h)と(i)は、クロック合成制御回路
162のフリップフロップ回路162a〜gが毎サイク
ル1段分前にシフトするようにシフト段数制御信号S1
80が設定された場合の、クロック合成制御回路162
が出力する選択制御信号S162a〜gとクロック出力
S160の波形を示している。ここで、(h)は、選択
制御信号S162a〜gのいずれかに1が出力されてい
るときに波形内にa〜gと表記している。
【0066】(i)において、最初、選択制御信号S1
62aに1が出力されて被選択クロックS151が選択
されていたものが、クロック出力S160の立ち上がり
エッジの後、選択制御信号S162cに移ることで、ク
ロック出力S160に被選択クロックS153が選択さ
れる。被選択クロックS153は被選択クロックS15
1より(1/7)T位相の遅れたクロックであるため、
クロック出力S160の次の立ち上がりエッジは被選択
クロックS151より遅れて(8/7)T後になる。そ
の立ち上がりエッジの後、選択はさらに選択制御信号S
162eに移り、クロック出力S160には被選択クロ
ックS155が選択される。被選択クロックS155は
被選択クロックS153によりさらに(1/7)T位相
の遅れたクロックであるため、クロック出力S160に
はまた(8/7)T後に次の立ち上がりエッジが出力さ
れる。このようにして、クロック合成制御回路162の
フリップフロップ回路162a〜gが毎サイクル1段分
前にシフトするように設定された場合には、クロック出
力S160には毎(8/7)T周期に立ち上がりエッジ
が出力されることになり、その結果、クロック出力S1
60にはサイクルタイム5.714ナノ秒すなわち周波
数175MHzのクロックが出力される。
【0067】図4の(j)と(k)には、クロック合成
制御回路162のフリップフロップ回路162a〜gが
毎サイクル2段分前にシフトするようにシフト段数制御
信号S180が設定された場合の、クロック合成制御回
路162が出力する選択制御信号S162a〜gとクロ
ック出力S160の波形を示している。この場合には、
クロック出力S160の最初の立ち上がりの後、選択制
御信号がS162aからS162eに移り、被選択クロ
ックS151から被選択クロックS155に選択が切り
替わる。被選択クロックS155は被選択クロックS1
51より(2/7)T位相が遅れているため、クロック
出力S160には(9/7)T後に次の立ち上がりエッ
ジが出力されることとなる。このように、クロック出力
S160には毎(9/7)T周期に立ち上がりエッジが
出力されることになり、その結果、サイクルタイム6.
429ナノ秒すなわち周波数155.56MHzのクロ
ックが出力される。
【0068】(l)と(m)には、クロック合成制御回
路162のフリップフロップ回路162a〜gが毎サイ
クル1段分後にシフトするようにシフト段数制御信号S
180が設定された場合の、クロック合成制御回路16
2が出力する選択制御信号S162a〜gとクロック出
力S160の各波形を示している。この場合には、クロ
ック出力S160の最初の立ち上がりの後、選択制御信
号がS162aからS162fに移り、被選択クロック
S151から被選択クロックS156に選択が切り替わ
る。被選択クロックS156は被選択クロックS151
より(1/7)T位相が早いため、クロック出力S16
0には(6/7)T後に次の立ち上がりエッジが出力さ
れる。次のサイクルにおいても同様で、選択制御信号が
S162fからS162dに移り、被選択クロックS1
56から被選択クロックS154に選択が切り替わるこ
とで、(6/7)T後に次の立ち上がりエッジを迎え
る。このように、クロック合成制御回路162のフリッ
プフロップ回路162a〜gが毎サイクル1段分後にシ
フトするようにシフト段数制御信号S180が設定され
た場合には、クロック出力S160には毎(6/7)T
周期に立ち上がりエッジが出力されることになり、その
結果、サイクルタイム4.286ナノ秒すなわち周波数
233.33MHzと、PLL100の発振クロック2
00Mzより高い周波数のクロックが出力される。
【0069】(n)と(o)には、クロック合成制御回
路162のフリップフロップ回路162a〜gが毎サイ
クル2段分後にシフトするようにシフト段数制御信号S
180が設定された場合の、クロック合成制御回路16
2が出力する選択制御信号S162a〜gとクロック出
力S160の各波形を示している。この場合には、クロ
ック出力S160の最初の立ち上がりの後、選択制御信
号がS162aからS162dに移り、被選択クロック
S151から被選択クロックS154に選択が切り替わ
る。被選択クロックS154は被選択クロックS151
より(2/7)T位相が早いため、クロック出力S16
0には(5/7)T後に次の立ち上がりエッジが出力さ
れることとなる。このように、クロック出力S160に
は毎(5/7)T周期に立ち上がりエッジが出力される
ことになり、その結果、サイクルタイム3.571ナノ
秒すなわち周波数280MHzのクロックが出力され
る。
【0070】図4の(p)と(q)では、クロック合成
制御回路162のフリップフロップ回路162a〜gが
最初毎サイクル1段分後にシフトするようにシフト段数
制御信号S180が設定(P1期間)され、その後、毎
サイクル1段分前にシフトするように設定が変更(P2
期間)された場合の、クロック合成制御回路162が出
力する選択制御信号S162a〜gとクロック出力S1
60の各波形を示している。
【0071】ここでは、P1の期間には、クロック出力
S160の立ち上がりに同期して選択制御信号がS16
2aからS162f,S162dと移り、クロック出力
S160には(6/7)T周期で立ち上がりエッジが出
力されるのに対して、P2の期間に入ると、選択制御信
号がS162dからS162f,S162aと反転し、
クロック出力S160には毎(8/7)T周期に立ち上
がりエッジが出力される。このように、シフト段数制御
信号S180の設定を切り替えることによって、当初、
233.33MHzで出力されていたクロック出力S1
60が即時に175MHzに切り替わることになる。
【0072】なお、図4には示していないが、クロック
合成制御回路162のフリップフロップ回路162a〜
gがシフトすることなく値を保持するようにシフト段数
制御信号S180が設定された場合には、被選択クロッ
クS151〜S156,S150のいずれかが継続的に
選択されて、クロック出力S160にはT周期に立ち上
がりエッジ(200MHzのクロック)が出力される。
【0073】以上のように、本実施の形態におけるクロ
ック生成回路においては、PLL100の電圧制御発振
器150のCMOSインバータ151〜157が出力す
る被選択クロックS151〜S156,S150をクロ
ック合成選択回路161において選択してクロック出力
S160を生成する。そして、クロック合成選択回路1
61で選択を行う選択制御信号S162a〜gをクロッ
ク出力S160の立ち上がりエッジ毎に更新(シフト)
する構成とすることによって、PLL100の発振周波
数を200MHzに固定した状態から前後の周波数(1
55.56MHz〜280MHz)のクロックを生成す
ることができる。また、選択制御信号S162a〜gを
更新(シフト)する幅を切り替えることによって、PL
L100が一定の周波数の発振を保ったままの状態で、
クロック出力S160に出力されるクロックの周波数を
即時に切り替えることが可能である。
【0074】なお、本実施の形態のクロック生成回路に
おいては、クロック合成制御回路162においてフリッ
プフロップ回路162a〜gの更新をクロック出力S1
60の立ち上がりエッジ毎にするものとしているが、ク
ロック出力S160の立ち下がりエッジ毎に行うものと
しても同様に構成することが可能なことは明らかであ
る。
【0075】また、クロック出力S160の立ち上がり
と立ち下がりの両エッジで行うものとしても同様に構成
することが可能である。この場合、両エッジを用いるの
で、クロック出力S160にデューティー比50:50
のクロックが出力されることは明らかである。
【0076】(実施の形態2)図5に、本発明の実施の
形態2のマイクロプロセッサの特にクロック生成回路を
中心とするブロック回路図を示す。この実施の形態は、
シフト段数制御信号S180を出力する要素として、ク
ロック設定レジスタ180に代えてCPU負荷検出回路
190を用いるものである。CPU負荷検出回路190
が特許請求の範囲にいう“消費電力評価手段”に対応し
ている。その他は実施の形態1の構成と同じであり、同
一部分に同一符号を付すにとどめ、詳しい説明は省略す
る。
【0077】CPU負荷検出回路190は、CPU17
0が消費するサイクル毎の電力量の予測を負荷として算
出し、その値に応じてクロック合成制御回路162を制
御するためのシフト段数制御信号S180を出力する。
ここではCPU190の消費する電力を算出する手段と
して、パイプラインを流れる各命令の電力の和を求める
方法をとっている。すなわち、CPU190の各種命令
が各パイプランステージを実行する際に消費する平均的
な電力をテーブルとして持ち、あるサイクルのすべての
パイプラインステージで消費される電力を加算して、そ
のサイクルにおけるCPUの消費電力予測を算出する。
そして、ここで求められた消費電力が事前に設定されて
いるCPU170の目標消費電力よりも大きい場合に
は、クロック合成制御回路162のフリップフロップ回
路162a〜gが前方向にシフトするように(クロック
出力S160の周波数を低下させるように)、また、算
出された消費電力予測が目標消費電力よりも小さい場合
には、クロック合成制御回路162のフリップフロップ
回路162a〜gが後方向にシフトするように(クロッ
ク出力S160の周波数を増加させるように)、シフト
段数制御信号S180に出力する値が制御される。フリ
ップフロップ回路162a〜gをシフトする幅について
は、算出された消費電力と目標消費電力との差異の大き
さに従って決定する。
【0078】以下、上記のように構成されたクロック生
成回路において、その動作を説明する。
【0079】図6は、クロック生成回路の動作時におけ
る内部状態波形および出力波形を、左から右へ時間が進
むものとして示している。ここで、(a)〜(g)は、
図4と同様に電圧制御発振器150の出力する被選択ク
ロックS151〜S156,S150の波形である。
【0080】(h)は、CPU負荷検出回路190で算
出されたCPU170の消費電力予測を示したグラフで
あり、目標消費電力I3が一点鎖線で示されている。
(i)はCPU負荷検出回路190の出力するシフト段
数制御信号S180を示しており、クロック合成制御回
路162のフリップフロップ回路162a〜gが前方向
に1段分あるいは2段分シフトする場合にはそれぞれ+
1、+2のように表示し、後方向に1段分シフトする場
合には−1のように表示している。
【0081】(j)と(k)は、図4と同様に、クロッ
ク合成制御回路162が出力する選択制御信号S162
a〜gとクロック出力S160の各波形を示している。
【0082】ここで、時刻T0〜T1の期間にはCPU
負荷検出回路190はI0の消費電力を予測しており、
これは目標消費電力I3より大きい。したがって、シフ
ト段数制御信号S180には前方向に1段分シフトする
よう出力(+1)される。このことによって、時刻T1
のクロック出力S160の立ち上がりエッジに同期して
選択制御信号がS162aからS162cに選択が移
り、その結果、クロック出力S160の次のサイクル
(T1〜T2)の周期が(8/7)Tとなる。
【0083】時刻T1〜T2の期間にはCPU負荷検出
回路190はI1の消費電力を予測するが、これは目標
消費電力I3に比べて、消費電力I0よりさらに大き
い。このため、シフト段数制御信号S180には前方向
に2段分シフトするよう出力(+2)され、時刻T2に
は選択制御信号がS162cからS162gに選択が移
る。その結果、クロック出力S160のT2〜T3のサ
イクルの周期は(9/7)Tとなる。
【0084】時刻T2〜T3の期間にはCPU負荷検出
回路190はI2の消費電力を予測するが、これは目標
消費電力I3より小さい。このため、シフト段数制御信
号S180には後方向に1段分シフトするよう出力(−
1)され、時刻T3には選択制御信号がS162gから
S162eに選択が移る。その結果、クロック出力S1
60のT3〜のサイクルの周期は(6/7)Tとなる。
【0085】以上のように、本実施の形態におけるクロ
ック生成回路においては、CPU負荷検出回路190が
算出したCPU170の消費電力予測に基づいてクロッ
ク合成制御回路162を制御することによって、予測消
費電力が大きい場合にはクロック出力S160の周期を
伸ばし(クロック出力S160の周波数を低下させ)、
予測消費電力が小さい場合にはクロックの周期を縮める
(クロック出力S160の周波数を増加させる)。すな
わち、CPUの消費電力の大きいサイクルは期間が伸ば
され、小さいサイクルは期間を圧縮することとなり、C
PU動作時の実際の消費電力を目標として設定されたも
のに近い、ほぼ一定の値に保つことができる。
【0086】なお、本実施の形態のクロック生成回路に
おいては、CPU負荷検出回路190はパイプラインの
各ステージで実行される各命令の種類に基づいてサイク
ル毎の消費電力を予測する構成としているが、消費電力
を予測する代わりに、CPU内部のフリップフロップや
メモリなどの更新やアクセス状況に基づいて電力を算出
したり、電流センサーなどの素子を用いて実際の電流量
などを計測して、その値に基づいてクロック合成制御回
路162を制御する構成としても同様の効果が得られる
ことは明らかである。
【0087】また、本実施の形態のクロック生成回路に
おいては、CPU負荷検出回路190は毎サイクルの消
費電力を予測してクロック合成制御回路162を制御す
る構成としているが、消費電力の予測およびクロック合
成制御回路162を制御する頻度を低くして数10サイ
クル、数百サイクルもしくはそれ以上としても、消費電
力をほぼ一定に保つ、もしくは消費電力が大きく増減す
ることを防ぐことができる効果が得られることは明らか
である。
【0088】(実施の形態3)図7に、本発明の実施の
形態3のマイクロプロセッサの特にクロック生成回路を
中心とするブロック回路図を示す。この実施の形態は、
シフト段数制御信号S180を出力する要素として、ク
ロック設定レジスタ180に代えてクリティカルパス動
作検出回路200を用いるものである。クリティカルパ
ス動作検出回路200が特許請求の範囲にいう“動作検
出手段”に対応している。その他は実施の形態1の構成
と同じであり、同一部分に同一符号を付すにとどめ、詳
しい説明は省略する。
【0089】図8に本実施の形態におけるCPU170
のデコードステージと実行ステージの演算器構成を模式
的に示している。ここで、デコードステージでは演算に
使用する2つのオペランド(32ビット幅)をレジスタ
ファイル171から読み出し、それぞれオペランドフリ
ップフロップ回路172,173にラッチする。そし
て、実行ステージではラッチしたオペランドを演算回路
174,175,176に入力し、その結果を演算結果
選択回路177を通して選択して演算結果フリップフロ
ップ178にラッチする構成である。CPU170が実
行する命令の種類によって実行ステージに使用される演
算器が異なり、加減算命令および論理演算命令ではAL
U174が、シフト命令ではバレルシフタ175が、乗
算命令では乗算器176が使用されて、その出力が演算
結果選択回路177において選択される。すなわち、各
演算器はそれに対応する演算命令を実行するときにのみ
使用され、それ以外のサイクルには動作しない構成とな
っている。
【0090】オペランドフリップフロップ回路172,
173および演算結果フリップフロップ178はクロッ
ク出力S160によって駆動されている。したがって、
CPU170の実行ステージが正しく動作するために
は、各サイクルで使用される演算器がクロック出力S1
60の周期(立ち上がりエッジから立ち上がりエッジま
での時間)よりも短時間で結果を出力する必要がある。
【0091】ここで、CPU170のALU174とバ
レルシフタ175を使用するときには、オペランドフリ
ップフロップ回路172,173から演算器を通って演
算結果フリップフロップ178に至る遅延が5ナノ秒未
満となっているのに対して、乗算器176を使用する場
合には、演算器を通るフリップフロップ間の遅延が5.
3ナノ秒の時間を要する設計となっている。
【0092】クリティカルパス動作検出回路200は、
CPU170が動作する中で遅延の大きなパス(クリテ
ィカルパス)が動作するサイクルの検出を行い、クロッ
ク合成制御回路162を制御するためのシフト段数制御
信号S180を出力する。すなわち、この構成では上述
のように乗算器176を使用するパスがALU174お
よびバレルシフタ175を使用するパスより遅延が大き
いことから、クリティカルパス動作検出回路200はC
PU170のパイプラインの動作を監視し、乗算命令の
実行を検出する。そして、乗算命令がそのデコードステ
ージを実行するサイクルにおいてクロック合成制御回路
162のフリップフロップ回路162a〜gが前方向に
1段分シフトするように(クロック出力S160の周波
数を低下させるように)、シフト段数制御信号S180
に出力する値が制御されるよう構成されている。
【0093】以下、上記のように構成されたクロック生
成回路において、その動作を説明する。
【0094】図9は、クロック生成回路の動作時におけ
る内部状態波形および出力波形とCPU内部の動作を、
左から右へ時間が進むものとして示している。ここで、
(a)〜(g)は、図4と同様に電圧制御発振器150
の出力する被選択クロックS151〜S156,S15
0の波形である。
【0095】(h)はCPU170のデコードステージ
で実行されている命令の種類を示しており、(i)はC
PU170の実行ステージで実行されている命令の種類
を示している。(j)はクリティカルパス動作検出回路
200の出力するシフト段数制御信号S180を示して
おり、クロック合成制御回路162のフリップフロップ
回路162a〜gが前方向に1段分シフトする場合には
+1、シフトしない場合には0と表示する。(k)と
(l)は、図4と同様に、クロック合成制御回路162
が出力する選択制御信号S162a〜gとクロック出力
S160の各波形を示している。
【0096】ここで、時刻T0〜T1の期間にはCPU
170のデコードステージにおいて加算命令が実行され
ているため、クリティカルパス動作検出回路200はこ
のサイクルにはクリティカルパスを検出しない。したが
って、シフト段数制御信号S180にはクロック合成制
御回路162が出力する選択制御信号S162a〜gが
シフトしないよう出力(0)される。このことによっ
て、時刻T1のクロック出力S160の立ち上がりにお
いて選択制御信号としてS162aが選択された状態を
保持することになり、その結果、クロック出力S160
の次のサイクル(T1〜T2)の周期はT(5ナノ秒)
となる。
【0097】これに対して、時刻T1〜T2の期間には
CPU170のデコードステージにおいて乗算命令が実
行されているため、クリティカルパス動作検出回路20
0はこのサイクルにクリティカルパスを検出する。した
がって、シフト段数制御信号S180にはクロック合成
制御回路162が出力する選択制御信号S162a〜g
を前方向に1段分シフトするよう出力(+1)される。
このことによって、時刻T2のクロック出力S160の
立ち上がりにおいて、選択制御信号がS162aからS
162cに選択が移る。その結果、クロック出力S16
0の次のサイクル(T2〜T3)、すなわち、乗算命令
の実行ステージはその周期が(8/7)T(=5.71
4ナノ秒)と伸ばされ、乗算器176の出力する乗算結
果は演算結果フリップフロップ178に正常にラッチさ
れることが保証される。乗算器176を使用する場合の
遅延が5.3ナノ秒に対して、それよりも長い周期5.
714ナノ秒となっているからである。逆にいえば、ク
ロック出力S160の周期(立ち上がりエッジから立ち
上がりエッジまでの時間)よりも短時間で結果を出力す
ることができる。
【0098】時刻T2〜T3の期間においては、CPU
170のデコードステージにおいて論理演算命令が実行
されているため、クリティカルパス動作検出回路200
は、このサイクルにはクリティカルパスを検出しない。
したがって、シフト段数制御信号S180にはクロック
合成制御回路162が出力する選択制御信号S162a
〜gがシフトしないよう出力(0)され、クロック出力
S160の次のサイクル(T3〜)の周期はT(5ナノ
秒)に戻ることになる。
【0099】以上のように、本実施の形態におけるクロ
ック生成回路においては、クリティカルパス動作検出回
路200がCPU170においてクリティカルパス(乗
算器)が動作するサイクルを検出して、そのサイクルに
おけるクロック出力S160の周期を伸ばすように制御
が行われる。すなわち、CPU170が乗算命令を実行
して乗算器176を使用するサイクルにおいてのみクロ
ック出力S160の周期を(8/7)Tに伸ばすことに
よって、正常な動作が保証される。したがって、クリテ
ィカルパスを含んだCPU170に対して、乗算命令を
実行するとき以外は5ナノ秒の周期のクロックを供給す
るが、乗算命令を実行するときのみそれを実行可能な
5.714ナノ秒の周期でクロックを供給することで、
CPU170を効率良く動作させることが可能な構成と
なっている。
【0100】なお、本実施の形態のクロック生成回路に
おいては、クリティカルパス動作検出回路200が、ク
リティカルパス(乗算器)が動作するサイクルを検出し
て、そのサイクルにおけるクロック出力S160の周期
を伸ばすように制御するものとしているが、クリティカ
ルパス動作検出回路200がより遅延の小さい演算器お
よび回路のみを使用するサイクルを検出して、そのサイ
クルにおけるクロック出力S160の周期を縮めるよう
に制御する構成としてもよく、その場合も、CPU17
0の処理能力を高めることが可能であることは明らかで
ある。
【0101】(実施の形態4)図10に、本発明の実施
の形態4のマイクロプロセッサの特にクロック生成回路
を中心とするブロック回路図を示す。この実施の形態
は、シフト段数制御信号S180を出力する要素とし
て、クロック設定レジスタ180に代えてクロック停止
/起動制御レジスタ210を用いるものである。このク
ロック停止/起動制御レジスタ210が特許請求の範囲
にいう“書き換え可能なレジスタ”に対応している。そ
の他は実施の形態1の構成と同じであり、同一部分に同
一符号を付すにとどめ、詳しい説明は省略する。
【0102】クロック停止/起動制御レジスタ210
は、内部に書き換え可能なレジスタを持ち、CPU17
0がこのレジスタを書き換えることによってCPU17
0に対するクロックの供給の停止および起動を制御す
る。クロック停止/起動制御レジスタ210がクロック
を停止するように書き換えられた場合には、まず、クロ
ック合成制御回路162のフリップフロップ回路162
a〜gが前方向に1段分シフトするように(クロック出
力S160の周波数を低下させるように)、シフト段数
制御信号S180に出力する値を制御する。そして、一
定の時間の経過後、クロック合成制御回路162のフリ
ップフロップ回路162a〜gが前方向に2段分シフト
するように、シフト段数制御信号S180に出力する値
を制御する。そして、さらに一定の時間の経過後、クロ
ック出力S160へのクロックの供給を停止する。
【0103】また、クロック停止/起動制御レジスタ2
10がクロックを起動するように書き換えられた場合に
は、まず、クロック合成制御回路162のフリップフロ
ップ回路162a〜gが前方向に2段分シフトするよう
にシフト段数制御信号S180に出力する値を制御した
状態で、クロック出力S160へのクロックの供給を開
始する。そして、一定の時間の経過後、クロック合成制
御回路162のフリップフロップ回路162a〜gが前
方向に1段分シフトするように、シフト段数制御信号S
180に出力する値を制御する。そして、さらに一定の
時間の経過後、クロック合成制御回路162のフリップ
フロップ回路162a〜gがシフトしないように、シフ
ト段数制御信号S180に出力する値を制御する構成と
なっている。
【0104】以下、上記のように構成されたクロック生
成回路において、その動作を説明する。
【0105】図11は、クロック停止/起動制御レジス
タ210がクロックを停止するように書き換えられた場
合のクロック出力S160の出力波形とCPU(LS
I)の電源に流れる電流を、左から右へ時間が進むもの
として示している。
【0106】時刻T0〜T1の期間には、クロック出力
S160には周期Tのクロックが供給されており、この
とき電源に流れる電流はI0である。時刻T1におい
て、クロック停止/起動制御レジスタ210がクロック
を停止するように書き換えられた時点から、シフト段数
制御信号S180に出力する値をフリップフロップ回路
162a〜gが前方向に1段分シフトするように制御さ
れ、その結果、T1〜T2の期間にはクロック出力S1
60に周期(8/7)Tのクロックが供給されるように
なり、この間の電流値I1はI0の約7/8の大きさと
なる。T2〜T3の期間にはシフト段数制御信号S18
0に出力する値をフリップフロップ回路162a〜gが
前方向に2段分シフトするように制御され、その結果、
クロック出力S160に周期(9/7)Tのクロックが
供給されるようになる。したがって、この間の電流値I
2はI0の約7/9の大きさとなる。そして、時刻T3
においてクロック出力S160へのクロックの供給が停
止し、それ以降電流値は0となる。
【0107】このように、クロック停止/起動制御レジ
スタ210がクロックを停止するように書き換えられた
場合に、即時にクロック出力S160へのクロックの供
給が停止するのではなく、クロックの周期を段階的に伸
ばすように制御されて、その結果、電源に流れる電流が
段階的に減少する。
【0108】図12は、クロック停止/起動制御レジス
タ210がクロックを起動するように書き換えられた場
合のクロック出力S160の出力波形とCPU(LS
I)の電源に流れる電流を、左から右へ時間が進むもの
として示している。
【0109】時刻T0〜T1の期間には、クロック出力
S160へのクロックの供給が停止しているが、時刻T
1において、クロック停止/起動制御レジスタ210が
クロックを起動するように書き換えられた時点からクロ
ックの供給を開始するのと同時に、シフト段数制御信号
S180に出力する値をフリップフロップ回路162a
〜gが前方向に2段分シフトするように制御する。その
結果、T1〜T2の期間にはクロック出力S160に周
期(9/7)Tのクロックが供給されるようになり、こ
の間の電流値I2はI0(クロック出力S160に周期
Tのクロックが供給されているときの電流値)の約7/
9の大きさとなる。T2〜T3の期間にはシフト段数制
御信号S180に出力する値をフリップフロップ回路1
62a〜gが前方向に1段分シフトするように制御さ
れ、その結果、クロック出力S160に周期(8/7)
Tのクロックが供給されるようになる。したがって、こ
の間の電流値I1は、I0の約7/8の大きさとなる。
そして、時刻T3においてフリップフロップ回路162
a〜gがシフトしないようにシフト段数制御信号S18
0は制御されて、クロック出力S160に周期Tのクロ
ックが供給されるようになる。
【0110】このように、クロック停止/起動制御レジ
スタ210がクロックを起動するように書き換えられた
場合に、即時にクロック出力S160へ周期Tのクロッ
クを供給するのではなく、クロックの周期を段階的に縮
めるように制御されて、その結果、電源に流れる電流が
段階的に増加する。
【0111】以上のように、本実施の形態におけるクロ
ック生成回路においては、クロック停止/起動制御レジ
スタ210がクロックを停止もしくは起動するように書
き換えられた場合に、クロック出力S160へのクロッ
クの供給を即時に停止もしくは起動するのではなく、そ
の周期が段階的に変化するように制御する。このことに
よって、LSIの電源を流れる電流量が急激に大きく変
化することを避けることが可能となり、LSIを駆動す
る電源回路に負担をかけたりノイズを発生することな
く、クロックの停止/起動を行うことができる構成とな
っている。
【0112】なお、本実施の形態のクロック生成回路に
おいては、クロック出力S160に対するクロックの停
止および起動の場合にクロックの周期を段階的に変化す
るように制御する構成としているが、クロック出力S1
60に対するクロック周波数を変更する場合において
も、クロックの周期を段階的に変化させる構成とするこ
とで、LSIを駆動する電源回路への負担を減じ、ノイ
ズの発生を抑える効果があることは明らかである。
【0113】また、本実施の形態のクロック生成回路に
おいては、周波数選択回路160を用いてクロックの周
期を段階的に変化させる構成としているが、周波数選択
回路160に分周比が可変の分周回路を組み合わせてよ
り幅広くクロックの周期を変化させる構成とすること
で、電源回路への負担減とノイズ抑制の効果を高めるこ
とが可能であることは明らかである。
【0114】(実施の形態5)図13に、本発明の実施
の形態5のマイクロプロセッサの特にクロック生成回路
を中心とするブロック回路図を示す。この実施の形態
は、実施の形態1の構成に加えて、第2のクロック出力
S230を出力する第2の周波数選択回路230があ
り、第2のクロック出力S230はBCU220に対し
て出力される。CPU170とBCU220はインタフ
ェース信号S170によって接続されており、CPU1
70内部のフリップフロップ回路の出力がBCU220
内部のフリップフロップ回路に入力してラッチされる構
成となっている。第2の周波数選択回路230は周波数
選択回路160と同等の構成であり、第2のクロック合
成制御回路232の出力する第2の選択制御信号S23
2a〜gの制御によって第2のクロック合成選択回路2
31が被選択クロックS151〜S156,S150の
いずれかを選択して第2のクロック出力S230に出力
する。
【0115】第2のクロック合成制御回路232は、第
2のクロック出力S230の立ち上がりエッジに同期し
て第2の選択制御信号S232a〜gを前方向に2段分
シフトするように制御を行うのに加えて、シフト段数制
御信号S180を出力してクロック合成制御回路162
を制御する。すなわち、第2のクロック合成制御回路2
32は、通常のサイクルには第2の選択制御信号S23
2a〜gが後方向に2段分シフトするように制御される
ようにシフト段数制御信号S180を出力(−1)する
が、クロック合成選択回路161と第2のクロック合成
選択回路231が次のサイクルにおいて同じ選択を行う
ことが検出されると、第2の選択制御信号S232a〜
gがシフトしない制御形態をとるようにシフト段数制御
信号S180を出力(0)する。
【0116】以下、上記のように構成されたクロック生
成回路において、その動作を説明する。
【0117】図14は、クロック生成回路の動作時にお
ける内部状態波形および出力波形を、左から右へ時間が
進むものとして示している。ここで、(a)〜(g)
は、図4と同様に電圧制御発振器150の出力する被選
択クロックS151〜S156,S150の波形であ
る。
【0118】(i)は第2のクロック合成制御回路23
2の出力するシフト段数制御信号S180を示してお
り、クロック合成制御回路162のフリップフロップ回
路162a〜gが後方向に1段分シフトする場合には−
1、シフトしない場合には0と表示する。(j)と
(k)は、図4と同様に、クロック合成制御回路162
が出力する選択制御信号S162a〜gとクロック出力
S160の各波形を示している。また、(l)と(m)
は、(j)と(k)と同様に、第2のクロック合成制御
回路232の出力する第2の選択制御信号S232a〜
gと第2のクロック出力S230の各波形を示してい
る。
【0119】第2のクロック合成制御回路232は、第
2のクロック出力S230の立ち上がりエッジに同期し
て第2の選択制御信号S232a〜gを前方向に2段分
シフトするように制御を行うことから、(l)は第2の
選択制御信号がS232aからS232c、S232
e、S232gと継続的に選択が移り、その結果、
(m)の第2のクロック出力S230には(8/7)T
周期で立ち上がりエッジが出力される。
【0120】クロック合成制御回路162を制御するシ
フト段数制御信号S180には、(i)に示すように当
初、−1が出力される。その結果、(j)においては、
選択制御信号がS162aからS162f、S162
d、S162bと選択が移り、この間(k)のクロック
出力S160には(6/7)T周期で立ち上がりエッジ
が出力される。
【0121】ここで、クロック合成制御回路162が選
択制御信号としてS162bを選択するサイクルにおい
ては、図中の(l)に示される通り第2のクロック合成
制御回路232が選択制御信号をS232eからS23
2gへ選択を移すサイクルに重なり、クロック合成制御
回路162の選択が切り替わる(S162g)と、クロ
ック合成選択回路161と第2のクロック合成選択回路
231において同じ選択、すなわち、共に被選択クロッ
クS150が選択されることが第2のクロック合成制御
回路232において検出され、シフト段数制御信号S1
80に0を出力される。シフト段数制御信号S180に
0が出力されているサイクルには選択制御信号がS16
2bから選択が移らず、その結果、クロック出力S16
0の立ち上がりエッジは周期Tが経過した後となる。こ
のときのクロック出力S160の立ち上がりエッジは、
第2のクロック出力S230の立ち上がりエッジから
(1/7)T遅れることになる。
【0122】クロック合成選択回路161と第2のクロ
ック合成選択回路231において同じ選択が発生しなく
なると、シフト段数制御信号S180は再び−1に戻
り、クロック出力S160には(6/7)T周期で立ち
上がりエッジが出力されるようになる。
【0123】以上のように、本実施の形態におけるクロ
ック生成回路においては、クロック合成選択回路161
と第2のクロック合成選択回路231において同じ選択
を行わないように制御を行うことで、クロック出力S1
60とクロック出力S230に同時に立ち上がりエッジ
が発生しない(少なくとも(1/7)Tのずれが生じ
る)。このことによって、クロック出力S160によっ
て駆動されるCPU170内部のフリップフロップ回路
と第2のクロック出力S230によって駆動されるBC
U220内部のフリップフロップ回路が同時に更新され
ないことが保証される。したがって、CPU170内部
のフリップフロップ回路の出力をBCU220内部のフ
リップフロップ回路にラッチする際には少なくとも(1
/7)T分のホールドタイムを確保することができ、ミ
スラッチを発生しない回路設計を容易に行うことが可能
となる。
【0124】
【発明の効果】以上のように、本発明のクロック生成回
路によれば、PLLの発振器を構成する奇数段のインバ
ータ回路のすべての出力を選択回路において選択してク
ロック出力を生成する構成とし、クロック出力波形のエ
ッジ毎に選択回路における選択をインバータ偶数段分切
り替えるよう制御することによって、PLLの発振周波
数を固定した状態からその前後において差分の小さい周
波数のクロックを生成することが可能である。
【0125】また、本発明のクロック生成回路によれ
ば、選択回路における選択の切り替え段数を変更するこ
とによって、PLLが一定の周波数での発振を継続し、
かつクロック出力へのクロックの出力を行っている状態
において即時に周波数を切り替えることが可能である。
【0126】また、本発明のクロック生成回路によれ
ば、クロック出力によって駆動される回路の消費電力を
評価し、その結果に基づいて選択回路における選択の切
り替え段数を変更することによって、回路の動作時の実
際の消費電力をほぼ一定の値に保つことが可能である。
【0127】また、本発明のクロック生成回路によれ
ば、クロック出力によって駆動される回路においてサイ
クル毎に動作する回路部分を検出し、それが正常に動作
するために必要なクロック周期に基づいて選択回路にお
ける選択の切り替え段数を変更することによって、回路
の正常動作が可能でかつ高い周波数で動作させることが
可能となり、その回路の処理能力を高めることができ
る。
【0128】また、本発明のクロック生成回路によれ
ば、クロックの供給を停止または起動するときに選択回
路における選択の切り替え段数を段階的に変更すること
によって、LSIの電源を流れる電流量が急激に大きく
変化することを避けることができ、LSIを駆動する電
源回路に対する負担やノイズを発生することなく、クロ
ックの停止/起動を行うことができる。
【0129】また、本発明のクロック生成回路によれ
ば、複数のクロック信号を生成した場合においても、同
じ位相で立ち上がりエッジを発生させないことで、誤動
作を防止しつつ、駆動される回路の設計を容易に行うこ
とができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態1のマイクロプロセッサ
の特にクロック生成回路を中心とするブロック回路図
【図2】 同実施の形態1における電圧制御発振器とク
ロック合成選択回路の内部構成図
【図3】 同実施の形態1におけるクロック合成制御回
路の内部構成図
【図4】 同実施の形態1におけるクロック生成回路の
動作時における内部状態波形および出力波形の図
【図5】本発明の実施の形態2のマイクロプロセッサの
特にクロック生成回路を中心とするブロック回路図
【図6】 同実施の形態2におけるクロック生成回路の
動作時における内部状態波形および出力波形の図
【図7】本発明の実施の形態3のマイクロプロセッサの
特にクロック生成回路を中心とするブロック回路図
【図8】 同実施の形態3におけるCPUのデコードス
テージと実行ステージの演算器構成図
【図9】 同実施の形態3におけるクロック生成回路の
動作時における内部状態波形および出力波形の図
【図10】 本発明の実施の形態4のマイクロプロセッ
サの特にクロック生成回路を中心とするブロック回路図
【図11】同実施の形態4におけるクロック停止時のク
ロック出力と電流波形の図
【図12】 同実施の形態4におけるクロック起動時の
クロック出力と電流波形の図
【図13】 本発明の実施の形態5のマイクロプロセッ
サの特にクロック生成回路を中心とするブロック回路図
【図14】 同実施の形態5におけるクロック生成回路
の動作時における内部状態波形および出力波形の図
【図15】 従来例のマイクロプロセッサの特にクロッ
ク生成回路を中心とするブロック回路図
【符号の説明】
100 PLL 110 基準発振器 120 分周器 130 位相比較器 140 低域フィルタ 150 電圧制御発振器 151〜157 CMOSインバータ 160 周波数選択回路 161 クロック合成選択回路 162 クロック合成制御回路 170 CPU 180 クロック設定レジスタ(書き換え可能なレジス
タ) 190 CPU負荷検出回路(消費電力評価手段) 200 クリティカルパス動作検出回路(動作検出手
段) 210 クロック停止/起動制御レジスタ(書き換え可
能なレジスタ) 220 BCU 230 第2の周波数選択回路 231 第2のクロック合成選択回路 232 第2のクロック合成制御回路 240 分周選択回路 S150 発振クロック S150〜S156 被選択クロック S160 クロック出力 S162a〜g 選択制御信号 S180 シフト段数制御信号 S230 第2のクロック出力 S232a〜g 第2の選択制御信号
フロントページの続き Fターム(参考) 5B079 AA07 BA01 BB01 BC01 CC02 CC08 CC14 DD02 DD03 DD17 5J106 AA04 BB03 CC01 CC21 CC41 CC52 DD09 DD26 DD46 DD48 FF07 GG10 HH02 JJ07 KK00 KK15 KK32 KK40

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 奇数段のインバータ回路をリング状に接
    続して構成された発振器と、 前記発振器を構成する前記インバータ回路の各段出力の
    いずれかを選択してクロック出力として出力する選択回
    路とを有し、 前記クロック出力の立ち上がりエッジまたは立ち下がり
    エッジまたは両エッジに同期して前記選択回路における
    選択を前記インバータ回路偶数段分前または後に切り替
    えるよう制御することを特徴とするクロック生成回路。
  2. 【請求項2】 請求項1記載のクロック生成回路におい
    て、 さらに、書き換え可能なレジスタを有し、 前記書き換え可能なレジスタに書き込まれた値に従っ
    て、前記選択回路における選択の切り替え方向および切
    り替え段数を決定することを特徴とするクロック生成回
    路。
  3. 【請求項3】 請求項1記載のクロック生成回路におい
    て、 さらに、前記クロック出力によって駆動される電子回路
    の消費する電力を評価する消費電力評価手段を有し、 前記消費電力評価手段における消費電力の評価結果に従
    って、前記選択回路における選択の切り替え方向および
    切り替え段数を決定することを特徴とするクロック生成
    回路。
  4. 【請求項4】 請求項3記載のクロック生成回路におい
    て、 前記クロック出力によって駆動される前記電子回路がマ
    イクロプロセッサであり、 前記消費電力評価手段として前記マイクロプロセッサの
    実行する命令の種類に基づいて消費電力を算出すること
    を特徴とするクロック生成回路。
  5. 【請求項5】 請求項3記載のクロック生成回路におい
    て、 前記消費電力評価手段として前記電子回路の電源を流れ
    る電流量を測定することを特徴とするクロック生成回
    路。
  6. 【請求項6】 請求項1記載のクロック生成回路におい
    て、 さらに、前記クロック出力によって駆動される電子回路
    の中でサイクル毎に動作する回路部分を検出する動作検
    出手段を有し、 前記動作検出手段が検出した前記回路部分の遅延時間に
    従って、前記選択回路における選択の切り替え方向およ
    び切り替え段数を決定することを特徴とするクロック生
    成回路。
  7. 【請求項7】 請求項6記載のクロック生成回路におい
    て、 前記クロック出力によって駆動される前記電子回路がマ
    イクロプロセッサであり、 前記動作検出手段として前記マイクロプロセッサの各パ
    イプラインステージで実行される命令の種類に基づいて
    動作する前記回路部分を検出することを特徴とするクロ
    ック生成回路。
  8. 【請求項8】 請求項1記載のクロック生成回路におい
    て、 さらに、書き換え可能なレジスタを有し、 前記書き換え可能なレジスタに書き込まれた値に従って
    決定される前記選択回路の選択の切り替え方向および切
    り替え段数に向けて、前記選択回路における選択の切り
    替え段数を段階的に変化させることを特徴とするクロッ
    ク生成回路。
  9. 【請求項9】 請求項1記載のクロック生成回路におい
    て、 前記クロック出力へのクロック供給を停止するときに
    は、 前記クロック出力のクロック周期が段階的に長くなるよ
    うに、前記選択回路における選択の切り替え段数を段階
    的に変化させた後、クロックを停止することを特徴とす
    るクロック生成回路。
  10. 【請求項10】 請求項1記載のクロック生成回路にお
    いて、 前記クロック出力へのクロック供給を起動するときに
    は、 前記クロック出力のクロック周期が段階的に短くなるよ
    うに、前記選択回路における選択の切り替え段数を段階
    的に変化させてクロックを起動することを特徴とするク
    ロック生成回路。
  11. 【請求項11】 奇数段のインバータ回路をリング状に
    接続して構成された発振器と、 前記発振器を構成する前記インバータ回路の各段出力の
    いずれかを選択して第1のクロック出力として出力する
    第1の選択回路と、 前記発振器を構成する前記インバータ回路の各段出力の
    いずれかを選択して第2のクロック出力として出力する
    第2の選択回路とを有し、 前記第1のクロック出力の立ち上がりエッジまたは立ち
    下がりエッジまたは両エッジに同期して前記第1の選択
    回路における選択を前記インバータ回路偶数段分前また
    は後に切り替えるよう制御し、 前記第2のクロック出力の立ち上がりエッジまたは立ち
    下がりエッジまたは両エッジに同期して前記第2の選択
    回路における選択を前記インバータ回路偶数段分前また
    は後に切り替えるよう制御し、 かつ、前記第1の選択回路と前記第2の選択回路におい
    て同一の前記インバータ回路の出力を選択することを禁
    止する状態で制御することを特徴とするクロック生成回
    路。
JP2002096125A 2002-03-29 2002-03-29 クロック生成回路 Pending JP2003298413A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002096125A JP2003298413A (ja) 2002-03-29 2002-03-29 クロック生成回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002096125A JP2003298413A (ja) 2002-03-29 2002-03-29 クロック生成回路

Publications (1)

Publication Number Publication Date
JP2003298413A true JP2003298413A (ja) 2003-10-17

Family

ID=29387358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002096125A Pending JP2003298413A (ja) 2002-03-29 2002-03-29 クロック生成回路

Country Status (1)

Country Link
JP (1) JP2003298413A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013016104A (ja) * 2011-07-06 2013-01-24 Renesas Mobile Corp 半導体装置、それを用いた無線通信端末、及びクロック周波数制御方法
JP2013016105A (ja) * 2011-07-06 2013-01-24 Renesas Mobile Corp 半導体装置およびシステム
JP2013046392A (ja) * 2011-08-26 2013-03-04 Toshiba Corp 集積回路
EP3893006A1 (de) * 2020-04-09 2021-10-13 Bender GmbH & Co. KG Elektrische schaltungsanordnung und verfahren zur galvanisch getrennten, allstromsensitiven differenzstrom-messung mit hoher auflösung

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013016104A (ja) * 2011-07-06 2013-01-24 Renesas Mobile Corp 半導体装置、それを用いた無線通信端末、及びクロック周波数制御方法
JP2013016105A (ja) * 2011-07-06 2013-01-24 Renesas Mobile Corp 半導体装置およびシステム
US9176568B2 (en) 2011-07-06 2015-11-03 Renesas Electronics Corporation Clock control and power management for semiconductor apparatus and system
US9195260B2 (en) 2011-07-06 2015-11-24 Renesas Electronics Corporation Semiconductor device, radio communication terminal using same, and clock frequency control method
JP2013046392A (ja) * 2011-08-26 2013-03-04 Toshiba Corp 集積回路
EP3893006A1 (de) * 2020-04-09 2021-10-13 Bender GmbH & Co. KG Elektrische schaltungsanordnung und verfahren zur galvanisch getrennten, allstromsensitiven differenzstrom-messung mit hoher auflösung

Similar Documents

Publication Publication Date Title
US5572719A (en) Clock control system for microprocessors including a delay sensing circuit
JP4894014B2 (ja) 集積回路のための電源の適応制御
EP2762990B1 (en) Clock selection circuit and method
JP2000244309A (ja) クロック生成回路および半導体装置
JP5317356B2 (ja) クロック制御信号生成回路、クロックセレクタ、及び情報処理装置
KR100522627B1 (ko) 클록제어회로
US6943599B2 (en) Methods and arrangements for a low power phase-locked loop
JP4686065B2 (ja) クロック制御装置およびクロック制御方法
JP2005323356A (ja) ディジタル位相選択を有する周波数シンセサイザ
JP2007172583A (ja) 演算処理装置およびクロック制御方法
JP2005339310A (ja) 半導体装置
JPH0744265A (ja) パイプライン処理回路
JP2011159873A (ja) 半導体集積回路及びそれを備えた電圧制御装置
JP3633374B2 (ja) クロック制御回路
CN113016139B (zh) 用于产生高比率倍频时钟信号的数字时钟电路
JP3696077B2 (ja) 電圧変換回路及びこれを備えた半導体集積回路装置
JP5332616B2 (ja) クロック信号分周回路
JP2003298413A (ja) クロック生成回路
JP2004056717A (ja) 半導体装置、システムボードおよび多相クロック発生回路
KR101240107B1 (ko) 저전력화가 가능한 디지털 주파수 합성기 및 이의 제어 방법
Boyer et al. Embedded power-aware cycle by cycle variable speed processor
JP5100801B2 (ja) クロック制御回路
JP2009152886A (ja) クロック生成回路およびその使用方法
JP2006260190A (ja) マージンレス判定回路
JP2011040934A (ja) 分周回路