JP4567972B2 - 処理集積回路の電力消費量を削減するための方法および装置 - Google Patents

処理集積回路の電力消費量を削減するための方法および装置 Download PDF

Info

Publication number
JP4567972B2
JP4567972B2 JP2003538871A JP2003538871A JP4567972B2 JP 4567972 B2 JP4567972 B2 JP 4567972B2 JP 2003538871 A JP2003538871 A JP 2003538871A JP 2003538871 A JP2003538871 A JP 2003538871A JP 4567972 B2 JP4567972 B2 JP 4567972B2
Authority
JP
Japan
Prior art keywords
power
instruction
execution unit
instructions
execution
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
JP2003538871A
Other languages
English (en)
Other versions
JP2005527010A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005527010A publication Critical patent/JP2005527010A/ja
Application granted granted Critical
Publication of JP4567972B2 publication Critical patent/JP4567972B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Power Sources (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Microcomputers (AREA)
  • Transceivers (AREA)
  • Logic Circuits (AREA)

Description

本発明は、一般には、マイクロプロセッサ、マイクロコントローラ、論理回路など、データ処理を実施する集積回路に関し、より詳細には、こうした集積回路の電力消費量を削減することに関する。
現代のマイクロプロセッサ、マイクロコントローラ、論理回路など(すなわち処理集積回路)は、AC操作時(回路が駆動され、命令またはデータあるいはその両方を処理しているときなど)に、そのパワー・バジェットの大半を消費する。使用されていない処理集積回路の部分(処理集積回路の非アクティブな部分など)の電力消費量を削減しようと試みる、多くの電力管理技術が存在するが、こうした回路のアクティブ部分のためのパワー・バジェットを維持するのは難しいままである。
処理集積回路のアクティブ部分の電力消費量を配分するための従来技術のほとんどは、マルチプレクサを使用して論理切替えを減らし、または制御論理によって実施される論理切替えを減らすことに依存する。たとえば、米国特許第6,054,877号は、無効データのマルチプレクサ(MUX:multiplexer)出力遷移を回避し、こうした「無効な」MUX出力遷移によるAC電力消費量を削減することができる「一回遷移MUX(Transition-OnceMUX)」を開示している。同特許の全体を本明細書中で参考として援用する。同様に、米国特許第6,237,101号は、現在の命令を実行するために、制御信号の値/レベルを変更する必要がない場合には、直前の命令を復号化するときに定められた値/レベルで、制御信号を維持することによって、現在の命令を復号化するときのマイクロプロセッサの消費電力量を削減するための技術を開示している。同特許の全体を本明細書中で参考として援用する。
ポータブル・パーソナル・コンピュータの電力消費量を制御するための別の従来技術が、米国特許第6,167,524号に開示されている。同特許の全体を本明細書中で参考として援用する。米国特許第6,167,524号は、たとえば、アクティブな実行ユニットの予想される消費電力量の値を合計して、予想される総電力消費量が、最適なバッテリ電力効率値を超えるかどうかを判断することを開示している。そうである場合は、(たとえば、電力の消費が、バッテリ/コンバータ最適効率の範囲内(within a regime)にとどまるように)アクティブな実行単位の量が制限される(第6欄47〜61行)。各実行ユニットの予想電力消費量値は、シミュレーションによって計算される、実行ユニット内に関連する切替え電力の平均値に基づくことができる(第5欄60行〜第6欄3行)。
米国特許第6,054,877号 米国特許第6,237,101号 米国特許第6,167,524号
こうしたおよび他の電力管理技術は、現在のクロック・サイクル中に、操作を受ける(operateon)実際のデータを考慮せず、かつ/または特に、命令がある実行ユニットにディスパッチされると、リアルタイムの電力バランシングを行うことができない。したがって、処理集積回路のアクティブな部分のパワー・バジェットを維持することは難しいままである。
本発明の第1の態様によれば、処理集積回路において電力を節約するための方法が提供される。この方法は、(1)命令、および命令に対応するデータを実行するための電力消費量を計算するステップと、(2)こうした実行が所定の電力レベルを超えない場合は、命令を実行するステップとを含む。
本発明の第2の態様によれば、複数の実行ユニットを使用する処理集積回路において、電力を節約するための方法が提供される。この方法は、(1)処理集積回路によって消費される総電力を、処理集積回路のパワー・バジェットと比較するステップと、(2)総電力がパワー・バジェットを超える場合は、実行が凍結されたところから、後で命令の実行を継続させるように、複数の実行ユニットのうちの1つによる命令の実行を凍結するステップとを含む。システムおよび装置として、本発明の他の多数の態様が提供される。
本発明の他の目的、特徴および利点は、以下の詳細な説明、添付の特許請求の範囲、および添付の図面から、より完全に明らかになろう。
図1は、本発明に従って構成された新規なデータ処理システム100の概略図である。データ処理システム100は、命令ディスパッチ・ユニット104および複数の実行ユニット106a〜nに結合されたメモリ102を含む。命令ディスパッチ・ユニット104は、グローバル・パワー・コントローラ108を含み、それぞれの実行ユニット106a〜nは、ローカル・パワー・コントローラ110a〜nを含む。メモリ102、命令ディスパッチ・ユニット104、実行ユニット106a〜n、ならびにグローバル・パワー・コントローラ108またはローカル・パワー・コントローラ110a〜nあるいはその両方は、以下で詳述するように、様々なデータ(オペランドなど)、命令または他の制御信号あるいはその両方を交換するように構成される。
メモリ102および命令ディスパッチ・ユニット104は、当技術分野で周知の従来のデータ処理システム・コンポーネントであり得る。グローバル・パワー・コントローラ108およびローカル・パワー・コントローラ110a〜nの例示的な実施形態について、図2〜7を参照して以下に述べる。実行ユニット106a〜nのうちの1つの例示的な一実施形態について、図8および9を参照して以下に述べる。
図2は、図1のローカル・パワー・コントローラ110aの例示的な一実施形態と通信する、グローバル・パワー・コントローラ108の例示的な一実施形態の概略図である。ローカル・パワー・コントローラ110b〜nも同じように構成され得る。
図2を参照すると、グローバル・パワー・コントローラ108が、データ処理システム100のパワー・バジェットの合計を格納するように適応されたレジスタ204を含んでいる。本発明の一実施形態では、レジスタ204は、ランダム・アクセス・メモリ(RAM:random access memory)などのプログラマブルなレジスタを含むが、別の従来のレジスタを使用することもできる。データ処理システム100のパワー・バジェットの合計は、たとえば、前記で援用した米国特許第6,167,524号に記載されているようなバッテリ作動のシステムの電力効率を最大にするために必要な電力、または当技術分野で周知の他の任意の所定パワー・レベルであり得る。
ローカル・パワー・コントローラ110aは、ROM206、RAM208、第1のレジスタ210、第2のレジスタ212および加算回路214を含む。(以下に詳述するように)ROM206は、それぞれの実行可能命令について、(1)実行ユニット106a(図1)が命令を実行するのに必要な電力の平均値または他の代表値または(2)命令タイプの「典型的な」オペランドまたは他の代表的なオペランドあるいはその両方を格納するように適応される1つまたは複数のROMである。こうした平均電力および典型的なオペランドは、シミュレーションに基づく(たとえば、前記で援用した米国特許第6,167,524号に記載されているような、各実行ユニットについてのサイクル当たりの電力消費量を決定する、物理的なキャパシタンス・ベースのシミュレーション・ツールによって、実行中のアプリケーション・コードあるいは他の周知の技術の使用に基づく)ことができる。
RAM208は、実行ユニット106aによって実行される各命令について、(1)命令実行のため実行ユニット106aが必要とする実際の電力または(2)命令による操作を受けたオペランドあるいはその両方を格納するように適応された1つまたは複数のRAMである。第1のレジスタ210は、実行ユニット106aのパワー・バジェットを格納するように適応され、RAMなどの任意の従来レジスタを含み得る。パワー・バジェットは、任意の従来技術を用いて決定され得る。第2のレジスタ212は、図3〜9を参照して以下に詳述するように、停止または「凍結」された前の命令の実行を終了するのに必要な電力を格納するように適応される。第2のレジスタ212も同様に、RAMなどの任意の従来のレジスタを含み得る。
図3は、図1および2の本発明のデータ処理システム100のグローバル・パワー・コントローラ108によって実施することができる、節電のための例示的な処理300のフローチャートである。図3を参照すると、ステップ301で、処理300が開始されている。ステップ302で、グローバル・パワー・コントローラ108は、現在のクロック・サイクルで、データ処理システム100によって消費される総電力(「Total_Chip_Power」)を計算する。Total_Chip_Powerは、現在のクロック・サイクル中に、各実行ユニット106a〜nによって消費される実際の電力に基づいて(たとえば、現在のクロック・サイクル中に、各実行ユニット106a〜nによって消費される実際の電力を合計することによって)計算される。たとえば、図4を参照して以下に述べるように、現在のクロック・サイクル中に各実行ユニット106a〜nによって消費される実際の電力は決定され、グローバル・パワー・コントローラ108に提供され得る。
ステップ303で、グローバル・パワー・コントローラ108が、Total_Chip_Powerが、データ処理システム100のパワー・バジェット(「Chip_Power_Budget」)を超えるかどうかを判断する。上述したように、Chip_Power_Budgetは、たとえば図2のレジスタ204内に格納することができる。Total_Chip_Powerが、Chip_Power_Budgetを超える場合は、ステップ304で、グローバル・パワー・コントローラ108が、1つまたは複数の実行ユニット106a〜nを停止または「凍結」する(たとえば、現在のサイクル中に、Total_Chip_Powerが実際に、Chip_Power_Budgetを超えないようにする。)図4を参照して以下に述べるように、各実行ユニット106a〜nは、命令の実行中に、停止または「凍結」され、その後で、実行が停止された同じところから再開され得るように構成される。このようにして、凍結された命令の実行を、実行ユニットによって完了するのに必要な電力を、その後に、データ処理システム100が予算超過でないときに消費することができる。たとえば、ステップ303で、Total_Chip_Powerが、Chip_Power_Budgetを超えないと判断される場合は、ステップ305で、グローバル・パワー・コントローラ108は、1つまたは複数の以前に凍結された実行ユニット106a〜nを再開することができる。したがって、データ処理システム100は、動的なリアルタイム電力管理を用いることができる。
図4および図5は、図1および図2の本発明のデータ処理システム100の実行ユニット106a〜nのローカル・パワー・コントローラ110a〜nによって実施することができる、電力を節約するための例示的な処理400のフローチャートである。便宜上、処理400について、図1および図2のローカル・パワー・コントローラ110aを参照して説明する。ローカル・パワー・コントローラ110b〜nのうちの1つまたは複数もまた、同様の処理を実施できることが理解されよう。
図4および図5を参照すると、ステップ401で、処理400が開始されている。ステップ402で、ローカル・パワー・コントローラ110aが、実行ユニット106aが命令ディスパッチ・ユニット104から新しい命令を受け取り、その新しい命令を復号化しているか(または復号化したか)どうかを判断する。そうである場合は、処理400は、ステップ403に進み、そうでない場合は、ローカル・パワー・コントローラ110aは、実行ユニット106aが新しい命令を受け取ったかどうかを再チェックする(ステップ402)。
ステップ403で、ローカル・パワー・コントローラ110aが、実行ユニット106aによって受信された新しい命令が以前に受信されたことがあるかどうかを(たとえば命令の演算コードすなわち「命令コード」に基づいて)判断する。そうである場合は、処理400は、ステップ404に進み、そうでない場合は、処理400は、ステップ405に進む。
ステップ404で、ローカル・パワー・コントローラ110aは、実行ユニット106aによって命令が前回実行されたときに基づいて、新しい命令を実行するのに必要な予測電力(「Predicted_Power」)を決定する。たとえば、RAM208(図2)は、命令実行のため以前に必要とされた電力を格納することができる。ローカル・パワー・コントローラ110aは、命令が前回実行されたときに使用されたオペランドをも決定する。Last_Operandsも同様に、RAM208に格納することができる。次いで、処理400は、ステップ406に進む。
ステップ403で、実行ユニット106aによって受信された新しい命令が、実行ユニット106aによってそれ以前に受信されていなかった場合には、ステップ405で、ローカル・パワー・コントローラ110aが、(たとえば図2のROM206に格納されている)シミュレーション・データに基づいて、Predicted_PowerおよびLast_Operandsを決定する。たとえば、Predicted_Powerは、シミュレーションからの平均電力とすることができ、Last_Operandsは、シミュレーション時に使用される典型的なオペランドであり得る。上記で援用した米国特許第6,167,524号に記載されているものなど、適切な任意のシミュレーション技術を用いることができる。次いで、処理400は、ステップ406に進む。
ステップ406で、ローカル・パワー・コントローラ110aが、Predicted_Powerに基づいて、新しい命令の実行に必要な実際の電力(「True_Power」)を計算する。本発明の少なくとも1つの実施形態では、以下で詳述するように、True_Powerは、Predicted_Powerに、新しい命令(「New_Operands」)およびLast_Operandsに関連する実際のオペランドに対して実施される、XNORまたは他のXORライクな(XOR-like)演算の結果である遷移係数(「Transition_Factor」)を掛けることによって計算される。ステップ407で、ローカル・パワー・コントローラ110aが、次に実行ユニット106aによって命令が次に実行されるときに備えて、RAM208に、True_PowerおよびNew_Operandsを格納する。
ステップ408で、ローカル・パワー・コントローラ110aが、現在のクロック・サイクル中に、実行ユニット106aが使用できる使用可能電力(「Avail_Power」)を計算する。本発明の少なくとも1つの実施形態では、Avail_Powerは、実行ユニット106aのパワー・バジェット(たとえばローカル・パワー・コントローラ110aのレジスタ210に格納された「EX_Power_Budget」)から、グローバル・パワー・コントローラ108またはローカル・パワー・コントローラ110aによって凍結された以前のクロック・サイクルからの命令を終了するのに必要な何らかの電力を減算したものに等しい(以下で詳述する)。
ステップ409で、ローカル・パワー・コントローラ110aは、True_Power(命令実行のため実行ユニット106aが必要とする電力)がAvail_Power(実行ユニット106aが使用できる電力)より大きいかどうかを判断する。つまり、ローカル・パワー・コントローラ110aは、新しい命令が実行された場合に、実行ユニット106aがパワー・バジェット超過になるかどうかを判断する。そうでない場合は、ステップ410で、ローカル・パワー・コントローラ110aは、実行ユニット106aが命令の実行を続行できるようにするが、そうでない場合は、ステップ411で、ローカル・パワー・コントローラ110aは、(以下で詳述するように)実行ユニット106aが命令を実行できないようにする。命令の実行は、実行前でも、実行中でも停止(凍結)することができる。少なくとも1つの実施形態では、ローカル・パワー・コントローラ110aは、命令の実行を完了するのに必要な電力量を(たとえば図2のレジスタ212内に)格納する。この格納された電力量を、実行ユニット106aのAvail_Powerを次に計算するときに使用することができる(ステップ408)。
図5は、図1および2のローカル・パワー・コントローラ110aの例示的な一実施形態をより詳細に示す図である。図5を参照すると、ローカル・パワー・コントローラ110aが、(1)RAM503に結合された第1のレジスタ501、(2)RAM503、第1のROM507および乗算器509に結合された第1のマルチプレクサ505、(3)乗算器509、第2のマルチプレクサ513および第2のレジスタ515に結合されたXORライクな論理回路511、ならびに(4)第2マルチプレクサ513に結合された第2のROM517および第3のレジスタ519を含んでいる。ローカル・パワー・コントローラ110aは、(1)乗算器509、比較器523および第4のレジスタ525に結合された第1の加算器521ならびに(2)比較器523および第5のレジスタ529に結合された第2の加算器527も含む。レジスタ501、515、519、525および529は、1つまたは複数のRAMなどの、1つまたは複数の従来のレジスタを含み得る。XORライク論理回路511は、比較器523のように、XNOR論理回路などの任意の従来の比較回路を含み得る。マルチプレクサ505および513、乗算器509、ならびに加算器521および527は、任意の周知の適切な論理回路を含み得る。
動作において、命令が実行ユニット106aによって受信されると、その命令が、第1レジスタ501に格納され、ローカル・パワー・コントローラ110aは、上述のように、実行ユニット106aによる命令実行のためのPredicted_Powerを決定する。図6の実施形態では、Predicted_Powerは、(前述したように)2つのやり方のいずれかで決定される:(1)命令が前回実行されたときに、実行ユニット106aによって消費された電力を用いる、または(2)シミュレーションによって判断された電力を用いる。具体的には、ローカル・パワー・コントローラ110aは、実行ユニット110aによって受信された命令が、実行ユニット106aによって、それ以前に受信されているかどうかを判断する。そうである場合は、ローカル・パワー・コントローラ110aは、第1RAM503のアドレスとして、その命令の命令コードを(命令コードによって識別される、RAM503内のアドレスに格納されている、命令が前回実行されたときに実行ユニットによって消費された電力)使用して、その命令についてのPredicted_Powerを決定する。そうでない場合は、Predicted_Powerが、第1ROM507に格納されている電力データのシミュレーションから提供される。第1マルチプレクサ505を使用して、適切なPredicted_Powerを選択し、乗算器509に渡す。
ローカル・パワー・コントローラ110aは、Predicted_Powerを決定する前、その最中、またその後で、実行ユニット106aによって受信された命令に付随するオペランドのTransition_Factorを決定する。Transition_Factorは、命令に付随するオペランドと、命令が前回実行されたときに使用されたオペランド(レジスタ519内に格納されているLast_Operandsなど)またはシミュレーション時に使用される典型的なオペランド(ROM517に格納されているLast_Operandsなど)の間で、XNORや他の比較演算などのXORライクな関数を実施することによって計算される。第2のマルチプレクサ513を使用して、適切なLast_Operandsを選択し、XORライクな回路511に渡す。次いで、XORライクな回路511は、そのXORライクな演算の結果(Transition_Factor)を乗算器509に出力する。
乗算器509は、Predicted_Powerに、Transition_Factorを掛けることによって、Predicted_Powerに基づいて、命令の実行に必要な実際の電力(「True_Power」)を計算する。ローカル・パワー・コントローラ110aは、その命令が実行ユニット106aによって次に実行されるときに備えて、RAM503にTrue_Powerを、またレジスタ519に現在の命令のオペランドを格納する。乗算器509は、第1加算器521、グローバル・パワー・コントローラ108、比較器523およびRAM503に、True_Powerを出力する。
ローカル・パワー・コントローラ110aはまた、実行ユニット106aのパワー・バジェット(レジスタ529に格納されている)から、グローバル・パワー・コントローラ108またはローカル・パワー・コントローラ110aによって停止または凍結された前のクロック・サイクルからの命令を完了するのに必要な何らかの電力(レジスタ525に格納されている)を減算することによって、現在のクロック・サイクル中に、実行ユニット106aが使用することができる使用可能な電力(Avail_Power)をも計算する。減算演算は、加算器527を介して実施され、結果のAvail_Powerが、加算器527から比較器523に提供される。比較器523が、True_Power(現在の命令を実行するのに必要な電力)が、Avail_Power(凍結されたいずれかの命令実行を完了するのに必要な電力によって補正された命令ユニットのパワー・バジェット)を超えると判断した場合には、ローカル・パワー・コントローラ110aは、実行ユニット106aの操作を凍結する。ローカル・パワー・コントローラ110aは、グローバル・パワー・コントローラ108に通知することができ、グローバル・パワー・コントローラ108は、その命令を別の実行ユニットに再び割り当てることができる。あるいは、ローカル・パワー・コントローラ108は、命令の実行を完了するのに必要な電力量を、レジスタ525内に格納することができる。True_Powerが、Avail_Powerを超えない場合には、ローカル・パワー・コントローラ110aは、実行ユニット106aが命令を実施させ、(またグローバル・パワー・コントローラ108にそれを通知する。)実行ユニットによる命令実行の凍結の一実施形態について、図8を参照して以下に述べる。
加算器521は、True_Powerを(レジスタ525に格納されている)凍結されているいずれかの命令を完了するのに必要な電力に加算することによって、実行ユニット106aによる命令の実行によって、消費される実際の電力(「ActualPower Dissipated」)を決定する。図7を参照して以下で述べるように、Actual Power Dissipatedが、グローバル・パワー・コントローラ108に提供される。ローカル・パワー・コントローラ110b〜nもまた、図6のローカル・パワー・コントローラ110aと同じように構成することができる。上記の機能を実施するのに必要な制御論理は、関連分野の技術者によって開発することができ、それについて本明細書では詳述しない。
図7は、図6のローカル・パワー・コントローラ110aとともに使用することができる、図1および2のグローバル・パワー・コントローラ108の例示的な一実施形態を、より詳細に示す図である。図7を参照すると、グローバル・パワー・コントローラ108は、第1の加算器603および比較器605に結合された第1のレジスタ601を含んでいる。比較器605は、第2の加算器607および選択回路609にも結合される。レジスタ601、加算器603および607、比較器605、ならびに選択回路609は、任意の周知の適切な論理回路を含み得る。
動作において、グローバル・パワー・コントローラ108は、第2加算器607を使用して、各ローカル・パワー・コントローラ110a〜nから受信された「Actual Power Dissipated」情報(前述の、各実行ユニット106a〜nによって消費される電力)を合計することによって、現在のクロック・サイクルについて、データ処理システム100によって消費される総電力を計算する。この総電力が、データ処理システム100のTotal__Chip_Powerである。次いで、比較器605は、データ処理システム100のパワー・バジェット(レジスタ601内に格納されているChip_Power_Budget)を、Total_Chip_Powerと比較する。Total_Chip_Powerが、Chip_Power_Budgetより小さい場合は、グローバル・パワー・コントローラ108は、各実行ユニット106a〜nが、グローバル・パワー・コントローラ108からの干渉を受けずに、命令を実行できるようにする。いずれかの「余剰」電力(たとえば、Chip_Power_BudgetがTotal_Chip_Powerを超えた分の量)が、加算器603を介して、Chip_Power_Budgetに加算される(たとえば、次のクロック・サイクル中の、データ処理システム100のパワー・バジェットを増加させる)。余剰電力をChip_Power_Budgetに加算するのでななく、グローバル・パワー・コントローラ108は、以前に凍結された1つまたは複数の実行ユニット106a〜nを再び開始することができる。
(比較器605によって判断され)Total_Chip_Powerが、Chip_Power_Budgetより大きい場合は、グローバル・パワー・コントローラ108は、(選択回路609を介して)1つまたは複数の実行ユニット106a〜nを選択し、選択された実行ユニットによる命令の実行を凍結する。凍結する特定の実行ユニットの選択は、任意の関連要因に基づくことができる。少なくとも1つの実施形態では、選択回路609は、現在のサイクル中に、各実行ユニット106a〜nによって消費される電力に基づいて(たとえば、各実行ユニット106a〜nのTrue_Powerに基づいて)凍結する実行ユニットの適切な組合せを選択する。他の要因には、凍結する実行ユニットの数や実行ユニットによって実行される命令のタイプなどが含まれる。たとえば、グローバル・パワー・コントローラ108は、(上記で援用した米国特許第6,167,524号に記載の)投機的実行ユニットだけを凍結することを選択することができる。上記の機能を実施するのに必要な制御論理は、関連分野の技術者によって開発することができ、それについて本明細書では詳述しない。
図8は、図1のデータ処理システム100の操作を説明するのに有用な、図1の実行ユニット106aの論理回路の例示的な一実施形態である。他の論理回路を、どの実行ユニット106a〜nも使用することができ、図8の論理回路は例示的なものにすぎないことが理解されよう。
図8を参照すると、実行ユニット106aが、4つの論理ユニット702、704、706、および708を含んでいる。それぞれの論理ユニットは、データ処理システム100によって使用される命令およびオペランドを処理するように適応された任意の従来の論理回路を含み得る。図8の実施形態では、第1の論理ユニット702が、実行ユニット106aの総電力の約10%を消費し、第2の論理ユニット704が、実行ユニット106aの総電力の約40%を消費し、第3の論理ユニット706が、実行ユニット106aの総電力の約30%を消費し、第4の論理ユニット708が、実行ユニット106aの総電力の約20%を消費する。こうしたパーセンテージは、例示的なものにすぎない。ローカル・パワー・コントローラ110aは、こうしたパーセンテージの知識によって、事前にプログラムすることができる。こうした情報は、たとえば、ROMに格納することができる。
それぞれの論理ユニット702〜708の前にそれぞれ、「一回遷移」バッファまたはマルチプレクサ(「一回遷移論理」)710、712、714および716がある。一回遷移マルチプレクサについて、上記で援用した米国特許第6,054,877号に詳しく記載されている。一回遷移バッファを、(たとえば複数の入力のうちから選択を行うのに必要な論理を追加せずに)一回遷移バッファを同じように構成することができる。一回遷移論理710、712、714および716がそれぞれ、一回遷移バッファを含むと仮定すると、それぞれの一回遷移バッファ710〜716に、遅い選択入力(slow select input)、ならびに遅い選択入力によって選択が行われない場合(遅い選択入力が「非アクティブ」である場合)に、その値を保持する、パス・ゲート/ラッチ(図示せず)が提供される。
動作において、ローカル・パワー・コントローラ110a(たとえば、図4の処理400のステップ411)またはグローバル・パワー・コントローラ108(たとえば、図3の処理300のステップ304)によって生成される「凍結」信号に応答して、ローカル・パワー・コントローラ110aは、一回遷移論理710、712、714および716の1つまたは複数の遅い選択入力をディセーブルする。たとえば、ローカル・パワー・コントローラ110aが、実行ユニット106aが電力を消費しないようにする場合は、すべての一回遷移論理710〜716の遅い選択入力をディセーブルすることができる。このようにして、実行ユニット106aに提供されるどの命令およびオペランドも一回遷移論理710によって「保持」される。命令およびオペランドは、一回遷移論理710〜716の遅い選択入力をイネーブルすることによって、それ以降のいずれかの時点で、実行ユニット106aに伝搬できるようにされ得る。グローバル・パワー・コントローラ108が、一回遷移論理710〜716の遅い選択入力を直接に制御できるようにすることができる。
別の例として、一回遷移論理710および712の遅い選択入力が適切に選択されたことによって、命令およびオペランドが、論理ユニット702と論理ユニット704の両方に伝搬できるようになっていると仮定する。(たとえば、ローカル・パワー・コントローラ110aまたはグローバル・パワー・コントローラ108による凍結信号に応答して)ローカル・パワー・コントローラ110aが、実行ユニット106aの操作を凍結する場合、一回遷移論理714および716には、「アクティブな」遅い選択入力が提供されない。これを、たとえば図8のタイミング図に図示する。この図では、参照クロック信号(CLK)、一回遷移論理710に適用される遅い選択入力(slow_select A)、一回遷移論理712に適用される遅い選択入力(slow_select B)、一回遷移論理714に適用される遅い選択入力(slow_selectC)、および一回遷移論理716に適用される遅い選択入力(slow_select D)が示されている。一回遷移論理714および716への遅い選択入力を非アクティブに保たれることよって、実行ユニット106aに適用される命令およびオペランドが、論理ユニット702および704にだけ伝搬される。論理ユニット704による結果の出力は、一回遷移論理714によって保持される。命令およびオペランドの処理は、一回遷移論理714および716の遅い選択入力を適切にアクティブ化することによって、後で継続することができる。命令およびオペランドの実行は、論理ユニット702から704までの再処理を必要とせずに、実行が凍結されたところから開始できることに留意されたい。それによって、大幅な省電力化を実現することができる。
上記の例では、実行ユニット106aが命令およびオペランドを処理するのに必要な電力のおよそ50%が消費されている。本発明の少なくとも1つの実施形態では、この情報は、図5のレジスタ525内に格納される。たとえば、ある命令を実行するのに、実行ユニット106aが消費する総電力は、0.2ワットであると仮定する。一回遷移論理710、712の遅い選択入力だけがアクティブである場合は、ローカル・パワー・コントローラ110aは、実行ユニット106aによって約0.1ワットの電力が消費され、また実行ユニット106aがその命令処理を完了するのに追加0.1ワットの電力が必要であると判断することができる。
本発明を使用することによって、命令およびオペランドによる電力消費量をクロック・サイクルごとに監視し、(たとえば、電力供給の一定した現在消費量を維持するために)要望に応じて調整することができるので、データ処理システム100の電力消費量を非常に迅速にかつ正確に調節できることが理解されよう。たとえば本発明の少なくとも1つの実施形態では、グローバル・パワー・コントローラ108は、(たとえばローカル・パワー・コントローラ110a〜nによって提供される)すべての実行ユニット106a〜nによって消費される総電力を計算し、総電力を一定に維持しようと試みる。これは、たとえば、(1)実行ユニット106a〜nのうちの1つまたは複数に対する新しい命令のディスパッチを一時的に停止または(2)1つまたは複数の実行ユニット106a〜nによる命令の実行を一時的に凍結(図3の処理300のステップ304など)あるいはその両方を行うことによって、実現することができる。(図8および9を参照して上述したように)停止/凍結された命令の実行が再開されるときは、実行が停止されたところから、実行が再開される。したがって、実行時のほぼどんな時点でも、命令の実行を「一時停止」し、再開することができる。
上述したように、各ローカル・パワー・コントローラ110a〜nは、各命令およびオペランドによって消費されるサイクル当たりの電力を「予測」することができ、サイクル当たりの電力を、関連する実行ユニット106a〜nのパワー・バジェットと比較することができる。本発明の少なくとも1つの実施形態では、特定の命令の実行によって、実行ユニットのパワー・バジェットを超える場合は、関連するローカル・パワー・コントローラ110a〜nが、その実行ユニットのパイプラインからその命令を取り除く。その実行ユニットによる命令の実行を、(たとえば、実行ユニットの遅い選択入力を非アクティブ化することによって)停止することができ、グローバル・パワー・コントローラ108に、このサイクルでは、その実行ユニットが命令を実行することができないことを通知することができる。グローバル・パワー・コントローラ108は、別の実行ユニットに、その命令を再び割り当てることができ、後続の命令を処理するために停止された実行ユニットを再開することができる。本発明の一実施形態では、すべての計算またはデータ操作あるいはその両方(たとえば、Predicted_Power、Last_Operands、True_Power、Avail_Power、その様々な比較などの計算/判断)が単一のクロック・サイクル内で行われるので、命令を実行させるかどうかについて迅速に判断することができる。さらに別の実施形態では、それぞれのローカル・パワー・コントローラ110a〜nは、クロック・サイクルの最初にだけ、実行ユニットによる命令の実行を凍結することができ、(たとえば、グローバル・パワー・コントローラ108が、命令の実行を継続させたならば、データ処理システム100のパワー・バジェット超過になると判断した場合は)グローバル・パワー・コントローラ108が、サイクルの最中で、命令の実行を凍結することができる。データ処理システム100には動的リアルタイム電力制御が設けられる。
上記の説明は、本発明の例示的な実施形態を開示したものにすぎず、本発明の範囲内に含まれる、上記に開示した装置および方法の修正が、当業者には容易に明らかになろう。たとえば、ある実行ユニット内の複数段階でのシミュレートされたまたは実際の電力消費データを、所望であれば、ローカル・パワー・コントローラ110a〜nによって格納することができる。
したがって、本発明を、その例示的な実施形態に関連して開示したが、以下の特許請求の範囲によって定められるように、他の実施形態も、本発明の精神および範囲の範囲内に含まれ得ることを理解されたい。
本発明に従って構成された新規なデータ処理システムの概略図である。 図1のローカル・パワー・コントローラの例示的な一実施形態と通信する、図1のグローバル・パワー・コントローラの例示的な一実施形態の概略図である。 図1および2の本発明のデータ処理システムのグローバル・パワー・コントローラによって実施することができる、電力を節約するための例示的な処理のフローチャートである。 図1および図2の本発明のデータ処理システムの実行ユニットのローカル・パワー・コントローラによって実施することができる、電力を節約するための例示的な処理のフローチャートである。 図1および図2の本発明のデータ処理システムの実行ユニットのローカル・パワー・コントローラによって実施することができる、電力を節約するための例示的な処理のフローチャートである。 図1および2のローカル・パワー・コントローラのうちの1つの、例示的な一実施形態をより詳細に示す図である。 図6のローカル・パワー・コントローラとともに使用することができる、図1および2のグローバル・パワー・コントローラの例示的な一実施形態をより詳細に示す図である。 図1のデータ処理システムの操作を説明するのに有用な、図1の実行ユニットのうちの1つの論理回路の例示的な一実施形態を示す図である。 図8の実行ユニットの操作を説明するのに有用なタイミング図である。

Claims (14)

  1. 処理集積回路において電力を節約する方法であって、
    命令、および前記命令に対応するデータを実行するための電力消費量を計算するステップであって、
    前記命令が以前に実行されたことがあるか否かを判断することと、
    前記命令が以前に実行されたことがある場合、
    前記命令が以前に実行されたときに消費された電力量に基づいて予測電力を決定すること、
    以前に実行された前記命令に対応するデータを決定すること、および
    前記予測電力、および以前に実行された前記命令に対応する前記データに基づいて、前記命令を実行するための電力消費量を計算することを含
    前記命令が以前に実行されたことがない場合、
    前記命令の実行のシミュレーションから得られた電力量に基づいて予測電力を決定すること、
    前記シミュレーション時に使用されるデータを決定すること、および
    前記予測電力およびシミュレーション時に使用される前記データに基づいて、前記命令を実行するための消費電力を計算することを含む、ステップと、
    こうした実行が所定の電力レベルを超えない場合は、前記命令を実行するステップと、を含む方法。
  2. 前記命令が以前に実行されたことがある場合において、前記電力消費量を計算することが、
    遷移係数を生成するために、実行される前記命令に対応する前記データを、以前に実行された前記命令に対応する前記データと比較すること、および
    前記予測電力を、前記遷移係数で調節することを含む、請求項1に記載の方法。
  3. 予測電力を調節することが、前記予測電力に、前記遷移係数を掛けることを含む、請求項2に記載の方法。
  4. 前記計算された電力消費量および前記命令に対応するデータを格納することをさらに含む、請求項に記載の方法。
  5. 前記命令が以前に実行されたことがない場合において、前記消費量を計算することが、
    遷移係数を生成するために、実行される前記命令に対応する前記データを、シミュレーション時に使用される前記データと比較すること、および
    前記予測電力を、前記遷移係数で調節することを含む、請求項に記載の方法。
  6. 命令を実行するステップが、
    前記命令およびデータを実行する実行ユニットの使用可能電力を決定すること、
    前記実行ユニットの前記使用可能電力を、前記命令およびデータを実行するための前記計算された電力消費量と比較すること、および
    前記実行ユニットの前記使用可能電力が、前記命令およびデータを実行するための前記計算された電力消費量より大きい場合は、前記実行ユニットで前記命令およびデータを実行することを含む、請求項1に記載の方法。
  7. 前記実行ユニットの前記使用可能電力を決定することが、
    前記実行ユニットのパワー・バジェットを決定すること、
    前記実行ユニットによって部分的に実行された命令およびデータの実行を完了するのに必要な電力量を決定すること、および
    前記部分的に実行された命令およびデータの実行を完了するのに必要な電力量を、前記実行ユニットの前記パワー・バジェットから減算することによって、前記実行ユニットの前記使用可能電力を計算することを含む、請求項に記載の方法。
  8. ローカル・パワー・コントローラを含むデータ処理システムの実行ユニットであって、 前記ローカル・パワー・コントローラは、
    前記命令が以前に実行されたことがあるか否かを判断し、
    命令、および前記命令に対応するデータを実行するための電力消費量を計算することを、
    前記命令が以前に実行されたことがある場合、
    前記命令が以前に実行されたときに消費された電力量に基づいて予測電力を決定すること、
    以前に実行された前記命令に対応するデータを決定すること、および
    前記予測電力、および以前に実行された前記命令に対応する前記データに基づいて、前記命令を実行するための電力消費量を計算することにより行い、
    前記命令が以前に実行されたことがない場合、
    前記命令の実行のシミュレーションから得られた電力量に基づいて予測電力を決定すること、
    前記シミュレーション時に使用されるデータを決定すること、および
    前記予測電力およびシミュレーション時に使用される前記データに基づいて、前記命令を実行するための消費電力を計算することにより行い、さらに、
    こうした実行が所定の電力レベルを超えない場合には、前記実行ユニットに、前記命令を実行させることを特徴とする、実行ユニット。
  9. 前記ローカル・パワー・コントローラが、
    前記命令の実行のシミュレーションから得られた電力量と、前記シミュレーション時に使用されたオペランドとに基づいて、前記命令と前記命令に対応するデータを実行するための電力消費量を計算するように適応された第1計算論理を含む、請求項に記載の実行ユニット。
  10. 前記ローカル・パワー・コントローラがさらに、
    前記命令が前記実行ユニットによって以前に実行されたときに消費された電力量に関する第1の情報を格納するように適応された第1のレジスタと、
    前記命令が前記実行ユニットによって以前に実行されたときの前記命令のオペランドに関する第2の情報を格納するように適応された第2のレジスタとを含み、
    前記第1計算ロジックが、前記第1および第2レジスタの内容に基づいて、前記命令および前記命令に対応するデータを実行するための電力消費量を計算するように適応される、請求項に記載の実行ユニット。
  11. 前記ローカル・パワー・コントローラがさらに、前記命令およびデータを実行するために使用可能な電力を計算するように適応された第2の計算論理を含む、請求項10に記載の実行ユニット。
  12. 前記ローカル・パワー・コントローラがさらに、
    前記実行ユニットのパワー・バジェットを格納するように適応された第1のレジスタと、
    以前の命令の実行を完了するのに必要な電力を格納するように適応された第2のレジスタとを含み、
    前記第2の計算論理が、前記第1および第2レジスタの内容に基づいて、前記命令およびデータを実行するために使用可能な前記電力を計算するように適応される、請求項11に記載の実行ユニット。
  13. 前記ローカル・パワー・コントローラが、
    前記命令および前記命令に対応するデータを実行するための電力消費量を、前記命令およびデータを実行するために使用可能な電力と比較し、
    前記命令および前記命令に対応するデータを実行するための前記電力消費量が、前記命令およびデータを実行するために使用可能な前記電力を超える場合には、前記命令およびデータの実行を凍結するように、適応された比較回路を含む、請求項11に記載の実行ユニット。
  14. 少なくとも1つの遅い選択入力を含む一回遷移論理をさらに含み、前記ローカル・パワー・コントローラが、前記命令および前記命令に対応するデータを実行するための前記電力消費量が、前記命令およびデータを実行するために使用可能な前記電力を超える場合には、前記少なくとも1つの遅い選択入力を非アクティブに保つように適応される、請求項11載の実行ユニット。
JP2003538871A 2001-10-22 2002-10-22 処理集積回路の電力消費量を削減するための方法および装置 Expired - Fee Related JP4567972B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/682,816 US6834353B2 (en) 2001-10-22 2001-10-22 Method and apparatus for reducing power consumption of a processing integrated circuit
PCT/US2002/033833 WO2003036449A1 (en) 2001-10-22 2002-10-22 Method and apparatus for controlling data rate on a forward channel in a wireless communication system

Publications (2)

Publication Number Publication Date
JP2005527010A JP2005527010A (ja) 2005-09-08
JP4567972B2 true JP4567972B2 (ja) 2010-10-27

Family

ID=24741260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003538871A Expired - Fee Related JP4567972B2 (ja) 2001-10-22 2002-10-22 処理集積回路の電力消費量を削減するための方法および装置

Country Status (7)

Country Link
US (1) US6834353B2 (ja)
EP (1) EP1444563B1 (ja)
JP (1) JP4567972B2 (ja)
KR (1) KR100690423B1 (ja)
CN (2) CN100407108C (ja)
AT (1) ATE543130T1 (ja)
WO (1) WO2003036449A1 (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826704B1 (en) * 2001-03-08 2004-11-30 Advanced Micro Devices, Inc. Microprocessor employing a performance throttling mechanism for power management
EP1363179A1 (en) * 2002-05-17 2003-11-19 STMicroelectronics S.A. Architecture for controlling dissipated power in a system on a chip and related 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
US20040128663A1 (en) * 2002-12-31 2004-07-01 Efraim Rotem Method and apparatus for thermally managed resource allocation
US20050046400A1 (en) * 2003-05-21 2005-03-03 Efraim Rotem Controlling operation of a voltage supply according to the activity of a multi-core integrated circuit component or of multiple IC components
US20040268159A1 (en) * 2003-06-30 2004-12-30 Microsoft Corporation Power profiling
US20060090098A1 (en) * 2003-09-11 2006-04-27 Copan Systems, Inc. Proactive data reliability in a power-managed storage system
US7373559B2 (en) * 2003-09-11 2008-05-13 Copan Systems, Inc. Method and system for proactive drive replacement for high availability storage systems
KR101106836B1 (ko) * 2003-11-12 2012-01-19 엔엑스피 비 브이 전자 회로 및 데이터 요소 프로세싱 방법
US7155623B2 (en) * 2003-12-03 2006-12-26 International Business Machines Corporation Method and system for power management including local bounding of device group power consumption
US20050125701A1 (en) * 2003-12-03 2005-06-09 International Business Machines Corporation Method and system for energy management via energy-aware process scheduling
US7752470B2 (en) * 2003-12-03 2010-07-06 International Business Machines Corporation Method and system for power management including device controller-based device use evaluation and power-state control
US7296168B2 (en) * 2003-12-13 2007-11-13 Texas Instruments Incorporated Method and apparatus to minimize power and ground bounce in a logic device
US7356665B2 (en) 2003-12-17 2008-04-08 International Business Machines Corporation Method and system for machine memory power and availability management in a processing system supporting multiple virtual machines
US7197652B2 (en) * 2003-12-22 2007-03-27 International Business Machines Corporation Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring
JP2007520022A (ja) * 2003-12-22 2007-07-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マルチメディアデータオブジェクト再生方法、その回路、その装置
US7529947B2 (en) * 2004-03-31 2009-05-05 Marvell International Ltd. Determining power consumption of an application
JP4359186B2 (ja) * 2004-05-25 2009-11-04 株式会社日立製作所 データ処理装置、および、半導体装置
US7519837B2 (en) * 2004-06-15 2009-04-14 Hewlett-Packard Development Company, L.P. Power controller
US7330988B2 (en) 2004-06-30 2008-02-12 Sun Microsystems, Inc. Method and apparatus for power throttling in a multi-thread processor
US7383451B2 (en) * 2005-02-18 2008-06-03 Lenovo (Singapore) Pte. Ltd. Controlling power usage of computing device components in holistic manner
US7340618B2 (en) * 2005-03-16 2008-03-04 International Business Machines Corporation System and method for regulating system power by controlling memory usage based on an overall system power measurement
US7340619B2 (en) 2005-03-16 2008-03-04 International Business Machines Corporation System and method for circulating power usage information on a closed ring communication path within a multi-node computer system
US8201004B2 (en) * 2006-09-14 2012-06-12 Texas Instruments Incorporated Entry/exit control to/from a low power state in a complex multi level memory system
US20070124607A1 (en) * 2005-11-30 2007-05-31 Samsung Electronics Co., Ltd. System and method for semi-automatic power control in component architecture systems
US8762744B2 (en) * 2005-12-06 2014-06-24 Arm Limited Energy management system configured to generate energy management information indicative of an energy state of processing elements
US7421601B2 (en) * 2006-02-17 2008-09-02 International Business Machines Corporation Method and system for controlling power in a chip through a power-performance monitor and control unit
US7669071B2 (en) * 2006-05-05 2010-02-23 Dell Products L.P. Power allocation management in an information handling system
CN100438440C (zh) * 2006-06-20 2008-11-26 华为技术有限公司 一种单板及控制其上电的方法
US7793117B2 (en) * 2006-10-12 2010-09-07 Hewlett-Packard Development Company, L.P. Method, apparatus and system for determining power supply to a load
US7971035B2 (en) * 2007-02-06 2011-06-28 International Business Machines Corporation Using temperature data for instruction thread direction
US8615767B2 (en) * 2007-02-06 2013-12-24 International Business Machines Corporation Using IR drop data for instruction thread direction
US7779235B2 (en) * 2007-02-06 2010-08-17 International Business Machines Corporation Using performance data for instruction thread direction
US7865750B2 (en) * 2007-02-06 2011-01-04 International Business Machines Corporation Fan speed control from adaptive voltage supply
US8022685B2 (en) * 2007-02-06 2011-09-20 International Business Machines Corporation Temperature dependent voltage source compensation
US7895454B2 (en) * 2007-02-06 2011-02-22 International Business Machines Corporation Instruction dependent dynamic voltage compensation
US7936153B2 (en) * 2007-02-06 2011-05-03 International Business Machines Corporation On-chip adaptive voltage compensation
US8055925B2 (en) * 2007-07-18 2011-11-08 International Business Machines Corporation Structure and method to optimize computational efficiency in low-power environments
US8122273B2 (en) * 2007-07-18 2012-02-21 International Business Machines Corporation Structure and method to optimize computational efficiency in low-power environments
US8185572B2 (en) * 2007-08-24 2012-05-22 International Business Machines Corporation Data correction circuit
US8005880B2 (en) * 2007-08-24 2011-08-23 International Business Machines Corporation Half width counting leading zero circuit
US7797131B2 (en) * 2007-08-24 2010-09-14 International Business Machines Corporation On-chip frequency response measurement
JP5029823B2 (ja) * 2007-09-06 2012-09-19 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、消費電力管理システム、消費電力管理方法およびプログラム
US8080769B2 (en) * 2008-01-10 2011-12-20 Hewlett-Packard Development Company, L.P. Characterization of AC mains circuit parameters
US7757233B2 (en) * 2008-07-10 2010-07-13 International Business Machines Corporation Controlling a computer system having a processor including a plurality of cores
KR101501156B1 (ko) * 2008-11-12 2015-03-11 삼성전자주식회사 멀티 모뎀 시스템에서 전력 소모 제어 방법 및 장치
US8880908B2 (en) * 2009-05-19 2014-11-04 International Business Machines Corporation Computing system with power requirement evaluation
US8549330B2 (en) * 2009-12-18 2013-10-01 International Business Machines Corporation Dynamic energy management
US8356194B2 (en) 2010-01-28 2013-01-15 Cavium, Inc. Method and apparatus for estimating overshoot power after estimating power of executing events
US8312305B2 (en) * 2010-02-04 2012-11-13 International Business Machines Corporation Power management for systems on a chip
JP5647062B2 (ja) * 2011-04-28 2014-12-24 富士通フロンテック株式会社 最大消費電力軽減装置
US8645723B2 (en) * 2011-05-11 2014-02-04 Apple Inc. Asynchronous management of access requests to control power consumption
US8806410B2 (en) * 2011-10-28 2014-08-12 The Board Of Trustees Of The University Of Illinois Power balanced pipelines
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
US9229507B1 (en) * 2012-03-20 2016-01-05 Google Inc. Managing data center power usage
US9298247B2 (en) 2012-11-27 2016-03-29 International Business Machines Corporation Distributed power budgeting
US9690353B2 (en) * 2013-03-13 2017-06-27 Intel Corporation System and method for initiating a reduced power mode for one or more functional blocks of a processor based on various types of mode request
US9671844B2 (en) 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
US10747289B2 (en) * 2013-10-28 2020-08-18 Virtual Power Systems, Inc. Data center power manipulation
KR102154080B1 (ko) * 2014-07-25 2020-09-09 삼성전자주식회사 전력 관리 시스템, 이를 포함하는 시스템 온 칩 및 모바일 기기
US9652026B2 (en) * 2014-12-21 2017-05-16 Qualcomm Incorporated System and method for peak dynamic power management in a portable computing device
JP6214056B2 (ja) * 2015-03-30 2017-10-18 日本電気株式会社 マルチコアプロセッサ、情報処理方法、プログラム
JP6123831B2 (ja) * 2015-03-30 2017-05-10 日本電気株式会社 電子回路、演算処理制御方法、プログラム、マルチコアプロセッサ
JP6123832B2 (ja) 2015-03-30 2017-05-10 日本電気株式会社 マルチコアプロセッサ、電力制御方法、プログラム
US10452117B1 (en) * 2016-09-22 2019-10-22 Apple Inc. Processor energy management system
US11609623B2 (en) 2017-09-01 2023-03-21 Qualcomm Incorporated Ultra-low power neuromorphic artificial intelligence computing accelerator

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3626427A (en) 1967-01-13 1971-12-07 Ibm Large-scale data processing system
US3859755A (en) 1973-05-04 1975-01-14 Sundstrand Syracuse Power programming system for a centerless grinder
JP3497516B2 (ja) 1992-02-20 2004-02-16 株式会社ルネサステクノロジ データプロセッサ
US5452434A (en) 1992-07-14 1995-09-19 Advanced Micro Devices, Inc. Clock control for power savings in high performance central processing units
US5339445A (en) * 1992-11-16 1994-08-16 Harris Corporation Method of autonomously reducing power consumption in a computer sytem by compiling a history of power consumption
US5469399A (en) 1993-03-16 1995-11-21 Kabushiki Kaisha Toshiba Semiconductor memory, memory card, and method of driving power supply for EEPROM
KR0157129B1 (ko) 1995-03-28 1998-11-16 김광호 확장장치와 휴대용 컴퓨터간의 신호 연결 제어장치 및 이를 포함한 확장장치
US5742833A (en) 1995-11-30 1998-04-21 International Business Machines Corporation Programmable power management system and method for network computer stations
US5815724A (en) 1996-03-29 1998-09-29 Intel Corporation Method and apparatus for controlling power consumption in a microprocessor
JP3494813B2 (ja) * 1996-07-19 2004-02-09 株式会社東芝 マイクロプロセッサの消費電力見積もり方法
US5991884A (en) * 1996-09-30 1999-11-23 Intel Corporation Method for reducing peak power in dispatching instructions to multiple execution units
US6025741A (en) 1996-12-23 2000-02-15 International Business Machines Corporation Conditional restore for execution unit
US5951689A (en) 1996-12-31 1999-09-14 Vlsi Technology, Inc. Microprocessor power control system
JP3013825B2 (ja) * 1997-12-02 2000-02-28 日本電気株式会社 情報端末装置、入出力制御方法及び記録媒体
US5903894A (en) 1997-03-03 1999-05-11 Microsoft Corporation System and method for using a hierarchical data structure to control and identify devices and represent connections between the devices
US6002878A (en) 1997-07-01 1999-12-14 Motorola, Inc. Processor power consumption estimator that using instruction and action formulas which having average static and dynamic power coefficients
CN1157641C (zh) * 1997-09-03 2004-07-14 松下电器产业株式会社 处理器
US6079008A (en) 1998-04-03 2000-06-20 Patton Electronics Co. Multiple thread multiple data predictive coded parallel processing system and method
US6167524A (en) 1998-04-06 2000-12-26 International Business Machines Corporation Apparatus and method for efficient battery utilization in portable personal computers
US6054877A (en) 1998-06-03 2000-04-25 International Business Machines Corporation Low power multiplexer circuit
US6237101B1 (en) 1998-08-03 2001-05-22 International Business Machines Corporation Microprocessor including controller for reduced power consumption and method therefor
US6205518B1 (en) 1998-08-05 2001-03-20 International Business Machines Corporation Apparatus and method for reducing power consumption in a data processor executing an application code
JP2000242676A (ja) * 1999-02-18 2000-09-08 Nec Corp 論理回路の消費電力計算方法及び計算装置
JP2000305671A (ja) 1999-04-22 2000-11-02 Mitsubishi Electric Corp 省電力制御方式
US6651176B1 (en) * 1999-12-08 2003-11-18 Hewlett-Packard Development Company, L.P. Systems and methods for variable control of power dissipation in a pipelined processor
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle

Also Published As

Publication number Publication date
EP1444563A1 (en) 2004-08-11
EP1444563B1 (en) 2012-01-25
WO2003036449A1 (en) 2003-05-01
WO2003036449A8 (en) 2004-08-26
CN1315020C (zh) 2007-05-09
JP2005527010A (ja) 2005-09-08
EP1444563A4 (en) 2009-03-11
CN1568450A (zh) 2005-01-19
CN1892536A (zh) 2007-01-10
KR20040044973A (ko) 2004-05-31
US20030079150A1 (en) 2003-04-24
US6834353B2 (en) 2004-12-21
ATE543130T1 (de) 2012-02-15
CN100407108C (zh) 2008-07-30
KR100690423B1 (ko) 2007-03-09

Similar Documents

Publication Publication Date Title
JP4567972B2 (ja) 処理集積回路の電力消費量を削減するための方法および装置
EP2073097B1 (en) Transitioning a processor package to a low power state
JP5430851B2 (ja) 動的なdllパワーダウン並びにメモリ・セルフリフレッシュの方法及び装置
JP5283762B2 (ja) 演算処理装置、情報処理装置及びその制御方法
EP1023656B1 (en) Localized performance throttling to reduce ic power consumption
TWI516909B (zh) 包括在裝置中自主的硬體式深度省電之能源效率及能源節約的方法、設備及系統
US7627742B2 (en) Method and apparatus for conserving power by throttling instruction fetching when a processor encounters low confidence branches in an information handling system
US7979725B2 (en) Computer power conservation apparatus and method that controls speculative execution by adjusting branch confidence threshold based on processor load
US10423216B2 (en) Asymmetric multi-core processor with native switching mechanism
US6457131B2 (en) System and method for power optimization in parallel units
CN112486312B (zh) 一种低功耗的处理器
US20110040995A1 (en) Predictive Power Gating with Optional Guard Mechanism
US20020138777A1 (en) Method and apparatus for saving power in pipelined processors
JPH09138716A (ja) 電子計算機
US6922714B2 (en) Floating point unit power reduction scheme
JP2006502488A (ja) 省電力vliwプロセッサ
US8918446B2 (en) Reducing power consumption in multi-precision floating point multipliers
JPH11110063A (ja) コンピュータシステム
US7124285B2 (en) Peak power reduction when updating future file
Guo et al. An effective state-based predictive approach for leakage energy management on embedded systems

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060808

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061025

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071023

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071128

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080321

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: 20100806

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: 20130813

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees