Hello, I have observed while running X86 full system simulation for PARSEC benchmark in gem5 with ruby timing model that the loads and younger instructions keep getting squashed. re-fetched, reissued and again squashed until response to outstanding load for same address is received. The sequencer in ruby timing model does not allow multiple outstanding loads to the same address. Due to this I can see significant number of unnecessary squashes in gem5. Even though the outstanding load request in sequencer may be squashed by processor due to branch mis-predict, another load to same address and subsequent instructions keep getting squashed until response for outstanding load is received
Apart from this Gem5 does not stall loads when the sequencer is full, it squashes again, Due to this even though gem5 with default configuration has 192 entry instruction window 8 wide issue. it is not as aggressively speculative as it is supposed to be. Most of them are squashed unnecessarily. Is this how gem5 supposed to work, this is very inefficient and is there a patch to resolve these unnecessary squashes? -- Thanks & Regards, Vamsi Krishna. Graduate Student, Electrical & Computer Engineering, Texas A&M University.
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
