If I have understood well a “hit” in the branch target buffer means that the branch target address of that specific branch instruction was already registered, hence the result of the BTB will be “hit”. If it is a “miss”, it means that either its the first time this branch instruction is executed and there is no branch target address registered in the BTB or simply because the instruction is “not-taken”. Am I right?
My teacher told me that a hit in the BTB means a branch is predicted, but also a miss can result in a branch being predicted (not taken case)?
Thanks in advance for any answers!