Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка МПС (часть 2).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
944.64 Кб
Скачать

Организация операции умножения целых чисел в алу

Вычисление произведения 2 * n – разрядных чисел без знака сводиться к формированию частичных произведений по одному на каждую цифру множителя с последующим их суммированием. Перед суммированием каждое ЧП должно быть сдвинуто на 1 разряд относительно предыдущего.

A = 1011

*

B = 1101

1011

+0000

+1011

+1011

= 10001111

Суммирование ЧП обычно производиться не на завершающем этапе, а по мере их получения. В зависимости от способа получения суммы ЧП возможны 4 варианта реализации схем умножения:

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

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

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

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

Из за больших аппаратных затрат варианты 3 и 4 на практике используют редко.

Умножение по алгоритму сдвига вправо

Основные этапы алгоритма:

  1. Исходное значение суммы ЧП принимается равным 0.

  2. Анализируется очередная цифра множителя, начиная с младшей. Если она равна 1, то к n старшим разрядам суммы ЧП прибавляется множимое. Если она равна 0, то прибавляется нулевой код.

  3. Выполняется сдвиг суммы ЧП вправо на один разряд.

  4. Пункты 2 и 3 последовательно повторяются для всех цифр множителя.

Операция умножения состоит из циклов, количество которых определяется числом разрядов множителя. Каждый цикл состоит из двух тактов.

Множимое А = 1011 Множитель В = 1101

Исходное значение ∑ ЧП

0000

0000

1 цикл 1 такт

2 такт

1е ЧП

1я ∑ ЧП

+

1011

1000

1011

→ ∑ ЧП

0101

2 цикл 1 такт

2 такт

2е ЧП

2я ∑ ЧП

+

0000

1100

0101

→ ∑ ЧП

0010

3 цикл 1 такт

2 такт

3е ЧП

3я ∑ ЧП

+

1011

1110

1101

→ ∑ ЧП

0110

4 цикл 1 такт

2 такт

4е ЧП

4я ∑ ЧП

+

1011

1111

0001

→ ∑ ЧП

1000

P = 10001111