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