Dynamic Branch Predictors
A detailed Summary of Dynamic Branch Predictors
In pipelined processors, an instruction must be fetched at every clock cycle in order to sustain the pipeline. However, in modern processors, the decision of whether or not to take a branch is not made until the memory-access stage of the pipeline, and the pipeline must stall the fetching of the next instruction until the decision is made. Because on average 20% of instructions are fetches, this causes a significant penalty on the performance of pipelined processors. Since the processor must keep working during this delay, modern processors incorporate branch predictors to predict whether a branch will be taken or not, and load instructions from the more likely path to minimize the branch penalty. Dynamic branch predictors use information gathered about the program's branches at run-time to determine the most likely outcome of each branch. There are several different flavors of dynamic branch predictors in use, the most common of which are one-level branch predictors, two-level branch predictors, hybrid branch predictors, and multiple component hybrid branch predictors.
In one-level branch predictors, each branch instruction is mapped to an entry in a one-dimensional table of n-

Using an arbitrary function on the branch instruction's address to map it to an entry is called hashing. The function is chosen in order to map branch instructions as efficiently as possible over the whole table, and to avoid overlapping.
The simplest counters use 1 bit, which is not the most effective. For instance, if a branch is almost always taken, one not-taken will cause the branch to be predicted wrong twice, once when the branch is not taken, and once when it is taken again immediately afterwards. 2-bit counters are most commonly used, as they are a good compromise between cost and accuracy. They don't "change their minds" as easily.
Some common words found in the essay are:
Branch Predictors, Predictors Two-level, XORing XORing, , branch predictors, two-level branch predictors, two-level branch, branch predicted, one-level branch, branch history, history table, one-level branch predictors, global branch history, branch instruction, global branch, branch instructions, pattern history, branch predictors one-level, predictors one-level branch,
Approximate Word count = 1071
Approximate Pages = 4 (250 words per page double spaced)
Category: Technology
Saved Paper
Newest Essays
- My Personal Value System
- Iraq and High Energy...
- The Development of English...
- Critique of a Research...
- Visiting the Elderly in...
- Ad Critique: Peters, Jeremy...
- Catell's Structure-Based...
- Current Diabetes Epidemic:...
- Job Search: Push Pull...
- Proposal: Social...
Testimonials
-
"Thank You So Much!!! You have saved me once again!!!"
Jack M. -
"With so many papers to chose from, I was able to get ideas to help me with all of my classes. Thank You!"
Brian P. -
"I've used this site for the last 3 years to help me come up with ideas for my papers."
Sara J. -
"I use this site every week to help me write my own papers!"
Rachel W. -
"I love this site!!!"
Marie N.
