Аппаратное обеспечение IBM PC


         

Искусственное ухудшение точности вычислений не


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

Двух битовое поле RC задает режим округления при выполнении операций с вещественными числами:



































00 округление к ближайшему числу, этот режим устанавливается при инициализации сопроцессора;
01 округление в направлении к отрицательной бесконечности;
10 округление в направлении к положительной бесконечности;
11 округление в направлении к нулю.


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

Округление в направлении к ближайшему числу.

-беск.<-o-<<-x-------o---- 0 -----o-----x->>-o---->+беск.

Округление в направлении к отрицательной бесконечности.

-беск.<-o-<<-x-------o---- 0 -----o--<<---x-o---->+беск.

Округление в направлении к положительной бесконечности.

-беск.<-o-x-->>-----o---- 0 -----o------x->>-o---->+беск.

Округление в направлении к нулю.

-беск.<-o-x-->>-----o---- 0 -----o--<<----x-o---->+беск.

Для наибольшего уменьшения ошибок вычислений наиболее целесообразно использовать режим округления в направлении к ближайшему числу. Режим округления в направлении к нулю используется при моделировании целочисленной арифметики.

Остальные два режима округления используют в интервальной арифметике. Для получения наиболее точного результата каждая команда (операция) выполняется два раза - первый раз с округлением в направлении к отрицательной бесконечности, второй раз - в направлении к положительной бесконечности. Точный результат лежит между полученными значениями. Заметьте, что здесь речь идет только об отелных операциях, но не о том, чтобы выполнить всю программу вычислений вначале с одним режимом округления, а затем с другим.

Поле IC регистра управления предназначен для управления бесконечностью:

0 проективный режим; 1 афинный режим.

В проективном режиме существует только одна бесконечность, она не имеет знака:

Бесконечность -----------------> <-----------------¬ ¦ ¦ ¦ ¦ ¦ ¦ L---------------- 0 ------------------

В афинном режиме имеется две бесконечности - положительная и отрицательная:

-бесконечность + бесконечность <-------------------------- 0 ---------------------------->

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


Содержание  Назад  Вперед