> On 2011-01-27 07:02:13, Korey Sewell wrote:
> > src/cpu/inorder/resources/branch_predictor.cc, line 87
> > <http://reviews.m5sim.org/r/449/diff/1/?file=10108#file10108line87>
> >
> >     Right here, we are trying to set the default not-taken path of the 
> > branch. 
> >     
> >     We do this, because The Branch Predictor will only update the PCState 
> > if it's a taken branch...
> >     
> >     Is that violating how you (Gabe) intending PCState to work?

It gets a little muddy because the branch predictors still have an idea of 
taken and not taken, and that's ill defined with branch delay slots. If you 
define "not taken" as continuing execution with the next instruction, branches 
may never not be taken because they either go to a different target or skip an 
instruction. I don't remember exactly how this worked out in O3 for SPARC but 
you could look at that to get an idea of what's going on. Even though O3 
doesn't make special accomadations for branch delay slots and annulling, doing 
things that way gave significantly better simulated performance than trying to 
handle things directly.


- Gabe


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/449/#review808
-----------------------------------------------------------


On 2011-01-25 16:04:38, Korey Sewell wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.m5sim.org/r/449/
> -----------------------------------------------------------
> 
> (Updated 2011-01-25 16:04:38)
> 
> 
> Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
> Nathan Binkert.
> 
> 
> Summary
> -------
> 
> inorder: pcstate and delay slots bug
> For ISAs with delay slots, not taken branches were not being advanced 
> correctly to pc+8, so for those ISAs
> we 'advance()' the pcstate one more time for the desired effect
> 
> 
> Diffs
> -----
> 
>   src/cpu/inorder/resources/branch_predictor.cc 31a04e5ac4be 
>   src/cpu/inorder/resources/fetch_seq_unit.cc 31a04e5ac4be 
> 
> Diff: http://reviews.m5sim.org/r/449/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Korey
> 
>

_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to