8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 83 84 85 86 87 88 89 ... 119

Yp - 10} = Хр + Ур - 10 + 3 = {Хр} + {Ур} - 16 + 3. Поэтому к остатку суммы {Хр} + {Yp} - 16 следует прибавить число 3.

Если Хр + Yp < 10, то {Хр} + {Yp} < 16 и на выходе двоичного сумматора перенос отсутствует (cp+i = 0), а сумма {Лр} + {Ур} = {Хр +Ур} + 3. Поэтому из суммы {Хр} + {Yp} следует вычесть число 3, чтобы получить величину {Хр + Ур}, которая является кодом с избытком 3 суммы Хр + Ур. Вычитание какого-либо числа эквивалентно сложению его с дополнением до 2", поэтому вместо вычитания числа 3 можно прибавить число 24 - 3 = 13 = 1101.

Таким образом, если перенос возникает, то к остатку суммы следует прибавить число 3, а если он отсутствует, то к сумме следует прибавить число 13. Итак, одноразрядный десятичный сумматор для десятичных разрядов, представленных в коде с избытком 3, описывается соотношениями:

Г 0, если {.Yp} + {Ур} + ср < 16,

CP+1 - 1 1, если {Хр} + {Yp} + ср > 16,

/с г J iXp) + iYp) + СР + 13 если СР+! = °Г6 411

рр> + + Ср + 3] если Ср+1 = 1К )

где Cp+i - перенос в следующий десятичный разряд; {Sp} - значение р-го десятичного разряда суммы чисел А и У; ср = 0 или 1 - перенос из предыдущего десятичного разряда. Сложение с числами 3 и 13 называется коррекцией суммы. Из соотношения (6.41) видно, что вычисление суммы {SP} можно выполнить с помощью двух последовательно включенных 4-разрядных двоичных сумматоров: первый сумматор вычисляет вспомогательную сумму 5* = {Лр} + {Yp} 4- ср и перенос ср+1, а второй сумматор - сумму

{Sp} = S* +Cp+iep+icp+il,

так как Cp+icp+icp+i 1 = 13приср+1 = 0 и cp+icp+icp+i 1 =Зприср+1 = 1. Такое устройство называется сумматором кодов с избытком 3.

Рассмотрим пример вычисления суммы двух чисел, представленных в коде с избытком 3. Пусть требуется сложить два числа А = 326 и У = 475 (S = X + y = 801). Все операции по преобразованию чисел описываются схемой:

хЮ2

хЮ1

х10°-

• веса десятичных разрядов

8421

8421

8421 -

- веса двоичных разрядов,

ООП

0010

0110 =

X = 326 (код 8-4-2-1),

+ 0011

ООП

ООН -

- внесение избытка 3,

ОНО

0101

1001 =

{А},

0100

0111

0101 =

У = 475 (код 8-4-2-1),

+ 0011

ООН

ООН -

- внесение избытка 3,

0111 .1010.1000= {У}.

+ +

Сложение чисел А и У в коде с избытком 3 поясняется схемой:

х 102 х 101 х 10° - веса десятичных разрядов,

8421 8421 8421 - веса двоичных разрядов,

ОНО . 0101 . 1001= {А},

+ 0111 . 1010 . 1000= {У},

0 11 - перенос,

1110 . 0000 . 0001 = {А} + {У},

1101 . ООП . ООН - коррекция,

1011 . ООП . 0100= {5} = {А + У},

1101 . 1101 . 1101- перевод в код 8-4-2-1,

1000 . 0000 . 0001 = {5} = 801 (код 8-4-2-1)

(над точками в строке {А} + {У} указаны переносы из предыдущего разряда).

Рассмотрим теперь вычитание n-разрядных десятичных чисел Л и У с использованием кода с избытком 3. Так как

S = А - У = Х- 10" + (Юп - У) = А - 10" + W, где W = 10"-У, то вычитание из X числа У эквивалентно сложению X с дополнением У до 10" с коррекцией результата на 10" (следует вычесть 10").

Рассмотрим прямой и дополнительный коды с избытком 3 для десятичных чисел А любого знака. Прямой код с избытком 3 задается соотношением

если X > 0, если А1 < 0,

где Л = \Х\. Старший n-й разряд, равный 0 или 1, определяет знак 1 числа.

Дополнительный код с избытком 3 определяется соотношением

UXUn - /если Х * °

РШ- I Y{W}, если А < 0, .

где W - 10" - А, А = \Х\. Полезно сравнить это соотношение с Выражением (6.40) для дополнительного кода двоичных чисел.

Поскольку операция вычитания из А числа У заменяется опера-(Цией сложения А с дополнением W, то основным требованием к кодам, используемым для выполнения арифметических операций сложения и вычитания, является схемотехническая простота отыскания дополнения W. Код с избытком 3 относится к классу самодополняю-Щихся кодов: {Ар} + {Ар} = {9} для любых {Ар} = {0},{1},..., {9}. Действительно, пусть Хр = 4 = 0100. Тогда {Ар} = 0111, {.Yp} = 1000 и {ХР} + {ХР) = 1111-0011 = 1100= {9}. Поэтому для дополнительного кода с избытком 3 имеет место соотношение {W} = {Лр} + 1,


из которого следует алгоритм получения дополнения W в коде с избытком 3 (аналогичное соотношение было получено и для двоичного дополнительного кода). Правила преобразования прямого кода с избытком 3 в дополнительный с избытком 3 и правила обратного преобразования такие же, как и для двоичного дополнительного кода.

Правило сложения чисел, представленных в дополнительном коде с избытком 3, определяется соотношением

[{5}]д=[{Х}]д + [{У}]д

при условии, что нет переполнения разрядной сетки (совпадает с правилом сложения двоичных чисел в дополнительном коде). Ясно, что вычисление суммы дополнительных кодов можно выполнить рассмотренным выше сумматором кодов с избытком 3.

Используя данные правила, рассмотрим числовой пример. Пусть требуется вычислить сумму S чисел А и У, где X = +257, У = -648. Все необходимые для этого преобразования чисел А и У описываются схемой:

хЮ2 хЮ1 х10°-веса десятичных разрядов, 8421 8421 8421-веса-двоичных разрядов,

0010

0101

0111 =

X = 257 (код 8-4-2-1)

+

ООП

ООП

ООП -

внесение избытка 3,

0101

1000

1010 =

{А},

оно

0100

1000 =

У = 648 (код 8-4-2-1)

+

ООП

ООП

ООП -

внесение избытка 3,

1001

0111

1011 =

{Y},

оно

1000

0100 =

+

0000

0000

0001 =

1,

оно

1000

0101 =

{W} = {У} + 1,

1.

оно

1000

0101 =

Вычитание чисел А и У, представленных в дополнительном коде с избытком 3, поясняется схемой:

хЮ2 а И)1 х 10°-веса десятичных разрядов,

8421 8421 8421- веса двоичных разрядов,

0.0101 . 1000 . 1010= [{А}]д, + 1 .0110 1000 0101= [{У}]д.

0 1 0

1.1100.0000. 1111= [{А}]д + [{У}]д,

U . llOl . UUll . 11U1- коррекция,

Убедимся, что полученная сумма S = 257 - 648 = -391. Для , этого преобразуем [{S1} в значение, представленное в прямом коде s 8-4-2-1. Преобразования определяются схемой:

IхЮ2 хЮ1 х10°-веса десятичных разрядов,

8421 8421 8421 - веса двоичных разрядов,

I1.1001 .ООП .1100= [{S}]д,

I1.0110.1100.0011= l.{Ws},

5+ 0.0000 .0000. 0001 = +1,

{1.0110.1100.0100= [{5}]п = l.{Ws} + 1,

I+0.1101.1101.1101- перевод в прямой код 8-4-2-1,

j1. ООП . 1001. 0001 = [5]п = -391 (код 8-4-2-1).

Иногда возникает необходимость использования 6-ричной систе-мы счисления (например, при построении многоканальных таймеров на основе оперативных запоминающих устройств). В этом случае сложение и вычитание проще всего выполнять в дополнительном 3-разрядном двоичном (4-2-1) коде с избытком 1 или в дополнительном 4-разрядном двоичном (8-4-2-1) коде с избытком 5. Эти коды облагают теми же свойствами, что и дополнительный код с избытком 3 ;,для десятичной системы счисления. Дополнение W числа X в шестеричной системе счисления определяется соотношением:

W = 6" - А,

где А - n-разрядное шестеричное число.

I \

6.10. Сумматоры

Сумматоры предназначены для выполнения операций сложения и вычитания как двоичных, так и десятичных чисел, а также используются при построении цифровых устройств для производства более сложных арифметических операций и в раз-«личных электронных устройствах обработки информации. Двоичные параллельные сумматоры с последовательным переносом. Комбинационным двоичным параллельным Щумматором называется КС, производящая вычисление суммы двух двоичных п-разрядных чисел при одновременной подаче всех их разрядов. Способы реализации арифметических операций сложения и вычитания будем рассматривать для целых Едвоичных чисел, что упрощает изложение методики их синтеза. Целые положительные n-разрядные двоичные числа будем обозначать через

А = (хп-1,...,х0) и У = (уп-1,...,уо),


где (xn i,... ,xq), (уп-i,- •, Уо) - векторная запись аргументов п переключательных функций суммы S = (s„ i,... ,so) и переноса сп из старшего п - 1-го разряда, xn i и уп-\ - старшие разряды. Таким образом, те-разрядный двоичный параллельный сумматор представляет собой КС, имеющую 2п -f 1 вход и п -f 1 выход (с учетом переноса со в младший разряд, необходимого для каскадирования сумматоров и реализации операций вычитания; 5" - Sum - сумма, С - Carry - перенос):

Si = /.(a:„ i,...,xo,j/n-i,со), * = 0,1,..., п - 1;

сп = ip(xn-i,...,x0, уп-1,...,уо,с0).

Операция сложения положительных двоичных Чисел определяется правилами двоичной арифметики:

значение переноса c,+i в i + 1 разряд равно 1, если не менее двух величин из а;,-, у, и с, равны 1, где г, и у, - разряды чисел А* и Y, а с, - перенос из i - 1-го разряда;

значение г-го разряда суммы s,- чисел А и Y равно 1, если нечетное число величин х,-, у, и С{ равно 1.

Пример:

5 4 3 2 1 0 - номера разрядов, 25242322212°- веса разрядов,

0

1

1

0

0

1

= X

= 25,

0

1

1

1

0

1

= Y

= 29,

1

1

0

1

1

0

= S

= 54 - сумма

1

1

0

0

1

0

= с

- перенос.

Если при сложении разрядная сетка не переполняется, то перенос с„ в гг-й разряд отсутствует и С = (0, c„ i,..., с2, сь 0), а 5 = (s„ i,..., s0). В общем случае С = (сп,сп ь ... ,с2,сьс0).

Таблица истинности (табл. 6.20), описывающая закон функционирования одноразрядного двоичного сумматора, составляется на основании сформулированного выше правила сложения положительных чисел. Из диаграмм Вейча для функций 5,- и ct+i (рис. 6.95), составленных по табл. 6.20, следует, что

Si = Xi © у{ © с,-, c,-+i = x{yi V Xic{ V ytCi = ЩуЩс{у~с{. (6.42)

На рис. 6.96,а показана схема одноразрядного сумматора, выполненная в соответствии с полученными формами функций S{ и c, + i.

Функцию c,+i можно представить не в минимальной форме: c,+i = х{у{ V (ii ф yi)ci = gt V piCi,

Si = i, ф j/; ф с, = Pi ф Ci,

Таблица 6.20. Одноразрядный сумматор

t

Xi

У.

с,

Si C, + i

i

У.

Ci

S» Ci + l

0

0

0

0

0 0

4

1

0

0

1 0

1

0

0

1

1 0

5

1

0

1

0 1

2

0

1

0

1 0

6

1

1

0

0 1

3

0

1

1

0 1

7

1

1

1

1 1

0

i

0

1

t

0

1

0

1

с

1

1

0

0

1 1

0

0

*1

Рис. 6.95

Si

=1 -s

&"~ J

i- a

Рис. 6.96

у *

М 1

1L-.......J1.1

SM

SM

Bee: 2°

*i 21

SM



0 ... 83 84 85 86 87 88 89 ... 119