(57)【要約】      （修正有）【課題】同期周波数合成器によるクロック生成装置を提供する。【解決手段】クロック生成装置において、２つの入力クロックに関連付けられた基準位相の範囲内の位相値を有する出力を生成する位相補間器１２１を有する。ロジック・ユニット１３０は、位相補間器１２１の複数の位相設定を決定するために結合され、分周器１２２は位相補間器１２１に結合され、変更可能な分周設定に基づき出力クロックを生成する。【選択図】図１
2010081606.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力クロックに結合され、第１の位相設定を受信し、該複数の入力クロックからの２つの入力クロックと関連付けられた複数の基準位相の範囲内の第１の位相値を有する第１の出力を生成する位相補間器；
位相ステップ数を有する第１のデータを決定する第１のロジック・ユニット；
前記第１の出力に結合され、変更可能な分周設定に基づき及び前記位相ステップ数に基づき、第１の周波数の値を有する出力クロックを生成する分周器；及び
前記位相ステップ数に基づき複数の位相設定を決定する第２のロジック・ユニット；
を有する装置。
【請求項２】
前記複数の位相設定は、前記位相ステップ数が第１の入力クロックに関連付けられた第１の基準位相を横切る範囲にわたる場合に、該第１の入力クロックのみに基づき前記第１の出力でクロック周期を生成するための第２の位相設定を有する、
ことを特徴とする請求項１記載の装置。
【請求項３】
前記複数の位相設定は、第２の数の異なる位相設定を有し、
該第２の数は、前記分周設定に基づく分周値以下であり、
前記第２の数は、前記位相ステップ数が横切る第３の基準位相の数の２倍以上である、
ことを特徴とする請求項１記載の装置。
【請求項４】
前記複数の位相設定は：
前記２つの入力クロックは第１の入力クロック及び第２の入力クロックを有し、前記第１の出力が該第１の入力クロックのみに基づくようにする第２の位相設定；及び
前記２つの入力クロックは第３の入力クロックを有する前記第１の入力クロックであり、前記第１の出力が前記第１の入力クロックのみに基づくようにする第３の位相設定；
を有する、
ことを特徴とする請求項１記載の装置。
【請求項５】
前記第１のロジック・ユニットは、前記出力クロックを受信するよう結合され前記第１の周波数の値で動作する状態機械を有する、
ことを特徴とする請求項１記載の装置。
【請求項６】
前記第２のロジック・ユニットは、前記第１の周波数の値より高いが前記入力クロックの周波数の値以下の第２の周波数の値で動作する、
ことを特徴とする請求項１記載の装置。
【請求項７】
前記第１のデータは、前記分周器の分周設定を更に有する、
ことを特徴とする請求項１記載の装置。
【請求項８】
前記第１のロジック・ユニットに結合された設定可能なレジスタ、
を更に有する請求項１記載の装置。
【請求項９】
前記入力クロックを生成する位相ロック・ループ回路、
を更に有する請求項１記載の装置。
【請求項１０】
前記第１の周波数の値は、前記位相ステップ数を設定することにより前記第１の周波数の値の０．０６％から４．００％の範囲内で変更可能である、
ことを特徴とする請求項１記載の装置。
【請求項１１】
第１の周波数の値を有する出力クロックを生成するために第１の位相ステップ数を決定する段階；
該第１の位相ステップ数及び位相補間器の現在の位相設定に基づき、該位相補間器の最終的な位相設定を決定する段階；
前記位相補間器の第１の入力クロックと関連付けられた基準位相までの、前記第１の位相ステップ数以下の第２の位相ステップ数を決定する段階；及び
前記第２の位相ステップ数に従って前記現在の位相設定を設定する段階；
を有する方法。
【請求項１２】
前記第１の入力クロックのみから前記位相補間器の第１出力を生成するために前記現在の位相設定を切り替える段階；及び
前記第１の入力クロック及び第２の入力クロックを補間することにより、前記位相補間器の前記第１の出力を生成するために前記現在の位相設定を切り替える段階；
を更に有する請求項１１記載の方法。
【請求項１３】
前記最終的な位相設定に達するまでの第３の位相ステップ数を計算する段階；及び
前記第３の位相ステップ数に従い前記現在の位相設定を設定する段階；
を更に有する請求項１１記載の方法。
【請求項１４】
前記第３の位相ステップ数は、前記第１の位相ステップ数から前記第２の位相ステップ数を減じた残りの位相ステップ数である、
ことを特徴とする請求項１３記載の方法。
【請求項１５】
前記現在の位相設定を前記最終的な位相設定に変更することは、前記位相補間器の入力クロックに関連付けられた１又は複数の基準位相を横切るか否かを決定する段階；
を更に有する請求項１１記載の方法。
【請求項１６】
前記最終的な位相設定の変更が１又は複数の基準位相を横切る場合、前記位相補間器の入力クロックに関連付けられた１又は複数の基準位相と関連付けられた複数の位相設定を決定する段階；
を更に有する請求項１１記載の方法。
【請求項１７】
前記第２の位相ステップ数に従って前記現在の位相設定を設定する段階は、前記位相補間器のＤＡＣコードを変更する段階を有する、
ことを特徴とする請求項１１記載の方法。
【請求項１８】
入力／出力装置に結合されたプロセッサ；
該入力／出力装置へクロック信号を供給するよう結合されたクロック回路；
を有し、
該クロック回路は：
複数の入力クロックに結合され、第１の位相設定を受信し、該複数の入力クロックから２つの入力クロックと関連付けられた複数の基準位相の範囲内の第１の位相値を有する第１の出力を生成する位相補間器；
位相ステップ数を有する第１のデータを決定する第１のロジック・ユニット；
前記第１の出力に結合され、変更可能な分周設定に基づき及び前記位相ステップ数に基づき、第１の周波数の値を有する出力クロックを生成する分周器；及び
前記位相ステップ数に基づき複数の位相設定を決定する第２のロジック・ユニット；
を有するコンピュータ・システム。
【請求項１９】
前記複数の位相設定は、前記位相ステップ数が第１の入力クロックに関連付けられた第１の基準位相を横切る範囲にわたる場合に、該第１の入力クロックのみに基づき前記第１の出力でクロック周期を生成するための第２の位相設定を有する、
ことを特徴とする請求項１８記載のコンピュータ・システム。
【請求項２０】
前記複数の位相設定は、第２の数の異なる位相設定を有し、
該第２の数は、前記分周設定に基づく分周値以下であり、
前記第２の数は、前記位相ステップの数が横切る第３の基準位相の数の２倍以上である、
ことを特徴とする請求項１８記載のコンピュータ・システム。
【請求項２１】
前記複数の位相設定は：
前記２つの入力クロックは第１の入力クロック及び第２の入力クロックを有し、前記第１の出力が該第１の入力クロックのみに基づくようにする第２の位相設定；及び
前記２つの入力クロックは第３の入力クロックを有する前記第１の入力クロックであり、前記第１の出力が前記第１の入力クロックのみに基づくようにする第３の位相設定；
を有する、
ことを特徴とする請求項１８記載のコンピュータ・システム。
【請求項２２】
前記第１のロジック・ユニットは、前記出力クロックを受信するよう結合され前記第１の周波数の値で動作する状態機械を有する、
ことを特徴とする請求項１８記載のコンピュータ・システム。
【請求項２３】
前記第２のロジック・ユニットは、前記第１の周波数の値より高いが前記入力クロックの周波数の値以下の第２の周波数の値で動作する、
ことを特徴とする請求項１８記載のコンピュータ・システム。
【請求項２４】
前記第１のデータは、前記分周器の分周設定を更に有する、
ことを特徴とする請求項１８記載のコンピュータ・システム。
【請求項２５】
前記クロック回路は前記第１のロジック・ユニットに結合されたファームウェアで設定可能なレジスタを更に有する、
ことを特徴とする請求項１８記載のコンピュータ・システム。
【請求項２６】
前記クロック回路は前記入力クロックを生成する位相ロック・ループ回路を更に有する、
ことを特徴とする請求項１８記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、クロック生成に関し、より詳細には同期周波数合成器に関する。
【背景技術】
【０００２】
コンピュータはクロック乗算器を用い、低い周波数の外部クロック信号を高い周波数のクロック信号に増加させる。このような乗算器は、マイクロプロセッサ又はマイクロプロセッサの一部がシステムの他の部分よりも高い周波数で動作することを可能にするために用いられうる。或いは、マイクロプロセッサの高周波数クロック信号は、より低い周波数に分周され、例えばＳＡＴＡ（Ｓｅｒｉａｌ  ＡＴＡ）、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、ＰＣＩ−Ｅ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ）、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）のような入力／出力バスの動作の要求を満たす。一般に、集積回路は、ＩＣの異なる部分を同期させるためにクロック信号を利用する。
【０００３】
オーバークロックは、製造者により指定されるよりも高いクロック周波数で動作させるようにコンピュータの構成要素（例えば、マイクロプロセッサ）を設定するときに生じる。一部の製造者は、クロックアップの環境で試験を行い、異なる動作条件下で構成要素の安全域を決定する。ダウンクロックとしても知られるアンダークロックは、仕様よりも低いクロック周波数で動作させるように同期回路の動作周波数を変更するときに生じる。従来の回路は、クロック生成回路の分周器／乗算器を変更することによりオーバークロック又はアンダークロックを実行する。クロック周波数は、新たな分周器／乗算器の比が設定されるときはいつでも突然に変化する。結果として、クロック信号が変更されている間、起こり得る誤動作を回避するために、回路は停止するか代替のクロック信号を用いる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
位相ロック・ループは、コンピュータ・システム内で用いるクロック信号を生成するために一般に用いられる。幾つかの位相ロック・ループの設計は、位相補間回路を内蔵し、出力クロックの位相値を微調整する。このような設計では、目標位相値が微調整処理の後に得られた場合、位相補間回路の位相設定は変更されないままである。
【課題を解決するための手段】
【０００５】
本発明の実施例は、以下の詳細な説明から及び本発明の種々の実施例の添付の図面からより完全に理解されるだろう。しかしながら、これらの説明及び図面は、本発明を特定の実施例に限定するものではなく、単に説明及び理解のためである。
【０００６】
クロック信号を生成する装置の実施例を説明する。ある実施例では、周波数合成器は、位相補間器、分周器及び該位相補間器の位相設定を決定するロジックを有する。実施例は、マルチ・コア・プロセッサ及び異なる周波数で動作する入力／出力装置と共に用いられてよい。
【０００７】
以下の説明では、本発明の実施例のより完全な理解を提供するために、多くの詳細事項が説明される。しかしながら、当業者は、本発明がそのような特定の詳細にかかわらず実施されてよいことを理解するだろう。他の例では、本発明の実施例を曖昧にすることを避けるため、良く知られた構造及び装置は詳細の中よりもブロック図の形式で示される。
【０００８】
留意すべき点は、これらの図面は、本願明細書内の他の事項、信号と同様に線で表現されることである。あるものはより多くの構成要素の信号経路を示すために太く、及び／又は主な情報の流れる方向を示すために１又は複数の端に矢印を有する。これは限定ではない。むしろ、これは、回路の容易な理解を助けるために、１又は複数の例である実施例と共に用いられる。設計の必要又は選択により描かれたような如何なる示された信号も、実際には任意の適切な種類の信号方式（例えば差動対、シングルエンド、等）で実施されうるいずれかの方向に伝搬する１又は複数の信号を有してよい。
【図面の簡単な説明】
【０００９】
【図１】同期周波数合成器のある実施例のブロック図である。
【図２】本発明のある実施例によるクロック信号の位相値のシフトを説明する位相面の図である。
【図３】出力クロックの周波数を変更する処理のある実施例のフロー図である。
【図４Ａ】本発明のある実施例によるアンダークロック動作の位相面の図である。
【図４Ｂ】本発明のある実施例によるアンダークロック動作の波形図である。
【図５】コンピュータ・システムと関連する本発明のある実施例のブロック図である。
【図６】本発明のある実施例で用いられるコンピュータ・システムを示す。
【図７】本発明のある実施例で用いられるポイント・ツー・ポイント・コンピュータ・システムを示す。
【発明を実施するための形態】
【００１０】
［概要］
図１は、同期周波数合成器のある実施例のブロック図である。バス及び周辺機器のような多くの関連する構成要素は、本発明を曖昧にすることを回避するために示されていない。図１を参照すると、同期周波数合成器は、位相ロック・ループ１２０、位相補間器１２１、設定可能な分周器１２２、制御ロジック１３０、論理状態機械１４０、及び設定可能なレジスタ１５０を有する。同期周波数合成器の出力は、クロック信号である出力クロック１０６である。ある実施例では、例えばＩ／Ｏ装置のようなコンピュータ構成要素、メモリ構成要素、記憶装置及びコンピュータ・データ・バス制御部は、動作クロック信号として出力クロック１０６を用いる。
【００１１】
ある実施例では、位相補間器１２１は、位相ロック・ループ１２０、制御ロジック１３０及び設定可能な分周器１２２に結合される。ある実施例では、制御ロジック１３０は、位相ロック・ループ１２０、設定可能な分周器１２２からの出力クロック１０６、位相補間器１２１及び論理状態機械１４０に結合される。ある実施例では、論理状態機械１４０は、設定可能な分周器１２２、制御ロジック１３０及び設定可能なレジスタ１５０に結合される。
【００１２】
ある実施例では、位相補間器１２１は、位相ロック・ループ１２０からの８個の入力クロック１０２を受信する。ある実施例では、位相ロック・ループ１２０は、基準クロック（示されない）に基づき８個の入力クロック１０２を生成する。複数の入力クロック１０２の位相値（基準位相としても知られる）は異なり、これらの位相値は図２に示されるように位相面について均等に分散される。当業者には、入力クロック１０２の数が設計要件に従って増大又は減少されうることが明らかである。
【００１３】
ある実施例では、位相ロック・ループ１２０はクロック源（示されない）から基準クロックを受信する。基準クロックの周波数は、入力クロック１０２の周波数と同一である。ある実施例では、位相ロック・ループ１２０が帰還ループ内に分周を組み込んでいる場合には、基準クロックの周波数は入力クロック１０２の周波数と異なる。ある実施例では、遅延ロック・ループ（ＤＬＬ）が入力クロック１０２を生成するために用いられる。
【００１４】
ある実施例では、連続する入力クロックは、位相面について次に高い基準位相又は次に低い基準位相を有するクロック信号である。ある実施例では、位相補間器１２１は、制御ロジック１３０からの位相設定１０３を受信する。位相設定１０３は、ＤＡＣコード及び２つの入力クロックを選択するための選択データを有する。位相設定１０３に基づき、位相補間器は、（８個の入力クロック１０２のうちの）２つの連続する入力クロックを選択し、該２つの選択された入力クロック１０２の加重平均である出力１０４を生成する。換言すると、出力１０４の位相値は、２つの選択された入力クロックの２つの基準位相の範囲内にある。各選択された入力クロック１０２の重みの量は、ＤＡＣコードにより決定される。
【００１５】
ある実施例では、別の適切な位相補間器が用いられ、ある位相面に関する２つの選択された基準位相の重み付けに基づき制御可能な位相を有するクロック信号を生成する。
【００１６】
ある実施例では、位相ステップは、出力１０４の位相値の分解能である。分解能は、例えばＤＡＣコード内のビット数、入力クロック１０２のクロック期間及び入力クロック１０２の数のような要因に基づく。ある実施例では、入力クロック１０２のクロック期間は約４１６．６７ｐｓ（クロック周波数は２．４ＧＨｚ）である。出力１０４の位相ステップは、４１６．６７ｐｓを８（８個の入力クロック１０２）で割り、更に２ｎで割ったものに等しい。ここでｎはＤＡＣコード内のビット数である。ある実施例では、ＤＡＣコードは４ビットの長さである。２つの連続する基準位相の範囲内の位相ステップの数は１６である。従って、出力１０４の各位相ステップは約３．２５ｐｓである。
【００１７】
ある実施例では、位相ステップの増加分（正の位相遅延）は、出力１０４の位相値を増大させる。位相ステップの減少分（負の位相遅延）は、出力１０４の位相値を減少させる。上述と同一の例では、出力１０４の１つのクロック期間を６．５ｐｓに延長するために、出力１０４の位相値は、２つの位相ステップにより増加される（各位相ステップは約３．２５ｐｓを寄与する）。ある実施例では、出力１０４の１つのクロック期間を３２．５ｐｓだけ減少するために、出力１０４の位相値は、１０位相ステップだけ減少される。特定の長い位相遅延は、位相補間器１２１に、別のＤＡＣコードとともに、２つの入力クロックの別の組に切り替えることを要求する。ある実施例では、位相補間器１２１が入力クロックの新たな組に切り替えるときに、２つの入力クロックのうちの一方のみが異なる。動作は、残りの図面を更に参照して以下に更に説明される。
【００１８】
ある実施例では、設定可能な分周器１２２は、論理状態機械１４０からの分周設定１０８を受信する。設定可能な分周器１２２は、分周設定１０８に基づき出力クロック１０６を生成する。例えば、分周設定１０８が２４に設定される場合、設定可能な分周器１２２は、出力１０４の２４クロック周期毎に出力クロック１０６において１クロック周期を生成する。分周設定１０８が２３に設定される場合、設定可能な分周器１２２は、出力１０４の２３クロック周期毎に出力クロック１０６の１クロック周期を生成する。
【００１９】
ある実施例では、設定可能な分周器１２２はジョンソン・カウンタである。ある実施例では、クロック周期の数を検出する代わりに、設定可能な分周器１２２は出力１０４の立ち上がり端の数又は立ち下がり端の数を検出する。本発明のある実施例によると、入力クロック１０１の周波数の例は２．４ＧＨｚである。分周設定１０８は、１００ＭＨｚ、１２０ＭＨｚ又は１３３ＭＨｚの周波数を有する出力クロック１０６をそれぞれ生成するために、例えば２４、２０又は１８のような値を表すコードに設定される。
【００２０】
ある実施例では、論理状態機械１４０は、設定可能な分周器１２２の影響と連動して出力クロック１０６における周波数を変更するために、シフトすべき位相ステップの総数を決定する。ある実施例では、データ１０９は位相ステップの総数を有する。ある実施例では、論理状態機械１４０は、制御ロジック１３０へデータ１０９を送信する。
【００２１】
ある実施例では、制御ロジック１３０はデータ１０９に基づき一連の位相設定１０３を決定する。ある実施例では、制御ロジック１３０は、出力１０４の１又は複数のクロック周期に位相遅延を導入するために、位相設定１０３を生成する。累積遅延値は、前方へ伝播し、出力クロック１０６のクロック期間を増大させる。
【００２２】
ある実施例では、例えば、分周設定１０８が２４に設定され、出力クロック１０６における１クロック期間は出力１０４における２４クロック期間に対応する。ある実施例では、制御ロジック１３０は、位相補間器１２１が２４クロック周期の３番目のクロック周期に２位相ステップを増加させ、２４クロック周期の４番目のクロック周期に３位相ステップを増大させるように、位相設定を生成する。各位相ステップが３．２５ｐｓに等しい場合、２４クロック周期の合計期間は、累積位相遅延である約１６．２５ｐｓ（つまり、２×３．２５ｐｓ＋３×３．２５ｐｓ）だけ延長される。従って、出力クロック１０６のクロック期間は増大し、出力クロック１０６の周波数は減少する。ある実施例では、出力１０６の周波数は、出力１０４の１又は複数のクロック周期に負の位相遅延を導入する（つまり、クロック期間を短縮する）ことにより増大される。
【００２３】
ある実施例では、ＤＡＣコードの値を１だけ増大することは、１位相ステップシフトすることに対応する。ある実施例では、位相補間器の位相値は、出力クロックにおいて所望の周波数を生成するために位相面についてシフトし続ける。
【００２４】
ある実施例では、論理状態機械１４０は、制御ロジック１３０の動作周波数より低い周波数で動作する。ある実施例では、論理状態機械１４０は、出力クロック１０６の周波数でデータ１０９を更新する。
【００２５】
ある実施例では、制御ロジック１３０は、入力クロック１０２の周波数と同じ周波数で動作する。ある実施例では、制御ロジック１３０は、制御ロジック１３０自体の動作周波数の各クロック周期毎に位相設定１０３を更新する。ある実施例では、制御ロジック１３０は、入力クロック１０２の周波数より低い周波数で動作し、入力クロック１０２の幾つかのクロック周期毎に位相設定１０３を更新する。ある実施例では、制御ロジック１３０は、入力クロック１０２の半分の周波数で動作し、制御ロジック１３０の動作周波数の立ち上がり端又は立ち下がり端で位相設定１０３を更新する。
【００２６】
ある実施例では、位相補間器１２１、設定可能な分周器１２２、制御ロジック１３０及び論理状態機械１４０は、同一のクロック源から得られる異なるクロック信号で同時に動作する。この場合にはクロック信号が互いに同期しているので、設計の複雑性は低減される。
【００２７】
ある実施例では、論理状態機械１４０は、設定可能なレジスタ１５０の値に基づき出力クロック１０６の周波数を決定する。ある実施例では、ユーザが設定可能なレジスタ１５０を複数回設定し、各回に小さい値だけ出力クロック１０６の周波数を増大／減少させ、最終な周波数に到達させる。ある実施例では、ユーザは設定可能なレジスタ１５０に周波数特性及び最終的な周波数の値を設定する。論理状態機械１４０は、周波数特性に基づき最終的な周波数に到達するために周波数変更の複数のラウンドを決定する。
【００２８】
ある実施例では、位相遅延は、出力１０４の１又は複数のクロック周期で生じる。しかしながら、累積遅延の影響のみが出力クロック１０６に現れる。従って、出力クロック１０６がある周波数に設定されるとき、出力クロック１０６の各クロック周期のクロック期間は、出力１０４の各クロック周期のクロック期間が異なっても同一のままである。ある実施例では、出力１０４の各クロック周期のクロック期間は位相設定１０３に基づき変化し、従って他の回路のクロック源として直接用いるには適切ではない。
【００２９】
ある実施例では、累積位相遅延を操作することは、分周設定１０８を変更する方法と比べて小さい増加分（又は減少分）で出力クロック１０６の周波数を変更する。ある実施例では、分周設定１０８を変更することは、出力クロック１０６への粗い周波数調整を生じる。ある実施例では、出力クロック１０６の周波数の変更は、分周設定１０８を変更することにより、累積位相遅延を操作することにより又は両者の組み合わせにより実行される。
【００３０】
ある実施例では、設定可能な分周器１２２は、限定ではなく５０％及び６０％のようなデューティ・サイクルを有するクロック期間を生成するよう設計される。
【００３１】
図２は、本発明のある実施例による位相値のシフトを説明する位相面の図である。図２を参照すると、ある実施例では、位相補間器は、位相面の図に関し均等に分散された異なる基準位相（つまり、それぞれ０°、４５°、９０°、１３５°、１８０°、２２５°、２７５°及び３１５°）に関連付けられた８個の入力クロックを受信する。基準位相（八分円の境界としても知られる）は、３６０°の位相面を８個の八分円に分割する。ある実施例では、１番目の八分円（０°から４５°）は八分円の境界２００及び八分円の境界２０１により区切られ、２番目の八分円（４５°から９０°）は八分円の境界２０１及び八分円の境界２０２により区切られる。各八分円の境界（つまり、八分円の境界２００、２０１、２０２、２０３、２０４、２０５、２０６及び２０７）は、基準位相に関連付けられたクロック信号に対応する。
【００３２】
ある実施例では、位相補間器は、基準位相の対の間で、重み（ＤＡＣコード）に基づき制御可能な位相値を有するクロック信号を生成することができる。ある実施例では、起こり得る問題を回避するため、別の八分円への変更又は八分円の境界を横切ることを生じる位相値の増大／減少処理は、（１）位相値が八分円の境界に達するように多数の位相ステップをシフトすることと、（２）八分円の境界で２つの入力クロックの一方を切り替えることにより実行される。ある実施例では、各段階は、位相補間器の動作クロックの異なるクロック周期で実行される。
【００３３】
ある実施例では、一連の位相設定は、動作を実行するために、位相補間器に提供される。図２を参照すると、ある実施例では、位相補間器は入力クロック０°及び入力クロック４５°を補間し、第１の位相値２５０を有する信号を生成する。第１の位相値２５０から最終的な位相値２５１への変更は、２つの八分円の境界（つまり、八分円の境界２０１及び２０２）を横切る。位相補間器は、八分円の境界２０１へ向かってＫ個の位相ステップ（２１０）をシフトすることにより、位相値を変更する。ある実施例では、Ｋ個の位相ステップをシフトすることは、位相設定のＤＡＣコードを変更することにより実行される。次に、位相補間器は、入力クロックの別の対（入力クロック４５°及び入力クロック９０°）へ切り替える。位相補間器は、八分円の境界２０２に達するようにＬ個の位相ステップ（２２０）だけ位相値を変更する。これに続き、位相補間器は、入力クロックの別の対（入力クロック９０°及び入力クロック１３５°）へ切り替える。最後に、位相補間器は、最終的な位相値２５１に達するようにＭ個の位相ステップ（残りの位相ステップ２３０）をシフトすることにより位相値を増大する。
【００３４】
図３は、出力クロックの周波数を変更する処理のある実施例のフロー図である。処理は、ハードウェア（回路、専用ロジック等）、ソフトウェア（汎用コンピュータ・システム又は専用装置で実行されるソフトウェア等）又は両者の組み合わせを有しうる処理ロジックにより実行される。ある実施例では、処理は、図１に関連して議論されたように、制御ロジック１３０により実行される。
【００３５】
図３を参照すると、処理は、処理ロジックが位相補間器の現在の位相値を決定することにより開始する（処理ブロック３０１）。次に、処理ロジックは、所望の周波数で出力クロックを生成するために必要とされる位相ステップの総数を決定する（処理ブロック３０２）。処理ロジックは、現在の位相値の現在の八分円及び最終的な位相値の最終的な八分円を決定する（処理ブロック３０４）。処理ロジックは、位相値の変更が任意の八分円の境界（例えば、１又は複数の八分円の境界）を横切る必要があるか否かを決定する（処理ブロック３０５）。
【００３６】
ある実施例では、最終的な位相値へのシフトが如何なる八分円の境界も横切らない場合、処理ロジックは、最終的な位相値へ達するための残りの位相ステップの数を決定する（処理ブロック３１０）。ある実施例では、処理ロジックは、残りの位相ステップの数に基づき最終的な位相値のＤＡＣコードを決定する（処理ブロック３１１）。
【００３７】
ある実施例では、最終的な位相値へのシフトが任意の八分円の境界（例えば、１又は複数の八分円の境界）を横切る必要がある場合、処理ロジックは、次の八分円の境界へ達するための位相ステップの数を決定し、相応してＤＡＣコードを変更する（処理ブロック３２０）。八分円の境界で、処理ロジックは、２つの入力クロックのうちの一方を切り替える（次の八分円に切り替える）（処理ブロック３２１）。これに続いて、処理ロジックは、現在の八分円が最終的な八分円であるか否かを決定する（処理ブロック３２２）。ある実施例では、最終的な位相値へのシフトが如何なる八分円の境界も横切らない場合、処理ロジックは、最終的な位相値までの残りの位相ステップを決定し、相応してＤＡＣコードを変更する（処理ブロック３１０、３１１）。その他の場合、処理ロジックは、処理ブロック３２０及び処理ブロック３２１を繰り返し、任意の八分円の境界を横切る。ある実施例では、処理ブロックは、現在の八分円が最終的な八分円になるまで処理ブロック３２０及び処理ブロック３２１を繰り返し続ける。
【００３８】
例である実施例では入力クロックの数が８であり、位相面の図は８個の八分円に均等に分散された。理解されるべき点は、代替の実施例は、入力クロック数の他の実施も包含しうることである。例えば、入力クロックの数は、ある実施例では４個、別の実施例では１６個である。
【００３９】
図４Ａは、本発明のある実施例によるアンダークロック動作の位相面の図である。図４Ｂは、本発明のある実施例によるアンダークロック動作の波形図である。この例では、初期出力周波数は１００ＭＨｚであり、アンダークロック動作のための目標周波数は約９９．３５３ＭＨｚである。
【００４０】
図１に関し、ある実施例では、入力クロック１０２の周波数は２．４ＧＨｚであり、対応するクロック期間は約４１６．６７ｐｓである。位相補間器１２１は８個の入力クロックを受信する。分周設定１０８は２４に設定され、従って約１００ＭＨｚの周波数（１００００ｐｓのクロック期間）を有する出力クロック１０６を生成する。ある実施例では、出力クロック１０６の各クロック周期は、出力１０４の２４クロック周期に等しい。ＤＡＣコードは４ビットの長さである。これらの設定で、図４Ａの位相面の図は８個の八分円に分割される。各八分円は１６個の位相ステップに分割され、各位相ステップは約３．２５ｐｓに等しい。開始位相値４００は１６．８７５°に等しく、これは基準位相０°の上の約６個の位相ステップにも相当する。
【００４１】
ある実施例では、出力周波数を１００ＭＨｚ（クロック期間１００００ｐｓ）から９９．３５３ＭＨｚ（クロック期間＝１００６５．１２ｐｓ）まで減少するために、累積位相遅延は約６５．１２ｐｓである。位相ステップの総数は２０位相ステップである（つまり、位相ステップ毎に６５．１２ｐｓを３．２５ｐｓで割る）。（開始位相値４００からの）２０位相ステップのシフトは、八分円の境界４５°を横切る。ある実施例では、位相設定１０３に基づき、位相補間器１２１は位相値を１０位相ステップ（約３２．５ｐｓ）だけ増大し、八分円の境界４５°に達する。八分円の境界で、位相補間器は、位相設定１０３を受信し、入力クロックの別の対（入力クロック４５°及び入力クロック９０°）へ切り替える。ある実施例では、入力クロックの切り替えが実行されるとき、位相値は変化しない（従って、如何なる追加位相遅延もない）。次のクロック周期では、位相補間器１２１は位相値を１０位相ステップ（つまり、残りの位相ステップ２０−１０）だけ増大し、クロック周期に約３２．５ｐｓの位相値を導入する。３クロック周期の後、累積位相遅延は約６５ｐｓである。
【００４２】
ある実施例では、図４Ｂは上述と同一の例に基づき出力１０４の２４クロック周期を示す。ある実施例では、２４クロック周期は出力クロック１０６の１クロック周期に対応する。ある実施例では、位相遅延は、２４クロック周期の最初の数クロック周期及び最後の数クロック周期よりも中央でクロック周期に導入される。
【００４３】
ある実施例では、図４Ｂを参照すると、クロック周期４４０は２４クロック周期の最初のクロック周期であり、クロック周期４４１は最後のクロック周期である。一連の位相設定に基づき、位相補間器１２１は、クロック周期４３１で１０クロックステップだけ位相値を増大し、クロック周期４３２で２つの入力クロックのうちの一方を切り替え、クロック周期４３３で残りの１０位相ステップだけ位相値を再び増大する。従って、２４クロック周期の合計時間期間は、１００６５ｐｓ（４１６．６７ｐｓの２２個のクロック周期と４４９．１７ｐｓの２個のクロック周期との合計）に等しい。
【００４４】
本発明のある実施例の異なる構成の対応する周波数分解能は、以下の表に示される。
【００４５】
［表１］出力周波数の分解能
【００４６】
【表１】
2010081606.tif 000003
次の表は、本発明の実施例による計算の例を示す。ある実施例では、最大周波数変化は、同一の分周設定１０８で基礎出力周波数より低い４．０６％及び基礎出力周波数より高い４．２８％である。
【００４７】
［表２］最大周波数変化の計算例
【００４８】
【表２】
2010081606.tif 000004
ある実施例では、分周設定１０８は２４に設定され、基礎周波数は１００ＭＨｚである。累積位相遅延の異なる値により、出力周波数は約９５．５５ＭＨｚ（アンダークロック状態）に減少され、１０４．３７ＭＨｚ（オーバークロック状態）に増大されうる。最大周波数変化は、基礎出力周波数より低い４．４５％及び基礎出力周波数より高い４．３７％である。ある実施例では、出力クロックの周波数が小さい増加分／減少分で変化するよう、累積位相遅延はステップ毎に増大される。
【００４９】
図５は、コンピュータ・システムと関連する本発明のある実施例のブロック図である。図５には、コンピュータ・システムの一例が示される。ある実施例では、図示されたシステムは、電源５０４、Ｉ／Ｏ制御ハブ５０６及びメモリ５０８に結合されたプロセッサ５０５を有する。ある実施例では、プロセッサ５０５は、同期周波数合成器５０３を更に有する。プロセッサ５０５は、電源５０４に結合され、動作中、電源５０４から電力を受信する。
【００５０】
ある実施例では、プロセッサ５０５は、本願明細書に開示されたような１又は複数の同期周波数合成器５０３を有する。ある実施例では、Ｉ／Ｏ制御ハブ５０６は、同期周波数合成器５０３を更に有する。別の実施例では、Ｉ／Ｏ制御ハブ５０６は無線インタフェース５１０に結合される。無線インタフェース５１０は、無線インタフェース・チップを通じて無線ネットワーク（示されない）にプロセッサを通信可能に接続するアンテナに結合される。
【００５１】
留意すべき点は、図示したシステムは異なる形式で実施されうることである。つまり、該システムは単一のチップ・モジュール、回路基板又は複数の回路基板を有する筐体に実施されうる。同様に、該システムは、１又は複数の完全なコンピュータを有しうる。或いは該システムは、コンピュータ・システム内に有用な構成要素を有しうる。
【００５２】
本発明は、記載された実施例に限定されず、特許請求の範囲の精神及び範囲内の変更及び変形により実施されてもよい。例えば、理解されるべき点は、本発明があらゆる種類の半導体集積回路（「ＩＣ」）チップでの使用にも適することである。これらのＩＣチップの例は、限定ではなくプロセッサ、制御部、チップセット構成要素、プログラマブル・ロジック・アレイ（ＰＬＡ）、メモリ・チップ、ネットワーク・チップ等を含む。
【００５３】
図６は、本発明のある実施例で用いられるコンピュータ・システムを示す。プロセッサ７０５は、レベル１（Ｌ１）キャッシュ・メモリ７０６レベル２（Ｌ２）キャッシュ・メモリ７１０及びメイン・メモリ７１５からデータにアクセスする。ある実施例では、キャッシュ・メモリ７０６は、Ｌ１キャッシュをＬ２キャッシュのような他のメモリと一緒にコンピュータ・システムのメモリ階層構造内に有する複数のレベルのキャッシュ・メモリであってよい。また、キャッシュ・メモリ７１０は、Ｌ３キャッシュ又は更に多くの複数のレベルのキャッシュのような次に低いレベルのキャッシュである。更に、コンピュータ・システムは、１つより多いプロセッサ・コアのために共有されるキャッシュとしてキャッシュ・メモリ７１０を有してよい。プロセッサ７０５は如何なる数の処理コアを有してもよい。
【００５４】
メイン・メモリ７１５は、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、ハード・ディスク・ドライブ（ＨＤＤ）７２０、ＮＶＲＡＭ技術に基づく固体ディスク７２５のような種々のメモリ資源又はネットワーク・インターフェース７３０から若しくは無線インタフェース７４０を介しコンピュータ・システムから遠隔に設置された種々の記憶装置及び技術を含むメモリ資源により実施されてもよい。キャッシュ・メモリは、プロセッサ内又はプロセッサのローカル・バス７０７のようなプロセッサ近傍の何れかに設置されてもよい。
【００５５】
本発明の他の実施例は、しかしながら、他の回路、ロジック・ユニット又は図６のシステム内の装置に存在してもよい。更に、本発明の他の実施例は、複数の回路、ロジック・ユニット又は図６に示されたハードウェア、ソフトウェア若しくはそれらの組み合わせの形式の装置に分散されてもよい。
【００５６】
図７は、本発明のある実施例で用いられるポイント・ツー・ポイント・コンピュータ・システムを示す。特に、図７は、プロセッサ、メモリ及び入力／出力装置が多数のポイント・ツー・ポイント・インタフェースにより相互接続されるシステムを示す。
【００５７】
図７のシステムはまた、複数のプロセッサを有する。明確にするため、複数のプロセッサの内の２個のプロセッサ８７０、８８０のみが示される。プロセッサ８７０、８８０はそれぞれ、メモリ８５０、８５１と接続するため、ローカル・メモリ制御ハブ（ＭＣＨ）８１１、８２１を有する。プロセッサ８７０、８８０は、ポイント・ツー・ポイント（ＰｔＰ）インタフェース８５３を介し、ＰｔＰインタフェース回路８１２、８２２を用いデータを交換してよい。プロセッサ８７０、８８０はそれぞれ、個々のＰｔＰインタフェース８３０、８３１を介し、ポイント・ツー・ポイント・インタフェース回路８１３、８２３、８６０、８６１を用いチップセット８９０とデータを交換してもよい。チップセット８９０はまた、高性能グラフィック・インタフェース８５２を介し、高性能グラフィック回路８６２とデータを交換してもよい。本発明の実施例は、コンピュータ・バス（８３４若しくは８３５）に又はチップセット８９０内に結合されてよく、或いは図７のメモリ８５０に結合されてもよい。
【００５８】
本発明の他の実施例は、しかしながら、他の回路、ロジック・ユニット又は図７のシステム内の装置に存在してもよい。更に、本発明の他の実施例は、複数の回路、ロジック・ユニット又は図７に示された装置内に分散されてもよい。
【００５９】
更に、理解されるべき点は、例である大きさ／モデル／値／範囲が与えられるが、本発明の実施例はこれらに限定されないことである。製造技術（例えば、フォトリソグラフィ）は長い間に成熟しているので、より小さい大きさの装置が製造されうることが期待される。
【００６０】
本発明の多くの代替及び変更は、以上の記載を読んだ当業者に明らかである。以上の記載では任意の特定の実施例が説明として示され及び記載されたが、これらは限定的であると見なされるべきではない。従って、種々の実施例の詳細を参照することは、本発明に欠かせないと考えられる特徴のみを記載した請求項の範囲を制限するものではない。
【図１】
2010081606.tif 000005
【図２】
2010081606.tif 000006
【図３】
2010081606.tif 000007
【図４Ａ】
2010081606.tif 000008
【図４Ｂ】
2010081606.tif 000009
【図５】
2010081606.tif 000010
【図６】
2010081606.tif 000011
【図７】
2010081606.tif 000012
【外国語明細書】
2010081606000001.pdf