Method and apparatus for high performance branching in pipelined microsystems
AssigneeMicron Technology, Inc.
InventorEric M. Dowling
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicron Technology, Inc.
InventorEric M. Dowling
Estimating the term…
A pipelined processor includes a branch acceleration technique which is based on an improved branch cache architecture. In one exemplary embodiment, the present invention has an instruction pipeline comprising a plurality of stages, each stage initially containing first data. A branch cache module stores at least a portion of the first data from one or more of the pipeline stages, and a branch cache control unit causes the branch cache module to store at least portion of the first data from one or more of the pipeline stages in response to execution of a cacheable branch instruction which triggers a cache miss, and causes the branch cache module to restore second data to one or more of the pipeline stages in response to a cache hit. The present invention also discloses methods for controlling the branch cache and for reducing pipeline stalls caused by branching.
In a processing apparatus which fetches groups of instructions in fetch packets and dispatches one or more subsets thereof as execute packets in one or more clock cycles, a method comprising:
A processing apparatus which fetches groups of instructions in fetch packets and dispatches one or more subsets thereof as execute packets in one or more clock cycles, comprising:
A computerized system, comprising:
A processing apparatus comprising:
A processing apparatus comprising:
A processing apparatus comprising:
In a processor comprising a computational pipeline having a plurality of pipeline stages and a branch cache, a method of controlling said branch cache, comprising:
The method of 19, further comprising reducing the number d if at least one instruction from the target instruction stream is expected to be already fetched into the pipeline at the time of a branch cache hit to said target instruction stream.
In a pipelined processor, a method for reducing pipeline stalls caused by branching, comprising:
In a pipelined processor including both cacheable branch instructions and non-cacheable branch instructions, a method for reducing pipeline stalls caused by branching, comprising:
A computer processor comprising:
In a pipelined microsystem such as a microprocessor, DSP, media processor, or microcontroller, a method to load branch instruction information into a branch cache so as to allow the branch instruction to execute subsequently with a reduced or eliminated time penalty by minimizing the amount of information to be cached, the method comprising:
In a pipelined microsystem such as a microprocessor, DSP, media processor, or microcontroller, a method to service branch cache hits so as to reduce or eliminate cycle loss due to branching, said method comprising:
In a pipelined microsystem such as a microprocessor, DSP, media processor, or microcontroller, a method for servicing branch cache hits so as to reduce or eliminate cycle loss due to branching, said method comprising:
A method to fill an instruction pipeline after a branch instruction is detected which selects a target instruction stream, the method comprising:
A processing apparatus comprising:
A processing apparatus which fetches groups of instructions in fetch packets and dispatches one or more subsets thereof as execute packets in one or more clock cycles, comprising:
A processing apparatus comprising:
In a processor comprising a computational pipeline having a plurality of pipeline stages and a branch cache, a method of controlling said branch cache, comprising the steps of:
A computerized system, comprising:
Dependencies are inferred from the claim text.