Мультиплексор (MUX)

Входы (Inputs)

ПинТипОписание
AbitПервый вход
BbitВторой вход
Selbit0→A, 1→B

Выходы (Outputs)

ПинТипОписание
QbitSel=0→A, Sel=1→B

Логика работы

Представь железнодорожную стрелку: два пути сливаются в один, и стрелочный перевод решает, какой состав поедет дальше. MUX — та же стрелка, только для битовых сигналов. На входы A и B приходят два сигнала, на вход Sel — команда «кого пропустить», и на выходе Q оказывается ровно один из них.

Главное свойство: Sel = 0 открывает путь A, Sel = 1 — путь B. За этим стоит простая формула Q = (A ∧ ¬Sel) ∨ (B ∧ Sel): сигнал A умножается через AND на «Sel равен нулю», сигнал B — на «Sel равен единице», и OR сводит результаты. Лишний вход физически запирается нулём и до выхода не доходит — переключение происходит мгновенно при любом изменении Sel.

Нюанс: MUX ничего не вычисляет и не запоминает — он только выбирает. Зато из него собираются сколь угодно большие коммутаторы: два MUX 2→1 плюс ещё один дают 4→1, а каскад из семи штук — 8→1, где источник выбирается трёхбитным адресом. Эта масштабируемость и делает мультиплексор универсальным маршрутизатором процессора.

Примеры

СценарийABSelQ
Выбран A, на нём 11001
Выбран B, но на нём 01010
Выбран B, на нём 10111
Сигналы одинаковые110 или 11

Обрати внимание на последнюю строку: если на обоих входах одинаковый сигнал, переключение селектора ничего не меняет — выход просто не заметит «щелчка стрелки».

Таблица истинности

SelABQ
0000
0010
0101
0111
1000
1011
1100
1111

Применение

Пороговый уровень — 9, но настоящая роль MUX раскрывается в процессоре. Выбор источника данных — его основная работа: какой регистр выйдет на общую шину, какое значение подать в АЛУ, какой адрес отправить в RAM — адрес из ProgramCounter или из IndexRegister. В АЛУ (уровень 13) каскад мультиплексоров по битам opcode выбирает между результатами сумматора и логических блоков.

Конкретный приём — наращивание: два бита селектора и три MUX 2→1 дают выбор из четырёх источников, три бита и семь MUX — из восьми. Тем же способом собираются маршрутизаторы для декодера команд и переключатели шин. Всякий раз, когда в схеме данные «сходятся» из двух мест в одно, между ними стоит мультиплексор.

Интерактивная демонстрация

Кликайте по входам, чтобы переключить значение (0 / 1)

Собери это сам →

Смежные компоненты

Статьи по теме

Частые вопросы

Как MUX выбирает вход?

Сигнал выбора S определяет источник: при S=0 на выход идёт A, при S=1 — B.

Как собрать MUX 8→1 из MUX 2→1?

Каскадом в три этажа: четыре MUX разбирают пары входов, два — пары результатов, финальный выбирает между ними. Всего семь MUX 2→1, а трёхбитный селектор становится адресом нужного входа.

Чем MUX отличается от BusMUX?

MUX переключает одиночные биты, BusMUX — целые 8-битные шины: внутри он повторяет ту же формулу для каждого из восьми битов сразу.