US5586332A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Power management for low power processors through the use of auto clock-throttling
Assignee: Intel Corp
•
Filing: 1993-03-24
•
Granted: 1996-12-17
•
Expires: 2013-03-24
Abstract
Abstract A clock throttling mechanism turns off certain processor components to minimize power consumption. The processor detects the issuance of certain bus cycles or the execution of certain instructions which typically cause the processor to be idle for a period of time. Control circuitry detects the existence of the instruction and/or bus cycle and shuts down the clock driving certain processor components during that idle period. The control circuitry then detects the occurrence or upcoming occurrence of an event to which the processor responds and becomes active. At detection of this event, the clock signal input to these components is then restarted such that the processor can continue normal execution.
Inventors
- 👤 Sanjay Jain
- 👤 Deepak J. Aatresh
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-23 17:22
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3885; G06F1/00; G06F1/26; G06F1/32; G06F1/3203; G06F1/3234; G06F1/3237; G06F1/3287; G06F9/30003; G06F9/30076; G06F9/30083; G06F9/3867; G06F9/3869; Y; Y02; Y02D; Y02D10/00; Y02D30/00; Y02D30/50
Claims Analysis
Total Claims: 48
Claim 1
Independent Claim
156 words
A method for minimizing power consumption of a processing component, comprising the steps of: detecting the execution of a predetermined instruction that during the execution of the instruction the processing component is in a wait state for a length of time at least as long as the time it takes to stop and restart the clocks; stopping the clock signal input to elements of the processing component when the processing component is to enter a wait state during execution of the predetermined instruction, such that certain elements of the processing component do not operate and consume power; detecting the occurrence of a predetermined event indicative that the processing component is to exit the wait state; and restarting the clock signal input to the elements of the processing component when the occurrence of the predetermined event is detected thereby reinitiating operation of the certain elements of the processing component such that the processing component resumes normal operation.
Claim 2
Independent Claim
156 words
A method for minimizing power consumption of a processing component, comprising the steps of: detecting the execution of a predetermined instruction that during the execution of the instruction the processing component is in a wait state for a length of time at least as long as the time it takes to stop and restart the clocks; stopping the clock signal input to elements of the processing component when the processing component is to enter a wait state during execution of the predetermined instruction, such that certain elements of the processing component do not operate and consume power; detecting the occurrence of a predetermined event indicative that the processing component is to exit the wait state; and restarting the clock signal input to the elements of the processing component when the occurrence of the predetermined event is detected thereby reinitiating operation of the certain elements of the processing component such that the processing component resumes normal operation.
Claim 3
Dependent Claim
44 words
The method as set forth in claim 1, wherein the step of detecting the execution of the predetermined instruction comprises the step of monitoring the bus for initiation of predetermined bus cycles determined to cause the processing component to be in a wait state.
Claim 4
Dependent Claim
47 words
The method as set forth in claim 1, wherein the step of detecting the execution of the predetermined instruction comprises the step of monitoring the types of instructions executed by the processing component to identify those instructions which cause the processing component to enter a wait state.
Claim 5
Dependent Claim
45 words
The method as set forth in claim 1, wherein the step of stopping the clock signal input stops the clock signal input to the elements of the processing component which do not detect the occurrence of a predetermined event and restart the clock signal input.
Claim 6
Dependent Claim
41 words
The method as set forth in claim 1, wherein the step of detecting the occurrence of a predetermined event comprises the step of detecting the issuance of a ready signal indicative that data is to be available to the processing component.
Claim 7
Dependent Claim
28 words
The method as set forth in claim 1, wherein the step of detecting the occurrence of a predetermined event detects that data is available to the processing component.
Claim 8
Dependent Claim
31 words
The method as set forth in claim 1, wherein the step of detecting the execution of the predetermined instruction comprises the step of detecting the initiation of I/O read/write bus cycles.
Claim 9
Dependent Claim
32 words
The method as set forth in claim 1, wherein the step of detecting the execution of the predetermined instruction comprises the step of detecting the initiation of non-cacheable memory data read cycles.
Claim 10
Dependent Claim
37 words
The method as set forth in claim 1, wherein the step of detecting the execution of the predetermined instruction comprises the step of detecting the initiation of the first memory data read of a cache line fill.
Claim 11
Dependent Claim
32 words
The method as set forth in claim 1, wherein the step of detecting the execution of the predetermined instruction comprises the step of detecting the initiation of processing component specific bus cycles.
Claim 12
Dependent Claim
32 words
The method as set forth in claim 1, wherein the step of detecting the execution of the predetermined instruction comprises the step of detecting processing component stalls during external memory write cycles.
Claim 13
Dependent Claim
44 words
The method as set forth in claim 11, wherein the step of detecting comprises the steps of: determining that a write buffer is full, detecting that the external bus is busy with a bus cycle, and the instruction executing issues a memory write cycle.
Claim 14
Dependent Claim
59 words
The method as set forth in claim 1, further comprising the step of confirming that a coprocessor is not busy and a cache invalidation bus cycle is not in progress prior to stopping the clock signal input, such that if the coprocessor is busy or a cache invalidation cycle is in progress, the clock signal input is not stopped.
Claim 15
Dependent Claim
136 words
A processing component comprising: means for executing instructions, said means receiving a clock signal input to drive the means for executing instructions; means for detecting the execution of a predetermined instruction, said means for executing waiting during at least a portion of the time required to execute the predetermined instruction; means for stopping the clock signal input to drive the means for executing instructions when the means for executing instructions is to wait during execution of the predetermined instruction; means for detecting the occurrence of a predetermined event indicative that the processing component is to cease waiting; and means for restarting the clock signal input to the processing component when the occurrence of the predetermined event is detected thereby reinitiating the operation of the means for executing instructions such that the processing component resumes normal operation.
Claim 16
Dependent Claim
136 words
A processing component comprising: means for executing instructions, said means receiving a clock signal input to drive the means for executing instructions; means for detecting the execution of a predetermined instruction, said means for executing waiting during at least a portion of the time required to execute the predetermined instruction; means for stopping the clock signal input to drive the means for executing instructions when the means for executing instructions is to wait during execution of the predetermined instruction; means for detecting the occurrence of a predetermined event indicative that the processing component is to cease waiting; and means for restarting the clock signal input to the processing component when the occurrence of the predetermined event is detected thereby reinitiating the operation of the means for executing instructions such that the processing component resumes normal operation.
Claim 17
Dependent Claim
61 words
The processing component as set forth in claim 14, wherein execution of the predetermined instruction causes bus cycles to be initiated by the processing component, said means for detecting the execution of the predetermined instruction comprises bus monitoring means which detects the initiation of predetermined bus cycles which are determined to cause the processing component to be in a wait state.
Claim 18
Dependent Claim
58 words
The processing component as set forth in claim 14, wherein the means for detecting the execution of the predetermined instruction comprises microcode which monitors the types of instructions executed by the processing component to identify those instructions which cause the processing component to enter a wait state and determines when the means for executing enters a wait state.
Claim 19
Dependent Claim
41 words
The processing component as set forth in claim 14, wherein the means for detecting the occurrence of a predetermined event comprises means for detecting the receipt of a ready signal indicative that data is to be available to the processing component.
Claim 20
Dependent Claim
32 words
The processing component as set forth in claim 14, wherein the means for detecting the occurrence of a predetermined event detects that data is available to be received by the processing component.
Claim 21
Dependent Claim
56 words
The processing component as set forth in claim 14, further comprising a write buffer for writing data to be written to external memory and an external bus connecting the processing component and external memory, said means for detecting the execution of the predetermined instruction comprising, means for detecting processing component stalls during external memory write cycles.
Claim 22
Dependent Claim
51 words
The processing component as set forth in claim 19, wherein the means for detecting processing component stalls comprises: means for determining that a write buffer is full, means for detecting that the external bus is busy with a bus cycle; and means for detecting the issuance of a memory write cycle.
Claim 23
Dependent Claim
60 words
The processing component as set forth in claim 14, further comprising a means for confirming that a coprocessor is not busy and a cache invalidation bus cycle is not in progress prior to stopping the clock signal input, such that if the coprocessor is busy or a cache invalidation cycle is in progress, the clock signal input is not stopped.
Claim 24
Dependent Claim
153 words
A processor comprising: a central processing unit for executing instructions, said CPU receiving a CPU clock signal input to drive the CPU; a clock controller coupled to receive at least one clock signal and output the CPU clock signal, said controller comprising; a first detector for detecting the execution of a predetermined instruction, said CPU waiting during at least a portion of the time required to execute the predetermined instruction, logic responsive to the first detector for stopping the CPU clock signal input when the CPU is to wait during execution of the predetermined instruction, a second detector which detects the occurrence of a predetermined event indicative that the CPU is to cease waiting, and logic responsive to the second detector for restarting the clock signal input to the processor when the occurrence of the predetermined event is detected thereby reinitiating the operation of the CPU such that the processor resumes normal operation.
Claim 25
Dependent Claim
153 words
A processor comprising: a central processing unit for executing instructions, said CPU receiving a CPU clock signal input to drive the CPU; a clock controller coupled to receive at least one clock signal and output the CPU clock signal, said controller comprising; a first detector for detecting the execution of a predetermined instruction, said CPU waiting during at least a portion of the time required to execute the predetermined instruction, logic responsive to the first detector for stopping the CPU clock signal input when the CPU is to wait during execution of the predetermined instruction, a second detector which detects the occurrence of a predetermined event indicative that the CPU is to cease waiting, and logic responsive to the second detector for restarting the clock signal input to the processor when the occurrence of the predetermined event is detected thereby reinitiating the operation of the CPU such that the processor resumes normal operation.
Claim 26
Dependent Claim
28 words
The processor as set forth in claim 22, said clock controller generating a second CPU clock signal, said second CPU clock signal being maintained in an on state.
Claim 27
Dependent Claim
46 words
The processor as set forth in claim 22, wherein the first detector comprises microcode which monitors the types of instructions executed by the CPU to identify those instructions which cause the CPU to enter a wait state and determines when the CPU enters a wait state.
Claim 28
Dependent Claim
36 words
The processor as set forth in claim 22, wherein the first detector comprises logic coupled to monitor bus cycles initiated by the CPU which are determined to cause the CPU to be in a wait state.
Claim 29
Dependent Claim
29 words
The processor as set forth in claim 22, wherein the second detector is coupled to receive a ready signal indicative that data is to be available to the processor.
Claim 30
Dependent Claim
23 words
The processor as set forth in claim 22, wherein the second detector detects that data is available to be received by the processor.
Claim 31
Dependent Claim
43 words
The processor as set forth in claim 22, further comprising a write buffer for writing data to be written to external memory and an external bus connecting the processor and external memory, said first detector detecting processor stalls during external memory write cycles.
Claim 32
Dependent Claim
38 words
The processor as set forth in claim 28, said first detector: determining that a write buffer is full; detecting that the external bus is busy with a bus cycle; and detecting the issuance of a memory write cycle.
Claim 33
Dependent Claim
58 words
The processor as set forth in claim 22, further comprising logic for confirming that a coprocessor is not busy and a cache invalidation bus cycle is not in progress prior to stopping the clock signal input, such that if the coprocessor is busy or a cache invalidation cycle is in progress, the clock signal input is not stopped.
Claim 34
Dependent Claim
200 words
A microprocessor system comprising: a bus; a central processing unit (CPU) coupled to the bus, said CPU receiving a CPU clock signal input to drive the CPU, said CPU initiating bus cycles on the bus to communicate information with a device, said CPU entering a wait state during the execution of a predetermined instruction comprising communications with the device across the bus; at least one device coupled to the bus, said device receiving signals indicative of the bus cycle initiated by the CPU and subsequently issuing signals on the bus to the CPU indicative of a response to bus cycle signals received and; a clock controller which controls the CPU clock signal input, said clock controller coupled to the bus detecting the execution of the predetermined instruction and stopping the CPU clock signal when the CPU enters a wait state, said CPU monitoring the bus for issuance of bus cycle signals by the device, said clock controller restarting the CPU clock signal when the device issued bus cycle signals are detected such that the CPU begins normal operation; wherein power consumption by the CPU is minimized by stopping the clock when the CPU would be operating in a wait state.
Claim 35
Dependent Claim
200 words
A microprocessor system comprising: a bus; a central processing unit (CPU) coupled to the bus, said CPU receiving a CPU clock signal input to drive the CPU, said CPU initiating bus cycles on the bus to communicate information with a device, said CPU entering a wait state during the execution of a predetermined instruction comprising communications with the device across the bus; at least one device coupled to the bus, said device receiving signals indicative of the bus cycle initiated by the CPU and subsequently issuing signals on the bus to the CPU indicative of a response to bus cycle signals received and; a clock controller which controls the CPU clock signal input, said clock controller coupled to the bus detecting the execution of the predetermined instruction and stopping the CPU clock signal when the CPU enters a wait state, said CPU monitoring the bus for issuance of bus cycle signals by the device, said clock controller restarting the CPU clock signal when the device issued bus cycle signals are detected such that the CPU begins normal operation; wherein power consumption by the CPU is minimized by stopping the clock when the CPU would be operating in a wait state.
Claim 36
Dependent Claim
36 words
The system as set forth in claim 31, said clock controller further coupled to receive a second clock signal input which drives the clock controller, said second clock signal input being maintained in an on state.
Claim 37
Dependent Claim
18 words
The system as set forth in claim 31 wherein said clock controller is located on the CPU component.
Claim 38
Dependent Claim
18 words
The system as set forth in claim 31, wherein said clock controller is located external to the CPU.
Claim 39
Dependent Claim
46 words
The system as set forth in claim 31, wherein said clock controller comprises microcode which monitors the types of instructions executed by the CPU to identify those instructions which cause the CPU to enter a wait state and determines when the CPU enters a wait state.
Claim 40
Dependent Claim
37 words
The system as set forth in claim 31, wherein the clock controller comprises logic coupled to monitor bus cycles initiated by the CPU which are determined to cause the CPU to be placed in a wait state.
Claim 41
Dependent Claim
36 words
The system as set forth in claim 31, wherein the bus signal issued by the device comprises a ready signal indicative that data is to be placed on the bus to be available to the processor.
Claim 42
Dependent Claim
32 words
The system as set forth in claim 31, wherein the bus signal also issued by the device comprises data placed on the bus to be available to be received by the processor.
Claim 43
Dependent Claim
17 words
The system as set forth in claim 31, wherein the predetermined instruction comprises I/O read/write bus cycles.
Claim 44
Dependent Claim
18 words
The system as set forth in claim 31, wherein the predetermined instruction comprises non-cacheable memory data read cycles.
Claim 45
Dependent Claim
24 words
The system as set forth in claim 31, wherein the predetermined instruction comprises a first memory data read cycle of a cache line fill.
Claim 46
Dependent Claim
40 words
The system as set forth in claim 31, further comprising external memory coupled to the bus and a write buffer for writing data to be written to external memory, said clock controller detecting processor stalls during external memory write cycles.
Claim 47
Dependent Claim
39 words
The system as set forth in claim 42, wherein said clock controller; determining that a write buffer is full; detecting that the external bus is busy with a bus cycle; and detecting the issuance of a memory write cycle.
Claim 48
Dependent Claim
45 words
The system as set forth in claim 31, wherein said clock controller stops the CPU clock signal when the CPU enters a wait state and a coprocessor is confirmed not to be busy performing operations and a cache invalidation bus cycle is not in progress.
References Cited (Backward Citations)
US3623017A
Cited
US4896260A
Cited
US3715729A
Cited
US3736569A
Cited
US3919695A
Cited
US3895311A
Cited
US3936762A
Cited
US3931585A
Cited
US4095267A
Cited
US4639864A
Cited
US4077016A
Cited
US4264863A
Cited
GB2010551A
Cited
US4203153A
Cited
US4300019A
Cited
US4365290A
Cited
US4758945A
Cited
US4293927A
Cited
US4405898A
Cited
US4479191A
Cited
US4615005A
Cited
EP0103755A2
Cited
US4667289A
Cited
US4545030A
Cited
GB2130765A
Cited
GB8326610D0
Cited
US4841440A
Cited
US4698748A
Cited
EP0140814A2
Cited
US4780843A
Cited
US4638452A
Cited
US4766567A
Cited
US4669099A
Cited
US4763294A
Cited
EP0242010A1
Cited
US4823292A
Cited
US5083266A
Cited
US4935863A
Cited
US4907183A
Cited
US4814591A
Cited
US4881205A
Cited
US5133064A
Cited
US4979097A
Cited
US4922450A
Cited
US5428754A
Cited
US5129091A
Cited
EP0349762A2
Cited
US4980836A
Cited
EP0366250A1
Cited
US5059924A
Cited
EP0368144A2
Cited
US5249298A
Cited
US5175845A
Cited
US5319771A
Cited
WO1990015422A1
Cited
US5123107A
Cited
US5021679A
Cited
US4991129A
Cited
US5167024A
Cited
EP0419908A2
Cited
US5151992A
Cited
US5329621A
Cited
US4983966A
Cited
US5077686A
Cited
US5355501A
Cited
US5103114A
Cited
EP0451661B1
Cited
US5251320A
Cited
US5396635A
Cited
US5220672A
Cited
US5239652A
Cited
US5404546A
Cited
US5189647A
Cited
US5263028A
Cited
US5336939A
Cited
US5359232A
Cited
US5461652A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1999-12-17 | 2000-06-17 | 2000-12-17 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2003-12-17 | 2004-06-17 | 2004-12-17 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2007-12-17 | 2008-06-17 | 2008-12-17 | $7700.00 | Window Closed / Lapsed |