Recovery requirements of branch prediction storage structures in the presence of mispredicted-path execution

Execution along mispredicted paths may or may not affect the accuracy of subsequent branch predictions if recovery mechanisms are not provided to undo the erroneous information that is acquired by the branch prediction storage structures. A study is made of 4 elements of the Two-Level Branch Predict...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:International journal of parallel programming 1997-10, Vol.25 (5), p.363-383
Hauptverfasser: JOURDAN, S, STARK, J, HSING, T.-H, PATT, Y. N
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Execution along mispredicted paths may or may not affect the accuracy of subsequent branch predictions if recovery mechanisms are not provided to undo the erroneous information that is acquired by the branch prediction storage structures. A study is made of 4 elements of the Two-Level Branch Predictor: the Branch Target Buffer (BTB), the Branch History Register (BHR), the Pattern History Tables (PHTs), and the Return Address Stack (RAS). For each it is determined whether a recovery mechanism is needed, and, if so, it is shown how to design a cost-effective one. Using five benchmarks from the SPECint92 suite, it is shown that there is no need to provide recovery mechanisms for the BTB and the PHTs, but that performance is degraded by an average of 30% if recovery mechanisms are not provided for the BHR and RAS.
ISSN:0885-7458
1573-7640
DOI:10.1007/BF02699883