www.chms.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 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189

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

2.1.1. Принцип построения сумматоров. Пусть имеем два т-разрядных числа, каждое из которых представлено системой счисления с основанием п. Если п-ичные цифры изображаются с помощью минимального количества двоичных знаков, то каждое из чисел представляет собой набор тХ (п) двоичных переменных, где Я, (п) - ближайшее не меньшее целое число к величине logjn (см. 1.2.2.). Например, 8-разрядное десятичное число, в котором каждая десятичная цифра изображается четырьмя двоичными цифрами, представляет собой набор из 32 двоичных переменных

Сумма двух таких чисел содержит на один разряд больше, чем исходные числа. При этом цифра дополнительного разряда - слева от старшего разряда слагаемых - может получиться вообще нулем, плюс единицей или минус единицей (если среди цифр п-ичной системы счисления имеются и положительные, и отрицательные). Поэтому для представления цифры дополнительного разряда суммы может потребоваться 2 двоичных разряда, а всего сумма будет представлена тХ (п) + 2 двоичными разрядами.

Каждую из цифр суммы можно вообще рассматривать как функцию от всех цифр слагаемых. Правда, в простом суммировании младшие разряды суммы не зависят от старших цифр слагаемых; однако для вьшолнения полной операции сложения иногда приходится применять так называемое laquo;суммирование с круговым переносом raquo; (см. 3.1.2), и тогда этого упрощения нет.

Таким образом, сумматор представляет собой схему, которая по определенным правилам формирует тХ (п) + 2 переключательных функций от 2т X (п) двоичных переменных. Например, сумматор для 8-разрядных десятичных чисел получает входную информацию в виде 64 двоичных переменных {2тХ {п) = 2-8-4) и формирует 33 переключательные функции, каждая из которых вообще зависит от всех входных переменных. (Сумма содержит 33, а не 34



двоичных разряда, потому что в десятичной системе обычно все цифры неотрицательны - О, 1, 2,..., 9 -и, следовательно, старший разряд суммы может содержать цифру О или 1, но не -1.)

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

Одноразрядный сумматор - это схема, на входы которой поступают цифры одного разряда слагаемых (Ь и с) и цифра переноса из соседнего младшего разряда (е) и которая вырабатывает цифру суммы данного разряда (В) и перенос в следующий старший разряд ( ). Выходной сигнал переноса ( ), образующийся при сложении цифр данного разряда, является входным сигналом переноса (е) для сложения цифр следующего разряда.

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

Разновидность элементарной операции суммирования, о которой мы упоминали выше,- laquo;суммирование с круговым переносом raquo; - отличается тем, что сигнал переноса с выхода самого старшего разряда сумматора является входным сигналом переноса для самого младшего разряда. Смысл введения такой разновидности будет выяснен в разделе 3. Здесь, однако, рассматривая различные построения сумматоров, мы будем иметь в виду, что в некоторых случаях может потребоваться указанное видоизмене-. ние суммирования.

В п-ичной системе счисления каждая из цифр слагаемых и суммы Ь, с, В может принимать одно из п возможных значений. Цифры переносов е, Е могут принимать вообще*) одно из трех значений: +1,0 или -1; но если все

*) Если цифры, допустимые для каждого из разрядов, выбраны в соответствии с 1.3.2.



значения цифр п-ичной системы имеют один и тот же знак, то для е и Е остаются только две, а не три возможности.

Обозначив через Cmin наименьшее из возможных значений цифр п-ичной системы счисления, а через Стах - наибольшее, Отах = а,тп + п-1, запишем правила работы одноразрядного сумматора в виде

1, если Огоах lt; Ь Ь с + е,

О, еСЛИОтш lt;fc + lt;+e lt;Gmax,

-1,если Ь +с + e lt;aniin,

B = b4-c-f е - п.

Например, в десятичной системе с цифрами О, I, 2,..., 9

Р Г1, если9 lt;Ь + с-Ь е, -\0, если b + c-fe lt;9,

B = b+c + e-10 .

случай, когда Ъ -\- с -\- е О невозможен).

2.1.2. Параллельные и последовательные сумматоры.

Полная схема сумматора может строиться из одноразрядных сумматоров разными способами. В зависимости от


Д Д Mi

ОтЧ Оу

Svl ЬтН. Ov I

Цепь пруеювого переноса

I

J/mcxomi j t/праблетя

! ! I

Рис. 2-1. Построение параллельного сумматора.

ТОГО, как это делается, различают параллельные и последовательные сумматоры. Возможен также промежуточный вариант - параллельно-последовательный сумматор.

Построение параллельного сумматора показано на рис. 2-1. Прямоугольниками с буквой 2 внутри здесь, как и в дальнейшем, обозначаются одноразрядные сумматоры. Количество одноразрядных сумматоров равно количеству разрядов в складываемых числах. На выход ft и с каждого



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 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189