x86 彙編中的「lock」指令是一個前綴,它強制後續指令對匯流排的獨佔所有權。這可確保 CPU 在該指令的持續時間內完全控制快取線。
與通常的理解相反,「lock」前綴不會導致 CPU 鎖定無限期的公車。執行後續指令後,鎖會被釋放。這允許 CPU 僅在絕對必要時鎖定總線以保持最佳效能。
您提供的程式碼片段實現了長字的原子增量由ecx 暫存器中的值指定的記憶體位置:
結果是變數被原子遞增1,如果新值為 0,則 eax 暫存器設為 0,否則設為 1。注意,這個操作是增量,不是加法。
以上是x86 彙編中的「鎖定」指令是否無限期地保留匯流排?的詳細內容。更多資訊請關注PHP中文網其他相關文章!