JP5164096B2 - コンピュータ・プロセッサ・システムのための消費電力管理方法及びシステム - Google Patents

コンピュータ・プロセッサ・システムのための消費電力管理方法及びシステム Download PDF

Info

Publication number
JP5164096B2
JP5164096B2 JP2007266120A JP2007266120A JP5164096B2 JP 5164096 B2 JP5164096 B2 JP 5164096B2 JP 2007266120 A JP2007266120 A JP 2007266120A JP 2007266120 A JP2007266120 A JP 2007266120A JP 5164096 B2 JP5164096 B2 JP 5164096B2
Authority
JP
Japan
Prior art keywords
instruction
power usage
control unit
dispatch
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
JP2007266120A
Other languages
English (en)
Other versions
JP2008102927A (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 JP2008102927A publication Critical patent/JP2008102927A/ja
Application granted granted Critical
Publication of JP5164096B2 publication Critical patent/JP5164096B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • G06F9/3806Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、コンピュータ・プロセッサ・システムに関し、特に、コンピュータ・プロセッサ・システムのための消費電力管理に関するものである。
コンピュータ・プロセッサ・システムは高速化され続けており、コンポーネントの密度は増加し続けている。これは、コンピュータ・プロセッサ・システムのための消費電力管理ではピーク電力使用量及び平均電力使用量の両方において問題を生じる。高いピーク電力使用量は大型の電源装置を必要とし、デジタル回路においてノイズを増大させることがある。例えば、同時コンポーネント切換えは、パワー/グラウンド・バウンス(power/ground bounce)の原因となり得る高いピーク電力使用量を生じさせることがある。リード線やコンポーネントにおける固有インダクタンス及びキャシタンスによるパワー/グラウンド・バウンスは、その結果として、それぞれ、パワー・バスまたはグラウンド・バス上にノイズを生じる。高い平均電力使用量は費用がかかり、動作上の信頼性を減じ得る熱を発生する。
消費電力管理に対する現在の解決方法は、コンピュータ・プロセッサ・システムの性能にかなり有害な影響を与える。1つの解決方法は、コンピュータ・プロセッサ・システムを低速で稼動することであるが、それはコンピューティング時間を増大させる。もう1つの解決方法は、推測的なオペレーションの実行を少なくすること、即ち、それらオペレーションの結果を必要とすることが知らされる前に行われるオペレーションの数を減少させることである。もう1つの解決方法は、いくつかのオペレーションを並列的に(同時に)遂行することである。別の解決方法は、トランジスタを低速にし且つ雑音余裕を減らすトランジスタの小型化を行うこと、およびトランジスタの速度を下げる酸化物層の厚さを増大させることを含む。消費電力管理に対する現在の解決方法は、コンピュータ・プロセッサ・システムのオペレーションをかなり損なっている。
本発明の目的は、上記の欠点を克服し得るコンピュータ・プロセッサ・システムのための消費電力管理システム及び方法を提供することにある。
本発明のコンピュータ・プロセッサ・システムのための消費電力管理システム及び方法は、命令の関連アドレスに対する測定された電力使用量をストアする消費電力履歴テーブル(PHT)を提供する。測定された電力使用量は、コンピュータ・プロセッサ・システムのオペレーション中に決定される。コンピュータ・プロセッサ・システムは、関連のアドレスを有する命令が実行されるとき、前に測定された電力使用量に基づいて電力使用を管理することができる。これは、パフォーマンス全体に対する負のインパクトを最小にしながら、大きい電力を必要とする命令にあわせてコンピュータ・プロセッサ・システムを調節することを可能にする。
本発明の1つの側面は、コンピュータ・プロセッサ・システムのための消費電力管理方法を提供する。その方法は、電力使用量を測定するステップ、最終命令(finishing instruction)に対する命令の実行を監視するステップと、最終命令に対する最終命令アドレスを決定するステップと、最終命令に対する測定された電力消費量を決定するステップと、最終命令アドレスをその測定された電力消費量に関連して消費電力履歴テーブル(PHT)にストアするステップとを含む。
本発明のもう1つの側面は、コンピュータ・プロセッサ・システムのための消費電力管理に関するコンピュータ使用可能な媒体においてコンピュータ・プログラムを提供する。そのコンピュータ・プログラムは、電力使用量を測定するためのコンピュータ・プログラム・コードと、最終命令に対する命令の実行を監視するためのコンピュータ・プログラム・コードと、最終命令のための最終命令アドレスを決定するためのコンピュータ・プログラム・コードと、最終命令に対する測定された電力消費量を決定するためのコンピュータ・プログラム・コードと、最終命令アドレスをその測定された電力消費量に関連して消費電力履歴テーブル(PHT)にストアするコンピュータ・プログラム・コードとを含む。
本発明のもう1つの側面は、プロセッサと、そのプロセッサに接続され、コンピュータ・プロセッサ・システムのための消費電力管理を提供するためのオペレーションを遂行するためデータ処理装置により実行可能な命令をストアするためのメモリとを含む情報処理システムを提供する。そのオペレーションは、電力使用量を測定するステップと、最終命令に対する命令の実行を監視するステップと、最終命令に対する最終命令アドレスを決定するステップと、最終命令に対する測定された電力消費量を決定するステップと、最終命令アドレスをその測定された電力消費量に関連して消費電力履歴テーブル(PHT)にストアするステップとを含む。
本発明のもう1つの側面は、消費電力管理機構と共に命令フェッチ制御ユニットを含むコンピュータ・プロセッサ・システムを提供する。命令フェッチ制御ユニットは、消費電力履歴テーブル(PHT)、命令ディスパッチ制御ユニット、消費電力制御ユニットを含む命令実行ユニット、並びに、プログラム状態及びデータ・ユニットを有する。命令ディスパッチ制御ユニットは、実行のための命令を命令フェッチ制御ユニットから命令実行ユニットにディスパッチし、消費電力制御ユニットは、測定された電力使用量に関して命令の実行を監視し、プログラム状態及びデータ・ユニットは、最終命令アドレスに関して命令の実行を監視する。測定された電力使用量は最終命令アドレスと関連して消費電力履歴テーブル(PHT)にストアされる。
本発明の上記のおよび他の特徴及び利点は、添付図面に関連して読取られる好適な実施例に関する下記の詳細な説明から更に明らかになるであろう。詳細な説明および図面は、「特許請求の範囲」によって定義された発明の範囲および均等物を限定するのではなく、単に発明を明瞭にするものに過ぎない。
図1は、本発明を使用するためのコンピュータ・プロセッサ・システムのブロック図である。コンピュータ・プロセッサ・システム100は、命令メモリ・ユニット110、命令フェッチ制御ユニット120、命令ディスパッチ制御ユニット130、命令実行ユニット140、データ交換バス150、プログラム状態及びデータ・ユニット160、データ・メモリ・ユニット170、及び入出力装置180を含む。命令フェッチ制御ユニット120における消費電力履歴テーブル(PHT)124は、コンピュータ・プロセッサ・システム100が特定の命令に対する電力使用量に適応するよう、命令に対する測定された電力使用量の履歴をアドレス単位でストアする。
命令フェッチ制御ユニット120は、命令メモリ・ユニット110にストアされた命令をフェッチし、その命令を命令ディスパッチ制御ユニット130に供給する。命令ディスパッチ制御ユニット130は命令フェッチ制御ユニット120の指示の下に命令の流れを制御する。命令実行ユニット140は命令を実行し、データを操作する。命令実行ユニット140は電力使用量も測定し、その情報をPHT124に供給する。プログラム状態及びデータ・ユニット160は命令の実行を追跡し、その情報をPHT124に供給する。
命令フェッチ制御ユニット120は、命令メモリ・ユニット110にストアされた命令をフェッチし、その命令を命令ディスパッチ制御ユニット130に供給する。1つの実施例では、命令は一時に1つフェッチされる。別の実施例では、命令は、5個の命令より成る例示的グループのような1つのグループとしてフェッチされる。命令フェッチ制御ユニット120は、ブランチ履歴テーブル(BHT)122、消費電力履歴テーブル(PHT)124、および命令キャッシュ126を含む。BHT122及びPHT124は、それぞれ、最終命令アドレスによる命令に対するブランチ履歴及び消費電力履歴をストアする。命令キャッシュ126は、命令メモリ・ユニット110から呼び出された単一の命令または複数の命令のグループを、それらが命令ディスパッチ制御ユニット130の指示の下に命令メモリ・ユニット110から転送されてしまうまで保持する。1つの実施例では、BHT122及びPHT124は別々のテーブルである。別の実施例では、BHT122及びPHT124は単一のテーブルとして結合される。一般に、BHT122及びPHT124は同じ数のアドレスを有する。BHT122及びPHT124において使用されるアドレスの数は特定のアプリケーションに依存するということは当業者には明らかであり、1つの例示的範囲は64から200までのアドレスである。それらのアドレスは、BHT122及び/又はPHT124におけるスペースを節約するために部分的アドレス又は短縮(truncated)アドレスとしてストアすることも可能である。ブランチ及び消費電力の履歴は、命令が完了した後、プログラム状態及びデータ・ユニット160における完了テーブル163に保持されるので、そのブランチ及び消費電力の履歴を、それぞれ、BHT122及び/又はPHT124に送ることも可能である。
BHT122は、最終命令アドレスによる命令に対してインデックスされるブランチ履歴値のテーブルである。ブランチ履歴値は、コンピュータ・プロセッサ・システム100のオペレーション中に、プログラム状態及びデータ・ユニット160が特定のアドレスにおける命令によって行われたブランチまたはその命令によって行われなかったブランチを記憶のためにBHT122に供給することによって決定され得る。例えば、アドレス番号10を有する命令がブランチBを1回追従し、ブランチAを4回追従する。追従されたブランチは、アドレス番号10を有する命令が実行される度に、プログラム状態及びデータ・ユニット160によってBHT122に供給される。その履歴に基づいて、アドレス番号10を有する命令は80%の回数だけブランチAを追従し、20%の回数だけブランチBを追従する。ブランチAを追従する可能性を「高」としてBHT122にストアし、ブランチBを追従する可能性を「低」としてBHT122にストアすることも可能である。アドレス番号10を有する命令が将来の実行のために呼び出されるとき、命令フェッチ制御ユニット120は追従される可能性の高いブランチに関してBHT122を照会し、その可能性の高いブランチに沿って推測的な実行を開始することが可能である。この実施例の場合、ブランチAがブランチBよりも可能性の高いブランチであるので、推測的な実行はブランチAに沿って開始し得る。従って、処理時間を節約するために、実際の実行に先行して推測的な実行を進めることができる。可能性が高いブランチがその追従されたブランチでないとき、推測的な実行の結果は破棄され得る。
PHT124は、最終命令アドレスにより命令に対して指標付けされる測定された電力使用量の値のテーブルである。測定された電力使用量の値が、プログラム状態及びデータ・ユニット160が特定のアドレスにおける命令を提供することによって、および命令実行ユニット140における消費電力制御ユニット142がその測定された電力使用量を提供することによって、コンピュータ・プロセッサ・システム100のオペレーション中に決定され、PHT124にストアされ得る。例えば、アドレス番号10を伴う命令は終了しつつあり、消費電力制御ユニット142はその終了しつつあることを検出して、アドレス番号10をPHT124に供給する。消費電力制御ユニット142は、アドレス番号10を有する命令が実行されつつある間、「高」、「中間」、「低」等のような測定された電力使用量をPHT124に供給する。その電力使用量は、アドレス番号10に関連してPHT124にストアされ得る。アドレス番号10を有する命令が将来の実行のために呼び出されるとき、命令フェッチ制御ユニット120は測定された電力使用量に関してPHT124を照会し、命令をディスパッチする方法を命令ディスパッチ制御ユニット130に指示するというようにコンピュータ・プロセッサ・システム100に関する電力使用量を適切に管理することが可能である。
PHT124のアドレス部分は命令に対するアドレスをストアし、電力使用量部分は特定のアドレスに対する測定された電力使用量をストアする。1つの実施例では、電力使用量部分は単一ビット幅であり、測定された電力使用量は「高」または「低」としてストアされる。もう1つの実施例では、電力使用量部分は2ビット幅であり、測定された電力使用量は「高」、「中間」、「低」、または「未知」としてストアされ得る。別の実施例では、電力使用量部分は2ビットよりも大きい幅であってもよく、測定された電力使用量の細かい増分がストアされてもよい。1つの実施例では、PHT124およびBHT122は単一のテーブルにおいて結合され、従って、両方に対して単一の列にアドレスがストアされる必要があるだけである。PHT124を特定のアプリケーションに対して所望のサイズにすることが可能であるということは当業者には明らかであろう。
命令キャッシュ126は、命令メモリ・ユニット110から命令フェッチ制御ユニット120において受取られ、命令ディスパッチ制御ユニット130に供給される命令または命令のグループを保持する。命令ディスパッチ制御ユニット130は、実行及び/又は消費電力管理のための流れを制御し得る命令フェッチ制御ユニット120の指示の下に命令キャッシュ126からの命令または命令のグループのながれを制御することができる。
命令実行ユニット140は、消費電力制御ユニット142及び実行ユニット(EU)144を含む。命令実行ユニット140は、命令ディスパッチ制御ユニット130から命令を受取り、データ交換バス150からデータを受取り、EU144において命令を実行し、データ交換バス150にデータを戻す。現在の命令実行のためにはEU144が必要とされないとき、電力使用量を減らすために、消費電力制御ユニット142の指示の下に1つ又は複数のEUをシャットダウンすることも可能である。消費電力制御ユニット142は電力使用量を測定し、測定された電力使用量をPHT124に供給する。
データ交換バス150は、命令実行ユニット140、プログラム状態及びデータ・ユニット160、データ・メモリ・ユニット170、及び入出力装置180の間でデータを搬送する。データ・メモリ・ユニット170はデータをストアし、入出力装置180はコンピュータ・プロセッサ・システム100に対するデータ及び命令の入力及び出力を可能にする。プログラム状態及びデータ・ユニット160はデータ・キャッシュ162を含み、データ・キャッシュ162は命令実行ユニット140とデータ・メモリ・ユニット170との間でデータを一時的にキャッシュする。プログラム状態及びデータ・ユニット160は最終命令を追跡し、最終命令アドレスをPHT124に供給する。プログラム状態及びデータ・ユニット160は、完了テーブル163を使用して実行中の命令及びブランチ履歴を追跡し、それらをBHT122に供給する。
図示のコンピュータ・プロセッサ・システム100は単なる一例であり、他の構成が可能であることは当業者には明らかであろう。例えば、プログラム状態及びデータ・ユニット160はコンピュータ・プロセッサ・システム100における他の場所に設けられてもよく、データ交換バス150への接続に限定されない。
図2は、本発明に従って遂行される消費電力管理方法に関する消費電力履歴テーブル管理のフローチャートである。消費電力履歴テーブル管理方法200は、コンピュータ・プロセッサ・システムに関する消費電力を管理するために使用し得る測定された電力使用量の値を消費電力履歴テーブル(PHT)に設定する。
方法200はPHTを初期化することによって開始する(ステップ203)。コンピュータ・プロセッサ・システムにおける電力使用量が測定される(ステップ204)。命令の実行が最終命令に関して監視され(ステップ206)、命令が最終のものであるかどうかが決定される(ステップ208)。命令が最終のものでない場合、方法200は命令実行の監視を継続する(ステップ206)。命令が最終のものである場合、最終命令に対するアドレスが決定され(ステップ210)、最終命令に対する測定された電力使用量が決定される(ステップ212)。最終命令のアドレス及び測定された電力使用量が相互に関連してPHTにストアされる(ステップ214)。実行される次の命令に対する電力使用量の追跡を可能にするために、電力使用量がリセットされる(ステップ216)。1つの実施例では、方法200はPHTを初期化することによって継続することが可能である(ステップ203)。もう1つの実施例では、方法200は電力使用量を測定することによって継続することが可能である(ステップ204)。
方法200は、図2に示されるように、任意選択的なリセット・ルーチンを含むこともできる。任意選択的なリセット・ルーチンは、種々のアドレスを長期間にわたって種々に使用する種々のコンピュータ・アプリケーションから成る。例えば、スプレッドシートのような1つのアプリケーションは、特定のアドレスに対しては少ない電力を使用し得るし、その後実行される別のプログラムは大きい電力を使用し得る。所定数のオペレーションまたは所定量の時間の後にPHTをリセットすることは、PHTが種々のアプリケーションによる種々の電力使用量を保持することを可能にする。
任意選択的なリセット・ルーチンは、アプリケーション・リセット・カウンタが、所定の期間を定義するアプリケーション・リセット限界よりも大きい又はそれに等しいかどうかを決定する(ステップ218)。アプリケーション・リセット・カウンタがアプリケーション・リセット限界よりも大きくなく又はそれに等しくないとき、アプリケーション・リセット・カウンタはインクリメントされ(ステップ220)、方法200は電力使用量の測定を継続する(ステップ204)。アプリケーション・リセット・カウンタがアプリケーション・リセット限界よりも大きい又はそれに等しいとき、PHTはリセットされ(ステップ222)、アプリケーション・リセット・カウンタはリセットされる(ステップ224)。1つの実施例では、方法200は、PHTを初期化することによって継続することができる(ステップ203)。別の実施例では、方法200は、電力使用量を測定することによって継続することができる(ステップ204)。アプリケーション・リセット限界に対する値を特定のアプリケーションに対する要望どおりに選択することも可能であることは当業者には明らかであろう。1つの例では、アプリケーション・リセット限界は100万である。
PHTは、そのPHTにおける測定された電力使用量に関する値を所定の電力使用量の値にセットするように初期化される(ステップ203)。一般に、測定された電力使用量の値は低い値又は未知の値に初期化される。1つの実施例では、PHTの電力使用量部分が単一ビット幅であり、測定された電力使用量が「高」又は「低」としてストアされるとき、所定の電力使用量の値は「低」である。別の実施例では、PHTの電力使用量部分が2ビット幅であり、測定された電力使用量が「高」、「中間」、「低」、又は「未知」としてストアされるとき、所定の電力使用量の値は「未知」である。関連の命令の実行中に測定された電力使用量によって高い値が保証される場合、測定された電力使用量をその高い値まで増加させることも可能である。
コンピュータ・プロセッサ・システムにおける電力使用量を測定する場合(ステップ204)、その特定のコンピュータ・プロセッサ・システムの設計にとって最善の結果を与えるように測定方法を選択することも可能である。1つの実施例では、特定の命令の実行を必要としない実行ユニット(EU)は、その特定の命令が実行されている間、シャットダウンされる。一例として、各EUは集積回路のクロック・ゲート付き領域であると考えることもできる。電力使用量を測定するために、クロックが各EUと関連付けられ、そして各実行ユニットに対するオン・タイム(on-time)を追跡するために関連のEUがオンにされるとき、各クロックは稼動し得る。命令が終了するとき、測定された電力使用量を決定するためにすべてのクロックに対するオン・タイムを合算することが可能である。EUの関連エリアを占めることによって、より正確な電力使用量測定が得られる。命令が終了するとき、測定された電力使用量を決定するために各EUの断片的エリアごとにウェート付けることによって、全クロックに対するオン・タイムを合算することが可能である。例えば、全EUの合計エリアの半分であるEUは全EUの合計エリアの四分の一であるEUの2倍も重くウェート付けされるであろう。断片的エリア別のウェート付けは電力使用量がEUのエリアに比例することを可能にする。単一のEUが幾つもの又は多数のクロック・ゲート付き領域に分裂し得ること、及びこれらのクロック・ゲート付き領域の各々が電力使用量測定に反映されることは当業者には明らかであろう。別の実施例では、コンピュータ・プロセッサ・システムにおける電力使用量の測定(ステップ204)は電力使用量の表示としてパワー・レール(powerrail)の温度を測定することを含む。
最終命令のアドレスおよび測定された電力使用量はPHTにストアされる(ステップ214)。即ち、最終命令のアドレスは測定された電力使用量に関連してストアされる。そのアドレスは、PHTにおけるスペースを節約するために部分的アドレスまたは短縮アドレスとしてストアされてもよい。1つの実施例では、1つの命令に対して決定された最新の電力使用量がPHTにストアされ、従ってそのストアされた値はいつも最新の値である。別の実施例では、1つの命令に対して決定された最高の測定された電力使用量がPHTにストアされ、従ってそのストアされた値は最大の測定された値である。新たに決定された測定された電力使用量は現在ストアされている測定された電力使用量と比較され、新たに決定された測定された電力使用量が現在ストアされている測定された電力使用量よりも大きいときだけ、新たに決定された測定された電力使用量がPHTにストアされる。例えば、現在ストアされている測定された電力使用量が「低」である場合、新たに決定された測定された電力使用量が「中間」または「高」であるときにだけその新たに決定された測定された電力使用量がストアされる。更に別の実施例では、新たに決定された測定された電力使用量が現在ストアされている測定された電力使用量を超える度にPHTにストアされていた測定された電力使用量がインクリメントされ、従って、PHTにストアされていた測定された電力使用量は徐々に増加する。例えば、現在ストアされている測定された電力使用量が「低」である場合、新たに決定された測定された電力使用量が「中間」または「高」であるときにその測定された電力使用量が「中間」としてPHTにストアされる。測定された電力使用量のPHTへのストアは特定のアプリケーションにとって望ましいように選択され得るということは当業者には明らかであろう。
図3は、本発明に従って遂行される消費電力履歴テーブルを使用する消費電力管理の方法のフローチャートである。消費電力履歴テーブル管理の使用方法300は、コンピュータ・プロセッサ・システムのための電力を管理するためにアドレス単位で消費電力履歴テーブル(PHT)にストアされた測定された電力使用量を使用する。
方法300は、ディスパッチされた命令に対する命令のディスパッチを監視することによって開始する(ステップ304)。命令がディスパッチされようとしているかどうかが決定される(ステップ306)。ディスパッチされる命令がないとき、方法300は、命令ディスパッチを監視することによって継続する(ステップ304)。ディスパッチされる命令があるとき、そのディスパッチ命令に対するディスパッチ命令アドレスが得られる(ステップ308)。ディスパッチ命令に対して得られたディスパッチ命令アドレスに関する測定された電力使用量がPHTからルックアップされる(ステップ310)。ディスパッチ命令アドレスに関する測定された電力使用量が電力使用量限界よりも大きい又はそれに等しいかどうかが決定される(ステップ312)。測定された電力使用量が電力使用量限界よりも大きくなく又はそれに等しくないとき、命令の正規のディスパッチが実行され(ステップ316)、方法300は命令ディスパッチの監視を継続することができる。測定された電力使用量が電力使用量限界よりも大きい又はそれに等しいとき、命令の省電力ディスパッチが省電力処理として実行され(ステップ314)、方法300は終了する(ステップ318)。方法300は、命令ディスパッチの監視を継続することもできる(ステップ304)。
測定された電力使用量が電力使用量限界よりも大きい又はそれに等しいかどうかを決定するときに使用される電力使用量限界は所定の限界又は個々に選択された限界であってもよい。所定の限界は固定されている。例えば、電力使用量限界が「中間」という所定の限界である場合、命令の省電力ディスパッチの実行は、測定された電力使用量が「中間」又は「高」であるときに行われる(ステップ314)。個々に選択された限界は、ユーザによって入力されるか又はプログラム制御の下で調節されてもよい。1つの例では、ユーザは、電力使用量限界が「中間」ではなく「低」にセットされるとき、コンピュータ・プロセッサ・システムは更に多くの電力を節約し、実行時間要件に適合するということを知り得るので、ユーザは電力使用量限界を「低」にセットする。もう1つの例では、コンピュータ・プロセッサ・システムは、電力使用量限界が「低」にセットされる場合には実行時間が遅すぎるということを検知し得るし、プログラム制御の下に電力使用量限界を「中間」にセットし得る。
測定された電力使用量が電力使用量限界よりも大きい又はそれに等しいとき、命令の省電力ディスパッチが省電力処理として実行される(ステップ314)。省電力処理の例は、実行のための命令を遅い速度で送ること及び実行のための命令相互間に「中断(break)」を送ることを含む。命令の実行速度は、命令が命令実行ユニットにディスパッチされる方法を調節することによって電力使用量を減少させるように減少し得る。1つの実施例では、命令または命令のグループのディスパッチ速度は、命令実行ユニットにおける実行速度を減少させるように減少し得る。命令のグループに対して、そのグループ全体を1回ディスパッチするのではなく、一時に1つの命令がディスパッチされ得る。別の実施例では、命令実行ユニットにおける実行速度を減少させるために、命令間に「中断」を挿入することも可能である。消費電力管理の必要性から見て所望の実行速度を提供するように、「中断」の数及び/又は期間が選択され得る。アドレスに関する命令が高い測定された電力使用量を有するとき、より多くの中断が行われ得る。
消費電力管理のための命令の省電力ディスパッチは、PHTにストアされるとき、測定された電力使用量を表すように調整され得る。例えば、測定された電力使用量の中間値を有するアドレスよりも、高い値の測定された電力使用量を有するアドレスに対して大きい省電力を具現化し得る。高い値のアドレスに対して遅いディスパッチ速度を使用することが可能である。調整の制御の細かさ、測定された電力使用量データ・ストレージの細かさに適合し得る。即ち、16個の可能な測定された電力使用量の増分を提供する4ビットの測定された電力使用量データ・ストレージは、4個の可能な測定された電力使用量の増分を提供する2ビットの測定された電力使用量データ・ストレージよりも細かな制御を省電力に施すことが可能である。
特定のコンピュータ・プロセッサ・システムの操作目標および特性に基づいて、電力使用量限界および消費電力管理のための命令を選択し得るということは当業者には明らかであろう。操作目標がピーク電力を減少させることであるとき、或る電力使用量限界が最適となり得る。操作目標が平均電力を減少させることであるとき、異なる電力使用量限界が最適となり得る。例えば、高い電力使用量限界は、多くの場合、ピーク電力の制御に適するし、低い電力使用量限界は平均電力の制御に適する。
図4は、本発明に従って遂行される消費電力管理の方法のための情報処理システムのブロック図である。情報処理システム401は、本明細書に開示されたオペレーションを遂行することができるコンピュータ・システムの単純化された例である。情報処理システム401は、ホスト・バス405に接続されたプロセッサ400を含む。ホスト・バス405にはレベル2(L2)キャッシュ・メモリ410も接続される。ホスト・PCI間ブリッジ415がメイン・メモリ420に接続される。ブリッジ415は、キャッシュ・メモリ及びメイン・メモリ制御機能を含み、PCIバス425、プロセッサ400、L2キャッシュ410、メイン・メモリ420、及びホスト・バス405の間の転送を処理するためのバス制御を提供する。PCIバス425は、例えば、LANカード430及び/又はビデオ・カード432を含む種々の装置に対するインターフェースを提供する。ビデオ・カード432は、液晶ディスプレイ(LCD)、陰極線管(CRT)ディスプレイ、投影ディスプレイ等のようなディスプレイ装置450に動作可能に接続される。ビデオ・カード432は、特定のアプリケーションにとっては望ましいAGPまたはPCIエクスプレス・バスのような他のタイプのバスに取り付けられてもよい。
PCI・ISA間ブリッジ435は、PCIバス425及びISAバス440と、ユニバーサル・シリアル・バス(USB)機能445と、IDE装置機能450、消費電力管理機能455との間の転送を処理するためのバス制御を提供し、リアル・タイム・クロック(RTC)、DMA制御、割込みサポート、及びシステム管理バス・サポートのような図示されてない他の機能的素子を含み得る。周辺装置および入出力(I/O)装置は、ISAバス440に接続された種々のインターフェース(例えば、パラレル・インターフェース462、シリアル・インターフェース464、赤外線(IR)インターフェース466、キーボード・インターフェース468、マウス・インターフェース470、固定ディスク(HDD)472)に接続され得る。それとは別に、多くのI/O装置を収容するためにスーパI/Oコントローラ(図示されてない)をISAバス440に接続することも可能である。消費電力管理の方法が使用されるコンピュータ・プロセッサ・システムのための電力使用量を測定するために、及び/又は命令ディスパッチを調節するために、特定のI/O装置を使用することが可能であるということも当業者には明らかであろう。
BIOS480がISAバス440に接続され、それは、種々の低レベルのシステム機能及びシステム・ブート機能のための必要なプロセッサ実行可能コードを組み込む。BIOS480は、磁気記憶媒体、光学的記憶媒体、フラッシュ・メモリ、ランダム・アクセス・メモリ、リード・オンリ・メモリ、及び命令を符号化する信号(例えば、ネットワークからの信号)を搬送する通信媒体、を含む任意のコンピュータ可読媒体にストアされてもよい。ネットワークを介してファイルをコピーすべく、情報処理システムを他のコンピュータ・システムに接続するために、LANカード430がPCIバス425及びPCI・ISA間ブリッジ435に接続される。同様に、電話回線接続を使用してインターネットに接続すべく、コンピュータ・システム401をISPに接続するために、モデム475がシリアル・ポート464およびPCI・ISA間ブリッジ435に接続される。
図4に示されたコンピュータ・システムは本明細書に開示された発明を実施することができるが、このコンピュータ・システムはコンピュータ・システムの単なる一例である。多くの他のコンピュータ・システムが本明細書に開示された発明を遂行することができるということも当業者には明らかであろう。
本発明の好適な実施態様の1つは、アプリケーション、即ち、例えばコンピュータのランダム・アクセス・メモリに常駐し得るコード・モジュールにおける一連の命令(プログラム・コード)である。その一連の命令は、コンピュータによって要求されるまで、他のコンピュータ・メモリ、例えば、ハードディスク・ドライブに、または光ディスク(CD−ROMにおける究極的な使用のため)またはフロッピ・ディスクのような取外し可能記憶装置にストアされるか、またはインターネット又は他のコンピュータ・ネットワークを介してダウンロードされ得る。従って、本発明は、コンピュータ可読媒体上に記憶され、データを表示するオペレーションを遂行するためにデジタル処理装置によって実行され得るコンピュータ・プログラムとして具現化することも可能である。更に、開示された種々の方法は、選択的に作動されるか又はソフトウェアによって再構成される汎用コンピュータにおいて都合よく具現化されるが、そのような方法は、必要な方法ステップを遂行するように構成されたハードウェア、ファームウェア、またはもっと特殊化された装置において実行されてもよい。
本明細書において開示された発明の実施例は現時点では望ましいものと思われるが、本発明の真意および範囲を逸脱することなく、種々の変更および修正を施すことも可能である。発明の範囲は、「特許請求の範囲」において表わされ、均等物の意味および範囲内にあるすべての変更がそこに包含されることになる。
本発明と共に使用するためのコンピュータ・プロセッサ・システムのブロック図である。 本発明に従って遂行される消費電力管理方法のための消費電力履歴テーブル管理のフローチャートである。 本発明に従って遂行される消費電力履歴テーブルを使用する消費電力管理方法のフローチャートである。 本発明に従って遂行される消費電力管理方法のための情報処理システムのブロック図である。

Claims (11)

  1. 消費電力履歴テーブル(PHT)を有する命令フェッチ制御ユニットと、命令ディスパッチ制御ユニットと、消費電力制御ユニットを有する命令実行ユニットと、プログラム状態及びデータ・ユニットとを備えるコンピュータ・プロセッサ・システムのための消費電力管理方法であって、
    前記命令実行ユニットが、前記命令フェッチ制御ユニットの指示の下に前記命令ディスパッチ制御ユニットによってディスパッチされた命令を実行すると共に電力使用量を測定するステップと、
    前記プログラム状態及びデータ・ユニットが、前記命令ディスパッチ制御ユニットによってディスパッチされた最終命令に対する命令の実行を監視し、最終のものであるか否かを決定する監視ステップと、
    前記監視ステップにより最終のものであると決定された場合、前記プログラム状態及びデータ・ユニットが、前記最終命令に対する最終命令アドレスを決定するステップと、
    前記消費電力制御ユニットが、前記最終命令に対する測定された電力使用量を決定するステップと、
    前記命令フェッチ制御ユニットが、前記最終命令アドレスを前記測定された電力使用量と関連して前記消費電力履歴テーブル(PHT)にストアするステップと
    前記命令フェッチ制御ユニットが、前記測定された電力使用量を前記消費電力履歴テーブル(PHT)にストアするごとに、測定する電力使用量をリセットするステップと、
    前記命令フェッチ制御ユニットが、ディスパッチ命令に対する命令のディスパッチを監視するステップと、
    前記命令フェッチ制御ユニットが、前記ディスパッチ命令に対するディスパッチ命令アドレスを決定するステップと、
    前記命令フェッチ制御ユニットが、前記ディスパッチ命令アドレスに対する測定された電力使用量を前記消費電力履歴テーブル(PHT)から決定するステップと、
    前記命令フェッチ制御ユニットが、前記ディスパッチ命令アドレスに対する測定された電力使用量が電力使用量限界よりも大きい又はそれに等しいかどうかを決定するステップと、
    前記命令フェッチ制御ユニットが、前記ディスパッチ命令アドレスに対する測定された電力使用量が電力使用量限界を超えるとき、省電力処理を実行するステップと、を含む方法。
  2. 前記電力使用量を測定するステップは、
    各実行ユニットに対するオン・タイムを決定するステップと、
    すべての実行ユニットに対するオン・タイムを合算するステップと
    を含む、請求項1に記載の方法。
  3. 前記電力使用量を測定するステップは、
    各実行ユニットに対するオン・タイムを決定するステップと、
    各実行ユニットの断片的エリアによってウェート付けされたすべての実行ユニットに対するオン・タイムを合算するステップと
    を含む、請求項1に記載の方法。
  4. 前記省電力処理は、実行のための命令を遅い速度で送ることおよび実行のための命令間に「中断」を送ることを含むグループから選択される、請求項に記載の方法。
  5. 消費電力履歴テーブル(PHT)を有する命令フェッチ制御ユニットと、命令ディスパッチ制御ユニットと、消費電力制御ユニットを有する命令実行ユニットと、プログラム状態及びデータ・ユニットとを備えるコンピュータ・プロセッサ・システムのための消費電力管理に関するコンピュータ使用可能媒体におけるコンピュータ・プログラムであって、
    前記命令フェッチ制御ユニットの指示の下に前記命令ディスパッチ制御ユニットによってディスパッチされた命令を実行すると共に電力使用量を測定するためのコンピュータ・プログラム・コードと、
    前記命令ディスパッチ制御ユニットによってディスパッチされた最終命令に対する命令の実行を監視し、最終のものであるか否かを決定するためのコンピュータ・プログラム・コードと、
    前記最終のものであると決定した場合、前記最終命令に対する最終命令アドレスを決定するためのコンピュータ・プログラム・コードと、
    前記最終命令に対する測定された電力使用量を決定するためのコンピュータ・プログラム・コードと、
    前記最終命令アドレスを前記測定された電力使用量と関連して前記消費電力履歴テーブル(PHT)にストアし、ストアするごとに、測定する電力使用量をリセットするためのコンピュータ・プログラム・コードと
    ディスパッチ命令に対する命令のディスパッチを監視するためのコンピュータ・プログラム・コードと、
    前記ディスパッチ命令に対するディスパッチ命令アドレスを決定するためのコンピュータ・プログラム・コードと、
    前記ディスパッチ命令アドレスに対する測定された電力使用量を前記消費電力履歴テーブル(PHT)から決定するためのコンピュータ・プログラム・コードと、
    前記ディスパッチ命令アドレスに対する測定された電力使用量が電力使用量限界よりも大きい又はそれに等しいかどうかを決定するためのコンピュータ・プログラム・コードと、
    前記ディスパッチ命令アドレスに対する測定された電力使用量が電力使用量限界を超えるとき、省電力処理を実行するためのコンピュータ・プログラム・コードと、
    を含む、コンピュータ・プログラム。
  6. 前記電力使用量を測定するためのコンピュータ・プログラム・コードは、
    各クロック・ゲート付き領域に対するオン・タイムを決定するためのコンピュータ・プログラム・コードと、
    すべての前記クロック・ゲート付き領域に対するオン・タイムを合算するためのコンピュータ・プログラム・コードと
    を含む、請求項に記載のコンピュータ・プログラム。
  7. 前記電力使用量を測定するためのコンピュータ・プログラム・コードは、
    各クロック・ゲート付き領域に対するオン・タイムを決定するためのコンピュータ・プログラム・コードと、
    各クロック・ゲート付き領域の断片的エリアによってウェート付けされたすべてのクロック・ゲート付き領域に対するオン・タイムを合算するためのコンピュータ・プログラム・コードと
    を含む、請求項に記載のコンピュータ・プログラム。
  8. 前記省電力処理は、実行のための命令を遅い速度で送ることおよび実行のための命令間に「中断」を送ることを含むグループから選択される、請求項に記載のコンピュータ・プログラム。
  9. 消費電力管理を行うコンピュータ・プロセッサ・システムであって、
    消費電力履歴テーブル(PHT)を有する命令フェッチ制御ユニットと、
    命令ディスパッチ制御ユニットと、
    消費電力制御ユニットを有する命令実行ユニットと、
    プログラム状態及びデータ・ユニットと、
    を含み、
    前記命令ディスパッチ制御ユニットは実行のための命令を前記命令フェッチ制御ユニットの指示の下に前記命令実行ユニットにディスパッチし、
    前記命令実行ユニットはディスパッチされた前記命令を実行すると共に電力使用量を測定し、
    前記プログラム状態及びデータ・ユニットは前記命令ディスパッチ制御ユニットによってディスパッチされた最終命令に対する命令の実行を監視し、最終のものであるか否かを決定し、最終のものであると決定した場合、前記最終命令に対する最終命令アドレスを決定し、
    前記消費電力制御ユニットは前記最終命令に対する測定された電力使用量を決定し、
    前記命令フェッチ制御ユニットは前記測定された電力使用量前記最終命令アドレスと関連して前記消費電力履歴テーブル(PHT)にストアし、ストアするごとに、測定する電力使用量をリセットし、
    前記命令フェッチ制御ユニットは、ディスパッチ命令に対する命令のディスパッチを監視し、前記ディスパッチ命令に対するディスパッチ命令アドレスを決定し、前記ディスパッチ命令アドレスに対する測定された電力使用量を前記消費電力履歴テーブル(PHT)から決定し、前記ディスパッチ命令アドレスに対する測定された電力使用量が電力使用量限界よりも大きい又はそれに等しいかどうかを決定し、前記ディスパッチ命令アドレスに対する測定された電力使用量が電力使用量限界を超えるとき、省電力処理を実行する、
    コンピュータ・プロセッサ・システム。
  10. 前記命令フェッチ制御ユニットは、ブランチ履歴テーブル(BHT)を有し、前記最終命令アドレスに関連して前記ブランチ履歴テーブル(BHT)にストアされたブランチ履歴に関して前記命令の実行を監視する、請求項に記載のコンピュータ・プロセッサ・システム。
  11. 前記消費電力履歴テーブル(PHT)および前記ブランチ履歴テーブル(BHT)は単一のテーブルである、請求項10に記載のコンピュータ・プロセッサ・システム。
JP2007266120A 2006-10-19 2007-10-12 コンピュータ・プロセッサ・システムのための消費電力管理方法及びシステム Expired - Fee Related JP5164096B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/551,007 US7673160B2 (en) 2006-10-19 2006-10-19 System and method of power management for computer processor systems
US11/551,007 2006-10-19

Publications (2)

Publication Number Publication Date
JP2008102927A JP2008102927A (ja) 2008-05-01
JP5164096B2 true JP5164096B2 (ja) 2013-03-13

Family

ID=39319464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007266120A Expired - Fee Related JP5164096B2 (ja) 2006-10-19 2007-10-12 コンピュータ・プロセッサ・システムのための消費電力管理方法及びシステム

Country Status (4)

Country Link
US (1) US7673160B2 (ja)
JP (1) JP5164096B2 (ja)
KR (1) KR101020008B1 (ja)
CN (1) CN101165635B (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5243304B2 (ja) 2008-04-10 2013-07-24 株式会社ニフコ 物品固定具
US8010824B2 (en) * 2008-04-11 2011-08-30 Advanced Micro Devices , Inc. Sampling chip activity for real time power estimation
US8245065B2 (en) 2009-03-04 2012-08-14 International Business Machines Corporation Power gating processor execution units when number of instructions issued per cycle falls below threshold and are independent until instruction queue is full
US8365175B2 (en) * 2009-03-10 2013-01-29 International Business Machines Corporation Power management using dynamic application scheduling
US8442786B2 (en) 2010-06-02 2013-05-14 Advanced Micro Devices, Inc. Flexible power reporting in a computing system
US8504854B2 (en) 2010-06-21 2013-08-06 Advanced Micro Devices, Inc. Managing multiple operating points for stable virtual frequencies
US8510582B2 (en) 2010-07-21 2013-08-13 Advanced Micro Devices, Inc. Managing current and power in a computing system
US8555095B2 (en) 2010-07-26 2013-10-08 Apple Inc. Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
US8756442B2 (en) * 2010-12-16 2014-06-17 Advanced Micro Devices, Inc. System for processor power limit management
US8806254B2 (en) * 2011-02-01 2014-08-12 Dell Products L.P. System and method for creating and dynamically maintaining system power inventories
US9069555B2 (en) 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
US8650428B2 (en) 2011-07-19 2014-02-11 Ati Technologies Ulc Dynamic weight calculation in a digital power estimation and management system
US8810584B2 (en) * 2011-09-13 2014-08-19 Nvidia Corporation Smart power management in graphics processing unit (GPU) based cluster computing during predictably occurring idle time
US8904208B2 (en) * 2011-11-04 2014-12-02 International Business Machines Corporation Run-time task-level dynamic energy management
US8862909B2 (en) 2011-12-02 2014-10-14 Advanced Micro Devices, Inc. System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller
US8924758B2 (en) 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
CN102902346B (zh) * 2012-09-27 2015-07-08 中国科学院声学研究所 降低指令高速缓冲存储器功耗的方法及装置
JP2015097080A (ja) * 2013-10-08 2015-05-21 株式会社東芝 画像形成装置の管理装置及び管理プログラム
US20150220128A1 (en) * 2014-02-04 2015-08-06 Infineon Technologies Ag Method and Apparatus for Use in a Data Processing System
US9847662B2 (en) 2014-10-27 2017-12-19 Sandisk Technologies Llc Voltage slew rate throttling for reduction of anomalous charging current
US9880605B2 (en) * 2014-10-27 2018-01-30 Sandisk Technologies Llc Method and system for throttling power consumption
US9916087B2 (en) 2014-10-27 2018-03-13 Sandisk Technologies Llc Method and system for throttling bandwidth based on temperature
CN104461395A (zh) * 2014-12-15 2015-03-25 长安大学 一种新型计算机存储系统及计算机系统
CN105786152B (zh) * 2014-12-26 2019-03-29 联想(北京)有限公司 一种控制方法及电子设备
US9977480B2 (en) * 2015-04-15 2018-05-22 Qualcomm Incorporated Selective coupling of power rails to a memory domain(s) in a processor-based system
US10684671B2 (en) 2016-05-27 2020-06-16 Qualcomm Incorporated Adaptively controlling drive strength of multiplexed power from supply power rails in a power multiplexing system to a powered circuit
US11836031B2 (en) 2020-11-10 2023-12-05 Advanced Micro Devices, Inc. Application override of power estimation mechanism

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3058986B2 (ja) * 1992-04-02 2000-07-04 ダイヤセミコンシステムズ株式会社 コンピュータシステムの節電制御装置
JP3618442B2 (ja) * 1996-02-08 2005-02-09 株式会社東芝 マイクロプロセッサのパワーエスティメータ装置
US5887179A (en) * 1996-06-11 1999-03-23 Motorola, Inc. System power saving means and method
JPH11161692A (ja) * 1997-11-28 1999-06-18 Matsushita Electric Ind Co Ltd 消費電力のシミュレーション方法
JP3573957B2 (ja) 1998-05-20 2004-10-06 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ
JP2000322257A (ja) * 1999-05-10 2000-11-24 Nec Corp 条件分岐命令の投機的実行制御方法
JP3877518B2 (ja) 2000-12-13 2007-02-07 松下電器産業株式会社 プロセッサの電力制御装置
US6826704B1 (en) * 2001-03-08 2004-11-30 Advanced Micro Devices, Inc. Microprocessor employing a performance throttling mechanism for power management
EP1611498B1 (en) * 2003-03-27 2010-03-10 Nxp B.V. Branch based activity monitoring
CN1202425C (zh) * 2003-04-22 2005-05-18 李学湖 电能管理网设备
US7134028B2 (en) 2003-05-01 2006-11-07 International Business Machines Corporation Processor with low overhead predictive supply voltage gating for leakage power reduction
JP2006059068A (ja) * 2004-08-19 2006-03-02 Matsushita Electric Ind Co Ltd プロセッサ装置
US7987393B2 (en) * 2005-05-16 2011-07-26 Texas Instruments Incorporated Determining operating context of an executed instruction

Also Published As

Publication number Publication date
KR101020008B1 (ko) 2011-03-09
KR20080035461A (ko) 2008-04-23
US20080098242A1 (en) 2008-04-24
US7673160B2 (en) 2010-03-02
CN101165635A (zh) 2008-04-23
CN101165635B (zh) 2010-12-01
JP2008102927A (ja) 2008-05-01

Similar Documents

Publication Publication Date Title
JP5164096B2 (ja) コンピュータ・プロセッサ・システムのための消費電力管理方法及びシステム
US8006070B2 (en) Method and apparatus for inhibiting fetch throttling when a processor encounters a low confidence branch instruction in an information handling system
US7861068B2 (en) Method and apparatus for using dynamic workload characteristics to control CPU frequency and voltage scaling
US10551896B2 (en) Method and apparatus for dynamic clock and voltage scaling in a computer processor based on program phase
US7627742B2 (en) Method and apparatus for conserving power by throttling instruction fetching when a processor encounters low confidence branches in an information handling system
US8181047B2 (en) Apparatus and method for controlling power management by comparing tick idle time data to power management state resume time data
KR101501402B1 (ko) 프로세서의 터보 모드 동작의 증가하는 전력 효율
KR101518440B1 (ko) 프로세싱 노드의 동적 성능 제어
US6829713B2 (en) CPU power management based on utilization with lowest performance mode at the mid-utilization range
US6636976B1 (en) Mechanism to control di/dt for a microprocessor
US8898435B2 (en) Optimizing system throughput by automatically altering thread co-execution based on operating system directives
US7966506B2 (en) Saving power in a computer system
US8756442B2 (en) System for processor power limit management
US20070239398A1 (en) Performance state management
US7925853B2 (en) Method and apparatus for controlling memory array gating when a processor executes a low confidence branch instruction in an information handling system
WO2012158728A2 (en) Adjusting the clock frequency of a processing unit in real-time based on a frequency sensitivity value
US7817370B2 (en) System and method to avoid disk lube pooling
WO2013147850A1 (en) Controlling power gate circuitry based on dynamic capacitance of a circuit
US10614007B2 (en) Providing interrupt service routine (ISR) prefetching in multicore processor-based systems
EP0901063A2 (en) Power management methods
JP2023505459A (ja) 異種プロセッサ間のタスク遷移の方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120319

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20120319

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120323

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20121003

R155 Notification before disposition of declining of application

Free format text: JAPANESE INTERMEDIATE CODE: R155

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121212

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees