USRE41752E1 - Bus clock controlling apparatus and method - Google Patents
Bus clock controlling apparatus and method Download PDFInfo
- Publication number
- USRE41752E1 USRE41752E1 US12/141,845 US14184508A USRE41752E US RE41752 E1 USRE41752 E1 US RE41752E1 US 14184508 A US14184508 A US 14184508A US RE41752 E USRE41752 E US RE41752E
- Authority
- US
- United States
- Prior art keywords
- clock
- cpu
- controlling device
- throttle rate
- load
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3253—Power saving in bus
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention relates generally to computers, and more specifically to an apparatus and method for optimizing bus clock speed in a computer.
- a computer such as a notebook computer can be supplied with its necessary electric energy by either an equipped battery or an AC power line.
- a notebook cannot be used for more than a few hours if its power is supplied from the equipped battery.
- FIG. 1 is a simplified block diagram of a related art notebook.
- the notebook of FIG. 1 has a CPU 11 conducting ordinary well-known operations and functions; a bridge controller 12 conducting both assistant operations of the CPU 11 and management of memories, a video port, a bus, etc.; a video processor 13 for processing video data and outputting the processed data for video presentation; and a clock generator 10 providing 100 MHz clock 1 for the CPU 11 and the bridge controller 12 , and a 66 MHz clock 2 for the video processor 13 .
- a PLL (Phase Lock Loop) circuit 110 is embedded in the CPU 11 .
- the PLL circuit 110 multiplies the 100 MHz clock 1 from the clock generator 10 differently based on a current power supplying mode. For example, the PLL circuit 110 multiplies the 100 MHz clock by six times to produce a 600 MHz internal clock if an external AC power is supplying energy, and it multiplies the 100 MHz clock by five times to produce a 500 MHz clock if a battery is supplying electric energy.
- FIG. 2 shows a clock throttling method in which a clock source is periodically made inactive by a control signal ‘STPCLK#’. Whenever the control signal ‘STPCLK#’, which is active LOW, is in active state, a CPU clock is deactivated, so that the CPU dissipates little power. As a result, average power consumption by the CPU is reduced. Therefore, power consumption reduction rate of a CPU can be regulated through adjustment of a duty cycle of the control signal ‘STPCLK#’.
- a host bus 3 to which both the CPU 11 and the bridge controller 12 are connected is driven by a bus clock, whose speed is fixed and whose state is always active, regardless of the power supplying mode. As a result, all devices connected to the host bus 3 are being driven at all times. Therefore, power saving in a battery supplying mode is less effective than if power was also managed for devices connected to the host bus 3 .
- An object of the invention is to solve at least the above problems and/or disadvantages and to provide at least the advantages described hereinafter.
- Another object of the present invention is to provide an apparatus and method of throttling a clock of a host bus to reduce power consumption.
- Another object of the present invention is to provide an apparatus and method of throttling a clock of a host bus connected to a CPU and a bridge controller in a portable computer.
- Another object of the present invention is to provide an apparatus and method of throttling a clock of a host bus in a portable computer based on remaining battery capacity, CPU load or the like.
- Another object of the present invention is to provide an apparatus and method of throttling a clock of a host bus, which both a CPU and a bridge controller in a computer are connected to, based on a remaining battery capacity or load to the CPU, in order to reduce power consumption.
- a bus clock controlling method in a computer that includes setting a throttle rate of a clock to a predetermined initial value, the clock being used for a data bus connected between a CPU and a controlling device, detecting a remaining battery capacity if a present power source is at least one battery, and adjusting the set throttle rate according to the detected remaining battery capacity.
- a bus clock controlling method in a computer that includes setting a throttle rate of a clock to a predetermined initial value, the clock being used for a data bus connected between a CPU and a controlling device, detecting a present load of the CPU, and adjusting the set throttle rate in reverse proportion to the present CPU load.
- a computer that includes a CPU that processes, a first controller coupled to the CPU via a data bus, and configured to provide a throttled clock to the data bus according to a throttle rate, a clock generator coupled to the CPU and the first controller, and configured to generate a clock, a detector detecting a variable, wherein the variable is a remaining battery capacity or a load of the CPU, and a second controller coupled to receive the detected variable, configured to determine the throttle rate according to the detected variable, and further configured to output the throttle rate to the first controller.
- a bus clock controlling method in a computer that includes setting a throttle rate of a clock to a predetermined initial value, the clock being used for a data bus to which both a CPU and a controlling device are connected, detecting a remaining battery capacity and a load of the CPU if a present power source is a battery, and adjusting the set throttle rate according to the detected remaining battery capacity and the CPU load.
- a bus clock controlling method in a portable computer that includes setting a throttle rate of a clock to a predetermined initial value, the clock being used for a data bus connected between a controlling device and a selected one of a plurality of devices associated with the portable computer, detecting a condition of a prescribed criteria of the portable computer if a present power source is a battery, and adjusting the set throttle rate according to the detected condition, wherein the detected condition is within a range of values for the prescribed criteria.
- a bus clock controlling method in a computer that includes setting a throttle rate of a clock to a predetermined initial value, the clock being used for a data bus to which both a controlling device and a peripheral device are connected, detecting one of a present load of the CPU and a remaining battery capacity, and adjusting the set throttle rate in reverse proportion to the detected one of the present CPU load and the remaining battery capacity.
- a computer that includes means for setting a throttle rate of a data bus clock to a predetermined initial value, means for detecting at least one of a remaining battery capacity and a load of the CPU, and means for adjusting the throttle rate of the data bus clock based on at least one of the detected remaining battery capacity and the detected load of the CPU.
- FIG. 1 is a simplified block diagram of a computer in the related art
- FIG. 2 is a CPU clock signal diagram as provided in the related art
- FIG. 3 is a block diagram that shows a computer including a bus clock controlling apparatus in accordance with a preferred embodiment of the invention
- FIG. 4 is a diagram that shows a clock signal timing diagrams in accordance with a preferred embodiment of the invention.
- FIG. 5 is a logic diagram that shows a circuit embodying the throttle controller of FIG. 3 in accordance with a preferred embodiment of the invention
- FIG. 6 is a diagram that shows a flow chart embodying a bus clock controlling method of a computer in accordance with a preferred embodiment of the invention
- FIG. 7 is a diagram that shows a table of throttle rates and system performance for each range of remaining battery capacity according to a preferred embodiment of the invention.
- FIG. 8 is a diagram that shows a flow chart embodying another bus clock controlling method of a computer in accordance with a preferred embodiment of the invention.
- FIG. 3 is a block diagram of a computer in which a preferred embodiment of a bus clock controlling apparatus in accordance with the present invention is embedded.
- the portable computer of FIG. 3 may include a CPU 11 , a bridge controller 22 , and a clock generator 10 as described above and shown in FIG. 1 .
- the clock generator 10 may provide the CPU 11 and the bridge controller 22 with a 100 MHz clock 1 , and the bridge controller 22 may include a throttle controller 220 throttling a clock for a host bus 103 to which the CPU 11 is also connected or connected together.
- throttling a clock refers to causing a decrease in clock duty cycle.
- the computer with the preferred embodiment of a bus clock controlling apparatus of FIG. 3 may further have an embedded controller 23 including or consisting of a remaining battery capacity comparator 231 comparing a current remaining battery capacity with predetermined several references Ref_b 1 , Ref_b 2 , . . . , a CPU load comparator 232 and a host clock throttler 230 .
- the CPU load comparator 232 compares a current load to the CPU 11 with several predetermined references Ref_c 1 , Ref_c 2 , . . .
- the host clock throttler 230 outputs a host clock control signal ‘STP_HCLK’ whose duty cycle preferably varies according to the comparison result of the remaining battery capacity comparator 231 or the CPU load comparator 232 .
- the throttle controller 220 included in the bridge controller 22 may provide the 100 MHz clock 1 from the clock generator 10 to the host bus 103 only while the host clock control signal ‘STP_HCLK’ from the host clock throttler 230 is inactive or low, as shown in FIGS. 4 and 5 .
- the examples depicted in FIG. 4 are for throttle rates of 50% and 25%, respectively. As used herein, a 25% throttle rate results in a 75% duty cycle for the host bus clock.
- the throttle controller 220 can be implemented with an inverter 50 and an AND gate 55 as shown in FIG. 5 .
- the present invention is not intended to be so limited.
- the host clock control signal ‘STP_HCLK’ makes a transition to LOW
- an input “ STP_HCLK ” to one terminal of the AND gate 55 becomes HIGH.
- the 100 MHz clock 1 is applied to the other input terminal of the AND gate 55 .
- the 100 MHz clock 1 is output from the AND gate 55 and delivered to the host bus 103 , to which the CPU 11 and the bridge controller 22 are connected.
- a remaining battery capacity detecting circuit (not shown in the figures), a CPU load detecting circuit (not shown in the figures), and a mode detecting circuit (also not shown in the figures) that detects whether an electric energy is supplied from an equipped battery or an AC power source can all be implemented by well-known technology. Therefore, a detailed description of these features is omitted here.
- FIG. 6 is a flow chart embodying a first preferred embodiment of a method for throttling a host bus clock in accordance with the present invention.
- the first preferred embodiment of a method for throttling a host bus clock is based on a remaining battery capacity of a computer.
- the throttle controller 220 included in the bridge controller 22 may set a throttle rate for the host bus clock to an initial value of zero (0%) upon computer boot-up in step S 10 . At this throttle rate, the computer performs fully.
- step S 11 it is determined whether electric energy is supplied from an equipped battery or an external AC power source preferably using the embedded controller 23 or the like. If the power source is AC power, control jumps to step S 20 . If the battery is supplying the electric energy, a current Remaining Battery Capacity (RBC) may be compared with the several references Ref_b 1 , Ref_b 2 , . . . at the RBC comparator 231 in steps S 12 , S 14 , and S 16 . When the corresponding comparison is complete, the host clock throttler 230 may set the throttle rate to a new value in step S 13 , step S 15 , step S 17 or step S 18 according to the comparison result in steps S 12 , S 14 and S 16 . The throttle rate may be set in reverse proportion to the RBC. As a result, the battery life and its operating time is extended when the RBC is small, even though the performance of the portable computer may be lowered.
- RBC Remaining Battery Capacity
- step S 12 if it is determined in step S 12 that the RBC is above 75%, then the throttle rate may be set to 15% in step S 13 . If it is determined in step S 14 that the RBC is in range of 75% to 51%, the throttle rate may be set to 30% instep S 15 . If it is determined in step S 16 that the RBC is in the range of 50% to 26%, then the throttle may be set to 45% in step S 17 . If it determined in step 16 that the RBC is 24% or lower, then the throttle rate may be set to 60% in step S 18 .
- step S 19 it is determined if a power source is AC power. If AC power is detected in step S 19 , then the throttle rate may be initialized in step S 20 . Otherwise, control returns from step S 19 to step S 12 .
- FIG. 7 tabulates exemplary respective throttle rate and system performance for each range of remaining battery capacity. As shown in FIG. 7 , the system performance may be lowered as the throttle rate is raised, namely, if the throttle rate is raised by T %, the system performance may be lowered by (100 ⁇ T)%.
- FIG. 8 is a flow chart embodying a second preferred embodiment of a method of throttling a host bus clock in accordance with the present invention.
- the second preferred embodiment of a method of throttling a host bus clock is based on a load to a CPU of a computer.
- the throttle rate for the host bus clock 1 may be set to an initial value, e.g., zero, at system booting in step S 30 .
- all pulses of the 100 MHz clock 1 from the clock generator 10 are used as the host bus clock and the computer operates at full performance.
- step S 31 it is determined in step S 31 whether an electric energy is fed from an equipped battery or an external AC power source preferably using the embedded controller 23 or the like. If the battery is supplying the electric energy, a current CPU load may be compared in step S 32 with a plurality of load references such as the load references Ref_c 1 , Ref_c 2 , . . . at the CPU load comparator 232 .
- the host clock throttler 230 may maintain the initial throttle rate of 0% in step S 33 , and if the CPU load is below 90%, host clock throttle 230 may adjust the throttle rate in reverse proportion to the CPU load in step S 34 in order to extend the battery life and its operating time, although the performance of the portable computer may be lowered. From steps S 33 and S 34 , control continues to step S 35 .
- step S 32 may be expanded into a series of CPU load comparisons that may result in a range of adjustments to host clock throttle in step S 34 .
- the throttle rate may be set to 15% in step S 34 by adjusting duty ratio of the host clock control signal to 15%.
- 85% of the pulses of the 100 MHz clock 1 from the clock generator 10 are provided for the host bus by the throttle controller 220 .
- the throttle rate may be set to 30%; if CPU load is in the range of 50% to 25%, the throttle rate may be set to 45%; and if the CPU load is below 25%, the throttle rate may be set to 60%.
- step S 35 If it is determined in step S 35 that a power source is switched from a battery to an AC source after the throttle rate is adjusted as described, the throttle rate may be reset to 0% in step S 36 , as in step S 30 , in order to fully operate or maximize system performance.
- the second preferred embodiment of a method of throttling a host bus clock depicted in FIG. 8 is also applicable to an AC power supplying mode as well as battery supplying mode. It may be advantageous, for example, to conserve power even when the computer is not powered with a battery source.
- the host clock throttler 230 or the like may calculate the throttle rate based on the following equation (1) instead of selecting a condition-matching value among several predetermined throttle rates as described with reference to FIGS. 6-8 above.
- TR (Throttle Rate) MR ⁇ (MR ⁇ X/Xmax) . . . Eq. (1) where X is a variable of battery remaining capacity or CPU load, Xmax is maximum value of variable X, and MR is maximum or prescribed throttle rate.
- X may be 3
- Xmax may be 10
- X and Xmax may refer to CPU loads.
- the above-described throttle rate adjusting operations are preferably executed through a timer interrupt service routine that wakes up periodically, for example, every 100 ms.
- throttle rate adjusting operations and apparatus are also applicable to a PCI bus to which a bridge controller and one or more peripheral devices are connected.
- bus clock controlling apparatus and methods have various advantages.
- Preferred embodiments of host bus clock controlling apparatus and methods can adjust performance of devices connected to a data bus according to a remaining battery capacity or a CPU load by throttling a clock of the data bus.
- power consumption in a battery-powered computer system may be reduced, and battery life and operating time may be extended.
- Throttling based on CPU load may also conserve power in a AC-supplied computer.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
The present invention relates to an apparatus and method for throttling a clock of a bus used for data exchange between devices in a computer such as a portable computer or notebook. Methods according to the invention can set a throttle rate of a clock to a predetermined initial value, detect a current remaining battery capacity or a current load to the CPU, and adjust the set throttle rate to a prescribed or calculated value according to the detected remaining battery capacity or the CPU load. Thus, power consumption is reduced, and, in the case of a battery-powered computer, battery life and operating time are extended.
Description
1. Field of the Invention
The present invention relates generally to computers, and more specifically to an apparatus and method for optimizing bus clock speed in a computer.
2. Background of the Related Art
In general, a computer such as a notebook computer can be supplied with its necessary electric energy by either an equipped battery or an AC power line. However, because battery capacity is limited, a notebook cannot be used for more than a few hours if its power is supplied from the equipped battery.
A PLL (Phase Lock Loop) circuit 110 is embedded in the CPU 11. The PLL circuit 110 multiplies the 100 MHz clock 1 from the clock generator 10 differently based on a current power supplying mode. For example, the PLL circuit 110 multiplies the 100 MHz clock by six times to produce a 600 MHz internal clock if an external AC power is supplying energy, and it multiplies the 100 MHz clock by five times to produce a 500 MHz clock if a battery is supplying electric energy.
Since power consumption of a CPU is proportional to the speed of a clock driving the CPU, if a 500 MHz internal clock is used in a battery supplying mode, processing speed is lowered and power dissipation is decreased in comparison to application of a 600 MHz internal clock. Therefore, battery life is extended in a battery supplying mode.
In addition, a clock throttling method is also used to reduce power consumption in a CPU. FIG. 2 shows a clock throttling method in which a clock source is periodically made inactive by a control signal ‘STPCLK#’. Whenever the control signal ‘STPCLK#’, which is active LOW, is in active state, a CPU clock is deactivated, so that the CPU dissipates little power. As a result, average power consumption by the CPU is reduced. Therefore, power consumption reduction rate of a CPU can be regulated through adjustment of a duty cycle of the control signal ‘STPCLK#’.
In related art portable computers configured and operated as above, the performance of a CPU is decreased during a battery supplying mode to reduce power consumption. However, the related art portable computers described above have various disadvantages. A host bus 3 to which both the CPU 11 and the bridge controller 12 are connected is driven by a bus clock, whose speed is fixed and whose state is always active, regardless of the power supplying mode. As a result, all devices connected to the host bus 3 are being driven at all times. Therefore, power saving in a battery supplying mode is less effective than if power was also managed for devices connected to the host bus 3.
The above references are incorporated by reference herein where appropriate for appropriate teachings of additional or alternative details, features and/or technical background.
An object of the invention is to solve at least the above problems and/or disadvantages and to provide at least the advantages described hereinafter.
Another object of the present invention is to provide an apparatus and method of throttling a clock of a host bus to reduce power consumption.
Another object of the present invention is to provide an apparatus and method of throttling a clock of a host bus connected to a CPU and a bridge controller in a portable computer.
Another object of the present invention is to provide an apparatus and method of throttling a clock of a host bus in a portable computer based on remaining battery capacity, CPU load or the like.
Another object of the present invention is to provide an apparatus and method of throttling a clock of a host bus, which both a CPU and a bridge controller in a computer are connected to, based on a remaining battery capacity or load to the CPU, in order to reduce power consumption.
In order to achieve at least the above objects in whole or in part, and in accordance with the purposes of the invention, as embodied and broadly described, there is provided a bus clock controlling method in a computer that includes setting a throttle rate of a clock to a predetermined initial value, the clock being used for a data bus connected between a CPU and a controlling device, detecting a remaining battery capacity if a present power source is at least one battery, and adjusting the set throttle rate according to the detected remaining battery capacity.
To further achieve at least the above objects in whole or in part, there is provided a bus clock controlling method in a computer that includes setting a throttle rate of a clock to a predetermined initial value, the clock being used for a data bus connected between a CPU and a controlling device, detecting a present load of the CPU, and adjusting the set throttle rate in reverse proportion to the present CPU load.
To further achieve at least the above objects in whole or in part, there is provided a computer that includes a CPU that processes, a first controller coupled to the CPU via a data bus, and configured to provide a throttled clock to the data bus according to a throttle rate, a clock generator coupled to the CPU and the first controller, and configured to generate a clock, a detector detecting a variable, wherein the variable is a remaining battery capacity or a load of the CPU, and a second controller coupled to receive the detected variable, configured to determine the throttle rate according to the detected variable, and further configured to output the throttle rate to the first controller.
To further achieve at least the above objects in whole or in part, there is provided a bus clock controlling method in a computer that includes setting a throttle rate of a clock to a predetermined initial value, the clock being used for a data bus to which both a CPU and a controlling device are connected, detecting a remaining battery capacity and a load of the CPU if a present power source is a battery, and adjusting the set throttle rate according to the detected remaining battery capacity and the CPU load.
To further achieve at least the above objects in whole or in part, there is provided a bus clock controlling method in a portable computer that includes setting a throttle rate of a clock to a predetermined initial value, the clock being used for a data bus connected between a controlling device and a selected one of a plurality of devices associated with the portable computer, detecting a condition of a prescribed criteria of the portable computer if a present power source is a battery, and adjusting the set throttle rate according to the detected condition, wherein the detected condition is within a range of values for the prescribed criteria.
To further achieve at least the above objects in whole or in part, there is provided a bus clock controlling method in a computer that includes setting a throttle rate of a clock to a predetermined initial value, the clock being used for a data bus to which both a controlling device and a peripheral device are connected, detecting one of a present load of the CPU and a remaining battery capacity, and adjusting the set throttle rate in reverse proportion to the detected one of the present CPU load and the remaining battery capacity.
To further achieve at least the above objects in whole or in part, there is provided a computer that includes means for setting a throttle rate of a data bus clock to a predetermined initial value, means for detecting at least one of a remaining battery capacity and a load of the CPU, and means for adjusting the throttle rate of the data bus clock based on at least one of the detected remaining battery capacity and the detected load of the CPU.
Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objects and advantages of the invention may be realized and attained as particularly pointed out in the appended claims.
The invention will be described in detail with reference to the following drawings in which like reference numerals refer to like elements wherein:
The clock generator 10 may provide the CPU 11 and the bridge controller 22 with a 100 MHz clock 1, and the bridge controller 22 may include a throttle controller 220 throttling a clock for a host bus 103 to which the CPU 11 is also connected or connected together. As used herein, throttling a clock refers to causing a decrease in clock duty cycle.
The computer with the preferred embodiment of a bus clock controlling apparatus of FIG. 3 may further have an embedded controller 23 including or consisting of a remaining battery capacity comparator 231 comparing a current remaining battery capacity with predetermined several references Ref_b1, Ref_b2, . . . , a CPU load comparator 232 and a host clock throttler 230. The CPU load comparator 232 compares a current load to the CPU 11 with several predetermined references Ref_c1, Ref_c2, . . . The host clock throttler 230 outputs a host clock control signal ‘STP_HCLK’ whose duty cycle preferably varies according to the comparison result of the remaining battery capacity comparator 231 or the CPU load comparator 232.
The throttle controller 220 included in the bridge controller 22 may provide the 100 MHz clock 1 from the clock generator 10 to the host bus 103 only while the host clock control signal ‘STP_HCLK’ from the host clock throttler 230 is inactive or low, as shown in FIGS. 4 and 5 . The examples depicted in FIG. 4 are for throttle rates of 50% and 25%, respectively. As used herein, a 25% throttle rate results in a 75% duty cycle for the host bus clock.
The throttle controller 220 can be implemented with an inverter 50 and an AND gate 55 as shown in FIG. 5. However, the present invention is not intended to be so limited. In the logic circuit of FIG. 5 , if the host clock control signal ‘STP_HCLK’ makes a transition to LOW, an input “ STP_HCLK ” to one terminal of the AND gate 55 becomes HIGH. The 100 MHz clock 1 is applied to the other input terminal of the AND gate 55. Thus, when “STP_HCLK” is LOW the 100 MHz clock 1 is output from the AND gate 55 and delivered to the host bus 103, to which the CPU 11 and the bridge controller 22 are connected.
A remaining battery capacity detecting circuit (not shown in the figures), a CPU load detecting circuit (not shown in the figures), and a mode detecting circuit (also not shown in the figures) that detects whether an electric energy is supplied from an equipped battery or an AC power source can all be implemented by well-known technology. Therefore, a detailed description of these features is omitted here.
Next, in step S11, it is determined whether electric energy is supplied from an equipped battery or an external AC power source preferably using the embedded controller 23 or the like. If the power source is AC power, control jumps to step S20. If the battery is supplying the electric energy, a current Remaining Battery Capacity (RBC) may be compared with the several references Ref_b1, Ref_b2, . . . at the RBC comparator 231 in steps S12, S14, and S16. When the corresponding comparison is complete, the host clock throttler 230 may set the throttle rate to a new value in step S13, step S15, step S17 or step S18 according to the comparison result in steps S12, S14 and S16. The throttle rate may be set in reverse proportion to the RBC. As a result, the battery life and its operating time is extended when the RBC is small, even though the performance of the portable computer may be lowered.
For example, if it is determined in step S12 that the RBC is above 75%, then the throttle rate may be set to 15% in step S13. If it is determined in step S14 that the RBC is in range of 75% to 51%, the throttle rate may be set to 30% instep S15. If it is determined in step S16 that the RBC is in the range of 50% to 26%, then the throttle may be set to 45% in step S17. If it determined in step 16 that the RBC is 24% or lower, then the throttle rate may be set to 60% in step S18.
From steps S13, S15, S17 and S18, control continues to step S19 where it is determined if a power source is AC power. If AC power is detected in step S19, then the throttle rate may be initialized in step S20. Otherwise, control returns from step S19 to step S12.
During the time when the host clock is not provided, all devices that operate in synchronization with the host clock cannot conduct data exchange operations. Therefore, such devices do not dissipate the supplied power. Of course, system performance may be lowered.
Next, it is determined in step S31 whether an electric energy is fed from an equipped battery or an external AC power source preferably using the embedded controller 23 or the like. If the battery is supplying the electric energy, a current CPU load may be compared in step S32 with a plurality of load references such as the load references Ref_c1, Ref_c2, . . . at the CPU load comparator 232.
For example, if the comparison by the CPU load comparator 232 indicates that the current CPU load is above 90%, the host clock throttler 230 may maintain the initial throttle rate of 0% in step S33, and if the CPU load is below 90%, host clock throttle 230 may adjust the throttle rate in reverse proportion to the CPU load in step S34 in order to extend the battery life and its operating time, although the performance of the portable computer may be lowered. From steps S33 and S34, control continues to step S35.
Alternatively, step S32 may be expanded into a series of CPU load comparisons that may result in a range of adjustments to host clock throttle in step S34. For example, if the current CPU load is determined to be in the range of 90% to 75% of full load in step S32, the throttle rate may be set to 15% in step S34 by adjusting duty ratio of the host clock control signal to 15%. As a result, 85% of the pulses of the 100 MHz clock 1 from the clock generator 10 are provided for the host bus by the throttle controller 220. Likewise, if the current CPU load is in range of 75% to 50%, the throttle rate may be set to 30%; if CPU load is in the range of 50% to 25%, the throttle rate may be set to 45%; and if the CPU load is below 25%, the throttle rate may be set to 60%.
From steps S33 and S34, control continues to step S35. If it is determined in step S35 that a power source is switched from a battery to an AC source after the throttle rate is adjusted as described, the throttle rate may be reset to 0% in step S36, as in step S30, in order to fully operate or maximize system performance.
The second preferred embodiment of a method of throttling a host bus clock depicted in FIG. 8 is also applicable to an AC power supplying mode as well as battery supplying mode. It may be advantageous, for example, to conserve power even when the computer is not powered with a battery source.
In the preferred embodiments according to the present invention, the host clock throttler 230 or the like may calculate the throttle rate based on the following equation (1) instead of selecting a condition-matching value among several predetermined throttle rates as described with reference to FIGS. 6-8 above.
TR (Throttle Rate)=MR−(MR×X/Xmax) . . . Eq. (1)
where X is a variable of battery remaining capacity or CPU load, Xmax is maximum value of variable X, and MR is maximum or prescribed throttle rate.
TR (Throttle Rate)=MR−(MR×X/Xmax) . . . Eq. (1)
where X is a variable of battery remaining capacity or CPU load, Xmax is maximum value of variable X, and MR is maximum or prescribed throttle rate.
For example, if a battery is at 30% capacity and the maximum throttle rate is 60, then X may be 3, Xmax may be 10, and the throttle rate TR=60−(60× 3/10)=60−18=42%. In another preferred embodiment, X and Xmax may refer to CPU loads. However, the present invention is not intended to be so limited. The above-described throttle rate adjusting operations are preferably executed through a timer interrupt service routine that wakes up periodically, for example, every 100 ms.
The preferred embodiments are applied to the host bus to which a CPU and a bridge controller are connected. However, throttle rate adjusting operations and apparatus according to preferred embodiments of the present invention are also applicable to a PCI bus to which a bridge controller and one or more peripheral devices are connected.
As described above, preferred embodiments of bus clock controlling apparatus and methods have various advantages. Preferred embodiments of host bus clock controlling apparatus and methods can adjust performance of devices connected to a data bus according to a remaining battery capacity or a CPU load by throttling a clock of the data bus. Thus, power consumption in a battery-powered computer system may be reduced, and battery life and operating time may be extended. Throttling based on CPU load may also conserve power in a AC-supplied computer.
The foregoing embodiments and advantages are merely exemplary and are not to be construed as limiting the present invention. The present teaching can be readily applied to other types of apparatuses. The description of the present invention is intended to be illustrative, and not to limit the scope of the claims. Many alternatives, modifications, and variations will be apparent to those skilled in the art. In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents but also equivalent structures.
Claims (47)
1. A bus clock controlling method in a computer, comprising:
setting a throttle rate of a clock to a predetermined initial value, the clock configured to set a speed of a data bus connected between a CPU and a controlling device;
detecting a remaining battery capacity if a present power source is at least one battery; and
adjusting the set throttle rate by the controlling device according to the detected remaining battery capacity, wherein the set throttle rate is adjusted when the controlling device is providing the clock to the data bus between the CPU and the controlling device.
2. The method set forth in claim 1 , wherein said adjusting step increases the set throttle rate as the detected remaining battery capacity decreases.
3. The method set forth in claim 1 , wherein said adjusting step selects one value appropriate to the detected remaining battery capacity among a plurality of throttle rates preset in reverse proportion to different remaining battery capacities.
4. The method set forth in claim 1 , wherein said controlling device is a bridge controller in a computer, wherein a second clock is provided to the controlling device and the CPU, and wherein the throttle rate of the clock is set independently of the second clock, and wherein the clock has a different value than the second clock.
5. The method of claim 1 , comprising:
generating the clock for the CPU and the controlling device; and
determining the throttle rate using a second controlling device according to the remaining battery capacity and outputting the throttle rate to the controlling device, wherein said second controlling device outputs the throttle rate in the form of a pulse signal whose duty cycle varies in accordance with the detected remaining battery capacity, and wherein the controlling device includes a throttle controller providing the data bus with the throttled clock only when the pulse signal is in a specific state.
6. A bus clock controlling method in a computer, comprising:
setting a throttle rate of a clock to a predetermined initial value, the clock configured to set a speed of a data bus connected between a CPU and a controlling device;
detecting a present load of the CPU; and
adjusting the set throttle rate in reverse relation to based on the detected present CPU load by the controlling device by the controlling device, wherein the set throttle rate is adjusted when the controlling device is providing the clock to the data bus between the CPU and the controlling device.
7. The method set forth in claim 6 , wherein said adjusting step is conducted only when a present power source is at least one battery, wherein a second clock is provided to the controlling device and the CPU, and wherein the throttle rate of the clock is set independently of the second clock, and wherein the clock has a different value than the second clock.
8. The method set forth in claim 6 , wherein said adjusting step includes selecting a new throttle rate appropriate to the detected CPU load from a plurality of throttle rates preset in reverse proportion to different CPU loads.
9. The method of claim 6 , comprising:
generating the clock for the CPU and the controlling device; and
determining the throttle rate using a second controller according to the remaining battery capacity and outputting the throttle rate to the controlling device, wherein said second controller outputs the throttle rate in the form of a pulse signal whose duty cycle varies in accordance with the present load of the CPU, and wherein the controlling device includes a throttle controller providing the data bus with the throttled clock only when the pulse signal is in a specific state.
10. A computer, comprising:
a CPU that processes;
a first controller coupled to the CPU via a data bus, and configured to provide a throttled clock to the data bus according to a throttle rate;
a clock generator coupled to the CPU and the first controller, and configured to generate a clock for the CPU and the first controller;
a detector detecting a variable, wherein the variable is a remaining battery capacity or a load of the CPU; and
a second controller coupled to receive the detected variable, configured to determine adjust the throttle rate according to the detected variable, and further configured to output the adjusted throttle rate to the first controller, wherein the throttled clock is configured to selectively have a different independent value than the clock supplied to the first controller and the clock supplied to the second controller.
11. The computer of claim 10 , wherein said second controller outputs the throttle rate in the form of a pulse signal whose duty cycle varies in accordance with the detected variable, and wherein the first controller includes a throttle controller providing the data bus with the throttled clock only when the pulse signal is in a specific state.
12. The computer of claim 10 , wherein said first controller is a bridge controller, and wherein said second controller determines the throttle rate in reverse proportion to the detected variable, wherein the bridge controller directly sets the throttled clock speed of the data bus.
13. The computer of claim 10 , wherein the throttle rate increases as a value of the detected variable decreases.
14. The computer of claim 10 , wherein the second controller comprises:
at least one comparator coupled to receive the detected variable from the detector, configured to compare the detected variable to a plurality of predetermined values, and further configured to output a result of the corresponding plurality of comparisons; and
a host clock throttler coupled to receive the plurality of comparisons and a power mode signal, and configured to output the throttle rate to the first controller.
15. The computer of claim 14 , wherein the at least one comparator comprises a remaining battery capacity comparator, and wherein the detected variable is the remaining battery capacity.
16. The computer of claim 14 , wherein the at least one comparator comprises a CPU load comparator, and wherein the detected variable is the load of the CPU.
17. The computer of claim 14 , wherein the at least one comparator comprises a remaining battery capacity comparator and a CPU load comparator.
18. A bus clock controlling method in a computer, comprising:
setting a throttle rate of a clock to a predetermined initial value, the clock being used for a data bus to which both a CPU and a controlling device are connected;
detecting a remaining battery capacity or a load of the CPU if a present power source is a battery; and
adjusting the set throttle rate according to the detected remaining battery capacity and or the detected CPU load, wherein a second clock is provided to the controlling device and the CPU, and wherein the throttle rate of the clock is set independently of the second clock, and wherein the clock has a different value than the second clock.
19. The method of claim 18 , wherein a third clock is provided to the CPU, wherein the clock as a different value than the third clock.
20. A bus clock controlling method in a portable computer, comprising:
setting a throttle rate of a clock to a predetermined initial value, the clock being used for a data bus connected between a controlling device and a selected one of a plurality of devices associated with the portable computer;
detecting a condition of a remaining battery or a CPU load of the portable computer if a present power source is a battery; and
adjusting the set throttle rate using the controlling device according to the detected condition, wherein the detected condition is within a range of values for the prescribed criteria, wherein a first clock is provided to the controlling device and a second clock is provided the CPU, and wherein the throttle rate of the clock is set independently of the first clock and the second clock, and wherein the clock has a different value than the first clock and the second clock.
21. The bus clock controlling method of claim 20 , wherein the selected device is a peripheral device, and wherein the predetermined initial value is a smallest throttle rate, wherein the controlling device directly sets the clock during normal operations.
22. The bus clock controlling method of claim 20 , wherein said adjusting step selects a rate corresponding to the detected condition among a plurality of prescribed throttle rates that each correspond to mutually exclusive sets of values of the detected condition within the range of values for the prescribed criteria.
23. The bus clock controlling method of claim 22 , wherein each of the plurality of prescribed throttle rates increases as the detected condition decreases within the range.
24. A bus clock controlling method in a computer, comprising
setting a throttle rate of a clock to a predetermined initial value, the clock configured to set a speed of a data bus to which both a controlling device and a peripheral device are connected;
detecting one member chosen from of a present load of the CPU and a remaining battery capacity; and
adjusting the set throttle rate by the controlling device in reverse relation to by the controlling device based on the detected one of the present CPU load and the remaining battery capacity, wherein the set throttle rate is adjusted when the controlling device is providing the clock to the data bus between the controlling device and the peripheral device.
25. The method of claim 24 , comprising:
generating the clock for the CPU and the controlling device; and
determining the throttle rate using a second controller according to the remaining battery capacity and outputting the throttle rate to the controlling device, wherein said second controller outputs the throttle rate in the form of a pulse signal whose duty cycle varies in accordance with the detected one of the present CPU load and the remaining battery capacity, and wherein the controlling device includes a throttle controller providing the data bus with the throttled clock only when the pulse signal is in a specific state.
26. A bus clock controlling method in a computer, comprising:
setting a throttle rate of a first clock to a predetermined initial value, the first clock being for a data bus to which both a CPU and a controlling device are connected;
detecting a load of the CPU; and
adjusting the set throttle rate according to the detected CPU load,
wherein a second clock is provided to the controlling device and the CPU,
the throttle rate of the first clock is set independently of the second clock, and
the first clock has a different value than the second clock.
27. The method of claim 26 , wherein a third clock is provided to the CPU, and the first clock has a different value than the third clock.
28. The method of claim 26 , wherein in the adjusting step, the throttle rate of the first clock is increased when the load of the CPU is decreased, and/or the throttle rate of the first clock is decreased when the load of the CPU is increased.
29. A method for controlling a bus clock frequency in a computer, the computer including a CPU, a controlling device, and a host data bus connected between the CPU and the controlling device, the method comprising:
providing a predetermined clock to the CPU through the host data bus connected between the CPU and the controlling device;
determining a current load of the CPU; and
changing, by the controlling device, a throttle rate of the clock applied to the CPU to a predetermined value based on the determined load of the CPU, wherein the throttle rate is changed when the controlling device is providing the clock to the data bus between the CPU and the controlling device.
30. The method of claim 29 , wherein in the changing step, the throttle rate of the clock is increased when the load of the CPU is decreased, and/or the throttle rate of the clock is decreased when the load of the CPU is increased.
31. The method of claim 29 , further comprising:
applying another clock signal to each of the CPU and the controlling device.
32. A computer, comprising:
a CPU, a controlling device, and a data bus coupled between the CPU and the controlling device,
wherein the CPU, the controlling device and the data bus are operatively coupled and the computer is configured to:
set a throttle rate of a first clock to a predetermined initial value, the first clock being for the data bus;
detect a load of the CPU; and
adjust the set throttle rate according to the detected CPU load,
wherein a second clock is provided to the controlling device and the CPU,
the throttle rate of the first clock is set independently of the second clock, and
the first clock has a different value than the second clock.
33. The computer of claim 32 , further comprising:
a clock generator configured to generate a third clock to the CPU, the first clock having a different value than the third clock.
34. The computer of claim 32 , wherein the throttle rate of the first clock is increased when the load of the CPU is decreased, and/or the throttle rate of the first clock is decreased when the load of the CPU is increased.
35. A computer, comprising:
a CPU, a controlling device, and a host data bus connected between the CPU and the controlling device,
wherein the CPU, the controlling device and the data bus are operatively coupled and the computer is configured to:
provide a predetermined clock to the CPU through the host data bus connected between the CPU and the controlling device;
determine a current load of the CPU; and
change, by the controlling device, a throttle rate of the clock applied to the CPU to a predetermined value based on the determined load of the CPU, wherein the throttle rate is changed when the controlling device is providing the clock to the data bus between the CPU and the controlling device.
36. The computer of claim 35 , wherein the throttle rate of the clock is increased when the load of the CPU is decreased, and/or the throttle rate of the clock is decreased when the load of the CPU is increased.
37. The computer of claim 35 , further comprising:
a clock generator configured to apply another clock signal to each of the CPU and the controlling device.
38. The method of claim 1 , wherein the step of adjusting the set throttle rate of the clock includes changing a duty cycle of the clock in reverse relation to the detected remaining battery capacity.
39. The method of 6, wherein the step of adjusting the set throttle rate of the clock includes changing a duty cycle of the clock in reverse relation to the detected present load of the CPU.
40. The computer of claim 10 , wherein the second controller adjusts the throttle rate of the clock by adjusting a duty cycle of the clock in reverse relation to the remaining battery capacity or the load of the CPU.
41. The method of claim 18 , wherein the step of adjusting the set throttle rate of the clock includes changing a duty cycle of the clock in reverse relation to the detected remaining battery capacity or the detected CPU load.
42. The method of claim 20 , wherein the step of adjusting the set throttle rate of the clock includes changing a duty cycle of the clock in reverse relation to the remaining battery capacity or the CPU load.
43. The method of claim 24 , wherein the step of adjusting the set throttle rate of the clock includes changing a duty cycle of the clock in reverse relation to the detected one of the present CPU load and the remaining battery capacity.
44. The method of claim 26 , wherein the step of adjusting the set throttle rate of the first clock includes changing a duty cycle of the first clock in reverse relation to the detected CPU load.
45. The method of claim 29 , wherein the step of changing the throttle rate of the clock includes changing a duty cycle of the clock in reverse relation to the determined load of the CPU.
46. The computer of claim 32 , wherein the computer adjusts the set throttle rate of the first clock by adjusting a duty cycle of the first clock in reverse relation to the detected load of the CPU.
47. The computer of claim 35 , wherein the computer adjusts the throttle rate of the clock by adjusting a duty cycle of the clock in reverse relation to the determined current load of the CPU.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/141,845 USRE41752E1 (en) | 2000-12-21 | 2008-06-18 | Bus clock controlling apparatus and method |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR00-79509 | 2000-12-21 | ||
| KR10-2000-0079509A KR100369463B1 (en) | 2000-12-21 | 2000-12-21 | Method for controling a host bus clock in portable computer |
| US10/022,208 US7069463B2 (en) | 2000-12-21 | 2001-12-20 | Bus clock controlling apparatus and method |
| US12/141,845 USRE41752E1 (en) | 2000-12-21 | 2008-06-18 | Bus clock controlling apparatus and method |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US10/022,208 Reissue US7069463B2 (en) | 2000-12-21 | 2001-12-20 | Bus clock controlling apparatus and method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| USRE41752E1 true USRE41752E1 (en) | 2010-09-21 |
Family
ID=19703377
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US10/022,208 Ceased US7069463B2 (en) | 2000-12-21 | 2001-12-20 | Bus clock controlling apparatus and method |
| US12/141,845 Expired - Lifetime USRE41752E1 (en) | 2000-12-21 | 2008-06-18 | Bus clock controlling apparatus and method |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US10/022,208 Ceased US7069463B2 (en) | 2000-12-21 | 2001-12-20 | Bus clock controlling apparatus and method |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US7069463B2 (en) |
| KR (1) | KR100369463B1 (en) |
| CN (1) | CN1251042C (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100005474A1 (en) * | 2008-02-29 | 2010-01-07 | Eric Sprangle | Distribution of tasks among asymmetric processing elements |
| US20100023790A1 (en) * | 2000-12-30 | 2010-01-28 | Barnes Cooper | Cpu power management based on utilization with lowest performance mode at the mid-utilization range |
| US20110179207A1 (en) * | 2010-01-15 | 2011-07-21 | Huawei Technologies Co., Ltd. | Variable-frequency bus adapter, adapting method and system |
Families Citing this family (59)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3692089B2 (en) * | 2002-04-02 | 2005-09-07 | 株式会社東芝 | Power consumption control method and information processing apparatus |
| KR100867589B1 (en) * | 2002-04-17 | 2008-11-10 | 엘지전자 주식회사 | Heat management method of portable device according to battery level |
| US7290156B2 (en) * | 2003-12-17 | 2007-10-30 | Via Technologies, Inc. | Frequency-voltage mechanism for microprocessor power management |
| US7770042B2 (en) * | 2002-10-03 | 2010-08-03 | Via Technologies, Inc. | Microprocessor with improved performance during P-state transitions |
| US20050044429A1 (en) * | 2003-08-22 | 2005-02-24 | Ip-First Llc | Resource utilization mechanism for microprocessor power management |
| US7302599B2 (en) | 2004-02-12 | 2007-11-27 | Via Technologies, Inc. | Instantaneous frequency-based microprocessor power management |
| US7774627B2 (en) * | 2002-10-03 | 2010-08-10 | Via Technologies, Inc. | Microprocessor capable of dynamically increasing its performance in response to varying operating temperature |
| US7814350B2 (en) * | 2002-10-03 | 2010-10-12 | Via Technologies, Inc. | Microprocessor with improved thermal monitoring and protection mechanism |
| US7698583B2 (en) | 2002-10-03 | 2010-04-13 | Via Technologies, Inc. | Microprocessor capable of dynamically reducing its power consumption in response to varying operating temperature |
| US7017061B2 (en) * | 2003-05-21 | 2006-03-21 | Dell Products L.P. | Method and system for dynamically adjusting power consumption of an information handling system |
| JP2005165545A (en) * | 2003-12-01 | 2005-06-23 | Sony Corp | Electronic equipment and battery pack |
| TW200519573A (en) * | 2003-12-04 | 2005-06-16 | Compal Electronics Inc | Method for dynamically adjusting frequency of CPU |
| US7334418B2 (en) * | 2004-02-12 | 2008-02-26 | Via Technologies, Inc. | Method and apparatus for microprocessor temperature control |
| TWI276950B (en) * | 2004-02-12 | 2007-03-21 | Intervideo Digital Technology | Computer power management architecture and method thereof |
| US7272736B2 (en) * | 2004-03-03 | 2007-09-18 | Intel Corporation | Method and system for fast frequency switch for a power throttle in an integrated device |
| US7639743B2 (en) * | 2004-03-25 | 2009-12-29 | Sony Corporation | Image decoder and image decoding method and program |
| US7222199B2 (en) * | 2004-03-31 | 2007-05-22 | Intel Corporation | Circuit and method for transferring low frequency signals via high frequency interface |
| KR100716730B1 (en) * | 2004-06-11 | 2007-05-14 | 삼성전자주식회사 | Method for Reducing System Power Consumption in Idle State of Central Processing Unit and Mobile Device Applied to the Method |
| US7523337B2 (en) * | 2004-08-19 | 2009-04-21 | Intel Corporation | Power delivery system in which power supply and load exchange power consumption measurements via digital bus |
| KR100628755B1 (en) * | 2004-11-16 | 2006-09-29 | 엘지전자 주식회사 | A mobile communication terminal having a main processor clock variable function and a clock variable method of the main processor |
| CN100377029C (en) * | 2005-09-30 | 2008-03-26 | 威盛电子股份有限公司 | Dynamic adjusting circuit and method for basic clock signal of front-end bus |
| US20070101168A1 (en) * | 2005-10-31 | 2007-05-03 | Lee Atkinson | Method and system of controlling data transfer speed and power consumption of a bus |
| US7644291B2 (en) * | 2005-12-30 | 2010-01-05 | International Business Machines Corporation | Device throttling system from neighboring device |
| KR101163812B1 (en) | 2006-02-02 | 2012-07-09 | 엘지전자 주식회사 | Apparatus and method of controlling to economize power in portable computer |
| US7415623B2 (en) * | 2006-07-31 | 2008-08-19 | Motorola, Inc. | System for managing the power source life between multiple individually powered devices in a wired system and method of using same |
| TWI324298B (en) * | 2006-10-04 | 2010-05-01 | Via Tech Inc | Power management methods and systems |
| US7689851B2 (en) * | 2006-10-27 | 2010-03-30 | Hewlett-Packard Development Company, L.P. | Limiting power state changes to a processor of a computer device |
| US20090070611A1 (en) * | 2007-09-12 | 2009-03-12 | International Business Machines Corporation | Managing Computer Power Consumption In A Data Center |
| US7925911B2 (en) * | 2007-09-27 | 2011-04-12 | International Business Machines Corporation | Managing computer power among a plurality of computers |
| US8166326B2 (en) * | 2007-11-08 | 2012-04-24 | International Business Machines Corporation | Managing power consumption in a computer |
| US20090132842A1 (en) * | 2007-11-15 | 2009-05-21 | International Business Machines Corporation | Managing Computer Power Consumption In A Computer Equipment Rack |
| US8041521B2 (en) * | 2007-11-28 | 2011-10-18 | International Business Machines Corporation | Estimating power consumption of computing components configured in a computing system |
| US7992014B2 (en) * | 2007-12-19 | 2011-08-02 | International Business Machines Corporation | Administering power supplies in a data center |
| US20090287949A1 (en) * | 2008-05-15 | 2009-11-19 | International Business Machines Corporation | Managing Power Domains In A Data Center |
| US20090287943A1 (en) * | 2008-05-15 | 2009-11-19 | International Business Machines Corporation | Mapping power domains in a data center |
| US7519843B1 (en) | 2008-05-30 | 2009-04-14 | International Business Machines Corporation | Method and system for dynamic processor speed control to always maximize processor performance based on processing load and available power |
| US8103884B2 (en) | 2008-06-25 | 2012-01-24 | International Business Machines Corporation | Managing power consumption of a computer |
| US8041976B2 (en) * | 2008-10-01 | 2011-10-18 | International Business Machines Corporation | Power management for clusters of computers |
| TWI432948B (en) * | 2008-10-20 | 2014-04-01 | Wistron Corp | Power management method for a portable computer system and related power supply device and portable computer system |
| US8514215B2 (en) * | 2008-11-12 | 2013-08-20 | International Business Machines Corporation | Dynamically managing power consumption of a computer with graphics adapter configurations |
| JP2010157110A (en) * | 2008-12-26 | 2010-07-15 | Sony Corp | Information processing apparatus, device control method, and program |
| US8464080B2 (en) | 2010-08-25 | 2013-06-11 | International Business Machines Corporation | Managing server power consumption in a data center |
| CN103201702B (en) * | 2010-11-09 | 2016-04-20 | 国际商业机器公司 | To the method and system that evaluation work load manages |
| KR101744356B1 (en) * | 2011-03-17 | 2017-06-08 | 삼성전자주식회사 | Device and method for reducing current consuming in wireless terminal |
| US8924756B2 (en) * | 2011-06-27 | 2014-12-30 | Intel Corporation | Processor core with higher performance burst operation with lower power dissipation sustained workload mode |
| KR101881019B1 (en) * | 2011-10-26 | 2018-07-24 | 삼성전자 주식회사 | Device and method for saving a power in wireless terminal |
| WO2013062565A1 (en) * | 2011-10-28 | 2013-05-02 | Intel Corporation | Rate scalable io interface with zero stand-by power and fast start-up |
| CN102609068B (en) * | 2012-01-20 | 2016-04-06 | 李涛 | Based on power management control method and the device of the computer system of sun power |
| US9137848B2 (en) * | 2012-01-31 | 2015-09-15 | Lg Electronics Inc. | Mobile terminal, controlling method thereof and recording medium thereof |
| TWI610240B (en) * | 2012-02-02 | 2018-01-01 | 緯創資通股份有限公司 | Battery discharge method |
| CN103197754B (en) * | 2013-04-01 | 2016-05-25 | 华为技术有限公司 | A kind of method and apparatus that reduces chip power-consumption |
| WO2015170371A1 (en) * | 2014-05-07 | 2015-11-12 | 富士通株式会社 | Information processing device |
| US9513689B2 (en) * | 2014-06-30 | 2016-12-06 | Intel Corporation | Controlling processor performance scaling based on context |
| US9658644B2 (en) * | 2014-10-06 | 2017-05-23 | S-Printing Solution Co., Ltd. | CRUM unit mountable in consumable unit of image forming apparatus and image forming apparatus using the same |
| US10819607B2 (en) * | 2015-12-09 | 2020-10-27 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Reducing power consumption of a compute node experiencing a bottleneck |
| US11275663B2 (en) * | 2020-06-08 | 2022-03-15 | Intel Corporation | Fast dynamic capacitance, frequency, and/or voltage throttling apparatus and method |
| GB2597276B (en) * | 2020-07-17 | 2022-08-31 | Graphcore Ltd | Power management by clock dithering |
| TWI770856B (en) | 2021-03-04 | 2022-07-11 | 華碩電腦股份有限公司 | Portable computing device |
| KR20230047823A (en) | 2021-10-01 | 2023-04-10 | 삼성전자주식회사 | System on chip and application processor |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5719510A (en) | 1996-03-27 | 1998-02-17 | Intel Corporation | Software configurable digital clock generator |
| US6026231A (en) * | 1995-03-31 | 2000-02-15 | Intel Corporation | Method and apparatus for selecting an optimal system bus clock in a highly scalable computer system |
| US6079022A (en) | 1996-10-11 | 2000-06-20 | Intel Corporation | Method and apparatus for dynamically adjusting the clock speed of a bus depending on bus activity |
| US6609211B2 (en) | 1991-12-17 | 2003-08-19 | Hewlett-Packard Development Company, L.P. | Utilization-based power management of a clocked device |
| US6694442B2 (en) | 2000-12-18 | 2004-02-17 | Asustek Computer Inc. | Method for saving power in a computer by idling system controller and reducing frequency of host clock signal used by system controller |
| US6704879B1 (en) | 1999-08-26 | 2004-03-09 | Micron Technology, Inc. | Dynamically controlling a power state of a graphics adapter |
| US6763478B1 (en) * | 2000-10-24 | 2004-07-13 | Dell Products, L.P. | Variable clock cycle for processor, bus and components for power management in an information handling system |
-
2000
- 2000-12-21 KR KR10-2000-0079509A patent/KR100369463B1/en not_active Expired - Fee Related
-
2001
- 2001-12-20 US US10/022,208 patent/US7069463B2/en not_active Ceased
- 2001-12-21 CN CNB011447230A patent/CN1251042C/en not_active Expired - Fee Related
-
2008
- 2008-06-18 US US12/141,845 patent/USRE41752E1/en not_active Expired - Lifetime
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6609211B2 (en) | 1991-12-17 | 2003-08-19 | Hewlett-Packard Development Company, L.P. | Utilization-based power management of a clocked device |
| US6026231A (en) * | 1995-03-31 | 2000-02-15 | Intel Corporation | Method and apparatus for selecting an optimal system bus clock in a highly scalable computer system |
| US5719510A (en) | 1996-03-27 | 1998-02-17 | Intel Corporation | Software configurable digital clock generator |
| US6079022A (en) | 1996-10-11 | 2000-06-20 | Intel Corporation | Method and apparatus for dynamically adjusting the clock speed of a bus depending on bus activity |
| US6704879B1 (en) | 1999-08-26 | 2004-03-09 | Micron Technology, Inc. | Dynamically controlling a power state of a graphics adapter |
| US6763478B1 (en) * | 2000-10-24 | 2004-07-13 | Dell Products, L.P. | Variable clock cycle for processor, bus and components for power management in an information handling system |
| US6694442B2 (en) | 2000-12-18 | 2004-02-17 | Asustek Computer Inc. | Method for saving power in a computer by idling system controller and reducing frequency of host clock signal used by system controller |
Cited By (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100023790A1 (en) * | 2000-12-30 | 2010-01-28 | Barnes Cooper | Cpu power management based on utilization with lowest performance mode at the mid-utilization range |
| US9870046B2 (en) | 2008-02-29 | 2018-01-16 | Intel Corporation | Distribution of tasks among asymmetric processing elements |
| US9939882B2 (en) | 2008-02-29 | 2018-04-10 | Intel Corporation | Systems and methods for migrating processes among asymmetrical processing cores |
| US11054890B2 (en) | 2008-02-29 | 2021-07-06 | Intel Corporation | Distribution of tasks among asymmetric processing elements |
| US8930722B2 (en) * | 2008-02-29 | 2015-01-06 | Intel Corporation | Distribution of tasks among asymmetric processing elements |
| US9753530B2 (en) | 2008-02-29 | 2017-09-05 | Intel Corporation | Distribution of tasks among asymmetric processing elements |
| US9760162B2 (en) | 2008-02-29 | 2017-09-12 | Intel Corporation | Distribution of tasks among asymmetric processing elements |
| US10437320B2 (en) | 2008-02-29 | 2019-10-08 | Intel Corporation | Distribution of tasks among asymmetric processing elements |
| US9874926B2 (en) | 2008-02-29 | 2018-01-23 | Intel Corporation | Distribution of tasks among asymmetric processing elements |
| US9829965B2 (en) | 2008-02-29 | 2017-11-28 | Intel Corporation | Distribution of tasks among asymmetric processing elements |
| US9910483B2 (en) | 2008-02-29 | 2018-03-06 | Intel Corporation | Distribution of tasks among asymmetric processing elements |
| US20100005474A1 (en) * | 2008-02-29 | 2010-01-07 | Eric Sprangle | Distribution of tasks among asymmetric processing elements |
| US10386915B2 (en) | 2008-02-29 | 2019-08-20 | Intel Corporation | Distribution of tasks among asymmetric processing elements |
| US10409360B2 (en) | 2008-02-29 | 2019-09-10 | Intel Corporation | Distribution of tasks among asymmetric processing elements |
| US20110179207A1 (en) * | 2010-01-15 | 2011-07-21 | Huawei Technologies Co., Ltd. | Variable-frequency bus adapter, adapting method and system |
| US8468286B2 (en) * | 2010-01-15 | 2013-06-18 | Huawei Technologies Co., Ltd. | Variable-frequency bus adapter, adapting method and system |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1251042C (en) | 2006-04-12 |
| CN1360241A (en) | 2002-07-24 |
| US20020108070A1 (en) | 2002-08-08 |
| KR100369463B1 (en) | 2003-01-24 |
| US7069463B2 (en) | 2006-06-27 |
| KR20020050374A (en) | 2002-06-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| USRE41752E1 (en) | Bus clock controlling apparatus and method | |
| TWI402647B (en) | Voltage control device, method and computer device capable of dynamically regulating voltage and effectively saving energy | |
| US8732495B2 (en) | Systems, apparatuses and methods for dynamic voltage and frequency control of components used in a computer system | |
| JP3297389B2 (en) | Power consumption control method and electric equipment | |
| US7076672B2 (en) | Method and apparatus for performance effective power throttling | |
| US7290156B2 (en) | Frequency-voltage mechanism for microprocessor power management | |
| US7134031B2 (en) | Performance control within a multi-processor system | |
| US8212542B2 (en) | Load adaptive power delivery | |
| US8924750B2 (en) | Dynamic CPU voltage regulator phase shedding | |
| US7774627B2 (en) | Microprocessor capable of dynamically increasing its performance in response to varying operating temperature | |
| US7010704B2 (en) | Apparatus for dynamically adjusting CPU power consumption | |
| USRE42293E1 (en) | System and method for optimizing clock speed generation in a computer | |
| US20040148060A1 (en) | Method and device for power management and control of power supply system | |
| US20040236969A1 (en) | Method and system for dynamically adjusting power consumption of an information handling system | |
| EP2485117A2 (en) | Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system | |
| JP2003295986A (en) | Power consumption control method and information processing device | |
| US8635485B2 (en) | Computer and control method thereof | |
| GB2376325A (en) | Inregrated circuit having dynamically adjustable clock signal frequency | |
| US8769322B2 (en) | Method for adjusting clock frequency of a processing unit of a computer system and related device | |
| US20110320835A1 (en) | System and method for dynamically managing power in an electronic device | |
| US20070180282A1 (en) | Power-saving control apparatus and method for a portable computer | |
| US20080012585A1 (en) | Apparatus and method of adjusting system efficiency | |
| US8452993B2 (en) | Circuits, systems, and methods for dynamically controlling a power supply configuration in response to load requirements from a digital circuit | |
| US20120151228A1 (en) | Electronic device having power consumption adjusting feature | |
| US20230195207A1 (en) | Electronic device and method of controlling temperature in same |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| FPAY | Fee payment |
Year of fee payment: 8 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553) Year of fee payment: 12 |