Claims
- 1. A pipelined processor comprising:
an instruction fetcher capable of fetching instructions from an instruction source; a data source coupled to the instruction fetcher and capable of supplying data for execution by the instructions; a branch resolver coupled to the instruction fetcher and capable of resolving conditional branch instructions; and a delay element coupled from the branch resolver to the instruction fetcher, the delay element to allow time for analysis and determine whether the condition branch has resolved correctly.
- 2. A pipelined processor according to claim 1 further comprising:
a replay logic coupled to the instruction fetcher and capable of determining a replay condition; and a logic coupled to the instruction scheduler, the branch resolver, and the instruction fetcher, the logic capable of determining a logical combination of the replay condition and the branch resolution, the logical combination determining a fetch operation of the instruction fetcher.
- 3. A pipelined processor according to claim 2 further comprising:
a replay logic capable of determining one or more conditions selected from among data cache hits/misses, translation lookaside buffer misses, read-after-write (RAW) instructions in a memory disambiguation buffer, a load miss buffer (LMB) full condition, and overeager issue conditions.
- 4. A pipelined processor according to claim 1 further comprising:
an instruction fetcher that resteers an instruction fetch after a branch instruction retires.
- 5. A pipelined processor according to claim 1 further comprising:
an instruction fetcher that resteers an instruction fetch by delaying branch resolution.
- 6. A pipelined processor according to claim 1 further comprising:
an instruction pipeline with the delay element inserted in branch condition and replay control pathways.
- 7. A pipelined processor according to claim 1 wherein:
the processor is any deeply pipelined processor, microprocessor, CPU, digital signal processor, sequencer, or computational logic.
- 8. A processor comprising:
a pipeline; an instruction fetch unit coupled into the pipeline; an execution unit coupled into the pipeline, the execution unit including a branch resolution element that produces a branch resolution signal indicative of a branch taken or not taken; and a delay element coupled between the execution unit and the instruction fetch unit and delaying transmission of the branch resolution signal from the execution unit to the instruction fetch unit to allow time for analysis and determine whether the condition branch has resolved correctly.
- 9. A processor according to claim 8 further comprising:
an instruction scheduling unit coupled into the pipeline and capable of generating a replay signal indicative of whether one or more instructions are to be replayed; and a logic coupled to the instruction scheduling unit and the instruction fetch unit and capable of combining the replay signal and the branch resolution signal.
- 10. A processor according to claim 8 further comprising:
an instruction scheduling unit coupled into the pipeline, capable of determining a replay condition and generating a replay signal; and a logic coupled to the instruction scheduling unit, the execution unit, and the instruction fetch unit, the logic capable of determining a logical combination of the replay signal and the branch resolution signal, the logical combination determining a fetch operation of the instruction fetch unit.
- 11. A processor according to claim 8 further comprising:
an instruction scheduling unit coupled into the pipeline, capable of determining a replay condition and generating a replay signal selected from among one or more conditions including data cache hits/misses, translation lookaside buffer misses, read-after-write (RAW) instructions in a memory disambiguation buffer, a LMB full condition, and overeager issue conditions; and a logic coupled to the instruction scheduling unit, the execution unit, and the instruction fetch unit, the logic capable of determining a logical combination of the replay signal and the branch resolution signal, the logical combination determining a fetch operation of the instruction fetch unit.
- 12. A processor according to claim 8 further comprising:
an instruction scheduling unit coupled into the pipeline and capable of generating a replay signal indicative of whether one or more instructions are to be replayed; and an AND gate coupled to the instruction scheduling unit and the instruction fetch unit and capable of performing a logical AND operation of the replay signal and the branch resolution signal.
- 13. A processor according to claim 8 further comprising:
the instruction fetch unit that resteers an instruction fetch after a branch instruction retires.
- 14. A processor according to claim 8 further comprising::
the instruction fetch unit that resteers an instruction fetch by delaying branch resolution.
- 15. A processor according to claim 8 further comprising:
the instruction pipeline with the delay element inserted in branch condition and replay control pathways.
- 16. A processor according to claim 8 further comprising:
the processor is any deeply pipelined processor, microprocessor, CPU, digital signal processor, sequencer, or computational logic.
- 17. A method of operating a processor comprising:
executing instructions in a pipeline; fetching instructions from an instruction source; supplying data for execution by the instructions; resolving conditional branch instructions; and delaying notification of conditional branch resolution for instruction fetching to allow time for analysis and determine whether the condition branch has resolved correctly.
- 18. A method according to claim 17 further comprising:
determining a replay condition; and determining a logical combination of the replay condition and branch resolution; determining a fetch operation of the instruction fetcher based on the logical combination.
- 19. A method according to claim 18 further comprising:
determining one or more conditions selected from among data cache hits/misses, translation lookaside buffer misses, read-after-write (RAW) instructions in a memory disambiguation buffer, a LMB full condition, and overeager issue conditions.
- 20. A method according to claim 17 further comprising:
resteering an instruction fetch after a branch instruction retires.
- 21. A method according to claim 17 further comprising:
resteering an instruction fetch by delaying branch resolution.
- 22. A processor comprising:
means for executing instructions in a pipeline; means for fetching instructions from an instruction source; means for supplying data for execution by the instructions; means for resolving conditional branch instructions; and means for delaying notification of conditional branch resolution for instruction fetching to allow time for analysis and determine whether the condition branch has resolved correctly.
- 23. A processor according to claim 22 further comprising:
means for determining a replay condition; and means for determining a logical combination of the replay condition and branch resolution; means for determining a fetch operation of the instruction fetcher based on the logical combination.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Patent Application No. [unknown] (Attorney Docket No. SP-6983 V1 US), filed Feb. 5, 2002, which is incorporated herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60355464 |
Feb 2002 |
US |