Файл: Дроздов Е.А. Многопрограммные цифровые вычислительные машины.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