Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методический материал по ЭВМ.doc
Скачиваний:
80
Добавлен:
22.09.2019
Размер:
2.38 Mб
Скачать

Структурная схема алу для выполнения операции умножения над числами с фиксированной точкой, представленных в прямом коде (по 2 методу)

Р1- регистр множимого;

Р2 – регистр множителя;

РВ – регистр суммы частичных произведений (в начале выполняется операции умножения обнуляется);

СМ – выход сумматора (каждый цикл на нем фиксируется сумма частичных произведений до сдвига);

РС – регистр сумматора (на нем фиксируется сумма частичных произведений после сдвига и затем заносится на регистр РВ);

Р21 – предназначен для сдвига множителя вправо на один разряд, чтобы каждый цикл можно было анализировать очередной младший разряд множителя.

Результат выполнения операции умножения имеет 2n разрядов. Старшая часть образуется на регистре РС, младшая часть образуется на регистре Р21.

Триггер знака предназначен для фиксирования знака выполняемой операции умножения путем выполнения операции сложения по модулю 2 знаковых разрядов операндов.

c=a(+)b

a

b

c

0

0

0

0

1

1

1

0

1

1

1

0

После этого знаковые разряды операндов обнуляются.

На счётчик цикла (СчЦ) в начале выполнения операции заносится (n-1), т.е. число значащих разрядов.

n=4 – длина разрядной сетки

(n-1) – число значащих разрядов

1 цикл

2 цикл

3 цикл

Этапы умножения

1 этап.

Определили знак результата. Знаковые разряды операндов складываются по модулю 2, и результат заносится в знаковый разряд. Знаковые разряды после этого обнуляются.

2 этап.

В счётчик цикла заносится число (n-1) – число значащих разрядов, а n – длина разрядной сетки.

На втором этапе происходит обработка (n-1) циклов.

На каждом цикле анализируется очередной младший разряд множителя (регистр Р2). Если младший разряд равен 1, то переписываем на РА содержимое регистра Р1 (это переход на микропрограммный уровень) (См. «Микропрограммное УУ»); а если младший разряд равен 0, то обнуляем РА. После этого в сумматоре складывается содержимое РА и РВ (РВ предварительно обнулили), и на выходе сумматора СМ образуется сумма частичных произведений до сдвига. На РС заносится сумма частичных произведений после сдвига, которая потом переписывается на РВ. Младший разряд сумматора при сдвиге будет заноситься в старший разряд Р21, и он будет (освобождающийся) представлять собой младший разряд произведения. В этом же цикле множитель сдвигается на один разряд вправо путём пересылки с Р2 на Р21, и после записываем на Р2. Счётчик цикла уменьшаем на 1. Если счётчик цикла равен 0, то дальше идёт коррекция результата: старшая часть на РС, младшая на Р21, происходит сдвиг на один разряд. Либо сразу вместо коррекции можно взять n.