A silicon chip design (e.g., a processor) has core functionality that operates properly within certain operating limits (e.g., voltage, temperature, frequency). If a design is operating outside the allowed operating limits, the core functionality may fail. Also, the behavior of the design can have a direct influence on the operating limits. For example, an increase of the activity of the core functionality of a silicon design will increase the power drawn, which will put additional stress on the voltage and temperature control systems leading to lower voltages and higher temperatures for the core functionality, both of which degrade the operating conditions. In addition, jitter and frequency error can cause the operating frequency of the circuits of the core functionality to be higher than expected, which degrades the operating margin available to the design. Normally, external forces and age can cause the operating conditions to degrade over time resulting in an eventual failure of the silicon design.
This disclosure relates generally to systems and methods for operating within operating condition limits. The systems and methods monitor operating factors associated with operating conditions of an integrated circuit. The operating factors are employed to determine an aggregated operating specification value, which corresponds to the operating conditions of the integrated circuit. The aggregated specification value is compared to a predetermined threshold value to determine if the integrated circuit is operating within (below) or outside (above) the operating condition limits of the integrated circuit. If the integrated circuit is operating outside the operating condition limits, corrective action (e.g., reducing instruction throughput) is taken to adjust the operating conditions (e.g., activity level), such that the operating conditions are below the operating condition limits. The operation condition limits and the predetermined threshold value are set at an operating condition point that is below a maximum specification value associated with the maximum allowable operating conditions to maintain a margin between operating conditions and the maximum specification value in an attempt to maintain operation below the maximum allowable operating conditions.
The system 20 includes a margin detector 14 and an operating condition control 18 associated with the core circuitry 12. The margin detector 14 is fabricated on the same integrated circuit material (e.g., the same silicon chip), and subject to the same fabrication processes, such that the margin detector 14 has similar inherent characteristics and manufacturing variations as the core circuitry 12, which ages at the same rate as the core circuitry 12. Additionally, the margin detector 14 is subjected to the same operating temperature as the core circuitry 12, employs the same DC voltage level as the core circuitry 12 and the same internal frequency of the core circuitry 12. Therefore, the margin detector 14 encodes the voltage, frequency, temperature and age of the core circuitry 12 to generate an aggregated specification value corresponding to the operating conditions of the core circuitry 12.
The aggregated specification value is compared to a predetermined threshold value to determine if the core circuitry 12 is operating within or outside the operating condition limits of the core circuitry 12. The predetermined threshold value is set at an operating condition point that is below a maximum specification value associated with maximum allowable operating conditions of the core circuitry 12 to maintain a margin between operating conditions and the maximum specification value. If the core circuitry 12 is operating outside the operating condition limits, an overthreshold indicator is provided to the operating condition control 18. The operating condition control 18 adjusts the operating conditions (e.g., activity level) of the core circuitry 12 to reduce the operating conditions below the operating condition limits. For example, an adjustment in the activity level of the core circuitry 12 results in a reduction in power dissipation and a reduction in temperature of the core circuit.
The oscillator 30 includes a second AND gate 36, a variable delay element 38, and an output inverter 40. The second AND gate 36 receives an output of the first AND gate 34 as a first input and a feedback signal from the output of the variable delay element 38 as a second input. The output of the variable delay element 38 is inverted such that the feedback signal to the second AND gate 36 causes the output of the variable delay element 38 to oscillate in response to the first input of the second AND gate 36 being in an active state. The variable delay element 38 includes circuitry (e.g., inverters, buffers) that operate at the core DC voltage and are subject to the core operating temperature. Therefore, the variable delay element 38 oscillates at an encoded frequency that corresponds to the core frequency, core voltage and core temperature. The variable delay element 38 is also subject to the same aging as the core circuitry. The output of the variable delay element 38 is provided to a counter through the inverter 40 to provide a count value over the predetermined clock cycle count time period that provides an aggregated measure or count corresponding to the operating conditions of the core circuitry. The count value will decrease with an increase in core frequency, an increase in core temperature or a decrease in core voltage. If the count value falls below a threshold count value, the core circuitry is exceeding its operating condition limits.
A select line (SEL1-SELN) selects a given oscillator 54 most representative of the operating characteristics or critical path of the core circuitry. An oscillator enable line is provided to the selected oscillator 54 that is active for a predetermined clock cycle count time period (e.g., 65,536 clock cycles) associated with the core clock. During the predetermined clock cycle count time period, the oscillator 54 oscillates at a frequency that corresponds to the delay of the delay element (or critical path) with the core frequency, core temperature and core voltage encoded into the oscillator frequency, as illustrated in
At the end of the predetermined clock cycle time period, the count value is updated by clocking in the counter value to a comparator 62 through a flip flop 60 via a counter update signal. The counter value or aggregated specification count value is compared to a predetermined threshold count value to determine if the core circuitry is operating within or outside the operating condition limits of the core circuitry. The predetermined threshold count is indicative of the operating condition limits of the core circuitry and can be determined at manufacturing test time and set for normal operation. The predetermined threshold value and the operating condition limits are set at an operating condition point that is below a maximum specification value associated with maximum allowable operating conditions to maintain a margin between operating conditions and the maximum specification value. If the count value is below the predetermined threshold count, the core circuitry is operating outside the operating condition limits and an overthreshold indicator signal is generated. Otherwise the core circuitry is operating within the operating condition limits, and an overthreshold indicator signal is not generated. The counter 58 is then reset and the process repeats. The counter update, the comparison and the counter reset may take several clock cycles, but can be relatively small compared to the predetermined clock cycle time period.
The throttle control signal instructs the processor 78 to one of maintain instruction throughput, increase or step up instruction throughput or decrease or step down instruction throughput. The processor 78 responds by maintaining instruction throughput, stepping down instruction throughput or stepping up instruction throughput. If the specification count value is above the threshold count value and the processor 78 is operating at normal instruction throughput mode, the processor is operating below the operating condition limits of the processor. Therefore, a maintain instruction is provided to the processor 78 for maintaining instruction throughput of the processor 78. If the specification count value is below the threshold count value and the processor 78 is operating at normal instruction throughput mode, the processor 78 is operating outside the operating condition limits of the processor. Therefore, a step down instruction is provided to the processor 78 for reducing instruction throughput of the processor 78. The reduction of instruction throughput cause a reduction in activity of the processor 78 reducing the power dissipation and operating temperature of the processor 78.
For example, if a fault occurs in the cooling system associated with the processor, such as a fan is disabled, the temperature of the processor 78 can increase to a level above the maximum temperature limit unacceptable for proper operation of the processor. Also a sudden increase in the circuit load can cause the voltage of the processor to fall below the minimum allowable voltage limit unacceptable for proper operation of the processor. Therefore, if the processor is executing at four instructions per cycle, the processor can step down to one instruction per four clock cycles in response to a step down instruction to assure that the processor can continue to operate at reduced performance without failing.
If the specification count value is substantially above the threshold count value and the processor 78 is executing at reduced instruction throughput mode, the processor 78 is operating substantially below the operating condition limits of the processor 78. Therefore, a step up instruction is provided to the processor 78 for increasing instruction throughput of the processor 78. The increase of instruction throughput causes an increase in activity of the processor 78 increasing the performance of the processor 78. For example, if a fault in the cooling system is associated with the processor 78 is corrected, such as a fan is re-enabled, the temperature of the processor 78 will decrease to a level well below the maximum temperature limit when the processor 78 is in reduced instruction throughput mode of operation. The processor 78 can increase to allow executing at four instructions per cycle to assure that the processor 78 returns to its normal performance capability.
The first and second launch control 84 and 86 can include control associated with fetching instructions from an instruction cache 82, scheduling instructions to be executed, issuing instructions and transferring instructions through an associated pipeline via transfer registers to a given execution unit. One or more of the fetch control, the schedule control, the issue control and transfer control associated with the first and second launch control 84 and 86 can be operative to adjust the instruction throughput through one or more of the respective pipelines based on a throttle control signal (TC) by controlling the launching of instructions through respective pipelines. The first and second retire time control 96 and 98 can include control associated with retiring instruction from an associated pipeline. The first and second retire time control 96 and 98 can be operative to adjust the instruction throughput through one or more of the respective pipelines based on a throttle control signal (TC) by controlling the retiring of instructions from respective pipelines.
In view of the foregoing structural and functional features described above, certain methods will be better appreciated with reference to
For example, if the core circuitry is operating outside the operating condition limits and the processor is operating at normal instruction throughput mode, the threshold control signal instructs the core circuitry to step down or decrease instruction throughput. If the core circuitry is operating within the operating condition limits and the processor is operating at a normal instruction throughput mode, the threshold control signal instructs the core circuitry to maintain instruction throughput. If the core circuitry is operating substantially below the operating condition limits and the processor is operating at reduced instruction throughput mode, the threshold control signal instructs the core circuitry to step up or increase instruction throughput. At 140, instruction throughput is controlled based on the throttle control signal. The methodology then returns to 100 to repeat block 100-140.
What have been described above are examples of the present invention. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the present invention, but one of ordinary skill in the art will recognize that many further combinations and permutations of the present invention are possible. Accordingly, the present invention is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims.