On Sep 23, 2008, at 9:28 PM, Steve Reinhardt wrote:
> I believe it's impossible fault on a microop in the middle of a  
> macroop and then resume where you left off in the middle of the  
> macroop flow.  If you fault you will roll back to the state at the  
> beginning of the macroop and then on resuming from the fault you  
> either have to reexecute the macroop from the start or skip it  
> entirely.
>
> So it seems like the two cases where you're in the middle of a  
> macroop flow and you end the macroop are either (1) the final,  
> specially marked microop of the normal flow hits retire or (2) a  
> microop causes a fault and the whole macroop is discarded and the  
> fault handler is invoked.  Interrupts don't count because you'd  
> never take an interrupt in the middle of a macroop.
I think x86s string copy instruction is a case where you have to be  
able to take an fault (tlb) in the middle of the micro-op and then  
resume. Otherwise it would be possible to prevent the machine from  
making forward progress with a string copy that spanned more pages  
than the tlb holds.

Ali

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

Reply via email to