DocumentCode
2839942
Title
Mechanism for return stack and branch history corrections under misprediction in deep pipeline design
Author
Chiu, Guan-Ying ; Yang, Hui-Chin ; Li, Walter Yuan-Hwa ; Chung, Chung-Ping
Author_Institution
Dept. of Comput. Sci., Nat. Chiao Tung Univ., Hsinchu
fYear
2008
fDate
4-6 Aug. 2008
Firstpage
1
Lastpage
8
Abstract
Return stack may be popped due to branch misprediction, corrupting its contents. Meanwhile, erroneous branch history is also recorded for upcoming branch predictions. These errors are more likely in deep pipelines, and their handling affects performance seriously. We study these issues, and propose solutions with two virtues: low hardware overhead, and high branch prediction accuracy comparable with that of a shallow pipeline design. To deal with return stack corruption, any push and pop after any mispredicted branch should be counted and recorded. These simple rules get overly complicated when multiple unresolved branches exist, and anyone may be erroneous, as is common in deeper pipelines. Next, to deal with branch history contamination, extra history bits, plus a branch confirmation pointer are needed. The experiment result shows that our design is effective, about 4%~9% performance improvement in MiBench.
Keywords
parallel architectures; pipeline processing; storage management; MiBench; branch confirmation pointer; branch history contamination; branch history correction; branch misprediction; content corruption; deep pipeline design; hardware overhead; return stack corruption; Accuracy; Algorithms; Contamination; Hardware; History; Impedance; Indexing; Pipelines; Shift registers; Timing;
fLanguage
English
Publisher
ieee
Conference_Titel
Computer Systems Architecture Conference, 2008. ACSAC 2008. 13th Asia-Pacific
Conference_Location
Hsinchu
Print_ISBN
978-1-4244-2682-9
Electronic_ISBN
978-1-4244-2683-6
Type
conf
DOI
10.1109/APCSAC.2008.4625446
Filename
4625446
Link To Document