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

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