Мультиплексор и демультиплексор — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Логическая схема мультиплексора)
(Прошу прощение за Парсер, который где-то поставил не то(()
Строка 1: Строка 1:
<div style="background-color: #ABCDEF; font-size: 16px; font-weight: bold; color: #000000; text-align: center; padding: 4px; border-style: solid; border-width: 1px;">Эта статья находится в разработке!</div>
+
<div style="background-color: #ABCDEF; font-size: <tex>1</tex>6px; font-weight: bold; color: #000000; text-align: center; padding: <tex>4</tex>px; border-style: solid; border-width: <tex>1</tex>px;">Эта статья находится в разработке!</div>
 
<includeonly>[[Категория: В разработке]]</includeonly>
 
<includeonly>[[Категория: В разработке]]</includeonly>
  
Строка 16: Строка 16:
 
[[Файл:4to1mux.png|thumb|180px|4-to-1 мультиплексор]]
 
[[Файл:4to1mux.png|thumb|180px|4-to-1 мультиплексор]]
  
===Мультиплексор 2-to-1===
+
===Мультиплексор <tex>2</tex>-to-1===
  
 
Рассмотрим мультиплексор <tex>2-to-1</tex> (это значит, что есть всего два входа <tex>x_0</tex> и <tex>x_1</tex>, значения которых могут подаваться на вход <tex>z</tex>). Переберём всевозможные варианты значений на входах. Если на <tex>s</tex> подавать <tex>0</tex>, то на выход <tex>z</tex> будет подаваться то же значение, которое подаётся на вход <tex>x_0</tex>, т.е. в данном случае значение на входе <tex>x_1</tex> нас не интересует. Аналогично, если на вход <tex>s</tex> подавать <tex>1</tex>, то на выход <tex>z</tex> будет подаваться то же значение, которое подаётся на вход <tex>x_1</tex>. Для более лучшего понимания посмотрим на таблицу истинности.
 
Рассмотрим мультиплексор <tex>2-to-1</tex> (это значит, что есть всего два входа <tex>x_0</tex> и <tex>x_1</tex>, значения которых могут подаваться на вход <tex>z</tex>). Переберём всевозможные варианты значений на входах. Если на <tex>s</tex> подавать <tex>0</tex>, то на выход <tex>z</tex> будет подаваться то же значение, которое подаётся на вход <tex>x_0</tex>, т.е. в данном случае значение на входе <tex>x_1</tex> нас не интересует. Аналогично, если на вход <tex>s</tex> подавать <tex>1</tex>, то на выход <tex>z</tex> будет подаваться то же значение, которое подаётся на вход <tex>x_1</tex>. Для более лучшего понимания посмотрим на таблицу истинности.
Строка 24: Строка 24:
 
! <tex>s</tex> !! <tex>x_0</tex> !! <tex>x_1</tex> !! <tex>z</tex>
 
! <tex>s</tex> !! <tex>x_0</tex> !! <tex>x_1</tex> !! <tex>z</tex>
 
|-
 
|-
| '''0''' || '''0''' || ? || '''0'''
+
| <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || ? || <tex>\textbf{0}</tex>
 
|-
 
|-
| '''0''' || '''1''' || ? || '''1'''
+
| <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || ? || <tex>\textbf{1}</tex>
 
|-
 
|-
| '''1''' || ? || '''0''' || '''0'''
+
| <tex>\textbf{1}</tex> || ? || <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex>
 
|-
 
|-
| '''1''' || ? || '''1''' || '''1'''
+
| <tex>\textbf{1}</tex> || ? || <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex>
 
|}
 
|}
  
===Мультиплексор 4-to-1===
+
===Мультиплексор <tex>4</tex>-to-1===
Также рассмотрим мультиплексор <tex>4-to-1</tex> (это значит, что есть четыре входа <tex>x_0</tex>, <tex>x_1</tex>, <tex>x_2</tex> и <tex>x_3</tex>, значения которых могут подаваться на выход <tex>z</tex>). Также переберём всевозможные варианты значений на входах. Тут уже 2 входа <tex>s_0</tex> и <tex>s_1</tex>, которые определяют, значение какого из входов <tex>x_0</tex>, <tex>x_1</tex>, <tex>x_2</tex> или <tex>x_3</tex> будет подаваться на выход <tex>z</tex>. Если <tex>s_0 = s_1 = 0</tex>, то на выход <tex>z</tex> будет подаваться значение входа <tex>x_0</tex>, если <tex>s_0 = 1</tex> и <tex>s_1 = 0</tex> <tex>-</tex> то значение <tex>x_1</tex>, если <tex>s_0 = 0</tex> и <tex>s_1 = 1</tex> <tex>-</tex> то значение <tex>x_2</tex>, в противном случае <tex>-</tex> значение <tex>x_3</tex>. Для более лучшее понимания рекомендуется обратиться к таблице истинности.
+
Также рассмотрим мультиплексор <tex>4-to-1</tex> (это значит, что есть четыре входа <tex>x_0</tex>, <tex>x_1</tex>, <tex>x_2</tex> и <tex>x_3</tex>, значения которых могут подаваться на выход <tex>z</tex>). Также переберём всевозможные варианты значений на входах. Тут уже <tex>2</tex> входа <tex>s_0</tex> и <tex>s_1</tex>, которые определяют, значение какого из входов <tex>x_0</tex>, <tex>x_1</tex>, <tex>x_2</tex> или <tex>x_3</tex> будет подаваться на выход <tex>z</tex>. Если <tex>s_0 = s_1 = <tex>0</tex></tex>, то на выход <tex>z</tex> будет подаваться значение входа <tex>x_0</tex>, если <tex>s_0 = <tex>1</tex></tex> и <tex>s_1 = <tex>0</tex></tex> <tex>-</tex> то значение <tex>x_1</tex>, если <tex>s_0 = <tex>0</tex></tex> и <tex>s_1 = <tex>1</tex></tex> <tex>-</tex> то значение <tex>x_2</tex>, в противном случае <tex>-</tex> значение <tex>x_3</tex>. Для более лучшее понимания рекомендуется обратиться к таблице истинности.
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! <tex>s_0</tex> !! <tex>s_1</tex> !! <tex>x_0</tex> !! <tex>x_1</tex> !! <tex>x_2</tex> !! <tex>x_3</tex> !! <tex>z</tex>
 
! <tex>s_0</tex> !! <tex>s_1</tex> !! <tex>x_0</tex> !! <tex>x_1</tex> !! <tex>x_2</tex> !! <tex>x_3</tex> !! <tex>z</tex>
 
|-
 
|-
| '''0''' || '''0''' || '''0''' || ? || ? || ? || '''0'''
+
| <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || ? || ? || ? || <tex>\textbf{0}</tex>
 
|-
 
|-
| '''0''' || '''0''' || '''1''' || ? || ? || ? || '''1'''
+
| <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || ? || ? || ? || <tex>\textbf{1}</tex>
 
|-
 
|-
| '''1''' || '''0''' || ? || '''0''' || ? || ? || '''0'''
+
| <tex>\textbf{1}</tex> || <tex>\textbf{0}</tex> || ? || <tex>\textbf{0}</tex> || ? || ? || <tex>\textbf{0}</tex>
 
|-
 
|-
| '''1''' || '''0''' || ? || '''1''' || ? || ? || '''1'''
+
| <tex>\textbf{1}</tex> || <tex>\textbf{0}</tex> || ? || <tex>\textbf{1}</tex> || ? || ? || <tex>\textbf{1}</tex>
 
|-
 
|-
| '''0''' || '''1''' || ? || ? || '''0''' || ? || '''0'''
+
| <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || ? || ? || <tex>\textbf{0}</tex> || ? || <tex>\textbf{0}</tex>
 
|-
 
|-
| '''0''' || '''1''' || ? || ? || '''1''' || ? || '''1'''
+
| <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || ? || ? || <tex>\textbf{1}</tex> || ? || <tex>\textbf{1}</tex>
 
|-
 
|-
| '''1''' || '''1''' || ? || ? || ? || '''0''' || '''0'''
+
| <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || ? || ? || ? || <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex>
 
|-
 
|-
| '''1''' || '''1''' || ? || ? || ? || '''1''' || '''1'''
+
| <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || ? || ? || ? || <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex>
 
|}
 
|}
  
 
==Логическая схема мультиплексора==
 
==Логическая схема мультиплексора==
  
[[Файл:LogicSircuit1to8.png|thumb|360px|Логическая схема мультиплексора 8-to-1]]
+
[[Файл:LogicSircuit1to8.png|thumb|360px|Логическая схема мультиплексора <tex>8</tex>-to-1]]
  
 
Заметим, что [[дешифратор]] имеет <tex>n</tex> входов и <tex>2^n</tex> выходов, причём на все выходы дешифратора подаётся <tex>0</tex> кроме выхода <tex>z_i</tex>, на который подаётся <tex>1</tex>, где <tex>i</tex> - число, которое кодируется его входами.
 
Заметим, что [[дешифратор]] имеет <tex>n</tex> входов и <tex>2^n</tex> выходов, причём на все выходы дешифратора подаётся <tex>0</tex> кроме выхода <tex>z_i</tex>, на который подаётся <tex>1</tex>, где <tex>i</tex> - число, которое кодируется его входами.
Строка 70: Строка 70:
 
[[Файл:1to4demux.png|thumb|180px|1-to-4 демультиплексор]]
 
[[Файл:1to4demux.png|thumb|180px|1-to-4 демультиплексор]]
  
===Демультиплексор 1-to-2===
+
===Демультиплексор <tex>1</tex>-to-2===
 
Рассмотрим демультиплексор <tex>1-to-2</tex> (это значит, что у демультиплексора два выхода). Если на вход <tex>s</tex> подать значение <tex>0</tex>, то на выход <tex>z_0</tex> будет подаваться то же значение, которое подаётся на вход <tex>y</tex>, а на выход <tex>z_1</tex> будет подаваться <tex>0</tex>. Если же на вход <tex>s</tex> подать значение <tex>1</tex>, то на выход <tex>z_0</tex> будет подаваться значение <tex>0</tex>, а на выход <tex>z_1</tex> то же значение, которое будет подаваться на вход <tex>y</tex>. Для более лучшего понимания посмотрим на таблицу истинности.
 
Рассмотрим демультиплексор <tex>1-to-2</tex> (это значит, что у демультиплексора два выхода). Если на вход <tex>s</tex> подать значение <tex>0</tex>, то на выход <tex>z_0</tex> будет подаваться то же значение, которое подаётся на вход <tex>y</tex>, а на выход <tex>z_1</tex> будет подаваться <tex>0</tex>. Если же на вход <tex>s</tex> подать значение <tex>1</tex>, то на выход <tex>z_0</tex> будет подаваться значение <tex>0</tex>, а на выход <tex>z_1</tex> то же значение, которое будет подаваться на вход <tex>y</tex>. Для более лучшего понимания посмотрим на таблицу истинности.
  
Строка 77: Строка 77:
 
! <tex>s</tex> !! <tex>y</tex> !! <tex>z_0</tex> !! <tex>z_1</tex>
 
! <tex>s</tex> !! <tex>y</tex> !! <tex>z_0</tex> !! <tex>z_1</tex>
 
|-
 
|-
| '''0''' || '''0''' || '''0''' || 0
+
| <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>0</tex>
 
|-
 
|-
| '''0''' || '''1''' || '''1''' || 0
+
| <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || <tex>0</tex>
 
|-
 
|-
| '''1''' || '''0''' || 0 || '''0'''
+
| <tex>\textbf{1}</tex> || <tex>\textbf{0}</tex> || <tex>0</tex> || <tex>\textbf{0}</tex>
 
|-
 
|-
| '''1''' || '''1''' || 0 || '''1'''
+
| <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || <tex>0</tex> || <tex>\textbf{1}</tex>
 
|}
 
|}
  
===Демультиплексор 1-to-4===
+
===Демультиплексор <tex>1</tex>-to-4===
Также рассмотрим демультиплексор <tex>1-to-4</tex> (это значит, что у демультиплексора четыре выхода). Теперь у нас уже есть два входа <tex>s_0</tex> и <tex>s_1</tex>, которые определяют, на какой из выходов <tex>z_0</tex>, <tex>z_1</tex>, <tex>z_2</tex> или <tex>z_3</tex> будет подаваться значение <tex>y</tex>, тогда как на остальные выходы будет подаваться <tex>0</tex>. В случае, когда <tex>s_0 = s_1 = 0</tex>, то на выход <tex>z_0</tex> будет подаваться значение на входе <tex>y</tex>, тогда как на <tex>z_1</tex>, <tex>z_2</tex> и <tex>z_3</tex> будет подаваться <tex>0</tex>. Если же <tex>s_0 = 1</tex> и <tex>s_1 = 0</tex>, то на выходы <tex>z_0</tex>, <tex>z_2</tex> и <tex>z_3</tex> будет подаваться <tex>0</tex>, а на выход <tex>z_1</tex> будет подаваться то же, что подаётся на вход <tex>y</tex>. Аналогично разбираются случаи <tex>s_0 = 0</tex>, <tex>s_1 = 1</tex> и <tex>s_0 = s_1 = 1</tex>. Для более лучшего понимания посмотрим на таблицу истинности.
+
Также рассмотрим демультиплексор <tex>1-to-4</tex> (это значит, что у демультиплексора четыре выхода). Теперь у нас уже есть два входа <tex>s_0</tex> и <tex>s_1</tex>, которые определяют, на какой из выходов <tex>z_0</tex>, <tex>z_1</tex>, <tex>z_2</tex> или <tex>z_3</tex> будет подаваться значение <tex>y</tex>, тогда как на остальные выходы будет подаваться <tex>0</tex>. В случае, когда <tex>s_0 = s_1 = <tex>0</tex></tex>, то на выход <tex>z_0</tex> будет подаваться значение на входе <tex>y</tex>, тогда как на <tex>z_1</tex>, <tex>z_2</tex> и <tex>z_3</tex> будет подаваться <tex>0</tex>. Если же <tex>s_0 = <tex>1</tex></tex> и <tex>s_1 = <tex>0</tex></tex>, то на выходы <tex>z_0</tex>, <tex>z_2</tex> и <tex>z_3</tex> будет подаваться <tex>0</tex>, а на выход <tex>z_1</tex> будет подаваться то же, что подаётся на вход <tex>y</tex>. Аналогично разбираются случаи <tex>s_0 = <tex>0</tex></tex>, <tex>s_1 = <tex>1</tex></tex> и <tex>s_0 = s_1 = <tex>1</tex></tex>. Для более лучшего понимания посмотрим на таблицу истинности.
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 93: Строка 93:
 
! <tex>s_0</tex> !! <tex>s_1</tex> !! <tex>y</tex> !! <tex>z_0</tex> !! <tex>z_1</tex> !! <tex>z_2</tex> !! <tex>z_3</tex>
 
! <tex>s_0</tex> !! <tex>s_1</tex> !! <tex>y</tex> !! <tex>z_0</tex> !! <tex>z_1</tex> !! <tex>z_2</tex> !! <tex>z_3</tex>
 
|-
 
|-
| '''0''' || '''0''' || '''0''' || '''0''' || 0 || 0 || 0
+
| <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>0</tex> || <tex>0</tex> || <tex>0</tex>
 
|-
 
|-
| '''0''' || '''0''' || '''1''' || '''1''' || 0 || 0 || 0
+
| <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || <tex>0</tex> || <tex>0</tex> || <tex>0</tex>
 
|-
 
|-
| '''1''' || '''0''' || '''0''' || 0 || '''0''' || 0 || 0
+
| <tex>\textbf{1}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{0}</tex> || <tex>0</tex> || <tex>\textbf{0}</tex> || <tex>0</tex> || <tex>0</tex>
 
|-
 
|-
| '''1''' || '''0''' || '''1''' || 0 || '''1''' || 0 || 0
+
| <tex>\textbf{1}</tex> || <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || <tex>0</tex> || <tex>\textbf{1}</tex> || <tex>0</tex> || <tex>0</tex>
 
|-
 
|-
| '''0''' || '''1''' || '''0''' || 0 || 0 || '''0''' || 0
+
| <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || <tex>\textbf{0}</tex> || <tex>0</tex> || <tex>0</tex> || <tex>\textbf{0}</tex> || <tex>0</tex>
 
|-
 
|-
| '''0''' || '''1''' || '''1''' || 0 || 0 || '''1''' || 0
+
| <tex>\textbf{0}</tex> || <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || <tex>0</tex> || <tex>0</tex> || <tex>\textbf{1}</tex> || <tex>0</tex>
 
|-
 
|-
| '''1''' || '''1''' || '''0''' || 0 || 0 || 0 || '''0'''
+
| <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || <tex>\textbf{0}</tex> || <tex>0</tex> || <tex>0</tex> || <tex>0</tex> || <tex>\textbf{0}</tex>
 
|-
 
|-
| '''1''' || '''1''' || '''1''' || 0 || 0 || 0 || '''1'''
+
| <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || <tex>\textbf{1}</tex> || <tex>0</tex> || <tex>0</tex> || <tex>0</tex> || <tex>\textbf{1}</tex>
 
|}
 
|}
  
 
==Логическая схема демультиплексора==
 
==Логическая схема демультиплексора==
  
[[Файл:LogicSircuit1to8demux.png|thumb|360px|Логическая схема демультиплексора 1-to-8]]
+
[[Файл:LogicSircuit1to8demux.png|thumb|360px|Логическая схема демультиплексора <tex>1</tex>-to-8]]
  
 
Построим схему, аналогичную схеме мультиплексора.
 
Построим схему, аналогичную схеме мультиплексора.

Версия 23:23, 3 декабря 2018

Эта статья находится в разработке!


Определение:
Мультиплексор (англ. multiplexer, или mux) - логический элемент, имеющий [math]2^n + n[/math] входов [math]x_0[/math], [math]x_1[/math], [math]\ldots[/math], [math]x_{2^n-1}[/math], [math]s_0[/math], [math]s_1[/math], [math]\ldots[/math], [math]s_{n-1}[/math] и один выход [math]z[/math], на который подаётся значение на входе [math]x_i[/math], где [math]i[/math] - число, которое кодируется входами [math]s_0[/math], [math]s_1[/math], [math]\ldots[/math], [math]s_{n-1}[/math].


Определение:
Демультиплексор (англ. demultiplexer, или demux) - логический элемент, имеющий [math]n+1[/math] входов [math]s_0[/math], [math]s_1[/math], [math]\ldots[/math], [math]s_{n-1}[/math], [math]x[/math] и [math]2^n[/math] выходов [math]z_0[/math], [math]z_1[/math], [math]\ldots[/math], [math]z_{2^n-1}[/math]. На все выходы подаётся [math]0[/math] кроме выхода [math]z_i[/math], на который подаётся значение на входе [math]y[/math], где [math]i[/math] - число, которое кодируется входами [math]s_0[/math], [math]s_1[/math], [math]\ldots[/math], [math]s_{n-1}[/math].


Принцип работы мультиплексора

2-to-1 мультиплексор
4-to-1 мультиплексор

Мультиплексор [math]2[/math]-to-1

Рассмотрим мультиплексор [math]2-to-1[/math] (это значит, что есть всего два входа [math]x_0[/math] и [math]x_1[/math], значения которых могут подаваться на вход [math]z[/math]). Переберём всевозможные варианты значений на входах. Если на [math]s[/math] подавать [math]0[/math], то на выход [math]z[/math] будет подаваться то же значение, которое подаётся на вход [math]x_0[/math], т.е. в данном случае значение на входе [math]x_1[/math] нас не интересует. Аналогично, если на вход [math]s[/math] подавать [math]1[/math], то на выход [math]z[/math] будет подаваться то же значение, которое подаётся на вход [math]x_1[/math]. Для более лучшего понимания посмотрим на таблицу истинности.

[math]s[/math] [math]x_0[/math] [math]x_1[/math] [math]z[/math]
[math]\textbf{0}[/math] [math]\textbf{0}[/math]  ? [math]\textbf{0}[/math]
[math]\textbf{0}[/math] [math]\textbf{1}[/math]  ? [math]\textbf{1}[/math]
[math]\textbf{1}[/math]  ? [math]\textbf{0}[/math] [math]\textbf{0}[/math]
[math]\textbf{1}[/math]  ? [math]\textbf{1}[/math] [math]\textbf{1}[/math]

Мультиплексор [math]4[/math]-to-1

Также рассмотрим мультиплексор [math]4-to-1[/math] (это значит, что есть четыре входа [math]x_0[/math], [math]x_1[/math], [math]x_2[/math] и [math]x_3[/math], значения которых могут подаваться на выход [math]z[/math]). Также переберём всевозможные варианты значений на входах. Тут уже [math]2[/math] входа [math]s_0[/math] и [math]s_1[/math], которые определяют, значение какого из входов [math]x_0[/math], [math]x_1[/math], [math]x_2[/math] или [math]x_3[/math] будет подаваться на выход [math]z[/math]. Если [math]s_0 = s_1 = \lt tex\gt 0[/math]</tex>, то на выход [math]z[/math] будет подаваться значение входа [math]x_0[/math], если [math]s_0 = \lt tex\gt 1[/math]</tex> и [math]s_1 = \lt tex\gt 0[/math]</tex> [math]-[/math] то значение [math]x_1[/math], если [math]s_0 = \lt tex\gt 0[/math]</tex> и [math]s_1 = \lt tex\gt 1[/math]</tex> [math]-[/math] то значение [math]x_2[/math], в противном случае [math]-[/math] значение [math]x_3[/math]. Для более лучшее понимания рекомендуется обратиться к таблице истинности.

[math]s_0[/math] [math]s_1[/math] [math]x_0[/math] [math]x_1[/math] [math]x_2[/math] [math]x_3[/math] [math]z[/math]
[math]\textbf{0}[/math] [math]\textbf{0}[/math] [math]\textbf{0}[/math]  ?  ?  ? [math]\textbf{0}[/math]
[math]\textbf{0}[/math] [math]\textbf{0}[/math] [math]\textbf{1}[/math]  ?  ?  ? [math]\textbf{1}[/math]
[math]\textbf{1}[/math] [math]\textbf{0}[/math]  ? [math]\textbf{0}[/math]  ?  ? [math]\textbf{0}[/math]
[math]\textbf{1}[/math] [math]\textbf{0}[/math]  ? [math]\textbf{1}[/math]  ?  ? [math]\textbf{1}[/math]
[math]\textbf{0}[/math] [math]\textbf{1}[/math]  ?  ? [math]\textbf{0}[/math]  ? [math]\textbf{0}[/math]
[math]\textbf{0}[/math] [math]\textbf{1}[/math]  ?  ? [math]\textbf{1}[/math]  ? [math]\textbf{1}[/math]
[math]\textbf{1}[/math] [math]\textbf{1}[/math]  ?  ?  ? [math]\textbf{0}[/math] [math]\textbf{0}[/math]
[math]\textbf{1}[/math] [math]\textbf{1}[/math]  ?  ?  ? [math]\textbf{1}[/math] [math]\textbf{1}[/math]

Логическая схема мультиплексора

Логическая схема мультиплексора [math]8[/math]-to-1

Заметим, что дешифратор имеет [math]n[/math] входов и [math]2^n[/math] выходов, причём на все выходы дешифратора подаётся [math]0[/math] кроме выхода [math]z_i[/math], на который подаётся [math]1[/math], где [math]i[/math] - число, которое кодируется его входами.

Тогда давайте построим дешифратор [math]{n}-to-{2^n}[/math] (это значит, что у дешифратора имеется [math]n[/math] входов и [math]2^n[/math] выходов), на вход ему подадим входы [math]s_0[/math], [math]s_1[/math], [math]\ldots[/math], [math]s_{n-1}[/math], а выходы этого дешифратора обозначим как [math]y_0[/math], [math]y_1[/math], [math]\ldots[/math], [math]y_{2^n-1}[/math], а потом с помощью гейта [math]AND[/math] соединим выход [math]y_i[/math] дешифратора с входом [math]x_i[/math] мультиплексора, потом соединим все гейты с выходом [math]z[/math]. Давайте разберёмся, почему эта схема правильная: очевидно, что если входы [math]s_0[/math], [math]s_1[/math], [math]\ldots[/math] [math]s_{n-1}[/math] кодируют вход [math]i[/math], то это значит, что только [math]y_i[/math] выход дешифратора будет иметь [math]1[/math], тогда как на остальных выходах будет [math]0[/math], значит, что значения на входах [math]x_0[/math], [math]x_1[/math], [math]\ldots[/math], [math]x_{i-1}[/math], [math]x_{i+1}[/math], [math]\ldots[/math], [math]x_{2^n-1}[/math] на ответ никак повлиять не могут. Теперь, если на входе [math]x_i[/math] было [math]0[/math], то на выходе [math]z[/math] будет [math]0[/math], если же на входе [math]x_i[/math] был [math]1[/math], то на выходе [math]z[/math] будет [math]1[/math].

Принцип работы демультиплексора

1-to-2 демультиплексор
1-to-4 демультиплексор

Демультиплексор [math]1[/math]-to-2

Рассмотрим демультиплексор [math]1-to-2[/math] (это значит, что у демультиплексора два выхода). Если на вход [math]s[/math] подать значение [math]0[/math], то на выход [math]z_0[/math] будет подаваться то же значение, которое подаётся на вход [math]y[/math], а на выход [math]z_1[/math] будет подаваться [math]0[/math]. Если же на вход [math]s[/math] подать значение [math]1[/math], то на выход [math]z_0[/math] будет подаваться значение [math]0[/math], а на выход [math]z_1[/math] то же значение, которое будет подаваться на вход [math]y[/math]. Для более лучшего понимания посмотрим на таблицу истинности.

[math]s[/math] [math]y[/math] [math]z_0[/math] [math]z_1[/math]
[math]\textbf{0}[/math] [math]\textbf{0}[/math] [math]\textbf{0}[/math] [math]0[/math]
[math]\textbf{0}[/math] [math]\textbf{1}[/math] [math]\textbf{1}[/math] [math]0[/math]
[math]\textbf{1}[/math] [math]\textbf{0}[/math] [math]0[/math] [math]\textbf{0}[/math]
[math]\textbf{1}[/math] [math]\textbf{1}[/math] [math]0[/math] [math]\textbf{1}[/math]

Демультиплексор [math]1[/math]-to-4

Также рассмотрим демультиплексор [math]1-to-4[/math] (это значит, что у демультиплексора четыре выхода). Теперь у нас уже есть два входа [math]s_0[/math] и [math]s_1[/math], которые определяют, на какой из выходов [math]z_0[/math], [math]z_1[/math], [math]z_2[/math] или [math]z_3[/math] будет подаваться значение [math]y[/math], тогда как на остальные выходы будет подаваться [math]0[/math]. В случае, когда [math]s_0 = s_1 = \lt tex\gt 0[/math]</tex>, то на выход [math]z_0[/math] будет подаваться значение на входе [math]y[/math], тогда как на [math]z_1[/math], [math]z_2[/math] и [math]z_3[/math] будет подаваться [math]0[/math]. Если же [math]s_0 = \lt tex\gt 1[/math]</tex> и [math]s_1 = \lt tex\gt 0[/math]</tex>, то на выходы [math]z_0[/math], [math]z_2[/math] и [math]z_3[/math] будет подаваться [math]0[/math], а на выход [math]z_1[/math] будет подаваться то же, что подаётся на вход [math]y[/math]. Аналогично разбираются случаи [math]s_0 = \lt tex\gt 0[/math]</tex>, [math]s_1 = \lt tex\gt 1[/math]</tex> и [math]s_0 = s_1 = \lt tex\gt 1[/math]</tex>. Для более лучшего понимания посмотрим на таблицу истинности.

[math]s_0[/math] [math]s_1[/math] [math]y[/math] [math]z_0[/math] [math]z_1[/math] [math]z_2[/math] [math]z_3[/math]
[math]\textbf{0}[/math] [math]\textbf{0}[/math] [math]\textbf{0}[/math] [math]\textbf{0}[/math] [math]0[/math] [math]0[/math] [math]0[/math]
[math]\textbf{0}[/math] [math]\textbf{0}[/math] [math]\textbf{1}[/math] [math]\textbf{1}[/math] [math]0[/math] [math]0[/math] [math]0[/math]
[math]\textbf{1}[/math] [math]\textbf{0}[/math] [math]\textbf{0}[/math] [math]0[/math] [math]\textbf{0}[/math] [math]0[/math] [math]0[/math]
[math]\textbf{1}[/math] [math]\textbf{0}[/math] [math]\textbf{1}[/math] [math]0[/math] [math]\textbf{1}[/math] [math]0[/math] [math]0[/math]
[math]\textbf{0}[/math] [math]\textbf{1}[/math] [math]\textbf{0}[/math] [math]0[/math] [math]0[/math] [math]\textbf{0}[/math] [math]0[/math]
[math]\textbf{0}[/math] [math]\textbf{1}[/math] [math]\textbf{1}[/math] [math]0[/math] [math]0[/math] [math]\textbf{1}[/math] [math]0[/math]
[math]\textbf{1}[/math] [math]\textbf{1}[/math] [math]\textbf{0}[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]\textbf{0}[/math]
[math]\textbf{1}[/math] [math]\textbf{1}[/math] [math]\textbf{1}[/math] [math]0[/math] [math]0[/math] [math]0[/math] [math]\textbf{1}[/math]

Логическая схема демультиплексора

Логическая схема демультиплексора [math]1[/math]-to-8

Построим схему, аналогичную схеме мультиплексора.

Тогда давайте построим дешифратор, [math]{n}-to-{2^n}[/math], на входы дешифратора подадим входы [math]s_0[/math], [math]s_1[/math], [math]\ldots[/math], [math]s_{n-1}[/math], а выходы этого дешифратора мы обозначим как [math]y_0[/math], [math]y_1[/math], [math]\ldots[/math], [math]y_{2^n-1}[/math]. Поставим [math]2^n[/math] гейтов [math]AND[/math] и соединим каждый из выходов дешифратора [math]y_0[/math], [math]y_1[/math], [math]\ldots[/math], [math]y_{2^n-1}[/math] со входом [math]x[/math] с помощью гейта [math]AND[/math], потом соединим соответственные гейты с выходами [math]z_0[/math], [math]z_1[/math], [math]\ldots[/math], [math]z_{2^n-1}[/math], причем мы соединим гейт [math]AND[/math] с выходом [math]z_i[/math], если на этот гейт приходится выход дешифратора [math]y_i[/math].

См. также

Источники информации