Solved this question for anyone interested, posted the full answer in that github issue but basically it turns out stores without a valid address also have an access size of 0 until they're assigned an address at execution, and there's a guard in the SQ search loop that checks against the size being 0.
Sent from Proton Mail Android -------- Original Message -------- On 17/09/2024 13:46, muke101 via gem5-dev <gem5-dev@gem5.org> wrote: > Sorry, forgot to link the github issue I mentioned: > https://github.com/orgs/gem5/discussions/650 > > Sent from Proton Mail Android > > > -------- Original Message -------- > On 17/09/2024 13:45, muke101 <muke...@protonmail.com> wrote: > > > Hi, I'm doing some gem5 hacking for research and have been confused over > the timing of when loads search the store queue (SQ) and when stores have > valid addresses that can be compared against. Gem5 includes an assert in the > read() method in the LSQ unit that the addresses of all stores before the > executing loads are valid, but I don't understand how this can be guaranteed > in OoO execution. > > > > I found a github issue which explains the issue in more detail with code > examples, but hasn't received any answers. I'm hoping someone here could take > a look and shed light on what's going on with this part of the code. > > > > In my case, I'd like to be able to force executing loads to be dependent > on the first older store which has an unknown address, in order to simulate > an OoO core without memory dependence prediction. I had imagined implementing > this during the store forwarding search in the same way a load is made > dependent on a store with a partial address overlap, but again for some > reason it's assumed that by the time a load is forwarding all the previous > stores have known addresses. > > > > Any info would be appreciated, thanks. > > > > Sent from Proton Mail Android > _______________________________________________ > gem5-dev mailing list -- gem5-dev@gem5.org > To unsubscribe send an email to gem5-dev-le...@gem5.org > _______________________________________________ gem5-dev mailing list -- gem5-dev@gem5.org To unsubscribe send an email to gem5-dev-le...@gem5.org