WO2008073597A1 - Method and apparatus of power management of processor - Google Patents

Method and apparatus of power management of processor Download PDF

Info

Publication number
WO2008073597A1
WO2008073597A1 PCT/US2007/082959 US2007082959W WO2008073597A1 WO 2008073597 A1 WO2008073597 A1 WO 2008073597A1 US 2007082959 W US2007082959 W US 2007082959W WO 2008073597 A1 WO2008073597 A1 WO 2008073597A1
Authority
WO
WIPO (PCT)
Prior art keywords
performance state
core
performance
state
processor
Prior art date
Application number
PCT/US2007/082959
Other languages
English (en)
French (fr)
Inventor
Efraim Rotem
Anil Aggarwal
Russell Fenger
Original Assignee
Intel Corporation
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 Intel Corporation filed Critical Intel Corporation
Priority to CN2007800458395A priority Critical patent/CN101558383B/zh
Priority to DE112007003007T priority patent/DE112007003007T5/de
Publication of WO2008073597A1 publication Critical patent/WO2008073597A1/en

Links

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
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the processor performance state adjusts based on demand.
  • CPU central processor unit
  • the processor may transition to a lower performance state to conserve power.
  • the processor may transition to a higher performance state and may consume more power.
  • a target P-state selection is based on the combination of CPU utilization and the last selected P-state.
  • TM Turbo Mode
  • ACPI Advanced Configuration and Power Interface
  • P-state information each selectable core frequency is represented with corresponding control, status, and latency information.
  • a replacement of the highest frequency of the last selected P-state with a TM frequency may result in, an increased usage of additional processing power when not needed. Furthermore, this may result in performance degrading caused by P-state fluctuations due to unnecessary transitions to TM.
  • FIG. 1 is a schematic illustration of a block diagram of computer system according to an exemplary embodiment of the present invention
  • FIG. 2 is a schematic illustration of a block diagram of a portion of a processing platform according to an exemplary embodiment of the invention.
  • FIG. 3 is an illustration of flowchart of a method of calculating a target P-state in
  • the present invention may be used in a variety of applications. Although the present invention is not limited in this respect, the circuits and techniques disclosed herein may be used in many apparatuses such as computer systems, processors, CPU or the like. Processors intended to be included within the scope of the present invention include, by way of example only, a reduced instruction set computer (RISC), a processor that have a pipeline, a complex instruction set computer (CISC), a multi core processor, a computer platform and the like.
  • RISC reduced instruction set computer
  • CISC complex instruction set computer
  • multi core processor a computer platform and the like.
  • Some embodiments of the invention may be implemented, for example, using a machine-readable medium or article which may store an instruction or a set of instructions that, if executed by a machine (for example, by a processor and/or by other suitable machines), cause the machine to perform a method and/or operations in accordance with embodiments of the invention.
  • a machine for example, by a processor and/or by other suitable machines
  • Such machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware and/or software.
  • the machine-readable medium or article may include, for example, any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory, removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, various types of Digital Versatile Disks (DVDs), a tape, a cassette, or the like.
  • any suitable type of memory unit for example, any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory, removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory
  • the instructions may include any suitable type of code, for example, source code, compiled code, interpreted code, executable code, static code, dynamic code, or the like, and may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language, e.g., C, C++, Java, BASIC, Pascal, Fortran, Cobol, assembly language, machine code, or the like.
  • code for example, source code, compiled code, interpreted code, executable code, static code, dynamic code, or the like
  • suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language e.g., C, C++, Java, BASIC, Pascal, Fortran, Cobol, assembly language, machine code, or the like.
  • FIG. 1 a block diagram of a computer system 100 according to an exemplary embodiment of the invention is shown.
  • computer system 100 may be a personal computer (PC), a personal digital assistant (PDA), an Internet appliance, a cellular telephone, a laptop computer, a mobile unit, a wireless communication device and/or any other computing device.
  • PC personal computer
  • PDA personal digital assistant
  • Internet appliance a cellular telephone
  • laptop computer a laptop computer
  • mobile unit a mobile unit
  • wireless communication device any other computing device.
  • computer system 100 may include a main processing unit 110 powered by a power supply 120.
  • main processing unit 110 may include a Turbo Mode (TM) capable processor 130 electrically coupled by a system interconnect 135 to a memory device 140 and one or more interface circuits 150.
  • the system interconnect 135 may be an address/data bus, if desired. It should be understood that interconnects other than busses may be used to connect TM capable processor 130 to memory device 140. For example, one or more dedicated lines and/or a crossbar may be used to connect processor 130 to memory device 140.
  • TM capable processor 130 may include an operating system 139 and a CPU 136 which includes one or more cores 137.
  • Operating system 139 may execute an ACPI 132 and an operating system power management (OSPM) application 134, if desired.
  • processor 130 may include a cache memory (not shown), such as, for example, static random access memory (SRAM) and the like, or any other type of internal integrated memory.
  • Memory device 140 may include a dynamic random access memory (DRAM), a non-volatile memory, or the like. In one example, memory device 140 may store a software program which may be executed by processor 130, if desired.
  • interface circuit(s) 150 may include an Ethernet interface and/or a Universal Serial Bus (USB) interface, and/or the like.
  • one or more input devices 160 may be connected to interface circuits 150 for entering data and commands into the main processing unit 110.
  • input devices 160 may include a keyboard, mouse, touch screen, track pad, track ball, isopoint, a voice recognition system, and/or the like.
  • the output devices 170 may be operably coupled to main processing unit 110 via one or more of the interface circuits 150 and may include one or more displays, printers, speakers, and/or other output devices, if desired.
  • one of the output devices may be a display.
  • the display may be a cathode ray tube (CRT), a liquid crystal display (LCD), or any other type of display.
  • computer system 100 may include one or more storage devices 180.
  • computer system 100 may include one or more hard drives, one or more compact disk (CD) drive, one or more digital versatile disk drives (DVD), and/or other computer media input/output (I/O) devices, if desired.
  • computer system 100 may exchange data with other devices via a connection to a network 190.
  • the network connection may include any type of network connection, such as an Ethernet connection, a digital subscriber line (DSL), a telephone line, a coaxial cable, etc.
  • Network 190 may be any type of network, such as the Internet, a telephone network, a cable network, a wireless network such as, for example, a network complying IEEE standard 802.11, 1999 include one or more IEEE 802.11 related standards, IEEE 802.16 Standard for Wireless Metropolitan Area Networks and/or the like.
  • TM capable processor 130 may operate in two or more operating frequencies. A selection of the operating frequency of TM capable processor 130 may be done by OSPM 134 based on TM capable processor 130 load observed over a window of time, if desired.
  • ACPI 132 may provide a target P-state to OSPM 134.
  • OSPM 134 may set a power consumption target point and may modify the processor operating frequency and/or voltage according to the selected entry in the target P-state.
  • the target P- state that related to the processor turbo mode may be provided by a basic input output system (BIOS) 145. This, turbo related P-state may be related to the highest operating frequency of the processor in turbo mode.
  • BIOS basic input output system
  • OSPM 134 logic may accurately select the appropriate P-state needed to meet computer system 100 performance needs. It should be understood that ACPI 132 and/or OSPM 134 may be implemented by hardware, by software, and/or by any combination of hardware and/or software.
  • portion of processing platform 200 may include an operating system 205 including an OSMP 210 and an ACPI 220, a CPU 225 which includes cores 1...N 230, and a BIOS 245 which includes a turbo mode 240 and one or more P-state tables 250.
  • an actual counts counter (ACNT) 260 and maximum counts counter (MCNT) 270 may be operably coupled to each one of core 1...N 230.
  • TM enabled processing platform 200 may use OSMP 210, ACPI 220, ACNT260 and MCNT 270, and P-State tables 250 to set an optimal P-state for cores 1...N 230 of processing platform 200 while the TM enabled processor is running in turbo mode 240.
  • P-State tables 230 may include the below table e.g., Table 1 for each core 1...N of the processing platform 200.
  • Table 1 may include a plurality of selectable P-states (e.g., PO, P1....P4).
  • OSMP 210 may use a selected P-state to set an operating frequency and an operating voltage of each one of cores 1...N 230, independently.
  • table 1 may include command word associated with each P-state.
  • the command word may download parameters of the selected P-state (e.g., PSS Frequency, %Max Frequency, Increase Level, Decrease Level and the like to control and set CPU 225 it in the desired P-state.
  • selectable P- states P1-P4 may include an actual selectable operating frequency (e.g., PSS Frequency) of CPU 225. For example, if Pl is selected the operating frequency of CPU 225 may be set to 3.000 MHz.
  • PO is a turbo mode P-state and may be selected when TM enabled processor is running in turbo mode 240.
  • the PSS Frequency of PO does not represent an actual selectable frequency but includes ACPI information of TM frequency (e.g. 3333 MHz) which is represented by a number which is higher then the actual selectable frequency of the core.
  • TM frequency e.g. 3333 MHz
  • the number of PO state is the actual highest selected frequency plus 1 (e.g. 3001 MHz).
  • Writing a control word and/or a command to CPU 225 or to one of its cores (e.g., core 1...N 230) to change frequency from the Pl to PO will put CPU 225 into TM.
  • writing the command word associated with 3001MHz on table 1 may set the CPU to run in a highest possible frequency e.g. 3333MHz which is different then the frequency indicated in table 1 (e.g., 3001 MHz).
  • the non Turbo frequency of 3001MHz in this example, may be considered as "Guaranteed” frequency with is exposed by the CPU table while the 3333 MHz is the actual "Turbo" frequency, although the scope of the present invention is not limited in this respect.
  • PO may be selected only when a core of the processing platform 200 is operating in turbo mode 250. In PO state the CPU 225 and/or at least on of its cores 1...N 230, may use its maximum performance capability and may consume maximum power.
  • P-State tables may represent power consumption state of cores 1...N 230 during normal operating mode.
  • Pl state represents an actual guaranteed frequency (e.g. 3000 MHz).
  • the performance capability the processor In this performance power state, the performance capability the processor is limited below its maximum and consumes less than maximum power.
  • P2-P4 P-states the performance capability the processor may be decreased until its minimum level (at P4) and consumes minimal power while remaining in an active state.
  • table 1 may not encode the frequency directly. Instead, the table may store the multiplier setting that is multiplied by a front-side bus frequency to generate the core frequency.
  • TM may only be used when the core utilization requires the need for additional processing power and since the TM frequency is not guaranteed, the OSPM 210 may increase or decrease the P-state based on the increase and decrease in the core utilization.
  • ACNT 260 and MCNT 270 may be used.
  • MCNT 270 may count maximum number of execute clocks at the maximum non-turbo mode core frequency and the ACNT 260 may count the number of execute clocks at actual core frequency.
  • the ratio of (ACNTMCNT)* 100 may be used by OSPM 210 to accurately select the appropriate P- state needed to meet the system's performance needs. For example, if the ration is higher then 100% it may indicate that the core is in turbo mode and PO may be selected.
  • OSPM 210 may command ACPI 220 to increase the frequency to the maximum operating frequency, if desired.
  • the command may be store in a command register (not shown) and may include a number (e.g., 3.4, 3.2, etc). The number may represent the desired operating frequency of the core according to the selected P-State.
  • FIG. 3 an illustration of flowchart of a method of calculating the target P-state in Turbo Mode capable processors according to exemplary embodiments of the invention is shown.
  • the method of calculating the target P-state in TM capable processors may use a hardware coordinated feedback provided by counters (Actual Count) ACNT and (Maximum count) MCNT.
  • the MCNT may count maximum number of execute clocks at the maximum non-turbo mode core frequency and the ACNT may count the number of execute clocks at actual core frequency.
  • the ACNT/MCNT ratio is calculated (text block 310).
  • the target P-state is calculated by multiplying the calculated effective P-state (e.g., P_State e ff ec tive) with a CPU utilization value (e.g., % Busy).
  • P-state ta rget % Busy*P_State e ff ec tive (text block 320). If the target P-state is different then the current P-state (decision block 330) then OSMP may set a logical processor or a core to a new P-state and reset counters ACNT and MCNT (text block 340). If the target P-state is substantially equal to the current P-state, the current P-state may remain unchanged, although the scope of the present invention is in no way limited in this respect.
  • ACNT/MCNT ratio when the processor is running in Turbo Mode ACNT/MCNT ratio may be greater than 100% and OSPM logic may select the TM P-state.
  • ACPI P-state control algorithm may optimize a runtime power consumption of the TM enabled processor according to desired performance of the processor.
  • An ACPI P-state control algorithm may dynamically adjust the TM enabled processor operation frequency of each core according to a software execution load of the processor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
PCT/US2007/082959 2006-12-14 2007-10-30 Method and apparatus of power management of processor WO2008073597A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2007800458395A CN101558383B (zh) 2006-12-14 2007-10-30 处理器的电源管理方法和装置
DE112007003007T DE112007003007T5 (de) 2006-12-14 2007-10-30 Verfahren und Vorrichtung für die Energieverwaltung bei einem Prozessor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US68370006A 2006-12-14 2006-12-14
US11/683,700 2006-12-14

Publications (1)

Publication Number Publication Date
WO2008073597A1 true WO2008073597A1 (en) 2008-06-19

Family

ID=39512073

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/082959 WO2008073597A1 (en) 2006-12-14 2007-10-30 Method and apparatus of power management of processor

Country Status (3)

Country Link
CN (1) CN101558383B (de)
DE (1) DE112007003007T5 (de)
WO (1) WO2008073597A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014523023A (ja) * 2011-06-27 2014-09-08 インテル・コーポレーション プロセッサのターボモード動作での電力効率を向上させる方法
KR102105681B1 (ko) * 2018-10-23 2020-04-28 울산과학기술원 이기종 컴퓨팅 시스템의 제어 방법 및 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098274B2 (en) 2009-12-03 2015-08-04 Intel Corporation Methods and apparatuses to improve turbo performance for events handling
CN102708784A (zh) * 2012-07-02 2012-10-03 深圳市开立科技有限公司 一种显示屏上电管理系统和方法
JP6483609B2 (ja) * 2013-05-23 2019-03-13 ルネサスエレクトロニクス株式会社 マルチcpuシステム
CN111971949B (zh) * 2018-03-28 2021-07-13 富士胶片株式会社 图像处理系统、图像处理方法及信息处理装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087896A1 (en) * 2000-12-29 2002-07-04 Cline Leslie E. Processor performance state control
US20040071184A1 (en) * 2002-10-14 2004-04-15 Alon Naveh Method and apparatus for performance effective power throttling
US7089430B2 (en) * 2001-12-21 2006-08-08 Intel Corporation Managing multiple processor performance states
US20060265616A1 (en) * 2003-05-07 2006-11-23 Cesare Josh D Method and apparatus for dynamic power management in a processor system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290161B2 (en) * 2003-03-24 2007-10-30 Intel Corporation Reducing CPU and bus power when running in power-save modes
CN100365543C (zh) * 2006-03-10 2008-01-30 浙江大学 内核动态调节处理器频率的节能方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087896A1 (en) * 2000-12-29 2002-07-04 Cline Leslie E. Processor performance state control
US7089430B2 (en) * 2001-12-21 2006-08-08 Intel Corporation Managing multiple processor performance states
US20040071184A1 (en) * 2002-10-14 2004-04-15 Alon Naveh Method and apparatus for performance effective power throttling
US20060265616A1 (en) * 2003-05-07 2006-11-23 Cesare Josh D Method and apparatus for dynamic power management in a processor system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014523023A (ja) * 2011-06-27 2014-09-08 インテル・コーポレーション プロセッサのターボモード動作での電力効率を向上させる方法
KR102105681B1 (ko) * 2018-10-23 2020-04-28 울산과학기술원 이기종 컴퓨팅 시스템의 제어 방법 및 장치

Also Published As

Publication number Publication date
DE112007003007T5 (de) 2009-10-15
CN101558383B (zh) 2012-11-14
CN101558383A (zh) 2009-10-14

Similar Documents

Publication Publication Date Title
US7818596B2 (en) Method and apparatus of power management of processor
US8458498B2 (en) Method and apparatus of power management of processor
US9436245B2 (en) Dynamically computing an electrical design point (EDP) for a multicore processor
US8516285B2 (en) Method, apparatus and system to dynamically choose an optimum power state
US9026816B2 (en) Method and system for determining an energy-efficient operating point of a platform
US8560869B2 (en) Dynamic power reduction
US8713256B2 (en) Method, apparatus, and system for energy efficiency and energy conservation including dynamic cache sizing and cache operating voltage management for optimal power performance
US9671854B2 (en) Controlling configurable peak performance limits of a processor
US9235252B2 (en) Dynamic balancing of power across a plurality of processor domains according to power policy control bias
US6792551B2 (en) Method and apparatus for enabling a self suspend mode for a processor
US8171319B2 (en) Managing processor power-performance states
US20050044429A1 (en) Resource utilization mechanism for microprocessor power management
US9335803B2 (en) Calculating a dynamically changeable maximum operating voltage value for a processor based on a different polynomial equation using a set of coefficient values and a number of current active cores
WO2013090627A1 (en) User level control of power management policies
US9335813B2 (en) Method and system for run-time reallocation of leakage current and dynamic power supply current
WO2008073597A1 (en) Method and apparatus of power management of processor

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200780045839.5

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07844720

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 1120070030070

Country of ref document: DE

RET De translation (de og part 6b)

Ref document number: 112007003007

Country of ref document: DE

Date of ref document: 20091015

Kind code of ref document: P

122 Ep: pct application non-entry in european phase

Ref document number: 07844720

Country of ref document: EP

Kind code of ref document: A1

REG Reference to national code

Ref country code: DE

Ref legal event code: 8607