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

= -5-0,556. После подстановки найдем

(1-0,281 + 3-0,221 + 4.0,028)(0,333-1,2 + 0,556-0,6)

=1.3.

1,056-0,733

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

Оценка различных методов умножения с помощью величины Qx не учитывает, насколько полно используется при выполнении других действий оборудование, которое затрачено для выполнения умножения. Фактически вместо величины Qx, зависящей от rNx {Гх - среднее время выполнения умножения, Лд; - количество оборудования, занятого при выполнении умножения), следовало бы пользоваться аналогичной величиной, зависящей от XqNq, где То - среднее время выполнения всех операций (с учетом их относительной частоты), а N - полное количество оборудования арифметического устройства.

4.4. Аппаратные методы 1-го порядка ускорения умножения в параллельных устройствах (для систем счисления с основанием пф2). Предельные оценки

Некоторые из описанных в разделе 4.3 аппаратных методов ускорения умножения в двоичной системе могут быть с равным успехом использованы и при любом другом основании системы счисления п. Без каких-нибудь изменений, например, можно использовать метод разделения множителя на части (4.3.1) и метод запоминания переносов (4.3.2). Дополнительные цепи сдвига при п gt; 2 мало эффективны, так как при большом п относительно редко получается laquo;О raquo; в очередном разряде преобразованного множителя (т. е. относительно редко встречаются случаи, когда эти цепи полезны).

Рассмотрим, однако, те методы ускорения умножения для систем счисления с основанием п gt; 2, которые содержат принципиально новые идеи по сравнению с методами ускорения в двоичной системе.



4.4.1. Метод предварительной подготовки чисел, кратных множимому, представим себе, что наряду с обычным регистром множимого С (см., например, рис. 4-1 на стр. 347) в состав устройства входит еще один регистр-С, предназначенный для хранения удвоенного множимого. После того как в начале операции в регистре С установлено множимое, а регистр В погашен, выполним дважды суммирование В + С с передачей результата в В. В результате в регистре В получится удвоенное множимое. Передадим его затем в регистр С, вновь погасим регистр В и только потом начнем обычный процесс умножения. При этом, однако, выполняя умножение на какой-либо разряд множителя, мы будем в основном добавлять к сумме частичных произведений или вычитать из нее число, находящееся в регистре С, столько раз, сколько двоек содержится в цифре множителя и только один раз (если цифра множителя нечетна) добавим или вьитем число, находящееся в регистре С; количество двоек, содержащееся в некоторой цифре множителя, легко определить, если п-ичные цифры кодируются двоичным кодом. В тех случаях, когда в процессе умножения должны выполняться сдвиги в регистре С, одновременно нужно будет сдвигать и число в регистре С (второй и четвертый варианты выполнения умножения - см. 4.1.2).

Ясно, что тем же способом, каким в регистре С мы заранее заготовили удвоенное множимое (2С), в нем можно было бы получить и любое другое число, кратное множимому - kC, где k - целое. При кодировании п-ичных цифр множителя двоичным кодом удобно, чтобы k представляло собой целую степень двойки; однако и применение других k не привело бы к значительным усложнениям в схеме управления. Для каждого конкретного основания системы счисления п можно подсчитать, при какой величине k время ум ножения получается минимальным. В таблице 4-3 для примера показан такой подсчет для десятичной системы. При этом предполагается, что одновремен1Ю с описываемым методом применяется логический метод ускорения, состоящий в переходе к симметричному диапазону цифр (см. 4.2.3), в результате чего цифрами преобразованного множителя являются - 4, -3, -2, -1,0, 1,2, 3, 4, 5, каждая с вероятностью /iQ. Из таблицы видно, что выгоднее всего заготовить в регистре С число 4С, что позволяет получить сред-



Таблица 4-3

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

В регистре С

хранится:

цифры преобразованного множителя

программа суммирований-иычитанип

(и О- laquo; В ь а S в

программа суммироваппй-151.1 читаншг

в а s

о gt;iS

i*; и

программа суммирований-вычитаний

g ш я amp; о К

К ь Я S В Ч Е S sect; amp;ё

-4 ~ -3 -2 -1 0 1 2 3 4 5

-(2с) - (2с) -(2с) - (с) -(2с) -с

+с +(2с) + (2c)-f с -f (2с) + (2с) + (2с) + + (2с) -f с

2 2 1 1 0 1 1 2 2 3

-(Зс)-с -(Зс)

- г-с -с

+ с + c-f с + (3с) + (Зс)-Ьс + (3c)+c-f + с

2 1 2 1 0 1 2 1 2 3

-(4с) -(4с)+с - с -с - с

+ с + с +с + (4с)-с

+ (4с) --(4с) + с

2 1 0 1

2 2 1

Среднее количество сумми-рований-вычита-ний на 1 разряд множителя

1,4

нее количество суммирований-вычитаний на разряд равным 1,4 (в этом подсчете, правда, не учтены начальные такты суммирования). Для сравнения напомним, что наиболее сильные логические методы ускорения для десятичной системы дают /ц 2,45 суммирований-вычитаний на разряд (см. 4.2.4).

Наряду с регистром С в состав устройства можно ввести также регистр С , в котором хранилось бы другое кратное множимого. Например, если бы в десятичной системе в



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