Professional Documents
Culture Documents
3. Register result status—Indicates which functional unit will write each register, if one
exists. Blank when no pending instructions will write that register
• LD – 1 cycle
– (compute address + data cache access)
• ADDDs and SUBs are 2 cycles
• Multiply is 10 cycles
• Divide is 40 cycles
A: After first loop, the predictor will say not to take because the last time the
execution came out of loop, it set a “0” in the predictor. So, it’s a misprediction.
The bit will now be set to “1”. Works fine until the last loop when it is predicted
as taken. So, 2 mispredictions in in 10 loop executions => 80% accuracy.
How about a 2-bit predictor? Let the prediction be changed only after it misses
twice in a row.
branch PC BHT
01
m-bit ghr
01
n-bit predictors
PC 00
Combining
funciton