Пример.

Операция умножения целых чисел и принципы ее реализации в ЭВМ

Умножение двоичных чисел состоит в последовательном умножении множимого на отдельные разряды множителя с суммированием результатов умножения. Результат умножения множимого на один разряд множителя принято называть частным произведением.

А = 13, В = 11.

Первый способ: 1 1 0 1

1 0 1 1

1 1 0 1

1 1 0 1

1 1 0 1 ___

1 0 0 0 1 1 1 1 (143)10

 

Второй способ: 1 1 0 1

1 0 1 1

1 1 0 1

1 1 0 1

1 1 0 1

_________ 1 1 0 1

1 0 0 0 1 1 1 1

 

Особенности операций умножения целых чисел:

 

каждое частное произведение либо совпадает с множимым, либо равно нулю;

формируемые частные произведения должны быть определенным образом сдвинуты друг относительно друга для их последующего суммирования;

частное произведение можно формировать, начиная как от младших, так и от старших разрядов множителя;

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

 

Особенности реализации операций умножения в ЭВМ:

1.В операционном устройстве для умножения двоичных чисел должен использоваться многоразрядный двоичный сумматор, поэтому умножение реализуется в виде последовательного многошагового процесса, на каждом шаге которого проводится умножение на один разряд множителя. Для фиксации суммы частных произведений необходимо использовать 2n-разрядный регистр при n-разрядных операндах. Перед началом операции этот регистр необходимо обнулить;

2.На каждом шаге умножения анализируется определенный разряд множителя. Если он равен 1, то на этом шаге проводится сложение суммы частных произведений с множимым. Если разряд равен 0, то сложение не проводится;

3.Каждый шаг умножения должен сопровождаться сдвигом суммы частных произведений (СЧП) относительно неподвижного множимого, или наоборот: сдвиг множимого относительно неподвижной СЧП;

4.Умножение можно начинать как с младших, так и со старших разрядов множителя;

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

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

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

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

 

 

Способы (схемы) реализации умножения в ЭВМ

начиная от младших разрядов множителя со сдвигом множимого влево;

начиная от младших разрядов со сдвигом СЧП вправо;

начиная от старших разрядов со сдвигом множимого вправо;

начиная от старших разрядов со сдвигом СЧП влево.

 

Анализ схем

1. В схемах умножения со сдвигом множимого для его представления требуется два n-разрядных регистра.

2. Для схем умножения со сдвигом СЧП для представления множимого требуется n-разрядный регистр.

3. В схемах умножения, начиная от старших разрядов со сдвигом множителя вправо, необходимо использовать 2n-разрядный регистр.

4. Для схем умножения, начиняя от старших разрядов со сдвигом СЧП влево, требуется 2n-разрядный регистр для хранения суммы СЧП.

5. Для схем умножения, начиная от младших разрядов со сдвигом СЧП вправо, требуется n-разрядный регистр.

 

В целях экономии оборудования практически во всех ЭВМ реализована схема умножения, начиная от младших разрядов множителя со сдвигом СЧП вправо. Упрощенная схема операционного устройства для реализации умножения по этому способу представлена на рисунке.

 

 

Умножения чисел с фиксированной запятой

Задание:

1) В разрядной сетке длиной в байт (один разряд знаковый и семь – цифровых) выполнить операцию умножения заданных чисел А и В со всеми комбинациями знаков, используя метод умножения в дополнительных кодах с применением коррекции. При выполнении операции использовать способ умножения с поразрядным анализом множителя, начиная от его младших разрядов со сдвигом СЧП вправо. Результаты представить в десятичной системе и проверить их правильность.

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

 

Основные положения

 

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

Знак умножается так же, как разряды, результат получается в нужном коде.