Шифратор и дешифратор — различия между версиями
Gaporf (обсуждение | вклад) (→Логическая схема дешифратора) (Метки: правка с мобильного устройства, правка из мобильной версии) |
Gaporf (обсуждение | вклад) (Метки: правка с мобильного устройства, правка из мобильной версии) |
||
Строка 6: | Строка 6: | ||
}} | }} | ||
− | + | ==Принцип работы== | |
− | |||
− | |||
− | |||
− | ==Принцип работы | ||
Для начала разберёмся, как работает дешифратор 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$. Для более лучшего понимания обратимся к таблице истинности. | Для начала разберёмся, как работает дешифратор 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$. Для более лучшего понимания обратимся к таблице истинности. | ||
Строка 26: | Строка 22: | ||
|} | |} | ||
− | ==Логическая схема | + | ==Логическая схема== |
[[Файл:LogicSircuit2to4decoder.png|thumb|180px|Логическая схема дешифратора 2-to-4]] | [[Файл:LogicSircuit2to4decoder.png|thumb|180px|Логическая схема дешифратора 2-to-4]] | ||
Построить схему дешифратора не очень сложно. Действительно, для того, чтобы точно определить, какой из выходов закодирован входами $s_0$, $s_1$, $\ldots$, $s_{n-1}$. Давайте переберём всевозможные варианты входов. Всего всевозможных вариантов подать значения на входы $2^n$. Давайте будем строить такую схему рекурсивным способом, т.е. сначала построим схему для $n-1$ элемента, а потом сольём $n$-ый элемент с $n-1$ элементами. Допустим, что $n = 1$. Тогда очевидно, что всевозможных вариантов всего два: $s_0 = 0$ или $s_0 = 1$. Давайте от входа $s_0$ мы выведем два провода, один из них, пока, не будем трогать, а другой соединим с гейтом $NOT$. Если количество входов было равно одному, то мы перебрали всевозможные варианты, т.е. давайте соединим провод без гейта $NOT$ с выходом $Z_0$, а с гейтом $NOT$ - с выходом $z_1$. Допустим, что $n \geqslant 1$. Тогда допустим, что мы построили такую схему для $n-1$ элемента, что для всевозможных значений первых $n-1$ у нас есть $2^{n-1}$ проводов, причем при любых значений на первых $n-1$ входах только у одного провода будет на выходе $1$, на остальных будет $0$. Давайте тогда и от входа $n$ таким же образом проведём два провода: один из них будет без гейта $NOT$, а другой будет с гейтом. Поставим еще $2^n$ гейтов $AND$, первые $2^{n-1}$ гейтов будут соединять провода с $2^{n-1}$ проводами от дешифратора на $n-1$ вход и напрямую вход $s_n$. Другие же $2^{n-1}$ гейтов $AND$ будут также соединять провода со схемой для $n-1$ входа и гейт $NOT$, который подсоединён со входом $s_n$. Таким образом, у нас на выходе получается $2^n$ проводов, на концах которых при любых значениях на входах $s_0$, $s_1$, $\ldots$, $s_{n-1}$ будут все $0$ кроме того провода, номер которого кодируют эти самые входы. И в конце на выходы подадим соответствующие им провода. | Построить схему дешифратора не очень сложно. Действительно, для того, чтобы точно определить, какой из выходов закодирован входами $s_0$, $s_1$, $\ldots$, $s_{n-1}$. Давайте переберём всевозможные варианты входов. Всего всевозможных вариантов подать значения на входы $2^n$. Давайте будем строить такую схему рекурсивным способом, т.е. сначала построим схему для $n-1$ элемента, а потом сольём $n$-ый элемент с $n-1$ элементами. Допустим, что $n = 1$. Тогда очевидно, что всевозможных вариантов всего два: $s_0 = 0$ или $s_0 = 1$. Давайте от входа $s_0$ мы выведем два провода, один из них, пока, не будем трогать, а другой соединим с гейтом $NOT$. Если количество входов было равно одному, то мы перебрали всевозможные варианты, т.е. давайте соединим провод без гейта $NOT$ с выходом $Z_0$, а с гейтом $NOT$ - с выходом $z_1$. Допустим, что $n \geqslant 1$. Тогда допустим, что мы построили такую схему для $n-1$ элемента, что для всевозможных значений первых $n-1$ у нас есть $2^{n-1}$ проводов, причем при любых значений на первых $n-1$ входах только у одного провода будет на выходе $1$, на остальных будет $0$. Давайте тогда и от входа $n$ таким же образом проведём два провода: один из них будет без гейта $NOT$, а другой будет с гейтом. Поставим еще $2^n$ гейтов $AND$, первые $2^{n-1}$ гейтов будут соединять провода с $2^{n-1}$ проводами от дешифратора на $n-1$ вход и напрямую вход $s_n$. Другие же $2^{n-1}$ гейтов $AND$ будут также соединять провода со схемой для $n-1$ входа и гейт $NOT$, который подсоединён со входом $s_n$. Таким образом, у нас на выходе получается $2^n$ проводов, на концах которых при любых значениях на входах $s_0$, $s_1$, $\ldots$, $s_{n-1}$ будут все $0$ кроме того провода, номер которого кодируют эти самые входы. И в конце на выходы подадим соответствующие им провода. |
Версия 00:07, 20 ноября 2018
Определение: |
Дешифратор (англ. decoder) - логический элемент, получающий на вход $n$-значное число $x$ в двоичном представлении и выводящий $1$ на $x$-м выходе. На все остальные выходы выдаёт элемент выдаёт $0$. |
Принцип работы
Для начала разберёмся, как работает дешифратор 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 |
Логическая схема
Построить схему дешифратора не очень сложно. Действительно, для того, чтобы точно определить, какой из выходов закодирован входами $s_0$, $s_1$, $\ldots$, $s_{n-1}$. Давайте переберём всевозможные варианты входов. Всего всевозможных вариантов подать значения на входы $2^n$. Давайте будем строить такую схему рекурсивным способом, т.е. сначала построим схему для $n-1$ элемента, а потом сольём $n$-ый элемент с $n-1$ элементами. Допустим, что $n = 1$. Тогда очевидно, что всевозможных вариантов всего два: $s_0 = 0$ или $s_0 = 1$. Давайте от входа $s_0$ мы выведем два провода, один из них, пока, не будем трогать, а другой соединим с гейтом $NOT$. Если количество входов было равно одному, то мы перебрали всевозможные варианты, т.е. давайте соединим провод без гейта $NOT$ с выходом $Z_0$, а с гейтом $NOT$ - с выходом $z_1$. Допустим, что $n \geqslant 1$. Тогда допустим, что мы построили такую схему для $n-1$ элемента, что для всевозможных значений первых $n-1$ у нас есть $2^{n-1}$ проводов, причем при любых значений на первых $n-1$ входах только у одного провода будет на выходе $1$, на остальных будет $0$. Давайте тогда и от входа $n$ таким же образом проведём два провода: один из них будет без гейта $NOT$, а другой будет с гейтом. Поставим еще $2^n$ гейтов $AND$, первые $2^{n-1}$ гейтов будут соединять провода с $2^{n-1}$ проводами от дешифратора на $n-1$ вход и напрямую вход $s_n$. Другие же $2^{n-1}$ гейтов $AND$ будут также соединять провода со схемой для $n-1$ входа и гейт $NOT$, который подсоединён со входом $s_n$. Таким образом, у нас на выходе получается $2^n$ проводов, на концах которых при любых значениях на входах $s_0$, $s_1$, $\ldots$, $s_{n-1}$ будут все $0$ кроме того провода, номер которого кодируют эти самые входы. И в конце на выходы подадим соответствующие им провода.