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 - 1)-го разряда вновь поступает не на вход t-ro разряда, а на вход дополнительного триггера, так что результат снова получается в виде двух чисел.

а2) (М) (i) (i-0 (i-2) (i-3)

Ee

Рис. 4-6. Разрыв цепи переносов параллельного сумматора у t-ro разряда.

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

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

Хе+Хв.

Разделив таким же образом сумматор не на две, а на три части, можно получить длительность такта суммирования

А

Хе + Хв

и т. д.

Нужно учесть, правда, что когда сумматор делится на 2 части, то в заключительном такте в младшей части добавляется нуль, и длина пробега сигналов переноса равна максимум ml2 разрядов, т. е. заключительный такт по длительности не отличается от всех других тактов; если же цепь переносов делится на большое число {k) частей, то в заключительном такте перенось! проходят через т - mik ~ т



разрядов, так что длительность заключительного такта суммирования должна быть почти тхв + в, как при обычном сложении. Однако в общем балансе времени умножения заключительное суммирование особой роли не играет. Сокращение же всех основных тактов суммирования может дать весьма значительный эффект.

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

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

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

*) Многие авторы предлагали этот метод независимо друг от друга. Впервые он изложен, вероятно, в работе BurksA., Goldstine Н., von Neumann J., 1947 -см. русский перевод: laquo;Кибернетический сборнию), вып. 9, 1964. С несколько иным объяснением (см. 4.6) метод неоднократно использовался на практике. Именно по этой причине приводимое здесь описание было опущено в предыдущей книге автора (см. ссылку на стр. 8). Сейчас, однако, мы решили изложить и то и другое объяснения, так как они приводят к несколько различным идеям в дальнейшем развитии.



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

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

Цепи сдвига

Регистр А

/{аманда,сд6игА вправе HcSemejji раОлеиия (младшал цифра) ~


Команда JbiSma С на сумматор

улра6 ени,.

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

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

На рис. 4-7 в качестве примера показано одно из возможных построений арифметического устройства, в котором имеется полноразрядный регистр запоминания переносов Е (т. е. дополнительные триггеры для запоминания переносов во всех разрядах), а умножение вьшолняется в соответствии с первым вариантом (4.1.2).



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