Главная > Прикладная теория цифровых автоматов
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
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
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

4.12. СПОСОБЫ УСКОРЕННОГО ДЕЛЕНИЯ

Необходимость ускорения деления следует из наличия весьма эффективных методов ускорения операций умножения и алгебраического сложения. Способы ускоренного деления делятся на две группы: для первой группы в каждом цикле формируется одна или несколько цифр частного и новый остаток; вторая группа способов предполагает выполнение деления через умножение или с использованием другой процедуры.

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

Пример. Будем считать для простоты, что операнды заданы в виде целых чисел:

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

Правомерность подобного изменения алгоритма деления основывается на том факте, что остаток после выполнения шагов обычного алгоритма деления при совпадении к старших цифр остатка и делителя В определится как

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

Пример. Заданы обычное; б) ускоренное деление

Таблица 4.5

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

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

Если А — делимое; делитель, то на основании (4.22) для остатка справедливо:

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

Проверку всех четырех условий в принципе можно выполнять одновременно. Однако для этого требуется сравнительно большой объем оборудования: цепи сдвига для передачи В и прямым и инверсным кодом, регистр для формирования и хранения утроенного делителя — цепи для передачи прямым и инверсным кодом и три сумматора.

Можно уменьшить объем оборудования, если учесть, что в большинстве случаев вывод о принадлежности к тому или иному из указанных в таблице диапазонов можно сделать путем анализа не всего делителя В и сдвинутого остатка , а только нескольких старших разрядов. Поэтому дальнейшим развитием изложенного алгоритма является определение каждой пары цифр частного исходя из анализа нескольких старших разрядов делителя В и сдвинутого остатка . При этом, если старшие разряды остатка совпадают со старшими разрядами делителя, предполагается, что принадлежит к области с наибольшим значением пары цифр частного и, исходя из этого, находится остаток Если — отрицательный, это означает, что получена величина остатка, уменьшенная на В:

Тогда коррекция остатка производится следующим образом. Если раньше проверялось условие

где то теперь должно проверяться эквивалентное ему условие

Таблица 4.6

Окончательные правила проверки условий представлены в табл. 4.6.

В тех случаях, когда в ЭВМ обеспечивается большая скорость выполнения операции умножения, может оказаться целесообразным вместо операции деления применить один из итеративных способов определения частного, основанных на использовании операций только сложения и умножения. В отличие от способов деления, рассмотренных выше, методы, использующие умножение, на каждой итерации уточняют приближение, а не определяют очередную цифру частного. Один из наиболее простых способов этой группы сводится к серии итераций, в каждой из которых делимое и делитель умножаются на один и тот же множитель, в результате чего частное не изменяется. Целью этих итераций является преобразование делителя, первоначально равного В, а в конце итерации — в число, отличающееся от единицы не более чем на единицу младшего разряда. Если для этого потребуется итераций, то делимое А, а в конце итерации — по окончании итерации будет с точностью до младшего разряда равно частному , т. е.

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

т. е.

где

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

В качестве множителя для итерации выбирают

который с учетом (4.31) равен

В результате умножения получим для делителя в конце итерации новое значение

Из (4.32) и (4.33) следует, что

т. е.

Из (4.34) следует, что после каждой итерации количество точных разрядов частного удваивается. Поэтому достаточно сравнительно небольшого количества итераций, чтобы все разряды частного стали точными. Таким образом, исходной информацией для каждой итерации являются преобразованные в предыдущих итерациях делимое и делитель Содержанием каждой итерации являются: определение множителя как дополнения делителя до 2; умножение делителя на умножение делимого на

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

Ускорение операции деления может быть также достигнуто путем выполнения устройства для деления в виде итеративной сети, простейшая модификация которой показана на рис. 4.14 [15].

Каждый элемент сети (рис. 4.14) содержит сумматор и элемент «исключающее реализующий функцию и управляющий вводом делителя В в сумматор (рис. 4.15).

Шестиразрядное делимое трехразрядный делитель и

Рис. 4.14

Рис. 4.15

каждый остаток (последний остаток ) представлены в дополнительном коде. Предполагается, что делимое и делитель являются положительными нормализованными дробями. Поэтому частное есть положительное число, лежащее в диапазоне целая часть числа. Каждая цифра частного является управляющим сигналом для следующей строки матрицы, определяющим, какую операцию (сложение или вычитание) нужно выполнять в этой строке. Вычитание, как видно из рис. 4.14 и рис. 4.15, выполняется путем формирования дополнительного кода делителя.

1
Оглавление
email@scask.ru