inorder: timing for inst forwarding
authorKorey Sewell <ksewell@umich.edu>
Sun, 11 Apr 2010 03:31:36 +0000 (23:31 -0400)
committerKorey Sewell <ksewell@umich.edu>
Sun, 11 Apr 2010 03:31:36 +0000 (23:31 -0400)
commitb49511ae4843fc7af3b28d7dfdb18d4e474b81d3
treee7a8e0fe0d96f8cee1a6bb809a43003dcd2701ea
parentd71f9712b3640239f70382baade7439ac783f9a1
inorder: timing for inst forwarding
when insts execute, they mark the time they finish to be used for subsequent isnts
they may need forwarding of data. However, the regdepmap was using the wrong
value to index into the destination operands of the instruction to be forwarded.
Thus, in some cases, we are checking to see if the 3rd destination register
for an instruction is executed at a certain time, when there is only 1 dest. register
valid. Thus, we get a bad, uninitialized time value that will stall forwarding
causing performance loss but still the correct execution.
src/cpu/inorder/inorder_dyn_inst.cc
src/cpu/inorder/reg_dep_map.cc
src/cpu/inorder/reg_dep_map.hh
src/cpu/inorder/resources/use_def.cc