Мультиплексор: стрелка для сигнала
Девятое вступление знакомит с цифровым переключателем: тумблер Sel решает, какой из двух сигналов — A или B — доедет до лампы.
Опыт: стрелочный перевод
Перед тобой стрелка на железной дороге: два сигнала A=1 и B=0, а тумблер Селектор (Sel) решает, какой из них доедет до лампы Q. Щёлкай Sel и следи за лампой: она повторяет один из двух сигналов — какой, решает Sel. Sel сам не светит: он не сигнал, а стрелка, переводящая путь.
Прогноз: чей сигнал до лампы
Проверь себя: A=0, B=1, Sel=0 — загорится ли Q? Нет: Sel=0 направляет к лампе канал A, а там 0. Единица на B не «проталкивается» сама — её путь перекрыт. Значение сигнала и номер выбранного канала — разные вещи, и именно их путают новички.
Правило выбора
Такой переключатель называется мультиплексор (MUX) — цифровой переключатель 2-в-1: Sel=0 → выход=A; Sel=1 → выход=B. Внутри два вентиля И и один ИЛИ: когда Sel=0, линия A открыта (A AND 1 = A), линия B закрыта (B AND 0 = 0); при Sel=1 — наоборот.
| A | B | Sel | Q |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |
Формула: Q = (A AND NOT Sel) OR (B AND Sel). NOT Sel — «открытость» линии A, Sel — открытость линии B, а ИЛИ собирает тот сигнал, чья линия открыта.
Зачем это нужно
На этом уровне ты соберёшь мультиплексор из вентилей — и получишь его как готовый чип MUX. Дальше чипы соединяются в каскады: BusMUX выбирает, чей результат операции показать (уровень 13, АЛУ). В процессоре мультиплексор решает, откуда взять адрес следующей команды — из счётчика команд или из перехода: тот же диспетчер на стрелке.