
- •1 Исследование эффектов квантования в цифровых цепях
- •1.1 Краткая теоретическая справка
- •1.2 Контроль подготовленности к работе:
- •1.3 Выполнение лабораторной работы
- •1.4 Контрольные вопросы
- •2 Подготовка исполняемых программ для процессора tms320с50
- •2.1 Краткая теоретическая справка
- •2.2 Порядок выполнения работы
- •Dspa.Exe -lcs (имя файла).Asm
- •2.3 Контрольные вопросы
- •3 Изучение симулятора процессора tms320c50 и приемов работы с ним
- •3.1 Краткая теоретическая справка
- •3.2 Порядок выполнения работы
- •2.3 Контрольные вопросы
- •4 Представление данных в процессорах с фиксированной запятой
- •4.1 Краткая теоретическая справка
- •4.2 Порядок выполнения работы
- •4.3 Содержание отчета
- •4.4 Контрольные вопросы
- •5 Изучение методов адресации процессора tms320с5x
- •5.1 Краткая теоретическая справка
- •Прямая адресация
- •5.1.3 Непосредственная адресация
- •5.1.4 Циклическая адресация
- •Порядок выполнения работы
- •5.3 Содержание отчета
- •Контрольные вопросы
- •6 Реализация основных операций цифровой обработки сигналов на процессоре tms320с5x , работающем в реальном времени
- •6.1 Краткая теоретическая справка
- •6.3 Порядок выполнения работы
- •6.4 Содержание отчета
- •6.5 Контрольные вопросы
- •Список литературы
- •Содержание
- •1 Лабораторная работа №1.………………………..…………………... ...3
- •6 Лабораторная работа №6 ………….………………………………….. 42
- •Цифровая обработка сигналов
- •050013, Алматы, Байтурсынова, 126
4.3 Содержание отчета
4.3.1 Текст программы с подробными комментариями.
4.3.2 Таблицы 4.1.и 4.2., содержащие состояния регистров PM, SXM, OVM и результаты работы программы.
4.3.3 Выводы по результатам сравнения точных значений, полученных при ручном расчете и значений, полученных в результате выполнения программы.
4.4 Контрольные вопросы
4.4.1 Поясните последовательность перевода двоичного положительного числа в двоичное отрицательное число.
4.4.2 Поясните запись “короткого” числа в “длинный” регистр.
4.4.3 Переведите в двоичный код следующие числа: 3; -3; 30; -30; 100; 64; -65; -87.
4.4.4 Почему после выполнения умножения мы сохраняем старшее слово аккумулятора?
4.4.5 Зачем при сохранении старшего слова аккумулятора мы применяем сдвиг влево на 1 разряд?
4.4.6 Что означает “формат Q15”?
4.4.7 Чем определяется точность представления целых двоичных чисел?
4.4.8 Чем определяется точность представления дробных двоичных чисел?
4.4.9 Что произойдет, если к 1 в формате Q15 прибавить 1?
4.4.10 Что произойдет, если из 0 в формате Q15 вычесть 1?
.
5 Изучение методов адресации процессора tms320с5x
Цель работы: изучение основных методов адресации данных, используемых в процессоре TMS320C50
5.1 Краткая теоретическая справка
В процессорах семейства TMS320C5x возможны три основных режима адресации памяти данных: прямая, косвенная и непосредственная. Применяются и другие виды адресации, например, циклическая, которая реализуется в циклических буферах для обработки алгоритмов свертки и КИХ-фильтрации.
Прямая адресация
Вся область памяти данных процессора объёмом 64К разделена на 512 страниц размером 128 16-ти разрядных слов каждая. Например, адресное пространство нулевой страницы составляет в десятичном коде 0 – 127d, а в шестнадцатеричном 0 – 7F, первой страницы 128d – 255d (80h – FFh), второй страницы 256d – 383d (100h – 17Fh) и так далее.
В режиме прямой адресации, команда содержит только младшие 7 бит адреса ячейки памяти. Это поле при обработке адреса дополняется 9 битами регистра указателя страницы (DP) до полного 16-ти разрядного адреса. Таким образом, регистр DP указывает на одну из 512 возможных страниц памяти размером 128 слов, а 7-ми битовый адрес в слове команды указывает на определённую ячейку памяти на данной странице памяти. Регистр DP может быть загружен при помощи команды LDP (load data memory page pointer).
Пример прямой адресации:
LDP #2; загрузить в DP число 2, вторая страница - текущая;
ADD 9h,5; прибавить к содержимому аккумулятора содержимое ячейки памяти с адресом 9h, сдвинутое на 5 разрядов влево, абсолютный адрес ячейки памяти 109h.
5.1.2 Косвенная адресация
Восемь вспомогательных регистров (AR0 - AR7) обеспечивают гибкую и удобную косвенную адресацию в процессорах семейства `C5x. В случае косвенной адресации адрес операнда находится в текущем вспомогательном регистре. Для выбора текущего вспомогательного регистра необходимо загрузить в регистр указателя вспомогательного регистра (ARP) значение в диапазоне от 0 до 7.
Над содержимым вспомогательных регистров можно производить ряд арифметических операций с помощью арифметического устройства вспомогательных регистров - ARAU (Auxiliary Register Arithmetic Unit), которое выполняет арифметические операции над содержимом вспомогательных регистров в фазе декодирования команды. Это позволяет сформировать адрес перед фазой декодирования следующей команды. Использование ARAU позволяет модифицировать содержимое ARn после использования его содержимого в текущей команде, например, регистр может быть инкрементирован или декрементирован.
С помощью косвенной адресации может быть адресована любая ячейка памяти в пределах 64К при помощи полного 16-ти разрядного значения содержащегося во вспомогательном регистре. Адрес может быть загружен в регистр, используя команду LAR.
Существуют два основных вида модификации адреса при косвенной адресации:
- косвенная адресация с инкрементом и декрементом на 1;
- косвенная адресация с индексацией (изменением) на величину, содержащуюся в регистре INDX.
После выполнения любой команды с косвенной адресацией в ARP может быть загружено новое значение. Если в ARP загружается новая величина, то старая величина загружается в буфер вспомогательного регистра состояния ST1.
Косвенная адресация с помощью вспомогательного регистра дает возможность изменения содержимого текущего вспомогательного регистра после выполнения команды. Изменением содержимого может быть увеличение или уменьшение его на 1 или на величину, задаваемую содержимым регистра INDX.
Косвенная адресация может быть использована во всех командах, кроме команд с непосредственными операндами или без операндов.
Примеры, иллюстрирующие использование косвенной адресации:
1) ADD *+, 8 ; сложение содержимого аккумулятора с содержимым ячейки памяти, адрес которой определяется содержимым текущего вспомогательного регистра. Перед сложением данные из ячейки памяти сдвигаются влево на восемь разрядов. После выполнения команды содержимое текущего вспомогательного регистра увеличивается на 1;
2) ADD *0+, 8 ; тоже, что и в примере 1, но к содержимому текущего вспомогательного регистра после выполнения команды прибавляется содержимое регистра INDX;
3) ADD *+, 8, AR3 ; тоже, что и примере 1, но в регистр ARP после выполнения команды загружается новое значение - 3 (т. е. текущим вспомогательным регистром будет AR3).