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

Поэтому полученная величина равна просто с!с; так как а lt;С1и с- lt;1, той alc lt;Cl, слева от запятой находится О, как это и требуется для положительного числа.

Во втором случае (а - lt; О, с gt; 0) в результате умножения получим

2 + 1с-ас = 2 -ас (mod2).

(Подобно предьщущему, член 2 + 1 с \ представляет собой целое четное число.) Величина 2-асесть изображение отрицательного произведения ас; так как а lt; 1 и т1с - lt; 1, то а с I lt;С 1, а 2 - о с gt; 1, и слева от запятой (в знаковом разряде) произведения получается цифра 1.

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

увеличению времени выполнения умножения, а в параллельных устройствах потребовало бы еще и значительного увеличения количества оборудования. (Удвоение параллельного сумматора и регистра В.) Иногда, однако, описанный способ оказывается весьма удобным. Например, его удобно частично использо-Рис. 4-19. Усложнение схемы рис. вать В множительном уст-4-15 (стр. 460) для работы с допол- ройстве, описанном в 4.6.2 нительным кодами. р 4 15 р 450),

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

Элемент laquo;Иц raquo;, управляемый триггером разряда знака множителя, и следующий за ним инвертор (элемент laquo;нет raquo;) вырабатывают частичное произведение множимого с на знаковый разряд множителя; благодаря наличию инвертора учитывается, что вес знакового разряда есть-1: если

(изрееист-раС)


Регистр А



в разряде знака регистра А стоит единица, то сумматор 2i производит фактически не добавление, а вычитание множимого из суммы остальных частичных произведений. Таким образом, алгебраический знак множителя учитывается так, как было описано в 4.7.3. Что же касается алгебраического знака множимого с, то его удобно учесть путем раст ширения разрядной сетки множимого. С этой целью в течение последних т тактов умножения из регистра С должны выдаваться либо все время нули (если с gt; 0), либо все время единицы (если с lt; 0). Напомним, что в разделе 4.6.2, когда мы имели дело только с прямыми кодами, мы предполагали в течение т последних тактов всегда выдавать из регистра С нули.

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

4.7.6. Об умножении чисел с плавающей запятой. Пусть имеем два числа с плавающей запятой:

а = 2 laquo; Л

Г = 2С,

где а и с - порядки чисел, Л и С - мантиссы.

Если числа нормализованы, то -2-Л lt;1и-2- lt; lt;

lt;С lt;1.

Произведение этих чисел равно

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

Некоторые тонкости связаны с нормализацией результата. ЕслиЛиС заключены в указанных пределах, то мантисса произведения находится, очевидно, в пределах

lt; [ ЛС К 1. Так как произведение тоже должно быть получено в нормальной форме, то в случаях, когда ИС lt;; ~, необходимо удвоить мантиссу результата (сдвинуть ее



влево на I разряд) и одновременно вычесть единицу из порядка результата. Во многих случаях осуществлениесдвига влево мантиссы результата представляет определенные трудности. Если, например, умножение мантисс выполняется по схеме рис. 4-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