there are two types of Branch misprediction detection prior to the Execution stage. I believe the two mispredictions raise BTCLEAR and BACLEAR signals. However, I am a little unsure exactly what the difference is between the two events and which is more costly in terms of flushing the pipeline.
Do both these signals get raised in the Branch Address Calculator (BAC)? The patent I linked above suggests a branch misprediction can be detected before the Decoder, which I do not understand.
1) Do both BACLEAR and BTCLEAR result from the BAC detecting a misprediction?
2) Do the two signals incur the same length of pipeline being flushed?
3) Is there any branch misprediction detection occurring before the BAC?