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

Цепи сдбиго

ег и

стр Л

НсхемЕ

Цепи сдбига вправо на Iразряд

Регистр В

Регистр С

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

3 deg;. В заключение рассмотрим еще один аппаратный метод 1-го порядка ускорения умножения - на этот раз такой, который позволит сократить не только количество тактов сдвига, но и количество суммирований-вычитаний. Мы назовем его методом раз-демниямножителя. Для определенности снова будем полагать, что выполнение умножения осуществляется по первому варианту (см. 4.1.2). Кроме того, будем считать, что задача получения полного 2т-разряд-ного произведения двух т-разрядных чисел не ставится и что в результате умножения необходима такая же точность, как в исходных числах - до т-го разряда. Если прежде получение 2т-разрядного произведения доставалосг, нам фактически laquo;бесплатно raquo;, то здесь это потребовало бы довольно значительных дополнительных затрат оборудования.

Идея метода состоит в том, что множитель разделяется, скажем, на 2 части, и умножение на старшую и младшую части выполняется в одно и то же время независимо одно от другого; полученные результаты затем суммируются с необходимым сдвигом.

На рис. 4-5 показано, каким должно быть построение арифметического устройства для осуществления указанного

Регистр В

Рис. 4-5. Построение арифметического устройства при использовании для ускорения умножения метода разделения множителя.



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

Ясно, что при выполнении умножения отдельно на старшую и отдельно на младшую части множителя могут применяться любые из описанных выше логических или аппаратных методов ускорения. В любом случае разделение множителя должно примерно вдвое сокращать длительность умножения. Однако при использовании различных логических способов выигрыш в среднем времени будет получаться менее значительным, чем обычно, так как умножение заканчивается лишь после того, как оно выполнено и в старшей, и младшей части; длительность его определяется менее благоприятной комбинацией цифр из имеющихся в одной и в другой половине множителя. Чем меньше разрядов содержит множитель, тем заметнее этот эффект. Поэтому при обычном количестве разрядов разделять множитель больше чем на 2 части вряд ли имеет смысл.



4.3.2. Методы, основанные на запоминании цифр переносов. Те методы, которые рассматривались до сих пор, имели целью сокращение количества тактов суммирования или тактов сдвига, необходимых в ходе выполнения умножения. Рассматриваемые ниже методы направлены вместо этого (или в дополнение к этому) на сокращение длительности самого такта суммирования. Сокращение оказывается возможным потому, что в процессе умножения требуется не однократное суммирование, а длинная цепь суммирований.

Длительность такта суммирования Та равна

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

На первых порах мы будем предполагать, что умножение выполняется либо по второму, либо по четвертому варианту (см. 1.2), т. е. так, что сумма частичных произведений (регистр В) никуда не сдвигается. Нозже это ограничение будет снято.

Представим себе, что цепь переносов в параллельном сумматоре разорвана посередине - скажем, на входе 1-го разряда. Выходной сигнал переноса (t - 1)-го разряда вместо того, чтобы поступать на вход переноса t-ro разряда, запоминается каким-нибудь специальным элементом, например триггером; на вход переноса t-ro разряда сигналы будут поступать с выхода этого триггера (рис. 4-6).

К началу умножения одновременно с гашением регистра частичных произведений (регистра В) гасится и дополнительный триггер. Поэтому при первом суммировании на вход переноса t-ro разряда поступает нуль. Результат первого суммирования получается фактически в виде двух чисел: числа, находящегося в регистре В, и числа, представленного цифрой в дополнительном триггере.

При каждом из последующих суммирований цифра из дополнительного триггера будет поступать на вход переноса i-ro разряда, так что при этом, по сути дела, будут



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