CPC G06F 9/3848 (2013.01) [G06F 9/3844 (2013.01); G06F 9/3806 (2013.01); G06F 9/48 (2013.01); G06F 21/50 (2013.01)] | 18 Claims |
1. An apparatus comprising:
processing circuitry having a plurality of execution states for execution of instructions;
branch history storage to store branch history information indicative of at least one branch property for a sequence of branches;
prediction circuitry to determine a prediction for controlling execution of at least one instruction by the processing circuitry, where the prediction circuitry is configured to determine a first type of prediction based at least on a first prediction table storing prediction information looked up based on at least a first portion of the branch history information corresponding to a first predetermined number of branches; and
prediction control circuitry to:
in response to detecting an execution state switch of the processing circuitry from a first execution state to a second execution state more privileged than the first execution state, disable use of the first prediction table in determining the first type of prediction; and
in response to detecting that a number of branches causing an update to the branch history storage since the execution state switch is greater than or equal to the first predetermined number, re-enable use of the first prediction table in determining the first type of prediction;
wherein in response to a return to the first execution state occurring after the execution state switch when the number of branches causing an update to the branch history storage since the execution state switch is still less than the first predetermined number of branches, the prediction control circuitry is configured to re-enable use of the first prediction table in determining the first type of prediction.
|