3
我想知道,如果在使用ll/sc時在執行sc語句之前處理器發生了變化,那麼結果就是什麼。MIPS同步(ll/sc)
E.g.
CPU 1 ==> $ T1 = 1,$ T0 = 2
CPU 2 ==> $ T1 = 30,$ T0 = 40
MEMORY ==> $ S0 = 99
如果我們執行這些語句:
ll $t1, 0($s0) # CPU 1
ll $t1, 0($s0) # CPU 2
addi $t1, $t1, 1 # CPU 2
sc $t1, 0($s0) # CPU 2 ($t1 = 1, $s0 = 100)
sc $t0, 0($s0) # CPU 1
我知道後執行(糾正我,如果我錯了):
CPU 2 = => $ T1 = 1,$ T0 = 40
CPU 1 ==> $ T1 = 99
我不知道會發生什麼$ s0和$ T0最後CPU 1命令後。 $ s0 = 2?