Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив2 / курсач docx80 / 30_kursach_diskr.docx
Скачиваний:
43
Добавлен:
07.08.2013
Размер:
467.36 Кб
Скачать

0,100000 

0,000100

0,011100

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

Отдельно стоящие нули или единицы могут увеличить число единиц в преобразованном множителе. Рассмотрим, например, фрагмент множителя, состоящий из нулей и единицы в i-том разряде, и его преобразованный вид:

В этом случае умножение множимого A на преобразованный множитель должно выполняться в соответствии с выражением

Если фрагмент множителя с нулем в i-м разряде и его преобразование имеют вид

то умножение множимого A на преобразованный множитель должно выполняться в соответствии с выражением

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

Таблица 2.2

Разряды множителя

Состояние триггера

Тг

Действия

n-1

n

0

0

0

0

1

0

СМ + А

1

0

0

1

1

0

СМ – А, Тг = 1

0

0

1

СМ + А, Тг = 0

0

1

1

1

0

1

СМ – А

1

1

1

Следует отметить, что перед началом выполнения умножения триггер должен быть установлен в состояние «0». По окончании умножения триггер также должен установиться в «0», поэтому в некоторых случаях требуется выполнение дополнительного цикла умножения для обработки последней единицы в множителе.

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

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

Пример.

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

[А]пр = 0,11001001;

[В]пр = 0,11101011;

С = АВ.

1. Определение знака произведения.

ЗнС = ЗнА  ЗнВ = 0  0.

2. Умножение мантисс.

;

; ;

1. 

;

;

2. ;

3. 

;

4. ;

5. 

;

6. ;

7. ;

8. ;

9. + ;

Окр. +

3. Ограничение результата восемью разрядами и присвоение знака.

Окончательно [С]пр = 0,10111001;

Перейдем непосредственном к схеме алгоритма, описанных операций.

Схема Алгоритма

Рассмотрим схемы алгоритмов. Ниже будет представления схема алгоритма умножения.

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

Рисунок – СА умножения.

Рисунок 2– Схема Алгоритма деления.

Рисунок 3 - Общая схема

Соседние файлы в папке курсач docx80