Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет-курсач.docx
Скачиваний:
6
Добавлен:
24.08.2019
Размер:
207.95 Кб
Скачать

Организация алу для выполнения операции умножения чисел в прямом коде.

Алгоритм умножения двоичных чисел с фиксированной запятой, представленных в прямом коде:

1) Определение знака произведения путем сложения по модулю 2 знаковых разрядов множимого и множителя.

2) Обнуление знаковых разрядов отрицательных операндов.

3) Выполнение операции умножения чисел, представленных в прямом коде.

В каждом цикле выполнения операции умножения анализируется очередная цифра множителя. Если очередная цифра множителя равна 1, то к сумме частичных произведений прибавляется множимое, в противном случае прибавляется ноль. Цикл завершается сдвигом суммы частичных произведений вправо либо сдвигом множимого относительно суммы частичных произведений.

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

Операнды в АЛУ записываются в прямом коде. Множимое хранится в Р1, множитель в регистре Р2. Результат операции умножения будет формироваться в регистрах РС и Р2, в РС – старшая часть, в Р2 – младшая.

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

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

Число циклов выполнения операции умножения равно n. Это объясняется тем, что до этапа коррекции (после выполнения (n-1) циклов) требуется сдвиг на 1 разряд вправо в связи с тем, что знаковый разряд обнуляется в начале выполнения операции.

После выполнения операции осуществляется запись результата в ОП. Она происходит последовательно: запись старшей части произведения по адресу первого операнда, увеличение адреса на 4, запись младшей части произведения по полученному адресу.

Условный переход 01101

При выполнении микрокоманды 01101 происходит условный переход. Анализируем младший разряд множителя, который хранится в Р2. При этом задействуется управляющий вентиль V20. Младший разряд множителя проходит через схему ИЛИ на БФА и формирует младший разряд адреса следующей микрокоманды.

Р[0]=0

На схему ИЛИ приходят сигналы (0;0) и на выходе получается 0.

Выполняется микрокоманда 01110 – открывается вентиль V22 и регистру РА присваивается значение 0. Адрес следующей команды будет 10000.

Р[0]=1

На схему ИЛИ приходят сигналы (1;0) и на выходе получается 1.

Выполняется микрокоманда 01111 – открывается вентиль V21 и регистру РА присваивается значение Р1. Адрес следующей команды будет 10000.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]