Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Методы ускоренного умножения



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

При реализации логических методов ускорения умножения усложняется схема управления АЛУ.

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

При матричном умножении частичные произведения формируются на схемах n-разрядных конъюнкторов одновременно и подаются на входы n-входового сумматора, причем в сумматоре за счет соответствующей коммутации цепей осуществляются сдвиги частичных произведений. На выходе сумматора получается 2n-разрядное произведение.

Метод табличного умножения позволяет получить произведение за один такт при условии, что вся таблица умножения будет размещена в памяти. Для этого понадобится запоминающее устройство объемом 22n 2n-разрядных слов. Для организации 8-разрядного умножителя потребуется память объемом 216х16 бит. Для 16-разрядного АЛУ умножитель потянет на 232х32 бит = 16 Гбайт.

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

Пусть n – четное. Тогда каждый из двух сомножителей можно представить конкатенацией двух полей одинаковой разрядности n/2: A=AhAl, B=BhBl.

Тогда .

Пусть требуется перемножить 4-хразрядные числа без знака. Построим таблицу умножения двухразрядных чисел.

01 х 01 = 0001 10 х 10 = 0100

01 х 10 = 0010 10 х 11 = 0110

10 х 11 = 0011 11 х 11 = 1001

Пример 30.Перемножить 6х10 в двоичной системе счисления и результат перевести в десятичную систему.

6(10)=0110(2), 10(10)=1010(2) .

Числа четырехразрядные. Разобьем записи этих чисел на 2 группы двухразрядных чисел.

01.10 х 10.10 = ?

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

Al x Bl = 10 x 10 = 0100

Al x Bh= 10 x 10 = 0100

Ah x Bl = 01 x 10 = 0010

AhxBh= 01 x10 = 0010

+ 0100

+ 0100

+ 0010

0010_____

Т.е. 0110 х 1010 = 00111100, а переведя результат в десятичную систему, получим 60.

Пример 31. Перемножить 7х11 в двоичной системе счисления и результат перевести в десятичную систему.

7(10)=0111(2), 11(10)=1011(2) .

Числа четырехразрядные. Разобьем записи этих чисел на 2 группы двухразрядных чисел.

01.11 х 10.11 = ?

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

Al x Bl = 11 x 11 = 1001

Al x Bh= 11 x 10 = 0110

Ah x Bl = 01 x 11 = 0011

AhxBh= 01 x10 = 0010

+ 1001

+ 0110

+ 0011

0010_____

Т.е. 0111 х 1011 = 01001101, а переведя результат в десятичную систему, получим 77.

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

Таблица 2 Способ умножения на 2 разряда

Комбинация Действие Добавление
Сдвиг-Сдвиг
Сложение-Сдвиг-Сдвиг А
Сдвиг-Сложение-Сдвиг
Сложене-Сдвиг-Сложение-Сдвиг 3А=4А-А

Задания.Перемножитьчисла с фиксированной запятой в прямом коде:

1) A=0,1101, B=-0,0011

2) A=-0,0101, B=-0,0110

3) A=-0,0101, B=0,0101

4) A=0,0011, B=-0,0000

5) A=0,1101, B=0,0101

6) A=-0,1101, B=-0,1000

7) A=0,0111, B=0,1001

8) A=-0,0111, B=-0,1001

9) A=-0,1011, B=-0,0101.

Алгоритмы деления

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

.

Рассмотрим процесс деления модулей двоичных чисел.

Пусть A– делимое, B– делитель, C– частное, W– остаток, и т.к. числа дробные, то |A|<|B|, иначе C≥1, что соответствует переполнению разрядной сетки.




©2015 studopedya.ru Все права принадлежат авторам размещенных материалов.