2

I am trying to understand how branch prediction works, specifically with regards to correlative branch prediction. I understand that in an (m, n) branch predictor, there are m branch predictors, with each branch predictor being an n-bit predictor. My question is, given a set of 4 3-bit branch predictors, each outputting a bit as the prediction for a branch:

Branch 1: 1 0 1
Branch 2: 1 0 0
Branch 3: 1 0 0
Branch 4: 1 0 1

My question is, from this branch history, how exactly does the (m, n) branch predictor determine the prediction for Branch 5? There are so many bits to choose from, and I haven't encountered a clear-cut, very direct explanation as to how the correlative branch predictor does so.

1

0