Hi,
In the O3 model, dispatch to the IQ is blocked when the LSQ is full, even
for non-memRef instructions.
Relevant snippets of code from rename_impl.hh:
In renameInsts(ThreadID tid):
if (free_lsq_entries < min_free_entries) {
min_free_entries = free_lsq_entries;
source = LSQ;
}
if (min_free_entries < insts_available) {
DPRINTF(Rename, "[tid:%u]: Will have to block this cycle."
"%i insts available, but only %i insts can be "
"renamed due to ROB/IQ/LSQ limits.\n",
tid, insts_available, min_free_entries);
}
Could you tell me why this check is implemented? I would expect non memory
instructions in O3 to go along to execute even if the LSQ has no free
entries.
Thanks,
Shruti
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users