WO2016122573A1 - Setting processor performance states - Google Patents

Setting processor performance states Download PDF

Info

Publication number
WO2016122573A1
WO2016122573A1 PCT/US2015/013709 US2015013709W WO2016122573A1 WO 2016122573 A1 WO2016122573 A1 WO 2016122573A1 US 2015013709 W US2015013709 W US 2015013709W WO 2016122573 A1 WO2016122573 A1 WO 2016122573A1
Authority
WO
WIPO (PCT)
Prior art keywords
performance state
mobile device
processor
state
cores
Prior art date
Application number
PCT/US2015/013709
Other languages
French (fr)
Inventor
Chi So
Shaheen SAROOR
Mark A Piwonka
Original Assignee
Hewlett-Packard Development Company, L.P.
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 Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2015/013709 priority Critical patent/WO2016122573A1/en
Priority to TW105102698A priority patent/TW201643597A/en
Publication of WO2016122573A1 publication Critical patent/WO2016122573A1/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
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/263Arrangements for using multiple switchable power supplies, e.g. battery and AC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • 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
    • 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

  • FIG. 1 is a block diagram of an example system of the present disclosure
  • FIG. 2 illustrates a high-level block diagram of an example computer
  • FIG. 3 illustrates a flowchart of an example method for selecting a processor performance state of a mobile device based upon whether the mobile device is docked or undocked;
  • FIG. 4 illustrates a flowchart of an additional example method for selecting a processor performance state of a mobile device based upon whether the mobile device is docked or undocked.
  • the present disclosure broadly discloses a mobile device, and a related method and computer-readable medium for dynamically adjusting the usage of processor cores in the mobile device based upon a determination of whether or not the mobile device is docked, e.g., connected to a docking station and powered by an alternating current (AC) power source, or undocked (mobile) and powered by a battery of the mobile device.
  • the processor when the mobile device is docked, the processor is operated in a higher performance state, such as using more cores of the processor, or operating any one or more of the cores at a higher voltage and/or a higher clock frequency, e.g., a lower P- state.
  • the processor When the mobile device is undocked, the processor is operated in a lower performance state as compared to the higher performance state, such as using less cores of the processor, e.g., placing one or more cores of the processor in an idle state, or C-state, or operating one or more cores of the processor at a lower voltage and/or a lower clock frequency, e.g., a higher P- state.
  • additional heat dissipating options are available to the mobile device, such as heat sinks, fans, liquid cooling, and so forth.
  • heat from the battery and greater consumption of battery power are not concerns, as power is provided via an AC power source.
  • the processor can be operated in a higher performance state, which typically utilizes greater power and generates more heat, when docked, and can be operated in a lower performance state that generates less heat, when undocked.
  • mobile devices such as palm-sized pocket PCs are generally of small size, are often hand-held, and may be used in sealed environments that do not have adequate airflow.
  • this class of PCs typically uses low-total design power (TDP) mobile processors (e.g., less than approximately 12 watts), due to the limited heat dissipating capabilities of such devices.
  • TDP total design power
  • low-TDP mobile processors typically generate less heat, but have lower performances than processors that are designed for
  • a mobile device can be equipped with a higher TDP processor, e.g., with a TDP in the range of desktop PC processors.
  • the processor can be operated at full performance when docked, and yet run at lower performance and generate less heat, when undocked.
  • mobile devices of the present disclosure may also receive additional advantages from having a desktop class processor. For instance, a mobile device may be equipped with a desktop class processor with native support for high speed interfaces, such as Peripheral Component Interconnect Express (PCIe). In contrast, mobile class processors have no native support for such high speed interfaces.
  • PCIe Peripheral Component Interconnect Express
  • Multi-core processors are now commonplace in both the mobile and desktop categories, and are useful for high performance when working in a multi-threaded environment.
  • a mobile device is mobile, a user most often utilizes the device for less computationally intensive and less resource intensive functions such as email, text messaging, and web browsing.
  • the number of active cores can be reduced for power savings and reduced heat generation.
  • Disabled processor cores will have clocks and voltages reduced or removed, such that disabled cores will be essentially off. For instance, to disable or idle a core, the core may be placed in one of several C-states.
  • a core When idled, a core will not use power or generate heat, or will at least have power usage and heat generation significantly reduced. Cores can be dynamically re-enabled when needed. Alternatively, or in addition, one or more cores can be placed in a reduced operating state, e.g., a higher P-state with a lower operating frequency and/or a lower operating voltage. In addition, in some examples, different cores may be placed in different P-states. In other words, not all active cores are required to be in the same P-state.
  • P-state is a performance or operational state of a processor, or core. It is a ratio of frequency (e.g., the clock rate or clock frequency) and voltage. P0 is the highest performing state with maximum frequency and voltage.
  • P1 is a lower performance than P0
  • P2 is a lower performance than P1
  • Px is a lower performance than Px-1 .
  • Modern processors support P-states to vary performance.
  • Some multi-core processors support P-states on a per-core basis.
  • a basic input-output system (BIOS) of the mobile device e.g., as implemented by at least one core of a processor, can determine if the mobile device is on AC power or direct current (DC) power (i.e., battery power) and can set the appropriate P-state(s) for best performance of the active processor cores in the current situation. Going to a higher P-state will lower the frequency and voltage so less heat is generated. Going to a lower P-state will raise the frequency and voltage for better performance, but more heat is generated.
  • C1 is the first idle state
  • C2 is the second idle state and is a deeper power saving state than C1 , and so forth.
  • different cores may be placed in different C-states based upon the situation.
  • the core when a core is idled to reduce heat and power consumption, the core may be placed into any C-state above CO.
  • the present disclosure is not concerned with package C-states since it is focused on handling processor-generated heat (whereas in situations where a processor may be transitioned to a package C-state, a processor/core usage is already significantly reduced such that heat is not likely to be an issue).
  • Examples of the present disclosure therefore allow very small form factor, battery-powered mobile devices with limited cooling to use higher TDP processors and to operate the processors at full performance in the appropriate docked environment, while running the processor as in a typical mobile system with lower performance when undocked or using DC/battery power, in order to conserve battery life and limit heat generation.
  • FIG. 1 illustrates an example system 100.
  • the system 100 may comprise a mobile device-docking station system with a mobile device 1 10 and a docking station 120.
  • docking station 120 includes docking area 121 , which may comprise a receptacle, a surface, or other area designated to receive the mobile device 1 10.
  • the docking station 120 may be specially designed for use with the mobile device 1 10 in order to provide additional cooling options, as well as other features.
  • the mobile device 1 10 receives electrical power via power connection 128 and communicates with components 123 of the docking station 120 via data connection 129.
  • docking station 120 is connected to AC power source 140, and includes direct current (DC) converter 122 for converting the alternating current from the AC power source 140 into a direct current to power components 123 of docking station 120 and to pass to mobile device 1 10, when docked.
  • docking station 120 includes power connection 128, which may comprise cables, integrated circuit lines, or the like for conveying DC electrical power to components 123 and to docking area 121 .
  • data connection 129 may comprise a data bus formed from a number of cables, integrated circuit lines, or the like for conveying data signals between mobile device 1 10 and components 123.
  • the mobile device 1 10 and the docking station 120 may comprise a complementary set of pins 1 1 1 and 127.
  • another example data connection 129 may comprise wireless signals between mobile device 1 10 and components 123 of docking station 120.
  • components 123 may comprise a wireless or Bluetooth speaker, keyboard, mouse, monitor/display, or the like.
  • mobile device 1 10 may have access to a larger monitor, access to a physical keyboard instead of a touch screen (in the case where mobile device may comprise a touch screen-based device), and so forth.
  • docking station 120 may also include one or more cooling units 124 and 125. Although two cooling units are illustrated, it should be understood that a docking station in accordance with the present disclosure may include any number of cooling units.
  • cooling units 124 and 125 may comprise heat sinks, fans or liquid cooling sleeves.
  • cooling units 124 and 125 may collectively or individually comprise a liquid bath, where mobile device 1 10 may be a waterproof/liquid-proof device.
  • the foregoing are only several examples of possible types of cooling units that may be included in docking station 120.
  • cooling units 124 and 125 may comprise any cooling solution that is sufficient to dissipate heat from mobile device 1 10.
  • FIG. 2 depicts a high-level block diagram of a computer 200 that can be transformed into a machine that is dedicated to perform the functions described herein.
  • a mobile device in accordance with the present disclosure may be embodied by the example computer 200.
  • the examples of the present disclosure improve the operation and functioning of a computer to select a processor performance state of a mobile device (i.e., the computer) based upon whether the mobile device is docked or undocked, as disclosed herein.
  • the computer 200 comprises a hardware processor element 201 , e.g., a central processing unit (CPU), a microprocessor, or a multi-core processor having two-or more cores 202-1 to 202-n, where "n" is an integer greater than 1 , a memory 204, e.g., random access memory (RAM) and/or read only memory (ROM), a module 205 for selecting a processor performance state of a mobile device based upon whether the mobile device is docked or undocked, and various input/output devices 206, e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, a display, a speech synthesizer, an output port, an input port and a user input device, such as a keyboard, a keypad, a mouse, a microphone, and the like.
  • a hardware processor element 201 e.g.,
  • the present disclosure can be implemented by machine/computer-readable instructions and/or in a combination of computer- readable instructions and hardware, e.g., using a computer or any other hardware equivalents.
  • computer-readable instructions pertaining to the method 300 discussed below can be used to configure a hardware processor to perform the blocks, functions and/or operations of the above disclosed method.
  • instructions and data for the present module 205 for selecting a processor performance state of a mobile device based upon whether the mobile device is docked or undocked e.g., computer- readable instructions
  • a hardware processor executes instructions to perform "operations"
  • the processor executing the computer-readable instructions relating to the below described method can be perceived as a programmed processor or a specialized processor.
  • the present module 205 for selecting a processor performance state of a mobile device based upon whether the mobile device is docked or undocked, including associated data structures, of the present disclosure can be stored on a tangible or physical (broadly non- transitory) computer-readable storage device or medium, e.g., volatile memory, non-volatile memory, ROM memory, RAM memory, magnetic or optical drive, device or diskette and the like.
  • the computer-readable storage device may comprise any physical devices that provide the ability to store information such as data and/or instructions to be accessed by a processor or a computing device such as a computer or an application server.
  • FIG. 3 illustrates a flowchart of an example method 300 for selecting a processor performance state of a mobile device based upon whether the mobile device is docked or undocked.
  • the steps, operations, or functions (e.g., the "blocks") of the method 300 may be performed by mobile device 1 10 depicted in FIG. 1 .
  • one or more steps, operations, or functions of the method 300 may be implemented by a computing device having a processor, a memory and input/output devices as illustrated in FIG. 2, specifically programmed to perform the steps, functions and/or operations of the method.
  • the method 300 will now be described in terms of an example where blocks of the method are performed by a processor, such as processor 201 in FIG. 2.
  • the method 300 begins and proceeds to block 310.
  • the processor detects whether a mobile device is docked or undocked. For example, the processor may detect whether the mobile device is connected to a docking station. In one example, the processor may detect that electrical power from an AC power source is being received via a connection to the docking station in order to determine that the mobile device is docked. If such electrical power is not detected, the processor may conclude that the mobile device is undocked, or mobile. Thus, when docked, the mobile device operates on the AC power, and when undocked, operates on DC battery power from a battery source of the mobile device. In one example, the detection of the power source is performed via a BIOS of the mobile device.
  • the processor may comprise a multi-core processor, with the BIOS executed by at least one of the cores.
  • block 310 may comprise detecting a docking of the mobile device or detecting an undocking of the mobile device.
  • the docking of the mobile device may be determined when power from an AC power source via the docking station is initially detected.
  • the undocking of the mobile device may be determined when a loss of power from an AC power source via the docking station is initially detected.
  • the processor sets the performance state of the processor to a first performance state, e.g., a higher performance state, when the mobile device is docked.
  • the processor may utilize a highest available operating voltage of the processor and/or a highest available clock frequency of the processor.
  • the processor may utilize a lowest P-state, e.g., a designated combination of operating voltage and clock frequency.
  • the processor may select to utilize a higher operating voltage or higher clock frequency as compared to a voltage and a clock frequency that are used when the mobile device is undocked.
  • the processor may select to make "active" all available cores of the processor as a result of the determination at step 320.
  • the processor may select to make more cores of the processor available as compared to a lower performance state and/or as compared to the number of cores that are made active when the mobile device is undocked.
  • one of the cores may be designed to run a BIOS of the mobile device and may therefore perform all of the operations of the method 300.
  • the designated core will remain "active" or in a P-state so long as the mobile device does not enter into an extended period of non-use, e.g., sleep mode, standby mode, and the like.
  • the selection of the higher performance state is performed via an advanced configuration and power interface (ACPI) of the mobile device.
  • ACPI advanced configuration and power interface
  • block 320 may comprise the processor adjusting the operating parameters (e.g., voltage and/or clock frequency) on a per-core basis. For instance, at least one core may be placed into a lower P-state from a higher P-state as a result of the determination at block 320, while at least one other core may be left in a lower performance state (e.g., in a higher P-state, or made idle in a C-state).
  • at least one additional cooling option is available to the mobile device as compared to when the device is undocked.
  • a docking station may provide one or more cooling units that are able to dissipate additional heat that is generated when the processor is operated in a higher performance state.
  • the processor sets the performance state of the processor to a second performance state when the mobile device is undocked, e.g., a lower performance state.
  • a second performance state when the mobile device is undocked.
  • the term “lower” is in reference to the higher performance state selected at block 320 when the mobile device is docked.
  • the term “lower” is in reference to a highest available clock frequency or highest available operating voltage, or in reference to a clock frequency or operating voltage selected for use when the mobile device is docked.
  • the term lower performance state refers to a lesser number of active cores as compared to the total number of cores of the processor, or in reference to the number of cores that are assigned to be "active" when the mobile device is docked.
  • the performance states comprise P-states, where P0 is the highest performance state in which the processor is running at full power. Subsequent P-States, P1 , P2, P3, etc. have progressively lower performance where the processor is reduced in frequency and/or voltage.
  • block 360 comprises reducing operating parameters of at least one core (where the processor is a multi-core processor). In other words, operating parameters may be reduced on a per-core basis.
  • the method 300 proceeds to block 395 where the method ends.
  • FIG. 4 illustrates an additional flowchart of an example method 400 for selecting a processor performance state of a mobile device based upon whether the mobile device is docked or undocked.
  • the steps, operations, or functions (e.g., the "blocks") of the method 400 may be performed by mobile device 1 10 depicted in FIG. 1 .
  • one or more steps, operations, or functions of the method 400 may be implemented by a computing device having a processor, a memory and input/output devices as illustrated in FIG. 2, specifically programmed to perform the steps, functions and/or operations of the method.
  • the method 400 will now be described in terms of an example where blocks of the method are performed by a processor, such as processor 201 in FIG. 2.
  • the method 400 begins and proceeds to block 410.
  • the processor detects whether a mobile device is docked or undocked. For example, the processor may detect whether the mobile device is connected to a docking station. In one example, the processor may detect that electrical power from an AC power source is being received via a connection to the docking station in order to determine that the mobile device is docked. If such electrical power is not detected, the processor may conclude that the mobile device is undocked, or mobile. Thus, when docked, the mobile device operates on the AC power, and when undocked, operates on DC battery power from a battery source of the mobile device. In one example, the detection of the power source is performed via a BIOS of the mobile device.
  • block 410 may comprise detecting a docking of the mobile device or detecting an undocking of the mobile device.
  • the docking of the mobile device may be determined when power from an AC power source via the docking station is initially detected.
  • the undocking of the mobile device may be determined when a loss of power from an AC power source via the docking station is initially detected.
  • block 410 may comprise the same or substantially similar operations to those described above in connection with block 310 of the method 300.
  • the processor determines whether to proceed to block 430 or to block 460 based upon whether the mobile device is docked or undocked. If the mobile device is docked, the method 400 proceeds to block 430. Otherwise, if the mobile device is undocked, the method 400 proceeds to block 460.
  • the processor selects to operate in a higher
  • the processor may utilize a highest available operating voltage of the processor and/or a highest available clock frequency of the processor.
  • the processor may utilize a lowest P-state, e.g., a designated combination of operating voltage and clock frequency.
  • the processor may select to utilize a higher operating voltage or higher clock frequency as compared to a voltage and a clock frequency that are used when the mobile device is undocked.
  • the processor may select to make "active" all available cores of the processor as a result of the
  • the processor may select to make more cores of the processor available as compared to a lower
  • one of the cores may be designed to run a BIOS of the mobile device and may therefore perform all of the operations of the method 400.
  • the designated core will remain "active" or in a P-state so long as the mobile device does not enter into an extended period of non-use, e.g., sleep mode, standby mode, and the like.
  • the selection of the higher performance state is performed via an advanced configuration and power interface (ACPI) of the mobile device.
  • ACPI advanced configuration and power interface
  • block 430 may comprise the processor adjusting the operating parameters (e.g., voltage and/or clock frequency) on a per-core basis. For instance, at least one core may be placed into a lower P-state from a higher P-state as a result of the determination at block 420, while at least one other core may be left in a lower performance state (e.g., in a higher P-state, or made idle in a C-state). Notably, when the mobile device is docked, at least one additional cooling option is available to the mobile device as compared to when the device is undocked.
  • the operating parameters e.g., voltage and/or clock frequency
  • a docking station may provide one or more cooling units that are able to dissipate additional heat that is generated when the processor is operated in a higher performance state.
  • block 430 may comprise the same or substantially similar operations to those described above in connection with block 320 of the method 300.
  • the processor determines whether the temperature of at least a portion of the mobile device exceeds a threshold. For instance, the processor may use an on-board temperature sensor or the like to determine whether a portion of the mobile device has become too hot for continued safe operation of the mobile device. Thus, since it remains possible that the mobile device may still reach unsafe temperatures, even in the presence of additional cooling options of a docking station, additional temperature management options may be implemented by the mobile device. For example, the docking station may itself be placed in an excessively hot environment such that its cooling units are inadequate to maintain a safe operating temperature of the mobile device. When it is determined that the temperature exceeds such a threshold for safe operation, the method 400 proceeds to block 450. Otherwise, the method 400 proceeds to block 470.
  • block 450 the processor reduces a performance state of the processor to address the excessive temperature.
  • block 450 may comprise the processor reverting to an operating state that was utilized prior to selecting a higher performance state at block 430.
  • the processor may reduce a clock frequency and/or an operating voltage for the processor, enter into a higher P-state, and so forth.
  • block 450 may comprise reducing the performance parameters of one or more selected cores of the processor (e.g., decreasing clock frequency and/or voltage on a per-core basis).
  • a first reduced performance state fails to cause the temperature of the portion of the mobile device to drop below the threshold temperature
  • the processor may select a second reduced performance state in an effort to bring the temperature back into a safe range. For instance, additional cores may be idled, clock frequencies and voltages may be further reduced, and so forth. Following block 450, the method 400 proceeds to block 470.
  • the processor selects to operate in a lower performance state, e.g., as compared to a higher performance state selected when the mobile device is docked.
  • the term “lower” is in reference to a highest available clock frequency or highest available operating voltage, or in reference to a clock frequency or operating voltage selected for use when the mobile device is docked.
  • the term lower performance state refers to a lesser number of active cores as compared to the total number of cores of the processor, or in reference to the number of cores that are assigned to be "active" when the mobile device is docked.
  • the performance states comprise P-states, where P0 is the highest performance state in which the processor is running at full power.
  • block 460 comprises reducing operating parameters of at least one core (where the processor is a multi-core processor). In other words, operating parameters may be reduced on a per-core basis. In one example, block 460 may comprise the same or substantially similar operations to those described above in connection with block 330 of the method 300.
  • the processor determines whether the mobile device is turned off or in standby mode. If the device is turned off, there is no power operating within the system and the processor is simply not a source of heat. If the device is in standby mode, all cores of the processor, including a core implementing functions of the BIOS, are essentially powered-off. Thus, in standby mode the processor is also not a source of heat. Being un-clocked, the processor is also not able to perform the functions and to execute instructions to implement method 400. As such, when the device is turned off or in standby mode, the method 400 proceeds to block 495 where the method ends. If the mobile device is not turned or is not in standby mode, the method 400 returns to block 410 to perform another iteration of the previous blocks.
  • one or more blocks, functions, or operations of the method 300 or the method 400 described above may include a storing, displaying and/or outputting step as required for a particular application.
  • any data, records, fields, and/or intermediate results discussed in the methods can be stored, displayed, and/or outputted to another device as required for a particular application.
  • steps, functions, or operations in FIGS. 3 and 4 that recite a determining operation, or involve a decision, do not necessarily require that both branches of the determining operation be practiced. In other words, one of the branches of the determining operation can be deemed as an optional step.

Abstract

An example mobile device is disclosed that detects whether the mobile device is docked or undocked, sets a performance state of a processor of the mobile device to a higher performance state when the mobile device is docked, and sets the performance state of the processor to a lower performance state, when the mobile device is undocked.

Description

SETTING PROCESSOR PERFORMANCE STATES
BACKGROUND
[0001] Dissipation of heat in personal computers (PCs) is a continuous challenge, especially with the current trend towards smaller and more portable chassis. The processor can generate large quantities of heat, which can cause various problems when the system only has limited cooling capabilities. For example, in palm-sized pocket PCs, heat dissipation is critical because of the small size, and because such devices are often hand-held and may also be used in sealed environments that do not have adequate airflow.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] FIG. 1 is a block diagram of an example system of the present disclosure;
[0003] FIG. 2 illustrates a high-level block diagram of an example computer;
[0004] FIG. 3 illustrates a flowchart of an example method for selecting a processor performance state of a mobile device based upon whether the mobile device is docked or undocked; and
[0005] FIG. 4 illustrates a flowchart of an additional example method for selecting a processor performance state of a mobile device based upon whether the mobile device is docked or undocked.
DETAILED DESCRIPTION
[0006] The present disclosure broadly discloses a mobile device, and a related method and computer-readable medium for dynamically adjusting the usage of processor cores in the mobile device based upon a determination of whether or not the mobile device is docked, e.g., connected to a docking station and powered by an alternating current (AC) power source, or undocked (mobile) and powered by a battery of the mobile device. In one example, when the mobile device is docked, the processor is operated in a higher performance state, such as using more cores of the processor, or operating any one or more of the cores at a higher voltage and/or a higher clock frequency, e.g., a lower P- state. When the mobile device is undocked, the processor is operated in a lower performance state as compared to the higher performance state, such as using less cores of the processor, e.g., placing one or more cores of the processor in an idle state, or C-state, or operating one or more cores of the processor at a lower voltage and/or a lower clock frequency, e.g., a higher P- state. In particular, when the mobile device is docked, additional heat dissipating options are available to the mobile device, such as heat sinks, fans, liquid cooling, and so forth. In addition, heat from the battery and greater consumption of battery power are not concerns, as power is provided via an AC power source. As such, the processor can be operated in a higher performance state, which typically utilizes greater power and generates more heat, when docked, and can be operated in a lower performance state that generates less heat, when undocked.
[0007] Notably, mobile devices, such as palm-sized pocket PCs are generally of small size, are often hand-held, and may be used in sealed environments that do not have adequate airflow. Thus, this class of PCs typically uses low-total design power (TDP) mobile processors (e.g., less than approximately 12 watts), due to the limited heat dissipating capabilities of such devices. In particular, low-TDP mobile processors typically generate less heat, but have lower performances than processors that are designed for
conventional desktop PCs. In contrast, desktop PCs typically utilize processors with TDPs from 15 to 90 watts, for example. In accordance with the present disclosure, a mobile device can be equipped with a higher TDP processor, e.g., with a TDP in the range of desktop PC processors. Thus, the processor can be operated at full performance when docked, and yet run at lower performance and generate less heat, when undocked. In some cases, mobile devices of the present disclosure may also receive additional advantages from having a desktop class processor. For instance, a mobile device may be equipped with a desktop class processor with native support for high speed interfaces, such as Peripheral Component Interconnect Express (PCIe). In contrast, mobile class processors have no native support for such high speed interfaces.
[0008] Multi-core processors are now commonplace in both the mobile and desktop categories, and are useful for high performance when working in a multi-threaded environment. However, in many situations it is not necessary for the full amount of cores to be active. For example, when a mobile device is mobile, a user most often utilizes the device for less computationally intensive and less resource intensive functions such as email, text messaging, and web browsing. Thus, the number of active cores can be reduced for power savings and reduced heat generation. Disabled processor cores will have clocks and voltages reduced or removed, such that disabled cores will be essentially off. For instance, to disable or idle a core, the core may be placed in one of several C-states. When idled, a core will not use power or generate heat, or will at least have power usage and heat generation significantly reduced. Cores can be dynamically re-enabled when needed. Alternatively, or in addition, one or more cores can be placed in a reduced operating state, e.g., a higher P-state with a lower operating frequency and/or a lower operating voltage. In addition, in some examples, different cores may be placed in different P-states. In other words, not all active cores are required to be in the same P-state.
[0009] P-state is a performance or operational state of a processor, or core. It is a ratio of frequency (e.g., the clock rate or clock frequency) and voltage. P0 is the highest performing state with maximum frequency and voltage.
Subsequent P-states (Px where x>=1 ) are reduced frequency and voltage for lower performance and lower heat generation. P1 is a lower performance than P0, P2 is a lower performance than P1 ... Px is a lower performance than Px-1 . Modern processors support P-states to vary performance. Some multi-core processors support P-states on a per-core basis.
[0010] In one example, a basic input-output system (BIOS) of the mobile device, e.g., as implemented by at least one core of a processor, can determine if the mobile device is on AC power or direct current (DC) power (i.e., battery power) and can set the appropriate P-state(s) for best performance of the active processor cores in the current situation. Going to a higher P-state will lower the frequency and voltage so less heat is generated. Going to a lower P-state will raise the frequency and voltage for better performance, but more heat is generated. [0011 ] A C-state is a power saving state and can range from CO (active/in- use) to Cx (where x>=1 ). C1 is the first idle state, C2 is the second idle state and is a deeper power saving state than C1 , and so forth. In one example, different cores may be placed in different C-states based upon the situation. In accordance with the present disclosure, when a core is idled to reduce heat and power consumption, the core may be placed into any C-state above CO. There are also "package" C-states that affect components that are shared by all cores in a processor. However, the present disclosure is not concerned with package C-states since it is focused on handling processor-generated heat (whereas in situations where a processor may be transitioned to a package C-state, a processor/core usage is already significantly reduced such that heat is not likely to be an issue).
[0012] Examples of the present disclosure therefore allow very small form factor, battery-powered mobile devices with limited cooling to use higher TDP processors and to operate the processors at full performance in the appropriate docked environment, while running the processor as in a typical mobile system with lower performance when undocked or using DC/battery power, in order to conserve battery life and limit heat generation.
[0013] To aid in understanding the present disclosure, FIG. 1 illustrates an example system 100. In one example, the system 100 may comprise a mobile device-docking station system with a mobile device 1 10 and a docking station 120. In order to connect the mobile device 1 10 to the docking station 120, docking station 120 includes docking area 121 , which may comprise a receptacle, a surface, or other area designated to receive the mobile device 1 10. In one example, the docking station 120 may be specially designed for use with the mobile device 1 10 in order to provide additional cooling options, as well as other features. In one example, the mobile device 1 10 receives electrical power via power connection 128 and communicates with components 123 of the docking station 120 via data connection 129.
[0014] In particular, as illustrated in FIG. 1 , docking station 120 is connected to AC power source 140, and includes direct current (DC) converter 122 for converting the alternating current from the AC power source 140 into a direct current to power components 123 of docking station 120 and to pass to mobile device 1 10, when docked. Thus, docking station 120 includes power connection 128, which may comprise cables, integrated circuit lines, or the like for conveying DC electrical power to components 123 and to docking area 121 . Similarly, data connection 129 may comprise a data bus formed from a number of cables, integrated circuit lines, or the like for conveying data signals between mobile device 1 10 and components 123. To facilitate the power and data connections between the mobile device 1 10 and the docking station 120, the mobile device 1 10 and the docking station 120 may comprise a complementary set of pins 1 1 1 and 127. However, another example data connection 129 may comprise wireless signals between mobile device 1 10 and components 123 of docking station 120. For example, components 123 may comprise a wireless or Bluetooth speaker, keyboard, mouse, monitor/display, or the like. Thus, when docked, mobile device 1 10 may have access to a larger monitor, access to a physical keyboard instead of a touch screen (in the case where mobile device may comprise a touch screen-based device), and so forth.
[0015] In one example, docking station 120 may also include one or more cooling units 124 and 125. Although two cooling units are illustrated, it should be understood that a docking station in accordance with the present disclosure may include any number of cooling units. In one example, cooling units 124 and 125 may comprise heat sinks, fans or liquid cooling sleeves. In another example, cooling units 124 and 125 may collectively or individually comprise a liquid bath, where mobile device 1 10 may be a waterproof/liquid-proof device. The foregoing are only several examples of possible types of cooling units that may be included in docking station 120. Thus, it should be understood that cooling units 124 and 125 may comprise any cooling solution that is sufficient to dissipate heat from mobile device 1 10.
[0016] FIG. 2 depicts a high-level block diagram of a computer 200 that can be transformed into a machine that is dedicated to perform the functions described herein. For instance, a mobile device in accordance with the present disclosure may be embodied by the example computer 200. Notably, no computer or machine currently exists that performs the functions as described herein. As a result, the examples of the present disclosure improve the operation and functioning of a computer to select a processor performance state of a mobile device (i.e., the computer) based upon whether the mobile device is docked or undocked, as disclosed herein.
[0017] As depicted in FIG. 2, the computer 200 comprises a hardware processor element 201 , e.g., a central processing unit (CPU), a microprocessor, or a multi-core processor having two-or more cores 202-1 to 202-n, where "n" is an integer greater than 1 , a memory 204, e.g., random access memory (RAM) and/or read only memory (ROM), a module 205 for selecting a processor performance state of a mobile device based upon whether the mobile device is docked or undocked, and various input/output devices 206, e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, a display, a speech synthesizer, an output port, an input port and a user input device, such as a keyboard, a keypad, a mouse, a microphone, and the like.
[0018] It should be noted that the present disclosure can be implemented by machine/computer-readable instructions and/or in a combination of computer- readable instructions and hardware, e.g., using a computer or any other hardware equivalents. For example, computer-readable instructions pertaining to the method 300 discussed below can be used to configure a hardware processor to perform the blocks, functions and/or operations of the above disclosed method. In one example, instructions and data for the present module 205 for selecting a processor performance state of a mobile device based upon whether the mobile device is docked or undocked, e.g., computer- readable instructions, can be loaded into memory 204 and executed by hardware processor element 201 to implement the blocks, functions or operations as discussed below in connection with the exemplary method 300. Furthermore, when a hardware processor executes instructions to perform "operations", this could include the hardware processor performing the operations directly and/or facilitating, directing, or cooperating with another hardware device or component, e.g., a co-processor and the like, to perform the operations. [0019] The processor executing the computer-readable instructions relating to the below described method can be perceived as a programmed processor or a specialized processor. As such, the present module 205 for selecting a processor performance state of a mobile device based upon whether the mobile device is docked or undocked, including associated data structures, of the present disclosure can be stored on a tangible or physical (broadly non- transitory) computer-readable storage device or medium, e.g., volatile memory, non-volatile memory, ROM memory, RAM memory, magnetic or optical drive, device or diskette and the like. More specifically, the computer-readable storage device may comprise any physical devices that provide the ability to store information such as data and/or instructions to be accessed by a processor or a computing device such as a computer or an application server.
[0020] FIG. 3 illustrates a flowchart of an example method 300 for selecting a processor performance state of a mobile device based upon whether the mobile device is docked or undocked. In one example, the steps, operations, or functions (e.g., the "blocks") of the method 300 may be performed by mobile device 1 10 depicted in FIG. 1 . Alternatively, or in addition, one or more steps, operations, or functions of the method 300 may be implemented by a computing device having a processor, a memory and input/output devices as illustrated in FIG. 2, specifically programmed to perform the steps, functions and/or operations of the method. For illustrative purposes, the method 300 will now be described in terms of an example where blocks of the method are performed by a processor, such as processor 201 in FIG. 2.
[0021 ] At block 305 the method 300 begins and proceeds to block 310. At block 310, the processor detects whether a mobile device is docked or undocked. For example, the processor may detect whether the mobile device is connected to a docking station. In one example, the processor may detect that electrical power from an AC power source is being received via a connection to the docking station in order to determine that the mobile device is docked. If such electrical power is not detected, the processor may conclude that the mobile device is undocked, or mobile. Thus, when docked, the mobile device operates on the AC power, and when undocked, operates on DC battery power from a battery source of the mobile device. In one example, the detection of the power source is performed via a BIOS of the mobile device. For instance, the processor may comprise a multi-core processor, with the BIOS executed by at least one of the cores. In one example, block 310 may comprise detecting a docking of the mobile device or detecting an undocking of the mobile device. For example, the docking of the mobile device may be determined when power from an AC power source via the docking station is initially detected. Similarly, the undocking of the mobile device may be determined when a loss of power from an AC power source via the docking station is initially detected.
[0022] At block 320, the processor sets the performance state of the processor to a first performance state, e.g., a higher performance state, when the mobile device is docked. For example, the processor may utilize a highest available operating voltage of the processor and/or a highest available clock frequency of the processor. In one example, the processor may utilize a lowest P-state, e.g., a designated combination of operating voltage and clock frequency. In one example, the processor may select to utilize a higher operating voltage or higher clock frequency as compared to a voltage and a clock frequency that are used when the mobile device is undocked. In one example, the processor may select to make "active" all available cores of the processor as a result of the determination at step 320. In another example, the processor may select to make more cores of the processor available as compared to a lower performance state and/or as compared to the number of cores that are made active when the mobile device is undocked.
[0023] It should be noted that as described herein, when operations of method 300 are performed by the processor, the operations may be executed by any one or more cores, when the processor is a multi-core processor.
However, in one example, one of the cores may be designed to run a BIOS of the mobile device and may therefore perform all of the operations of the method 300. In such case, the designated core will remain "active" or in a P-state so long as the mobile device does not enter into an extended period of non-use, e.g., sleep mode, standby mode, and the like. In one example, the selection of the higher performance state is performed via an advanced configuration and power interface (ACPI) of the mobile device.
[0024] In one example, block 320 may comprise the processor adjusting the operating parameters (e.g., voltage and/or clock frequency) on a per-core basis. For instance, at least one core may be placed into a lower P-state from a higher P-state as a result of the determination at block 320, while at least one other core may be left in a lower performance state (e.g., in a higher P-state, or made idle in a C-state). Notably, when the mobile device is docked, at least one additional cooling option is available to the mobile device as compared to when the device is undocked. For instance, a docking station may provide one or more cooling units that are able to dissipate additional heat that is generated when the processor is operated in a higher performance state.
[0025] At block 330, the processor sets the performance state of the processor to a second performance state when the mobile device is undocked, e.g., a lower performance state. In one example, the term "lower" is in reference to the higher performance state selected at block 320 when the mobile device is docked. In one example, the term "lower" is in reference to a highest available clock frequency or highest available operating voltage, or in reference to a clock frequency or operating voltage selected for use when the mobile device is docked. In another example, the term lower performance state refers to a lesser number of active cores as compared to the total number of cores of the processor, or in reference to the number of cores that are assigned to be "active" when the mobile device is docked. In one example, the performance states comprise P-states, where P0 is the highest performance state in which the processor is running at full power. Subsequent P-States, P1 , P2, P3, etc. have progressively lower performance where the processor is reduced in frequency and/or voltage. In one example, block 360 comprises reducing operating parameters of at least one core (where the processor is a multi-core processor). In other words, operating parameters may be reduced on a per-core basis. Following block 330, the method 300 proceeds to block 395 where the method ends. [0026] FIG. 4 illustrates an additional flowchart of an example method 400 for selecting a processor performance state of a mobile device based upon whether the mobile device is docked or undocked. In one example, the steps, operations, or functions (e.g., the "blocks") of the method 400 may be performed by mobile device 1 10 depicted in FIG. 1 . Alternatively, or in addition, one or more steps, operations, or functions of the method 400 may be implemented by a computing device having a processor, a memory and input/output devices as illustrated in FIG. 2, specifically programmed to perform the steps, functions and/or operations of the method. For illustrative purposes, the method 400 will now be described in terms of an example where blocks of the method are performed by a processor, such as processor 201 in FIG. 2.
[0027] At block 405 the method 400 begins and proceeds to block 410. At block 410, the processor detects whether a mobile device is docked or undocked. For example, the processor may detect whether the mobile device is connected to a docking station. In one example, the processor may detect that electrical power from an AC power source is being received via a connection to the docking station in order to determine that the mobile device is docked. If such electrical power is not detected, the processor may conclude that the mobile device is undocked, or mobile. Thus, when docked, the mobile device operates on the AC power, and when undocked, operates on DC battery power from a battery source of the mobile device. In one example, the detection of the power source is performed via a BIOS of the mobile device. For instance, the processor may comprise a multi-core processor, with the BIOS executed by at least one of the cores. In one example, block 410 may comprise detecting a docking of the mobile device or detecting an undocking of the mobile device. For example, the docking of the mobile device may be determined when power from an AC power source via the docking station is initially detected. Similarly, the undocking of the mobile device may be determined when a loss of power from an AC power source via the docking station is initially detected. In one example, block 410 may comprise the same or substantially similar operations to those described above in connection with block 310 of the method 300. [0028] At block 420, the processor determines whether to proceed to block 430 or to block 460 based upon whether the mobile device is docked or undocked. If the mobile device is docked, the method 400 proceeds to block 430. Otherwise, if the mobile device is undocked, the method 400 proceeds to block 460.
[0029] At block 430, the processor selects to operate in a higher
performance state. For example, the processor may utilize a highest available operating voltage of the processor and/or a highest available clock frequency of the processor. In one example, the processor may utilize a lowest P-state, e.g., a designated combination of operating voltage and clock frequency. In one example, the processor may select to utilize a higher operating voltage or higher clock frequency as compared to a voltage and a clock frequency that are used when the mobile device is undocked. In one example, the processor may select to make "active" all available cores of the processor as a result of the
determination at step 420. In another example, the processor may select to make more cores of the processor available as compared to a lower
performance state and/or as compared to the number of cores that are made active when the mobile device is undocked.
[0030] It should be noted that as described herein, when operations of method 400 are performed by the processor, the operations may be executed by any one or more cores, when the processor is a multi-core processor.
However, in one example, one of the cores may be designed to run a BIOS of the mobile device and may therefore perform all of the operations of the method 400. In such case, the designated core will remain "active" or in a P-state so long as the mobile device does not enter into an extended period of non-use, e.g., sleep mode, standby mode, and the like. In one example, the selection of the higher performance state is performed via an advanced configuration and power interface (ACPI) of the mobile device.
[0031 ] In one example, block 430 may comprise the processor adjusting the operating parameters (e.g., voltage and/or clock frequency) on a per-core basis. For instance, at least one core may be placed into a lower P-state from a higher P-state as a result of the determination at block 420, while at least one other core may be left in a lower performance state (e.g., in a higher P-state, or made idle in a C-state). Notably, when the mobile device is docked, at least one additional cooling option is available to the mobile device as compared to when the device is undocked. For instance, a docking station may provide one or more cooling units that are able to dissipate additional heat that is generated when the processor is operated in a higher performance state. In one example, block 430 may comprise the same or substantially similar operations to those described above in connection with block 320 of the method 300.
[0032] At block 440, the processor determines whether the temperature of at least a portion of the mobile device exceeds a threshold. For instance, the processor may use an on-board temperature sensor or the like to determine whether a portion of the mobile device has become too hot for continued safe operation of the mobile device. Thus, since it remains possible that the mobile device may still reach unsafe temperatures, even in the presence of additional cooling options of a docking station, additional temperature management options may be implemented by the mobile device. For example, the docking station may itself be placed in an excessively hot environment such that its cooling units are inadequate to maintain a safe operating temperature of the mobile device. When it is determined that the temperature exceeds such a threshold for safe operation, the method 400 proceeds to block 450. Otherwise, the method 400 proceeds to block 470.
[0033] At block 450, the processor reduces a performance state of the processor to address the excessive temperature. In one example, block 450 may comprise the processor reverting to an operating state that was utilized prior to selecting a higher performance state at block 430. In another example, the processor may reduce a clock frequency and/or an operating voltage for the processor, enter into a higher P-state, and so forth. In one example, block 450 may comprise reducing the performance parameters of one or more selected cores of the processor (e.g., decreasing clock frequency and/or voltage on a per-core basis).
[0034] In one example, if a first reduced performance state fails to cause the temperature of the portion of the mobile device to drop below the threshold temperature, the processor may select a second reduced performance state in an effort to bring the temperature back into a safe range. For instance, additional cores may be idled, clock frequencies and voltages may be further reduced, and so forth. Following block 450, the method 400 proceeds to block 470.
[0035] Returning to block 420, if it is determined that the mobile device is undocked, the method 400 proceeds to block 460.
[0036] At block 460, the processor selects to operate in a lower performance state, e.g., as compared to a higher performance state selected when the mobile device is docked. In one example, the term "lower" is in reference to a highest available clock frequency or highest available operating voltage, or in reference to a clock frequency or operating voltage selected for use when the mobile device is docked. In another example, the term lower performance state refers to a lesser number of active cores as compared to the total number of cores of the processor, or in reference to the number of cores that are assigned to be "active" when the mobile device is docked. In one example, the performance states comprise P-states, where P0 is the highest performance state in which the processor is running at full power. Subsequent P-States, P1 , P2, P3, etc. have progressively lower performance where the processor is reduced in frequency and/or voltage. In one example, block 460 comprises reducing operating parameters of at least one core (where the processor is a multi-core processor). In other words, operating parameters may be reduced on a per-core basis. In one example, block 460 may comprise the same or substantially similar operations to those described above in connection with block 330 of the method 300.
[0037] At block 470, the processor determines whether the mobile device is turned off or in standby mode. If the device is turned off, there is no power operating within the system and the processor is simply not a source of heat. If the device is in standby mode, all cores of the processor, including a core implementing functions of the BIOS, are essentially powered-off. Thus, in standby mode the processor is also not a source of heat. Being un-clocked, the processor is also not able to perform the functions and to execute instructions to implement method 400. As such, when the device is turned off or in standby mode, the method 400 proceeds to block 495 where the method ends. If the mobile device is not turned or is not in standby mode, the method 400 returns to block 410 to perform another iteration of the previous blocks.
[0038] It should be noted that although not explicitly specified, one or more blocks, functions, or operations of the method 300 or the method 400 described above may include a storing, displaying and/or outputting step as required for a particular application. In other words, any data, records, fields, and/or intermediate results discussed in the methods can be stored, displayed, and/or outputted to another device as required for a particular application.
Furthermore, steps, functions, or operations in FIGS. 3 and 4 that recite a determining operation, or involve a decision, do not necessarily require that both branches of the determining operation be practiced. In other words, one of the branches of the determining operation can be deemed as an optional step.
[0039] It will be appreciated that variants of the above-disclosed and other features and functions, or alternatives thereof, may be combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.

Claims

What is claimed is:
1 . A method, comprising:
detecting whether a mobile device is docked or undocked;
setting a performance state of a processor of the mobile device to a first performance state, when the mobile device is docked; and
setting the performance state of the processor to a second performance state, when the mobile device is undocked, wherein the first performance state is a higher performance state than the second performance state.
2. The method of claim 1 , wherein the processor has a total design power greater than 15 watts.
3. The method of claim 1 , wherein the first performance state comprises a faster operating frequency as compared to an operating frequency of the second performance state.
4. The method of claim 1 , wherein the first performance state comprises a higher operating voltage as compared to an operating voltage of the second performance state.
5. The method of claim 1 , wherein the first performance state comprises a higher P-state as compared to the second performance state.
6. The method of claim 1 , wherein the processor comprises a plurality of cores, wherein the second performance state comprises a state with more cores of the processor in an idle state as compared to the first performance state.
7. The method of claim 6, further comprising:
when the performance state is set to the first performance state, determining whether a temperature of at least a portion of the mobile device exceeds a threshold; and when the temperature of the at least a portion of the mobile device exceeds the threshold, reducing the performance state from the first
performance state, wherein the reducing the performance state comprises performing at least one remedial action comprising at least one of:
reducing a clock speed of at least one of the cores of the processor; or disabling at least one of the cores of the processor.
8. The method of claim 1 , further comprising:
detecting whether the mobile device is turned off or is in standby mode.
9. The method of claim 1 , wherein the detecting whether the mobile device is docked or undocked is performed via a basic input/output system of the mobile device.
10. The method of claim 1 , wherein the setting the performance state of the processor to the first performance state and the setting the performance state of the processor to the second performance state is performed via an advanced configuration and power interface of the mobile device.
1 1 . A non-transitory computer-readable medium storing instructions which, when executed by a processor of a mobile device, cause the processor to: detect that the mobile device is docked; and
set a performance state of the processor of the mobile device to a first performance state, when the mobile device is docked, wherein the first performance state is a higher performance state than a second performance state that is used when the mobile device is undocked.
12. The non-transitory computer-readable medium of claim 1 1 , wherein the first performance state comprises a faster operating frequency as compared to an operating frequency of the second performance state.
13. A system, comprising: a processor of a mobile device; and
a non-transitory computer-readable medium storing instructions which, when executed by the processor, cause the processor to:
detect a docking of the mobile device;
set a performance state of the processor of the mobile device to a first performance state, when the docking of the mobile device is detected; and
set the performance state of the processor to a second performance state, when the mobile device is undocked, wherein the first performance state is a higher performance state than the second performance state.
14. The system of claim 13, wherein the processor comprises a plurality of cores, wherein the second performance state comprises a state with more cores of the processor in an idle state as compared to the first performance state.
15. The system of claim 13, further comprising:
a docking station, wherein the mobile device is integrated with the docking station when docked, wherein the docking station provides at least one additional cooling option to the mobile device as compared to when the mobile device is undocked, wherein the at least one additional cooling option comprises:
a heat sink;
a fan; or
a liquid cooling sleeve.
PCT/US2015/013709 2015-01-30 2015-01-30 Setting processor performance states WO2016122573A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/US2015/013709 WO2016122573A1 (en) 2015-01-30 2015-01-30 Setting processor performance states
TW105102698A TW201643597A (en) 2015-01-30 2016-01-28 Setting processor performance states

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/013709 WO2016122573A1 (en) 2015-01-30 2015-01-30 Setting processor performance states

Publications (1)

Publication Number Publication Date
WO2016122573A1 true WO2016122573A1 (en) 2016-08-04

Family

ID=56543995

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/013709 WO2016122573A1 (en) 2015-01-30 2015-01-30 Setting processor performance states

Country Status (2)

Country Link
TW (1) TW201643597A (en)
WO (1) WO2016122573A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506154B (en) * 2020-04-14 2021-05-25 深圳比特微电子科技有限公司 Method and system for increasing computing power and reducing computing power ratio of computer

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020152406A1 (en) * 2001-04-13 2002-10-17 Watts La Vaughn F. Computer system thermal lap management method and apparatus
KR100700979B1 (en) * 2000-11-03 2007-03-29 삼성전자주식회사 Portable Computer and controlling method thereof
JP2007323678A (en) * 1996-01-16 2007-12-13 Compaq Computer Corp Thermal management of computer
US20130114203A1 (en) * 2011-11-07 2013-05-09 Sergey Ignatchenko Systems, Apparatuses and Methods for Improving the Performance of Computing Devices
US20140108694A1 (en) * 2012-10-12 2014-04-17 Samsung Electronics Co., Ltd. Electronic apparatus, method of controlling the same and non-transitory computer-readable recording medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323678A (en) * 1996-01-16 2007-12-13 Compaq Computer Corp Thermal management of computer
KR100700979B1 (en) * 2000-11-03 2007-03-29 삼성전자주식회사 Portable Computer and controlling method thereof
US20020152406A1 (en) * 2001-04-13 2002-10-17 Watts La Vaughn F. Computer system thermal lap management method and apparatus
US20130114203A1 (en) * 2011-11-07 2013-05-09 Sergey Ignatchenko Systems, Apparatuses and Methods for Improving the Performance of Computing Devices
US20140108694A1 (en) * 2012-10-12 2014-04-17 Samsung Electronics Co., Ltd. Electronic apparatus, method of controlling the same and non-transitory computer-readable recording medium

Also Published As

Publication number Publication date
TW201643597A (en) 2016-12-16

Similar Documents

Publication Publication Date Title
EP2635948B1 (en) Method and apparatus for thermal control of processing nodes
US8230247B2 (en) Transferring architectural functions of a processor to a platform control hub responsive to the processor entering a deep sleep state
US8977880B2 (en) Method for managing power supply of multi-core processor system involves powering off main and slave cores when master bus is in idle state
KR101409141B1 (en) System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature
US20050132239A1 (en) Almost-symmetric multiprocessor that supports high-performance and energy-efficient execution
TWI438615B (en) Power management method and device thereof
US9411402B2 (en) Power control system and power control method
EP2853984A2 (en) Constraining processor operation based on power envelope information
US20110302626A1 (en) Latency based platform coordination
JP2007249660A (en) Information processor and method of controlling system state
JP2004178588A (en) Method for regulating voltage to be supplied to processor according to clock frequency
WO2014099024A1 (en) Dynamic balancing of power across a plurality of processor domains according to power policy control bias
WO2001035200A1 (en) Dynamically adjusting a processor's operational parameters according to its environment
US20110266873A1 (en) Information processing apparatus and method of controlling an information processing apparatus
US20180167878A1 (en) Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit
WO2017112094A1 (en) Power management system
US9323307B2 (en) Active display processor sleep state
TW201541803A (en) Portable electronic apparatus and charging control method thereof
WO2016122573A1 (en) Setting processor performance states
CN102103403A (en) Power management method and computer system using same
US20230409100A1 (en) Dynamic input power monitor
US20160378091A1 (en) Adaptive air cooling
JP5993730B2 (en) Information processing apparatus, control method thereof, and program
TWI387175B (en) Battery protection system and method for electronic device
TW201541237A (en) Electronic device and system power management method thereof

Legal Events

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

Ref document number: 15880468

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15880468

Country of ref document: EP

Kind code of ref document: A1