計算機組織與結構›Ch6 記憶體(Memory)第 12 題/共 83 題
12. Memory Consistency、TSO、Out-of-Order Execution、Store Buffer
#CC-06-012難Memory ConsistencyTSOOut-of-Order ExecutionStore Buffer
考慮兩個hardware threads,Proc0與Proc1,它們與一個把位址映射到值的共享記憶體互動。兩個記憶體位置A與B的初始值皆為0。x0與x1是CPU暫存器。每個hardware thread都有自己的store buffer。這些hardware threads支援out-of-order執行。假設下列code在三種情況下同時在Proc0與Proc1上執行,下列關於程式執行完後x0與x1最終狀態的敘述何者正確?
| Case 0 | Case 1 | Case 2 | |||
|---|---|---|---|---|---|
| Proc0 | Proc1 | Proc0 | Proc1 | Proc0 | Proc1 |
| store #1, [A]; | store #1, [B]; | load x0, [A]; | load x1, [B]; | store #1, [A]; | load x0, [B]; |
| load x0, [B]; | load x1, [A]; | store #1, [B]; | store #1, [A]; | store #1, [B]; | load x1, [A]; |
📄 台大112
▤完整推導請見《WH 資工筆記 · 計算機組織與結構》Ch6 記憶體(Memory)