memory-barriers

    6

    2答えて

    私はデュアルCortex-A9システムで作業していますが、私は がスピンロック機能がDMBを使用する必要がある理由を正確に理解しようとしていました。 は、マージストアバッファがフラッシュされる限り、ロック値 がロック解除コアのL1に終わるはずであり、SCUは他のコアのL1の値を無効化または更新する必要があります。 これは、一貫性と安全なロックを維持するのに十分ですか?そして、 STREXは、とにか

    5

    3答えて

    スレッドAが別のスレッドBを変数Vに書き込む単一の目的で生成し、それが終了するのを待っている場合、スレッドAの後続のVの読み込みを確実にするためにメモリバリアが必要ですか?それらを冗長にする終了/結合操作に暗黙の障壁があるかどうかは不明です。 ここでは例です: public static T ExecuteWithCustomStackSize<T> (Func<T> func, int

    10

    2答えて

    私はC++ 11のmutexesロックがvoid lock() volatileではないことを見ています。コンパイラは、どの機能がメモリバリアであるかを知っていますか?揮発性でなくても、すべての機能障壁はありますか?誰もが知っておくべき、あまり知られていない記憶障壁と記憶障壁は何ですか?

    7

    1答えて

    キャッシュやパイプラインのためのプロセッサ命令を必要としないmemory_order_consume, memory_order_acquire, memory_order_release, memory_order_acq_rel操作load()とstore()メモリバリアのためのx86、およびアセンブラのコードに常にstd::memory_order_relaxedに対応し、これらの制限は、唯

    8

    1答えて

    上のLinuxカーネルスピンロック(ロック解除時のみ)、ロック時に、彼らは任意のメモリバリアを発行しないように、それが見えます: https://github.com/torvalds/linux/blob/master/arch/tile/include/asm/spinlock_64.h 次に、ロックを保持している間にプログラマによって実行されると思われる命令が実際にロックが実行される前に実行

    2

    1答えて

    メモリマップドI/Oに関する質問があります。 CPUが値を読み取っているメモリマップされたIOペリフェラルがあるとします。読み取られると、その値はキャッシュに保存されます。しかし、メモリ内の値は外部IO周辺装置によって更新されています。 そのような場合、CPUがキャッシュを無効にしたと判断する方法と、そのような場合の回避策は何ですか?

    0

    2答えて

    私はメモリバリアが必要な理由を理解していますが、ユニプロセッサの場合はそれを得られません。 私がUPを使用しても障壁に対処する必要はありますか?すべてのドキュメントはSMPで説明しますが、UPでは説明しません。 次のコードでは、r2 == 0がポイントAにある可能性はありますか? // the location 0xdeadbeef has a zero initial value ldr r0

    1

    2答えて

    Parallel Extensionsを使用する場合、MemoryBarriersについて心配する必要はありますか? 編集 - 元の質問が開いていたとして詳しく説明するが終了: (@xanatos'答えは私が探していたものだった) 具体的な例を与えるために:私はParallel.ForEachを使用すると仮定し、各反復クラス内のプロパティの値を設定します(各反復では固有のプロパティが設定されますが

    4

    3答えて

    私はメモリバリアとJavaコードでの通常の落とし穴に良いオンライン導入のため探しています:ダブルチェックしvolatileとfinal を使用する場合は、あまりにも頻繁にか、多くの場合、十分な​​ を使用して ロック 等 Iはbehaviを示すコードで特に興味があるだろうまたはいくつかのスレッドがアクセスできるマップを作成し、値が遅延して追加されるような一般的な問題を解決する方法の例。

    1

    1答えて

    メモリバリアを使用してロックを回避することはできますか?この場合のように:Consumer-Producer-Wiki(最後の実装はメモリバリアを使用しており、残りはすべてロックまたはセマフォを使用しています) ロックよりもメモリバリアを使用する方が良いですか?はいの場合、なぜですか? メモリバリアを使用してロックを回避できる最も一般的な状況は何ですか?