Дешифратор инструкций: Переводчик процессора

Допустим, Счётчик команд достал из памяти байт с кодом 10100111. Для нас это просто набор единиц и нулей, но для процессора это команда. Однако как заставить эту команду физически выполнить работу? Как АЛУ узнает, что нужно именно складывать, а ОЗУ поймет, что в него сейчас будут записывать данные?

За это отвечает Дешифратор инструкций (Instruction Decoder). Это сложная комбинационная схема из логических вентилей, которая работает как идеальный переводчик. Она принимает на вход двоичный код команды (Opcode) и мгновенно превращает его в набор управляющих сигналов.

Например, дешифратор видит код команды «Сохранить в память» (STA). Он тут же активирует провод, который идет к контакту Write Enable (Разрешение записи) на чипе оперативной памяти, и одновременно выключает все другие ненужные модули. Дешифратор — это настоящий кукловод, который дергает за нужные ниточки-провода, заставляя весь процессор синхронно выполнять волю программиста.

Практический пример. Возьмём инструкцию STA 255 (код 0010 11111111). Старшие 4 бита (0010) — это опкод, они поступают на дешифратор. Тот распознаёт: «Ага, это команда записи в память!» — и мгновенно активирует провод MemWr (разрешение записи), подключает выход аккумулятора к шине данных, а младшие 8 битов адреса (11111111=255) направляет на адресную шину RAM. Ещё микросекунда — и байт из аккумулятора сохранён в ячейку 255.