NOP: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Sanya3 (обговорення | внесок)
мНемає опису редагування
м replaced: в якості → як, . → . за допомогою AWB
Рядок 3:
== NOP як машинна інструкція ==
 
Набір команд багатьох процесорів містить інструкцію, мета якої полягає не в тому, щоб змінити стан будь-якого регістра або комірки пам'яті, а в тому щоб затратити певну кількість тактів процесора. Для тих процесорів, в яких спеціальна інструкція відсутня, NOP імітується якоюсь іншою інструкцією з такими параметрами, що регістри і прапори не змінюються (наприклад в SPARC — процесорах в якостіяк NOP рекомендується інструкція " sethi 0 , % g0 ") .
 
NOP'и зазвичай використовуються:
 
* для створення затримки на певний час, наприклад, в цілях синхронізації з іншими пристроями в комп'ютері. Зокрема: в мікроконтролерах AVR цифрові порти мають дуже високу швидкодію, і між комутацією вихідних портів і зчитуванням вхідних рекомендується встановити NOP, щоб схема встигла стабілізуватися ;
* для заповнення пам'яті програм при вирівнюванні ;
* для запобігання помилок в апаратній частині процесора ;
* для передачі управління при конвеєрній організації обчислювального процесу;
* як заповнювач під час розробки програми ;
* як заповнювач віддалених інструкцій, наприклад, при зломі програм (крякінг). Тобто перевірка реєстраційного номера тощо замінюється на код, який нічого не робить.
 
Рядок 23:
Насправді, інструкція NOP для x86 — процесорів є XCHG EAX, EAX або XCHG AX, AX, яка має той же опкод 0x90, і не робить ніякого ефекту, за винятком таких спеціальних випадків :
 
* Поєднання " REP NOP " (0xF3 0x90) в процесорах, починаючи з Xeon і Pentium 4, інтерпретується як команда PAUSE, повідомляючи процесору, що програма виконує цикл очікування зміни іншими процесорами стану комірки пам'яті, що дозволяє процесору оптимізувати роботу з пам'яттю і енергоспоживання.
 
== Див. також ==
Рядок 30:
* Толковый словарь по вычислительным системам / Под ред. В. Иллингуорта и др. — М.: Машиностроение, 1989. 568 с. {{ref-ru}}
* [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0170b/Caccegih.html NOP ARM pseudo-instruction]{{ref-en}}
 
{{Доробити}}