Performing at least two branch predictions for non-contiguous instruction blocks at the same time using a prediction mapping
AssigneeArm Limited
InventorsHoudhaifa Bouzguarrou, Guillaume Bolbenes, Eddy Lapeyre, Luc Orion
Life of this patent
Estimating the term…
Abstract
An apparatus is provided to perform branch prediction in respect of a plurality of instructions divided into a plurality of blocks. Receiving circuitry receives references to at least two blocks in the plurality of blocks. Branch prediction circuitry performs at least two branch predictions at a time. The branch predictions are performed in respect of the at least two blocks and the at least two blocks are non-contiguous.
Claims12
An apparatus to perform branch prediction in respect of a plurality of instructions divided into a plurality of blocks, the apparatus comprising:
- receiving circuitry to receive references to at least two blocks in the plurality of blocks;
- branch prediction circuitry to perform at least two branch predictions at a time in respect of the at least two blocks;
- and
- branch sequence circuitry comprising a lookup table comprising a plurality of mappings, each of the mappings comprising a tag and a mapped prediction comprising a reference to an origin block and a reference to a destination block, wherein the branch sequence circuitry is adapted to provide, by accessing the lookup table, a reference to one of the at least two blocks to the branch prediction circuitry in dependence on a reference to a most recently encountered block relating to a predicted taken branch, wherein
- the at least two blocks are non-contiguous.
A method of performing branch prediction in respect of a plurality of instructions divided into a plurality of blocks, the method comprising:
- receiving references to at least two blocks in the plurality of blocks;
- performing at least two branch predictions at a time in respect of the at least two blocks in the plurality of blocks;
- and
- accessing a lookup table in order to provide a reference to one of the at least two blocks to perform the at least two branch predictions in dependence on a reference to a most recently encountered block relating to a predicted taken branch, wherein
- the at least two blocks are non-contiguous, and
- the lookup table comprises a plurality of mappings, each of the mappings comprising a tag and a mapped prediction comprising a reference to an origin block and a reference to a destination block.
Dependencies are inferred from the claim text.