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). В окне редактирования отображается текст программы на языке Ассемблера. Сопоставить текст программы с исходным, содержащимся в раздаточных материалах, полученных студентом. При необходимости редактирования программы по заданию преподавателя внести необходимые изменения (задать другой файл инициализации и т.п.).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.