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

ото правило получено из того условия, чтобы следующий остаток Bi+i, равный Bi - aid, удовлетворял бы неравенствам:

laquo;ЛBi lt;--Ti kCi,

которые являются обобщением неравенств, приведенных на стр. 507 для п = 2 (здесь п - основание системы счисления, ai - наименьшая допустимая цифра, - наибольшая допустимая цифра частного; в данном случае п = 10, ai = -9, laquo;А = + 9). Приведенные правила дают довольно широкую свободу для выбора цифр частного: в интервале -9Ci lt; Вг lt; - 8Ci в качестве цифры частного можно выбирать либо - 9, либо - 8, в интервале - SG В,-

- 1Сг -либо-8, либо --7 и т. д. Нетрудно проверить, что когда делитель нормализован (0,1 С 1), а в каждом цикле деления производится сдвиг остатка влево (вместо сдвига делителя вправо), то для определения очередной цифры частного по указанным правилам достаточно рассмотреть только 2 старших разряда остатка и 2 старших разряда делителя. Иначе говоря, очередной остаток, взятый с соответствующим весом, и делитель достаточно знать с точностью только до 0,01. Следовательно, для определения очередной цифры частного нет нужды производить последовательные добавления или вычитания делителя: ее можно определить в один такт - непосредственной расшифровкой пары старших разрядов остатка и делителя.

Правда, схема расшифровки получилась бы довольно сложной, потому что пара разрядов остатка может содержать 100 различных комбинаций цифр, и 90 различных комбинаций Цифр может содержаться в паре старших разрядов делителя. Кроме того, отыскание очередной цифры частного-это еще половина дела; дальше нужно найти следующий остаток, а для выполнения этой операции в один такт нужно было бы заготовить заранее все девять кратных делителя (числа 1С, 2С, 9С).

Однако описанный способ можно комбинировать с обычным способом деления. Например, если заранее заготовлены два числа, кратных делителю, - 2С и 5С (произведения делителя на особые множители), то при первоначальной расшифровке старших разрядов остатка и делителя жела-



feJibiio выяснить только, в каком интервале лёжМ очередная цифра частного: от - 9 до - 7, от - 7 до - 5, от - 5 до -.2, от - 2 до О, от О до Ч- 2, от + 2 до 5, ш---5 до + 7i от Ч- 7 до Ч- 9. Затем производится соответственно Добавление или вычитание величины 2С, или 5С или обеих этих величин (если цифра частного находится в интервалах от - 9 до - 7 или от Ч- 7 до Ч- 9), а окончательное уточнение цифры частного и величины очередного остатка выполняется последовательными добавлениями или вычитаниями делителя С. Схема предварительной расшифровки старших разрядов остатка и делителя получается при этом сравнительно простой, а максимальное количество сложений или вычитаний, приходящихся на 1 цикл деления, сокращается с 9 для обычного способа до 3.

Аналогичные идеи, развиваемые для системы счисления с основанием п=4, дают фактически возможность ускорить двоичное деление. В четверичной системе избыточным является уже набор цифр частного - 2, - 1, О, Ч- 1, Ч- 2, содержащий 5 различных цифр. Если каждую пару двоичных разрядов рассматривать как один четверичный разряд, то расшифровка нескольких старших двоичных разрядов остатка и делителя позволит в один такт определить одну четверичную цифру, т. е. сразу пару двоичных цифр частного. Все числа, кратные делителю (0,1С и 2С), которые необходимы для отыскания остатка в один такт, также легко доступны (2С -делитель, сдвинутый на 1 разряд влево). Этот способ может быть применен для сокращения вдвое длительности деления в схеме рис. 5-3 (о чем упоминалось в 5.1.4), а также для сокращения количества оборудования и увеличения быстродействия схемы рис. 5-5 по аналогии с тем, как это делалось при выполнении умножения (см. 4.5.3).

Аналогичным образом могли бы быть использованы системы счисления с основаниями 8, 16 и т. д. Как было указано В. А. Бриком, при этом по ряду соображений может оказаться выгодным выбирать в качестве допустимых цифр частного неравноотстоящие и даже не обязательно целые числа. Например, для шестнадцатеричной системы вместо набора допустимых цифр + 15, + 14, . . ., + 1, О, построенного по аналогии с теми наборами, которые предлагались выше для двоичной, десятичной и четверичной систем.



им рекомендуется набор цифр

+ 15, plusmn; 144-, plusmn; plusmn; plusmn; +12, + И, plusmn; 9i-,

plusmn;8, plusmn;б4-, plusmn;5, plusmn;4, plusmn;2-1, plusmn;1,

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

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

5.1.9. Итеративные методы выполнения деления. В разделах 5.1.2-5.1.5 были последовательно рассмотрены логический метод ускорения деления и аппаратные методы 1-го и 2-го порядка, которые рекомендовалось применять совместно с аналогичными методами ускорения умножения.

Однако, например, аппаратный метод 2-го порядка, рассмотренный в 5.1.5, обладает тем недостатком, что он может применяться только на основе множительного устройства рис. 4-11 и не позволяет использовать более быстродействующие многослойные построения множительных устройств; (см. раздел 4.5.4); таким образом оказывается, что ради, получения высокой скорости выполнения деления (примерно такой же, как скорость выполнения умножения), наМ1 приходится снижать скорость умножения.

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

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



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