Processor Core and Method for Managing Program Counter Redirection in an Out-of-Order Processor Pipeline
AssigneeMIPS Technologies, Inc.
InventorsKjeld Svendsen, Maria Ukanwa, Karagada Ramarao Kishore
Life of this patent
Estimating the term…
Loading patent…
AssigneeMIPS Technologies, Inc.
InventorsKjeld Svendsen, Maria Ukanwa, Karagada Ramarao Kishore
Estimating the term…
A processor core and method for managing program counter redirection in an out-of-order processor pipeline. In one embodiment, the pipeline of the processor core includes a front-end instruction fetch portion, a back-end instruction execution portion, and pipeline control logic. Operation of the instruction fetch portion is decoupled from operation of the instruction execution portion. Following detection of a control transfer misprediction, operation of the instruction fetch portion is halted and instructions residing in the instruction fetch portion are invalidated. When the instruction associated with the misprediction reaches a selected pipeline stage, instructions residing in the instruction execution portion of the pipeline are invalidated and the flow of instructions from the instruction fetch portion to the instruction execution portion of the processor pipeline is restarted. A mispredict instruction identification checker and instruction identification tags are used to determine if a control transfer instruction is permitted to redirect instruction fetching.
A non-transitory computer-readable storage medium having stored thereon computer-readable program code to generate a processor core having an out-of-order pipeline, the processor core comprising:
The method of claim 13, wherein the register of the mispredict instruction identification checker stores a valid value.
The computer program product of claim 13, wherein the mispredict instruction identification checker includes a first register and a second register, the first register used to store instruction identification tags of instructions associated with a first program thread and the second register used to store instruction identification tags of instructions associated with a second program thread.
The computer program product of claim 13, wherein a first set of instruction identification tags are generated for instructions associated with a first program thread and a second set of instruction identification tags are generated for instructions associated with a second program thread.
The computer program product of claim 13, wherein the processor core is embodied in hardware description language software.
The method of claim 13, wherein the transmitting step comprises transmitting the computer-readable program code over the Internet.
A non-transitory computer-readable storage medium having stored thereon computer-readable program code to generate a processor core having an out-of-order pipeline, the processor core comprising:
Dependencies are inferred from the claim text.