
- •Глава 7.
- •Операционные устройства вычислительных машин
- •Структуры операционных устройств
- •Операционные устройства с жесткой структурой
- •Операционные устройства с магистральной структурой
- •Классификация операционных устройств с магистральной структурой
- •Организация узла рон магистрального операционного устройства
- •Организация операционного блока магистрального операционного устройства
- •Базис целочисленных операционных устройств
- •Сложение и вычитание
- •Целочисленное умножение
- •2N битов. Таким образом, алгоритм умножения предполагает последовательное
- •Алгоритм сдвига влево
- •Умножение чисел со знаком
- •Умножение целых чисел и правильных дробей
- •Модифицированный алгоритм Бута
- •Обработка двух разрядов множителя за шаг
- •Аппаратные методы ускорения умножения
- •Матричное умножение чисел без знака
- •1 Полусумматоры называется одноразрядное суммирующее устройство, имеющее дна входа для слагаемыx и два входа и два выхода — выход бита суммы и выход бита переноса.
- •Матричное умножение чисел в дополнительном коде
- •Алгоритм Бо-Вули
- •Алгоритм Пезариса
- •Древовидные умножители
- •Сравнительная оценка схем умножения с матричной и древообразной структурой
- •Конвейеризация параллельных умножителей
- •Рекурсивная декомпозиция операции умножения
- •Целочисленное деление
- •Деление с восстановлением остатка
- •Деление без восстановления остатка
- •Деление чисел со знаком
- •Устройство деления
- •Ускорение целочисленного деления
- •Замена деления умножением на обратную величину
- •XiD). Количество итераций определяется требуемой точностью вычисления X/d. Реализация метода для n-разрядных чисел требует 2 int(log2n) - 1 операций умножения.
- •Ускорение вычисления частичных остатков
- •Алгоритм srt
- •Деление в избыточных системах счисления
- •Операционные устройства с плавающей запятой
- •Подготовительный этап
- •Заключительный этап
- •Сложение и вычитание
- •Умножение
- •Деление
- •Реализация логических операций
- •Контрольные вопросы
Рекурсивная декомпозиция операции умножения
Как правило, аппаратные
умножители, построенные на рассмотренных
принципах, имеют ограничение на число
разрядов вводимых чисел. Умножитель
повышенной разрядности можно получить
из модулей меньшей разрядности,
выстраивая так называемую рекурсивную
декомпозицию операции умножения. Так,
для построения умножителя 8x8 можно
использовать четыре модуля типа 4 х 4.
Множимое А разбивается на четыре старших
(Аh)
и четыре младших (Al)
разряда. Множитель В
таким же образом
разбивается на части
Четыре
модуля типа 4x4 вычисляют соответственно
произведения
На
выходах модулей получаются
восьмиразрядные результаты, которые
соответствуют частичным произведениям
в разрядах: 15-8,11-4, снова 11-4 и 7-0.
Окончательный результат формируется
путем суммирования этих четырех частичных
произведений с учетом их положения
в разрядной сетке (рис. 7.46).
Рис. 7.46. Декомпозиция операции умножения
Целочисленное деление
Деление несколько более сложная операция, чем умножение, по базируется на тех же принципах. Основу составляет общепринятый способ деления с помощью операций вычитания или сложения и сдвига (рис. 7.47).
Рис. 7.47. Общая схема операции деления
Задача сводится к вычислению частного Q и остатка S:
Деление выражается как
последовательность вычитаний делителя
сначала из делимого, а затем из образующихся
в процессе деления частичных остатков
(Ч0), Делимое
обычно
представляется двойным словом (2n
разрядов), делитель
,частное
и остаток
имеют разрядность
п.
Операция выполняется за п итераций и может быть описана следующим образом:
После п итераций получается
Частное от деления 2n-разрядного числа на n-разрядное может содержать более, чем п разрядов. В этом случае возникает переполнение, из-за чего перед выполнением деления необходима проверка условия
Из выражения следует, что переполнения не будет, если число, содержащееся в старших п разрядах делимого, меньше делителя.
Помимо этого требования, перед началом операции необходимо исключите возможность ситуации деления на 0.
Реализовать деление можно двумя основными способами:
- с неподвижным делимым и. сдвигаемым вправо делителем;
- с неподвижным делителем и сдвигаемым влево делимым.
Недостатком первого способа является потребность иметь в устройстве деления сумматор и регистр двойной длины. Второй способ позволяет строить делитель с сумматором одинарной длины. Неподвижный делитель D хранится в регистре с одинарной длины, а делимое Z, сдвигаемое относительно D находится в двух таких же регистрах. Образующиеся цифры частного Q заносятся в освобождаются при сдвиге Z разряды одного из регистров Z.
Ниже на примере чисел без знака рассматриваются два основных алгоритма целочисленного деления.