(57)【要約】【課題】  命令スレッドの指示のためのＩＲ降下データの使用【解決手段】  命令をストアするためのメモリと、命令を実行するための幾つかの中央演算処理装置とを有し、各々の中央演算処理装置は、特にＩＲ（電圧）降下情報データを供給する適応型電源を含む、データ処理装置を提供する。多くの中央演算処理装置からのＩＲ降下情報を受け取り、最小のＩＲ降下を有しかつ命令を実行するのに利用可能な中央演算処理装置を選択し、そして選択された中央演算処理装置にメモリからの命令をディスパッチする回路が備えられる。【選択図】      図９
2008192151.tif 000002
【特許請求の範囲】
【請求項１】
命令をストアするためのメモリと、複数の中央演算処理装置（ＣＰＵ）を有し、各々のＣＰＵはＣＰＵのＩＲ降下データを供給する、データ処理システムの内部で命令をディスパッチする方法であって、
複数のＣＰＵからのＩＲ降下信号を受け取るステップと、
受け取られたＩＲ降下データに従ってＣＰＵを選択するステップと、
選択されたＣＰＵに前記メモリからの命令をディスパッチするステップと
を含む方法。
【請求項２】
前記選択するステップは、前記受け取られたＩＲ降下信号から前記複数のＣＰＵのどれが最小のＩＲ降下データを有するかを判断するステップと、前記最小のＩＲ降下データを有するＣＰＵを選択するステップとを含む、請求項１に記載の方法。
【請求項３】
前記選択するステップは、前記複数のＣＰＵのどれが実行の命令を受け取ることができるかを判断するステップを含む、請求項１に記載の方法。
【請求項４】
前記ＩＲ降下信号を受け取るステップは、各々のＣＰＵに対して、前記ＣＰＵに隣接して配置され、バンドギャップ電圧源に接続した第１リング発信器回路からの第１周波数値を受け取るステップと、前記ＣＰＵに隣接して配置され、ＣＰＵ電圧源に接続した第２リング発信器回路からの第２周波数値を受け取るステップと、前記第１及び第２周波数値を組み合せて前記ＣＰＵに関するＩＲ降下信号を供給するステップとを含む、請求項１に記載の方法。
【請求項５】
前記ＣＰＵを組み合せるステップは、重み値を前記第１及び第２周波数値と組み合せて前記ＣＰＵに関するＩＲ降下信号を供給するステップを含む、請求項４に記載の方法。
【請求項６】
データ処理システムであって、
各々の中央演算処理装置（ＣＰＵ）がＩＲ降下データ信号を供給するＩＲ降下計測回路を有する、複数の中央演算処理装置（ＣＰＵ）と、
ＣＰＵによる実行のためのプログラム命令を含み、前記複数のＣＰＵに接続するメモリと、
前記複数のＣＰＵに接続してＩＲ降下データ信号を受け取り、選択されたＣＰＵを示す信号を供給する選択回路と、
前記メモリ及び前記複数のＣＰＵに接続し、前記選択されたＣＰＵに命令を与える、命令ディスパッチ回路と
を備えるデータ処理システム。
【請求項７】
前記選択回路は、前記ＣＰＵからの前記複数のＩＲ降下データ信号を受け取り、最小のＩＲ降下データを有するＣＰＵに関する選択されたＣＰＵの信号を供給する、回路を含む、請求項６に記載のデータ処理システム。
【請求項８】
前記選択回路は、前記複数のＣＰＵのどれがアイドル状態であり、かつ実行の命令を受け取ることができるかを判断する回路を含む、請求項７に記載のデータ処理システム。
【請求項９】
各々の前記ＣＰＵは、第１周波数値を供給する第１リング発信器回路と、第２周波数値を供給する第２リング発信器回路と、前記第１及び第２周波数値を組み合せて前記ＣＰＵに関するＩＲ降下データ信号を提供する差分回路とを含む、請求項８に記載のデータ処理システム。
【請求項１０】
各々の前記ＣＰＵに関連する各々の第１リング発信器回路は、バンドギャップ電圧源に接続する、請求項９に記載のデータ処理システム。
【請求項１１】
各々の前記ＣＰＵに関連する各々の第２発信器回路は、前記ＣＰＵの電圧源に接続する、請求項１０に記載のデータ処理システム。
【請求項１２】
各々の前記差分回路は、前記第１及び第２周波数値と組み合せられて前記ＣＰＵに関する前記ＩＲ降下データ信号を与える重み値を有する、重みレジスタにさらに接続する、請求項１１に記載のデータ処理システム。
【請求項１３】
コンピュータ・プログラムであって、命令をストアするメモリと、各々の中央演算処理装置（ＣＰＵ）がＣＰＵのＩＲ降下データを示す信号を供給する複数の中央演算処理装置（ＣＰＵ）とを有するデータ処理システム内で、
複数のＣＰＵからのＩＲ降下信号を受け取るステップと、
受け取られたＩＲ降下データに従ってＣＰＵを選択するステップと、
選択されたＣＰＵへメモリからの命令をディスパッチするステップと
を実行して、命令をディスパッチするための、コンピュータ・プログラム。
【請求項１４】
前記ＣＰＵを選択するステップは、前記受け取られたＩＲ降下信号から前記複数のＣＰＵのどれが最小のＩＲ降下データを有するかを判断するステップと、前記最小のＩＲ降下データを有するＣＰＵを選択するステップとを含む、請求項１３に記載のコンピュータ・プログラム。
【請求項１５】
前記ＣＰＵを選択するステップは、前記複数のＣＰＵのどれが実行の命令を受け取ることができるかを判断するステップを含む、請求項１４に記載のコンピュータ・プログラム。
【請求項１６】
前記ＩＲ降下信号を受け取るステップは、各々のＣＰＵに対して、前記ＣＰＵに隣接して配置され、バンドギャップ電圧源に接続した第１リング発信器回路からの第１周波数値を受け取るステップと、前記ＣＰＵに隣接して配置され、ＣＰＵ電圧源に接続した第２リング発信器回路からの第２周波数値を受け取るステップと、前記第１及び第２周波数値を組み合せて前記ＣＰＵに関するＩＲ降下信号を供給するステップとを含む、請求項１５に記載のコンピュータ・プログラム。
【請求項１７】
前記第１及び第２周波数値を組み合せるステップは、重み値を前記第１及び第２周波数値と組み合せて前記ＣＰＵに関するＩＲ降下信号を供給するステップを含む、請求項１６に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に命令スレッドの分配のためのシステム及び方法に関する。特に、本発明は命令を実行する回路の計測されたＩＲ（電圧）降下データに従って、命令スレッドの分配を指示するためのシステム及び方法に関する。
【背景技術】
【０００２】
多くの現代のデータ処理システムは、システム内に複数の中央演算処理装置コアを含む。これらのデータ処理システムは、単一のプログラムの命令をこれらの複数の中央演算処理装置全体にわたって実行することになる。単一のプログラムは中央演算処理装置で実行される多くの命令を含む。これらの命令を実行するのに複数の中央演算処理装置コアを使用する１つの方法は、命令を命令の群即ちスレッドに分割することである。次に各々のスレッドは実行のために１つの中央演算処理装置に向けて指示される。幾つかの従来技術の特許は、１つのプロセッサ中での命令スレッドの使用法、及びこれら命令スレッドの実行の制御を扱っている。これらの特許には、「潜在イベント長に基づいてスレッド実行制御決定を行うネットワーク・プロセッサ」と題する特許文献１、「マルチ・スレッド・プロセッサ内でスレッド切替えを強制する方法及び装置」と題する特許文献２、「マルチ・スレッド・プロセッサ内のスレッドの優先権の変更」と題する特許文献３、及び「デバッグ用マルチスレッド・アプリケーションにおける決定論的及び優先的スレッド・スケジューリング」と題する特許文献４が挙げられる。
【０００３】
【特許文献１】米国特許第７，０９３，１０９号
【特許文献２】米国特許第６，０７６，１５７号
【特許文献３】米国特許第６，２１２，５４４号
【特許文献４】米国特許第６，６２５，６３７号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
複数中央演算処理装置のデータ処理システムにおいて、命令スレッドを受け取ることになる中央演算処理装置コアの物理的状態を知ることは有用である。データ処理装置内で最大の性能を得るためには、実行のための命令スレッドの分配を、これらの命令スレッドを効率的に実行することのできる中央演算処理装置に対して行う必要がある。中央演算処理装置コアの１つの物理的状態は、コア回路内で計測されるＩＲ降下である。ＩＲ降下は、平均電流とチップ内の電力分配回路網の抵抗との積として定義される。これは電力分配回路網にわたる電圧降下である。従って、ＩＲ降下は平均電流又は電力分配回路網の変動に伴って直接変動する。平均電流は、スイッチ動作、周波数及び印加される電源電圧の関数である。電力分配回路網の抵抗は、温度により直接変動する。計測されたコアのＩＲ降下が大きいほど、その中央演算処理装置は効率が低いことになる。
【課題を解決するための手段】
【０００５】
本発明によれば、各々の中央演算処理装置がＩＲ降下データを供給する複数の中央演算処理装置を有するデータ処理システム内で命令をディスパッチする方法は、中央演算処理装置からの計測されたＩＲ降下データを受け取るステップと、計測されたＩＲ降下データに従って、中央演算処理装置を選択するステップと、選択された中央演算処理装置にメモリから命令をディスパッチするステップとを含む。
【０００６】
本発明の一実施形態においては、幾つかの中央演算処理装置コアと、中央演算処理装置による実行のためのプログラム命令を含んだメモリと、中央演算処理装置により供給されるＩＲ降下データを受け取るように接続し、受け取ったＩＲ降下データに従って中央演算処理装置を選択する選択回路と、メモリ及び中央演算処理装置に接続し、選択された中央演算処理装置に対して命令をディスパッチする回路とを含むデータ処理システムが提供される。
【０００７】
本発明は、添付の図面を参照することによってより良く理解され、その多くの目的、特徴及び利点が当業者には明らかとなる。
【０００８】
以下の記述は、本発明の実施例の詳細な説明を与えることを意図したものであり、本発明自体を限定するものと捉えるべきではない。むしろ、様々な変形を、添付の特許請求の範囲において規定される本発明の範囲内に含めることができる。
【０００９】
本発明は、単一の中央演算処理装置内の温度を計測するシステムを提供する。これは、実際には、各々の中央演算処理装置に対して適応型電源（ＡＰＳ）を備えることにより成し遂げられる。これらの適応型電源の各々は、集積回路に関する動作状態を判断し、集積回路に印加される電圧（Ｖｄｄ）を、集積回路の性能を増強するか又は集積回路の消費電力を節減するように調節する。
【００１０】
これらの適応型電源の好ましい実施形態においては、３つの物理的条件の計測が行われる。第１は温度であって、集積回路の表面上の熱ダイオードによって計測される。第２は、２つのリング発振器回路によって計測されるＩＲ（電圧）降下であり、第３は、単一のループ発振器によって計測される集積回路の周波数性能であって、ストアされた所定の性能値と比較されるものである。
【００１１】
電圧調整回路に供給される完全な制御信号は、
総Ｖｄｄ計数＝周波数応答計数＋温度関連Ｖｄｄ計数＋ＩＲ降下関連計数、
である。
【００１２】
好ましい実施形態においては、すべての計測回路がこの集積回路デバイスの表面上に含まれる。次いで、これらの計測値は、同じく集積回路デバイスの表面上に含まれる、又は代りに別の集積回路上に含まれる電圧調整回路への入力制御信号をスケール調整するために用いられる。この電圧調整デバイスの出力は、集積回路の動作電圧（Ｖｄｄ）を供給する。従って、集積回路に供給される電圧は、プログラム制御により、チップの動作中に動的に、電力を節減するため又は性能を増強させるために調節することができる。さらに、集積回路の電圧及びそれゆえに性能は、スリープ状態、又は、高度な回路性能を必要とする命令の実行などの動作環境変化を見越して変化させることができる。
【００１３】
これは、半導体製造プロセスの詳細、温度及びＩＲ降下の効果を同時に考慮に入れた、電圧を変化させる動的方法である。この方法は、利用可能なオン・チップ・データを用いて、目標の性能を満たすか、又は電力消費を減少させるために必要な電圧の調節をコンピュータで算定する。この２つの目標は、同じ回路を用いて達成される。この方法を使用することの別の利点は、プログラム可能である点で、ユーザに提供される融通性である。オン・チップ電圧は、電源電圧Ｖｄｄを供給する電力管理回路によって用いられる値を供給する専用レジスタに書き込むことによって人為的に変化させることができる。この特徴は、高度な回路性能を必要とする命令を予期するときに有用である可能性があり、本質的に「オン・デマンド」実行機能をもたらす。言い換えると、要求に応じて、付加的な回路電源電圧を供給して回路性能を増強させる。
【００１４】
この方法は、回路の特定の技術又は型には限定されない。この方法は、広汎な型の集積回路、特に、低電力消費においてより高い性能を与える必要がある集積回路に適用することができる。
【００１５】
この方法はまた、モジュール当たりの歩留まり及び電圧を特定するためのテスト時間の短縮をもたらす。ＩＲ降下の効果を考慮に入れることが、従来の静的な解決法（ヒューズなど）とは異なる動的解決法である。
【００１６】
図１は、集積回路の電圧源（チップＶｄｄ）を供給する電圧調整回路に接続して示された温度計測回路１２５の一実施形態の略図である。この計測回路は、電圧源に接続した電流源１００を含む。この電流源１００はまた、ライン１０３により熱ダイオード１０２に接続し、このダイオードはまたアースに接続する。熱ダイオード１０２を横切る電圧は、この集積回路の計測温度を示す。この熱電圧信号は、ライン１０３を通じてアナログ・コンパレータ１０６に供給される。コンパレータ１０６の出力は、アドレスをディジタル−アナログ（Ｄ−Ａ）コンバータ１１４に与えるアドレス・カウンタ１１０に接続する。熱ダイオードの動作範囲は、通常、０℃から１２５℃までである。アドレス・カウンタ１１０は、１２８個のエントリをもつ参照テーブルを含む。これらのエントリは、０℃から１２７℃までに対応する。初め、アドレス・カウンタ１１０は０℃から開始し、各クロック・サイクル毎に上向きに増加する。各アドレスは、ライン１１２を通じてＤ−Ａコンバータ１１４に与えられる。動作中、アナログ・コンパレータ１０６は、Ｄ−Ａコンバータ１１４の出力を、熱ダイオード１０２により供給される計測された熱電圧と比較する。アドレス・カウンタ１１０が熱ダイオード１０２と同じ温度を表す出力を与えるとき、Ｄ−Ａコンバータ１１４からの出力電圧は、熱ダイオード１０２により与えられる電圧と同じ電圧となる。次に、アナログ・コンパレータ１０６の出力はゼロとなる。次いで、アドレス・カウンタ１１０は増加を停止して、信号をライン１１６を通じて遅延参照テーブル（ＬＵＴ）回路１１８に供給する。ライン１１６上のこの値は、熱ダイオード１０２により計測された温度を表すディジタル信号である。この熱電圧値は、対応する遅延値を遅延参照テーブル回路１１８内でアドレス指定するために用いられる。回路１１８内の遅延参照テーブルは、集積回路の性能のシミュレーションによりコンピュータで算定されたパルス幅値のテーブルである。各値は、予期される集積回路性能に関して、０℃から１２７℃までの温度範囲に対して算定された予期される遅延値を表す。
【００１７】
基板上のプロセスを計測するためには、温度補償型電圧源（例えば、バンドギャップ基準）に接続したリング発振器を使用する。この場合、所定の温度に対して、リング発振器により生成されるパルス幅は、温度及び電圧が一定であるので、基板上のプロセスの関数となる。バンドギャップ基準を使用することにより、リング発振器に印加される電圧は一定に保つことができる。しかし、基板の温度は、内的及び外的動作条件に依存し、一定に保つことはできない。変動温度の影響を取り除くために、本発明では別のスキームを用いる。
【００１８】
初めに、目標の予測回路性能数値（ｐｃｐｎ）が選択される。この数値は、予期される半導体製造プロセスに基づいて予期される回路性能を表す。この数値は、全動作温度範囲にわたって、公称印加電圧下において予期される回路性能を表す。このｐｃｐｎに関しては、バンドギャップ基準から定電圧を供給されるリング発振器のシミュレーションが、全動作温度範囲に対して実行される。このシミュレーションは、温度だけが全動作温度範囲にわたって変化する場合に、固定された電圧及びｐｃｐｎ値において生成されるパルス幅を生じる。基板のｐｃｐｎが、所望の目標性能と一致する場合には、基板はまた、動作温度範囲の各値に対して、同一のパルス幅を生じることになる。
【００１９】
基板のｐｃｐｎが所望の目標性能と異なる場合には、基板により生成されたパルス幅は、基板のｐｃｐｎが所望の目標性能より早いか又は遅いかに応じて、シミュレーションにより生成されたパルス幅よりも短くなるか又は長くなる。そのため、基板上のリング発振器により生成されたパルス幅と、固定電圧での基板温度の値におけるパルス幅のシミュレートされた値との比較を行う必要がある。所望の動作温度範囲内の各温度値に対する所望の目標プロセスでの予期されるパルス幅の値は、最新の基板温度により、即ち、基板温度に基づいてアドレス指定される参照テーブル（ＬＵＴ）（例えば、図１の１１８）にストアされ、アドレス・ポインタは、固定バンドギャップ電圧での所望のプロセス・コーナにおけるリング発振器回路からの予期されるパルス幅を含んだＬＵＴ内のエントリを指し示す。本発明に関しては、動作温度範囲は０℃から１２７℃までであり、この範囲は、１℃毎に１２８段階に区分される。これは、ＬＵＴ内に１２８のエントリを必要とし、１つのエントリは、温度の１℃ずつの上昇に対応する。
【００２０】
この結果として生じる遅延参照テーブル回路１１８からのパルス幅の値は、ディジタル形式の電圧スケール調整信号を与え、この信号はＤ−Ａコンバータ１２２によりアナログ電圧信号に変換される。このスケール調整電圧信号は、ライン１２４を通じて電圧調整器１３０供給される。回路１２５の動作の結果は、熱ダイオード１０２により計測された集積回路の計測された温度に基づいて、電圧調整回路１３０が生成する電圧（チップＶｄｄ）を増加又は減少させることとなる。
【００２１】
図２は、図１に示される温度計測回路の第２の実施形態である。図２の温度計測回路２２５は、２つの電流源２００及び２０２を含み、これらの電流源はスイッチ２０４により選択的に、ライン２０６を通じて熱ダイオード２０８に接続する。ダイオードは、実際には、ＣＭＯＳ技術により製作されるラテラルＰＮＰデバイスで構成される。このデバイスのコレクタとベースをショートさせて、ベースとエミッタの間のダイオード機能を残す。
【００２２】
ディジタル温度センサは、ダイオード接続されたトランジスタのベース・エミッタ間電圧ＶＢＥが、その温度に反比例するという原理に基づいている。温度にわたって動作させるとき、ＶＢＥは、凡そ−２ｍＶ／℃の負の温度係数を示す。実際には、ＶＢＥの絶対値はトランジス毎に変動する。この変動を無効にするために、回路は、個々のトランジスタを較正しなければならなくなる。この問題への通常の解決策は、２つの異なる電流値をトランジスタのエミッタに加えたときのトランジスタのＶＢＥの変化を比較することである。
【００２３】
温度計測は、２つの電流源の１つずつにより給電されるダイオードを用いて行われる。典型的には、これらの電流源の比は１０：１である。温度計測には、２つの電流源を印加することにより生じたダイオードを横切る電圧の差を計測することが必要である。
【００２４】
ライン２０６は、熱ダイオード２０８の電圧出力をサンプリングして保持するための「サンプリング及び保持」回路２０９に接続する。アドレス・カウンタ回路２２２は、前述の図１のアドレス・カウンタ回路１１０と全く同じ動作をする。アドレス・カウンタ回路２２２は、クロック・サイクル毎にアドレスを増加させ、このアドレスが、０℃から１２７℃までの温度範囲を表すディジタル信号を、ライン２２０を通じてＤ−Ａコンバータ２１８に供給し、このコンバータは温度を表すこのディジタル信号を電圧に変換する。この電圧信号は、ライン２１５通じて、第２のサンプリング及び保持回路２１３に供給される。両方のサンプリング及び保持回路２０９及び２１３は、コンパレータ２１２に対して、それらそれぞれの電圧をサンプリングし保持することになるので、熱ダイオード２０８からの温度の連続的な小さな変動はこの温度計測回路２２５の動作に悪影響を及ぼさないことになる。計測温度に達すると、コンパレータ２１２は、ゼロ出力をライン２１６を通じてアドレス・カウンタ２２２に供給し、このアドレス・カウンタは、計測温度を表すディジタル信号をライン２２４を通じて遅延参照テーブル回路２２６に供給する。ディジタル遅延値をライン２２８を通じてＤ−Ａコンバータ２３０に供給する遅延参照テーブル回路２２６の動作は、図１の計測回路１２５に関して前述されたものと同じである。
【００２５】
図３は、電圧スケール調整信号を電圧調整回路３２６に供給するＩＲ降下計測回路３２５の略図である。バンドギャップ電圧源３００は、リング発振器回路３０４に接続する。リング発振器回路３０４は、ループ状又はリング状に接続された奇数個のインバータ３０２から構成される。バンドギャップ電圧源は、物理的な集積回路自体から得られ、公称で１．２３Ｖである。チップ電圧源に接続した第２のリング発振器回路３０６は、ライン３１４上に出力を供給する。バンドギャップ・リング発振器は、ライン３１２上に出力を与える。位相検出器３０８は、ライン３１２及び３１４に接続し、２つのリング発振器回路３０４と３０６によって供給されるパルスの間の差又は遅延を測定する。位相検出器３０８は、電圧振幅出力と電圧極性出力を、それぞれライン３１６上とライン３１８上に供給し、これらの出力は組み合せられてリング発振器回路３０４と３０６の間の遅延差を表す。ライン３１６及び３１８は、電圧スケール調整信号をライン３２２を通じて電圧調整器３２６に供給するコンパレータ３１０への入力である。ライン３２２上のこの電圧スケール調整信号は、集積回路のＩＲ降下だけに基づいたものであることを理解されたい。ライン３２２の電圧スケール調整信号に基づいて、電圧調整器３２６は、適切なチップＶｄｄ値を供給する。好ましい実施形態においては、２つのリング発振器回路３０４と３０６は、集積回路の表面全体に渡るあらゆる不規則性の効果が最小となるように互いに近接して配置する必要がある。
【００２６】
集積回路の周波数応答（即ち、集積回路の性能）は、図３のライン３０５上のリング発振器回路３０４に接続したバンドギャップ電圧の出力と、図２の回路２２６からの、チップ温度に基づいた既知の遅延値を含む参照テーブルとを用いることによって計測することができる。これは、図４において、回路３２５のＩＲ降下計測と回路２２５の温度計測との組合せで示される。ＩＲ降下計測回路３２５において、リング発振器回路３０４に接続したバンドギャップは、関連する第２の信号を積分回路４１４に供給し、この積分回路は回路３２５のリング発振器３０４に接続したバンドギャップからのパルス信号を取得し、それを、次に差分回路４１６に供給される電圧に変換する。差分回路４１６への別の入力ライン４１５は、計測された温度に基づいて予期される遅延を表すＤ−Ａコンバータ２３０からの遅延電圧信号出力と比較される。この差分回路４１６の出力は、集積回路の周波数応答又は集積回路の性能を示す電圧を表す。より具体的には、マルチプレクサ４１８に供給されるこの信号は、その温度に対して予期される集積回路性能と比較した実際の集積回路性能を表す。ライン４１５上の予期される遅延信号が、積分回路４１４からの遅延信号よりも小さい場合には、チップは予期値を下回る性能で実行しているので、電圧Ｖｄｄを増加させる必要がある。逆に、ライン４１５上の予期される遅延が積分回路４１４からの遅延信号よりも大きい場合には、チップは予期値を上回る性能で実行しているので、電圧Ｖｄｄは電力節減のために低くすることができる。
【００２７】
図４はまた、温度計測回路３２５の出力、ＩＲ降下計測回路３２５の出力を上で論じた周波数応答計測と組み合せた本発明の好ましい実施形態を示す。この実施形態において、温度計測回路は、ライン４０２によりアドレス・カウンタ２１０に接続した参照テーブル・アドレス・レジスタ４００を含んで初期アドレスを与えるか、又は人為的に変化させた電圧スケール調整信号を生じることになる人為的に変化させた温度を与える。また、参照テーブル・データ・レジスタ４０６は、指示された入力を遅延参照テーブル２２６に供給できるように備えられる。これは、遅延参照テーブル内にエントリを供給するか、又はＤ−Ａコンバータ２３０に入力されるバイパス・データ出力を、マルチプレクサ４１０に直接供給するために用いることができる。このようにして、プログラマは、ライン４２８上の電圧スケール調整信号を算定するために用いられる遅延値を直接制御できる。Ｄ−Ａコンバータ２３０の出力は、ライン４１５を通じて差分回路４１６及びマルチプレクサ４１８に直接に供給される。このようにして、マルチプレクサ４１８は、差分回路４１６を迂回して、温度依存テーブル遅延値をドライバ４２０にだけ供給することができる。ドライバ４２０は、ライン４３８によりレジスタ４０８に接続し、このレジスタは加算回路４２６へのライン４２４上の信号出力量を制御するために用いることができる。同様に、回路３２５において、レジスタ４３２は、回路３２５から加算回路４２６へのスケール調整信号出力の量を変化させるために用いることができる信号をライン４３４上に供給する。加算回路４２６からの出力は、ライン４２８上の電圧スケール調整信号であり、次に集積回路電圧（チップＶｄｄ）４４０を供給する電圧調整器４３６に与えられる。
【００２８】
図５は、本発明の動作を表すプロセス・フロー・チャートである。図５は、ソフトウェアの実行を表すフロー・チャートではなく、本発明の種々異なる機能部分の動作において以前に論じた電圧スケール調整信号を生成する同時のプロセスのフロー・チャートであると理解することが重要である。図５のこのフロー・チャートの説明はまた、図２、図３及び図４をそれぞれ参照することになる。開始段階５００において、経路５２４は、本発明の種々異なる態様の同時の動作を示す。ステップ５０２において、熱ダイオード２０８は、計測された回路温度を示す出力電圧を、ライン５０６を通じて判断ブロック５０４に供給する。判断ブロック５０４は、前述の回路温度を表すディジタル信号の決定におけるアドレス・カウンタ２２２、Ｄ−Ａコンバータ２１８及び電圧コンパレータ２１２（図２）の動作を表す。図５を参照すると、このディジタル温度は、経路５３０を通じてステップ５０６における遅延参照テーブルに供給され、このステップ５０６は遅延を表すディジタル信号を、経路５３４を通じてＤ−Ａ変換ステップ５０８に供給し、結果として、経路５３６を通じてコンパレータ５１４に供給される遅延信号電圧が生成される。
【００２９】
経路５２４に戻ると、ブロック５１０において計測される周波数応答値は、図４において説明されたように、経路５２８を通じて、積分ブロック５１２と経路５３８により比較ブロック５２０の両方に供給される。図４の積分回路４１４は、周波数応答計測信号を、経路５４２を通じて比較ブロック５１４に供給し、次にこの信号は経路５３６上の遅延信号と比較される。この比較のこの結果は、経路５４４上に与えられる。経路５２４に戻ると、チップ電圧源に接続したリング発振器３０６からのＩＲ降下の計測値は、ステップ５２０において、バンドギャップ電圧源に接続したリング発振器３０４からの値と比較される。経路５４０上の出力は、電圧スケール調整信号のＩＲ降下部分を示し、ステップ５１６において組み合せられて全体の電圧スケール調整信号５４６を生成し、これがステップ５２２において電圧調整器４３６に供給される。この電圧スケール調整信号は、温度、ＩＲ降下及び回路周波数応答に関する計測値の組合せから生成されることが重要であると理解されたい。
【００３０】
適応型電圧源のディタル形式の実施
図６はディジタル適応型電圧源の一実施形態のブロック図である。ブロック６０４は図１、図２及び図４において前述した温度センサを表す。レジスタ６００は、前述のように、アドレスを温度センサ・テーブル内に与える。温度センサ・ブロック６０４の出力は、ライン６０６を通じてパルス幅テーブル６０８に供給される。このテーブル６０８はまた、ライン６２０によりデータ・レジスタ６１０に接続する。データ・レジスタ６１０は、パルス幅テーブル６０８又はマルチプレクサ６１２のいずれかに値を入力する機能を備える。このように、適応型電力管理ユニット６２２は、パルス幅値に対してはマルチプレクサ６１２で置き換えられるデータ・レジスタ６１０への入力を供給することができる。換言すれば、適応型電力管理ユニット６２２の動作の制御を与えるコンピュータ・プログラムは、データ・レジスタ６１０内の値を直接に制御することができ、従ってブロック図中のこの位置からの電圧スケール調整計算を間接的に制御することができる。
【００３１】
バンドギャップ基準回路６１８及びＶｄｄ基準回路６３２は、図４のブロック３２５として説明され示されたものと類似している。しかし、バンドギャップ基準回路６１８及びチップＶｄｄ基準回路６３２の出力は、ライン６４０上に出力を与える差分回路６４２において組み合される。バンドギャップ基準回路６１８はまた、差分回路６６５においてマルチプレクサ６１２からの出力と組み合される出力を供給する。この差分回路６６５はライン６６７上に出力を与える。
【００３２】
図４に示された適応型電圧源との１つの相違点は、ライン６６７に接続したプロセス・センサ・レジスタ６７６と、ライン６４０に接続したＩＲ降下レジスタ６４７を含むことである。ライン６６７及び６４０上のデータはディジタル形式であるので、これらのレジスタ６７６及び６４７は、それぞれこれらのライン上の値を受け取ることができる。或いは、レジスタ６７６はライン６８０上の入力を受け取ることができ、同様にレジスタ６４７はライン６３７上の入力を受け取ることができる。換言すれば、これら両方のレジスタは、読み取り／書き込みレジスタである。ライン６６７に戻ると、その値は、重み付け値を与えるレジスタ６６８からの入力を受け取る２進法又は２の補数の乗算回路６７１への入力である。この実施形態において、重み付け値は、差分回路６６５又はプロセス・センサ・レジスタ６７６のいずれかから生じるプロセス値の影響を増加又は減少させるために用いることができる。レジスタ６６８は、適応型電力管理ユニット６２２からライン６７８を通じて入力を受け取る。乗算回路６７１の結果は２進法又は２の補数の加算回路６５４に供給される。ライン６４０はまた、ＩＲ降下重みレジスタ６３６から重み付け値を受け取る乗算回路６３５への入力を供給する。プロセス重みレジスタ６６８と同様に、ＩＲ降下重みレジスタ６３６は適応型電力管理ユニット６２２からライン６８４を通じて入力を受け取る。乗算器６３５の出力は、ライン６５２を通じて加算器６５４に供給される。加算器６５４からの出力は、ライン６５０を通じて別の乗算器６５７に供給され、この乗算器は調整器重みレジスタ６６０に接続する。このレジスタはライン６８２により適応型電力管理ユニットに接続し、電源自体のスケール調整信号の出力のプログラム制御を可能にする。従って、レジスタ６６０に重み付け値を与えることにより、全体のスケール調整回路のライン６６２上の出力を調整することができる。また図６には、コンピュータ・システムへのインタフェースを表す電力管理回路６２７があり、このインタフェースは、この適応型電力管理ユニット６２２へのライン６２９を通じた、ディジタル適応型電圧源に対する総合的な意図的制御を可能にする。レジスタ６００、６１０、６７６、６６８、６６０、６３６、及び６４７は読み取り／書き込みレジスタである。従って、電力管理器６２７は、適応型電力管理ユニット６２２を通じて、ディジタル適応型電圧源の動作に対する全体的な監視及び調整を行うことができる。
【００３３】
図７は、図６のブロック図のより詳細な図であり、プロセスＶｔデバイス閾値電圧シフトをさらに示している。部品が古くなると、そのデバイスに関するＶｔがシフトしてより遅い性能をもたらす。このレジスタ７１２は差分回路７１８に接続し、ストア機能を有する。プロセスＶｔシフト・レジスタ７１２はリング発信器７４４により生成されたパルス幅値をストアする。部品が古くなると、温度及びバンドギャップ電圧の同じ値に対してこのレジスタ内に書き込まれる値はより大きくなり、その部品が減速していることを示す。このレジスタ内にストアされる値を、所定の温度に対して予め計算されたパルス幅値（その部品の耐用年数末期において達する最終的なパルス幅の８０％に見積られる）と定期的に比較することにより、いつこの部品がその耐用年数末期のＶｔシフトの８０％ポイントに達したかを判断することができ、この部品は速やかに交換する必要があり得ること示す信号が発生されることになる。一実施形態においては、このレジスタ７１２は読み取り専用レジスタであり、その場合、値はユーザの制御に基づいてレジスタに書き込まれる（即ち、ユーザは、いつリング発信器７４４のパルス幅データがレジスタ７１２に書き込まれるかを決定することができるが、ユーザはレジスタ７１２の値を書き込む又は上書きすることはできない。
【００３４】
スレッドのリダイレクトに関して、このレジスタは実際には用いられないが、完全を期すために本明細書に記載する。
図８は、複数のＣＰＵコアが単一の半導体基板８００の上に配置された例証的な実施形態の図である。コア８０２、８０４、８０６及び８０８の各々は、この例証的な実施形態においては同一である。しかし、コアの機能性は、個々の適応型電圧源がコアの各々の内部に配置される限りでは、本発明の用途には関連しない。図８において、ＣＰＵコア８０４の概観は、ＣＰＵ自体に加えて、このコアの表面上に、ライン８１５により電力管理器８１７に接続した適応型電圧源８１２を含んだ分解図８１０に示される。動作において、電力管理器８１７は、システム内の全てのコア上の適応型電圧源に対するプログラム可能な制御を表す。図６及び図７において説明されたレジスタを用いることにより、電力管理器８１７は、各々の適応型電圧源の動作を制御し監視することができる。
【００３５】
図９は、適応型電圧源の制御における電力管理器の動作を示すフロー・チャートである。熱ダイオードの電圧はステップ９００において読み取られ、このステップはカウンタ９２２に接続し、このカウンタはステップ９２５において参照テーブルを漸増的にアドレス指定して計測された温度値を決定し、この温度値はライン９７９により差分ブロック９３２に供給され、カウンタ９２２はまた計測値レジスタ９８０に接続する。同時に、第１のプロセスを検出するリング発信器はブロック９２８において読み取られる。この周波数幅の値はライン９３０を通じて書き込みプロセス・シフト・レジスタ９２６及び差分回路９３２に供給される。また同時に、第２のプロセス・センサであるリング発信器回路はブロック９４０において読み取られる。この出力はライン９４２を通じて差分回路９４４に供給され、そこで第１及び第２のリング発信器回路の間の差がライン９４６上に与えられる。
【００３６】
図９は、以前に説明した適応型電圧源に対するソフトウェア制御を示す。ブロック９５０は、ライン９５２からの判断９５４を通じた、ソフトウェア又はオーバーライド機能を開始する。ソフトウェア又はオーバーライドが開始される場合には、ブロック９６２における入力の計測ＩＲ降下値は与えられないことになり、むしろブロック９６０におけるソフトウェア入力値がライン９６４を通じてＩＲ降下レジスタ９６６に供給されることになる。
【００３７】
同様に、ブロック９０２は適応型電圧源により用いられるプロセス値を制御する。ソフトウェア制御が実施されるとき、信号はライン９０４を通じて判断ブロック９０６に供給される。ソフトウェア入力によりオーバーライドが開始する場合には、ブロック９１４の計測プロセスの代りに、ブロック９１２におけるソフトウェア入力値がライン９１６により書き込みプロセス・レジスタ９１８に供給される。示されるように、ブロック９１４において入力される計測プロセス値は、この時点でライン９３４を通じて差分回路９３２から受け取られる。ソフトウェアはブロック９１８における書き込みプロセス・レジスタ及びブロック９６６における書き込みＩＲ降下レジスタの両方を制御する。ＩＲ降下データ及びプロセス・データの両方はブロック９３６において加え合わせられて全体の電圧スケール調整信号を生成し、この信号が９３８において電圧調整器に対して出力され、この電圧調整器が集積回路にＶｄｄ電源電圧を供給する。
【００３８】
また同様に、ブロック９７０は、計測温度値の代りに置換温度値を供給するためにユーザ又はソフトウェアによるオーバーライド機能を与える。これは、信号をライン９７４を通じて判断プロセス９７２に供給することにより行われる。ソフトウェアが計測値をオーバーライドする場合には、ブロック９８２においてソフトウェアが供給する温度値にアクセスするための信号がライン９７８上に送信され、その温度値はライン９８４により書き込み温度レジスタ９８６内に書き込まれる。しかし、ソフトウェア又はユーザのオーバーライドがない場合には、判断ブロック９７２は、ライン９７６を通じてレジスタ９８０に信号を与え、レジスタ９８０は前述のようにライン９２４からの温度を受け取る。
【００３９】
重みレジスタを用いることはまた、適応型電圧源の動作に対するより高度なソフトウェア制御をもたらすことは、当業者には明白であろう。従って、これらのレジスタにアクセスすることにより、電力管理器は、集積回路に含まれる適応型電圧源の各々の動作を監視すること及び調整することの両方を行うことができる。
【００４０】
多数の中央演算処理装置コアがデータ処理システム内に含まれ、各々の中央演算処理装置コアがそれら自体の適応型電源を含む場合、各々の適応型電源からのデータを収集し、それを管理ソフトウェアに供給してデータ処理システムの動作効率を向上させるための回路を備えることができる。１つの例は、中央演算処理装置上に分散している適応型電源から取得されたＩＲ降下データを用いることである。より小さなＩＲ降下を有する中央演算処理装置がより効率的に命令を実行することは決定されている。ＩＲ降下の情報は、命令の群又はスレッド内の命令を実行するための中央演算処理装置を選択するために用いることができる。これは図９のライン９８８により書き込みＩＲ降下レジスタ９６６に接続するプロセス９９０で示される。実際には、プロセス９９０は全ての適応型電源に接続し、各々の適応型電源からのＩＲ降下データを収集する。ひとたび収集すると、プロセスは最小のＩＲ降下を有する中央演算処理装置を判定する。次いでプロセス９９２において、どの中央演算処理装置が命令を実行するのに利用できるかの判断がなされる。このプロセス９９２は、そこでＩＲ降下が最小で利用可能な中央演算処理装置を選択する。次にプロセス９９４において、命令スレッド又は命令の群が実行のために選択された中央演算処理装置にディスパッチされる。
【００４１】
この説明された実施形態は、集積回路上の単一の電圧制御回路だけを示すが、複数の電圧制御回路を、集積回路の異なる部分に異なる電圧を供給するために使用できることは明白であると理解されたい。これは図８に類似した図１０に示されるが、この図は単一の半導体基板８００の上の複数の中央演算処理装置コアを示す。図１０において、ＣＰＵ８１０は半導体基板８００上に含まれるＣＰＵ８０４の分解図である。ＣＰＵ８１０は、ライン８１６により命令ディスパッチ・プロセス８１８に接続する適応型電源８１２を含む。ＩＲ降下データは、ライン８１６を通じて命令ディスパッチ・プロセスに供給されることになり、このプロセスは中央演算処理装置の各々のＩＲ降下を調査するだけでなく、中央演算処理装置が新しい実行命令を受け取ることができるかどうかを調査する。利用可能な中央演算処理装置が利用可能であることを判断した上で、最小のＩＲ降下を有する中央演算処理装置を実行命令を受け取るように選択する。これらの命令はメモリ８２４からライン８２２を通じて取得され、ライン８２６を通じて中央演算処理装置８１０に供給される。このようにして、命令は、それらを最も効率的に実行することのできる利用可能な中央演算処理装置にディスパッチされることになる。
【００４２】
本発明の特定の実施形態が図示され、説明されたが、本明細書の教示に基づいて、本発明とその広範囲の態様から逸脱することなく変更及び修正を加えることができることは、当業者には明らかであろう。従って、添付の特許請求の範囲は、このようなすべての変更及び修正を、本発明の真の趣旨及び範囲の内にあるものとして含むものである。さらに、本発明は、添付の特許請求の範囲によってのみ規定されることを理解されたい。導入された特許請求の要素の特定の数が意図されている場合には、このような意図は、特許請求の範囲において明示的に詳述され、そしてこのような詳述がない場合にはそうした制限がないことが、当業者により理解されるであろう。非限定的な例に関しては、理解の補助として、添付の特許請求の範囲は、特許請求項の要素を導入するために「少なくとも１つの」及び「１つ又は複数の」といった導入句の使用を含む。しかし、このような句の使用は、同じ特許請求項が、導入句「１つ又は複数の」又は「少なくとも１つの」などを含むときであっても、これらによる特許請求の要素の導入が、このような導入された特許請求の要素を含む特定の特許請求項を、このような要素を１つだけ含む発明に限定することを意味するものと解釈すべきではない。同様のことは、特許請求項における定冠詞の使用についても当てはまる。
【図面の簡単な説明】
【００４３】
【図１】温度計測回路の簡単な実施形態の略図である。
【図２】温度計測回路の第２の実施形態の略図である。
【図３】周波数応答計測のための入力を供給し、ＩＲ降下計測値を供給する２つのリング発信器回路の略図である。
【図４】適応型電圧補償回路の好ましい実施形態の略図である。
【図５】適応型電圧補償回路の動作を表すフロー・チャートである。
【図６】適応型電圧補償回路のディジタル形式の実施のブロック図である。
【図７】図６の実施の第２のより詳細なブロック図である。
【図８】複数のコアの上の適応型電圧補償回路の位置選定の例である。
【図９】ＩＲ降下データが取得され、それに応じて命令スレッドが指示されることを示すフロー図である。
【図１０】プログラム・メモリ及び複数の中央演算処理装置に接続した、命令分配プロセスを示す図である。
【符号の説明】
【００４４】
１００、２００、２０２：電流源
１２５、２２５：温度計測回路
１０２、２０８：熱ダイオード
１０３、１０５、１０８、１１２、１１６、１２０、１２４、２０６、２１１、２１４，２１５、２１６、２２０、２２４、２２８、２３２、３０５、３１２、３１４、３１６、３１８、３２２、４０２、４０４、４１５、４２４、４２８、４３４、４３８：ライン
１０６、２１２、３１０、５１４：コンパレータ
１１０、２１０、２２２：アドレス・カウンタ
１１４、１２２、２１８、２３０：ディジタル−アナログ（Ｄ−Ａ）コンバータ
１１８、２２６：遅延参照テーブル（ＬＵＴ）回路
１２５、２２５：温度計測回路
１３０、３２６、４３６：電圧調整器
２０４：スイッチ
２０９、２１３：サンプリング及び保持回路
３００：バンドギャップ電圧源
３０２：インバータ
３０４、３０６：リング発振器回路
３０８：位相検出器
３２５：ＩＲ降下計測回路
４００：参照テーブル・アドレス・レジスタ
４０６：参照テーブル・データ・レジスタ
４０８、４３２：レジスタ
４１４：積分回路
４１６：差分回路
４１８：マルチプレクサ
４２０：ドライバ
４２６：加算回路
４４０：集積回路電圧（チップＶｄｄ）
５００：開始段階
５１２：積分ブロック
５１４、５２０：比較ブロック
５２４、５２６、５２８、５３０、５３４、５３６、５３８、５４０、５４２、５４４：経路
５４６：全体の電圧スケール調整信号
６００：レジスタ・アドレス
６０４：温度センサ・ブロック
６０６、６２０、６３７、６４０、６５０、６５２、６６２、６６７、６７８、６８０、６８２、６８４：ライン
６０８：パルス幅テーブル
６１０：データ・レジスタ
６１２：マルチプレクサ
６１８：バンドギャップ基準回路
６２２：適応型電力管理ユニット
６２７：電力管理器（電力管理回路）
６３２：Ｖｄｄ基準回路
６３６：ＩＲ降下重みレジスタ
６４２、６６５、７１８：差分回路
６４７：ＩＲ降下レジスタ
６５４：加算回路（加算器）
６６０：調整器重みレジスタ
６６８：プロセス重みレジスタ
６３５、６５７、６７１：乗算回路（乗算器）
６７６：プロセス・センサ・レジスタ
７１２：プロセスＶｔシフト・レジスタ
７４４：リング発信器
８００：半導体基板
８０２、８０４、８０６、８０８：ＣＰＵコア
８１０：８０４の分解図（ＣＰＵ）
８１２：適応型電源
８１７：電力管理器
８１８：命令ディスパッチ・プロセス
８２４：メモリ
９００：熱ダイオード電圧読み取りステップ
９０２：プロセス値制御ブロック
８１６、８２２、８２６、９０４、９１６、９２４、９３０、９３４、９４２、９４６、９５２、９６４、９７４、９７６、９７８、９７９：ライン
９０６、９５４：判断ブロック
９１２：ソフトウェア・プロセス値入力ブロック
９１４：計測プロセス値入力ブロック
９１８：書き込みプロセス・レジスタ
９２２：カウンタ
９２５：参照テーブル読み取りステップ
９２６：書き込みプロセス・シフト・レジスタ
９２８：リング発信器検知第１プロセス読み取りブロック
９３２、９４４：差分回路（差分ブロック）
９３６：加算ブロック
９３８：電圧調整器への出力
９４０：リング発信器検知第２プロセス読み取りブロック
９６０：ソフトウェアＩＲ降下値入力ブロック
９６２：計測ＩＲ降下値入力ブロック
９６６：書き込みＩＲ降下レジスタ
９７２：判断プロセス（判断ブロック）
９８０：計測値レジスタ
９８２：ソフトウェア温度値入力ブロック
９８６：書き込み温度レジスタ
【図１】
2008192151.tif 000003
【図２】
2008192151.tif 000004
【図３】
2008192151.tif 000005
【図４】
2008192151.tif 000006
【図５】
2008192151.tif 000007
【図６】
2008192151.tif 000008
【図７】
2008192151.tif 000009
【図８】
2008192151.tif 000010
【図９】
2008192151.tif 000011
【図１０】
2008192151.tif 000012