Processor responsive to environmental conditions to enable or disable a delay in a processing action

Abstract: A processor includes logic circuitry (30) for producing output signals in response to input signal states from other circuitry (31), such input signal states subject to signal delays resulting from environmental conditions. The processor includes a wait state circuit (36) connected to the logic circuitry (30) for delaying operation of the logic circuitry (30) in response to the input signal states for a time period, the time period set in accordance with a worst case propagation delay of signals that give rise to the input states. A delay circuit (38) is responsive to environmental conditions for providing a delay indication if signal delays that result from the environmental conditions are less than a predetermined value. Further circuitry (40) is responsive to the delay indication to disable the wait state circuitry (36) so that the logic circuitry (30) operates in a more rapid manner. In one embodiment, the delay circuit (38) comprises a chain of circuits which feeds an edge triggered flip flop (40). In another embodiment, the delay circuit comprises a ring oscillator (70) whose output is compared with a known frequency (76) as a measure of signal propagation speed.

Description: FIELD OF THE INVENTION This invention relates to a processor whose processing speed is dependent upon environmental conditions, and more particularly, to a processor that enables or disables a wait state in a processing action if an environmental condition exceeds a preestablished limit. BACKGROUND OF THE INVENTION It is known that environmental conditions, i.e., temperature, power supply variations, process variables that occur during fabrication of processor components, etc., can cause substantial variations in the functioning of a processor. Designers assume "worst case" environmental conditions and often add "wait states" into a procedure to assure that all signals required for proper operation of logic circuits are present when the logic circuits are "fired". Once such a wait state is built into a procedure, it will always slow down the procedure, whether the environmental conditions are "worst case" or not. State machines often have built-in wait states. In Fig. 1, a block diagram of a state machine 10 is shown whose output 12 is connected to a combinational logic element 14. The output of combinational logic element 14 is fed via line 16 back to state machine 10. Other inputs are fed via line 18, to state machine 10. State machine 10 is designed to only provide an output on line 12 when its inputs have reached their required logical states and are stable. The time required to attain such signal stability is dependent upon, among other things, the propagation delay of signals through combinational logic element 14. Those propagation delays are variable based upon environmental conditions. In order to assure that the outputs appearing on line 16 are stable under worst case conditions, a wait state assures that internal logical circuitry only responds to input logic state conditions after a delay that considers the worst case condition. In Fig. 2, a diagram illustrates how state machine 10 will operate in the case of both typical signal delays and worst case delays. Given a typical delay, a signal sample point can be established whenever input setup signals 20 have reached a stable state. However, since state machine 10 is designed to accommodate worst case delays, signal sample point 21 is delayed in time to assure that input signals 22 are sensed only after they have stabilized. As a result, (see state diagram of Fig. 3) a wait state 24 is programmed into state machine 10 to delay the sample time. Such a delay is then always present, even if the environmental conditions are not such as to make the delay a requirement. WO92/10032 relates to a temperature-sensing control system. The object underlying the temperature-sensing control system disclosed in WO92/10032 is to provide security against temperature-induced damage to an integrated circuit. To achieve this object, temperature sensors are provided to detect heat generated by an integrated circuit. A microprocessor analyzes the detected temperatures and determines a temperature signal therefrom. A hold means is provided for slowing operation of the integrated circuit by a predetermined amount if the temperature signal exceeds a first predetermined value and for slowing the operation of the integrated circuit by a second predetermined amount or for stopping the operation of the integrated circuit if the temperature signal exceeds a second predetermined value. Therefore, in accordance with WO92/10032, a hold means is provided in order to provide additional time during which heat generated by the integrated circuit can be dissipated. US-A-3996481 describes a compensating means for holding the circuit delay and the power dissipation of an integrated circuit nearly constant. A delay chain comprising several stages of inverters acts as a delay sensor to simulate the delay of the operational circuit on the chip. The delay time of the sensor is compared with a clock reference for producing a control output signal which is used to adjust the load gate voltage until the delay in the delay sensor is equal to the clock reference. Since the same load gate voltage is distributed in the rest of the operational circuits, the delay times of these circuits will track with that of the delay sensor and, thus, also tend to be held constant. It is an object of the present invention to provide means for controlling a processor that selectively enables or disables a wait state in order to improve the performance of a processor. This object is achieved by an apparatus in accordance with claim 1. A processor includes logic circuitry for producing output signals in response to input signal states from other circuitry, such input signal states subject to signal delays resulting from environmental conditions. The processor includes a wait state circuit connected to the logic circuitry for delaying operation of the logic circuitry in response to the input signal states for a time period, the time period set in accordance with a worst case propagation delay of signals that give rise to the input states. A delay circuit is responsive to environmental conditions for providing a delay indication if said environmental conditions cause signal delays to be less than a predetermined value. Further circuitry is responsive to the delay indication to disable the wait state circuit so that the logic circuitry operates in a more rapid manner. In one embodiment, the delay circuit comprises a chain of circuits which feeds an edge triggered flip flop. In another embodiment, the delay circuit comprises a ring oscillator whose output is compared with a known frequency as a measure of signal propagation speed. DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of a prior art state machine/combinational logic arrangement that aids in understanding of the problem of signal propagation delays that result from environmental factors. Fig. 2 is a state diagram illustrating the establishment of a sample point to comply with a worst case signal propagation delay. Fig. 3 is a state diagram illustrating the imposition of a wait state to delay the operation of a sample point. Fig. 4 is a block diagram of circuitry that enables selective operation of a wait state in a state machine. Fig. 5 illustrates a series of waveform diagrams helpful in understanding the operation of the circuit of Fig. 4. Fig. 6 is a block diagram of a further embodiment of the invention. DETAILED DESCRIPTION OF THE INVENTION Referring to Fig. 4, a state machine 30 includes a variety of logical functions whose output states are respectively manifest on output lines 32. The logical functions respond to input states on input lines 31. The logical functions are inhibited from placing output states on output lines 32 in response to the inputs until a sample line 34 transitions to an active state. Sample line 34 is applied via a wait state 36 present in state machine 30. Wait state 36 may be either enabled or disabled in accordance with an input appearing on line 38. Wait state 36 may be implemented by either a software process within state machine 30 or may be implemented by a gated delay circuit that either intercepts a signal appearing on sample line 34 and subjects it to a delay or enables that signal to bypass directly into state machine 30. The operation of wait state 36 is controlled by a delay chain circuit 38 whose output is fed to an edge triggered flip-flop 40. A clock signal is fed via line 41 to delay chain circuit 38 and, via line 42, to edge triggered flip-flop 40. Delay chain circuit 38 may be a series of logical gates, inverters or other circuits that are connected in series to create a significant signal propagation delay time Td. Signal propagation delay time Td will vary in accordance with environmental conditions. Delay time Td is set so that if the delay chain circuitry 38 exhibits a typical signal propagation delay, edge triggered flip-flop 40 is caused to disable wait state 36. If, by contrast, delay chain circuitry 38 exhibits a signal propagation delay approaching a worst case situation, edge triggered flip-flop 40 outputs a signal on line 38 to enable wait state 36. A sample signal on line 34 is thus subject to a delay, before being applied to logic circuitry within state machine 30. The operation of the circuit of Fig. 4 will be better understood by referring to the waveform diagram of Fig. 5. Wave trace 50 illustrates the clock signal appearing on line 41 at point A. The delayed clock signal output from delay chain circuit 38 appears at point B and is illustrated by wave trace 52. Signal propagation delay time Td (within delay chain 38) is set so that trailing edge 54 of a delayed clock signal (under typical signal propagation delay conditions) appears prior to a rising edge 56 of a non-delayed clock signal. Under such a condition, when a rising edge 56 of a clock signal appears on line 42, edge triggered flip-flop 40 sees a low level at point B. As a result, flip flop 40 maintains the level low at point C on line 38 (trace 58), notwithstanding the attempted triggering action applied via line 42. By contrast, if environmental conditions cause delay chain circuit 38 to exhibit a signal propagation delay which when added to Td approaches a worst case situation, then a further delayed clock signal (trace 60) appears at point B. Then, when rising edge 56 of a non-delayed clock signal 50 is applied to edge triggered flip-flop 40, delayed clock signal 60 causes a high level to be applied (at point B) to edge triggered flip-flop 40. As a result, the level at point C on line 38 rises (shown by trace 62) to cause activation of wait state 36. Wait state 36 is subsequently disabled when the propagation delay through delay chain circuit 38 allows a delayed clock signal to advance in time so that, upon a rising edge of a non-delayed clock signal, a low level delayed clock pulse is present at point B. Under such a condition, flip flop 40 causes line 38 to transition to the low level and deactivates wait state 36. Turning to Fig. 6, a further embodiment of the invention is shown that enables selective operation of wait state 36. In this case, the delay chain is implemented by a ring oscillator 70. The output of ring oscillator 70 is fed to counter 72 that provides an indication of the frequency of oscillation of ring oscillator 70, which indication is fed to a comparator 74. A further input to comparator 74 is a typical count value (via line 76). An output from comparator 74 is applied to wait state 36 via line 78. When the count value from counter 72 exceeds typical delay count value applied via line 76, delays through the circuitry of ring oscillator (as a result of environmental factors) are less than a worst case threshold. (Ring oscillator 70 provides a known frequency output range when environmental factor-induced delays are within a "typical" range.) Under such conditions comparator 74 issues a signal that disables wait state 36. When, however, such delay exceeds the "typical" threshold, the frequency of ring oscillator 70 decreases. Thus, when the frequency of ring oscillator 70, as indicated by counter 72, decreases below typical count value 76, wait state 36 is enabled causing sample input (supplied via line 80) to be delayed accordingly. It should be understood that the foregoing description is only illustrative of the invention. Various alternatives and modifications can be devised by those skilled in the art without departing from the invention. Accordingly, the present invention is intended to embrace all such alternatives, modifications and variances which fall within the scope of the appended claims.

Claims: Apparatus including logic circuitry (30) for producing output signals in response to input signal states from other circuitry (31), said input signal states subject to signal delays through said other circuitry (31) resulting from environmental conditions, said apparatus comprising: wait circuit means (36) connected to said logic circuitry (30) for delaying operation for a predetermined time period of said logic circuitry (30) in response to said input signal states, said predetermined time period set to enable said input signal states to achieve stable logic levels; characterized by delay means (38) responsive to said environmental conditions for providing a typical output that indicates if said environmental conditions cause signal propagation delays to be less than a predetermined signal propagation delay value; and logic means (40) responsive to said typical output from said delay means (38) for disabling the delaying operation of said wait circuit means (36), whereby said logic circuitry (30) operates in a less delayed manner. The apparatus as recited in claim 1 wherein said predetermined signal propagation delay value is a signal delay time that is between a typical signal delay time determined at prespecified environmental conditions and a signal propagation delay time resulting from worst case environmental conditions. The apparatus as recited in claim 1 wherein said delay means comprises: a source (41) of clock signals; a delay chain circuit (38) connected to said source of clock signals (41) for delaying said clock signals in accordance with environmental conditions, said logic means (40) connected to said delay chain circuit (38) and said source of clock signals (41) for inhibiting said typical output to indicate when said delay chain circuit (38) delays said clock signals more than a predetermined propagation delay time, whereby said wait circuit means (36) is enabled. The apparatus as recited in claim 3 wherein said logic means (40) comprises an edge triggered flip-flop which responds to an edge transition of a non-delayed clock signal relative to the delayed clock signal to provide an output for disabling or enabling the delaying operation of said wait circuit means (36). The apparatus as recited in claim 4 wherein said logic circuitry comprises a state machine (30) including a wait state function (36) that is responsive to the output of said edge triggered flip-flop (40), said wait state function (36) operating to delay application of an enabling signal to said logic circuitry, to which other input states are applied. The apparatus as recited in claim 1 wherein said delay means comprises an oscillator (70) whose frequency is dependent upon said environment conditions. The apparatus as recited in claim 6, wherein said logic means comprises: comparator means (74) responsive to the frequency of oscillation of said oscillator (70), said comparator means (74) also provided with another input (76) manifesting a typical frequency value threshold, said comparator means (74) providing a wait state disablement output when said frequency of said oscillator (70) is greater than said typical frequency value threshold. The apparatus as recited in claim 7 wherein said logic circuitry comprises a state machine (30) that includes a wait state function (36) forming said wait circuit means.

Inventors: RUST ROBERT, RUST, ROBERT
Applicants: HEWLETT PACKARD CO, HEWLETT-PACKARD COMPANY
Application year: 1993
Main classification: G06F11
IPC codes: G06F17, G06F1, G06F11