Структурная организация вычислительной системы на базе процессора ADSP-2181. Программно-логическая модель сигнального процессора ADSP-2181, страница 7

3. Выполнить трансляцию исходного текста программы > F7. При отсутствии ошибок в тексте программы и успешной трансляции в окне OutputWindowвыводится сообщение Load complete (Загрузка полная). При наличии ошибок – в этом окне даётся информация об их местоположении (номер строки), признаках и типе. После исправления ошибок требуется повторная трансляция, пока она не будет признана успешной.

4. Объяснить состояние моделирующей программы (симулятора) по завершении трансляции LR2.ASM:

а) состояние программы LR2.ASM;

б) адреса и содержимое секций программы в PM, буферов и меток (Memory > Program> PM > П.К.М. > GoTo… > Browse);

в) адреса и содержимое буферов в DM (Memory > Data> DM > П.К.М. > GoTo… > Browse);

г) состояние управляющих регистров генераторов адреса DAG1 и DAG2 (Register > DAGS);

д) содержимое регистров фиксации состояния программы (Register > ProgramControl);

е) значение условия состояния "Счётчик пуст" (Register > CE).

5. Открыть окна PM, DM, DAG, Program Control, CE (см. п. 4).

Исследовать выполнение программы LR2.ASM в пошаговом режиме, один шаг выполнения программы – > F11.

Проанализировать и объяснять изменения содержимого регистров и содержимого буферов:

а) при входе в цикл копирования буфера;

б) внутри цикла;

в) при выходе из цикла.

Оценить общее время выполнения программы и длительность выполнения цикла копирования буфера.

6. Сбросить симулятор в исходное состояние (Debug > Reset). Выполнить трансляцию исходного текста программы (> F7). Открыть окна для графического отображения содержимого буфера-источника (View > DebugWindows > Plot > Restore… > _dm_buf1.vps, или другое имя используемого буфера-источника) и буфера-приёмника (View > DebugWindows > Plot > Restore… > pm_buf2.vps, или другое имя используемого буфера-приёмника).

Подготовить симулятор для однократного выполнения программы LR2.ASM в автоматическом режиме от метки _reset: до конца программы, установить курсор в позицию метки end:.

7. Запустить симулятор на выполнение программы LR2.ASM в автоматическом режиме (Debug > RunToCursor).

Проанализировать содержимое окон PM, DM, DAG, Program Control, CE. Объяснить состояние процессора после выполнения программы. Получить характеристики выполненной программы: время выполнения, объём.

8. Объяснить графики, построенные симулятором в окнах dm_buf1 и pm_buf2. Просмотреть графики в увеличенном масштабе (окно dm_buf1  или pm_buf2 > П.К.М. > FloatInMainWindow) и установить условия их соответствия файлам инициализации проекта LR2.dpj.

9. Модифицировать по указанию преподавателя программу LR2.ASM и повторить пп. 7, 8. Объяснить результаты.

Требования к отчёту

Отчёт должен содержать общую структуру вычислительной системы, внутреннюю структуру ADSP-2181, регистровые модели ALU, MAC, SHIFTER, модифицированную программу LR2.ASM, карту памяти PM, DM, состав регистров и флагов, входящих в окна Program Control, CE, их назначение, результаты изучения и характеристики модифицированной программы.

Контрольные вопросы

1. Функционирование вычислительной системы на базе ADSP-2181.

2. Назначение внутренних узлов и функционирование ADSP-2181 при выполнении программы.

3. Регистровая модель MAC. Использование МАС при выполнении программы LR2.ASM.

4. Функционирование генераторов адреса DAG1 и DAG2.

5. Регистровые модели DAG1 и DAG2, назначение регистров.

6. Циклические и нециклические буферы. Адресация циклического и нециклического буферов.

7. Назначение и выполнение команды DO label UNTIL CE.

8. Структура программы LR2.ASM, назначение секций и меток.

9. Назначение и выполнение программного модуля от метки start: до метки move: в программе LR2.ASM.

10. Организация и адресация буферов в DM и PM. Физические адреса буферов в программе LR2.ASM.

11. Назначение и размещение файлов инициализации памяти. Порядок загрузки файлов инициализации в программе LR2.ASM.

12. Чему равно время копирования буфера, если тактовая частота процессора равна Ft = A МГц?

РАБОТА 2

Программная реализация алгоритма ДПФ

на языке ассемблера процессораADSP-2181

Цель работы

Изучение команд процессора ADSP-2181. Изучение способов адресации операндов, представление данных и форматы представления данных в программе DFT.ASM. Изучение конструкций языка ассемблера. Программная реализация алгоритма ДПФ и получение спектров дискретных сигналов.

Подготовка к работе

1. Изучить ДПФ для дискретных сигналов (периодических и непериодических), свойства спектров для дискретных сигналов (основной прямой спектр, основной инверсный спектр, спектры высоких порядков, чётная и нечётная симметрия, амплитудный спектр, фазовый спектр).

2. Проработать варианты алгоритмов реализации ДПФ на базе ADSP-2181.

3. Изучить регистровые модели ALU, MAC, SHIFTER ADSP-2181.

4. Изучить синтаксис команд и содержание команд, директивы языка ассемблера и содержание директив в программе DFT.ASM.

5. Изучить программу DFT.ASM:

а) структура программы, состав и назначение программных модулей;

б) инициализация (начальная загрузка) памяти; физические адреса буферов и программных модулей в DM и в PM;

в) настройки DAG1, DAG2 и реализуемые при этом режимы адресации операндов;

г) реализация чтения таблиц  cos  и  sin  c переменным шагом.

6. Изучить формат 1.15 для представления данных и формат представления результатов выполнения операций в МАС при использовании исходных данных в дробном формате 1.15.

Выполнение работы

1. Вызвать проект LR3.dpj (рабочий стол > папка ЛР1-3 > ярлык LR3.dpj).

2. В окне проекта вызвать программу дискретного преобразования Фурье DFT.asm (ProjektWindow: LR3.dpj> DFT.asm). В окне редактирования отображается текст программы на языке Ассемблера. Сопоставить текст программы с исходным, содержащимся в раздаточных материалах, полученных студентом. При необходимости редактирования программы по заданию преподавателя внести необходимые изменения (задать другой файл инициализации и т.п.).