METHODS AND CIRCUITRY FOR EFFICIENT MANAGEMENT OF LOCAL BRANCH HISTORY REGISTERS

Methods and circuitry for efficient management of local branch history registers are described. An example processor includes a pipeline comprising a plurality of stages and a bit-vector associated with each of in-flight branches associated with the pipeline. The processor includes a recovery counte...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: ABULILA, Ahmed Helmi Mahmoud Osman, AL SHEIKH, Rami Mohammad, STREETT, Daren Eugene, MCILVAINE, Michael Scott
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Methods and circuitry for efficient management of local branch history registers are described. An example processor includes a pipeline comprising a plurality of stages and a bit-vector associated with each of in-flight branches associated with the pipeline. The processor includes a recovery counter for tracking a number of bits needing recovery before a local branch history register is valid for participation in branch prediction. The processor includes branch predictor circuitry configured to, in response to an update of a local branch history register by a branch, set a bit in a corresponding bit-vector indicative of the update of the local branch history register. The branch predictor circuitry is configured to, upon a flush, determine a value indicative of an extent of recovery required for each local branch history register affected by the flush, and set a corresponding recovery counter to the value indicative of the extent of recovery required. L'invention concerne des procédés et des circuits de gestion efficace de registres d'historique de branche locale. Un processeur donné à titre d'exemple comprend un pipeline comprenant une pluralité d'étages et un vecteur de bits associé à chacune des branches en vol associées au pipeline. Le processeur comprend un compteur de récupération permettant de suivre un nombre de bits nécessitant une récupération avant qu'un registre d'historique de branche locale ne soit valide pour la participation à la prédiction de branche. Le processeur comprend des circuits de prédicteur de branche configurés, en réponse à une mise à jour d'un registre d'historique de branche locale par une branche, pour régler un bit dans un vecteur de bits correspondant indiquant la mise à jour du registre d'historique de branche locale. Les circuits de prédiction de branche sont configurés, lors d'un vidage, pour déterminer une valeur indiquant une étendue de récupération requise pour chaque registre d'historique de branche locale affecté par le vidage, et pour régler un compteur de récupération correspondant à la valeur indiquant l'étendue de récupération requise.