USRE39252EExpiredUtility
Instruction dependent clock scheme
Est. expiryDec 30, 2017(expired)· nominal 20-yr term from priority
Inventors:Vishram Prakash Dalvi
G06F 9/3867G06F 9/3869
51
PatentIndex Score
2
Cited by
2
References
25
Claims
Abstract
A method and apparatus including a first circuit configured to receive multiple instructions including a first instruction having a first execution time, and to generate a first signal having a state dependent on the first execution time; a second circuit configured to receive the first signal and to generate a clock signal including a clock cycle having a period dependent on the state of the first signal; and a third circuit configured to receive the clock signal and execute a portion of the first instruction during the clock cycle, the first execution time corresponding to the portion of the first instruction.
Claims
exact text as granted — not AI-modified1. A method comprising the steps of:
fetching a first instruction of a plurality of instructions, each of said instructions having execution times for at least one fetch step, at least one decode step, and at least one execution step;
determining whether the execution time of the execution step of the first instruction is less than a first predetermined duration, said first predetermined duration set such that the execution time of any fetch and decode step is less than the first predetermined duration;
if the execution time of the execution step is less than the first predetermined duration, configuring a clock cycle to correspond to the first predetermined duration; and
if the execution time of the execution step is not less than the first predetermined duration, configuring the clock cycle to correspond to a second predetermined duration, said second predetermined duration set such that the execution time of any fetch, decode and execution step is less than the second predetermined duration.
2. The method of claim 1 wherein at least one instruction of the plurality of instructions further comprises a writeback step, said first predetermined duration is set such that the execution time for any fetch, decode or writeback step of the plurality of instructions is less than the first predetermined duration, and the second predetermined duration is set such that the execution time for any fetch, decode, execution or writeback step is less than the second predetermined duration.
3. The method of claim 1 wherein at least one instruction of the plurality of instructions further comprises a writeback step, said second predetermined duration is set such that the execution for any fetch, decode, execution or writeback step is less than the second predetermined duration; determination determines whether the writeback step is less than the first predetermined duration and configuring the clock cycle to correspond to the first predetermined duration if the writeback step is less than the first predetermined duration and configuring the clock cycle to correspond to the second predetermined duration if the writeback step is not less than the first predetermined duration.
4. The method of claim 1 further comprising a third predetermined duration set to be shorter than the second predetermined duration and longer than the first predetermined duration.
5. The method of claim 1 further comprising the step of executing the at least one execution step of the first instruction during the configured clock cycle.
6. A method comprising the steps of:
fetching a first instruction, having at least one execution time for at least one step selected from the group consisting of a fetch step, a decode step, an execution step or a writeback step;
decoding the first instruction, and using information derived from the decode to select from at least 2 available clock periods, the selected clock period providing enough time to concurrently execute a combination of steps selected from the group consisting of a fetch step, a decode step, an execution step or a writeback step; and
concurrently executing a combination of steps selected from the group consisting of a fetch step, a decode step, an execution step or a writeback step.
7. An apparatus comprising:
means for fetching a first instruction of a plurality of instructions, each of said instructions having execution times for at least one fetch step, at least one decode step, and at least one execution step;
means for determining whether the execution time of the execution step of the first instruction is less than a first predetermined duration, said first predetermined duration set such that the execution time of any fetch and decode step is less than the first predetermined duration, and if the execution time of the execution step is less than the first predetermined duration, a clock cycle is configured to correspond to the first predetermined duration; and if the execution time of the execution step is not less than the first predetermined duration, then the clock cycle is configured to correspond to a second predetermined duration, said second predetermined duration set such that the execution time of any fetch, decode and execution step is less than the second predetermined duration.
8. The apparatus of claim 7 wherein at least one instruction of the plurality of instructions further comprises a writeback step, said first predetermined duration is set such that the execution time for any fetch, decode or writeback step of the plurality of instructions is less than the first predetermined duration, and the second predetermined duration is set such that the execution time for any fetch, decode, execution or writeback step is less than the second predetermined duration.
9. The apparatus of claim 7 wherein at least one instruction of the plurality of instructions further comprises a writeback step, said second predetermined duration is set such that the execution for any fetch, decode, execution of writeback step is less than the second predetermined duration, said determination means determines whether the writeback step is less than the first predetermined duration and configuring the clock cycle to correspond to the first predetermined duration if the writeback step is less than the first predetermined duration and configuring the clock cycle to correspond to the second predetermined duration if the writeback step is not less than the first predetermined duration.
10. The apparatus of claim 7 further comprising a third predetermined duration set to be shorter than the second predetermined duration and longer than the first predetermined duration.
11. The apparatus of claim 7 further comprising the means for executing at least one execution step of the first instruction during the configured clock cycle.
12. The apparatus of claim 7 wherein the apparatus is a microprocessor.
13. An apparatus comprising:
means for fetching a first instruction, having at least one execution time for at least one step selected from the group consisting of a fetch step, a decode step, an execution step or a writeback step;
means for decoding the first instruction and using information derived from the decode to select from at least 2 available clock periods, the selected clock period providing enough time to concurrently execute a combination of steps selected from the group consisting of a fetch step, a decode step, an execution step of a writeback step; and
means for concurrently executing a combination of steps selected from the group consisting of a fetch step, a decode step, an execution step or a writeback step.
14. The apparatus of claim 13 wherein the apparatus is a microprocessor.
15. An apparatus comprising:
a fetching unit for fetching a first instruction of a plurality of instructions, each of said instructions having execution times for at least one fetch step, at least one decode step, and at least one execution step;
a decode unit for determining whether the execution time of the execution step of the first instruction is less than a first predetermined duration, said first predetermined duration set such that the execution time of any fetch and decode step is less than the first predetermined duration, and if the execution time of the execution step is less than the first predetermined duration, a clock cycle is configured to correspond to the first predetermined duration; and if the execution time of the execution step is not less than the first predetermined duration, then the clock cycle is configured to correspond to a second predetermined duration, said second predetermined duration set such that the execution time of any fetch, decode and execution step is less than the second predetermined duration.
16. The apparatus of claim 15 wherein at least one instruction of the plurality of instructions further comprises a writeback step, said first predetermined duration is set such that the execution time for any fetch, decode or writeback step of the plurality of instructions is less than the first predetermined duration, and the second predetermined duration is set such that the execution time for any fetch, decode, execution or writeback step is less than the second predetermined duration.
17. The apparatus of claim 15 wherein at least one instruction of the plurality of instructions further comprises a writeback step, said second predetermined duration is set such that the execution for any fetch, decode, execution or writeback step is less than the second predetermined duration, said the decode unit determines whether the writeback step is less than the first predetermined duration and configuring the clock cycle to correspond to the first predetermined duration if the writeback step is less than the first predetermined duration and configuring the clock cycle to correspond to the second predetermined duration if the writeback step is not less than the first predetermined duration.
18. The apparatus of claim 15 further comprising a third predetermined duration set to be shorter than the second predetermined duration and longer than the first predetermined duration.
19. The apparatus of claim 15 further comprising an execution unit for executing at least one execution step of the first instruction during the configured clock cycle.
20. An apparatus comprising:
a decode unit to determine whether an execution time of an execution step of a first instruction is less than a first predetermined duration, said first predetermined duration set such that the execution time of any fetch and decode step is less than the first predetermined duration, and if the execution time of the execution step is less than the first predetermined duration, a clock cycle is configured to correspond to the first predetermined duration; and if the execution time of the execution step is not less than the first predetermined duration, then the clock cycle is configured to correspond to a second predetermined duration, said second predetermined duration set such that the execution time of any fetch, decode and execution step is less than the second predetermined duration.
21. The apparatus of claim 20 further comprising a fetch unit to fetch the first instruction of a plurality of instructions, each of said plurality of instructions having an execution time sufficient for at least one fetch step, at least one decode step, and at least one execution step.
22. The apparatus of claim 21 wherein at least one instruction of the plurality of instructions further comprises a writeback step, wherein said first predetermined duration is set such that the execution time for any fetch, decode or writeback step of the plurality of instructions is less than the first predetermined duration, and wherein the second predetermined duration is set such that the execution time for any fetch, decode, execution or writeback step is less than the second predetermined duration.
23. The apparatus of claim 21 wherein at least one instruction of the plurality of instructions further comprises a writeback step, wherein said second predetermined duration is set such that the execution of any fetch, decode, execution or writeback step is less than the second predetermined duration, and wherein said decode unit determines whether the writeback step is less than the first predetermined duration, configures the clock cycle to correspond to the first predetermined duration if the writeback step is less than the first predetermined duration, and configures the clock cycle to correspond to the second predetermined duration if the writeback step is not less than the first predetermined duration.
24. The apparatus of claim 21 further comprising a third predetermined duration set to be shorter than the second predetermined duration and longer than the first predetermined duration.
25. The apparatus of claim 21 further comprising an execution unit to execute at least one execution step of the first instruction during the configuration cycle.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.