Мультиплексор: электронный стрелочник

Представьте железнодорожную стрелку: по одним путям едет пассажирский поезд, по другим — товарный, а диспетчер одним рычагом решает, кто из них поедет дальше по главному пути.

Мультиплексор (MUX) — это такой же диспетчер, только электронный. У него есть два входа для данных (А и Б) и один специальный вход управления (селектор). Если на селектор подать 0, мультиплексор пропустит на выход данные со входа А. Если подать 1 — пропустит данные со входа Б.

Зачем это нужно процессору? Постоянно! Например, чтобы выбрать, откуда брать адрес для чтения памяти: из счетчика команд или из индексного регистра. Мультиплексоры позволяют аппаратуре процессора менять свое поведение на лету, подчиняясь программному коду.

Практический пример. В процессоре мультиплексор постоянно выбирает, откуда брать адрес для следующей операции. Если выполняется команда перехода (JMP), адрес берётся из операнда инструкции. Если команда обычная — адрес приходит со счётчика команд (PC+1). Мультиплексор получает оба этих адреса на входы A и B, а сигнал от дешифратора команды говорит ему, какой из них пропустить дальше в память. Одна микросхема — сотни различных путей для данных.