Repeating Ourselves
Loops cause problems with the previous scheme
The first and last iteration of a loop will be mispredicted
If the loop has been executed earlier, then the first time we encounter the branch instruction, we will predict that it will not be taken
On the final iteration, we will predict that the branch will be taken
To handle this case, we use more than 1 bit of state in our branch prediction buffer