Смекни!
smekni.com

Описание процессоров семейства ADSP (стр. 5 из 5)

Сейчас бит 16 = 1, устанавливаем его в 0

Округленно значение : xxxxxxxx xxxxxxxx01100110 0000000000000000

В последнем случае 16 бит устанавливается в 0. Этот алгоритм применяется на каждой операции округления.

3.2.7. Смещенное округление

Режим смещенного округления возможен в процессорах ADSP-217x, ADSP-218x, и ADSP-21msp58/59. Этот режим выбирается путем установки бита BIARND регистра управления SPORT0. Если BIARND=0, то используется операция несмещенного округления, если BIARND=1, то смещенного.

Пример:

MR перед RND Смещенный результат RND Несмещенный результат RND

00-0000-8000 00-0001-8000 00-0000-8000

00-0001-8000 00-0002-8000 00-0002-8000

00-0000-8001 00-0001-8001 00-0001-8001

00-0001-8001 00-0002-8001 00-0002-8001

00-0000-7FFF 00-0000-7FFF 00-0000-7FFF

00-0001-7FFF 00-0001-7FFF 00-0001-7FFF

Этот режим эффективен только, в том случае, когда значение регистра MR0 больше 0х8000. Во всех других случаях работают обычные операции округления. Этот режим позволяет более эффективно реализовывать алгоритмы, использующие смещенное округление, например, подпрограммы речевого сжатия GSM.

4. BARREL SHIFTER

Shifterпредоставляет полный набор сдвиговых функций для 16- и 32-разрядных операндов. Это арифметические сдвиги, логические сдвиги и нормализация. Так же shifterвыполняет сортировку. Эти базисные функции могут быть объединены, чтобы реализовать работу с числами любого формата, в том числе с плавающей точкой.

4.1. Описание блок схемы

Рисунок 4.1 иллюстрирует блок схему модуля сдвига. Shifterможет быть разделен на следующие части: массив сдвига, логика OR/PASS, детектор порядка и логика сравнения порядка.

Массив сдвига принимает 16-разрядные данные и в одном цикле может поместить их в любой позиции 32-разрядного поля вывода. Это дает 49 возможных размещений в поле вывода. Размещение 16-ти входных разрядов определяется кодом управления C и сигналом ссылки HI/LO.

Массив сдвига и связная логика OR/PASS окружены набором регистров. Входной регистр Shifter (SI) содержит данные для массива сдвига и детектора порядка. SI-16-разрядный, записывается и читается с DMD-шины. В качестве входных регистров для массива сдвига и детектора порядка могут служить AR, SR или MR, подключенные через R-шину. Выходной 32-разрядный регистр SRразделен на две части по 16 разрядов: SR0 и SR1. Они могут быть загружены с DMDшины и выведены на R- или DMD-шину. Также SR подключен к блоку OR/PASS логики для проведения сдвигов двойной точности.