Hi there,

I've been facing a situation that I suppose it shouldn't happen.
Using the O3 model and SPARC ISA, in the middle of the execution there are
some memory operations: Store to address A followed by other accesses to
other addresses and then a Load to address A.
What happens is that this Load is being somehow flagged as completed before
the Store, but reading his data though.
I've checked in the Memory Dependency Unit and some other related units but
there was nothing I could do there that would change that behavior. And I
know that when something like that is detected in the LSQ, it returns a
fault, squashes, etc.

As far as I know, the O3 model implements the Alpha Memory Model, and the
reordering between memory operations to the same address is not allowed
(except in some aggressive implementations, which I think it's not the
case).
Is this normal and I'm missing something? Or it really shouldn't happen?


Thanks in advance,

--
Eberle A. Rambo.
System Design Automation Lab (LAPS) and
Interdepartmental Core of Microelectronics (NIME)
Department of Informatics and Statistics (INE)
Federal University of Santa Catarina (UFSC)
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to