Микрокод

Микроко́дпрограмма, реализующая набор инструкций процессора. Так же как одна инструкция языка высокого уровня преобразуется в серию машинных инструкций, в процессоре, использующем микрокод, каждая машинная инструкция реализуется в виде серии микроинструкций — микропрограммы, микрокода.

На большинстве компьютеров, использующих микрокод, он присутствует не в основной памяти, а в специальной быстродействующей памяти (англ. control store), как например, в наборе микросхем 588 серии с АЛУ КА588ВС2 и ПЗУ управляющей памяти КА588ВУ2. Эта память может допускать только чтение либо чтение-запись; в последнем случае микрокод может быть загружен из постоянной памяти в процессе запуска процессора. Возможность изменения микрокода позволяет исправлять найденные ошибки и добавлять реализацию новых инструкций. Микрокод также позволяет настроить микроархитектуру компьютера на эмуляцию другой (как правило, более сложной) архитектуры.

Микропрограммы состоят из серий микроинструкций, часто называемых элементарными операциями. Микроинструкции управляют процессором на самом низком уровне. Например, отдельная микроинструкция может содержать указание следующих действий:

  • Подсоединить Регистр 1 ко входу «А» арифметическо-логического устройства (АЛУ)
  • Подсоединить Регистр 7 ко входу «Б» АЛУ
  • Настроить АЛУ на выполнение операции сложения
  • Установить разряд переноса АЛУ в ноль
  • Сохранить результат операции в Регистр 8
  • Обновить «коды состояния» из флагов АЛУ («Отрицательное», «Ноль», «Переполнение», «Перенос»)

Установить указатель микрокоманд на микроинструкцию номер nnnДля того чтобы одна микроинструкция могла описывать весь этот набор, микроинструкции часто делаются довольно «широкими», например, длиной в 56 битов или даже больше. Микроинструкции, или микрокоманды, в свою очередь, инициируют так называемые микрооперации. Микрооперации — это и есть элементарные преобразования над данными; в качестве примеров можно привести следующие:

  1. скопировать операнд в регистр;
  2. установить флаг в 1;
  3. выставить операнд на шину;
  4. увеличить содержимое верхушки стека на 1, и т. д.

Источник: Википедия

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я