3

そう; v9 準拠の 64 ビット SPARC CPU では、 cas命令が存在することがわかっています。これは、単一の語長の値に作用します。

casx命令への Web 参照も見ましたが、それ以上のことはわかりません。

私は疑問に思っています-これはダブルワードの比較と交換ですか?

そうでない場合、一般的な質問は次のとおりです。ダブルワードの比較と交換はありますか?

4

3 に答える 3

1

casxも存在することに注意してください。ただし、これはcasxa. 前述の SPARC Architecture Manual の表 43を参照してください。

Synthetic:   casx [regrs1], regrs2, regrd 
Instruction: casxa [regrs1]#ASI_P, regrs2, regrd 
Description: compare and swap extended 
于 2009-08-13T20:28:44.463 に答える
0

Sparc64 は、最近の CPU の中で唯一、倍幅の CAS も LL/SC も実装していません。そのため、ロックフリー コードの実装には問題があります。解決策はありますが、それらは CAS または LL/SC をサポートしているため、他のプラットフォームには存在しない問題 (ABA) の解決策です。さらに、この制限により、さまざまなロックフリー アルゴリズムを Sparce に実装することはできません。

于 2009-08-15T18:15:47.357 に答える