величина з фіксованою крапкою)
О = заборонено насичення 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 округлює до найближчого. h2> 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. Після установки "заліпшіе" прапор залишається в цьому стані, поки явно не буде обнулено. br/>
ь
Ім'я
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 також сигналізує про втрату значущих розрядів результату з плаваючою точкою (див. нижче). В іншому випадку він скинутий. h2> 5.3.2 Прапори втрати значущих розрядів (AZ, AUS)
Втрата значущих розрядів визначена для всіх операцій ALU, які повертають результат з плаваючою точкою, а також для операції перетворення форматів. AUS і AZ встановлюються, коли результат операції ALU менше, ніж мінімальне число форм...