Що таке набір інструкцій?

Будь-який ЦП з самого початку розроблено для підтримки певного набору інструкцій. Набір інструкцій — це набір жорстко закодованих операцій, які ЦП може виконувати. Такими операціями можуть бути, наприклад, додавання двох чисел, перехід до іншої частини програми або порівняння двох значень. Кожна операція, яку може виконати комп’ютер, унікально представлена ​​кодом операції.

Коди операцій

Під час виконання програми ЦП використовує програмний лічильник, щоб відстежувати, яку інструкцію потрібно виконати наступною. Коли інструкція витягується, програмний лічильник збільшується на довжину інструкції, щоб він вказував на початок наступної інструкції. Кожна інструкція складається з коду операції. Залежно від інструкції, вона може містити або не містити операнди. Операнд може бути постійним значенням або покажчиком на розташування значення в регістрі процесора або в системній оперативній пам'яті.

Після отримання повної інструкції її потрібно декодувати. Це процес, у якому ЦП розділяє код операції та будь-які операнди. Розкодований код операції використовується для ввімкнення або вимкнення певних електричних шляхів у ЦП, що призведе до правильної роботи.

Після того, як інструкція була декодована, вона буде виконана. Точна поведінка ЦП залежатиме від операції. Операція додавання підсумовує два значення. Операція переходу обчислить, куди в програмі потрібно перейти. Операція порівняння порівнює два значення. Операція NOP буде простоювати, оскільки NOP означає відсутність операції.

Тоді більшість інструкцій виведе результат операції. Цей вихід може надходити в регістри процесора і, якщо необхідно, в оперативну пам'ять системи. Для виконання кожної з цих операцій потрібен один такт.

Незаконні коди операцій

Кожна архітектура ЦП має свій окремий список кодів операцій, опублікований виробником. Значення цих кодів операцій не обов’язково є однаковими для різних платформ, тому програмне забезпечення потрібно скомпілювати для різних архітектур. У деяких випадках виробник також включає незадокументовані коди операцій. Вони називаються «незаконними кодами операцій». Незаконні коди операцій, незважаючи на те, що вони не задокументовані, виконуватимуть ту саму функцію кожного разу, коли їх викликають. Проте як недокументовані та нестандартні функції, оновлення архітектури ЦП можуть просто видалити їх.

Деякі перші комп’ютерні ігри на Apple II покладалися на певні незаконні коди операцій. Потім у них виникли проблеми з продуктивністю та стабільністю пізнішої версії процесора Apple IIc, оскільки IIc видалив незаконні коди операцій, які вимагали ігри. Незаконні коди операцій також використовувалися в колах із захисту авторського права як метод безпеки через невідомість у боротьбі з піратами, які зламували їхній вміст. Деякі незаконні коди операцій призначені просто як засоби налагодження та обробки помилок.

Набір інструкцій x86 містить велику кількість недокументованих незаконних кодів операцій. Цікаво, що деякі з них є спільними між процесорами Intel і AMD, що вказує на те, що обидві компанії публічно знають про їхню мету, хоча вони недокументовані.

Компілятори та збірка

Більшість програм написані на мовах високого рівня. Їх відносно легко читати, часто використовують англійські слова або скорочення, щоб мінімізувати криві навчання. Щоб комп’ютер міг виконувати ці програми, їх потрібно скомпілювати. Компілятор, по суті, є транслятором. Він бере код високого рівня та перетворює його на комп’ютерний код, інструкції, які ЦП може зрозуміти.

У деяких мовах також можливо запустити нескомпільований код через попередньо скомпільовану програму, яка генерує машинний код на льоту. Ассамблея — це мова програмування низького рівня, яка використовує скорочення, щоб дозволити розробникам безпосередньо бачити та контролювати виконувані операції. NOP є прикладом скорочення складання.

Висновок

Набір інструкцій — це список офіційних функцій, які може виконувати архітектура ЦП. Це список операцій, які можна виконати. Ці операції жорстко закодовані в ЦП і викликаються за допомогою відповідних кодів операцій.

Програмне забезпечення зазвичай використовує компілятор для перекладу з коду високого рівня, який читає людина, у машинний код, який може читати ЦП. Іноді архітектура процесора може мати незадокументовані коди операцій, які називаються незаконними кодами операцій. Технічно неприпустимі коди операцій є частиною набору інструкцій. Однак вони можуть бути недоступні в майбутніх ітераціях платформи. Не забудьте залишити свої думки в коментарях нижче.


Leave a Comment

Що робити, якщо Powerbeats Pro не заряджається у чохлі

Що робити, якщо Powerbeats Pro не заряджається у чохлі

Якщо ваші Powerbeats Pro не заряджаються, скористайтеся іншим джерелом живлення та очистіть навушники. Залиште кейс відкритим під час заряджання навушників.

Як встановити SSD-накопичувач на настільні та портативні ПК

Як встановити SSD-накопичувач на настільні та портативні ПК

Ви щойно купили SSD-накопичувач, сподіваючись оновити внутрішню пам'ять свого ПК, але не знаєте, як його встановити? Прочитайте цю статтю зараз!

Чи можна довіряти функціям конфіденційності Oculus Quest 2?

Чи можна довіряти функціям конфіденційності Oculus Quest 2?

Якщо ви хвилюєтеся, що ваші дані будуть передані іншим особам, ось що вам потрібно знати про налаштування конфіденційності Oculus Quest 2.

Як виправити код помилки GeForce Now 0xC272008F

Як виправити код помилки GeForce Now 0xC272008F

Ви готуєтесь до ігрового вечора, і це буде грандіозний вечір – ви щойно придбали «Зоряні війни: Злочинці» на потоковому сервісі GeForce Now. Відкрийте для себе єдиний відомий спосіб виправлення помилки GeForce Now з кодом 0xC272008F, щоб ви могли знову грати в ігри Ubisoft.

Як підключити ноутбук з Windows 11 до проектора/телевізора

Як підключити ноутбук з Windows 11 до проектора/телевізора

Прочитайте цю статтю, щоб дізнатися про простий покроковий процес підключення ноутбука до проектора або телевізора в ОС Windows 11 та Windows 10.

Як замінити батарейки в контролерах Oculus Quest 2

Як замінити батарейки в контролерах Oculus Quest 2

Якщо ви хочете продовжувати грати, важливо знати, як замінити батарейки на контролері Oculus Quest 2.

5 причин, чому ваш ноутбук перегрівається

5 причин, чому ваш ноутбук перегрівається

Дізнайтеся про деякі можливі причини перегріву ноутбука, а також поради та підказки, як уникнути цієї проблеми та зберегти пристрій охолодженим.

Все про iOS 26

Все про iOS 26

Apple представила iOS 26 – велике оновлення з абсолютно новим дизайном з матового скла, розумнішими можливостями та покращеннями звичних програм.

Найкращі ноутбуки для студентів у 2025 році

Найкращі ноутбуки для студентів у 2025 році

Студентам потрібен певний тип ноутбука для навчання. Він має бути не лише достатньо потужним для успішного навчання за обраною спеціальністю, але й компактним і легким, щоб носити його з собою цілий день.

Як відновити доступ до жорсткого диска, виправити помилку неможливості відкрити жорсткий диск

Як відновити доступ до жорсткого диска, виправити помилку неможливості відкрити жорсткий диск

У цій статті ми розповімо вам, як відновити доступ до жорсткого диска, якщо він вийшов з ладу. Давайте продовжимо!