ВУЗ:
Составители:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 103
- 104
- 105
- 106
- 107
- …
- следующая ›
- последняя »