Мультиплексор и демультиплексор — различия между версиями
Gaporf (обсуждение | вклад) (→Логическая схема мультиплексора) (Метки: правка с мобильного устройства, правка из мобильной версии) |
Gaporf (обсуждение | вклад) (→Принцип работы мультиплексора) (Метки: правка с мобильного устройства, правка из мобильной версии) |
||
Строка 16: | Строка 16: | ||
[[Файл:4to1mux.png|thumb|180px|4-to-1 мультиплексор]] | [[Файл:4to1mux.png|thumb|180px|4-to-1 мультиплексор]] | ||
− | Рассмотрим мультиплексор 2-to-1 (это значит, что есть всего два входа $ | + | Рассмотрим мультиплексор 2-to-1 (это значит, что есть всего два входа $x_0$ и $x_1$, значения которых могут подаваться на вход $z$). Рассмотрим всевозможные варианты значений на входах. Если на $s$ подавать $0$, то на выход $z$ будет подаваться то же значение, которое подаётся на вход $x_0$, т.е. в данном случае значение на входе $x_1$ нас не интересует. Аналогично, если на вход $s$ подавать $1$, то на выход $z$ будет подаваться то же значение, которое подаётся на вход $x_1$. Для более лучшего понимания посмотрим на таблицу истинности. |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! $ | + | ! $s$ !! $x_0$ !! $x_1$ !! $z$ |
|- | |- | ||
| '''0''' || '''0''' || ? || '''0''' | | '''0''' || '''0''' || ? || '''0''' | ||
Строка 31: | Строка 31: | ||
|} | |} | ||
− | Также рассмотрим мультиплексор 4-to-1 (это значит, что есть четыре входа $ | + | Также рассмотрим мультиплексор 4-to-1 (это значит, что есть четыре входа $x_0$, $x_1$, $x_2$ и $x_3$, значения которых могут подаваться на выход $z$). Также рассмотрим всевозможные варианты значений на входах. Тут уже 2 входа $s_0$ и $s_1$, которые определяют, значение какого из входов $x_0$, $x_1$, $x_2$ или $x_3$ будет подаваться на выход $z$. Если $s_0 = s_1 = 0$, то на выход $z$ будет подаваться значение входа $x_0$, если $s_0 = 1$ и $s_1 = 0$ - то значение $x_1$, если $s_0 = 0$ и $s_1 = 1$ - то значение $x_2$, в противном случае - значение $x_3$. Для более лучшее понимания рекомендуется обратиться к таблице истинности. |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! $ | + | ! $s_0$ !! $s_1$ !! $x_0$ !! $x_1$ !! $x_2$ !! $x_3$ !! $z$ |
|- | |- | ||
| '''0''' || '''0''' || '''0''' || ? || ? || ? || '''0''' | | '''0''' || '''0''' || '''0''' || ? || ? || ? || '''0''' |
Версия 22:14, 20 ноября 2018
Определение: |
Мультиплексор (англ. multiplexer, или mux) - логический элемент, имеющий $2^n + n$ входов $x_0$, $x_1$, $\ldots$, $x_{2^n-1}$, $s_0$, $s_1$, $\ldots$, $s_{n-1}$ и один выход $z$, на который подаётся значение на входе $x_i$, где $i$ - число, которое кодируется входами $s_0$, $s_1$, $\ldots$, $s_{n-1}$. |
Определение: |
Демультиплексор (англ. demultiplexer, или demux) - логический элемент, имеющий $n+1$ входов $s_0$, $s_1$, $\ldots$, $s_{n-1}$, $y$ и $2^n$ выходов $z_0$, $z_1$, $\ldots$, $z_{2^n-1}$. На все выходы подаётся $0$ кроме выхода $z_i$, на который подаётся значение на входе $y$, где $i$ - число, которое кодируется входами $s_0$, $s_1$, $\ldots$, $s_{n-1}$. |
Содержание
Принцип работы мультиплексора
Рассмотрим мультиплексор 2-to-1 (это значит, что есть всего два входа $x_0$ и $x_1$, значения которых могут подаваться на вход $z$). Рассмотрим всевозможные варианты значений на входах. Если на $s$ подавать $0$, то на выход $z$ будет подаваться то же значение, которое подаётся на вход $x_0$, т.е. в данном случае значение на входе $x_1$ нас не интересует. Аналогично, если на вход $s$ подавать $1$, то на выход $z$ будет подаваться то же значение, которое подаётся на вход $x_1$. Для более лучшего понимания посмотрим на таблицу истинности.
$s$ | $x_0$ | $x_1$ | $z$ |
---|---|---|---|
0 | 0 | ? | 0 |
0 | 1 | ? | 1 |
1 | ? | 0 | 0 |
1 | ? | 1 | 1 |
Также рассмотрим мультиплексор 4-to-1 (это значит, что есть четыре входа $x_0$, $x_1$, $x_2$ и $x_3$, значения которых могут подаваться на выход $z$). Также рассмотрим всевозможные варианты значений на входах. Тут уже 2 входа $s_0$ и $s_1$, которые определяют, значение какого из входов $x_0$, $x_1$, $x_2$ или $x_3$ будет подаваться на выход $z$. Если $s_0 = s_1 = 0$, то на выход $z$ будет подаваться значение входа $x_0$, если $s_0 = 1$ и $s_1 = 0$ - то значение $x_1$, если $s_0 = 0$ и $s_1 = 1$ - то значение $x_2$, в противном случае - значение $x_3$. Для более лучшее понимания рекомендуется обратиться к таблице истинности.
$s_0$ | $s_1$ | $x_0$ | $x_1$ | $x_2$ | $x_3$ | $z$ |
---|---|---|---|---|---|---|
0 | 0 | 0 | ? | ? | ? | 0 |
0 | 0 | 1 | ? | ? | ? | 1 |
1 | 0 | ? | 0 | ? | ? | 0 |
1 | 0 | ? | 1 | ? | ? | 1 |
0 | 1 | ? | ? | 0 | ? | 0 |
0 | 1 | ? | ? | 1 | ? | 1 |
1 | 1 | ? | ? | ? | 0 | 0 |
1 | 1 | ? | ? | ? | 1 | 1 |
Логическая схема мультиплексора
Заметим, что дешифратор имеет $n$ входов и $2^n$ выходов, причём на всех выходы дешифратора подаётся $0$ кроме выхода $z_i$, на который подаётся $1$, где $i$ - число, которое кодируется его входами.
Тогда давайте построим дешифратор ${n}-to-{2^n}$ (это значит, что у дешифратора имеется $n$ входов и $2^n$ выходов), на вход ему подадим входы $s_0$, $s_1$, $\ldots$, $s_{n-1}$, а выходы этого дешифратора обозначим как $y_0$, $y_1$, $\ldots$, $y_{2^n-1}$, а потом с помощью гейта $AND$ соединим выход $y_i$ дешифратора с входом $x_i$ мультиплексора, потом соединим все гейты с выходом $z$. Давайте разберёмся, почему эта схема правильная: очевидно, что если входы $s_0$, $s_1$, $\ldots$ $s_{n-1}$ кодируют вход $i$, то это значит, что только $y_i$ выход дешифратора будет иметь $1$, тогда как на остальных выходах будет $0$, значит, что значения на входах $x_0$, $x_1$, $\ldots$, $x_{i-1}$, $x_{i+1}$, $\ldots$, $x_{2^n-1}$ на ответ никак повлиять не могут. Теперь, если на входе $x_i$ было $0$, то на выходе $z$ будет $0$, если же на входе $x_i$ был $1$, то на выходе $z$ будет $1$.
Принцип работы демультиплексора
Рассмотрим демультиплексор 1-to-2 (это значит, что у демультиплексора два выхода). Если на вход $S$ подать значение $0$, то на выход $z_0$ будет подаваться то же значение, которое подаётся на вход $y$, а на выход $z_1$ будет подаваться $0$. Если же на вход $s$ подать значение $1$, то на выход $z_0$ будет подаваться значение $0$, а на выход $z_1$ то же значение, которое будет подаваться на вход $y$. Для более лучшего понимания посмотрим на таблицу истинности.
$S$ | $Y$ | $Z_0$ | $Z_1$ |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 |
1 | 1 | 0 | 1 |
Также рассмотрим демультиплексор 1-to-4 (это значит, что у демультиплексора четыре выхода). Теперь у нас уже есть два входа $s_0$ и $s_1$, которые определяют, на какой из выходов $z_0$, $z_1$, $z_2$ или $z_3$ будет подаваться значение $y$, тогда как на остальные выходы будет подаваться $0$. В случае, когда $s_0 = s_1 = 0$, то на выход $z_0$ будет подаваться значение на входе $y$, тогда как на $z_1$, $z_2$ и $z_3$ будет подаваться $0$. Если же $s_0 = 1$ и $s_1 = 0$, то на выходы $z_0$, $z_2$ и $z_3$ будет подаваться $0$, а на выход $z_1$ будет подаваться то же, что подаётся на вход $y$. Аналогично разбираются остальные случаи. Для более лучшего понимания посмотрим на таблицу истинности.
$S_0$ | $S_1$ | $Y$ | $Z_0$ | $Z_1$ | $Z_2$ | $Z_3$ |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 1 | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 0 | 1 | 0 |
1 | 1 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 1 |
Логическая схема демультиплексора
Построим схему для демультиплексора. С помощью дешифратора преобразуем входы $s_0$, $s_1$, $\ldots$, $s_{n-1}$ в $2^n$ проводов $y_0$, $y_1$, $\ldots$, $y_{2^n-1}$, причем на проводе $y_i$ будет $1$, если число $i$ кодируется входами $s_0$, $s_1$, $\ldots$, $s_{n-1}$, в противном случае на проводе $y_i$ будет значение $0$. Потом каждый из этих проводов соединим со входом $y$ с помощью гейта $AND$, и выходу $z_i$ будет соответствовать тот гейт $AND$, на вход которого подают провод $y_i$.