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

Максимальная положительная погрешность всегда на 2-( +-0-1-1) больше по абсолютной величине максимальной отрицательной погрешности:

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

если 12 /п lt; 24, то Го = 3, если 25 lt; m 49, то г о = 4,

и т. д.

в заключение (т -f г)-разрядное или соответственно (т -f Го)-разрядное произведение нужно округлить до т-то разряда. Последнее выполняется по обычным правилам см. 4.1.3).

Перед заключительным округлением можно несколько улучшить (т г)-разрадное или (т + Го)-разрядное произведение, вычтя из него среднее арифметическое максимальной и минимальной возможных погрешностей (максимум и минимум в алгебраическом смысле). Например, если промежуточные округления не делаются, то ошибки могут быть заключены в пределах от -2-( +) (т - г - 1) до 0. Добавляя к (/п -f г) -разрядному произведению величину

L . 2-( raquo;+-)(w -г-1),

получили бы погрешность в пределах от

- ~ 2-( +) (/п - г - 1) до + 4 {m - r - i).

Точно так же при наличии промежуточных округлений из (т -\- Го)-разрядного произведения нужно было бы всегда вычитать величину

тах + тах J o-(m+r ) 2 ~ 4

Не известно, однако, симметрично ли распределение погрешностей (т -f г)-разрядного (или {т + Гр)-разрядного)



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

4.2. Логические методы ускорения умножения

4.2.1.Определения. Известные к настоящему времени методы ускорения умножения весьма разнообразны. Чтобы в них разобраться, необходимо иметь хоть какую-нибудь классификацию и хотя бы грубые критерии для сравнительной оценки.

Все методы ускорения умножения мы разделим на две большие группы : логические и аппаратные.

Логическими методами ускорения умножения мы будем называть те методы, в которых сохраняется без каких-либо изменений основная структура арифметических цепей множительного устройства, описанная в 4.1.1 (рис. 4-1), а ускорение достигается только за счет усложнения схемы управления. Применительно к параллельным устройствам признаком того, что мы имеем дело с логическим методом ускорения умножения, является независимость количества дополнительного оборудования (по сравнению со схемой рис. 4-1) от количества разрядов в сомножителях т. В последовательных устройствах применение логических методов ускорения умножения не приводит ни к изменению суммарного объема регистров, ни к изменению количества сумматоров (один).

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

Говоря о параллельных устройствах, мы будем различать аппаратные методы первого порядка и второго порядка. Для аппаратных методов первого порядка характерна линейная зависимость количества дополнительного оборудования от количества разрядов в сомножителях т; для осуществления методов второго п орядка количество необходимого дополнительного оборудования пропорционально т. Применительно к последовательным устройствам такое разделение проводиться не будет.



4.2.2. Логические методы ускорения в двоичной системе..

Г. Простейшим из логических методов ускорения умножения является пропуск тактов суммирования в тех случаях, когда очередная цифра множителя есть нуль. Схему управления вообще проще построить так, чтобы вслед за тактом сдвига каждый раз отводилось время на суммирование, но суммирование вьшолнялось бы в зависимости от цифры множителя. Небольшое усложнение схемы управления, позволяющее отводить время на суммирование только тогда, когда оно действительно необходимо, сокращает число тактов суммирования в среднем вдвое. На каждый разряд множителя при выполнении умножения будет приходиться в среднем 0,5 такта суммирования. Этот метод ускорения в равной мере подходит для тех случаев, когда умножение начинается от старших разрядов множителя, и для случаев, когда умножение начинается от младших разрядов. Более сложные логические методы ускорения нам придется рассматривать большей частью отдельно для разных случаев.

2 deg;. Рассмотрим теперь метод группировки разрядов множителя. Начнем со случая, когда умножение начинается от младших разрядов, т. е. вьшолняется по первому или по второму варианту (4.1.2, п.п. Г, 2 deg;).

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

Рассмотрим сначала младшую пару разрядов множителя.

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



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