An SMT system has a single thread mode and an SMT mode. Instructions are alternately
selected from two threads every clock cycle and loaded into the IFAR in a three
cycle pipeline of the IFU. If a branch predicted taken instruction is detected
in the branch prediction circuit in stage three of the pipeline, then in the single
thread mode a calculated address from the branch prediction circuit is loaded into
the IFAR on the next clock cycle. If the instruction in the branch prediction circuit
detects a branch predicted taken in the SMT mode, then the selected instruction
address is loaded into the IFAR on the first clock cycle following branch predicted
taken detection. The calculated target address is fed back and loaded into the
IFAR in the second clock cycle following branch predicted taken detection. Feedback
delay effectively switches the pipeline from three stages to four stages.