SPARC v9 にはダブルワード比較およびスワップ命令がありますか?
質問
それで;v9 準拠の 64 ビット SPARC CPU 上には、 カス 命令。これは単一の語長値に作用します。
についての言及もウェブ上で見ました。 カクス 指示ですが、それ以上のことはわかりません。
気になるのですが、これはダブルワードの比較と交換なのでしょうか?
そうでない場合、一般的な質問は次のとおりです。ダブルワードの比較と交換はありますか?
解決 3
Sparc64 は、最新の CPU の中で唯一、倍幅の CAS も LL/SC も実装していません。そのため、ロックフリーのコードを実装することには問題があります。解決策はありますが、それらは CAS または LL/SC をサポートしているため、他のプラットフォームには存在しない問題 (ABA) に対する解決策です。さらに、この制限のため、さまざまなロックフリー アルゴリズムを Sparce に実装することはできません。
他のヒント
カスクサ。見る SPARCアーキテクチャマニュアル.
また、次の点にも注意してください casx
は存在しますが、それは合成命令です (つまり、簡略化されたニーモニック) casxa
. 。見る 表43 前述の SPARC アーキテクチャ マニュアルには次のように記載されています。
Synthetic: casx [regrs1], regrs2, regrd
Instruction: casxa [regrs1]#ASI_P, regrs2, regrd
Description: compare and swap extended
所属していません StackOverflow