2015-08-19 84 views
4

在計算機體系結構中,LL/SC與CAS比較和交換的優勢是什麼?我認爲LL/SC可以在多核系統中處理活鎖,並且可以解決ABA問題,但CAS不會。我無法找到LL/SC與CAS相比的優勢。任何人都可以告訴我?與CAS(比較和交換)相比,LL/SC有什麼優勢?

+0

有一個基本的比較[這裏](https://en.wikipedia.org/wiki/Load-link/store-conditional#Comparison_of_LL.2FSC_and_compare-and-swap)。 – Jason

+0

感謝您的回答。比較過於簡單。我想知道詳細的性能比較。 – winter

回答

2

由於沒有人回答,LL/SC不會遇到ABA問題,因爲如果LL引用的地址被修改,條件存儲將會失敗。此外,它不能活鎖,因爲一個或多個LL/SC對失敗意味着另一個成功。 CAS也可能更昂貴,因爲它可能需要刷新無效隊列。

+0

感謝您的回答。現在我知道LL/SC完全不會遇到ABA問題,因爲上下文切換會導致SC失敗。但是,當LL和SC之間的其他內核發生太多其他LL時,將會出現活鎖,因爲來自其他內核的LL會導致SC失敗的季節。 – winter

+0

@winter我不確定我完全理解你的描述。你能用你不明白的或你想知道的更新你的問題嗎? – Jason

相關問題