Разве отсутствие "общего порядка" не следствие работы store buffers и L1 кеша? Если бы процессоры работали с памятью напрямую без кеширования и перестановок инструкций, общий порядок достигался бы автоматически. Но говорить о "total order" нужно потому что хотя load/stores одного потока не переупорядочиваются, переупорядочивание может возникнуть между потоками, (обычно это демонстрируют парами инструкций в 2х разных потоках). Т.е. store/load имеют total order внутри 1 потока(процессора), а locked инструкции - между всеми.
no subject
Если бы процессоры работали с памятью напрямую без кеширования и перестановок инструкций, общий порядок достигался бы автоматически.
Но говорить о "total order" нужно потому что хотя load/stores одного потока не переупорядочиваются, переупорядочивание может возникнуть между потоками, (обычно это демонстрируют парами инструкций в 2х разных потоках).
Т.е. store/load имеют total order внутри 1 потока(процессора), а locked инструкции - между всеми.