BRANCH TARGET BUFFER COMPRESSION

Techniques for improving branch target buffer ("BTB") operation. A compressed BTB is included within a branch prediction unit along with an uncompressed BTB. To support prediction of up to two branch instructions per cycle, the uncompressed BTB includes entries that each store data for up...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: HAVLIR, Steven R
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:Techniques for improving branch target buffer ("BTB") operation. A compressed BTB is included within a branch prediction unit along with an uncompressed BTB. To support prediction of up to two branch instructions per cycle, the uncompressed BTB includes entries that each store data for up to two branch predictions. The compressed BTB includes entries that store data for only a single branch instruction for situations where storing that single branch instruction in the uncompressed BTB would waste space in that buffer. Space would be wasted in the uncompressed BTB due to the fact that, in order to support two branch lookups per cycle, prediction data for two branches must have certain features in common (such as cache line address) in order to be stored together in a single entry. L'invention concerne des techniques permettant d'améliorer le fonctionnement d'un tampon cible de branchement ("BTB"). Un BTB compressé est inclus dans une unité de prédiction de branchement conjointement avec un BTB non compressé. Pour prendre en charge la prédiction de jusqu'à deux instructions de branchement par cycle, le BTB non compressé comprend des entrées qui stockent chacune des données pour jusqu'à deux prédictions de branchement. Le BTB compressé comprend des entrées qui stockent des données pour seulement une instruction de branchement unique concernant des situations où le stockage de cette instruction de branchement unique dans le BTB non compressé conduirait à une perte d'espace dans ce tampon. L'espace serait perdu dans le BTB non compressé en raison du fait que, afin de prendre en charge deux recherches de branchements par cycle, des données de prédiction pour deux branchements doivent avoir certaines caractéristiques en commun (telle qu'une adresse de ligne de mémoire cache) afin d'être stockées ensemble dans une seule entrée.