Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Org_EVM-_lektsionnaya_knizhka.docx
Скачиваний:
16
Добавлен:
18.11.2019
Размер:
2.63 Mб
Скачать

4.3.3 Алу для умножения двоичных чисел

В ЭВМ операция умножения чисел с фиксированной запя­той сводится к последовательности опе­раций сложения и сдвига. Произведение двух (n- 1)- разрядных чисел может иметь до 2 (n - 1) значащих разрядов, поэтому для выполнения операции умножения целых чисел в АЛУ необходимо предусмотреть возможность форми­рования произведения, имеющего двойную, по сравне­нию с сомножителями, длину. В ЭВМ, в которых числа с фик­сированной запятой являются дробями, младшие n- 1 разрядов произведения часто отбрасываются, при этом при отбрасы­вании может производиться операция округления произве­дения.

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

Операция умножения состоит из n циклов, где n- число ци­фровых разрядов множителя. В каждом цикле анали­зируется очередная цифра множителя, и если она равна 1, то к сумме частичных произведений прибавляется множимое, в противном случае прибавление не происходит. Цикл завершается сдвигом множимого относительно суммы частичных произведений либо сдвигом суммы частичных произведений относительно непо­движного множимого.

В зависимости от способа формирования суммы частичных произведений различают четыре основных метода выполнения умножения и соответственно че­тыре структуры АЛУ для этой операции.

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

Рисунок 4.5 - Метод умножения, начиная с младших разрядов множителя со сдвигом суммы частичных произведений вправо

Регистр множителя и сумматор частичных произведений при этом должны иметь цепи сдвига вправо. Регистр множи­мого может не иметь цепей сдвига.

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

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

При данном методе умножения все три регистра имеют одинаковую длину, равную числу разрядов сомножителей. Этот метод умножения нашел наибольшее применение в ЭВМ.

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

Регистр множителя при этом должен иметь цепи сдвига вправо, регистр множимого — цепи сдвига влево, а сумматор частичных произведений не содержит цепей сдвига.

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

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

Рисунок 4.6 - Метод умножения, начиная с младших разрядов множителя, при сдвиге множимого влево

3. Умножение, начиная со старших разрядов множителя, при сдвиге суммы частичных произведений влево и неподвиж­ном множимом (см. рисунок 4.7).

Рисунок 4.7 - Метод умножения, начиная со старших разрядов множителя при сдвиге суммы частичных произведений влево

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

При использовании этого метода сумматор частичных произведений дол­жен иметь двойную длину. Данный метод требует дополни­тельного по сравнению с первым методом оборудования. Не­смотря на это, он применяется в некоторых АЛУ, так как позволяет без дополнительных цепей сдвига выполнять и деление.

Для выполнения операций деления в АЛУ, реализующем первый метод умножения, необходимы дополнительные цепи сдвига влево в регистре множимого (частного) и в сумматоре частичных произведений (разностей).

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

Рисунок 4.8 - Метод умножения, начиная со старших разрядов множителя при сдвиге множимого вправо

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

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

При четвертом методе, в котором сумма частичных про­изведений неподвижна, можно совмещать во времени опе­рации сдвига и сложения и за этот счет увеличить быстро­действие АЛУ при выполнении умножения (а также деления).

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

Если в результате умножения достаточно иметь произведе­ние одинарной длины, то целесообразно использовать либо первый, либо четвертый метод умножения. При использовании первого метода требуется введение дополнительных цепей сдвига для реализации деления, а при использовании четверто­го метода необходимо удлинение сумматора. Выбор одного из этих методов умножения определяется соотношением затрат оборудования на реализацию цепей сдвига и дополнительных разрядов сумматора.

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

Для округления произведения длина сумматора частичных произведений обычно увеличивается на один разряд. После образования произведения к этому дополнительному разряду прибавляется 1. Если дополнительный разряд произведения был равен 0, то произведение в основных разрядах сумматора получается с недостатком. Если дополнительный разряд был равен 1, то в результате переноса 1 из дополнительного разря­да к основным разрядам сумматора добавляется единица и произведение получается с избытком, при этом максимальное значение погрешности произведения равно половине 1 младшего разряда.

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

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

1. Берутся модули от сомножителей (числа представляются без знака).

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

3. Если анализируемая цифра множителя равна 1, то к сум­ме частичных произведений прибавляется множимое; если эта цифра равна 0, прибавление не производится.

4. Производится сдвиг суммы частичных произведений вправо на один разряд.

5. Пункты 3 и 4 последовательно выполняются для всех цифровых разрядов множителя, начиная с младшего.

6. Произведению присваивается знак плюс, если знаки со­множителей одинаковы, в противном случае — знак минус.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]