Умножение прямых кодов чисел
Рассмотрим сначала умножение младшими разрядами вперед. Для получения произведения необходимо выполнить n циклов умножения по числу разрядов сомножителей. При этом каждый цикл состоит из двух тактов. В первом такте анализируется младший разряд регистра, осуществляющего хранение множителя. Если в младшем разряде регистра множителя содержится единица, то к текущему содержимому сумматора следует прибавить содержимое регистра множимого, в противном случае к сумматору добавляется ноль, что эквивалентно пропуску такта сложения. Во втором такте каждого цикла умножения сумматор мантисс и регистр множителя следует сдвинуть вправо на один разряд. При этом сдвиг сумматора должен быть логическим, т.е. в освобождающийся знаковый разряд заносится 0. Это обстоятельство становится очевидным, если в сумматоре содержится модифицированный код, поскольку в случае переполнения сумматора в первом такте старший знаковый разряд остается неизменным и равным 0. В результате на сумматоре будет сформировано произведение исходных сомножителей.
После выполнения n циклов умножения необходимо выполнить округление результата путем прибавления к сумматору единицы в дополнительный -й разряд. Далее результат нормализуется, если это необходимо, и ему присваивается знак.
Дата добавления: 2014-12-27; просмотров: 878;