(57)【要約】【解決手段】  ダイ上の効率的な電力伝達のためのシステムおよび方法。半導体チップは、ダイの上に、少なくとも２つの異なる電圧調整器を利用する、２つ以上の計算ユニット（ＣＵ）と、電力マネージャとを備える。電力マネージャは、所与のＣＵの活動レベルが所与の閾値を下回ることを検出した時に、ダイにわたって電力クレジットを再び割り付ける。対応する数の寄付された電力クレジットの受信に応じて、１つ以上の選択されたＣＵのうちのそれぞれは、高性能Ｐ状態で高い活動レベルを維持する。対応する作業負荷が増加する時に、各ＣＵは、少なくとも２つの異なる動作電圧間で交番させることによって、高性能Ｐ状態に対応する動作および平均電力消費を維持する。動作電圧が交番中に降下する時に、特定のＣＵによって引き込まれる電流は、所与の電流制限を超えてもよい。電力マネージャは、この電力制限を超えていることを検出し、したがって、ダイにわたって電力クレジットを再び割り付ける。【選択図】図７
2013539571.tif 000002
【特許請求の範囲】
【請求項１】
それぞれの初期数の電力クレジットが割り当てられる、少なくとも第１の計算ユニット（ＣＵ）および第２のＣＵと、
電力マネージャと、を備え、
前記第１のＣＵによって引き込まれる電流の量が、所与の電流制限を超えるという検出に応じて、前記電力マネージャは、前記第１のＣＵに現在割り付けられている電力クレジットの数を削減するように構成される、マイクロプロセッサ。
【請求項２】
前記第１のＣＵに現在割り付けられている前記電力クレジットの数は、前記第１のＣＵに割り付けられる初期数の電力クレジットを所与の数の電力クレジットだけ超えており、前記所与の数の電力クレジットは前記第２のＣＵから借用されている、請求項１に記載のマイクロプロセッサ。
【請求項３】
前記所与の電流制限は、前記第１のＣＵによって利用される電圧調整器の熱設計電流（ＴＤＣ）値である、請求項１に記載のマイクロプロセッサ。
【請求項４】
前記電力マネージャは、前記第１のＣＵに現在割り付けられている電力クレジットの数を削減するために、前記所与の数の電力クレジットを前記第２のＣＵに戻すように構成される、請求項２に記載のマイクロプロセッサ。
【請求項５】
前記第１のＣＵは、
前記第２のＣＵから借用された電力クレジットがないよりも高い電力性能状態（Ｐ状態）で、前記第２のＣＵから借用された電力クレジットを伴って動作し、
少なくとも２つの異なる動作電圧間で交番させることによって、変化する作業負荷にもかかわらず、前記より高いＰ状態を維持するように構成される、請求項１に記載のマイクロプロセッサ。
【請求項６】
前記第１のＣＵに現在割り付けられている前記電力クレジットの数は、前記第２のＣＵから借用された電力クレジットの数だけ、前記第１のＣＵに割り付けられる初期数の電力クレジットを超え、前記第１のＣＵによって引き込まれる前記電流の量が前記制限を超えるという検出に応じて、前記電力マネージャは、前記第２のＣＵから借用された、全てよりも少ない電力クレジットを、前記第２のＣＵに戻すように構成される、請求項１に記載のマイクロプロセッサ。
【請求項７】
前記第２のＣＵの活動レベルが所与の閾値を下回るという検出に応じて、前記電力マネージャはさらに、
少なくとも部分的に前記第１のＣＵの活動レベルに基づいて、前記第１のＣＵに寄付する電力クレジットの数を判定し、
前記第１のＣＵによって使用するために、前記第２のＣＵから、それぞれの数の電力クレジットを借用するように構成される、請求項４に記載のマイクロプロセッサ。
【請求項８】
前記第２のＣＵの活動レベルが所与の閾値を越えて上昇したという検出に応じて、前記電力マネージャはさらに、
少なくとも部分的に前記第２のＣＵの前記活動レベルに基づいて、前記第１のＣＵが前記第２のＣＵに戻すための電力クレジットの数を判定し、
前記第１のＣＵに、以前に借用した電力クレジットを前記第２のＣＵへ返させるように構成される、請求項７に記載のマイクロプロセッサ。
【請求項９】
ダイ上の効率的な電力伝達のための方法であって、
それぞれの初期数の電力クレジットが割り当てられる、第１の計算ユニット（ＣＵ）および第２のＣＵのうちの少なくとも１つの活動レベルを測定することと、
所与の前記第１のＣＵによって引き込まれる電流の量が、所与の電流制限を超えるという検出に応じて、前記第１のＣＵに現在割り付けられている電力クレジットの数を削減することと、を含む、方法。
【請求項１０】
前記第１のＣＵに現在割り付けられている前記電力クレジットの数は、前記第１のＣＵに割り付けられる初期数の電力クレジットを所与の数の電力クレジットだけ超え、前記所与の数の電力クレジットは、前記第２のＣＵから借用されている、請求項９に記載の方法。
【請求項１１】
前記所与の電流制限は、前記第１のＣＵによって利用される電圧調整器の熱設計電流（ＴＤＣ）値である、請求項９に記載の方法。
【請求項１２】
前記電力マネージャは、前記第１のＣＵに現在割り付けられている電力クレジットの数を削減するために、前記所与の数の電力クレジットを前記第２のＣＵに戻すように構成される、請求項１０に記載の方法。
【請求項１３】
前記第１のＣＵがそれぞれの初期数の電力クレジットのみを使用した場合に利用されるＰ状態よりも高いＰ状態で、前記第１のＣＵを動作させることと、
少なくとも２つの異なる動作電圧間で交番させることによって、変化する作業負荷にもかかわらず、前記より高いＰ状態を維持することと、をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記第１のＣＵに現在割り付けられている前記電力クレジットの数は、前記第２のＣＵから借用されている電力クレジットの数だけ、前記第１のＣＵに割り付けられる初期数の電力クレジットを超え、前記第１のＣＵによって引き込まれる前記電流の量が前記制限を超えるという検出に応じて、前記方法は、前記第２のＣＵから借用された、全てよりも少ない電力クレジットを、前記第２のＣＵに戻すことを含む、請求項９に記載の方法。
【請求項１５】
第１のＣＵの活動レベルが所与の閾値を下回るという検出に応じて、前記方法はさらに、
少なくとも部分的に前記第１のＣＵの活動レベルに基づいて、前記第１のＣＵに寄付する電力クレジットの数を判定することと、
前記第１のＣＵによって使用するために、前記第２のＣＵから、それぞれの数の電力クレジットを借用することと、を含む、請求項１２に記載の方法。
【請求項１６】
前記第２のＣＵの活動レベルが所与の閾値を越えて上昇したという検出に応じて、前記方法はさらに、
少なくとも部分的に前記第２のＣＵの前記活動レベルに基づいて、前記第１のＣＵが前記第２のＣＵに戻すための電力クレジットの数を判定することと、
前記第１のＣＵに、以前に借用した電力クレジットを前記第２のＣＵへ返させることと、を含む、請求項１５に記載の方法。
【請求項１７】
ダイの上で電力を効率的に伝達するように動作可能である、プログラム命令を記憶する、コンピュータ可読記憶媒体であって、前記プログラム命令は、
それぞれの初期数の電力クレジットが割り当てられる、第１の計算ユニット（ＣＵ）および第２のＣＵのうちの少なくとも１つの活動レベルを測定し、
所与の前記第１のＣＵによって引き込まれる電流の量が、所与の電流制限を超えるという検出に応じて、前記第１のＣＵに現在割り付けられている電力クレジットの数を削減するように実行可能である、コンピュータ可読記憶媒体。
【請求項１８】
前記第１のＣＵに現在割り付けられている前記電力クレジットの数は、前記第１のＣＵに割り付けられる初期数の電力クレジットを所与の数の電力クレジットだけ超え、前記所与の数の電力クレジットは、前記第２のＣＵから借用されている、請求項１７に記載の記憶媒体。
【請求項１９】
前記所与の電流制限は、前記第１のＣＵによって利用される電圧調整器の熱設計電流（ＴＤＣ）値である、請求項１８に記載の記憶媒体。
【請求項２０】
前記プログラム命令はさらに、前記第１のＣＵに現在割り付けられている電力クレジットの数を削減するために、前記所与の数の電力クレジットを前記第２のＣＵに戻すように実行可能である、請求項１８に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムに関し、より具体的には、効率的なダイ電力管理に関する。
【背景技術】
【０００２】
現代の集積回路（ＩＣ）の電力消費は、半導体チップの各生成にかかわる高まる設計課題になっている。電力消費が増加するにつれて、過剰な熱を除去し、ＩＣの故障を防止するために、より大型のファン、より大型のヒートシンク、および周囲温度を制御するシステム等のより高価な冷却システムが利用される。しかしながら、冷却システムは、システム費用を増加させる。ＩＣ電力損失制約は、携帯用コンピュータおよび移動通信デバイスにとっての問題であるだけでなく、マルチプロセッサコアを含み得る高性能スーパースカラマイクロプロセッサまたはコア、およびコア内の複数のパイプライにとっても問題である。
【０００３】
電力消費を管理するために、チップレベル電力管理システムは、第１のオンダイ構成要素から第２のオンダイ構成要素へ電力クレジットを伝達してもよい。そのような場合において、第１のオンダイ構成要素は、所与の通常または高電力消費に対応するモードで動作していてもよい。対照的に、第２のオンダイ構成要素は、所与の閾値を下回る活動レベルを有してもよい。場合によっては、これらのオンダイ構成要素は、別個の電圧面に連結されてもよい。活動中の第２の構成要素から比較的活動していない第１の構成要素へ電力を伝達することは、第２の構成要素が、その活動レベルをさらに増大させる、またはより長時間にわたってその活動レベルを維持することを可能にしてもよい。そのような場合において、オンチップ性能は、冷却システムからさらなる冷却効果を生成することなく、増大してもよい。しかしながら、第２のオンダイ構成要素に電力を伝達することは、電圧調整器等の第２の構成要素のための支援システムに負担を課し得る。
【０００４】
当技術分野で周知であるように、プロセッサは、熱設計電力（ＴＤＰ）よりも大きい最大電力を放散させる場合がある。ＴＤＰは、冷却システムが放散させることができる、電力の量である。したがって、故障を防止するために、プロセッサは、典型的には、ＴＤＰ値以内で動作する。このＴＤＰ値は、動作モードを選択するために、構成要素の中の論理内で使用されてもよい。例えば、動作電圧および周波数の組み合わせは、少なくともＴＤＰ値に基づいて選択されてもよい。同様に、電圧調整器は、熱設計電流（ＴＤＣ）よりも大きい、ピーク電流を供給することができる。ＴＤＣは、所与の動作条件（例えば、通常から高い動作条件）のために供給される電流の量である。場合によっては、ＴＤＣの値は、増加した活動が電力伝達によって引き起こされる、上記で論議される第２の構成要素に対する増大した活動をサポートするためには不十分となり得る。構成要素間の電力伝達を可能にすることによって、オンチップ性能が増大してもよいが、より高いＴＤＣをサポートするように電圧調整器を修正する費用はかなりのものである。
【０００５】
上記を考慮して、効率的なダイ電力管理のための効率的な方法および機構が所望される。
【発明の概要】
【０００６】
ダイ上の効率的な電力管理のためのシステムおよび方法が検討される。
【０００７】
一実施形態では、半導体チップは、２つ以上の計算ユニット（ＣＵ）と、電力マネージャとを備える。いくつかの実施形態では、ＣＵのうちのそれぞれは、異なる電圧調整器を利用してもよい。ＣＵのうちの少なくとも２つは、いくつかの離散電力性能状態（Ｐ状態）のうちのいずれか１つで動作する。ＣＵのうちのそれぞれの活動レベルを示すデータも、利用可能となってもよい。例えば、一実施形態では、ＣＵは、対応する活動レベルを測定し、測定されたレベルを示すデータを電力マネージャに伝える（または別様にデータを利用可能にする）。一実施形態では、電力マネージャは、所与のＣＵの活動レベルが所与の閾値を下回る時を検出する。次いで、電力マネージャは、所与のＣＵから寄付された電力クレジットを受信するように、所与のＣＵ以外の複数のＣＵのうちの１つ以上のＣＵを選択してもよい。電力マネージャは、少なくとも対応する活動レベルに基づいて、選択されたＣＵに寄付する電力クレジットの数を判定してもよい。電力マネージャは、それぞれの数の電力クレジットを選択されたＣＵに伝える。付加的な（寄付された）電力クレジットの受信に応じて、選択されたＣＵは、異なるＰ状態に移行してもよい。また、特定のＣＵの作業負荷が増加する時に、１つ以上の選択されたＣＵのうちの特定のＣＵが、より高い性能のＰ状態で動作してもよい、実施形態も検討される。いくつかの実施形態では、特定のＣＵは、動作電圧および周波数を変化させることによって、変化する作業負荷にもかかわらず、より高いＰ状態に対応する平均電力消費を維持してもよい。例えば、動作電圧が低減された時に、特定のＣＵによって引き込まれる電流は、概して、比較的一定の平均電力消費を維持するように増加させられてもよい。いくつかの実施形態では、熱設計電流（ＴＤＣ）が、所与の構成要素（例えば、電圧調整器）に対して確立されてもよい。確立されたＴＤＣは、それを上回ると、安全で安定した動作が保証されない場合がある、最大電流引き込みを表してもよい。種々の実施形態では、電力クレジットの伝達は、ＴＤＣを超える増加した電流をもたらしてもよい。そのような場合において、電力マネージャまたは他の構成要素は、この状態を検出し、ＴＤＣを超えている構成要素に、その電流引き込みを低減させてもよい。一実施形態では、電力マネージャが、以前に構成要素に寄付された電力クレジットを除去することによって、構成要素にその電流引き込みを低減させる。次いで、そのような電力クレジットを除去することは、構成要素が動作しているＰ状態で低減を引き起こし、電力消費を削減し、構成要素の電流引き込みを低減してもよい。
【０００８】
これらおよび他の実施形態は、以下の説明および図面を参照すると、さらに理解されるであろう。
【図面の簡単な説明】
【０００９】
【図１】半導体チップの一実施形態の一般化したブロック図である。
【図２】半導体チップの電力性能状態移行の一実施形態の一般化した略図である。
【図３】半導体チップの電力性能状態移行の別の実施形態の一般化したブロック図である。
【図４】電力借用軽減表の一実施形態の一般化したブロック図である。
【図５】電力管理システムに対応する電気特性の一実施形態の一般化したブロック図である。
【図６】電力管理ユニットの一実施形態の一般化したブロック図である。
【図７】ダイ上の効率的な電力伝達のための方法の一実施形態のフロー図である。
【図８】オンダイ電力管理を伴うプロセッサの一実施形態の一般化したブロック図である。
【００１０】
本発明は、種々の修正および代替的な形態が考えられるが、具体的実施形態が、一例として図面中に示され、本明細書で詳細に説明される。しかしながら、図面およびそれらに対する詳細な説明は、本発明を開示される特定の形態に限定することを目的としないが、一方で、本発明は、添付の請求項によって定義されるような本発明の精神および範囲内に入る、全ての修正、均等物、および代替案を対象とするものであると理解されたい。
【発明を実施するための形態】
【００１１】
以下の説明では、本発明の徹底的な理解を提供するように、多数の具体的詳細が記載される。しかしながら、当業者であれば、本発明は、これらの具体的詳細なしで実践される場合があることを認識するべきである。場合によっては、本発明を曖昧にすることを回避するように、周知の回路、構造、および技法は、詳細に示されていない。
【００１２】
図１を参照すると、半導体チップ１００の一般化したブロック図の一実施形態が示されている。メモリコントローラ、ネットワークインターフェースカード（ＮＩＣ）、周辺デバイス等の他の構成要素と通信するために使用される、ダイ１０２用のインターフェースは、図示を容易にするために示されている。ダイ１０２は、電力管理ユニット１３０に連結された処理ブロック１６０を備えてもよい。処理ブロック１６０は、計算ユニット１２０ａ〜１２０ｄを備えてもよい。本明細書で使用されるように、文字が後に続く参照数字は、数字のみによって集合的に参照されてもよい。例えば、計算ユニット１２０ａ〜１２０ｄは、集合的に計算ユニット１２０と呼ばれてもよい。任意のトランジスタ群が、ダイ１０２を実装するために使用されてもよい。例としては、金属酸化物半導体電界効果トランジスタ（ＭＯＳＦＥＴ）、およびバイポーラ接合トランジスタ（ＢＪＴ）が挙げられる。各計算ユニット１２０は、別個の電圧面上で動作してもよい。したがって、各計算ユニット１２０は、別個の電圧調整器１１０に連結されてもよい。例えば、計算ユニット１２０ａは、電圧調整器１１０ａに連結される。計算ユニット１２０ｄは、電圧調整器１１０ｄに連結される。
【００１３】
一実施形態では、計算ユニット１２０は、プロセッサであってもよい。各計算ユニット１２０は、汎用プロセッサ、グラフィックプロセッサ、専用コプロセッサ等のうちの１つであってもよい。代替として、各計算ユニット１２０は、特定用途向け集積回路（ＡＳＩＣ）であってもよい。電力標的が、ダイ１０２に割り当てられてもよい。電力標的は、ダイ１０２の熱設計電力値である。熱設計点とも呼ばれてもよい、熱設計電力（ＴＤＰ）は、コンピュータの中の冷却システムが放散させることができる、電力の最大量を表す。例えば、ラップトッププロセッサ用の冷却システムは、２０ワットＴＤＰのために設計されてもよい。したがって、冷却システムは、プロセッサ内のトランジスタに対する最高接合部温度を超えることなく、２０ワットを放散させることができると決定されている。
【００１４】
一実施形態では、ダイ１０２のプレシリコンモデル上で実行される電力モデルが、電力測定を行ってもよい。設計サイクルの後期に、電力測定は、試験段階およびデバッギング段階中の実際の製造されたシリコンダイで行われてもよい。ダイ１０２のピーク電力値は、コア上で高出力ウイルスアプリケーションを実行する、ダイ１０２の機能的故障によって定義されてもよい。軽減した形態の高出力ウイルスアプリケーションが、ダイ１０２の熱設計電力（ＴＤＰ）を設定するために使用されてもよい。この軽減したコード、およびその対応する電力消費は、ビニング目的で、各計算ユニット１２０の動作電圧および周波数を設定するために使用されてもよい。
【００１５】
電力管理ユニット１３０は、ダイ１０２に対する電力クレジットの総数を、ダイ１０２に対する所与のＴＤＰ値に関連付けてもよい。電力管理ユニット１３０は、別個の所与の数の電力クレジットを、各計算ユニット１２０に割り付けてもよい。関連電力クレジットの合計は、ダイ１０２に対する電力クレジットの総数に等しい。電力管理ユニット１３０は、経時的に、計算ユニット１２０のうちのそれぞれに対する電力クレジットの数を調整するように構成されてもよい。これらの調整は、計算ユニット１２０のうちのそれぞれから電力管理ユニット１３０に伝達される、電力プロファイルに基づいてもよい。
【００１６】
例えば、計算ユニット１２０のうちのそれぞれは、各所与の時間間隔中の対応する電力消費数を判定してもよい。種々の技法のうちのいずれかが、所与の計算ユニットの電力消費を判定するために利用されてもよく、以下でさらに論議される。いくつかの実施形態では、所与の計算ユニットは、所与の計算ユニット１２０に対応するダイ１０２の部分の全体を通して配置される、アナログまたはデジタル熱センサを利用してもよい。熱センサは、増大した計算活動により、ダイが特定の領域中で熱くなる時に関する情報を提供する。しかしながら、これらのセンサは、所与の計算ユニット１２０の中の電力消費の計算関連上昇によって駆動されようと、周囲温度の上昇等の外部環境因子によって駆動されようと、熱の各変化に応答する。所与の計算ユニット内のスイッチング静電容量の量が、ある時間間隔にわたって変化していない時でさえも、センサは、周囲温度の上昇により、より高い熱的条件を報告する場合がある。加えて、概して、電力消費の計算関連上昇と温度上昇との間には、時間遅延がある。その結果として、熱センサは、電力消費の正確な尺度ではない場合がある。
【００１７】
種々の実施形態では、所与の計算ユニット１２０が、電流センサを利用してもよい。いくつかの実施形態では、そのような電流センサは、ユニット内の回路によって引き込まれる電流の量を測定してもよいが、測定値と関連付けられる比較的大きな誤差を有する場合がある。また、これらのセンサは、各個別構成要素に対する電流利用よりもむしろ、一式の複数のコアまたは論理ブロックに対する電流利用を報告する場合がある。したがって、もしあれば、構成要素のうちのどれが、電力消費の計算関連上昇になったかを知ることが困難な場合がある。
【００１８】
他の実施形態では、所与の計算ユニットは、いくつかの事前選択された信号をサンプリングし、サンプリングされた信号から電力利用値を判定してもよい。特定のクロックサイクル中にどの信号をサンプリングするかという選択は、選択が所与の計算ユニット１２０内のスイッチングノード静電容量の量にどれだけ良く相関するかに対応してもよい。例えば、一実施形態では、ローカルクロック分配ブロックに送られるクロックイネーブル信号が、サンプリングされるように、かつ信頼できる正確な電力利用値を提供するように選択される信号であってもよい。
【００１９】
サンプリングされた信号に対応する、サンプリングされたデータ点は、各所与の間欠サイクル中に得られてもよい。使用する間欠サイクルの数の判定は、サンプリングされたデータの所望の精度および信頼に依存してもよい。アプリケーションの実際の電力消費およびサンプリングからの推定電力消費の両方の統計分析および測定の両方を使用して、スプレッドシート、または参照テーブルが生成されてもよい。信頼レベルおよび誤差率が、統計分析をさらに発展させるように選択されてもよい。リアルタイム電力推定方法の実施例としては、その全体が参照することにより本明細書に組み込まれる、「Ｓａｍｐｌｉｎｇ  Ｃｈｉｐ  Ａｃｔｉｖｉｔｙ  ｆｏｒ  Ｒｅａｌ  Ｔｉｍｅ  Ｐｏｗｅｒ  Ｅｓｔｉｍａｔｉｏｎ」と題された、２００８年４月１１日出願の出願第１２／１０１，５９８号が挙げられる。
【００２０】
所与の計算ユニット１２０が、対応する電力利用値を判定する時に、この値は、電力管理ユニット１３０へ伝えられる。この値は、上記で説明される方法のうちのいずれか、または任意の他の利用可能な方法によって判定されてもよい。電力管理ユニット１３０は、電力利用値の受信に応じて、計算ユニット１２０のうちのそれぞれに割り付けられる電力クレジットの数を改変する能力を有してもよい。一実施形態では、熱クレジットの値が、シミュレーションおよび試験中に判定される所与の単位の値として表されてもよい。例えば、ダイ１０２が、３つの計算ユニット１２０を備え、それぞれが、高作業負荷中に同様の量の熱エネルギーを産生する場合に、各計算ユニットには、１０の熱的電力クレジットが割り付けられてもよい。
【００２１】
上記の実施例とは対照的に、３つの計算ユニットが、高作業負荷中に、異なる熱エネルギーレベルを産生してもよい。第１の計算ユニットは、高作業負荷を受けて、第３の計算ユニットによって産生される熱エネルギーの３倍を産生してもよい。第２の計算ユニットは、高作業負荷を受けて、第３の計算ユニットによって産生される熱エネルギーの２倍を産生してもよい。したがって、電力管理ユニット１３０は、最初に、１５の熱的電力クレジットを第１の計算ユニットに、１０の熱的電力クレジットを第２の計算ユニットに、５の熱的電力クレジットを第３の計算ユニットに割り当て（または「割り付け」）てもよい。代替として、ダイ１０２の熱エネルギーが、その所与の全体的ＴＤＰ値に到達するが、それを超えないように、計算ユニット１２０のうちのそれぞれが、対応する割り当てられたＴＤＰ値で同時に動作する時に、電力管理ユニット１３０は、別個のＴＤＰ値を各計算ユニットに割り当ててもよい。
【００２２】
所与の計算ユニットが高または中等度作業負荷を持たない時に、その活動レベルは、所与の閾値以下に減少してもよい。したがって、その測定された電力利用値が減少する。結果として生じる、低減した電力利用値は、電力管理ユニット１３０へ伝えられる。低減した電力利用値に応じて、電力管理ユニット１３０は、ダイ１０２の電力クレジットを再分配してもよい。例えば、電力管理ユニット１３０は、判定された活動していない計算ユニットの電力クレジットを、高度に活動中であると判定される計算ユニットに貸し出してもよい。一実施形態では、電力管理ユニット１３０は、高度に活動中の計算ユニットのＴＤＰを増加させ、それにその高い活動レベルを維持させ、または増大させてもよい。この高度に活動中の計算ユニットによって生成される余分な熱エネルギーは、ダイのバルクシリコンにわたって、ダイの裏面の金属にわたって、ヒートシンクを通して、およびシステムファンによって冷却されている周囲環境を通して放散させられてもよい。比較的活動していない計算ユニットは、余分に生成された熱エネルギーの放散に役立ち、高度に活動中の計算ユニットが高い性能を維持することを可能にする。
【００２３】
現代のマイクロプロセッサ内のコアを計算ユニット１２０の実施例として取ると、これらのコアは、その動作モードに関する融通性を可能にする。動作周波数および動作電圧の組み合わせは、コアが作業負荷（ソフトウェアアプリケーションの命令）を処理するにつれて、リアルタイムで選択されてもよい。このリアルタイム調整の理由は、マイクロプロセッサの各生成のために増加している電力消費を制限しながら、高い性能を維持しようとする試行である。現代の相補型金属酸化物半導体（ＣＭＯＳ）チップ等の集積回路（ＩＣ）の電力消費は、式αｆＣＶ２に比例する。記号αは、スイッチング因数であり、またはノードがクロックサイクル中に充電または放電する確率である。記号ｆは、チップの動作周波数である。記号Ｃは、クロックサイクルで充電または放電される、等価の静電容量またはスイッチング静電容量である。記号Ｖは、チップの動作電圧である。チップの電力消費を削減し、およびトランジスタ内の静電界を低減しようとして、電力供給電圧Ｖが動作中に減少させられてもよい。しかしながら、電力供給電圧低減への制限がある。この低減は、トランジスタを通って流れてもよい電流の量を減少させ、したがって、トランジスタを通した伝搬遅延を増加させる。より早い時間にトランジスタをオンにし、性能を維持するのに役立つために、閾値電圧が低減された場合に、トランジスタ漏洩電流が増加する。トランジスタ漏洩電流の増加は、電力消費および論理故障の可能性の両方を増加させる。
【００２４】
電力消費を削減しようとして、リアルタイムで動作電圧を調整することに加えて、電力表現における他の要因が考慮される。例えば、コアの各生成時のデバイスおよび金属ルートの幾何学的寸法が減少している。スーパースカラ設計が、複数のパイプライン、より大容量のキャッシュ、およびより複雑な論理を伴うダイ上の集積回路の密度を増加させる。したがって、クロックサイクルにつき切り替わってもよいノードの数が、有意に増加する。動作周波数も、各生成とともに増加している。スイッチング因数αは、不使用の期間中に、チップの中のあるブロックまたはユニットへのクロック信号を無効にすることによって、これらの領域について減少してもよい。したがって、動作電圧およびスイッチング因数は、ＩＣの各生成とともに減少するように調整されてもよいが、ＩＣ電力消費式の中の他の項が増加しており、電力消費の全体的な増加を引き起こす。この電力消費の増加に対するいくつかの解決法は、マイクロアーキテクチャおよび回路レベル技法の両方を含む。
【００２５】
電力消費および性能の平衡を保つためのマイクロアーキテクチャおよび回路レベル設計技法は、リアルタイムで電力消費を推定する努力によって補助される。リアルタイムで電力消費を推定するためのいくつかの方法を以前に説明した。１つまたは複数のアプリケーションを実行しながら、計算ユニット１２０内のコアのリアルタイム電力消費が知られる（または推定される）とともに、電力管理ユニット１３０へ伝えられる場合には、一実施形態では、電力管理ユニット１３０は、いくつかの所与の離散電力性能状態（Ｐ状態）から１つの離散Ｐ状態を選択してもよい。選択されたＰ状態は、最大性能状態と最小電力状態との間であってもよい。最大性能状態は、最大動作周波数を含み、最小電力状態は、最小動作周波数を含む。中間の離散電力性能状態（Ｐ状態）は、動作周波数および動作電圧の組み合わせに対する所与の尺度値を含む。Ｐ状態間の移行の例証が、以下で提供される。計算ユニット１２０のうちの１つ以上が、活動レベルまたは電力消費推定値を測定しなくてもよいことに留意されたい。したがって、これらの計算ユニットは、対応する値を電力管理ユニット１３０に報告しない。しかしながら、２つ以上の計算ユニットが、これらの値を測定するとともに、計算ユニットに報告する場合に、電力管理ユニットは、ダイ１０２上の計算ユニット間で電力を伝達するように構成される。
【００２６】
ここで図２を参照すると、半導体チップの電力性能状態移行２００の一実施形態が示されている。２つの曲線が、電力対電圧と周波数対電圧との間の非線形（例えば、三次または二次）関係を示す略図で示されている。５つの離散電力性能状態（Ｐ状態）が、Ｐ０からＰ４として表されて、略図で示されている。略図を簡略化するように、少数の離散Ｐ状態が示されている。５つだけの離散Ｐ状態が示されているが、別の数の離散Ｐ状態がサポートされてもよいことが周知である。
【００２７】
示された略図では、Ｐ状態Ｐ４は、全てのサポートされた離散状態のうちの最低性能を伴う離散状態に対応してもよく、最低動作周波数を備える。加えて、Ｐ状態Ｐ４は、全てのサポートされた離散状態のうちの最低電力消費を伴う離散状態に対応してもよく、最低動作電圧を備える。一方では、Ｐ状態Ｐ０は、全てのサポートされた離散状態のうちの最高性能を伴う離散状態に対応してもよく、最高動作周波数を備える。加えて、Ｐ状態Ｐ０は、全てのサポートされた離散状態のうちの最高電力消費を伴う離散状態に対応してもよく、最高動作電圧を備える。典型的には、Ｐ状態Ｐ０およびＰ４によって表される終点離散状態は、予測可能な性能の領域を画定する。したがって、非線形周波数対電圧曲線に沿って、複数のＰ状態または動作点をサポートするようにプロセッサを構成することにより、プロセッサ等の半導体チップに対する電力の安定した最適な利用および性能の実現を提供してもよい。Ｐ状態の管理は、Ｉｎｔｅｌ  Ｃｏｒｐ．、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．、およびＴｏｓｈｉｂａ  Ｃｏｒｐ．によって当初開発された、Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ（ＡＣＰＩ）標準等の業界標準に適合してもよいが、開発は現在、Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ  Ｃｏｒｐ．およびＰｈｏｅｎｉｘ  Ｃｏｒｐも含む。標準は、最後に２０１０年４月５日に改訂版４．０ａとして発表された。
【００２８】
略図で示されるように、電力標的１が、チップに対して選択されてもよく、電力標的１は、チップのＴＤＰの初期値を表す。以前に説明されたように、熱設計電力（ＴＤＰ）は、チップ内のトランジスタに対する最大接合部温度を超えることなく、冷却システムが放散させることができる電力の量を表してもよい。図２の電力標的１の値は、現在割り当てられているＴＤＰ値を表してもよい。図２に示されるように、電力標的１は、電力対電圧の非直線曲線上のデータ点Ａに対応する。データ点Ａは、動作電圧Ｖ２に対応する。動作電圧Ｖ２に関して、非線形周波数対電圧曲線上にデータ点Ａを投影することは、データ点Ａ’を提供する。データ点Ａ’は、動作周波数Ｆ２に対応する。動作電圧Ｖ２および動作周波数Ｆ２の組み合わせによって表される動作点は、チップに対する電力の最適な利用および性能の実現を提供してもよい。
【００２９】
上記で説明され、略図で示されるように、電力標的１の動作点は、データ点Ａ’によって識別される。しかしながら、この動作点は、電力対周波数曲線上の離散Ｐ状態によって表されない。データ点Ａ’は、Ｐ状態Ｐ１およびＰ２の間に位置する。電力消費を削減するために、Ｐ状態Ｐ２は、対応するチップに対する初期データ点として選択されてもよい。動作電圧Ｖ１および動作周波数Ｆ１の対応する組み合わせは、結果として生じる選択された動作点であってもよい。
【００３０】
プロセッサ等のチップは、（ｉ）作業負荷が有意に変化して、報告された活動レベルの有意な変化を引き起こす、（ｉｉ）電力消費追跡値が所与の閾値に達する、または（ｉｉｉ）初期ＴＤＰ値が変化して、略図に示される電力標的値を変化させるまで、最初に割り当てられたＰ状態を利用して、作業負荷を処理し続けてもよい。例えば、プロセッサが、経時的に一貫した活動レベルを引き起こす作業負荷に対する命令を実行している場合、作業負荷の蓄積した効果が、プロセッサ内の電力検出システムを所与の高い閾値に到達させる場合がある。この閾値は、プロセッサが有意な熱を生成しており、電力が低減されるべきであることを示している。一実施形態では、プロセッサ内に位置し得る電力マネージャが、この状態を検出し、したがって、より低い電力性能動作点に対応する、異なるＰ状態を選択してもよい。
【００３１】
Ｐ状態の「抑制」は、現在選択されているＰ状態を、１つのＰ状態だけ、より低い電力消費Ｐ状態に減少させることを含む。対照的に、Ｐ状態の「上昇」は、現在選択されているＰ状態を、１つのＰ状態だけ、より高い電力消費Ｐ状態に増分することを含む。Ｐ状態Ｐ２を抑制することは、現在選択されているＰ状態Ｐ２を、より低い電力性能状態Ｐ３に移行させることを含む。Ｐ状態Ｐ２等の所与のＰ状態を上昇および抑制することの単純な説明図が、図２に示されている。いくつかの実施形態では、各上昇動作および各抑制動作は、論理がこの追加複雑性をサポートする時に、２つ以上のＰ状態によって、現在選択されているＰ状態を移行させてもよい。Ｐ状態移行は、プロセッサ内の論理によって制御されてもよく、それにより、内蔵型システムである。しかしながら、電力管理ユニット１３０等の外部ユニットが、プロセッサのＴＤＰ値を改変してもよく、それは、ダイ１０２上の各計算ユニット１２０からの電力消費フィードバックに基づいて、略図中の電力標的値を変化させる。
【００３２】
Ｐ状態の移行を続けると、計算ユニット１２０から電力消費推定値を受信した後に、電力管理ユニット１３０は、新しいＴＤＰ値等のパラメータを計算ユニット１２０に伝えてもよい。新しいＴＤＰ値は、新しい数の割り付けられた電力クレジットに対応してもよい。比較的活動していない計算ユニットは、その割り付けられたクレジットの現在の値よりも少ない電力クレジットが割り付けられてもよい。本質的に、比較的活動していない計算ユニットは、電力クレジットを寄付している。逆に、高度に活動中である計算ユニットは、その割り付けられたクレジットの現在の値よりも多くの電力クレジットが割り付けられてもよい。本質的に、高度に活動中である計算ユニットは、寄付された電力クレジットを受信している。
【００３３】
電力管理ユニット１３０から新しいＴＤＰ値を受信した後に、計算ユニット１２０のうちのそれぞれは、それに従って、新しい対応するＰ状態を選択してもよい。一実施形態では、選択は、所与の数のサポートされた離散Ｐ状態のうちのいずれか１つを選択することを含んでもよい。別の実施形態では、選択は、現在選択されているＰ状態を上昇させる、抑制する、または維持するかどうかを判定することを含んでもよい。
【００３４】
一実施形態では、所与の計算ユニットが、各所与の時間間隔の終わりに、測定された活動レベルを捕捉してもよい。測定された活動レベルは、時間間隔中にサンプリングされるように選択される、所与の信号と関連付けられる値に対応してもよい。例えば、一実施形態では、ローカルクロック分配ブロックに送られるクロックイネーブル信号が、サンプリングされるように選択される信号であってもよい。特定のクロックサイクル中にどの信号をサンプリングするかという選択は、選択がスイッチングノード静電容量の量にどれだけ良く相関するかに対応してもよい。
【００３５】
複数のサンプルは、所与の時間間隔中に得られてもよい。活動レベルを計算する前に使用する間欠クロックサイクルの数の判定は、サンプリングされたデータの所望の精度および信頼に依存してもよい。アプリケーションの実際の電力消費およびサンプリングからの推定電力消費の両方の統計分析および測定の両方を使用して、スプレッドシート、または参照テーブルが生成されてもよい。信頼レベルおよび誤差率が、統計分析をさらに発展させるように選択されてもよい。リアルタイム電力推定方法の実施例としては、「Ｓａｍｐｌｉｎｇ  Ｃｈｉｐ  Ａｃｔｉｖｉｔｙ  ｆｏｒ  Ｒｅａｌ  Ｔｉｍｅ  Ｐｏｗｅｒ  Ｅｓｔｉｍａｔｉｏｎ」と題された、２００８年４月１１日出願の出願第１２／１０１，５９８号が挙げられる。
【００３６】
一実施形態では、所与の時間間隔の終わりに、所与の計算ユニットが、測定された活動レベルと電力標的との間の符号付き連続蓄積差を計算してもよい。再度、電力標的は、熱設計点（ＴＤＰ）であってもよい。蓄積差は、ＡｃｃＴｄｐＤｅｌｔａ＝ＡｃｃＴｄｐＤｅｌｔａ＋（ＴＤＰ−ＲｃｖｄＡｃｔＬｅｖｅｌ＋軽減ＢｒｒｗＶａｌｕｅ）として、各所与の時間間隔の終わりに計算されてもよい。ここで、変数ＡｃｃＴｄｐＤｅｌｔａは、符号付き連続蓄積差である。変数ＴＤＰは、割り当てられた熱設計電力、または同等数の電力クレジットである。変数ＲｃｖｄＡｃｔＬｅｖｅｌは、計算ユニットの機能ブロックの中のサンプリングされた信号から判定される活動レベルである。変数軽減ＢｒｒｗＶａｌｕｅは、電力管理ユニットによって判定されるように、計算ユニットが借用することが許可される、電力クレジットの数の軽減値である。この電力クレジットの数を軽減することは、少なくとも、電力クレジットを借用する計算ユニットの活動レベルに基づく。この過程は、以降でさらに詳細に説明される。
【００３７】
代替として、電力管理ユニットは、上記で論議される軽減ＢｒｒｗＶａｌｕｅの値よりもむしろ、新しいＴＤＰ値を計算ユニットに送信してもよい。新しいＴＤＰ値は、計算ユニットの初期ＴＤＰ値、および計算ユニットが借用することを可能にする電力クレジットの数の軽減値を組み込んでもよい。したがって、電力管理ユニットは、値ＴＤＰｎｅｗを送信してもよく、蓄積差は、ＡｃｃＴｄｐＤｅｌｔａ＝ＡｃｃＴｄｐＤｅｌｔａ＋（ＴＤＰｎｅｗ−ＲｃｖｄＡｃｔＬｅｖｅｌ）として、各所与の時間間隔の終わりに計算されてもよい。変数ＲｃｖｄＡｃｔＬｅｖｅｌによって表される、測定された活動レベルは、ＴＤＰ（またはＴＤＰｎｅｗ）よりも高く、次いで、蓄積値ＡｃｃＴｄｐＤｅｌｔａは、負の値へと向かう。測定された活動レベルがＴＤＰよりも低い場合には、蓄積値ＡｃｃＴｄｐＤｅｌｔａは、正の値へと向かう。蓄積値が正の所与の閾値に達する時に、計算ユニットは、現在のＰ状態を抑制することを決定してもよい。蓄積値が負の所与の閾値に達する時に、計算ユニットは、現在のＰ状態を上昇させることを決定してもよい。
【００３８】
ここで図３を参照すると、半導体チップの電力性能状態移行３００の別の実施形態が示されている。図２に示される略図と同様に、２つの非直線曲線は、電力対電圧と周波数対電圧との間のチップの関係を図示する。同じ５つの離散電力性能状態（Ｐ状態）が、略図に示されており、Ｐ０からＰ４として表される。図２に関する上記の実施例を続けると、電力管理ユニット１３０は、ダイ１０２上の計算ユニット１２０のうちのそれぞれからの電力消費推定値に基づいて、１つ以上の計算ユニットに対するＴＤＰ値を変化させることを判定してもよい。例えば、現在のＴＤＰ値が、所与の計算ユニットに対して、より高いＴＤＰ値に増加させられてもよく、所与のユニットは、異なる活動していない計算ユニットから寄付されている、寄付された電力クレジットを受信している。ＴＤＰの増加は、現在の電力標的１よりも高い値を有する、新しい電力標的２として示されている。
【００３９】
図３に示されるように、電力標的２は、電力対電圧の非直線曲線上のデータ点Ｂに対応する。データ点Ｂは、動作電圧Ｖ４に対応する。動作電圧Ｖ４に関して、非線形周波数対電圧曲線上にデータ点Ｂを投影することは、データ点Ｂ’を提供する。データ点Ｂ’は、動作周波数Ｆ４に対応する。動作電圧Ｖ４および動作周波数Ｆ４の組み合わせによって表される動作点は、チップに対する電力の最適な利用および性能の実現を提供してもよい。
【００４０】
動作電圧Ｖ４および動作周波数Ｆ４の組み合わせによって表される動作点は、電力対周波数曲線上の離散Ｐ状態によってサポートされなくてもよい。データ点Ｂ’は、Ｐ状態Ｐ０およびＰ１の間に位置する。電力消費を削減するために、Ｐ状態Ｐ１は、対応するチップに対する新しい動作点として選択されてもよい。動作電圧Ｖ３および動作周波数Ｆ３の対応する組み合わせは、結果として生じる選択された動作点であってもよい。
【００４１】
計算ユニットの活動レベルに加えて、電力標的２の値を判定するために、ある基準が使用されてもよいことに留意されたい。例えば、電圧調整器は、熱設計電流（ＴＤＣ）よりも大きいピーク電流を供給することができる。しかしながら、ＴＤＣは、所与の通常から高までの動作条件のために供給される電流の量である。ＴＤＣ値に対する設計制約もまた、プラットフォーム費用を最小限化してもよい。電力クレジットを所与の計算ユニットに寄付し、事前チェックなしで電力標的１を電力標的２に増加させる時に、ＴＤＣの値は、所与の計算ユニットに対する増大した活動をサポートするためには不十分となり得る。計算ユニット間の電力伝達を可能にすることによって、オンチップ性能が増大してもよい一方で、より高いＴＤＣをサポートするように電圧調整器を修正する費用は有意である。したがって、（直接的に、またはいくつかの電力クレジットを介して）新しいＴＤＰ値を計算ユニット１２０に割り付ける前に、電力管理ユニット１３０がチェックを行ってもよい。これらのチェックは、いずれの計算ユニットも、それぞれの電圧調整器の対応するＴＤＣによって表される量よりも多くの電流を引き込まないことを判定してもよい。増加したＴＤＰ値が課せられ得る、設計制約に対する他のチェックが可能であり、検討される。
【００４２】
上記と同様の論議が、電力クレジットを寄付する計算ユニットに対して存在することに留意されたい。そのような場合において、電力標的３（図示せず）によって表されてもよい、電力管理ユニットによって割り当てられる新しいＴＤＰ値は、電力標的１よりも低い値を有する。結果として生じる動作点を見つけるステップは、上記で説明されるステップに従う。上記で説明される過程は、電力管理ユニット１３０が、所与の時間間隔で計算ユニット１２０から新しい電力消費推定値を受信し、新しいＴＤＰ値を判定した後に、繰り返してもよい。新しいＴＤＰ値および／または対応する電力クレジットを判定する時に、電力管理ユニットは、所与の受信計算ユニットに割り当てられる最終値の基礎を、各計算ユニットの活動レベルに置いてもよい。
【００４３】
ここで図４を参照すると、電力借用軽減表４００の一実施形態が示されている。計算ユニットは、活動レベルを電力管理ユニットに報告してもよい。代替として、計算ユニットは、ワットまたは内部測定単位で測定される電力消費推定値、温度測定、引き込み電流測定等を報告してもよい。各選択は、ダイ１０２の設計中に設計者が検討してもよい、費用および報告精度におけるトレードオフを含む。この論議については、活動レベルは、電力借用値を選択することを説明するために使用されるが、他の測定値が可能であり、検討される。
【００４４】
表４００の１つの列には、活動レベルの範囲が記憶される。所与の計算ユニットからの報告された活動レベルは、表にインデックスを付け、表内の行を選択するために使用されてもよい。示された実施形態では、受信した活動レベルが３つの閾値と比較される。３つの閾値が表４００に示されているが、より多くの、またはより少ない閾値の選択が可能であり、検討される。表４００中の第２の列は、所与の電力借用値の値を記憶する。電力借用値は、報告された活動レベルおよび閾値の比較に基づく。所与の電力借用値は、電力クレジット、ＴＤＰ値に関係するワット数、または他のものとして表されてもよい。
【００４５】
電力借用値は、比較的動作していないと判定される、寄付計算ユニットのＴＤＰ値および活動レベルの両方に基づいてもよい。一実施形態では、計算ユニットは、そうでなければ計算ユニットが使用する資格があり得る、または潜在的に使用し得る、現在使用されていない電力の量に基づく、所与の電力借用値を寄付のために利用可能にしてもよい。所与の計算ユニットの電力消費が、上記で論議されるように報告または推定されてもよい。代替として、表４００と同様の表が、２つ以上の閾値と比較した受信ユニットの活動レベルの比較に基づいて、計算ユニットから寄付する軽減電力値を判定するために使用されてもよい。
【００４６】
さらに、電力管理ユニット１３０は、ダイ１０２上の各計算ユニットに対する対応列を伴う１つの大きな表を有してもよい。この大きな表は、各計算ユニットの報告された活動レベルを追跡し、報告された活動レベルを対応する閾値と比較し、どの計算ユニットが電力クレジットを寄付することができるかを判定し、各有資格寄付計算ユニットが寄付することができる電力クレジットの量を判定し、どの計算ユニットが電力クレジットを受信することができるかを判定し、各有資格受信計算ユニットが受信することができる電力クレジットの量を判定するように構成されてもよい。表の詳細の複雑性および粒度は、少なくとも、判定のために割り付けられる合計時間、ならびに情報を記憶するため、および組み合わせ論理のためのオンダイ土台等の設計トレードオフによって判定されてもよい。各有資格受信計算ユニットが受信することができる電力クレジットの量は、温度制限および電気制限の両方に依存してもよいことに留意されたい。例えば、前述のような定格熱設計点（ＴＤＰ）が、温度制限を設定してもよい。前述のような対応する電圧調整器の定格熱設計電流（ＴＤＣ）は、電気制限を設定してもよい。再度、（直接的に、またはいくつかの電力クレジットを介して）新しいＴＤＰ値を計算ユニット１２０に割り付ける前に、電力管理ユニット１３０がチェックを行ってもよい。これらのチェックは、電力クレジットを受信する計算ユニットが、それぞれの電圧調整器の対応するＴＤＣによって表される量よりも多くの電流を引き込まないことを判定してもよい。増加したＴＤＰ値が課せられ得る、設計制約に対する他のチェックが可能であり、検討される。これらのチェックは、表４００に記憶される値を設定してもよい。
【００４７】
ここで図５を参照すると、電力管理システムに対応する、測定された電気特性５００の一実施形態が示されている。描写した値は、正確となることを目的としていないことに留意されたい。むしろ、図５のチャートは、描写された種々の値の間の相対的関係を（概して）示すように、論議の目的で提供されている。示された実施例では、経時的な動作電圧２１０および測定された活動レベル２２０への変化が描写されている。加えて、電力２３０が経時的に示されている。図５に示されるように、活動レベルが有意な変化を受ける時および活動レベルが一定である時の両方で、Ｐ状態移行があってもよい。略図では、Ｐ状態移行は、動作電圧２１０の変化と相関する。いくつかのＰ状態値が、略図で標識されている。例えば、一定の活動レベル２２０では、略図で示されるように、Ｐ状態Ｐ１は、より低い動作電圧を有するＰ状態Ｐ２に移行する。電力２３０は、例えば、第１の電力標的（ＰＴ１）を追跡するために、Ｐ状態移行によって調整されてもよい。一実施形態では、チップは、電力標的に対応する仮想動作点を維持するためにＰ状態ディザリングを利用してもよい。ディザリングは、チップが、より高いまたは低い離散Ｐ状態の間の中間値に対応する平均値を達成するために、より高いまたは低い離散Ｐ状態間で交番させてもよい、方法である。ディザリングを行うための方法および機構は、その全体が参照することにより本明細書に組み込まれる、出願第（未定）号でさらに説明されている。
【００４８】
図５では、経時的にチップによって引き込まれる電流２４０が示されている。電流２４０は、動作電圧が同じ電力消費値（Ｉ＝Ｐ／Ｖ）について減少するにつれて増加する。この同じ電力消費値は、経時的にＰ状態を切り替えることによって得られる平均値であってもよい。Ｐ状態ディザリングは、チップ上で消費される平均電力とＰＴ１値等の電力標的との間の統一に近い比率を維持するために使用されてもよい。一実施形態では、熱設計点（ＴＤＰ）値が、ＰＴ１値に対して選択されてもよい。そのような統一に近い比率を維持することによって、チップは、所望量の電力（例えば、対応する冷却システムによって放散させられる電力の量）を依然として消費しながら、性能を最大限化しようとしてもよい。しかしながら、たとえＰ状態ディザリングが（例えば、定常状態上昇中に）起こっていなくても、作業負荷変化が、以下で説明されるように引き込まれる電流の過剰な量につながる場合がある。
【００４９】
第１のオンダイ構成要素から第２のオンダイ構成要素への電力伝達は、最大（または増大した）全体的チップ性能を提供するために、いくつかの利用可能な電力クレジットを伝達してもよい。いくつかの実施形態では、第１のオンダイ構成要素は、第１の電圧面、したがって、第１の電圧調整器を利用してもよい。第２のオンダイ構成要素は、別個の第２の電圧面、したがって、別個の第２の電圧調整器を利用してもよい。図３を再び参照すると、最大数の電力クレジットが、最大の新しい電力標的値に対応してもよい。したがって、受信する第２の構成要素の動作点は、図３に示されるように増加してもよく、点Ｂ’は、Ａ’よりも高い性能の動作点である。新しくてより高い動作点の平均動作電圧は、伝達される電力および受信する第２の構成要素の作業負荷の両方の関数である。
【００５０】
一般的に言えば、所与の受信構成要素に伝達される電力クレジットの量は、受信構成要素の現在の活動レベルで軽減表４００にインデックスを付けることによって求められてもよい。少なくとも、受信構成要素に対する温度制限および電気制限が、軽減表の入力値を導入するために使用されてもよい。例えば、所与の受信構成要素は、図３に示されるように、Ｐ状態Ｐ４で動作していてもよい。動作電圧は、Ｐ状態Ｐ４については低い。Ｐ状態Ｐ４は、高い活動レベルにより、受信構成要素に対して選択されていてもよい。したがって、受信構成要素によって引き込まれる電流の量は、高く（Ｉ＝Ｐ／Ｖ）、対応するＴＤＣ制限に近くてもよい。したがって、受信構成要素の高い活動レベルが、軽減表４００にインデックスを付けるために使用される時に、最大電力借用値が軽減されてもよい（４で割る、２で割る、０に設定する）。受信構成要素が電力クレジットの軽減値を受信する時に、電力消費が増加してもよく、動作電圧が増加してもよく、引き込まれる電流の量が増加してもよい。しかしながら、これらの増加は、受信される電力クレジットの数の軽減によって制限される。よって、最大数の電力クレジットが伝達されなかったため、受信構成要素は、対応するＴＤＣ制限を超えなくてもよい。電力クレジットの数の軽減は、対応するＴＤＣ制限を超える可能性を防ぐために使用されてもよい。
【００５１】
図５を再び参照すると、上記で説明されるような電力伝達後に、第２の構成要素が、より高い動作点で動作する一方で、第２の構成要素に対する作業負荷が、ある期間にわたって、その現在の活動レベルを維持してもよい。例えば、図５に示されるように、第２の構成要素は、ＰＴ１によって表される動作点で動作していてもよい。動作点ＰＴ１は、以前の電力伝達後の新しくてより高い動作点であってもよい（図示せず）。第２の構成要素は、図５に示されるように、この期間中の離散的なサポートされたＰ状態の間のディザリングであってもよい。動作電圧は、ディザリングが起こっている間に移行することが示されている。ディザリング中に達する、Ｐ１、Ｐ２、Ｐ０、およびＰ３等のいくつかのＰ状態値が、印付けられる。
【００５２】
第２の構成要素の動作中に、ソフトウェアアプリケーションを実行する命令は、第２の構成要素が実行するための動作の種類を変更してもよく、第２の構成要素が実行するための特定の種類の動作の数を変更してもよく、第２の構成要素が実行するための動作の総数を変更してもよく、または変更の組み合わせを実行してもよい。したがって、第２の構成要素に対する作業負荷は、電力クレジットの伝達からは独立しているが、実行ソフトウェアアプリケーションに基づいて、経時的に変化してもよい。図５に示されるように、活動レベルは、第１のレベルから始まり、第１の期間にわたって第１のレベルを維持する。その後、活動レベルは、新しいレベルに漸減し、第２の期間にわたって新しくてより低いレベルを維持する。その後、活動レベルは、新しい増大したレベルに漸増する。減少した作業負荷よりも増加した作業負荷が、次にさらに説明されるように、設計の問題を引き起こす場合がある。
【００５３】
実行ソフトウェアアプリケーション内の変化に起因する、第２の構成要素に対する増加した作業負荷の説明を続けると、チップによって引き込まれる電流２４０が増加してもよい。チップによって引き込まれる電流２４０の増加は、より高い作業負荷と関連付けられる、より高い活動レベルおよびさらなるスイッチング静電容量の両方によるものであってもよい。第２の構成要素による、より高い引き込まれた電流２４０は、対応する電圧調整器の熱設計電流（ＴＤＣ）制限に違反する場合がある。典型的には、チップによって引き込まれる電流２４０の量は、ＴＤＣ制限に達しない。しかしながら、現在、第２の構成要素は、作業負荷増加前のより古くて小さい作業負荷と関連付けられるＰ状態で動作している。チップはさらに、同じ平均電力性能レベルを維持しようとしてもよい。作業負荷が増加するにつれて、チップによって引き込まれる電流２４０の量が増加し、電力消費が増加する。したがって、チップは、動作周波数および動作電圧を減少させるようにＰ状態を抑制する。図５に示されるように、動作電圧は、活動レベルが漸増するにつれて、Ｐ状態抑制により漸減する。
【００５４】
上述のように、チップによって引き込まれる電流２４０は、所与の制限を超えてもよい。チップは、別のオンダイチップまたは構成要素から寄付された電力クレジットを受信することにより、より高い性能Ｐ状態で動作していてもよい。チップがより高い性能Ｐ状態で動作している時に、電力消費および引き込まれる電流の量が増加する。軽減表４００は、伝達される電力クレジットの数を制限するために使用されてもよい。したがって、電力消費および引き込まれる電流の量の両方の増加量が、安全に保護されてもよい。後に、活動レベルは、用途による新しい要求により、有意に増大してもよい。比較的安定した電力消費を維持している間の動作電圧の後続の降下は、チップによって引き込まれる電流２４０に、制限を超えさせてもよい。チップによって引き込まれる電流２４０は、図５に示されるような制限を超える。一実施形態では、電流制限は、対応する電圧調整器に対する熱設計電流（ＴＤＣ）であってもよい。動作電圧は、図２、図３、および図５に示されるようなＰ状態の抑制中に減少してもよい。
【００５５】
図５で見られるように、電力クレジットを伝達することは、チップに対する全体的な性能上昇をもたらしてもよいが、設計制約を超えることを回避するように、特定の条件を監視することが行われてもよい。例えば、以降で、所与の構成要素が電力クレジットを受信した後に、作業負荷は、ソフトウェアアプリケーションによって引き起こされる変更により、変化してもよい。増加した作業負荷は、所与の構成要素が増加するための電力消費式の中の２つの項（α、Ｃ）を引き起こしてもよい。周知であるように、集積回路の電力消費は、αｆＣＶ２に比例し、式中、αは、スイッチング因数を表し、ｆは、周波数を表し、Ｃは、静電容量を表し、Ｖは、電圧を表す。一般的に言えば、より高い作業負荷は、スイッチング因数αおよび静電容量Ｃを増加させる。したがって、所与の構成要素は、増加した電力消費に応じて、Ｐ状態抑制を開始してもよい。概して、電力消費が所与の閾値を超えて増加した場合、Ｐ状態は、比較的安定した電力消費値を維持するために抑制されてもよい。Ｐ状態抑制は順に、動作周波数ｆおよび動作電圧Ｖの減少と関連付けられてもよい。
【００５６】
電力クレジットを受信する所与の構成要素の上記の実施例を続けると、Ｐ状態抑制は、所与の構成要素が減少するための上記の電力消費式の中の２つの項（ｆ、Ｖ）を引き起こしてもよい。ここで、所与の構成要素によって引き込まれる電流２４０は、（ｉ）スイッチング因数αおよび静電容量Ｃの増加、および（ｉｉ）動作電圧の減少の両方により、増加する（Ｉ＝Ｐ／Ｖ）。チップによって引き込まれる電流２４０の量の増加は、ＴＤＣ制限を超えてもよい。このシナリオは、図５に図示されている。したがって、ＴＤＣ制限に違反することを回避するために、この条件が監視され、検出されてもよい。この条件が検出された時に、電力伝達の後続の変調が起こってもよい。
【００５７】
一実施例では、ＴＤＣ制限の違反の検出に応じて、寄付された電力クレジットの一部分が、第２の構成要素から寄付する第１の構成要素へ戻されてもよい。例えば、図３を参照すると、一実施形態では、寄付された電力クレジットの一部分の返還は、略図中の電力標的１と電力標的２との間に位置する電力標的３（図示せず）である、第３の電力標的をもたらしてもよい。第１の構成要素から第２の構成要素に寄付する電力クレジットの数の判定中に、許容最大数の利用可能な電力クレジットが使用されてもよい。しかしながら、後の監視は、受信する第２の構成要素上の高出力作業負荷が、引き込まれた電流２４０の平均値に、対応するＴＤＣ制限等の制限を超えさせる時に、寄付された電流クレジットの一部分または全ての後続の返還を示してもよい。寄付された電流クレジットの一部分または全ての後続の返還は、新しくてより低い第２の電力標的（ＰＴ２）によって図示されてもよい。図５に示されるように、チップによって引き込まれる電流２４０の量は、寄付された電流クレジットの一部分または全ての返還後にＴＤＣ制限を超えない。
【００５８】
ここで図６を参照すると、電力管理ユニット１３０の一実施形態が示されている。入出力（Ｉ／Ｏ）インターフェース５５０が、ダイ１０２上の各計算ユニット１２０と通信してもよい。新しい活動レベルが報告された時に、電力伝達表５００内の入力５１０が更新されてもよい。表５００は、ダイ１０２上の各計算ユニット１２０のそれぞれに対する別個の入力５１０を備えてもよい。各入力５１０は、図５に示されるように、いくつかのフィールドを備えてもよい。計算ユニット識別子（ＩＤ）フィールド５２０は、ダイ１０２上の計算ユニット１２０のうちのどれが、特定の入力５１０に対応するかを識別してもよい。初期ＴＤＰ値フィールド５２２は、それぞれの計算ユニットについて評定される、対応するＴＤＰ値を記憶してもよい。現在のＴＤＰ値フィールド５２４は、それぞれの計算ユニットに対する現在のＴＤＰ値を記憶してもよい。フィールド５２４に記憶される現在のＴＤＰ値は、ダイ上の電力伝達により、フィールド５２２に記憶される初期ＴＤＰ値とは異なってもよい。代替として、表５００は、フィールド５２２および５２４の中に、電力クレジットを表す対応値を記憶してもよい。
【００５９】
表５００の中のフィールド５２６および５２８は、対応する計算ユニットが電力クレジットを受信しているか、または電力クレジットを寄付しているかどうかという判定を記憶してもよい。加えて、これらのフィールドは、受信または寄付される対応電力クレジットの数を記憶してもよい。表５００の中のフィールド５３０および５３２は、それぞれ低および高使用量に対応する、１つ以上の閾値を記憶してもよい。これらの閾値は、表５００の中のフィールド５３４に記憶されてもよい、報告された活動レベル値と比較されてもよい。活動レベルは、所与の時間間隔ごとに電力管理ユニット１３０に報告されてもよい。
【００６０】
表５００の中のフィールド５３６は、電力クレジットを受信および寄付するための優先順位の値を記憶してもよい。例えば、第１の計算ユニットは、３の電力クレジットを寄付できることが検出される。第２および第３の計算ユニットはそれぞれ、２の電力クレジットを受信できてもよい。第２の計算ユニットまたは第３の計算ユニットが単一の熱的クレジットのみを受信するかどうかを判定するために、優先順位スキームが使用されてもよい。複数の計算ユニットのそれぞれが、どのようにして電力クレジットを寄付してもよいかを判定するために、同様の優先順位スキームが使用されてもよい。表５００の中のフィールド５３８は、各オンダイ電圧調整器に対するＴＤＣ制限を記憶してもよい。記憶したＴＤＣ値は、各電圧調整器から引き込まれている電流の推定値と比較されてもよい。一実施形態では、オンダイ電流センサ、または各電圧調整器内のセンサが、引き込まれた電流の推定値を電力管理ユニット１３０に提供してもよい。別の実施形態では、各オンダイ計算ユニットは、引き込まれた電流の推定値を提供してもよい。任意の測定された推定値が、記憶した対応ＴＤＣ制限を超える時に、電力管理ユニット１３０は、オンダイ計算ユニットへの電力クレジットの割付を調整してもよい。電力クレジットの割付は、違反している計算ユニットの電流消費を削減してもよい。例えば、計算ユニットは、寄付された電力クレジットを受信していてもよい。以降で、より高い出力の作業負荷が、計算ユニット上で実行されてもよく、平均の引き込まれた電流に、対応するＴＤＣ制限を超えさせる。電力管理ユニット１３０が超過条件を検出した時に、寄付された電力クレジットのうちの一部分または全てが、寄付している計算ユニットに戻されてもよい。
【００６１】
フィールド５２０〜５３８は、この特定の順序で示されているが、他の組み合わせが可能であり、他のフィールドまたは付加的なフィールドも利用されてもよい。フィールド５２０〜５３８に対する情報を記憶するビットは、連続的であってもなくてもよい。回路５４０は、報告された活動レベルを対応する閾値に比較すること等の比較動作を行う論理を備えてもよい。加えて、回路５４０は、寄付するための熱的クレジット量を判定し、どのようにして利用可能な電力クレジットを分配するかを判定してもよい。また、回路５４０は、各計算ユニットの状態を監視し、寄付する計算ユニットがいつ電力クレジットを返させるべきか、および受信する計算ユニットのうちのどれが電力クレジットを戻すために選択されるかを判定してもよい。
【００６２】
ここで図７を参照すると、ダイ上の効率的な電力伝達のための方法６００の一実施形態が示されている。論議の目的で、以降で説明される方法のこの実施形態および後続の実施形態におけるステップは、起こった順序で示されている。しかしながら、いくつかのステップは、示されたのとは異なる順序で起こってもよく、いくつかのステップは、同時に行われてもよく、いくつかのステップは、他のステップと組み合わせられてもよく、いくつかのステップは、別の実施形態では欠けていてもよい。
【００６３】
ブロック６０２では、１つ以上のソフトウェアアプリケーションが、１つ以上の計算ユニットを備えるダイ上で実行されている。一実施形態では、電力管理ユニットが、オンダイ計算ユニットの電気特性を監視する。例えば、活動レベル、引き込まれる電流の量等が、電力管理ユニットに報告されてもよい。これらの値は、図６に示される表５００等の表の中の記憶した対応値と比較されてもよい。各計算ユニットは、それぞれの活動レベルを測定してもよい。これらの活動レベルは、電力管理ユニット等の制御ユニットに報告されてもよい。加えて、各計算ユニットは、対応する電圧調整器から引き込まれる電流の量を測定または推定してもよい。代替として、外部電流センサが、引き込まれる電流の量を測定してもよい。各計算ユニットに対する引き込まれる電流の量の値は、以降の比較のために、電力管理ユニットへ伝えられてもよい。
【００６４】
再度、図５を参照すると、計算ユニットが、（ｉ）対応するＰ状態をより高い性能Ｐ状態に変化させる、電力クレジットを受信する、および／または（ｉｉ）計算ユニットが後に、より高い出力の作業負荷を受信する時に、所与の計算ユニットによって引き込まれる電流２４０の平均値が、ＴＤＣ制限を超えてもよい。１つ以上の計算ユニットがＴＤＣ制限等の対応する制限よりも大きい電流を引き込むことを、電力管理ユニットが検出する場合（条件ブロック６０４）に、ブロック６０６で、電力管理ユニットが、違反している計算ユニットのうちのそれぞれから、１つ以上の以前の寄付する計算ユニットへ、それぞれの数の電力クレジットを戻してもよい。再度、図６に示される表５００等の表が、伝達する電力クレジットの量を判定するために使用されてもよい。代替として、電力管理ユニットは、違反している計算ユニットから除去された電力クレジットが、依然として活動していない場合がある、以前の寄付する計算ユニット以外の他の適格な活動中の計算ユニットに伝えられてもよいことを判定する、論理を含んでもよい。例えば、他の的確な計算ユニットが、作業負荷を受けて動作していてもよい一方で、寄付する計算ユニットは、依然としてアイドル状態であってもよい。電力管理ユニット１３０は、ダイ上の計算ユニットにわたる電力クレジットの割り付けの記録を管理するために、表５００および回路５４０を利用してもよい。
【００６５】
ダイ上の（受信する）計算ユニットが所与の閾値を下回る活動レベルを有することを、電力管理ユニットが検出した場合（条件ブロック６０８）に、ブロック６１０で、電力管理ユニットは、寄付する計算ユニットから受信する計算ユニットへ、それぞれの数の電力クレジットを伝える。寄付する電力クレジットの量を判定することは、前述のような表を利用することを含んでもよい。例えば、図６に示される表５００等の表が使用されてもよい。
【００６６】
ダイが電力クレジットを再び割り当て、寄付する計算ユニットがその活動レベルを大幅に増加させることを電力管理ユニットが検出する（条件ブロック６１２）、または別様に付加的な電力を必要とする場合に、ブロック６１４で、電力管理ユニットが、オンダイ計算ユニットにわたって電力クレジットを再び割り付けてもよい。電力管理ユニットは、以前にそれぞれの閾値を下回った、寄付する計算ユニットのそれぞれの活動レベルが、現在閾値を上回っているかどうかを判定するように、表等を通して、寄付する計算ユニットを監視してもよい。それぞれの活動レベルを閾値を超えるように上昇した場合に、電力管理ユニットは、以前に受信していた計算ユニットのうちのそれぞれから以前に寄付していた計算ユニットへ、それぞれの数の電力クレジットを伝えてもよい。伝達する電力クレジットの量を判定するために、表が使用されてもよい。
【００６７】
ここで図８を参照すると、例示的なプロセッサ７００の一実施形態が示されている。プロセッサ７００は、メモリコントローラ１２２と、インターフェース論理１４０と、１つ以上のプロセッサコア１１２および対応するキャッシュメモリサブステム１１４を含み得る、１つ以上の処理ユニット１１５と、パケット処理論理１１６と、共有キャッシュメモリサブシステム１１８とを含んでもよい。加えて、プロセッサ７００は、１つ以上のグラフィックス処理ユニット（ＧＰＵ）１７０を含んでもよい。ＧＰＵ１７０は、単一命令複数データ（ＳＩＭＤ）コア等の並列アーキテクチャを伴うプロセッサコア１７２を備えてもよい。ＳＩＭＤコアの例としては、グラフィックス処理ユニット（ＧＰＵ）、デジタル信号処理（ＤＳＰ）コア等が挙げられる。
【００６８】
一実施形態では、ＧＰＵ１７０は、１つ以上のグラフィックスプロセッサコア１７２と、データ記憶バッファ１７４とを含む。ＧＰＵは、パーソナルコンピュータ、ワークステーション、またはビデオゲームコンソール用の専用グラフィックスレンダリングデバイスであってもよい。一実施形態では、プロセッサ７００の図示した機能性は、単一のデバイス上の単一の集積回路上に組み込まれる。
【００６９】
プロセッサコア１１２は、所定の命令セットに従って命令を実行するための回路を含む。例えば、ＳＰＡＲＣ（登録商標）命令セットアーキテクチャ（ＩＳＡ）が選択されてもよい。代替として、ｘ８６、ｘ８６−６４（登録商標）、Ａｌｐｈａ（登録商標）、ＰｏｗｅｒＰＣ（登録商標）、ＭＩＰＳ（登録商標）、ＰＡ−ＲＩＳＣ（登録商標）、または任意の他の命令セットアーキテクチャが選択されてもよい。概して、プロセッサコア１１２は、それぞれ、データおよび命令のために、キャッシュメモリサブステム１１４にアクセスする。要求されたブロックが、キャッシュメモリサブシステム１１４の中、または共有キャッシュメモリサブシステム１１８の中で見つからない場合には、読み取り要求が生成され、欠落しているブロックがマップされるノード内のメモリコントローラに伝送されてもよい。
【００７０】
現代のＧＰＵ１７０は、コンピュータグラフィックスを操作および表示するのに非常に効率的であり、それらの高度並列構造が、一連の複雑なアルゴリズムに対して、処理ユニット１１５等の汎用中央処理ユニット（ＣＰＵ）よりも、それらを効果的にする。ＧＰＵは、典型的には、グラフィックスおよびビデオに必要とされる計算を実行し、ＣＰＵは、グラフィック単独よりもはるかに多くのシステムプロセスに対する計算を実行する。従来のＧＰＵ１７０は、画像レンダリングアプリケーションにおいて高スループットを達成するために、非常に幅広い単一命令複数データ（ＳＩＭＤ）アーキテクチャを使用する。そのようなアプリケーションは、概して、多数のオブジェクト（頂点またはピクセル）に、頂点シェーダまたはピクセルシェーダ等の同じプログラムを実行することを伴う。各オブジェクトが他のオブジェクトから独立して処理されるが、同じ一連の動作が使用されるため、ＳＩＭＤアーキテクチャは、かなりの性能強化を提供する。
【００７１】
一実施形態では、ＣＰＵ１１５およびＧＰＵ１７０は、異なる設計センターからの独自仕様のコアであってもよい。また、ＧＰＵ１７０は、ここでは、インターフェース１４０を介して、チップ外でメモリアクセスを行うよりもむしろ、メモリコントローラ１２２を介して、ローカルメモリ１１４および１１８とメインメモリとの両方に直接アクセスできてもよい。この実施形態は、ＧＰＵ１７０に対するメモリアクセスの待ち時間を削減してもよく、それは、より高い性能に変換してもよい。
【００７２】
プロセッサ７００の構成要素を続けると、キャッシュサブシステム１１４および１１８は、データのブロックを記憶するように構成される、高速キャッシュメモリを備えてもよい。キャッシュメモリサブシステム１１４は、それぞれのプロセッサコア１１２内で統合されてもよい。代替として、キャッシュメモリサブシステム１１４は、所望に応じて、裏面キャッシュ構成またはインライン構成でプロセッサコア１１４に連結されてもよい。なおもさらに、キャッシュメモリサブシステム１１４は、キャッシュの階層として実装されてもよい。（階層内で）プロセッサコア１１２のより近くに位置するキャッシュは、所望の場合、プロセッサコア１１２に統合されてもよい。一実施形態では、キャッシュメモリサブシステム１１４はそれぞれ、Ｌ２キャッシュ構造を表し、共有キャッシュサブシステム１１８は、Ｌ３キャッシュ構造を表す。キャッシュメモリサブシステム１１４および共有キャッシュメモリサブシステム１１８の両方は、対応するキャッシュコントローラに連結されるキャッシュメモリを含んでもよい。
【００７３】
概して、パケット処理論理１１６は、処理ノード１１０が連結されるリンク上で受信される制御パケットに応答するように、プロセッサコア１１２および／またはキャッシュメモリサブシステム１１４に応じて、制御パケットを生成するように、サービスのためにメモリコントローラ１２０によって選択されるトランザクションに応じて、探査コマンドおよび応答パケットを生成するように、およびノード１１０がインターフェース論理１４０を通した他のノードへの中間ノードである、パケットを送るように構成される。インターフェース論理１４０は、パケットを受信し、パケットをパケット処理論理１１６によって使用される内部クロックに同期させる論理を含んでもよい。
【００７４】
図８に示されるように、ＣＰＵ１１５は、同じ電圧調整器１１０ａを共有する。代替として、１つ以上のＣＰＵ１１５は、別個の電圧調整器に連結されてもよい。ＧＰＵ１７０は、ＣＰＵ１１５から別個の電圧調整器１１０ｄに連結される。各ＣＰＵ１１５内のコア１１２のうちのそれぞれ、およびＧＰＵ１７０内のコア１７２のうちのそれぞれは、対応する活動レベルを監視し、測定してもよい。各ＣＰＵ１１５およびＧＰＵ１７０は、それぞれの活動レベルを集約し、結果を電力管理ユニット１３０へ報告してもよい。この報告は、各所与の時間間隔の終わりに起こってもよい。電力管理ユニット１３０は、前述の方法を使用して、ＣＰＵ１１５とＧＰＵ１７０との間で電力を伝達することを判定してもよい。
【００７５】
上記の実施形態は、ソフトウェアを備えてもよいことに留意されたい。そのような実施形態では、方法および／または機構を実装するプログラム命令が、コンピュータ可読媒体上で伝えられ、または記憶されてもよい。プログラム命令を記憶するように構成される多数の種類の媒体が利用可能であり、ハードディスク、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、フラッシュメモリ、プログラマブルＲＯＭ（ＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、および種々の他の形態の揮発性または不揮発性記憶装置を含む。一般的に言えば、コンピュータアクセス可能記憶媒体は、命令および／またはデータをコンピュータに提供するように、使用中にコンピュータによってアクセス可能な任意の記憶媒体を含んでもよい。例えば、コンピュータアクセス可能記憶媒体は、磁気または光学媒体等の記憶媒体、例えば、ディスク（固定または可撤性）、テープ、ＣＤ−ＲＯＭ、またはＤＶＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、またはＢｌｕ−Ｒａｙを含んでもよい。記憶媒体はさらに、ＲＡＭ（例えば、同期型ダイナミックＲＡＭ（ＳＤＲＡＭ）、ダブルデータレート（ＤＤＲ、ＤＤＲ２、ＤＤＲ３等）ＳＤＲＡＭ、低出力ＤＤＲ（ＬＰＤＤＲ２等）ＳＤＲＡＭ、Ｒａｍｂｕｓ  ＤＲＡＭ（ＲＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）等）、ＲＯＭ、フラッシュメモリ、ユニバーサルシリアルバス（ＵＳＢ）インターフェース等の周辺インターフェースを介してアクセス可能な不揮発性メモリ（例えば、フラッシュメモリ）等の揮発性または不揮発性メモリ媒体を含んでもよい。記憶媒体は、微小電気機械システム（ＭＥＭＳ）、ならびにネットワークおよび／または無線リンク等の通信媒体を介してアクセス可能な記憶媒体を含んでもよい。
【００７６】
加えて、プログラム命令は、Ｃ等の高水準プログラミング言語、またはＶｅｒｉｌｏｇ、ＶＨＤＬ等の設計言語（ＨＤＬ）、またはＧＤＳ  ＩＩストリーム形式（ＧＤＳＩＩ）等のデータベース形式で、ハードウェア機能性の行動レベル記述またはレジスタ転送レベル（ＲＴＬ）記述を含んでもよい。場合によっては、記述は、合成ライブラリからのゲートのリストを備えるネットリストを生成するように記述を同期させ得る、合成ツールによって読み取られてもよい。ネットリストは、システムを備えるハードウェアの機能性も表す、一式のゲートを備える。次いで、ネットリストは、マスクに適用される幾何学的形状を表すデータセットを生成するように、配置され、送られてもよい。次いで、マスクは、システムに対応する、１つまたは複数の半導体回路を生産するために、種々の半導体製造ステップで使用されてもよい。代替として、コンピュータアクセス可能記憶媒体上の命令は、所望に応じて、ネットリスト（合成ライブラリを伴う、または伴わない）またはデータセットであってもよい。加えて、命令は、Ｃａｄｅｎｃｅ（登録商標）、ＥＶＥ（登録商標）、およびＭｅｎｔｏｒ  Ｇｒａｐｈｉｃｓ（登録商標）等のベンダからのハードウェアベース型エミュレータによるエミュレーションの目的で利用されてもよい。
【００７７】
上記の実施形態は、かなり詳細に説明されているが、いったん上記の開示が完全に理解されると、多数の変化例および修正が当業者に明白となるであろう。以下の請求項は、全てのそのような変化例および修正を包含することが意図される。
【図１】
2013539571.tif 000003
【図２】
2013539571.tif 000004
【図３】
2013539571.tif 000005
【図４】
2013539571.tif 000006
【図５】
2013539571.tif 000007
【図６】
2013539571.tif 000008
【図７】
2013539571.tif 000009
【図８】
2013539571.tif 000010
【国際調査報告】
2013539571.tif 000011
2013539571.tif 000012