A method and apparatus for predicting the outcome of a branch instruction
based on the branch history of preceding branch instruction. As a sequence
of instructions passes through an instruction execution pipeline, a base
branch instruction is chosen, a history index is generated for the base
branch instruction and subsequent branch instructions, and a transform is
created for the branch instruction to be predicted. When the sequence of
instructions subsequently passes through the pipeline again, the transform
is used to operate on the history index of the base branch instruction to
produce a history index for the branch to be predicted. The result is used
as an index into a prediction array to access the prediction logic for the
branch instruction being predicted. By using the predetermined transform,
a branch status prediction can be made before the branch to be predicted
reaches the normal prediction stage in the pipeline.
Une méthode et un appareil pour prévoir les résultats d'une instruction de branchement basée sur l'histoire de branche de l'instruction de branchement précédente. Pendant qu'un ordre des instructions traverse une canalisation d'exécution d'instruction, une instruction de branchement basse est choisie, un index d'histoire est produit pour l'instruction de branchement basse et les instructions de branchement suivantes, et une transformation est créée pour que l'instruction de branchement soit prévue. Quand l'ordre des instructions traverse plus tard la canalisation encore, la transformation est employée pour opérer l'index d'histoire de l'instruction de branchement basse de produire un index d'histoire pour que la branche soit prévue. Le résultat est employé comme un index dans une rangée de prévision pour accéder à la logique de prévision pour l'instruction de branchement étant prévue. En employant prédéterminé transformez, une prévision de statut de branche peut être fait avant la branche pour être des extensions prévues l'étape normale de prévision dans la canalisation.