翻訳と辞書
Words near each other
・ フェッザーン
・ フェッシュ
・ フェッシュバッハ共鳴
・ フェッセンアイム
・ フェッセンアイム原子力発電所
・ フェッセンデン
・ フェッセンデンの宇宙
・ フェッセンデン・スクール
・ フェッセンハイム
・ フェッセンハイム原子力発電所
フェッチ・アンド・アッド
・ フェッチ・アンド・インクリメント
・ フェットゥチーネ
・ フェットゥチーネ・アルフレッド
・ フェットゥチーネ・アルフレード
・ フェットチーネ
・ フェットチーネ・アルフレッド
・ フェットチーネ・アルフレード
・ フェッラッツァーノ
・ フェッランディーナ


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

フェッチ・アンド・アッド : ミニ英和和英辞書
フェッチ・アンド・アッド
=====================================
〔語彙分解〕的な部分一致の検索結果は以下の通りです。


フェッチ・アンド・アッド : ウィキペディア日本語版
フェッチ・アンド・アッド
フェッチ・アンド・アッドFetch-and-Add)は、アトミックに指定されたメモリ位置の内容を更新する特別なCPU命令。マルチプロセッサシステムでのミューテックスや並列処理アルゴリズムを実装するのに使われる。
シングルプロセッサシステムでは、クリティカルセクションの前に割り込み不可とするだけで十分である。しかし、マルチプロセッサシステムでは全プロセッサの割り込みを不可とするだけでは不十分で、複数のプロセッサが同時に同じメモリ位置にアクセスするのを防ぐことはできない。フェッチ・アンド・アッド命令はプロセッサがアトミックに指定されたメモリ位置の値をイクリメントするもので、複数プロセッサによる衝突を防ぐ。
Maurice Herlihy (1993年)は、フェッチ・アンド・アッドがコンペア・アンド・スワップよりも劣っていることを証明した。
==実装==
一般的なフェッチ・アンド・アッド命令は以下のような関数(擬似コード)と同等の動作をする。ただし、関数全体がアトミック操作として実行され、いかなるプロセスもその途中で割り込むことはできず、関数の途中の状態を見ることはできない。下記の関数は単にフェッチ・アンド・アッドの動作を説明するためのもので、アトミック性を実現するにはハードウェアのサポートを要するので単なる高級言語の関数としては実装できない。
<< atomic >>
function FetchAndAdd(''address'' location)
フェッチ・アンド・アッドを使ったミューテックスは以下のように実装される。
record locktype
procedure LockInit( ''locktype''
* lock )
procedure Lock( ''locktype''
* lock )
procedure UnLock( ''locktype''
* lock)
以下の条件が満たされている時に、これらのルーチンはミューテックスとして動作する:
* Locktype型データ構造は使用の前に関数LockInitで初期化される。
* ロックを待っているタスクの数は常にINT_MAXを越えない。
* ロックにおいて使われている整数型は継続的にインクリメントされ、最大値の次は最小値に戻る。

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「フェッチ・アンド・アッド」の詳細全文を読む




スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.