
книги из ГПНТБ / Корнейчук В.И. Арифметические устройства ЭЦВМ учеб. пособие
.pdfгде |
В = |
- f j |
, |
Ы - параметр |
аппроксимации. Тогда |
|||
|
|
2< *р |
.../г » |
_ Л _ 2 ( 2 « q * + t - i ) |
||||
|
|
|
||||||
|
|
|
M (R K ) - |
4ы $ # ' £ * +*) |
||||
Величина ос$*- |
|
|
2 |
7 |
|
|||
а ^ |
- |
[Со?к A /J x ео9 * А/ = |
. |
|||||
Отсюда |
. |
|
, |
|
Z' |
|
||
где - |
Л |
м(**)~1£к’ |
|
|||||
= .^ 0 |
1 |
, |
- |
константа, зависящая от диапазона |
||||
представления |
чисел в |
ЦВМ. Следовательно, среднее числб |
сдвигов при выравнивании порядков обратно пропорционально логарифму основания системы счисления. Причем А равно или близко к 3.
Для суммирования мантисс требуется время СѴ |
|
пример |
|||||||||||||
но равное времени получения разности |
порядков |
t t |
,т .е .' |
||||||||||||
t 0 ~ |
. Оценил теперь |
среднее |
время |
І/м |
»необходимое |
||||||||||
,пля первой нормализации. Для этого необходимо знать |
|||||||||||||||
среднее |
число |
М f Qu) |
сдвигов |
при нормализации. Для |
|||||||||||
оценки М (Я к ) |
предположим,что |
операции |
сложения и вычи |
||||||||||||
тания, а |
также |
знаки / + |
/ |
и / —/ |
чисел X и У встречаются |
||||||||||
одинаково |
часто. Не ограничивая общности можно считать, |
||||||||||||||
что |
£ |
£ у |
и,следовательно,после |
выравнивания |
|||||||||||
порядков для мантисс X и У будут справедливы неравенства |
|||||||||||||||
|
|
< ? < / * / < / , |
|
|
|
|
|
|
/2 .4 .1 / |
||||||
Среднее число М ( У^сдвигов равно |
|
|
|
|
|
|
|
||||||||
y |
£ |
|
/if- w fQ ^ і)сй Z |
|
Ш ф к = |
|
і |
) |
* |
ixf |
wf az f ) , |
||||
{s-f |
|
1 |
(=-/ |
|
|
|
|
|
|
|
|||||
где Ix/fQfi —Ü |
- вероятность нарушения нормализации на |
||||||||||||||
L разрядов |
вправо. |
|
|
|
|
|
|
„ |
|
|
|
|
|||
Легко |
видеть,что |
|
|
|
/ |
|
і |
|
|
|
|
Если мантиссы X и У статистически независимы и равномерно распределены в области / 2 .4 .1 /,то
- 19 -
тепла |
Ф * )= K + i , 4к г- 5 |
к+ Ъ |
|
Ух~ * 4(к+ <)(л-if- |
ч (к -О |
Для опенки tL uи tLZff предположим,что в |
каждом разряде |
|
іяола с |
равной вероятностью может быть |
как 0, так и I . |
педовательно,округление приводит к образованию переноса н младший разряд с вероятностью . Поэтому = ту Нарушение нормализации после округления возможно только
•> глучае,когда во |
всех |
разрядах результата будут I . Ве- |
||||
ѵ'іятность |
этого события равна-57577 » |
0, Следовательно; |
||||
4 |
Ä |
О |
. Таким |
образом, |
|
|
■?п |
t+ = t t + M ( R * ) t t + t c + |
4 = |
||||
|
||||||
|
|
|
_ Г f |
. f 3 , A-+3 |
) f |
|
|
|
|
~ "г Lc * ( f r x * 4(K -t) J иг ' |
|||
При K=2 |
и 4 |
- 4 |
, |
t + a f a + ? ) t c i |
||
г,е . при |
сделанных предположениях суммирование кодов с |
іпввающей запятой в 4-5 раза является более длительной 'Перацией,чем суммирование с фиксированной запятой, Чапача. Произвести все пропущенные при выводе формул для
и /V ( Q к) |
выкладки. |
,5, СТШИРУДПИЕ ЕДОКИ |
ПОСЛЕДОВАТЕЛЬНОГО ДЕЙСТВИЯ / І . 2 І / |
Гак же,как и в параллельных блоках,в последовательных ■умчирупцих блоках /СЕ/ операции могут проинводиться в пря- ■ніх и дополнительных кодах. При операциях в прямых кодах лля реализации вычитания в свою очередь могут быть ис пользованы как дополнительные коды,так и обратные. В пер вом случае с некоторой вероятностью результат может по
лучаться в |
дополнительном коде. Поэтому |
в среднем потре |
буется / |
I тЧѴ/ тактов суммирования п - |
разрядных чисел |
/с м .§2.1/* |
При использовании обратных кодов для реализа |
ции циклического перенося также требуется два такта сум мирования, Вследствие этого реализовать операции в прямых кодах в СБ последовательного типа нецелесообразно. В ка честве примера рассмотрим СБ,работающий с числами,пред ставленными дополнительными кодами. Алгоритм суммирова ния и MAC описаны в 2.2 . Отличие, в данном случае, состоит
- 20 -
в том,что МО выдачи кода с регистра X и У /1ЖРХ/ и /ВКРУ/ сводится к выполнении / П+ 2/ МО правого сдвига /П С /.т.е.
|
* ( В К Р |
х ) - ( н о ) і ‘( п с р х }(+ іс с )(с с =п + г) f ( x o ) t |
|
где /СС=/7-/-2/ |
- логическое условие "состояние счетчика |
||
сдвигов |
= /7 /2 " . |
|
|
Аналогично реализуются МО /ВКРУ/ |
и /ВОКРУ/. Схема СВ по |
||
казана |
на рис. 2 |
.5 -1 . ВМУ видает |
/п+ 2/сигнала ПС,после |
чего вырабатывается сигнал КО и,в случае необходимости, сигнал переполнения Q . Следовательно:
, |
t + - ( t z + t c ) ( п + г ) , |
р |
|||
где £•£- |
-время прохождения сигнала через £ |
, |
|||
длительность такта сдвига. Следует отметить,что если |
|||||
подсчет |
сигналов |
ПС вести |
в точке І,то потребуется СС с |
||
/ 7 / / |
,а |
не с |
/ 7 / 2 |
состояниями,что |
несколько |
упростит |
его |
схему. |
|
|
|
,Нля построения |
данного |
СВ требуется |
|
с-(2 а , + 2а6) п + а э [£одг (п + г)] //3af /а ^ а 6 //S0p +3as}
урловных единиц аппаратуры. Сравнивая полученную величи ну С с аппаратурными затратами,необходимыми для реали зации СБ параллельного типа,можно сделать вывод,что аппа
ратурные |
затраты уменьшаются всего лишь примерно в 2 |
раза,в то |
время,как производительность падает более,чем |
в п раз. |
|
Задачи. I . |
Нарисовать временную диаграмму работы СЬ,по |
казанного |
на рис. 2 .5-1. |
2. Разработать СЬ.работающий с числами,представленными
в обратном коде. Оценить аппаратурные |
затраты и быстро |
действие полученного СБ. |
. |
Рас. 2 5 -1
3 . ЕДОКИ ДЛЯ УМНОЖЕНИЯ ЧИСЕЛ |
|
|
3 .1 . ОСНОВНЫЕ МЕТОДЫ РЕАЛИЗАЦИИ УМНОЖЕНИЯ ЧИСЕЛ |
В ПРЯ |
|
МЫХ КОЛАХ |
/1 .7 / _ |
|
При умножении чисел в прямых кодах знаковые |
разряды |
и разряды мантисс обрабатываются раздельно. Для определе ния знака результата производится суммирование цифр.запи санных в знаковых разрядах операндов. Умножение мантисс можно производить с младших разрядов множителя либо со старших. При этом можно сдвигать сумму частичных произ ведении либо множимое. Вариации указанных возможностей дают четыре основных метода умножения. Рассмотрим каж дый из них в отдельности.
Пусть |
=О, |
г г ..} Х п = Е х г 2 |
І^ |
ггуогуа |
Z |
=у х = |
у ( Х , 2~'+ Хг 2~г+. .. |
+ |
х п г ~п)= |
=г ~'fу х , *«?-'(у х г +2 ' '(уХ 3 + .. + 2 -/( fX ,„_f+2 ~'(ухп +0)..)
Отсюда следует,что умножение можно производить по следу
ющийрекуррентнымформулам |
По ~ 0 у П{ =(п0 +у x nj . 2~' |
|
пгФ ,+ У * п -,)2 ~ '> - • •; |
Пс+, ~(Г7{ +у х п -і )2 .. . |
|
І= П „ = (Л „ -, + у х ,) 2 ч , |
||
т .е . умножение сводится к |
п -кратному повторению цикла |
|
Л(+1 =(П( + У *п- і)% * |
Оf і = 0 . • |
|
при начальных условиях |
П0 - |
-Такой способ принято называть умножением с младших раз рядов множителя и сдеигом суммы частичных произведений.
Для реализации умножения по этому способу необходи мо иметь РУ с цепями выдачи кода /ВК/>ДДя реализации
умножения на X/?-t |
, сумматор Z |
для реализации сложе |
ния П і- і с УХ п - і |
> регистр |
РіГ с 2п разрядами |
ицепями сдвига вправо для реализации умножения на
ихранения П/ _ / и сдвиговый регистр РХ для хранения и просмотра множителя X. Составим микроалгоритм реализа ции операция умножения /МАУ/ на указанных узлах
(M 9)={//0)(rCC)f(e*Py)(örPZ){0r„ РХ)f ,(ПКР2}І'(/ГТСр ф ісс) f ЛСРХ)(СС = n ) f Z(fcO),
где OT/,PX - выход 0 триггера 1П младшего разряда РХ,
- 22 -
СС - счетчик сдвигов. |
|
|
Схема,реализующая МАУ,показана на р и с .З .І-І. Так как |
||
сдвиги в РХ и Р^осуществляются в |
одну и ту же сторону,и |
|
РХ но мере сдвигов освобождается, |
а РіГ'заполняется, то |
|
функции РХ и Рг'могут быть совмещены в |
одном регистре РХ |
|
/см . пунктир на р и с .З .І -І/. Вследствие |
этого минимальные |
|
аппаратурные затраты на реализацию данного МАУ будут: |
||
с, —(За., +ZcLzf dg- +2cig)п + |
nJ+fa-' +a.], + а ч + a r + |
4-3di+ ¥<х7 +-а-е)=А,п+а.9 [еодг п]+ & ,,
а быстродействие
, |
/ |
* y = n ( ^ c * |
); |
где Гуі и |
- |
длительность |
тактов соответственно сложе |
ния и сдвига. Коэффициент эффективности при |
этом будет^ |
|||||||
|
|
|
|
. |
/ |
|
|
. |
|
* |
“ |
n ft+ + t c X J , n + a s |
Cfoffz nJ+ R t • |
||||
В качестве |
примера рассмотрим цифровую диаграмму ра |
|||||||
боты данного |
блока умножения. |
В = |
|
П~ 4. |
||||
Пусть Х = ^ |
|
и У= |
.Т о гд а |
. |
||||
Регистр X |
ІТЛРХ |
Регистр У |
Регистр? |
Регистр^ Сч.сдв. |
||||
,1011 — — |
I |
|
1100 |
00000 |
0000 |
000 |
||
|
|
НО У |
|
о ііо о |
|
|
||
0101- |
|
I |
Сдв. |
|
о о ііо |
0000 |
001 |
|
0010 |
|
|
У |
|
І00І0 |
|
|
|
|
0 Сдв. |
|
0І00І |
0000 |
010 |
|||
0001 |
|
|
0 |
.01001 |
|
о н |
||
. |
I |
Сдв. |
|
00100 |
1000 |
|||
0000 |
|
|
У |
|
10000 |
|
|
|
|
0 Сдв. |
|
01000 |
0100 |
100 |
|||
0000 |
|
0 КО |
|
01000 |
0100 |
100 |
||
При втором методе умножения Z |
представляется в виде |
Z = 2 ~ n( y 2 ”- ,3Cf 4 - у 2 п ~гх г Л . .+ 9 2 'х п -, + У 2 °Х п ) =
-2 ~ п(Уп-г X , -h Уп-г 'X z+...-h yf x „ - r -f- У о х „ )
где у - - у . 2 1 =Уі_г 2 .
Следовательно,умножение по этому способу сводится к кратному выполнению цикла
+■ У і - ^ ы . X = ? ѵ 2 -
- 23 - ■
- 24 -
при начальных условиях і - 0, \jQ = У, U0= 0. Такой спо соб принято называть умножением с младших разрядов множи теля и сдвигом множимого. Составим ЫАУ по такому способу
(мяу) =(но)(ГСС)і2(дЛРУ)(зхРг)(отпрх)/ '(пкрг)і 'fjcpy)
(псрх)(+ісс)(£с^п) і г(ко).
Схема.реализующая данный МАУ,показана на рис.З.І-Х . Осо
бенностью схемы является наличие |
2 игразрядов в |
регистрах |
|||
РУ, Р / и Е |
сумматоре. Регистр |
Р.? должен |
быть |
сдвиго |
|
вым,так как |
только в |
сдвиговом регистре возможно осу |
|||
ществить выдачу кода |
и прием через £7 |
этого |
же кода. |
Преимуществом схемы является неподвижность суммы частич ных произведений, вследствие чего, определять конец опера
ции /КО/ можно |
по 0 регистра РХ /см.пунктир |
на |
рис. |
3 .1 - 2 /,т .е . отпадает необходимость в счетчике |
СС |
и,кро |
|
ме того, можно |
совмещать операцию сдвига с операцией |
суммирования. Как первое,так и второе повышает быстро
действие и |
упрощает |
ЕіѴУ. |
|
|
|
|||
Если |
> |
t c |
,что |
обычно |
имеет |
место,то отгадает |
||
необходимость в ЛЗ |
t 3 |
,а |
сдвиговые |
импульсы совме |
||||
щают с |
сигналами |
Н0£" |
/см . |
пунктир |
на |
рис.3 .1 -2 /. Оце |
ним повышение быстродействия от того,что КО вырабатыва
ется |
по 0 РХ. Пусть С |
и I |
в |
любом разряде встречаются |
|||||
с равной вероятностью. Тогда вероятность наличия і |
|||||||||
нулей в старших разрядах РХ равна |
. Отсюда среднее |
||||||||
число |
0 равно „ |
|
, |
|
|
«> |
|
/ |
|
|
£ |
/ |
' ^ ' |
- |
|
Е |
L — . M . |
|
|
п |
|
** |
- |
2 “' |
|
||||
Г=Ѵ |
- |
2*-" |
|
< =/ |
|
|
Следовательно,в среднем операция умножения будет длиться п-Я? такта. В силу сказанного
Сг =(Уа/ ^ 4 а г +2 а ѵ +2*0.^-h3asj n + 2 а 6 /■ ?га 7 -J?2 n+ Ö z ,
|
<? |
M2n -f-âz ‘ |
Ври третьем способе умножения Z представляется в виде |
||
г =2 ' |
.{{ух., г " - % |
у х г 2 п -2)+ . |
Вынося за скобки 2 в максимально возможной степени полу
том, что умножение |
сводится к |
п -кратному выполнению |
|||
цикла |
/г . |
= |
/7. |
2 + иэг ■ |
|
|
" і + і |
|
V |
^ |
+ і |
- 25 -
при начальных условиях / = О, |
= 0. Такой |
способ по |
лучил название умножения со |
старших разрядов множителя |
|
и сдвигом суммы частичных произведений. МАУ |
по данному |
|
способу будет иметь вид |
|
. |
(Я Я У ) = (H 0 X rcc )t2(âKpy){3](PZ){0Tl P x )t (П К Р Ю Н Л С Р І)
(JC P X )(+ JC C )(c c T h ) і г(к о ).
Схема,реализующая данный МАУ,показана на рис.3 .1 - 3 .'Осо бенностью ее является то,что регистр P Z ' выполняется в виде счетчика,так как при суммировании возможно появле
ние I переноса в младший разряд РZ ' . Так как |
сдвиги |
в РХ и РЕ' осуществляются в одну и ту же сторону,то |
|
функции Р 2 ' может взять на сёбя РХ-,при этом его |
длину |
надо увеличить на I,чтобы перенос из старшего разряда суммы частичных произведений не попал в младший разряд множителя. Отсюда следует,что
Cj = { 3 а + 2 а .г + а у + а г Р 2 а в + сх9) п + а &[& ?г г>] +
3а 6 + ? а 7 YcZß |
t y = n ft+ + t c). |
|
При четвертом способе ? |
представляется в виде^ |
|
? = * :,• Yf-t-х г уг + ...+ х п . , у „ - г |
+ л z„Y» , |
|
где Y;= y-2 -< = |
сводится к |
гь - кратному пов |
Следовательно,умножение |
||
торению цикла |
|
|
n r n i . t + X iY i , Yc = Y i - / 2 |
||
при начальных условиях |
L = I , У0 =У, П,,=0. |
|
Такой способ называется умножение со |
старших разрядов |
множителя и сдвигом множимого. Умножение сводитоя к реа лизации следующего микроалгоритма:
(м яу)= . (HO){rCC)tz(nCPy)(BPPyXB*PZ)for, РХ) / '
/'(/т к р 2) У ( а с р х ) { + fc c )fc c =Л ) t Zfk o )
Схема,реализующая этот алгоритм,показана на рис.3.1-4. |
||
Так же,как и во втором методе,здесь конец умножения |
||
можно определять по 0РХ,а суммирование совмещать со |
||
сдвигом. Вследств’йѳ |
этого t у = f n - |
2 ) t у. |
Cv ~ (Sat +4a z +2ссу |
-t-Bctj. -Р3а#)г?+ |
2а6 ктга'7 = |
=/Jv n + ö y . |
/ |
* |
M t,f> + 8 y )(p - 2 )ty |
- 26 -
- 27 -
Оценки аппаратурных затрат были произведены для
олучая, когда необходимо вычислить 2-п |
цифр произведения г |
|
Однако в ЦВМ часто требуется вычислять |
не 2п ,а только |
|
n-fi |
цифру произведения и производить |
окрутлепие до п |
ііифр. |
С учетом этого,аппаратурные затраты на построение |
|
ГУ в |
некоторых случаях могут быть уменьшены. В первом |
и третьем блоке умножение такого упрощения добиться нель
зя,так как ііушсции регистра |
РИ* выполняются регистром РХ, |
|||||
Во второй схеме сократить аппаратурные |
затраты |
можно |
||||
за счет |
укорачивания |
регистра PZ и £ |
. При этом указан |
|||
ные узлы |
будут иметь |
длину |
п + к |
разрядов,где |
К опреде |
ляется из условия,чтобы погрешность от укорачивания не превосходила половины младшего разряда. Известно,что для этого К должно удовлетворять следующему неравенству
К1 + €о<?2( п - К - 'f) .
і!ля 23 é п *' J9, |
К=6. |
В этом случае |
|
|
|
СгУ 9а, +3аг + 2av |
+ J a s) n + i |
+ |
+ |
. |
|
Наибольшего упрошения можно добиться в четвертой схеме |
|||||
БУ,так как в этом случае |
укороченным может быть |
также |
и регистр РУ .т.е.
С уф а ,+ 2 а г +а9 +аг +2ag)n * ф а ,+ 2 а г + ач у-оГ -ш ф 2 а с ^ .
Сравнивая аппаратурные затраты,быстродействие и коэффи циенты эф]активности,можно сделать вывод,что схема БУ, построенного по первому способу,является наиболее прос той,а БУ.построенный по четвертому способу,наиболее эф фективный. Вследствие этого первый к четвертый способы построения БУ нашли наибольшее распространение.
При умножении чисел,как правило,возникает задача округления результата до /7 разрядов. Осуществить эту операцию можно путем добавления I в старший отбрасыва емый разряд,для чего требуется время,равное времени суммирования двух чисел. Более удобным методом округле ния является запись I в тот разряд,который после умно жения окажется старшим отбрасываемым разрядом. Например, для первой схемы БУ таким будет первый разряд PZ, а для четвертой схемы— п + і .
Взаключение отметим,что помимо высокого быстродей-
-28 -