- •Лабораторная работа № 4 построение схем умножения чисел, представленных в форме с фиксированной запятой, на двоичных сумматорах Цель задания
- •Постановка задачи
- •Содержание отчета
- •Методические указания
- •§ 5.1. Методы умножения двоичных чисел
- •То умножение начинается со старшего разряда и в каждом такте сдвигается влево сумма частных произведений. Схема множительного устройства представлена на рис. 5.1,г.
- •При последовательном выполнении — в виде многократно повторяющегося по количеству разрядов цикла
- •§ 5.2. Умножение чисел, представленных в форме с фиксированной запятой, на двоичном сумматоре прямого кода
- •§ 5.3. Особенности умножения чисел, представленных в форме с плавающей запятой
- •При выполнении операции умножения может иметь место ряд особых случаев. Например:
- •§ 5.4. Умножение чисел, представленных в форме с фиксированной запятой, на двоичном сумматоре дополнительного кода
- •Таким образом, на сумматоре дополнительного кода в процессе перемножения машинных изображений операндов получаем одновременно знаковую и цифровую части произведения.
- •§ 5.5. Умножение чисел на двоичном сумматоре обратного кода
- •Варианты
То умножение начинается со старшего разряда и в каждом такте сдвигается влево сумма частных произведений. Схема множительного устройства представлена на рис. 5.1,г.
Таким образом, для реализации операции умножения необходимо иметь сумматор, регистры для хранения множимого и множителя и схему анализа разрядов множителя. Сумматор и регистры должны иметь цепи сдвига содержимого в ту или иную сторону в соответствии с принятым методом умножения.
Анализ формул (5.1)—(5.4) показывает, что с формальной точки зрения процесс умножения двух чисел может быть представлен:
При последовательном выполнении — в виде многократно повторяющегося по количеству разрядов цикла
, (5.5)
где Si-1, Si — суммы частных произведений на (i—1)-м и i-м шагах соответственно;
при параллельном выполнении — суммой членов диагональной матрицы, для которой заданы по строкам A*2i а по столбцам — bi где i — текущий номер разряда.
В дальнейшем основное внимание будет уделено последовательному принципу выполнения операции умножения.
При точном умножении двух чисел количество цифр в произведении превышает количество цифр сомножителей не более чем в два раза. При умножении нескольких чисел количество цифр произведения может оказаться еще больше. Конечное число разрядов в устройствах цифрового автомата вынуждает ограничиваться максимально удвоенным количеством разрядов сумматоров.
При ограничении количества разрядов сумматора в произведение вносится погрешность. В случае большого объема вычислений погрешности одного знака накладываются друг на друга, в результате чего общая погрешность сильно возрастает. Поэтому существенное значение имеет округление результатов умножения, что дает возможность сделать погрешность произведения знакопеременной, а математическое ожидание погрешности округления при условии, что отброшенные младшие разряды могут с одинаковой вероятностью иметь любое из возможных значений — равным нулю. При этом предельное по абсолютной величине значение погрешности будет наименьшим из возможных при заданном количестве значащих цифр, т. е. равным половине значения младшего разряда.
При выполнении операции умножения чисел возможен выход за пределы разрядной сетки только со стороны младших разрядов в силу ограничения, которое было наложено на числа, представленные в форме с фиксированной запятой. Точное произведение получается во всех четырех методах умножения, однако при этом требуется разное количество оборудования.
§ 5.2. Умножение чисел, представленных в форме с фиксированной запятой, на двоичном сумматоре прямого кода
Пусть заданы машинные изображения двух чисел:
Тогда их произведение
где ; — знак сложения по модулю 2.
При выполнении этой операции должны быть заданы структурная схема устройства, на котором производится операция, и метод умножения.
Пример 5.1. Умножить числа [A]пр = 1,11010 и [В}пр = 0,11001.
При умножении будут использованы метод 2 и устройство, показанное на рис. 5.2.
Рис.
5.2 Структурная схема множительного
устройства
Решение. Знак произведения определяем отдельно от цифровой части в соответствии с уравнением
Sgc = SgA SgB = 1 0 = 1.
Получение цифровой части можно показать в
виде следующей записи. Пусть сумматор имеет 10 разрядов без учета знака, а регистры — 5 разрядов без знака. Введем обозначения соответственно изображения цифровой части множимого и цифровой части множителя.
Последовательность действий в процессе выполнения операции
умножения представлена в виде табл. 5.1. Рис. 5.2.
Ответ: [С]пр = 1,1010001010.
Таблица 5.1
Сумматор |
Регистр В |
Примечание |
0000000000 |
11001 |
|
+11010 |
|
|
1101000000 |
|
|
0110100000 |
-1100 |
|
0011010000 |
-110 |
|
0001101000 |
-11 |
|
+11010 |
|
|
1110101000 |
|
|
0111010100 |
-1 |
|
+11010 |
|
|
10100010100* |
|
|
1010001010 |
|
Конец |
* Если в процессе выполнения умножения возникает единица переноса из старшего разряда, то ее надо сохранять.
Чтобы процесс умножения происходил правильно, необходимо предусмотреть блокировку выработки сигнала переполнения, так как возможно временное переполнение на каком-то шаге умножения (см. пример 5.1). Пример показывает, что в данном случае не обязательно иметь сумматор длиной 2п разрядов. Хранение «хвостов» произведения можно осуществлять в освобождающихся разрядах регистра множителя. Для этого достаточно обеспечить цепь передачи информации из младшего разряда сумматора в старший разряд регистра множителя.
Во всех приведенных ниже примерах будет применяться рассмотренный способ.