
книги из ГПНТБ / Корнейчук В.И. Арифметические устройства ЭЦВМ учеб. пособие
.pdfII11I0 |
сдв. |
и , 1010 |
поо |
100 |
|
-У |
00,1000 |
1100 |
|
I I I II I |
сдв. |
00,0100 |
Clio |
101 |
|
+ 0 |
00,0100 |
оно |
|
|
|
|
1 |
ко |
Блок умножения /КУ/,реализующий данный алгоритм,отличает
ся от БУ на рис.З.З-І способом Армирования сигналов |
|
О, -У,+У,т.е. |
|
(S = + y )~ {O T n P X )(/ т +/ РХ); |
|
( s = - у ) = ( / тп р х ) ( о т л + , р х ) , |
|
(S = + o)~ (s =+У v(s=- р) , |
|
и тем,что знаковые разряды РУ соединены с Z. |
и отраба |
тываются так же, как и основные разряды. Легко |
видеть, |
что все рассмотренные ранее способы ускорения умножения применимы и при умножении чисел в дополнительных кодах. В частности,преобразовать множитель можно таким обра
зом, чтобы значащие цифры |
никогда не были соседними. |
|
||
Например, |
№ |
= I ,1011 |
= 0,7 ір / = 0,0/0/ ,т .а, |
чис |
ло сложений,вследствие этого,можно сократить до -j- |
на |
|||
разряд. |
|
|
|
|
Задачи. I . Разработать БУ,работающий в соответствии |
с |
|||
приведенной в данном параграфе цифровой диаграммой. |
|
|||
2. Разработать БУ для умножения чисел в дополнительных |
||||
кодах со |
средним .числом суммирований на разряд,равным - j- . |
- 49 -
3 .8 . ПОСЛШВАТРЛЬНЫЕ ШОКИ УМНОЖЕНИЯ [/ ,2 <9, 29]
В специализированных вычислительных машинах нашли применение АУ последовательного типа. Вполне естественно,что в таких устройствах используются блоки умножения /БУ/последовательного типа. Особенности построения та ких блоков выясним на примере БУ на динамических регист рах, в котором осуществляется умножение с младших разря дов и сдвигом суммы частичных произведений,хотя приме нительно к последовательным БУ этот метод можно было бы интерпретировать и как умножение с неподвижной суммой. Как уже отмечалось,микрооперация выдачи кода с последо вательного регистра сводится к «-кратному’ сдвигу сло ва. Сдвиг двух слов друг относительно друга на один разряд также осуществляется путем /г -кратного сдвига каждого из слов , при этом один из регистров удлиняется на один разряд. В остальном микроалгоритм /МА/ работы последовательного БУ подобен МА работы параллельного БУ и поэтому здесь не приводится.
Схема БУ показана на рис.3.8-1. Сигнал начала опера ции /НО/ должен подаваться на ЕУ в момент времени,ког да числа в РХ и РУ занимают исходную позицию /т .е .
младшие разряды чисел находятся в младших разрядах ре гистров / . Взаимный сдвиг.частичных произведений и множимого осуществляется путем удлинения регистра РХ на один разряд и использование счетчика тактов /СТ/ с периодом Т = /п + І /, Триггер ТТ служит для запоминания очередной цифры множителя и управляет подачей множимого на сумматор. Триггер ТІ в конце каждого цикла умноже ния устанавливается в ноль сигналом " tt СТ",а запись очередной цифры множителя осуществляется в момент действия сигнала "О СТ". Поочередная выборка цифр мно жителя осуществляется за счет того,что период СТ на I больше,чем число разрядов в регистре РХ.
В конце каждого цикла по сигналу "/гСТ" цифра младшего разряда частичных произведений поступает на регистр РZ*. Поэтому после окончания умножения старшие разряды
- 50 -
- 51 - •
произведения |
будут находиться в регистре P f ,а младшие |
|||||
в регистре |
P f'. В качестве |
регистра, Pf W SHO использо |
||||
вать регистр РЛ. |
|
|
|
|
||
Для получения сигналов |
"О СТ"'и "я-СТ" |
первое и |
||||
последнее |
состояние |
СТ |
дешифрируется. |
|
||
Сигнал "КО" конца умножения вырабатывается |
счетчиком |
|||||
циклов /СП/. |
|
|
|
|
|
|
Аппаратурные |
затраты и быстродействие БУ |
могут быть |
||||
представлены |
выражениями: |
|
|
|||
С=(3а, |
3ag)n-hfaf-i-ar tZо6 +13&?)+ |
|||||
+ [ Ц г ("+ 1)]), |
t y |
= f a Z+ |
) • |
Сравнивая полученные выражения с соответствующими выра жениями для параллельных БУ,можно сделать вывод,что аппаратурные затраты уменьшились не более,чем на поря
док / -$ 10/,в то время как |
t y |
увеличилось |
примерно |
в п. раз, т.е. коэффициент |
эффективности Д э / |
последо |
|
вательных БУ всегда меньше,чем КЭ |
параллельных ЕУ. |
Задача повышения быстродействия в последовательных БУ,как правило, не возникает. Если же такая задача и возникнет,то ее легко решить методами аналогичными способам повышения быстродействия в параллельных БУ, например, путем умножения на два и более разрядов. Задачи. I . Построить цифровую диаграмму БУ,показанного на рис.3.8-1.
2. Разработать БУ последовательного типа с умножением на два разряда. Построить цифровую диаграмму полученно го БУ.
е м я
См. |
1Т / |
t i 1 |
1 1-J |
|
с с |
|
КС |
|
Ап |
Пи /і 1 1 і' |
|
__ р * |
м и « 1 |
*к ■ Рис. 3.9-2
- 52 -
3 .9 . ДЕСЯТИЧНЫЕ БЛОКИ УМНОЖЕНИЯ
Наряду с двоичной системой счисления в ЦЬМ часто используется десятичная система, для представления од ной десятичной цифры в ЦВМ выделяется т ^ 4 Рит. Де сятичные блоки умножения /БУ/ строятся на тех же прин ципах, что и двоичные,т.е. имеется четыре основных спо соба реализации ЕУ,каждый из которых имеет свои преи мущества и недостатки,аналогичные преимуществам и не достаткам соответствующих двоичных ЕУ. Особенности де сятичных БУ состоят в том,что сдвиг осуществляется од новременно на т двоичных /один десятичный/ разрядов и в каждом такте умножения'.в зависимости от значения оче редной цифры множителя осуществляется несколько сложе ний множимого с суммой частичных произведений.
Для определенности предположим,что умножение осу ществляется по первому способу. По аналогии с соответст вующим двоичным способом составим микроалгоритм /МА/
умножения ' |
|
|
ID |
(нвѵ) =(Н0)(ГСс)і3(Яр |
|
0)t r(BKPy)(ÖKPZ){wpB) |
|
(-ІЛп)(я„ = 0) t V ft7 cp |
z)(n cp x)(+ /cc)(ct^n )f3(i(0) , |
||
|
= |
|
где kfc -переменная,характеризующая состояние последне го десятичного разряда регистра РХ; /А/t - 0/ - соот ветствующее логическое условие; / - ІАЛ/ - микроопера ция уменьшения значения переменной Ая на I .
Структура БУ,реализующего данный МА и построенного на базекомбинационного сумматора,показана на рис.3.9-1. Суммирующий блок /СЕ/,как обычно,состоит из двух ре гистров РУ и PZ и сумматора / £ / . Регистры YZ и РХ снабжены цепями сдвига на один десятичный разряд. Для реализации микрооперации / - ІДц/ последний деся тичный разряд регистра РХ выполнен в виде счетчика,по
коду нуля в котором осуществляется переход к микроопера ции правого сдвига /ПС/. Если предположить,что цифры.
0 ,1 ,...,9 появляются во всех разрядах РХ с равной веролт-
- 53 -
лостью.то на каждый сдвиг в среднем приходится 4,5 суммирований,т.е.время умножения будет равно
= л ( ^ с ^ ) • / і /
При этом аппаратурные затраты определяются выражением
с =[3а, -hZazi-avi-as -ь2ав)уп +а9(</-/-[£орг п])+
-rfy<i/ +-4ct2 +YaY+-yas +JQg+94pJ-Yaq). / 2/
При подсчете аппаратурных затрат предполагалось,что на представление одной десятичной цифры выделено минималь ное количество бит,а именно 4. Вследствие этого:число разрядов f t взято с коэффициентом 4. Сравнивать деся тичные и двоичные БУ имеет смысл только в случае,когда они работают с числами..представленными с одинаковой
точностью. Пусть & |
будет точность,с которой заданы |
|
мантиссы чисел |
, |
. |
S ' ег |
m /t7 ! ■£/ |
JCg/ . |
где Х / и X^ -ближайшие неравные друг другу числа. Отсюда следует,что S' равна I младшего разряда,т.е.
где К - основная система счисления, /^-количество раз рядов в числе, соответствующих заданной точности S ' их представления. Следовательно
П
При К = 10 и К = 2 получаем л , * n , o = - f y S , пг = - - § р >
т -е* П/о = П г% г= 0,3*Л г .
Если полученные величины подставить в формулы / I / и /2 /, то можно сделать вывод,что десятичные £У примерно вІ,2 /4*0,3/ раза сложнее и примерно в 1,5 раза /при менее быстродействующее. Эти выводы еще в большей сте-
пёни справедливы для второго и четвертого способов пос троения БУ,так как в случае их использования выигрыш в быстродействии от .совмещения тактов суммирования и сдвигов дает незначительный эффект из-за того,что
- 54 -
Вследствие этого. наиболее эффективными являются деся тичные КУ, построенные по принципу умножения с младших разрядов множителя и сдвигом суммы частичных произведе ний. Наиболее сильным логическим способом ускорения умножения,как и для двоичной системы счисления,являет ся метод преобразования множителя. Применительно к де сятичной системе этот метод состоит в представлении цифр,больших 5 ,с помощью отрицательных цифр. При этом 6 представляется как 14, 7 как 13, 8 как 12, 9 как И . Например:
0,593497 = 1,4/3503.
Ь'сли при умножении на первое число потребовалось бы 5+9+-ЗН+9+7 =37 сложений,то во втором случае для этого требуется всего I+4+I-K3+5+0+3 = 17 сложений-вычитаний. В общем случае среднее число суммирований на один раз ряд сокращается с 4,5 до 2,5. К оборудованию,изобра женному на рис.3.9-1, при этом добавляется комбинацион
ная схема,формирующая сигналы /+У/, |
/-У / или / 0/ и |
|||||||||
триггер признака |
у> |
. Предположим для определенности, |
||||||||
что умножениевыполняется по первому способу. Тогда |
||||||||||
( + - ! / ) - ¥ (/ ѵ Я ѵ З VY V JT ) V (f |
|
|||||||||
( 'У ) ~ |
|
Y |
|
|
|
|
ѵу> (5-ѵб v ? v 8 ) ; |
|||
(-h-o)= |
¥ o v f , 9 , |
Y '= { + y ), |
||||||||
где |
y o |
і/ |
у |
/ |
- |
|
функции возбуждения триггера у |
|||
0 ,1 ,...,9 |
- |
|
очередные |
цифры, множителя. |
||||||
Цифровая диаграмма работы БУ будет иметь вид |
||||||||||
РХ |
ту» |
|
S |
|
А |
|
PZ |
|
СС |
|
,109 |
|
|
|
|
|
п |
|
|
||
0 |
|
|
-У |
|
9 |
00,000 |
000. |
00 |
||
|
|
|
|
+ 1 |
99,373 |
|
|
|||
010 |
I |
|
сдв. |
|
0 |
99,937 |
300 |
|
||
|
|
|
01 |
|||||||
001 |
0 |
|
+-У |
|
0 |
00,564 |
300 |
|
||
|
|
сдв. |
|
I |
00,056 |
430 |
10 |
|||
000 |
|
+■У |
-I |
00,683 |
|
|
||||
0 |
|
сдв. |
|
0 |
00,068 |
343 |
II |
|||
|
|
|
|
КО |
|
|
|
|
|
|
- 55 -
:3лесь I f - триггер у |
; 5 - знак операции,т.е, М-У/, |
/-У / или /-to/; А - |
переменная,характеризующая состо |
яние последнего разряда регистра РХ.
■ В силу высокой эффективности преобразования множите ля этот метод используется а первую очередь, как отдель но,так и в сочетании с аппаратурными способами ускоре ния умножения десятичных чисел. В принципе все рассмот ренные аппаратные способы ускорения умножения двоичных чисел могут быть в той или иной степени переложены ня умножение десятичных чисел. Однако применять тот или иной аппаратный способ ускорения в десятичном БУ целе сообразно только в том случае,если он обеспечивает существенное сокращение числа суммирований,на что в десятичном БУ уходит /70 - 90?і/ времени. Один из таких методов состоит в подготовке чисел,кратных множимому. Идея способа заключается в том,что наряду с регистром множителя РУ в схему БУ /рис,3.9-2/ вводится регистр
РУ1,л котором хранится |
число е* У,гдеы 6 |
^ |
2,3,4,5^ |
Работа БУ начинается с формирования числа |
|
У,которое |
|
осуществляется путем суммирования оС раз |
кодов,запи |
||
санных в РУ и РУ'. Для |
этого на регистры РУ |
и РУ' |
роз поступают сигналы ВКРУ, ВКРУ/ и ИКРУ.' Ралее начи нается умножение с использованием регистров РУ или РУ/ в соответствии с таблицей на рис.З.Ь-З.где кп -очеред
ная цифра преобразованного множителя, St и |
S2 - опе |
|||
рации, производимые в первом и атором такте |
сложения, |
|||
”0Fj? - микрооперации на ?2; |
ВК/ |
- |
ііО выдачи кода с |
|
Р2 по каналу і / с = 1,2/; R |
- количество тактов сум |
|||
мирования при умножении на один |
десятичный разряд. |
|||
Например,если кп - -3, то в |
первом такте осуществляем |
|||
суммирование кодов из Е£ и РУ^,а во |
втором |
такте - из |
||
и РУ, в результате чего к сумме |
частичных произве |
дений прибавляется число —4У+У = -ЗУ. Время выполне ния операции умножения будет равно
. ty - o ( t++ п(£с ч- R(o()-t+),
где К(Ы/ - среднее число суммирований при умноженин__на один разряд мнодителя. Нетрудно подсчитать,что
*(2)=R(3)= 1,S , а f j .
- 56 -
Т .е. И) И ос -4
t u = 4t+ + n ( t c + r,4 t+ ).
jiajii ne/lmee чоишіение быстродействии і.чтю осуществить путам заготовки двух чисел,кратных ыноыимоыу. Однако ьп/ективнооть такого способа ускорения быстро п.адает.
ианрпмер,использование |
двух кратных типа 2У а |
іУ лчет |
|||||||
1,3 суммировании на разряд, что всего ип 0 ,к меньше,чем |
|||||||||
при |
очном |
кратном типа |
’ІУ. Предварительную за готовку |
||||||
Чисел,KpUTHHX МНОЖИМОМУ,МОЖНО нс |
осуществлять,если |
||||||||
между !;У и сумѵатором включить комбинационную схему |
|||||||||
/КОУ/ |
/см.пунктир |
на рко.3 .9 -2 /, реализующую операцию, |
|||||||
например, |
удвоения |
множимого / см. |
таблицу на |
рис.9.4—4, |
|||||
где |
- |
I |
-ап цифра множимого,а |
\^~ і - ая цифра уд |
|||||
военного множителя/’. Пои атом отпадает необходимость |
|||||||||
в сдвиговом |
регистре І'У |
/т.к.микрооперации !;Х и !1К |
|||||||
одновременно можно осуществлять только на сдвиговом |
|||||||||
регистре/, |
|
входной логике |
El |
и дополнительных цепях |
|||||
выдачи кода |
о Г<? . Сдпако |
по сложности такая |
схема |
равноценна сумматору,хотя ее быстродействие будет оп те, чем у £ 7 из-за отсутствия цепок сквозного пере
носа.
Дальнейшее повышение быстродействия можно осущест вить за счет использования комбинационных схем,реали
зующих таблицы произведения |
■Гу / т о е //О / |
/р и с .3 |
.9 -5 / |
|
и переносов /р и с .3 .9 -6 /. При атом кУ |
должен |
содержать |
||
два сумматора: £ 1 ,для сум.ѵпрованил |
кодов с |
выходов |
|
|
таблиц произведении /КСІ/ и таблиц переносов /КС2/, |
с |
|||
целью получения произведении УАЛ ; £ |
2 - для образова |
|||
нии очередное суммы частичных |
п7)оизведений /р и с,3 .9 |
-7 /, |
і'Де КП и КС2 -комбинационные схемы,содержащие по /г подсхем,каждая из которых реализует соответственно таб лицу переносов и произведений. Нетрудно подсчитать,что
время умножения будет равно
ty= n ftc i-Ot9t4.)>
і'де 0,9 - число суммирований на один разряд множителя. Задачи. I . Разработать комбинационную схему.реализующую операцию удвоения множителя.
- 57 -
2. Построить БМУ для БУ,работающего по методу заготов ки чисел,кратных множимому при <* = 4.
3. Построить комбинационные схемы,реализующие таблицы произведений и переносов при условии,что десятичные цифры представлены: а/ двоично-десятичным кодом с веса ми 8,4,2,1; б/ кодом с избытком 3.
4. Разработать цепи выдачи обратного кода с регистра при условии а/ и б/ из задачи 3.
fin Si SZ MDPl |
R |
|
-k -49*0 BK2r |
1 |
|
-3 -49*3 |
BKZMXl 2 |
|
-2 -9 -9 |
BKI.BKI 2 |
|
-/ -9*0 |
BKI,- |
V. |
0 *0*0 |
- |
О |
1 *9 * 0 |
алѵ - |
/ |
2*9*9 8Ki.&xi &
3*49*9 вк2,ва &
4*49*0 BKZ,- ! J1 149*3 BKB.Sxi 2
Рис. 3.9-3
|
ВініЗBL*ty |
|
К зі |
ач |
|
о |
о |
/ |
! |
2, |
3 |
2 |
Ч |
S |
3 |
6 |
? |
Ч |
8 |
9 |
S |
О |
і |
6 |
2 |
3 |
7 |
Ч |
д' |
8 |
6 |
7 |
9 & |
3 |
Рис. 3.9-Ч
ак
Is, 18а| РУ Iflnh
I КС
|
|
BM.У |
|
SJ |
УЙп |
cc |
|
|
t.ltulU |
||
|
|
К с |
|
|
вк |
ПС |
|
Р Z. |
Р Х |
||
ПК.пС |
|||
|
|
||
Рос. 3.9-7 |
|
1 |
£ |
г I ♦ а |
£ |
7 |
i . I |
1 |
|
|
|||
7 |
Оо о о ОиОo_о a |
[7 О 1 Z 3 9 □ 6 7 8 9
*3 2 4_6 a
в.\6 о 3 6 3 a S 1 4 IE \Цо 4 я a 3 a 4 A 2_£2 о a 4 б
£ 1о £ о 3 a a 0 £ О£ |
|||||
6 g 6 2 8 |
|
6 a 2 |
|||
7□ист |
ГГ и |
|
9 |
£ ji |
|
|
ä a 2 |
</ £ |
|||
8 |
|
1 иu |
6 |
||
910\9\8\Г\6 a S' 3 |
T У |
||||
Рис. 3.9-3 |
|
1
— Ійа 2ІЗ|ѴЫ£І?|ВІ9 ИИи ИИИИИИЕІБ
а и |
и ѳ и а и в и и и |
||
в о |
и О 0 0 |
£ / / о |
|
8 Жо и Б о 1 |
/ t 2 a |
|
|
і 4 о Е о / / 2 a 2 3 3 |
|||
5 о Е / г 2. 1 3 3 </ 1 |
|||
6 о Е D / 0 3 3 V 7 |
1 |
||
то |
/ a I 3 4 7 ? |
6 |
Го Е / a 3 7 4 3 6 ?
1о н 7ІІ □ п ь 6 7Ш
Рис. 3.9-6 ,
Йп
П D
- 58 -