Hi All,

   I have a questions to ask about x86 CPU:
    why are all "lock prefix instruction" translated to Microops with "mfence" 
pair? 
       Ex. "lock inc [eax]" trans to:
           """ 
            mfence
            ldstl t1, seg, sib, disp
            addi t1, t1, 1, flags=(OF, SF, ZF, AF, PF)
            stul t1, seg, sib, disp
            mfence
           """ 
   I checked the "ldstl" and "stul" microops, both of them have the flag 
"Request::LOCKED". I think this flag should guarantee the "lock" semantics. 
Does somebody can give me some reasons?


Regards,

Hawk
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to