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

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Addbot (обговорення | внесок)
м Вилучення 21 інтервікі, відтепер доступних на Вікіданих: d:q175869
Немає опису редагування
Рядок 1:
'''Мікрокод''' ({{lang-en|Microcode}}; також мікропрограма) — [[Комп'ютерна програма|програма]] на спеціалізованій, апаратно-залежній мові програмування, що реалізує управління процесором в системах з мікропрограмним управлінням.
'''Мі́кроко́д''' ({{lang-en|Microcode}}) — [[код]], що визначає елементарну [[операція|операцію]] в одному з виконавчих [[блок]]ів, що входять до складу [[пристрій|пристрою]]; послідовність мікрокоманд; послідовність елементарних команд, що відповідає специфічній машинній операції, виконання якої ініціюється розміщенням в [[регістр]]і команд [[ЕОМ]] машинної команди; [[шар]] інструкцій найнижчого рівня, що беруть участь у здійсненні [[машинний код|машинного коду]].
 
Розробники процесорів надають програмістам набір програмно доступних операцій, кожній з яких відповідає окрема інструкція мови [[асемблер]]а. З точки зору програміста ці інструкції є атомарними — у програміста відсутні можливості відслідити деталі виконання кожної з таких інструкцій; з точки ж зору роботи процесора кожна з таких інструкцій виконує декілька більш примітивних операцій — мікрооперацій, — таких як завантаження і обробка операндів, запис результату, встановлення признаку результату (коду завершення) тощо.
Окремі виробники [[комп'ютерна техніка|комп'ютерної техніки]] ([[апаратне забезпечення|апаратного забезпечення]]), особливо [[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>
 
Декілька мікрооперацій, що можуть бути виконані паралельно і одночасно, вміщують в окрему мікрокоманду, поля якої і визначають такі мікрооперації. Окрема мікрокоманда звичайно (але не обов'язково) виконується в продовж одного такта процесора. Різні інструкції потребують виконання різних мікрооперацій та різних мікрокоманд, так само операції вимагають різної кількості мікрокоманд і тому виконуються за різне число тактів.
 
Наявність в процесорі можливостей паралельного і одночасного виконання мікрооперацій призводить до того, що окрема мікрокоманда включає кілька полів і тому виявляється досить «широкою» (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>.
 
== Див. також ==
Рядок 9 ⟶ 20:
* {{ТСУМО}}
{{reflist}}
{{Compu-stub}}
 
[[Категорія:Програмування]]
[[Категорія:Апаратне забезпечення]]
 
[[de:Mikroprogrammsteuerwerk]]