計算機組織與結構›Ch6 記憶體(Memory)
第 15 題/共 83 題
◀ CC 15/83
15. Memory Consistency、Concurrent Execution、Shared Memory
#CC-06-015中Memory ConsistencyConcurrent ExecutionShared Memory

考慮下列RISC-V程式碼在兩個cores上並行執行:

[x2] = 1
[x3] = 1

ld   x1, 0(x2)
addi x1, x1, 1
sd   x1, 0(x2)
ld   x4, 0(x3)
add  x4, x1, x4
sd   x4, 0(x3)

記憶體由兩個cores共享。在執行程式碼之前,假設每個core的暫存器x2與x3各自包含不同的值(x2core0≠x3core0x2_{core0} \ne x3_{core0} 且 x2core1≠x3core1x2_{core1} \ne x3_{core1})。兩個cores相同的暫存器x2與x3分別包含相同的值(x2core0=x2core1x2_{core0} = x2_{core1} 且 x3core0=x3core1x3_{core0} = x3_{core1})。記憶體位置[x2]與[x3]在執行程式碼前都儲存整數值1。假設指令沒有重排的可能。程式碼執行完成後,[x2]與[x3]所有可能的值是什麼?

📄 台大111
跳轉到第題
▤完整推導請見《WH 資工筆記 · 計算機組織與結構》Ch6 記憶體(Memory)
本章題號 · 1–20 / 83