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

книги из ГПНТБ / Основы вычислительной техники учебник

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

Время выполнения операции умножения -можно определить из 'выражения

^ум н = п Т 'и — п

(^су.м + ^сдв).

( 1 4 - 8 )

г д е ^СуМ— 'время суммирования

очередного

частичного произ­

ведения;

tCXB— время сдвига множителя н частичной суммы на один разряд.

Для увеличения быстродействия необходимо уменьшить вре­

 

 

 

мя

^су.М У ^СДВ"

 

 

 

 

 

 

 

 

 

 

Во втором варианте

у м н о ж е ­

 

РгМт Л U

Ксхеме

н и е

т а к ж е

'начинается

с

м л а д ш е г о

 

р а з р я д а

м н о ж и т е л я ,

 

н о

сд в и г

 

управления

о ч е р е д н о г о

ч а ст и ч н о го

п р о и з в е д е ­

 

 

 

ния

 

п о с л е

'к а ж д о г о ци к ла

у м н о ­

 

 

 

ж е н и я в л е в о на о д н и р а з р я д п р о ­

 

РгПр

2п

и з в о д и т с я з а сч ет с д в и г а м н о ж и ­

 

м о го

 

.влево

н а

о д и н

р а з р я д

 

 

 

 

 

 

 

(р и с .

1 4 .8 ). Д л я р е а л и з а ц и и э т о ­

 

См

Зп

го в а р и а н т а н е о б х о д и м о и с п о л ь ­

 

з о в а т ь « - р а з р я д н ы й р е г и с т р м н о ­

 

 

 

ж и т е л я

и

2«-раэр'ЯДНые

с у м ­

- — Р гМ н

Зп

м а т о р

и р еги стр ы

м н о ж и м о г о

и

п р и з е е д е н и я .

С х е м а оч ен ь н е э к о ­

 

 

 

 

н о м н а п о к о л и ч е с т в у

 

и с п о л ь з у е ­

 

 

 

м ого

 

о б о р у д о в а н и я ,

 

п о э т о м у

в

 

Рис. 14.8.

 

п а р а л л е л ь н ы х

у с т р о й с т в а х у м н о ­

 

 

 

ж е н и я о н а н е п р и м е н я е т с я .

О д н а ­

ко

и с п о л ь з о в а н и е

э т о г о 'в ар и анта

в

п о с л е д о в а т е л ь н ы х

к о м б и ­

н а ц и о н н ы х у с т р о й с т в а х у м н о ж е н и я ,

п о ст р о е н н ы х на Ф Т Я . м о ­

ж е т

с к а з а т ь с я .ц е л е с о о б р а з н ы м , так

к а к р еги стр ы

на

Ф Т Я

и м ею т

п р о с т у ю с х е м у и н е б о л ь ш и е га б а р и т ы .

 

 

 

 

 

 

 

 

Структурная схема последовательного комбинационного бло­ ка умножения, собранного по второму варианту, представлена на рис. 14.9. Для сохранения младших разрядов произведения регистр РгПр имеет 2п разрядов. Для обеспечения сдвига оче­ редного частичного произведения влево регистр множимого име­ ет 2«+1 разряд. В исходном состоянии множимое и множи­ тель занимают пра'вые разряды регистров РгМн и РгМт,регистр РгПр свободен. Умножение выполняется за п циклов, каждый цикл состоит в свою очередь из 2п тактов. В первом цикле на вход 1 кснъюнктора подается младший разряд множителя, а ни вход 2 — последовательно все разряды множимого. Для сдвига множимого подается 2п сдвигающих' импульсов ИС]. В резуль­ тате этого на конъюнктаре формируется первое частичное ■произведение, в п старших разрядах которого будут, записаны

«ули. Это частичное произведение подается на последовательный сумматор, где вычисляется первая частичная сумма. С выхода сумматора сумма поступает на вход регистра произведения и

нс,, in

ill;:I MIillingL

ИСг

Рис. 14t.9.

с помощью сдвигающих импульсов ИС| сдвигается в регистре, ■при этом младший .разряд суммы займет .крайний правый разряд РгПр. По цепи обратной связи разряды множимого перепишут­

ся в регистр множимого. Так как

регистр РгМн

имеет

2п +1

разряд, а количество сдвигающих

импульсов

равно

2п, то

к концу первого цикла множимое окажется смещенным влево на один разряд.

Второй цикл начинается с подачи на регистр множителя

сдвигающего импульса ИС2. При

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

на один разряд .вправо

и на вход

1 конъюнктора

поступает вто­

рой разряд множителя.

Под действием импульсов

MQ на второй

вход конъюнктора поступают разряды множимого. Очередное частичное произведение в последовательном коде подается на сумматор. На второй вход сумматора из регистра произведения

•поступает первая частичная сумма. В результате на выходе сумматора появится вторая частичная сумма. Очередное час­ тичное произведение подается по отношению к очередной частич­ ной сумме с запаздыванием на один такт, т. е. оказывается' 'сдвинутым относительно .нее влево на один, разряд. '

Время выполнения операции умножения определяется выра­ жением

tyMH — п Гц = п2п Т —2/г2 Т,

где Т — такт, время .выполнения одного элементарного (разряд множителя на разряд множимого) умножения.

Время такта в общем случае равно

Т — ^сум + t\

391

где /сум— время суммирования очередного элементарного про­ изведения (одного разряда частичной суммы).;

tQRB— ярем я сдвига множимого и частичных сумм. Тогда

гу„„ = 2л3(*су« +

*сдв).

(14.9)

Как следует из сравнении (14.8)

и (14.9), время

умножения

в последовательном устройстве умножения в 2п раз

больше.

Третий вариант отличается от первых двух тем, что умно­ жение начинается со старших разрядов множителя, при этом множитель после каждого цикла умножения сдвигается влево на один разряд. Так как' умножение начинается со старших разрядов, то очередное частичное произведение должно сдви­ гаться вправо. Это обеспечивается за счет сдвига суммы пре­ дыдущих частичных произведений влево (рис. 14.10). Сдвиг в регистрах множителя и произведения производится в одну и ту же сторону, следовательно, имеется возможность передавать старшие разряды произведения в регистр множителя. Однако при этом следует учитывать, что при суммировании очередного частичного произведения возможен перенос в старшие, сдвину­ тые в регистр множителя разряды. Для учета единицы переноса регистр .множителя на время суммирования должен переклю-

К схем е управления

Рис. 14.10. » Рис. 14.]'!'.

чаться в режим счетчика. Для исключения возможности ^пере­ дачи единицы переноса .в разряды множителя необходимо иметь

в сумматоре и регистре п1роизведе'НИ1я mo п + 1 разряду.

К до­

стоинствам этого варианта следует отнести то, что цепи-

сдвига

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

Четвертый вариант отличается от третьего тем, что сдвиг

392

очередного частичного п;роизведения вправо производится за счет сдвига множимого вправо на один разряд в каждом цикле

(рис. 14.il).

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

К недостаткам этопо метода следует отнести' большой объем используемого оборудования. Однако в тех случаях, когда огра­ ничиваются получением /г-разрядного произведения, можно про­ изводить округления по ходу выполнения операции умножения. В этом случае для получения требуемой точности вычислений необходимо иметь р дополнительных разрядов. Количество до­ полнительных разрядов р для ошибки умножения, равной поло-

вине младшего разряда

я о“ (л+1)

 

6= 2

, определяется из неравенства

 

2"-1+ /? > /* — 1.

(14.10)

При больших значениях п (п>15) эту формулу можно уирос-

р —1

 

 

 

тить: 2

+ р = л .

23< я

39 двоичных

разрядов, коли­

'Для

ЦВМ, имеющих

чество дополнительных разрядов р=6. Количество добавочных разрядов можно значительно уменьшить-; если ввести округление в каждом цикле умножения. При этом, как показано в [33] для ЦВМ, имеющих 25<;я-<49 двоичных разрядов, количество до­

полнительных разрядов-р=4, т. е. в полтора

раза меньше.

 

(Методы ускорения умножения

 

>

Все методы ускорения умножения можно разделить на

две

группы: логические и .аппаратные.

связанные, в ос­

: К логическим методам относятся методы,

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

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

из выражения

‘ •

 

 

 

+ *«.),

(Н.11)

где

Гсум— время

суммирования очередного частичного произве-

.

дения;

. . . . . .

 

393

tr

время сдвига .на один разряд.

 

 

Для обычной схемы время умножения ib соответствии с (14.8)

равно:

 

 

 

 

 

 

 

 

 

 

 

 

 

^уын

^ (^сум + ^сдв)-

 

 

Использование метода •п|рю..п|у!ока такта суммирования обес­

печивает относительный выигрыш во времени:

 

 

 

 

 

t

 

— /"Р ,

tс£м

 

 

 

?Л"р

=

*умн

 

'умн

 

 

 

 

 

 

 

t

у

( 1 4 . 1 2 )

 

ум»

 

 

^умй

 

 

 

 

- \‘ cyu “ *хдв/

 

Для параллельных

 

сумматоров

^Су«~^сдв

- поэтому для них

получим

 

 

 

 

 

 

 

 

 

 

 

 

 

а ^ рш = 0,25 = 25%.

 

 

Если

^Сум>г‘слвто выигрыш будет еще больше,

«ирчи £сдв<А:ум

получим

ss 0,5 = 50%.

 

 

 

 

При использовании второго метода одновременно анализи­ руются два очередных разряда множителя. При этом в любой паре разрядов могут быть четыре равновероятных комбинации: 00. 01, 10, 11. При комбинации 00 операция сложения не про­ изводится, следовательно, можно считать, что на каждую пару разрядов приходится ^2р =* 3/4 fcyM (0,75 времени сложения), а

на один разряд— £1р = 3 8 ^сум.

Тогда время умножения будет

равно:

 

^умн = Л (3 /8

tcyu + /Сдв).

а относительный выигрыш во времени определится выражением

t

_ /2р

5

‘ сум

(14.13)

У м н

‘' у м н

 

 

т ^сум

у м н

■ •умн

^с.

 

Если принять, что tcyyl — tclB, то получим

8^Рн = 5/16 «0 ,3 1 = 31% .

Если обеспечить одвиг множителя и суммы частичных про­ изведений сразу на два разряда, то получим:

t*р

=

п

( - 3

^сум ~Е ^сдв^ ;

умн

2

1 4

 

t

— t2p

( 1 4 . 1 4 )

_

5 4 уы + 4 4 дв

•’умн

*умн

 

умн

^сум

 

3 (^сум 4 “ ^сдв)

 

 

Полагая по-прежнему tcyu — tcllB, получим

н = Э/!б ^ 0,56 » 56 %.

394

KjalK лидоим, (второй метод обеспечивает значительное сокра­ щение времени умножения.

К аппаратным методам ускорения выполнения операции умножения относятся методы, требующие для своего осуществ­ ления значительного увеличения аппаратурного состава уст­ ройств умножения. Различают аппаратные методы первого и второго порядков. Для аппаратные методов первого порядка характерна линейная зависимость количества дополнительного оборудования от числа разрядов сомножителей «, для методов второго порядка количество дополнительного оборудования про­ порционально квадрату «2 числа разрядов. Аппаратные методы ускорения умножения с большой полнотой изложены в [33]. Мы рассмотрим только один ив вариантов построения устрой­ ства умножения с 'использованием аппаратного метода второго порядка. Схема умножения (рис. 14.12) включает в свой состав регистр множимого РгМн, регистр множителя РгМт, «—1 па­ раллельный сумматор .по « разрядов каждый и п рядов конъюнкторов. Количество сумматоров на единицу меньше числа разрядов сомножителей, так как первое частичное произведение суммируется с нулем. Поэтому оно равно множимому и непо­ средственно в качестве первого слагаемого поддетая на левый по схеме сумматор. Каждая цепочка конъюнкторов управляется по одному ив входов соответствующим разрядом множителя, на вторые входы конъюикторов всех, цепочек поданы разряды мно­ жимого'. Таким образом, с выходов «онъюнкторов первого ряда снимается .первое частичное произведение— произведение мно­ жимого на младший разряд множителя, с выходов конъюнкторов второго ряда —произведение множимого на второй разряд множителя и т. д. Последовательное суммирование частичных произведений производится на параллельных сумматорах. Для обеспечения .сдвига частичных произведений влево разряды сумматоров сдвинуты по.следовательно влево на один разряд. Схема имеет «* конъюнкторов и «(«—1) » « 2 одноразрядных сумматоров. Однако количество оборудования можно сокра­ тить почти вдвое, если ограничиться получением «-разрядного произведения.

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

^умн ~ 2«~СуМт « 'п е р " Ь ^ к о н !

где "сум— время переброса одноразрядного сумматора;

395

•?пе — время передачи единицы .переноса в сумматорах; "кон— время задержки в конъюакторах.

Регистр ниошимого

Р е т с т р м н о н / и т е л а О г .М т

Рис. 14.112.

Если принять "кон ~

^пер (обЫ 'ЧНО "кон ^ "пер)

, то можем

записать

 

 

^умн =

2/1 (~сум ~Ь "пер) === 2^cyui

( 1 4 . 1 5 )

3 9 6

г д е 4ум = П(хсум + тпер)— ВрвМЯ СуММИрОВа-НИЯ В МНОГОраЗрЯД-

ном сумматоре.

Для обычного устройства -умножения В1ремя ум нож екия в соответствии с (14:8) .равно:

^умн ^ (^суи '1- ^сди)‘

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

Основным нед-остатмом рассмотренной схемы является боль­ шой объем используемой аппаратуры. Однако использсваиие интегральных схем позволяет значительно уменьшить этот не­ достаток.

§ 14.4. Устройства деления ЦВМ

•Вое существующие методы выполнения операции деления можно разделить на три группы:

—деление методом умножения на обратную величину;

деление с .восстановлением остатка;

деление без восстановления остатка.

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

Вторые два метода основаны на использовании обычных правил деления двоичных чисел и различаются между собою деталями. В обоих случаях деление сводится к последователь- агам-у вычитанию делителя сначала, из делимого, а потом из очередного сдвинутого влево на один разряд остатка делимого. Знак частного определяется путем суммирования по модулю два знаков делимого и делителя. В дальнейшем делимое всегда считается положительным, а делитель отрицательным. Для вы­ полнения операции вычитания делитель переводится в допол­ нительный или обратный код. Таким образом, устройство де­ ления в общем случае должно иметь в своем составе регистр делимого, регистр делителя, регистр частного и сумматор.

Увеличение очередного остатка вдвое по отношению к дели­ телю можно осуществить: сдвигом остатка в сумматоре влево на один разряд (увеличение остатка вдвое); сдвигом делителя вправо на один разряд (уменьшение-делителя вдвое). В соот­ ветствии с этими двумя способами имеется два варианта под­ строения схем устройств деления.

3 9 7

В первом варианте (рис. 14.13) перед началом деления де­ лимое записывается в регистр делимого РгДм, а делитель — в регистр делителя РгДт. В регистр частного записываются нули. После каждого цикла деления в регистр делимого записывается очередной остаток, а в регистр частного— очередная цифра частного. После этого содержимое регистров РгДм и РгЧн сдвигается влево на один разряд. В схеме используются л раз­ рядные регистры и сумматор. Эта схема с небольшими изме­ нениями может быть использована для выполнения операции х.М'ножения в устройстве умножения, построенном но третьему варианту.

Рмс. Г4ЛЗ.

Рис. 14.14. ‘

Во втором варианте (рис. 14.14) очередной остаток, запи­ санный в регистре РгДм, :не сдвигается, а дел.итель после каж­ дого очередного цикла сдвигается вправо на один разряд. В схеме используются 2л разрядные регистры делимого, делителя и 2л разрядный сумматор, что является основным недостатком схемы. К достоинствам схемы следует отнести возможность совмещения во времени тактов суммирования и сдвигов.

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

Деление с (восстановлением остатка

Схема устройства деления с восстановлением остатка и на­ капливающим сумматором, построенная по первому варианту, ■приведена на рис. 14.15. Перед началом деления делимое X записывается в сумматор, а делитель Y — н регистр делителя РгДт. Знак частного определяется до начала деления и записынается в знаковый разряд регистра частного РгЧн. Процесс деления состоит из л (л —количество разрядов частного) цик­ лов. Каждый цикл в свою очередь состоит не трех тактов. В первом такте очередной остаток предыдущего цикла и содер-

398

жнмое РгЧн сдвигаются вл§во на один разряд. Во втором такте делитель Y вычитается из очередного сдвинутого относительно него влево остатка 2xt. Если .полученный после вычитания новый остаток x t+i положителен, то в очередной разряд частного записывается единица, если отрицателен — нуль. При полу­ чении положительною остатка Xt+\ появляется единица пере­ носа из знакового разряда сумматора, которая и используется для записи единицы в очередной разряд частного. В третьем таите к отрицательному остатку добавляется множитель, т. е. производится восстановление остатка. Если очередной остаток положителен, то третий такт 'практически не используется. Это заметно снижает среднюю скорость выполнения операции де­ ления.

Рис. 14.16.

Если в устройстве деления используется сумматор, в кото­ ром процесс образования переносов отделен от суммирования чисел, то операция восстановления может быть опущена. Если во втором такте при вычитании появляется единица переноса из знакового разряда, то она передается в' регистр частного и затем производится вычитание. Бели единицы переноса нет, то вычитание не производится и, следовательно, остаток сохра­ няется неизменным, а устройство управления производит оче­ редной сдвиг. Эго позволяет уменьшить время выполнения де­ ления. ,

399