Микроалгоритм нормализации результата для модифицированного обратного кода и его схемная реализация

Суммирование мантисс может нарушить нормализацию результата. Если для суммирования мантисс используются модифицированные обратные коды, то левое нарушение нормализации (ЛНН) определяется по комбинации цифр 01 и 10 в знаковых разрядах SM, а правое (ПНН) – по комбинациям цифр 00,0 и 11,1 в старшем и знаковых разрядах SM. При сложении-вычитании мантисс в модифицированном дополнительном коде ПНН обнаруживается по комбинациям 00,00 и 11,11, а ЛНН – так же, как и в предыдущем случае. Нормализация результата осуществляется путем сдвига мантиссы результата влево (или вправо) и вычитания (или прибавления) 1 к порядку результата при каждом сдвиге до тех пор, пока будут сохраняться указанные комбинации цифр. Перед нормализацией мантиссы результата следует проверить содержимое RGZ. При равенстве его нулю (RGZ = 0) нормализацию осуществить нельзя. Если Z содержит большое число нулей после запятой, то может произойти потеря точности из-за того, что младшие неточные разряды после нормализации переместятся на место старших разрядов. В этом случае следует либо сигнализировать о потере точности, либо считать полученное число машинным нулем. Микроалгоритм нормализации для модифицированного обратного кода имеет вид:

(BG)

(END) ,

где , и – цифры в двух знаковых и старшем разряде мантиссы Z. Схема, реализующая этот микроалгоритм, приведена на рис. 6.3.

 
 

 


Рис. 6.3. Схема нормализации результата

Комбинационная схема L проверяет приведенные в микроалгоритме условия и при наличии разрешения с триггера генерирует управляющие сигналы сдвига (> и <) и ±1. Операция завершается либо по сигналу (=0), либо по отсутствию нарушения нормализации ().