Разделы:
Best links:
Программная модель арифметического процессора
Отметим, что каждый из перечисленных флагов, будучи установленным, не сбрасывается до тех пор, пока не будет подана команда FCLEX - обнуление флагов исключительных ситуаций.
Регистр управления CR. Служит для задания различных режимов работы сопроцессора. Различают две основные группы режимов - вычислений и обработки исключительных ситуаций. Для управления режимами вычислений служат поля, расположенные в старшем байте регистра CR (см. рис. 2.4). Поле RC осуществляет управление округлением результатов вычислений в соответствии с табл. 2.5.
Режим округления к ближайшему четному значению используется наиболее часто, так как обеспечивает максимальную точность вычислений. Режимы округления по направлению к плюс/минус бесконечности используются для определения границ значений, в пределах которых находится результат (например, полученный в режиме RC = 00). Наконец, режим округления по направлению к нулю используется в редких случаях, например для моделирования на базе АП целочисленной арифметики.
Поле РС осуществляет управление точностью представления результатов вычислений в соответствии с табл. 2.6. Обычно задается значение поля РС = 00, которое позволяет получить наиболее точные значения при вычислениях. Два других варианта задания точности РС = 01 и РС = 10 ограничивают представление результатов форматами КВФ и ДВФ. Причем, поскольку АП производит все действия в формате ВВФ, округление результатов до более коротких форматов может приводить к потере точности.
Таблица 2.5 Таблица 2.6
|
Код поля RC |
Способ округления результата |
|
00 |
К ближайшему четному |
|
01 |
По направлению к – оо |
|
10 |
По направлению к +оо |
|
11 |
По направлению к нулю |
|
Код поля РC |
Точность представления результата |
|
00 |
В формате ВВФ |
|
01 |
В формате КВФ |
|
10 |
В формате ДВФ |
Флаг IC позволяет управлять типом арифметики. Значение IC = 1 определяет режим работы АП в обычной арифметике, использующей числа, лежащие в диапазоне от минус до плюс бесконечности. Значение IC = 0 определяет режим работы в так называемой проективной арифметике, которая имеет одну бесконечность без знака. Обычная арифметика имеет две бесконечности, между которыми расположены все вещественные числа. В проективной арифметике числа отображаются на проективную окружность, верхняя точка которой соответствует бесконечности без знака, нижняя нулю, а все остальные точки соответствуют конечным положительным и отрицательным числам. Особенность вычислений в проективной арифметике состоит, в частности, в том, что ни одно конечное число несравнимо с бесконечно большим. При выполнении операций сравнения это различие приведет к тому, что в результате сравнения чисел, одно из которых бесконечно большое, а другое конечное, в режиме IC = 1 получится вполне определенный результат (С3С0 = 00 или 01), а в режиме IC = 0 числа окажутся несравнимы (С3С0 = 11).
предыдущаяследующая© Copyright, 2009.
Для связи: info@dgs-srl.com.