Answers are grounded in this paper and cite their sources.
Pipelining is the major organizational technique that computers use to reach higher single-processor performance. A fundamental disadvantage of pipelining is the loss incurred due to branches that require stalling or flushing the pipeline. Both hardware solutions and architectural changes have been proposed to overcome these problems. This paper examines a range of schemes for reducing branch cost focusing on both static (compile-time) and dynamic (hardware-assisted) prediction of branches. These schemes are investigated from quantitative performance and implementation viewpoints. 1
No takes yet. Share an insight, caveat, or question.
McFarling et al. (1986) studied this question.
Synapse has enriched 10 related papers. Consider them for comparative context: