Микрокод

Микрокод

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

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

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

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

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

Причины появления и использования

Первоначально микрокод был использован в качестве более лёгкого метода разработки контролирующего устройства компьютера. Прежде набор инструкций задавался жёстко, каждая машинная инструкция (сложение, сдвиг, копирование) реализовывалась непосредственно в схеме. Это давало высокую скорость, но по мере того как набор инструкций рос, всё сложнее становилось реализовать в виде схемы и отладить инструкции всё возрастающей сложности. Микрокод смягчил эту проблему тем, что позволил инженерам-проектировщикам при реализации сложной инструкции заменить создание сложной схемы на написание микропрограммы. Более того, микрокод можно было с лёгкостью изменить на поздних этапах проектирования, схему же изменить намного сложнее. Таким образом, микрокод облегчил проектирование процессоров, что привело к усложнению набора команд.

Использование микропрограмм также смягчило проблему пропускной способности памяти. В 1970-х рост скорости процессора намного обгонял рост скорости памяти. Некоторые способы ускорения, такие как многоуровневые кэши, несколько смягчали проблему, но не решали её. Использование микрокода здесь очень помогло, поскольку меньшее количество более сложных инструкций требовали меньшего обмена с памятью. Например, если вся операция над строкой символов выполняется одной машинной инструкцией, то во время её выполнения не требуется выбирать из памяти другие инструкции.

Список архитектур, использующих принцип микрокода, включал в себя IBM System/360 и DEC VAX, набор команд которых был реализован с помощью сложных микропрограмм. Подход, при котором используются всё более сложные микрокодные инструкции, был позже назван CISC.



Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?
Синонимы:

Полезное


Смотреть что такое "Микрокод" в других словарях:

  • микрокод — сущ., кол во синонимов: 1 • программа (114) Словарь синонимов ASIS. В.Н. Тришин. 2013 …   Словарь синонимов

  • микрокод — микропрограмма Каждой машинной команде процессора соответствует своя микропрограмма, состоящая из микрокоманд. [http://www.morepc.ru/dict/] Тематики информационные технологии в целом Синонимы микропрограмма EN microcode …   Справочник технического переводчика

  • Am486 — AMD Am486DX 40 Am486  семейство микропроцессоров архитектуры x86 компании AMD, предст …   Википедия

  • ЕС ЭВМ — У этого термина существуют и другие значения, см. ЕС (значения). ЕС ЭВМ (Единая система электронных вычислительных машин, произносится «еэс эвээм»)  советская серия компьютеров. Аналогия серий System/360 и System/370 фирмы IBM, выпускавшихся …   Википедия

  • Электроника-60 — Тип Промышленная микроЭВМ Выпущен ? Выпускался по …   Википедия

  • x86 — 80486 DX2 x86 (англ. Intel 80x86)  архитектура процессора c одноимённым наборо …   Википедия

  • X86 — 80486 DX2 x86 (Intel 80x86)  аппаратная платформа: архитектура микропроцессора и соответствующий набор инструкций, как разработанных и выпускаемых компанией Intel, так и совместимых с ними процессоров других производителей (AMD, VIA …   Википедия

  • RISC — У этого термина существуют и другие значения, см. RISC (значения). RISC (англ. restricted (reduced) instruction set computer[1][2]  компьютер с сокращённым набором команд)  архитектура процессора, в которой быстродействие… …   Википедия

  • Машинный код — Эта статья о системе команд в целом; об инструкциях см.: Код операции. Машинный код (платформенно ориентированный код), машинный язык  система команд (набор кодов операций) конкретной вычислительной машины, которая интерпретируется… …   Википедия

  • VLIW — Процессор Itanium 2 в корпусе PAC  один из представителей VLIW архитектур VLIW (англ. very long instruction word  «оче …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»