Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект1.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
7.51 Mб
Скачать

2. Умножение , начиная с младших разрядов множителя со сдвигом множимого.

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

Преимущества:

  • в сумматоре нет сдвигов (суммирование будет осуществляться быстрее)

  • не нужен счетчик.

Недостаток:

  • удвоенная разрядность сумматора и регистра множимого(аппаратные затраты).

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

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

Недостаток:

  • сумматор должен быть в 2 раза больше.

  1. Умножение, начиная со старших разрядов множителя со сдвигом множимого.

Если не нужна удвоенная точность, то в регистре А можно оставить n+L+1 разрядов. L разрядов нужны для правильного округления. L – среднее число разрядов, через которое происходит перенос через суммирование.

L=log2(n+L+1)

N=32

L=6

Множимое помещается в старшие разряды сумматора и в каждом цикле сдвигается на один разряд вправо. Вначале алгоритма А сдвигается вправо на один разряд, чтобы при первом суммировании не возникло переполнение. Выход из цикла по совокупности условий: (В=0)OR(А=0).

Достоинства:

  • нет сдвигов в сумматоре(схема работает быстрее)

  • не нужен счетчик.

Недостаток:

  • большая стоимость автомата.

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

Методы повышения быстродействия операции умножения:

  1. логические

  2. аппаратные.

При использовании логических методов усложняется управляющий автомат, т.е. микропрограмма, и почти не меняется ОА.

При использовании аппаратных методов основные средства вкладываются в ОА.

Логические методы ускорения умножения.

  1. умножение на два разряда множителя за один такт:

bn bn+1 микрооперация

0 0 нет

0 1 +А

1 0 +2А

1 1 -А

Bn

bn+1

P

мко

P'

0

0

0

-

0

0

0

1

+A

0

0

1

0

+A

0

0

1

1

+2A

0

1

0

0

+2A

0

1

0

1

-A

1

1

1

0

-A

1

1

1

1

-

1


В базовом алгоритме Тумн= n(Тсдв+0,5Тсум).

В этом алгоритме Тумн=n/2(Тсдв+3/4Тсум).

М икропрограмма умножения на два разряда множителя.

При прибавлении к сумме частных произведений n+1 разрядного частного произведения 2А,. Результат может получиться n+2 разрядным. С учетом разряда переноса и знакового разряда сумматор должен быть n+3 разрядным, предполагается, что n – четное.

В качестве аппаратной поддержки необходим формирователь дополнительного кода, чтобы вычесть А.

  1. умножение с последовательным преобразованием цифр множителя.

В …01111110…

+А -А

…1 0 1 0 1 0 1 0 1… (*)

-А+А-А+А-А+А-А+А-А

Для приодаления ситуации (*) договорились игнорировать серии длиной в 1 бит. Для реализации микропрограммы умножения вводится триггер , который задает режим сдвига, и тогда возможны 4 ситуации:

=0 – сдвиг по 0ж

=1 – сдвиг по единицам.

  1. начало серии единиц

=0

bn+1=1

bn=1

-A :=1

  1. начало серии нулей

=1

bn+1=0

bn=0

+A :=0

  1. единица среди нулей

00001000

=0

bn+1=1

bn==0

+A =0(без изм.)

  1. ноль среди единиц

…111101111…В

=1

bn+1=0

bn=1

-A =1(без изм.).

В начале алгоритма :=0. сдвиг осуществляется на первый разряд. Цикл проверки bn, bn+1, p повторяются n раз. Если при выходе из цикла =1, то делается дополнительное суммирование С:=С+1.

bn

bn+1

M\o

’

1

0

0

0

-

0

2

0

0

1

+A

0

3

0

1

0

+A

0

4

0

1

1

-

1

5

1

0

0

-

0

6

1

0

1

-A

1

7

1

1

0

-A

1

8

1

1

1

-

1

Пример:

В = 0 1 1 0 1 1 1 0 1 0 1 1 1

+А - - -А - - - -А - -А - - -

Тумн.=n*(Тсдв+1/3Тсум.);

Для ускорения алгоритма можно ввести цепи сдвига на 2 разряда. При встречи комбинации, описанной в 4 и 5 строках, выполнить микрооперацию сдвига на 1 разряд, для остальных – на 2 разряда.

Аппаратные методы ускорения умножения.

Использование дополнительных сумматоров для распараллеливания процесса вычисления суммы частичных произведений.

С:=А*В

В=b1b2b3…bm bm+1bn

B1=(b1b2…bm)*2m

B2=(bn+1bm+2…bn)

m=n/2

C=AB1+AB2

Произведения AB1 и AB2 представляются 3/2 n – разрядными кодами и вычисляются параллельно на сумматорах С1 иС2( например с использованием базового алгоритма умножения). После этого производится объединяющее сложение, в результате чего определяется 2n – разрядное произведение.

Пример:

А В

01101*0111

+ + +

В 1 0 11 0 11 0 01 0 01 0 00 0 00

В2 11 11 01 01 00 00

С1 0 000000 0 110100 0 011010 1 001110 0 100111 0 110000

С2 0 000000 0 110100 0 011010 1 001110 0 100111 0 110111

А 0 1101 0 1101 0 1101 0 1101 0 1101 0 1101

Cч 0 0 1 1 0 0

100111

+

100111

11000011

13/16*15/16=195/256

12/16+3/256=195/256

результат: 0 11000011

Способы управления вычисления сумм частичных произведений: