POWER EFFICIENT FETCH ADAPTATION
First Claim
1. A method of fetching instructions for a processor, the method comprising;
- predicting a number of instructions to be fetched in a first fetch group of instructions, based at least in part on occurrence and location of a predicted taken branch instruction in the first fetch group;
determining if a confidence level associated with the predicted number of instructions is greater than a predetermined threshold; and
fetching the predicted number of instructions in a pipeline stage of the processor if the confidence level is greater than the predetermined threshold.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods relate to an instruction fetch unit of a processor, such as a superscalar processor. The instruction fetch unit includes a fetch bandwidth predictor (FBWP) configured to predict a number of instructions to be fetched in a fetch group of instructions in a pipeline stage of the processor. A first entry of the FBWP corresponding to the fetch group corresponds to a prediction of the number of instructions to be fetched, based on occurrence and location of a predicted taken branch instruction in the fetch group and a confidence level associated with the predicted number in the prediction field. The instruction fetch unit is configured to fetch only the predicted number of instructions, rather than the maximum number of entries that can be fetched in the pipeline stage, if the confidence level is greater than a predetermined threshold. In this manner, wasteful fetching of instructions is avoided.
10 Citations
30 Claims
-
1. A method of fetching instructions for a processor, the method comprising;
-
predicting a number of instructions to be fetched in a first fetch group of instructions, based at least in part on occurrence and location of a predicted taken branch instruction in the first fetch group; determining if a confidence level associated with the predicted number of instructions is greater than a predetermined threshold; and fetching the predicted number of instructions in a pipeline stage of the processor if the confidence level is greater than the predetermined threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An instruction fetch unit for a processor, the instruction fetch unit comprising:
-
a fetch bandwidth predictor (FBWP) configured to predict a number of instructions to be fetched in a first fetch group of instructions in a pipeline stage of the processor, wherein a first entry of the FBWP corresponding to the first fetch group comprises; a prediction field comprising a prediction of the number of instructions to be fetched, based at least in part on occurrence and location of a predicted taken branch instruction in the first fetch group; and a confidence level associated with the predicted number in the prediction field; wherein the instruction fetch unit is configured to fetch the predicted number of instructions in the pipeline stage if the confidence level is greater than a predetermined threshold. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system comprising:
-
means for predicting a number of instructions to be fetched in a first fetch group of instructions, based at least in part on occurrence and location of a predicted taken branch instruction in the first fetch group of instructions; means for determining if a confidence level associated with the predicted number of instructions is greater than a predetermined threshold; and means for fetching the predicted number of instructions in a pipeline stage of a processor if the confidence level is greater than the predetermined threshold. - View Dependent Claims (25)
-
-
26. A non-transitory computer-readable storage medium comprising code, which, when executed by a processor, causes the processor to perform operations for fetching instructions, the non-transitory computer-readable storage medium comprising:
-
code for predicting a number of instructions to be fetched in a first fetch group of instructions, based at least in part on occurrence and location of a predicted taken branch instruction in the first fetch group; code for determining if a confidence level associated with the predicted number of instructions is greater than a predetermined threshold; and code for fetching the predicted number of instructions from an instruction cache if the confidence level is greater than the predetermined threshold. - View Dependent Claims (27, 28, 29, 30)
-
Specification