Я хотел бы знать, что если при использовании ll / sc перед выполнением оператора sc произойдет смена процессора, то что будет результатом.
Например,
CPU 1 ==> $t1 = 1, $ t0 = 2
ЦП 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 ??