Electrical computers and digital data processing systems: input/ – Input/output data processing – Peripheral monitoring
Reexamination Certificate
1999-03-23
2001-04-17
Lee, Thomas (Department: 2782)
Electrical computers and digital data processing systems: input/
Input/output data processing
Peripheral monitoring
C712S023000, C712S043000, C712S232000, C713S323000, C713S324000, C713S501000, C714S047300
Reexamination Certificate
active
06219723
ABSTRACT:
BACKGROUND OF THE INVENTION
The present invention relates, in general, to the field of integrated circuit (“IC”) devices. More particularly, the present invention relates to a system and method for thermal overload detection and prevention for a processor or other high speed, high density integrated circuit devices.
Early computer processors (also called microprocessors) included a central processing unit or instruction execution unit that executed only one instruction at a time. As used herein the term processor includes complete instruction set computers (“CISC”), reduced instruction set computers (“RISC”) and hybrids. In response to the need for improved performance several techniques have been used to extend the capabilities of these early processors including pipelining, superpipelining, superscaling, speculative instruction execution, and out-of-order instruction execution.
Pipelined architectures break the execution of instructions into a number of stages where each stage corresponds to one step in the execution of the instruction. Pipelined designs increase the rate at which instructions can be executed by allowing a new instruction to begin execution before a previous instruction is finished executing. Pipelined architectures have been extended to “superpipelined” or “extended pipeline” architectures where each execution pipeline is broken down into even smaller stages (i.e., microinstruction granularity is increased). Superpipelining increases the number of instructions that can be executed in the pipeline at any given time.
“Superscalar” processors generally refer to a class of microprocessor architectures that include multiple pipelines that process instructions in parallel. Superscalar processors typically execute more than one instruction per clock cycle, on average. Superscalar processors allow parallel instruction execution in two or more instruction execution pipelines. The number of instructions that may be processed is increased due to parallel execution. Each of the execution pipelines may have differing number of stages. Some of the pipelines may be optimized for specialized functions such as integer operations or floating point operations, and in some cases execution pipelines are optimized for processing graphic, multimedia, or complex math instructions.
The goal of superscalar and superpipeline processors is to execute multiple instructions per cycle (“IPC”). Instruction-level parallelism (“ILP”) available in programs can be exploited to realize this goal, however, this potential parallelism requires that instructions be dispatched for execution at a sufficient rate. Conditional branching instructions create a problem for instruction fetching because the instruction fetch unit (“IFU”) cannot know with certainty which instructions to fetch until the conditional branch instruction is resolved. Also, when a branch is detected, the target address of the instructions following the branch must be predicted to supply those instructions for execution.
Recent processor architectures use a branch prediction unit to predict the outcome of branch instructions allowing the fetch unit to fetch subsequent instructions according to the predicted outcome. Branch prediction techniques are known that can predict branch outcomes with greater than 95% accuracy. These instructions are “speculatively executed” to allow the processor to make forward progress during the time the branch instruction is resolved. When the prediction is correct, the results of the speculative execution can be used as correct results, greatly improving processor speed and efficiency. When the prediction is incorrect, the completely or partially executed instructions must be flushed from the processor and execution of the correct branch initiated.
Early processors executed instructions in an order determined by the compiled machine-language program running on the processor and so are referred to as “in-order” or “sequential” processors. In superscalar processors multiple pipelines can simultaneously process instructions only when there are no data dependencies between the instructions in each pipeline. Data dependencies cause one or more pipelines to “stall” waiting for the dependent data to become available. This is further complicated in superpipelined processors where, because many instructions are simultaneously in each pipeline, the potential quantity of data dependencies is large. Hence, greater parallelism and higher performance are achieved by “out-of-order” processors that include multiple pipelines in which instructions are processed in parallel in any efficient order that takes advantage of opportunities for parallel processing that may be provided by the instruction code.
In any event, processors capable of providing this parallelism, and operating at very high frequencies, require millions of densely integrated transistors. Concomitantly however, high density devices operating at very high clock speeds can result in potentially damaging heat generation even at relatively low operating voltages. Conventional processors, which operate at what are today considered to be high frequencies with transistor counts in the 10s of millions, are generally designed to continually operate within worst case constraints of thermal and transient power conditions. These constraints place an upper bound on the performance of the processor which can actually be much lower than the peak performance of which the device is capable. Statistically however, not all critical circuits are at their maximum active levels even when the chip is at its peak processing speed but current analysis models assume the worst combination.
Currently there are processors which can step down their internal clock until they achieve a minimum power consumption level. This power down state is entered due to the automatic detection of idle activity and the chip is powered back to nominal clock levels upon receipt of a non-masked interrupt. Some other implementations suspend execution while others continue to execute instructions while the clock frequency is being modified.
SUMMARY OF THE INVENTION
The system and method for thermal overload detection and protection for an integrated circuit processor of the present invention allows the processor to run at near maximum potential for the vast majority of its execution life. This is effectuated by the provision of circuitry to detect when the processor has exceeded its thermal thresholds and which then causes the processor to automatically reduce the clock rate to a fraction of the nominal clock while execution continues. When the thermal condition has stabilized, the clock may be raised in a stepwise fashion back to the nominal clock rate. Throughout the period of cycling the clock frequency from nominal to minimum and back, the program continues to be executed.
The system and method of the present invention is of particular utility in allowing a given processor to position its nominal clock rate at a higher frequency than traditional worst case design rules would otherwise permit. Nevertheless, with this elevated nominal clock, there are possible conditions in which the processor might experience thermal and transient power conditions that would threaten the short and long term reliability of the processor.
In this latter regard, disclosed herein are two mechanisms which can selectively throttle the execution rates of the processor. A first ensures against a surge in processor activity from near idle to near full capacity in an extremely short time period causing a concomitant current demand in excess of the capability of the local power supply. The resultant drop in the supply voltage by this excessive current demand threatens noise margins and reduces the designed to integrity of the clock.
The second mechanism addresses a condition which can threaten the long term reliability of the processor such as when it operates at its full potential for relatively long periods resulting in an increase in the temperature of the integrated circuit die beyond acceptable levels. Actual physical da
Hetherington Ricky C.
Panwar Ramesh
Gunnison, McKay & Hodgson LLP
Lee Thomas
McKay Philip
Peyton Tammara
Sun Microsystems Inc.
LandOfFree
Method and apparatus for moderating current demand in an... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for moderating current demand in an..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for moderating current demand in an... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2490009