Мультиплексор и демультиплексор
Определение: |
Мультиплексор (англ. multiplexer, или mux) - логическая схема, которая имеет $2^n + n$ входов и один выход. Обозначим входы как $x_0$, $x_1$, $\ldots$, $x_{2^n - 1}$, $s_0$, $s_1$, $\ldots$, $s_{n-1}$. На выход подаётся то же, что подаётся на вход $x_i$, где $i$ - двоичное число, которое кодируется входами $s_0$, $s_1$, $\ldots$, $s_{n - 1}$. |
Определение: |
Демультиплексор (англ. demultiplexer, или demux) - логическая схема, которая имеет $n + 1$ входов и $2^n$ выходов. Обозначим входы как $s_0$, $s_1$, $\ldots$, $s_{n - 1}$, $y$, а выходы как $z_0$, $z_1$, $\ldots$, $z_{2^n-1}$. Тогда на все выходы подаётся $0$, а на выход $z_i$ подаётся то же число, которое подаётся на вход $y$, где $i$ кодируется входами $s_0$, $s_1$, $\ldots$, $s_{n-1}$. |
Содержание
Принцип работы мультиплексора
В качестве примера рассмотрим мультиплексор, которые имеет два входа $X_0$ и $X_1$ и вход $S$, значение которого задаёт, какой из входов $X_0$ или $X_1$ нужно подать на выход $Z$. Если на $S$ подавать $0$, то на $Z$ будет подаваться значение на входе $X_0$, если на $S$ подать $1$, то на выходе будет значение на входе $X_1$. Ниже представлена таблица истинности, которая иллюстрирует всевозможных состояния мультиплексора.
$S$ | $X_0$ | $X_1$ | $Z$ |
---|---|---|---|
0 | 0 | ? | 0 |
0 | 1 | ? | 1 |
1 | ? | 0 | 0 |
1 | ? | 1 | 1 |
Логическая схема мультиплексора
В качестве примера возьмём мультиплексор 4-to-1, у которого $2^2 + 2$ входа, и $1$ выход. Для того, чтобы обработать всевозможные варианты данных на входах $S_0$ и $S_1$ используются гейты $NOT$ и $AND$.
Основное преимущество мультиплексора в том, что его размер зависит линейно от количество входов. Построить такую схему не составит труда: Для начала надо перебрать всевозможные варианты состояний входов $S_1$, $S_2$, $\ldots$, $S_n$. Сделать это можно рекурсивным способом: пусть мы смогли перебрать всевозможные состояния для первых $n-1$ входов. Очевидно, что число вариантов для $n-1$ входов равно $2^{n-1}$ . Давайте попробуем перебрать всевозможные варианты уже с $n$-ым входом. Пусть, что значение на входе $S_n$ равно $1$. Тогда достаточно поставить еще $2^{n-1}$ гейтов $AND$, и соединить эти гейты с проводами всевозможных состояний для $n-1$ компаратора. Путь значение на входе $S_n$ равно $0$. Тогда поставим всего один гейт $NOT$, и проделаем ту же самую операцию. Очевидно, что для того, чтобы присоединить $n$-ый вход мы использовали дополнительно $2^n$ гейтов $AND$ и $n$ гейтов $NOT$.