ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.12.2021

Просмотров: 6719

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

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-разрядных сум-


background image

Основные цифровые логические схемы

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 (в двоичной системе счисле-

ния) Отметим, что здесь А+В означает арифметическую сумму А и В, а не логичес-
кую операцию И.

В левом нижнем углу схемы находится двухразрядный декодер, который по-

рождает сигналы включения для четырех операций. Выбор операции определяет-


background image

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. При нормаль-


background image

Основные цифровые логические схемы

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 не. Часто-

та тактового генератора обычно контролируется кварцевым генератором, чтобы

достичь высокой точности.

В компьютере за время одного такта может произойти много событий. Если

они должны осуществляться в определенном порядке, то такт следует разделить
на подтакты. Чтобы достичь лучшего разрешения, чем у основного тактового гене-

ратора, нужно сделать ответвление от задающей линии тактового генератора и вста-
вить схему с определенным временем задержки. Таким образом порождается


background image

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,

 б)

 Чтобы получить асинхронную серию импульсов, нужно

сдвинуть сигнал задающего генератора, используя цепь задержки Затем нужно