Control flow prediction using pointers
AssigneeArm Limited
InventorsJoseph Michael PUSDESRIS, Alexander Cole SHULYAK, Yasuo ISHII, Houdhaifa BOUZGUARROU
Life of this patent
Estimating the term…
Abstract
There is provided a data processing apparatus comprising history storage circuitry that stores sets of behaviours of helper instructions for a control flow instruction. Pointer storage circuitry stores pointers, each associated with one of the sets. The behaviours in the one of the sets are indexed according to one of the pointers associated with that one of the sets. Increment circuitry increments at least some of the pointers in response to an increment event and prediction circuitry determines a predicted behaviour of the control flow instruction using one of the sets of behaviours.
Claims15
A data processing apparatus comprising:
- history storage circuitry configured to store a plurality of sets of behaviours of helper instructions for a control flow instruction;
- pointer storage circuitry configured to store a plurality of pointers, each associated with one of the sets, wherein the behaviours in the one of the sets are indexed according to one of the pointers associated with that one of the sets;
- increment circuitry configured to increment at least some of the pointers in response to an increment event;
- and
- prediction circuitry configured to determine a predicted behaviour of the control flow instruction using one of the sets of behaviours.
A data processing method comprising:
- storing a plurality of sets of behaviours of helper instructions for a control flow instruction;
- storing a plurality of pointers, each associated with one of the sets, wherein the behaviours in the one of the sets are indexed according to one of the pointers associated with that one of the sets;
- incrementing at least some of the pointers in response to an increment event;
- and
- determining a predicted behaviour of the control flow instruction using one of the sets of behaviours.
A non-transitory computer-readable medium to store computer-readable code for fabrication of a data processing apparatus comprising:
- history storage circuitry configured to store a plurality of sets of behaviours of helper instructions for a control flow instruction;
- pointer storage circuitry configured to store a plurality of pointers, each associated with one of the sets, wherein the behaviours in the one of the sets are indexed according to one of the pointers associated with that one of the sets;
- increment circuitry configured to increment at least some of the pointers in response to an increment event;
- and
- prediction circuitry configured to determine a predicted behaviour of the control flow instruction using one of the sets of behaviours.
Dependencies are inferred from the claim text.