x86 アセンブリの「ロック」命令は、後続の命令に対してバスの排他的所有権を強制するプレフィックスです。これにより、CPU がその命令の継続時間中にキャッシュ ラインを完全に制御できるようになります。
一般的な理解に反して、「lock」プレフィックスによって CPU がロックされるわけではありません。バスは無限に。ロックは後続の命令の実行後に解放されます。これにより、絶対に必要な場合にのみバスをロックすることで、CPU が最適なパフォーマンスを維持できるようになります。
指定したコード スニペットは、ロング ワードのアトミック インクリメントを実装します。 ecx レジスタの値で指定されたメモリ位置:
結果として、変数はアトミックにインクリメントされます。新しい値が 0 の場合、eax レジスタは 0 に設定され、それ以外の場合は 1 に設定されます。この操作は加算ではなく増分であることに注意してください。
以上がx86 アセンブリの「ロック」命令はバスを無期限に保持しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。