JP2012503233A - Processor power consumption control and voltage drop by bandwidth throttling of microarchitecture - Google Patents

Processor power consumption control and voltage drop by bandwidth throttling of microarchitecture Download PDF

Info

Publication number
JP2012503233A
JP2012503233A JP2011527016A JP2011527016A JP2012503233A JP 2012503233 A JP2012503233 A JP 2012503233A JP 2011527016 A JP2011527016 A JP 2011527016A JP 2011527016 A JP2011527016 A JP 2011527016A JP 2012503233 A JP2012503233 A JP 2012503233A
Authority
JP
Japan
Prior art keywords
processor
voltage
throughput rate
extended
state
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.)
Granted
Application number
JP2011527016A
Other languages
Japanese (ja)
Other versions
JP5090569B2 (en
Inventor
ジャハジルダール,サンジーヴ
ガムサラガン,エドワード
イー. サイアーズ,スコット
Original Assignee
インテル コーポレイション
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 インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2012503233A publication Critical patent/JP2012503233A/en
Application granted granted Critical
Publication of JP5090569B2 publication Critical patent/JP5090569B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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)
  • Software Systems (AREA)
  • Power Sources (AREA)

Abstract

方法、装置及びシステムが開示される。一実施形態において、方法は、第1電圧をプロセッサに供給するステップを有する。方法は、更に、プロセッサが第1電圧で拡張プロセッサ休止状態において機能することを可能にするステップを有する。第1電圧は、拡張プロセッサ休止状態に係る最低適合電圧を下回る電圧である。方法は、プロセッサで実行される命令の最大スループットレートを減じることによって、プロセッサが第1電圧で拡張プロセッサ休止状態からのウェイク時に命令を実行することを可能にするステップを有する。A method, apparatus and system are disclosed. In one embodiment, the method includes providing a first voltage to the processor. The method further comprises the step of enabling the processor to function in the extended processor hibernation state at the first voltage. The first voltage is a voltage that is lower than the lowest adaptive voltage related to the extended processor hibernation state. The method includes the step of allowing the processor to execute instructions upon wake from extended processor hibernation at a first voltage by reducing a maximum throughput rate of instructions executed by the processor.

Description

本発明は、特定のプロセッサ電力状態のためのミクロアーキテクチャのバンド幅スロットリングに関する。   The present invention relates to microarchitecture bandwidth throttling for specific processor power states.

例えばインテル(登録商標)のアーキテクチャ・プロセッサ又は他のブランド・プロセッサ等の現在のプロセッサは、一般に、プロセッサがビジーでないときの電力節約を可能にするために利用可能な複数の電力状態を有する。プロセッサは、一般に、C0と呼ばれる完全動作電力状態を有する。C0は、一般に、高周波モード(HFM)及び低周波モード(LFM)を有する。他の共通するプロセッサ電力状態はC1Eである。C1E状態において、プロセッサは、スヌープ・サービシングに利用可能であるが、如何なる命令も実行又はリタイアしない。スヌープ・サービシングは、プロセッサ・キャッシュを運転可能に保つのに十分な特定の電圧を必要とする。   Current processors, such as, for example, Intel architecture processors or other brand processors, generally have multiple power states available to allow power savings when the processor is not busy. The processor typically has a fully operational power state called C0. C0 generally has a high frequency mode (HFM) and a low frequency mode (LFM). Another common processor power state is C1E. In the C1E state, the processor is available for snoop servicing but does not execute or retire any instructions. Snoop servicing requires a specific voltage that is sufficient to keep the processor cache operational.

拡張プロセッサ休止状態に適合するよりも低い供給電圧レベルで拡張プロセッサ休止状態における動作を可能にするためにミクロアーキテクチャのバンド幅スロットリングを用いることができるコンピュータシステムの実施形態を記載する。Embodiments of a computer system that can use microarchitecture bandwidth throttling to enable operation in extended processor hibernation at lower supply voltage levels than are compatible with extended processor hibernation are described. ディープC1E電圧を実施するために利用される電力管理ロジックの実施形態を記載する。Embodiments of power management logic utilized to implement deep C1E voltage are described. ディープC1Eプロセッサ電力管理状態に出入りするプロセッサの実施形態のフロー図である。FIG. 6 is a flow diagram of an embodiment of a processor entering and exiting a deep C1E processor power management state.

本発明について、限定されない例として、図面を参照して説明する。図面において、同じ参照符号は同じ要素を示す。   The invention will now be described by way of non-limiting example with reference to the drawings. In the drawings, like reference numbers indicate like elements.

プロセッサ・バンド幅スロットリングを実施することによってC1E電力状態電圧レベルよりも低い電圧でC1E電力状態においてプロセッサを動作する方法、装置及びシステムの実施形態が開示される。   Embodiments of methods, apparatus, and systems for operating a processor in a C1E power state at a voltage lower than a C1E power state voltage level by implementing processor bandwidth throttling are disclosed.

現在のプロセッサは、一般に、プロセッサがビジーでないときの電力節約を可能にするのに利用可能な複数の電力状態を有する。多くのプロセッサにおいて、かかる状態のうちの1つには、プロセッサが完全に動作している状態であるC0状態がある。通常動作の間、プロセッサは、高周波モード(HFM)又は低周波モード(LFM)のいずれか一方において、C0状態で動作する。プロセッサは、HFM対LFMにおいて異なる電圧を供給され、LFM電圧は、一般に、HFM電圧よりも低い電圧である。   Current processors typically have multiple power states available to allow power savings when the processor is not busy. In many processors, one such state is the C0 state, where the processor is fully operational. During normal operation, the processor operates in the C0 state in either a high frequency mode (HFM) or a low frequency mode (LFM). The processor is supplied with a different voltage at HFM vs. LFM, which is generally a lower voltage than the HFM voltage.

他のプロセッサ電力状態は、プロセッサがスヌープ・サービシングに利用可能であることを要求するC1E状態である。多くの実施形態において、C1E状態は、拡張プロセッサ休止状態(enhanced processor halt state)と呼ばれることがある。C1E状態は、C0のHFM状態と比べて、プロセッサへ供給される必要がある電圧がより低い。   Another processor power state is a C1E state that requires the processor to be available for snoop servicing. In many embodiments, the C1E state may be referred to as an enhanced processor halt state. The C1E state requires a lower voltage to be supplied to the processor than the C0 HFM state.

標準のLFM電圧で、プロセッサは、クロックサイクルごとに最大数の命令をスケジュール及びリタイアすることができる。一般に、C1E状態は、C1E状態からのウェイクアップ時に、プロセッサが即座に最大実行及びリタイアレートに遷移するので、LFM電圧と同じ電圧を利用する。C1E状態における電力消費を下げるよう、ディープC1E電圧が実施されてよく、この電圧は、標準のC1E(すなわち、LFM)電圧よりも低い電圧である。ディープC1E電圧は、最大命令スケジュール及びリタイアレートに適合しない。従って、C1E状態の終了時にとり得るスケジュール及びリタイアレートとの電圧互換性をディープC1E電圧で保つよう、プロセッサは、C1E状態を脱すると直ぐに、例えば命令スケジュールレート又は命令リタイアレート等のミクロアーキテクチャ・バンド幅スロットリングを実施してよい。スロットリングは、プロセッサを通る命令のバンド幅を制限するので、プロセッサ電力消費限界も低下する。   With standard LFM voltages, the processor can schedule and retire the maximum number of instructions every clock cycle. In general, the C1E state uses the same voltage as the LFM voltage because the processor immediately transitions to maximum execution and retire rate upon wakeup from the C1E state. A deep C1E voltage may be implemented to reduce power consumption in the C1E state, which is a lower voltage than the standard C1E (ie, LFM) voltage. Deep C1E voltage does not meet maximum instruction schedule and retire rate. Therefore, to keep the voltage compatibility with the schedule and retirement rate possible at the end of the C1E state at the deep C1E voltage, the processor immediately leaves the C1E state as soon as it exits the microarchitecture band such as the instruction schedule rate or instruction retire rate. Width throttling may be performed. Since throttling limits instruction bandwidth through the processor, it also reduces processor power consumption limits.

プロセッサがディープC1E電圧でC1E状態を脱するとき、2つのことが起こる。第1に、電圧レベルは、最大プロセッサ実行及びリタイアレートに適合する標準のLFM電圧へと上昇し始める。更に、C1E状態を脱した後、電圧がLFM電圧に達する前のしばらくの期間に、プロセッサは、ミクロアーキテクチャのバンド幅スロットリング・メカニズムを実施してよい。これは、とり得る最大電力消費を下げるとともに、必要とされる電圧を少なくともディープC1E電圧まで下げることができる。   Two things happen when the processor leaves the C1E state with a deep C1E voltage. First, the voltage level begins to rise to a standard LFM voltage that is compatible with maximum processor execution and retirement rates. Further, after leaving the C1E state, the processor may implement a micro-architecture bandwidth throttling mechanism for some time before the voltage reaches the LFM voltage. This can reduce the maximum power consumption possible and reduce the required voltage to at least the deep C1E voltage.

これは、ディープC1E電圧が、C1E状態の間、プロセッサへ供給されることを可能にするとともに、電圧が最初にLFM電圧へと高められている間、C1E状態の終了時の電圧適合性を保つ。電圧供給の減少量は、プロセッサ及び実施に特有である。例えば、スロットリングが大きくなると、利用可能な電圧の低下はますます大きくなる。   This allows the deep C1E voltage to be supplied to the processor during the C1E state and preserves the voltage compatibility at the end of the C1E state while the voltage is initially raised to the LFM voltage. . The amount of voltage supply reduction is processor and implementation specific. For example, the greater the throttling, the greater the drop in available voltage.

以下の記載及び特許請求の範囲における開示技術の「実施形態」又は「実施例」との言及は、その実施形態又は実施例に関連して記載される特定の機能、構成又は特性が、開示技術の少なくとも1つの実施形態に含まれることを意味する。従って、本明細書全体を通して様々な箇所に現れる「実施形態(又は実施例)において」とのフレーズは、必ずしも全てが同じ実施形態に言及しているわけではない。   In the following description and claims, references to “embodiments” or “examples” of the disclosed technology refer to specific functions, configurations, or characteristics described in relation to the embodiments or examples. In at least one embodiment. Thus, the phrases “in an embodiment (or example)” appearing in various places throughout this specification are not necessarily all referring to the same embodiment.

以下の記載及び特許請求の範囲で、語「有する」、「含む」及びそれらの派生語が使用されることがあるが、これらは互いに同義語として扱われるよう意図される。更に、以下の記載及び特許請求の範囲で、語「結合される」、「接続される」及びそれらの派生語が使用されることがある。これらの語は互いに同義語として扱われないことに留意すべきである。むしろ、特定の実施形態において、「接続される」は、2又はそれ以上の要素が互いに直接に物理的に又は電気的に接していることを示すために使用されてよい。「結合される」は、2又はそれ以上の要素が直接に物理的に又は電気的に接していることを意味してよい。しかし、「結合される」は、また、2又はそれ以上の要素が互いに直接に接していないが、未だ依然として互いと協働又は相互作用することも意味してよい。   In the following description and in the claims, the words “comprising”, “including” and their derivatives may be used, but these are intended to be treated as synonyms for each other. Further, in the following description and claims, the terms “coupled”, “connected” and their derivatives may be used. It should be noted that these terms are not treated as synonyms for each other. Rather, in certain embodiments, “connected” may be used to indicate that two or more elements are in direct physical or electrical contact with each other. “Coupled” may mean that two or more elements are in direct physical or electrical contact. However, “coupled” may also mean that two or more elements are not in direct contact with each other, but still cooperate or interact with each other.

図1は、拡張プロセッサ休止状態と適合するよりも低い供給電圧レベルで拡張プロセッサ休止状態終了時に動作を可能にするためにミクロアーキテクチャ・バンド幅スロットリングを用いることができるコンピュータシステムの実施形態を記載する。   FIG. 1 describes an embodiment of a computer system that can use microarchitecture bandwidth throttling to enable operation at the end of extended processor hibernation at a lower supply voltage level than is compatible with extended processor hibernation. To do.

種々の実施形態で、コンピュータシステムは、デスクトップコンピュータ、サーバコンピュータ、ラップトップコンピュータ、携帯型電子装置、テレビジョンセットトップコンピュータ、機器若しくは乗り物内の集積コンピュータ、又は、後述される様々な実施形態の適用範囲内のその他タイプの考えられるコンピュータシステムであってよい。   In various embodiments, the computer system may be a desktop computer, server computer, laptop computer, portable electronic device, television set top computer, integrated computer in equipment or vehicle, or application of various embodiments described below. There may be other types of possible computer systems within the scope.

多くの実施形態で、コンピュータシステムはプロセッサ100を有する。プロセッサ100は、例えばコア102のような単一のコアを有しても、あるいは、コア102及び104(又はそれ以上)の複数のコアを有してもよい。プロセッサ・ダイにはキャッシュメモリ110も存在する。キャッシュメモリ110は、例えばレベル1・キャッシュ及びレベル2・キャッシュ等の複数レベルのキャッシュを有してよい。更に、プロセッサに複数のコアが存在するとき、異なるレベルのキャッシュメモリ110の夫々は共有されてよく、あるいは、異なる実施形態では、コアごとにキャッシュメモリが存在してよい。   In many embodiments, the computer system has a processor 100. The processor 100 may have a single core, such as the core 102, or may have multiple cores 102 and 104 (or more). There is also a cache memory 110 in the processor die. The cache memory 110 may have multiple levels of cache, such as a level 1 cache and a level 2 cache. Further, when there are multiple cores in a processor, each of the different levels of cache memory 110 may be shared, or in different embodiments, there may be a cache memory for each core.

幾つかの実施形態で、プロセッサ100は、インテル(登録商標)のアーキテクチャ・マイクロプロセッサであってよい。幾つかの実施形態で、プロセッサ100は、2又はそれ以上の電圧/周波数動作点を提供するIntel SpeedStep(登録商標)技術又は他の電力管理関連技術を有してよい。幾つかの実施形態で、プロセッサ100は、例えば埋め込み型プロセッサ又はデジタル信号プロセッサ等の様々なタイプのプロセッサであってよい。   In some embodiments, processor 100 may be an Intel architecture microprocessor. In some embodiments, the processor 100 may have Intel SpeedStep® technology or other power management related technology that provides two or more voltage / frequency operating points. In some embodiments, the processor 100 may be various types of processors such as, for example, an embedded processor or a digital signal processor.

ミクロアーキテクチャ・スロットリング・メカニズムは、複数の形態をとることができる。幾つかの実施形態で、ミクロアーキテクチャ・スロットリング・メカニズムは、プロセッサによって実行される命令のリタイアレートを制限してよい。他の実施形態で、ミクロアーキテクチャ・スロットリング・メカニズムは、実行されるべき命令をスケジュールするスケジューラへ送信される命令の割り当てを制限してよい。例えば、命令をスケジュールするスケジューラは、命令をスケジュールするために用いられるクロックサイクルの間で命令がスケジュールされない1又はそれ以上のデッド・クロックサイクルを強要してよい。   The microarchitecture throttling mechanism can take several forms. In some embodiments, the microarchitecture throttling mechanism may limit the retirement rate of instructions executed by the processor. In other embodiments, the microarchitecture throttling mechanism may limit the assignment of instructions sent to a scheduler that schedules instructions to be executed. For example, a scheduler that schedules instructions may force one or more dead clock cycles in which instructions are not scheduled between clock cycles used to schedule instructions.

幾つかの実施形態で、ミクロアーキテクチャのバンド幅スロットリングは、縮小命令セットコンピュータ(RISC(reduced instruction set computer))アーキテクチャにおける命令のスケジューリング及び/又はリタイアを制限する。他の実施形態で、ミクロアーキテクチャのバンド幅スロットリングは、複数命令セットコンピュータ(CISC(complex instruction set computer))アーキテクチャにおける命令のスケジューリング及び/又はリタイアを制限する。CISC実施形態で、プロセッサによって実行されている命令は、1又はそれ以上のミクロアーキテクチャ動作(UOPs)に分けられる。UOPsは、一般的には分割できず、CISCプロセッサの命令パイプラインを構成するものである。   In some embodiments, microarchitecture bandwidth throttling limits instruction scheduling and / or retirement in a reduced instruction set computer (RISC) architecture. In other embodiments, microarchitecture bandwidth throttling limits instruction scheduling and / or retirement in a multiple instruction set computer (CISC) architecture. In the CISC embodiment, the instructions being executed by the processor are divided into one or more microarchitecture operations (UOPs). UOPs generally cannot be divided and constitute an instruction pipeline of a CISC processor.

従って、多くのRISC及びCISC実施形態において、プロセッサは、プロセッサの実行ユニットによって実行されるべき命令をスケジュールするスケジューリングユニットと、既に実行ユニットで実行された命令をリタイアするリタイアユニットとを有する。プロセッサの電力消費は、部分的に、プロセッサのスケジュールレート及びリタイアレートによって決定される。大部分のプロセッサは、クロックサイクルごとに1よりも多い命令をスケジュール及びリタイアする能力を有する。例えば、多くのプロセッサは、各クロックサイクルの間に最大で4つの命令をスケジュール及びリタイアすることができる。   Thus, in many RISC and CISC embodiments, the processor has a scheduling unit that schedules instructions to be executed by the execution unit of the processor and a retire unit that retires instructions that have already been executed in the execution unit. The power consumption of the processor is determined in part by the processor's schedule rate and retirement rate. Most processors have the ability to schedule and retire more than one instruction every clock cycle. For example, many processors can schedule and retire up to four instructions during each clock cycle.

プロセッサのバンド幅スロットリングは、コアが、クロックサイクルごとに最大数よりも少ない命令をスケジュール及びリタイアするよう制限される場合に、起こりうる。例えば、リタイアユニットが通常クロックサイクルごとに4つの命令をリタイアすることができ、プロセッサ内のロジックがリタイアレートをクロックサイクルごとに1つの命令に制限する場合に、プロセッサは本質的に抑制される。これは、潜在的なワット損の低下のみならず、性能の低下をもたらす。   Processor bandwidth throttling can occur when the core is limited to schedule and retire less than the maximum number of instructions per clock cycle. For example, a retire unit can typically retire four instructions every clock cycle, and the processor is inherently constrained if the logic in the processor limits the retire rate to one instruction per clock cycle. This results in performance degradation as well as potential power loss reduction.

夫々のコアは、コア102及び104について夫々、例えばSU134及びSU136等のスケジューリングユニット(SU)を有してよい。更に、夫々のコアは、コア102及び104について夫々、例えばRU106及びRU108等のリタイアユニット(RU)を有してよい。   Each core may have a scheduling unit (SU), such as SU 134 and SU 136, for cores 102 and 104, respectively. Further, each core may have a retire unit (RU) such as RU 106 and RU 108 for cores 102 and 104, respectively.

SU内のロジックは、コアによって実行されるべき命令をスケジュールする。CISCアーキテクチャにおいて、SUは、パイプライン内で命令をスピードアップするよう、ばらばらの順序で命令をスケジュールしてよい。更に、CISCアーキテクチャにおいて、RUは、順序付けバッファ(ROB(re-order buffer))を有してよい。CISCアーキテクチャのRU内のROBは、UOPsが(場合により、ばらばらの順序で)実行された後、UOPsを元のプログラム順に戻す。   The logic in the SU schedules instructions to be executed by the core. In a CISC architecture, the SU may schedule instructions in a disjointed order to speed up instructions within the pipeline. Further, in the CISC architecture, the RU may have a re-order buffer (ROB). The ROB in the CISC architecture RU returns the UOPs to their original program order after the UOPs are executed (possibly in disjoint order).

上述されたように、大部分のプロセッサは、コアクロックごとに1よりも多い命令をスケジュール及びリタイアする能力を有し、例えば、4つの命令が、コアごとの複数のプロセッサにおいて各コアクロックの間スケジュール及びリタイアされてよい。従って、ミクロアーキテクチャのバンド幅スロットリングは、SU、RU又はそれら両方の中のロジックが、命令のスケジュールレート及び/又はリタイアレートをコアクロックごとに4よりも少ない命令に制限する場合に、起こり得る。   As mentioned above, most processors have the ability to schedule and retire more than one instruction per core clock, for example, four instructions between each core clock in multiple processors per core. May be scheduled and retired. Thus, microarchitecture bandwidth throttling can occur when the logic in the SU, RU, or both limits the instruction schedule rate and / or retirement rate to less than 4 instructions per core clock. .

幾つかの実施形態で、スロットリングは、SU内のロジックがスケジュールレートを、コアクロックごとに4つの命令に係る最大限のレートに代えて、コアクロックごとに1つの命令に制限する場合に、起こる。他の実施形態で、スロットリングは、SU内のロジックが、コアクロックごとに代えて、1つおきのコアクロックに命令スケジューリングを制限する場合に、起こる。このように、スケジューリングの最大レートがクロックごとに4つの命令である場合に、1つおきのクロックしかスケジューリングのために利用可能でないならば、有効な最大スケジュールレートはコアクロックごとに2つの命令に減じられる。   In some embodiments, throttling is when the logic in the SU limits the schedule rate to one instruction per core clock instead of the maximum rate for four instructions per core clock. Occur. In other embodiments, throttling occurs when the logic in the SU limits instruction scheduling to every other core clock instead of every core clock. Thus, if the maximum scheduling rate is 4 instructions per clock, and only every other clock is available for scheduling, the effective maximum schedule rate is 2 instructions per core clock. Reduced.

他の実施形態で、スロットリングは、RU内のロジックがリタイアのレートを、コアクロックごとに4つの命令に係る最大限のレートに代えて、コアクロックごとに1つの命令に制限する場合に、起こる。多くの他の標準的なミクロアーキテクチャ・バンド幅スロットリング・メカニズムが実施されてよく、あるいは、メカニズムの組合せが実施されてよい。何らかのスロットリング・メカニズムの結果として、時間期間にわたる命令のスループットは、コアが生じることができるものよりも少なく制限される。これは、コアを通る最適よりも狭い命令フローバンド幅を生じさせ、従って、コアは、最大の特定の供給電圧が必要とされるスロットリングの間の状態に決して達しない。   In other embodiments, throttling is when the logic in the RU limits the rate of retirement to one instruction per core clock instead of the maximum rate for four instructions per core clock. Occur. Many other standard microarchitecture bandwidth throttling mechanisms may be implemented, or a combination of mechanisms may be implemented. As a result of some throttling mechanism, instruction throughput over time is limited to less than what the core can produce. This results in an instruction flow bandwidth that is less than optimal through the core, so the core never reaches a state during throttling where the maximum specific supply voltage is required.

このように、ミクロアーキテクチャ・バンド幅スロットリングの間、コアへの供給電圧は低減されてよい。   In this way, the supply voltage to the core may be reduced during microarchitecture bandwidth throttling.

更に、プロセッサ100は、多くの実施形態において、集積メモリコントローラ112を更に有する。図示されていない他の実施形態で、メモリコントローラ112は、ディスクリートデバイスであり、又は、ブリッジデバイス若しくはプロセッサ100から離れた他のシステムチップに集積される。メモリコントローラ112は、プロセッサ−メモリ間インターコネクトを通じてシステムメモリ114に結合される。メモリコントローラ112は、プロセッサ100及びコンピュータシステムにおけるその他デバイスがシステムメモリ114にアクセスすることを可能にする。多くの実施形態で、システムメモリ114は、例えば動的RAM(DRAM)等のランダムアクセスメモリ(RAM)、フラッシュメモリ、又は他の形態のメモリの様式を有してよい。   In addition, the processor 100 further includes an integrated memory controller 112 in many embodiments. In other embodiments not shown, the memory controller 112 is a discrete device or integrated into a bridge device or other system chip remote from the processor 100. Memory controller 112 is coupled to system memory 114 through a processor-memory interconnect. The memory controller 112 allows the processor 100 and other devices in the computer system to access the system memory 114. In many embodiments, the system memory 114 may have a random access memory (RAM), such as dynamic RAM (DRAM), flash memory, or other form of memory.

プロセッサ100は、また、多くの実施形態において、ディスクリート入出力(I/O)複合体116にも結合される。図示されていない他の実施形態で、I/O複合体116は、プロセッサ100に組み込まれてよい。I/O複合体116は、キーボード、大容量記憶デバイス等のI/Oデバイスがコンピュータシステムに接続することを可能にする1又はそれ以上の集積I/Oホストコントローラ(図示せず。)を有してよい。   The processor 100 is also coupled to a discrete input / output (I / O) complex 116 in many embodiments. In other embodiments not shown, the I / O complex 116 may be incorporated into the processor 100. The I / O complex 116 has one or more integrated I / O host controllers (not shown) that allow I / O devices such as keyboards, mass storage devices, etc. to connect to the computer system. You can do it.

システムは、電圧レギュレータ(VR)118を更に有する。VR118はプロセッサ100に結合される。VR118は、電力動作電圧をプロセッサ100へ供給し、IMVP−6規格等のIMVP(Intel(登録商標) Mobile Voltage Positioning)規格のバージョンに従って動作してよい。VR118は、1又はそれ以上の信号に応答してプロセッサ100への電圧を1又はそれ以上の低電圧状態へと低減するロジックを有してよい。VR118のロジックは、また、低電圧状態を脱した後に再び、プロセッサ100への電圧を高めてよい。更に、図示されていない他の実施形態で、VR118はプロセッサ100に組み込まれてよい。   The system further includes a voltage regulator (VR) 118. VR 118 is coupled to processor 100. The VR 118 may supply power operating voltage to the processor 100 and operate according to a version of the IMVP (Intel® Mobile Voltage Positioning) standard, such as the IMVP-6 standard. VR 118 may include logic that reduces the voltage to processor 100 to one or more low voltage states in response to one or more signals. The logic of the VR 118 may also increase the voltage to the processor 100 again after exiting the low voltage state. Furthermore, VR 118 may be incorporated into processor 100 in other embodiments not shown.

プロセッサ100は、1又はそれ以上の電圧状態への出入りを制御する電力状態入退場ロジック120を更に有する。各電力状態は、VR118からプロセッサ100に供給される電力動作電圧として使用される特定の電圧を有する。ある実施形態で、プロセッサ100は、電圧ID(VID)値を用いてVR118へ電圧値を送信してよい。他の実施形態で、プロセッサ100は、VID以外の情報を用いてVR118へ電圧値を送信してよい。VR118へ送信される情報は、異なるプラットフォームが、異なるフォーマットの電圧変更命令/情報を受け取る異なるタイプのVRを用いる場合に特有の情報である。   The processor 100 further includes power state entry / exit logic 120 that controls entry and exit into one or more voltage states. Each power state has a specific voltage that is used as a power operating voltage supplied from the VR 118 to the processor 100. In certain embodiments, the processor 100 may transmit the voltage value to the VR 118 using a voltage ID (VID) value. In other embodiments, the processor 100 may transmit the voltage value to the VR 118 using information other than VID. The information sent to the VR 118 is information specific to different platforms using different types of VRs that receive different formats of voltage change instructions / information.

VIDを利用する多くの実施形態で、電力状態VIDは、特定のプロセッサ動作周波数と対にされる。このように、多くの実施形態で、電圧/周波数対を記憶する電力状態テーブルがコンピュータシステムで保持される。このテーブルは、プロセッサ100におけるマイクロコード内に、I/O複合体116における記憶部に、BIOS(basic input/output system)122に、又はシステムにおける他のファームウェアに配置されてよい。多くの実施形態で、電力状態テーブルは、線形な形でインクリメンタル電圧値を含む。例えば、第1のテーブルエントリは、最低電圧量と一致してよく、その場合に、次のエントリは、各エントリごとに一様な量だけ線形に電圧をインクリメントしてよい。他の実施形態で、第1のテーブルエントリは、プロセッサの最高電圧量と一致してよく、次のエントリは、各エントリごとに一様な量だけ線形にデクリメントしてよい。   In many embodiments that utilize VID, the power state VID is paired with a specific processor operating frequency. Thus, in many embodiments, a power state table that stores voltage / frequency pairs is maintained in the computer system. This table may be located in the microcode in the processor 100, in the storage in the I / O complex 116, in the basic input / output system (BIOS) 122, or in other firmware in the system. In many embodiments, the power state table includes incremental voltage values in a linear fashion. For example, the first table entry may match the minimum voltage amount, in which case the next entry may increment the voltage linearly by a uniform amount for each entry. In other embodiments, the first table entry may coincide with the maximum voltage amount of the processor, and the next entry may be linearly decremented by a uniform amount for each entry.

多くの実施形態で、コンピュータシステムが動作するとき、オペレーティングシステム124はシステムメモリ114にロードされる。オペレーティングシステム124は、電力制御インターフェース(ACPI(Advanced Configuration and Power Interface))126をサポートするコードを有してよい。このコードを用いて、オペレーティングシステム124は、電力状態テーブルへのアクセスを有し、ACIPインターフェースに異なる電力状態に出入りするよう命令してよい。   In many embodiments, the operating system 124 is loaded into the system memory 114 as the computer system operates. The operating system 124 may have code that supports an advanced configuration and power interface (ACPI) 126. Using this code, the operating system 124 may have access to the power state table and instruct the ACIP interface to enter and exit different power states.

I/O複合体116は、多くの実施形態において、電力管理マイクロコントローラ128を更に有する。電力管理マイクロコントローラ128は、プロセッサ100に関連する通常の動作状態及び電力管理状態の間の遷移を制御する状態制御ロジックを有する。各電力管理状態は、少なくとも1つの特定の電圧レベル及び周波数の組合せを有する。電圧レベルは、プロセッサ100に供給される電圧レベルであり、周波数は、プロセッサ100が動作する周波数である。電力管理マイクロコントローラ128は、プロセッサ100に供給される電圧を設定するよう、VR118内の電圧変更ロジック130へ情報を提供してよい。電力管理マイクロコントローラ128は、また、クロック信号をプロセッサ100に供給するクロック発生器回路132へ情報を提供することもできる。多くの実施形態で、クロック発生器回路132は、位相ロックループ(PLL)である。多くの実施形態で、電力状態入退場ロジック120は、また、異なる電力状態についてプロセッサ100内で周波数の変更を制御することもできる。一般に、電力管理状態は複数存在する。   The I / O complex 116 further includes a power management microcontroller 128 in many embodiments. The power management microcontroller 128 has state control logic that controls transitions between the normal operating state associated with the processor 100 and the power management state. Each power management state has at least one specific voltage level and frequency combination. The voltage level is a voltage level supplied to the processor 100, and the frequency is a frequency at which the processor 100 operates. The power management microcontroller 128 may provide information to the voltage change logic 130 in the VR 118 to set the voltage supplied to the processor 100. The power management microcontroller 128 can also provide information to a clock generator circuit 132 that provides a clock signal to the processor 100. In many embodiments, the clock generator circuit 132 is a phase locked loop (PLL). In many embodiments, the power state entry / exit logic 120 can also control frequency changes within the processor 100 for different power states. In general, there are a plurality of power management states.

以降、実施形態は、プロセッサ100を完全動作C0電力状態からC1E電力状態へ移行させ、ディープC1E電圧状態の間並びにディープC1E電圧状態とLFM電圧状態との間の遷移の間ミクロアーキテクチャ・バンド幅スロットリングを用いて再び元に戻すことに関して記載する。   Hereinafter, the embodiment transitions the processor 100 from a fully operational C0 power state to a C1E power state and during the transition between the deep C1E voltage state and between the deep C1E voltage state and the LFM voltage state. It will be described with respect to re-establishing using a ring.

プロセッサ100がC0電力状態で動作しているとき、オペレーティングシステム124からの又はコンピュータシステムにおける他の場所からのACIP又は他のコマンドは、電力管理マイクロコントローラ128へ送信されて、プロセッサ100をC1E状態に至らせる。幾つかの実施形態で、プロセッサ100がHFM周波数で動作している場合は、プロセッサ100は最初に、より低いサポート周波数及び対応する電圧であるLFM周波数/電圧対に下げられる。プロセッサ100をLFM周波数に遷移させるよう、電力状態入退場ロジック120は周波数を変更してよい。代替の実施形態で、クロック発生器回路132は、プロセッサ100へ供給されるクロックを外部から変更してよく、それは、更に、プロセッサ100の周波数を変更する。   When the processor 100 is operating in the C0 power state, ACIP or other commands from the operating system 124 or from elsewhere in the computer system are sent to the power management microcontroller 128 to place the processor 100 in the C1E state. To reach. In some embodiments, if the processor 100 is operating at an HFM frequency, the processor 100 is first lowered to a lower support frequency and a corresponding voltage, the LFM frequency / voltage pair. The power state entry / exit logic 120 may change the frequency to cause the processor 100 to transition to the LFM frequency. In an alternative embodiment, the clock generator circuit 132 may change the clock supplied to the processor 100 externally, which further changes the frequency of the processor 100.

周波数がLFM周波数に変更される場合に、多くの実施形態で、電力管理マイクロコントローラ128は、VID等の電圧情報をVR118へ送信して、電圧をLFM電圧レベルへ下げる。LFM電圧レベルは、プロセッサ100が標準のC1E状態にある場合に利用するのと同じ電圧である。   In many embodiments, when the frequency is changed to the LFM frequency, the power management microcontroller 128 sends voltage information, such as VID, to the VR 118 to lower the voltage to the LFM voltage level. The LFM voltage level is the same voltage that is utilized when the processor 100 is in the standard C1E state.

幾つかの実施形態で、周波数及び電圧がLFMレベルにあると、電力状態入退場ロジック120は、プロセッサ100をC1E状態に入らせてよい。上述されるように、C1E状態は、プロセッサがスヌープ・サービシングに利用可能であることを必要とするが、プロセッサ100は、この状態では如何なる命令も実行していない。   In some embodiments, the power state entry / exit logic 120 may cause the processor 100 to enter the C1E state when the frequency and voltage are at the LFM level. As described above, the C1E state requires the processor to be available for snoop servicing, but the processor 100 is not executing any instructions in this state.

C1E状態に入ると、電力管理マイクロコントローラ128は、電圧をC1E/LFM周波数と対にされている電圧を下回らせるよう、コマンドをVR118内の電圧変更ロジック130へ送信してよい。幾つかの実施形態で、この電圧レベルは、デルタVID値を標準のLFM/C1E VID値から減じることによって下げられ得る。このように、結果として得られるより低いVID値は、電圧を下げるようVR118へ送信され得る。この電圧レベルは、標準のLFM/C1E電圧レベルを下回り、ディープC1E電圧レベルと呼ばれることがある。プロセッサ100に供給される電圧が下げられうる量は、異なる実施形態で(異なるプロセッサを用いて)様々である。   Upon entering the C1E state, the power management microcontroller 128 may send a command to the voltage change logic 130 in the VR 118 to cause the voltage to fall below the voltage paired with the C1E / LFM frequency. In some embodiments, this voltage level can be lowered by subtracting the delta VID value from the standard LFM / C1E VID value. Thus, the resulting lower VID value can be sent to VR 118 to reduce the voltage. This voltage level is below the standard LFM / C1E voltage level and may be referred to as the deep C1E voltage level. The amount by which the voltage supplied to the processor 100 can be lowered varies in different embodiments (using different processors).

多くの実施形態で、ミクロアーキテクチャ・バンド幅スロットリング・メカニズムは、ディープC1E電圧情報がVR118に送信されるのと同時に関与してよい。多くの実施形態で、VR118にコアへの供給電圧を下げるよう命じる信号は、コアにスロットリング・メカニズムを行わせるよう命じるようプロセッサ100に送信されるのと同じ信号である。このように、ミクロアーキテクチャ・バンド幅スロットリング・メカニズムは、プロセッサ100が命令を実行していないとしても、C1E状態に関与しうる。これは、プロセッサが、電圧がディープC1E電圧から標準のLFM/C1E電圧レベルに高まるのを待つことなく、速やかにC1E状態を脱して、C0LFM状態で命令を実行することに戻るのを可能にする。   In many embodiments, the microarchitecture bandwidth throttling mechanism may be involved at the same time that the deep C1E voltage information is transmitted to the VR 118. In many embodiments, the signal that commands VR 118 to lower the supply voltage to the core is the same signal that is sent to processor 100 to command the core to perform a throttling mechanism. Thus, the microarchitecture bandwidth throttling mechanism can be involved in the C1E state even if the processor 100 is not executing instructions. This allows the processor to quickly exit the C1E state and return to executing instructions in the C0LFM state without waiting for the voltage to rise from the deep C1E voltage to the standard LFM / C1E voltage level. .

言い換えると、スロットリング・メカニズムは、プロセッサへの供給電圧がLFM/C1E電圧レベルを下回るLFM状態の部分の間、プロセッサの命令スループットを抑制するために用いられる。具体的に、プロセッサがC1E状態からLFM状態に入るとき、VR118が電圧をディープC1E電圧レベルからLFM/C1E電圧レベルへ高める必要がある時間量は有限である。従って、この時間期間中に、プロセッサコアは、スロットリング・メカニズムがLFM電圧レベルを必要とするストレスを加えられた作業負荷を実行することからプロセッサを制限するので、電圧がLFM状態のための特定の電圧よりも低いとしても、C0LFM状態にある場合に命令を実行することを可能にされる。   In other words, the throttling mechanism is used to reduce processor instruction throughput during the portion of the LFM state where the supply voltage to the processor is below the LFM / C1E voltage level. Specifically, when the processor enters the LFM state from the C1E state, the amount of time that the VR 118 needs to increase the voltage from the deep C1E voltage level to the LFM / C1E voltage level is finite. Thus, during this time period, the processor core limits the processor from executing a stressed workload where the throttling mechanism requires an LFM voltage level, so that the voltage is specific for the LFM state. Even if it is lower than the voltage of, the instruction is allowed to be executed when in the C0LFM state.

従って、多くの実施形態で、プロセッサがディープC1E電圧レベルでC1E電力状態において動作しているとき、プロセッサを完全動作C0電力状態へとウェイクする割込が、電力管理マイクロコントローラ128へ送信されてよい。多くの実施形態で、割込が受け取られると、コアはウェイクアップ・プロシージャを開始し、LFM周波数で標準の割込へのサービス提供を開始する。C1EからC0への遷移の開始時に、電力管理マイクロコントローラ128は、電圧をディープC1E電圧レベルから標準のLFM/C1E電圧レベルへと高め始めるよう、情報をVR118(及びVR118内の電圧変更ロジック130)へ送信してよい。   Thus, in many embodiments, when the processor is operating in the C1E power state at the deep C1E voltage level, an interrupt may be sent to the power management microcontroller 128 that wakes the processor to the full operating C0 power state. . In many embodiments, when an interrupt is received, the core initiates a wake-up procedure and begins servicing standard interrupts at the LFM frequency. At the beginning of the C1E to C0 transition, the power management microcontroller 128 sends information to the VR 118 (and voltage change logic 130 in the VR 118) to begin increasing the voltage from the deep C1E voltage level to the standard LFM / C1E voltage level. May be sent to.

幾つかの実施形態で、ミクロアーキテクチャ・スロットリングは、電圧レベルがLFM電圧レベルに達するまで続く。かかる実施形態で、スロットリングは、LFM電圧レベルが到達されると停止する。他の実施形態で、プロセッサはC1Eから脱し、直接にC0HFM状態に進む。かかる実施形態で、スロットリングは、少なくとも、電圧レベルが電圧ランプの間、LFM電圧レベルに達するまで続く。かかる実施形態で、電圧レベルが標準のLFM電圧レベルまで高まると、スロットリングは、C0HFM電圧への残りの電圧ランプについては停止する。   In some embodiments, microarchitecture throttling continues until the voltage level reaches the LFM voltage level. In such an embodiment, throttling stops when the LFM voltage level is reached. In other embodiments, the processor leaves C1E and proceeds directly to the C0HFM state. In such an embodiment, throttling continues at least until the voltage level reaches the LFM voltage level during the voltage ramp. In such an embodiment, when the voltage level increases to the standard LFM voltage level, throttling stops for the remaining voltage ramp to the C0HFM voltage.

図2は、ディープC1E電圧を実施するために用いられる電力管理ロジックの実施形態を記載する。多くの実施形態で、値はロジックに入力される。値は、幾つかの実施形態ではソフトウェア周波数値200、LFM周波数値202、ソフトウェア電圧値204、及びLFM電圧値206を含み、これらの値を記憶する1又はそれ以上のタイプのメモリ記憶位置から発せられる値である。幾つかの実施形態で、これらの値は、プロセッサに配置されたレジスタ内、又はコンピュータシステム内の他の場所に記憶されてよい。他の実施形態で、値は、BIOSに付随する不揮発性メモリに、システムメモリに、又はコンピュータシステム内の他の記憶位置に記憶されている。多くの実施形態で、値は、1又はそれ以上の記憶位置でコンピュータシステム内に記憶されている1又はそれ以上のテーブルにおける位置に対応する代表値を有してよい。   FIG. 2 describes an embodiment of power management logic used to implement deep C1E voltage. In many embodiments, the value is entered into logic. The values may include a software frequency value 200, an LFM frequency value 202, a software voltage value 204, and an LFM voltage value 206, in some embodiments, originating from one or more types of memory locations that store these values. Value. In some embodiments, these values may be stored in registers located in the processor or elsewhere in the computer system. In other embodiments, the value is stored in non-volatile memory associated with the BIOS, in system memory, or in other storage locations within the computer system. In many embodiments, the value may have a representative value corresponding to a location in one or more tables stored in the computer system at one or more storage locations.

例えば、周波数値は、周波数値テーブル内の列に対応しうる。テーブルは、プロセッサが動作することができる周波数の全部を記憶してよい。表1は、部分的な周波数テーブルの実施形態を表す。   For example, the frequency value may correspond to a column in the frequency value table. The table may store all of the frequencies at which the processor can operate. Table 1 represents a partial frequency table embodiment.

Figure 2012503233
このテーブルは、全て0の周波数値に対応する0ギガヘルツ(GHz)での周波数から始まる。その後、テーブルは、高周波数として3.0GHzから始まって、8ビットの2進周波数値のインクリメントごとに、対応する周波数が100メガヘルツ(MHz)ずつ下がることを示す。テーブルは、プロセッサ周波数が1.9GHzまで下がることしか示していないが、テーブル全体は、2進周波数値における更なるインクリメントと、プロセッサ周波数における対応する更なるデクリメントとにより、下へ続いていく。先と同じく、このテーブルは、テーブルを記憶するのに十分な記憶空間を有するコンピュータシステム内のいずれかの場所に置かれてよい。このように、ソフトウェア周波数値200(多くの実施形態で、システム内のソフトウェアが、プロセッサ周波数が設定されることを必要としている現在の値と呼ばれる。)は、表1のような周波数値テーブルにおける列に対応する8ビット周波数値を含んでよい。
Figure 2012503233
This table starts with a frequency at 0 gigahertz (GHz) corresponding to a frequency value of all 0s. The table then indicates that the corresponding frequency decreases by 100 megahertz (MHz) for each increment of the 8-bit binary frequency value, starting at 3.0 GHz as the high frequency. The table only shows that the processor frequency drops to 1.9 GHz, but the entire table continues down with further increments in binary frequency values and corresponding further decrements in processor frequency. As before, this table may be placed anywhere in the computer system that has sufficient storage space to store the table. Thus, the software frequency value 200 (in many embodiments, the software in the system is referred to as the current value that requires the processor frequency to be set) in the frequency value table as in Table 1. An 8-bit frequency value corresponding to the column may be included.

他の例で、電圧値は、プロセッサに供給可能な電圧レベルの全部を記憶する電圧テーブル内の列に対応してよい。表2は、特定のVID値を用いて実施される部分的な電圧値テーブルの実施形態を表す。   In another example, the voltage value may correspond to a column in a voltage table that stores all of the voltage levels that can be supplied to the processor. Table 2 represents an embodiment of a partial voltage value table implemented with specific VID values.

Figure 2012503233
この表は、VID値が全てゼロである場合に、電圧がシャットオフされた状態で始まる。その後、テーブルは、高電圧として1.6ボルト(V)から始まって、8ビットの2進VID値のインクリメントごとに、対応する電圧が0.0125Vずつ低下すること示す。テーブルは、電圧供給値が1.4625Vまで下がることしか示していないが、テーブル全体は、2進値における更なるインクリメントと、供給電圧における対応する更なるデクリメントとにより、下へ続いていく。先と同じく、このテーブルは、テーブルを記憶するのに十分な記憶空間を有するコンピュータシステム内のいずれかの場所に置かれてよい。このように、ソフトウェアVID値204(多くの実施形態で、システム内のソフトウェアが、プロセッサ電圧が設定されることを必要としている現在の値と呼ばれる。)は、表2のようなVIDテーブルにおける列に対応する8ビットVID値を含んでよい。
Figure 2012503233
The table starts with the voltage shut off when the VID values are all zero. Thereafter, the table shows that starting from 1.6 volts (V) as a high voltage, for every increment of the 8-bit binary VID value, the corresponding voltage decreases by 0.0125V. The table only shows that the voltage supply value drops to 1.4625V, but the whole table continues down with further increments in the binary value and corresponding further decrements in the supply voltage. As before, this table may be placed anywhere in the computer system that has sufficient storage space to store the table. Thus, the software VID value 204 (in many embodiments, the software in the system is referred to as the current value that requires the processor voltage to be set) is a column in a VID table such as Table 2. May include an 8-bit VID value corresponding to.

LFM周波数値202及びLFM VID値206は、プロセッサがLFMにある場合に利用されるプロセッサ周波数及びプロセッサへの供給電圧に対応する。このように、LFMに係る電圧及び周波数の夫々の値は、電力管理ロジックがプロセッサをLFMに至らせると決定する場合に利用されるべきプリセット値であってよい。多くの実施形態で、ディープC1Eデルタ値208も電力管理ロジックに供給される。ディープC1Eデルタ値208は、標準のLFM VIDと、ディープC1E VIDに対応するより低い電圧との間の差を有する。例えば、LFM VIDは00001010bであってよく、これは表2において1.55Vに対応する。ディープC1E電圧値は00010110bであってよく、これは表2において1.475Vに対応する。このように、ディープC1Eデルタ値208は、それら2つの値の間の差分に対応し、00001100bである(すなわち、00001010b+00001100b=00010110b)。   The LFM frequency value 202 and the LFM VID value 206 correspond to the processor frequency and the supply voltage to the processor that are used when the processor is in the LFM. Thus, the respective voltage and frequency values for the LFM may be preset values to be used when the power management logic decides to bring the processor to the LFM. In many embodiments, the deep C1E delta value 208 is also provided to the power management logic. The deep C1E delta value 208 has a difference between the standard LFM VID and a lower voltage corresponding to the deep C1E VID. For example, the LFM VID may be 00001010b, which corresponds to 1.55V in Table 2. The deep C1E voltage value may be 00001110b, which corresponds to 1.475V in Table 2. Thus, the deep C1E delta value 208 corresponds to the difference between the two values and is 00001100b (ie, 00001010b + 000001100b = 00010110b).

LFM VID値206及びディープC1Eデルタ値208は、加算ロジック210へ入力される。加算ロジック210は、これら2つの値を足し合わせる。その結果は、ディープC1E VID値に対応する表2の値である。   The LFM VID value 206 and deep C1E delta value 208 are input to summing logic 210. Addition logic 210 adds these two values. The result is the value in Table 2 corresponding to the deep C1E VID value.

多くの実施形態で、電力管理ロジックは、2つの値のどれがコンピュータシステム内の様々なコンポーネントに供給されるのかを決定する複数のゲートを有する。ゲート212は、LFM VID値206又は計算されたディープC1E VID値210のどちらがゲート214に送られるのかを切り換えることができる。次いで、ゲート214は、ソフトウェアVID値204又はゲート212から出力されるVID値のどちらがVR118 におくられるべきかを切り換えることができる。最後に、ゲート216は、ソフトウェア周波数値200又はLFM周波数値202のどちらが無線変調のためにPLL132に送られるべきかを切り換えることができる。   In many embodiments, the power management logic has multiple gates that determine which of the two values are supplied to various components in the computer system. The gate 212 can switch whether the LFM VID value 206 or the calculated deep C1E VID value 210 is sent to the gate 214. The gate 214 can then switch between the software VID value 204 or the VID value output from the gate 212 to be placed on the VR 118. Finally, the gate 216 can switch between the software frequency value 200 or the LFM frequency value 202 to be sent to the PLL 132 for radio modulation.

ゲート214及び216への入力のうちどちらが出力されるのかの決定は、電力状態入退場ロジック120によって行われる。電力状態入退場ロジック120は、ソフトウェアで決定されたVID値及び周波数値とLFM VID及び周波数値との間を切り換えることができる。多くの実施形態で、ディープC1E制御値218は、ディープC1E VID値がLFM VID値206の代わりにゲート212へ送られるかどうかを決定することができる。幾つかの実施形態で、ディープC1E制御値218は、プロセッサにおける制御レジスタ若しくは他の記憶位置の中又はコンピュータシステム内の他の場所に配置されてよい。種々の実施形態で、ディープC1E制御値218は、電力管理マイクロコントローラ(図1の128)内、電力状態入退場ロジック120内、システムメモリ114における位置に、又は他の場所に配置されてよい。   The determination of which of the inputs to gates 214 and 216 is output is made by power state entry / exit logic 120. The power state entry / exit logic 120 can switch between software-determined VID and frequency values and LFM VID and frequency values. In many embodiments, the deep C1E control value 218 can determine whether a deep C1E VID value is sent to the gate 212 instead of the LFM VID value 206. In some embodiments, the deep C1E control value 218 may be located in a control register or other storage location in the processor or elsewhere in the computer system. In various embodiments, the deep C1E control value 218 may be located within the power management microcontroller (128 in FIG. 1), within the power state entry / exit logic 120, at a location in the system memory 114, or elsewhere.

多くの実施形態で、ディープC1E制御値218は、また、コア内のミクロアーキテクチャ・スロットリング・ロジックに、コア内のスロットリング・ロジックがコアにより実行される命令のスロットリングに関与するかどうか決定づける入力値を与える。幾つかの実施形態で、ディープC1E制御値218は単一ビットである。例えば、ディープC1E制御値218が“1”である場合に、これは、ディープC1E電力管理がアクティブであることを示す。この“1”はゲート212に送られる。次いで、ゲート212は、制御“1”を受け取ったので、加算ロジック210からの計算されたディープC1E VID値がゲート214へ送られることを可能にする。“1”のディープC1E制御値218は、また、ミクロアーキテクチャ・スロットリング・ロジックにも送られる。ミクロアーキテクチャ・スロットリング・ロジックは、“1”を受け取ったので、スロットリング・メカニズムに関与する。他方で、ディープC1E制御値218が“0”である場合に、これは、ディープC1E電力管理が非アクティブであることを示す。この“0”はゲート212に送られる。次いで、ゲート212は、制御“0”を受け取ったので、LFM VID値がゲート214に送られることを可能にする。“0”のディープC1E制御値218は、また、ミクロアーキテクチャ・スロットリング・ロジックにも送られる。ミクロアーキテクチャ・スロットリング・ロジックは、“0”を受け取ったので、スロットリング・メカニズムに関与しない。   In many embodiments, the deep C1E control value 218 also determines the microarchitecture throttling logic in the core whether the throttling logic in the core is involved in throttling instructions executed by the core. Give the input value. In some embodiments, the deep C1E control value 218 is a single bit. For example, if the deep C1E control value 218 is “1”, this indicates that deep C1E power management is active. This “1” is sent to the gate 212. Gate 212 then received control “1”, allowing the calculated deep C1E VID value from summing logic 210 to be sent to gate 214. A “1” deep C1E control value 218 is also sent to the microarchitecture throttling logic. The microarchitecture throttling logic is involved in the throttling mechanism because it receives a "1". On the other hand, if the deep C1E control value 218 is “0”, this indicates that deep C1E power management is inactive. This “0” is sent to the gate 212. Gate 212 then received the control “0” and allows the LFM VID value to be sent to gate 214. A deep C1E control value 218 of “0” is also sent to the microarchitecture throttling logic. The microarchitecture throttling logic does not participate in the throttling mechanism because it receives a “0”.

多くの実施形態で、ミクロアーキテクチャ・バンド幅スロットリング・ロジック224は、ディープC1E電力管理が非アクティブにされる場合に開始するタイマを含む。スロットリング・ロジックは、スロットリング・メカニズムを解放する前に、タイマが終わりに達するまで待機してよい。このタイマは、電圧がディープC1E電圧レベルからLFM電圧レベルに高まるのに係る標準の時間長さと一致してよい。他の実施形態で、コア内又はVR内のロジックは、ディープC1E電圧レベルからの電圧ランプの間、プロセッサに供給される電圧がいつLFM電圧に達したのかを、ミクロアーキテクチャ・バンド幅スロットリング・ロジックに知らせてよい。スロットリング・ロジックに与えられるこの情報は、コアに供給される電圧が少なくともLFM電圧レベルにあることを確認する。スロットリング・ロジックは、この情報によりLFM電圧レベルが達成されたことを確認すると、次いで、スロットリング・メカニズムを解放してよい。   In many embodiments, the microarchitecture bandwidth throttling logic 224 includes a timer that starts when deep C1E power management is deactivated. The throttling logic may wait until the timer reaches the end before releasing the throttling mechanism. This timer may coincide with the standard length of time that the voltage rises from the deep C1E voltage level to the LFM voltage level. In other embodiments, the logic in the core or in the VR may determine when the voltage supplied to the processor has reached the LFM voltage during a voltage ramp from the deep C1E voltage level. You can let the logic know. This information provided to the throttling logic confirms that the voltage supplied to the core is at least at the LFM voltage level. Once the throttling logic confirms that this information has achieved the LFM voltage level, it may then release the throttling mechanism.

更に、多くの実施形態で、ディープC1E制御値218は、スロットリング・デバッグ制御レジスタ226と論理和をとられる。デバッグ・レジスタ226は、また、ミクロアーキテクチャ・バンド幅スロットリングを実施してよい。このレジスタ226は、コアが、VR118へ送られるVIDを変化させることなく、命令スループットレートを抑制することを可能にする。   Further, in many embodiments, the deep C1E control value 218 is ORed with the throttling debug control register 226. The debug register 226 may also implement microarchitecture bandwidth throttling. This register 226 allows the core to throttle the instruction throughput rate without changing the VID sent to the VR 118.

図3は、ディープC1E電力管理状態から出入りするプロセッサの実施形態に係るフロー図である。処理はプロセッシング・ロジックによって実行される。プロセッシング・ロジックは、ハードウェア、ソフトウェア、又はこれらの組合せを有してよい。更に、種々の実施形態で、プロセッシング・ロジックは、プロセッサ内、プロセッサから離れたI/O複合体内、システムメモリ内、又はコンピュータシステムにおける他の場所に配置されてよい。更に、フロー図内のブロックを実行するプロセッシング・ロジックは、それらの場所の中の1よりも多い場所に配置されてよい。処理は、プロセッサがディープC1E状態に入るべきことを示すコマンド、命令、又は他の情報片があるかどうかをプロセッシング・ロジックが決定することによって始まる(処理ブロック300)。ディープC1E状態は、プロセッサが、C1E状態のための通常の特定電圧を下回る供給電圧を有してC1E状態(拡張プロセッサ休止状態)で動作することを可能にする、図1及び2に関して先に記載されたようなプロセッサ電力管理状態である。   FIG. 3 is a flow diagram of an embodiment of a processor entering and exiting a deep C1E power management state. Processing is performed by processing logic. Processing logic may comprise hardware, software, or a combination thereof. Further, in various embodiments, processing logic may be located in the processor, in an I / O complex remote from the processor, in system memory, or elsewhere in the computer system. Further, the processing logic that executes the blocks in the flow diagram may be located in more than one of those locations. Processing begins by processing logic determining whether there is a command, instruction, or other piece of information indicating that the processor should enter a deep C1E state (processing block 300). The deep C1E state allows the processor to operate in the C1E state (extended processor hibernate) with a supply voltage below the normal specified voltage for the C1E state, as described above with respect to FIGS. The processor power management state as described above.

図3に示される処理の実施形態において、プロセッサは、C0状態で完全に動作可能な処理を開始する。処理ブロック300に戻ると、ディープC1E状態に入る表示がない場合、プロセッサはC0状態で機能し続け、処理ブロック300は、再び、ディープC1E状態に入る表示が到着しているかどうかを確かめるようチェックする。幾つかの実施形態で、割込が、プロセッシング・ロジックにディープC1E状態に入ることを知らせる。   In the process embodiment shown in FIG. 3, the processor initiates a process that is fully operational in the C0 state. Returning to processing block 300, if there is no indication to enter the deep C1E state, the processor continues to function in the C0 state and processing block 300 checks again to see if an indication to enter the deep C1E state has arrived. . In some embodiments, the interrupt informs the processing logic to enter the deep C1E state.

ディープC1E状態に入る表示がある場合、プロセッシング・ロジックは、プロセッサ周波数及び電圧をLFM周波数及び電圧に変化させる(処理ブロック302)。これは、プロセッサがC0状態においてHFM周波数及び電圧で機能していた場合に起こる。   If there is an indication to enter the deep C1E state, processing logic changes the processor frequency and voltage to the LFM frequency and voltage (processing block 302). This occurs when the processor is functioning at the HFM frequency and voltage in the C0 state.

LFM周波数及び電圧が実現されると、プロセッシング・ロジックは、プロセッサをC1Eプロセッサ状態に入らせる(処理ブロック304)。C1Eプロセッサ状態になると、プロセッシング・ロジックは、上記の1又はそれ以上のスロットリング・メカニズム(例えば、命令スケジュールレート、命令リタイアレート等)を用いることによって、プロセッサによる命令スループットを抑制し始める(処理ロジック306)。抑制された命令スループットレートは、抑制されていないスループットレートよりもクロックごとのスループットレートが低いが、抑制モード及び非抑制モードにおける特定の命令スループットレートは実施に特有である。   Once the LFM frequency and voltage are achieved, processing logic causes the processor to enter the C1E processor state (processing block 304). Once in the C1E processor state, processing logic begins to reduce instruction throughput by the processor by using one or more of the throttling mechanisms described above (eg, instruction schedule rate, instruction retire rate, etc.) (processing logic). 306). Although the suppressed instruction throughput rate is lower per clock than the unsuppressed throughput rate, the specific instruction throughput rates in the suppressed and unsuppressed modes are implementation specific.

命令スループットレートが抑制された後、プロセッシング・ロジックは、プロセッサに供給される電圧をLFM電圧量よりも低下させる(処理ロジック308)。このような電圧の変化は、新しい、より低い電圧値を得るよう、LFM電圧値に加えられる(又は、電圧テーブル実施に依存して、LFM電圧から減じられる)設定デルタ量に基づいてよい。新しい電圧値は、プロセッサに供給するVRに送られ、VR内のプロセッシング・ロジックは、供給電圧を新しい電圧量へと下げる。   After the instruction throughput rate is throttled, processing logic reduces the voltage supplied to the processor below the amount of LFM voltage (processing logic 308). Such voltage changes may be based on a set delta amount that is added to the LFM voltage value (or subtracted from the LFM voltage, depending on the voltage table implementation) to obtain a new, lower voltage value. The new voltage value is sent to the VR supplying the processor, and the processing logic within the VR reduces the supply voltage to a new voltage amount.

この時点で、プロセッサは、プロセッサ周波数がLFM(すなわち、C1E)周波数に設定され、且つ、プロセッサに供給されている電圧がディープC1E電圧レベルにあるので、ディープC1E状態で動作している。   At this point, the processor is operating in the deep C1E state because the processor frequency is set to the LFM (ie, C1E) frequency and the voltage supplied to the processor is at the deep C1E voltage level.

プロセッサが完全にディープC1E状態に入った後のある時点で、割込が、プロセッサをディープC1E電力管理から出させるよう送られてよい。多くの実施形態で、割込は、少なくともC0LFM状態に戻ることをプロセッサに要求する。   At some point after the processor has completely entered the deep C1E state, an interrupt may be sent to cause the processor to exit deep C1E power management. In many embodiments, the interrupt requires the processor to return to at least the C0LFM state.

プロセッシング・ロジックは割込を待ち、割込がディープC1Eから出ることを求めているかどうかを決定する(処理ブロック310)。割込がディープC1Eから出ることを求めていない場合は、次いで、プロセッシング・ロジックはブロック310に戻り、再び、ディープC1Eからの終了イベントをチェックする。割込がディープC1Eから出ることを求めている場合は、ディープC1Eを脱するための割込が到着すると、プロセッシング・ロジックは、プロセッサに供給されている電圧をLFM電圧値に変更する。この電圧値はVRに送られ、VRは、電圧をLFM電圧へと高めることを開始する(処理ブロック312)。割込が、ディープC1E状態を脱するよう、プロセッサに到着するとき、プロセッサは、標準の割込にサービスを提供し始めてよい。   Processing logic waits for an interrupt and determines whether the interrupt is seeking to exit deep C1E (processing block 310). If the interrupt does not require exiting from deep C1E, then processing logic returns to block 310 and again checks for an end event from deep C1E. If the interrupt wants to exit deep C1E, the processing logic changes the voltage supplied to the processor to the LFM voltage value when an interrupt to exit deep C1E arrives. This voltage value is sent to VR, which begins to increase the voltage to the LFM voltage (processing block 312). When an interrupt arrives at the processor to leave the deep C1E state, the processor may begin to service standard interrupts.

次いで、プロセッシング・ロジックは、プロセッサに供給される電圧がLFM電圧量まで増大したかどうかを確かめるようチェックする(処理ブロック314)。電圧がLFM電圧量に達していない場合は、プロセッシング・ロジックは、ブロック314でLFM電圧量が到達されたかどうかを確かめるようチェックし続ける。プロセッシング・ロジックは、LFM電圧が到達されたときにプロセッサにおける命令スループットレートを抑制することを止め、処理は終了する。   Processing logic then checks to see if the voltage supplied to the processor has increased to an LFM voltage amount (processing block 314). If the voltage has not reached the LFM voltage amount, processing logic continues to check to see if the LFM voltage amount has been reached at block 314. The processing logic stops suppressing the instruction throughput rate in the processor when the LFM voltage is reached, and the process ends.

図示されていない他の実施形態で、更なるブロック316は、更に、電圧及び周波数をそれらのHFMレベルへと高めてよい。   In other embodiments not shown, the further block 316 may further increase the voltage and frequency to their HFM level.

ここで記載される実施形態は、C1E状態における供給電圧レベルの低下を可能にする命令スループットレート・スロットリング・メカニズムを実施すべく、C1E状態に焦点を当てるが、多くの更なる実施形態で、スロットリング・メカニズムは、C1E状態以外のプロセッサ状態の電圧を下げるために用いられてよい(すなわち、拡張プロセッサ休止状態)。   While the embodiments described herein focus on the C1E state to implement an instruction throughput rate throttling mechanism that allows a reduction in supply voltage level in the C1E state, many further embodiments, The throttling mechanism may be used to reduce the voltage of processor states other than the C1E state (ie, extended processor hibernation).

このように、プロセッサのバンド幅スロットリングを実施することによってC1E電力状態電圧レベルよりも低い電圧でC1E電力状態においてプロセッサを動作する方法、装置及びシステムに係る実施形態が開示される。これらの実施形態は、その具体的な例となる実施形態を参照して記載されている。ここで記載される実施形態の精神及び適用範囲から逸脱しない範囲でこれらの実施形態に対して様々な変形及び変更が可能であることは、当業者ならば言うまでもない。従って、明細書及び図面は、限定ではなく例示と考えられなるべきである。   Thus, embodiments of a method, apparatus and system for operating a processor in a C1E power state at a voltage lower than the C1E power state voltage level by implementing bandwidth throttling of the processor are disclosed. These embodiments are described with reference to specific example embodiments thereof. It goes without saying to those skilled in the art that various modifications and changes can be made to these embodiments without departing from the spirit and scope of the embodiments described herein. Accordingly, the specification and drawings are to be regarded as illustrative rather than restrictive.

Claims (25)

拡張プロセッサ休止状態に係る最低適合電圧である第2電圧を下回る第1電圧をプロセッサに供給するステップと、
前記プロセッサで実行される命令の最大スループットレートを減じることによって、前記プロセッサが前記第1電圧で前記拡張プロセッサ休止状態からのウェイク時に命令を実行することを可能にするステップと
を有する方法。
Providing the processor with a first voltage that is less than a second voltage that is the lowest compatible voltage for extended processor hibernation;
Allowing the processor to execute instructions upon wake from the extended processor hibernation state at the first voltage by reducing a maximum throughput rate of instructions executed by the processor.
低周波モードの第1周波数へ及び前記低周波モードに関連する前記第2電圧へ前記プロセッサを遷移させることと、
更に前記第1電圧へ前記プロセッサを遷移させ、同時に命令スループットレート低減を実施することと
によって、前記プロセッサを前記拡張プロセッサ休止状態に入らせるステップ
を更に有する請求項1に記載の方法。
Transitioning the processor to a first frequency in a low frequency mode and to the second voltage associated with the low frequency mode;
The method of claim 1, further comprising: causing the processor to enter the extended processor hibernation state by further transitioning the processor to the first voltage and simultaneously performing instruction throughput rate reduction.
前記プロセッサが前記拡張プロセッサ休止状態にある間、プロセッサ割込要求を受け取るステップと、
前記第1電圧で前記割込にサービスを提供するステップと
を更に有し、
前記要求は、前記プロセッサが前記拡張プロセッサ休止状態を脱して、当該要求にサービスを提供するよう求める、請求項2に記載の方法。
Receiving a processor interrupt request while the processor is in the extended processor hibernation state;
Providing a service to the interrupt at the first voltage; and
The method of claim 2, wherein the request asks the processor to leave the extended processor hibernation state and service the request.
命令スループットレートを低減し続ける間、前記プロセッサへ供給される電圧を前記第1電圧から前記第2電圧まで高めることと、
前記プロセッサへ供給される電圧が前記第2電圧に達するときに、前記命令スループットレートの低減を停止させることと
によって、前記プロセッサを前記拡張プロセッサ休止状態から抜け出させるステップ
を更に有する請求項3に記載の方法。
Increasing the voltage supplied to the processor from the first voltage to the second voltage while continuing to reduce the instruction throughput rate;
4. The method of claim 3, further comprising: causing the processor to exit the extended processor hibernation state by stopping the reduction of the instruction throughput rate when the voltage supplied to the processor reaches the second voltage. the method of.
命令スループットレートを低減し続ける間、前記プロセッサへ供給される電圧を前記第1電圧から前記第2電圧へと高めることと、
前記プロセッサへ供給される電圧が前記第2電圧に達するときに、前記命令スループットレートの低減を停止させることと、
前記命令スループットレートの低減が停止されると、前記プロセッサへ供給される電圧を前記第2電圧から、該第2電圧よりも高く且つ高周波モードに関連する第3電圧へと高めることと、
前記プロセッサへ供給される電圧が前記第3電圧に達するときに、前記プロセッサを前記高周波モードに関連する第2周波数へ遷移させることと
によって、前記プロセッサを前記拡張プロセッサ休止状態から抜け出させるステップ
を更に有する請求項3に記載の方法。
Increasing the voltage supplied to the processor from the first voltage to the second voltage while continuing to reduce the instruction throughput rate;
Stopping the reduction of the instruction throughput rate when the voltage supplied to the processor reaches the second voltage;
When the reduction of the instruction throughput rate is stopped, increasing the voltage supplied to the processor from the second voltage to a third voltage higher than the second voltage and associated with a high frequency mode;
Transitioning the processor out of the extended processor hibernation state by transitioning the processor to a second frequency associated with the high frequency mode when a voltage supplied to the processor reaches the third voltage. The method of claim 3 comprising:
前記命令スループットレートが低減されているときに、電圧ランプの間、前記割込にサービスを提供するステップ
を更に有する請求項4に記載の方法。
The method of claim 4, further comprising: servicing the interrupt during a voltage ramp when the instruction throughput rate is being reduced.
前記プロセッサは、サイクルごとに第1の数以下の命令をリタイアすることができ、前記プロセッサは、命令スループットレートの低減の間、サイクルごとに前記第1の数よりも少ない命令をリタイアするよう制限される、請求項1に記載の方法。   The processor can retire less than or equal to the first number of instructions per cycle, and the processor is limited to retire less than the first number of instructions per cycle while reducing the instruction throughput rate The method of claim 1, wherein: 前記プロセッサは、前記拡張プロセッサ休止状態の間、スヌープ・サービシングに利用可能である、請求項1に記載の方法。   The method of claim 1, wherein the processor is available for snoop servicing during the extended processor hibernation state. 前記拡張プロセッサ休止状態は、C1E電力状態である、請求項1に記載の方法。   The method of claim 1, wherein the extended processor hibernation state is a C1E power state. 拡張プロセッサ休止状態に係る最低適合電圧である第2電圧を下回る第1電圧をプロセッサに供給し、
前記プロセッサで実行される命令の最大スループットレートを減じることによって、前記プロセッサが前記第1電圧で前記拡張プロセッサ休止状態からのウェイク時に命令を実行することを可能にする
プロセッサ電力管理回路を有する装置。
Providing a first voltage to the processor that is lower than a second voltage that is the lowest compatible voltage for extended processor hibernation;
An apparatus comprising a processor power management circuit that allows the processor to execute instructions on wake from the extended processor hibernate state at the first voltage by reducing a maximum throughput rate of instructions executed on the processor.
前記プロセッサ電力管理回路は、更に、
低周波モードの第1周波数へ及び前記低周波モードに関連する前記第2電圧へ前記プロセッサを遷移させ、
更に前記第1電圧へ前記プロセッサを遷移させ、同時に命令スループットレート低減を実施する
よう動作する、請求項10に記載の装置。
The processor power management circuit further includes:
Transitioning the processor to a first frequency in a low frequency mode and to the second voltage associated with the low frequency mode;
11. The apparatus of claim 10, further operable to transition the processor to the first voltage and at the same time perform an instruction throughput rate reduction.
前記プロセッサ電力管理回路は、更に、
前記プロセッサが前記拡張プロセッサ休止状態にある間、プロセッサ割込要求を受け取り、
前記プロセッサに前記第1電圧で前記割込にサービスを提供させる
よう動作し、
前記要求は、前記プロセッサが前記拡張プロセッサ休止状態を脱して、当該要求にサービスを提供するよう求める、請求項11に記載の装置。
The processor power management circuit further includes:
Receiving a processor interrupt request while the processor is in the extended processor sleep state;
Operative to cause the processor to service the interrupt at the first voltage;
12. The apparatus of claim 11, wherein the request asks the processor to leave the extended processor hibernation state and service the request.
前記プロセッサ電力管理回路は、更に、
命令スループットレートを低減し続ける間、前記プロセッサへ供給される電圧を前記第1電圧から前記第2電圧まで高め、
前記プロセッサへ供給される電圧が前記第2電圧に達するときに、前記命令スループットレートの低減を停止させる
よう動作する、請求項12に記載の装置。
The processor power management circuit further includes:
Increasing the voltage supplied to the processor from the first voltage to the second voltage while continuing to reduce the instruction throughput rate;
The apparatus of claim 12, wherein the apparatus is operative to stop reducing the instruction throughput rate when a voltage supplied to the processor reaches the second voltage.
前記プロセッサ電力管理回路は、更に、
命令スループットレートを低減し続ける間、前記プロセッサへ供給される電圧を前記第1電圧から前記第2電圧へと高め、
前記プロセッサへ供給される電圧が前記第2電圧に達するときに、前記命令スループットレートの低減を停止させ、
前記命令スループットレートの低減が停止されると、前記プロセッサへ供給される電圧を前記第2電圧から、該第2電圧よりも高く且つ高周波モードに関連する第3電圧へと高め、
前記プロセッサへ供給される電圧が前記第3電圧に達するときに、前記プロセッサを前記高周波モードに関連する第2周波数へ遷移させる
よう動作する、請求項12に記載の装置。
The processor power management circuit further includes:
Increasing the voltage supplied to the processor from the first voltage to the second voltage while continuing to reduce the instruction throughput rate;
Stop reducing the instruction throughput rate when the voltage supplied to the processor reaches the second voltage;
When the reduction of the instruction throughput rate is stopped, the voltage supplied to the processor is increased from the second voltage to a third voltage higher than the second voltage and related to the high frequency mode;
The apparatus of claim 12, wherein the apparatus is operative to transition the processor to a second frequency associated with the high frequency mode when a voltage supplied to the processor reaches the third voltage.
前記プロセッサは、更に、前記プロセッサの命令スループットレートが低減されているときに、電圧ランプの間、前記割込にサービスを提供するよう動作する、請求項13に記載の装置。   The apparatus of claim 13, wherein the processor is further operable to service the interrupt during a voltage ramp when the instruction throughput rate of the processor is being reduced. 前記プロセッサは、サイクルごとに第1の数以下の命令をリタイアすることができ、前記プロセッサは、命令スループットレートの低減の間、サイクルごとに前記第1の数よりも少ない命令をリタイアするよう制限される、請求項10に記載の装置。   The processor can retire less than or equal to the first number of instructions per cycle, and the processor is limited to retire less than the first number of instructions per cycle while reducing the instruction throughput rate The device of claim 10. 前記プロセッサは、前記拡張プロセッサ休止状態の間、スヌープ・サービシングに利用可能である、請求項10に記載の装置。   The apparatus of claim 10, wherein the processor is available for snoop servicing during the extended processor hibernation state. 前記拡張プロセッサ休止状態は、C1E電力状態である、請求項10に記載の装置。   The apparatus of claim 10, wherein the extended processor hibernation state is a C1E power state. マルチコアプロセッサと、
電圧レギュレータと、
プロセッサ電力管理回路と
を有し、
前記プロセッサ電力管理回路は、
前記電圧レギュレータに、拡張プロセッサ休止状態に係る最低適合電圧である第2電圧を下回る第1電圧をプロセッサに供給させ、
前記プロセッサで実行される命令の最大スループットレートを減じることによって、前記プロセッサが前記第1電圧で前記拡張プロセッサ休止状態からのウェイク時に命令を実行することを可能にする、
システム。
A multi-core processor;
A voltage regulator;
A processor power management circuit, and
The processor power management circuit includes:
Causing the voltage regulator to supply the processor with a first voltage that is lower than a second voltage that is the lowest compatible voltage for the extended processor hibernation state;
Allowing the processor to execute instructions on wake from the extended processor hibernation state at the first voltage by reducing a maximum throughput rate of instructions executed on the processor;
system.
前記プロセッサ電力管理回路は、更に、
低周波モードの第1周波数へ及び前記低周波モードに関連する前記第2電圧へ前記プロセッサを遷移させ、
更に前記第1電圧へ前記プロセッサを遷移させ、同時に命令スループットレート低減を実施する
よう動作する、請求項19に記載のシステム。
The processor power management circuit further includes:
Transitioning the processor to a first frequency in a low frequency mode and to the second voltage associated with the low frequency mode;
The system of claim 19, further operating to transition the processor to the first voltage and simultaneously perform instruction throughput rate reduction.
前記プロセッサ電力管理回路は、更に、
前記プロセッサが前記拡張プロセッサ休止状態にある間、プロセッサ割込要求を受け取り、
前記プロセッサに前記第1電圧で前記割込にサービスを提供させる
よう動作し、
前記要求は、前記プロセッサが前記拡張プロセッサ休止状態を脱して、当該要求にサービスを提供するよう求める、請求項20に記載のシステム。
The processor power management circuit further includes:
Receiving a processor interrupt request while the processor is in the extended processor sleep state;
Operative to cause the processor to service the interrupt at the first voltage;
21. The system of claim 20, wherein the request asks the processor to leave the extended processor hibernation state and service the request.
前記プロセッサ電力管理回路は、更に、
命令スループットレートを低減し続ける間、前記プロセッサへ供給される電圧を前記第1電圧から前記第2電圧まで高め、
前記プロセッサへ供給される電圧が前記第2電圧に達するときに、前記命令スループットレートの低減を停止させる
よう動作する、請求項21に記載のシステム。
The processor power management circuit further includes:
Increasing the voltage supplied to the processor from the first voltage to the second voltage while continuing to reduce the instruction throughput rate;
The system of claim 21, wherein the system is operative to stop reducing the instruction throughput rate when a voltage supplied to the processor reaches the second voltage.
前記プロセッサ電力管理回路は、更に、
命令スループットレートを低減し続ける間、前記プロセッサへ供給される電圧を前記第1電圧から前記第2電圧へと高め、
前記プロセッサへ供給される電圧が前記第2電圧に達するときに、前記命令スループットレートの低減を停止させ、
前記命令スループットレートの低減が停止されると、前記プロセッサへ供給される電圧を前記第2電圧から、該第2電圧よりも高く且つ高周波モードに関連する第3電圧へと高め、
前記プロセッサへ供給される電圧が前記第3電圧に達するときに、前記プロセッサを前記高周波モードに関連する第2周波数へ遷移させる
よう動作する、請求項21に記載のシステム。
The processor power management circuit further includes:
Increasing the voltage supplied to the processor from the first voltage to the second voltage while continuing to reduce the instruction throughput rate;
Stop reducing the instruction throughput rate when the voltage supplied to the processor reaches the second voltage;
When the reduction of the instruction throughput rate is stopped, the voltage supplied to the processor is increased from the second voltage to a third voltage higher than the second voltage and related to the high frequency mode;
The system of claim 21, wherein the system is operative to transition the processor to a second frequency associated with the high frequency mode when a voltage supplied to the processor reaches the third voltage.
前記プロセッサは、サイクルごとに第1の数以下の命令をリタイアすることができ、前記プロセッサは、命令スループットレートの低減の間、サイクルごとに前記第1の数よりも少ない命令をリタイアするよう制限される、請求項22に記載のシステム。   The processor can retire less than or equal to the first number of instructions per cycle, and the processor is limited to retire less than the first number of instructions per cycle while reducing the instruction throughput rate 23. The system of claim 22, wherein: 前記拡張プロセッサ休止状態は、C1E電力状態である、請求項19に記載のシステム。   The system of claim 19, wherein the extended processor hibernation state is a C1E power state.
JP2011527016A 2008-09-19 2009-09-14 Processor power consumption control and voltage drop by bandwidth throttling of microarchitecture Expired - Fee Related JP5090569B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/284,303 2008-09-19
US12/284,303 US8028181B2 (en) 2008-09-19 2008-09-19 Processor power consumption control and voltage drop via micro-architectural bandwidth throttling
PCT/US2009/056782 WO2010033446A2 (en) 2008-09-19 2009-09-14 Processor power consumption control and voltage drop via micro-architectural bandwidth throttling

Publications (2)

Publication Number Publication Date
JP2012503233A true JP2012503233A (en) 2012-02-02
JP5090569B2 JP5090569B2 (en) 2012-12-05

Family

ID=41821470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011527016A Expired - Fee Related JP5090569B2 (en) 2008-09-19 2009-09-14 Processor power consumption control and voltage drop by bandwidth throttling of microarchitecture

Country Status (8)

Country Link
US (2) US8028181B2 (en)
JP (1) JP5090569B2 (en)
KR (1) KR101254878B1 (en)
CN (1) CN101676833B (en)
BR (1) BRPI0918558A2 (en)
DE (1) DE102009041723B4 (en)
TW (2) TWI432949B (en)
WO (1) WO2010033446A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012504279A (en) * 2008-09-29 2012-02-16 インテル・コーポレーション Voltage stabilization for clock signal frequency lock

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8028181B2 (en) 2008-09-19 2011-09-27 Intel Corporation Processor power consumption control and voltage drop via micro-architectural bandwidth throttling
US8064197B2 (en) * 2009-05-22 2011-11-22 Advanced Micro Devices, Inc. Heat management using power management information
US9069555B2 (en) 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
CN102759980B (en) * 2011-04-29 2016-01-20 晨星软件研发(深圳)有限公司 Multi-core electronic system and rate adjustment device thereof
US9442732B2 (en) * 2012-03-19 2016-09-13 Via Technologies, Inc. Running state power saving via reduced instructions per clock operation
US9274580B2 (en) 2012-06-29 2016-03-01 Intel Corporation Voltage regulator supplying power exclusively to a non-core region of a processor having a supply capability threshold
US9128721B2 (en) * 2012-12-11 2015-09-08 Apple Inc. Closed loop CPU performance control
US9081577B2 (en) * 2012-12-28 2015-07-14 Intel Corporation Independent control of processor core retention states
US9459683B2 (en) * 2013-09-27 2016-10-04 Intel Corporation Techniques for entering a low power state
US9135472B2 (en) 2013-10-31 2015-09-15 Square, Inc. Systems and methods for secure processing with embedded cryptographic unit
US9678556B2 (en) 2014-02-10 2017-06-13 Qualcomm Incorporated Dynamic clock and voltage scaling with low-latency switching
US9785174B2 (en) 2014-10-03 2017-10-10 Microsoft Technology Licensing, Llc Predictive transmission power control for back-off
WO2016186633A1 (en) * 2015-05-15 2016-11-24 Hewlett Packard Enterprise Development Lp Dynamically changing a power supply voltage to a system
US10410202B1 (en) * 2016-12-31 2019-09-10 Square, Inc. Expedited booting with brownout monitoring
DE102017007969B3 (en) 2017-08-23 2019-02-14 e.solutions GmbH Characterization of an on-board power supply of devices in a vehicle
US10410189B2 (en) 2017-09-30 2019-09-10 Square, Inc. Scanning system with direct access to memory
US10481819B2 (en) 2017-10-30 2019-11-19 Micron Technology, Inc. Memory devices with multiple sets of latencies and methods for operating the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000039937A (en) * 1998-07-22 2000-02-08 Toshiba Corp Computer system and its power-saving control method
JP2004326236A (en) * 2003-04-22 2004-11-18 Internatl Business Mach Corp <Ibm> Information processing device, program, storage medium, and control method
JP2007102323A (en) * 2005-09-30 2007-04-19 Kyocera Mita Corp Information processing device
WO2007078925A1 (en) * 2005-12-30 2007-07-12 Intel Corporation Method and apparatus for a zero voltage processor sleep state
JP2007259463A (en) * 1996-11-21 2007-10-04 Hitachi Ltd Low power processor

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW382670B (en) * 1996-11-21 2000-02-21 Hitachi Ltd Low power processor
US7260731B1 (en) * 2000-10-23 2007-08-21 Transmeta Corporation Saving power when in or transitioning to a static mode of a processor
US6931559B2 (en) * 2001-12-28 2005-08-16 Intel Corporation Multiple mode power throttle mechanism
US7299370B2 (en) * 2003-06-10 2007-11-20 Intel Corporation Method and apparatus for improved reliability and reduced power in a processor by automatic voltage control during processor idle states
JP4549652B2 (en) * 2003-10-27 2010-09-22 パナソニック株式会社 Processor system
WO2008012874A1 (en) * 2006-07-25 2008-01-31 National University Corporation Nagoya University Operation processing device
US7941683B2 (en) * 2007-05-02 2011-05-10 Advanced Micro Devices, Inc. Data processing device with low-power cache access mode
US7599808B2 (en) * 2007-08-31 2009-10-06 International Business Machines Corporation Application of multiple voltage droop detection and instruction throttling instances with customized thresholds across a semiconductor chip
US8028181B2 (en) 2008-09-19 2011-09-27 Intel Corporation Processor power consumption control and voltage drop via micro-architectural bandwidth throttling

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007259463A (en) * 1996-11-21 2007-10-04 Hitachi Ltd Low power processor
JP2000039937A (en) * 1998-07-22 2000-02-08 Toshiba Corp Computer system and its power-saving control method
JP2004326236A (en) * 2003-04-22 2004-11-18 Internatl Business Mach Corp <Ibm> Information processing device, program, storage medium, and control method
JP2007102323A (en) * 2005-09-30 2007-04-19 Kyocera Mita Corp Information processing device
WO2007078925A1 (en) * 2005-12-30 2007-07-12 Intel Corporation Method and apparatus for a zero voltage processor sleep state

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012504279A (en) * 2008-09-29 2012-02-16 インテル・コーポレーション Voltage stabilization for clock signal frequency lock

Also Published As

Publication number Publication date
BRPI0918558A2 (en) 2015-12-01
US8028181B2 (en) 2011-09-27
KR20110055674A (en) 2011-05-25
TW201443631A (en) 2014-11-16
KR101254878B1 (en) 2013-04-15
WO2010033446A3 (en) 2010-05-27
US20100077232A1 (en) 2010-03-25
CN101676833B (en) 2012-12-05
DE102009041723A1 (en) 2010-04-15
TWI524175B (en) 2016-03-01
TW201024986A (en) 2010-07-01
WO2010033446A2 (en) 2010-03-25
CN101676833A (en) 2010-03-24
TWI432949B (en) 2014-04-01
US20120210105A1 (en) 2012-08-16
DE102009041723B4 (en) 2013-05-29
JP5090569B2 (en) 2012-12-05

Similar Documents

Publication Publication Date Title
JP5090569B2 (en) Processor power consumption control and voltage drop by bandwidth throttling of microarchitecture
JP4510087B2 (en) Coordination of idle state transition in multi-core processor
US7689838B2 (en) Method and apparatus for providing for detecting processor state transitions
US8966305B2 (en) Managing processor-state transitions
US6298448B1 (en) Apparatus and method for automatic CPU speed control based on application-specific criteria
US8402291B2 (en) Method, device, and system for guaranteed minimum processor power state dwell time
US8156362B2 (en) Hardware monitoring and decision making for transitioning in and out of low-power state
TWI443504B (en) Multi-core processor system, dynamic power management method thereof and control apparatus thereof
US20090235260A1 (en) Enhanced Control of CPU Parking and Thread Rescheduling for Maximizing the Benefits of Low-Power State
US20090172428A1 (en) Apparatus and method for controlling power management
US20100058078A1 (en) Protocol for Power State Determination and Demotion
US20120072746A1 (en) Facilitating power management in a multi-core processor
US20170168853A1 (en) Dynamic predictive wake-up techniques
WO2016085680A1 (en) System and method for adaptive thread control in a portable computing device (pcd)
US8127161B2 (en) Data processing apparatus
KR101896494B1 (en) Power management in computing devices
JP2003337634A (en) Computer apparatus, method for controlling processor, program for running the method by computer, computer- readable recording medium with the program recorded thereon

Legal Events

Date Code Title Description
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: 20120814

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120815

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120912

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

Free format text: PAYMENT UNTIL: 20150921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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