2015-08-19 85 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

相关问题