因此;一个64位的SPARC CPU是V9兼容上,存在我知道的 CAS 指令。此操作对一个字长度的值。

我也看到了在网络上参照 casx 指令 - 但我无法找到任何关于它更多的

我不知道 - 这是一个双字比较和交换

和如果不是,一般的问题是;是否有一个双字比较和交换?

有帮助吗?

解决方案 3

的SPARC64 - 单独之中现代CPU - 工具既不双宽CAS也不LL / SC。因此,实施无锁码是有问题的。有一个解决方案,但它们对不上,因为他们对CAS或LL / SC支持其他平台存在的问题(ABA)的解决方案。另外,一个区间的无锁算法不能在Sparce实现,因为这限制。

其他提示

CASXA。请参阅 SPARC架构手册

另外请注意,casx确实存在,但它是casxa合成指令(即简化的助记符)。参见表43 前述SPARC结构手册:

Synthetic:   casx [regrs1], regrs2, regrd 
Instruction: casxa [regrs1]#ASI_P, regrs2, regrd 
Description: compare and swap extended 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top