Instruction prefetching
AssigneeArm Limited
InventorsKauser Yakub JOHAR, Antony John PENTON
Life of this patent
Estimating the term…
Abstract
A data processing apparatus has prefetch circuitry for prefetching instructions from a data store into an instruction queue. Branch prediction circuitry is provided for predicting outcomes of branch instructions and the prefetch circuitry may prefetch instructions subsequent to the branch based on the predicted outcome. Instruction identifying circuitry identifies whether a given instruction prefetched from the data store is a predetermined type of program flow altering instruction and if so then controls the prefetch circuitry to halt prefetching of subsequent instructions into the instruction queue.
Claims13
A data processing apparatus comprising:
- prefetch circuitry to prefetch instructions from a data store into an instruction queue;
- processing circuitry to perform data processing in response to instructions from the instruction queue;
- branch prediction circuitry to predict an outcome or target of a branch instruction, wherein the prefetch circuitry is configured to prefetch instructions subsequent to the branch instruction selected in dependence on the predicted outcome or target of the branch instruction;
- and
- instruction identifying circuitry to identify whether a given instruction prefetched from the data store is a predetermined type of program flow altering instruction for triggering a non-sequential change in program flow, and in response to identifying that the given instruction is said predetermined type of program flow altering instruction, to control the prefetch circuitry to halt prefetching of instructions subsequent to said predetermined type of program flow altering instruction into the instruction queue.
A data processing apparatus comprising:
- means for prefetching instructions from a data store into an instruction queue;
- means for performing data processing in response to instructions from the instruction queue;
- means for predicting an outcome or target of a branch instruction, wherein the means for prefetching is configured to prefetch instructions subsequent to the branch instruction selected in dependence on the predicted outcome of the branch instruction;
- and
- means for identifying whether a given instruction prefetched from the data store is a predetermined type of program flow altering instruction, and in response to identifying that the given instruction is said predetermined type of program flow altering instruction, controlling the means for prefetching to halt prefetching of instructions subsequent to said predetermined type of program flow altering instruction into the instruction queue.
A data processing method comprising:
- prefetching instructions from a data store into an instruction queue;
- and
- performing data processing in response to instructions from the instruction queue;
- wherein the prefetching comprises:
- prefetching instructions subsequent to a branch instruction selected in dependence on a predicted outcome or target of the branch instruction;
- and
- identifying whether a given instruction prefetched from the data store is a predetermined type of program flow altering instruction, and in response to identifying that the given instruction is said predetermined type of program flow altering instruction, halting prefetching of instructions subsequent to said predetermined type of program flow altering instruction into the instruction queue.
Dependencies are inferred from the claim text.