「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > _mm_sfence、_mm_lfence、_mm_mfenceをいつ使用する必要がありますか?

_mm_sfence、_mm_lfence、_mm_mfenceをいつ使用する必要がありますか?

2025-02-06に投稿しました
ブラウズ:476

When Should You Use _mm_sfence, _mm_lfence, and _mm_mfence?

_mm_sfence、_mm_lfence、_mm_mfence?完全性と同期。 IntelのIntrinsicsライブラリは、X86アーキテクチャでのメモリ順序付けを制御するために、_mm_sfence、_mm_lfence、_mm_mfenceなどのいくつかの機能を提供します。注文されたメモリモデルですが、CとCには弱いものがあります。したがって、適切なメモリの順序付けを確保し、データの腐敗や人種条件を防ぐために追加の予防措置が必要です。 (_mm_stream_*)投機的な並べ替えを防ぐため。 NTストアは弱く順序付けられています。つまり、他のメモリ操作に比べて順番に発生するように見えることがあります。 _mm_sfence NTストアがメモリにコミットした後、後続のメモリ操作がグローバルに見えるようにする障壁を作成します。ビデオRAMなどの書き込み(WC)メモリ領域からロードする場合にのみ関連性があります。 _mm_lfenceは、退職するまで後続の命令の実行を防ぐことができます。これは、マイクロバンチマークに役立つ可能性があります。前の店舗がグローバルに見えるようになります。 STD :: Atomicのカスタムバージョンを実装したり、そうでなければ投機的である操作のメモリ順序を明示的に制御する必要がある場合に役立ちます。 ] NTストアの後に_mm_sfenceを使用して、データの腐敗や人種条件を防ぐために_mm_sfenceを使用します。ロックされたAtomic Read-Modify-Write操作。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3