> On 2011-03-11 18:58:46, Gabe Black wrote:
> > Why are you fixing up the fact that the CPU shouldn't have quiesced instead 
> > of preventing it from doing it in the first place? If the instruction is 
> > being executed speculatively, you should mark it as non-speculative. If O3 
> > is basing its behavior off of the instruction's flags instead of its 
> > behavior (ie. if it actually called quiesce), I'd argue it shouldn't be 
> > doing that.
> 
> Ali Saidi wrote:
>     Because for the CPU to quiesce it needs to stall early (in fetch) and it 
> does so by testing the IsQuiesce flag of the instruction. Even if it's not 
> speculative that doesn't solve the problem for us if the instruction is 
> predicated false. So after we end up processing the instruction if it was 
> predicated false we need to wake up the fetch stage which had just quiesced.
> 
> Gabe Black wrote:
>     So, why does it need to quiesce in fetch? Can't quiesce act like a fault 
> (sort of) and throw out non-committed state?

It's just the way the O3 cpu quiesces. we didn't add that feature, we're just 
using it. 


- Ali


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


On 2011-03-11 15:20:18, Ali Saidi wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.m5sim.org/r/569/
> -----------------------------------------------------------
> 
> (Updated 2011-03-11 15:20:18)
> 
> 
> Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
> Nathan Binkert.
> 
> 
> Summary
> -------
> 
> ARM: Allow conditional quiesce instructions.
> 
> This patch prevents not executed conditional instructions marked as
> IsQuiesce from stalling the pipeline indefinitely. If the instruction
> is not executed the quiesceSkip psuedoinst is called which schedules a
> wakes up call to the fetch stage.
> 
> 
> Diffs
> -----
> 
>   src/arch/arm/isa/insts/m5ops.isa 5138d1e453f1 
>   src/arch/arm/isa/insts/misc.isa 5138d1e453f1 
>   src/arch/arm/isa/templates/pred.isa 5138d1e453f1 
>   src/sim/pseudo_inst.hh 5138d1e453f1 
>   src/sim/pseudo_inst.cc 5138d1e453f1 
> 
> Diff: http://reviews.m5sim.org/r/569/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Ali
> 
>

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

Reply via email to