理解「lock」在x86 彙編中的作用
「lock」指令是x86 彙編中一個有趣的元素,以其CPU調節總線使用的能力。本文深入探討了這個神祕命令的複雜性,回答了兩個關鍵問題:釋放總線的時機和加法的實現。
CPU 在「鎖定」指令後何時釋放匯流排?
與流行的看法相反,「lock」並不充當獨立指令,而是充當後續指令的前綴。通常,該指令是在記憶體上執行讀取-修改-寫入操作的指令,例如“incl”或“cmpxchg”。
遇到「lock」前綴時,CPU 會對對應的指令進行不可分割的控制。操作期間的快取行。這種排他性通常是透過總線鎖的斷言來實現的,儘管處理器會在可行的情況下尋求繞過此方法。需要注意的是,此總線鎖定僅在鎖定指令的持續時間內保持有效。
「鎖定」程式碼如何實現加法?
在提供的程式碼片段:
認識到此程式碼執行增量而不是加法至關重要。
以上是x86 彙編中「lock」前綴的複雜性是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!