(57)【要約】【目的】  最小の信号スキューとひずみでマイクロプロセッサ装置の構成要素全体に同期クロック信号を提供するクロック供給システムを提供する。【構成】  集積回路装置用のクロック配分システムとクロック中断システムを含む。整合段階と関連した効果を無視すると、本発明は集積回路装置の様々な構成要素に１００ピコ秒以下のスキューでクロック信号を提供するクロック配分システム及びクロック中断システムを含む。本発明は配分クロック信号を均等に供給するためにいくつかの段階のドライバを利用し、各々の段階はＲＣ整合入力回線を有する。本発明はマイクロプロセッサトポロジィの周辺に位置する集積回路の電源リング内に整合段階とクロックドライバを有益に配置する。【選択図】  図４
2005032262.tif 000002
【特許請求の範囲】
【請求項１】
複数の回路構成要素とクロック生成器回路を有する集積回路の前記クロック生成器に基づく複数の同期クロック信号を前記複数の回路構成要素に供給するための装置において、
前記集積回路の周辺に沿って均一に配置した複数の同期クロック信号を生成する複数の大域クロックドライバ手段と、
各々が前記大域クロックドライバ手段に接続され、前記複数の同期クロック信号を前記集積回路の前記周辺から前記集積回路の前記複数の回路構成要素に供給する複数のフィード手段と、
前記集積回路の回路構成要素に近接している、複数のフィード手段を短絡するアラインメント線と、
前記対応する回路構成要素に同期クロック信号を供給するため、前記アラインメント線を対応する回路構成要素に接続して該アライメント線を介して同期クロック信号を当該回路構成要素に供給する接続手段とを、
を有する装置。
【請求項２】
前記集積回路は第１の高さ寸法を有するマイクロプロセッサ装置であり、前記複数のフィード手段の幅の合計が前記マイクロプロセッサ装置の第１の高さ寸法の５％を越えることがないよう構成された請求項１記載の装置。
【請求項３】
複数の回路構成要素を中央領域に有する集積回路の複数の同期クロック信号を前記複数の回路構成要素に供給する装置において、
基準クロック信号を生成するクロック生成器回路と、
前記基準クロック信号を共通クロック供給ネットワークを通して複数の中間クロックドライバに供給する共通クロックドライバであって、前記集積回路の上辺または下辺の中央部に配置された共通クロックドライバと、
前記共通クロックドライバからの基準クロック信号を複数の同期クロック信号として複数の大域クロックドライバに供給するもので、中間クロック供給ネットワークを通して、前記集積回路の周辺に沿って均一に配置した複数の大域クロックドライバに前記複数の同期クロック信号を供給する前記複数の中間クロックドライバと、
各々が前記大域クロックドライバに接続され、前記集積回路の周辺から前記集積回路の前記複数の回路構成要素に前記同期クロック信号を供給するため、前記集積回路の周辺の前記複数の大域クロックドライバからそれぞれ中央に延びそれぞれ開放した端部を有する複数のフィード線と
を有する装置。
【請求項４】
複数の回路構成要素を有する集積回路であって、複数の同期クロック信号を前記複数の回路構成要素に供給するとともに前記集積回路の電力管理を行う装置において、
前記集積回路に配置した複数の同期クロック信号を生成する複数の大域クロックドライバ手段と、
各々が大域クロックドライバ手段に接続された複数のフィード手段と、
前記複数のフィード手段の内の２以上のフィード手段を介して対応する回路構成要素に前記同期クロック信号を供給するアラインメント線と、
各々の大域ドライバ手段内に配置され、前記２以上のフィード手段に対応する大域クロックドライバ手段により供給される前記同期クロック信号を同時に中断するため各大域クロックドライバ手段内に設けられたデイスエーブル手段と、
前記デイスエーブル手段と前記集積回路装置に接続して前記デイスエーブル手段を制御して前記集積回路装置の様々な回路構成要素への前記同期クロック信号を選別的に中断ないし回復する電力管理手段と
を有する集積回路の電力管理用装置。
【請求項５】
複数の回路構成要素を有する集積回路であって、複数の同期クロック信号を前記複数の回路構成要素に供給するための装置であって、
前記集積回路の周辺に沿って均一な配列で配置した複数の同期クロック信号を生成する複数の大域クロックドライバ手段と、
各々が前記大域クロックドライバ手段に接続され、前記複数の同期クロック信号を前記集積回路の前記周辺から前記集積回路の前記複数の回路構成要素に供給する複数のフィード手段と、
を有する装置において、
前記複数のフィード手段の幅の合計が前記集積回路の第１の高さ寸法の５％を越えることがないよう構成された装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマイクロプロセッサアーキテクチャとレイアウト分野に関し、特にマイクロプロセッサ装置全体へのクロック信号配分に関する。
【背景技術】
【０００２】
集積回路の構成要素は、回路の活動と処理のための基準点ないし起動信号を提供するクロック信号のタイミングやパルスに基づいて作動する。クロック信号は更に、異なる回路がその各々の処理タスクを進めるときに採用するタイミングないし調整基準を提供する。クロック信号は回路構成要素による処理や実行が同期して行われるように、予測可能で遅延しないことが重要である。マイクロプロセッサ集積回路装置はタイミングやパルスを提供してマイクロプロセッサの様々な要素や処理を駆動するシステムクロックを利用するが、システムクロックがマイクロプロセッサの全ての構成要素に最小限のクロックスキューと最小限のクロック遅延で均一に供給されることが不可欠で、各々のシステム構成要素が全ての他の構成要素と共に同一クロック信号を同時に受け取るようにすべきである。
【０００３】
以下の説明ではクロック遅延とクロックスキューに付いて述べるが、クロック遅延とは集積回路内のクロック信号とシステムクロックの間のタイミング遅延で、他方、クロックスキューとは集積回路の様々な地点へのクロック遅延の変動である。クロック遅延を完全になくすことは物理的に不可能かも知れないが、この遅延を全ＩＣにわたって整合し、それにより様々な回路構成要素に対するクロックスキューをなくすことは不可能ではない。すなわち、集積回路内の２点が等しいクロック遅延を持てば、それらの間でクロックスキューはない。従って全回路構成要素に対してクロック遅延を整合し、それにより集積回路内のクロックスキューをなくすことは有益であり、本発明はそれを実現する。
【０００４】
マイクロプロセッサ集積装置はより早いクロック速度を用いるので、マイクロプロセッサ装置のトポロジィ内の変動はクロック信号を搬送、伝搬する金属回線内で遅延ないし誤差要素をもたらすことがある。クロック信号パルスが狭くなると、それらのクロック信号変動は最新のマイクロプロセッサ設計で重要になる。それらの要素はクロック信号内で伝搬誤差をもたらすようになり、それらがマイクロプロセッサの様々な構成要素に配分されるとクロック信号を遅延させる働きをする。クロック回線内の抵抗とクロック回線上の容量は、クロック信号が伝搬するとＲＣスキューをもたらす。更に信号回線に対して可変な誘電値をもたらすクロック回線を囲む構成要素の厚さの違いなど（絶縁層内の誘電厚さ変動など）、マイクロプロセッサの回路トポロジィ内の他の不連続性はクロック信号の伝搬誤差を増し加えることになる。それらの誘電変動はクロック信号回線の容量の一因となる。望まれるのは全体にわたり複雑な誘電変動を有する複雑なトポロジィを持つマイクロプロセッサ・アーキテクチャ内でマイクロプロセッサの全構成要素に同期化した同一クロック信号を与える技術である。
【０００５】
マイクロプロセッサ集積回路装置の構成要素にクロックを提供するいくつかの従来の方法が実施されている。図１Ａはそのような従来の方法を示しており、信号ドライバを用いてマイクロプロセッサ装置の全構成要素にクロック信号を供給する。マイクロプロセッサ集積回路装置１０は、その上部金属処理層が上向きになって示されている。この上部金属層内にあるのはマイクロプロセッサクロックを駆動するクロックドライバ１２からの接続点である。システムクロックは通常チップの外側から発振器ネットワークないし回路により入力する。クロック発振器はそこでクロックドライバ１２により駆動される。ドライバは非常に幅の広い回線１４ａに接続されており、回線は図示するようにツリーないし分岐方式でマイクロプロセッサ装置全体に接続されている。そこでマイクロプロセッサの異なる構成要素は、供給されるクロック信号に対するアクセスを得るために異なる地点の分岐構造に接続される。図示するように、ツリー１４ｂ、１４ｃの分岐の幅はクロックドライバ１２に直接接続された最初の回線１４ａよりも小さい。クロックドライバ１２に直接に接続された回線は、マイクロプロセッサ装置１０の構成要素全体にクロック信号を搬送するために広くしなければならない。
【０００６】
図１Ａの従来の方法では１つのクロックドライバ１２を利用して全チップに供給するので、ドライバは非常に高出力のドライバでなければならないが、これだけが従来の手法が高電流ドライバを利用する理由ではない。即ち回線の全ＲＣ成分を減少させるため、その幅を増やして回線１４Ａの抵抗を少なくすることが望まれる。クロックドライバ回線１４ａ、１４ｂ、１４ｃ内の抵抗は地点とドライバ間の信号回線の長さの関数であり、信号スキューは回線の抵抗と容量（ＲＣ）の関数である。信号回線が比較的小さい場合、回線容量の比例した増加は回線１４ａの幅を広げたことによる抵抗の比例的な減少に等しくはならない。回線１４ａを広げることで全体的なＲＣ積は減少する。しかし抵抗を減少することによって、ドライバの大きさを増大してクロック回線に追加電流を供給しなければならない。電力の増大はクロックスキューを削減するために使用する。この高出力ドライバはクロック信号と関連した過剰な量の雑音を形成することがある。このシステム下では、信号回線１４ａを広くして抵抗を下げるが、それは比較的高い出力のクロックドライバを必要とする。上記はすべて信号スキューを減少させるために行われる。
【０００７】
図１Ａの従来の方法では信号回線の長さが長いので、この方法のクロック信号に関連したスキューは非常に大きく、構成要素の間で予測することはできない。大きなマイクロプロセッサでは、このスキューの大きさは  １．０ナノ秒にもなる。これは５０メガヘルツを優に超える速度で作動する最新のコンピュータでは受け入れがたいレベルのスキューである。更に信号回線の異なる幅（即ち非常に広い回線１４ａから狭い回線１４ｃ）は、信号回線の長さによりマイクロプロセッサ装置１０全体に流される信号でより異なるスキューの一因となる。従ってこの従来の手法は高出力（従って雑音の多い）クロックドライバを必要とし、クロック信号に関連した対応する大量の異なるスキューを有する。必要なのはマイクロプロセッサ全体に供給されるクロック信号内のスキューの量を高出力ドライバに依存することなく削減するクロック配分システムである。本発明はそのような機能を提供する。
【０００８】
図１Ｂは、それぞれ同一クロック信号入力を受け取るいくつかの異なる電流ドライバ１７ａ−１７ｄを利用する別の従来のクロック供給の実施を示すものである。各々のドライバの出力はマイクロプロセッサ内の別々の回路ブロックに接続されている。例えばドライバ１７ａはブロック１５ａに接続されており、ドライバ１７ｂはブロック１５ｂに接続されており、各々のブロック１５ａ−１５ｄはそのクロック信号をそれぞれ１７ａ−１７ｄの別々のドライバにより受け取る。それらの回線の各々の幅は一定となるように制御されている。構成要素１５ａ−１５ｄはクロック生成器に対して異なる距離に位置しているので、回線１８、１９、２０、２１は一定距離を保つために一部で折り返している。例えば回線１８は長さが回線１９などと等しくなるように数回折り返した回線を有している。最長の回線２０は折り返しがなく、全ての他のクロック回線の長さを決定する。そうすることでこの設計のマイクロプロセッサ装置１０はクロック信号を各々の構成要素に伝える。このシステムは、回線は小さくクロック信号を配分するより多くの別々の回線があるので、低出力ドライバ１７ａ−１７ｄを利用することができる。
【０００９】
理論的には図１Ｂの従来の設計は作動するように思われるが、いくつかの欠点がある。まずクロックドライバから構成要素への全信号回線を通して回線１８−２１の各々で一定の幅を維持できない可能性がある。また回線の各々はマイクロプロセッサの異なる回路トポロジィの上ないし下で横切り、それは全体的な回線の効果的な容量を変えることになる。マイクロプロセッサの処理段階の信号回線の製造における制御不可能な差は、それらの回線の誘電厚さを２０パーセントまで影響を与え、それはそれらの回線の容量に影響を与え、トポロジィ的な不一致の一因となる。
【００１０】
要するにマイクロプロセッサ装置１０の全トポロジィを通してクロック信号回線の容量値と抵抗値を整合するのは不可能である。クロック信号回線１８−２１の抵抗と容量の変動は、マイクロプロセッサの構成要素に供給されるクロック信号内で望ましくない信号スキューを生じる。従って誘電値の違いと処理における不規則性により、この従来の方法を達成することはできない。望まれるのはマイクロプロセッサ装置全体でトポロジィや処理の多様性に関わりなく、マイクロプロセッサの全ての構成要素に比較的一定し、予測可能なクロック信号を供給できるシステムである。本発明はそのような機能を提供する。
【００１１】
図１Ｃに第３の従来の設計を示す。このシステムでは、多くのクロックドライバ２１がマイクロプロセッサ装置１０の中央ストリップにあり、各々のドライバの水平信号回線を利用してチップのトポロジィにわたって左右に外向き、水平にクロック信号を供給する。クロックドライバ２１はマイクロプロセッサの全範囲にわたって配分されている。各々の水平ドライバ回線の最大長はマイクロプロセッサチップの長さの半分である。様々な回路構成要素２４、２５はドライバがクロック信号を供給する例示した水平クロック信号回線に接続する。クロックドライバの各々には、電力パッドが位置されたチップの外側部分に接続された電力線２３を通して電力が供給される。ドライバ２１の各々は電力に接続されなければならない。初期クロック信号はマイクロプロセッサ装置１０の中央ストリップを通してクロックドライバ２１に供給される。この従来の方法は分散クロック方式である。
【００１２】
図１Ｃの従来の方法は、クロックドライバ２１およびクロック信号をドライバにもたらす論理は、マイクロプロセッサの中央ストリップ内で過剰な回路スペース量を費やすという欠点がある。マイクロプロセッサのこのスペースをクロック供給機能だけ以外の他の目的に利用できる方が有益である。更にクロックドライバ２１はチップの電力パッド２８（端に位置している）から遠く離れているので、この設計に大きな電力線２３を組み込んでクロックドライバ２１に電力を供給する必要がある。それらの高電力線に関連した抵抗は、マイクロプロセッサ全体で早いプロセッサ作動速度では受け入れがたい過剰な量の雑音をもたらす（ＩＲ雑音により大きな抵抗は電力線に関連したより多くの雑音をもたらす）。従って必要とされるのは貴重な回路スペース（特に非常に貴重と考えられるトポロジィの中央部分内の回路スペース）を費やさず、マイクロプロセッサ内で過剰な量の雑音を生成せずにマイクロプロセッサ全体に同期化クロック信号を供給するシステムである。本発明はそのような有益な機能を提供する。
【００１３】
更にクロック配分システムに関して、マイクロプロセッサ装置に供給するクロック信号を中断できれば有益である。特定の応用、特にラップトップシステムでは、マイクロプロセッサに供給されるクロックパルスを削減して電力を節約することが有益である。マイクロプロセッサ内の個々の構成要素ではなくマイクロプロセッサ全体に供給されるクロック信号を制御する従来のシステムが開発されている。しかしクロック信号のマイクロプロセッサの様々な構成要素に対する適用を独立的かつ選別的に制御できれば有益である。一部のマイクロプロセッサ構成要素へのクロック信号を選別的に中断し、他は正常に作動できるようにしてマイクロプロセッサ装置内で電力管理機能を行うことができれば有益である。本発明はそのような機能を可能にする。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
従って本発明の目的は最小の信号スキューとひずみで集積マイクロプロセッサ装置の構成要素全体に同期クロック信号を供給できるクロック供給システムを提供することである。
本発明の別の目的は他の有益な目的に使用できるマイクロプロセッサの貴重な回路スペースを取らない分散クロックシステムを提供することである。
本発明の更なる目的は比較的長い高出力線を利用せず、従ってクロック信号と関連した過剰な量の信号雑音を生成しないシステムで上記の機能を提供することである。
更に本発明の機能として、電力管理機能のために、分散システムのクロックドライバ装置を個別に抑止してマイクロプロセッサ装置の個々の回路構成要素へのクロック信号を一時的に停止するシステムで上記の機能を提供する。
【課題を解決するための手段】
【００１５】
本発明は集積回路装置用のクロック配分システムとクロック中断システムを含む。整合段階と関連した効果を無視すると、本発明は集積回路装置の様々な構成要素に１００ピコ秒以下のスキューでクロック信号を提供するクロック配分システム及びクロック中断システムを含む。整合入力段階の効果を考慮すると、上記の値は処理の不完全性と整合入力段階に関連した不完全性故に３００ピコ秒近くになる。本発明は配分クロック信号を均等に供給するためにいくつかの段階のドライバを利用し、各々の段階はＲＣ整合入力回線を有する。本発明はマイクロプロセッサトポロジィの周辺に位置する集積回路の電源リング内に整合段階とクロックドライバを有益に配置する。これはそれらの回線を取り囲むトポロジィを適切に予測してそれらの回線の容量を整合するために行う。更にこの金属レベルは単位面積当り少ない抵抗を持ち、他のＩＣ構成要素や回路との空間的な競合を全般的に避ける幅の大きな回線（最上部層として厚くすることができるので）を提供する。本発明は更に、電力管理装置で集積回路内の様々な構成要素とクロック配分システム内に含まれるイネーブルネットワークの電力を選別的に低下する機能を提供する。
【００１６】
特に本発明は、複数の回路構成要素とクロック発生器回路を有する集積回路であって、集積回路の周辺に沿って均一に配置した複数の同期クロック信号を生成する複数の大域クロックドライバ手段と、各々は大域クロックドライバ手段に接続され、複数の同期クロック信号を集積回路の周辺から集積回路の複数の回路構成要素に供給する複数のフィード手段とからなる、クロック生成器回路から導かれた複数の同期クロック信号を複数の回路構成要素に供給する装置である。本発明の実施例は上記と更に、集積回路を電源に接続するため集積回路内に空間領域を提供する電力セル手段を含み、大域クロックドライバ手段は集積回路の電力セル手段内に配置する。
【００１７】
本発明は、複数の回路構成要素を有するマイクロプロセッサで、マイクロプロセッサ内に配置した複数の同期クロック信号を生成する複数の大域クロックドライバ手段と、各々は大域クロックドライバ手段に接続され、マイクロプロセッサの個々の回路構成要素にクロック信号を供給する複数のフィード手段と、各々の大域ドライバ手段内に配置され、個々の回路構成要素に供給されるクロック信号を中断するデイスエーブル手段と、デイスエーブル手段とマイクロプロセッサに接続してデイスエーブル手段を制御してマイクロプロセッサの様々な回路構成要素への同期クロック信号を選別的に中断ないし回復する電力管理手段とからなるマイクロプロセッサの電力管理用装置である。
【発明を実施するための最良の形態】
【００１８】
本発明にはクロック信号の所与の供給地点で予測可能で最小量の信号スキュー（１００ピコ秒以下）しかないようにマイクロプロセッサ装置の構成要素全体にクロック信号を配分する装置と方法が含まれる。本発明の配分システムを用いることで、クロック信号は構成要素により選択された特定のタップ地点に関わりなく、比較的同時にマイクロプロセッサの各々の構成要素に到達する。マイクロプロセッサトポロジィの外縁（周辺）に沿って、マイクロプロセッサの中心ないし内部に向けて信号を送るクロックドライバを配置する。クロック信号ドライバはマイクロプロセッサの電力パッドの周囲空間内にある。電力パッドのそれらの周囲空間はさもなくば一般にマイクロプロセッサで使用せず、従って本発明の信号ドライバは使用可能な回路空間を浪費しないことになる。また信号ドライバは集積回路マイクロプロセッサ装置の端部に位置しているので、それらは電源ピン近くにあることになる。従って電源回線は短いのでクロックドライバに電力を与える回線内の抵抗は非常に低い。
【００１９】
更に本発明には、各々のクロックドライバに対して、各々のクロックドライバを抑止して一時的にマイクロプロセッサの様々な構成要素に供給されるクロック信号を中断できるようにイネーブル機能を含める。これを行うことで電力管理機能中にマイクロプロセッサの特定の構成要素の電力を選別的に落とすことができる。この機能はラップトップコンピュータシステムないし電池式システムで使用するマイクロプロセッサで特に有用である。
本発明の以下の詳細な説明では、本発明の完全な理解を提供するため、数々の特定の詳細を述べるが、当業者にはそれらの特定の詳細がなくても本発明を実施できることが明かであろう。他の場合には、本発明を不必要に曖昧なものにしないため、よく知られた方法、構成要素、システム、電子技術は説明していない。更に本発明の以下の図面の構成要素は空間的に縮尺通りには描かれておらず、本発明の構成要素は純粋に縮尺のためよりも例示及び明示するためにそれらの図面で描かれている。
【００２０】
一般に図９のブロック図形式で示した本発明の実施例で使用するコンピュータシステム１３０は、情報を通信するバス１００と、バスに接続され情報や命令を処理する中央演算処理装置１０１と、バス１００に接続され中央演算処理装置１０１のための情報や命令を記憶するランダムアクセスメモリ１０２と、バス１００と接続され中央演算処理装置１０１のための静的情報や命令を記憶する読取り専用メモリ１０３と、バス１００と接続され情報や命令を記憶する磁気ないし光学式ディスクとディスクドライブなどのデータ記憶装置１０４と、バス１００と接続され情報をコンピュータユーザに表示するディスプレィ装置１０５と、バス１００に接続され情報や命令選択を中央演算処理装置１０１に通信する英数字及び機能キーを含む英数字入力装置１０６と、バス１００に接続されユーザ入力情報やコマンド選択を中央演算処理装置１０１に通信するカーソル制御装置１０７と、バス１００に接続されコマンド選択を中央演算処理装置１０１に通信する信号生成装置１０８とからなる。本発明のマイクロプロセッサには、マイクロプロセッサに供給するシステムクロックを生成するため他のよく知られたクロック生成回路と共に使用する水晶発振器１１０が接続されている。共通のクロックドライバ３０１（図９には図示せず）を接続して発振器回路１１０により生成されたクロック信号を受信して増幅する。本発明の実施例は、回路１１０とドライバ３０１の間に接続するＰＬＬ回路を使用できることが分かる。そのようなＰＬＬは本発明のクロック供給機能で実際のクロック信号の遅延を削減するために利用する。
【００２１】
本発明のコンピュータシステムで利用する図９のディスプレィ装置１０５は、ユーザが認識できる図形画像や英数字を作成する液晶装置、陰極管その他の適切な装置とすることができる。カーソル制御装置１０７によりコンピュータユーザはディスプレィ装置１０５の表示画面上で可視カーソル記号（ポインタ）の二次元移動を動的に示すことができる。所与の方向の移動あるいは転移方法を通知できるトラックボール、マウス、ジョイスティックあるいは英数字入力装置１０６上の特殊キーを含め、従来技術では多くのカーソル制御装置の実施が知られている。カーソル手段１０７は特殊キーやキーシーケンスコマンドを用いてキーボードからの入力を通して方向付けしたり起動できることが理解されよう。
【００２２】
以下の詳細な説明では、マイクロプロセッサ集積回路内の本発明のクロック配分・中断システムを説明する。しかし本発明の利点、設計、構成要素はクロック信号を使用する任意の集積回路で実施でき、マイクロプロセッサは本発明の機能性の例示として説明されていることが理解されよう。従って本発明はマイクロプロセッサ装置の技術や環境に制限されず、全てのクロック駆動式集積回路装置に適用されることが理解されよう。
【００２３】
本発明のクロック配分ネットワーク
本発明の実施例を示す図２を参照する。図にはマイクロプロセッサ集積回路２００の最上部処理層が示されている。本発明では、大域ドライバ３０をマイクロプロセッサ２００の左右の端に沿って配置する。各々の大域ドライバ３０には整合入力回線（図示せず）を通してクロック信号が供給される。各々の大域ドライバ３０はフィード線３１によりクロック信号をマイクロプロセッサ２００の中央部分に送り込む。フィード線３１はそれぞれ、システムクロック信号をフィード線３１に供給する別々の大域ドライバ３０に接続されている。大域ドライバをマイクロプロセッサの左右の周辺に沿って配置し、ドライバフィード線を内向きに配置することで、本発明はシステムクロックをマイクロプロセッサ２００のトポロジィ全体で多くの場所に提供することができる。クロック信号は任意のフィード線でタップしてマイクロプロセッサ２００の任意の構成要素ないしサブ回路にクロック信号を供給することができる。
【００２４】
フィード線３１は一般的な半導体処理過程中に適用される第４レベル金属であるＭ４金属で構成されている。金属Ｍ４（上部レベル金属）は大部分アルミニウムで構成され（９０％以上）、半導体処理で使用される最小抵抗金属の１つである。本発明ではこのプロセスレベルによりフィード線の抵抗を削減するためにフィード線を非常に厚くすることができるため、Ｍ４を利用する。Ｍ４レベルは更に、このレベルはマイクロプロセッサの回路トポロジィの残りから空間的に比較的離れて位置している本発明の電力線の処理と関連しているので選択されている。それらの回線は回路トポロジィから離れているので、トポロジィに干渉せず、回路トポロジィの使用可能な空間を取らない。更に、主要クロック供給回線（即ち後述する３４０、３４１、３４２など）その他のクロック信号回線をＭ４レベルに配置することで、電力線レベルで関連した比較的一定した誘電体を有する非常に予測可能な低レベルトポロジィが見られるので、それらの回線のＲＣ整合を容易に行うことができるが、一方でマイクロプロセッサトポロジィの残りはＲＣ整合に対して多様で予測不可能である。
【００２５】
クロックドライバ用に本発明の実施例で利用するトランジスタはＣＭＯＳ技術である。これはＣＭＯＳドライバはＢｉＣＭＯＳ、ＮＭＯＳ技術と比較して電源の変動に対して敏感でなく、従ってＣＭＯＳドライバは結果的なクロック信号内でより均一的なデューティサイクルを形成する傾向があるので選択する。本発明は５０％デューティサイクルのクロック信号を利用する。ＣＭＯＳドライバはより等価な信号立上がり、立下がり時間を有し、より均一でバランスの取れたクロック信号を形成する。
【００２６】
本発明の動作理論を説明する。整合信号回線、即ち各々の回線に付いて整合した抵抗及び容量を有する信号回線は、マイクロプロセッサ装置の構成要素にわたる信号遅延の変動の削減を助ける。不整合の結果としての信号スキューあるいはＲＣスキュー（クロック遅延の変動）は、クロック供給回線内の有効抵抗と容量を削減することにより（フィード線内で）削減することができる。しかし完全に整合した信号回線を作成することは、集積回路の処理の変動、信号回線を取り囲むマイクロプロセッサのトポロジィ内の変動、回路設計者が制御できないその他の変動故に、マイクロプロセッサ装置全体で達成することはできない。クロック信号供給回線内の全ての地点ないしタップで整合した信号回線を提供しようとする代わりに、本発明はマイクロプロセッサ２００全体に多くのフィード線を提供する多くの大域クロックドライバを設けようとする。そうすることで、本発明はクロック信号に到達できる、ないし「タップ」できる多くの場所を提供する。従ってマイクロプロセッサ装置内の任意の所与の地点に付いて、その地点と最も近いクロック供給回線の間の距離は比較的短い距離しかない。回路ブロックとクロック供給回線３１の間の距離を削減することで、本発明はクロック信号供給ネットワークに関連した誤差やスキューを削減する。本発明では、フィード線に沿った任意の地点でクロック信号に関してスキューは最大１００ピコ秒しかない。
【００２７】
本発明で達成する主要なタスクは、各々のフィード線にそれぞれ他のフィード線と同期した同期クロック信号を与えることである。これは分岐ツリー状の中間クロックドライバを使用する様々な段階の整合クロックネットワークを用いて各々のフィード線に他のフィード線と同期したクロック信号を供給することで行うことができる。従ってフィード線に沿った任意のタップ位置で、その位置に関連したいくらかのクロック信号スキューがある。本発明は多くの大域ドライバを設け、図２に示すようにマイクロプロセッサ装置全体でそれらを均等に配分することでクロックドライバとタップ位置の間の距離を削減することでスキューの量を減少させようとするものである。本発明では、マイクロプロセッサ内の構成要素はフィード線３１内の位置にタップして回路１１０により生成されるメインシステムクロック信号に関してわずか１００ピコ秒（０．１ナノ秒）のスキュー（最後の金属４層と関連）しか含まないクロック信号を受信することができる。更に総合分析では整合入力段階の不整合構成要素に関連した約２００ピコ秒ないしそれ以下のスキューがある。
【００２８】
本発明はマイクロプロセッサ２００の左右の端に沿って多くの大域ドライバ（約３０）を設け、各々からフィード線をマイクロプロセッサ装置の中心位置に供給することで最大１００ピコ秒の信号スキューを達成する。合計して本発明のクロック配分回路は約６０の大域ドライバ（各々の側に３０づつ）と６０本のフィード線を含み、クロック信号をマイクロプロセッサの構成要素に供給する。任意のフィード線３１の最長の長さはマイクロプロセッサ集積回路装置の長さの約半分である。図２のマイクロプロセッサ２００の各々の側には３０の大域ドライバが設けられているが、本発明の範囲内で任意の数の大域ドライバを設けることができることは理解されよう。本発明が供給するのはマイクロプロセッサの内部回路部分に供給する均等に配分したドライバである。この配分は場合により多くのあるいは少ない数の大域ドライバを用いて達成することができる。
【００２９】
本発明の実施例は大域ドライバ３０を集積回路の電力パッド領域と共にマイクロプロセッサ装置の周辺に有利に配置する。電力はマイクロプロセッサ装置の周辺に沿って配置された様々な電力パッドセルを通してマイクロプロセッサ２００に配送される。各々の電力パッドセルを取り囲んでいるのは、一般に回路の空所となっている集積回路領域である。通信パッドとは異なり、電力パッドセルは関連した複雑な入出力回路及びマイクロプロセッサを外部システムにインターフェイスするのに必要なＥＳＤ保護（静電放電）回路を持たないのでその位置に設けることができる。従って電力パッドを囲む領域（セル）は一般に回路がなく、本発明で大域ドライバを配置して有益に利用することができる。更にクロックドライバを電力パッドセル近くに配置することで、その比較的大きな幅によりクロック回線の有効容量性負荷を補償するための強力な電源を受け取る。更に大域ドライバを電源近くに配置することで、電源回線は短くなり（そして電流に対する抵抗が少なくなる）、従って発生する回路雑音は少なくなる。
【００３０】
図３は本発明の実施例の構成要素を更に詳細に例示したものである。図３はマイクロプロセッサチップの片側（左）に存在する本発明の回路を例示しており、この回路を反対側（右）のために複製できることが理解されよう。従ってチップの左側に関する説明はマイクロプロセッサ２００の反対側と類似であり、等しい重みで適用されることが理解されよう。大域ドライバ３０と関連供給回路（即ちドライバ３１４）は実際の電力パッドそれ自身により占有されない電力パッドセル３５０の領域内に位置している。上述したように、この領域は一般にマイクロプロセッサトポロジィで使用しない。大域ドライバと関連供給回路の各々は電力パッドセル内に位置し、例示したセル３５０はマイクロプロセッサの多くのセルの１つであることが理解されよう。
【００３１】
大域ドライバ３０の各々が同期クロック信号を生成するようにするため、本発明はそれぞれ共通ドライバといくつかの中間ドライバからなる特殊な整合ネットワークを有する２つの供給段階を利用する。共通ドライバはそれぞれ１組のいくつかの大域ドライバに供給する中間ドライバに供給する。共通ドライバ３０１は中間ドライバを共通ドライバに接続する共通ネットワーク３４０−３４４（各々の側で）を通してクロック信号を供給する。中間ドライバは中間ネットワーク３６１−３６５を通して大域ドライバに接続する。図３に示すように、マイクロプロセッサ２００の上部中央部分に共通信号ドライバ３０１がある。この共通ドライバはマイクロプロセッサ内の任意の位置ないしマイクロプロセッサの周辺に配置することができる。本発明の実施例では、マイクロプロセッサ２００の両側にクロック信号を供給できるように２つの対向する端部から当距離の上部中央位置を選択している。共通ドライバ３０１はクロック信号をいくつかの中間クロックドライバ３１０、３１１、３１２、３１３、３１４に供給する。５つのそのような中間クロックドライバは例示のために選択されているが、中間ドライバの実際の数は本発明の実施例内で任意の数とすることができる。クロック信号を共通ドライバ３０１から中間ドライバ３１０−３１４の各々に供給する５本の信号回線３４０−３４４がある。
【００３２】
共通ネットワークの５本の各々の回線３４０−３４４は各々の回線が類似のＲＣ値を持ち、それにより整合したスキューを持つようにその抵抗と容量値に関して整合されている。それらの５本の回線の抵抗値は、本発明では各々に付いて同一長さの信号回線を用いることで整合している。これは距離の短い回線はそれらが長い供給回線と等しくなるように繰り返し折り返す折返し手法により行うことができる。例えば中間ドライバ３１４は共通ドライバ３０１から最長距離にあり、従って接続回線３４４は折返し長さはない。しかしドライバ３１０は共通ドライバ３０１に最も近く、従ってこの回線３４０は少なくとも３つの折返し長さを持つ。同様に共通ネットワークの回線３４１、３４２、３４３は共通ドライバ３０１と回線の関連中間ドライバ３１１、３１２、３１３の間の距離に相対的に異なる度合の折返し長さを持つことになる。更に５本の回線の各々はマイクロプロセッサの最上部処理層に沿って同一幅を持つように構成する。従って共通ネットワークの回線３４０−３４４の各々は有効抵抗を整合するために同一長さと幅に構成される。回線３４０−３４４の各々と共通供給回線３０３はＭ４金属で構成することが理解されよう。
【００３３】
共通供給回線３０３と共通ネットワークの回線３４０−３４４の各々は、電力供給リングないし等化リングと呼ばれる領域内のマイクロプロセッサの周辺に沿ってルートづけする。これを行うのはこのリングのマイクロプロセッサのトポロジィはかなり一定しており、従って５本の回線に関連した誘電率は一定であるからである。従って各々の回線の容量はかなり一定し、予測可能である。更にそれらの信号回線をマイクロプロセッサの電源リング内に配置することで経路と折り返し長さをよく制御できる。更に５本の回線の各々は同じ負荷で終結する。上記の全ては供給回線３４０−３４４の抵抗−容量（ＲＣ）特性を整合するために行う。上記を行うことで中間クロックドライバ３１０−３１４への供給回線は「整合」され、整合ネットワークを実現できる。
【００３４】
図３の各々の中間ドライバは６つの別々の集合の大域ドライバに供給する。集合３２０は３０ａ−３０ｆとして示す６つの大域ドライバからなる。同様に中間ドライバ３１１は中間ネットワーク３６２を通して集合３２１の６つの大域ドライバに供給する。またドライバ３１４は中間ネットワーク３６５を通して集合３２４に供給する。同様にドライバ３１２、３１３はそれぞれ明示のため図示していない別々の集合の６つの大域ドライバに供給する。ドライバ３１２、３１３により供給される大域ドライバの各々の集合はここに説明、例示するドライバ集合と類似であることが理解されよう。供給ネットワーク３６１は中間ドライバ３１０と各々の大域ドライバ３０ａ−３０ｆの間の供給回線の各々は同じ長さと幅になるように整合されている。更にネットワーク３６１は電源リング内に構成されているので、各々の回線はかなり一定した容量性負荷を含み、ネットワーク３６１全体はＲＣ整合がなされている。ネットワーク３６２、３６５及び図示しないドライバ３１２、３１３と関連したものは全てに同じことが当てはまり、それらはすべてＲＣ整合がなされている。従って本発明によれば、大域ドライバに対するクロック供給は２段階あることになる。第１段階はクロック信号を整合ネットワーク（回線３４０−３４４）を通して中間ドライバ３１０−３１４の集合に供給する１つの中間ドライバ３１０からなる。第２段階はそれぞれクロック信号を整合ネットワーク（３６１、３６２、３６５など）を通して６つの大域クロックドライバの別々の集合に供給する中間ドライバからなる。その供給方式をこのように構成することで、本発明により大域クロックドライバの各々は共通ドライバ３０１で生成される信号に関して１００ピコ秒以下のスキュー（フィード線と関連したもの、整合段階で更に追加される可能性がある）を含む同期クロック信号を受信、生成することができる。
【００３５】
更に本発明では、中間及び大域ドライバをマイクロプロセッサの周辺に沿って位置しているマイクロプロセッサ２００の電力パッドに隣合わせに配置する。これを行うのはドライバがマイクロプロセッサトポロジィの全てのクロック化構成要素に対してクロック信号を送るのに高出力を必要とするからである。更にドライバに供給する電力線が比較的短くなるようにクロックドライバ（中間及び大域ドライバの両方）を電力パッドに隣合わせで配置するのが望ましい。回線が短ければそれに関連した抵抗は少なくなる。本発明の低抵抗電力線は更に生成する雑音レベルが少ない。電力線内の抵抗と関連雑音を少なくすることで、本発明のクロックドライバはクロックと関連した雑音レベルが少ないと共に早い立ち上がり、立ち下がり時間を持つ。共通ドライバ３０１は更に右側の大域ドライバ（図示せず）にも供給することが理解されよう。マイクロプロセッサの右側には左側のドライバに関して説明したものと同じ２つの整合段階が含まれている。共通ドライバ３０１には集積回路技術ではよく知られている外部ピンないしクロック生成器、あるいは発振器回路からクロック信号を供給することができる。
【００３６】
更に上述したように、水晶発振器１１０（図９を参照）と共通ドライバ３０１の間に接続するＰＬＬ回路を利用することができる。ＰＬＬ回路は水晶発振器１１０を１つの入力として受け、また任意のフィード線から選択された（即ち３１ｂ）第２のフィードバック入力を受ける。ＰＬＬ回路（図示せず）の出力はそこで共通ドライバ３０１の入力と接続する。そのようなＰＬＬクロック供給回路の詳細は本発明の理解に関係ないことが理解されよう。
【００３７】
大域ドライバ回路と関連したフィード線の各々は比較的幅が広いので、高い容量を持つ。しかしそれらはＭ４金属で造られているので、低い抵抗しか持たず、従って回線の距離に沿って低いＲＣスキューしか関わっていない。フィード線３１ａ−３１Ｌは集合３２０、３２１の大域ドライバと結合している。従ってマイクロプロセッサの縁に沿って３０の大域ドライバがあるので、図３のマイクロプロセッサ２００の例示した縁に関連して３０本のフィード線３１がある。本発明の実施例では、両側の６つの集合３２０−３２４の各々のフィード線の全ての幅（即ち合計６０本のフィード線）の合計幅（高さ）は、マイクロプロセッサの合計高さの５パーセントに等しいかそれ以下でなければならない。従ってマイクロプロセッサ２００の寸法３３５は約１２，０００ミクロンであるので、この図の５％は約６００ミクロンである。従って本例の各々のフィード線は約６００／６０即ち幅１０ミクロンである。しかし概してフィード線は最大幅１０から２０ミクロンとすることができる。従ってマイクロプロセッサ装置の大きさは１２，０００×１２，０００ミクロンであるので、この長さの半分は６０００ミクロン即ち各々のフィード線の長さとなる。本発明のフィード線の寸法は従って６０００×１０ミクロンである。６０本のフィード線があるので、フィード線の合計面積は６００×６０００ミクロンであり、マイクロプロセッサ２００の両供給側の大域ドライバのクロック供給回線とともに１０の自乗の抵抗をもたらす。この幅では、フィード線は幅の小さいクロック回線よりも比較的大きな容量を持つことが分かる。しかし各々のフィード線はＭ４で構成するので、フィード線は極度に低い抵抗を持ち、従ってフィード線に関連したＲＣスキューは低い。
【００３８】
ここで図４を参照する。本発明では、マイクロプロセッサの上部処理層に沿ってマイクロプロセッサ・トポロジィ全体にクロック信号を供給する６０本のフィード線３１がある。それらのフィード線はマイクロプロセッサの様々な構成要素の入力クロック回線と接続しなければならない。しかし構成要素ブロックの入力信号回線をフィード線位置に整列するのは困難である。従って本発明の実施例では、フィード線と関連した垂直アラインメント線を備えて隣接するフィード線とクロック接続を必要とするマイクロプロセッサ回路ブロックの間の接続を形成している。図４にはそれぞれ幅１０−１５ミクロンのそれらの垂直アラインメント線を例示している。図には４つのマイクロプロセッサブロック４２０、４２５、４３０、４４０がある。それらのブロックは入力クロック信号を必要とするが、各々のブロックの入力クロック回線は近くのフィード線と垂直に整列していない可能性がある。従って垂直アラインメント線４５０が隣接するフィード線３１ａ，３１ｂ，３１ｃに対する構成要素ブロック４２５のクロック入力回線を短絡する役割をする。それらの回線と関連大域ドライバ３０ａ、３０ｂ、３０ｃをグループ４６０と称する。このグループ４６０はクロック信号を回路ブロック４２５に供給する。同様にフィード線３１ｄ、３１ｅ、３１ｆで構成されたグループ４６１はアラインメント線４５１を通して回路ブロック４２０に供給する。グループ４６２はアラインメント線４５２を通してクロック信号を回路ブロック４３０に供給し、グループ４６３はアラインメント線４５３を通して回路ブロック４４０に供給する。それらのアラインメント線を設けることで、本発明は個々の回路ブロック４２０、４２５、４３０、４４０の各々の設計者が特定のフィード線と垂直に整列した入力クロック回線を設計する必要のないクロック配分システムを提供する。即ち必要とされるのはクロック入力回線が回路構成要素のトポロジィ内のどこかで垂直アラインメント線を横切って走らせるだけである。
【００３９】
垂直アラインメント線は更に、完全に水平に整列していない可能性のあるフィード線の様々な部分を結合する役割をする。例えばフィード線３１ｄ、３１ｅ、３１ｆはアラインメント線４５１の左右の側で完全に整列していない。回線３１ｄは右側でわずかに低下しており、回線３１ｅ、３１ｆは右側に少し上がっている。アラインメント線４５１はそれらのわずかなずれを接続し、それらのフィード線の様々な部分を一つに結合する。ずれの量はフィード線の部分間で一般に数ミクロン程度である。
【００４０】
図４を更に参照して、垂直アラインメント線の各々はＭ４金属よりも低レベルの金属であるＭ３金属で構成している。本発明では、電力及びクロックの両信号はＭ４レベルと平行に走り、垂直接続線はそれら異なる回線を短絡し望ましくないので、Ｍ３を利用する。従ってその結果を避けるため、異なるレベルのＭ３を選択して垂直アラインメント線を走らせている。フィード線のいずれの所与のグループに付いてもアラインメント線は２本しかない。これはアラインメント線の追加に付け加わる抵抗の増大による。図４に示すように、アラインメント線４５５はグループ４６３に追加された２本目のアラインメント線である。この回線４５５は回路ブロック４３５を電力を供給するために追加している。グループ４６３のフィード線に接続された２本の垂直アラインメント線４５３、４５５があるので、グループ４６３に取り付ける追加の垂直アラインメント線はないことになる。マイクロプロセッサにわたりＭ４フィード線３１がより均等であればあるほど、Ｍ３アラインメント線の寄与する抵抗は少なくなることに留意する。言い替えれば垂直アラインメント線が離れて広がった隣接フィード線を短絡する場合、フィード線が密接して配置されている場合よりも、アラインメント線はクロック供給ネットワークに対する比較的より多くの抵抗と信号スキューの一因となる。従って本発明に依れば、フィード線３１ａ−３１ｌをマイクロプロセッサ側部にわたり均等に配置することが有利である。本発明内で垂直アラインメント線は一般に２本から８本のフィード線を短絡することが理解されよう。
【００４１】
図４は、本発明のクロック配分ネットワークの左側の５グループの２つのグループ３２０と３２１しか例示していないことが分かる。他の３つのグループも同様に接続してマイクロプロセッサ２００の様々な他の構成要素ブロックに対するクロック回路を供給することが分かる。更にマイクロプロセッサの右側も同様に接続することが分かる。図４では本発明の大域ドライバグループ３２０と３２１のみを明示のために示しているが、本発明の全クロック配分ネットワークは同様の構造と機能を含んでいることが分かる。従って上記の説明により、本発明のクロック配分ネットワークはマイクロプロセッサ・トポロジィの様々な構成要素ブロックを接続できる６０本のフィード線を有利に設けることになる。６０本のいずれのフィード線のいずれの地点でも、構成要素ブロックは本発明の独特かつ有益なクロック配分システムにより、１００ピコ秒以下のクロックスキューのクロック信号を受けることを予期できる。
【００４２】
マイクロプロセッサ２００の各々の垂直端部に対して３０の大域ドライバを選択したのは、純粋に任意の数であり、本発明の範囲内でより多くのあるいは少ない数を選択することができる。唯一限られているのはクロック信号の生成と配分を可能にするマイクロプロセッサのトポロジィ内の自由空間量である。マイクロプロセッサ２００の回路構成要素はマイクロプロセッサ全体に寄与するために利用する構成要素である。それらの構成要素は一般に中でも算術論理装置（ＡＬＵ）、命令取出し装置（ＩＦＵ）、実行装置、キャッシュ装置、バス制御装置を含めることができる。
【００４３】
本発明のクロック中断機能
本発明の実施例は更に、任意のフィード線グループ（即ち共通垂直アラインメント線を通して短絡する任意のフィード線）に対するクロック信号を抑止する機能を提供する。これは各々の大域クロックドライバと関連し、配分ネットワークと関連した更なる回路を通して行う。図５にクロック信号を抑止するのに必要なイネーブル論理を含んでいる本発明の大域ドライバを例示する。大域ドライバ３０ａを更に詳細に例示する。入力５２０はクロック信号をドライバに搬入し、入力５２５はイネーブル信号をドライバに搬入する。イネーブル信号とクロック信号の両方はラッチ回路５１１に入力する。クロック信号はローでアサートされるクロック入力に送り込まれ、イネーブル信号はラッチＤ入力に送り込まれる。ラッチ５１１のＱ出力はＮＡＮＤゲート５１０に送り込まれる。従ってイネーブルピン５２５の入力がローになると、ＮＡＮＤゲート５１０は常に高信号を出力する。イネーブルピン５２５の入力がハイになる（アサートされる）と、ＮＡＮＤゲート５１０の出力はクロック信号５２０の逆となる。ＮＡＮＤゲート５１０の出力をそこでインバータ５１５の入力と接続し、インバータの出力をドライバ３０ａの回線３１ａとして取り出す。本発明では、イネーブル回線が大域ドライバ３０ａに対してアサートされていなければ、クロック信号は関連フィード線３１ａ上で起動されない。イネーブル回線がアサートされていれば、大域ドライバは上述のように作動してその関連フィード線でクロック信号を起動する。
【００４４】
ラッチ５１１はクロック信号がハイにアサートされている間、イネーブル作用がなされないように本発明で実施する。即ち全てのイネーブル状態の変化はイネーブル信号がステータスを変えるクロックサイクルの１クロックサイクル後に生じる。クロックがハイであれば、マイクロプロセッサがイネーブル状態を変更することは望ましくないので、ラッチ５１１はクロック入力がラッチ５１１に対してローにアサートされてクロックがローに移行するまで、イネーブル信号がＮＡＮＤゲート５１０に到達するのを防ぐ。
【００４５】
図６は、図５に示す大域ドライバを利用して本発明内で構築できるイネーブルネットワーク設計でマイクロプロセッサ２００を示したものである（縮尺通りではない）。図６は本発明のクロック中断機能を採用した集合３２０と集合３２１の一部を例示したものである。集合３２０は高出力中間ドライバ３１０により駆動される。各々の６つの大域ドライバ３０ａ−３０ｆは電源リング内で等しい長さと幅の入力回線と整合容量を有する整合ネットワーク３６１を通して中間ドライバ３１０に接続されている。更に各々の大域ドライバ３０ａ、３０ｂ、３０ｃには回線６７０上のイネーブル０回線が接続されている。イネーブル０回線は更に電力管理モジュール６１０に接続されている。集合３２０の大域ドライバの残り（３０ｄ、３０ｆ、３０ｇ）並びに集合３２１の大域ドライバ３０ｇには、別のイネーブル回線６６７のイネーブル１が接続されている。イネーブル回線６６７は更に電力管理モジュール６１０に接続されている。更なるイネーブル回線６７０のイネーブル３は集合３２１の大域ドライバ３０ｈ、３０ｉに接続され、更に電力管理モジュール６１０に接続されている。クロック供給も回線６８１を通して電力管理モジュール６１０に配送される。デイスエーブル／イネーブル要求回線６６１を電力管理モジュール６１０に設ける。デイスエーブル／イネーブル要求回線６６１はどのイネーブル回線６６５、６６７、６７０をアサートすべきかどうかを特定する。各々の中間ドライバ３１０及び３１１は各々の大域ドライバの各々のＮＡＮＤゲートの１つの入力に接続し、各々のイネーブル回線は各々の大域ドライバの各々のＮＡＮＤゲートの別の入力に接続されることが分かる。
【００４６】
垂直アラインメント線６２２はフィード線３１ａ−３１ｃを短絡し、クロック信号を回路ブロック６１２に供給する。更に垂直アラインメント線６２３はフィード線３１ｄ−３１ｇを短絡し、クロック信号を回路ブロック６１３に送る。最後に垂直アラインメント線６２４はフィード線３１ｈと３１ｉを短絡してクロック信号を回路ブロック６１４に供給する。フィード線３１ａ−３１ｃと関連大域ドライバはイネーブル０回線６７０により制御されるグループを形成する。フィード線３１ｈ−３１ｉと関連大域ドライバはイネーブル１回線６６７により制御されるグループを形成する。フィード線３１ｈ−３１ｉと関連大域ドライバはイネーブル２回線６６５により制御されるグループを形成する。この構成では、電力管理モジュール６１０が回線６７０を抑止すると、イネーブル０ピンはアサートされず、回路ブロック６１２へのクロック信号はイネーブル０ピンがもう一度アサートされるまで一時的に中断される。そうすることで本発明は電力管理期間中に回路ブロック６１２の電力を低下できるシステムを提供する。フィード線のそれぞれ個々のグループ化（垂直アラインメントにより限定）は、同一イネーブル回線を共有しなければならないことが分かる。図６に示すように中間クロックドライバ３１１はクロック信号を集合３２１の大域ドライバ３０ｇ、３０ｈ、３０ｉに供給する。
【００４７】
同様に電力管理モジュール６１０は回線６６７を通してイネーブル１を抑止することでクロック信号の回路６１３への供給を中断したり、回線６６７をアサートすることで回路６１３へのクロック信号を使用可能にすることができる。６６５を通してイネーブル２を抑止することでクロック信号の回路６１４への供給を中断したり、回線６６５をアサートすることで回路６１４へのクロック信号を使用可能にすることができる。デイスエーブル／イネーブル要求回線６６１はマイクロプロセッサトポロジィの各々の回路ブロックに対してフラッグビットを搬送する並列入力回線である。特定回路ブロックの電力を低下することが所望されれば、その回路ブロックに関係したビットは「０」にセットされる。以下の表Ｉはイネーブル／デイスエーブル回線６６１を通して送って回路ブロック６１２、６１３、６１４の電力状態を制御できる異なる値を示すものである。
【００４８】
表１
回線６６１        ブロック６１２  ブロック６１３  ブロック６１４
Ｅ／Ｄ                            それぞれの状態                
０００                オフ            オフ            オフ
００１                オフ            オフ            オン
０１０                オフ            オン            オフ
０１１                オフ            オン            オン
１００                オン            オフ            オフ
１０１                オン            オフ            オン
１１０                オン            オン            オフ
１１１                オン            オン            オン
【００４９】
上記の説明に依れば、本発明はマイクロプロセッサトポロジィの任意の回路ブロックに対するクロック信号の供給を選別的に中断することができる。これはラップトップあるいは電池式コンピュータシステム環境など、電力消費を規制して節約する必要がある環境では有益である。電力管理モジュールを利用することでマイクロプロセッサないしオペレーティングシステムはマイクロプロセッサ内の特定のブロックの電力を低下して電気を節約すべきであることを判定し、マイクロプロセッサとコンピュータシステムは待機ないし一時停止モードに入ることができる。マイクロプロセッサはそこで一時停止する関連回路ブロックを示すビットフラッグに「０」を出力する。関連イネーブル回線はそこで特定回路ブロックに電力を供給する（共通垂直アラインメント線を通して）ドライバとフィード線のグループと関連したクロックドライバを停止する。
【００５０】
本発明の別の実施例では、イネーブル回線の各々は中間クロックドライバ３１０−３１４に対して交互に駆動して大域ドライバの集合に供給する整合ネットワークへのクロック供給を抑止できる。この設計を用いて大域ドライバの全集合（即ち３２０−３２４）を１本のイネーブル回線で制御することができる。この実施は実施例の上記に説明したものと比較して複雑さの少ない実施である。しかしこの実施例は、中間ドライバを抑止することでイネーブル回線は一時に大域ドライバの全集合の電力を低下するので柔軟性が少ない。同一大域ドライバ集合から供給する複数構成要素がある場合、それらは同時に電力が低下し、個々に制御することはできない。更に１つの構成要素がいくつかの集合にまたがる場合は、その構成要素の電力を低下させる際、この実施例は本発明の実施例ほど柔軟性はない。
【００５１】
図６では明示及び説明のために２つの集合３２０、３２１のクロック配分ネットワークだけを例示したが、それらの２つの集合の説明は本発明のマイクロプロセッサの２つの垂直な縁の各々の全ての集合に適用される。表Ｉの解読方式を拡張してクロック配分ネットワークの他の集合と関連したマイクロプロセッサ２００の更なる回路ブロックに対応することが理解されよう。上記と同様、電力管理モジュール６１０はマイクロプロセッサの右端にある大域ドライバに対するクロック信号の供給を制御するイネーブル信号をも生成することが理解されよう。
【００５２】
全体的なクロック供給及び中断ネットワーク
図７は図５に示す大域ドライバを利用して本発明内で構成できるイネーブルネットワーク設計を有するマイクロプロセッサ２００を示したものである（縮尺通りではない）。図７は大域ドライバをすべて例示した本発明の一般的なクロック配分システム構成を示す。マイクロプロセッサ集積回路装置の各々の側には３０の大域ドライバがある。図の左側に示すように、左側には３２０、３２１、３２２、３２３、３２４の各々６つのドライバの５つの集合がある。それらの５つの集合はそれぞれ中間ドライバ３１０、３１１、３１２、３１３、３１４により駆動される。共通クロックドライバ３０１は入力としてのクロック生成器ないし発振器に接続されており、左側の５つの中間ドライバ３１０−３１４と右側の５つの中間ドライバ６９１−６９５に供給するＲＣ整合ネットワークを駆動する。集合３２０−３２４の各々は、ＲＣ整合ネットワークを通してその各々の中間ドライバにより駆動される。段階毎に複数の整合ネットワークを有するこの段階的配分システムを用いることで、本発明は各々の大域ドライバの左側のフィード線に同期のクロック信号を配送することが出来る。
【００５３】
図の右側に示すように、右側には３２５、３２６、３２７、３２８、３２９の各々６つのドライバの５つの集合がある。それらの５つの集合はそれぞれ中間ドライバ６９１、６９２、６９３、６９４、６９５により駆動される。共通クロックドライバ３０１は、５つの中間ドライバ３９１−３９５に各々のＲＣ整合ネットワークを通して供給する。段階毎に複数の整合ネットワークを有するこの段階的配分システムを用いることで、本発明は各々の大域ドライバの右側のフィード線に同期のクロック信号を配送することが出来る。従って上記により、マイクロプロセッサでは各々の大域ドライバに対して１本の６０本のフィード線を生成してマイクロプロセッサ構成要素に同期化したクロック信号を供給する。左右の全ての中間ドライバに供給する整合ネットワークは、マイクロプロセッサの周辺の電源リング内にあることが分かる。更に中間ドライバ、大域ドライバに供給する整合ネットワーク及び大域ドライバはすべてマイクロプロセッサの電源セル内にあることが理解されよう。
【００５４】
図７には５つのマイクロプロセッサの構成要素の６５１、６５２、６５３、６５４、６５５が例示されている。本発明のクロック配分及び中断ネットワークの範囲内で一致してマイクロプロセッサ内の異なる場所に異なる様々な回路構成要素を配置できることが理解されよう。以下の構成要素は本発明の要素を例示するために示す。即ち回路構成要素６５１には集合３２０のフィード線を短絡するアラインメント線６５１ａを通してクロック信号が供給される。回路構成要素６５２には集合３２５、３２６のフィード線を短絡するアラインメント線６５２ａを通してクロック信号が供給される。回路構成要素６５３には集合３２１、３２２のフィード線を短絡するアラインメント線６５３ａ、６５３ｂを通してクロック信号が供給される。回路構成要素６５４には集合３２７、３２８のフィード線を短絡するアラインメント線６５４ａを通してクロック信号が供給される。回路構成要素６５５には集合３２４のフィード線を短絡するアラインメント線６５５ａを通してクロック信号が供給される。本発明のクロック配分ネットワークでは、関連するアラインメント線を通してフィード線にタップすることで、構成要素ブロック回路にはフィード線と関連した１００ピコ秒以下のクロックスキューのクロック信号が保証される。
【００５５】
図７には更に１０の中間クロックドライバ３１０−３１４、６９１−６９５の各々と接続された電源線６９９が示されている。電源線６９９は更に中間クロックドライバに接続された大域ドライバの各々に接続されている。電源線６９９は更にＶＣＣととＶＳＳへのアクセスのため、マイクロプロセッサの電力セルの電力パッド（図示せず）に接続されている。中間及び大域クロックドライバをマイクロプロセッサの周辺近くに配置することで、電源線６９９は有利に短くなり、本発明のクロックネットワーク及びマイクロプロセッサを通して生成される雑音は少なくなる。
【００５６】
図７のマイクロプロセッサ２００には電力管理モジュール６１０が設けられている。電力管理モジュール６１０にはマイクロプロセッサ２００からデイスエーブル／イネーブル要求回線６６１が送り込まれる。この回線６６１が活動中、５つの構成要素６５１−６５５のどれを使用可能あるいは抑止するかを電力管理モジュール６１０に示す。電力管理モジュール６１０内には各々の構成要素のフラッグがあり、そのフラッグがアサートされると、その構成要素にはクロック信号が供給される。そのフラッグがゼロにリセットされると、構成要素にはクロック信号が供給されなくなる。クロック信号は更に回線６８１を通して電力管理モジュール６１０に供給される。電力管理モジュール６１０は５本の別々のイネーブル回線、各々の構成要素に対して１本づつ、を運ぶイネーブルバス６７１を出力する。各々のイネーブル回線は構成要素にクロック信号を供給する大域ドライバに接続する責任を有する。その構成要素の電力を低下する選択がなされた場合、各々のイネーブル回線は各々の大域ドライバを抑止するためにデイスエーブルされる。
【００５７】
イネーブルバス６７１は１０の各々の集合３２０−３２９の供給ネットワークの各々に送り込まれ、特定イネーブル回線は各々の大域ドライバのＮＡＮＤゲートの各々に送り込まれる。イネーブルバス６７１内には５本のイネーブル回線がある。即ち構成要素ブロック６５１を制御するイネーブル０、構成要素ブロック６５２を制御するイネーブル１、構成要素ブロック６５３を制御するイネーブル２、構成要素ブロック６５４を制御するイネーブル３、構成要素ブロック６５５を制御するイネーブル４である。イネーブル０は集合３２０に供給され、アラインメント線６５１ａにより短絡された集合３２０の下部の３つの大域ドライバを抑止する。イネーブル１は集合３２５と集合３２６に供給され、アラインメント線６５２ａにより短絡された集合３２５の下部の２つの大域ドライバと集合３２６の上部の２つの大域ドライバを抑止する。イネーブル２は集合３２１と３２２に供給され、アラインメント線６５３ａ、６５３ｂにより短絡された集合３２１の下部の３つの大域ドライバと集合３２２の６つの全ての大域ドライバを抑止する。イネーブル３は集合３２７と集合３２８に供給され、アラインメント線６５４ａにより短絡された集合３２７の下部の大域ドライバと集合３２８の上部の３つの大域ドライバを抑止する。イネーブルは集合３２４に供給され、アラインメント線６５５ａにより短絡された集合３２４の上部の４つの大域ドライバを抑止する。従ってマイクロプロセッサはマイクロプロセッサ装置内の任意の構成要素へのクロック供給を独立的かつ選別的に中断してマイクロプロセッサ２００にわたる電力を節減することが出来る。
【００５８】
本発明の電力管理手順
図８には集積回路２００の個々の構成要素の電力を管理するため本発明で利用する手順が示されている。この流れ７００はブロック７１０から始まって７１５まで続き、マイクロプロセッサにより電力管理措置を取る必要があることが判定される。その指示は、全体的なシステム１３０から発する外部入力ないしマイクロプロセッサ２００から生じる。どちらにしろ、システムないしマイクロプロセッサあるいはマイクロプロセッサ２００内の個々の構成要素はアイドル状態にあり、電力を低下させることが所望されるという判定がなされる。あるいは代わりに、ブロック７１５でマイクロプロセッサないしシステム１３０は電力低下状態に続いて起動され、従ってマイクロプロセッサの構成要素をクロック信号で使用可能にすべきであるということを判定出来る。電力管理措置が所望されることが一旦判定されると、マイクロプロセッサはブロック７２０でマイクロプロセッサ内のどの構成要素及び構成要素ブロックの電力を低下ないし抑止すべきかを判定する。構成要素を選択すると、各々の構成要素のフラッグが設定されて解読され（イネーブルは「１」、デイスエーブルは「０」）、デイスエーブル／イネーブルデータ構造に追加される。デイスエーブル／イネーブルデータ構造が作成されると、ブロック７３０でこのデータはデイスエーブル／イネーブル回線６６１を通してデイスエーブル／イネーブル要求として電力管理モジュール６１０に送られる。
【００５９】
電力管理モジュール６１０はブロック７４０でデイスエーブル／イネーブル要求データ構造を解読して大域ドライバに接続されたイネーブル回線上の信号レベルを修正する。電力管理モジュール６１０はデイスエーブル／イネーブルデータ構造内にセットされたフラッグをその対応する構成要素ブロックに変換して、その特定構成要素を抑止するあるいは使用可能にする回線を特定する。イネーブル回線が見つかれば、フラッグが示す値によりそのイネーブル回線に適切な信号レベルを出力する（回線６６１により刻時）。そこでブロック７５０で、修正されたそのイネーブル回線に関連した大域ドライバのＮＡＮＤゲートは信号のアサートに対応する。回線がローになれば、そのイネーブル回線に関連した大域ドライバはクロック信号を生成しない。回線がハイになれば、大域ドライバはクロック信号を生成する。このようにそれらの目標大域ドライバからそのクロック信号を受ける構成要素ブロックはフラッグの指示により電力を低下ないし増加する。その後処理はブロック７１０に戻り、別の電力管理判定を行う。
【００６０】
図１０は本発明のクロックドライバが位置するマイクロプロセッサ２００の電力パッドセルの位置を例示している。図示するように、それらの電力パッドセルはマイクロプロセッサの周辺に沿って有り、本発明のクロック供給ネットワークを供給する均一なプラットフォームを提供している。電源セルの厳密な数は本発明の趣旨に取って重要でないことが理解されよう。重要なのは大域ドライバへのクロック入力回線のＲＣ整合のために本発明により有益に利用されるそのような電源パッドの特性（上記に詳しく述べた）である。
【図面の簡単な説明】
【００６１】
【図１】従来のクロック信号配分システムのそれぞれ異なった例を示す。
【図２】集積回路装置の対向する端部に位置し内向きに送る２列の大域ドライバと関連フィーダ回線のクロック配分ネットワークを利用した一実施例の集積回路装置を示す。
【図３】中間ドライバと大域ドライバと関連した整合段階を示す一実施例のクロック配分ネットワークを示す。
【図４】一実施例のクロック配分ネットワークと大域ドライバを集積回路構成要素に接続するのに用いるアラインメント線を詳細に示す。
【図５】大域ドライバと大域ドライバのイネーブルおよびデイスエーブル機能を詳細に示す。
【図６】大域ドライバに接続されたイネーブルネットワークを含む一実施例の電力管理機能を詳細に示す。
【図７】一実施例のマイクロプロセッサと６０の大域ドライバと電力管理ネットワークと装置を含む一実施例の完全なクロック配分ネットワークを示す。
【図８】電力管理機能を行うため一実施例で使用する主要な処理ステップを示す一実施例の流れ図である。
【図９】一実施例の集積回路を用いた汎用コンピュータシステムを示すブロック図である。
【図１０】一実施例のクロック供給ネットワークで用いる電源パッドの例を示す。
【符合の説明】
【００６２】
２００…集積回路  ３０…大域ドライバ  ３１…フィード線
【図１】
2005032262.tif 000003
【図２】
2005032262.tif 000004
【図３】
2005032262.tif 000005
【図４】
2005032262.tif 000006
【図５】
2005032262.tif 000007
【図６】
2005032262.tif 000008
【図７】
2005032262.tif 000009
【図８】
2005032262.tif 000010
【図９】
2005032262.tif 000011
【図１０】
2005032262.tif 000012