代码之家  ›  专栏  ›  技术社区  ›  user82238

SPARC v9是否有双字比较和交换指令?

  •  3
  • user82238  · 技术社区  · 17 年前

    所以在兼容v9的64位SPARC CPU上,我知道存在一个 中科院

    我也在网上看到了对 卡斯 指示-但我无法找到更多关于它的信息。

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

    3 回复  |  直到 12 年前
        1
  •  1
  •   AProgrammer    17 年前
        2
  •  1
  •   DaveR    17 年前

    casx 确实存在,但是它是一个用于 casxa . 看见 表43 在上述SPARC体系结构手册中:

    Synthetic:   casx [regrs1], regrs2, regrd 
    Instruction: casxa [regrs1]#ASI_P, regrs2, regrd 
    Description: compare and swap extended 
    
        3
  •  0
  •   user82238 user82238    17 年前

    Sparc64——现代CPU中唯一的一个——既不实现双宽CA也不实现LL/SC。因此,实现无锁代码是有问题的。有一个解决方案,但它们是一个问题的解决方案(ABA),因为它们支持CAS或LL/SC,所以在其他平台上不存在。此外,一系列无锁算法无法在Sparce上实现,因为这一限制。

    推荐文章