Операции с фиксированной точкой — КиберПедия 

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Операции с фиксированной точкой

2020-04-01 221
Операции с фиксированной точкой 0.00 из 5.00 0 оценок
Заказать работу

 

Помимо умножения к операциям с фиксированной точкой относятся накопление, округление и насыщение. Существуют три операции с содержимым регистра MR: обнуление (Clear), округление (Round) и насыщение (Saturate).

Обнуление регистра MR

Операция обнуления обнуляет заданный регистр MR. Обнуление выполняется в начале операции умножение/накопление для удаления результатов, оставшихся от предыдущей операции.

Округление содержимого регистра MR

Округление результата с фиксированной точкой происходит или как часть операций умножение и умножение/накопление, или как явная операция регистра MR. Операция округления применяется только к дробным результатам (целые результаты не округляются), 80-разрядное число в MR округляется к ближайшему за счет бита 32, т.е. границы MR1-MR0. Округленный результат из MR1 может быть отправлен в регистровый файл или в тот же самый регистр MR. Для округления дробного результата к нулю (усечение) вы пересылаете неокругленный результат из MR1, отбрасывая 32 младших бита (MR0).


Насыщение регистра MR при переполнении

Операция насыщения устанавливает максимальное значение в MR, если содержимое MR переполнено. Переполнение происходит, когда значение в MR больше максимального значения данного формата (беззнаковый или в дополнительном коде, целый или дробный). Ниже приведены шесть возможных максимальных чисел, представленных в шестнадцатиричном формате:

 

MR2MR1MR0

Максимальное дробное число в дополнительном коде

00007FFF FFFFFFFF FFFF Положительное

FFFF8000 00000000 0000 Отрицательное

Максимальное целое число в дополнительном коде

00000000 00007FFF FFFF Положительное

FFFFFFFF FFFF8000 0000 Отрицательное

Максимальное беззнаковое дробное число

0000FFFF FFFF FFFF FFFF

Максимальное беззнаковое целое число

00000000 0000FFFF FFFF

 

Результат насыщения MR можно поместить или в регистровый файл, или назад в тот же самый регистр MR.

Режимы работы с плавающей точкой

 

Умножитель управляется двумя битами состояния режима в регистре MODE1: биты режима округления и границы округления. Кроме того, эти биты влияют на операции ALU.

 

Бит MODE1 Имя
15   TRUNC
16   RND32

 

Функция

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

1=округление до 32 бит; 0=округление до 40 бит

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

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

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

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

Флаги состояния умножителя

 

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

 

Бит ASTAT Имя
6 MN
7 MV
8 ми
9 Ml
Бит STKY Имя
6 MOS
7 MVS
8 MUS
9 MIS

 

Описание:

Результат операции умножителя отрицательный

Переполнение умножителя

Потеря значащих разрядов

Неправильная операция умножителя с плавающей точкой

Описание

Переполнение результата умножителя с фиксированной

точкой

Переполнение результата умножителя с плавающей точкой

Потеря значащих разрядов

Неправильная операция умножителя с плавающей точкой

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



Поделиться с друзьями:

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.