题
因此;一个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
不隶属于 StackOverflow