The described embodiments relate generally to control and more particularly to linking multiple independent control systems to control a response attribute of a computing device.
Control systems are widely used to monitor and control systems and machines in a multitude of applications. One example of a popular, yet simple application of a control system is a residential thermostat for controlling a furnace. A homeowner can set the thermostat for a desired temperature, and when the temperature of the interior of the house falls below a first threshold temperature, the thermostat can turn on the furnace. The furnace runs until the temperature of the interior exceeds a second threshold temperature. Typically, the first and second threshold temperatures are closely related to the selected desired temperature. In this manner the thermostat acts as a simple control system to regulate the temperature of the house.
Similar to a house, a computing device can have a control system to regulate internal temperatures. In stark contrast, however, the computing device can include many more heat sources. The operation of the heat sources all contribute to product heat, but in varying amounts and in some cases the varying amounts can be in response to applications or other tasks being performed by the computing device. Also, a main function of a temperature regulating control system in a computing device is not to elevate a temperature, but rather work to ensure that the internal temperature does not increase beyond a critical temperature that can cause damage to one or more internal components of the computing device.
Because of the complex nature of computing devices, the simple control system outlined above may not provide acceptable cooling performance. For example, a simple cooling system can typically take only one approach to cooling, independent of factors such as user experience, pending and executing software applications, and previous operating temperatures.
Therefore, what is desired is a way to control a system, such as a cooling system, that can offer multiple control approaches depending on current and past operating parameters.
This paper describes various embodiments that relate to personal computer systems and computing devices, and linking multiple independent control systems to control a response attribute of a computing device.
According to one embodiment of the invention, a method of controlling an attribute of a computing device includes determining a current value of the attribute associated with at least a portion of the computing device, determining a plurality of control effort values based on the current value of the attribute for each controller of a plurality of independent linked controllers, selecting a maximal control effort of the plurality of control effort values, and applying the maximal control effort to manipulate the attribute.
According to another embodiment of the invention, a method of controlling a temperature of a computing device includes determining a current operating temperature of at least a portion of the computing device and computing a first temperature management effort value when the operating temperature is greater than a first temperature threshold. The first temperature management effort value is limited to a first value. The method further includes computing a second temperature management effort value when the operating temperature is greater than a second temperature threshold. The second temperature threshold is greater than the first temperature threshold and the second temperature management effort value is limited to a second value. The method further includes selecting the maximal value of the first and the second temperature management effort values as an operational temperature management effort value.
According to yet another embodiment of the invention, a control system for controlling an attribute of a computing device includes a plurality of independent linked controllers configured to receive a current value of the attribute associated with at least a portion of the computing device. The plurality of independent linked controllers are further configured to determine a plurality of individual control effort values based on the current value of the attribute. The system further includes a control device configured to apply a maximum control effort value of the plurality of individual control effort values to manipulate the attribute.
Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the described embodiments.
The described embodiments and the advantages thereof may best be understood by reference to the following description taken in conjunction with the accompanying drawings. These drawings in no way limit any changes in form and detail that may be made to the described embodiments by one skilled in the art without departing from the spirit and scope of the described embodiments.
Representative applications of methods and apparatus according to the present application are described in this section. These examples are being provided solely to add context and aid in the understanding of the described embodiments. It will thus be apparent to one skilled in the art that the described embodiments may be practiced without some or all of these specific details. In other instances, well known process steps have not been described in detail in order to avoid unnecessarily obscuring the described embodiments. Other applications are possible, such that the following examples should not be taken as limiting.
In the following detailed description, references are made to the accompanying drawings, which form a part of the description and in which are shown, by way of illustration, specific embodiments in accordance with the described embodiments. Although these embodiments are described in sufficient detail to enable one skilled in the art to practice the described embodiments, it is understood that these examples are not limiting; such that other embodiments may be used, and changes may be made without departing from the spirit and scope of the described embodiments.
The control system described in
One drawback of many control systems is that related control effort behaviors are based on and around a single operating point. For example, as shown in
Each controller 301, 302, 303, can have a control effort profile. The control effort profile can specify an amount of control effort to exert to control the plant 312 to operate at an operating point. In one embodiment, control effort can be between 0% and 100%. In another embodiment, each controller 301, 302, 303, can operate within an operating range. In one embodiment, the operating range of one controller can be independent of (i.e., does not overlap) the operating ranges of other controllers. In one embodiment, each controller 301, 302, 303, can be implemented as a proportional, integral, derivative controller (PID Controller).
Each controller 301, 302, 303, can receive a temperature from the plant 312. In one embodiment, the temperature can be an operating temperature. Each controller 301, 302, 303, can develop a control effort output. The control effort in this example may be termed a temperature management effort value. In one embodiment, the control effort outputs from all controllers 301, 302, 303, can be summed together at control device 310 and applied to the plant 312. In another embodiment, the although the controllers 301, 302, 303, can operate in parallel, the output of the controllers 301, 302, 303, can be output sequentially such that only one controller output is active at a time. In yet another embodiment, the control effort outputs of all controllers 301, 302, 303, can be compared and the largest control output can be applied to the plant 312. As shown, in one embodiment, the input to each controller 301, 302, 303, can be a difference signal in accordance with a difference between a target (threshold) temperature and a current operating temperature as determined in difference blocks 305, 306, 307. In one embodiment, each controller 301, 302, 303, can be associated with a different temperature threshold including generally illustrated Threshold 1, Threshold 2, and Threshold 3.
In one embodiment, the output of the controllers 401, 402 can be summed at summing element 403 (e.g., control device) and delivered to the computing device 405. In another embodiment, the output of the controllers 401, 402 can be compared, and only the output representing the greatest control effort can be delivered to the computing device 405. In one embodiment, the delivered control effort can be mapped to operational parameters for processors, graphics processing units, backlight controllers, radio transmitters, battery chargers or any other component of the computing device 405.
By way of an example, Controller 1 (401) can have a temperature threshold of 40 degrees and a maximum effort limit of 40%. Controller 2 (402) can have a temperature threshold of 60 degrees and a maximum effort limit of 80%. In one embodiment Controller 2 can be configured to not exert any control effort until temperature exceeds the temperature threshold of 60 degrees. In other words, Controller 2 can output 0% effort until the temperature exceeds 60 degrees.
Although described sequentially, in other embodiments, the first and the second controllers can function in parallel. In one embodiment, the outputs of both controllers can be compared and the controller producing a maximal control effort signal can be selected and applied to the computing device.
Generally, the control effort referenced hereinabove and in method 600 is a function of the determined temperature as it relates to a plurality of heat sources in the computing device being controlled. For example, control effort may be expressed as an abstraction of effort required to maintain, reduce, and/or otherwise control a temperature of the device. In some instances this may include limiting a central processing unit's frequency or voltage level, for example, through the implementation of performance caps. In some instances this may include limiting a graphical processing unit's frequency or voltage level. Still in further instances this may include setting backlighting intensity or voltage caps to reduce heat dissipated from a light source. In yet even further instances this may include setting power caps for cellular radio transmission, battery charging profile manipulation, or any other suitable control effort which results in decreased temperature. Thus, as described above, control effort is a function of the effort necessary to reduce, maintain, or otherwise control a temperature of the device such that increasing control effort results in decreased performance of one or more of the above-references components. This decreased performance may be balanced to reduce any negative consequences as related to user experience, and may itself be capped (e.g., at a percentage of control effort as illustrated in
Additionally, although described above as relating to two or three linked controllers, it should be readily understood that the same may be varied in many ways. For example,
The various aspects, embodiments, implementations or features of the described embodiments can be used separately or in any combination. Various aspects of the described embodiments can be implemented by software, hardware or a combination of hardware and software. The described embodiments can also be embodied as computer readable code on a computer readable medium for controlling manufacturing operations or as computer readable code on a computer readable medium for controlling a manufacturing line. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, HDDs, DVDs, magnetic tape, and optical data storage devices. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the described embodiments. However, it will be apparent to one skilled in the art that the specific details are not required in order to practice the described embodiments. Thus, the foregoing descriptions of specific embodiments are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the described embodiments to the precise forms disclosed. It will be apparent to one of ordinary skill in the art that many modifications and variations are possible in view of the above teachings.
This application claims the benefit of U.S. Provisional Application No. 61/699,279, filed Sep. 10, 2012 and entitled “LINKING MULTIPLE INDEPENDENT CONTROL SYSTEMS TO DISTRIBUTE RESPONSE” which is incorporated by reference herein in its entirety for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
5791160 | Mandler | Aug 1998 | A |
6574082 | Vitek | Jun 2003 | B2 |
7307245 | Faries, Jr. | Dec 2007 | B2 |
8103893 | Burton | Jan 2012 | B2 |
8201416 | Liao | Jun 2012 | B2 |
20050156492 | Utke | Jul 2005 | A1 |
20090177310 | Dao et al. | Jul 2009 | A1 |
20100070082 | Chessel et al. | Mar 2010 | A1 |
20110015803 | Ohata | Jan 2011 | A1 |
20120048467 | Mahadeswaraswamy | Mar 2012 | A1 |
20120072157 | Alameh et al. | Mar 2012 | A1 |
20120074238 | Morita | Mar 2012 | A1 |
20120158206 | Longobardi | Jun 2012 | A1 |
20120209449 | Alon | Aug 2012 | A1 |
20120217316 | Byquist | Aug 2012 | A1 |
20140072015 | Han | Mar 2014 | A1 |
Entry |
---|
PCT Application No. PCT/US2013/058723—International Search Report and Written Opinion dated Dec. 16, 2013. |
Number | Date | Country | |
---|---|---|---|
20140074313 A1 | Mar 2014 | US |
Number | Date | Country | |
---|---|---|---|
61699279 | Sep 2012 | US |