Fetch-and-add (original) (raw)
Fetch-and-add ist ein Fachbegriff der Informatik, welcher ein Verfahren zur atomaren Veränderung eines Speicherbereichs beschreibt.
Property | Value |
---|---|
dbo:abstract | Fetch-and-add ist ein Fachbegriff der Informatik, welcher ein Verfahren zur atomaren Veränderung eines Speicherbereichs beschreibt. (de) In computer science, the fetch-and-add CPU instruction (FAA) atomically increments the contents of a memory location by a specified value. That is, fetch-and-add performs the operation increment the value at address x by a, where x is a memory location and a is some value, and return the original value at x in such a way that if this operation is executed by one process in a concurrent system, no other process will ever see an intermediate result. Fetch-and-add can be used to implement concurrency control structures such as mutex locks and semaphores. (en) Fetch And Add en informatique, désigne l'instruction d'extraction et d'ajout de processeur (FAA pour Fetch-And-Add) incrémentant atomiquement le contenu d'un emplacement de mémoire par une valeur spécifiée. Autrement dit, l'instruction d'extraction et d'ajout effectue l'opération incrémentant la valeur à l'adresse x par a (où x est une adresse de mémoire et a est une valeur quelconque), puis retourne la valeur d'origine de l'adresse x, de telle sorte que si cette opération est exécutée par un processus dans un système simultané, aucun autre processus ne verra jamais un résultat intermédiaire. L'instruction d'extraction et d'ajout peut être utilisée pour implémenter des structures de telles que des verrous d'exclusion mutuelle et des sémaphores. (fr) フェッチ・アンド・アッド(Fetch-and-Add)は、アトミックに指定されたメモリ位置の内容を更新する特別なCPU命令。マルチプロセッサシステムでのミューテックスや並列処理アルゴリズムを実装するのに使われる。 シングルプロセッサシステムでは、クリティカルセクションの前に割り込み不可とするだけで十分である。しかし、マルチプロセッサシステムでは全プロセッサの割り込みを不可とするだけでは不十分で、複数のプロセッサが同時に同じメモリ位置にアクセスするのを防ぐことはできない。フェッチ・アンド・アッド命令はプロセッサがアトミックに指定されたメモリ位置の値をインクリメントするもので、複数プロセッサによる衝突を防ぐ。 Maurice Herlihy (1993年)は、フェッチ・アンド・アッドがコンペア・アンド・スワップよりも劣っていることを証明した。 (ja) Fetch-and-add (pobierz i dodaj) – specjalna instrukcja procesora, która pozwala na modyfikację pamięci w niepodzielny sposób. Ma ona zastosowanie przy implementacji wzajemnego wykluczania i algorytmów współbieżnych w systemach wieloprocesorowych. W systemach jednoprocesorowych do realizacji sekcji krytycznej wystarcza wyłączenie/zablokowanie obsługi przerwań przed jej rozpoczęciem. Jednak w systemach wieloprocesorowych, nawet przy zablokowanych przerwaniach, dwa lub więcej procesorów może dokonywać operacji dostępu do tej samej lokacji w pamięci w tym samym czasie. Instrukcja fetch-and-add pozwala procesorowi na atomowe zwiększenie wartości w pamięci, zapobiegając kolizjom od innych procesorów. (pl) fetch-and-add是CPU指令(FAA),对内存位置执行增加一个数量的原子操作。具体内容为: 令x 变为x + a,其中x是个内存位置,a是个值 FAA可用于实现互斥锁、信号量。 1991年,证明fetch-and-add具有一个有限的数,能解决不超过两个并发进程的无等待consensus问题。 (zh) |
dbo:wikiPageID | 2050276 (xsd:integer) |
dbo:wikiPageLength | 7162 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1102042625 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Preemption_(computing) dbr:Ultracomputer dbr:Uniprocessor_system dbr:Application_binary_interface dbr:Concurrent_computing dbr:GNU_Compiler_Collection dbr:Concurrency_control dbr:Consensus_(computer_science) dbr:Critical_section dbr:Compare-and-swap dbr:Computer_science dbr:Kernel_preemption dbr:Atomic_operation dbr:Semaphore_(programming) dbr:Mutual_exclusion dbr:C++11 dbr:C_(programming_language) dbr:Load-link/store-conditional dbr:Central_processing_unit dbr:Process_(computing) dbc:Computer_arithmetic dbr:Interrupt dbr:Itanium dbc:Concurrency_control dbr:Thread_(computing) dbr:Read–modify–write dbr:Race_condition dbr:Maurice_Herlihy dbr:Test-and-set dbr:Test_and_test-and-set dbr:Ticket_lock dbr:80486 dbr:8086 dbr:Atomic_(computer_science) dbr:Multi-processor |
dbp:wikiPageUsesTemplate | dbt:Operating-system-stub dbt:= dbt:Math dbt:Mono dbt:Mvar dbt:Reflist |
dct:subject | dbc:Computer_arithmetic dbc:Concurrency_control |
rdfs:comment | Fetch-and-add ist ein Fachbegriff der Informatik, welcher ein Verfahren zur atomaren Veränderung eines Speicherbereichs beschreibt. (de) In computer science, the fetch-and-add CPU instruction (FAA) atomically increments the contents of a memory location by a specified value. That is, fetch-and-add performs the operation increment the value at address x by a, where x is a memory location and a is some value, and return the original value at x in such a way that if this operation is executed by one process in a concurrent system, no other process will ever see an intermediate result. Fetch-and-add can be used to implement concurrency control structures such as mutex locks and semaphores. (en) フェッチ・アンド・アッド(Fetch-and-Add)は、アトミックに指定されたメモリ位置の内容を更新する特別なCPU命令。マルチプロセッサシステムでのミューテックスや並列処理アルゴリズムを実装するのに使われる。 シングルプロセッサシステムでは、クリティカルセクションの前に割り込み不可とするだけで十分である。しかし、マルチプロセッサシステムでは全プロセッサの割り込みを不可とするだけでは不十分で、複数のプロセッサが同時に同じメモリ位置にアクセスするのを防ぐことはできない。フェッチ・アンド・アッド命令はプロセッサがアトミックに指定されたメモリ位置の値をインクリメントするもので、複数プロセッサによる衝突を防ぐ。 Maurice Herlihy (1993年)は、フェッチ・アンド・アッドがコンペア・アンド・スワップよりも劣っていることを証明した。 (ja) fetch-and-add是CPU指令(FAA),对内存位置执行增加一个数量的原子操作。具体内容为: 令x 变为x + a,其中x是个内存位置,a是个值 FAA可用于实现互斥锁、信号量。 1991年,证明fetch-and-add具有一个有限的数,能解决不超过两个并发进程的无等待consensus问题。 (zh) Fetch And Add en informatique, désigne l'instruction d'extraction et d'ajout de processeur (FAA pour Fetch-And-Add) incrémentant atomiquement le contenu d'un emplacement de mémoire par une valeur spécifiée. Autrement dit, l'instruction d'extraction et d'ajout effectue l'opération incrémentant la valeur à l'adresse x par a (où x est une adresse de mémoire et a est une valeur quelconque), puis retourne la valeur d'origine de l'adresse x, de telle sorte que si cette opération est exécutée par un processus dans un système simultané, aucun autre processus ne verra jamais un résultat intermédiaire. (fr) Fetch-and-add (pobierz i dodaj) – specjalna instrukcja procesora, która pozwala na modyfikację pamięci w niepodzielny sposób. Ma ona zastosowanie przy implementacji wzajemnego wykluczania i algorytmów współbieżnych w systemach wieloprocesorowych. (pl) |
rdfs:label | Fetch-and-add (de) Fetch-and-add (en) Fetch-and-add (fr) フェッチ・アンド・アッド (ja) Fetch-and-add (pl) Fetch-and-add (zh) |
owl:sameAs | freebase:Fetch-and-add wikidata:Fetch-and-add dbpedia-de:Fetch-and-add dbpedia-fr:Fetch-and-add dbpedia-ja:Fetch-and-add dbpedia-pl:Fetch-and-add dbpedia-zh:Fetch-and-add https://global.dbpedia.org/id/JfLf |
prov:wasDerivedFrom | wikipedia-en:Fetch-and-add?oldid=1102042625&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Fetch-and-add |
is dbo:wikiPageDisambiguates of | dbr:FAA_(disambiguation) |
is dbo:wikiPageRedirects of | dbr:Fetch-and-increment dbr:Fetch_and_add dbr:XADD |
is dbo:wikiPageWikiLink of | dbr:FAA_(disambiguation) dbr:Ultracomputer dbr:Concurrent_hash_table dbr:Consensus_(computer_science) dbr:Compare-and-swap dbr:Futex dbr:Linearizability dbr:Lock_(computer_science) dbr:Non-blocking_linked_list dbr:Atomicity_(database_systems) dbr:Array_Based_Queuing_Locks dbr:Read–modify–write dbr:I486 dbr:Instruction_set_architecture dbr:X86_instruction_listings dbr:Room_synchronization dbr:Test-and-set dbr:Test_and_test-and-set dbr:Ticket_lock dbr:Fetch-and-increment dbr:Fetch_and_add dbr:XADD |
is foaf:primaryTopic of | wikipedia-en:Fetch-and-add |