Why are BIM entries initialized as "taken"?

56 views
Skip to first unread message

Alvise de Faveri Tron

unread,
Mar 7, 2024, 3:17:16 PM3/7/24
to riscv-boom
I am looking at the implementation of BOOM's BIM predictor, specifically this line:

Mux(doing_reset,
      VecInit(Seq.fill(bankWidth) { 2.U }),
      s1_update_wdata),

Does this mean that the default prediction for branches is "taken"? If so, why is that the case? I would expect (forward) branches to be statically predicted not-taken. Is there any particular reason not to do that?

Thanks in advance!


Jerry Zhao

unread,
Mar 7, 2024, 3:21:05 PM3/7/24
to Alvise de Faveri Tron, riscv-boom
That is just initializing the state after reset. The predictor behavior immediately after reset wasn't ever optimized.





--
You received this message because you are subscribed to the Google Groups "riscv-boom" group.
To unsubscribe from this group and stop receiving emails from it, send an email to riscv-boom+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/riscv-boom/4f9fa1c0-42df-4c92-89da-9ace3ed960afn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages