ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6719
Скачиваний: 8
158
Глава 3. Цифровой логический уровень
ных целых чисел показана на рис. 3.16, а. Здесь имеется два результата: сумма вход-
ных переменных А и В и перенос на следующую (левую) позицию. Схема для вы-
числения бита суммы и бита переноса показана на рис. 3.16,
6.
Такая схема обычно
называется полусумматором.
Вентиль ИСКЛЮЧАЮЩЕЕ ИЛИ
А
0
0
1
1
В
0
1
0
1
Сумма
0
1
1
0
Перенос
0
0
0
1
Сумма
Перенос
Рис. 3.16.
Таблица истинности для сложения одноразрядных чисел (а);
схема полусумматора (б)
Полусумматор подходит для сложения битов нижних разрядов двух многобито-
вых слов. Но он не годится для сложения битов в середине слова, потому что не
может осуществлять перенос в эту позицию. Поэтому необходим
полный сумма-
тор
(рис. 3.17). Из схемы должно быть ясно, что полный сумматор состоит из двух
полусумматоров. Сумма равна 1, если нечетное число переменных А, В и
Вход
переноса
принимает значение 1 (то есть если единице равна или одна из пере-
менных, или все три).
Выход переноса
принимает значение 1, если или А и В од-
новременно равны 1 (левый вход в вентиль ИЛИ), или если один из них равен 1,
а
Вход переноса
также равен 1. Два полусумматора порождают и биты суммы, и биты
переноса.
Чтобы построить сумматор, например, для двух 16-битных слов, нужно про-
дублировать схему, изображенную на рис. 3.17,
б,
16 раз. Перенос производится в
левый соседний бит. Перенос в самый правый бит соединен с 0. Такой сумматор
называется
сумматором со сквозным переносом.
Прибавление 1 к числу 111... 111
не осуществится до тех пор, пока перенос не пройдет весь путь от самого правого
бита к самому левому. Существуют более быстрые сумматоры, работающие без
подобной задержки. Естественно, предпочтение обычно отдается им.
Рассмотрим пример более быстрого сумматора. Разобьем 32-разрядный сум-
матор на 2 половины: нижнюю 16-разрядную и верхнюю 16-разрядную. Когда на-
чинается сложение, верхний сумматор еще не может приступить к работе, посколь-
ку он не узнает значение переноса, пока не совершится 16 суммирований в нижнем
сумматоре.
Однако можно сделать одно преобразование. Вместо одного верхнего суммато-
ра можно получить два верхних сумматора, продублировав соответствующую часть
аппаратного обеспечения. Тогда схема будет состоять из трех 16-разрядных сум-
Основные цифровые логические схемы
159
маторов: одного нижнего и двух верхних U0 и U1, которые работают параллельно.
В сумматор U0 в качестве переноса поступает 0, а в сумматор U1 в качестве перено-
са поступает 1. Оба верхних сумматора начинают работу одновременно с нижним
сумматором, но только один из результатов суммирования в двух верхних сумма-
торах будет правильным. После сложения 16 нижних разрядов становится извест-
но значение переноса в верхний сумматор, и тогда можно определить правильный
ответ. При таком подходе время сложения сокращается в два раза. Такой сумма-
тор называется
сумматором с выбором переноса.
Можно разбить каждый 16-раз-
рядный сумматор на два 8-разрядных и т. д.
Вход
переноса
А
0
0
0
0
1
1
1
1
в
0
0
1
1
0
0
1
1
Вход
переноса
0
1
0
1
0
1
0
1
Сумма
0
1
1
0
1
0
0
1
Выход
переноса
0
0
0
1
0
1
1
1
Выход
переноса
а
б
Рис. 3.17.
Таблица истинности для полного сумматора (а); схема для полного сумматора {б)
Арифметико-логические устройства
Большинство компьютеров содержат одну схему для выполнения операций И,
ИЛИ и сложения над двумя машинными словами. Обычно такая схема для п-бит-
ных слов состоит из п идентичных схем для индивидуальных битовых позиций.
На рис. 3.18 изображена такая схема, которая называется арифметико-логичес-
ким устройством, или АЛУ. Это устройство может вычислять одну из 4 следую-
щих функций: А И В, А ИЛИ В, В и А+В. Выбор функции зависит от того, какие
сигналы поступают на линии F
o
и F,: 00,01,10 или 11 (в двоичной системе счисле-
ния) Отметим, что здесь А+В означает арифметическую сумму А и В, а не логичес-
кую операцию И.
В левом нижнем углу схемы находится двухразрядный декодер, который по-
рождает сигналы включения для четырех операций. Выбор операции определяет-
160
Глава 3. Цифровой логический уровень
ся сигналами управления F
o
и Fj. В зависимости от значений F
o
и Fi выбирается
одна из четырех линий разрешения, и тогда выходной сигнал выбранной функции
проходит через последний вентиль ИЛИ.
Логическое устройство Вход переноса
Fo
Линии < C l !
разрешения ^ s \ , ^
Сумма
i , i
Выход
Декодер
Выход
переноса
Рис. 3.18. Одноразрядное АЛУ
В верхнем левом углу схемы находится логическое устройство для вычисления
А И В, А ИЛИ В и В, но по крайней мере один из этих результатов проходит через
последний вентиль ИЛИ в зависимости от того, какую из разрешающих линий
выбрал декодер. Так как ровно один из выходных сигналов декодера будет равен 1,
то и запускаться будет ровно один из четырех вентилей И. Остальные три вентиля
будут выдавать 0 независимо от значений А и В.
АЛУ может выполнять не только логические и арифметические операции над
А и В, но и делать их равными нулю, отрицая ENA (сигнал разрешения А) или
ENB (сигнал разрешения В). Можно также получить
X,
установив INVA (инвер-
сию А). Зачем нужны ENA, ENB и INVA, мы рассмотрим в главе 4. При нормаль-
Основные цифровые логические схемы
161
ных условиях и ENA, и ENB равны 1, чтобы разрешить поступление обоих входных
сигналов, а сигнал INVA равен 0. В этом случае А и В просто поступают в логичес-
кое устройство без изменений.
Fi
F
o
А
7
В
7
! 1
1 -битное
L
АЛУ
I
о, ,
/\
Ае В
6
I
1-битное
АЛУ
I
\
Ое
А
5
В
5
1 -битное
АЛУ
I
о
5
ы
в
4
I I
1 -битное
АЛУ
I
Ол
А
3
В
3
1-битное
АЛУ
I
Оз
А
2
В
2
1-битное
АЛУ
I
о
2
А, Вт
1-битное
АЛУ
I
Oi
~+
А
о
В
о
I I
1-битное
АЛУ
I
и
Оо
INC
Вход Выход
переноса переноса
Рис. 3-19. Восемь одноразрядных секций, соединенных в 8-разрядное АЛУ Сигналы
разрешения и инверсии не показаны для упрощения схемы
В нижнем правом углу находится полный сумматор для подсчета суммы А и В
и для осуществления переносов. Переносы необходимы, поскольку несколько та-
ких схем могут быть соединены для выполнения операций над целыми словами.
Одноразрядные схемы, подобные той, которая изображена на рис. 3.18, называют-
ся разрядными микропроцессорными секциями. Они позволяют разработчику
сконструировать АЛУ любой желаемой ширины. На рис. 3.19 показана схема
8-разрядного АЛУ, составленного из восьми
одноразрядных секций.
Сигнал INC
(увеличение на единицу) нужен только для операций сложения. Он дает возмож-
ность вычислять такие суммы, как А+1 и А+В+1.
Тактовые генераторы
Во многих цифровых схемах все зависит от порядка, в котором выполняются дей-
ствия. Иногда одно действие должно предшествовать другому, иногда два действия
должны происходить одновременно. Для контроля временных отношений в циф-
ровые схемы встраиваются тактовые генераторы, чтобы обеспечить синхрониза-
цию.
Тактовый генератор
— это схема, которая вызывает серию импульсов. Все
импульсы одинаковы по длительности. Интервалы между последовательными
импульсами также одинаковы. Временной интервал между началом одного им-
пульса и началом следующего называется временем такта. Частота импульсов
обычно от 1 до 500 МГц, что соответствует времени такта от 1000 не до 2 не. Часто-
та тактового генератора обычно контролируется кварцевым генератором, чтобы
достичь высокой точности.
В компьютере за время одного такта может произойти много событий. Если
они должны осуществляться в определенном порядке, то такт следует разделить
на подтакты. Чтобы достичь лучшего разрешения, чем у основного тактового гене-
ратора, нужно сделать ответвление от задающей линии тактового генератора и вста-
вить схему с определенным временем задержки. Таким образом порождается
162
Глава 3 Цифровой логический уровень
вторичный сигнал тактового генератора, который сдвинут ио фазе относительно
первичного (рис 3 20, а) Временная диаграмма (рис 3 20, б) обеспечивает четыре
начала отсчета времени для дискретных событии
1 Нарастающий фронт С1
2 Задний фронт С1
3 Нарастающий фронт С2
4 Задний фронт С2
Связав различные события с различными фронтами, можно достичь требуе-
мой последовательности выполнения действий Если в пределах одного такта тре-
буется более четырех начал отсчета, можно сделать еще несколько ответвлений от
задающей линии с различным временем задержки
А -
1
Рис, 3.20. Тактовый генератор {а), временная диаграмма для тактового генератора (б),
порождение асинхронных тактовых импульсов {в)
В некоторых схемах важны временные интервалы, а не дискретные моменты
времени Например, некоторое событие может происходить в любое время, ко-
гда уровень импульса С1 высокий, а не на нарастающем фронте Другое событие
может происходить только в том случае, когда уровень импульса С2 высокий
Если необходимо более двух интервалов, нужно обеспечить больше линий пере-
дачи синхронизирующих импульсов или сделать так, чтобы состояния с высоким
уровнем импульса у двух тактовых генераторов частично пересекались во време-
ни. В последнем случае можно выделить 4 отдельных интервала СТ И С^, С1 И
С 2 , С 1 И С 2 и С Т И С 2
Тактовые генераторы могут быть синхронными В этом случае время состоя-
ния с высоким уровнем импульса равно времени состояния с низким уровнем
импульса (рис 3 20,
б)
Чтобы получить асинхронную серию импульсов, нужно
сдвинуть сигнал задающего генератора, используя цепь задержки Затем нужно