Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Руководство пользователя по сигнальным процессорам Sharc

.pdf
Скачиваний:
143
Добавлен:
01.05.2014
Размер:
9.49 Mб
Скачать

Справочник B вычислительных операций

COMP (Fx, Fy)

Синтаксис:

COMP (Fx, Fy)

Функция:

Сравнение операнда с плавающей точкой из регистра Fx с операндом с плавающей точкой из регистра Fy. Если два операнда равны, то устанавливается флаг AZ. Если операнд в регистре Fx меньше, чем операнд в регистре Fy, то устанавливается флаг AN.

В битах 24 31 регистра ASTAT хранятся результаты восьми предыдущих операций сравнения ALU. При выполнении команды сравнения с фиксированной или с плавающей точкой, эти биты сдвигаются вправо (бит 24 теряется). Старший бит в ASTAT устанавливается, если X операнд больше, чем Y операнд (значение бита равно результату операции «И» между флагами AZ и AN); иначе бит сбрасывается.

Флаги состояния:

AZ

Установлен, если операнды в регистре Fx и регистре Fy равны, иначе —

 

сброшен

AU

Сброшен

AN

Установлен, если операнд в регистре Fx меньше операнда в регистре Fy,

 

иначе — сброшен

AV

Сброшен

AC

Сброшен

AS

Сброшен

AI

Установлен, если входные операнды NAN, иначе — сброшен

521

В Справочник вычислительных операций

Fn = – Fx

Синтаксис:

Fn = – Fx

Функция:

Установка знакового бита операнда с плавающей точкой из операнда Fx. Результат помещается в регистр Fn. Ненормализованный входной операнд обнуляется. При вводе NAN возвращается NAN (1 во всех разрядах).

Флаги состояния:

AZ

Установлен, если результат равен ±0, иначе — сброшен

AU

Сброшен

AN

Установлен, если результат с плавающей точкой отрицательный, иначе —

 

сброшен

AV

Сброшен

AC

Сброшен

AS

Сброшен

AI

Установлен, если выходной операнд NAN, иначе — сброшен

522

Справочник B вычислительных операций

Fn = ABS Fx

Синтаксис:

Fn = ABS Fx

Функция:

Возвращается абсолютное значение операнда с плавающей точкой из регистра Fx; знаковый бит операнда устанавливается в 0. Ненормализованный входной операнд обнуляется. При вводе NAN возвращается NAN (1 во всех разрядах).

Флаги состояния:

AZ

Установлен, если результат равен +0, иначе — сброшен

AU

Сброшен

AN

Сброшен

AV

Сброшен

AC

Сброшен

AS

Установлен, если входной операнд отрицательный, иначе — сброшен

AI

Установлен, если входной операнд NAN, иначе — сброшен

523

В Справочник вычислительных операций

Fn = PASS Fx

Синтаксис:

Fn = PASS Fx

Функция:

Передача операнда с плавающей точкой из Fx без изменений через ALU в поле с плавающей точкой регистра Fn. Ненормализованный входной операнд обнуляется. При вводе NAN возвращается NAN (1 во всех разрядах).

Флаги состояния:

AZ

Установлен, если результат равен ±0, иначе — сброшен

AU

Сброшен

AN

Установлен, если результат с плавающей точкой отрицательный, иначе —

 

сброшен

AV

Сброшен

AC

Сброшен

AS

Сброшен

AI

Установлен, если входной операнд NAN, иначе — сброшен

524

Справочник B вычислительных операций

Fn = RND Fx

Синтаксис:

Fn = RND Fx

Функция:

Округление операнда с плавающей точкой из регистра Fx до 32 бит. Округление к ближайшему или усечение (в зависимости от установки битов режима округления и границы округления в MODE1). При переполнении после округления возвращается ±(округление к ближайшему) или ±NORM.MAX (округление к нулю). После округления ненормализованного результата возвращается ±0. Ненормализованные входные операнды обнуляются. При вводе NAN возвращается NAN (1 во всех разрядах).

Флаги состояния:

AZ

Установлен, если результат равен ±0, иначе — сброшен

AU

Сброшен

AN

Установлен, если результат с плавающей точкой отрицательный, иначе —

 

сброшен

AV

Установлен, если результат после округления переполнен (несмещенный

 

порядок > +127), иначе — сброшен

AC

Сброшен

AS

Сброшен

AI

Установлен, если входной операнд NAN, иначе — сброшен

525

В Справочник вычислительных операций

Fn = SCALB Fx BY Ry

Синтаксис:

Fn = SCALB Fx BY Ry

Функция:

Масштабирование порядка операнда с плавающей точкой из регистра Fx путем прибавления к порядку операнда с фиксированной точкой из Ry, представляющего собой целое в виде двоичного дополнения число. Масштабированный результат с плавающей точкой помещается в регистр Fn. При переполнении после округления возвращается ±(округление к ближайшему) или ±NORM.MAX (округление к нулю). После округления ненормализованного результата возвращается ±0. Ненормализованные входные операнды обнуляются. При вводе NAN возвращается NAN (1 во всех разрядах).

Флаги состояния:

AZ

Установлен, если результат после округления ненормализован

 

(несмещенный порядок < –126) или нулевой, иначе — сброшен

AU

Установлен, если результат после округления ненормализован, иначе —

 

сброшен

AN

Установлен, если результат с плавающей точкой отрицательный, иначе —

 

сброшен

AV

Установлен, если результат после округления переполнен (несмещенный

 

порядок > +127), иначе — сброшен

AC

Сброшен

AS

Сброшен

AI

Установлен, если входной операнд NAN, иначе — сброшен

526

Справочник B вычислительных операций

Rn = MANT Fx

Синтаксис:

Rn = MANT Fx

Функция:

Извлечение мантиссы (битов дробной части с явным «скрытым» битом, исключая знаковый бит) из операнда с плавающей точкой из Fx. Беззнаковый результат выравнивается по левому разряду (формат 1.31) в ПФТ Rn. Режим округления игнорируется, округление не выполняется, т. к. все результаты в действительности точные. Ненормализованный входной операнд обнуляется. При вводе NAN или бесконечности возвращаются 1 во всех разрядах (–1 в знаковом формате с фиксированной точкой).

Флаги состояния:

AZ

Установлен, если результат равен нулю, иначе — сброшен

AU

Сброшен

AN

Сброшен

AV

Сброшен

AC

Сброшен

AS

Установлен, если результат отрицательный, иначе — сброшен

AI

Установлен, если входной операнд NAN или , иначе — сброшен

527

В Справочник вычислительных операций

Rn = LOGB Fx

Синтаксис:

Rn = LOGB Fx

Функция:

Преобразование порядка операнда с плавающей точкой из регистра Fx в несмещенное целое число с фиксированной точкой в виде двоичного дополнения. Результат помещается в ПФТ регистра Rn. Несмещенность достигается путем вычитания 127 и из порядка операнда с плавающей точкой из Fx. Если режим насыщения не установлен, то при входном операнде, равном ±, возвращается +с плавающей точкой, а при входном операнде, равном ±0, возвращается – с плавающей точкой. Если режим насыщения установлен, то при входном операнде, равном ±, возвращается максимальное положительное число (0х7FFF FFFF), а при входном операнде, равном ±0, возвращается минимальное отрицательное число (0х8000 0000). Ненормализованные входные операнды обнуляются. При вводе NAN возвращается NAN (1 во всех разрядах).

Флаги состояния:

AZ

Установлен, если результат с фиксированной точкой равен нулю, иначе —

 

сброшен

AU

Сброшен

AN

Установлен, если результат отрицательный, иначе — сброшен

AV

Установлен, если входной операнд или 0, иначе — сброшен

AC

Сброшен

AS

Сброшен

AI

Установлен, если входной операнд NAN, иначе — сброшен

528

Справочник B вычислительных операций

Rn = FIX Fx

Rn = TRUNC Fx

Синтаксис:

 

Rn = FIX Fx

Rn = TRUNC Fx

Rn = FIX Fx BY

Rn = TRUNC Fx BY Ry

Функция:

Преобразование операнда с плавающей точкой из Fx в 32 разрядное целое число с фиксированной точкой в виде двоичного дополнения. Если в регистре MODE1 бит TRUNC=1, то при выполнении операции FIX мантисса усекается к –. Если бит TRUNC=0, при выполнении операции FIX мантисса округляется к ближайшему целому. При выполнении операции TRUNC округление всегда к 0. Заметим, что бит TRUNC не влияет на операцию, соответствующую команде TRUNC.

Если определен коэффициент масштабирования (Ry), то перед преобразованием значение из Ry (целое с фиксированной точкой в виде двоичного дополнения) добавляется к порядку операнда с плавающей точкой из Fx. Результат преобразования выравнивается по правому разряду (формат 32.0) в ПФТ регистра Rn. Оставшиеся биты поля с плавающей точкой в Rn обнуляются. В режиме насыщения (бит режима насыщения ALU установлен в MODE1) при положительном переполнении и при результате, равном +, возвращается максимальное положительное число (0x7FFF FFFF), а при отрицательном переполнении и при результате, равном –, возвращается максимальное отрицательное число (0x8000 0000).

При операции FIX происходит округление к ближайшему (IEEE) или усечение (в зависимости от состояния бита режима округления в MODE1). При вводе NAN возвращается NAN (1 во всех разрядах). Если режим насыщения не установлен, то при входном операнде, равном , или при переполнении результата возвращаются единицы во всех разрядах ПФТ. При потере значащих разрядов положительным числом возвращается 0. При потере значащих разрядов отрицательным числом после его округления к ближайшему возвращается 0. При потере значащих разрядов отрицательным числом после его усечения возвращается –1 (0xFF FFFF FF00).

Флаги состояния:

AZ Установлен, если результат с фиксированной точкой равен нулю, иначе — сброшен

529

В Справочник вычислительных операций

AU

Установлен, если результат перед округлением ненормализован, иначе —

 

сброшен

AN

Установлен, если результат с фиксированной точкой отрицательный,

 

иначе — сброшен

AV

Установлен, если преобразование вызывает сдвиг влево мантиссы с

 

плавающей точкой, т.е. порядок + смещение > 157 (127 + 31 – 1) или если

 

входной операнд равен ±, иначе — сброшен

AC

Сброшен

AS

Сброшен

AI

Установлен, если входной операнд NAN, или при не установленном

 

режиме насыщения входной операнд равен или результат переполнен,

 

иначе — сброшен

530