Когда компьютер интерпретирует инструкции уровня сборки, эти инструкции превращаются в их двоичные эквиваленты для чтения процессором. Когда процессор выполняет инструкции, он интерпретирует часть кода операции в отдельных «микропрограммах», содержащих их эквиваленты микрокода . Точно так же, как вы знаете, полная инструкция по сборке состоит из кода операции и любых применимых данных, которые идут вместе с ним, если это необходимо (например, имена регистров, адреса памяти).
Инструкции микрокода чрезвычайно низкоуровневые (в большей степени, чем сборка) и управляют фактическими цифровыми сигналами, которые управляют потоком логики в микропроцессоре. Например, одна инструкция микрокода может обновить флаг регистра кода состояния новым значением или соединить регистр ЦП с одним из блоков ALU . Возможны более сложные задачи, но это показывает вам общее представление о том, для чего используется микрокод.
Общий процесс от компиляции до выполнения выглядит следующим образом. Инструкции по сборке собраны (превращены в их двоичные эквиваленты 0 и 1, или отныне логические сигналы). Эти логические сигналы, в свою очередь, интерпретируются ЦП и превращаются в более логические сигналы более низкого уровня, которые направляют поток ЦП для выполнения конкретной инструкции. Это может занять один или несколько тактовых циклов, в зависимости от архитектуры и конструкции процессора (в большинстве справочных руководств процессора указано, сколько тактовых циклов требуется для выполнения определенной инструкции, например, этой ).
Все это делается с помощью жестко запрограммированного микрокода (физически встроенного в процессор в каком-то виде ПЗУ, установленного в процессе производства), который направляет поток через реальные логические элементы низкого уровня . Это обеспечивает интерфейс между абстрактными инструкциями по сборке и физической электрической логикой в процессоре.
Итак, в итоге, инструкции процессора собираются и загружаются процессором. Затем процессор будет использовать эти инструкции для поиска микропрограммы (в форме микрокода), соответствующей этой конкретной инструкции, и именно это «фактически» выполняет инструкцию. Как только микрокоды для конкретной инструкции были выполнены (что может занять один или несколько тактовых циклов), процессор выполняет микрокод для выборки следующей инструкции, и цикл повторяется.