CAS命令についてWikipediaで調べていたところ、どうしても分からない部分があったため、質問をしています。どなたか、補足説明願えませんでしょうか(当方ハードウェアエンジニア)。
オリジナルのURL: http://ja.wikipedia.org/wiki/コンペア・アンド・スワップ
1) このようなアルゴリズムは False Positive(偽陽性)という問題(あるいは ABA問題)に対処しなければならない。古い値を読み取った後、CAS命令を実行するまでの間に、そのメモリ位置の内容が複数回書き換えられて偶然もとの古い値と同じビットパターンになっている可能性がある。CAS命令だけではこの事実を検出できない。その値はパターンは同じでも全く異なった意味かもしれない。
==> [疑問点] コンペアしているアドレスに書かれているビット列の意味が、コンペアしてない部分によって変わるかも知れない、という状況を指しているのでしょうか? そのようなことがないことが仕様上保証されれば、偽陽性は気にしなくていいのでしょうか?
2) マルチプロセッサシステムでLock-freeとWait-freeアルゴリズムを実装するのにも使われる。Maurice Herlihy(1993年)はこれが単なるリード、ライトやテスト・アンド・セットでは実装できないことを示した。
==> [疑問点]どうしてTestAndSetでLock-Free/Wait-Freeが実現できないのかがどうしても分かりません。ひるがえって、TASとCASの違いが余りよく分からないのです。
以上宜しくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
1) Load-Link/Store-Conditionalとの比較上の問題でしょうか。
LL/SCではLLからSCまで対象アドレスを監視するのでその間に書き換えのなかったことを保証できるが、CASでは対象アドレスの値を確認するだけなので、先に参照してから書き換えが発生していないとは保証できないということですね。
対象アドレスの現在値ではなく過去の変更履歴に依存するようなコードだと問題が発生するのでしょうか。具体的に問題の起きる例を思いつきません。
2) 実現できない理由はWikipediaの「Lock-freeとWait-freeアルゴリズム」
から参照されている論文を読んでもらうとして
TestAndSetとCASの違いは、前者は成功/失敗しか分からないのに対して、後者は対象アドレスにCAS命令実行直前にあった値を取得できる点ですね。書き換え失敗した場合に得られる情報量が1ビットか1ワードかの違いが出ます。
なお、TestAndSetはもともと対象アドレスが0かテストして1をセットする形だったと思います。それでx86ではバスロックして交換命令でできたはず。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- システム CPUの問題について 2 2022/07/09 12:04
- 宇宙科学・天文学・天気 銀河のハビタブルゾーンを確率的セルオートマトンという数値的にシミュレーションした結果、「群島」の様な 2 2023/06/06 23:10
- 憲法・法令通則 マスクのお話 マスクは今推奨という形です。 「推奨(すいしょう)」は「物事や人物の優れている部分をあ 6 2022/04/25 12:49
- ブルーレイ・プレーヤー・レコーダー B-CASカードを正しく挿入してください 3 2022/11/19 11:50
- テレビ B-CASカードを正しく挿入してください 5 2022/11/19 12:30
- ビデオカード・サウンドカード 1つのマザボでAMD&NVIDIAを同時使用できますか? 3 2022/04/22 14:36
- 哲学 これだけ書いて殆ど変わらないのに 私に何をしろというのだろうか? 21 2022/05/16 17:26
- 確定申告 個人の確定申告。「医療費のお知らせ」記載内容と医療費控除の明細書【内訳書】に記入する内容の関係 4 2023/03/04 18:41
- 弁護士・行政書士・司法書士・社会保険労務士 ★行政書士試験の行政法についての質問になります。 行政不服審査法についての質問になります。 ◆質問事 1 2023/07/24 20:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
首吊りどこ締めるの
-
変な話しになります。尿検査で...
-
白血球が多いとどんな心配があ...
-
今朝、毎朝の習慣でオナニーし...
-
1日前の検尿
-
射精をして1週間以内に尿検査を...
-
検便についてです。 便は取れた...
-
EXCELで条件付き書式で空白セル...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
男です。昨日の午後3時くらいに...
-
EXCELで式からグラフを描くには?
-
彼女のことが好きすぎて彼女の...
-
中出しをするとお腹が痛い・・・。
-
値が入っているときだけ計算結...
-
これって喉仏ですか? 私は女性...
-
EXCELの条件付き書式で数式を空...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
中出しをするとお腹が痛い・・・。
-
麻疹風疹の抗体検査結果につい...
-
エクセルでエラーが出て困って...
-
白血球が多いとどんな心配があ...
-
彼女のことが好きすぎて彼女の...
-
検便についてです。 便は取れた...
-
勃起する時って痛いんですか? ...
-
至急!尿検査前日にオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
精子が黄色?
-
小数点以下を繰り上げたものを...
-
値が入っているときだけ計算結...
-
口の中に黒い血の塊
-
健否~書類の書き方~
-
甲状腺が腫れているが血液検査...
-
はしかの抗体検査は何科の病院...
-
テスターで断線を調べる方法教...
おすすめ情報