gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Squashed instructions in O3CPU

CP
Constantinos Papadopoulos
Fri, Jun 9, 2023 9:33 AM

Hi everyone.

I am modifying the o3 cpu model and trying to collect all the squashed
instructions in a buffer. Is there a single point from which all squashed
instructions are passing? From what I understand squashes due to
mispeculation are detected either in decode or iew with the latter case
initiating the squash from the commit, whether squashes due to memory order
violation or traps are also initiated by the commit stage.

If I'm missing something, could someone give me a high-level overview on
how squashes are handled in o3?

Also, any word of advice on how to enforce a redirect of fetching to a
different pc than the next one? Would resetting the pc after/in fetch's
lookupAndUpdate function be enough?

Thanks in advance!
Constantinos

Hi everyone. I am modifying the o3 cpu model and trying to collect all the squashed instructions in a buffer. Is there a single point from which all squashed instructions are passing? From what I understand squashes due to mispeculation are detected either in decode or iew with the latter case initiating the squash from the commit, whether squashes due to memory order violation or traps are also initiated by the commit stage. If I'm missing something, could someone give me a high-level overview on how squashes are handled in o3? Also, any word of advice on how to enforce a redirect of fetching to a different pc than the next one? Would resetting the pc after/in fetch's lookupAndUpdate function be enough? Thanks in advance! Constantinos