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...
Gespeichert in:
Veröffentlicht in: | International journal of parallel programming 1997-10, Vol.25 (5), p.363-383 |
---|---|
Hauptverfasser: | , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
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 |