Машинний код

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Маши́нний код, маши́нна мова в інформатиці — набір команд (інструкцій), які виконуються безпосередньо центральним процесором комп'ютера без транслятора. Кожен тип центрального процесора має власний машинний код. Оскільки машинний код складається повністю з двійкових чисел (бітів), більшість програмістів пишуть програми на мовах програмування високого рівня. Програми, написані такими мовами, повинні транслюватися в машинний код, що здійснює компілятор або інтерпретатор програм, до того, як комп'ютер починає їх виконувати. В той час як прості процесори виконують інструкції одна за одною, суперскалярні процесори здатні виконувати декілька інструкцій одночасно.

Інструкції машинного коду[ред.ред. код]

Кожен процесор або сімейство процесорів має свій власний набір команд (інструкцій) машинного коду. Кожна машинна інструкція виконує певну дію, такими є операції з даними (наприклад, додавання чи копіювання машинного слова в регістрі або в пам'яті) або перехід до іншої частини коду (зміна порядку виконання; при цьому перехід може бути безумовним або умовним, залежним від результатів попередніх інструкцій). Будь-яка виконувана програма складається з послідовності таких атомарних машинних операцій.

Мови асемблера[ред.ред. код]

Докладніше: Мова асемблера

Машинний код можна розглядати як примітивну мову програмування або як найнижчий рівень представлення скомпільованих або ассембльованих комп'ютерних програм. Хоча цілком можливо створювати програми прямо в машинному коді, зараз це робиться рідко в силу громіздкості коду і трудомісткості ручного управління ресурсами процесора, за винятком ситуацій, коли потрібна екстремальна оптимізація. Тому переважна більшість програм пишеться мовами більш високого рівня і транслюється в машинний код компіляторами.

Програми на інтерпретованих мовах (таких як Бейсик або Python) не транслюються в машинний код; замість цього вони або виконуються безпосередньо інтерпретатором мови, або транслюються у псевдокод (байт-код).

Мікрокод[ред.ред. код]

Докладніше: Мікрокод

В деяких комп'ютерних архитектурах підтримка машинного коду реалізується ще більш низькорівневими програмами, що називаються мікропрограмами. Це дозволяє забезпечити єдиний інтерфейс машинного коду у всієї лінійки або сімейства комп'ютерів, які можуть мати значні структурні відмінності між собою, і полегшує перенос програм в машинному коді між різними моделями комп'ютерів. Прикладом такого підходу є сімейство комп'ютерів IBM System/360 та їх наступників: незважаючи на різні шини шириною від 8 до 64 біт і вище, вони мають загальну архітектуру на рівні машинного коду.

Див. також[ред.ред. код]


Комп'ютер Це незавершена стаття про комп'ютери.
Ви можете допомогти проекту, виправивши або дописавши її.