Основы арифметики цифровых процессоров. Вашкевич Н.П - 51 стр.

UptoLike

50
2) если разность равна 0, то порядки равны и выполняется сложе-
ние мантисс;
3) если разность > 0, то нужно выравнять порядок второго опе-
ранда до порядка первого, а если < 0, то порядок первого операнда
до порядка второго.
Выравнивание порядков производится следующим образом. В счет-
чик заносится разность порядков. Мантисса соответствующего опе-
ранда арифметически сдвигается вправо на один разряд и из счетчи-
ка вычитается единица. Это повторяется в цикле до тех пор, пока
счетчик не станет равным 0.
После сложения мантисс процессор проверяет результат на нару-
шение нормализации:
1) 0,5<М
z
<1 – нарушения нормализации нет;
2) М
z
1 – нарушение нормализации влево, т.е. мантисса не помес-
тилась в разрядную сетку (способы обнаружения нарушения норма-
лизации влево такие же, как и способы обнаружения переполнения
при сложении чисел с ФТ). В этом случае выполняется операция
нормализации вправомантисса суммы арифметически сдвигается
вправо на один разряд, а порядок увеличивается на 1. При выполне-
нии операции нормализации вправо процессор после сдвига проверя-
ет, не превышает ли порядок суммы максимально допустимый. Если
такая ситуация возникла, процессор фиксирует переполнение при
сложении чисел с плавающей точкой;
3) М
z
<0,5 – нарушение нормализации вправо, т.е. старший разряд
мантиссы равен 0. В этом случае процессор в цикле применяет опе-
рацию нормализации влево, а именно: мантисса суммы арифметиче-
ски сдвигается влево, порядок уменьшается на 1, до тех пор, пока не
выполнится условие 0,5≤М
z
<1. При этом процессор проверяет ситуа-
цию, не оказался ли Р
z
<P
min
. Если получается, что Р
z
<P
min
, то возни-
кает исключительная ситуация – «потеря значимости». В этом случае
в некоторых процессорах результат принимается равным 0, а в дру-
гих возникает исключительный случай «потеря значимости».
Рассмотрим детально алгоритм сложения (вычитания) с плаваю-
щей точкой в формате КВ, входными данными для которого являют-
ся операнды X и Y, хранящиеся в оперативной памяти в формате КВ.
    2) если разность равна 0, то порядки равны и выполняется сложе-
ние мантисс;
    3) если разность > 0, то нужно выравнять порядок второго опе-
ранда до порядка первого, а если < 0, то порядок первого операнда
до порядка второго.
    Выравнивание порядков производится следующим образом. В счет-
чик заносится разность порядков. Мантисса соответствующего опе-
ранда арифметически сдвигается вправо на один разряд и из счетчи-
ка вычитается единица. Это повторяется в цикле до тех пор, пока
счетчик не станет равным 0.
    После сложения мантисс процессор проверяет результат на нару-
шение нормализации:
    1) 0,5<Мz<1 – нарушения нормализации нет;
    2) Мz≥1 – нарушение нормализации влево, т.е. мантисса не помес-
тилась в разрядную сетку (способы обнаружения нарушения норма-
лизации влево такие же, как и способы обнаружения переполнения
при сложении чисел с ФТ). В этом случае выполняется операция
нормализации вправо – мантисса суммы арифметически сдвигается
вправо на один разряд, а порядок увеличивается на 1. При выполне-
нии операции нормализации вправо процессор после сдвига проверя-
ет, не превышает ли порядок суммы максимально допустимый. Если
такая ситуация возникла, процессор фиксирует переполнение при
сложении чисел с плавающей точкой;
    3) Мz<0,5 – нарушение нормализации вправо, т.е. старший разряд
мантиссы равен 0. В этом случае процессор в цикле применяет опе-
рацию нормализации влево, а именно: мантисса суммы арифметиче-
ски сдвигается влево, порядок уменьшается на 1, до тех пор, пока не
выполнится условие 0,5≤Мz<1. При этом процессор проверяет ситуа-
цию, не оказался ли Рz