提交 4a3804d4 编写于 作者: L Lingrui98

ittage: fix performance bugs and code clean ups

上级 1d7e5011
......@@ -694,7 +694,7 @@ class Tage(implicit p: Parameters) extends BaseTage {
}
}
//update base table condition
// update base table if used base table to predict
when (updateValid) {
when(updateMeta.provider.valid) {
when(~up_altpredhit && updateMisPred && (updateMeta.predcnt === 3.U || updateMeta.predcnt === 4.U)) {
......@@ -712,8 +712,10 @@ class Tage(implicit p: Parameters) extends BaseTage {
baseupdate(w) := false.B
}
updatebcnt(w) := updateMeta.basecnt
when (updateValid && updateMisPred && ~((((updateMeta.predcnt === 3.U && (~isUpdateTaken))) || ((updateMeta.predcnt === 4.U && isUpdateTaken))) && updateMeta.provider.valid)) {
// if mispredicted and not the case that
// provider offered correct target but used altpred due to unconfident
when (updateValid && updateMisPred && ~((updateMeta.predcnt === 3.U && ~isUpdateTaken || updateMeta.predcnt === 4.U && isUpdateTaken) && updateMeta.provider.valid)) {
//when (updateValid && updateMisPred) {
val allocate = updateMeta.allocate
when (allocate.valid) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册