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

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

МОиг,

Регистр С

Команда выдать стуВВ

Команда..обр под С О)

{/прабления i

Регистре

- Ци/рры /астного

Рееистр В

Команда .

PeeuarigC

Цепи сд amp;1

га дправо иа 1 разряд

цепи обро

щешя tiodo

Рис. 5-1. Два варианта осуществления деления: а) 1-й вариант;

б) 2-fi вариант.

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

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



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

если на выходе старшего разряда сумматора сигнал переноса отсутствует (в разряд целых переносится нуль), то это означает, что В + {I - С) lt; lt; 1, т. е. Б lt; С;

если на выходе старшего разряда сумматора появляется единица переноса, то это значит, что В + (1 -С) gt; 1 и, следовательно, ВС (подобный метод сравнения чисел рассматривался уже в 3.3). В зависимости от исхода сравнения образуется старшая цифра частного (О или 1), которая заносится вмладший разряд регистра А, причем содержимое регистра А сдвигается на 1 разряд влево. Также в зависимости от исхода сравнения либо прерывается, либо доводится до конца суммирование Б -F (1 - С), так что в регистре В соответственно либо остается прежнее число - (делимое В), либо получается разность В - С; в результате в Б образуется первый остаток В. Затем содержимое регистра В сдвигается влево на 1 разряд (удвоение первого остатка), выполняется формирование сигналов двоичного переноса, что позволяет сравнить 2jBi с С и определить вторую цифру частного и т. д. Цифры частного по одной вдвигаются в регистр А со стороны младших разрядов.

Мы говорили уже о том, что первый остаток всегда меньше делителя (Bi lt;C). После удвоения первого остатка получим 2Bi lt; 2С; если при этом 2Bi gt; С, то вторая цифра частного есть единица, а второй остаток равен В = 2Bi - - С lt;;С;точно также и все последующие остатки (В,) меньше С. Так как С lt; 1, то и любой из очередных остатков меньше единицы и, следовательно, может разместиться в основных разрядах регистра В (хотя в В каждый раз и производится сдвиг рлево).



правда, непосредственно после сдвига очередного остатка (Bi) влево может оказаться, что 2Bj gt; 1. Поэтому в регистре нужно все же иметь один лишний разряд слева от запятой. Если в этот разряд выдвинута единица, то это значит, что 2Bi gt;С (потому что С lt;С,})-Очередная цифра частного равна единице либо в том случае, когда при формировании сигналов переноса получилась единица на выходе переноса старшего разряда сумматора, либо в том случае, когда после сдвига предыдущего остатка влево выдвинулась единица в дополнительный разряд регистра В. Производить суммирование в дополнительном разряде В не имеет умысла, так как заранее известно, что следующий остаток будет меньше единицы, а цифра, имеющаяся в дополнительном разряде, при последующем сдвиге влево все равно уходит за пределы регистра В. .

2 deg;. Возможен и второй вариант осуществления описанного алгоритма деления. Этот вариант иллюстрируется рис. 5-1,6. Отличается он тем, что вместо сдвига В влево в каждом цикле деления вьшолняется сдвиг С вправо на 1 разряд; при этом в старшие разряды С должны, конечно, вдвигаться единицы, так как в С находится обратный код делителя. Преимуществом этого варианта является возможность совмещения по времени тактов суммирования и сдвига (поскольку выдача суммы производится в регистр В, а сдвиг должен выполняться в регистреС). Недостаток его - необходимость иметь удвоенное количество разрядов в регистрах В, С и сумматоре.

Впрочем, в некоторых случаях удвоения длины регистров и сумматора можно избежать. Соответствующая модификация схемы рис. 5-1,6 показана на рис. 5-2 *). Регистры В, С и сумматор содержат здесь всего по m -Ь 1 разрядов. Сумматор выполнен с цепью циклического переноса, так что сравнение и вычитание должны призводиться не через дополнительные, а через обратные коды. На результате деления это может сказаться только в одном месте: если на некотором шаге очередной остаток оказался в точности равным делителю, взятому с соответствующим весом, то при

*) Идея этой схемы принадлежит Н. Я. Матюхипу, с разрешения которого она была опубликована автором в книге laquo;Арифметические устройства электронных цифровых машин raquo;, Физматгиз, 1958, стр. 147-148.



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