Load-link/store-conditional
外觀
佇電腦科學當中,load-linked / store-conditional ( LL / SC ),人嘛會叫做load-reserved / store-conditional ( LR / SC ),load-link佮store-conditional(LL / SC) 是一對用佇咧並行仝步存取記憶體的 CPU 指令。Load-link 倒轉來記持體位置的當前值,隨後的 store-conditional 佇咧記持體位置的所在儲存新值(若對 load-link 無去予人改過來)。 這予人用佇實現無鎖演算法佮 read-modify-write 原子操作。
歷史
LL / SC 上代先是 Jensen , Hagensen , Broughton 佇勞倫斯利佛摩國家實驗室為 S 影一 AAP multiprocessor 猶閣設計。
實現
LL / SC 指令予人喝講架構支援:
- Alpha : ldl \ _ l / stl \ _ c , ldq \ _ l / stq \ _ c
- PowerPC : lwarx / stwcx , ldarx / stdcx
- MIPS 架構 : ll / sc
- ARM 架構 : ldrex / strex ( ARMv 六 , v 七 ) , ldxr / stxr ( ARM version 八 )
- RISC-V : lr / sc
LL / SC 的硬體實現典型地無允准岫狀 LL / SC 著。岫狀的 LL / SC 機制用於提供 MCAS 原語(多字 Compare-And-Swap,字會當是分布的)。 二空一三年 Trevor Brown , Faith Ellen , Eric Ruppert 軟體實現真濟 LL / SC 擴充。這予人用來最佳化二箍搜揣樹仔。
參見
- 非常的踢同步
- 事務記持體(Transactional memory)