Файл: Корнейчук В.И. Арифметические устройства ЭЦВМ учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.07.2024

Просмотров: 104

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Таким образом.увеличение аппаратурных затрат в БД на вели­ чину примерно равную 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 -