RSIM Bug Report #17

Version of RSIM1.0
Bug number17
Bug class2
Date5/16/99
Reported byinternal
AffectsApplications that stress the processor memory queue usage
Filesstallq.cc

Problem Description

Under certain circumstances, an instruction can pass through address generation twice (if there was no space for it in the mem system when it was fetched and if its dependences clear out before it gets added to the memory system). The fix is a simple one-line change to stallq.cc.

The code in error says:

inst->addrdep = 0; if (inst->strucdep == 0) // has a slot in memory system CalculateAddress(inst,proc); Change this to: inst->addrdep = 0; if (inst->strucdep == 0 && inst->in_memunit) // has a slot in memory system CalculateAddress(inst,proc);