Зависит от операции. Посмотрев на достаточно разобранные программы в MIPS, я знаю, что только некоторые операции являются атомарными.
присвоение нового значения может быть 1 операцией или более, вам придется посмотреть на сборку.
например:
x = 0; // move $a0, $0
x = 0x50000; // lui $a0, 0x0005
x = 0x50234; // lui $a0, 0x0005
// ori $a0, 0x0234
MIPS сборка ссылка или здесь
см. здесь чтобы увидеть, что Дунай и Амазонка - это MIPS32, который покрывает мой пример, и поэтому не все 32-битные целые числа могут быть написаны атомарно.
см. R10000 в приведенном выше сообщении - MIPS64. Поскольку 32-битное значение будет вдвое меньше размера регистра, это может быть атомная загрузка / запись.