Реферат: Операции над данными в СП с плавающей точкой

с плавающей точкой: сложение, вычитание, сложение/вычитание, усреднение;

с фиксированной точкой: сложение, вычитание, сложение/вычитание, усреднение;

манипуляция с данными с плавающей точкой: двоичный логарифм, масштабирование, мантисса;

с фиксированной точкой: сложение с переносом, вычитание с заемом, инкремент, декремент;

логические AND, OR, XOR, NOT;

функции: модуль, сброс, минимум, максимум, усечение, сравнение;

преобразования формата;

примитивы деления - и деления на корень квадратный г-.

Операция двойного сложения/вычитания и параллельные операции ALU и умножителя описаны ниже в разделе "Многофункциональные вычисления".

5.1 Работа ALU

На вход ALU поступают один или два входных операнда, называемые X и Y, которые могут быть содержимым любого регистра в регистровом файле. Обычно возвращается один результат; при операции сложение/вычитание - два результата, после сравнения никакие результаты не возвращаются, а обновляются только флаги. Результаты операций ALU могут возвращаться в любой регистр регистрового файла. Входные операнды пересылаются из регистрового файла в ALU в течение первой половины цикла. Результаты передаются в регистровый файл в течение второй половины цикла. Т.о., ALU может считывать и записывать один и тот же регистр регистрового файла за один цикл.

При операциях ALU с фиксированной точкой операнды X и Y обрабатываются как 32-разрядные с фиксированной точкой. Передаются 32 старших бита из регистра в регистровом файле. Результат операции с фиксированной точкой - всегда 32-разрядное значение с фиксированной точкой. Некоторые операции с плавающей точкой (LOGB, MANT и FIX) также могут возвращать результаты с фиксированной точкой. Результаты с фиксированной точкой помещаются в 32 старших бита регистра в регистровом файле, а восемь младших бит обнуляются. Формат операндов и результатов с фиксированной точкой зависит от операции. В большинстве арифметических операций нет необходимости различать целые и дробные форматы. Входные операнды с фиксированной точкой в операциях, таких как масштабирование числа с плавающей точкой, обрабатываются как целые. В определенных состояниях, таких как переполнение, арифметические операнды и результаты с фиксированной точкой обрабатываются как числа в дополнительном коде.

5.2 Режимы работы ALU

Режим работы ALU определяется тремя битами в регистре MODEL Бит насыщения ALU влияет на операции ALU, которые возвращают результаты с фиксированной точкой; бит режима округления и бит границы округления влияют на операции с плавающей точкой в ALU и умножителе.

Бит M0DE1 Имя Функция

13 ALUSAT1= разрешено насыщение ALU (полномасштабная

величина с фиксированной точкой)

О=запрещено насыщение ALU

TRUNC 1=усечение; О=округление к ближайшему

RND 321=округление до 32 бит; О=округление до 40 бит

5.2.1 Режим насыщения

В режиме насыщения при положительном переполнении в операциях с фиксированной точкой возвращается максимальное положительное число с фиксированной точкой (0x7FFF FFFF), при отрицательном переполнении возвращается максимальное отрицательное число (0x8000 0000). Если бит ALUSAT установлен, то результаты с фиксированной точкой при переполнении насыщаются. Если бит ALUSAT обнулен, то результаты с фиксированной точкой при переполнении не насыщаются, 32 старших бита результата возвращаются без изменений. Флаг переполнения ALU отражает результат ALU до насыщения.

5.2.2 Режимы округления данных с плавающей точкой

ALU поддерживает два режима округления стандарта IEEE. Если бит TRUNC установлен, то ALU округляет результат к нулю (усечение). Если бит TRUNC обнулен, то ALU округляет к ближайшему.

5.2.3 Границы округления данных с плавающей точкой

В ADSP-2106x результаты операций ALU с плавающей точкой могут быть 32 - и 40-разрядными данными с плавающей точкой. Если бит RND32 установлен, то перед выполнением операции ALU (за исключением операции RND) восемь младших разрядов каждого входного операнда обнуляются, результат с плавающей точкой выводится в 32-разрядном формате стандарта IEEE. Восемь младших разрядов результата обнуляются. Если бит RND32 обнулен, то ALU получает 40-разрядные операнды неизменными и выводит 40-разрядные результаты операции с плавающей точкой и все 40 разрядов записываются в определенный регистр регистрового файла.

При преобразовании чисел из формата с фиксированной точкой в формат с плавающей точкой граница округления всегда 40 бит, независимо от состояния бита RND32.

5.3 Флаги состояния ALU

ALU обновляет семь флагов состояния в регистре ASTAT в конце каждой операции. Состояния этих флагов отражают результат самой последней операции ALU. В конце каждой операции сравнения ALU обновляет биты накопления сравнений в ASTAT. Также ALU обновляет четыре "залипших" флага состояния в регистре STKY. После установки "залипший" флаг остается в этом состоянии, пока явно не будет обнулен.

ъ Имя
0 AZ
1 AV
2 AN
3 АС
4 AS
5 AI
10 AF
31-24 САС
Бит STKY Имя
0 AUS
1 AVS
2 AOS
5 AIS

Описание:

Нулевой результат или потеря значащих разрядов в операции с плавающей точкой Переполнение ALU Отрицательный результат ALU Перенос для результата с фиксированной точкой Знак операнда X (операции ABS, MANT) Неправильная операция ALU с плавающей точкой Последняя операция ALU была операцией с плавающей точкой С АС С Регистр накопления сравнений (Compare Accumulation register) (результат 8 последних операций сравнения)

Описание:

Потеря значащих разрядов в операции с плавающей точкой Переполнение результата операции ALU с плавающей точкой Переполнение результата операции ALU с фиксированной точкой Неправильная операция ALU с плавающей точкой

Флаг обновляется в конце того цикла, в котором генерируется состояние, и доступен в следующем цикле. Если программа осуществляет прямую запись в регистры ASTAT или STKY в том же цикле, в котором ALU выполняет операцию, то явная запись имеет преимущество.

5.3.1 Нулевой флаг ALU (AZ)

Нулевой флаг определен для всех операций ALU с фиксированной и плавающей точкой. AZ устанавливается, когда результат операции ALU равняется нулю. Установка AZ также сигнализирует о потере значащих разрядов результата с плавающей точкой (см. ниже). В противном случае он сброшен.

5.3.2 Флаги потери значащих разрядов (AZ, AUS)

К-во Просмотров: 297
Бесплатно скачать Реферат: Операции над данными в СП с плавающей точкой