Файл: Дроздов Е.А. Многопрограммные цифровые вычислительные машины.pdf

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

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

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

Добавлен: 11.04.2024

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

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

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

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

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

сумма частичных произведений неподвижна;

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

— умножение начинается со старших разрядов множителя; после каждого такта суммирования множимое сдвигается вправо; сумма частичных произведений неподвижна.

При любой схеме выполнения операции умножения арифмети­ ческое устройство должно содержать по крайней мере три реги­ стра: регистр множителя, регистр множимого и регистр частичных произведений, функции которого может выполнять накапливаю­ щий сумматор АУ. Однако для реализации различных схем тре­ буются регистры различной разрядности и с различными цепями сдвигов; кроме того, каждая схема в различной степени отвечает принципам выполнения других операций, проводимых в АУ. В то же время третья схема близка к первой, а вторая схема — к чет­ вертой.

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

Организация связей между основными узлами арифметиче­ ского устройства универсального типа при выполнении операции умножения по первой схеме поясняется с помощью рис. 8.3. Для размещения множимого используется регистр Рг1, для размеще­ ния и сдвигов множителя — регистр Рг2. Образование частичных произведений осуществляется посредством группы вентилей В, а их суммирование и сдвиги их сумм производятся в накапливаю­ щем сумматоре См; в этом же сумматоре устанавливается зна­ чение конечного произведения. Управление последовательностью действий при выполнении операции умножения производится бло-> ком местного управления БМУ, который в общем случае может входить в состав центрального устройства управления. Схема рис. 8.3 рассчитана на выполнение операции умножения при пред­ ставлении чисел в прямом коде.

249



Регистры Рг1 и Рг2 в случае перемножения чисел, мантиссы которых имеют по « цифровых разрядов, являются «-разрядными. Знаки сомножителей подаются в БМУ, где с помощью схемы от­ рицания равнозначности в соответствии с общим правилом обес­ печивается образование знака произведения. В связи с этим зна­ ковые разряды регистров Рг1 и Рг2 не рассматриваются. Регистр Рг2 имеет цепи сдвигов вправо, т. е. в сторону младших разрядов; его младший разряд соединен с БМУ цепью передачи кодов. Это обеспечивает в процессе выполнения операции умножения после-

Ввод множимого X

Рис. 8.3. Схема «а» выполнения операции умно­ жения

довательную передачу в БМУ значений цифр множителя tji, по ко­ торым вырабатываются управляющие импульсы УИ (у,) для об­ разования частичных произведений. Сдвиги в регистре Рг2 осуще­ ствляются под действием вырабатываемых в БМУ импульсов сдвига ИСд.

Используемый в рассматриваемой схеме сумматор должен имет « основных цифровых разрядов и два дополнительных. Млад­ ший из дополнительных разрядов используется для округления «-разрядного произведения, а старший — для размещения единицы переноса из «-го основного разряда, которая может образоваться при сложении очередного частичного произведения с накопленной суммой частичных произведений. Для сдвигов сумм частичных про­ изведений в сторону младших разрядов, осуществляемых под дей­ ствием импульсов сдвига ИСд, сумматор имеет цепи сдвигов вправо.

Умножение в схеме рис. 8.3 производится путем последователь­ ных сдвигов кодов в регистре Рг2 и сумматоре и последователь­ ных суммирований кодов, передаваемых через вентили В, с кода­ ми, находящимися в сумматоре. При нервом сдвиге значение младшего разряда множителя передается из регистра Рг2 в схему блока местного управления. Если в младшем разряде множителя

250

содержалась единица, то БМУ вырабатывает сигнал на открыва­ ние вентилей В, через которые в сумматор поступает множимое как первое частичное произведение. Если же в младшем разряде множителя содержался нуль, то сигнал на открывание вентилей не вырабатывается, что соответствует равенству нулю первого ча­ стичного произведения. При втором сдвиге из регистра Рг2 в БМУ передается значение второго разряда множителя, а в сумматоре осуществляется сдвиг первого частичного произведения на один разряд вправо. Затем второе частичное произведение суммируется с первым частичным произведением и т. д.

После осуществления всех сдвигов и суммирований, причем в сумматоре сдвиг производится после каждого суммирования, об­ разуется значение конечного (полного) произведения, имеющего «+1 цифровых разрядов; « — 1 младших разрядов произведения теряются в процессе выполнения операции. Потеря младших раз­ рядов при перемножении чисел, по абсолютной величине меньших единицы, практически не сказывается на точности получения ре­ зультата, так как при каждом сдвиге в сумматоре теряется тот разряд из младших разрядов произведения, который не участвует в последующих суммированиях. Полученное (« +1) -разрядное про­ изведение округляется до значения « старших разрядов (считает­ ся, что машина оперирует с «-разрядными числами). Округление производится так: если в младшем дополнительном разряде со­ держится единица, то к младшему из основных разрядов при­ бавляется единица, если же в младшем дополнительном разряде содержится нуль, то единица не прибавляется. При таком округ­ лении погрешность «-разрядного произведения не превышает поло­ вины единицы его младшего разряда.

Произведение может быть получено и 2«-разрядным, т. е. с со­ хранением всех младших разрядов. Чтобы младшие разряды про­ изведения, выдвигаемые из сумматора при сдвигах, не терялись, их молено передавать в освобождающиеся старшие разряды реги­ стра мнолеителя Рг2. Цепь передачи младших разрядов произве­ дения в регистр мнолсителя показана на рис. 8.3 пунктирной ли­ нией.

Основное достоинство рассмотренной схемы выполнения опера­ ции умножения — ее простота при высокой точности получения ре­ зультата. Для получения 2«-разрядного произведения достаточно использовать «-разрядные регистры и сумматор. Если произведе­ ние образуется «-разрядным с погрешностью, не превышающей половины единицы младшего разряда, то используется только один дополнительный разряд в сумматоре, так как функции старшего дополнительного разряда может выполнять один из знаковых раз­ рядов сумматора.

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

251


удается, поэтому для рассмотренной схемы можно принять, что время умножения

Ту = /I (Ts + 7 сд),

( 8 . 1)

где Тсд— время сдвига кода в сумматоре на один

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

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

ведений, так как коды в сумматоре

не сдвигаются, и некоторое

 

Ввод множителя Y

 

 

А ±

 

 

 

 

Л

Рг Z

(п)

а

 

ИСд

От УУ —

 

 

 

 

 

В УУ -

 

См

(п)

\ (Р)

УИ(уО

 

 

 

в

( п + р )

 

 

ЗнакХ

 

 

ИСд

 

 

 

 

 

Знак Y

РгГ

(п)

(р)

 

П

п п

 

 

Ввод множимого X

 

Рис. 8.4. Схема «г» выполнения операции умножения

уменьшение времени выполнения операции умножения по сравне­ нию с первой схемой. Организация связей в АУ универсального типа при использовании четвертой схемы выполнения операции умножения показана на рис. 8.4.

Множимое размещается в регистре Рг 1, множитель — в реги­ стре Рг2, сумма частичных произведений, образующихся посред­ ством группы вентилей В, накапливается в сумматоре См. Так как умножение в схеме рис. 8.4 начинается со старших разрядов мно­ жителя, то регистр Рг2 имеет цепи сдвигов кодов влево. Сумматор не имеет цепей сдвигов, поэтому для получения взаимных сдвигов частичных произведений осуществляются последовательные сдвиги множимого на один разряд вправо в регистре Рг1. При этом пер­ вым всегда образуется частичное произведение, имеющее наи­ больший вес при образовании полного произведения.

Для выполнения операции умножения по рассматриваемой схе­ ме с необходимой точностью приходится увеличивать по сравне­ нию со схемой рис. 8.3 количество разрядов в составе сумматора, регистра множимого Рг 1, а также количество вентилей. Если эти узлы принять, как в схеме рис. 8.3, «-разрядными, то при каждом сдвиге множимого в процессе выполнения операции последова­ тельно теряются его разряды и образование полного произведения происходит путем сложения «укороченных» частичных произведе-

252


нин. При этом полное произведение получается с большой ошиб­ кой. Сохранение всех разрядов множимого при сдвигах н получе­ ние точного значения произведения обеспечиваются при использо­ вании 2/1-разрядных регистра Рг 1 и сумматора, однако это приво­ дит к значительному увеличению аппаратурного состава АУ. Поскольку на практике обычно требуется получать «-разрядное произведение с ошибкой, не превышающей значения единицы младшего разряда, то оказывается возможным использовать не 2/г-разрядные регистр множимого и сумматор, а (га+р)-разряд­ ные, причем р <С га..

Выполнение операции умножения в схеме рис. 8.4 происходит, как и в схеме рис. 8.3, за счет организации последовательных сдвигов и суммирований. При первом сдвиге множимое сдвигается на один разряд вправо, а множитель — на один разряд влево. В зависимости от значения цифры старшего разряда множителя сдвинутое на один разряд множимое передается или не передается на сумматор как первое частичное произведение. Далее опять сдвигаются множимое и множитель и т. д. После га тактов сдвига и суммирования в сумматоре образуется (п+р) -разрядное произве­ дение, га основных разрядов которого округляются по значению старшего из р дополнительных разрядов. В схеме рис. 8.4 мож­ но совместить такт сдвига с тактом суммирования, что уменьшит время выполнения операции умножения.

Необходимое количество дополнительных разрядов сумматора и регистра множимого определяется в зависимости от того, как производятся округления: после каждого такта суммирования или после завершения всех суммирований, как это рассматривалось в схеме рис. 8.3. Наиболее простые схемы управления получаются при округлении после завершения всех суммирований, поэтому та­ кой метод округлений получил наибольшее распространение. Он применяется, например, в машине «Днепр». При этом значение р рассчитывается по формуле

(8.2)

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

В схемах деления современных машин реализуется, как пра­ вило, алгоритм выполнения этой операции без восстановления остатка. По этому алгоритму значение цифры частного опреде­ ляется знаком разности соответствующего остатка и делителя; действия на очередном шаге деления также определяются знаком разности. Если знак разности есть «+ », то очередная цифра част­ ного является единицей, а на следующем шаге делитель вычитает­ ся из удвоенного, т. е. сдвинутого влево на один разряд, остатка. Если знак разности есть «—», то очередная цифра частного яв­ ляется нулем, и на следующем шаге делитель прибавляется к удвоенному отрицательному остатку.

253