JP5073903B2 - ディジタル・パワー・スロットルを備えたマイクロプロセッサ - Google Patents
ディジタル・パワー・スロットルを備えたマイクロプロセッサ Download PDFInfo
- Publication number
- JP5073903B2 JP5073903B2 JP2001549170A JP2001549170A JP5073903B2 JP 5073903 B2 JP5073903 B2 JP 5073903B2 JP 2001549170 A JP2001549170 A JP 2001549170A JP 2001549170 A JP2001549170 A JP 2001549170A JP 5073903 B2 JP5073903 B2 JP 5073903B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- power consumption
- power
- instruction
- unit
- 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
Links
- 230000000694 effects Effects 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000007246 mechanism Effects 0.000 abstract description 20
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241000761456 Nops Species 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 108010020615 nociceptin receptor Proteins 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
- Control Of Stepping Motors (AREA)
Description
(技術分野)
本発明は、マイクロプロセッサに関し、特に、マイクロプロセッサ内の電力消費を制御するためのメカニズムに関する。
【0002】
(従来技術)
最新のプロセッサは、複数命令の並行処理をサポートするために多くの実行資源を含んでいる。通常、プロセッサは、それぞれ、整数命令、浮動小数点命令、分岐命令、ロード/ストア命令を実施するために、1つまたは複数の整数実行ユニット、浮動小数点実行ユニット、分岐実行ユニット、メモリ実行ユニットを含む。そのうえ、整数ユニットと浮動小数点ユニットは通常、プロセッサ・コアに比較的密接なデータを維持管理するためのレジスタ・ファイルを含む。多くの実行資源をプロセッサに設ける場合の欠点の1つは、それらを動作させるために大量の電力を必要とすることである。種々の実行ユニットは、それらのサイズおよびそれらが実施する機能に応じて、多かれ少なかれ電力を消費するがあるが、比較的小さいプロセス・チップ上に非常に多くのロジックをパッキングすることによる最終結果として、重大な電力損問題の可能性が生じる。
【0003】
相当な間隔の間プロセッサの実行資源の全域を必要とするプログラムはほとんどない。プログラムを実行することによって浪費する電力は、そのコンポーネント命令の性質と、その命令が並行して実行される可能性によって決まる。プログラムは通常、様々な命令タイプを含むが、相当な期間の間、プロセッサのすべての実行資源を使用中として保持するために適切なタイプの沢山の命令が使用可能であることはめったにない。このため、ほとんどのプロセッサではクロック・ゲート・メカニズムを使用し、実行資源を使用していないときにその実行資源に送られるクロックを遮断し、それにより電力を削減する。そのうえ、実行資源の種々のコンポーネントは、そのコンポーネントが処理するパイプ・ステージに命令が出入りするときに、オン/オフすることができる。その結果、平均的なプログラムが浪費する電力レベルは比較的管理しやすいものになる可能性がある。
【0004】
プログラムによっては、比較的長い間プロセッサの実行資源の多くを活動化し、その結果、平均的なプログラムよりかなり多くの電力を浪費するものがある。プロセッサの電力消費を制限するためのメカニズムが設けられていない場合、そのプロセッサは、一般に、最大電力を消費するプログラムを取り扱うように設計されている。このため、平均的なプログラムを実行するために必要な電力とは無関係に、すべてのプログラムについて、その最高パフォーマンス・レベル未満でプロセッサを動作させることが必要になる場合もある。
【0005】
パワー・スロットルは、ハイ・パフォーマンス・プロセッサによって発生する電力消費問題を取り扱うために提案された戦略である。パワー・スロットルは、プロセッサの電力消費が高くなりすぎると、そのプロセッサのパフォーマンスを低下させる。これは、電力消費が安全なレベルに低下するまでプロセッサが命令を実行する速度を一時的に低減することによって実行することができる。パワー・スロットルにより、平均的なプログラムが実行される電力レベルに対応してプロセッサを設計することができる。多大な資源を必要とするプログラムを実行すると、プロセッサはその命令実行速度を低減して、その電力消費を既定の制限内に維持する。
【0006】
提案されているパワー・スロットル・メカニズムは、プロセッサが浪費する電力を監視するためにアナログ・パラメータを頼りにしている。たとえば、サーマル・スロットル・メカニズムは、プロセッサ・チップの温度を監視し、その温度がしきい値を超えるとプロセッサの実行速度を低減する。プロセッサが消費する電流またはスイッチング・レギュレータ内のパルス幅変調器のデューティ・サイクルを監視するために、その他のスロットル方式も提案されている。
【0007】
このようなパワー・スロットル・メカニズムにはいくつかの欠点がある。このようなメカニズムは、主にディジタルの環境、すなわち、プロセッサ内に追加のアナログ回路をもたらすことになる。このようなメカニズムは、プロセッサの環境(温度、電圧、構成)の変化によって様々になる傾向がある。また、このようなメカニズムは、プロセッサが消費する電力を直接制限するわけではなく、決定的なものではない。すなわち、その挙動はクロック単位で予測することができない。
【0008】
本発明は、使用可能なパワー・スロットル・メカニズムの上記その他の欠点に対処するものである。
【0009】
(発明の概要)
本発明は、マイクロプロセッサの電力消費を制御するためのディジタル・スロットルを提供する。
【0010】
本発明によれば、プロセッサは、1つまたは複数の機能ユニットと、ディジタル・スロットルとを含む。ディジタル・スロットルは、プロセッサの機能ユニットの活動状態を監視して、プロセッサの電力消費を推定する。
【0011】
本発明の一実施態様の場合、ディジタル・スロットルは、1つまたは複数のゲート・ユニットと、1つの監視回路と、1つのスロットル回路とを含む。各ゲート・ユニットは、プロセッサの機能ユニットへの電力送付を制御し、その関連機能ユニットの活動状態を示す信号を出力する。監視回路は、信号からそのプロセッサの推定電力消費を決定し、その推定電力消費としきい電力レベルを比較する。推定電力消費レベルがしきい電力レベルを超える場合、スロットル回路はプロセッサ内の命令フローを調整する。
【0012】
本発明は添付図面を参照して理解可能であるが、その添付図面では同様の要素は同様の番号で示されている。これらの図面は、本発明の特定の実施形態を例示するために提供するものであり、本発明の範囲を制限するためのものではない。
【0013】
(発明の詳細な説明)
以下の説明では、本発明を完全に理解できるようにするために多くの具体的な詳細を示している。しかし、この開示内容の恩恵を受ける当業者は、このような具体的な詳細がなくても本発明を実施可能であることが分かるだろう。さらに、本発明の特徴に焦点を当てるために、様々な周知の方法、手順、構成要素、回路については詳細に説明していない。
【0014】
本発明は、一連の命令に応答してプロセッサの機能ユニットの活動を監視してプロセッサの電力損を制御するためのメカニズムを提供する。その活動、たとえば、現在進行中の命令によってどの機能ユニットが活動化されるかは、対応する機能ユニットがオンかオフかを示す2進信号によって表すことができる。プロセッサが消費する電力の推定値は、現在「オン」になっている各機能ユニットに関連するパワー・ウェイトを合計することによって得られる。機能ユニットのパワー・ウェイトは、その機能ユニットが活動化されたときに消費する電力の量を表す。推定電力がしきい値レベルを超えた場合、スロットル・メカニズムはプロセッサを通る命令フローを調整して、機能ユニットの活動を低減する。
【0015】
各機能ユニットのパワー・ウェイトは、較正プロセスによって決定することができる。たとえば、デジタル・スロットルは設計プロセスの一部として1回較正される場合もあれば、自己較正し続ける場合もある。後者の場合、ディジタル・スロットルは、電流監視回路と較正アルゴリズムを使用して、定期的に各機能ユニットごとにパワー・ウェイトを調整することができる。
【0016】
本発明の一実施形態の場合、現在進行中の命令に応答して機能ユニットへの電力送付を制御するために、各機能ユニットに1つのゲート・ユニットが関連づけられている。パイプライン制御回路は、各ゲート・ユニットにそれに関連する機能ユニットのオン/オフ状態を示す。各ゲート・ユニットからの信号は、それに関連する機能ユニットのオン/オフ状態を監視回路に示す。監視回路は、示された状態に応じて、対応するパワー・ウェイトをプロセッサの現行電力消費の推定値に含めるかまたはそのパワー・ウェイトを無視する。別法として、各ゲート・ユニット信号は、それに関連する機能ユニットが「オン」になっているときにその機能ユニットのパワー・ウェイトを監視回路に連絡することもできる。本発明の他の実施形態では、推定電力で考慮すべきパワー・ウェイトを示すために他のメカニズムを使用することができる。
【0017】
監視回路は、アクティブな機能ユニットのパワー・ウェイトを合計し、それをしきい値と比較して、プロセッサの電力消費のクロック単位の推定値を出力する。ディジタル・スロットルの一実施形態の場合、複数のクロック・サイクルにわたってこのような推定値を累積し、プロセッサの電力消費のクロック単位の変動を平滑化する累積電力値を出力する。スロットル回路は、累積電力値に応じて、命令が処理される速度を調整する。たとえば、スロットル回路は、プロセッサの命令実行パイプラインに「バブル」を注入してパフォーマンスを低減する場合もあれば、プロセッサのクロックが動作する周波数を低減する場合もある。
【0018】
したがって、開示したメカニズムでは、電力消費を推定するためにプロセッサのロジック内のディジタル・イベント(活動状態)を頼りにし、命令が処理される速度によってこれらのイベントの速度を直接調整する。これにより、プロセッサの電力消費を制御するための高速かつ直接的で決定的なメカニズムが得られ、プロセッサにアナログ回路をもたらさずにそれが実行される。
【0019】
図1は、本発明を実施可能なコンピュータ・システム100の一実施形態を示すブロック図である。コンピュータ・システム100は、1つまたは複数のプロセッサ110と、メイン・メモリ140と、不揮発性メモリ150と、様々な周辺装置160と、システム・ロジック170とを含む。システム・ロジック170は、プロセッサ(複数も可)110と、メイン・メモリ140と、不揮発性メモリ150と、周辺装置160との間のデータ転送を制御する。コンピュータ・システム100は、本発明の様々な特徴を例示するために示したものである。図示の特定の構成は、本発明を実施するために必要なものではない。
【0020】
プロセッサ110は複数の機能ユニット124を含み、これらが1つの命令実行パイプライン120を形成する。命令は、メイン・メモリ140および不揮発性メモリ150からプロセッサ110に供給される。ディジタル・スロットル130は、処理された命令に応答して様々な機能ユニット124内の電力消費を監視し、それに応じてパイプライン120を通る命令フローを調整する。
【0021】
命令は、パイプライン120のステージに載せられると、まとめるとその命令を実施することになる1つまたは複数のオペレーションを実行するよう様々な機能ユニット124に指示する。たとえば、浮動小数点乗算累算命令(FMAC)では示された資源内で次のようなオペレーションが行われる可能性がある。すなわち、浮動小数点レジスタ・ファイルが3つのオペランドを読み取り、FMAC実行ユニットがそのうちの2つのオペランドを乗算し、その積を第3のオペランドに加算し、例外ユニットがその積と和についてエラーがないかどうかチェックし、エラーが検出されない場合にリタイヤメント・ユニットがその結果を浮動小数点レジスタに書き込む。特定のプロセッサ実施例に応じて、このような資源またはそのコンポーネントは1つまたは複数の機能ユニットにグループ化することができ、その機能ユニットは命令がパイプラインのステージに載せられるときにオン/オフされる。各機能ユニットは、命令によって活動化されると、所与の量の電力を消費する。
【0022】
本発明の一実施形態の場合、機能ユニット124が消費する電力は関連のパワー・ウェイトによって表される。機能ユニットが命令によって活動化されると、ディジタル・スロットル130は、そのアクティブ状態を検出し、それに関連するパワー・ウェイトをプロセッサの総電力消費の推定値に加算する。ディジタル・スロットル130は、選択した間隔にわたってこのようなオペレーションを実施し、現在実行中の命令シーケンスが消費する電力の推定値を生成し、推定電力消費が指定のしきい値レベルを超えた場合にパイプライン120を通る命令フローを調整する。
【0023】
図2は、プロセッサ110の一実施形態をより詳細に表している。開示したプロセッサ110の実施形態の場合、パイプライン120は、それぞれフェッチ(FET)ステージ、展開(EXP)ステージ、レジスタ(REG)ステージ、実行(EXE)ステージ、検出(DET)ステージ、リタイヤメント(RET)ステージとして表され、各ステージに対応する実行資源が示されている。本発明では、プロセッサ110を特定のパイプライン・ステージ・セットに区分する必要はない。たとえば、開示した1つのステージは、タイミング問題に対処するかまたはより高速のプロセッサ・クロック速度を容易にするために、2つまたはそれ以上のステージに細分することができる。別法として、2つまたはそれ以上のステージを単一ステージに結合することもできる。他の実施形態では、命令をout−of−order方式で処理するためのハードウェアを含むこともできる。開示したパイプラインは、本発明を実施するプロセッサに複数のオペレーションを区分する方法の一例のみを示している。
【0024】
パイプライン120のフロント・エンドはフェッチ・ユニット210と発行ユニット220とを含み、これらはパイプライン120のバック・エンド内の実行ユニットに命令を供給して実行する。フェッチ・ユニット210は、メモリ140から直接またはローカル・キャッシュ(図示せず)を介して命令を取り出し、フェッチした命令を発行ユニット220に供給する。発行ユニット220は、命令をデコードし、それをパイプライン120のバック・エンド内の実行資源に発行する。
【0025】
この説明全体を通して、「命令」という用語は、一般に、命令、マクロ命令、命令バンドル、またはプロセッサ・オペレーションをコード化するために使用するその他の複数のメカニズムのいずれかを指すために使用する。たとえば、デコード・オペレーションは、マクロ命令を1つまたは複数のマイクロオペレーション(μop)に変換する場合もあれば、命令バンドルを1つまたは複数の命令シラブルに分解するか、または命令に関連するマイクロコード・シーケンスを取り出す場合もある。
【0026】
パイプライン120のバック・エンドは、レジスタ・ユニット230と、実行ユニット250と、例外ユニット260と、リタイヤメント・ユニット270とを含む。レジスタ・ユニット230は、命令に指定されたレジスタを識別し、識別したレジスタからのデータにそれぞれアクセスするために、レジスタ・リネーム・ユニットと様々なレジスタ・ファイル(図示せず)とを含む。実行ユニット250は、分岐命令、整数命令、ロード/ストア命令、浮動小数点命令を処理するために、1つまたは複数の分岐実行ユニット(BRU)252と、整数実行ユニット(IEU)254と、ロード/ストア・ユニット(LSU)256と、浮動小数点実行ユニット(FPU)258とを含む。例外ユニット260は、実行ユニット250によって生成された結果をチェックし、例外条件を検出した場合に制御フローを調整する。例外条件が一切検出されない場合、リタイヤメント・ユニット270は、その結果によってプロセッサ110のアーキテクチャ状態を更新する。
【0027】
種々の命令によって活動化された機能ユニットは、パイプライン120に関して示した実行資源の様々な組合せおよびサブセットに対応する。ディジタル・スロットル130は、これらの機能ユニットの活動状態を監視し、パイプライン120を通って命令が処理される速度をそれに応じて調整する。たとえば、1つの機能ユニットが浮動小数点レジスタ(レジスタ・ユニット230内)を含む場合があり、FPU258が2つまたはそれ以上の機能ユニット内のコンポーネントを有する場合もある。一般に、機能ユニットは、まとめて活動化され非活動化される様々な実行資源(レジスタ・ファイル、実行ユニット、追跡ロジック)を含む。本発明は、図2に示す機能ユニットと実行資源間の詳細なマッピングに依存していない。
【0028】
図3は、ディジタル・スロットル130の一実施形態と、それとパイプライン120の機能ユニット124との対話を表すブロック図である。開示したディジタル・スロットル130の実施形態は、ゲート・ユニット310(1)〜310(n)(総称してゲート・ユニット130)と、監視回路320と、スロットル回路330とを含む。各ゲート・ユニット310は、機能ユニットへの電力送付を制御するために、パイプライン120内の機能ユニット124に関連づけられている。たとえば、ゲート・ユニット310は、現在、機能ユニットが動作するパイプライン・ステージ内にある命令を実施するために機能ユニット124のサービスが必要かどうかに応じて機能ユニット124にクロック信号を結合するかまたは減結合するクロック・ゲート回路にすることができる。図3には、現在実行中の命令に関してどの機能ユニットがアクティブであるかをゲート・ユニット310に示すパイプライン制御回路350も示されている。
【0029】
開示したディジタル・スロットル130の実施形態の場合、各ゲート・ユニット130は、機能ユニット124に電力が送付されているかどうかを示すための信号を監視回路320に供給する。たとえば、その信号は機能ユニット124の活動状態にすることができ、機能ユニット124が「オン」になったときにアサートされる。その信号がアサートされると、すなわち、ゲート・ユニット130が機能ユニット124に電力を供給すると、その機能ユニットのパワー・ウェイトがプロセッサ110の推定電力消費に加算される。その信号がアサートされないと、すなわち、ゲート・ユニット130が機能ユニット124への電力を遮断すると、関連のパワー・ウェイトは推定電力消費に加算されない。典型的なプロセッサは、10〜20個の機能ユニット124への電力送付を制御するために、10〜20個のゲート・ユニット310を含むことができる。
【0030】
監視回路320は、ゲート・ユニット130から信号を収集し、収集した信号からプロセッサ110の現行推定電力消費レベルを決定する。開示したディジタル・スロットル130の実施形態の場合、監視回路320は、ウェイト・ユニット314(1)〜314(n)(総称してウェイト・ユニット314)と、加算器324と、飽和回路326と、アキュムレータ328とを含む。本発明の一実施形態では、各ウェイト・ユニット314は、対応するゲート・ユニット310を介して機能ユニット124の1つに関連づけられている。ウェイト・ユニット314は、そのゲート・ユニット310からの活動状態信号がアサートされると、加算器324に電力レベルを供給する。活動状態信号がアサートされないと、ウェイト・ユニット314は0を出力する。
【0031】
加算器324は、ウェイト・ユニット134によって示されたパワー・ウェイトを合計し、その和からしきい値レベルを減算する。加算器324の出力は飽和回路326を介してアキュムレータ328に転送される。飽和回路326は、加算器324によって転送された値がオーバフローした場合のラップアラウンドを防止するために含まれている。アキュムレータ328は、転送された値をスロットル回路330に供給し、プロセッサの後続活動状態に応じて更新すべきコピー・バックも加算器324に供給する。
【0032】
アキュムレータ328の内容(「累積電力」)は、選択した間隔でスロットル回路330に供給される。スロットル回路330の一実施形態では、累積電力が正の場合、たとえば、指定の間隔にわたる累積電力消費推定値がしきい電力レベルを超えた場合に、パイプライン120を通る命令フローを低減する。スロットル回路330は、パイプライン120のバック・エンドに供給された命令ストリームに「バブル」を注入するよう、フェッチ・ユニット210に合図する。実際に、スロットル回路330は、指定の間隔に関する推定電力消費がしきい値レベルを超えると、プロセッサ・クロックのデューティ・サイクルを調整する。
【0033】
表1は、指定の間隔が128クロック・サイクルである場合のデューティ・サイクル調整値のセットを示している。
【0034】
【表1】
【0035】
表1が示す実施形態の場合、パワー・ウェイトは、機能ユニットが活動化されたときにその機能ユニットが消費する電力に比例した8〜16ビットの固定小数点数にすることができる。Xの上位8ビットは、プロセッサ・クロックのデューティ・サイクルを調整するために使用することができる。これらのビットはより低速で変化し、スロットル回路330が示す命令フローの変化をダンピングする。上記の例では、サンプリング間隔が128クロック・サイクルであり、ディジタル・スロットル130は、128通りのスロットル・レベルを提供する。これらのレベルは、推定電力消費がしきい電力消費を超えた量に比例した微調整スロットル制御を可能にする。好ましくは、スロットル回路350は、そのサンプリング間隔にわたって推定電力消費が示すオン/オフ周期を分散させる。この分散は、均一である場合もあれば、ランダムである場合もあり、他の何らかのパターンで左右される場合もある。このような分散の1つを以下に詳細に説明する。
【0036】
図4は、スロットル回路330の一実施形態の概略表現である。開示したスロットル回路330の実施形態は、メモリ装置410と、制御ユニット420と、カウンタ430とを含む。累積電力が記憶されるアキュムレータ338のレジスタ440も示されている。メモリ装置410はたとえば読取り専用メモリ(ROM)にすることができ、その項目はカウンタ420からのタイミング表示とアキュムレータ328からの累積電力レベルに応答して制御ユニット420を介してアクセスされる。
【0037】
開示したスロットル回路330の実施形態の場合、カウンタ430はモジュロ128カウンタである。カウンタ430の出力は、連続するクロック・サイクルで0〜127まで制御ユニット420内の列インデックスを増分し、127に達すると0に戻る。同様に、アキュムレータ328の出力は、累積電力の現行値に応じて制御ユニット420内の行インデックスを調整する。開示した実施形態の場合、行インデックスは、X<=0、72、124のときに、それぞれ0、71、123になる。制御ユニット420はこれらのインデックスを使用して、メモリ装置410から対応する項目を読み取る。その項目の値は、プロセッサ110の命令実行パイプラインにバブルを注入すべきかどうかを示す。たとえば、出力が0の場合はバブルを注入し、出力が1の場合はバブルを一切注入しない。
【0038】
メモリ装置410の一実施形態の場合、各行には1と0からなる種々の数が入り、0の数はその行にマッピングされたXの値でスケーリングする。たとえば、行0はすべて1を含み、したがって、累積電力レベル(X)が0を超えない場合、すなわち、動作電力推定値がしきい値レベルを超えない場合は、命令実行パイプラインにバブルが一切注入されない。パワー・スペクトルの反対側の行127は1を一切含まない。したがって、累積電力レベルが指定の量を超える限り、各クロック・サイクルごとに命令実行パイプラインにバブルが注入される。開示した例では、この量は飽和回路328によって127として決定され、すなわち、X=>127になる。行0から行127までの行には、Xの値に比例した0を入れることができる。たとえば、行67はその種々の列に分散した68個の0を含み、行111はその列全体に分散した112個の0を含み、行17はその列全体に分散した18個の0を含む。本発明の一実施形態の場合、それが指定する行の列全体に0をランダムに分散することができる。
【0039】
開示したディジタル・スロットル130の実施形態はフィードバック・ループを含む。スロットルの量は機能ユニットの活動状態によって決まり、それはスロットルの量に影響される。アキュムレータ328は経時的に積分を実行し、このフィードバック・ループに90度の遅れ移相をもたらす。安定性のため、フィードバック・ループ内のその他の遅延、すなわち移相を最小限にすることが重要である。ディジタル・フィードバック・ループの安定性基準は、おそらく、命令実行パイプラインを通り抜けるために必要なクロック・サイクル数に対応する間隔(パイプライン間隔)中にプロセッサの電力消費を著しく調整する方法によって決まることになる。たとえば、パイプライン間隔中の電力消費の変化が比較的小さくなるようにパワー・ウェイトを選択しなければならない。
【0040】
ディジタル・スロットル130の応答時間はそのフィードバック・ループによって制御される。ディジタル・スロットルは、プロセッサのコンポーネントの群挙動によって決まる巨視的現象(温度、電流)ではなくロジック内の離散信号に応答して動作するので、その応答時間は数マイクロ秒程度になる。また、サーマル・ベースのスロットル・メカニズムの応答時間は数秒程度になる。ディジタル・スロットル130は、この応答時間より持続時間が短い電力消費のピークを制御することはできない。たとえば、注入したバブルによって表されるパフォーマンス損失を最小限にするために、ディジタル・スロットル130は、電力送付システムが許す限り低速で応答する。これは、電力送付システムがこの応答時間より短い間隔についてしきい値レベルを上回るプロセッサの電力消費のピークを処理できなければならないことを意味する。このようなピークの場合、プロセッサの電源コンデンサからエネルギーを供給することができる。
【0041】
ディジタル・スロットル130は、それがプロセッサの電力消費を制御する程度が大きくなるほど効果的なものになるだろう。また、プロセッサの機能ユニットの大部分をカバーするゲート・メカニズムをプロセッサ130が実装する場合にディジタル・スロットル130は最も効果的なものになる。多くのゲート制御手段のディジタル・スロットル130は、しきい値レベルを超えたときに電力消費のレベルを迅速かつ大幅に制御することができる。同様に、機能ユニットをきめ細かく制御すると、ディジタル・スロットル130の効力が増大する。たとえば、プロセッサの実行資源をより多数の機能ユニット124に分割し、これらの機能ユニットを制御するために追加のゲート・ユニットを設けると、スロットル130はプロセッサの電力消費をより強力に制御できるようになる。
【0042】
図5は、プロセッサ内の電力をスロットリングするための本発明による方法500を表す流れ図である。方法500は、まず、510でプロセッサ内のどの機能ユニットがアクティブになっているかを決定する。機能ユニットの状態(アクティブ/非アクティブ)は、たとえば、その機能ユニットに電力を供給するクロック・ゲート回路からの信号によって示すことができる。たとえば、ゲート回路はそれが機能ユニットに電力を供給している場合(アクティブ状態)にその信号をアサートすることができ、それが現在機能ユニットに電力を供給していない場合(非アクティブ状態)にその信号をアサート解除することができる。
【0043】
510でアクティブな機能ユニットが決定されると、520でそのプロセッサの電力レベルを推定する。これは、各ゲート・ユニットが出力する信号にパワー・ウェイトを関連づけ、アサートされた各信号に関連するパワー・ウェイト分だけ推定電力レベルを増分することによって、実施することができる。アサート解除した信号に関連するウェイト付き電力は現行推定電力レベルに寄与しない。
【0044】
530で現行推定電力レベルをしきい電力レベルと比較する。しきい電力レベルは、たとえば、そのレベル以上で長期間の間、プロセッサを動作させてはならない電力レベルを表している。一実施形態の場合、現行推定電力レベルからしきい値を減算し、プロセッサの相対電力レベルの現行推定値、すなわち、累積電力にその結果を加算する。累積電力が正(EPL>しきい値)である場合、540で命令スループットを調整する。累積電力が負(EPL<しきい値)である場合、命令スループットに対する調整を一切行わない。
【0045】
プロセッサの命令スループットはいくつかのメカニズムによって低減することができる。方法500の一実施形態の場合、クロック・サイクルのうち、プロセッサの機能ユニットがアクティブになっている部分を低減するために、命令実行パイプラインにバブルを注入することができる。たとえば、プロセッサ・クロックの選択したサイクルでのみ命令を発行するよう発行ユニットをトリガすることによってバブルを導入することができる。本発明の他の実施形態の場合、プロセッサのクロックが動作する周波数を低減することができる。
【0046】
本発明の利点の1つは、プロセッサ・パイプラインの実行資源がパイプラインの機能ユニットにおける活動のレベルに応じて調整されることである。電力消費を推定するためのサーマル・ベースまたは電流ベースの技法とは異なり、ディジタル・スロットルが監視する機能ユニットの活動は、プロセッサ内の個々のパイプラインに特有のものである。その結果、特定のユニットに活動および電力消費を割り当てる際の特異性は、単一のプロセッサ・チップ上で複数の実行コアを実施するプロセッサで特に有用である。この場合、「実行コア」とは、完全なプロセッサに関連する実行資源を指すので、複数実行コア・プロセッサは単一チップ上で複数のプロセッサを効果的に実施する。本発明のディジタル・スロットルにより、多大な電力を必要とするコード・セグメントを処理する実行コアは、総電力消費量がしきい値レベルを超えない限り、残りの実行コア(複数も可)から電力を効果的に借りることができる。別法として、その命令実行パイプライン内の活動に応じて、各実行コアをスロットリングすることができる。
【0047】
図6Aは、本発明が実施される複数実行コア・プロセッサ610の一実施形態を示すブロック・レベル図である。プロセッサ610は実行コア620(a)〜620(n)(総称して実行コア(複数も可)630)を含む。各実行コア620は、実行パイプライン640を形成する機能ユニット630を含む。共用ディジタル・スロットル650は、すべてのパイプライン640の機能ユニット630内の活動を監視して調整する。プロセッサ110のこの実施形態により、各実行コア620は、総電力しきい値を超えない限り、残りの実行コアから電力を借りることができる。
【0048】
図6Bは、本発明が実施される複数実行コア・プロセッサ660の他の実施形態を示すブロック・レベル図である。プロセッサ660は実行コア620(a)〜620(n)(総称して実行コア(複数も可)630)を含み、そのそれぞれは、実行パイプライン640を形成する機能ユニット630を含む。各実行コア630は、その機能ユニット630内の活動を監視して調整するためのディジタル・スロットル650も含む。プロセッサ110のこの実施形態により、各実行コア620は、それに関連するディジタル・スロットル630によって独立してスロットリングすることができる。
【0049】
したがって、プロセッサの機能ユニットの活動状態に応じてプロセッサ内の電力消費を制御するディジタル・スロットルが提供されている。命令実行中に活動状態を監視し、活動状態から推定した電力消費レベルに応じて実行速度を調整する。推定電力消費に応答して命令実行ストリーム内に「バブル」またはNOPを注入することにより、電力消費を制御することができる。
【0050】
本発明の一実施形態の場合、各機能ユニットにパワー・ユニットを割り当て、アクティブになっている各機能ユニットのパワー・ウェイトを合計することによりプロセッサの電力消費を推定する。推定電力消費量がしきい値を超えると、ディジタル・スロットルは、プロセッサが命令を実行する速度を低減する。プロセッサの設計またはテスト段階での較正手順によって様々な機能ユニットのパワー・ウェイトを決定することができる。また、ディジタル・スロットルは、自己較正手順を実施するための回路も含むことができる。
【0051】
開示した実施形態は、本発明の様々な特徴を例示するために提供されている。この開示内容の恩恵を受けるプロセッサ設計の当業者であれば、開示した実施形態の変形および変更を認識できるだろうが、それにもかかわらず、その変形および変更は特許請求の範囲の精神および範囲に含まれるものである。
【図面の簡単な説明】
【図1】 本発明を実施することができるコンピュータ・システムの一実施形態を示すブロック図である。
【図2】 本発明によるディジタル・パワー・スロットルを実現するプロセッサの一実施形態を示すブロック図である。
【図3】 図2のプロセッサによって実現されるディジタル・パワー・スロットルの一実施形態を示すブロック図である。
【図4】 図3のスロットル回路の一実施形態を表す概略図である。
【図5】 プロセッサの電力消費を調整するための本発明による方法を表す流れ図である。
【図6A】 本発明によるディジタル・スロットルを実現する複数実行コア・プロセッサの実施形態を表すブロック図である。
【図6B】 本発明によるディジタル・スロットルを実現する複数実行コア・プロセッサの実施形態を表すブロック図である。
Claims (12)
- プロセッサ用の命令実行パイプラインを形成する複数の機能ユニットと、
前記命令実行パイプラインへ命令を送付する命令送付システムと、
前記複数の機能ユニットのそれぞれに対する電力の供給/遮断を制御し、前記複数の機能ユニットに電力が供給されているか否かを示す信号を出力する複数のゲート回路と、
各機能ユニットの消費電力の重み値を使用し、電力が供給された機能ユニットの各消費電力の重み値を累積して推定電力消費レベルを決定し、前記推定電力消費レベルをしきい電力消費レベルと比較する監視回路と、
プロセッサのクロックの所定周期において、前記推定電力消費レベルが前記しきい電力消費レベルを超えた場合に、プロセッサ内の命令実行速度を調整するスロットル回路と、
から構成されることを特徴とするプロセッサ。 - 各ゲート回路は複数の機能ユニットのうちの対応する1つの機能ユニットへの電力送付を制御することを特徴とする請求項1に記載のプロセッサ。
- スロットル回路は前記命令実行パイプラインにバブルを注入して、プロセッサ内の前記命令実行速度を調整することを特徴とする請求項2に記載のプロセッサ。
- スロットル回路は、ゲート回路によって出力されるクロックのデューティ・サイクルを低減して、プロセッサ内の前記命令実行速度を調整することを特徴とする請求項1に記載のプロセッサ。
- プロセッサ内の電力消費を制御する方法であって、
該プロセッサは、複数の機能ユニットにより形成される命令実行パイプラインを有し、命令送付システムからの命令を前記命令実行パイプラインへ提供して実行するものであり、
該プロセッサにおいて、
前記複数の機能ユニットのそれぞれに対する電力供給/遮断を制御するように構成されたプロセッサ内の複数のゲート回路から、電力信号を収集するステップであって、前記電力信号は、前記複数の機能ユニットに現在電力が供給されているか否かを示すものである、ステップと、
収集した前記電力信号に基づいて、電力が供給された機能ユニットについての電力消費の重み値を累積して推定電力消費レベルを決定するステップと、
前記推定電力消費レベルをしきい電力消費レベルと比較するステップと、
プロセッサのクロックの所定周期において、前記推定電力消費レベルがしきい電力消費レベルを超えるときにプロセッサによる命令実行速度を調整するステップとから構成される方法。 - 各ゲート回路は、それに関連する機能ユニットに出力されたクロック信号を制御することを特徴とする請求項5に記載の電力消費を制御する方法。
- 前記命令実行速度を調整するステップは、ゲート回路によって出力されたクロック信号を特徴づけるデューティ・サイクルを調整するステップを有することを特徴とする請求項6記載の電力消費を制御する方法。
- 前記請求項1ないし2に記載されたプロセッサと、
前記プロセッサにより実行する命令を記憶するメモリ・システムとからなるコンピュータ・システム。 - プロセッサ用の命令実行パイプラインを形成する複数の機能ユニットと、
前記命令実行パイプラインへ命令を送付する命令送付システムと、
複数のゲート・ユニットであって、各ゲート・ユニットは関連する前記複数の機能ユニットのうち一つへの電力供給/遮断を制御し、関連機能ユニットの活動状態即ち電力が供給されているか否かを示す信号を出力するゲート・ユニットと、
前記複数の機能ユニットの示された前記活動状態に基づいて、電力が供給された機能ユニットの各電力消費の重み値を累積してプロセッサの推定電力消費レベルを決定する監視ユニットと、
プロセッサのクロックの所定周期において、前記推定電力消費レベルが前記しきい電力消費レベルを超えた場合に、プロセッサ内の命令実行速度を調整するスロットル回路とから構成されることを特徴とするプロセッサ。 - 監視回路が推定電力消費レベルを前記しきい電力消費レベルと比較し、比較の表示を行う請求項9に記載のプロセッサ。
- 前記機能ユニットは命令実行パイプラインを形成し、前記プロセッサは、命令実行パイプライン内の命令のタイプに応じて1つまたは複数の機能ユニットの活動状態を示すパイプライン制御モジュールをさらに有することを特徴とする請求項9に記載のプロセッサ。
- 前記スロットル回路は、1つまたは複数の機能ユニットの各々に関連するゲート・ユニットを備え、各ゲート・ユニットは前記機能ユニットに表示された活動状態に応じて、関連の機能ユニットへの電力を制御する請求項9に記載のプロセッサ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/471,795 US6564328B1 (en) | 1999-12-23 | 1999-12-23 | Microprocessor with digital power throttle |
US09/471,795 | 1999-12-23 | ||
PCT/US2000/031930 WO2001048584A1 (en) | 1999-12-23 | 2000-11-21 | Microprocessor with digital power throttle |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012130447A Division JP5650689B2 (ja) | 1999-12-23 | 2012-06-08 | ディジタル・パワー・スロットルを備えたマイクロプロセッサ |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003523563A JP2003523563A (ja) | 2003-08-05 |
JP2003523563A5 JP2003523563A5 (ja) | 2009-11-12 |
JP5073903B2 true JP5073903B2 (ja) | 2012-11-14 |
Family
ID=23873030
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001549170A Expired - Fee Related JP5073903B2 (ja) | 1999-12-23 | 2000-11-21 | ディジタル・パワー・スロットルを備えたマイクロプロセッサ |
JP2012130447A Expired - Fee Related JP5650689B2 (ja) | 1999-12-23 | 2012-06-08 | ディジタル・パワー・スロットルを備えたマイクロプロセッサ |
JP2014002324A Expired - Fee Related JP6042830B2 (ja) | 1999-12-23 | 2014-01-09 | プロセッサおよびプロセッサ内の電力消費を推定する方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012130447A Expired - Fee Related JP5650689B2 (ja) | 1999-12-23 | 2012-06-08 | ディジタル・パワー・スロットルを備えたマイクロプロセッサ |
JP2014002324A Expired - Fee Related JP6042830B2 (ja) | 1999-12-23 | 2014-01-09 | プロセッサおよびプロセッサ内の電力消費を推定する方法 |
Country Status (12)
Country | Link |
---|---|
US (1) | US6564328B1 (ja) |
EP (1) | EP1259870B1 (ja) |
JP (3) | JP5073903B2 (ja) |
KR (1) | KR100511110B1 (ja) |
CN (2) | CN100492252C (ja) |
AT (1) | ATE460698T1 (ja) |
AU (1) | AU1626601A (ja) |
DE (1) | DE60043996D1 (ja) |
GB (1) | GB2373896C (ja) |
HK (1) | HK1046561B (ja) |
TW (1) | TW512261B (ja) |
WO (1) | WO2001048584A1 (ja) |
Families Citing this family (193)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100361340B1 (ko) * | 2000-05-15 | 2002-12-05 | 엘지전자 주식회사 | 씨피유 클럭 제어 방법 |
US6968469B1 (en) | 2000-06-16 | 2005-11-22 | Transmeta Corporation | System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored |
KR100613201B1 (ko) * | 2000-08-28 | 2006-08-18 | 마이크로코넥트 엘엘씨 | 씨피유 사용량 측정 방법 |
KR100487543B1 (ko) * | 2000-09-01 | 2005-05-03 | 엘지전자 주식회사 | 시피유 스케쥴링 방법 |
US7620832B2 (en) * | 2000-09-20 | 2009-11-17 | Mips Technologies, Inc. | Method and apparatus for masking a microprocessor execution signature |
US6625737B1 (en) * | 2000-09-20 | 2003-09-23 | Mips Technologies Inc. | System for prediction and control of power consumption in digital system |
US6704876B1 (en) * | 2000-09-26 | 2004-03-09 | Sun Microsystems, Inc. | Microprocessor speed control mechanism using power dissipation estimation based on the instruction data path |
US7174194B2 (en) * | 2000-10-24 | 2007-02-06 | Texas Instruments Incorporated | Temperature field controlled scheduling for processing systems |
US6895520B1 (en) * | 2001-03-02 | 2005-05-17 | Advanced Micro Devices, Inc. | Performance and power optimization via block oriented performance measurement and control |
US7233998B2 (en) * | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
US6526491B2 (en) * | 2001-03-22 | 2003-02-25 | Sony Corporation Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
US7516334B2 (en) * | 2001-03-22 | 2009-04-07 | Sony Computer Entertainment Inc. | Power management for processing modules |
US7231500B2 (en) * | 2001-03-22 | 2007-06-12 | Sony Computer Entertainment Inc. | External data interface in a computer architecture for broadband networks |
JP2002366351A (ja) * | 2001-06-06 | 2002-12-20 | Nec Corp | スーパースカラ・プロセッサ |
US7000138B1 (en) * | 2001-06-07 | 2006-02-14 | Cirrus Logic, Inc | Circuits and methods for power management in a processor-based system and systems using the same |
US6907534B2 (en) * | 2001-06-29 | 2005-06-14 | Hewlett-Packard Development Company, L.P. | Minimizing power consumption in pipelined circuit by shutting down pipelined circuit in response to predetermined period of time having expired |
KR100390645B1 (ko) * | 2001-07-27 | 2003-07-07 | 삼성전자주식회사 | 이동통신단말기 시스템에서 소모전류를 줄이기 위한 방법 |
US7111178B2 (en) * | 2001-09-28 | 2006-09-19 | Intel Corporation | Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system |
US6859886B1 (en) | 2001-10-02 | 2005-02-22 | Lsi Logic Corporation | IO based embedded processor clock speed control |
US6834353B2 (en) * | 2001-10-22 | 2004-12-21 | International Business Machines Corporation | Method and apparatus for reducing power consumption of a processing integrated circuit |
US6892312B1 (en) * | 2001-10-30 | 2005-05-10 | Lsi Logic Corporation | Power monitoring and reduction for embedded IO processors |
GB2366891B (en) | 2001-12-06 | 2002-11-20 | Appsense Ltd | Improvements in and relating to computer apparatus terminal server apparatus & performance management methods therefor |
US7035785B2 (en) * | 2001-12-28 | 2006-04-25 | Intel Corporation | Mechanism for estimating and controlling di/dt-induced power supply voltage variations |
GB2412972B (en) * | 2001-12-28 | 2006-01-04 | Intel Corp | Mechanism for estimating and controlling di/dt-induced power supply voltage variations |
US7096145B2 (en) * | 2002-01-02 | 2006-08-22 | Intel Corporation | Deterministic power-estimation for thermal control |
US7137013B2 (en) | 2002-01-07 | 2006-11-14 | International Business Machines Corporation | Method and apparatus for dynamic power management in an execution unit using pipeline wave flow control |
US7191350B2 (en) * | 2002-01-30 | 2007-03-13 | Matsushita Electric Industrial Co., Ltd. | Instruction conversion apparatus and instruction conversion method providing power control information, program and circuit for implementing the instruction conversion, and microprocessor for executing the converted instruction |
TW567408B (en) * | 2002-03-29 | 2003-12-21 | Uniwill Comp Corp | Apparatus and method for controlling power and clock speed of electronic system |
DE10221529A1 (de) * | 2002-05-14 | 2003-12-04 | Systemonic Ag | Verfahren zum gesteuerten Abschalten von Datenverarbeitungseinheiten |
US6908227B2 (en) * | 2002-08-23 | 2005-06-21 | Intel Corporation | Apparatus for thermal management of multiple core microprocessors |
US7062394B2 (en) * | 2002-09-20 | 2006-06-13 | Intel Corporation | Performance characterization using effective processor frequency |
US20040064745A1 (en) * | 2002-09-26 | 2004-04-01 | Sudarshan Kadambi | Method and apparatus for controlling the rate at which instructions are executed by a microprocessor system |
US7152169B2 (en) * | 2002-11-29 | 2006-12-19 | Intel Corporation | Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state |
US7219241B2 (en) * | 2002-11-30 | 2007-05-15 | Intel Corporation | Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode |
US7120804B2 (en) | 2002-12-23 | 2006-10-10 | Intel Corporation | Method and apparatus for reducing power consumption through dynamic control of supply voltage and body bias including maintaining a substantially constant operating frequency |
US7278040B2 (en) * | 2003-03-21 | 2007-10-02 | Via Technologies, Inc. | Mechanism for providing measured power management transitions in a microprocessor |
JP2007502477A (ja) * | 2003-05-27 | 2007-02-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 電力消費のモニタおよび制御 |
US7251737B2 (en) * | 2003-10-31 | 2007-07-31 | Sandbridge Technologies, Inc. | Convergence device with dynamic program throttling that replaces noncritical programs with alternate capacity programs based on power indicator |
US7034556B1 (en) * | 2003-11-05 | 2006-04-25 | Lockheed Martin Corporation | Pulsed thermal monitor |
US7287173B2 (en) * | 2003-12-19 | 2007-10-23 | Intel Corporation | Method for computing power consumption levels of instruction and recompiling the program to reduce the excess power consumption |
TWI276950B (en) * | 2004-02-12 | 2007-03-21 | Intervideo Digital Technology | Computer power management architecture and method thereof |
US20050228967A1 (en) * | 2004-03-16 | 2005-10-13 | Sony Computer Entertainment Inc. | Methods and apparatus for reducing power dissipation in a multi-processor system |
JP3830491B2 (ja) * | 2004-03-29 | 2006-10-04 | 株式会社ソニー・コンピュータエンタテインメント | プロセッサ、マルチプロセッサシステム、プロセッサシステム、情報処理装置および温度制御方法 |
US7360102B2 (en) * | 2004-03-29 | 2008-04-15 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processor manipulation |
US8224639B2 (en) | 2004-03-29 | 2012-07-17 | Sony Computer Entertainment Inc. | Methods and apparatus for achieving thermal management using processing task scheduling |
US7401206B2 (en) * | 2004-06-30 | 2008-07-15 | Sun Microsystems, Inc. | Apparatus and method for fine-grained multithreading in a multipipelined processor core |
US8095778B1 (en) | 2004-06-30 | 2012-01-10 | Open Computing Trust I & II | Method and system for sharing functional units of a multithreaded processor |
US7861063B1 (en) | 2004-06-30 | 2010-12-28 | Oracle America, Inc. | Delay slot handling in a processor |
US7353364B1 (en) | 2004-06-30 | 2008-04-01 | Sun Microsystems, Inc. | Apparatus and method for sharing a functional unit execution resource among a plurality of functional units |
US7533248B1 (en) | 2004-06-30 | 2009-05-12 | Sun Microsystems, Inc. | Multithreaded processor including a functional unit shared between multiple requestors and arbitration therefor |
US7426630B1 (en) | 2004-06-30 | 2008-09-16 | Sun Microsystems, Inc. | Arbitration of window swap operations |
US7941642B1 (en) | 2004-06-30 | 2011-05-10 | Oracle America, Inc. | Method for selecting between divide instructions associated with respective threads in a multi-threaded processor |
US7890734B2 (en) * | 2004-06-30 | 2011-02-15 | Open Computing Trust I & II | Mechanism for selecting instructions for execution in a multithreaded processor |
US7330988B2 (en) * | 2004-06-30 | 2008-02-12 | Sun Microsystems, Inc. | Method and apparatus for power throttling in a multi-thread processor |
US8225034B1 (en) | 2004-06-30 | 2012-07-17 | Oracle America, Inc. | Hybrid instruction buffer |
US7434000B1 (en) | 2004-06-30 | 2008-10-07 | Sun Microsystems, Inc. | Handling duplicate cache misses in a multithreaded/multi-core processor |
US7178005B1 (en) | 2004-06-30 | 2007-02-13 | Sun Microsystems, Inc. | Efficient implementation of timers in a multithreaded processor |
US7523330B2 (en) * | 2004-06-30 | 2009-04-21 | Sun Microsystems, Inc. | Thread-based clock enabling in a multi-threaded processor |
US7437538B1 (en) | 2004-06-30 | 2008-10-14 | Sun Microsystems, Inc. | Apparatus and method for reducing execution latency of floating point operations having special case operands |
US7676655B2 (en) * | 2004-06-30 | 2010-03-09 | Sun Microsystems, Inc. | Single bit control of threads in a multithreaded multicore processor |
US7478225B1 (en) | 2004-06-30 | 2009-01-13 | Sun Microsystems, Inc. | Apparatus and method to support pipelining of differing-latency instructions in a multithreaded processor |
US7216216B1 (en) | 2004-06-30 | 2007-05-08 | Sun Microsystems, Inc. | Register window management using first pipeline to change current window and second pipeline to read operand from old window and write operand to new window |
US7185178B1 (en) | 2004-06-30 | 2007-02-27 | Sun Microsystems, Inc. | Fetch speculation in a multithreaded processor |
US7343474B1 (en) | 2004-06-30 | 2008-03-11 | Sun Microsystems, Inc. | Minimal address state in a fine grain multithreaded processor |
US7747771B1 (en) | 2004-06-30 | 2010-06-29 | Oracle America, Inc. | Register access protocol in a multihreaded multi-core processor |
US7373489B1 (en) | 2004-06-30 | 2008-05-13 | Sun Microsystems, Inc. | Apparatus and method for floating-point exception prediction and recovery |
US7702887B1 (en) | 2004-06-30 | 2010-04-20 | Sun Microsystems, Inc. | Performance instrumentation in a fine grain multithreaded multicore processor |
US7774393B1 (en) | 2004-06-30 | 2010-08-10 | Oracle America, Inc. | Apparatus and method for integer to floating-point format conversion |
US7370243B1 (en) | 2004-06-30 | 2008-05-06 | Sun Microsystems, Inc. | Precise error handling in a fine grain multithreaded multicore processor |
US7383403B1 (en) | 2004-06-30 | 2008-06-03 | Sun Microsystems, Inc. | Concurrent bypass to instruction buffers in a fine grain multithreaded processor |
US8190863B2 (en) * | 2004-07-02 | 2012-05-29 | Intel Corporation | Apparatus and method for heterogeneous chip multiprocessors via resource allocation and restriction |
US7966511B2 (en) * | 2004-07-27 | 2011-06-21 | Intel Corporation | Power management coordination in multi-core processors |
JP2006059068A (ja) * | 2004-08-19 | 2006-03-02 | Matsushita Electric Ind Co Ltd | プロセッサ装置 |
US7437581B2 (en) * | 2004-09-28 | 2008-10-14 | Intel Corporation | Method and apparatus for varying energy per instruction according to the amount of available parallelism |
US7430672B2 (en) * | 2004-10-27 | 2008-09-30 | Intel Corporation | Method and apparatus to monitor power consumption of processor |
US8037250B1 (en) | 2004-12-09 | 2011-10-11 | Oracle America, Inc. | Arbitrating cache misses in a multithreaded/multi-core processor |
US7466316B1 (en) | 2004-12-14 | 2008-12-16 | Nvidia Corporation | Apparatus, system, and method for distributing work to integrated heterogeneous processors |
US7898545B1 (en) * | 2004-12-14 | 2011-03-01 | Nvidia Corporation | Apparatus, system, and method for integrated heterogeneous processors |
US8074057B2 (en) | 2005-03-08 | 2011-12-06 | Hewlett-Packard Development Company, L.P. | Systems and methods for controlling instruction throughput |
US7600135B2 (en) * | 2005-04-14 | 2009-10-06 | Mips Technologies, Inc. | Apparatus and method for software specified power management performance using low power virtual threads |
US20060248355A1 (en) * | 2005-04-27 | 2006-11-02 | Thayer Larry J | Power throttling system and method for a memory controller |
US7467311B2 (en) * | 2005-06-09 | 2008-12-16 | International Business Machines Corporation | Distributed system and method for managing power usage among server data processing systems |
US7421599B2 (en) * | 2005-06-09 | 2008-09-02 | International Business Machines Corporation | Power management server and method for managing power consumption |
US7664968B2 (en) * | 2005-06-09 | 2010-02-16 | International Business Machines Corporation | System and method for managing power usage of a data processing system subsystem |
US7509506B2 (en) | 2005-06-09 | 2009-03-24 | International Business Machines Corporation | Hierarchical system and method for managing power usage among server data processing systems |
US7386743B2 (en) | 2005-06-09 | 2008-06-10 | International Business Machines Corporation | Power-managed server and method for managing power consumption |
US7444526B2 (en) * | 2005-06-16 | 2008-10-28 | International Business Machines Corporation | Performance conserving method for reducing power consumption in a server system |
US20070005152A1 (en) * | 2005-06-30 | 2007-01-04 | Ben Karr | Method and apparatus for monitoring power in integrated circuits |
US7159082B1 (en) | 2005-10-03 | 2007-01-02 | Hewlett-Packard Development Company, L.P. | System and method for throttling memory accesses |
US7472292B2 (en) * | 2005-10-03 | 2008-12-30 | Hewlett-Packard Development Company, L.P. | System and method for throttling memory power consumption based on status of cover switch of a computer system |
US20070085583A1 (en) * | 2005-10-18 | 2007-04-19 | Envision Technology, Inc. | System for and method of automatically reducing power to a semiconductor device |
US7698089B2 (en) * | 2005-11-29 | 2010-04-13 | International Business Machines Corporation | Generation of software thermal profiles executed on a set of processors using processor activity |
US7480586B2 (en) * | 2005-11-29 | 2009-01-20 | International Business Machines Corporation | Thermal interrupt generation |
US7395174B2 (en) * | 2005-11-29 | 2008-07-01 | International Business Machines Corporation | Generation of software thermal profiles executed on a set of processors using thermal sampling |
US7681053B2 (en) | 2005-11-29 | 2010-03-16 | International Business Machines Corporation | Thermal throttle control with minimal impact to interrupt latency |
US20070124618A1 (en) * | 2005-11-29 | 2007-05-31 | Aguilar Maximino Jr | Optimizing power and performance using software and hardware thermal profiles |
US7848901B2 (en) * | 2005-11-29 | 2010-12-07 | International Business Machines Corporation | Tracing thermal data via performance monitoring |
US7512513B2 (en) * | 2005-11-29 | 2009-03-31 | International Business Machines Corporation | Thermal throttling control for testing of real-time software |
US7721128B2 (en) * | 2005-11-29 | 2010-05-18 | International Business Machines Corporation | Implementation of thermal throttling logic |
US7603576B2 (en) * | 2005-11-29 | 2009-10-13 | International Business Machines Corporation | Hysteresis in thermal throttling |
US7376532B2 (en) * | 2005-11-29 | 2008-05-20 | International Business Machines Corporation | Maximal temperature logging |
US7490017B2 (en) * | 2005-11-29 | 2009-02-10 | International Business Machines Corporation | Analytical generation of software thermal profiles |
US7512530B2 (en) * | 2005-11-29 | 2009-03-31 | International Business Machines Corporation | Generation of software thermal profiles for applications in a simulated environment |
US7386414B2 (en) * | 2005-11-29 | 2008-06-10 | International Business Machines Corporation | Generation of hardware thermal profiles for a set of processors |
US7460932B2 (en) | 2005-11-29 | 2008-12-02 | International Business Machines Corporation | Support of deep power savings mode and partial good in a thermal management system |
US7650517B2 (en) * | 2005-12-19 | 2010-01-19 | International Business Machines Corporation | Throttle management for blade system |
US8108863B2 (en) | 2005-12-30 | 2012-01-31 | Intel Corporation | Load balancing for multi-threaded applications via asymmetric power throttling |
US7349828B1 (en) * | 2006-02-15 | 2008-03-25 | Hewlett-Packard Development Company, L.P. | Estimating an electronic device condition |
US7552346B2 (en) * | 2006-05-03 | 2009-06-23 | International Business Machines Corporation | Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index |
US7596430B2 (en) * | 2006-05-03 | 2009-09-29 | International Business Machines Corporation | Selection of processor cores for optimal thermal performance |
US8037893B2 (en) * | 2006-05-03 | 2011-10-18 | International Business Machines Corporation | Optimizing thermal performance using thermal flow analysis |
US7669071B2 (en) * | 2006-05-05 | 2010-02-23 | Dell Products L.P. | Power allocation management in an information handling system |
US7584369B2 (en) * | 2006-07-26 | 2009-09-01 | International Business Machines Corporation | Method and apparatus for monitoring and controlling heat generation in a multi-core processor |
US7617403B2 (en) * | 2006-07-26 | 2009-11-10 | International Business Machines Corporation | Method and apparatus for controlling heat generation in a multi-core processor |
US8214660B2 (en) * | 2006-07-26 | 2012-07-03 | International Business Machines Corporation | Structure for an apparatus for monitoring and controlling heat generation in a multi-core processor |
KR100770703B1 (ko) * | 2006-08-30 | 2007-10-29 | 삼성전자주식회사 | 메모리 시스템의 전력 쓰로틀링 방법 및 메모리 시스템 |
US8060765B1 (en) * | 2006-11-02 | 2011-11-15 | Nvidia Corporation | Power estimation based on block activity |
US7757103B2 (en) * | 2006-12-20 | 2010-07-13 | Intel Corporation | Method and apparatus to estimate energy consumed by central processing unit core |
US7793125B2 (en) * | 2007-01-10 | 2010-09-07 | International Business Machines Corporation | Method and apparatus for power throttling a processor in an information handling system |
US7779276B2 (en) * | 2007-03-05 | 2010-08-17 | International Business Machines Corporation | Power management in a power-constrained processing system |
NZ553984A (en) * | 2007-03-19 | 2009-07-31 | Lanzatech New Zealand Ltd | Alcohol production process |
US7627742B2 (en) * | 2007-04-10 | 2009-12-01 | International Business Machines Corporation | Method and apparatus for conserving power by throttling instruction fetching when a processor encounters low confidence branches in an information handling system |
US8069354B2 (en) | 2007-08-14 | 2011-11-29 | Mips Technologies, Inc. | Power management for system having one or more integrated circuits |
US8027798B2 (en) * | 2007-11-08 | 2011-09-27 | International Business Machines Corporation | Digital thermal sensor test implementation without using main core voltage supply |
US7551508B2 (en) * | 2007-11-16 | 2009-06-23 | International Business Machines Corporation | Energy efficient storage device using per-element selectable power supply voltages |
JP2009130036A (ja) * | 2007-11-21 | 2009-06-11 | Toshiba Corp | 半導体装置 |
US8006070B2 (en) * | 2007-12-05 | 2011-08-23 | International Business Machines Corporation | Method and apparatus for inhibiting fetch throttling when a processor encounters a low confidence branch instruction in an information handling system |
US7925853B2 (en) * | 2008-01-04 | 2011-04-12 | International Business Machines Corporation | Method and apparatus for controlling memory array gating when a processor executes a low confidence branch instruction in an information handling system |
US8255669B2 (en) * | 2008-01-30 | 2012-08-28 | International Business Machines Corporation | Method and apparatus for thread priority control in a multi-threaded processor based upon branch issue information including branch confidence information |
EP2260363A1 (en) * | 2008-02-25 | 2010-12-15 | ST-Ericsson SA | Data processing device with adjustable performance level and method of operating such device |
US8010824B2 (en) * | 2008-04-11 | 2011-08-30 | Advanced Micro Devices , Inc. | Sampling chip activity for real time power estimation |
GB2461292B (en) * | 2008-06-26 | 2012-02-08 | Tantallon Systems Ltd | Systems and methods for energy management |
US7884499B2 (en) | 2008-06-30 | 2011-02-08 | Intel Corporation | Intervention of independent self-regulation of power consumption devices |
US8024719B2 (en) | 2008-11-03 | 2011-09-20 | Advanced Micro Devices, Inc. | Bounded hash table sorting in a dynamic program profiling system |
US20100115494A1 (en) * | 2008-11-03 | 2010-05-06 | Gorton Jr Richard C | System for dynamic program profiling |
US8478948B2 (en) * | 2008-12-04 | 2013-07-02 | Oracle America, Inc. | Method and system for efficient tracing and profiling of memory accesses during program execution |
US8219831B2 (en) * | 2009-01-28 | 2012-07-10 | Oracle America, Inc. | Reducing temperature and power by instruction throttling at decode stage of processor pipeline in time constant duration steps |
WO2011074059A1 (ja) * | 2009-12-14 | 2011-06-23 | 富士通株式会社 | 演算処理装置、情報処理装置及びその制御方法 |
US8856564B2 (en) * | 2009-12-18 | 2014-10-07 | Intel Corporation | Method and apparatus for power profile shaping using time-interleaved voltage modulation |
US8805590B2 (en) * | 2009-12-24 | 2014-08-12 | International Business Machines Corporation | Fan speed control of rack devices where sum of device airflows is greater than maximum airflow of rack |
US8356194B2 (en) | 2010-01-28 | 2013-01-15 | Cavium, Inc. | Method and apparatus for estimating overshoot power after estimating power of executing events |
US8429441B2 (en) | 2010-04-19 | 2013-04-23 | International Business Machines Corporation | Operating processor below maximum turbo mode frequency by sending higher than actual current amount signal to monitor |
US8442786B2 (en) | 2010-06-02 | 2013-05-14 | Advanced Micro Devices, Inc. | Flexible power reporting in a computing system |
US8484593B2 (en) | 2010-07-19 | 2013-07-09 | Advanced Micro Devices | Method of determining event based energy weights for digital power estimation |
US9092219B2 (en) | 2010-11-02 | 2015-07-28 | Advanced Micro Devices, Inc. | Method and system of sampling to automatically scale digital power estimates with frequency |
US8756442B2 (en) | 2010-12-16 | 2014-06-17 | Advanced Micro Devices, Inc. | System for processor power limit management |
US9069555B2 (en) * | 2011-03-21 | 2015-06-30 | Intel Corporation | Managing power consumption in a multi-core processor |
US9047067B2 (en) * | 2011-04-22 | 2015-06-02 | Qualcomm Incorporated | Sensorless detection and management of thermal loading in a multi-processor wireless device |
CN102347767B (zh) * | 2011-06-09 | 2014-01-08 | 东南大学 | 数模混合模式时钟占空比校准电路 |
US9009451B2 (en) * | 2011-10-31 | 2015-04-14 | Apple Inc. | Instruction type issue throttling upon reaching threshold by adjusting counter increment amount for issued cycle and decrement amount for not issued cycle |
US8862924B2 (en) * | 2011-11-15 | 2014-10-14 | Advanced Micro Devices, Inc. | Processor with power control via instruction issuance |
CN102411492B (zh) * | 2011-11-25 | 2014-04-23 | 北京创毅视讯科技有限公司 | 一种数据处理的方法和装置 |
US9134788B2 (en) * | 2011-12-29 | 2015-09-15 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including detecting and controlling current ramps in processing circuit |
WO2013147801A1 (en) * | 2012-03-29 | 2013-10-03 | Intel Corporation | Dynamic power limit sharing in a platform |
CN104204825B (zh) * | 2012-03-30 | 2017-06-27 | 英特尔公司 | 动态测量处理器中的功耗 |
US8984307B2 (en) * | 2012-05-21 | 2015-03-17 | Qualcomm Incorporated | System and method for dynamic battery current load management in a portable computing device |
US9229524B2 (en) | 2012-06-27 | 2016-01-05 | Intel Corporation | Performing local power gating in a processor |
US9846463B2 (en) * | 2012-09-28 | 2017-12-19 | Intel Corporation | Computing system and processor with fast power surge detection and instruction throttle down to provide for low cost power supply unit |
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 |
EP2849024A1 (en) | 2013-09-16 | 2015-03-18 | ST-Ericsson SA | Power consumption management system and method |
JP6197873B2 (ja) * | 2013-09-20 | 2017-09-20 | 富士通株式会社 | 情報処理システム、管理装置、情報処理方法及びプログラム |
US9671844B2 (en) | 2013-09-26 | 2017-06-06 | Cavium, Inc. | Method and apparatus for managing global chip power on a multicore system on chip |
US9696999B2 (en) * | 2013-12-17 | 2017-07-04 | Intel Corporation | Local closed loop efficiency control using IP metrics |
US9606605B2 (en) * | 2014-03-07 | 2017-03-28 | Apple Inc. | Dynamic voltage margin recovery |
US10108454B2 (en) * | 2014-03-21 | 2018-10-23 | Intel Corporation | Managing dynamic capacitance using code scheduling |
US9507405B2 (en) * | 2014-06-18 | 2016-11-29 | Oracle International Corporation | System and method for managing power in a chip multiprocessor using a proportional feedback mechanism |
GB2530782A (en) * | 2014-10-02 | 2016-04-06 | Ibm | Voltage droop reduction in a processor |
CN104317557B (zh) * | 2014-10-27 | 2017-01-18 | 杭州中天微系统有限公司 | 基于流水线轮动的低峰值功耗嵌入式处理器 |
US9658634B2 (en) * | 2015-03-30 | 2017-05-23 | Apple Inc. | Under voltage detection and performance throttling |
US10073659B2 (en) * | 2015-06-26 | 2018-09-11 | Intel Corporation | Power management circuit with per activity weighting and multiple throttle down thresholds |
US9779058B2 (en) * | 2015-07-13 | 2017-10-03 | Google Inc. | Modulating processsor core operations |
US10255231B1 (en) * | 2015-07-31 | 2019-04-09 | Marvell International Ltd. | Apparatus and methods for managing aggregate integrated circuit (IC) current demand |
GB2544721B (en) * | 2015-10-15 | 2019-03-06 | Arm Ip Ltd | Detecting undesired energy consumption in electronic devices |
US9874917B2 (en) | 2016-01-04 | 2018-01-23 | International Business Machines Corporation | Adaptive power capping in a chip |
US9971390B1 (en) | 2016-01-05 | 2018-05-15 | Apple Inc. | Processor energy consumption rate limiting system |
US10706101B2 (en) | 2016-04-14 | 2020-07-07 | Advanced Micro Devices, Inc. | Bucketized hash tables with remap entries |
US10255462B2 (en) | 2016-06-17 | 2019-04-09 | Arm Limited | Apparatus and method for obfuscating power consumption of a processor |
US10496409B2 (en) | 2016-11-22 | 2019-12-03 | The Arizona Board Of Regents | Method and system for managing control of instruction and process execution in a programmable computing system |
US10969858B2 (en) * | 2019-01-03 | 2021-04-06 | Apple Inc. | Operation processing controlled according to difference in current consumption |
US10955906B2 (en) * | 2019-02-07 | 2021-03-23 | International Business Machines Corporation | Multi-layered processor throttle controller |
US11054882B2 (en) | 2019-02-21 | 2021-07-06 | Apple Inc. | Externally-triggered throttling |
US10948957B1 (en) | 2019-09-26 | 2021-03-16 | Apple Inc. | Adaptive on-chip digital power estimator |
US11586272B2 (en) * | 2019-09-27 | 2023-02-21 | Qualcomm Incorporated | Power control based on performance modification through pulse modulation |
US11057727B2 (en) * | 2019-10-18 | 2021-07-06 | Cirrus Logic, Inc. | Dynamic power/current allocation among groups of audio amplifiers and/or haptic drivers |
WO2021114155A1 (zh) * | 2019-12-11 | 2021-06-17 | 华为技术有限公司 | 一种处理器及降低功耗的方法 |
US11181967B2 (en) * | 2020-02-07 | 2021-11-23 | Marvell Asia Pte Ltd | Power management and transitioning cores within a multicore system from idle mode to operational mode over a period of time |
US11994925B2 (en) | 2020-04-10 | 2024-05-28 | Marvell Asia Pte Ltd | Power management and staggering transitioning from idle mode to operational mode |
US11556342B1 (en) * | 2020-09-24 | 2023-01-17 | Amazon Technologies, Inc. | Configurable delay insertion in compiled instructions |
US11836031B2 (en) | 2020-11-10 | 2023-12-05 | Advanced Micro Devices, Inc. | Application override of power estimation mechanism |
GB2604981B (en) * | 2020-12-18 | 2023-03-22 | Advanced Risc Mach Ltd | Balancing high energy events |
US11698671B2 (en) * | 2021-09-22 | 2023-07-11 | Apple Inc. | Peak power management for processing units |
US11989077B2 (en) * | 2021-12-06 | 2024-05-21 | Mediatek Inc. | Maximum current suppression for power management in a multi-core system |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6145354A (ja) * | 1984-08-10 | 1986-03-05 | Nec Corp | マイクロプロセツサ |
IL85749A0 (en) * | 1987-03-16 | 1988-08-31 | Stern Donald S | Selective power gating device |
JPH02171812A (ja) * | 1988-12-23 | 1990-07-03 | Komatsu Ltd | ウエイトステイト機能を持たないプロセッサの高速化回路 |
JPH0387909A (ja) * | 1989-05-10 | 1991-04-12 | Seiko Epson Corp | 情報処理装置およびマイクロプロセッサ |
US5287292A (en) | 1992-10-16 | 1994-02-15 | Picopower Technology, Inc. | Heat regulator for integrated circuits |
US5392437A (en) * | 1992-11-06 | 1995-02-21 | Intel Corporation | Method and apparatus for independently stopping and restarting functional units |
EP0651314A1 (en) | 1993-10-27 | 1995-05-03 | International Business Machines Corporation | An apparatus and method for thermally protecting a processing device |
JP3302828B2 (ja) * | 1994-05-31 | 2002-07-15 | 株式会社東芝 | 1チップコントローラを備えた電子機器 |
US5798667A (en) * | 1994-05-16 | 1998-08-25 | At&T Global Information Solutions Company | Method and apparatus for regulation of power dissipation |
US6192479B1 (en) * | 1995-01-19 | 2001-02-20 | Texas Instruments Incorporated | Data processing with progressive, adaptive, CPU-driven power management |
US5719800A (en) | 1995-06-30 | 1998-02-17 | Intel Corporation | Performance throttling to reduce IC power consumption |
US5996083A (en) * | 1995-08-11 | 1999-11-30 | Hewlett-Packard Company | Microprocessor having software controllable power consumption |
US5815724A (en) * | 1996-03-29 | 1998-09-29 | Intel Corporation | Method and apparatus for controlling power consumption in a microprocessor |
US5983356A (en) * | 1996-06-18 | 1999-11-09 | National Semiconductor Corporation | Power conservation method and apparatus activated by detecting shadowed interrupt signals indicative of system inactivity and excluding prefetched signals |
JPH1020959A (ja) * | 1996-07-01 | 1998-01-23 | Matsushita Electric Ind Co Ltd | 低消費電力マイクロプロセッサ |
US6000036A (en) * | 1996-07-17 | 1999-12-07 | International Business Machines Corp. | Logical steering to avoid hot spots on integrated circuits |
US6029006A (en) * | 1996-12-23 | 2000-02-22 | Motorola, Inc. | Data processor with circuit for regulating instruction throughput while powered and method of operation |
JPH10326129A (ja) * | 1997-05-23 | 1998-12-08 | Mitsubishi Electric Corp | 半導体装置 |
JP3004968B2 (ja) * | 1997-09-03 | 2000-01-31 | 松下電器産業株式会社 | プロセッサ |
US6219796B1 (en) * | 1997-12-23 | 2001-04-17 | Texas Instruments Incorporated | Power reduction for processors by software control of functional units |
JP2000047872A (ja) * | 1998-08-03 | 2000-02-18 | Hitachi Ltd | 低消費電力動作機能を備えたマイクロプロセッサ |
US6367023B2 (en) * | 1998-12-23 | 2002-04-02 | Intel Corporation | Method and apparatus of measuring current, voltage, or duty cycle of a power supply to manage power consumption in a computer system |
JP5557551B2 (ja) * | 2010-02-19 | 2014-07-23 | 東邦レオ株式会社 | 緑化用パネル |
-
1999
- 1999-12-23 US US09/471,795 patent/US6564328B1/en not_active Expired - Lifetime
-
2000
- 2000-11-21 DE DE60043996T patent/DE60043996D1/de not_active Expired - Lifetime
- 2000-11-21 EP EP00978851A patent/EP1259870B1/en not_active Expired - Lifetime
- 2000-11-21 AU AU16266/01A patent/AU1626601A/en not_active Abandoned
- 2000-11-21 AT AT00978851T patent/ATE460698T1/de not_active IP Right Cessation
- 2000-11-21 JP JP2001549170A patent/JP5073903B2/ja not_active Expired - Fee Related
- 2000-11-21 CN CNB008189927A patent/CN100492252C/zh not_active Expired - Fee Related
- 2000-11-21 CN CN2009101331566A patent/CN101520725B/zh not_active Expired - Fee Related
- 2000-11-21 WO PCT/US2000/031930 patent/WO2001048584A1/en active IP Right Grant
- 2000-11-21 KR KR10-2002-7008122A patent/KR100511110B1/ko not_active IP Right Cessation
- 2000-11-21 GB GB0214785A patent/GB2373896C/en not_active Expired - Fee Related
-
2001
- 2001-01-30 TW TW089127734A patent/TW512261B/zh not_active IP Right Cessation
-
2002
- 2002-11-05 HK HK02108035.8A patent/HK1046561B/zh not_active IP Right Cessation
-
2012
- 2012-06-08 JP JP2012130447A patent/JP5650689B2/ja not_active Expired - Fee Related
-
2014
- 2014-01-09 JP JP2014002324A patent/JP6042830B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP6042830B2 (ja) | 2016-12-14 |
GB2373896B (en) | 2004-11-03 |
GB0214785D0 (en) | 2002-08-07 |
GB2373896C (en) | 2013-02-13 |
EP1259870A1 (en) | 2002-11-27 |
CN101520725A (zh) | 2009-09-02 |
CN100492252C (zh) | 2009-05-27 |
AU1626601A (en) | 2001-07-09 |
KR20020062986A (ko) | 2002-07-31 |
JP5650689B2 (ja) | 2015-01-07 |
WO2001048584A1 (en) | 2001-07-05 |
EP1259870B1 (en) | 2010-03-10 |
JP2012198922A (ja) | 2012-10-18 |
GB2373896A (en) | 2002-10-02 |
ATE460698T1 (de) | 2010-03-15 |
HK1046561B (zh) | 2005-06-03 |
US6564328B1 (en) | 2003-05-13 |
JP2003523563A (ja) | 2003-08-05 |
DE60043996D1 (de) | 2010-04-22 |
TW512261B (en) | 2002-12-01 |
JP2014112399A (ja) | 2014-06-19 |
KR100511110B1 (ko) | 2005-08-31 |
HK1046561A1 (en) | 2003-01-17 |
CN1434934A (zh) | 2003-08-06 |
CN101520725B (zh) | 2012-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5073903B2 (ja) | ディジタル・パワー・スロットルを備えたマイクロプロセッサ | |
US7281140B2 (en) | Digital throttle for multiple operating points | |
US6931559B2 (en) | Multiple mode power throttle mechanism | |
US7992017B2 (en) | Methods and apparatuses for reducing step loads of processors | |
EP1307806B1 (en) | MECHANISM TO CONTROL di/dt FOR A MICROPROCESSOR | |
EP1023656B1 (en) | Localized performance throttling to reduce ic power consumption | |
US7861068B2 (en) | Method and apparatus for using dynamic workload characteristics to control CPU frequency and voltage scaling | |
US7627742B2 (en) | Method and apparatus for conserving power by throttling instruction fetching when a processor encounters low confidence branches in an information handling system | |
US8069354B2 (en) | Power management for system having one or more integrated circuits | |
US8176347B1 (en) | Microprocessor that performs adaptive power throttling | |
US8127153B2 (en) | Memory power profiling | |
US8219831B2 (en) | Reducing temperature and power by instruction throttling at decode stage of processor pipeline in time constant duration steps | |
WO2011074059A1 (ja) | 演算処理装置、情報処理装置及びその制御方法 | |
US20030172256A1 (en) | Use sense urgency to continue with other heuristics to determine switch events in a temporal multithreaded CPU | |
GB2506169A (en) | Limiting task context restore if a flag indicates task processing is disabled | |
Ahn et al. | Flexible framework for dynamic management of multi-core systems | |
KR20040101344A (ko) | 마이크로프로세서, 인스트럭션 시퀀스 발생 방법 및 이를구현한 프로그램 디바이스 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071108 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090917 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101214 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110314 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110322 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110414 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120124 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120424 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120502 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120524 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120531 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120608 |
|
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: 20120724 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120823 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150831 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |