Mechanism for return stack and branch history corrections under misprediction in Deep Pipeline Design

Guan Ying Chiu*, Hui Chin Yang, Walter Yuan Hwa Li, Chung-Ping Chung

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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.

Original languageEnglish
Title of host publication13th IEEE Asia-Pacific Computer Systems Architecture Conference, ACSAC 2008
DOIs
StatePublished - 17 Nov 2008
Event13th IEEE Asia-Pacific Computer Systems Architecture Conference, ACSAC 2008 - Hsinchu, Taiwan
Duration: 4 Aug 20086 Aug 2008

Publication series

Name13th IEEE Asia-Pacific Computer Systems Architecture Conference, ACSAC 2008

Conference

Conference13th IEEE Asia-Pacific Computer Systems Architecture Conference, ACSAC 2008
CountryTaiwan
CityHsinchu
Period4/08/086/08/08

Fingerprint Dive into the research topics of 'Mechanism for return stack and branch history corrections under misprediction in Deep Pipeline Design'. Together they form a unique fingerprint.

Cite this