Slide 28
Slide 28 text
• シングルコアでも結果が壊れるようなリオーダーは起きない(RISC-Vの定義が参考になるよ)
• 同じアドレスへのメモリ命令はプログラム順が維持される
• 結果を使用する先のメモリ命令もプログラム順が維持される
• なお分岐後のロードは依存ではないので注意(投機的ロード)
• 一方投機的ストアをするアーキテクチャは現代にはない
28
メモリ命令のリオーダー
リオーダー
する
リオーダー
しない
Store(0x100, 1) Store(0x100, 1)
R = load(0x200) R = load(0x100)
リオーダー
する
リオーダー
しない
Rx=load(0x100) Rx=load(0x100)
Store(0x200, 1) Store(0x100,Rx)