Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Краткий реферат.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
114 Кб
Скачать
☆

4.2 Умножение целых чисел и правильных дробей

При перемножении чисел со знаком необходимо принимать во внимание, что произведение двух n-разрядных чисел со знаком (разряд знака и n - 1 значащий разряд) может иметь 2(n - 1) значащих разрядов и для его хранения обычно используют регистр двойной длины (2n разрядов). Поскольку число итераций в операции умножения определяется количеством цифровых разрядов множителя, окончательный результат может размещаться в разрядной сетке двойного слова неверно, что и имеет место при перемножении целых чисел (рис. 12). Как видно, младший разряд произведения целых чисел, имеющий вес 20, размещается в позиции двойного слова, соответствующей весу 21. Таким образом, для правильного расположения произведения в разрядной сетке двойного слова необходим дополнительный сдвиг вправо. Такой сдвиг можно учесть как в аппаратуре умножителя, так и программным способом.

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

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

5. Ускорение целочисленного умножения

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

К логическим методам относятся:

  • алгоритм Бута;

  • модифицированный алгоритм Бута;

  • алгоритм Лемана;

  • обработка двух разрядов множителя за один шаг.

Аппаратные методы ускорения умножения сводятся в целом к:

  • параллельному вычислению ЧП;

  • сокращению количества операций сложения;

  • уменьшению времени распространения переносов при суммировании ЧП.

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

6. Целочисленное деление

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

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

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

Реализовать деление можно двумя основными способами:

- с неподвижным делимым и сдвигаемым вправо делителем;

- с неподвижным делителем и сдвигаемым влево делимым.

Недостатком первого способа является потребность иметь в устройстве деления сумматор и регистр двойной длины. Второй способ позволяет строить делитель с сумматором одинарной длины. Неподвижный делитель D хранится в регистре одинарной длины, а делимое Z, сдвигаемое относительно D, находится в двух таких же регистрах. Образующиеся цифры частного Q заносятся в освобождающиеся при сдвиге Z разряды одного из регистров Z.