Звоните! 
 (926)274-88-54 
 Бесплатная доставка. 
 Бесплатная сборка. 
Ассортимент тканей

График работы:
Ежедневно. С 8-00 до 20-00.
Почта: soft_hous@mail.ru
Читальный зал -->  Полупроводниковая схемотехнология 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 [ 110 ] 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168

Двоичное

Десятичное

Двоичное

Десятичное

число

число

число

число

1000

-WOO

[0] oom

[1] 1110

-16+14=-г

мая разность Z), отрицательна. При этом в разряде переноса появляется 1. Она может рассматриваться как отрицательный перенос-2. Поясним это на примере, представленном на рис. 19.33. Итак, можно записать

При изменении порядка вычитания отсюда следует

Таким образом, введенное число z/ представляет собой точное двоичное дополнение модуля разности. При продолжении арифметических операций такое представление является весьма удобным. Однако для оценки результата часто необходимо иметь его величину в обычном двоичном (прямом) коде и его знак. С этой целью при появлении единицы в разряде переноса V следует вычислить двоичное дополнение числа Dm, что достигается с помощью n управляемых инверторов, которые можно реализовать с помощью элементов ИСКЛЮЧАЮЩЕЕ ИЛИ. Но из-за необходимости прибавления 1 требуется еще одна дополнительная суммирующая схема, показанная на рис. 19.34.

При выполнении операций с поразрядным дополнением можно исключить вторую суммирующую схему. Для доказательства этого вернемся еще раз к уравнению (19.4) и запишем в общем виде модуль отрицательной разности D,:

\D \ = - D = [С - D] - С при D <0.

С учетом соотношения (19.4) отсюда получим

\D\ = С - [А + {С - В) - С] - €,

(19.9)

\D\=C-lA+(C-B)-\.

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

Рис. 19.33. Пример представления разности D при положительном и отрицательном результатах.

тирующих члена С = 2 или С = 2 - 1 взаимно уничтожаются. Таким образом, если оперировать поразрядным дополнением, то 1 два раза не прибавляется. При этом можно записать

\D\ = lA + B<>]<4

Чтобы результат автоматически разделить на знак и модуль, необходимо сначала подать числа А и В<> на суммирующую схему и проанализировать полученный при этом неинвертированный сигнал с. Если он равен единице, то разность положительна. В этом случае, как уже было показано, необходимо прибавить 1, для чего следует положить Со = 1. Это очень просто осуществить, подключая старший сигнал переноса к Со. Такая схема называется схемой циклического переноса.

Если старший cnraaji переноса равен нулю, то полученная разность отрицательна. В этом случае прибавление 1 автоматически блокируется. При этом нужно еще проинвертировать результат, что дает модуль разности.

4-разрядный сумматор i

1 I ( Г

Рис. 19.34. Образование двоичного дополнения числа в зависимости от его знака.

о при у = о (положипельйое),

2 - D = Р при v = 1 (отрицательное).

Функции <а1склкпающее ИЛИ , так же как и прибавление 1. выполняются с помощью одного арифметического блока типа SN 74181.



Теперь остановимся на особом случае, когда А = В. Тогда на входы всех разрядов сумматора подается комбинация сигналов 01, т.е. функция распространения, переноса рассматриваемой секции Р равна 1. Поэтому 4 = Со и в схеме образуется положительная обратная связь, т.е. нельзя заранее предугадать, получится в результате -I- О или - 0.

Эти трудности легко обойти, если использовать суммирующую схему с параллельным переносом. Как показано на рис. 19.35, цепь циклического переноса здесь можно подключить не к выходу переноса с, а к выходу функции генерации переноса G. Как следует из выражения (19.3), полученного в разд. 19.5.3, величина этой функции совпадает с с, если не принимать во внимание величину Cq. Таким образом устраняется причина образования положительной обратной связи. С другой стороны, сигнал G достаточен для определения знака, поскольку сигнал при прибавлении единицы не изменяется.

Незначительный недостаток этого способа состоит в том, что нуль вьщается как отрицательное число. Это, вообще говоря, не является ошибкой, но не всегда приемлемо. Для устранения этого эффекта при А = В следует организовать еще один дополнительный циклический перенос и запретить образование дополнения на выходе. С этой целью на рис. 19.35 сигнал распространения переноса Р с помощью элемента ИЛИ также подключен к цепи циклического переноса.

Р 4-разрядный сутатор с G

3 , г 1 о

Рис. 19.35. Вычитание двух четырехразрядных двоичных чисел с вычислением абсолютной величины и знака разности по методу циклического переноса.

Г о при а> В (положительное). В = И-В; D = i 1 при А<В (отрицательное).

19.5.6. СЛОЖЕНИЕ ЧИСЕЛ С ЛЮБЫМИ ЗНАКАМИ

Схема вычитания, представленная на рис. 19.32, в случае отрицательной разности вьщает ее значение в форме двоичного дополнения. Старший разряд переноса можно рассматривать при этом непосредственно как знак: v = О означает положительный результат, и = 1 - отрицательный. Такое представление используется преимущественно при выполнении операций со знакопеременными числами (представление чисел в форме двоичного дополнения). Для 8-разрядного числа имеется следующая область определения:

1>

+ 127

+ 1

- 1

-128

Такое представление чисел объясняется тем, что знаковый разряд v можно рассматривать как обычный двоичный разряд определенного веса, взятый, однако, с отрицательным знаком. В случае 8-разрядного положительного числа Bg старший разряд V = Ьт = О, и получим

Bg= - Ьт2 + Вт = By > 0.

В случае отрицательного 8-разрядного числа Bg старший разряд и = by = 1, и получим

Bs= - Ьт! -1- By = -2 + Bj < 0.

Модуль Bg в этом случае равен

Bg= -Bg = 2-B, = В<,>>0.

т. е. представляет собой двоичное дополнение Bj.

Рассмотрим теперь, как должна работать суммирующая схема, чтобы правильно оперировать с положительными и отрицательными числами, представленными в форме двоичного дополнения. В соответствии с приведенным выше примером рассмотрим суммирование двух чисел А и В,



разрядность которых составляет 7 бит плюс знаковый разряд v. Суммирующая схема реализует выражение

Рассмотрим сначала случай А > О, В > Q. Эти числа складываются совершенно правильно. В отличие от сумматора, предназначенного только для положительных чисел, мы должны, разумеется, сделать одно ограничение: так как теперь восьмой двоичный разряд рассматривается как знак, его уже нельзя использовать как разряд переноса. Поэтому сумма не должна выходить за пределы 7-разрядного числа. Следовательно, она не может быть более 2 - 1 = 127, так как в противном случае результат будет ошибочно рассматриваться как отрицательное число.

Случай, когда одно из двух чисел {Aj или В,) задано в форме двоичного дополнения, уже рассматривался в предьщущем разделе, поскольку там вычитание было заменено на сложение с двоичным дополнением вычитаемого. Чтобы получить правильное значение знака разности, разряд переноса инвертировался. Так как числа А и В равноправны, сигнал переноса необходимо инвертировать всегда, когда либо А, либо В отрицательно. , Кроме того, может встретиться случай, когда и А, и В отрицательны. Сумма двоичных дополнений составит

7 = Л< -1- В*/> - А, + 2 - В,= = 2 -А,-- В,.

Очевидно, что вследствие сложения двух членов дополнений, равных 2, разряд переноса (восьмой двоичный разряд by) не изменится; следовательно, в нем непосредственно появится знак. Все рассмотренные комбинации представлены в табл. 19.9, по-

зволяющей определить знак Vs по величине старшего переноса с,. По этой таблице можно составить следующую булеву функцию:

5 = а®Ч®Ст. (19.10)

Ее схемная реализация представлена на рис. 19.36.

Как показывает сравнение с рис. 19.27, выражение (19.10) идентично сложению в полном сумматоре. Поэтому 8-разрядное . число Sg, включая знак, можно вычислить с помощью 8;разрядного сумматора (рис. 19.37), не подвергая знаковый разряд какой-либо особенной обработке.

Определение переполнения

Как уже упоминалось, при суммировании двух чисел с одинаковыми знаками можно получить неверный результат из-за выхода числа из допустимой области (переполнения разрядной сетки). Однако такая ошибка обнаруживается весьма просто. Если А и В положительны, то их сумма также положительна. Появление отри-

VaVb

be-bo

Og...ao

с7 7-разрядныйсуи- Со

Рис. 19.36. Суммирование двух двоичных чисел с любыми знаками при представлении отрицательных чисел в форме двоичного дополнения.

Таблица 19.9 Таблица для определения знака суммы

0 ,

..bff а-,... Of) тщдит cyHMafwp Cq s7-s0

Рис. 19.37. Включение логики определения знака суммы в арифметический блок.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 [ 110 ] 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168



ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку.



Звоните! Ежедневно!
 (926)274-88-54 
Продажа и изготовление мебели.


Копирование контента сайта запрещено.
Авторские права защищаются адвокатской коллегией г. Москвы
.