USPatent applicationPatented

Method and apparatus of power management of processor

Granted 19 Oct 2010 · 2 office actions

Assignee: Intel Corporation

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Efraim Rotem, Anil Aggarwal, Russell J. Fenger · Examiner: Thomas Lee · AU 2115 · TC 2100

Life of the application

11 dated events
⤢ drag to zoom2008201020122014201620182020202220242026ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

Briefly, a processor and a method of setting a performance state of a turbo mode enabled processor. The method includes determining an effective performance state over a predetermined time period, calculating a target performance state based on core utilization and the effective performance state over the predetermined time period and setting the turbo mode enabled processor to a turbo mode performance state.

Description

5 parts
›BACKGROUND OF THE INVENTION

In computer systems, for example computer system that using general purpose, multi-core (on die Clip Multi-Processing (CMP)) processor and more specifically, a CMP processor using adaptive power management policies, the processor performance state (P-state) adjusts based on demand. As central processor unit (CPU) utilization decreases, the processor may transition to a lower performance state to conserve power. As the CPU utilization increases, the processor may transition to a higher performance state and may consume more power.

In existing operating systems, a target P-state selection is based on the combination of CPU utilization and the last selected P-state. With a Turbo Mode (TM) capable processor, at the last selected P-state, the processor frequency may increase to a highest frequency available when thermal constraints allow it, the actual frequency at which the processor is running may not always correspond to the last selected P-state. This will result incorrect target P-state selection resulting in undesirable performance degradation.

Advanced Configuration and Power Interface (ACPI) is a power management system that allows a computer operation system to control the amount of power consumed by CPU and peripheral devices of the computer system. In existing ACPI processor which includes 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.

›BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanied drawings in which:

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; and

FIG. 3 is an illustration of flowchart of a method of calculating a target P-state in Turbo Mode capable processors according to exemplary embodiments of the invention.

It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.

›DETAILED DESCRIPTION OF THE INVENTION · 1 of 3

In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However it will be understood by those of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.

Some portions of the detailed description, which follow, are presented in terms of algorithms and symbolic representations of operations on data bits or binary digital signals within a computer memory. These algorithmic descriptions and representations may be the techniques used by those skilled in the data processing arts to convey the substance of their work to others skilled in the art.

Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices. In addition, the term “plurality” may be used throughout the specification to describe two or more components, devices, elements, parameters and the like. For example, “plurality of instructions” describes two or instructions.

It should be understood that 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.

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. 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. 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.

Turning to FIG. 1 , a block diagram of a computer system 100 according to an exemplary embodiment of the invention is shown. Although the scope of the present invention is not limited in this respect, 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.

According to exemplary embodiments of the present invention, computer system 100 may include a main processing unit 110 powered by a power supply 120 . According to exemplary embodiments of the present invention, 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 . For example, 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 .

According to some embodiments of the invention, 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. In addition, 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.

Although the scope of the present invention is not limited in this respect, interface circuit(s) 150 may include an Ethernet interface and/or a Universal Serial Bus (USB) interface, and/or the like. In some exemplary embodiments of the invention, one or more input devices 160 may be connected to interface circuits 150 for entering data and commands into the main processing unit 110 . For example, input devices 160 may include a keyboard, mouse, touch screen, track pad, track ball, isopoint, a voice recognition system, and/or the like.

›DETAILED DESCRIPTION OF THE INVENTION · 2 of 3

Although the scope of the present invention is not limited in this respect, 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. For example, 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.

According to some embodiments of the invention, computer system 100 may include one or more storage devices 180 . For example, 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.

According to exemplary embodiment of the present invention, 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.

According to one exemplary embodiment of the invention, 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. In turbo mode, 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. In some embodiment of the invention 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. 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.

Turning to FIG. 2 , a block diagram of a portion of a processing platform 200 according to an exemplary embodiment of the invention is shown. Although the scope of the present invention is not limited in this respect, portion of processing platform 200 may include an operating system 205 including OSPM 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 . According to this exemplary embodiment an actual counts counter (ACNT) 260 and maximum counts counter (MCNT) 270 may be operably coupled to each one of core 1 . . . N 230 .

According to exemplary embodiments of the invention, TM enabled processing platform 200 may use OSPM 210 , ACPI 220 , ACNT 260 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 .

According to exemplary embodiments of the invention 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., P 0 , P 1 . . . P 4 ). OSPM 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. Furthermore, 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 in the desired P-state. For example, selectable P-states P 1 -P 4 may include an actual selectable operating frequency (e.g., PSS Frequency) of CPU 225 . For example, if P 1 is selected the operating frequency of CPU 225 may be set to 3.000 MHz.

Although the scope of the present invention is not limited to this exemplary P-state table, P 0 is a turbo mode P-state and may be selected when TM enabled processor is running in turbo mode 240 . However, the PSS Frequency of P 0 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. For example, in Table 1 the number of P 0 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 P 1 to P 0 will put CPU 225 into TM. For example, writing the command word associated with 3001 MHz on table 1 may set the CPU to run in a highest possible frequency e.g. 3333 MHz which is different then the frequency indicated in table 1 (e.g., 3001 MHz). The non Turbo frequency of 3001 MHz, 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.

According to some embodiments of the invention, P 0 may be selected only when a core of the processing platform 200 is operating in turbo mode 250 . In P 0 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. Other states of P-State tables may represent power consumption state of cores 1 . . . N 230 during normal operating mode. For example, P 1 state represents an actual guaranteed frequency (e.g. 3000 MHz). In this performance power state, the performance capability the processor is limited below its maximum and consumes less than maximum power. In P 2 -P 4 P-states, the performance capability the processor may be decreased until its minimum level (at P 4 ) and consumes minimal power while remaining in an active state.

›DETAILED DESCRIPTION OF THE INVENTION · 3 of 3

Although the scope of the present invention is not limited in this respect, high and low P-State settings may be stored in the CPU's “Machine Specific Registers (MSR's)”, while any additional P-State combinations may be stored in BIOS 245 . By providing additional P-State settings, Operating System 205 may tune CPU 225 or in at least one of its cores 1 . . . N 230 , in more accuracy to the optimum performance and power setting for a specific workload.

According to some other embodiments of the invention, 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. With this approach, 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.

According to some embodiments of the invention, in order to set a target P-state ACNT 260 and MCNT 270 may be used. For example, 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 (ACNT/MCNT)*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 P 0 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.

Turning to 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. According to some embodiments of the invention, the method of calculating the target P-state in TM capable processors (e.g., TM capable processor 130 ) 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.

According to this exemplary method of calculating the target P-state, in order to determine an effective P-State over a determent time period the ACNT/MCNT ratio is calculated (text block 310 ). For example, the effective P-state may be P-state effective =(ACNT/MCNT)*100. If the P_state effective is greater then 100% the OSPM may have set the P-state to a turbo mode P-state.

According to this exemplary embodiment of the invention, the target P-state is calculated by multiplying the calculated effective P-state (e.g., P_State effective ) with a CPU utilization value (e.g., % Busy). P-state target =% Busy*P_State effective (text block 320 ). If the target P-state is different then the current P-state (decision block 330 ) then OSPM 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.

According to exemplary embodiments of the invention, on TM capable processors, 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. In addition, 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.

While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.

›Tables in the description — 1
TABLE 1
PSS% MaxIncreaseDecrease
P-stateFrequencyFrequencyLevelLevel
P0300110010198
P13000999884
P22666888573
P32333777462
P4200066630

Claims as granted

18 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

5 codes
IPC · International Patent Classification
Section G — Physics
  • G06F1/00
USPC · US Patent Classification
713/322713/320713/502713/300

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJan 2007Jul 2007Jan 2008Jul 2008Jan 2009Jul 2009Jan 2010Jul 2010Jan 2011USPTOApplicantNon-final rejectionFinal rejection
USPTOApplicanthover for detail · click to open
Pendency
3.8 y
1,405 days filing → grant
Office actions
2
non-final + final
Responses
3
no RCE
Examiner
Thomas Lee
art unit 2115 · TC 2100
Citations: 24 back · 35 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom2008201020122014201620182020202220242026Owner 1Owner 2
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock