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

[неперевірена версія][перевірена версія]
Вилучено вміст Додано вміст
шаблон Технології CPU, оформлення
Немає опису редагування
Рядок 1:
'''Мікрокод''' ({{lang-en|Microcode}}; також мікропрограма) — [[Комп'ютерна програма|програма]] на спеціалізованій, апаратно-залежній мові програмування, що реалізує управління процесором[[процесор]]ом в системах з [[Пристрій управління|мікропрограмним управлінням]].
 
Розробники процесорів надають програмістам набір програмно доступних операцій, кожній з яких відповідає окрема інструкція мови [[асемблер]]а. З точки зору програміста ці інструкції є атомарними — у програміста відсутні можливості відслідити деталі виконання кожної з таких інструкцій; з точки ж зору роботи процесора кожна з таких інструкцій виконує декілька більш примітивних операцій — мікрооперацій, — таких як завантаження і обробка операндів, запис результату, встановлення признаку результату (коду завершення) тощо.
Рядок 7:
Наявність в процесорі можливостей паралельного і одночасного виконання мікрооперацій призводить до того, що окрема мікрокоманда включає кілька полів і тому виявляється досить «широкою» (32 — 72 біти і більше). В окремих процесорах з відносно «вузькими» мікрокомандами також застосовується поділ мікрокоманд на типи, при якому, в залежності від типу мікрокоманди, забезпечується її різна інтерпретація. При цьому мікрокоманди виявляються функціонально-орієнтованими: управління арифметико-логічним прристроєм, управління пам'яттю тощо. Як наслідок, такі мікрокоманди також можуть змінювати і довжину такта процесора.
 
На більшості [[комп'ютер]]ів з мікропрограмним управлінням мікрокод розміщується не в основній [[Комп'ютерна пам'ять|пам'яті]], а в спеціальній швидкодіючій управляючій пам'яті ({{lang-en|control store}}). Ця пам'ять є відносно дорогою, тому обсяг мікрокоманд є обмеженим і звичайно становить кілька тисяч. В окремих системах в управляючу пам'ять мікрокод може бути записаний також програмно, що дозволяє забезпечити мікропрограмну підтримку реалізації тих чи інших механізмів [[Операційна система|Операційної системи]]. Наприклад, в системі [[VM (операційна система)|VM]] компанії [[IBM]] та її радянському клоні [[СВМ]] в управляючу пам'ять записувався мікрокод, що реалізовував спеціальні інструкції управлінняпідтримки операційної системи, наприклад — операцію переключення віртуальних машин. За відсутності мікропрограмної підтримки такі операції повинні були б бути реалізовані програмно і, відповідно, їх виконання потребувало б набагато більше часу.
 
В більш загальному випадку можливість дозавантаження або зміни мікрокоду дозволяє виправляти знайдені помилки і додавати реалізацію нових інструкцій. Мікрокод також дозволяє налаштувати мікроархітектуру комп'ютера на [[Емуляція|емуляцію]] іншої (як правило, більш складної) [[Архітектура комп'ютера|архітектури]].
 
== Інше використання термінології ==
Окремі виробники [[комп'ютерна техніка|комп'ютерної техніки]] ([[апаратне забезпечення|апаратного забезпечення]]), особливо [[IBM]], використовують термін «мікрокод» як [[синонім]] термінові <tt>«прошивка»</tt> ([[вбудована програма]]) {{lang-en|firmware}}.<ref>http://www14.software.ibm.com/webapp/set2/firmware/gjsn IBM «Microcode downloads» (showing use of the term «microcode»)</ref>. Навіть проста прошивка, наприклад та, що використовуються в [[жорсткий диск|жорсткому диску]] [[персональний комп'ютер|персонального комп'ютера]], іноді описується як мікрокод<ref>http://download.boulder.ibm.com/ibmdl/pub/software/server/firmware/73lzx.html «Microcode Update for SCSI Hard Disk»</ref>.
 
== Див. також ==