このスレは荒れる…!

マルチスレッド、マルチコア、アウトオブオーダー実行(OoO)にまつわる3つの問題は分けて考えられねばならない;
 (A) 書き換えレースの問題(>>352
 (B) アドレスxに対する読み書きのatomic性(>>364
 (C) メモリバリア(>>354

(A)はマルチスレッドすればシングルCPUでも起きる問題
(B)はこれは何ビット幅までの読み書きを他コアが割り込み不可能なバスサイクルで行えるかという話。マルチコア固有
(C)はマルチコア状況化でのアウトオブオーダー(OoO)実行の影響をソフトで制御して無問題にするテクの話で、マルチコア×OoO固有の話

>>364は(B)のことを言っており、だいたい合っているんじゃ
(IAの場合、4バイト境界に整列した32ビットまでは(B)の意味でatomicに読み書きできる
 整列していないデータの読み書きは16 bitであっても(B)の意味でatomicではない
 インテルのマニュアルに書いてある
 自尊心だけは高い低学歴知恵遅れなのでいちいちソースは示さないが