Branch history table indexing to prevent pipeline bubbles in wide-issue superscalar processors
Tse-Yu Yeh, Yale N. Patt
Abstract
Tse-Yu Yeh, Yale N. Patt
Abstract
Even with a very accurate dynamic branch predictor, a superscalar processor must predict instruction fetch addresses no later than the first pipeline stage to avoid suffering pipeline bubbles every time a branch is taken. Unfortunately, branch addresses generally are not known prior to instruction decode. Therefore, some indirect technique is required to identify a branch instruction and enable branch prediction while the branch instruction is being fetched. This is the branch identification problem. Intel Pentium adopts a scheme that solves this problem; however, its scheme assumes an issue rate of two instructions per cycle. An aggressive superscalar processor, issuing more than two instructions per cycle, cannot effectively use that scheme. In this paper, we propose and compare two viable schemes for solving the branch identification problem for wide-issue superscalar processors. 1 Introduction A superscalar processor fetches, issues, and executes multiple instructions each cycle ...
OpenAlex reports 13 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Even with a very accurate dynamic branch predictor, a superscalar processor must predict instruction fetch addresses no later than the first pipeline stage to avoid suffering pipeline bubbles every time a branch is taken. Unfortunately, branch addresses generally are not known prior to instruction decode. Therefore, some indirect technique is required to identify a branch instruction and enable branch prediction while the branch instruction is being fetched. This is the branch identification problem. Intel Pentium adopts a scheme that solves this problem; however, its scheme assumes an issue rate of two instructions per cycle. An aggressive superscalar processor, issuing more than two instructions per cycle, cannot effectively use that scheme. In this paper, we propose and compare two viable schemes for solving the branch identification problem for wide-issue superscalar processors. 1 Introduction A superscalar processor fetches, issues, and executes multiple instructions each cycle ...
Key concepts: Branch predictor, Superscalar, Computer science, Pentium, Pipeline (software), Parallel computing, Speculative execution, MMX