Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы компьютерной арифметики и логики.doc
Скачиваний:
78
Добавлен:
10.11.2019
Размер:
6.48 Mб
Скачать

2.3. Умножение двоичных чисел с фиксированной запятой

Умножение двоичных чисел чаще всего осуществляется в прямом коде.

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

Определение знака Правило знаков

произведения при умножении

0 0 = 0 + ∙ + = +

0 1 = 1 + ∙ – = –

1 0 = 1 – ∙ + = −

1 1 = 0 − ∙ − = +

Умножение сомножителей в прямом коде осуществляется по обычным правилам двоичной арифметики, изложенным выше. При этом умножение можно начинать как со старшего, так и с младшего разряда множителя. В первом случае каждое последующее частичное произведение сдвигается относительно предыдущего на один разряд вправо и суммируется с ним, а во втором случае очередное частичное произведение сдвигается влево на один разряд и также суммируется с предшествовавшей суммой частичных произведений. Частичные произведения, равные нулю, т.е. получающиеся умножением множимого на нулевое значение соответствующего разряда множителя, можно опускать, но сдвиг на один разряд равного нулю частичного произведения необходимо учитывать.

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

Известно, что количество разрядов произведения должно равняться сумме разрядов сомножителей. Поэтому при работе с фиксированной (постоянной) длиной разрядной сетки результат перемножения сомножителей должен ограничиваться по числу разрядов и округляться по известным в арифметике правилам.

Пример.

Множимое

Множитель .

Требуется найти т.е. найти .

Первый шаг. Определение знака произведения.

.

Второй шаг. Определение цифровой части (модуля) произведения

x

x

1101 либо 1101

1011 1011

1

+

+

101 1101

1101 1101

1101 1101

10001111 10001111

Третий шаг. Ограничение результата четырьмя разрядами и округление 1001.

Результат операции умножения

2.4. Машинные технологии выполнения операции умножения двоичных чисел с фиксированной запятой

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

Очевидно, что максимальное количество слагаемых (частичных произведений) равно . Процессом суммирования управляют цифры множителя. Если очередная цифра множителя единица, то к предшествующей сумме частичных произведений прибавляется множимое, взятое с соответствующим весом. Если очередная цифра множителя нуль, то суммирование не производится, а осуществляются необходимые сдвиги чисел в регистрах и сумматоре. Как указывалось выше, множитель можно анализировать последовательно, начиная как с младших, так и со старших разрядов.

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

.

Тогда произведение можно записать следующим образом:

. (2.1)

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

Технология 1

Представим произведение в виде

Из (2.2) следует, что в каждом из циклов умножения вычисляется

, (2.3)

при этом в начале умножения индекс и .

После выполнения циклов в сумматоре образуется , равное полному произведению: .

Функциональная схема реализации рассматриваемой технологии представлена на рис. 2.1.

Рис. 2.1. Первая технология умножения

Каждый цикл умножения младшими разрядами вперед сводится к передаче в сумматор множимого X, умноженного на цифру множителя , т. е. к передаче в сумматор, если , к непередаче, если , и к умножению суммы на , т.е. сдвигу вправо на один разряд.

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

Технология 2

Представим произведение в следующем виде

. (2.4)

Из анализа (2.4) следует, что в каждом из циклов умножения вычисляется

, (2.5)

где , а в начале умножения

.

После выполнения циклов в сумматоре образуется .

Ф ункциональная схема реализации рассматриваемой технологии умножения представлена на рис. 2.2.

Рис. 2.2. Вторая технология умножения

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

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

Технология 3

Представим произведение в виде

. (2.6)

n скобок

Из анализа (2.6) следует, что

, (2.7)

причем в начале умножения

После циклов умножения в сумматоре сформируется .

Функциональная схема реализации данной технологии умножения представлена на рис. 2.3.

Рис. 2.3. Третья технология умножения

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

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

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

Технология 4

Запишем произведение в следующем виде:

. (2.8)

Из анализа (2.8) следует, что

,

где , а в начале умножения

.

После выполнения циклов умножения в сумматоре сформируется .

Ф ункциональная схема реализации рассматриваемой технологии умножения изображена на рис. 2.4.

Рис. 2.4. Четвертая технология умножения

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

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

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