Олег Вальпа - Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++
- Название:Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++
- Автор:
- Жанр:
- Издательство:Горячая линия — Телеком
- Год:2007
- Город:Москва
- ISBN:5-93517-342-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Олег Вальпа - Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ краткое содержание
Книга предназначена для самостоятельного изучения и применения на практике цифровых сигнальных процессоров DSP (Digital Signal Processor). На примере популярной микросхемы ADSP2181 фирмы Analog Devices рассмотрены устройство, архитектура и технические характеристики цифрового сигнального процессора. Приведено описание вычислительных блоков процессора, средств разработки программного обеспечения, языка программирования и системы команд процессора. Разработанные автором книги практические схемы с применением сигнального процессора, исходные тексты программ и схемы вспомогательных устройств, полезных при отладке программ для процессора помогут получить необходимые практические навыки, с помощью которых читатель легко освоит другие типы сигнальных процессоров. На прилагаемом к книге диске находятся исходные тексты и исполняемые файлы программ, а так же некоторые полезные утилиты и средства разработки программного обеспечения для сигнальных процессоров.
Для специалистов в области разработки цифровой электронной аппаратуры, будет полезна студентам и аспирантам.
Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
В режиме LO входной операнд интерпретируется как младшая половина числа с двойной точностью. В этом режиме детектор степени интерпретирует бит SS как знак числа. Регистр SE загружается результатом детектора порядка только в том случае, если регистр SE равен минус 15. Это происходит в тех случаях, когда старшая часть числа содержит лишь знаковые разряды. При этом выходное значение детектора порядка сдвигается на 16 разрядов влево, для того чтобы определить, что операнд является младшей половиной 32-разрядного числа.
Для наглядности, в табл. 16.3–16.5 показаны все три режима работы детектора порядка. В таблицах приняты следующие условные обозначения: S — знаковый бит, N — знаковый бит, D — незначащий бит.
Таблица 16.3 Детектор порядка в режиме работы HI
Старший байт | Младший байт | Степень |
---|---|---|
SNDDDDDD | DDDDDDDD | 0 |
SSNDDDDD | DDDDDDDD | -1 |
SSSNDDDD | DDDDDDDD | -2 |
SSSSNDDD | DDDDDDDD | -3 |
SSSSSNDD | DDDDDDDD | -4 |
SSSSSSND | DDDDDDDD | -5 |
SSSSSSSN | DDDDDDDD | -6 |
SSSSSSSS | NDDDDDDD | -7 |
SSSSSSSS | SNDDDDDD | -8 |
SSSSSSSS | SSNDDDDD | -9 |
SSSSSSSS | SSSNDDDD | -10 |
SSSSSSSS | SSSSNDDD | -11 |
SSSSSSSS | SSSSSNDD | -12 |
SSSSSSSS | SSSSSSND | -13 |
SSSSSSSS | SSSSSSSN | -14 |
SSSSSSSS | SSSSSSSS | -15 |
Таблица 16.4 Детектор порядка в режиме работы HIX
Флаг AV | Старший байт | Младший байт | Степень |
---|---|---|---|
1 | DDDDDDDD | DDDDDDDD | +1 |
0 | SNDDDDDD | DDDDDDDD | 0 |
0 | SSNDDDDD | DDDDDDDD | -1 |
0 | SSSNDDDD | DDDDDDDD | -2 |
0 | SSSSNDDD | DDDDDDDD | -3 |
0 | SSSSSNDD | DDDDDDDD | -4 |
0 | SSSSSSND | DDDDDDDD | -5 |
0 | SSSSSSSN | DDDDDDDD | -6 |
0 | SSSSSSSS | NDDDDDDD | -7 |
0 | SSSSSSSS | SNDDDDDD | -8 |
0 | SSSSSSSS | SSNDDDDD | -9 |
0 | SSSSSSSS | SSSNDDDD | -10 |
0 | SSSSSSSS | SSSSNDDD | -11 |
0 | SSSSSSSS | SSSSSNDD | -12 |
0 | SSSSSSSS | SSSSSSND | -13 |
0 | SSSSSSSS | SSSSSSSN | -14 |
0 | SSSSSSSS | SSSSSSSS | -15 |
Таблица 16.5 Детектор порядка в режиме работы LO
Флаг SS | Старший байт | Младший байт | Степень |
---|---|---|---|
S | DDDDDDDD | DDDDDDDD | -15 |
S | SNDDDDDD | DDDDDDDD | -16 |
S | SSNDDDDD | DDDDDDDD | -17 |
S | SSSNDDDD | DDDDDDDD | -18 |
S | SSSSNDDD | DDDDDDDD | -19 |
S | SSSSSNDD | DDDDDDDD | -20 |
S | SSSSSSND | DDDDDDDD | -21 |
S | SSSSSSSN | DDDDDDDD | -22 |
S | SSSSSSSS | NDDDDDDD | -23 |
S | SSSSSSSS | SNDDDDDD | -24 |
S | SSSSSSSS | SSNDDDDD | -25 |
S | SSSSSSSS | SSSNDDDD | -26 |
S | SSSSSSSS | SSSSNDDD | -27 |
S | SSSSSSSS | SSSSSNDD | -28 |
S | SSSSSSSS | SSSSSSND | -29 |
S | SSSSSSSS | SSSSSSSN | -30 |
S | SSSSSSSS | SSSSSSSS | -31 |
Источниками входных данных в устройстве сдвига могут служить регистры SI, AR, MR0, MR1, MR2, SR0 и SR1. Результат работы устройства сдвига всегда помещается в регистр SR (SR0, SR1).
Как было сказано выше, устройство сдвига выполняет следующие функции:
• Арифметический сдвиг (ASHIFT)
• Логический сдвиг (LSHIFT)
• Нормализация числа (NORM)
• Определение экспоненты (ЕХР)
• Блочное изменение экспоненты (EXPADJ)
Данные команды устройства сдвига применяются при выполнении арифметических операций над числами. С их помощью производится определение порядка блока, немедленные сдвиги, нормализация и денормализация чисел.
Ниже приводится полный список команд устройства сдвига Shifter в соответствии с принятыми ранее условными сокращениями. Назначение команд приводится в тексте описания этих команд и комментариях для некоторых из команд.
Команды арифметического сдвига:
[IF cond] SR = |SR OR| ASHIFT xop |(HI)|;
|(LO)|
Команды логического сдвига:
[IF cond] SR = |SR OR| LSHIFT xop |(HI)|;
|(LO)|
Команды нормализации:
[IF cond] SR = |SR OR| NORM xop |(HI)|;
|(LO)|
Команды выделения порядка:
[IF cond] SR = EXP xop |(HI) |;
|(LO) |
|(HIX)|
Команды выравнивания блочного порядка:
[IF cond] SR = EXPADJ xop;
Команды арифметического непосредственного сдвига:
[IF cond] SR = |SR OR| ASHIFT xop BY |(HI)|;
|(LO)|
Команды логического непосредственного сдвига:
[IF cond] SR = |SR OR| LSHIFT xop BY |(HI)|;
|(LO)|
В записях некоторых команд присутствуют символы, которые имеют следующее назначение:
HI — сдвиг выполняется относительно старших 16 разрядов (SR1);
LO — сдвиг выполняется относительно младших 16 разрядов (SR0);
HIX — расширенный режим HI (при выделении порядка учитывается бит переполнения AV).
Например, команда:
SE=EXP AR (HIX);
означает, что в регистр SE будет занесен результат выделения порядка из регистра AR в расширенном режиме, т.е. с учетом бита переполнения AV.
Команда:
SR=NORM AR (HI); {Нормализация}
означает, что в регистр SR будет занесен результат нормализации регистра AR, причем сдвиг при нормализации будет выполняться относительно старших 16 разрядов.
Для всех команд устройства сдвига разрешено использовать следующие операнды xop: SI, SR0, SR1, AR, MR0, MR1, MR2, а в качестве ЕХР может быть любое целое число от -128 до 127.
Коды условия IF соответствуют кодам, приведенным ранее в табличном виде.
Ниже приведен пример программы для вычисления разницы двух чисел в формате с плавающей точкой, с применением устройства сдвига.
.MODULE float_point_sub;
{
Программный модуль вычисления z = x - y в формате с плавающей точкой
Входные операнды:
AX0 = показатель x, АХ1 = мантисса x, AY0 = показатель y, AY1 = мантисса y.
Выходные данные: AR = показатель z, SR1 = мантисса z
Изменяются регистры: AX0,AY1,AY0,AF,AR,SI,SE,SR
Время вычисления = 11 циклов
}
.ENTRY fps;
fps : AF=AX0-AY0; {Показатель x > показателя y?}
IF GT JUMP shifty; {Если да - переход на сдвиг y}
SI=AX1, AR=PASS AF; {Иначе - сдвиг x}
SE=AR;
SR=ASHIFT SI (HI);
AR=SR1-AY1; {Вычисление мантиссы}
JUMP subt;
shifty: SI=AY1, AR=-AF; SE=AR;
SR=ASHIFT SI (HI);
AY1=SR1;
AY0=AX0, AR=AX1-AY1; {Вычисление мантиссы}
subt: SE=EXP AR (HIX);
AX0=SE, SR=NORM AR (HI); {Нормализация}
AR=AX0+AY0; {Вычисление показателя}
RTS;
.ENDMOD;
Данная программа содержит многофункциональные команды, что позволило сократить время ее работы. Программа выполняется всего за 11 машинных циклов процессора.
Глава 17. Устройство обмена между шинами
В этой главе говорится об устройстве обмена между шинами памяти программ PMD и памяти данных DMD.
В операциях обмена данными и при загрузке данных вычислительными устройствами процессора, часто используется устройство обмена между шиной памяти программ PMD и шиной памяти данных DMD. Это устройство позволяет передавать данные между упомянутыми выше шинами в обоих направлениях. Рассмотрим работу данного устройства. Его структурная схема приведена на рис. 17.1.
Читать дальшеИнтервал:
Закладка: