gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Question about squash function in tage.cc

马清川
Tue, Jul 12, 2022 6:43 AM

when exec stage resolve a branch instruction, it will squash the speculative wrong path, all the branches AFTER this mispredicted branch will be squashed, so speculative update(when lookup) should be restore according bp_history.

why tage squash function do nothing except delete bp_history, shouldn't it first restore the global hist and path hist, then delete bp_history, just like squash functions in bi_mode.cc or tournament.cc

when exec stage resolve a branch instruction, it will squash the speculative wrong path, all the branches AFTER this mispredicted branch will be squashed, so speculative update(when lookup) should be restore according bp_history. why tage squash function do nothing except delete bp_history, shouldn't it first restore the global hist and path hist, then delete bp_history, just like squash functions in bi_mode.cc or tournament.cc