Основы арифметики цифровых процессоров. Вашкевич Н.П - 105 стр.

UptoLike

104
Третий способ состоит в одновременном умножении на два раз-
ряда множителя. Алгоритм этого умножения следующий:
1. В СЧТ устанавливается значение, равное половине количества
битов множителя, на которые производится умножение.
2. Если очередные два бита множителя, на которые производится
умножение, равны 0 (комбинация 00), то производится сдвиг на два
разряда вправо частичного произведения и множителя.
3. Если очередные два бита множителя, на которые производится
умножение, равны 01, то к частичному произведению прибавляется
множимое, а затем производится сдвиг на два разряда вправо час-
тичного произведения и множителя.
4. Если очередные два бита множителя, на которые производится
умножение, равны 10, то к регистру РСМ прибавляется удвоенное
множимое, а затем производится сдвиг на два разряда вправо час-
тичного произведения и множителя.
5. Если очередные два бита множителя, на которые производится
умножение, равны 11, то к регистру РСМ прибавляется отрицатель-
ное множимое, а затем производится сдвиг на два разряда вправо
частичного произведения и множителя, т.е. 11
(2)
=3
(10)
преобразуется в
4
(10)
=100
(2)
. При этом следующая комбинация двух битов множителя
учитывает добавляемую 1.
Рассмотрим пример выполнения такого алгоритма.
Выполнить в дополнительном коде умножение Х*У в девятираз-
рядном процессоре (крайний левый разрядзнаковый) ускоренным
способом на два разряда множителя.
Х=112
(8)
=1001010
(2)
;
Y=307
(8)
=11000111
(2)
;
]
2
=001001010;
[Y]
2
=011000111;
[– Х]
2
=110110110;
[2*Х]
2
=010010100.
    Третий способ состоит в одновременном умножении на два раз-
ряда множителя. Алгоритм этого умножения следующий:
    1. В СЧТ устанавливается значение, равное половине количества
битов множителя, на которые производится умножение.
    2. Если очередные два бита множителя, на которые производится
умножение, равны 0 (комбинация 00), то производится сдвиг на два
разряда вправо частичного произведения и множителя.
    3. Если очередные два бита множителя, на которые производится
умножение, равны 01, то к частичному произведению прибавляется
множимое, а затем производится сдвиг на два разряда вправо час-
тичного произведения и множителя.
    4. Если очередные два бита множителя, на которые производится
умножение, равны 10, то к регистру РСМ прибавляется удвоенное
множимое, а затем производится сдвиг на два разряда вправо час-
тичного произведения и множителя.
    5. Если очередные два бита множителя, на которые производится
умножение, равны 11, то к регистру РСМ прибавляется отрицатель-
ное множимое, а затем производится сдвиг на два разряда вправо
частичного произведения и множителя, т.е. 11(2)=3(10) преобразуется в
4(10)=100(2). При этом следующая комбинация двух битов множителя
учитывает добавляемую 1.
    Рассмотрим пример выполнения такого алгоритма.
    Выполнить в дополнительном коде умножение Х*У в девятираз-
рядном процессоре (крайний левый разряд – знаковый) ускоренным
способом на два разряда множителя.
    Х=112(8)=1001010(2);
    Y=307(8)=11000111(2);
    [Х]2=001001010;
    [Y]2=011000111;
    [– Х]2=110110110;
    [2*Х]2=010010100.




                                104