Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MProc / M9 / Архитектура часть 5..doc
Скачиваний:
43
Добавлен:
16.04.2013
Размер:
349 Кб
Скачать

5.4.4. Целочисленные неверные операции

Преобразование числа с плавающей точкой в целочисленное, являющееся ошибочным (в смысле IEEE) отмечает ошибку «Исключение: Неверная операция с плавающей точкой». Если IEEE ловушка «Неверная операция» запрещена, то результатом является наибольшее (по абсолютной величине) отрицательное целочисленное значение, даже для целочисленных операций без знака.

5.4.5. Определение целочисленных операций

Арифметические операции, работающие с операндами, обрабатывают код каждого операнда как значение, тогда как не арифметические операции выполняют манипулирование битами входных операндов без связи со значениями представляемыми кодами (если только не обнаружено значение NaTVal). Не арифметические инструкции не вызывают ошибки и ловушки «Исключения с плавающей точкой», но могут вызвать ошибку «Недоступный регистр с плавающей точкой».

5.4.6. Определение и распространение значений.

Сигнальные значения NaN имеют нули в старшем дробном бите мантиссы. Тихие NaN имеют единицы в старшем дробном бите мантиссы. Это определение сигнальных и тихих значений NaN легко сохраняет «NaN’овость», при преобразованиях между различными точностями. При распространении значений NaN в операциях, которые имеют более одного операнда со значением NaN, результат NaN выбирается из одного операнда со значением NaN в следующем порядке приоритета, основанном на кодовых полях регистра: сначала f4, затем f2 и наконец f3.

5.4.7. Операции, предписанные стандартом ieee, отложенные программно

Следующие операции, предписанные стандартом IEEE, будут реализованы программно:

  • Преобразование строки в число с плавающей точкой

  • Преобразование числа с плавающей точкой в строку

  • Деление (с помощью инструкций frcpa и fprcpa)

  • Вычисление квадратного корня (с помощью инструкций frsqrta и fpsqrta)

  • Вычисление остатка (с помощью инструкций frcpa и fprcpa)

  • Преобразование значения с плавающей точкой в целочисленное значение

  • Корректная свертка порядка для переполнения и антипереполнения значения с одинарной, двойной или двойной расширенной точностью, как это рекомендовано стандартом IEEE

5.4.8. Дополнения сверх стандарта ieee

  • Объединенные операции умножения и сложения (fma, fms, fnma, fpma, fpms, fpnma), допускающие эффективные программные алгоритмы деления, вычисления остатка и квадратного корня.

  • Расширенный диапазон 17-битового порядка в формате регистра позволяет упростить выполнение многих основных цифровых алгоритмов, осторожным цифровым программистам

  • NaTVal – это естественное расширение IEEE концепции значений NaN. Оно используется для спекулятивных вычислений.

  • Режим FTZ (стремления к нулю) – это дополнительный индустриальный стандарт.

  • Инструкции минимума и максимума позволяют эффективно выполнять внутренние функции Фортрана: MIN(), MAX(), AMIN(), AMAX(), а также идиомы языка С, такие как a<b?a:b.

  • Разрешены все смешанные операции точности. Поддерживается предложение стандарта IEEE, чтобы обработка операндов низкой точности позволяла получать результат высокой точности. Но, не поддерживается предложение стандарта IEEE, чтобы обработка операндов высокой точности не позволяла получать результат низкой точности. Если вычисления с операндами высокой точности привели к результату выходящему за диапазон точности приемника, то в поле ISR.code обеспечивается информация, позволяющая программе однозначно определить истинный результат. Также могут быть вычислены, корректный счетчик свертки и соответствующее количество смещений.

  • Программно поддерживается вещественный тип с четверной точностью в стиле IEEE.

---- Нет рис.5.4-5.9 и 5.12 ---