US20110126056A1 - Processor performance adjustment system and method - Google Patents

Processor performance adjustment system and method Download PDF

Info

Publication number
US20110126056A1
US20110126056A1 US13/019,249 US201113019249A US2011126056A1 US 20110126056 A1 US20110126056 A1 US 20110126056A1 US 201113019249 A US201113019249 A US 201113019249A US 2011126056 A1 US2011126056 A1 US 2011126056A1
Authority
US
United States
Prior art keywords
processor
performance
clock
processing unit
frequency
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.)
Abandoned
Application number
US13/019,249
Inventor
Brian M. Kelleher
Ludger Mimberg
Kevin Kransusch
John Lam
Senthil S. Velmurugan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Priority to US13/019,249 priority Critical patent/US20110126056A1/en
Publication of US20110126056A1 publication Critical patent/US20110126056A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

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

Definitions

  • the present invention relates to the field of processor operation. More particularly, the present invention relates to a system and method for adjusting graphics processor performance.
  • Advanced applications are creating ever greater demands for faster processor performance.
  • the desired objective of numerous applications is to provide a visual presentation to a user (e.g., on a display monitor).
  • Displaying information in a visual presentation is usually a convenient and effective method of conveying the information.
  • Display devices cathode ray tube monitors, liquid crystal displays, etc.
  • pixels picture elements
  • many graphics presentations, especially interactive 3D graphics presentations usually require significant processing of large amounts of data at a rapid rate.
  • Providing image information for each pixel is very data intensive and consumes a significant amount of processing resources.
  • Advanced graphics applications such as three dimensional graphics utilized in modern gaming applications require significant amounts of information associated with each pixel (e.g., primary color intensity, transparency, brightness, texture and shading) to be produced at rates fast enough to provide a smooth and interactive presentation.
  • Graphics information generation is often best performed by dedicated graphics subsystem resources including graphics processor units. Separate graphics processors relieve the central processor of performing many of the graphics processing tasks. Graphics processors are usually specifically configured for performance of graphics activities enabling a graphics processor to perform many graphics operations faster and more efficiently than a central processor.
  • the amount of information and speed at which it is processed by a processor is determined by a variety of factors. For example, the number of transistors and their configuration on the chip usually affect the bandwidth and speed at which the processing can occur. Generally, a larger number of transistors can process information quicker than a smaller number of transistors operating at the same clock frequency. However, at some point increasing the number of transistors becomes cost prohibitive. Another factor that affects the processing speed is the clock frequency.
  • a processor typically performs operations in a sequence of events (e.g., fetching, decoding and executing instructions), the order and timing of which are usually critical.
  • a processor typically relies upon a clock signal to provide appropriate synchronization and satisfy requisite timing constraints. However, increasing the clock frequency is often limited by the characteristics of the transistors utilized to perform the processing.
  • the basic electronic component for performing most of the switching operations in a processor is a transistor.
  • the drain current saturation (I d,sat ) is one of the underlying physical mechanisms involved in transistor switching operations and is often utilized to indicate how fast a transistor can perform switching operations.
  • the drain current saturation rating of a transistor can be adversely impacted by the temperature and voltage level at which the transistor is operating, causing deterioration in the transistor switching speed.
  • processors are identified by a particular fixed nominal clock frequency at which the processor is expected to provide reliable results over a specific life span (e.g., 10 years). Numerous systems operate the processor at the fixed nominal clock frequency continuously for the life of the processor even though a task does not require the level of processing speed provided by the fixed nominal clock frequency.
  • the fixed nominal frequency is typically not the fastest frequency the processor can possibly operate at and resource utilization is not maximized.
  • traditional processing systems attempt clock frequency adjustment, they are usually limited to downward adjustments from the fixed nominal clock frequency to achieve power conservation, further limiting the maximization of processor performance speed.
  • Some traditional processing systems also attempt to make various adjustments in response to temperature measurements.
  • the present invention facilitates enhanced processor performance with minimal impact to reliability by maintaining conservation of average processor lifetime.
  • the performance enhancement and reliability maintenance system and method of the present invention pushes a processor to its maximized performance capabilities when processing intensive tasks (e.g., 3D graphics, etc) are performed. For example, a clock signal frequency and power signal voltage are increased until an unacceptable error rate begins to appear in the processing results and then the clock signal frequency and power signal voltage are backed off to the last setting at which excessive errors did not occur. The voltage should not be set to a level high enough to cause catastrophic failure.
  • the present invention is readily expandable to provide adjustment for a variety of operating conditions (e.g., voltage, frequency, temperature) in response to task performance requirements.
  • the present invention also includes the ability to throttle back settings which facilitate the maintenance of desired reliability standards.
  • the periods at which the processor is “overstressed” are averaged with the periods at which it is “under-stressed” to provide an acceptable mean time to processor life failure.
  • a test (e.g., an auto self test) is run to examine the performance of a chip and to determine if characteristics of the chip are changing over time.
  • the auto self test includes running a performance test suite (e.g., a “Schmoo” test) to characterize operating conditions (e.g., temperature, voltage, clock-frequency) at which a chip can operate without producing errors at unacceptable rates.
  • a performance test suite e.g., a “Schmoo” test
  • operating conditions e.g., temperature, voltage, clock-frequency
  • the components of a present inventive computer system can also be binned at several levels before shipment permitting even greater refinement of the field throttling activities. This permits chip performance characteristics to be adjusted within finer tolerances associated with each binning group.
  • a set of per-chip settings can be generated by a test suite that characterizes processor performance for a variety of operating condition setting ranges for a particular board and chip combination, and these settings can be programmed into the BIOS at shipment, with each chip or board having its own sets of settings.
  • the BIOS can include a model of how the chip is expected to degrade over time as a function of temperature, clock speed and voltage.
  • the BIOS-stored settings can include “tweak” factors or adjustments such as a trimmer (e.g., that adjusts the position of clock edges relative to data), a shaper (e.g., that adjusts pulse widths), and edge rate adjustments.
  • trimmer e.g., that adjusts the position of clock edges relative to data
  • a shaper e.g., that adjusts pulse widths
  • edge rate adjustments e.g., edge rate adjustments.
  • the present invention is also readily expandable to factor hardware self test results into operating condition or parameter adjustments (e.g., adjusting voltage, frequency, temperature,
  • FIG. 1 is a flow chart of a graphics processor management method in accordance with one embodiment of the present invention.
  • FIG. 2 is a block diagram of a graphics processor adjustment system in accordance with one embodiment of the present invention.
  • FIG. 3 is a flow chart of a processor performance enhancement and reliability balancing method, a method in accordance with one embodiment of the present invention.
  • FIG. 4 is a flow chart of a processor performance limitation testing method in accordance with one embodiment of the present invention.
  • FIG. 5 is a flow chart of a processor temperature compensation method, one embodiment of the present invention.
  • FIG. 6 is an illustration of one exemplary implementation of a binning process utilized to bin graphics processors and memory in one embodiment of the present invention.
  • FIG. 7A illustrates an edge rate adjustment to a clock signal in accordance with one embodiment of the present invention.
  • FIG. 7B illustrates a trimmer adjustment to a clock signal in accordance with one embodiment of the present invention.
  • FIG. 7C is an illustration of a shaper adjustment to a clock signal in accordance with one embodiment of the present invention.
  • FIG. 8 is a block diagram of one embodiment of a computer system upon which the present invention is implemented.
  • FIG. 9A is one exemplary graphical representation illustrating “wasted performance” capabilities when operating a processor at a fixed clock frequency under potential maximum clock frequency values at which a processor can run at without errors
  • FIG. 9B is one exemplary graphical representation illustrating “enhanced” performance available by making clock frequency adjustments over time.
  • FIG. 10A is a graphical illustration of an exemplary increase and decrease in temperature of a processor over time.
  • FIG. 10B is a graphical illustration of an exemplary adjustment in a clock signal frequency corresponding to an exemplary increase and decrease in temperature of a processor over time.
  • FIG. 11A is a graphical illustrations of exemplary adjustments in a clock signal frequency of a processor operating in performance mode constrained by exemplary corresponding temperature changes in accordance with one embodiment of the present invention.
  • FIG. 11B is a graphical illustrations of exemplary adjustments in a power signal voltage level of a processor operating in performance mode constrained by exemplary corresponding temperature changes in accordance with one embodiment of the present invention.
  • FIG. 11C is a graphical illustration of exemplary temperature changes in a processor in response to adjustments in clock frequency and voltage level in accordance with one embodiment of the present invention.
  • the present invention facilitates enhanced processor performance with minimal impact to reliability by maintaining conservation of average processor lifetime.
  • the present invention directs adjustments in the characteristics or operating conditions of a processor (e.g., clock speed, voltage, temperature, etc.) in response to various criteria (e.g., proposed tasks, temperature measurements, detected errors, etc.). While the present invention is readily adaptable to accommodate maximization of a single objective, the more sophisticated implementations include adjustments directed at balancing several objectives.
  • an implementation in which adjustments are made to provide maximized performance e.g., increase clock frequency and voltage
  • complex tasks involving intensive processing e.g., three dimensional graphics, video games, etc.
  • other adjustments e.g., decreases in clock frequency and voltage
  • relatively less complex tasks e.g., word processing, sleep mode, etc.
  • the performance enhancement and reliability maintenance system and method of the present invention pushes a processor to its maximized performance capabilities when processing intensive tasks (e.g., 3D graphics, etc) are performed. For example, a clock speed and/or voltage are increased until an unacceptable error rate begins to appear in the processing results and then the clock speed and voltage are backed off to the last setting at which excessive errors did not occur.
  • This is a significant advantage over previous voltage and/or clock speed adjustment implementations which do not run a processor at its full performance potential.
  • FIG. 9A is one exemplary graphical representation illustrating “wasted performance” capabilities 910 under the curve 905 of maximum clock frequency values at which a processor can run at without errors when a processor is run at fixed clock frequency 920 that yields a 10 year “life span” of reliable performance.
  • FIG. 9A is one exemplary graphical representation illustrating “wasted performance” capabilities 910 under the curve 905 of maximum clock frequency values at which a processor can run at without errors when a processor is run at fixed clock frequency 920 that yields a
  • 9B is one exemplary graphical representation illustrating “enhanced” performance available by making clock frequency adjustments (e.g., 970 ) over time.
  • the present invention is readily expandable to provide adjustment for a variety of operating conditions in response to task performance requirements.
  • a variable speed fan that is software controlled can be adjusted to alter the temperature of the processor in addition to alterations to a clock signal frequency or power signal voltage.
  • the present invention also includes the ability to throttle back settings which facilitates the maintenance of desired reliability standards.
  • the periods at which the processor is “overstressed” are averaged with the periods at which it is “under-stressed” to provide an acceptable mean time to processor life failure.
  • This technique allows the hardware to be run at a higher voltage than the semiconductor manufacturer's maximum specified voltage.
  • increased degradation of the chip during high performance settings is offset by slower degradation when the chip is not run in high performance mode (e.g., when the voltage is lower, the clocks are slower, and the temperature is lower).
  • another processor runs a software-controlled test to examine the performance of a chip and to determine if characteristics of the chip are changing over time.
  • the test includes running a performance test suite (e.g., a “Schmoo” test) to characterize operating conditions (e.g., temperature, voltage, clock-frequency) at which a chip can operate without producing errors at unacceptable rates.
  • a performance test suite e.g., a “Schmoo” test
  • operating conditions e.g., temperature, voltage, clock-frequency
  • software running on the CPU e.g., the graphics driver software
  • controls a test on at least part of the graphics processor when the corresponding portion of the graphics processor is not being utilized for other activities, thereby facilitating periodic adjustment of the operating conditions or parameters in response to the test results.
  • the present invention is readily adaptable to running the test at various times and/or in response to various events.
  • the test can be run during bootup, immediately after the screen saver turns on or off, or when the hardware observes an error. Characterization of the hardware operating conditions can be “hidden” in a driver download process (e.g., when done over the web), and a particularly extensive characterization could be done at driver download time.
  • a self test can be performed by the graphics processor, independent from the CPU and the driver.
  • the components of a present invention computer system are binned at several levels before shipment permitting even greater refinement of the field throttling activities. Binning the components facilitates compensation for deviations (e.g., different operation speeds) in component characteristics due to numerous variables that can impact component manufacturing (e.g., semiconductor fabrication processes).
  • the processor chips and memory chips are individually binned (e.g., into two or more speed categories) and then boards comprising a combination of processor chips and memory chips are binned on a board by board basis. This permits chip performance characteristics to be adjusted within finer tolerances associated with each binning group. It also permits creation of very high performance boards, which can be sold at higher process.
  • a per chip BIOS setting comprising a test suite that characterizes operating condition settings ranges for a particular board and chip combination can be programmed into the BIOS or non volatile memory (e.g., EPROM, flash ROM, EEROM, NVROM, etc.) at shipment.
  • the BIOS can include a model of how the chip is expected to degrade over time as a function of temperature, clock speed and voltage. If the test suite results indicate that the chip is degrading faster than acceptable reliability requirements, the present reliable performance maximizing system and method can reduce and/or cease the “overstressing” operational modes.
  • the BIOS-stored settings can include “tweak” factors or adjustments such as a trimmer (e.g., that adjusts the position of clock edges relative to data), a shaper (e.g., that adjusts pulse widths), and edge rate adjustments.
  • a trimmer e.g., that adjusts the position of clock edges relative to data
  • a shaper e.g., that adjusts pulse widths
  • edge rate adjustments e.g., edge rate adjustments.
  • the settings and model data are stored in the BIOS and the tests are hidden in drivers.
  • Another feature of the present invention is the ability to automatically run testing suites and adjust the factors stored in the BIOS in the field, if required.
  • the present invention is also readily expandable to factor hardware test results into operating condition or parameter adjustments (e.g., adjusting voltage, frequency, temperature, etc.).
  • hardware for self test within the chip periodically takes over use of the chip, generates input data, and analyzes output data.
  • input data will be pseudo-randomly generated, and output data analyzed by signature analysis.
  • a present invention temperature maintenance system includes a temperature sensor that senses the temperature of the processor.
  • This sensor can take the form of an on-chip diode and an off-chip voltage-to-temperature measuring device, the device being programmable to set an indicator when any of a plurality of temperature thresholds is crossed.
  • the adjustment can include automatically modulating the frequency of a clock signal associated with the processor. The frequency can be decreased (without software intervention) if the temperature rises beyond a predetermined value or the frequency can be increased to achieve greater performance if the temperature drops below the predetermined value. Voltage can be similarly increased or decreased in response to crossing a temperature threshold.
  • an interrupt can be generated that causes software to take additional actions to tune the clock frequency in response to temperature measurements.
  • Adjustments to the fan operations can also be made to increase cooling when required (e.g., temperature increases beyond predetermined values) or to run in a quiet mode when cooling is not required.
  • a processor can be configured to run in at least two modes, a quiet mode and a performance mode. In the quiet mode performance is reduced to minimize fan operation as much as possible. In performance mode the fan is directed to operate in a manner that facilitates achievement of maximum performance.
  • the present invention can control a variable fan to provide just enough cooling for a particular application while minimizing noise.
  • a driver can automatically select between the modes depending on the type of application programs that are running. Alternatively, a user can select the mode via a control panel.
  • the present invention provides temperature control via pulse width modulation of the clock signal.
  • a clock speed (e.g., clock signal frequency) adjustment circuit picks a variable amount of clock pulses out of 256 clock pulses and removes the rest. This allows an almost continuously variable average clock rate, and allows smooth transitions between clock frequencies. It is appreciated that the present invention can also utilize pulse width modulation to alter other operating conditions including controlling the duty cycle of component (e.g., a clock, a fan, etc).
  • FIG. 1 is a flow chart of graphics processor management method 100 , one embodiment of the present invention.
  • Graphics processor management method 100 facilitates enhanced processor performance with minimal impact to reliability by maintaining conservation of average processor lifetime.
  • the present invention directs adjustments in the characteristics or operating conditions of a processor (e.g., clock speed or frequency, voltage, temperature, etc.) in response to various criteria (e.g., proposed tasks, temperature measurements, detected errors, etc.).
  • graphics processor management method 100 enables the processor to increase performance for intensive information processing activities and conserve resources during tasks that do not require a large amount of information processing.
  • graphics processor management method 100 assists noise reduction by directing operations in a quiet mode. It is also appreciated that the present invention can be readily implemented in conjunction with a variety of processors (e.g., a central processing unit, etc.).
  • a desired processor management objective is selected.
  • the present invention is readily adaptable to a variety of objectives, including maximum performance, conservation of reliability, temperature regulation, power conservation and/or noise abatement (e.g., quiet mode).
  • the processor management objective is to obtain maximum performance with accurate results for a particular application task or type of task (e.g., graphics intensive tasks, three dimensional image rendering, etc.).
  • the processor management objective may also be to conserve lifetime operating reliability of the processor while providing accurate results for an application task or type of task (e.g., graphics minimal tasks, sleep mode, word processing, etc.).
  • the processor management objective includes maintenance of a relatively low processor temperature.
  • the processor management objective is to maintain relatively quiet operation.
  • the present invention is also readily adaptable for the inclusion of power conservation concerns.
  • an operating condition of a processor is analyzed.
  • the analysis includes an examination of processor performance.
  • the analysis can include determining the complexity of the task the processor is performing, the speed at which it is performing the task and the accuracy of the results (e.g., including the amount and/or type of errors).
  • the analysis includes an examination of the temperature of the processor.
  • the analysis includes examination of external component settings associated with the processor (e.g., a control setting for a cooling fan).
  • the operating condition results of the step 120 analysis are compared to operating conditions associated with the desired management objective from step 110 .
  • the processor performance e.g., at a particular time or for performance of a specific task
  • the speed e.g., clock signal frequency
  • the desired speed is indicated to be the maximum speed at which the processor can operate without introduction of an excessive error rate.
  • the desired speed can be predetermined value based upon the task being performed.
  • the analysis results from step 120 are compared to objectives associated with support components for the processor. For example, a comparison is made to values associated with running a support fan in quiet mode (e.g., is the control setting for the cooling fan within a quiet mode range).
  • the processor operating conditions are adjusted according to the desired objectives.
  • the frequency of a clock signal and voltage level of a power signal are adjusted (e.g., increased or decreased).
  • the magnitude and direction of the frequency and voltage adjustment corresponds to the desired objective from step 110 .
  • the desired objective is to obtain maximum performance with accurate results for a particular application task (e.g., graphics intensive tasks, three dimensional image rendering, etc.) then the frequency and voltage level can be increased (e.g., to a point just before errors begin to occur) for the performance of those specific application tasks.
  • a temperature operating condition of the processor is altered.
  • the temperature operating condition of a processor can be altered by changing a clock frequency, generating an interrupt that causes software to take additional actions, and/or directing a fan to provide more or less cooling.
  • a clock frequency can be increased for greater performance, wherein the increases continue until erroneous results are produced or until a specific temperature is reached, at which point the clock frequency can be reduced to a point at which the erroneous results do not occur or the temperature is at an acceptable level.
  • a fan can be instructed to adjust operations to provide greater cooling while the clock rate is increased. The fan adjustment can be limited by a noise factor restriction or the rate which the processor performs the task can be designated as having a higher priority than noise abatement and the fan operation is not limited by a noise factor.
  • a reliability maintenance test is performed.
  • a reliability maintenance test can include measuring a processor's degradation and comparing it to an acceptable degradation rate and if the measured values exceed the acceptable values the priority of the second management objective to maximize operating conditions can be lowered even further.
  • the second management objective can be changed so that it is active for even a smaller number of high performance tasks or it can be “turned off” (not implemented) until a subsequent reliability maintenance test indicates the processor is within an acceptable degradation rate.
  • adjustments are made to operating conditions of components other than a processor.
  • operating conditions of a memory are also adjusted.
  • a clock for a processor e.g., a core clock
  • a memory clock are independent and adjusted differently.
  • the adjustments can be coordinated to reach a desired objective. For example, depending upon detected error conditions or the type of processing occurring, the processor clock signal frequency can be increased and the memory clock signal frequency decreased or vise versa.
  • FIG. 2 is a block diagram of graphics processor adjustment system 200 , one embodiment of the present invention.
  • Graphics processor system 200 includes graphics processing unit (GPU) 210 , clock signal generator 220 , voltage source 230 , thermal sensor 240 and fan 270 .
  • Graphics processing unit 210 includes thermal diode 225 and processor management component 219 which comprises a fan control component 211 , clock control component 215 , voltage control component 217 and performance testing component 218 .
  • the processor management component 219 can also comprise software running on a CPU.
  • the graphics processing unit 210 generally also includes logic pipeline 213 for performing graphics rendering as know in the art, including, for example, geometry processing and pixel processing.
  • Graphics processing unit 210 is coupled to clock signal generator 220 , voltage source 230 , thermal sensor 240 and fan 270 . It is appreciated that components in the present invention can be implemented in hardware, software, firmware and/or combinations thereof. It is also appreciated that the present invention can be readily implemented in conjunction with a variety of processors (e.g., a central processing unit, etc.).
  • graphics processor adjustment system 200 cooperatively operate to provide graphics processor performance adjustment.
  • Graphics processing unit 210 performs processing tasks.
  • Clock signal generating unit 220 generates a clock signal 291 for GPU 210 .
  • clock signal generating unit 220 is included in GPU 210 (e.g., there is an external clock generator which is multiplied up by an internal programmable phase lock loop circuit).
  • Voltage source unit 230 generates a power signal 293 for GPU 210 .
  • Thermal sensor 240 senses temperatures associated with GPU 210 .
  • Fan 270 provides cooling air for GPU 210 .
  • Processor management component 219 controls the operating conditions of GPU 210 .
  • Performance testing component 218 periodically tests the performance of GPU 210 , and can be implemented with, for example: (i) a set of error checking circuits distributed at various points within the logic 213 ; (ii) pseudo-random number generator for creating input data; (iii) signature analysis logic for verifying a sequence of output values; (iv) software running on a CPU; (v) software running within the GPU 210 ; and/or (vi) external circuits that check outputs from the GPU.
  • Voltage control component 217 controls (e.g., via voltage control signal 292 ) the voltage level of the power signal 293 (e.g., within an envelope of settings or values determined by the performance testing component 218 ).
  • Clock control component 215 controls the frequency (or, average frequency a described above) of internal GPU clock signals (e.g., within an envelope of settings or values determined by the performance testing component 218 ).
  • the power signal voltage and the clock signal frequency are increased for high performance tasks and reduced for low performance tasks of GPU 210 .
  • adjustments to operating conditions are not necessarily made in response to every test result indication of an error occurring.
  • indications of a non critical error occurring in a logic 213 do not trigger an operating condition adjustment unless a predetermined unacceptable level of errors in the logic occurs.
  • error checking in a graphics pipeline may indicate a relatively few pixel errors that do not have an appreciable impact on visual perception of the graphics and thus an operation condition adjustment (e.g., decreasing a clock signal frequency) is not done at the low error rate.
  • an operation condition adjustment e.g., decreasing a clock signal frequency
  • a condition adjustment may be immediately done. Or, when one of these thresholds is crossed, a test can be performed to determine new operating conditions.
  • processor management component 219 determines that a high performance task (e.g., a three dimension graphics application task) or low performance task is being performed and instructs clock control component 215 to increase the clock signal frequency for high performance tasks and reduce the clock signal frequency for low performance tasks.
  • processor management component 219 can also instruct voltage control component 217 to increase the voltage level of power signal 293 for high performance tasks and reduce the voltage level for low performance tasks.
  • the processor management component 219 instructs the fan to adjust its operation to provide greater cooling capacity for high performance tasks and lesser cooling capacity for lower performance tasks.
  • the control signal to the fan can be communicated directly from a temperature sensing component (e.g., 240 ) or from the processing unit (e.g., from fan control component 211 ).
  • the performance nature (e.g., high or low, etc.) of a task may be determined by a variety of measures (e.g., user defined, defined by an application program executing the task, preprogrammed, etc.).
  • an operating condition e.g., the frequency of the clock signal and/or voltage level of a power signal
  • the processor management component 219 receives information on the type of application programs being run on the system, and then determines how to set various operating conditions for the GPU 210 .
  • the present invention is readily adaptable to embodiments comprising components for providing a plurality of similar operating condition controls.
  • the present invention includes multiple voltage sources and clock signal generators with respective voltage control components and clock control components.
  • a plurality of voltages and clock signals are provided to different parts of the processor.
  • processor management component 219 can receive testing inputs from other components (e.g., a memory ECC component, a driver test component) and utilize this information in directing operating condition changes.
  • testing may be performed on a relatively frequent basis and operating condition adjustments implemented less frequently based upon a predetermined number of unacceptable errors occurring.
  • the type of error e.g., a critical CPU error versus a GPU pixel error
  • processor management component 219 can direct other components (e.g., an external circuit, an external fan controller, etc.) to make adjustments in an operating condition.
  • performance testing component 218 There are a variety of tests that can be implemented by performance testing component 218 to determine if the processor is failing.
  • the tests determine a maximum operating condition (e.g., voltage level, clock frequency, temperature or combination thereof) and a minimum operating condition at which graphics processing unit 210 begins to fail.
  • an operating condition is altered and then performance testing component 218 directs the processor to perform an operation and runs a diagnostic suite. For example, if a graphics process renders bad or erroneous pixel information the performance component 218 can detect it. The contents of a memory location storing the rendered pixel information is checked after a graphics process is performed and compared to correct image information.
  • test suite is run on state transitions (e.g., power up, power savings mode, speed transition, when an application is started, etc.).
  • a test initiation program is running in the background looking for an indication of a problem (e.g., a fatal error, strange error, predetermined type of error, etc.).
  • the test initiation program running in the background during an image rendering operation tracks data anomalies during error checking (e.g., a string of errors) and initiates a performance test suite if certain types of anomalies occur.
  • graphics processor adjustment system 200 also includes a memory for storing instructions for the processor management component 219 .
  • the memory stores test suite instructions for performance testing component 218 .
  • the test suite instructions and models of processor characteristics are included in a basic input output system (BIOS).
  • the test suite instructions can be based upon binning of the graphics processor unit and the memory on an individual and combined board basis.
  • FIG. 6 is an illustration of one exemplary implementation of a binning process 600 utilized to bin graphics processors and memory in one embodiment of the present invention.
  • the GPUs in bin 610 are tested and the memories in bin 620 are tested.
  • the fast GPUs and fast memories are sorted into bins 611 and 621 respectively and then combined on a board and placed in fast board bin 650 .
  • the slow GPUs and slow memories are sorted into bins 612 and 622 respectively and then combined on a board and placed in slow board bin 670 .
  • the fast boards in bin 650 are tweaked and placed in a tweaked fast board group (e.g., 651 or 652 ).
  • the slow boards are tweaked and placed in a tweaked slow board group (e.g., 653 ). In an alternate embodiment, the slow boards are not tweaked.
  • FIG. 7A illustrates an edge rate adjustment to clock signal 710 in accordance with one embodiment of the present invention.
  • Signal 710 has a slow silicon clock signal edge 711 before the edge rate adjustment and signal 710 has a fast silicon clock signal edge 712 after the adjusting.
  • the edge rate adjustment includes adjustments to a number of drivers utilized to drive the signal. For example, more drivers are turned on or enabled to increase the slope of the clock signal (e.g., clock signal edge 711 ) and achieve a “faster” signal.
  • FIG. 7B illustrates a trimmer adjustment to clock signal 720 in accordance with one embodiment of the present invention.
  • the clock signal 720 is moved relative to a data window 723 associated with a transition in data signal 722 .
  • the clock signal 720 is adjusted to be in the middle of the data window 723 .
  • FIG. 7C is an illustration of a shaper adjustment to clock signal 730 in accordance with one embodiment of the present invention.
  • the shaper adjustment includes varying the duration of a low pulse in the clock signal.
  • the clock transition edge 731 is held “fixed” and the clock transition edge 732 is moved relative to edge 731 .
  • the adjustment factors utilized in the binning process can be loaded into the BIOS and also utilized in changing operating conditions.
  • a present invention temperature maintenance system includes a temperature sensor that senses the temperature of the processor.
  • This sensor can take the form of an on-chip diode (e.g., 225 ) and an off-chip voltage-to-temperature measuring device (e.g., 240 ), the device being programmable to set an indicator when any of a plurality of temperature thresholds is crossed.
  • an on-chip diode e.g., 225
  • an off-chip voltage-to-temperature measuring device e.g., 240
  • the frequency can be decreased (e.g., without software intervention) if the temperature rises beyond a predetermined value or the frequency can be increased to achieve greater performance if the temperature drops below the predetermined value.
  • FIG. 10A is a graphical illustration of an exemplary increase and decrease in temperature of a processor over time
  • FIG. 10B is a graphical illustration of an exemplary corresponding adjustment in an average clock signal frequency. For example, when the temperature of the processor reaches a temperature threshold value 1050 at time 1075 a corresponding adjustment decreasing the clock frequency is implemented at time 1075 . Voltage levels can be similarly increased or decreased in response to crossing a temperature threshold.
  • a set of fan control rules direct adjustments associated with a fan.
  • the fan control rules can be utilized to achieve a various objectives by providing multiple sets of fan control rules.
  • a set of fan control rules can be utilized to control temperature.
  • a set of fan control rules can direct a fan to provide additional cooling when a temperature sensor senses an increase in a processor temperature and reduce fan cooling operations when a temperature sensor senses a decrease in a processor temperature.
  • a different set of fan control rules can be utilized for different operational modes (e.g., performance mode and quiet mode).
  • the set of fan rules can include directions to adjust cooling provided by a fan, but to have the fan continuously running.
  • quiet mode a set of fan control rules can direct fan to be turned off unless a threshold temperature is crossed.
  • an interrupt can be generated in response to a temperature measurement.
  • the interrupt can cause software to take additional actions to tune the clock frequency in response to temperature measurements.
  • the adjustment can include automatically modulating the frequency of a clock signal associated with the processor.
  • a pulse width modulation (PWM) control can be implemented in which multiple clock speeds are provided within a defined period. For example, a period of 64 microseconds is divided into 256 pulse intervals and for a portion of the 256 pulses the clock is run at a faster speed relative to the remaining portion of 256 pulses. This allows an almost continuously variable clock rate and smooth transitions between clock frequencies.
  • PWM pulse width modulation
  • the clock frequency is initially cut to a fraction (e.g., 1 ⁇ 2, 1 ⁇ 4, etc,.) of its nominal frequency upon the indication of a temperature problem and then a transition is made to a pulse width modulation control within a relatively quick time frame.
  • a fraction e.g., 1 ⁇ 2, 1 ⁇ 4, etc,.
  • the ability to select between a variety of fractional frequencies and/or pulse width modulation settings permits adjustments to meet performance requirements.
  • the present invention also facilitates adjustments to external components that impact processor operating conditions. Adjustments to the fan operations can also be made to increase cooling when required (e.g., temperature increases beyond predetermined values).
  • a temperature sensing component e.g., 240 , 225 , etc
  • a temperature response mechanism controls the temperature of the graphics processing unit. For example, the temperature is maintained within ranges according to performance and reliability maintenance requirements.
  • the temperature response mechanism includes a clock frequency control mechanism (e.g., clock control component 215 ) which adjusts the frequency of a clock signal (e.g., 291 ) supplied to the graphics processing unit in response to the junction temperature.
  • the temperature response mechanism includes a voltage level control mechanism (e.g., voltage control component 217 ) which adjusts the voltage level of a power signal supplied to the graphics processing unit in response to the junction temperature.
  • the fan control mechanism adjusts the operation of the fan (e.g., fan 270 ) in accordance with instructions from the temperature response mechanism based upon the junction temperature.
  • thermal diode 225 can be communicatively coupled to thermal sensor 240 by communication bus 294 .
  • Communication bus 294 can include a temperature indication signal that indicates a temperature condition of GPU 210 .
  • Thermal sensor 240 can be communicatively coupled to GPU 210 (e.g., to fan control component 211 ) by communication bus 295 .
  • Communication bus 295 can communicate a thermal indication signal. When the thermal indication signal is asserted the measures are taken to cool down the processor (e.g., a clock frequency is reduced, a software interrupt is initiated, fan operations are adjusted to increase cooling, etc.).
  • communication bus 295 is also utilized to program thermal sensor 240 .
  • thermal sensor 240 can control the fan via communication bus 297 or alternatively fan control component 211 can control the fan via communication bus 299 .
  • the communication buses utilized in thermal control can include a variety of implementations (e.g., I 2 C, SMBus, etc.).
  • FIG. 3 is a flow chart of processor performance enhancement and reliability balancing method 300 , a method in accordance with one embodiment of the present invention.
  • Processor performance enhancement and reliability balancing method 300 facilitates operation of a processor at maximum performance for processing intensive tasks and conservation of processor resources during other tasks.
  • processor performance enhancement and reliability balancing method 300 allows a processor to exceed nominal operating conditions (e.g., nominal frequency and voltage) for complex tasks and operate below nominal operating conditions for other tasks.
  • nominal operating conditions e.g., nominal frequency and voltage
  • step 310 processor performance is tested.
  • the task the processor is engaged in is identified and the accuracy of the results are examined. For example, actual results of the processing are tested against expected results.
  • the error rate of processing results is identified and if the error rate exceeds a predetermined value the performance is considered failing. If the processor performance test is passed the process jumps to step 330 . If the processor performance test is failed the process proceeds to step 320 .
  • test suite instructions in response to results of a self test operation. For example, if a hardware test (e.g., a built in self test) indicated a problem (e.g., a significant error, an excessive amount of errors, a recurring error, etc.) the test suite instructions can be altered to run upon the detection of such an event, or run more frequently, and/or perform a particular type of test suite.
  • a hardware test e.g., a built in self test
  • a problem e.g., a significant error, an excessive amount of errors, a recurring error, etc.
  • An adjustment is made to reduce a failure rate in step 320 .
  • the processor returns to a prior operating condition setting if the processor fails the testing. For example, a clock frequency setting and voltage level setting return (e.g., are decreased) to a value at which the processor operates properly.
  • step 340 operating condition settings are adjusted for a high performance task. For example, the voltage level of a power signal to the processor is increased if the processor passes the testing. The clock frequency of the processor can also be adjusted if the processor passes the testing. In one exemplary implementation, operations of a cooling fan are adjusted to provide additional cooling. In one embodiment of the present invention, reliability limitations are factored into the adjustments for high performance tasks.
  • a reliability limitation determination process is utilized to factor in reliability limitations on operating condition setting adjustments for a high performance task.
  • a processor has predefined reliability constraints that define limitations on the percentage of time that a processor operates at a high performance setting compared to a low performance setting. If the processor begins to exceed the percentage of time permitted for high performance settings the adjustment to the high performance settings is prevented until the relative percentage of time at high performance and low performance conforms to the predetermined values.
  • step 350 operating condition settings are adjusted for a low performance task. For example, the voltage level of a power signal and frequency of a clock signal to the processor are decreased. In one exemplary implementation, operations of a cooling fan are adjusted to produce less noise (e.g., run in quiet mode).
  • FIG. 8 is a block diagram of computer system 800 , one embodiment of a computer system upon which the present invention is implemented.
  • Computer system 800 includes communication bus 890 , central processor unit 801 , main memory 802 (e.g., random access memory), chip set 803 with north bridge 809 and south bridge 805 , removable data storage device 804 , input device 807 , signal communications port 808 , and graphics subsystem 810 which is coupled to display 820 .
  • Communication bus 890 couples chipset 803 to central processor unit 801 , main memory 802 , removable data storage device 804 , input device 807 , signal communications port 808 and graphics subsystem 810 .
  • Graphics subsystem 810 includes graphics processor 811 , BIOS 819 and graphics buffers 815 and 817 .
  • graphics processor 811 is included in north bridge 809 .
  • present invention processor performance adjustment systems and methods e.g., similar to graphics processor management method 100 , graphics processor adjustment system 200 , processor performance enhancement and reliability balancing method 300 , etc. are utilized to control operations associated with central processing unit 801 and graphics processing unit 811 .
  • Communications bus 890 communicates information
  • central processor 801 processes information and engages processor operating condition adjustments
  • main memory 802 stores information and instructions for the central processor 801 .
  • Removable data storage device 804 also stores information and instructions (e.g., functioning as a large information reservoir).
  • Input device 806 provides a mechanism for inputting information and/or for pointing to or highlighting information on display 820 .
  • Signal communication port 808 provides a communication interface to exterior devices (e.g., an interface with a network).
  • Display device 809 displays information in accordance with data stored in graphics buffers 815 and 817 .
  • Graphics processor 811 processes graphics commands from central processor 801 and provides the resulting data to graphics buffers 815 and 817 for storage and retrieval by display monitor 820 . Graphics processor 811 also engages in present invention processor operating condition adjustments.
  • graphics subsystem 810 is hot plugable and the system generates interrupts that can automatically slow down or speed up the system if a power connector (e.g., a power from a hard disk connector) is coupled or uncoupled to graphics subsystem 810 .
  • a power connector e.g., a power from a hard disk connector
  • central processor 801 and graphics processor 811 process instructions associated with the present invention (e.g., instructions associated with graphics processor management method 100 , graphics processor adjustment system 200 , processor performance enhancement and reliability balancing method 300 , etc.).
  • Instructions and data (e.g., computer readable code, etc.) associated with the present invention can be stored on a computer readable medium (e.g., a memory of computer system 800 ).
  • graphics subsystem 810 also includes memory.
  • FIG. 4 is a flow chart of processor performance limitation testing method 400 , a processor performance limitation testing method in accordance with one embodiment of the present invention.
  • Processor performance limitation testing method 400 tests processor operating condition or characteristic value limits at which the processor begins to provide unacceptable error rates in processing results.
  • processor performance limitation testing method 400 provides an indication of maximum and minimum clock frequency, voltage level and temperature value combinations at which the processor begins to fail (e.g., produces unacceptable error rates).
  • Processor performance limitation testing method 400 can be utilized in determining adjustments made in graphics processor management method 100 or the determination of operating condition adjustments by processor management component 219 .
  • step 410 the voltage level of a power supply signal supplied to a processor is adjusted. For example, the voltage level is increased or decreased by a predetermined amount. In one embodiment of the present invention, an indication of the desired adjustment is provided by a performance testing component (e.g., performance testing component 218 ).
  • a performance testing component e.g., performance testing component 218
  • the frequency of a clock signal that clocks the processor is altered. For example, the frequency is increased or decreased by a predetermined amount.
  • an indication of the desired adjustment is provided by a performance testing component (e.g., performance testing component 218 ).
  • the temperature of the processor is manipulated.
  • the temperature of the processor is manipulated by controlling fan operations. For example, the temperature of the processor is lowered by directing the fan operations to provide more cooling.
  • step 440 a determination is made to identify combinations of voltage level values of the power signal, processor temperature readings and frequency values of the clock signal at which the performance of the processor begins to fail.
  • a hardware self test is run and results are factored into the determination of combinations of voltage level values of the power signal and frequency values of the clock signal.
  • FIG. 5 is a flow chart of processor temperature compensation method 500 , one embodiment of the present invention.
  • temperature compensation method 500 regulates the temperature of a processor.
  • the temperature of the processor is regulated according to a variety of objectives. For example, the temperature may be maintained at below a predetermined amount for low performance tasks and permitted to reach a higher level for high performance tasks or when operating in a quiet mode.
  • Temperature compensation method 500 facilitates achievement of maximum performance while minimizing the probabilities of chip destruction and/or glitches (e.g., hanging up on processing tasks).
  • Processor temperature compensation method 500 can be utilized in determining adjustments made in graphics processor management method 100 or the determination of operating condition adjustments by processor management component 219 .
  • the temperature of a processor is sensed.
  • an on-die thermal diode placed near the pads and/or an external thermal sensor or monitor are utilized to sense the temperature.
  • the thermal monitor is programmed by the processor through a communication bus (e.g., an I 2 C bus).
  • the present invention is readily adaptable to a variety of temperature sensing rates or frequencies (e.g., once every 15.5 ms).
  • the temperature sensor can be programmed for a variety of external temperature limits with corresponding hysteresis settings.
  • the temperature sensor can be programmed to filter alarm readings. For example, an alarm signal is activated after a programmed amount of consecutive over temperature readings occur. This facilitates the minimization of software interruptions overburdening the processor.
  • the temperature sensor or monitor can be included in the same semiconductor chip as the processor (e.g., a CPU, GPU, etc.).
  • a change is made to an operating condition of the processor.
  • the clock speed of said processor is adjusted if the temperature is outside a predetermined range. For example, the clock speed is decreased if an over-temperature condition occurs (e.g., the temperature is above a predetermined value). In one embodiment of the present invention, the clock speed is reduced by a predetermined factor (1 ⁇ 2, 1 ⁇ 4, 1 ⁇ 8, etc). It is appreciated that a thermal slowdown can be programmed to be enabled never, only when an over temperature condition occurs or all the time regardless of the actual thermal input.
  • the thermal control is coordinated with performance control. In one exemplary implementation, the thermal control of the clock can be ignored and the clock slowed continuously during the low performance tasks if the performance control indicates the clock should be slowed for low performance tasks.
  • a clock frequency slowdown is controlled to be in affect for a programmable portion of time using pulse a width modulation scheme.
  • the time period of the pulse width modulation is 64 microseconds.
  • a clock signal can operate for full speed for 32 microseconds and then some fractional speed (e.g., 1 ⁇ 2, 1 ⁇ 4, etc.) for the remaining 32 microseconds. This produces a reduced effective clock frequency (e.g., 75% of normal if the slowdown factor is 2 ⁇ ).
  • a software interrupt can be issued in response to the temperature sensing in step 510 .
  • the software interrupt is generated when the thermal state changes.
  • the interrupt can be generated with respect to the alert signal (e.g., on the rising edge, falling edge, both edges, etc.).
  • the processor can be programmed not to generate a software interruption response to a thermal alert. Programming the amount of consecutive over temperature readings that occur before an alert facilitates the minimization of software interrupt generation rate from being an excessive burden on the processor.
  • fan operation is adjusted if the temperature is within predetermined ranges.
  • the fan operation can be controlled to provide increased cooling if the temperature is above a predetermined value.
  • the fan operation can be controlled to operate more quietly if the temperature is below a designated value.
  • a processor is operated in various noise regulated modes.
  • a processor noise regulation method is utilized to control fan operations associated with cooling the processor.
  • a determination is made whether to run the processor in quiet mode or performance enhancement mode.
  • the decision regarding which mode to operate in can be triggered by a variety of factors. For example, a user can provide an indication of a selected mode (e.g., via a user interface) or the decision can be based upon the task the processor is performing (e.g., select quiet mode for low performance tasks).
  • An adjustment is made to fan operations based upon the selection of a quiet mode or a performance enhancement mode. For example, fan operations are adjusted to run more quietly if the quiet mode is selected and provide greater cooling capacity if the performance mode is selected.
  • the processor noise regulation method can be utilized in determining adjustments made in graphics processor management method 100 or the determination of operating condition adjustments by processor management component 219 .
  • FIGS. 11A and 11B are graphical illustrations of exemplary adjustments in a clock signal frequency and a power signal voltage level of a processor operating in performance mode constrained by exemplary corresponding temperature changes illustrated in FIG. 11C .
  • the processor enters enhanced performance mode, and the clock signal frequency and power signal voltage level are increased.
  • the processor enters a low performance mode, and the clock signal frequency and power signal voltage level are decreased.
  • the example of FIG. 11C also shows the clock frequency adjusted at time 70 in response to test results (e.g., tests indicating errors are beginning to occur) or error detection within the logic.
  • the present invention facilitates enhanced processor performance with minimal impact to reliability by maintaining conservation of average processor lifetime. This is a significant advantage over previous operating condition adjustment implementations which do not run a processor at its full performance potential.
  • the present invention assists a processor to provide increased user satisfaction for advanced processing applications and enables reduction of unpleasant noise during reduced processing application.
  • a present processor performance adjustment system and method also provides safeguards to facilitate preservation of processor reliability for an anticipated life span of the processor.

Abstract

The present invention performance enhancement and reliability maintenance system and method pushes a processor to its maximized performance capabilities when performing processing intensive tasks (e.g., 3D graphics, etc). For example, a clock speed and voltage are increased until an unacceptable error rate begins to appear in the processing results and then the clock speed and voltage are backed off to the last setting at which excessive errors did not occur, enabling a processor at its full performance potential. The present invention also includes the ability to throttle back settings which facilitates the maintenance of desired reliability standards. The present invention is readily expandable to provide adjustment for a variety of characteristics in response to task performance requirements. For example, a variable speed fan that is software controlled can be adjusted to alter the temperature of the processor in addition to clock frequency and voltage.

Description

    RELATED APPLICATIONS
  • This application is a continuation of and claims the benefit of application Ser. No. 10/295,619 entitled PROCESSOR PERFORMANCE ADJUSTMENT SYSTEM AND METHOD, (Attorney docket number NVID-P000620) filed on Nov. 14, 2002, which is incorporated herein by this reference.
  • FIELD OF THE INVENTION
  • The present invention relates to the field of processor operation. More particularly, the present invention relates to a system and method for adjusting graphics processor performance.
  • BACKGROUND OF THE INVENTION
  • Electronic systems and circuits have made a significant contribution towards the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Numerous electronic technologies such as digital computers, calculators, audio devices, video equipment, and telephone systems facilitate increased productivity and cost reduction in analyzing and communicating data, ideas and trends in most areas of business, science, education and entertainment. Frequently, these activities involve significant information processing. However, the speed at which a processor can reliably provide accurate results is limited and typically degrades over time. Most systems limit processor operation within conservative boundaries and sacrifice possible increased performance so that the processor can meet reliability standards.
  • Advanced applications are creating ever greater demands for faster processor performance. For example, the desired objective of numerous applications is to provide a visual presentation to a user (e.g., on a display monitor). Displaying information in a visual presentation is usually a convenient and effective method of conveying the information. Display devices (cathode ray tube monitors, liquid crystal displays, etc.) usually present images by coordinating the illumination characteristics of numerous picture elements (pixels). However, many graphics presentations, especially interactive 3D graphics presentations, usually require significant processing of large amounts of data at a rapid rate. Providing image information for each pixel is very data intensive and consumes a significant amount of processing resources. Advanced graphics applications such as three dimensional graphics utilized in modern gaming applications require significant amounts of information associated with each pixel (e.g., primary color intensity, transparency, brightness, texture and shading) to be produced at rates fast enough to provide a smooth and interactive presentation.
  • Graphics information generation is often best performed by dedicated graphics subsystem resources including graphics processor units. Separate graphics processors relieve the central processor of performing many of the graphics processing tasks. Graphics processors are usually specifically configured for performance of graphics activities enabling a graphics processor to perform many graphics operations faster and more efficiently than a central processor.
  • The amount of information and speed at which it is processed by a processor is determined by a variety of factors. For example, the number of transistors and their configuration on the chip usually affect the bandwidth and speed at which the processing can occur. Generally, a larger number of transistors can process information quicker than a smaller number of transistors operating at the same clock frequency. However, at some point increasing the number of transistors becomes cost prohibitive. Another factor that affects the processing speed is the clock frequency. A processor typically performs operations in a sequence of events (e.g., fetching, decoding and executing instructions), the order and timing of which are usually critical. A processor typically relies upon a clock signal to provide appropriate synchronization and satisfy requisite timing constraints. However, increasing the clock frequency is often limited by the characteristics of the transistors utilized to perform the processing. Higher voltages can be used to sustain operations at a higher clock frequency, and higher clock frequencies and voltage supplies cause a processor to consume more power, thereby increasing the temperature of the processor. However, higher temperatures generally cause transistors to operate more slowly, causing a lower operational transistor speed. Continually Running a processor at a high temperature stresses the semiconductor device and reduces long term reliability of the device.
  • The basic electronic component for performing most of the switching operations in a processor is a transistor. There are a number of factors that can affect the degradation of a transistor's ability to quickly and reliably perform switching operations. For example, the drain current saturation (Id,sat) is one of the underlying physical mechanisms involved in transistor switching operations and is often utilized to indicate how fast a transistor can perform switching operations. The drain current saturation rating of a transistor can be adversely impacted by the temperature and voltage level at which the transistor is operating, causing deterioration in the transistor switching speed. These limitations impact maximum clock frequencies since transistor reliability is often degraded by increased voltage levels and temperatures associated with relatively high clock frequencies.
  • Most processors are identified by a particular fixed nominal clock frequency at which the processor is expected to provide reliable results over a specific life span (e.g., 10 years). Numerous systems operate the processor at the fixed nominal clock frequency continuously for the life of the processor even though a task does not require the level of processing speed provided by the fixed nominal clock frequency. The fixed nominal frequency is typically not the fastest frequency the processor can possibly operate at and resource utilization is not maximized. To the extent traditional processing systems attempt clock frequency adjustment, they are usually limited to downward adjustments from the fixed nominal clock frequency to achieve power conservation, further limiting the maximization of processor performance speed. Some traditional processing systems also attempt to make various adjustments in response to temperature measurements. These attempts are also typically limited in scope (such as a single specific adjustment) and usually have limited or no consideration for impacts on processing performance (e.g., maximized processing speed) or environment (e.g., noise level). Traditional attempts at processor control typically have limited or no consideration for impacts of frequency, voltage and/or temperature adjustments on maximizing performance while maintaining overall lifetime reliability.
  • SUMMARY
  • The present invention facilitates enhanced processor performance with minimal impact to reliability by maintaining conservation of average processor lifetime. The performance enhancement and reliability maintenance system and method of the present invention pushes a processor to its maximized performance capabilities when processing intensive tasks (e.g., 3D graphics, etc) are performed. For example, a clock signal frequency and power signal voltage are increased until an unacceptable error rate begins to appear in the processing results and then the clock signal frequency and power signal voltage are backed off to the last setting at which excessive errors did not occur. The voltage should not be set to a level high enough to cause catastrophic failure. The present invention is readily expandable to provide adjustment for a variety of operating conditions (e.g., voltage, frequency, temperature) in response to task performance requirements. The present invention also includes the ability to throttle back settings which facilitate the maintenance of desired reliability standards. The periods at which the processor is “overstressed” are averaged with the periods at which it is “under-stressed” to provide an acceptable mean time to processor life failure.
  • In one embodiment, a test (e.g., an auto self test) is run to examine the performance of a chip and to determine if characteristics of the chip are changing over time. In one exemplary implementation, the auto self test includes running a performance test suite (e.g., a “Schmoo” test) to characterize operating conditions (e.g., temperature, voltage, clock-frequency) at which a chip can operate without producing errors at unacceptable rates. The components of a present inventive computer system can also be binned at several levels before shipment permitting even greater refinement of the field throttling activities. This permits chip performance characteristics to be adjusted within finer tolerances associated with each binning group.
  • A set of per-chip settings can be generated by a test suite that characterizes processor performance for a variety of operating condition setting ranges for a particular board and chip combination, and these settings can be programmed into the BIOS at shipment, with each chip or board having its own sets of settings. In one embodiment, the BIOS can include a model of how the chip is expected to degrade over time as a function of temperature, clock speed and voltage. In another embodiment, the BIOS-stored settings can include “tweak” factors or adjustments such as a trimmer (e.g., that adjusts the position of clock edges relative to data), a shaper (e.g., that adjusts pulse widths), and edge rate adjustments. The present invention is also readily expandable to factor hardware self test results into operating condition or parameter adjustments (e.g., adjusting voltage, frequency, temperature, etc.).
  • DESCRIPTION OF THE DRAWINGS
  • The accompanying drawings, which are incorporated in and form a part of this specification, are included for exemplary illustration of the principles of the present and invention and not intended to limit the present invention to the particular implementations illustrated therein. The drawings are not to scale unless otherwise specifically indicated.
  • FIG. 1 is a flow chart of a graphics processor management method in accordance with one embodiment of the present invention.
  • FIG. 2 is a block diagram of a graphics processor adjustment system in accordance with one embodiment of the present invention.
  • FIG. 3 is a flow chart of a processor performance enhancement and reliability balancing method, a method in accordance with one embodiment of the present invention.
  • FIG. 4 is a flow chart of a processor performance limitation testing method in accordance with one embodiment of the present invention.
  • FIG. 5 is a flow chart of a processor temperature compensation method, one embodiment of the present invention.
  • FIG. 6 is an illustration of one exemplary implementation of a binning process utilized to bin graphics processors and memory in one embodiment of the present invention.
  • FIG. 7A illustrates an edge rate adjustment to a clock signal in accordance with one embodiment of the present invention.
  • FIG. 7B illustrates a trimmer adjustment to a clock signal in accordance with one embodiment of the present invention.
  • FIG. 7C is an illustration of a shaper adjustment to a clock signal in accordance with one embodiment of the present invention.
  • FIG. 8 is a block diagram of one embodiment of a computer system upon which the present invention is implemented.
  • FIG. 9A is one exemplary graphical representation illustrating “wasted performance” capabilities when operating a processor at a fixed clock frequency under potential maximum clock frequency values at which a processor can run at without errors
  • FIG. 9B is one exemplary graphical representation illustrating “enhanced” performance available by making clock frequency adjustments over time.
  • FIG. 10A is a graphical illustration of an exemplary increase and decrease in temperature of a processor over time.
  • FIG. 10B is a graphical illustration of an exemplary adjustment in a clock signal frequency corresponding to an exemplary increase and decrease in temperature of a processor over time.
  • FIG. 11A is a graphical illustrations of exemplary adjustments in a clock signal frequency of a processor operating in performance mode constrained by exemplary corresponding temperature changes in accordance with one embodiment of the present invention.
  • FIG. 11B is a graphical illustrations of exemplary adjustments in a power signal voltage level of a processor operating in performance mode constrained by exemplary corresponding temperature changes in accordance with one embodiment of the present invention.
  • FIG. 11C is a graphical illustration of exemplary temperature changes in a processor in response to adjustments in clock frequency and voltage level in accordance with one embodiment of the present invention.
  • DETAILED DESCRIPTION
  • Reference will now be made in detail to the preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one ordinarily skilled in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the current invention.
  • Some portions of the detailed descriptions which follow are presented in terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means generally used by those skilled in data processing arts to effectively convey the substance of their work to others skilled in the art. A procedure, logic block, process, etc., is here, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps include physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, optical, or quantum signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
  • It should be borne in mind, however, that all of these and similar terms are associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present application, discussions utilizing terms such as “processing”, “computing”, “calculating”, “determining”, “displaying” or the like, refer to the action and processes of a computer system, or similar processing device (e.g., an electrical, optical, or quantum, computing device), that manipulates and transforms data represented as physical (e.g., electronic) quantities. The terms refer to actions and processes of the processing devices that manipulate or transform physical quantities within a computer system's component (e.g., registers, memories, other such information storage, transmission or display devices, etc.) into other data similarly represented as physical quantities within other components.
  • The present invention facilitates enhanced processor performance with minimal impact to reliability by maintaining conservation of average processor lifetime. The present invention directs adjustments in the characteristics or operating conditions of a processor (e.g., clock speed, voltage, temperature, etc.) in response to various criteria (e.g., proposed tasks, temperature measurements, detected errors, etc.). While the present invention is readily adaptable to accommodate maximization of a single objective, the more sophisticated implementations include adjustments directed at balancing several objectives. For example, an implementation in which adjustments are made to provide maximized performance (e.g., increase clock frequency and voltage) for complex tasks involving intensive processing (e.g., three dimensional graphics, video games, etc.) and other adjustments (e.g., decreases in clock frequency and voltage) are made to provide resource conservation when relatively less complex tasks (e.g., word processing, sleep mode, etc.) are performed.
  • The performance enhancement and reliability maintenance system and method of the present invention pushes a processor to its maximized performance capabilities when processing intensive tasks (e.g., 3D graphics, etc) are performed. For example, a clock speed and/or voltage are increased until an unacceptable error rate begins to appear in the processing results and then the clock speed and voltage are backed off to the last setting at which excessive errors did not occur. This is a significant advantage over previous voltage and/or clock speed adjustment implementations which do not run a processor at its full performance potential. FIG. 9A is one exemplary graphical representation illustrating “wasted performance” capabilities 910 under the curve 905 of maximum clock frequency values at which a processor can run at without errors when a processor is run at fixed clock frequency 920 that yields a 10 year “life span” of reliable performance. FIG. 9B is one exemplary graphical representation illustrating “enhanced” performance available by making clock frequency adjustments (e.g., 970) over time. The present invention is readily expandable to provide adjustment for a variety of operating conditions in response to task performance requirements. For example, a variable speed fan that is software controlled can be adjusted to alter the temperature of the processor in addition to alterations to a clock signal frequency or power signal voltage.
  • The present invention also includes the ability to throttle back settings which facilitates the maintenance of desired reliability standards. The periods at which the processor is “overstressed” are averaged with the periods at which it is “under-stressed” to provide an acceptable mean time to processor life failure. This technique allows the hardware to be run at a higher voltage than the semiconductor manufacturer's maximum specified voltage. In one embodiment, increased degradation of the chip during high performance settings is offset by slower degradation when the chip is not run in high performance mode (e.g., when the voltage is lower, the clocks are slower, and the temperature is lower).
  • In one embodiment, another processor runs a software-controlled test to examine the performance of a chip and to determine if characteristics of the chip are changing over time. In one exemplary implementation, the test includes running a performance test suite (e.g., a “Schmoo” test) to characterize operating conditions (e.g., temperature, voltage, clock-frequency) at which a chip can operate without producing errors at unacceptable rates. For example, for a system with a CPU coupled to a graphics processor, software running on the CPU (e.g., the graphics driver software) controls a test on at least part of the graphics processor (when the corresponding portion of the graphics processor is not being utilized for other activities), thereby facilitating periodic adjustment of the operating conditions or parameters in response to the test results. The present invention is readily adaptable to running the test at various times and/or in response to various events. For example, the test can be run during bootup, immediately after the screen saver turns on or off, or when the hardware observes an error. Characterization of the hardware operating conditions can be “hidden” in a driver download process (e.g., when done over the web), and a particularly extensive characterization could be done at driver download time. In an alternate embodiment, a self test can be performed by the graphics processor, independent from the CPU and the driver.
  • The components of a present invention computer system are binned at several levels before shipment permitting even greater refinement of the field throttling activities. Binning the components facilitates compensation for deviations (e.g., different operation speeds) in component characteristics due to numerous variables that can impact component manufacturing (e.g., semiconductor fabrication processes). The processor chips and memory chips are individually binned (e.g., into two or more speed categories) and then boards comprising a combination of processor chips and memory chips are binned on a board by board basis. This permits chip performance characteristics to be adjusted within finer tolerances associated with each binning group. It also permits creation of very high performance boards, which can be sold at higher process. For example, a per chip BIOS setting comprising a test suite that characterizes operating condition settings ranges for a particular board and chip combination can be programmed into the BIOS or non volatile memory (e.g., EPROM, flash ROM, EEROM, NVROM, etc.) at shipment. In one embodiment, the BIOS can include a model of how the chip is expected to degrade over time as a function of temperature, clock speed and voltage. If the test suite results indicate that the chip is degrading faster than acceptable reliability requirements, the present reliable performance maximizing system and method can reduce and/or cease the “overstressing” operational modes. The BIOS-stored settings can include “tweak” factors or adjustments such as a trimmer (e.g., that adjusts the position of clock edges relative to data), a shaper (e.g., that adjusts pulse widths), and edge rate adjustments. In one exemplary implementation, the settings and model data are stored in the BIOS and the tests are hidden in drivers.
  • Another feature of the present invention is the ability to automatically run testing suites and adjust the factors stored in the BIOS in the field, if required. The present invention is also readily expandable to factor hardware test results into operating condition or parameter adjustments (e.g., adjusting voltage, frequency, temperature, etc.). For example, hardware for self test within the chip periodically takes over use of the chip, generates input data, and analyzes output data. Typically, for self test, input data will be pseudo-randomly generated, and output data analyzed by signature analysis.
  • The present invention also facilitates maintenance of a processor temperature within acceptable ranges that minimize overheating damage to the processor. In one embodiment, a present invention temperature maintenance system includes a temperature sensor that senses the temperature of the processor. This sensor can take the form of an on-chip diode and an off-chip voltage-to-temperature measuring device, the device being programmable to set an indicator when any of a plurality of temperature thresholds is crossed. When the temperature sensor senses the processor temperature approaching undesirable levels one or more adjustments are performed. For example, the adjustment can include automatically modulating the frequency of a clock signal associated with the processor. The frequency can be decreased (without software intervention) if the temperature rises beyond a predetermined value or the frequency can be increased to achieve greater performance if the temperature drops below the predetermined value. Voltage can be similarly increased or decreased in response to crossing a temperature threshold. In addition, an interrupt can be generated that causes software to take additional actions to tune the clock frequency in response to temperature measurements.
  • Adjustments to the fan operations can also be made to increase cooling when required (e.g., temperature increases beyond predetermined values) or to run in a quiet mode when cooling is not required. In one embodiment, a processor can be configured to run in at least two modes, a quiet mode and a performance mode. In the quiet mode performance is reduced to minimize fan operation as much as possible. In performance mode the fan is directed to operate in a manner that facilitates achievement of maximum performance. The present invention can control a variable fan to provide just enough cooling for a particular application while minimizing noise. In one exemplary implementation, a driver can automatically select between the modes depending on the type of application programs that are running. Alternatively, a user can select the mode via a control panel.
  • In one embodiment the present invention provides temperature control via pulse width modulation of the clock signal. For example, a clock speed (e.g., clock signal frequency) adjustment circuit picks a variable amount of clock pulses out of 256 clock pulses and removes the rest. This allows an almost continuously variable average clock rate, and allows smooth transitions between clock frequencies. It is appreciated that the present invention can also utilize pulse width modulation to alter other operating conditions including controlling the duty cycle of component (e.g., a clock, a fan, etc).
  • FIG. 1 is a flow chart of graphics processor management method 100, one embodiment of the present invention. Graphics processor management method 100 facilitates enhanced processor performance with minimal impact to reliability by maintaining conservation of average processor lifetime. The present invention directs adjustments in the characteristics or operating conditions of a processor (e.g., clock speed or frequency, voltage, temperature, etc.) in response to various criteria (e.g., proposed tasks, temperature measurements, detected errors, etc.). In one embodiment of the present invention, graphics processor management method 100 enables the processor to increase performance for intensive information processing activities and conserve resources during tasks that do not require a large amount of information processing. In one exemplary implementation, graphics processor management method 100 assists noise reduction by directing operations in a quiet mode. It is also appreciated that the present invention can be readily implemented in conjunction with a variety of processors (e.g., a central processing unit, etc.).
  • In step 110, a desired processor management objective is selected. The present invention is readily adaptable to a variety of objectives, including maximum performance, conservation of reliability, temperature regulation, power conservation and/or noise abatement (e.g., quiet mode). In one embodiment of the present invention, the processor management objective is to obtain maximum performance with accurate results for a particular application task or type of task (e.g., graphics intensive tasks, three dimensional image rendering, etc.). The processor management objective may also be to conserve lifetime operating reliability of the processor while providing accurate results for an application task or type of task (e.g., graphics minimal tasks, sleep mode, word processing, etc.). In one exemplary implementation of the present invention, the processor management objective includes maintenance of a relatively low processor temperature. In yet another exemplary implementation, the processor management objective is to maintain relatively quiet operation. The present invention is also readily adaptable for the inclusion of power conservation concerns.
  • In step 120, an operating condition of a processor is analyzed. In one embodiment of the present invention, the analysis includes an examination of processor performance. For example, the analysis can include determining the complexity of the task the processor is performing, the speed at which it is performing the task and the accuracy of the results (e.g., including the amount and/or type of errors). In one exemplary implementation, the analysis includes an examination of the temperature of the processor. In one embodiment of the present invention, the analysis includes examination of external component settings associated with the processor (e.g., a control setting for a cooling fan).
  • In step 130, the operating condition results of the step 120 analysis are compared to operating conditions associated with the desired management objective from step 110. In one embodiment of the present invention, the processor performance (e.g., at a particular time or for performance of a specific task) is compared to a desired processor performance level. For example, the speed (e.g., clock signal frequency) at which a processor is performing a task is compared to a desired speed for that task. In one exemplary implementation, the desired speed is indicated to be the maximum speed at which the processor can operate without introduction of an excessive error rate. In an alternate embodiment, the desired speed can be predetermined value based upon the task being performed. In one exemplary implementation, the analysis results from step 120 are compared to objectives associated with support components for the processor. For example, a comparison is made to values associated with running a support fan in quiet mode (e.g., is the control setting for the cooling fan within a quiet mode range).
  • In step 140, the processor operating conditions are adjusted according to the desired objectives. In one embodiment of the present invention, the frequency of a clock signal and voltage level of a power signal are adjusted (e.g., increased or decreased). The magnitude and direction of the frequency and voltage adjustment corresponds to the desired objective from step 110. For example, if the desired objective is to obtain maximum performance with accurate results for a particular application task (e.g., graphics intensive tasks, three dimensional image rendering, etc.) then the frequency and voltage level can be increased (e.g., to a point just before errors begin to occur) for the performance of those specific application tasks. If the desired objective is to conserve lifetime operating reliability of the processor during other specific low performance application tasks (e.g., graphics minimal tasks, sleep mode, word processing, etc.), then the frequency and voltage level can be reduced (e.g., to a point just before errors begin to occur and/or to a point where performance is sufficient for the task) during the performance of the specific low performance application tasks. In one embodiment of the present invention, a temperature operating condition of the processor is altered. For example, the temperature operating condition of a processor can be altered by changing a clock frequency, generating an interrupt that causes software to take additional actions, and/or directing a fan to provide more or less cooling.
  • It is appreciated that there are a variety of possible management objectives and corresponding operating condition alterations that are readily implemented by the present invention via numerous mechanisms. The present invention is readily adaptable to accommodate setting operating conditions to achieve multiple objectives with varying priority. In one exemplary implementation, changes in operating conditions are constrained by a combination of various factors including production of erroneous results, impact on lifetime reliability, actual temperature measurements, and noise levels. For example, a clock frequency can be increased for greater performance, wherein the increases continue until erroneous results are produced or until a specific temperature is reached, at which point the clock frequency can be reduced to a point at which the erroneous results do not occur or the temperature is at an acceptable level. In one embodiment, a fan can be instructed to adjust operations to provide greater cooling while the clock rate is increased. The fan adjustment can be limited by a noise factor restriction or the rate which the processor performs the task can be designated as having a higher priority than noise abatement and the fan operation is not limited by a noise factor.
  • The balancing of multiple management objectives with different priorities can occur in a variety of implementations. Exemplary implementations can include management objectives that change over time. For example, a first management objective of maintaining a predetermined level of reliability can have a fixed high priority. A second management objective of maximizing operating conditions (e.g., increase clock signal frequency, increase power signal voltage, direct fan operations to provide increased cooling, etc.) for high performance tasks can have a lower variable priority. In one embodiment of the present invention, a reliability maintenance test is performed. For example, a reliability maintenance test can include measuring a processor's degradation and comparing it to an acceptable degradation rate and if the measured values exceed the acceptable values the priority of the second management objective to maximize operating conditions can be lowered even further. Alternatively, the second management objective can be changed so that it is active for even a smaller number of high performance tasks or it can be “turned off” (not implemented) until a subsequent reliability maintenance test indicates the processor is within an acceptable degradation rate.
  • In one embodiment of the present invention, adjustments are made to operating conditions of components other than a processor. For example, in addition to making adjustments to a processor in step 140 operating conditions of a memory are also adjusted. In one exemplary implementation, a clock for a processor (e.g., a core clock) and a memory clock are independent and adjusted differently. Although adjusted differently (e.g., one increased and the other decreased) the adjustments can be coordinated to reach a desired objective. For example, depending upon detected error conditions or the type of processing occurring, the processor clock signal frequency can be increased and the memory clock signal frequency decreased or vise versa.
  • FIG. 2 is a block diagram of graphics processor adjustment system 200, one embodiment of the present invention. Graphics processor system 200 includes graphics processing unit (GPU) 210, clock signal generator 220, voltage source 230, thermal sensor 240 and fan 270. Graphics processing unit 210 includes thermal diode 225 and processor management component 219 which comprises a fan control component 211, clock control component 215, voltage control component 217 and performance testing component 218. The processor management component 219 can also comprise software running on a CPU. The graphics processing unit 210 generally also includes logic pipeline 213 for performing graphics rendering as know in the art, including, for example, geometry processing and pixel processing. Graphics processing unit 210 is coupled to clock signal generator 220, voltage source 230, thermal sensor 240 and fan 270. It is appreciated that components in the present invention can be implemented in hardware, software, firmware and/or combinations thereof. It is also appreciated that the present invention can be readily implemented in conjunction with a variety of processors (e.g., a central processing unit, etc.).
  • The components of graphics processor adjustment system 200 cooperatively operate to provide graphics processor performance adjustment. Graphics processing unit 210 performs processing tasks. Clock signal generating unit 220 generates a clock signal 291 for GPU 210. In one embodiment, clock signal generating unit 220 is included in GPU 210 (e.g., there is an external clock generator which is multiplied up by an internal programmable phase lock loop circuit). Voltage source unit 230 generates a power signal 293 for GPU 210. Thermal sensor 240 senses temperatures associated with GPU 210. Fan 270 provides cooling air for GPU 210. Processor management component 219 controls the operating conditions of GPU 210. Performance testing component 218 periodically tests the performance of GPU 210, and can be implemented with, for example: (i) a set of error checking circuits distributed at various points within the logic 213; (ii) pseudo-random number generator for creating input data; (iii) signature analysis logic for verifying a sequence of output values; (iv) software running on a CPU; (v) software running within the GPU 210; and/or (vi) external circuits that check outputs from the GPU. Voltage control component 217 controls (e.g., via voltage control signal 292) the voltage level of the power signal 293 (e.g., within an envelope of settings or values determined by the performance testing component 218). Clock control component 215 controls the frequency (or, average frequency a described above) of internal GPU clock signals (e.g., within an envelope of settings or values determined by the performance testing component 218). In one exemplary implementation, the power signal voltage and the clock signal frequency are increased for high performance tasks and reduced for low performance tasks of GPU 210.
  • In one embodiment of the present invention, adjustments to operating conditions are not necessarily made in response to every test result indication of an error occurring. In one exemplary implementation, indications of a non critical error occurring in a logic 213 (e.g., a graphics pipeline) do not trigger an operating condition adjustment unless a predetermined unacceptable level of errors in the logic occurs. For example, error checking in a graphics pipeline may indicate a relatively few pixel errors that do not have an appreciable impact on visual perception of the graphics and thus an operation condition adjustment (e.g., decreasing a clock signal frequency) is not done at the low error rate. When detected errors cross a threshold, or the rate of errors cross a threshold, a condition adjustment may be immediately done. Or, when one of these thresholds is crossed, a test can be performed to determine new operating conditions.
  • The determination of processing or operating condition adjustments by processor management component 219 includes various factors. In one embodiment of the present invention, processor management component 219 determines that a high performance task (e.g., a three dimension graphics application task) or low performance task is being performed and instructs clock control component 215 to increase the clock signal frequency for high performance tasks and reduce the clock signal frequency for low performance tasks. Processor management component 219 can also instruct voltage control component 217 to increase the voltage level of power signal 293 for high performance tasks and reduce the voltage level for low performance tasks. In one embodiment, the processor management component 219 instructs the fan to adjust its operation to provide greater cooling capacity for high performance tasks and lesser cooling capacity for lower performance tasks. The control signal to the fan can be communicated directly from a temperature sensing component (e.g., 240) or from the processing unit (e.g., from fan control component 211). The performance nature (e.g., high or low, etc.) of a task may be determined by a variety of measures (e.g., user defined, defined by an application program executing the task, preprogrammed, etc.). In one embodiment of the present invention, an operating condition (e.g., the frequency of the clock signal and/or voltage level of a power signal) is adjusted based upon user demanded performance. In another embodiment, the processor management component 219 receives information on the type of application programs being run on the system, and then determines how to set various operating conditions for the GPU 210.
  • The present invention is readily adaptable to embodiments comprising components for providing a plurality of similar operating condition controls. In one embodiment the present invention includes multiple voltage sources and clock signal generators with respective voltage control components and clock control components. In one exemplary implementation, a plurality of voltages and clock signals are provided to different parts of the processor. It is also appreciated that the present invention is readily implemented in systems in which various inputs are provided to processor management component 219 from other components and/or processor management component 219 provides direction to other components. For example, processor management component 219 can receive testing inputs from other components (e.g., a memory ECC component, a driver test component) and utilize this information in directing operating condition changes. As indicated above, testing may be performed on a relatively frequent basis and operating condition adjustments implemented less frequently based upon a predetermined number of unacceptable errors occurring. In one exemplary implementation, the type of error (e.g., a critical CPU error versus a GPU pixel error) is considered in addition to the number of errors before making an operating condition adjustment. In addition, processor management component 219 can direct other components (e.g., an external circuit, an external fan controller, etc.) to make adjustments in an operating condition.
  • There are a variety of tests that can be implemented by performance testing component 218 to determine if the processor is failing. In one embodiment of the present invention, the tests determine a maximum operating condition (e.g., voltage level, clock frequency, temperature or combination thereof) and a minimum operating condition at which graphics processing unit 210 begins to fail. In one exemplary implementation, an operating condition is altered and then performance testing component 218 directs the processor to perform an operation and runs a diagnostic suite. For example, if a graphics process renders bad or erroneous pixel information the performance component 218 can detect it. The contents of a memory location storing the rendered pixel information is checked after a graphics process is performed and compared to correct image information. In one embodiment the test suite is run on state transitions (e.g., power up, power savings mode, speed transition, when an application is started, etc.). In one embodiment, a test initiation program is running in the background looking for an indication of a problem (e.g., a fatal error, strange error, predetermined type of error, etc.). For example, the test initiation program running in the background during an image rendering operation tracks data anomalies during error checking (e.g., a string of errors) and initiates a performance test suite if certain types of anomalies occur. In one embodiment, graphics processor adjustment system 200 also includes a memory for storing instructions for the processor management component 219. For example, the memory stores test suite instructions for performance testing component 218.
  • In one exemplary implementation, the test suite instructions and models of processor characteristics are included in a basic input output system (BIOS). The test suite instructions can be based upon binning of the graphics processor unit and the memory on an individual and combined board basis. FIG. 6 is an illustration of one exemplary implementation of a binning process 600 utilized to bin graphics processors and memory in one embodiment of the present invention. The GPUs in bin 610 are tested and the memories in bin 620 are tested. The fast GPUs and fast memories are sorted into bins 611 and 621 respectively and then combined on a board and placed in fast board bin 650. The slow GPUs and slow memories are sorted into bins 612 and 622 respectively and then combined on a board and placed in slow board bin 670. The fast boards in bin 650 are tweaked and placed in a tweaked fast board group (e.g., 651 or 652). The slow boards are tweaked and placed in a tweaked slow board group (e.g., 653). In an alternate embodiment, the slow boards are not tweaked.
  • There are a variety of “tweaking” processes that are readily adaptable for use in making adjustments to processor operating conditions in accordance with the present invention. FIG. 7A illustrates an edge rate adjustment to clock signal 710 in accordance with one embodiment of the present invention. Signal 710 has a slow silicon clock signal edge 711 before the edge rate adjustment and signal 710 has a fast silicon clock signal edge 712 after the adjusting. In one embodiment of the present invention, the edge rate adjustment includes adjustments to a number of drivers utilized to drive the signal. For example, more drivers are turned on or enabled to increase the slope of the clock signal (e.g., clock signal edge 711) and achieve a “faster” signal. Alternatively, drivers can be disabled to decrease the slope of the clock signal (e.g., clock signal edge 721) and achieve a “slower” signal. FIG. 7B illustrates a trimmer adjustment to clock signal 720 in accordance with one embodiment of the present invention. The clock signal 720 is moved relative to a data window 723 associated with a transition in data signal 722. In one exemplary implementation, the clock signal 720 is adjusted to be in the middle of the data window 723. FIG. 7C is an illustration of a shaper adjustment to clock signal 730 in accordance with one embodiment of the present invention. In one embodiment of the present invention, the shaper adjustment includes varying the duration of a low pulse in the clock signal. In one exemplary implementation, the clock transition edge 731 is held “fixed” and the clock transition edge 732 is moved relative to edge 731. The adjustment factors utilized in the binning process can be loaded into the BIOS and also utilized in changing operating conditions.
  • The present invention also facilitates maintenance of a processor temperature within particular ranges. For example, maintaining processor temperature within acceptable ranges that minimize overheating damage to the processor. In one embodiment, a present invention temperature maintenance system includes a temperature sensor that senses the temperature of the processor. This sensor can take the form of an on-chip diode (e.g., 225) and an off-chip voltage-to-temperature measuring device (e.g., 240), the device being programmable to set an indicator when any of a plurality of temperature thresholds is crossed. When the temperature sensor senses the processor temperature approaching undesirable levels one or more adjustments are performed. The frequency can be decreased (e.g., without software intervention) if the temperature rises beyond a predetermined value or the frequency can be increased to achieve greater performance if the temperature drops below the predetermined value. FIG. 10A is a graphical illustration of an exemplary increase and decrease in temperature of a processor over time and FIG. 10B is a graphical illustration of an exemplary corresponding adjustment in an average clock signal frequency. For example, when the temperature of the processor reaches a temperature threshold value 1050 at time 1075 a corresponding adjustment decreasing the clock frequency is implemented at time 1075. Voltage levels can be similarly increased or decreased in response to crossing a temperature threshold.
  • In one embodiment of the present invention, a set of fan control rules direct adjustments associated with a fan. The fan control rules can be utilized to achieve a various objectives by providing multiple sets of fan control rules. A set of fan control rules can be utilized to control temperature. For example, a set of fan control rules can direct a fan to provide additional cooling when a temperature sensor senses an increase in a processor temperature and reduce fan cooling operations when a temperature sensor senses a decrease in a processor temperature. A different set of fan control rules can be utilized for different operational modes (e.g., performance mode and quiet mode). For example, for high performance mode, the set of fan rules can include directions to adjust cooling provided by a fan, but to have the fan continuously running. Also for example, in quiet mode, a set of fan control rules can direct fan to be turned off unless a threshold temperature is crossed.
  • In one embodiment of the present invention, an interrupt can be generated in response to a temperature measurement. The interrupt can cause software to take additional actions to tune the clock frequency in response to temperature measurements. For example, the adjustment can include automatically modulating the frequency of a clock signal associated with the processor. In one embodiment, a pulse width modulation (PWM) control can be implemented in which multiple clock speeds are provided within a defined period. For example, a period of 64 microseconds is divided into 256 pulse intervals and for a portion of the 256 pulses the clock is run at a faster speed relative to the remaining portion of 256 pulses. This allows an almost continuously variable clock rate and smooth transitions between clock frequencies. In one embodiment of the present invention, the clock frequency is initially cut to a fraction (e.g., ½, ¼, etc,.) of its nominal frequency upon the indication of a temperature problem and then a transition is made to a pulse width modulation control within a relatively quick time frame. The ability to select between a variety of fractional frequencies and/or pulse width modulation settings permits adjustments to meet performance requirements.
  • The present invention also facilitates adjustments to external components that impact processor operating conditions. Adjustments to the fan operations can also be made to increase cooling when required (e.g., temperature increases beyond predetermined values). In one embodiment of the present invention, a temperature sensing component (e.g., 240, 225, etc) senses the junction temperature of the graphics processing unit and a temperature response mechanism controls the temperature of the graphics processing unit. For example, the temperature is maintained within ranges according to performance and reliability maintenance requirements. In one exemplary implementation, the temperature response mechanism includes a clock frequency control mechanism (e.g., clock control component 215) which adjusts the frequency of a clock signal (e.g., 291) supplied to the graphics processing unit in response to the junction temperature. In yet another exemplary implementation, the temperature response mechanism includes a voltage level control mechanism (e.g., voltage control component 217) which adjusts the voltage level of a power signal supplied to the graphics processing unit in response to the junction temperature. In one embodiment, the fan control mechanism adjusts the operation of the fan (e.g., fan 270) in accordance with instructions from the temperature response mechanism based upon the junction temperature.
  • It is appreciated that the present invention is readily adaptable for a variety of temperature control implementations. For example, thermal diode 225 can be communicatively coupled to thermal sensor 240 by communication bus 294. Communication bus 294 can include a temperature indication signal that indicates a temperature condition of GPU 210. Thermal sensor 240 can be communicatively coupled to GPU 210 (e.g., to fan control component 211) by communication bus 295. Communication bus 295 can communicate a thermal indication signal. When the thermal indication signal is asserted the measures are taken to cool down the processor (e.g., a clock frequency is reduced, a software interrupt is initiated, fan operations are adjusted to increase cooling, etc.). In one embodiment of the present invention, communication bus 295 is also utilized to program thermal sensor 240. In one exemplary implementation, thermal sensor 240 can control the fan via communication bus 297 or alternatively fan control component 211 can control the fan via communication bus 299. The communication buses utilized in thermal control can include a variety of implementations (e.g., I2C, SMBus, etc.).
  • FIG. 3 is a flow chart of processor performance enhancement and reliability balancing method 300, a method in accordance with one embodiment of the present invention. Processor performance enhancement and reliability balancing method 300 facilitates operation of a processor at maximum performance for processing intensive tasks and conservation of processor resources during other tasks. In one exemplary implementation, processor performance enhancement and reliability balancing method 300 allows a processor to exceed nominal operating conditions (e.g., nominal frequency and voltage) for complex tasks and operate below nominal operating conditions for other tasks.
  • In step 310, processor performance is tested. In one embodiment, the task the processor is engaged in is identified and the accuracy of the results are examined. For example, actual results of the processing are tested against expected results. In one exemplary implementation of the present invention, the error rate of processing results is identified and if the error rate exceeds a predetermined value the performance is considered failing. If the processor performance test is passed the process jumps to step 330. If the processor performance test is failed the process proceeds to step 320.
  • In one embodiment of the present invention, it is possible to change the test suite instructions in response to results of a self test operation. For example, if a hardware test (e.g., a built in self test) indicated a problem (e.g., a significant error, an excessive amount of errors, a recurring error, etc.) the test suite instructions can be altered to run upon the detection of such an event, or run more frequently, and/or perform a particular type of test suite.
  • An adjustment is made to reduce a failure rate in step 320. In one embodiment the processor returns to a prior operating condition setting if the processor fails the testing. For example, a clock frequency setting and voltage level setting return (e.g., are decreased) to a value at which the processor operates properly.
  • At step 330, a determination is made if the processor is engaged in a high performance task. For example, a determination is made if the processor is performing advanced three dimensional graphics for a video game. If the processor is not engaged in a high performance task the process jumps to step 350. If the processor is engaged in a high performance task the process proceeds to step 340.
  • In step 340, operating condition settings are adjusted for a high performance task. For example, the voltage level of a power signal to the processor is increased if the processor passes the testing. The clock frequency of the processor can also be adjusted if the processor passes the testing. In one exemplary implementation, operations of a cooling fan are adjusted to provide additional cooling. In one embodiment of the present invention, reliability limitations are factored into the adjustments for high performance tasks.
  • In one embodiment, a reliability limitation determination process is utilized to factor in reliability limitations on operating condition setting adjustments for a high performance task. In one exemplary implementation, a processor has predefined reliability constraints that define limitations on the percentage of time that a processor operates at a high performance setting compared to a low performance setting. If the processor begins to exceed the percentage of time permitted for high performance settings the adjustment to the high performance settings is prevented until the relative percentage of time at high performance and low performance conforms to the predetermined values.
  • In step 350, operating condition settings are adjusted for a low performance task. For example, the voltage level of a power signal and frequency of a clock signal to the processor are decreased. In one exemplary implementation, operations of a cooling fan are adjusted to produce less noise (e.g., run in quiet mode).
  • FIG. 8 is a block diagram of computer system 800, one embodiment of a computer system upon which the present invention is implemented. Computer system 800 includes communication bus 890, central processor unit 801, main memory 802 (e.g., random access memory), chip set 803 with north bridge 809 and south bridge 805, removable data storage device 804, input device 807, signal communications port 808, and graphics subsystem 810 which is coupled to display 820. Communication bus 890 couples chipset 803 to central processor unit 801, main memory 802, removable data storage device 804, input device 807, signal communications port 808 and graphics subsystem 810. Graphics subsystem 810 includes graphics processor 811, BIOS 819 and graphics buffers 815 and 817. In one embodiment of the present invention, graphics processor 811 is included in north bridge 809. In one embodiment, present invention processor performance adjustment systems and methods (e.g., similar to graphics processor management method 100, graphics processor adjustment system 200, processor performance enhancement and reliability balancing method 300, etc.) are utilized to control operations associated with central processing unit 801 and graphics processing unit 811.
  • The components of computer system 800 cooperatively function to provide a variety of functions, including processing of graphics information in an efficient power conservation manner. Communications bus 890 communicates information, central processor 801 processes information and engages processor operating condition adjustments, main memory 802 stores information and instructions for the central processor 801. Removable data storage device 804 also stores information and instructions (e.g., functioning as a large information reservoir). Input device 806 provides a mechanism for inputting information and/or for pointing to or highlighting information on display 820. Signal communication port 808 provides a communication interface to exterior devices (e.g., an interface with a network). Display device 809 displays information in accordance with data stored in graphics buffers 815 and 817. Graphics processor 811 processes graphics commands from central processor 801 and provides the resulting data to graphics buffers 815 and 817 for storage and retrieval by display monitor 820. Graphics processor 811 also engages in present invention processor operating condition adjustments. In one embodiment of the present invention, graphics subsystem 810 is hot plugable and the system generates interrupts that can automatically slow down or speed up the system if a power connector (e.g., a power from a hard disk connector) is coupled or uncoupled to graphics subsystem 810.
  • In one embodiment of the present invention, central processor 801 and graphics processor 811 process instructions associated with the present invention (e.g., instructions associated with graphics processor management method 100, graphics processor adjustment system 200, processor performance enhancement and reliability balancing method 300, etc.). Instructions and data (e.g., computer readable code, etc.) associated with the present invention can be stored on a computer readable medium (e.g., a memory of computer system 800). In one exemplary implementation, graphics subsystem 810 also includes memory.
  • FIG. 4 is a flow chart of processor performance limitation testing method 400, a processor performance limitation testing method in accordance with one embodiment of the present invention. Processor performance limitation testing method 400 tests processor operating condition or characteristic value limits at which the processor begins to provide unacceptable error rates in processing results. In one exemplary implementation of the present invention, processor performance limitation testing method 400 provides an indication of maximum and minimum clock frequency, voltage level and temperature value combinations at which the processor begins to fail (e.g., produces unacceptable error rates). Processor performance limitation testing method 400 can be utilized in determining adjustments made in graphics processor management method 100 or the determination of operating condition adjustments by processor management component 219.
  • In step 410 the voltage level of a power supply signal supplied to a processor is adjusted. For example, the voltage level is increased or decreased by a predetermined amount. In one embodiment of the present invention, an indication of the desired adjustment is provided by a performance testing component (e.g., performance testing component 218).
  • At step 420, the frequency of a clock signal that clocks the processor is altered. For example, the frequency is increased or decreased by a predetermined amount. In one embodiment of the present invention, an indication of the desired adjustment is provided by a performance testing component (e.g., performance testing component 218).
  • In step 430, the temperature of the processor is manipulated. In one exemplary implementation of the present invention, the temperature of the processor is manipulated by controlling fan operations. For example, the temperature of the processor is lowered by directing the fan operations to provide more cooling.
  • In step 440, a determination is made to identify combinations of voltage level values of the power signal, processor temperature readings and frequency values of the clock signal at which the performance of the processor begins to fail. In one exemplary implementation, a hardware self test is run and results are factored into the determination of combinations of voltage level values of the power signal and frequency values of the clock signal.
  • FIG. 5 is a flow chart of processor temperature compensation method 500, one embodiment of the present invention. In one embodiment of the present invention, temperature compensation method 500 regulates the temperature of a processor. In one exemplary implementation, the temperature of the processor is regulated according to a variety of objectives. For example, the temperature may be maintained at below a predetermined amount for low performance tasks and permitted to reach a higher level for high performance tasks or when operating in a quiet mode. Temperature compensation method 500 facilitates achievement of maximum performance while minimizing the probabilities of chip destruction and/or glitches (e.g., hanging up on processing tasks). Processor temperature compensation method 500 can be utilized in determining adjustments made in graphics processor management method 100 or the determination of operating condition adjustments by processor management component 219.
  • In step 510, the temperature of a processor is sensed. In one embodiment, an on-die thermal diode placed near the pads and/or an external thermal sensor or monitor are utilized to sense the temperature. In one exemplary implementation, the thermal monitor is programmed by the processor through a communication bus (e.g., an I2C bus). The present invention is readily adaptable to a variety of temperature sensing rates or frequencies (e.g., once every 15.5 ms). The temperature sensor can be programmed for a variety of external temperature limits with corresponding hysteresis settings. The temperature sensor can be programmed to filter alarm readings. For example, an alarm signal is activated after a programmed amount of consecutive over temperature readings occur. This facilitates the minimization of software interruptions overburdening the processor. In one embodiment of the present invention, the temperature sensor or monitor can be included in the same semiconductor chip as the processor (e.g., a CPU, GPU, etc.).
  • In step 520, a change is made to an operating condition of the processor. In one exemplary implementation, the clock speed of said processor is adjusted if the temperature is outside a predetermined range. For example, the clock speed is decreased if an over-temperature condition occurs (e.g., the temperature is above a predetermined value). In one embodiment of the present invention, the clock speed is reduced by a predetermined factor (½, ¼, ⅛, etc). It is appreciated that a thermal slowdown can be programmed to be enabled never, only when an over temperature condition occurs or all the time regardless of the actual thermal input. In one embodiment, the thermal control is coordinated with performance control. In one exemplary implementation, the thermal control of the clock can be ignored and the clock slowed continuously during the low performance tasks if the performance control indicates the clock should be slowed for low performance tasks.
  • In one embodiment, a clock frequency slowdown is controlled to be in affect for a programmable portion of time using pulse a width modulation scheme. In one exemplary implementation, the time period of the pulse width modulation is 64 microseconds. A clock signal can operate for full speed for 32 microseconds and then some fractional speed (e.g., ½, ¼, etc.) for the remaining 32 microseconds. This produces a reduced effective clock frequency (e.g., 75% of normal if the slowdown factor is 2×).
  • In one embodiment of the present invention, a software interrupt can be issued in response to the temperature sensing in step 510. In one exemplary implementation, the software interrupt is generated when the thermal state changes. For example, the interrupt can be generated with respect to the alert signal (e.g., on the rising edge, falling edge, both edges, etc.). Alternatively the processor can be programmed not to generate a software interruption response to a thermal alert. Programming the amount of consecutive over temperature readings that occur before an alert facilitates the minimization of software interrupt generation rate from being an excessive burden on the processor.
  • In step 530, fan operation is adjusted if the temperature is within predetermined ranges. For example, the fan operation can be controlled to provide increased cooling if the temperature is above a predetermined value. Alternatively, the fan operation can be controlled to operate more quietly if the temperature is below a designated value.
  • In one embodiment of the present invention, a processor is operated in various noise regulated modes. In one exemplary implementation, a processor noise regulation method is utilized to control fan operations associated with cooling the processor. A determination is made whether to run the processor in quiet mode or performance enhancement mode. The decision regarding which mode to operate in can be triggered by a variety of factors. For example, a user can provide an indication of a selected mode (e.g., via a user interface) or the decision can be based upon the task the processor is performing (e.g., select quiet mode for low performance tasks). An adjustment is made to fan operations based upon the selection of a quiet mode or a performance enhancement mode. For example, fan operations are adjusted to run more quietly if the quiet mode is selected and provide greater cooling capacity if the performance mode is selected. The processor noise regulation method can be utilized in determining adjustments made in graphics processor management method 100 or the determination of operating condition adjustments by processor management component 219.
  • In one embodiment of the present invention, adjustments are made to a variety of operating conditions based upon mode selection. For example, in performance mode clock signal frequency and power signal voltage level can be adjusted based upon the task being performed and the temperature of the processor. FIGS. 11A and 11B are graphical illustrations of exemplary adjustments in a clock signal frequency and a power signal voltage level of a processor operating in performance mode constrained by exemplary corresponding temperature changes illustrated in FIG. 11C. For example, at times 10, 30 and 50, the processor enters enhanced performance mode, and the clock signal frequency and power signal voltage level are increased. At times 20, 40, and 90, the processor enters a low performance mode, and the clock signal frequency and power signal voltage level are decreased. The example of FIG. 11C also shows the clock frequency adjusted at time 70 in response to test results (e.g., tests indicating errors are beginning to occur) or error detection within the logic.
  • The present invention facilitates enhanced processor performance with minimal impact to reliability by maintaining conservation of average processor lifetime. This is a significant advantage over previous operating condition adjustment implementations which do not run a processor at its full performance potential. The present invention assists a processor to provide increased user satisfaction for advanced processing applications and enables reduction of unpleasant noise during reduced processing application. A present processor performance adjustment system and method also provides safeguards to facilitate preservation of processor reliability for an anticipated life span of the processor.
  • The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents. The listing of steps within method claims do not imply any particular order to performing the steps, unless explicitly stated in the claim.

Claims (20)

1. A processor adjustment system comprising:
a processing unit for performing processing tasks;
a voltage source unit for generating a power signal for said processing unit;
a performance testing component for testing the performance of said processing unit to determine a high voltage level or a low voltage level at which said processing unit begins to fail;
a voltage control component for controlling the voltage level of said power signal does not go above said high voltage level or below said low voltage level, wherein said power signal voltage is increased for high performance tasks and reduced for low performance tasks of said processing unit;
a memory for storing test suite instructions for execution by said performance testing component.
2. The processor adjustment system of claim 1 further comprising:
a clock signal generating unit for generating a clock signal for said processing unit; and
a clock control component for controlling the frequency of said clock signal, wherein said clock signal does not go above a high frequency level or below a low frequency level determined by said performance testing component, wherein said clock signal frequency is increased for high performance tasks and reduced for low performance tasks of said processing unit.
3. The processor adjustment system of claim 1 wherein said processing unit is a graphics processor.
4. The processor adjustment system of claim 1 wherein said testing is performed at each power up of said system.
5. The processor adjustment system of claim 1 wherein the performance nature of said task is user defined.
6. The processor adjustment system of claim 1 wherein the performance nature of said task is defined by an application program executing said task.
7. The processor adjustment system of claim 1 wherein said testing is performed periodically.
8. A processor adjustment system comprising:
a processing unit for performing processing tasks;
a clock signal generating unit for generating a clock signal for said processing unit;
a performance testing component for periodically testing the performance of said processing unit to determine a high clock frequency or a low clock frequency at which said processing unit begins to fail; and
a clock control component for controlling the frequency of said clock signal above said high clock frequency or below said low clock frequency determined by said performance testing component, wherein said clock signal frequency is increased for high performance tasks and reduced for low performance tasks of said processing unit; and
a memory for storing test suit e instructions for execution by said performance testing component.
9. The processor adjustment system of claim 8 wherein said performance testing component also determines a minimum clock frequency at which said processing unit begins to fail.
10. The processor adjustment system of claim 8 wherein said performance testing component is controlled by software running on a CPU, said CPU being different from said processing unit.
11. The processor adjustment system of claim 8 further comprising a voltage control component for controlling the voltage level of a power signal for said processing unit, wherein said power signal voltage is set to a higher voltage for said high performance tasks than for said low performance tasks.
12. The processor adjustment system of claim 8 wherein said processor is a graphics processor.
13. The processor adjustment system of claim 12 wherein said high performance tasks comprise rendering interactive three-dimensional graphics images.
14. The processor adjustment system of claim 13 wherein said low performance tasks do not comprise rendering interactive three-dimensional graphics images.
15. A processor adjustment system of claim 8 wherein said test suite instructions are based upon binning of said processor unit and said memory on an individual and combined board basis.
16. A processor adjustment system of claim 8 wherein said test suite instructions are changed in response to results of a self test operation.
17. A processor performance enhancement and reliability balancing method comprising:
storing test suite instructions in a memory for execution by a performance testing component;
testing processor performance, wherein said testing comprises determining a high clock frequency or a low clock frequency at which said processor begins to fail;
making an adjustment above said low clock frequency or below said high clock frequency to reduce a failure rate;
determining if said processor is engaged in a high performance task, wherein said high performance tasks comprise rendering three-dimensional graphics images;
adjusting operating condition settings for a high performance task including increasing the speed of a fan during said high performance task;
determining if said processor is engaged in a low performance task; and
adjusting operating condition setting for a low performance task, including decreasing the speed of a fan during said low performance task.
18. The processor performance enhancement and reliability balancing method of claim 17 wherein said testing provides an indication of errors.
19. The processor performance enhancement and reliability balancing method of claim 18 wherein said indication of an error occurring does not trigger an operating condition adjustment unless a predetermined unacceptable level of errors occur.
20. The processor performance enhancement and reliability balancing method of claim 19 wherein crossing a threshold triggers tests that determine said adjustment to said operating condition.
US13/019,249 2002-11-14 2011-02-01 Processor performance adjustment system and method Abandoned US20110126056A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/019,249 US20110126056A1 (en) 2002-11-14 2011-02-01 Processor performance adjustment system and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/295,619 US7882369B1 (en) 2002-11-14 2002-11-14 Processor performance adjustment system and method
US13/019,249 US20110126056A1 (en) 2002-11-14 2011-02-01 Processor performance adjustment system and method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/295,619 Continuation US7882369B1 (en) 2002-11-14 2002-11-14 Processor performance adjustment system and method

Publications (1)

Publication Number Publication Date
US20110126056A1 true US20110126056A1 (en) 2011-05-26

Family

ID=43502056

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/295,619 Active 2025-05-26 US7882369B1 (en) 2002-11-14 2002-11-14 Processor performance adjustment system and method
US13/019,249 Abandoned US20110126056A1 (en) 2002-11-14 2011-02-01 Processor performance adjustment system and method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/295,619 Active 2025-05-26 US7882369B1 (en) 2002-11-14 2002-11-14 Processor performance adjustment system and method

Country Status (1)

Country Link
US (2) US7882369B1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110191602A1 (en) * 2010-01-29 2011-08-04 Bearden David R Processor with selectable longevity
US20110219270A1 (en) * 2010-03-03 2011-09-08 Fujitsu Limited Method and apparatus for logging system characteristic data
US20110271161A1 (en) * 2010-04-30 2011-11-03 International Business Machines Corporation On-Chip Non-Volatile Storage of a Test-Time Profile for Efficiency and Performance Control
US20110320061A1 (en) * 2010-06-23 2011-12-29 Hon Hai Precision Industry Co., Ltd. Temperature control system and method for computing device
US20120159216A1 (en) * 2011-12-22 2012-06-21 Wells Ryan D Method, apparatus, and system for energy efficiency and energy conservation including enhanced temperature based voltage control
US8276018B2 (en) 2010-04-30 2012-09-25 International Business Machines Corporation Non-volatile memory based reliability and availability mechanisms for a computing device
US20120260083A1 (en) * 2011-04-05 2012-10-11 Andrews Jonathan J Adjusting Device Performance over Multiple Time Domains
US20140115597A1 (en) * 2012-10-18 2014-04-24 Advanced Micro Devices, Inc. Media hardware resource allocation
US20140189696A1 (en) * 2012-12-28 2014-07-03 Enric H. Abellanas Failure rate based control of processors
WO2014133679A1 (en) * 2013-03-01 2014-09-04 Raytheon Company Minimizing power consumption in asynchronous dataflow architectures
WO2014209397A1 (en) * 2013-06-28 2014-12-31 Intel Corporation A power detector circuit
US8948314B2 (en) 2012-10-31 2015-02-03 The John Hopkins University Symbol timing recovery with multi-core processor
US9281820B2 (en) 2013-03-01 2016-03-08 Raytheon Company Minimizing power consumption in asynchronous dataflow architectures
US9946658B2 (en) 2013-11-22 2018-04-17 Nvidia Corporation Memory interface design having controllable internal and external interfaces for bypassing defective memory
WO2020205154A1 (en) * 2019-03-29 2020-10-08 Intel Corporation Input voltage protection
US20220197362A1 (en) * 2017-04-17 2022-06-23 Intel Corporation System, apparatus and method for increasing performance in a processor during a voltage ramp
US20240094793A1 (en) * 2022-06-23 2024-03-21 Nvidia Corporation Techniques to modify processor performance

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7216064B1 (en) * 1993-09-21 2007-05-08 Intel Corporation Method and apparatus for programmable thermal sensor for an integrated circuit
US7882369B1 (en) * 2002-11-14 2011-02-01 Nvidia Corporation Processor performance adjustment system and method
US8237386B2 (en) 2003-08-15 2012-08-07 Apple Inc. Methods and apparatuses for operating a data processing system
US7433191B2 (en) * 2005-09-30 2008-10-07 Apple Inc. Thermal contact arrangement
US8243085B2 (en) * 2007-12-30 2012-08-14 Intel Corporation Boosting graphics performance based on executing workload
US8525840B2 (en) * 2008-05-15 2013-09-03 Apple Inc. Thermal management of graphics processing units
US8145926B2 (en) 2008-09-30 2012-03-27 Intel Corporation Fan speed control of silicon based devices in low power mode to reduce platform power
US9063713B2 (en) * 2008-10-28 2015-06-23 Apple Inc. Graphics controllers with increased thermal management granularity
US8037325B1 (en) 2008-12-09 2011-10-11 Google Inc. System and method for determining power consumption
US8117469B2 (en) * 2009-07-10 2012-02-14 Packet Digital Automatically determining operating parameters of a power management device
US8885694B2 (en) * 2009-09-09 2014-11-11 Texas Instruments Incorporated Changing an operating performance point
US9256265B2 (en) 2009-12-30 2016-02-09 Nvidia Corporation Method and system for artificially and dynamically limiting the framerate of a graphics processing unit
US9830889B2 (en) 2009-12-31 2017-11-28 Nvidia Corporation Methods and system for artifically and dynamically limiting the display resolution of an application
US8839006B2 (en) 2010-05-28 2014-09-16 Nvidia Corporation Power consumption reduction systems and methods
US8412479B2 (en) * 2010-06-29 2013-04-02 Intel Corporation Memory power estimation by means of calibrated weights and activity counters
US8793512B2 (en) 2010-10-29 2014-07-29 Advanced Micro Devices, Inc. Method and apparatus for thermal control of processing nodes
US8477490B2 (en) 2011-05-02 2013-07-02 Apple Inc. Cooling system for mobile electronic devices
US8930737B2 (en) 2011-12-13 2015-01-06 Omx Technology Ab Method and devices for controlling operations of a central processing unit
US9317342B2 (en) * 2011-12-23 2016-04-19 Intel Corporation Characterization of within-die variations of many-core processors
AU2011385109B2 (en) * 2011-12-29 2017-10-19 Intel Corporation Adaptive thermal throttling with user configuration capability
US9823990B2 (en) * 2012-09-05 2017-11-21 Nvidia Corporation System and process for accounting for aging effects in a computing device
US9804656B2 (en) * 2012-09-29 2017-10-31 Intel Corporation Micro-architectural energy monitor event-assisted temperature sensing
US9164931B2 (en) 2012-09-29 2015-10-20 Intel Corporation Clamping of dynamic capacitance for graphics
US9125299B2 (en) 2012-12-06 2015-09-01 Apple Inc. Cooling for electronic components
US9424620B2 (en) * 2012-12-29 2016-08-23 Intel Corporation Identification of GPU phase to determine GPU scalability during runtime
US9871448B2 (en) 2012-12-31 2018-01-16 Nvidia Corporation Super N-phase switching mode power supply
US9223167B2 (en) 2013-06-26 2015-12-29 Apple Inc. Liquid crystal switching barrier thermal control
US10103719B2 (en) 2013-07-22 2018-10-16 Nvidia Corporation Integrated voltage regulator with in-built process, temperature and aging compensation
TWI489122B (en) * 2013-08-01 2015-06-21 Realtek Semiconductor Corp Circuit lifetime measuring device and method
US9831198B2 (en) 2013-08-22 2017-11-28 Nvidia Corporation Inductors for integrated voltage regulators
US9250910B2 (en) 2013-09-27 2016-02-02 Intel Corporation Current change mitigation policy for limiting voltage droop in graphics logic
US9389029B2 (en) 2013-09-30 2016-07-12 Apple Inc. Heat transfer structure
US9996145B2 (en) * 2013-11-18 2018-06-12 Nxp B.V. Shared interrupt multi-core architecture for low power applications
US9514715B2 (en) 2013-12-23 2016-12-06 Intel Corporation Graphics voltage reduction for load line optimization
US9671767B2 (en) 2014-05-14 2017-06-06 Advanced Micro Devices, Inc. Hybrid system and method for determining performance levels based on thermal conditions within a processor
US9652019B2 (en) 2014-06-02 2017-05-16 Advanced Micro Devices, Inc. System and method for adjusting processor performance based on platform and ambient thermal conditions
US9921952B2 (en) * 2015-06-02 2018-03-20 International Business Machines Corporation Early risk identification in DevOps environments
US9674986B2 (en) 2015-08-03 2017-06-06 Apple Inc. Parallel heat spreader
US11474591B2 (en) * 2016-08-05 2022-10-18 Ati Technologies Ulc Fine-grain GPU power management and scheduling for virtual reality applications
US10564687B2 (en) * 2016-10-28 2020-02-18 Arris Enterprises Llc Fan-less mode in a power over ethernet (PoE) network device
TWM542184U (en) * 2017-01-16 2017-05-21 Evga Corp Extension control device of display card
US10565079B2 (en) 2017-09-28 2020-02-18 Intel Corporation Determination of idle power state
CN108089958B (en) * 2017-12-29 2021-06-08 珠海市君天电子科技有限公司 GPU test method, terminal device and computer readable storage medium
US10403378B1 (en) * 2018-02-09 2019-09-03 Micron Technology, Inc. Performing an operation on a memory cell of a memory system at a frequency based on temperature
CN110781040B (en) * 2018-07-31 2023-05-30 深圳兆日科技股份有限公司 Automatic system performance test method and device and computer readable storage medium
US11308231B2 (en) 2020-04-30 2022-04-19 Bank Of America Corporation Security control management for information security
US11438364B2 (en) 2020-04-30 2022-09-06 Bank Of America Corporation Threat analysis for information security

Citations (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218705A (en) * 1989-04-17 1993-06-08 Motorola, Inc. Pager receiver with selective operating voltage and reduced power consumption
US5300831A (en) * 1992-09-04 1994-04-05 Pham Dac C Logic macro and protocol for reduced power consumption during idle state
US5396443A (en) * 1992-10-07 1995-03-07 Hitachi, Ltd. Information processing apparatus including arrangements for activation to and deactivation from a power-saving state
US5583875A (en) * 1994-11-28 1996-12-10 Siemens Rolm Communications Inc. Automatic parametric self-testing and grading of a hardware system
US5587672A (en) * 1995-09-25 1996-12-24 Neomagic Corp. Dynamic logic having power-down mode with periodic clock refresh for a low-power graphics controller
US5590342A (en) * 1994-11-29 1996-12-31 Intel Corporation Method and apparatus for reducing power consumption in a computer system using virtual device drivers
US5666522A (en) * 1994-01-28 1997-09-09 Micron Electronics, Inc. Variable speed controller
US5710929A (en) * 1990-06-01 1998-01-20 Vadem Corporation Multi-state power management for computer systems
US5774703A (en) * 1996-01-05 1998-06-30 Motorola, Inc. Data processing system having a register controllable speed
US5774704A (en) * 1996-07-29 1998-06-30 Silicon Graphics, Inc. Apparatus and method for dynamic central processing unit clock adjustment
US5787011A (en) * 1995-01-19 1998-07-28 Texas Instruments Incorporated Low-power design techniques for high-performance CMOS circuits
US5884068A (en) * 1991-10-17 1999-03-16 Intel Corporation Integrated circuit having a core which operates at a speed greater than the frequency of the bus
US5913067A (en) * 1996-10-29 1999-06-15 Micron Electronics, Inc. Apparatus for adaptive power management of a computer system
US5926394A (en) * 1996-09-30 1999-07-20 Intel Corporation Method and apparatus for regulating the voltage supplied to an integrated circuit
US5978926A (en) * 1992-09-09 1999-11-02 Mips Technologies, Inc. Processor chip for using an external clock to generate an internal clock and for using data transmit patterns in combination with the internal clock to control transmission of data words to an external memory
US6005904A (en) * 1997-10-16 1999-12-21 Oasis Design, Inc. Phase-locked loop with protected output during instances when the phase-locked loop is unlocked
US6035357A (en) * 1996-06-07 2000-03-07 Kabushiki Kaisha Toshiba IC card compatible with different supply voltages, IC card system comprising the same, and IC for the IC card
US6141762A (en) * 1998-08-03 2000-10-31 Nicol; Christopher J. Power reduction in a multiprocessor digital signal processor based on processor load
US6167524A (en) * 1998-04-06 2000-12-26 International Business Machines Corporation Apparatus and method for efficient battery utilization in portable personal computers
US6255974B1 (en) * 1999-01-08 2001-07-03 Mitsubishi Electric And Electronics Usa, Inc Programmable dynamic range sigma delta A/D converter
US6311287B1 (en) * 1994-10-11 2001-10-30 Compaq Computer Corporation Variable frequency clock control for microprocessor-based computer systems
US6360327B1 (en) * 1999-03-12 2002-03-19 Compaq Information Technologies Group, L.P. System with control registers for managing computer legacy peripheral devices using an advanced configuration power interface software power management system
US20020099964A1 (en) * 2001-01-22 2002-07-25 Andrej Zdravkovic Reducing power consumption by estimating engine load and reducing engine clock speed
US20030079151A1 (en) * 2001-10-18 2003-04-24 International Business Machines Corporation Energy-aware workload distribution
US6664775B1 (en) * 2000-08-21 2003-12-16 Intel Corporation Apparatus having adjustable operational modes and method therefore
US20040032414A1 (en) * 2000-12-29 2004-02-19 Satchit Jain Entering and exiting power managed states without disrupting accelerated graphics port transactions
US20040105237A1 (en) * 2001-01-22 2004-06-03 Hoover David S. CVD diamond enhanced microprocessor cooling system
US6889332B2 (en) * 2001-12-11 2005-05-03 Advanced Micro Devices, Inc. Variable maximum die temperature based on performance state
US6938176B1 (en) * 2001-10-05 2005-08-30 Nvidia Corporation Method and apparatus for power management of graphics processors and subsystems that allow the subsystems to respond to accesses when subsystems are idle
US7256788B1 (en) * 2002-06-11 2007-08-14 Nvidia Corporation Graphics power savings system and method
US20070220289A1 (en) * 2006-03-14 2007-09-20 Microsoft Corporation Scaling idle detection metric for power management on computing device
US20070234088A1 (en) * 2006-04-04 2007-10-04 Microsoft Corporation Identifying a target processor idle state
US7409570B2 (en) * 2005-05-10 2008-08-05 Sony Computer Entertainment Inc. Multiprocessor system for decrypting and resuming execution of an executing program after transferring the program code between two processors via a shared main memory upon occurrence of predetermined condition
US7414450B2 (en) * 2005-09-15 2008-08-19 Semiconductor Manufacturing International (Shanghai) Corporation System and method for adaptive power supply to reduce power consumption
US7725749B2 (en) * 2004-08-05 2010-05-25 Panasonic Corporation Information processing device for assigning processes to a main CPU or sub-CPU based on a sleeping state
US7849332B1 (en) * 2002-11-14 2010-12-07 Nvidia Corporation Processor voltage adjustment system and method
US20100318828A1 (en) * 2009-06-11 2010-12-16 Sun Microsystems, Inc. Method And System For Generating A Power Consumption Model Of At Least One Server
US7882369B1 (en) * 2002-11-14 2011-02-01 Nvidia Corporation Processor performance adjustment system and method
US7886164B1 (en) * 2002-11-14 2011-02-08 Nvidia Corporation Processor temperature adjustment system and method

Family Cites Families (213)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4335445A (en) 1979-02-26 1982-06-15 Kepco, Inc. System for interfacing computers with programmable power supplies
US4544910A (en) 1982-05-10 1985-10-01 Max Hoberman Exit sign lamp flashing system with self-checking provisions
US4706180A (en) 1985-11-29 1987-11-10 York International Corporation Pulse width modulated inverter system for driving single phase a-c induction motor
US4739252A (en) 1986-04-24 1988-04-19 International Business Machines Corporation Current attenuator useful in a very low leakage current measuring device
US4868832A (en) 1986-04-30 1989-09-19 Marrington S Paul Computer power system
US4679130A (en) 1986-06-04 1987-07-07 Superior Manufacturing & Instrument Corporation Programmable power supply
US4893228A (en) 1987-09-01 1990-01-09 Hewlett Packard Company High-efficiency programmable power supply
JPH02201516A (en) 1989-01-31 1990-08-09 Toshiba Corp Power save system
US5086501A (en) * 1989-04-17 1992-02-04 Motorola, Inc. Computing system with selective operating voltage and bus speed
US5153535A (en) * 1989-06-30 1992-10-06 Poget Computer Corporation Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency
US5167024A (en) 1989-09-08 1992-11-24 Apple Computer, Inc. Power management for a laptop computer with slow and sleep modes
US5103110A (en) 1989-10-20 1992-04-07 Keltronics Corporation Programmable power supply
US5218704A (en) 1989-10-30 1993-06-08 Texas Instruments Real-time power conservation for portable computers
US5201059A (en) 1989-11-13 1993-04-06 Chips And Technologies, Inc. Method for reducing power consumption includes comparing variance in number of time microprocessor tried to react input in predefined period to predefined variance
FR2658303B1 (en) 1990-02-09 1992-06-19 Neiman Sa DEVICE FOR MONITORING THE OPERATION OF A MICROPROCESSOR SYSTEM OR THE LIKE.
US5350988A (en) 1990-07-10 1994-09-27 Alliedsignal, Inc. Digital motor controller
EP0474963A3 (en) 1990-09-13 1992-04-15 Kabushiki Kaisha Toshiba Computer system having sleep mode function
JPH04130510A (en) 1990-09-21 1992-05-01 Hitachi Ltd Power saving system for information processor
US5461266A (en) 1990-11-27 1995-10-24 Hitachi, Ltd. Power consumption control system
US5230055A (en) 1991-01-25 1993-07-20 International Business Machines Corporation Battery operated computer operation suspension in response to environmental sensor inputs
US5239652A (en) 1991-02-04 1993-08-24 Apple Computer, Inc. Arrangement for reducing computer power consumption by turning off the microprocessor when inactive
KR920017329A (en) 1991-02-22 1992-09-26 원본미기재 Adaptive voltage regulator
JPH0776894B2 (en) 1991-02-25 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレイション Clock signal control method for processor and information processing system
US5177431A (en) 1991-09-25 1993-01-05 Astec International Ltd. Linear programming circuit for adjustable output voltage power converters
US5337254A (en) 1991-12-16 1994-08-09 Hewlett-Packard Company Programmable integrated circuit output pad
JP2998944B2 (en) 1991-12-19 2000-01-17 シャープ株式会社 Ring oscillator
US5648766A (en) 1991-12-24 1997-07-15 Motorola, Inc. Circuit with supply voltage optimizer
US5254878A (en) 1991-12-31 1993-10-19 Raytheon Company Voltage regulated power supply providing a constant output voltage
JP3226599B2 (en) 1992-05-19 2001-11-05 東芝アイティー・コントロールシステム株式会社 Battery car control method and device
US5339445A (en) 1992-11-16 1994-08-16 Harris Corporation Method of autonomously reducing power consumption in a computer sytem by compiling a history of power consumption
US5438681A (en) 1993-08-24 1995-08-01 Mensch, Jr.; William D. Topography for CMOS microcomputer
US7216064B1 (en) 1993-09-21 2007-05-08 Intel Corporation Method and apparatus for programmable thermal sensor for an integrated circuit
US5894577A (en) 1993-09-22 1999-04-13 Advanced Micro Devices, Inc. Interrupt controller with external in-service indication for power management within a computer system
US5502838A (en) 1994-04-28 1996-03-26 Consilium Overseas Limited Temperature management for integrated circuits
JPH07129277A (en) 1993-11-04 1995-05-19 Fujitsu Ltd Environment maintaining device of computer system
US5561692A (en) 1993-12-09 1996-10-01 Northern Telecom Limited Clock phase shifting method and apparatus
US5511203A (en) 1994-02-02 1996-04-23 Advanced Micro Devices Power management system distinguishing between primary and secondary system activity
US5422806A (en) 1994-03-15 1995-06-06 Acc Microelectronics Corporation Temperature control for a variable frequency CPU
FI942753A (en) 1994-06-10 1995-12-11 Nokia Mobile Phones Ltd A method for reducing the power consumption of an electronic device comprising a voltage regulator
US5933649A (en) 1994-06-20 1999-08-03 Samsung Electronics Co., Ltd. Method and device for controlling a CPU stop clock interrupt
US5752011A (en) 1994-06-20 1998-05-12 Thomas; C. Douglas Method and system for controlling a processor's clock frequency in accordance with the processor's temperature
US5513152A (en) 1994-06-22 1996-04-30 At&T Global Information Solutions Company Circuit and method for determining the operating performance of an integrated circuit
US5592173A (en) 1994-07-18 1997-01-07 Trimble Navigation, Ltd GPS receiver having a low power standby mode
US5440520A (en) 1994-09-16 1995-08-08 Intel Corporation Integrated circuit device that selects its own supply voltage by controlling a power supply
US5754869A (en) 1994-10-04 1998-05-19 Intel Corporation Method and apparatus for managing power consumption of the CPU and on-board system devices of personal computers
US5586308A (en) 1994-10-19 1996-12-17 Advanced Micro Devices, Inc. Clock control unit responsive to a power management state for clocking multiple clocked circuits connected thereto
US5594360A (en) 1994-10-19 1997-01-14 Intel Corporation Low current reduced area programming voltage detector for flash memory
JP3412937B2 (en) 1994-12-28 2003-06-03 三菱電機エンジニアリング株式会社 Ring oscillator current control circuit
US5778237A (en) 1995-01-10 1998-07-07 Hitachi, Ltd. Data processor and single-chip microcomputer with changing clock frequency and operating voltage
US5568350A (en) 1995-01-11 1996-10-22 Dell Usa, L.P. Over temperature memory circuit
US5847552A (en) 1995-01-24 1998-12-08 Dell Usa, L.P. Integrated circuit with determinate power source control
EP0727728A1 (en) 1995-02-15 1996-08-21 International Business Machines Corporation Computer system power management
US5825972A (en) 1995-02-17 1998-10-20 Dell Usa, L.P. Direct current fan motor speed controller
KR0172234B1 (en) 1995-03-24 1999-03-30 김주용 Control apparatus of the frequency of self-refresh
FI101109B (en) 1995-04-12 1998-04-15 Nokia Mobile Phones Ltd Procedure for reducing the power consumption of an electronic device
JP3075957B2 (en) 1995-05-30 2000-08-14 株式会社東芝 Computer system
EP0747798A3 (en) 1995-06-07 1998-02-11 Acme Electric Corporation Temperature and current dependent regulated voltage source
US5719800A (en) 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
US5727208A (en) 1995-07-03 1998-03-10 Dell U.S.A. L.P. Method and apparatus for configuration of processor operating parameters
US5996083A (en) 1995-08-11 1999-11-30 Hewlett-Packard Company Microprocessor having software controllable power consumption
US6035407A (en) 1995-08-14 2000-03-07 Compaq Computer Corporation Accomodating components
US5745375A (en) 1995-09-29 1998-04-28 Intel Corporation Apparatus and method for controlling power usage
JP3076234B2 (en) 1995-11-30 2000-08-14 王子油化合成紙株式会社 Inkjet recording paper
US5675272A (en) 1995-12-11 1997-10-07 Taiwan Semiconductor Manufacturing Company Ltd. Power level sensing for mixed voltage chip design
CN1192298C (en) 1996-01-17 2005-03-09 德克萨斯仪器股份有限公司 Method and system for controlling computer operation in response to central processing unit operating characteristics
US5812860A (en) * 1996-02-12 1998-09-22 Intel Corporation Method and apparatus providing multiple voltages and frequencies selectable based on real time criteria to control power consumption
US5977763A (en) 1996-02-27 1999-11-02 Micron Technology, Inc. Circuit and method for measuring and forcing an internal voltage of an integrated circuit
US5630110A (en) * 1996-03-01 1997-05-13 Samsung Electronics Co., Ltd. Method and apparatus for enhancing performance of a processor
US6023776A (en) 1996-03-22 2000-02-08 Matsushita Electric Industrial Co., Ltd. Central processing unit having a register which store values to vary wait cycles
US5815724A (en) 1996-03-29 1998-09-29 Intel Corporation Method and apparatus for controlling power consumption in a microprocessor
US5796313A (en) 1996-04-25 1998-08-18 Waferscale Integration Inc. Low power programmable ring oscillator
US5940785A (en) 1996-04-29 1999-08-17 International Business Machines Corporation Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit
US6025737A (en) 1996-11-27 2000-02-15 Altera Corporation Circuitry for a low internal voltage integrated circuit
US5760636A (en) * 1996-06-28 1998-06-02 Intel Corporation Adjusting clock frequency and voltage supplied to a processor in a computer system
US5764110A (en) 1996-07-15 1998-06-09 Mitsubishi Denki Kabushiki Kaisha Voltage controlled ring oscillator stabilized against supply voltage fluctuations
US5848281A (en) 1996-07-23 1998-12-08 Smalley; Kenneth George Method and apparatus for powder management in a multifunction controller with an embedded microprocessor
FR2752312B1 (en) 1996-08-07 1998-10-30 Motorola Semiconducteurs METHOD AND CIRCUIT FOR DYNAMICALLY ADJUSTING THE SUPPLY VOLTAGE AND OR THE FREQUENCY OF THE CLOCK SIGNAL IN A DIGITAL CIRCUIT
US5742142A (en) 1996-08-09 1998-04-21 Delco Electronics Corp. Low radiated emission motor speed control with PWM regulator
US5828868A (en) 1996-11-13 1998-10-27 Intel Corporation Processor having execution core sections operating at different clock rates
US6040668A (en) 1996-11-14 2000-03-21 Telcom Semiconductor, Inc. Monolithic fan controller
US5940786A (en) 1996-11-22 1999-08-17 Eaton Corporation Temperature regulated clock rate for microprocessors
US5757171A (en) 1996-12-31 1998-05-26 Intel Corporation On-board voltage regulators with automatic processor type detection
US5884049A (en) 1996-12-31 1999-03-16 Compaq Computer Corporation Increased processor performance comparable to a desktop computer from a docked portable computer
US5864225A (en) 1997-06-04 1999-01-26 Fairchild Semiconductor Corporation Dual adjustable voltage regulators
DE69719317D1 (en) 1997-07-17 2003-04-03 St Microelectronics Srl System to increase the resolution when converting digital data to PWM signals to control a full-bridge output stage
JP3650269B2 (en) 1997-10-07 2005-05-18 セイコーインスツル株式会社 Electronic timepiece with power generation element
US6011403A (en) 1997-10-31 2000-01-04 Credence Systems Corporation Circuit arrangement for measuring leakage current utilizing a differential integrating capacitor
US6065131A (en) 1997-11-26 2000-05-16 International Business Machines Corporation Multi-speed DSP kernel and clock mechanism
US6678831B1 (en) 1997-12-11 2004-01-13 Hewlett-Packard Development Company, L.P. Managing power states in a computer system
US6167529A (en) 1997-12-30 2000-12-26 Intel Corporation Instruction dependent clock scheme
US6065126A (en) 1998-02-02 2000-05-16 Tran; Thang Minh Method and apparatus for executing plurality of operations per clock cycle in a single processing unit with a self-timed and self-enabled distributed clock
US6163583A (en) 1998-03-25 2000-12-19 Sony Corporation Of Japan Dynamic clocking apparatus and system for reducing power dissipation
US5923545A (en) 1998-05-18 1999-07-13 Intel Corporation Method and apparatus for providing multiple output voltages from a voltage regulator
US6134167A (en) 1998-06-04 2000-10-17 Compaq Computer Corporation Reducing power consumption in computer memory
US6124732A (en) 1998-07-15 2000-09-26 Lucent Technologies, Inc. Signaling voltage range discriminator
JP4008583B2 (en) 1998-07-22 2007-11-14 株式会社沖データ Electronics
US6242936B1 (en) 1998-08-11 2001-06-05 Texas Instruments Incorporated Circuit for driving conductive line and testing conductive line for current leakage
US6347379B1 (en) 1998-09-25 2002-02-12 Intel Corporation Reducing power consumption of an electronic device
FI117523B (en) * 1998-10-07 2006-11-15 Nokia Corp A method for controlling power consumption
GB9822132D0 (en) 1998-10-09 1998-12-02 Sun Microsystems Inc Configuring system units
US6426641B1 (en) 1998-10-21 2002-07-30 International Business Machines Corporation Single pin performance screen ring oscillator with frequency division
US5952798A (en) 1998-10-28 1999-09-14 Texas Instruments Incorporated Brushless DC motor assembly control circuit
US6415388B1 (en) 1998-10-30 2002-07-02 Intel Corporation Method and apparatus for power throttling in a microprocessor using a closed loop feedback system
KR100363105B1 (en) 1998-12-23 2003-02-19 주식회사 하이닉스반도체 Self-Refresh Device for Compensating Cellridge Current
US6484265B2 (en) 1998-12-30 2002-11-19 Intel Corporation Software control of transistor body bias in controlling chip parameters
EP1155556A2 (en) 1999-02-26 2001-11-21 BellSouth Intellectual Property Corporation Methods and systems for enabling a reply call to a voice mail message
JP3866436B2 (en) * 1999-03-18 2007-01-10 株式会社東芝 Semiconductor device and semiconductor system provided with the same
US6662775B2 (en) * 1999-03-23 2003-12-16 Thomas Engine Company, Llc Integral air compressor for boost air in barrel engine
US6363490B1 (en) 1999-03-30 2002-03-26 Intel Corporation Method and apparatus for monitoring the temperature of a processor
JP3049051B1 (en) 1999-03-31 2000-06-05 新潟日本電気株式会社 Temperature control circuit of central processing unit
EP1045251A3 (en) 1999-04-14 2001-09-12 Matsushita Electric Industrial Co., Ltd. Voltage detecting circuit
US6304824B1 (en) 1999-04-21 2001-10-16 Hewlett-Packard Company Voltage control of integrated circuits
US6457134B1 (en) 1999-04-21 2002-09-24 Palm, Inc. Portable computer with differentiated time-out feature
US6425086B1 (en) 1999-04-30 2002-07-23 Intel Corporation Method and apparatus for dynamic power control of a low power processor
US6470289B1 (en) 1999-08-05 2002-10-22 Compaq Information Technologies Group, L.P. Independently controlling passive and active cooling in a computer system
US6748408B1 (en) 1999-10-21 2004-06-08 International Buisness Machines Corporation Programmable non-integer fractional divider
DE69920460T2 (en) 1999-10-25 2005-01-20 Texas Instruments Inc., Dallas Intelligent power control in distributed processing systems
JP2001134752A (en) * 1999-11-05 2001-05-18 Mitsubishi Electric Corp Graphic processor and data processing method for the same
US6422746B1 (en) 1999-11-23 2002-07-23 G & W Instruments, Inc. Method and device for a self orienting floating apparatus
US7100061B2 (en) 2000-01-18 2006-08-29 Transmeta Corporation Adaptive power control
US6535986B1 (en) * 2000-03-14 2003-03-18 International Business Machines Corporation Optimizing performance of a clocked system by adjusting clock control settings and clock frequency
EP1137162B1 (en) 2000-03-23 2005-02-16 STMicroelectronics S.r.l. Analog/digital PWM control circuit of a winding
US6721892B1 (en) * 2000-05-09 2004-04-13 Palmone, Inc. Dynamic performance adjustment of computation means
TW498998U (en) 2000-05-17 2002-08-11 Asustek Comp Inc Switching circuit for supplying operation point of central processor
US20010045779A1 (en) 2000-05-26 2001-11-29 Huey Lee Intelligent power system
JP2001359273A (en) 2000-06-14 2001-12-26 Toshiba Corp Power supply apparatus and information processing apparatus using the power supply apparatus
US6476632B1 (en) 2000-06-22 2002-11-05 International Business Machines Corporation Ring oscillator design for MOSFET device reliability investigations and its use for in-line monitoring
US20020032829A1 (en) 2000-06-28 2002-03-14 Z-World, Inc. Microprocessor memory device controller
JP4353621B2 (en) 2000-06-30 2009-10-28 株式会社ルネサステクノロジ Semiconductor device
EP1182556B1 (en) 2000-08-21 2009-08-19 Texas Instruments France Task based adaptive profiling and debugging
EP1182538B1 (en) 2000-08-21 2010-04-07 Texas Instruments France Temperature field controlled scheduling for processing systems
DE10141626B4 (en) 2000-09-06 2007-08-09 International Business Machines Corp. Dynamic equalization of performance and power consumption
US6941480B1 (en) 2000-09-30 2005-09-06 Intel Corporation Method and apparatus for transitioning a processor state from a first performance mode to a second performance mode
US6448815B1 (en) 2000-10-30 2002-09-10 Api Networks, Inc. Low voltage differential receiver/transmitter and calibration method thereof
US6668346B1 (en) 2000-11-10 2003-12-23 Sun Microsystems, Inc. Digital process monitor
JP3877518B2 (en) 2000-12-13 2007-02-07 松下電器産業株式会社 Processor power control device
US6988211B2 (en) 2000-12-29 2006-01-17 Intel Corporation System and method for selecting a frequency and voltage combination from a table using a selection field and a read-only limit field
WO2002059759A2 (en) 2001-01-23 2002-08-01 Primarion, Inc. Spatially filtered data bus drivers and receivers and method of operating same
US6794836B2 (en) 2001-02-06 2004-09-21 Invacare Corporation Electric motor drive controller with voltage control circuit operative in different modes
JP2002247875A (en) 2001-02-22 2002-08-30 Japan Servo Co Ltd Fan motor driving circuit
US6369557B1 (en) 2001-03-12 2002-04-09 Semiconductor Components Industries Llc Adaptive loop response in switch-mode power supply controllers
US20020138778A1 (en) 2001-03-22 2002-09-26 Cole James R. Controlling CPU core voltage to reduce power consumption
CA2377828C (en) 2001-03-30 2009-11-17 Council Of Scientific And Industrial Research An improved antiglare optical device
US6836849B2 (en) 2001-04-05 2004-12-28 International Business Machines Corporation Method and apparatus for controlling power and performance in a multiprocessing system according to customer level operational requirements
US6795927B1 (en) 2001-05-01 2004-09-21 Advanced Micro Devices, Inc. Power state resynchronization
US6990594B2 (en) 2001-05-02 2006-01-24 Portalplayer, Inc. Dynamic power management of devices in computer system by selecting clock generator output based on a current state and programmable policies
US6920573B2 (en) 2001-05-23 2005-07-19 Smartpower Corporation Energy-conserving apparatus and operating system having multiple operating functions stored in keep-alive memory
US7058824B2 (en) 2001-06-15 2006-06-06 Microsoft Corporation Method and system for using idle threads to adaptively throttle a computer
US6535424B2 (en) 2001-07-25 2003-03-18 Advanced Micro Devices, Inc. Voltage boost circuit using supply voltage detection to compensate for supply voltage variations in read mode voltage
TW513625B (en) 2001-07-27 2002-12-11 Prolific Technology Inc Fan rotation speed control system
US7394052B2 (en) 2001-07-30 2008-07-01 Nippon Telegraph And Telephone Corporation Parallel processing logic circuit for sensor signal processing
US6968470B2 (en) 2001-08-07 2005-11-22 Hewlett-Packard Development Company, L.P. System and method for power management in a server system
US6853259B2 (en) 2001-08-15 2005-02-08 Gallitzin Allegheny Llc Ring oscillator dynamic adjustments for auto calibration
US7013232B2 (en) 2001-08-15 2006-03-14 National Insurance Corporation Network-based system for configuring a measurement system using configuration information generated based on a user specification
WO2003021453A2 (en) 2001-08-29 2003-03-13 Analog Devices, Inc. Generic serial port architecture and system
TW529247B (en) 2001-09-06 2003-04-21 Via Tech Inc Digital wave generation device and method
US6774587B2 (en) 2001-09-25 2004-08-10 Siemens Vdo Automotive Inc. Multiple brush-type motor control apparatus and method
US7111178B2 (en) 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US6621242B2 (en) 2001-10-01 2003-09-16 Silicon Touch Technology Inc. Motor speed control circuit having a synchronous PWM signal
US20030074591A1 (en) 2001-10-17 2003-04-17 Mcclendon Thomas W. Self adjusting clocks in computer systems that adjust in response to changes in their environment
US20040025061A1 (en) 2001-10-25 2004-02-05 Lawrence Richard H. Method and system for power reduction
US6714891B2 (en) 2001-12-14 2004-03-30 Intel Corporation Method and apparatus for thermal management of a power supply to a high performance processor in a computer system
JP3782968B2 (en) 2001-12-26 2006-06-07 インターナショナル・ビジネス・マシーンズ・コーポレーション Information processing apparatus, program, and power skim execution method
US6947865B1 (en) 2002-02-15 2005-09-20 Nvidia Corporation Method and system for dynamic power supply voltage adjustment for a semiconductor integrated circuit device
DE60202436T2 (en) 2002-02-19 2006-05-04 Stmicroelectronics S.R.L., Agrate Brianza Linear PWM control for an electromagnetic load
JP3563066B2 (en) 2002-04-02 2004-09-08 ローム株式会社 Power supply device and portable device having the same
US6731179B2 (en) 2002-04-09 2004-05-04 International Business Machines Corporation System and method for measuring circuit performance degradation due to PFET negative bias temperature instability (NBTI)
US7336090B1 (en) 2002-04-16 2008-02-26 Transmeta Corporation Frequency specific closed loop feedback control of integrated circuits
US7180322B1 (en) 2002-04-16 2007-02-20 Transmeta Corporation Closed loop feedback control of integrated circuits
US6792379B2 (en) 2002-04-24 2004-09-14 Yoshiyuki Ando Data-based control of integrated circuits
US6657504B1 (en) 2002-04-30 2003-12-02 Unisys Corporation System and method of determining ring oscillator speed
US6885233B2 (en) 2002-05-02 2005-04-26 Intel Corporation Altering operating frequency and voltage set point of a circuit in response to the operating temperature and instantaneous operating voltage of the circuit
JP3742780B2 (en) 2002-05-09 2006-02-08 松下電器産業株式会社 DC-DC converter
US7149909B2 (en) 2002-05-09 2006-12-12 Intel Corporation Power management for an integrated graphics device
US6650074B1 (en) 2002-05-29 2003-11-18 Dell Products, L.P. Fan speed controller with conditioned tachometer signal
US6801004B2 (en) 2002-06-20 2004-10-05 Minebea Co., Ltd. System and method of controlling cooling fan speeds
DE10234181B3 (en) 2002-07-26 2004-04-08 Infineon Technologies Ag Adaptive voltage monitoring
US6799134B2 (en) 2002-08-09 2004-09-28 Texas Instruments Incorporated Characterization of self-timed sequential circuits
US7058828B2 (en) 2002-08-12 2006-06-06 Hewlett-Packard Development Company, L.P. System, method and apparatus for the frequency management of blades in a bladed architecture based on performance requirements
US6724214B2 (en) 2002-09-13 2004-04-20 Chartered Semiconductor Manufacturing Ltd. Test structures for on-chip real-time reliability testing
US7013406B2 (en) 2002-10-14 2006-03-14 Intel Corporation Method and apparatus to dynamically change an operating frequency and operating voltage of an electronic device
JP3993502B2 (en) 2002-10-21 2007-10-17 株式会社ルネサステクノロジ Multi-phase DC motor rotation drive control device and start-up method
US6815971B2 (en) 2002-11-06 2004-11-09 Taiwan Semiconductor Manufacturing Co., Ltd Method and apparatus for stress testing integrated circuits using an adjustable AC hot carrier injection source
US7043649B2 (en) 2002-11-20 2006-05-09 Portalplayer, Inc. System clock power management for chips with multiple processing modules
US6976112B2 (en) 2002-11-27 2005-12-13 International Business Machines Corporation Apparatus, method and program product for automatically distributing power to modules inserted in live chassis
US7120804B2 (en) 2002-12-23 2006-10-10 Intel Corporation Method and apparatus for reducing power consumption through dynamic control of supply voltage and body bias including maintaining a substantially constant operating frequency
US7334198B2 (en) 2002-12-31 2008-02-19 Transmeta Corporation Software controlled transistor body bias
US6853569B2 (en) 2003-01-17 2005-02-08 The Hong Kong Polytechnic University DC to DC converter
TW591873B (en) 2003-02-25 2004-06-11 Datech Technology Co Ltd Fan driving circuit using a PWM input signal
US7583555B2 (en) 2003-04-11 2009-09-01 Qualcomm Incorporated Robust and Efficient dynamic voltage scaling for portable devices
US7051215B2 (en) 2003-06-13 2006-05-23 Intel Corporation Power management for clustered computing platforms
US6987370B2 (en) 2003-06-23 2006-01-17 Hewlett-Packard Development Company, L.P. Method and system for cooling electronic components
US7337018B2 (en) 2003-07-31 2008-02-26 Hewlett-Packard Development Company, L.P. Heat sink fan management based on performance requirements
US6837063B1 (en) 2003-07-31 2005-01-04 Dell Products L.P. Power management of a computer with vapor-cooled processor
JP2005098981A (en) 2003-08-27 2005-04-14 Nec Corp Semiconductor integrated circuit device, measurement result managing system, and management server
US6914492B2 (en) 2003-09-25 2005-07-05 Lsi Logic Corporation Digital programmable delay scheme with automatic calibration
US7042296B2 (en) 2003-09-25 2006-05-09 Lsi Logic Corporation Digital programmable delay scheme to continuously calibrate and track delay over process, voltage and temperature
US7467318B2 (en) 2003-09-29 2008-12-16 Ati Technologies Ulc Adaptive temperature dependent feedback clock control system and method
US7003421B1 (en) 2003-11-03 2006-02-21 Lsi Logic Corporation VDD over and undervoltage measurement techniques using monitor cells
GB2408116B (en) 2003-11-14 2006-09-20 Advanced Risc Mach Ltd Operating voltage determination for an integrated circuit
US7045993B1 (en) 2004-04-29 2006-05-16 National Semiconductor Corporation Apparatus and method for step-down switching voltage regulation
US6970798B1 (en) 2004-05-06 2005-11-29 International Business Machines Corporation Method, apparatus and computer program product for high speed memory testing
US7348827B2 (en) 2004-05-19 2008-03-25 Altera Corporation Apparatus and methods for adjusting performance of programmable logic devices
US7129745B2 (en) 2004-05-19 2006-10-31 Altera Corporation Apparatus and methods for adjusting performance of integrated circuits
US20050268189A1 (en) 2004-05-28 2005-12-01 Hewlett-Packard Development Company, L.P. Device testing using multiple test kernels
US7284137B2 (en) 2004-06-29 2007-10-16 Intel Corporation System and method for managing power consumption within an integrated circuit
US6975087B1 (en) 2004-08-06 2005-12-13 Delphi Technologies, Inc. Closed-loop control system
US7509504B1 (en) 2004-09-30 2009-03-24 Transmeta Corporation Systems and methods for control of integrated circuits comprising body biasing systems
US7256571B1 (en) 2004-10-01 2007-08-14 Nvidia Corporation Power supply dynamic set point circuit
US7739531B1 (en) 2005-03-04 2010-06-15 Nvidia Corporation Dynamic voltage scaling
ITTO20050307A1 (en) 2005-05-06 2006-11-07 St Microelectronics Srl SWITCHING CIRCUIT BETWEEN CLOCK SIGNALS AND ITS PROCEDURE
US7652494B2 (en) 2005-07-01 2010-01-26 Apple Inc. Operating an integrated circuit at a minimum supply voltage
US7348836B1 (en) 2005-08-15 2008-03-25 Nvidia Corporation Integrated circuit core power supply event monitor

Patent Citations (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218705A (en) * 1989-04-17 1993-06-08 Motorola, Inc. Pager receiver with selective operating voltage and reduced power consumption
US20020004912A1 (en) * 1990-06-01 2002-01-10 Amphus, Inc. System, architecture, and method for logical server and other network devices in a dynamically configurable multi-server network environment
US5710929A (en) * 1990-06-01 1998-01-20 Vadem Corporation Multi-state power management for computer systems
US5884068A (en) * 1991-10-17 1999-03-16 Intel Corporation Integrated circuit having a core which operates at a speed greater than the frequency of the bus
US5300831A (en) * 1992-09-04 1994-04-05 Pham Dac C Logic macro and protocol for reduced power consumption during idle state
US5978926A (en) * 1992-09-09 1999-11-02 Mips Technologies, Inc. Processor chip for using an external clock to generate an internal clock and for using data transmit patterns in combination with the internal clock to control transmission of data words to an external memory
US5396443A (en) * 1992-10-07 1995-03-07 Hitachi, Ltd. Information processing apparatus including arrangements for activation to and deactivation from a power-saving state
US5666522A (en) * 1994-01-28 1997-09-09 Micron Electronics, Inc. Variable speed controller
US6311287B1 (en) * 1994-10-11 2001-10-30 Compaq Computer Corporation Variable frequency clock control for microprocessor-based computer systems
US5583875A (en) * 1994-11-28 1996-12-10 Siemens Rolm Communications Inc. Automatic parametric self-testing and grading of a hardware system
US5590342A (en) * 1994-11-29 1996-12-31 Intel Corporation Method and apparatus for reducing power consumption in a computer system using virtual device drivers
US5787011A (en) * 1995-01-19 1998-07-28 Texas Instruments Incorporated Low-power design techniques for high-performance CMOS circuits
US5587672A (en) * 1995-09-25 1996-12-24 Neomagic Corp. Dynamic logic having power-down mode with periodic clock refresh for a low-power graphics controller
US5774703A (en) * 1996-01-05 1998-06-30 Motorola, Inc. Data processing system having a register controllable speed
US6035357A (en) * 1996-06-07 2000-03-07 Kabushiki Kaisha Toshiba IC card compatible with different supply voltages, IC card system comprising the same, and IC for the IC card
US5774704A (en) * 1996-07-29 1998-06-30 Silicon Graphics, Inc. Apparatus and method for dynamic central processing unit clock adjustment
US5926394A (en) * 1996-09-30 1999-07-20 Intel Corporation Method and apparatus for regulating the voltage supplied to an integrated circuit
US5913067A (en) * 1996-10-29 1999-06-15 Micron Electronics, Inc. Apparatus for adaptive power management of a computer system
US6005904A (en) * 1997-10-16 1999-12-21 Oasis Design, Inc. Phase-locked loop with protected output during instances when the phase-locked loop is unlocked
US6167524A (en) * 1998-04-06 2000-12-26 International Business Machines Corporation Apparatus and method for efficient battery utilization in portable personal computers
US6141762A (en) * 1998-08-03 2000-10-31 Nicol; Christopher J. Power reduction in a multiprocessor digital signal processor based on processor load
US6255974B1 (en) * 1999-01-08 2001-07-03 Mitsubishi Electric And Electronics Usa, Inc Programmable dynamic range sigma delta A/D converter
US6360327B1 (en) * 1999-03-12 2002-03-19 Compaq Information Technologies Group, L.P. System with control registers for managing computer legacy peripheral devices using an advanced configuration power interface software power management system
US6664775B1 (en) * 2000-08-21 2003-12-16 Intel Corporation Apparatus having adjustable operational modes and method therefore
US20040032414A1 (en) * 2000-12-29 2004-02-19 Satchit Jain Entering and exiting power managed states without disrupting accelerated graphics port transactions
US20020099964A1 (en) * 2001-01-22 2002-07-25 Andrej Zdravkovic Reducing power consumption by estimating engine load and reducing engine clock speed
US20040105237A1 (en) * 2001-01-22 2004-06-03 Hoover David S. CVD diamond enhanced microprocessor cooling system
US6938176B1 (en) * 2001-10-05 2005-08-30 Nvidia Corporation Method and apparatus for power management of graphics processors and subsystems that allow the subsystems to respond to accesses when subsystems are idle
US20050268141A1 (en) * 2001-10-05 2005-12-01 Jonah Alben Method and apparatus for power management of graphics processors and subsystems thereof
US20030079151A1 (en) * 2001-10-18 2003-04-24 International Business Machines Corporation Energy-aware workload distribution
US6889332B2 (en) * 2001-12-11 2005-05-03 Advanced Micro Devices, Inc. Variable maximum die temperature based on performance state
US7256788B1 (en) * 2002-06-11 2007-08-14 Nvidia Corporation Graphics power savings system and method
US7886164B1 (en) * 2002-11-14 2011-02-08 Nvidia Corporation Processor temperature adjustment system and method
US7882369B1 (en) * 2002-11-14 2011-02-01 Nvidia Corporation Processor performance adjustment system and method
US7849332B1 (en) * 2002-11-14 2010-12-07 Nvidia Corporation Processor voltage adjustment system and method
US7725749B2 (en) * 2004-08-05 2010-05-25 Panasonic Corporation Information processing device for assigning processes to a main CPU or sub-CPU based on a sleeping state
US7409570B2 (en) * 2005-05-10 2008-08-05 Sony Computer Entertainment Inc. Multiprocessor system for decrypting and resuming execution of an executing program after transferring the program code between two processors via a shared main memory upon occurrence of predetermined condition
US7414450B2 (en) * 2005-09-15 2008-08-19 Semiconductor Manufacturing International (Shanghai) Corporation System and method for adaptive power supply to reduce power consumption
US7574613B2 (en) * 2006-03-14 2009-08-11 Microsoft Corporation Scaling idle detection metric for power management on computing device
US20070220289A1 (en) * 2006-03-14 2007-09-20 Microsoft Corporation Scaling idle detection metric for power management on computing device
US7490256B2 (en) * 2006-04-04 2009-02-10 Microsoft Corporation Identifying a target processor idle state
US20070234088A1 (en) * 2006-04-04 2007-10-04 Microsoft Corporation Identifying a target processor idle state
US20100318828A1 (en) * 2009-06-11 2010-12-16 Sun Microsystems, Inc. Method And System For Generating A Power Consumption Model Of At Least One Server

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110191602A1 (en) * 2010-01-29 2011-08-04 Bearden David R Processor with selectable longevity
US20110219270A1 (en) * 2010-03-03 2011-09-08 Fujitsu Limited Method and apparatus for logging system characteristic data
US8381042B2 (en) * 2010-03-03 2013-02-19 Fujitsu Limited Method and apparatus for logging system characteristic data
US20110271161A1 (en) * 2010-04-30 2011-11-03 International Business Machines Corporation On-Chip Non-Volatile Storage of a Test-Time Profile for Efficiency and Performance Control
US8276018B2 (en) 2010-04-30 2012-09-25 International Business Machines Corporation Non-volatile memory based reliability and availability mechanisms for a computing device
US8386859B2 (en) * 2010-04-30 2013-02-26 International Business Machines Corporation On-chip non-volatile storage of a test-time profile for efficiency and performance control
US20110320061A1 (en) * 2010-06-23 2011-12-29 Hon Hai Precision Industry Co., Ltd. Temperature control system and method for computing device
US8856571B2 (en) * 2011-04-05 2014-10-07 Apple Inc. Adjusting device performance over multiple time domains
US20120260083A1 (en) * 2011-04-05 2012-10-11 Andrews Jonathan J Adjusting Device Performance over Multiple Time Domains
US20120159216A1 (en) * 2011-12-22 2012-06-21 Wells Ryan D Method, apparatus, and system for energy efficiency and energy conservation including enhanced temperature based voltage control
US8874949B2 (en) * 2011-12-22 2014-10-28 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including enhanced temperature based voltage control
US9594594B2 (en) * 2012-10-18 2017-03-14 Advanced Micro Devices, Inc. Media hardware resource allocation
US20140115597A1 (en) * 2012-10-18 2014-04-24 Advanced Micro Devices, Inc. Media hardware resource allocation
US8948314B2 (en) 2012-10-31 2015-02-03 The John Hopkins University Symbol timing recovery with multi-core processor
US20140189696A1 (en) * 2012-12-28 2014-07-03 Enric H. Abellanas Failure rate based control of processors
US9619309B2 (en) * 2012-12-28 2017-04-11 Intel Corporation Enforcing different operational configurations for different tasks for failure rate based control of processors
US8836372B1 (en) 2013-03-01 2014-09-16 Raytheon Company Minimizing power consumption in asynchronous dataflow architectures
WO2014133679A1 (en) * 2013-03-01 2014-09-04 Raytheon Company Minimizing power consumption in asynchronous dataflow architectures
US9281820B2 (en) 2013-03-01 2016-03-08 Raytheon Company Minimizing power consumption in asynchronous dataflow architectures
WO2014209397A1 (en) * 2013-06-28 2014-12-31 Intel Corporation A power detector circuit
US9946658B2 (en) 2013-11-22 2018-04-17 Nvidia Corporation Memory interface design having controllable internal and external interfaces for bypassing defective memory
US20220197362A1 (en) * 2017-04-17 2022-06-23 Intel Corporation System, apparatus and method for increasing performance in a processor during a voltage ramp
WO2020205154A1 (en) * 2019-03-29 2020-10-08 Intel Corporation Input voltage protection
US20240094793A1 (en) * 2022-06-23 2024-03-21 Nvidia Corporation Techniques to modify processor performance

Also Published As

Publication number Publication date
US7882369B1 (en) 2011-02-01

Similar Documents

Publication Publication Date Title
US7882369B1 (en) Processor performance adjustment system and method
US7886164B1 (en) Processor temperature adjustment system and method
US7849332B1 (en) Processor voltage adjustment system and method
EP3196732B1 (en) System and method for dynamically adjusting voltage frequency
US7467318B2 (en) Adaptive temperature dependent feedback clock control system and method
US7120804B2 (en) Method and apparatus for reducing power consumption through dynamic control of supply voltage and body bias including maintaining a substantially constant operating frequency
US7131016B2 (en) Method and apparatus for adjusting clock throttle rate based on usage of CPU
US7149909B2 (en) Power management for an integrated graphics device
US7382366B1 (en) Method, apparatus, system, and graphical user interface for selecting overclocking parameters of a graphics system
US7319358B2 (en) Method and apparatus for generating an adaptive power supply voltage
JP2009522688A (en) System and method for operating integrated circuit components at independent frequencies and / or voltages
US7610496B2 (en) Controlling heat generated by a central processing unit utilizing battery power management modes when power supply is limited
KR100942856B1 (en) System, method, and computer program product for adjusting a programmable graphics/audio processor based on input and output parameters
US7725759B2 (en) System and method of managing clock speed in an electronic device
JP2008541269A (en) Adaptive frequency boundary control based on temperature
US8258861B2 (en) Systems and methods for minimizing power consumption
US20210373637A1 (en) Controlling a Processor Clock
JP2020155975A (en) Semiconductor device and control method of semiconductor device
JP2010110185A (en) Electronic apparatus and method of controlling fan
US10659063B2 (en) Adaptive voltage frequency scaling for optimal power efficiency
US8250409B2 (en) Boot test apparatus and method of computer system
US20070300082A1 (en) Method for controlling operation of microprocessor which performs duty cycle correction process
US7554344B2 (en) Apparatus and method of adjusting system efficiency
US8402288B2 (en) Apparatus and method for controlling voltage and frequency using multiple reference circuits
CN110701084A (en) Fan control method in electronic system

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION