ГЛАВА 4
.pdfГЛАВА 4. ЦИФРОВЫЕ УСТРОЙСТВА
4.1.Классификация цифровых устройств
Вобщем случае цифровые электронные устройства могут быть классифицированы по двум признакам (см. рис. 4.1): по способу ввода-вывода переменных; по принципу действия.
Цифровые электронные устройства
по способу ввода-вывода |
переменных |
последовательные |
параллельные |
смешанные |
Автоматы с памятью (последовательностные)
триггеры |
регистры |
счетчики |
по принципу действия |
|
|
||
|
|
комбинационные |
|
|
мультиплексоры |
демультиплексоры |
шифраторы дешифраторы полусумматор сумматор вычитатель умножитель |
контроль четности |
компаратор |
Рис. 4.1. Классификация цифровых устройств
По способу ввода-вывода переменных различают последовательные, параллельные, последовательно-параллельные (смешанные) устройства. Последовательным называется устройство, в котором входные переменные подаются на вход, а выходные переменные снимаются с выхода не одновременно, а последовательно, разряд за разрядом. Параллельным называется устройство, в котором входные переменные подаются на вход, и все разряды выходных переменных снимаются с выхода одновременно. В последовательно-параллельных устройствах входные и выходные переменные представлены в различных формах. Либо на вход переменные подаются последовательно символ за символом, а с выхода они снимаются одновременно, либо наоборот.
По принципу действия различают комбинационные и последовательностные устройства. Комбинационными устройствами, или автоматами без памяти, называются логические устройства, выходные сигналы которых однозначно определяются только действующей в настоящий момент на входе комбинацией переменных и не зависит от значений переменных, действовавших на входе ранее. Последовательностными устройствами, или автоматами с памятью, называют логические устройства, выходные сигналы которых определяются не только действующей в настоящий момент времени комбинацией переменных, но и всей последовательностью входных переменных, действовавших в предыдущие моменты времени. Этот тип устройств часто называют цифровыми автоматами.
Входы цифровых устройств принято разделять по назначению на несколько групп: информационные, адресные и управляющие. На информационные входы, как правило, подаются данные, которые необходимо сохранить, обработать, передать и т.д. На адресных входах формируют адрес информационного входа, выхода или внутренней ячейки памяти. Управляющие входы определяют режим работы логического устройства, разрешают или запрещают какую-либо функцию или работу устройства в целом. В зависимости от типа устройства в нем могут сочетаться различные группы входов.
4.2. Цифровые комбинационные устройства
4.2.1. Мультиплексор
Мультиплексором называется комбинационное логическое устройство, предназначенное для управляемой передачи данных от нескольких источников информации в один выходной сигнал.
х0
х1 y х2
Рис. 4.2. Коммутатор (мультиплексор), собранный на ключах
Впростейшем случае такую коммутацию можно осуществить при помощи ключей, как это показано на рис. 4.2.
Такой коммутатор одинаково хорошо будет работать как с аналоговыми, так и с цифровыми сигналами. Однако скорость переключения механических ключей невысока. Кроме того, для управления ключами необходимо прибегать к помощи какого-либо специального схемного решения.
Вцифровых схемах требуется управлять ключами при помощи логических уровней. Иначе задачей мультиплексора является выполнение функции электронного ключа с электронным управлением посредством цифрового сигнала.
На рис. 4.3 приведена логическая схема мультиплексора, реализованная на основных логических элементах И, ИЛИ, НЕ. На схеме обозначено: А0, А1 – адресные входы, определяющие
вход, с которого сигнал будет передан на выход Q; D0, D1, D2, D3 – информационные входы; Е – вход разрешения работы. Таблица истинности мультиплексора имеет вид:
Е |
А0 |
А1 |
Q |
Q |
1 |
х |
х |
0 |
1 |
0 |
0 |
0 |
D0 |
D0 |
0 |
0 |
1 |
D1 |
D1 |
0 |
1 |
0 |
D2 |
D2 |
0 |
1 |
1 |
D3 |
D3 |
|
|
& |
|
|
А0 |
|
|
|
|
|
|
& |
1 |
|
А1 |
|
|
Q |
|
|
|
|
||
D0 |
|
& |
|
|
|
|
|
Q |
|
D1 |
|
|
|
|
&
D2
D3
E
а
D0 |
MS |
Q |
D1 |
|
|
D2 |
|
|
D3 |
|
|
А0 |
|
Q |
А1 |
|
|
E |
|
|
|
б |
|
Рис. 4.3. Логическая схема (а), условно-графическое обозначение (б) мультиплексора
При рассмотрении схемы мультиплексора видно, что при подаче на один из входов логического элемента И (будем называть его информационным) сигнал перейдет на выход только после того как на другой вход (будем называть его управляющий) будет подана логическая 1. Так в случае наличия логического 0 на управляющем входе, на выходе всегда будет 0. При подаче на управляющий вход логической 1 сигнал с информационного входа (как 1, так и 0) будут переданы на выход. Объединение выходов элементов И в один выход мультиплексора в целом реализуется элементом ИЛИ.
В отечественных микросхемах мультиплексоры обозначаются буквами КП, следующими непосредственно за номером серии микросхем. Например, микросхема К1533КП2 является сдвоенным четырехканальным мультиплексором, выполненным по ТТЛ технологии, а микросхема К1561КП1 является сдвоенным четырехканальным мультиплексором, выполненным по КМОП технологии.
4.2.2. Демультиплексор
Демультиплексором называется комбинационное логическое устройство, предназначенное для управляемой передачи данных от одного источника информации в несколько выходных каналов.
Логическая схема демультиплексора и его условно-графическое обозначение приведены на рис. 4.4.
|
& |
Q0 |
А0 |
|
|
|
Q0 |
|
|
& |
|
|
Q1 |
|
А1 |
|
|
|
|
|
|
& |
Q1 |
|
Q2 |
|
|
|
|
D |
|
Q2 |
|
& |
|
|
Q3 |
|
|
|
|
|
|
Q3 |
E |
|
|
а
D |
DMS |
Q0 |
|
||
|
|
|
|
|
Q1 |
А0 |
|
Q |
А1 |
|
2 |
|
|
|
E |
|
Q3 |
|
б |
|
Рис. 4.4. Логическая схема (а), условно-графическое обозначение (б) демультиплексора
Таблица истинности демультиплексора имеет вид:
Е |
А0 |
А1 |
Q0 |
Q1 |
Q2 |
Q3 |
1 |
x |
x |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
0 |
0 |
0 |
D |
0 |
0 |
0 |
|
|
|
|
|
|
|
0 |
0 |
1 |
0 |
D |
0 |
0 |
|
|
|
|
|
|
|
0 |
1 |
0 |
0 |
0 |
D |
0 |
|
|
|
|
|
|
|
0 |
1 |
1 |
0 |
0 |
0 |
D |
|
|
|
|
|
|
|
В МОП микросхемах не существует отдельных микросхем демультиплексоров, так как МОП мультиплексоры, описанные ранее по информационным сигналам не различают вход и выход, т.е. направление распространения информационных сигналов, точно также как и в механических ключах, может быть произвольным. Если поменять входы и выход местами, то КМОП мультиплексоры будут работать в качестве демультиплексоров. Поэтому их часто называют просто коммутаторами.
4.2.3. Дешифратор
Дешифраторы (декодеры) позволяют преобразовывать одни виды бинарных кодов в другие. Например, преобразовывать позиционный двоичный код в линейный восьмеричный или шестнадцатеричный. Преобразование производится по правилам, описанным в таблицах истинности, поэтому построение дешифраторов не представляет трудностей. Для построения дешифратора можно воспользоваться правилами построения схемы для произвольной таблицы истинности.
Рассмотрим пример построения дешифратора из двоичного кода в десятичный (отображение одним битом на одну десятичную цифру). В десятичном коде десять цифр, поэтому для отображения одного десятичного разряда требуется десять выходов дешифратора. Сигнал с этих выводов, например, можно подать на десятичный индикатор.
Таблица истинности такого дешифратора имеет вид:
|
Входы |
|
|
|
|
|
Выходы |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
4 |
2 |
1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Схема декодера, реализующая эту таблицу истинности, приведена на рис. 4.5.
Дешифраторы выпускаются в виде отдельных микросхем или используются в составе других микросхем. В настоящее время десятичные или восьмеричные дешифраторы используются в основном как составная часть таких микросхем, как мультиплексоры, демультиплексоры, постоянные и оперативные запоминающие устройства (ПЗУ и ОЗУ).
8 4 2 1
& |
|
|
|
0 |
|
|
|
& |
|
|
|
1 |
|
|
|
|
1 |
DC |
0 |
& |
2 |
|
1 |
2 |
|
|
2 |
|
3 |
|
3 |
& |
4 |
|
4 |
|
5 |
||
3 |
|
|
|
|
|
6 |
|
|
|
|
|
& |
|
|
7 |
|
|
8 |
|
4 |
|
|
9 |
|
|
|
|
& |
|
б |
|
5 |
|
|
|
|
|
|
|
& |
|
|
|
6 |
|
|
|
& |
|
|
|
7 |
|
|
|
& |
|
|
|
8 |
|
|
|
& |
Рис. 4.5. Логическая |
||
9 |
схема (а), условно-гра- |
||
|
фическое обозначение |
а |
(б) дешифратора |
Аналогичным образом по предварительно составленной таблице истинности можно получить принципиальную схему и для любого другого дешифратора (декодера). Наиболее распространены схемы восьмеричных и шестнадцатеричных дешифраторов.
4.2.4. Шифратор
Достаточно часто перед разработчиками цифровой аппаратуры встает обратная задача. Требуется преобразовать восьмеричный или десятичный линейный код в двоичный. Шифратором (или кодером) называется комбинационное логическое устройство для преобразования чисел из десятичной (восьмеричной или шестнадацитиричной) системы счисления в двоичную.
В качестве примера на рис. 4.6 приведена логическая схема восьмиричного шифратора, реализующая следующую таблицу истинности:
|
|
|
Входы |
|
|
|
Выходы |
|||
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
2 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
7 6 5 4 3 2 1 0 |
|
|
|
|
|
0 |
CD |
0 |
|
|
||||||||
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
3 |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
1 |
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
б |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
1 |
|
2 |
Рис. 4.6. Логическая схема (а), |
||||||||||
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
условно-графическое обозна- |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
чение (б) восьмиразрядного |
||||||
|
|
|
|
|
|
а |
||||||||||||
|
|
|
|
|
|
|
|
шифратора |
Внастоящее время шифраторы выпускаются в виде отдельных микросхем или используются
ввиде готовых блоков составе других микросхем, таких как параллельные аналого-цифровые преобразователи и др. В качестве примера шифраторов можно назвать такие микросхемы отечественного производства, как К555ИВ1 и К555ИВ3.
4.2.5. Полусумматор
Полусумматор – это комбинационное логическое устройство, имеющее два входа и два выхода, реализующее операцию суммирования без учета переноса данных из соседнего младшего разряда. Например,
Первое слагаемое |
1 |
0 |
1 |
1 |
|||
+ |
|
+ |
|
+ |
|
+ |
|
Второе слагаемое |
0 |
1 |
1 |
1 |
|||
|
|
|
|
|
|
|
|
Сумма |
1 |
1 |
0 |
0 |
|
перенос в |
|
перенос в |
|
|
|
ст. разряд |
|
|
Переносы |
ст. разряд |
1 |
1 1 |
перенос c мл. разряда
Полусумматор используется для построения двоичных сумматоров. Полусумматор позволяет вычислять сумму A+B, где A и B – разряды двоичного числа, при этом результатом будут два бита S, C, где S – бит суммы, а C – бит переноса.
Из таблицы истинности полусумматора
А |
В |
S |
C |
|
|
|
|
0 |
0 |
0 |
0 |
|
|
|
|
1 |
0 |
1 |
0 |
|
|
|
|
0 |
1 |
1 |
0 |
|
|
|
|
1 |
1 |
0 |
1 |
|
|
|
|
следует, что |
|
||||
|
|
|
|
|
|
S A B A B , С A B . |
(4.1) |
||||
Эти выражения упрощению не поддаются. |
|
Для реализации на элементах ИЛИ-НЕ выражение (4.1) более удобно привести к виду
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S A B A B А В А B A B А В А B A B |
A B A B A B |
|||||||||||||||||||||||||||||||||||
, |
(4.2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
С |
A B A B A B . |
(4.3) |
|
|
|
|
|
|
|
|
|
|
|
В соответствии с (4.2) и (4.3) схема полусумматора будет иметь вид, приведенный на рис. 4.7,
а.
Составив дизъюнктивную нормальную форму для полусумматора, получим следующие
булевы функции: |
|
S A B A B A B , С A B . |
(4.4) |
Откуда следует, что перенос происходит с помощью функции И, а выработка сигнала суммы (функция неравнозначности) выполняется элементом ИСКЛЮЧАЮЩЕЕ ИЛИ. На рис. 4.7, б показана схема полусумматора, составленная из этих элементов.
A |
1 |
|
1 |
|
|
|
|
1 |
|
1 |
1 S |
B |
1 |
|
1 |
|
|
|
|
|
|
|
С |
|
|
|
а |
|
|
A |
=1 |
S |
|
|
|
|
|
|
|
||
|
|
|
A |
HS |
S |
|
|
|
|
||
|
& |
C |
B |
|
С |
B |
|
|
|||
|
|
|
|
|
в
б
Рис. 4.7. Логическая схема (а, б), условно-графическое обозначение (в) полусумматора
4.2.6. Сумматор
Сумматор – это логическое комбинационное устройство, выполняющее операцию арифметического сложения двоичных чисел.
При построении схемы сумматор удобно представить в виде двух полусумматоров, из которых первый суммирует разряды Аi и Вi, а второй к полученному результату прибавляет бит переноса
Ci.
В этом случае таблица истинности имеет вид:
Аi |
Вi |
Ci |
Si |
Ci+1 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
0 |
0 |
1 |
1 |
0 |
|
|
|
|
|
0 |
1 |
0 |
1 |
0 |
|
|
|
|
|
0 |
1 |
1 |
0 |
1 |
|
|
|
|
|
1 |
0 |
0 |
1 |
0 |
|
|
|
|
|
1 |
0 |
1 |
0 |
1 |
|
|
|
|
|
1 |
1 |
0 |
0 |
1 |
|
|
|
|
|
1 |
1 |
1 |
1 |
1 |
|
|
|
|
|
Соединив в одной схеме два полусумматора, можно получить схему полного сумматора, способного выполнять сложение двух двоичных разрядов с учетом переноса данных из соседнего младшего разряда (см. рис. 4.8).
Сi |
|
|
|
|
|
|
|
|
Si |
|
|
|
|||||
|
|
|
|
=1 |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ai |
|
|
|
|
|
|
|
|
|
|
|
Ai |
SM |
Si |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
Pi |
|
|
& |
|
|
|
|
|
|
Bi |
|
|
||||
=1 |
|
|
|
|
|
|
|
|
|
Сi 1 |
|
||||||
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Сi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gi |
|
|
|
& |
Ci 1 |
б |
|
|
|||||
|
|
|
& |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
||||||||||
Bi |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
а
Рис. 4.8. Логическая схема (а), условно-графическое обозначение (б) полного сумматора
Для сложения двух многоразрядных двоичных чисел на каждый разряд необходим один полный сумматор. Только в младшем разряде можно обойтись полусумматором. На рис. 4.9 приведена схема, предназначенная для сложения двух четырехразрядных чисел А и В. Такая схема выпускается в интегральном исполнении. В ее младшем разряде также используется полный сумматор, что позволяет иметь возможность наращивания разрядности схемы.
|
|
B3 A3 |
|
|
B2 A2 |
|
|
B1 A1 |
|
|
B0 |
A0 |
|||||||||||||||
С4 |
|
|
|
|
|
С3 |
|
|
|
|
|
|
С2 |
|
|
|
|
|
|
С1 |
|
|
|
|
|
С0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Сумматор |
|
Сумматор |
Сумматор |
Сумматор |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S3 |
|
|
|
|
|
S2 |
|
|
|
|
|
S1 |
|
|
|
|
S0 |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 4.9. Функциональная схема четырехразрядного сумматора
споследовательным переносом
Всхеме рис. 4.9 сигнал переноса С4 только тогда может принять истинное значение, когда будет установлено правильное значение С3. Такой порядок выполнения операций называется последовательным переносом (Ripple Carry).
|
B3 A3 |
|
|
|
B2 A2 |
|
|
B1 A1 |
|
|
B0 A0 |
|
|
||||||
S3 |
Сумматор |
С3 |
Сумматор |
С2 |
Сумматор |
С1 |
Сумматор |
|
|||||||||||
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
S2 |
|
|
|
S1 |
|
S0 |
|
|
|
|
|||
С4 |
g |
|
P С |
|
g |
|
P С |
g P С |
g |
|
P |
С |
|||||||
|
3 |
3 |
2 |
0 |
0 |
||||||||||||||
|
|
|
3 |
|
|
|
2 |
2 |
1 |
1 |
1 |
|
|
0 |
|
||||
|
|
|
|
|
|
Схема ускоренного переноса |
|
|
|
|
|
|
а
P3 |
& |
1 |
|
|
|
|
|||
g3 |
& |
|
|
|
|
& |
|
С4 |
|
|
|
|
||
|
& |
|
|
|
|
& |
|
|
|
g2 |
& |
1 |
|
|
|
|
|||
P2 |
& |
|
С3 |
|
|
|
|||
|
& |
|
|
|
|
& |
|
|
|
g1 |
& |
1 |
|
|
|
|
|||
P1 |
& |
|
С2 |
|
|
|
|||
|
& |
|
|
|
g0 |
& |
1 |
С1 |
|
P0 |
||||
|
|
|
||
|
& |
|
|
|
С0 |
|
|
|
б
Рис. 4.10. Функциональная схема четырехразрядного сумматора с параллельным переносом (а) и логическая схема устройства ускоренного переноса (б)
Чтобы уменьшить время операции сложения многоразрядных чисел используют схемы параллельного переноса (Carry lookahead). При этом все сигналы переноса вычисляются непосредственно по значениям входных переменных.
Согласно таблице истинности, в общем случае для сигнала переноса любого (i+1)-го разряда справедливо соотношение
Сi 1 Ai Bi Ai B1 Ci gi Pi Ci . |
(4.5) |
Величины gi, Рi в полном сумматоре вычисляются в качестве промежуточных результатов, а потому их получение не требует дополнительных затрат. Смысл этих величин объясняется
следующим. Сигнал gi вырабатывается тогда, когда в данном разряде перенос происходит из-за комбинации входных переменных Ai, Bi. Поэтому его называют функцией генерации переноса. Сигнал Pi показывает, передается ли полученный в младшем разряде сигнал переноса Ci дальше. Поэтому он называется функцией распространения переноса.
Согласно (4.5) вычисления сигналов переноса осуществляется по следующим формулам:
С1 |
g0 |
P0 |
C0 |
|
|
|
|
|
|
|
|
С2 |
g1 |
P1 |
C1 |
g1 |
P1 g0 |
P1 P0 C0 |
|
. (4.6) |
|||
С3 |
g2 |
P2 |
C2 |
g2 |
P2 |
g1 |
P2 P1 |
g0 |
P2 P1 |
||
P0 C0 |
|||||||||||
С4 |
g3 |
P3 |
C3 |
g3 |
P3 |
g2 |
P3 P2 |
g1 |
P3 P2 |
P1 g0 |
P3 P2 P1 P0 C0
Время формирования сигнала переноса в любой разряд с помощью вспомогательных функций определяется только временем задержки распространения сигнала на двух элементах. Эти функции реализуются специальным комбинационным устройством – схемой ускоренного переноса (рис. 4.10).
4.2.7. Вычитатель
Ранее в п.2.2.2 отмечалось, что операция вычитания чисел (в том числе двоичных) может быть заменена на операцию сложения. При этом код отрицательного числа должен быть заменен на обратный код и увеличен на 1 (операция увеличения какого-либо числа на 1 называется инкрементом, уменьшения на 1 – декрементом). Допустим, необходимо выполнить вычитание: 1110 – 510 = = 610. В двоичных эквивалентах произведем операцию сложения числа 1011 (число 11) и обратный код числа 5, увеличенный на 1, равный 1011 (прямой код 0101):
1 0 1 1
+ |
|
|
|
|
|
|
|
|
|
|
|
|
|
DD2 |
|
|
1 0 1 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
11 5 6 |
|
|
|
|
|
|
|
|
|
A1 |
SM |
S0 |
|
1 0 1 1 0 |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
A2 |
|
|
||||
Если отбросить единицу в старшем (пятом) разряде, то получится код |
|
|
|
A |
|
|
|
S1 |
|
|||||||
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
A3 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
S2 |
|
||||||
0110, который соответствует числу 6. |
|
|
DD1 |
|
|
A4 |
|
|
||||||||
|
|
|
|
|
S3 |
|
||||||||||
|
На рис. 4.11 показана схема четырехразрядного вычитателя. |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
B1 |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
Инверторы микросхемы DD1 формируют обратный код числа В. |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
B2 |
|
|
|
||||
Число А поступает на входы А1-А4 |
сумматора DD2, обратный код |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
||||||||
B |
|
|
|
|
|
|
B3 |
|
|
|
||||||
числа В – на входы В1-В4 сумматора. На вход переноса Сi подается |
|
|
|
|
|
|
|
|
|
|||||||
уровень лог. 1, что обеспечивает прибавление к результату сложения |
|
|
|
|
|
|
|
|
B4 |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||||
единицы (т. е. инкремент результата). На выходах S1-S4 сумматора в |
|
|
|
|
|
|
|
|
Сi 1 |
|
Сi |
|
||||
|
|
|
|
|
|
|
|
|
|
|||||||
итоге получается разность между числами А и В. |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Рис. 4.11. Логическая |
|||||||||||||||
|
|
|
4.2.8. Умножитель |
|
||||||||||||
|
|
|
схема четырехразрядного |
|||||||||||||
|
Умножение в двоичном виде производится подобно умножению в |
|||||||||||||||
|
|
устройства вычитания |
||||||||||||||
десятичной системе счисления. Легче всего осуществлять умножение |
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
в столбик. При этом |
потребуется |
перемножить каждый разряд |
|
|
|
|
|
|
|
|
|
|
|
|
множимого на соответствующий разряд множителя.
Рассмотрим в качестве примера умножение двух четырехразрядных двоичных чисел. Пусть требуется умножить число 10112 (1110) на число 11012 (1310). Мы в результате умножения ожидаем получить число 100011112 (14310). Выполним операцию умножения в столбик:
1 1 0 1
х
1 0 1 1
1 1 0 1
+
1 1 0 1
+
0 0 0 0
+
1 1 0 1
1 1 0 0 0 1 1 1 |
11 |
13 |
143 |
Для формирования произведения требуется вычислить четыре частичных произведения. Обратите внимание, что в двоичной арифметике требуется выполнять умножение только на числа 0 и 1. Это означает, что нужно либо суммировать множимое к сумме остальных частичных произведений, либо нет. Таким образом, для формирования частичного произведения можно
воспользоваться логическими элементами 2И.
Для формирования частичного произведения, кроме операции умножения на один разряд, требуется осуществлять его сдвиг влево на число разрядов, соответствующее весу разряда множителя. Сдвиг можно осуществить простым соединением соответствующих разрядов частичных произведений к необходимым разрядам двоичного сумматора.
Для того чтобы принципиальная схема умножителя была похожа на алгоритм двоичного умножения, используем условно-графические изображения микросхем, где входы расположены сверху, а выходы снизу. В полном соответствии с алгоритмом умножения в столбик нам потребуются три четырехразрядных сумматора.
Логическая схема умножителя, реализующая алгоритм двоичного умножения в столбик, приведена на рис. 4.12. Формирование частичных произведений в этой схеме осуществляют микросхемы D1, D3, D5, D7. В этих микросхемах содержится сразу четыре логических элемента
2И.
А
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D7 |
|
|
|
|
|
|
|
|
|||||||||||||
B |
|
|
|
|
|
|
|
|
|
|
|
|
D5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
& |
& |
& |
|
& |
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
& |
& |
& |
|
& |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B4 B3 B2 B1 |
Сin |
A4 A3 A2 A1 |
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SM |
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Сout |
S3 S2 S1 S0 |
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D6 |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
& |
& |
& |
|
& |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B4 B3 B2 B1 |
Сin |
A4 A3 A2 A1 |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Сout |
S3 S2 S1 S0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
D1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D4 |
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
& |
& |
& |
|
& |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B4 B3 B2 B1 |
Сin |
A4 A3 A2 A1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SM |
|
|
|
|
|
|
|
|
S3 S2 S1 S0 |
|
|
|
|
|
||||
Сout |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
D2 |
|
|
||
|
|
|
|
|
|
|
|
|
М1 |
|
|
М7 М6 М5 М4 М3 |
|
|
М2 |
М0 |
Рис. 4.12. Логическая схема четырехразрядного матричного умножителя
Сумматор, выполненный на микросхеме D6, суммирует первое и второе частные произведения. При этом младший разряд первого частного произведения не нуждается в суммировании (см. рис. 4.12). Поэтому он подается на выход умножителя непосредственно (разряд M0). Второе частное произведение должно быть сдвинуто на один разряд. Это осуществляется тем, что младший разряд выходного числа сумматора D6 соединяется со вторым разрядом произведения (M1). Но тогда первое частное произведение необходимо сдвинуть на один разряд по отношению ко второму частному произведению. Это выполняется тем, что младший разряд группы входов A соединяется с первым разрядом частного произведения, первый разряд группы входов A соединяется со вторым разрядом частного произведения, и т.д. Однако старший разряд группы входов A не с чем соединять. Вспомним, что если добавить к числу слева ноль, то значение числа не изменится, поэтому мы можем этот разряд соединить с общим проводом схемы.
Точно таким же образом осуществляется суммирование третьего и четвертого частного
произведения. Это суммирование выполняют микросхемы D4 и D2 соответственно. Отличие заключается только в том, что здесь не нужно задумываться о старшем разряде предыдущей суммы, ведь предыдущая микросхема сумматора формирует сигнал переноса.
Если внимательно посмотреть на схему умножителя, то можно увидеть, что она образует матрицу, сформированную проводниками, по которым передаются разряды числа A и числа B. В точках пересечения этих проводников находятся логические элементы 2И. Именно по этой причине умножители, реализованные по данной схеме, получили название матричных умножителей.
Скорость работы схемы, приведенной на рис. 4.12 определяется максимальным временем распространения сигнала. Это цепь D7, D6, D4, D2. Время работы схемы можно сократить, если сумматоры располагать не последовательно друг за другом, а суммировать частичные произведения попарно, затем суммировать пары частичных произведений и т.д. В этом случае время выполнения операции умножения значительно сократится.
Особенно заметен выигрыш в быстродействии при построении многоразрядных умножителей, однако в обмен на быстродействие придется заплатить увеличением разрядности сумматоров, а значит сложностью схемы. Если сумматоры частных произведений останутся той же разрядности, что и ранее, то разрядность сумматоров пар частичных произведений должна быть увеличена на единицу. Разрядность сумматоров четверок частичных произведений будет на два разряда больше разрядности сумматоров частичных произведений и т.д.
4.2.9.Схема контроля четности
Всистемах передачи двоичной информации с целью повышения надежности передачи широко используется специфическая арифметическая операция – проверка паритета двоичных чисел.
Суть ее заключается в суммировании по модулю 2 всех разрядов с целью выяснения четности числа. При передаче информации по линии связи вследствие влияния помех могут возникать
искажения, приводящие к искажениям информации. Если, например, передается код 10012 = 910 и вследствие помех произойдет сбой во втором разряде слева, на приемный конец поступит 11012 = 1310. В общем случае без специальной проверки факта ошибки не установить.
Простой и эффективный способ обнаружения ошибок основан на допущении, что в каждый момент времени ошибка может возникнуть только в одном разряде, и проявляется она в лишней единице или в потере единицы. В обоих случаях число единиц изменяется на одну. Таким образом, если передаваемое слово содержит четное число единиц по всем разрядам, а на конце линии передачи это число окажется нечетным, значит, появилась ошибка.
Реализация этого метода осуществляется с помощью специальных устройств сравнения (схем контроля четности), которые выпускаются в микросхемном исполнении как самостоятельные устройства.
На передающем конце схема сравнения формирует дополнительный бит (1 или 0), так называемый паритетный или контрольный бит, который добавляется к выходной информации. Назначение паритетного бита (от англ. Parity – соответствие, аналогия) – доводить число единиц в
каждом передаваемом слове до четного или нечетного в зависимости от принятой системы кодирования. При всех передачах информации, включая запись в память и считывание, контрольный бит передается вместе со словом. На приемном конце происходит проверка паритета поступивших сигналов. Если он правилен, разрешается прием. Если на линии связи имеет место искажение передаваемой информации, происходит включение сигнализатора ошибок. Паритет может быть четным и нечетным. В случае нечетного паритета дополнительный бит формируется таким образом, чтобы сумма всех единиц в передаваемом слове, включая поверочный (контрольный) бит, была нечетной. Для четного наоборот. К примеру, в числе 0111 число единиц нечетно. Поэтому для нечетного паритета дополнительный бит должен быть 0, а для четного – 1. Передаваемое слово будет:
00111 - нечетный паритет;
10111 - четный паритет.
Здесь контрольный бит расположен слева, т.е. занимает старший разряд передаваемого слова. На практике нечетный паритет используется чаще. Контроль нечетности позволяет фиксировать полное пропадание информации, поскольку слово из одних нулей (включая контрольный бит) противоречит нечетному паритету.
Принято считать при проверке, как четности, так и нечетности, что при правильном коде на входах, на выходе формируется лог. 1, при ошибочном – лог. 0. Для организации схем сравнения применяют логические элементы ИСКЛЮЧАЮЩЕЕ ИЛИ, выполняющие роль сумматоров по модулю 2 (т. е. сумматоров, сигналом переноса которых пренебрегают).
На рис. 4.13 показано такое устройство на 4 разряда. Структура схемы проверки четности (нечетности) – многоступенчатая. В первой ступени (ярусе) попарно суммируются все биты слова. Выходные сигналы первого яруса служат входными для второго, и так последовательно до окончательного определения четности (нечетности) суммы единиц всего слова. Полученный результат на последнем этапе сравнивается с контрольным сигналом, задающим вид используемого паритета. Если принят четный паритет, т.е. число единиц в слове, включая паритетный бит, должно быть четным, то контрольный сигнал должен быть равен сумме по модулю 2 всех информационных