(57)【要約】  複数のクロック信号を生成するための方法。前記方法は、位相ロックループ（ＰＬＬ）を使用して基準クロック信号を生成するステップを有する。前記基準クロックが、複数のクロック分周器ユニットのそれぞれに供給され、前記複数のクロック分周器ユニットのそれぞれが、前記受信基準クロック信号を分周して、対応する分周クロック信号を生成する。前記方法は、前記対応する受信分周クロック信号の周波数と、除去するサイクル数とに基づいて、それぞれが有効周波数を有する複数のドメインクロック信号を生成するために、（所定の数のサイクルにつき）１以上のクロックサイクルを除去する。
2010538361.tif 000002
【特許請求の範囲】
【請求項１】
複数のクロック信号を生成するための方法であって、
位相ロックループ（ＰＬＬ）を使用して基準クロック信号を生成するステップと、
複数のクロック分周器ユニットのそれぞれに前記基準クロック信号を供給するステップと、
対応する複数の分周クロック信号を生成するために、前記クロック分周器ユニットのそれぞれにおいて前記基準クロック信号を分周するステップと、
対応する受信分周クロック信号の周波数と、除去するサイクル数とに基づいて、それぞれが有効周波数を有する複数のドメインクロック信号を生成するために、各前記分周クロック信号から１以上のクロックサイクルを除去するステップと、を含む方法。
【請求項２】
前記ＰＬＬが複数の位相の前記基準クロック信号を出力するステップを更に含む、請求項１に記載の方法。
【請求項３】
前記基準クロックが、０°、９０°、１８０°および２７０°の位相で出力される、請求項２に記載の方法。
【請求項４】
前記複数の位相の前記各分周クロック信号を、複数のサイクルスチールユニットのうちの対応する１つに供給するステップと、
前記複数のサイクルスチールユニットのそれぞれにおいて、前記分周クロック信号の前記各複数の位相から１以上のサイクルを除去するステップと、
除去される前記１以上のサイクルのそれぞれを使用して前記ドメインクロック信号のそれぞれを合成するステップとを更に含む、請求項３に記載の方法。
【請求項５】
複数の制御信号を使用して、前記分周クロック信号の前記複数の位相から除去する前記１以上のサイクルを選択するステップを更に含む、請求項４に記載の方法。
【請求項６】
複数のクロック信号を生成するための装置であって、
基準クロック信号を生成するように構成された位相ロックループ（ＰＬＬ）と、
それぞれが前記ＰＬＬから前記基準クロック信号を受信するために結合され、前記基準クロック信号から複数の分周クロック信号のうちの１つを生成するように構成された複数のクロック分周器ユニットと、
それぞれが、複数のクロック分周器ユニットの対応する１つから前記複数の分周クロック信号のうちの１つを受信するために結合された複数のサイクルスチールユニットとを備え、前記複数のクロック分周器ユニットのそれぞれは、対応する受信分周クロック信号の周波数と、除去するサイクル数とに基づいて、それぞれが有効周波数を有する複数のドメインクロック信号を生成するために、前記複数の分周クロック信号の前記１つから１以上のサイクルを除去するように構成されている装置。
【請求項７】
前記ＰＬＬは、複数の位相の前記基準クロック信号を出力するように構成されている請求項６に記載の装置。
【請求項８】
前記ＰＬＬは、前記基準クロックを０°、９０°、１８０°および２７０°の位相で出力するように構成されている請求項６に記載の装置。
【請求項９】
前記サイクルスチールユニットのそれぞれは、前記複数の位相の前記複数の分周クロック信号の前記対応する１つを受信するために結合され、前記対応する分周クロック信号の前記複数の位相それぞれから１以上のサイクルを除去するように構成され、前記装置は、それぞれが前記複数のサイクルスチールユニットのうちの対応する１つに結合された複数のクロック合成器を更に備え、前記クロック合成器のそれぞれは、前記対応する分周クロック信号の前記複数の位相から除去される前記１以上のサイクルのそれぞれを使用して、前記複数のドメインクロック信号のうちの対応する１つを合成するように構成されている、請求項６乃至８のいずれか１項に記載の装置。
【請求項１０】
前記サイクルスチールユニットのそれぞれは、複数の制御信号を受信するために結合され、前記サイクルスチールユニットのそれぞれは、前記複数の制御信号に基づいて、その対応する受信分周クロック信号の前記複数の位相のそれぞれから除去する前記１以上のサイクルを選択するように構成されている、請求項６乃至９のいずれか１項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路に関し、より詳細には、クロック信号を生成するためのクロック回路に関する。
【背景技術】
【０００２】
マイクロプロセッサなどの複雑な集積回路は、多くの場合、異なる独立したクロック信号を使用して異なる部分を動作させる必要がある。このような異なる部分のそれぞれは「クロックドメイン」と呼ばれている。例えば、マイクロプロセッサが、それぞれが別個の独立したクロックを使用して動作する第１のプロセッサコアと、第２のプロセッサコアと、バスインタフェースユニットとを有しうる。
このようなクロックは、異なる周波数で作動し、この周波数が、多くの場合、特定のニーズに従って変更されうる。例えば、プロセッサ負荷の高いタスクを実行している第１のプロセッサコアのクロック信号は、プロセッサ負荷の低いタスクを実行している第２のプロセッサコアのクロック信号よりも高い周波数で作動しうる。これらのクロック信号の周波数は、実行するタスクのほか、電力消費および／または発熱などの他の考慮事項に応じて適宜増減されうる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
複数のクロック信号を実装する最も簡単な方法は、複数の発振器を設けることである。集積回路で使用されるより一般的な解決策は、基準クロックを生成するための１つの発振器または他のタイプのクロック生成回路を設けて、この基準クロックを複数の位相ロックループ（ＰＬＬ）に供給する方法である。異なるＰＬＬのそれぞれは、それぞれ独立したクロック出力信号を供給することができる。更に、ＰＬＬは、自身の出力クロックの周波数を調整可能とするように構成されてもよい。ＰＬＬはアナログ回路であるが、その他は主にデジタル回路から構成される集積回路ダイに実装することができる。
【課題を解決するための手段】
【０００４】
複数のクロック信号を生成するための方法が開示される。一実施形態では、前記方法は、位相ロックループ（ＰＬＬ）を使用して基準クロック信号を生成するステップを含む。前記基準クロックが、複数のクロック分周器ユニットのそれぞれに供給され、前記複数のクロック分周器ユニットのそれぞれが、前記受信基準クロック信号を分周して、対応する分周クロック信号を生成する。前記方法は、前記対応する受信分周クロック信号の周波数と、除去するサイクル数とに基づいて、それぞれが有効周波数を有する複数のドメインクロック信号を生成するために、（所定のサイクル数につき）１以上のクロックサイクルを除去する。
【０００５】
また、複数のクロック信号を生成するための装置も開示される。一実施形態では、前記装置は、基準クロック信号を生成するように構成されたＰＬＬを有する。前記装置は、基準クロック信号を生成するように構成された位相ロックループを有する。複数のクロック分周器ユニットは、それぞれ、前記ＰＬＬから前記基準クロック信号を受信するために結合され、前記基準クロック信号から対応する分周クロック信号を生成するように構成されている。前記装置は、複数のサイクルスチールユニットを更に有する。前記サイクルスチールユニットのそれぞれは、対応する分周クロック信号を受信するために結合されている。各サイクルスチールユニットは、前記対応する分周クロック信号の前記周波数と前記除去するサイクル数とに基づいて、有効周波数を有するドメインクロック信号を生成するために、前記対応する受信した分周クロック信号から、所定の数のクロックサイクルにつき、１以上のクロックサイクルを除去するように構成されている。
【０００６】
さまざまな実施形態では、前記装置は、それぞれが対応するサイクルスチールユニットに結合された複数のクロック合成器も更に有する。各クロック合成器は、前記対応するサイクルスチールユニットによって除去されたクロックサイクルに基づいてクロック信号を合成するように構成されている。各クロック合成器は、前記対応する分周クロック信号の所定数の異なる位相のそれぞれから除去されたサイクルに基づいて、その個々のドメインクロック信号を合成してもよい。このような実施形態では、使用される前記ＰＬＬは、複数の位相（例えば、０°、９０°、１８０°、２７０°）の前記基準クロック信号を出力することができる。
【０００７】
また、複数のクロックドメインを有し、各クロックドメインが、異なるクロック信号を受信するように構成されている集積回路もここに開示される。これらのクロック信号は、パフォーマンス状態と特定の構成に応じて、異なる周波数を有してもよい。前記クロックドメインのそれぞれが受信する前記クロック信号は、所定数のクロックサイクルのそれぞれに対してクロック信号の１以上のサイクルを除去することによって生成されうる。
【０００８】
ここに開示の前記方法と装置により、１つの位相ロックループを使用して、異なるクロックドメインに複数の異なるクロックサイクルを生成することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】複数のクロックドメインと１つの位相ロックループ（ＰＬＬ）とを有するプロセッサの一実施形態を示すブロック図。
【図２】サイクルがスチールされているクロック信号を示すタイミングチャート。
【図３】１つのＰＬＬと複数のサイクルスチールユニットとを使用して複数のクロック信号を生成するように構成された装置の一実施形態のブロック図。
【図４】サイクルスチールに使用される回路の一実施形態の論理図。
【図５】１つのＰＬＬと複数のサイクルスチールユニットとを使用して複数のクロック信号を生成するように構成された装置の別の実施形態を示す図。
【図６】スチールされたクロックサイクルを使用して合成したクロック信号を示すタイミングチャート。
【発明を実施するための形態】
【００１０】
以下の詳細な説明を読み、添付図面を参照することにより、本発明の他の態様が明らかになるであろう。
【００１１】
本発明は、さまざまに変形されたり代替形態を取りうるが、その特定の実施形態が、例として図面に図示され、かつ本明細書に詳細に記載される。しかし、図面およびその説明は、本発明を開示された特定の形態に限定するようには意図されてはおらず、逆に、本発明は、添付の特許請求の範囲によって規定される本発明の趣旨および範囲内に入るあらゆる変更、均等物、および代替物を網羅するものであることが理解されるべきである。
【００１２】
図１を参照すると、複数のクロックドメインと１つの位相ロックループ（ＰＬＬ）とを有するプロセッサの一実施形態を示すブロック図が示される。図の実施形態では、プロセッサ１０は、第１のコア１１０と、第２のコア１１１と、Ｌ２キャッシュ１１５とを備える。第１のコア１１０はクロックドメイン＃１に、第２のコア１１１はクロックドメイン＃２に、Ｌ２キャッシュ１１５はクロックドメイン＃３にそれぞれ存在する。ほかのクロックドメインに別のユニットが設けられていてもよい。例えば、第４のクロックドメインにバスインタフェースユニットがあり、ノースブリッジが第５のクロックドメインに実装されるなどであってもよい。
【００１３】
また、プロセッサ１０は、基準クロック信号を生成するように構成されたＰＬＬ１０２も有し、この基準クロック信号は、チップ外の発振器または他のクロック生成手段から受信したクロック信号に基づいて、クロックドメインのそれぞれに供給される。クロックドメインのそれぞれは、自身のドメインクロック信号の周波数を変更することができる追加の機能を備える。ドメイン固有の出力クロック信号は、周波数が可変であり、プロセッサ１０の動作中のさまざまな時点で周波数が変わりうる。例えば、プロセッサ１０の作業負荷が低い場合、ドメインクロック信号の一方または両方の周波数が下げられ、その個々の周波数が異なってもよい。逆に、作業負荷が上昇すると、一方または両方のドメインクロック信号の周波数を上げ、この状況で両者の周波数が異なってもよい。
【００１４】
ドメインクロック信号を生成するために、各クロックドメインは、「サイクルスチール」として知られる技術を使用するように構成されたユニットを少なくとも備えうる。図２は、サイクルが除去されていないクロック信号と、サイクルが除去されている（「スチールされている」）クロック信号とを対比して示すタイミングチャートである。サイクルが除去されていないクロック信号では、合計７クロックサイクルが示されている。サイクルが除去されているクロック信号では、これらのクロック信号のうちの１つが除去されており、除去されたサイクルが破線で示されている。このため、サイクルが除去されているクロック信号は、サイクルが除去されていないクロック信号と同じ時間に６つのサイクルしかない。したがって、サイクルが除去されているクロック信号の有効周波数は、サイクルが除去されていないクロック信号の６／７となる。この特定の例では、５０％のデューティーサイクルを維持するようにサイクルが除去される。
【００１５】
一般に、サイクルがスチールされているクロック信号の有効周波数は、所定の期間に所定のサイクル数を除去することによって設定することができる。例えば、受信クロック信号の７５％の周波数は、２０サイクルの期間（または所定の数）に５サイクルを除去することによって得ることができる。このため、サイクルが除去されていないクロック信号の周波数が２．０ＧＨｚである場合、２０サイクルのうち５サイクルが除去されているクロック信号の周波数は１．５ＧＨｚとなる。
【００１６】
クロックサイクルの除去では、どのサイクルを除去するかを決定することが重要である。例えば、２０クロックサイクルのうち５サイクルを除去する場合、除去したクロックサイクルが、２０サイクルにわたって、ある程度均一に分布していることが重要である。２０クロックサイクルの最初または最後の連続する５クロックサイクルを除去すると、パワーグリッドの振動などの望ましくない影響が生じる場合がある。このため、この例では、４クロックサイクルおきに除去して、除去するクロックサイクルが均一に分布するようにすることが望ましい。それぞれの例について、除去する特定のサイクルは、除去するサイクル数、総サイクル数、およびサイクルの除去による考えられる影響に基づいて決定されうる。
【００１７】
また、各クロックドメインは、サイクルスチールユニットと共に使用される分周器も備える。このため、受信基準クロック信号が分周されて、分周クロック信号が生成され、分周クロック信号からゼロ以上のサイクルが除去されてドメインクロック信号が生成されうる。下記の表１は、ｎ／２２サイクルを除去するように構成された分周器とサイクルスチールユニットとを使用した、ドメインクロック信号の周波数の変更を示す。
【００１８】
【表１】
2010538361.tif 000003
【００１９】
表１の例では、クロック分周器が、クロック信号を、１（すなわちクロック信号が事実上分周されない）、２または４で分周する。受信（すなわち基準）クロック信号を１で分周すると、２２サイクルにつき最大１０サイクルが除去され、有効周波数が最大２．２ＧＨｚ（除去サイクルが０／２２の場合）から１．２ＧＨｚの間の値に変更される。１．１ＧＨｚの周波数は２．２ＧＨｚのクロック信号を２で分周することによって容易に得ることができるため、１１／２２のクロックサイクルを除去する必要がない。受信クロック信号を２で分周した後に、クロックサイクルを、２刻み（例えば、０、２、４など）で除去して、有効周波数を、１．１ＧＨｚ〜６００ＭＨｚの間で、１００ＭＨｚずつ変更することができる。４で分周すると、クロックサイクルが４刻みで除去され、有効周波数を、５００ＭＨｚ〜３００ＭＨｚの間で、１００ＭＨｚずつ変更することができる。
【００２０】
なお、クロック信号を整数以外の値で分周する（例えば、１．５で分周するなど）実施形態も可能であり、考察される。
【００２１】
図３は、１つのＰＬＬと複数のサイクルスチールユニットとを使用して複数のクロック信号を生成するように構成された装置の一実施形態のブロック図である。図の実施形態では、クロック生成装置２００は、基準クロック信号を供給するために、複数の分周器４０４のそれぞれに結合されているＰＬＬ１０２を有する。各分周器４０４は、分周クロック信号を生成するように構成されている。なお、上記に従って、本開示の目的のために、分周クロック信号には、基準クロックを１で分周したものが含まれるとする。また、特に、最低周波数が受信基準クロック信号の周波数の半分より大きくなるようにドメインクロック周波数を変更する場合には、クロック分周器のない実施形態も可能であり、考察される。しかし、分周器を使用する実施形態により、広い範囲のドメインクロック周波数を得ることができる。
【００２２】
各分周器４０４は、対応するサイクルスチールユニット４０８の入力に結合された出力を有する。各サイクルスチールユニット４０４は、所定の期間に発生する所定の数のサイクルのそれぞれについて、対応する受信した分周クロック信号から、ゼロ以上のサイクルを除去するように構成されている。一般に、各サイクルスチールユニットは、その対応する分周クロック信号に対してｎ／ｍサイクルを除去するように構成されており、ここで、ｎは除去するクロックサイクル数、ｍは、所定の期間に発生する総クロックサイクル数である（例えば、上記の例ではｎ＝５、ｍ＝２０となる）。
【００２３】
サイクルスチールユニットの簡潔な例が、図４に示される。図の実施形態では、サイクルスチールユニット３００は、ラッチ３０２とＡＮＤゲート３０４とを有する。クロック信号（例えば、分周クロック信号）は、ラッチ３０２とＡＮＤゲート３０４の両方に供給される。ラッチ３０２は、制御信号を受信するために結合されている。制御信号が第１の状態のときには、ラッチ３０２はクロック信号を通過させ、第２の状態では、クロック信号の通過が禁止される。制御信号が第１の状態のときは、クロック信号はサイクルスチールユニット３００を通過し、サイクルがスチールされない。
【００２４】
サイクルをスチールするために、制御信号が第２の状態に変更され、これにより、クロック信号のラッチ３０２の通過が禁止される。制御信号は、クロック信号の正部分が通過せず、ＡＮＤゲート３０４の出力がローに保持されることを少なくとも保証するのに十分な期間、第２の状態に保持されうる。
【００２５】
より複雑なサイクルスチールユニットを実装することもできる。このような実施形態によりクロック信号が事実上ストレッチされ、スチールユニットから出力されるドメインクロック信号に対して５０％のデューティーサイクルが維持される。
【００２６】
図３に戻ると、クロック生成装置２００は複数の制御ユニット４１０を有し、そのそれぞれが、分周器４０４とその対応するサイクルスチールユニット４０８とに関連している。各制御ユニット４１０は、分周比をセットするために、対応する分周器４０４に供給する制御信号を生成するように構成されている。また、各制御ユニットは、分周クロック信号からどのクロックサイクルを除去するか決定するために、対応するサイクルスチールユニットに供給する制御信号を生成するようにも構成されている。このため、分周器とサイクルスチールユニットを組み合せて、各ドメインクロック信号の、周波数を広い範囲で変更することができる。更に、クロック生成装置２００は、クロックドメインごとに別個にＰＬＬを設ける代わりに、１つのＰＬＬのみを使用して、チップ上で複数のクロック信号を生成することができる。
【００２７】
図５は、１つのＰＬＬと複数のサイクルスチールユニットとを使用して複数のクロック信号を生成するように構成された装置の別の実施形態の図である。この特定の実施形態のサイクルスチールユニットは、クロック合成器を有し、基準クロック信号を分周し、ゼロ以上のクロックサイクルを除去することによって、ドメインクロック信号が合成される。簡潔を期するために、本図には、分周器、制御ユニット、クロック合成器を含むサイクルスチールユニットが１つだけ示されている。しかし、図３に示した装置と同様に、このようなユニットが複数設けられてもよいことを理解すべきである。
【００２８】
図の実施形態では、クロック生成装置５００は、複数の位相オフセットの基準クロック信号を供給するように構成されているＰＬＬ１０２を有する。この特定の実施形態では、ＰＬＬ１０２は、０°、９０°、１８０°および２７０°の位相オフセットの基準クロック信号を供給する。換言すれば、この例に設けられているＰＬＬ１０２の実施形態は、本質的に、それぞれが、オフセットが９０°ずつずれた、同一周波数の４つの異なる基準クロック信号を供給する。基準クロック信号の複数の位相オフセットのそれぞれが分周器４０４に供給され、分周器４０４は制御ユニット４１０が設定した除数により、複数の位相オフセットを分周するように構成されている。このため、本実施形態における分周器４０４は、０°、９０°、１８０°および２７０°の４つの異なる位相オフセットの分周基準クロック信号（以下「分周クロック信号」と呼ぶ）を出力として供給する。
【００２９】
サイクルスチールユニット４０８は、分周クロック信号の位相オフセットを受信するほかに、制御ユニット４１０からイネーブル信号（この場合、ＣＬＫ＿ＥＮ［３：０］）を受信するために結合されている。これらのイネーブル信号は、対応する個々のＤフリップフロップにゲーティングされ、Ｄフリップフロップのそれぞれは、位相オフセット分周クロック信号の１つによってクロッキングされている。制御ユニット４１０は、サイクルスチールユニット４０８に、イネーブル信号を、繰り返しのパターンで供給するように構成されている。制御ユニット４１０によって生成される特定のパターンは、除数と、スチールするサイクル数と、最大周波数に対するドメインクロック信号の周波数（ＰＬＬ１０２が出力する基準クロック信号の周波数）の割合とによって決まる。例えば、基準クロック信号の周波数の５８％の周波数のドメインクロック信号は、クロック生成装置によって、基準クロック信号を１．５で分周して、（各位相オフセットについて）８クロックサイクルごとに１サイクルを除去して、イネーブル信号を繰り返しのパターンで供給することにより生成することができる。
【００３０】
図に示した実施形態のフリップフロップは、それぞれ、分周器４０４から受信した分周クロック信号の位相オフセットの１つによってクロッキングされている。
【００３１】
イネーブル信号が、対応する個々の信号経路のフリップフロップにゲーティングされると、対応するクロックイネーブル信号が生成される。この例に示すように、それぞれが、制御ユニット４１０からイネーブル信号のうちの対応する１つ［３：０］を受信するために結合されている第１の４つのフリップフロップのグループは、位相オフセットが０°の分周クロック信号によってクロッキングされる。信号経路のうちの３つ（ＣＬＫ＿ＥＮ［３］、ＣＬＫ＿ＥＮ［１］、ＣＬＫ＿ＥＮ［０］に対する）は、位相オフセットが１８０°の分周クロック信号によってクロッキングされるフリップフロップを有する。ＣＬＫ＿ＥＮ［２］に対する信号経路は、位相オフセットが２７０°の分周クロック信号によってクロッキングされているフリップフロップを有し、ＣＬＫ＿ＥＮ［０］に対する信号経路は、位相オフセットが９０°の分周クロック信号によってクロッキングされているフリップフロップを有する。また、ＣＬＫ＿ＥＮ［１］に対する信号経路は、位相オフセットが０°の分周クロック信号によってクロッキングされている第２のフリップフロップも有する。
【００３２】
イネーブル信号に、分周クロック信号のさまざまな位相がクロッキングされることで、４種類の異なる信号（すなわち、ＣＬＫ＿ＥＮ＿０°、ＣＬＫ＿ＥＮ＿９０°、ＣＬＫ＿ＥＮ＿１８０°、ＣＬＫ＿ＥＮ＿２７０°）が生成され、クロック合成器に供給されるようになる。これらの信号は、分周クロック信号の位相オーバラップに基づいて、図に示したパスゲートをゲーティングされる。例えば、０°と２７０°の分周クロック信号の位相オフセットの両方が、個々のサイクルの論理ハイの部分の場合、ＣＬＫ＿ＥＮ＿０°が対応する（respective）パスゲートをゲーティングされる。同様に、０°と９０°の分周クロック信号の位相オフセットの両方が、個々のサイクルの論理ハイの部分の場合、ＣＬＫ＿ＥＮ＿９０°が対応する（respective）パスゲートをゲーティングされる。図５に示すように、パスゲートは、それぞれ入力信号と同じ分周クロック信号の位相オフセットを受信するために結合されているＡＮＤゲートとＮＡＮＤゲートの論理ゲート対によって作動されうる（ほかの論理構成も可能であり、考察される）。ＣＬＫ＿ＥＮ＿０°、ＣＬＫ＿ＥＮ＿９０°、ＣＬＫ＿ＥＮ＿１８０°、ＣＬＫ＿ＥＮ＿２７０°の各信号はクロック合成器のワイヤードＯＲ構造にゲーティングされ、これは、信号のロジック値を保持するキーパー「Ｋ」を有する。これにより、合成ドメインクロック出力信号が生成され、これがクロック合成器４１２から出力される。
【００３３】
このため、イネーブル信号と分周クロック信号の位相オフセットとを組み合せて、クロックイネーブル信号（すなわちＣＬＫ＿ＥＮ＿［３：０］）がトグルされて、クロック合成器４１２に供給される。表２は、さまざまな所望のドメインクロック周波数に対するイネーブル信号パターンのいくつかの例を（基準クロック信号の周波数Ｆｍａｘの関数として）示す。
【００３４】
【表２】
2010538361.tif 000004
【００３５】
図６は、図５に示した装置の実施形態を使用してスチールされたクロックサイクルを使用して合成されるドメインクロック信号を示すタイミングチャートである。より詳細には、図６のタイミングチャートは、ドメインクロック信号を合成する際の、図５に示した実施形態の装置の動作を示す。
【００３６】
動作開始（ＥＮ［３：０］が１１１０）後、次サイクル（ＥＮ［３：０］が００１１）において、ドメインクロック信号の第１のハイ部分が生成される。ＤｉｖＣｌｋ＿０とＤｉｖＣｌｋ＿２７０の両方がハイの場合、（前のサイクルでＥＮ［３］の論理ハイ値がゲーティングされた結果）ハイ部分の第１の部分が生成され、Ｃｌｋ＿ＥＮ＿０°がハイとなる。分周クロック信号の０°と２７０°の位相の両方がハイの場合、対応するパスゲートパスによりハイ値の通過が許可される。また、論理ハイ値は、分周クロック信号の０°と９０°の位相の両方がハイの場合（Ｃｌｋ＿ＥＮ＿９０°のハイ値の通過が許可される）と、分周クロック信号の９０°と１８０°の位相の両方がハイの場合（Ｃｌｋ＿ＥＮ＿１８０°のハイ値の通過が許可される）にも通過する。分周クロック信号の１８０°と２７０°の位相の両方がハイの場合、Ｃｌｋ＿ＥＮ＿２７０°はローとなるため、このロー値が対応するパスゲートを通過して、メインクロック信号をローに下げる。
【００３７】
９０°と１８０°の位相の両方がハイの場合（Ｃｌｋ＿ＥＮ＿１８０°のハイの通過が許可される）、ドメインクロック信号の次のハイ部分が生成され、１８０°と２７０°の位相がハイとなり（Ｃｌｋ＿ＥＮ＿２７０°のハイの通過が許可される）、２７０°と０°の位相がハイとなる。その後、９０°と１８０°、１８０°と２７０°、および２７０°の位相が、その個々のＡＮＤ／ＮＡＮＤゲートの出力をアサートしている間、Ｃｌｋ＿ＥＮ＿９０°、Ｃｌｋ＿ＥＮ＿１８０°およびＣｌｋ＿ＥＮ＿２７０°が全てローであるため、ドメインクロック信号の別のロー部分が合成される。
【００３８】
ここに示した例では、ドメインクロック信号は、基準クロック信号を１．５で割り、８サイクルの１つをスチールすることによって生成される。この結果、基準クロック信号の周波数の５８％の有効周波数を有するドメインクロック信号が得られる。この特定の構成では、除去される、または「スチールされる」サイクルは、ＥＮ［３：０］のそれぞれを論理０にセットする図５の制御ユニット４１０によって生成され、この結果、Ｃｌｋ＿ＥＮ＿０°、Ｃｌｋ＿ＥＮ＿９０°、Ｃｌｋ＿ＥＮ＿１８０°およびＣｌｋ＿ＥＮ＿２７０°のそれぞれがローとなる。クロックサイクルをスチールした後に、上に挙げたパターンが繰り返されうる。
【００３９】
一部の実施形態では、上で説明した技術を使用してサイクルを除去する場合でも、ドメインクロックのデューティーサイクルを５０％に維持することが望ましいことがある。これは、制御ユニット４１０によって、サイクルをストレッチするために、イネーブル信号の１つ以上を論理１（通常のパターンから外れている）にセットすることで行うことができ、サイクルを実際上除去することができる。
【００４０】
このため、ここに説明した方法の実施形態と併せて、クロック分周器、制御ユニットおよびサイクルスチールユニットを有する装置を複数使用すれば、１つのＰＬＬを使用して複数のドメインクロック信号を生成することができる。ドメインクロック信号のそれぞれの周波数は、プロセッサのニーズに従って、必要に応じて変更されうる。例えば、ドメインクロック信号の１つ以上の周波数を、低パワー状態で下げたり、高作業負荷時に上げてもよい。
【００４１】
本発明を特定の実施形態を参照して記載したが、この実施形態は例示であり、本発明の範囲はこれに制限されないことが理解されよう。記載した各種実施形態のどのような変形、変更、追加および改良も可能である。このような変形、変更、追加および改良は、添付の特許請求の範囲に詳述する発明の範囲に含まれうる。
【産業上の利用可能性】
【００４２】
本発明は、一般にマイクロプロセッサに利用可能である。
【図１】
2010538361.tif 000005
【図２】
2010538361.tif 000006
【図３】
2010538361.tif 000007
【図４】
2010538361.tif 000008
【図５】
2010538361.tif 000009
【図６】
2010538361.tif 000010
【国際調査報告】
2010538361.tif 000011
2010538361.tif 000012
2010538361.tif 000013