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

назовем регистром А, и, может быть, некоторыми вспомогательными элементами. Разряды знака пока исключим из рассмотрения.

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

РегистрЛ

(множитель)

Регистр В

Регистре

(сумма частичных произведений)

(множимое)

Рис. 4-1. Основная идея построения множительного устройства при использовании простых методов выполнения умножения.!

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

Поместим в регистр С множимое, в регистр А - множитель, а регистр В к началу операции очистим (установим в нем число laquo;О raquo;, т. е. выполним гащение Б).

Выполним затем суммирование Б -j- С столько раз, сколько единиц содержится в цифре а,п младщего разряда регистра А (в двоичной системе - либо ни одного раза, либо один раз). Так как результат суммирования каждый раз направляется в регистр Б, то в итоге в регистре Б получится частичное произведение множимого С на младшую цифру множителя am-

Сдвинем затем содержимое регистра С на один разряд Влево, т. е. увеличим множимое в п раз, где п - основание системы счисления. После этого снова выполним суммирование В А- С - теперь столько раз, сколько единиц содержится во второй справа цифре множителя Om-i и т. д,



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

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

В последовательном устройстве, если в качестве регистров применяются линии задержки, сдвигу влево на 1 разряд соответствует удлинение задержки в цепи рециркуляции на 1 такт. (Для этого нужно, скажем, открыть специальный вентиль, который направил бы импульсы через лишний 1-тактный элемент задержки в цепи рециркуляции.) Когда цепь рециркуляции удлиняется указанным образом, то оказывается, что в том такте, в котором нормально должна поступать цифра второго справа разряда числа, вместо нее выходит еще только цифра младшего разряда и т. д.- весь код оказывается сдвинутым по времени в сторону старших разрядов. Точно так же сдвигу вправо на 1 разряд соответствует укорочение задержки в цепи рециркуляции на 1 такт.

4.1. 2. Четыре варианта осуществления основного метода выполнения умножения. Процесс умножения, описанный в 4.1.1, за исключением некоторых несущественных деталей, совпадает с тем методом, которым умножение выполняется обычно вручную.

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



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

Г. Первый вариант (рис. 4-2, а) применяется при построении параллельных устройств чаще всего *). Как и в 4.1.1, умножение начинается здесь от младщих разрядов множителя. Поэтому в регистре множителя А в каждом цикле умножения должен выполняться сдвиг вправо. Однако в отличие от 4.1.1 одновременно с этим вместо сдвига множимого влево производится сдвиг суммы предыдущих частичных произведений вправо (в регистре В).

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

*) Автор, по-видимому, отчасти повинен в том, что в литературе первый вариант называется иногда вариантом laquo;а raquo;, а второй, третий и четвертый варианты - соответственно вариантами laquo;б raquo;, laquo;в raquo;, и laquo;г raquo;: описав подряд эти четыре варианта в своей предыдущей книге (см. предисловие), он не дал им никаких наименований, но поместил рисунок, аналогичный рис. 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