--
You received this message because you are subscribed to the Google Groups "RISC-V SW Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sw-dev+un...@groups.riscv.org.
To post to this group, send email to sw-...@groups.riscv.org.
Visit this group at https://groups.google.com/a/groups.riscv.org/group/sw-dev/.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/sw-dev/4970e06a.8d26.15925c82a84.Coremail.leishangwen%40163.com.
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/sw-dev/5fcdc35e.2f3b.1592f88e526.Coremail.leishangwen%40163.com.
val nextRepl =
Counter(r_btb_update.valid && !updateHit, entries)._1
On Dec 28, 2016, at 5:01 PM, leishangwen <leish...@163.com> wrote:
I think the problem is the BTB entry replace algorithm, here is the code:val nextRepl =if (!isPow2(entries)) {Counter(r_btb_update.valid && !updateHit, entries)._1} else {val plru = new PseudoLRU(entries)when (hits.orR) { plru.access(OHToUInt(hits)) }plru.replace}
Different replace algorithm results different branch prediction efficiency.
At 2016-12-24 14:33:37, "leishangwen" <leishangwe163.com> wrote:
Thank you Christopher.I checked out BOOM code, and found BOOM use a new BTB, different with Rocket, so I changed Rocket to print branch prediction info, just like BOOM.Now I can get the branch predictor stats, and I changed the number of BTB entry to 32, 40, 60, 64, 120, 128.Below is the result, it shows the misprediction ratio.
<无标题.jpg>
To view this discussion on the web visit https://groups.google.com/a/groups.riscv.org/d/msgid/sw-dev/65dcbadd.3cbf.15948864536.Coremail.leishangwen%40163.com.