x86 アセンブリの「ロック」命令は、後続の命令に対してバスの排他的所有権を強制するプレフィックスです。これにより、CPU がその命令の継続時間中にキャッシュ ラインを完全に制御できるようになります。
一般的な理解に反して、「lock」プレフィックスによって CPU がロックされるわけではありません。バスは無限に。ロックは後続の命令の実行後に解放されます。これにより、絶対に必要な場合にのみバスをロックすることで、CPU が最適なパフォーマンスを維持できるようになります。
指定したコード スニペットは、ロング ワードのアトミック インクリメントを実装します。 ecx レジスタの値で指定されたメモリ位置:
その結果、変数はアトミックに 1 ずつインクリメントされ、新しい値が 0 の場合は eax レジスタが 0 に設定され、それ以外の場合は 1 に設定されます。この操作は加算ではなく増分であることに注意してください。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3