Чтение онлайн

на главную - закладки

Жанры

Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++

Вальпа Олег Дмитриевич

Шрифт:

 произведения MX0 на MY0, где оба операнда произведения знаковые*/

MF=AR*MY0(RND) /* Присвоить регистру MF значение произведения регистра AR на

 MY0, с округлением результата*/

MF=AR*MY0(RND), MY1=DM(I3,M3); /* Мультипроцессорная команда вычисления

 произведения и одновременной пересылки данных из памяти в регистр*/

MF=MR(RND); /* Осуществить пересылку содержимого регистра MR в регистр MF с

 округлением значения */

IF EQ MR=0; /* Очистить регистр MR, если предыдущий результат равен нулю */

Глава 16. Устройство сдвига

В этой главе говорится об устройстве сдвига сигнального процессора и выполняемых с его помощью командах.

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

Структура устройства сдвига

На рис. 16.1 представлена структурная схема устройства сдвига. Shifter включает в себя следующие основные блоки: массив сдвига, логику OR/PASS (ИЛИ/ПЕРЕДАЧА), детектор порядка и логику сравнения порядка.

Рис. 16.1. Структурная схема устройства сдвига

Массив сдвига состоит из шестнадцати 32-разрядных регистров. Он принимает 16-разрядные данные и в одном цикле может поместить их в любой позиции 32-разрядного поля вывода, начиная с данных, полностью сдвинутых влево,

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

Таблица 16.1 Варианты возможных размещений 16-разрядных входных данных в 32-разрядном поле вывода

N Разряды
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
2 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 15
3 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 15 14
17 X X X X X X X X X X X X X X X X 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
18 X X X X X X X X X X X X X X X 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 X
33 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 X X X X X X X X X X X X X X X X
34 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 X X X X X X X X X X X X X X X X X
47 1 0 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
48 0 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
49 X X X X X X X X X X X X X X X X X X X X X X X X X X X X Z X X X

Размещение 16 входных разрядов определяется кодом управления «С» и сигналом ссылки HI/LO. Код управления «С» является 8-битным значением, которое указывает направление сдвига и число разрядов, на которое необходимо будет сдвинуть данные.

Положительные значения кода управления указывают на сдвиг данных влево, а отрицательные на сдвиг вправо. Код

управления может быть взят из регистра экспоненты SE или непосредственно из инструкции команды. Сигнал ссылки HI/LO определяет начальную точку сдвига. В состоянии HI все сдвиги производятся относительно регистра SR1 (старшей половины выходных данных), а в состоянии LO все сдвиги производятся относительно регистра SR0 (младшей половины выходных данных). В табл. 16.2 показаны все возможные комбинации сдвигов данных для сигналов ссылки LO и HI.

Таблица 16.2 Возможные комбинации сдвигов данных для сигналов ссылки L0 и HI

Управляющий код для сигнала сдвига Выходное значение массива сдвига
HI LO
+16…+127 +32…+127 00000000 00000000 00000000 00000000
+15 +31 R0000000 00000000 00000000 00000000
+14 +30 PR000000 00000000 00000000 00000000
+13 +29 NPR00000 00000000 00000000 00000000
+12 +28 MNPR0000 00000000 00000000 00000000
+11 +27 LMNPR000 00000000 00000000 00000000
+10 +26 KLMNPR00 00000000 00000000 00000000
+9 +25 JKLMNPR0 00000000 00000000 00000000
+8 +24 IJKLMNPR 00000000 00000000 00000000
+7 +23 HIJKLMNP R0000000 00000000 00000000
+6 +22 GHIJKLMN PR000000 00000000 00000000
+5 +21 FGHIJKLM NPR00000 00000000 00000000
+4 +20 EFGHIJKL MNPR0000 00000000 00000000
+3 +19 DEFGHIJK LMNPR000 00000000 00000000
+2 +18 CDEFGHIJ KLMNPR00 00000000 00000000
+1 +17 BCDEFGHI GKLMNPR0 00000000 00000000
0 +16 ABCDEFGH IJKLMNPR 00000000 00000000
– 1 +15 XABCDEFG HIJKLMNP R0000000 00000000
– 2 +14 XXABCDEF GHIJKLMN PR000000 00000000
– 3 +13 XXXABCDE FGHIJKLM NPR00000 00000000
– 4 +12 XXXXABCD EFGHIJKL MNPR0000 00000000
– 5 +11 ХХХХХАВС DEFGHIJK LMNPR000 00000000
– 6 +10 ХХХХХХАВ CDEFGHIJ KLMNPR00 00000000
– 7 +9 XXXXXXXA BCDEFGHI JKLMNPR0 00000000
– 8 +8 XXXXXXXX ABCDEFGH IJKLMNPR 00000000
– 9 +7 XXXXXXXX XABCDEFG HIJKLMNP R0000000
– 10 +6 XXXXXXXX XXABCDEF GHIJKLMN PR000000
– 11 +5 XXXXXXXX XXXABCDE FGHIJKLM NPR00000
– 12 +4 XXXXXXXX XXXXABCD EFGHIJKL MNPR0000
– 13 +3 XXXXXXXX ХХХХХАВС DEFGHIJK LMNPR000
– 14 +2 XXXXXXXX ХХХХХХАВ CDEFGHIJ KLMNPR00
– 15 +1 XXXXXXXX ХХХХХХХА BCDEFGHI JKLMNPR0
– 16 0 XXXXXXXX ХХХХХХХХ ABCDEFGH IJKLMNPR
– 17 – 1 XXXXXXXX ХХХХХХХХ XABCDEFG HIJKLMNP
– 18 – 2 XXXXXXXX ХХХХХХХХ XXABCDEF GHIJKLMN
– 19 – 3 XXXXXXXX ХХХХХХХХ XXXABCDE FGHIJKLM
– 20 – 4 XXXXXXXX ХХХХХХХХ XXXXABCD EFGHIJKL
– 21 – 5 XXXXXXXX ХХХХХХХХ ХХХХХАВС DEFGHIJK
– 22 – 6 XXXXXXXX ХХХХХХХХ ХХХХХХАВ CDEFGHIJ
– 23 – 7 XXXXXXXX ХХХХХХХХ XXXXXXXA BCDEFGHI
– 24 – 8 XXXXXXXX ХХХХХХХХ XXXXXXXX ABCDEFGH
– 25 – 9 XXXXXXXX ХХХХХХХХ XXXXXXXX XABCDEFG
– 26 – 10 XXXXXXXX ХХХХХХХХ XXXXXXXX XXABCDEF
– 27 – 11 XXXXXXXX ХХХХХХХХ XXXXXXXX XXXABCDE
– 28 – 12 XXXXXXXX ХХХХХХХХ XXXXXXXX XXXXABCD
– 29 – 13 XXXXXXXX ХХХХХХХХ XXXXXXXX ХХХХХАВС
– 30 – 14 XXXXXXXX ХХХХХХХХ XXXXXXXX ХХХХХХАВ
– 31 – 15 XXXXXXXX ХХХХХХХХ XXXXXXXX ХХХХХХХА
– 32…-128 – 16…-128 XXXXXXXX ХХХХХХХХ XXXXXXXX ХХХХХХХХ
Поделиться:
Популярные книги

Дракон - не подарок

Суббота Светлана
2. Королевская академия Драко
Фантастика:
фэнтези
6.74
рейтинг книги
Дракон - не подарок

Бастард Императора. Том 8

Орлов Андрей Юрьевич
8. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 8

Чужая дочь

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Чужая дочь

Эра Мангуста. Том 2

Третьяков Андрей
2. Рос: Мангуст
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эра Мангуста. Том 2

Идеальный мир для Лекаря 14

Сапфир Олег
14. Лекарь
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 14

Один на миллион. Трилогия

Земляной Андрей Борисович
Один на миллион
Фантастика:
боевая фантастика
8.95
рейтинг книги
Один на миллион. Трилогия

Помещицы из будущего

Порохня Анна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Помещицы из будущего

Шлейф сандала

Лерн Анна
Фантастика:
фэнтези
6.00
рейтинг книги
Шлейф сандала

Черный маг императора 2

Герда Александр
2. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
6.00
рейтинг книги
Черный маг императора 2

Император

Рави Ивар
7. Прометей
Фантастика:
фэнтези
7.11
рейтинг книги
Император

Бандит 2

Щепетнов Евгений Владимирович
2. Петр Синельников
Фантастика:
боевая фантастика
5.73
рейтинг книги
Бандит 2

На границе империй. Том 9. Часть 2

INDIGO
15. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 2

Князь Серединного мира

Земляной Андрей Борисович
4. Страж
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Князь Серединного мира

Чайлдфри

Тоцка Тала
Любовные романы:
современные любовные романы
6.51
рейтинг книги
Чайлдфри