Speculative Branch Tags (cont).
Every time a speculative branch is taken, must save the opposite predicted PC value for mis-prediction recovery. These registers are in the Fetch module.All instructions that follow this branch are assigned a Speculative Branch Tag (SBT). Non-speculative instructions have a SBT of 0. The first SBT value is 1, then 2, etc. The maximum value of SBT will be SPECMAX (maximum number of outstanding speculative instructions).
Branches are executed by integer unit #0. All the integer unit does is resolve the branch condition.