Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Корнейчук В.И. Арифметические устройства ЭЦВМ учеб. пособие

.pdf
Скачиваний:
11
Добавлен:
23.10.2023
Размер:
4.91 Mб
Скачать

мируемые указанными ранее схемами И.

Распознать третий и четвёртый случай несколько сложнее, так как для этого нужна схема, фиксирующая близость абсолютных величин остатка и делителя. Такой схемой может быть, например, четырёхразрядный сумма­ тор, на вход которого поступают прямой код У и пря­ мой или обратный код остатка. Однако без значитель­ ного ущерба для данного способа ускорения можно не фиксировать третий и четвёртый случаи. Действительно, если у X R i £ у , то это означает, что в одном из предыдущих тактов осуществлялась операция сложе­

ния отрицательного остатка Ry с у

,

в результате

чего

образовался большой положительный остаток. Но в

ртом

случае Rj должен тлеть группу I

в

старших разрядах

ц следовательно, должен быть зафиксирован в качестве второго случая /разумеется при наличии соответствую­ щей схемы/. Правда,при сдвигах по нулям остатка /при быстром получении группы нулей частного/ указанный случай всё те может возникнуть, однако вероятность ртого мала. Следовательно,вероятность появления третьего случая 'ложно считать много меньшей вероят­ ности появления первого случая. Количественные оценки STKX вероятностен подтверждают приведенный выше ка­ чественный вывод.Аналогичные выводы можно сделать

для четвёртого и второго

случаев. Таким образом,

алгоритм ускоренного деления сводится к выполнению

следук'іцих действий.

 

 

1. коли АС = AI = 0,

то в соответствии с пунктом

3 алгоритма деления /см.

§4.1/ определить очередной

остаток, очередную цифру частного и перейти к п.2.

Если АО = I

и AI = 0,

то

-0 и перейти к пункту

2. Если АС

= 0 а Ai

= I , то R- -I и перейти к п.2.

2.Удвоить остаток.

3.Пункты I ѵ; 2 повторить ft + I раз.

Рассмотрим пример. Пусть х = - ^ , у=~ , =-=-,

Тогда

- 69 -

PZ

Такты

ЙО AI

S

РХ

РУ

oo.coooc.oo

 

 

 

 

ос, с: о ш 1

у=о,поіоое

ОС.ССОСООІ

 

 

 

іІО

 

-у=І,С0І1000

00, СОСО!'10

I

0

Сдв.

ООДОСШО

 

 

 

[0

0

11. СОИОСО

 

 

 

 

 

11,1100110

 

СО,СОСО ко

 

 

 

Сдв.

11,1001100

 

00,0001(01

Зт

[0

I

Сдв.

И,ОСИ000

 

 

0

со.исю оо

 

со.сш осп

!

 

 

00 осооооо

 

 

 

 

Сдв. ОС 000G000

 

0 0 ,о к о п с

і \

0

Сдв.

00 осооооо

 

00,1001100

Ст

.1

С

Сдв.

со оооосоо

 

01,0011000

[I

С

Сдв.

00 0000000

 

ІС.ОПСОСО

Г1

с

Сдв. СО СсООСОО

 

I --------------

 

 

 

-ко

 

 

Структура БД, работающая в соответствии с дан­

ным алгоритмом,

показана на рис. 4.2-2,

где КС - ком­

бинационная схема, реализующая функции_____

(+ У) = Х0 ( Л ѴЛ ) f

(+о) = (+ у) v f - y ) ,

(-у)= л

/ Ч

у*

, ) , г ^ Х о - б V л

& -

Сравнивая структуры ЕД, показанные на рнс.4 .1—I и 4.2-2, можно сделать вывод, что по аппаратурным затратам эти ЕД практически равнозначны. Для оценки быстродействия предположим, что цифры 0 и I в любых разрядах частного встречаются одинаково часто и что все группы одинаковых цифр получены по сокращенному циклу и только первые цифры групп получены по полному циклу. В этом случае число сло­

жений на разряд будет равно гг, что является нижней оценкой для числа сложений. Это /как н при умножении/, говорит о высокой эффективности логических способов ускорения деления. Задача. Разработать ЕД, в котором использован как первый, так и второй логический способ ускорения. На основе оценок аппаратурных затрат и быстродействия определить целесооб­ разность использования такого способа деления.

- 70

4 .3. АППАРАТ.ІУК СІЮСОЫІ УСКОРЕНИИ Ш Ш *Я

/1 0 .2 7 /

b предыдущем параграфе било показано,что быстрое по­

лучение групп

0 и I

позволяет

в два раза

сократить число

суммирований.

При £

®

дальнейшего

значительного

ускорения деления путем сокращения числа суммировании до­ биться не удается,т.к. 67% времени деления затрачивается на сдвиги. Поэтому для дальнейшего ускорения деления целесообразно использовать дополнительные цепи сдвига. Так,например,если регистры PZ и РХ снабдить цепями сдвига

на I и 2 разряда,то в зависимости от результата

очередного

вычитания или сложения можно производить сдвиг на I или 2

разряда. Алгоритм деления для данного случая

иллюстрирует

таблица на рис,4.3-1, где

А - комбинация цифр в четырех

старших разрядах регистра

РХ /остатка/; S

-

выполняе­

мая операция; Б - комбинации циф;р в четырех

старших раз­

рядах регистра РХ после выполнения операции

S

R -

количество разрядов,на которое производится сдвиг.

 

Схема Г/,реализующего

данный алгоритм,отличается от схемы на рис.4.2-2 тем,что комбинационная схема /КС/ управляется четьрмя разрядами регистра РХ и помимо (функций +У,-У,±0 /см. формулы / I / ■ из §4.2/, реализует функции

(R = 2 )= (x e х'л X , х г у Х о х'0 х , X z ) Z a ,

z { = х 0 Б ѵ Л , в , г и

а вместо сигнала JJC вырабатываются два сигнала:

( л е і ) ~ ( л с ) * ( к = . і ) ,

= ( л с ) ( Я = 2 ) .

При этом сигнал / Д* =2/ блокируется переменной Z 0 »так как в случае появления маркерной единицы в знаковом раз­ ряде сдвиг можно производить только на один разряд /в противном случае на регистре Pj? будет удвоенное частное/.

Рассмотрим пример. Пусть Х=л|£ ,

у= Х і

, J£= -j~

= і .

, /бО

. №

У

о

Тогда Pi?

Такты А0А, /#= 2/

3

РХ

Pi'

со.оооссоо

 

: W

*

ОС,0100111 У=0,1101000

00,0000001

IT{

• : !

по

-У=1

,0 0 1 Icoo

00,0000010

I 0 0 0 0 СДВ.І

00,1001110

 

 

 

0 0 0

-У.

І І .0 0 І І 0 0 0

 

 

2Т ■

0 I I 0 I

 

11,1100110

 

00,0001001

 

сдв.2

11,0011000

 

 

зт

0 0 0

ОО.ІІОІООО

 

 

I 0 тI 0 сдв.2

00,0000000

 

00,0100110

00,0000000

 

01,0011000

4 1I 0 I 0 0 сдв.2

00,0000000

 

10,01100009

5 I 00 0 0 СДВ.І

00,0000000

 

 

 

 

•ко

 

 

Если при оценке быстродействия исходить из сделанных в

4.2 предположений,

то это даст j ^ c на одну цифру частного.

L

А

s

Б

R

0 O ü U

-0

üOOC 2,

i

O D O ! -0

000t /

 

 

 

т о

/

z

0010-У

nu

2

 

 

 

an 2

 

 

 

oooc 2

3 ООП-0

an 2

OOOC £

 

 

 

ooa 2_

 

 

 

ooo.■i

 

 

 

НЮ /

'/1100 +У a Li

è

 

 

 

au

?.

 

 

 

000b2

 

 

 

an

3

5 1011

<y

от 2

 

 

 

о т

Z

 

 

 

ООО! 1

6 1110 >0 in'6

7

1 UH lO

на 2

Рис. 43-/.

 

 

 

 

4S

 

У,УлУз

 

ОС, ОСг осз

 

OOCzXj /ОО

/О /

n o

///

/о о

t o

t y

t y

Ц У І3 у

/ о /

t o

t y

t y

t У ЦУ

п о

t o

t y

t У t y

t y

m

t o

l i é L

t y

t у

 

 

 

 

 

Рис. Р.3'2 ,

- 72 -

Таким образом.увеличение аппаратурных затрат в БД на вели­ чину примерно равную 2а^ //1+ 2/ позволяет в 1,5 раза сократить количество сдвигов. Введение цепей сдвига на 3 и более разрядов позволяет еще более уменьшить количество сдвигов,однако эффективность данного метода быстро падает, так что введение цепей сдвига более чем на три разряда вряд ли целесообразно.

Сокращение числа суммирований возможно за счет введения дополнительныхсумматоров. Один из способов использования дополнительного сумматора состоит в подготовке с его по­ мощью величин,кратных делителю. Идею использования крат­ ных делителя рассмотрим для случая,когда имеется только одна величина кратная делителю,а именноj -У. Предположим, что в процессе выполнения деления возникла ситуация,при которой очередной положительный остаток близок к делителю, т .е . г.

Это означает,что в очередном такте деления после сдвига будет производиться вычитание. При этом і + I остаток бу­ дет положительным = I и в і + 2 такте необходимо будет производить снова вычитание,т.е.

= £ f ? i - y > 0 ,

*і+ г

2 У ~ ¥ -

и знак операции в і+3

По знаку

определяются

такте деления;

Однако при наличии величины

У процесс

деления можно ускорить. Действительно,последнее выражение можно представить в виде

К ц . г - г ( г * і — $ у )

и далее

Ъ + з = 4 { ? * , - т у ) і У '

Отсюда следует,что при наличии величиныg У в данной ситуа­ ции можно два очередных вычитания заменить одним. Аналогич­ ная ситуация возникает,если очередной отрицательный оста­ ток близок к делителю. В этом случае два очередных сложе­ ніи заменяются одним,а именно(Прибавлением величины -ß- У.

- 73 -

При этом цифра Z('+j =

0,8 £ ^ 2 определяется по знаку

соответствующего остатка.

Получить величину ^

У можно с помощью дополнительного

сумматора или при помоиш основного сумматора и сдвигателя перед началом деления. В последнем случае необходим допол­ нительный регистр для запоминания У. Кроме того, блок деления должен иметь узел,определяющий,какие операции / +0, + У или + ^ У / необходимо производить при данной

комбинации цифр остатка и делителя. Таким узлом может быть комбинационная схема,анализирующая,например, три старших разряда мантисс остатка и делителя и работающая в соответс­ твии с таблицей на рис.4.3-2. Данная таблица не является единственно возможной. Так,при комбинациях цифр 100 и ІОІ, или ІОІ и ПО,или ПО и III можно вместо операции ±У осу­ ществлять операцию +^У. Из всех возможных вариантов таб­ лиц выбирают ту,которая обеспечивает наименьшее число суммирований-вычитаний.

Метод подготовки кратных делителя в сочетании с допол­ нительными цепями сдвига обеспечивает высокую скорость выполнения операции деления. В качестве иллюстрации рассмотрим реализацию данного метода в блоке деления /ГД/ машины "Стретч",в котором использованы все наиболее силь­ ные способы ускорения,а именно:быстрое получение групп нулей и единиц /см .§4.2/,введение дополнительных цепей сдвига и использование кратных делителя. В кажд-.ом такте деления выполняется одна из операций +0, + У, +^У, +-^У. Делитель всегда нормализован.Если в старших разрядах очередного остатка записаны пули,то производится норма­ лизация остатка /т .е . осуществляется быстрое получение групп одинаковых цифр частного/. Для ускорения нормализа­

ции использованы дополнительные цепи сдвига на 2,3,4,5 и

 

6

разрядов. Для этого формируются сигналы

 

( ^ ~

~ •Х'о

= Х 0 X fX ^ Y х о

>

 

(F=3) = Тв х г х г Z jX y х 0 X, х г х / у,

 

( /?= 4)=: Я , Я, Х г £ 3 Х ѵі у

Х 0 X , x z Х3 Х^Ху

 

(

? )

= Хв X , Яг Х3Х9Х ^ у Хд X, х 2 Х3 Х у Х ^ е>

 

(

 

— ХдХ,х-2X.JХ у х г

х 6 Vx 0 x f x t x 3 x y x r x 6 .

 

- 74 -

Сдвиг na '? и oo.'hifc разрядов осуществляется за несколько тактов.Hanjимер,сдвиг au 15 разрядов осуществляется за три такта / в первом и втором - па С,а в третьем - на 3 разряда/. Однако дву':-и седее тактная ног;.адкзацня явля­

ется редким сооыткем,вероятность которого равна всего 0,05. После нормализация осуществляется одна аз операций +У,

± фу или ± ф У . Ппп" операции определяется знаком оче­ редного остатка. і:а выбор того или иноі'С кратного накла­

дывается два ограничения,

ю-перішх,выбор кратных -4

У

или у- У возможен только

в том случае, если заведомо

из­

вестно, что две очередных

операции будут иметь один и

тот

те знак. Ьо-ртоьых,гыбср того или иного кратного должен обеспечивать наименьшее число сум.шрованак-аучнтаний. фля зтого необходимо,чтобы очередной остаток был гак можно олиже к нулю,например,заведомо меньше у . С учетом зтих условии составляется таблица выбора кратных делителя. В Ці&і "Стретч" выбор кратных осуществляется с учетом пяти цжір делителя / У, У> У, Уѵ Уг / трех цп,р остатка /рис.4.3-3/. Легко проверить,что после очередного сумми­

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

вого

остатка. Если осуществлялась операция +У и ^-*0,

т .е .

>.д=0,то зто означает,что -<£• =І,а

и последующие

цифры частного определяются но правилу быстрого получения групп одинаковых цифр и для данного случая равны 0. При

Я/ ^О аналогично получаем Z ; =0, Zj+j , Zl+2,...=I.

Если выбрано ф У,то не зависимо от знака нового остатка,

старый нормализованный остаток был отрицательным и по

 

абсолютной величине

большим чем делитель,поэтому

=0,

а '?/'/./ определяется по знаку нового остатка,

аналогично

можно показать,что

при выборе - ф У первая цифре частного

равна

І,а вторая -

определяется знаком нового остатка.

 

При операциях типа ± у У за один цикл определяется три

 

цифры

частного. Пусть для определенности было

выбрано

 

-■фУ.

Пыбор - ф У

означает,что предыдущий нормализован­

и й -

ЗснБраннае

Знак нобоъо

Ц иф ры

кратное

ост CLm л-CL

част ного

± У

0

І

0 0 0 0 0

/

0

/ / / / /

 

 

 

 

0

0

! 0 0 0 0

 

 

1

0 0

i m

 

 

0

H

оооо

-

н

/

ІО

/ / / /

 

 

0

/ 0 /

ООО

+

f y

/

ІОО

/ / /

 

 

0

ОН

ООО

 

f y

/

0 / 0

/ / /

- 76 -

ный остаток был больше j и меньше У.

Поэтому

вычитание У

из остатка можно опустить,присвоить

=0 и

удвоить ос­

таток. Затем из удвоенного остатка вычесть У,но так как удвоенный остаток больше У,то вновь полученный остаток будет > 0. Следовательно,- ? /// =1 и после удвоения нового остатка необходимо вычесть У. Описанные действия можно выполнить иначе,а именно: вместо удвоения остатка и перво­

го вычитания У можно из неудвоенного остатка вычесть

У,

а затем из вновь полученного остатка вычесть

у" У. Эти

два вычитания эквивалентны одному вычитанию -ф- У. Отсюда

следует,что

при выборе

 

У

Zt- - 0, -</>/=

I,

 

определяется

по знаку

нового остатка. Аналогично при выбо- -

ре +уУ,

= 1,

0

,

а

определяется

по знаку

но­

вого остатка. Результаты

приведенных выше рассуждении

све-*

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

рис. 4.3-4.

Вертикальная черта в последнем столбце табли-

пы отделяет

цифры

частного,полученные в результате полно­

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

частного будет формироваться полным циклом сложения-сдвига, а во-вторых,возникает необходимость работать с ненормали­ зованным остатком. Для устранения этого в случае возникно­ вения указанной ситуации сдвиг производится не на три,а на два разряда и осуществляют операцию +У,т.е. происходит как бы восстановление положительного /отрицательного/ ос­ татка, по знаку которого формируются цифры частного. При этом первая цифра инвертируется.так как при восстановлёнии остатка его знак всегда инвертируется. Остальные же цифры частного формируются при нормализации по знаку восстанов­

ленного остатка. Можно показать,что указанная ситуация воз­ никает, когда У. Отсюда следует другая возможность

- 77 -

устранения трудностей,снизанных с указанной ситуацией, которая заключается ею введении кра'яного делителя,равно­ го +^ У,которая однако в ІОй "Стретч" не исполі-зовчня.

Рлосмотрим

чрі vpp.

 

 

РУ

у г

 

 

iX

 

L.o,ococoeoci

: 0

(.О.ІЧОСТоОІ

У CG,II001('000

 

 

f _ i y

1! .01101 CT00

-У 11,001110000

 

IT

'

GO.ÜÜU'IIIOI

#У 00,100101100

GC.GvOOIGHU

 

о д а .4 (O.IIIGK'OOO

’ V ^

11,011010100

 

 

ll.COIIIGCGO

 

 

 

GO.CCICüOCCO

 

 

OU.OOIOIICTO

 

сдв.2

00,ICC0(4.'CG0

 

 

 

 

~ f y

II.GIIÜIOIGG

 

 

 

зт

 

11,111010100

 

 

о і . о і і о і о о і о

 

СДВ.З

II.IIGKGCCO

 

 

 

4Ті

•f-y У

G'O.ICOHTIOO

 

 

^O.IIOIGOICI

 

сд в .І

I I , IIIG0IIC0

 

 

 

 

■КО

 

 

 

В последнем четвертом такте сдвиг осуществляется на I разряд,так как сдвиг на три разряда привел бы к неправиль­ ному размещению частного.

Из рассмотренного примера видно,что для получения 10 цифр частного потребовалось всего 4 такта. В среднем же дан­ ный метод обеспечивает получение 3,5 цифр частного за один такт.т.е. время деления будет

пПримерный состав= S,Sаппаратурных+ затрат,необходимыя для реализации рассмотренного алгоритма деления,показан на рис.4.3-0. Регистры Р и РХ имеют цепи сдвига на 1 ,2 ,..,5 п 6 разрядов. Выдача на сумматор +У или -У осуществляется о регистра РУ, а кодов +^У или +^У - с регистра РУ че­ рез сдвигатсль С. Блок местного управления Д;.У/ состоит из цепочки линий задержек tf , t2 и Cj и комбинационной ' схемы.вырабатывающей указанные на рис. 4.3-5 управляющие сигналы.

Задача.Разработать БД.использующий кратные делителя типа

±1, + £ У»+ ^ У и + ^ У

- 78 -

Соседние файлы в папке книги из ГПНТБ