JP5535909B2 - 命令利用に基づいた、適応電圧スケーリングのための方法と装置 - Google Patents

命令利用に基づいた、適応電圧スケーリングのための方法と装置 Download PDF

Info

Publication number
JP5535909B2
JP5535909B2 JP2010518408A JP2010518408A JP5535909B2 JP 5535909 B2 JP5535909 B2 JP 5535909B2 JP 2010518408 A JP2010518408 A JP 2010518408A JP 2010518408 A JP2010518408 A JP 2010518408A JP 5535909 B2 JP5535909 B2 JP 5535909B2
Authority
JP
Japan
Prior art keywords
delay
circuit
output
path
critical path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010518408A
Other languages
English (en)
Other versions
JP2010534890A (ja
Inventor
ホフマン、リチャード・ゲラード
ブリッジス、ジェフリー・トッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2010534890A publication Critical patent/JP2010534890A/ja
Application granted granted Critical
Publication of JP5535909B2 publication Critical patent/JP5535909B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Power Sources (AREA)
  • Communication Control (AREA)

Description

本開示は、一般的に、集積回路と処理システムにおける電力制御の分野に関連し、より詳細には、命令利用に基づいた、適応電圧スケーリングのための方法と装置に関連する。
セル電話機、ラップトップコンピュータ、パーソナルデータアシスタント(PDA)、または類似物のような、数多くのポータブル製品は、通信およびマルチメディアプログラムのようなプログラムを実行するプロセッサを利用する。このような製品のための処理システムは、命令およびデータを処理するための手続き集合体を含む。このようなポータブル製品、他のパーソナルコンピュータ、および類似物の機能的な複雑さは、高性能プロセッサおよびメモリを要求する。同時に、ポータブル製品は、バッテリの形態での制限されたエネルギー源を有し、バッテリ寿命を延ばすために減少させた電力レベルで、高性能を提供することを要求されることが多い。多くのパーソナルコンピュータはまた、全体のエネルギー消費を減少させるために、低電力ドレインにおける高性能を提供するように開発されている。
手続き集合体内部で、信号パスおよびパイプラインステージは、所望のクロック周波数に対応するワーストケースのクリティカルタイミングパスを満たすように設計されている。メモリエレメント、ロジックゲート、フリップ−フロップ、エレメントを相互接続しているワイヤは、クリティカルパスタイミングにおける遅延をもたらし、クロック周波数に依拠してパイプラインステージにおける関数エレメントの数を制限している。結果として、多くのプロセッサは、異なる複雑さの命令を実行し、製品の機能的要求を満たすために要求されるギガヘルツ(GHz)クロック周波数を達成するために、非常に多い数のパイプラインステージを使用する。電力は、周波数、スイッチングキャパシタンス、および供給電圧の2乗の関数であるので、電力を減少させることは、これらの3つの変数のうちの少なくとも1つを減少させることを要求する。ギガヘルツ周波数動作は、製品の機能によって要求されることが多いので、周波数を減少させることは、より要求の厳しくない機能に限られている。スイッチングキャパシタンスは、実現と、デバイスを製造するのに使用される技術プロセスとの関数であり、シリコン中で一度設計が具体化されると、この変数は変更できない。供給電圧を減少させることの1つの結果は、供給電圧が減少されるにしたがって、ロジックとメモリエレメントが低速化され、周波数要求を満たすことの困難性が増すことである。
手続き集合体において、ワーストケースのクリティカルタイミングパスを満たすために、手続き集合体内のすべての信号パスに対するワーストケースのクリティカルタイミングパスが分析され、これらの中で、最も長いパスが、手続き集合体で最も高い可能なクロック周波数を支配するクリティカルタイミングパスになる。このクロック周波数が満たされることを保証するために、供給電圧が、ワーストケース最小電圧より高く、または、ワーストケース最小電圧に等しく指定される。例えば、浮動小数点命令を実行するときに、浮動小数点乗数による信号パスは、手続き集合体中の最も長いクリティカルタイミングパスであってもよい。浮動小数点乗数によるワーストケースのタイミングパスが、所望のクロック周波数を満たすように、電力供給電圧を決定する。
何らかの時間において実行するために、プロセッサの命令セットから、何らかの命令を選択してもよいので、一般的に、手続き集合体は、ワーストケースのタイミングパスに対して準備して動作する。結果として、実行命令が、ワーストケースのタイミングパスより短いクリティカルタイミングパスを有しているときに、電力が浪費される。残念なことに、ギガヘルツプロセッサの命令毎の利用に一致させるために、供給電圧を容易に変更することはできない。可変電圧レギュレータは、供給電圧を調整するために、マイクロ秒、または、ミリ秒を必要とする。
概要
本開示は、手続き集合体中での電力要求を減少させることが、ポータブルアプリケーションにとって、また、一般的に、処理システム中での電力使用を減少させるために、重要であることを認識している。異なるソフトウェアアプリケーションが、手続き集合体のワーストケースのクリティカルタイミングパスより短いクリティカルタイミングパスを有する命令セットを使用してもよいこともまた、認識されている。さらに、アプリケーションの性能を満たすのに必要とされるクロック周波数を依然として維持しながら、供給電圧を下げてもよく、このことは、命令セット利用に基づいて、電力ドレインを減少させ、バッテリ寿命を延長させることも認識されている。
このような目的のために、本発明の実施形態は、適応電圧スケーリングのための方法に取り組む。複数のクリティカルパスのうちから、クリティカルパスを選択して、エミュレーションロジック上で分析し、オン−チップ関数動作の間に、選択されたクリティカルパスの属性を決定し、ここで、選択されたクリティカルパスは、プログラム実行の間に動作されることになるワーストケースクリティカルパスを表す。オン−チップ関数動作の間に、属性に応答して電圧が制御され、電圧源が、複数のクリティカルパスに関係する電力ドメインに対して電力を供給する。
別の実施形態は、タイミングパスエミュレーション回路と、プログラム可能制御ロジックと、測定回路とを有する適応電圧スケーリング(AVS)回路に取り組む。タイミングパスエミュレーション回路は、クリティカルパスをエミュレートする。プログラム可能制御ロジックは、プログラム可能タイミングパスエミュレーション回路を構成して、オン−チップで動作されることになるプログラム中の命令利用に基づいて、少なくとも1つのクリティカルパスをエミュレートする。エミュレートされたクリティカルパスは、プログラム実行の間に動作されることになるワーストケースクリティカルパスを表す。オン−チップ関数動作の間に、測定回路は、エミュレートされたクリティカルパスの属性を測定し、測定された属性に応答して、電圧レギュレータの出力電圧を制御し、ここで、電圧レギュレータは、複数のクリティカルパスに関係する電力ドメインに対して電力を供給する。
さらなる実施形態は、適応電圧スケーリングのための方法に取り組む。プログラム可能パス遅延回路中で時間遅延をセットして、オン−チップで動作されることになるプログラムに関係する最も長いクリティカルパスを表すクリティカルパス遅延をエミュレートし、ここで、異なるプログラムは、異なる最も長いクリティカルパスを有する。エミュレートされたクリティカルパス遅延の測定に基づいて、オンチップ関数動作の間に、電圧が調整され、エミュレートされたクリティカルパスに関係する電力ドメインに対して、電圧源が電力を供給する。
以下の詳細な説明から、本発明の他の実施形態が、当業者にとって容易に明らかになるだろう。ここで、本発明のさまざまな実施形態を、図解として示し、説明する。理解されることになるように、本発明は、他の、異なる実施形態でも実行可能であり、さまざまな他の観点において、本発明から逸脱することなく、本発明のいくつかの詳細を修正することができる。したがって、図面と詳細な説明は、説明的な性質のものであり、制限的なものではないとして見なされるべきである。
図1は、ワイヤレス通信システムを図示する。 図2は、命令利用に基づいて、適応的に電力を節約するための処理システム組織を示す。 図3は、適応電圧スケーリング(AVS)回路の例示的な第1の実施形態である。 図4は、適応電圧スケーリング(AVS)回路の例示的な第2の実施形態である。 図5は、例示的なプログラム選択可能パス遅延回路を図示する。 図6Aは、図4の第2の実施形態の適応電圧スケーリング回路に含まれる、適応電圧スケーリング結合器の動作のためのタイミング図を図示する。 図6Bは、図4の第2の実施形態の適応電圧スケーリング回路に含まれる、適応電圧スケーリング結合器の動作のためのタイミング図を図示する。 図7は、命令クリティカルパス遅延に関係する時間マージンを決定することによって、命令利用に基づいて、電圧レギュレータを調整するプロセスを示す。 図8は、適応電圧スケーリング(AVS)回路の例示的な第3の実施形態である。
詳細な説明
添付の図面に関連して以下で述べる詳細な説明は、本発明のさまざまな例示的な実施形態を説明することを意図しており、本発明が実行されてもよい唯一の実施形態を表すことを意図していない。詳細な説明は、本発明の完全な理解をもたらす目的のために特定の詳細を含む。しかしながら、本発明は、これらの詳細な説明なしで実行されてもよいことを当業者には明らかになるだろう。いくつかの例では、本発明の概念を曖昧にするのを避けるために、よく知られた構造やコンポーネントを、ブロック図の形態で示した。
図1は、その中で、本発明の実施形態が好ましくは用いられてもよい、例示的なワイヤレス通信システム100を図示する。説明の目的で、図1は、3つのリモートユニット120、130、および150と、2つの基地局140とを示した。通常のワイヤレス通信システムは、より多くの数のリモートユニットと基地局とを有していてもよいことが理解されるだろう。リモートユニット120、130、および150は、それぞれ、コンポーネント125A、125C、および125Bによって表現されるような、ハードウェアコンポーネント、ソフトウェアコンポーネント、または、これらの両方を含んでもよく、これらを適応させて、以下に説明するような発明を実現させる。図1は、基地局140からリモートユニット120、130、および150に対するフォワードリンク信号180と、リモートユニット120、130、および150から基地局140に対するリバースリンク信号190とを示す。
図1において、リモートユニット120を移動体電話機として示し、リモートユニット130をポータブルコンピュータとして示し、およびリモートユニット150をワイヤレスローカルループシステム中の据置ロケーションリモートユニットとして示した。例として、これらのリモートユニットは、代わりに、セルラ電話機、ページャー、ウォーキートーキー、手持ちパーソナル通信システム(PCS)ユニット、パーソナルデータアシスタントのようなポータブルデータユニット、または、メーター読取装置のような据置ロケーションデータユニットであってもよい。図1は、本開示の教示にしたがって、リモートユニットを図示しているが、本開示は、これらの例示的に図示したユニットに制限されていない。本発明の実施形態は、プロセッサと、それを支援する周辺デバイスに対して、電力を供給するために使用されてもよいような、調整可能電圧レギュレータを有している任意のデバイス中で、適切に用いられてもよい。
図2は、命令利用に基づいて、適応的に電力を節約するための処理システム組織200を示す。システム200は、チップ202と、バッテリまたはバルク供給電圧のようなシステム電源204と、可変電圧レギュレータ208とを具備する。チップ202は、例えば、第1の電力ドメイン206と、第2の電力ドメイン207とを備える。それぞれの電力ドメインは、システム200の電力および性能の要求を満たすために、個別の電力制御のために適切にグループ化されたロジックのサブセットを含む。それぞれの電力ドメインは、個別の電圧レギュレータから供給電圧をさらに受信する。例えば、第1の電力ドメイン206は、手続き集合体を含んでいてもよく、手続き集合体は、プロセッサ実行パイプライン210と、好ましくはL1命令キャッシュおよびL1データキャッシュを含んでもよいレベル1キャッシュ(L1キャッシュ)212と、ダイレクトメモリアクセス(DMA)制御装置214と、1つ以上のハードウェア支援216と、制御ロジック218と、クロック発生ユニット220と、適応電圧スケーリング(AVS)回路222とを備えていてもよい。AVS回路222は、可変電圧レギュレータ208に対して、調整信号224を提供するように設計されており、調整信号224は、プロセッサ実行パイプライン210の命令利用に基づいて、電圧Vdd226を上げることまたは下げることを要求する。
命令利用は、それらのクリティカルタイミングパスによって、命令をグループ化することによって、カテゴリ化される。例えば、第1のカテゴリの命令は、プロセッサの動作周波数をセットするのに使用される手続き集合体のクリティカルタイミングパスとともに動作してもよい。このようなクリティカルタイミングパスは、一般的に、受入可能な最小動作電圧と、最高予想温度と、ワーストケースの処理特性とを有する手続き集合体のワーストケースの動作条件に関係する。同じワーストケースの動作条件において、第2のカテゴリの命令は、第1のカテゴリの命令のクリティカルタイミングパスより短いクリティカルタイミングパスで動作してもよい。第3のカテゴリの命令は、第2のカテゴリの命令のクリティカルタイミングパスより短い、関係するクリティカルタイミングパスで動作するとして識別されてもよい、等。これによって、複数の個別のカテゴリの命令は、それらのクリティカルタイミングパスにしたがって、識別されてもよい。プログラムの静的分析によって、または、命令利用の動作条件とカテゴリを監視することによって、アクティブな、または、間もなくアクティブになるカテゴリの命令を考えて、電力ドメイン206における手続き集合体の供給電圧を調整して、命令のクリティカルタイミングパスが特定の最小クロック周波数を満たすことを確実にしてもよい。例えば、現在の動作条件において、実行中の命令、または、実行されることになる命令が、タイミングマージンを有することを命令利用が示すとき、好ましくは、対応する命令利用に対して適切な電圧レベルにまで、電圧を下げてもよく、これによって、移動体デバイスにおいて、電力が節約され、バッテリ寿命が延長される。
例として、処理システム組織200において、プロセッサは、整数(Int)ユニット228と、浮動小数点(Fp)ユニット230とを含んでいてもよい。静的タイミング分析によって、浮動小数点命令に対するクリティカルタイミングパスは、例えば、第1の電力ドメイン206中のロジックに対するワーストケースのタイミングパスを有している、カテゴリ1の命令としてカテゴリ化されてもよい。さらなる静的タイミング分析によって、整数命令に対するクリティカルタイミングパスは、カテゴリ1の命令よりも短いワーストキャストのタイミングパスを有している、カテゴリ2の命令としてカテゴリ化されてもよい。例えば、従前の浮動小数点命令の実行に基づいて、高レベルにセットされた電圧Vdd226と、命令利用がカテゴリ2に変更されたという表示とともに、AVS回路222は、電圧226をより低く調整すべきであることを要求する。調整ステップサイズに依拠して、電圧レベルがカテゴリ2の命令に対して適切なものに到達するまで、電圧Vdd226を、何回も、より低く調整してもよい。
例えば、65ナノメートル(nm)技術を使用して、処理システム組織200を実現してもよく、このような技術において、2−入力NANDゲートは、ワーストケースの動作条件において、4つのロードからの平均ファンアウトを駆動する、70ピコ秒(ps)のワーストケース遅延を持っていてもよい。このような遅延は、電圧が下がるごとに、増加するかもしれない。浮動小数点実行ステージに対するクリティカルタイミングパスは、それら自身の遅延、セットアップ、およびホールド要求を持っている、2つのストレージエレメントの間の比較的長いワイヤによって相互接続される10個の類似したタイプのゲートを持っていてもよく、ワーストケースの動作条件におけるギガヘルツクロック周波数に対して要求される1ナノ秒パイプラインステージ遅延をちょうど満たしてもよい。
比較すると、整数実行ステージに対するクリティカルタイミングパスは、2つのストレージエレメントの間の比較的長いワイヤによって相互接続される5個の類似したタイプのゲートだけを持っていてもよく、ワーストケースの動作条件におけるギガヘルツクロック周波数の1000ピコ秒より十分に低い、700ピコ秒のクリティカルタイミングパスを持っていてもよい。結果として、整数タイプ命令を実行するとき、電圧Vdd226は、適切なように下げられてもよく、最大1000ピコ秒ステージ遅延まで、整数命令に対するクリティカルタイミングパスを増加させても、依然として、ギガヘルツクロック周波数を満たすが、減少された電力ドレインを有する。AVS回路222の動作は、プロセッサ実行パイプライン中のステージの数や、または、プロセッサクロック速度に依拠していない。一般的に、動作中であるとして予測されるクリティカルタイミングパスに対応して、所望の周波数に適したように、AVSシステムをプログラミングすることによって、電圧を上げることができ、または、下げることができる。
可変電圧レギュレータ208のような、可変電圧レギュレータは、調整信号224のような入力信号によって指定されるような、25ミリボルト(mv)のようなさまざまな電圧ステップサイズで動作する。例えば、10ミリ秒ごとに、または、より長い時間ごとに、それぞれ25ミリボルトの調整が発生してもよい。選ばれた適応電圧スケーリングに対する方法にしたがって、ハードウェアまたはソフトウェア中で、このような調整時間を考えに入れてもよい。
図3は、適応電圧スケーリング(AVS)回路300の例示的な第1の実施形態である。AVS回路300は、クリティカルパス選択ロジック302、プログラム可能命令利用制御回路304、および測定ロジック306を具備する。クリティカルパス選択ロジック302は、例えば、マルチプレクサ320に対して、遅延された出力314−317を提供する、4つのクリティカルパスA−D308−311を含む。クリティカルパスA308は、例えば、第1の電力ドメイン206におけるワーストケースのタイミングパスであり、また、例えば、浮動小数点命令の実行に関係する。クリティカルパスB309は、クリティカルパスA308より短い信号パス遅延を持ち、例えば、整数命令に関係している。クリティカルパスC310は、クリティカルパスB309より短い信号パス遅延を持ち、クリティカルパスD311は、クリティカルパスC310より短い信号パス遅延を持つ。
マルチプレクサ320は、マルチプレクサ326からの情報に基づいて、選択ロジック324によって発生された選択信号322に基づいて、クリティカルパスのうちの1つを選択する。プログラム可能命令利用制御回路304は、コンフィギュレーションレジスタ328、命令デコーダ330、1つ以上のカウンタ334を有する制御装置332を備える。命令デコーダ330は、図2のプロセッサ実行パイプライン210によって提供されたもののような、命令ストリーム336から受信した命令をデコードする。デコード情報は、制御装置332に送られ、ここで、ロードパス338を介してコンフィギュレーションレジスタ328にロードするのに使用されてもよく、コンパイラ有向フラグのような静的フラグ340をセットするのに使用されてもよい。制御装置332はまた、デコード情報を使用して、例えば、カウンタ334を使用することによって、特定のタイプの命令がデコードされる回数、または、特定のタイプの命令がデコードされる間の時間をカウントし、命令利用を動的に決定することに関係する動的フラグ342を決定してもよい。マルチプレクサ326は、コンフィギュレーションレジスタ328中にロードされた選択ビットに基づいて、静的フラグ340または動的フラグ342のいずれかを選択する。測定ロジック306は、選択されたパスを測定し、図2の可変電圧レギュレータ208によって使用される調整信号344を生成する。
より詳細には、クリティカルパス308−311のそれぞれは、それらの関係する信号パス中のコンポーネントを使用するエミュレートされたクリティカルパスであってもよく、これは、それらがエミュレートしているクリティカルパス中で使用される実際のコンポーネントに類似している。さらに、エミュレートされたクリティカルパスのそれぞれは、それらの関係する実際のクリティカルパスに近く隣接して配置されており、エミュレートされたコンポーネントによって経験される実現プロセスと温度状況を、実際のクリティカルパスエレメントが直面する状況に類似したものにしている。選択された実際のクリティカルパスと、それらの関係するエミュレートされたクリティカルパスとは、チップ全体にわたって分散していてもよく、マルチプレクサ320と測定ロジック306とはまた、チップ全体にわたって適切に分散していてもよく、ここで、依然として単一の調整信号344に対して集束している。
静的フラグ340は、コンパイラによってセットされてもよく、コンパイラは、それらのタイミングパスによって分類された命令のカテゴリにしたがって、プログラム中の静的命令利用を監視することによって、適応電圧スケーリング(AVS)回路に対処する。例えば、ビデオ処理プログラムをコンパイルしているときに、例えば、浮動小数点命令のようなカテゴリ1の命令の非常に制限された利用があることが決定されてもよい。浮動小数点命令の制限された利用に基づいて、コンパイラは、浮動小数点命令をエミュレートすることを選択してもよく、これによって、コンパイルされたビデオ処理プログラムからカテゴリ1の命令を取り除く。このような分析に基づいて、コンパイラは、静的フラグ340をセットして、例えば、クリティカルパスB309の選択を示してもよい。クリティカルパスB309の測定に基づいて、調整信号344は、図2の電圧Vdd226が下げられることを示してもよい。
マルチプレクサ326に動的フラグ342を選択させるコンフィギュレーションレジスタセッティングとともに、クリティカルパスA−D 308−311のうちの1つの選択が、ハードウェア利用情報によって決定される。例えば、命令デコーダ330からのデコードされた情報に基づいた、命令ストリーム336を監視することによって、制御装置332は、一般的にビデオ処理に関係する特定の命令タイプが頻繁に発生しており、最近の何万回の命令の間に、何の浮動小数点命令も発生していないことを決定してもよい。この決定に基づいて、制御装置332は、クリティカルパスB309の選択に適した動的フラグをセットしてもよい。このような選択の後、カテゴリ1の命令が発生した場合、機能停止状況が強制され、調整信号344をセットして、カテゴリ1の命令を受け入れることができるように、電圧を上げるべきであることを示す。
図4は、AVS回路222として適切に用いられてもよい、適応電圧スケーリング(AVS)回路400の例示的な第2の実施形態を示す。AVS回路400は、クリティカルパスモデリング回路402と、測定ロジック406と、プログラム可能コンフィギュレーションレジスタ404とを具備する。クリティカルパスモデリング回路402は、フリップ−フロップ408と、NANDゲート410と、プログラム選択可能パス遅延回路412と、クロック基準遅延ユニット414とを備える。測定ロジック406は、測定フリップ−フロップ(Mフリップ−フロップ)416−419と、第1の遅延エレメントD1 420と、第2の遅延エレメントD2 422と、AVS結合器424とを備える。
フリップ−フロップ408と、NANDゲート410とは、トグルフリップ−フロップ配置を含み、これは、ホールド信号428によって保持されず、クロック信号430によってクロックされているときに、クロック信号430の立ち上りエッジで、Q出力432を切り換える。“1”レベルにおけるホールド信号428は、測定プロセスをイネーブルする。Q出力432は、Mフリップ−フロップ416のデータ入力に対して、および、プログラム選択可能パス遅延回路412に対して結合されている。プログラム選択可能パス遅延回路412は、プログラム可能コンフィギュレーションレジスタ404からの選択入力434に基づいて、クリティカルパス遅延をエミュレートするように構成されている。例えば、プログラム可能遅延期間の後に、Q出力432が“1”レベルに上昇するとき、プログラム選択可能パス遅延回路412からの第1の遅延出力436は、フリップ−フロップ417のデータ入力において、および、第1の遅延エレメントD1 420に対する入力において受け取られる。第1の遅延エレメントD1 420の第2の遅延出力438は、フリップ−フロップ418のデータ入力に対して、および、第2の遅延エレメントD2 422の入力に対して結合されている。第2の遅延エレメントD2 422の第3の遅延出力440は、フリップ−フロップ419に対するデータ入力に対して結合されている。
クロック信号430は、それが、“遅延なし”に対してプログラムされているとき、クロック基準遅延ユニット414によって遅延されて、プログラム選択可能パス遅延回路412の遅延に一致させる。すなわち、プログラム選択可能パス遅延回路412のそれぞれ、および、すべてのセクションにおいて、0ステージの遅延しかプログラムされていない場合でさえも、図5のプログラム選択可能パス遅延回路500に関して、以下でより詳細に説明するように、マルチプレクサを通過するだけで、何らかの遅延があることになるかもしれない。クロック基準遅延ユニット414はまた、フリップ−フロップ408の起動遅延も含む。次に、遅延されたクロック信号442と、第1の遅延出力436との間の到着時間デルタは、プログラム選択可能パス遅延回路412中のプログラムされた遅延エレメントの遅延、プラス、ラッチの起動遅延を表す。遅延されたクロック信号442を使用して、それらのデータ入力値を、対応するQ出力444−447に対して転送しているMフリップ−フロップ416−419のそれぞれをクロックする。Q出力444−447は、AVS結合器424に結合され、AVS結合器424は、優先度エンコードされたロジックを含み、クリティカルパスが満たされているか否かを決定する。Q出力432の立ち上がりエッジからQ出力444−447までを測定することによって、クリティカルパスは、1クロック周期おきに測定されている。
例えば、図3のクリティカルパスB309は、クリティカルパスB309に関係する適切なコンフィギュレーション入力値をロードすることによって、プログラム選択可能パス遅延回路412によってエミュレートされる。この例に関して、図2の、遅延エミュレーションの開始における電圧Vdd226は、その最高レベルにある。遅延エミュレーションの最後において、Q出力444−447が“1”レベルにおけるものである場合、次に、Q出力432の立ち上がりエッジからQ出力444−447の立ち上がりエッジまで測定されるようなクリティカルパスB309が、D1 420、プラス、D2 422のタイミングマージンを有するクロック周波数周期を満たす。この状況において、電圧Vdd226は、あまりに高すぎるとして考えられ、調整信号448が、電圧Vdd226を下げるべきであることを示すだろう。このように電圧Vdd226を下げることが発生している一方で、チップ上の他の動作が通常通り継続してもよい。可変電圧レギュレータが新たなより低い電圧レベルに到達するのに必要とされる時間期間の後、モデル化されたクリティカルパスB309のタイミングは、やり直されてもよい。遅延エミュレーションの最後において、Q出力444−447が、依然として“1”レベルである場合、電圧は再び下げられるだろう。Q出力444−446が“1”レベルであり、そして、フリップ−フロップ419のQ出力447が、“0”レベルである場合、次に、クリティカルパスB309は、そのタイミングを、D1 420のタイミングマージンで行う。この時点において、適切なタイミングマージンが存在するとして考えられてもよく、電圧Vdd226に対する、何のさらなる調整も行われない。代わりに、プログラム選択可能パス遅延回路412が、その遅延セッティング内で、追加のタイミングマージンを含んでいる場合、D1のタイミングマージンは、依然として過剰であるかもしれず、電圧Vdd226は、より低い電圧へと調整されてもよい。
D1 420、プラス、D2 422の時間マージンでは、D1のマージンだけが検出されるときに使用されるステップサイズに比較して、より大きいステップサイズで供給電圧を調整してもよい。立ち下がりエッジ信号タイミングに対する立ち下がりエッジもまた、AVS回路400で測定してもよい。Mフリップ−フロップ416が、遅延エミュレーションが実行されたことの表示として提供され、他の何のMフリップ−フロップ417−419も、セットされていない場合、何のタイミングマージンも存在せず、または、エラー状況が発生している。強制調整信号450の使用によって、カテゴリ1の命令の使用を要求している割込ルーチンを処理しているときのような、エミュレートされたクリティカルタイミングパスの測定以外の発生しているイベントに基づいて、調整を強制的に発生させてもよいことに留意すべきである。
図5は、プログラム選択可能パス遅延回路412として適切に用いられてもよい、例示的なプログラム選択可能パス遅延回路500である。クリティカルタイミングパスは、静的ロジック回路502、動的ロジック回路504、メタルレベル2と3(M2/M3)回路506、メタルレベル4と5(M4/M5)回路508のような、異なるシリコンレイヤ上の相互接続ワイヤリング遅延のモデルによるパスとして、エミュレートされてもよい。図4を参照すると、プログラム選択可能パス遅延回路412は、静的ロジック回路502と、動的ロジック回路504と、メタルレベルM2/M3回路506と、メタルレベルM4/M5回路508とを含む。
回路の静的ロジックをエミュレートするために、例えば、20ピコ秒のような最小の遅延を有する静的ロジックバッファ510は、32バッファの直列チェーン512中で再現され、これは、それぞれのバッファ位置においてタップオフされ、32から1のマルチプレクサ514に結合されている。図4のプログラム可能コンフィギュレーションレジスタ404は、選択コンフィギュレーションA(configA)信号516を、32から1のマルチプレクサ514に対して結合して、出力518上の20ピコ秒遅延間隔において、20ピコ秒から、最大640ピコ秒までの遅延をプログラム可能に選択する。
回路の動的ロジックをエミュレートするために、例えば、15ピコ秒の最小遅延を有する動的ロジックバッファ520は、8つの動的ロジックバッファ522の直列チェーン512中で再現され、これは、それぞれの動的バッファ位置においてタップオフされ、8から1のマルチプレクサ524に結合されている。プログラム可能コンフィギュレーションレジスタ404は、選択コンフィギュレーションB(configB)信号526を、8から1のマルチプレクサ524に対して結合して、出力528上の15ピコ秒遅延間隔において、15ピコ秒から、最大120ピコ秒までの遅延をプログラム可能に選択する。
メタルレイヤM2/M3の回路のワイヤ遅延回路をエミュレートするために、ワイヤリングレベルM2およびM3に対する最小の予測されるワイヤ遅延に一致させるために選ばれた、例えば、8ピコ秒の時間定数遅延を有する、バッファレジスタキャパシタ(RC)回路530が使用される。RC回路530は、例えば、4つのRC回路532の直列チェーン中で再現され、これは、それぞれのRC回路位置においてタップオフされ、4から1のマルチプレクサ534に結合されている。プログラム可能コンフィギュレーションレジスタ404は、選択コンフィギュレーションC(configC)信号536を、4から1のマルチプレクサ534に対して結合して、出力538上の8ピコ秒間隔において、8ピコ秒から、最大32ピコ秒までの遅延をプログラム可能に選択する。
メタルレイヤM4/M5の回路のワイヤ遅延回路をエミュレートするために、ワイヤリングレベルM4およびM5に対する最小の予測されるワイヤ遅延を一致させるのに選ばれた、例えば、9ピコ秒の時間定数遅延を有する、バッファレジスタキャパシタ(RC)回路540が使用される。RC回路540は、例えば、8つのRC回路542の直列チェーン中で再現され、これは、それぞれのRC回路位置においてタップオフされ、8から1のマルチプレクサ544に結合されている。プログラム可能コンフィギュレーションレジスタ404は、選択コンフィギュレーションD(configD)信号546を、8から1のマルチプレクサ544に対して結合して、出力548上の9ピコ秒間隔において、9ピコ秒から、最大72ピコ秒までの遅延をプログラム可能に選択する。
プログラム選択可能パス遅延回路412は、実現の技術と、エミュレートされるクリティカルタイミングパスに依拠して、より多くの、または、より少ないエミュレートされた関数とともに実現されてもよい。例えば、動的ロジックを使用しない実現と技術では、動的ロジック回路504は要求されないだろう。さらなる例において、他のワイヤリングレベルとは異なる遅延モデルを有し、M6とM7レイヤを通る信号に対するタイミング遅延をモデル化するメタルレイヤM6/M7回路を開発することを要求する実現において、2つ以上のワイヤリングメタルレイヤM6とM7が、使用されてもよい。
図6Aと6Bは、図4の第2の実施形態の適応電圧スケーリング回路に含まれる、適応電圧スケーリング結合器424の動作のためのタイミング図600と625を、それぞれ図示する。図6Aと6Bのタイミングイベントと、図4のエレメントとの間の例示的な関係は、図6Aと6Bのタイミングイベントを実行するのに適切に用いられてもよい、AVS回路400からの例示的なエレメントを参照することにより示される。信号遷移が、実現技術において使用されるデバイスのロジックしきい値を横断するとき、タイミングイベントが発生したとして考えられる。
ここで説明する回路は、接地レベルの30%上、または、供給電圧レベルの30%における入力信号に応答することが仮定される。例えば、1.0ボルトの供給電圧に対して、“0”値は、0.3ボルトより低いか、または、0.3ボルトに等しい何らかの値であるとして考えられ、また、“1”値は、0.7ボルトより高いか、または、0.7ボルトに等しい何らかの値であるとして考えられるだろう。技術に依拠して、異なる供給電圧を使用してもよく、30%とは異なる応答許容範囲もまた使用してもよい。タイミング図600に対して、1ボルトの供給電圧が仮定される。クロック430の立ち上りエッジと立ち下がりエッジ430、遅延されたクロック442、および、他の信号は、電圧、処理技術、および、信号ローディングのような他の要因で、異なっていてもよいことに留意すべきである。この変動は、アナログ回路シミュレーション技術の使用のような、適切な信号分析技術によって、対処されてもよい。
図6A中のタイミングイベント602において、クロック430の立ち上りエッジは、フリップフロップ408のQ出力432が高いレベルに遷移することを引き起こす。タイミングイベント604において、クロック430の立ち上りエッジは、フリップフロップ408のQ出力432が低いレベルに遷移することを引き起こす。Q出力432は、プログラム選択可能パス遅延回路412を通って流れ、遅延608を有する第1の遅延出力436を発生させる。第2の遅延出力438は、遅延D1 612に後続し、第3の遅延出力440は、遅延D2 614に後続する。Mフリップ−フロップ416−419は、タイミングイベント616において、遅延されたクロック442によってクロックされる。この例において、Q出力444−447は、タイミングイベント616において、すべて“1”レベルにおけるものであり、図2の電圧Vdd226が下げられてもよいことを示す。一度電圧が所望の電圧に下げられると、より低い電圧のために、すべての遅延が増加することになるので、遅延パスは再測定される。アサートされるMフリップ−フロップ416−419の数に依拠して、電圧Vddに対するさらなる調整が行われてもよい。回路分析技術を使用して、例えば、特定の実現に対するベストケースから、ワーストケースまでのシナリオ内での正しい動作を確実にすることが理解される。
図6Bにおいて、電圧Vdd226は下げられており、エミュレートされたクリティカルタイミングパスの遅延は増加している。Q出力432は、プログラム選択可能パス遅延回路412を通って流れ、ここでは、遅延630を有する第1の遅延出力436を発生させる。第2の遅延出力438は、遅延D1 632に後続し、第3の遅延出力440は、遅延D2 634に後続する。Mフリップ−フロップ416−419は、タイミングイベント636において、遅延されたクロック442によってクロックされる。この例において、タイミングイベント636において、3つのQ出力444−446が“1”レベルであり、そして、Q出力447が、“0”レベルであり、依然として適切なタイミングマージンがあり、電圧Vdd226の下方向への何のさらなる調整も実行すべきでないことを示している。
図7は、命令クリティカルパス遅延に関係する時間マージンを決定することによって、命令利用に基づいて、電圧レギュレータを調整するプロセス700を示す。プロセス700は、選択されたクリティカルパスのために、プログラム可能コンフィギュレーションレジスタにロードすることで、ブロック702において開始する。選択されたクリティカルパスは、コンパイルされたプログラム中の命令利用から決定される。ブロック704において、選択されたクリティカルタイミングパスの時間遅延が測定される。このような測定は、例えば、Mフリップ−フロップ416−419のステータスをチェックすることによって行われる。Mフリップ−フロップ416−419のチェックは、AVS回路300と400がクロック周期毎に動作するので、何らかの時間において行われてもよい一方で、他のオンチップ関数動作は、AVSが特にディセーブルされていない限り、処理されていてもよい。ブロック706において、すべての測定フリップ−フロップ(Mフリップ−フロップ)がセットされているか否かの決定が行われる。すべてのMフリップ−フロップがセットされている場合、プロセス700は、ブロック708に進む。ブロック708において、時間マージンが要求されるよりも長いために、電圧があまりにも高いと考えられるので、電圧を下げるために、電圧レギュレータに調整信号が送られる。ブロック708は、図6Aのタイミングイベントに相当する。電圧が調整された後で、プロセス700は、ブロック704に戻り、測定を繰り返す。
ブロック706に戻って、すべてのMフリップ−フロップがセットされていない場合、プロセス700は、ブロック710に進む。ブロック710において、4個のうち3個のMフリップ−フロップがセットされているかの決定が行われる。4個のうち3個のMフリップ−フロップがセットされている場合、プロセス700は、ブロック712に進む。ブロック712において、電圧は受入可能であるとして考えられ、何の電圧調整も行われない。ブロック712は、図6Bのタイミングイベント636に相当する。プロセス700は、ブロック704に戻り、測定を繰り返す。
ブロック710に戻って、4個のうち3個のMフリップ−フロップがセットされていない場合、プロセスは、ブロック714に進む。ブロック714において、1または2個のMフリップ−フロップがセットされているか否かの決定が行われる。1または2個のMフリップ−フロップがセットされている場合、プロセスは、ブロック716に進む。ブロック716において、時間マージンが要求されるより短いために、電圧が低すぎると考えられるので、電圧を上げるために、電圧レギュレータに調整信号が送られる。電圧が調整された後で、プロセス700は、ブロック704に戻り、測定を繰り返す。ブロック714に戻って、1または2個のMフリップ−フロップがセットされていない場合、プロセス700は、ブロック718に進み、ここでは、エラー状況が示される。
図8は、適応電圧スケーリング(AVS)回路800の例示的な第3の実施形態を示す。AVS回路800は、クリティカルパスモデリング回路402と、プログラム可能コンフィギュレーションレジスタ404と、測定ロジック回路806とを具備する。クリティカルパスモデリング回路402は、フリップ−フロップ408と、NANDゲート410と、プログラム選択可能パス遅延回路412と、クロック基準遅延ユニット414とを備える。測定ロジック806は、測定フリップ−フロップ(Mフリップ−フロップ)416と417と、AVS結合器824とを備える。
フリップ−フロップ408と、NANDゲート410とは、トグルフリップ−フロップ配置を含み、これは、ホールド信号428によって保持されておらず、また、クロック信号430によってクロックされているときに、クロック信号430のそれぞれの立ち上りエッジで、Q出力432を切り換える。“1”レベルにおけるホールド信号428は、測定プロセスをイネーブルする。Q出力432は、Mフリップ−フロップ416のデータ入力に対して、および、プログラム選択可能パス遅延回路412に対して結合される。プログラム選択可能パス遅延回路412は、プログラム可能コンフィギュレーションレジスタ404からの選択入力434に基づいて、クリティカルパス遅延、プラス、追加的なプログラムされた遅延D1とD2をエミュレートするように構成されている。例えば、指定されたプログラム可能遅延期間の後に、Q出力432が“1”レベルに上昇するとき、プログラム選択可能パス遅延回路412からの第1の遅延出力436は、フリップ−フロップ417のデータ入力において受け取られる。クロック基準遅延ユニット414によって遅延されるクロック信号430は、図2のクロックツリー234のような、クロックツリーで発生するもののような、クロック分散の遅延に対処する。遅延されたクロック信号442を使用して、Mフリップ−フロップ416と417のそれぞれをクロックし、対応するQ出力444と445に対して、それらのデータ入力値を転送する。Q出力444と445は、AVS結合器824に結合され、AVS結合器824は、優先度エンコードされたロジックを含み、クリティカルパスが満たされるが否かを決定する。
例えば、図3のクリティカルパスB309、プラス、追加的なプログラムされた遅延値D1、プラス、D2は、適切なコンフィギュレーション入力値をロードすることによって、プログラム選択可能パス遅延回路412によってエミュレートされる。プログラムされた遅延値D1とD2は、クリティカルパスに依拠して、あるいは、チップの動作条件中で発生するプロセスまたは温度の変動に依拠して、変化してもよい。プログラムされた遅延D1、プラス、D2によって、延長されたクリティカルパスとともに、2つのフリップ−フロップ、Mフリップ−フロップ416とMフリップ−フロップ417とを使用して、時間遅延マージンが、電圧を下げ、同じまま保持し、または、上げることができるようなものであるか否かを決定する。
この例に関して、図2の電圧Vdd226は、その最も高いレベルにある。エミュレーション遅延の最後において、Q出力444と445が“1”レベルにおけるものである場合、次に、Q出力432の立ち上がりエッジからQ出力444と445の立ち上がりエッジまで測定されるような、クリティカルパスB309は、D1、プラス、D2のタイミングマージンを有するクロック周波数周期を満たす。この状況において、電圧Vdd226は、あまりに高すぎるとして考えられ、調整信号848が、電圧Vdd226を下げるべきであることを示すだろう。このように電圧Vdd226を下げることが発生している一方で、チップ上の他の動作が通常通り継続してもよい。可変電圧レギュレータが新たなより低い電圧レベルに到達するのに要求される時間期間の後、モデル化されたクリティカルパスのタイミングは、やり直されてもよい。Q出力444と445が、依然として“1”レベルである場合、電圧は再び下げられるだろう。
Q出力444と445が両方とも“1”レベルでない場合、クリティカルパスB309の遅延、プラス、プログラムされた遅延、D1、プラス、D2が、クロック周波数周期を満たさない。クリティカルパスB309に対する十分なタイミングマージンが存在するか否かを決定するために、クリティカルパスB309の遅延、プラス、D1に対する遅延モデルが、コンフィギュレーションレジスタにロードされ、エミュレートされたパスのタイミングが再びチェックされる。Mフリップ−フロップ416と417との両方がセットされている場合、適切なタイミングマージンが存在しており、電圧Vdd226に対する、何のさらなる調整も行われない。両方のMフリップ−フロップがセットされていない場合、クリティカルパスB309、プラス、プログラムされた遅延値D1は、そのタイミングを行わず、タイミングマージンが、カテゴリ2の命令に対して、不十分であるかもしれないことを示す。この後者の状況で、調整信号848は、電圧Vddを上げるべきであることを示すだろう。
AVS回路800で、立ち下りエッジ信号タイミングに対する立ち下がりエッジもまた測定してもよい。調整信号850は、測定されている遅延のタイプについての情報を伝達してもよいことに留意すべきである。例えば、単一の調整信号850が、“1”レベルにセットされていると、結合器824は、Q出力417が、“1”にセットされているとして考えることになり、クリティカルパス遅延、プラス、プログラム可能な遅延D1、プラス、D2が、過剰な時間マージンを有するタイミングを満たしており、電圧は下げられる。遅延エミュレーションの最後におけるQ出力417が、“0”になるまで、電圧が下げられる。次に、プログラム可能コンフィギュレーションレジスタ404は、クリティカルパス遅延、プラス、プログラム可能遅延D1をロードされ、調整信号850が“0”にセットされて、減少された時間マージンを有する第2の測定がテストされていることを示す。“1”のQ出力417と、“0”の調整信号850とでは、結合器824が、適切なマージンが存在することを示しているとして解釈することになり、電圧レギュレータは調整されない。代わりに、“0”のQ出力417と、同じく“0”の調整信号850とでは、結合器は、時間マージンが短すぎることを示しているとして解釈することになり、電圧を上げる必要がある。新しいコンフィギュレーションビットのローディングとともに、新しいクリティカルパスエミュレーション測定に変化する際に、プロセッサの現在の動作条件と、測定されることになる新しく選択されたクリティカルパスとに依拠して、調整信号がセットされてもよい。
さまざまな例示的なロジックブロック、モジュール、回路、エレメント、および/または、ここで説明する実施形態に関連して説明するコンポーネントは、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラム可能ゲートアレイ(FPGA)または他のプログラム可能ロジック構成部品、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェア構成部品、あるいは、ここで説明する機能を実現するように設計されているこれらの任意の組み合わせとともに実現、または、実行してもよい。汎用プロセッサは、マイクロプロセッサであってもよいが、代わりに、プロセッサは、任意の従来のプロセッサ、制御装置、マイクロ制御装置、または、状態機械であってもよい。プロセッサはまた、計算コンポーネントの組み合わせとして、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと連携した1つ以上のマイクロプロセッサ、または、所望のアプリケーションに対して適切な、他の何らかのこのような構成として、実現されてもよい。
ここで開示する実施形態に関連して説明する方法は、ハードウェアで直接、プロセッサによって実行されるソフトウェアモジュールにおいて、または、これら2つの組み合わせにおいて、実現されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または、技術的に知られている、他の任意の形態の記憶媒体中に存在してもよい。記憶媒体は、プロセッサが記憶媒体から情報を読み取ることができるように、また、記憶媒体に対して情報を書き込めるように、プロセッサに結合されていてもよい。代わりに、記憶媒体はプロセッサに統合されていてもよい。
処理システムに対する命令セットアーキテクチャの文脈で、本発明を開示したが、ハードウェア支援コプロセッシングユニット上で実行されるカテゴリの関数にしたがった、電圧の調整のような、幅広くさまざまな実現を用いてもよいことが理解されるだろう。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]適応電圧スケーリングのための方法において、
複数のクリティカルパスのうちから、エミュレーションロジック上で分析するクリティカルパスを選択し、前記選択されたクリティカルパスの属性を、オン−チップ関数動作の間に決定することと、
前記属性に応答して、オン−チップ関数動作の間に、電圧を制御することと
を含み、
前記選択されたクリティカルパスは、プログラム実行の間に動作されることになるワーストケースクリティカルパスを表し、
電圧源が、前記複数のクリティカルパスに関係する電力ドメインに対して電力を供給する方法。
[2]クリティカルパスの長さにしたがって、命令を、複数のタイミングカテゴリに分類することと、
前記プログラム中で使用されるタイミングカテゴリを決定することと
をさらに含む、上記[1]の方法。
[3]前記プログラム中で使用される前記タイミングカテゴリの使用頻度に基づいて、クリティカルパスが選択される、上記[2]の方法。
[4]前記選択されたクリティカルパスの時間マージンを、動作周波数の周期と比較して、決定することをさらに含み、前記時間マージンは前記分析の属性である、上記[1]の方法。
[5]前記時間マージンが、第1の遅延値より長く、または、前記第1の遅延値に等しいが、前記第1の遅延値プラス第2の遅延値より短い場合、電圧に対して何の調整も行わないことをさらに含む、上記[4]の方法。
[6]前記時間マージンが、前記第1の遅延値プラス前記第2の遅延値より長く、または、前記第1の遅延値プラス前記第2の遅延値に等しい場合、電圧をより低い電圧に調整することをさらに含む、上記[5]の方法。
[7]前記時間マージンが、前記第1の遅延値より短い場合、電圧を増加させることをさらに含む、上記[5]の方法。
[8]対応するクリティカルパスの近くに配置されている信号パス中で、同等のコンポーネントを具体化することによって、前記複数のクリティカルパスのうちのそれぞれのクリティカルパスがエミュレートされる、上記[1]の方法。
[9]前記エミュレーションロジックは、プログラム可能遅延回路である、上記[1]の方法。
[10]コンフィギュレーションビットを、コンフィギュレーションレジスタにロードして、前記クリティカルパスを選択し、前記コンフィギュレーションビットは、前記プログラム可能遅延回路を構成して、前記選択されたクリティカルパスをモデル化することをさらに含む、上記[9]の方法。
[11]適応電圧スケーリング(AVS)回路において、
クリティカルパスをエミュレートするプログラム可能タイミングパスエミュレーション回路と、
前記プログラム可能タイミングパスエミュレーション回路を構成して、オン−チップで動作されることになるプログラム中の命令利用に基づいて、少なくとも1つのクリティカルパスをエミュレートするプログラム可能制御ロジックと、
オン−チップ関数動作の間に、前記エミュレートされたクリティカルパスの属性を測定し、前記測定された属性に応答して、電圧レギュレータの出力電圧を制御する測定回路と
を具備し、
前記エミュレートされたクリティカルパスは、プログラム実行の間に動作されることになるワーストケースクリティカルパスを表し、
前記電圧レギュレータは、前記複数のクリティカルパスに関係する電力ドメインに対して電力を供給する、AVS回路。
[12]前記プログラム可能タイミングパスエミュレーション回路は、
プログラム選択可能パス遅延回路と、
パス遅延測定を開始させるための始動信号回路と
を備える、上記[11]のAVS回路。
[13]前記プログラム選択可能パス遅延回路は、
第1のレイヤ直列チェーン中で、プログラム選択可能第1レイヤタップとともに一緒に結合されて、クリティカルパス中のロジックエレメントをモデル化する、第1のレイヤの遅延エレメントと、
第2のレイヤ直列チェーン中で、プログラム選択可能第2レイヤタップとともに一緒に結合されて、前記ロジックエレメントの間の相互接続ワイヤリングをモデル化する、第2のレイヤの選択可能レジスタキャパシタ(RC)遅延エレメントと
を備え、
前記第1のレイヤは、前記第1のレイヤ直列チェーンの第1の遅延エレメントにおいて、始動信号を受け取り、選択された第1のレイヤタップから第1のレイヤ出力を発生させ、
前記第1のレイヤ出力は、前記第2のレイヤ直列チェーンの第1のRC遅延エレメントに結合されており、選択された第2のレイヤ選択タップから第2のレイヤ出力を発生させる、上記[12]のAVS回路。
[14]前記プログラム可能制御ロジックは、
プログラム制御の下で、コンフィギュレーションビットがロードされるコンフィギュレーションレジスタを備え、
前記コンフィギュレーションビットは、前記プログラム可能タイミングパスエミュレーション回路を構成して、前記少なくとも1つのクリティカルパスをエミュレートする、上記[11]のAVS回路。
[15]前記測定ロジック回路は、
始動タイミングパス信号の出力値を受け取り、クロック信号によってクロックされる際に、第1のフリップフロップ出力に、前記受け取った出力値を転送する第1のフリップフロップと、
前記クリティカルパスエミュレーション回路の出力値を受け取り、クロック信号によってクロックされる際に、第2のフリップフロップ出力に、前記受け取った出力値を転送する第2のフリップフロップと、
前記第1のフリップフロップ出力と、前記第2のフリップフロップ出力とを受け取り、電圧を下げるべきか、同じままで保持すべきか、または、上げるべきかを示す調整信号を発生させる結合器と
を備える、上記[11]のAVS回路。
[16]適応電圧スケーリングのための方法において、
プログラム可能パス遅延回路中で時間遅延をセットして、オン−チップで動作されることになるプログラムに関係する最も長いクリティカルパスを表すクリティカルパス遅延をエミュレートすることと、
前記エミュレートされたクリティカルパス遅延の測定値に基づいて、オンチップ関数動作の間に、電圧を調整することと
を含み、
異なるプログラムは、異なる最も長いクリティカルパスを有し、
電圧源が、前記エミュレートされたクリティカルパスに関係する電力ドメインに対して電力を供給する方法。
[17]動作周波数の周期と比較して、前記クリティカルパスの時間マージンを決定することと、
前記時間遅延中に、前記時間マージンを含めることと
をさらに含む、上記[16]の方法。
[18]調整信号を、調整要求状態にアサートして、前記時間遅延が、前記クリティカルパス遅延プラス過剰な時間マージンを含むことを示すことと、
前記アサートされた調整信号に基づいて、電圧を下げることと
をさらに含む、上記[16]の方法。
[19]調整信号を、非調整状態にセットして、前記時間遅延が、前記クリティカルパス遅延プラスセーフ動作時間マージンを含むことを示すことをさらに含む、上記[16]の方法。
[20]現在使用されている動作電圧より高い動作電圧を要求する命令が検出されるとき、プロセッサ機能停止要求を発生させることと、
前記動作電圧を、より高い動作電圧に調整することと、
前記より高い動作電圧に到達する際に、前記プロセッサ機能停止要求を解除することと
をさらに含む、上記[16]の方法。

Claims (20)

  1. オン−チップ処理システム内での適応電圧スケーリングのための方法において、
    複数のクリティカルパスのうちから、エミュレーション回路上で分析するクリティカルパスを選択することと
    前記選択されたクリティカルパスに依拠して、前記エミュレーション回路中の1つ以上の遅延バッファを選択して、前記エミュレーション回路中から測定回路に第1の遅延出力を提供させることと、
    前記測定回路によって、前記第1の遅延出力と、第2の遅延出力と、第3の遅延出力と、遅延されたクロック信号とに少なくとも部分的に基づいて、前記選択されたワーストケースのクリティカルパスの時間マージンを決定して、前記時間マージンに基づいて、調整信号を発生させることと、
    制御回路によって、前記調整信号に応答して、オン−チップ関数動作の間に、電圧をワーストケース最小電圧より高くまたはワーストケース最小電圧に等しくなるように調整することとを含み、
    前記選択されたクリティカルパスは、前記オン−チップ処理システム内で、命令パイプラインステージを通して、プログラム実行の間に動作されることになるワーストケースクリティカルパスを表し、
    前記第2の遅延出力は、前記第1の遅延出力に、前記測定回路中の第1の遅延エレメントによる遅延を加えたものであり、前記第3の遅延出力は、前記第2の遅延出力に、前記測定回路中の第2の遅延エレメントによる遅延を加えたものであり、
    電圧源が、前記選択されたクリティカルパスを持っている電力ドメインに対して電力を供給する方法。
  2. クリティカルパスの長さにしたがって、前記命令パイプラインステージ中の命令を、複数のタイミングカテゴリに分類することと、
    前記プログラム中で使用されるタイミングカテゴリを決定することと
    をさらに含む、請求項1記載の方法。
  3. 前記プログラム中で使用される前記タイミングカテゴリのハードウェア決定された利用に基づいて、クリティカルパスが選択される、請求項2記載の方法。
  4. 前記選択されたクリティカルパスの時間マージンを決定することは、前記第1の遅延出力の周期を、前記電力ドメインの動作周波数のクロック周期と比較することをさらに含、請求項1記載の方法。
  5. 前記時間マージンが、第1の遅延値より長く、または、前記第1の遅延値に等しいが、前記第1の遅延値プラス第2の遅延値より短い場合、前記電圧に対して何の調整も行わないことをさらに含む、請求項4記載の方法。
  6. 前記時間マージンが、前記第1の遅延値プラス前記第2の遅延値より長く、または、前記第1の遅延値プラス前記第2の遅延値に等しい場合、前記電圧をより低い電圧に調整することをさらに含む、請求項5記載の方法。
  7. 前記時間マージンが、前記第1の遅延値より短い場合、前記電圧を増加させることをさらに含む、請求項5記載の方法。
  8. 対応するクリティカルパスの近くに配置されている信号パス中で、同等のコンポーネントを具体化することによって、前記複数のクリティカルパスのうちのそれぞれのクリティカルパスがエミュレートされる、請求項1記載の方法。
  9. 前記エミュレーション回路は、プログラム可能遅延回路である、請求項1記載の方法。
  10. コンフィギュレーションビットを、コンフィギュレーションレジスタにロードして、前記クリティカルパスを選択し、前記コンフィギュレーションビットは、前記プログラム可能遅延回路を構成して、前記選択されたクリティカルパスをモデル化することをさらに含む、請求項9記載の方法。
  11. 適応電圧スケーリング(AVS)回路において、
    クリティカルパスをエミュレートするプログラム可能タイミングパスエミュレーション回路と、
    オン−チップで動作されることになるプログラム中の命令利用に基づいて、複数のクリティカルパスのうちから、前記プログラム可能タイミングパスエミュレーション回路上で分析するクリティカルパスを選択するクリティカルパス選択ロジックと、
    前記選択されたクリティカルパスに依拠して、前記プログラム可能タイミングパスエミュレーション回路中の1つ以上の遅延バッファを選択することにより、前記プログラム可能タイミングパスエミュレーション回路を構成して、前記プログラム可能タイミングパスエミュレーション回路から測定回路に第1の遅延出力を提供させるプログラム可能制御ロジックと、
    前記第1の遅延出力と、第2の遅延出力と、第3の遅延出力と、遅延されたクロック信号とに少なくとも部分的に基づいて、前記選択されたワーストケースのクリティカルパスの時間マージンを決定して、前記時間マージンに基づいて、調整信号を発生させる前記測定回路と、
    前記調整信号に応答して、オン−チップ関数動作の間に、電圧レギュレータの出力電圧をワーストケース最小電圧より高くまたはワーストケース最小電圧に等しくなるように制御する制御回路とを具備し、
    前記エミュレートされたクリティカルパスは、プログラム実行の間に動作されることになるワーストケースクリティカルパスを表し、
    前記第2の遅延出力は、前記第1の遅延出力に、前記測定回路中の第1の遅延エレメントによる遅延を加えたものであり、前記第3の遅延出力は、前記第2の遅延出力に、前記測定回路中の第2の遅延エレメントによる遅延を加えたものであり、
    前記電圧レギュレータは、前記選択されたクリティカルパスを持っている電力ドメインに対して電力を供給する、AVS回路。
  12. 前記プログラム可能タイミングパスエミュレーション回路は、
    プログラム選択可能パス遅延回路と、
    パス遅延測定を開始させるための始動信号回路と
    を備える、請求項11記載のAVS回路。
  13. 前記プログラム選択可能パス遅延回路は、
    第1のレイヤ直列チェーン中で、プログラム選択可能第1レイヤタップとともに一緒に結合されて、クリティカルパス中のロジックエレメントをモデル化する、第1のレイヤの遅延エレメントと、
    第2のレイヤ直列チェーン中で、プログラム選択可能第2レイヤタップとともに一緒に結合されて、前記ロジックエレメントの間の相互接続ワイヤリングをモデル化する、第2のレイヤの選択可能レジスタキャパシタ(RC)遅延エレメントと
    を備え、
    前記第1のレイヤは、前記第1のレイヤ直列チェーンの第1の遅延エレメントにおいて、始動信号を受け取り、選択された第1のレイヤタップから第1のレイヤ出力を発生させ、
    前記第1のレイヤ出力は、前記第2のレイヤ直列チェーンの第1のRC遅延エレメントに結合されており、選択された第2のレイヤ選択タップから第2のレイヤ出力を発生させる、請求項12記載のAVS回路。
  14. 前記プログラム可能制御ロジックは、
    プログラム制御の下で、コンフィギュレーションビットがロードされるコンフィギュレーションレジスタを備え、
    前記コンフィギュレーションビットは、前記プログラム可能タイミングパスエミュレーション回路を構成して、前記少なくとも1つのクリティカルパスをエミュレートする、請求項11記載のAVS回路。
  15. 前記測定回路は、
    動信号回路の出力値を受け取り、クロック信号によってクロックされる際に、第1のフリップフロップ出力に、前記受け取った出力値を転送する第1のフリップフロップと、
    前記クリティカルパスエミュレーション回路の出力値を受け取り、前記クロック信号によってクロックされる際に、第2のフリップフロップ出力に、前記受け取った出力値を転送する第2のフリップフロップと、
    前記第1のフリップフロップ出力と、前記第2のフリップフロップ出力とを受け取り、電圧を下げるべきか、同じままで保持すべきか、または、上げるべきかを示す調整信号を発生させる結合器と
    を備える、請求項11記載のAVS回路。
  16. オン−チップ処理システム内での適応電圧スケーリングのための方法において、
    プログラム可能パス遅延回路中で時間遅延をセットして、オン−チップで実行されることになるプログラムの命令に関係する、パイプランステージ中の1つ以上のオン−チップ回路を通して、命令に対する最も長いクリティカルパスを表すクリティカルパス遅延をエミュレートして、第1の遅延出力を測定回路に提供することと、
    前記測定回路によって、前記第1の遅延出力と、第2の遅延出力と、第3の遅延出力と、遅延されたクロック信号とに少なくとも部分的に基づいて、選択されたワーストケースのクリティカルパスの時間マージンを決定して、前記時間マージンに基づいて、調整信号を発生させることと、
    制御回路によって、前記調整信号に基づいて、オンチップ関数動作の間に、電圧をワーストケース最小電圧より高くまたはワーストケース最小電圧に等しくなるように調整することと
    を含み、
    異なるプログラムは、異なる最も長いクリティカルパスを有し、
    前記第2の遅延出力は、前記第1の遅延出力に、前記測定回路中の第1の遅延エレメントによる遅延を加えたものであり、前記第3の遅延出力は、前記第2の遅延出力に、前記測定回路中の第2の遅延エレメントによる遅延を加えたものであり、
    電圧源が、前記エミュレートされたクリティカルパスを持っている電力ドメインに対して電力を供給する方法。
  17. 前記オン−チップ処理システムの動作周波数の周期と比較して、前記エミュレートされたクリティカルパス遅延の時間マージンを決定すること
    をさらに含む、請求項16記載の方法。
  18. 調整信号を、調整要求状態にアサートして、前記時間遅延が、前記クリティカルパス遅延に加えて、過剰な時間マージンを含むことを示すことと、
    前記アサートされた調整信号に基づいて、前記電圧を下げることと
    をさらに含む、請求項16記載の方法。
  19. 調整信号を、非調整状態にセットして、前記時間遅延が、前記クリティカルパス遅延に加えて、セーフ動作時間マージンを含むことを示すことをさらに含む、請求項16記載の方法。
  20. 現在使用されている動作電圧より高い動作電圧を要求する命令が検出されるとき、プロセッサ機能停止要求を発生させることと、
    前記動作電圧を、より高い動作電圧に調整することと、
    前記より高い動作電圧に到達する際に、前記プロセッサ機能停止要求を解除することと
    をさらに含む、請求項16記載の方法。
JP2010518408A 2007-07-26 2008-07-25 命令利用に基づいた、適応電圧スケーリングのための方法と装置 Expired - Fee Related JP5535909B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/828,782 2007-07-26
US11/828,782 US8725488B2 (en) 2007-07-26 2007-07-26 Method and apparatus for adaptive voltage scaling based on instruction usage
PCT/US2008/071155 WO2009015326A2 (en) 2007-07-26 2008-07-25 Method and apparatus for adaptive voltage scaling based on instruction usage

Publications (2)

Publication Number Publication Date
JP2010534890A JP2010534890A (ja) 2010-11-11
JP5535909B2 true JP5535909B2 (ja) 2014-07-02

Family

ID=40282159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010518408A Expired - Fee Related JP5535909B2 (ja) 2007-07-26 2008-07-25 命令利用に基づいた、適応電圧スケーリングのための方法と装置

Country Status (6)

Country Link
US (1) US8725488B2 (ja)
EP (1) EP2183657A2 (ja)
JP (1) JP5535909B2 (ja)
KR (1) KR101115247B1 (ja)
CN (3) CN107015625B (ja)
WO (1) WO2009015326A2 (ja)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7400167B2 (en) * 2005-08-16 2008-07-15 Altera Corporation Apparatus and methods for optimizing the performance of programmable logic devices
US8725488B2 (en) 2007-07-26 2014-05-13 Qualcomm Incorporated Method and apparatus for adaptive voltage scaling based on instruction usage
JP2009048264A (ja) * 2007-08-14 2009-03-05 Oki Electric Ind Co Ltd 半導体集積回路装置
US20090207901A1 (en) * 2008-02-19 2009-08-20 Meng-Ta Yang Delay circuit and method capable of performing online calibration
US7971105B2 (en) * 2009-01-16 2011-06-28 Freescale Semiconductor, Inc. Device and method for detecting and correcting timing errors
US8350589B2 (en) * 2009-01-27 2013-01-08 Agere Systems Llc Critical-path circuit for performance monitoring
WO2010117795A2 (en) * 2009-03-30 2010-10-14 Qualcomm Incorporated Adaptive voltage scalers (avss), systems, and related methods
US9798370B2 (en) * 2009-03-30 2017-10-24 Lenovo (Singapore) Pte. Ltd. Dynamic memory voltage scaling for power management
JP2011066317A (ja) * 2009-09-18 2011-03-31 Sony Corp 半導体装置
US8154335B2 (en) 2009-09-18 2012-04-10 Stmicroelectronics Pvt. Ltd. Fail safe adaptive voltage/frequency system
US8566618B2 (en) * 2009-10-05 2013-10-22 International Business Machines Corporation Reliable setting of voltage and frequency in a microprocessor
TW201122753A (en) * 2009-12-29 2011-07-01 Ind Tech Res Inst Voltage scaling systems
TW201123732A (en) * 2009-12-31 2011-07-01 Ind Tech Res Inst Processing devices
US8258861B2 (en) * 2010-01-08 2012-09-04 Analog Devices, Inc. Systems and methods for minimizing power consumption
US9285856B2 (en) 2010-12-21 2016-03-15 Qualcomm Incorporated Method and system for rapid entry into and for rapid exiting from sleep states for processors of a portable computing device
US20120291043A1 (en) * 2010-12-21 2012-11-15 Qualcomm Incorporated Minimizing Resource Latency Between Processor Application States In A Portable Computing Device By Using A Next-Active State Set
US9104499B2 (en) 2010-12-21 2015-08-11 Qualcomm Incorporated System for minimizing resource latency between processor application states in a portable computing device by scheduling resource state set transitions
JP5712732B2 (ja) * 2011-03-31 2015-05-07 ソニー株式会社 情報処理装置、情報処理システム、情報処理装置の制御方法、および、プログラム
US9444440B2 (en) * 2011-06-30 2016-09-13 Stmicroelectronics International N.V. Transition detector
US8954980B2 (en) 2011-11-11 2015-02-10 Qualcomm Incorporated Conserving power through work load estimation for a portable computing device using scheduled resource set transitions
US8943341B2 (en) * 2012-04-10 2015-01-27 International Business Machines Corporation Minimizing power consumption for fixed-frequency processing unit operation
US8464199B1 (en) 2012-05-16 2013-06-11 International Business Machines Corporation Circuit design using design variable function slope sensitivity
CN103455077B (zh) * 2012-05-31 2016-08-03 华为技术有限公司 一种自适应调整电压的方法、装置及系统
US20140136177A1 (en) * 2012-11-09 2014-05-15 Mediatek Inc. Critical path emulating apparatus using hybrid architecture
US9223327B1 (en) * 2012-11-26 2015-12-29 Marvell International Ltd. Universal adaptive voltage scaling system
US8975954B2 (en) * 2013-01-08 2015-03-10 Qualcomm Incorporated Method for performing adaptive voltage scaling (AVS) and integrated circuit configured to perform AVS
US9195291B2 (en) 2013-06-21 2015-11-24 Apple Inc. Digital power estimator to control processor power consumption
US9304573B2 (en) * 2013-06-21 2016-04-05 Apple Inc. Dynamic voltage and frequency management based on active processors
US9298250B2 (en) 2013-08-06 2016-03-29 Globalfoundries Inc. Reconfigurable circuit to emulate system critical paths
US9606605B2 (en) * 2014-03-07 2017-03-28 Apple Inc. Dynamic voltage margin recovery
US9671857B2 (en) 2014-03-25 2017-06-06 Qualcomm Incorporated Apparatus, system and method for dynamic power management across heterogeneous processors in a shared power domain
WO2016090642A1 (zh) * 2014-12-12 2016-06-16 上海兆芯集成电路有限公司 动态电压频率调整系统及其方法
US9543936B1 (en) 2015-06-22 2017-01-10 International Business Machines Corporation Reconfigurable voltage desensitization circuit to emulate system critical paths
JP6631374B2 (ja) * 2016-04-13 2020-01-15 富士通株式会社 情報処理装置、動作状況収集プログラム及び動作状況収集方法
JPWO2017199790A1 (ja) 2016-05-20 2019-03-14 株式会社ソシオネクスト 半導体集積回路
US10705589B2 (en) * 2016-06-02 2020-07-07 Northwestern University System and method for associative power and clock management with instruction governed operation for power efficient computing
US9924463B2 (en) * 2016-08-29 2018-03-20 Mediatek Singapore Pte. Ltd. Method, system and apparatus for controlling power consumption of a mobile terminal
WO2019040054A1 (en) * 2017-08-23 2019-02-28 Intel Corporation SYSTEM, APPARATUS, AND METHOD FOR ADAPTIVE OPERATING VOLTAGE IN A USER-PROGRAMMED (FPGA) PREDIFFUSED NETWORK
US10503184B2 (en) 2018-03-16 2019-12-10 Ambient Scientific, Inc. Dynamic adjustment of operating conditions of integrated circuits
US10403335B1 (en) 2018-06-04 2019-09-03 Micron Technology, Inc. Systems and methods for a centralized command address input buffer
CN110619132B (zh) * 2018-06-20 2023-11-24 瑞昱半导体股份有限公司 用于适应性电压缩放的方法与装置
CN108925004A (zh) * 2018-08-08 2018-11-30 深圳世鸿智汇科技有限公司 发光二极管驱动系统
TWI760722B (zh) * 2019-11-10 2022-04-11 瑞昱半導體股份有限公司 自適性電壓定比量測方法及相關的電子裝置
US11132201B2 (en) * 2019-12-23 2021-09-28 Intel Corporation System, apparatus and method for dynamic pipeline stage control of data path dominant circuitry of an integrated circuit
JP2022002377A (ja) * 2020-06-22 2022-01-06 セイコーエプソン株式会社 センシング装置及びセンシングシステム
US11599139B1 (en) 2021-09-03 2023-03-07 Xepic Corporation Limited Dynamic adjustment of root clock frequency in logic system design during verification
TWI801084B (zh) * 2022-01-07 2023-05-01 瑞昱半導體股份有限公司 用於靜態時序分析的餘量校正方法及餘量校正系統

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6158012A (en) 1989-10-30 2000-12-05 Texas Instruments Incorporated Real-time power conservation and thermal management for computers
US5218704A (en) 1989-10-30 1993-06-08 Texas Instruments Real-time power conservation for portable computers
US5230055A (en) 1991-01-25 1993-07-20 International Business Machines Corporation Battery operated computer operation suspension in response to environmental sensor inputs
JPH0776894B2 (ja) 1991-02-25 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレイション プロセッサ用クロック信号の制御方法及び情報処理システム
US5894577A (en) 1993-09-22 1999-04-13 Advanced Micro Devices, Inc. Interrupt controller with external in-service indication for power management within a computer system
US5511203A (en) 1994-02-02 1996-04-23 Advanced Micro Devices Power management system distinguishing between primary and secondary system activity
FI942753A (fi) 1994-06-10 1995-12-11 Nokia Mobile Phones Ltd Menetelmä jänniteregulaattorin sisältävän elektronisen laitteen tehonkulutuksen pienentämiseksi
US5754869A (en) 1994-10-04 1998-05-19 Intel Corporation Method and apparatus for managing power consumption of the CPU and on-board system devices of personal computers
US5572719A (en) 1994-11-22 1996-11-05 Advanced Micro Devices Clock control system for microprocessors including a delay sensing circuit
EP0727728A1 (en) 1995-02-15 1996-08-21 International Business Machines Corporation Computer system power management
FI101109B (fi) 1995-04-12 1998-04-15 Nokia Mobile Phones Ltd Menetelmä elektronisen laitteen tehonkulutuksen pienentämiseksi
US5719800A (en) 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
US5745375A (en) 1995-09-29 1998-04-28 Intel Corporation Apparatus and method for controlling power usage
US5996084A (en) 1996-01-17 1999-11-30 Texas Instruments Incorporated Method and apparatus for real-time CPU thermal management and power conservation by adjusting CPU clock frequency in accordance with CPU activity
US5812860A (en) 1996-02-12 1998-09-22 Intel Corporation Method and apparatus providing multiple voltages and frequencies selectable based on real time criteria to control power consumption
US5815724A (en) 1996-03-29 1998-09-29 Intel Corporation Method and apparatus for controlling power consumption in a microprocessor
US5940785A (en) 1996-04-29 1999-08-17 International Business Machines Corporation Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit
US5781783A (en) 1996-06-28 1998-07-14 Intel Corporation Method and apparatus for dynamically adjusting the power consumption of a circuit block within an integrated circuit
FR2752312B1 (fr) 1996-08-07 1998-10-30 Motorola Semiconducteurs Procede et circuit permettant d'ajuster dynamiquement la tension d'alimentation et, ou bien, la frequence du signal d'horloge dans un circuit numerique
US5832284A (en) 1996-12-23 1998-11-03 International Business Machines Corporation Self regulating temperature/performance/voltage scheme for micros (X86)
US5757171A (en) 1996-12-31 1998-05-26 Intel Corporation On-board voltage regulators with automatic processor type detection
US5914996A (en) 1997-02-12 1999-06-22 Intel Corporation Multiple clock frequency divider with fifty percent duty cycle output
US6021500A (en) 1997-05-07 2000-02-01 Intel Corporation Processor with sleep and deep sleep modes
US5923545A (en) 1998-05-18 1999-07-13 Intel Corporation Method and apparatus for providing multiple output voltages from a voltage regulator
JP3573957B2 (ja) 1998-05-20 2004-10-06 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ
US6347379B1 (en) 1998-09-25 2002-02-12 Intel Corporation Reducing power consumption of an electronic device
US6415388B1 (en) 1998-10-30 2002-07-02 Intel Corporation Method and apparatus for power throttling in a microprocessor using a closed loop feedback system
US6272642B2 (en) 1998-12-03 2001-08-07 Intel Corporation Managing a system's performance state
US6118306A (en) 1998-12-03 2000-09-12 Intel Corporation Changing clock frequency
JP4114291B2 (ja) 1999-01-20 2008-07-09 ソニー株式会社 半導体装置およびその構成方法
JP4457423B2 (ja) 1999-01-20 2010-04-28 ソニー株式会社 電源電圧制御装置
US6477654B1 (en) 1999-04-06 2002-11-05 International Business Machines Corporation Managing VT for reduced power using power setting commands in the instruction stream
US6425086B1 (en) 1999-04-30 2002-07-23 Intel Corporation Method and apparatus for dynamic power control of a low power processor
JP2001034983A (ja) * 1999-07-14 2001-02-09 Sankyo Seiki Mfg Co Ltd 光ピックアップ装置用受発光素子
US6457135B1 (en) 1999-08-10 2002-09-24 Intel Corporation System and method for managing a plurality of processor performance states
WO2001027728A1 (en) 1999-10-14 2001-04-19 Advanced Micro Devices, Inc. Minimizing power consumption during sleep modes by using minimum core voltage necessary to maintain system state
US6442746B1 (en) 1999-12-21 2002-08-27 Intel Corporation Preventing damaging of low voltage processor in high voltage system
US7100061B2 (en) 2000-01-18 2006-08-29 Transmeta Corporation Adaptive power control
JP2002100967A (ja) * 2000-03-17 2002-04-05 Sony Corp 電源電圧制御装置、半導体装置およびその駆動方法
US6535735B2 (en) 2001-03-22 2003-03-18 Skyworks Solutions, Inc. Critical path adaptive power control
KR20050115227A (ko) * 2003-01-23 2005-12-07 유니버시티 오브 로체스터 다중 클록 도메인 마이크로프로세서
US6825711B2 (en) 2003-04-30 2004-11-30 International Business Machines Corporation Power reduction by stage in integrated circuit
US7148755B2 (en) * 2003-08-26 2006-12-12 Hewlett-Packard Development Company, L.P. System and method to adjust voltage
US7239494B2 (en) * 2003-09-03 2007-07-03 Hewlett-Packard Development Company, L.P. System and method to mitigate voltage fluctuations
US7809932B1 (en) * 2004-03-22 2010-10-05 Altera Corporation Methods and apparatus for adapting pipeline stage latency based on instruction type
US7437580B2 (en) * 2004-05-05 2008-10-14 Qualcomm Incorporated Dynamic voltage scaling system
JP4198644B2 (ja) * 2004-06-21 2008-12-17 富士通マイクロエレクトロニクス株式会社 半導体集積回路
US7205805B1 (en) 2004-11-02 2007-04-17 Western Digital Technologies, Inc. Adjusting power consumption of digital circuitry relative to critical path circuit having the largest propagation delay error
CN1777005A (zh) * 2004-11-17 2006-05-24 中兴通讯股份有限公司 可控制上电时间与顺序的直流/直流电源调整电路
US7779281B1 (en) * 2004-12-15 2010-08-17 Silego Technology, Inc. Controlling input power
US7257723B2 (en) 2005-01-07 2007-08-14 Atheros Communications, Inc. Reducing power consumption in embedded systems by controlling voltage based on system state and partition designation
US7652494B2 (en) * 2005-07-01 2010-01-26 Apple Inc. Operating an integrated circuit at a minimum supply voltage
US7276925B2 (en) * 2005-07-01 2007-10-02 P.A. Semi, Inc. Operating an integrated circuit at a minimum supply voltage
US7417482B2 (en) * 2005-10-31 2008-08-26 Qualcomm Incorporated Adaptive voltage scaling for an electronics device
US7840825B2 (en) * 2006-10-24 2010-11-23 International Business Machines Corporation Method for autonomous dynamic voltage and frequency scaling of microprocessors
US8046601B1 (en) * 2006-12-21 2011-10-25 Marvell International Ltd. Closed loop voltage control using adjustable delay lines
US8725488B2 (en) 2007-07-26 2014-05-13 Qualcomm Incorporated Method and apparatus for adaptive voltage scaling based on instruction usage

Also Published As

Publication number Publication date
CN107092336A (zh) 2017-08-25
WO2009015326A3 (en) 2009-08-13
CN101765822A (zh) 2010-06-30
JP2010534890A (ja) 2010-11-11
US8725488B2 (en) 2014-05-13
KR20100036386A (ko) 2010-04-07
CN107092336B (zh) 2020-03-24
WO2009015326A2 (en) 2009-01-29
KR101115247B1 (ko) 2012-03-13
EP2183657A2 (en) 2010-05-12
US20090031155A1 (en) 2009-01-29
CN107015625B (zh) 2020-07-14
CN107015625A (zh) 2017-08-04

Similar Documents

Publication Publication Date Title
JP5535909B2 (ja) 命令利用に基づいた、適応電圧スケーリングのための方法と装置
Kahng et al. Slack redistribution for graceful degradation under voltage overscaling
US8362805B2 (en) Power switch ramp rate control using daisy-chained flops
KR101284776B1 (ko) 비대칭 멀티프로세서 상에서의 적응형 스레드 스케줄링을 위한 장치 및 방법들
Srivastava et al. Power minimization using simultaneous gate sizing, dual-Vdd and dual-Vth assignment
JP6026191B2 (ja) 電力制御回路、それを含む半導体装置及び該電力制御回路の動作方法
US8421499B2 (en) Power switch ramp rate control using programmable connection to switches
Kulkarni et al. A new algorithm for improved VDD assignment in low power dual VDD systems
US20060090153A1 (en) Method and apparatus for reducing power consumption in an integrated circuit chip
US8415972B2 (en) Variable-width power gating module
US9564898B2 (en) Power switch ramp rate control using selectable daisy-chained connection of enable to power switches or daisy-chained flops providing enables
Huh Future direction of power management in mobile devices
KR20130084029A (ko) 탭리스 스탠다드 셀을 포함하는 시스템-온-칩의 설계 방법, 설계 시스템 및 시스템-온-칩
US11528016B2 (en) Low latency comparator with local clock circuit
US8018247B2 (en) Apparatus and method for reducing power consumption using selective power gating
US10650112B1 (en) Multi-bit clock gating cell to reduce clock power
CN104753515A (zh) 应用特征化路径电路的动态调整电路及产生特征化路径电路的方法
Burd Dynamic Voltage Scaling
US20240038310A1 (en) Non-Volatile Memory Power Cycle Protection Mechanism
Ye et al. Energy-efficient design techniques
Kumar Sharma et al. Multi-Voltage Design of RISC Processor for Low Power Application: A Survey
TWI406147B (zh) 用於設計使用適應性電壓及比例最佳化之積體電路之系統及方法
Dennington et al. Low Power Design
Hobbs et al. Reaching the limits of low power design
Jamshidi Design for Low Power

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120321

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120328

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120420

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120427

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120515

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130524

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130531

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130917

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140117

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140423

R150 Certificate of patent or registration of utility model

Ref document number: 5535909

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees