[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
м стильові правлення за допомогою AWB
шаблон Технології CPU, оформлення
Рядок 1:
'''Мікрокод''' ({{lang-en|Microcode}}; також мікропрограма)  — [[Комп'ютерна програма|програма]] на спеціалізованій, апаратно-залежній мові програмування, що реалізує управління процесором в системах з мікропрограмним управлінням.
 
Розробники процесорів надають програмістам набір програмно доступних операцій, кожній з яких відповідає окрема інструкція мови [[асемблер]]а. З точки зору програміста ці інструкції є атомарними  — у програміста відсутні можливості відслідити деталі виконання кожної з таких інструкцій; з точки ж зору роботи процесора кожна з таких інструкцій виконує декілька більш примітивних операцій  — мікрооперацій,  — таких як завантаження і обробка операндів, запис результату, встановлення признаку результату (коду завершення) тощо.
 
Декілька мікрооперацій, що можуть бути виконані паралельно і одночасно, вміщують в окрему мікрокоманду, поля якої і визначають такі мікрооперації. Окрема мікрокоманда звичайно (але не обов'язково) виконується в продовж одного такта процесора. Різні інструкції потребують виконання різних мікрооперацій та різних мікрокоманд, так само операції вимагають різної кількості мікрокоманд і тому виконуються за різне число тактів.
 
Наявність в процесорі можливостей паралельного і одночасного виконання мікрооперацій призводить до того, що окрема мікрокоманда включає кілька полів і тому виявляється досить «широкою» (32 - — 72 біти і більше). В окремих процесорах з відносно «вузькими» мікрокомандами також застосовується поділ мікрокоманд на типи, при якому, в залежності від типу мікрокоманди, забезпечується її різна інтерпретація. При цьому мікрокоманди виявляються функціонально-орієнтованими: управління арифметико-логічним прристроєм, управління пам'яттю тощо. Як наслідок, такі мікрокоманди також можуть змінювати і довжину такта процесора.
 
На більшості [[комп'ютер]]ів з мікропрограмним управлінням мікрокод розміщується не в основній [[Комп'ютерна пам'ять|пам'яті]], а в спеціальній швидкодіючій управляючій пам'яті ({{lang-en|control store}}). Ця пам'ять є відносно дорогою, тому обсяг мікрокоманд є обмеженим і звичайно становить кілька тисяч. В окремих системах в управляючу пам'ять мікрокод може бути записаний також програмно, що дозволяє забезпечити мікропрограмну підтримку реалізації тих чи інших механізмів [[Операційна система|Операційної системи]]. Наприклад, в системі [[VM (операційна система)|VM]] компанії [[IBM]] та її радянському клоні [[СВМ]] в управляючу пам'ять записувався мікрокод, що реалізовував спеціальні інструкції управління операційної системи, наприклад  — операцію переключення віртуальних машин. За відсутності мікропрограмної підтримки такі операції повинні були б бути реалізовані програмно і, відповідно, їх виконання потребувало б набагато більше часу.
 
В більш загальному випадку можливість дозавантаження або зміни мікрокоду дозволяє виправляти знайдені помилки і додавати реалізацію нових інструкцій. Мікрокод також дозволяє налаштувати мікроархітектуру комп'ютера на [[Емуляція|емуляцію]] іншої (як правило, більш складної) [[Архітектура комп'ютера|архітектури]].
Рядок 20:
* {{ТСУМО}}
{{reflist}}
 
{{Технології CPU}}
 
[[Категорія:Програмування]]