Шифратор и дешифратор — различия между версиями
Gaporf (обсуждение | вклад) (→См. также) |
Gaporf (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
{{Определение | {{Определение | ||
− | |definition='''Дешифратор''' (англ. ''decoder'') | + | |definition='''Дешифратор''' (англ. ''decoder'') — логический элемент, имеющий $n$ входов $s_0$, $s_1$, $\ldots$, $s_{n-1}$ и $2^n$ выходов $z_0$, $z_1$, $\ldots$, $z_{2^n-1}$. На все выходы подаётся $0$, кроме выхода $z_i$, на который подаётся $1$, где $i$ — число, которое закодировано входами $s_0$, $s_1$, $\ldots$, $s_{n-1}$ |
}} | }} | ||
==Принцип работы== | ==Принцип работы== | ||
− | [[Файл:2to4decoder.png|thumb|180px|Дешифратор $2-to-4$]] | + | [[Файл:2to4decoder.png|thumb|180px|Дешифратор $2$-to-$4$]] |
− | Суть дешифратора заключается в том, что с помощью $n$ входов $s_0$, $s_1$, $\ldots$, $s_{n-1}$ можно задавать выход, на который будет подаваться $1$. Для того, чтобы лучше понять, как работает дешифратор, рассмотрим дешифратор $2-to-4$ (это значит, что у этого дешифратора есть два входа $s_0$ и $s_1$ и четыре выхода $z_0$, $z_1$, $z_2$ и $z_3$). Если $s_0 = s_1 = 0$, то на выходе $z_0$ будет значение $1$, на остальных выходах будет $0$. Если же $s_0 = 1$, $s_1 = 0$, то на выходе $z_1$ будет $1$, на остальных выходах будут $0$. Если $s_0 = 0$, $s _1 = 1$, то на выходе $z_2$ будет $1$, а на остальных входах будет $0$. Если же $s_0 = s_1 = 1$, то на выходе $z_3$ будет $1$, а на других | + | Суть дешифратора заключается в том, что с помощью $n$ входов $s_0$, $s_1$, $\ldots$, $s_{n-1}$ можно задавать выход, на который будет подаваться $1$. Для того, чтобы лучше понять, как работает дешифратор, рассмотрим дешифратор $2$-to-$4$ (это значит, что у этого дешифратора есть два входа $s_0$ и $s_1$ и четыре выхода $z_0$, $z_1$, $z_2$ и $z_3$). Если $s_0 = s_1 = 0$, то на выходе $z_0$ будет значение $1$, на остальных выходах будет $0$. Если же $s_0 = 1$, $s_1 = 0$, то на выходе $z_1$ будет $1$, на остальных выходах будут $0$. Если $s_0 = 0$, $s _1 = 1$, то на выходе $z_2$ будет $1$, а на остальных входах будет $0$. Если же $s_0 = s_1 = 1$, то на выходе $z_3$ будет $1$, а на других — $0$. Для более ясной картины обратимся к таблице истинности. |
{| class="wikitable" | {| class="wikitable" | ||
Строка 26: | Строка 26: | ||
==Логическая схема== | ==Логическая схема== | ||
− | [[Файл:LogicSircuit1to2decoder.png|thumb|180px|Логическая схема дешифратора 1-to-2]] | + | [[Файл:LogicSircuit1to2decoder.png|thumb|180px|Логическая схема дешифратора $1$-to-$2$]] |
− | [[Файл:LogicSircuit2to4decoder.png|thumb|180px|Логическая схема дешифратора 2-to-4]] | + | [[Файл:LogicSircuit2to4decoder.png|thumb|180px|Логическая схема дешифратора $2$-to-$4$]] |
− | Давайте построим логическую схему дешифратора рекурсивным способом: допустим, что мы построили схему для $n-1$ элемента, теперь попробуем слить $n$-ый выход с предыдущими $n-1$ выходами. Для $n=1$ схема выглядит тривиальным образом: от входа $s_0$ отходят два провода, один напрямую соединён с выходом $z_0$, другой соединён с гейтом $NOT$, а гейт $NOT$ соединён с выходом $z_1$. Теперь допустим, что мы можем построить схему для $n-1$ входов. Тогда $n$-ый вход соединим с дешифратором $1-to-2$, а первые $n-1$ выходы соединим с дешифратором $(n-1)-to-(2^{n-1})$ и потом соединим каждый выход дешифратора $(n-1)-to-(2^{n-1})$ с каждым выходом дешифратора $1-to-2$ с помощью гейтов $AND$, потом соединим соответствующие гейты с выходами $z_i$ таким образом, чтобы значение на входе $z_i$ было равно $1$ только в том случае, если число $i$ кодируется входами $s_0$, $s_1$, $\ldots$, $s_{n-1}$. Очевидно, что мы таким образом перебрали всевозможные комбинации значений на входах $s_0$, $s_1$, $\ldots$, $s_{n-1}$, поэтому наша схема будет работать верно. | + | Давайте построим логическую схему дешифратора рекурсивным способом: допустим, что мы построили схему для $n-1$ элемента, теперь попробуем слить $n$-ый выход с предыдущими $n-1$ выходами. Для $n=1$ схема выглядит тривиальным образом: от входа $s_0$ отходят два провода, один напрямую соединён с выходом $z_0$, другой соединён с гейтом $NOT$, а гейт $NOT$ соединён с выходом $z_1$. Теперь допустим, что мы можем построить схему для $n-1$ входов. Тогда $n$-ый вход соединим с дешифратором $1$-to-$2$, а первые $n-1$ выходы соединим с дешифратором $(n-1)$-to-$(2^{n-1})$ и потом соединим каждый выход дешифратора $(n-1)$-to-$(2^{n-1})$ с каждым выходом дешифратора $1$-to-$2$ с помощью гейтов $AND$, потом соединим соответствующие гейты с выходами $z_i$ таким образом, чтобы значение на входе $z_i$ было равно $1$ только в том случае, если число $i$ кодируется входами $s_0$, $s_1$, $\ldots$, $s_{n-1}$. Очевидно, что мы таким образом перебрали всевозможные комбинации значений на входах $s_0$, $s_1$, $\ldots$, $s_{n-1}$, поэтому наша схема будет работать верно. |
==См. также== | ==См. также== |
Версия 10:46, 4 декабря 2018
Определение: |
Дешифратор (англ. decoder) — логический элемент, имеющий $n$ входов $s_0$, $s_1$, $\ldots$, $s_{n-1}$ и $2^n$ выходов $z_0$, $z_1$, $\ldots$, $z_{2^n-1}$. На все выходы подаётся $0$, кроме выхода $z_i$, на который подаётся $1$, где $i$ — число, которое закодировано входами $s_0$, $s_1$, $\ldots$, $s_{n-1}$ |
Принцип работы
Суть дешифратора заключается в том, что с помощью $n$ входов $s_0$, $s_1$, $\ldots$, $s_{n-1}$ можно задавать выход, на который будет подаваться $1$. Для того, чтобы лучше понять, как работает дешифратор, рассмотрим дешифратор $2$-to-$4$ (это значит, что у этого дешифратора есть два входа $s_0$ и $s_1$ и четыре выхода $z_0$, $z_1$, $z_2$ и $z_3$). Если $s_0 = s_1 = 0$, то на выходе $z_0$ будет значение $1$, на остальных выходах будет $0$. Если же $s_0 = 1$, $s_1 = 0$, то на выходе $z_1$ будет $1$, на остальных выходах будут $0$. Если $s_0 = 0$, $s _1 = 1$, то на выходе $z_2$ будет $1$, а на остальных входах будет $0$. Если же $s_0 = s_1 = 1$, то на выходе $z_3$ будет $1$, а на других — $0$. Для более ясной картины обратимся к таблице истинности.
$S_0$ | $S_1$ | $Z_0$ | $Z_1$ | $Z_2$ | $Z_3$ |
---|---|---|---|---|---|
0 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 | 0 |
0 | 1 | 0 | 0 | 1 | 0 |
1 | 1 | 0 | 0 | 0 | 1 |
Логическая схема
Давайте построим логическую схему дешифратора рекурсивным способом: допустим, что мы построили схему для $n-1$ элемента, теперь попробуем слить $n$-ый выход с предыдущими $n-1$ выходами. Для $n=1$ схема выглядит тривиальным образом: от входа $s_0$ отходят два провода, один напрямую соединён с выходом $z_0$, другой соединён с гейтом $NOT$, а гейт $NOT$ соединён с выходом $z_1$. Теперь допустим, что мы можем построить схему для $n-1$ входов. Тогда $n$-ый вход соединим с дешифратором $1$-to-$2$, а первые $n-1$ выходы соединим с дешифратором $(n-1)$-to-$(2^{n-1})$ и потом соединим каждый выход дешифратора $(n-1)$-to-$(2^{n-1})$ с каждым выходом дешифратора $1$-to-$2$ с помощью гейтов $AND$, потом соединим соответствующие гейты с выходами $z_i$ таким образом, чтобы значение на входе $z_i$ было равно $1$ только в том случае, если число $i$ кодируется входами $s_0$, $s_1$, $\ldots$, $s_{n-1}$. Очевидно, что мы таким образом перебрали всевозможные комбинации значений на входах $s_0$, $s_1$, $\ldots$, $s_{n-1}$, поэтому наша схема будет работать верно.