Инструкция «lock» в ассемблере x86 — это префикс, который обеспечивает эксклюзивное владение шиной для последующей инструкции. Это гарантирует, что ЦП имеет полный контроль над строкой кэша на время выполнения этой инструкции.
Вопреки общепринятому пониманию, префикс «lock» не вызывает блокировку ЦП. автобус на неопределенный срок. Блокировка снимается после выполнения последующей инструкции. Это позволяет процессору поддерживать оптимальную производительность, блокируя шину только в случае крайней необходимости.
Предоставленный вами фрагмент кода реализует атомарное приращение длинного слова в ячейка памяти, указанная значением в регистре ecx:
В результате переменная атомарно увеличивается на 1, а регистр eax устанавливается в 0, если новое значение равно 0, или в 1 в противном случае. Обратите внимание, что эта операция является увеличением, а не добавлением.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3