Review Board 2.0.15


O3: Fixes the way prefetches are handled inside the iew unit. This patch

Review Request #342 - Created Dec. 6, 2010 and submitted

Information
Ali Saidi
gem5
Reviewers
Default
ali, gblack, nate, stever
O3: Fixes the way prefetches are handled inside the iew unit. This patch
prevents the prefetch being added to the instCommit queue twice.

   
Posted (Dec. 8, 2010, 3:22 p.m.)
You're commit message isn't formatted properly.
src/cpu/o3/iew_impl.hh (Diff revision 1)
 
 
Why not just not return a fault in these cases?
Posted (Dec. 9, 2010, 10:42 a.m.)



  
src/cpu/o3/iew_impl.hh (Diff revision 1)
 
 
So the code outside the if block executes normally and the prefetch, if it faults, just silently goes away. 
  1. Oooooh, I got it now. I initially thought this was the instruction's execute method returning the fault, but now I see that's not the case (right?). This makes sense now.
Posted (Dec. 21, 2010, 9:29 a.m.)



  
src/arch/arm/tlb.cc (Diff revision 1)
 
 
It seems to me like we ought to have a generic check in the CPU models that prevents prefetches to uncacheable locations rather than burying this in the TLB and requiring every ISA to make this check.  (Which leads to the question of how/whether this is handled in other ISAs...)
  1. Prefetches aren't implemented in Alpha so this hasn't been an issue. I don't know that I agree it should be in a generic place because I don't know that uncachable is equivalent to non-prefetchable. For example, an memory could be marked cacheable but not prefetchable in sparc if memory serves (same is probably true for some ASI accesses). I think the TLB really needs to make the decision because it's got all of the relevant information. 
Ship it!
Posted (Jan. 17, 2011, 8:07 a.m.)