"имя файла" – указывает на файл инициализации, из которого элементы буфера получают их начальные значения данных. Ассемблер VisualDSP++ открывает файл инициализации и читает его слово за словом. Имя файла может состоять только из фактического названия (имени), если программа и файл инициализации включены в один проект.
[длина] – параметр, который определяет длину (число слов) связанного буфера. Когда длина не задана, размер буфера определен числом элементов (слов) файла инициализации.
Если в программе инициализация буфера не предусмотрена (файл инициализации в директиве .VAR не задан), соответствующая директива .VAR bufferName [длина] определяет буфер, ячейки буфера при ассемблировании очищаются (обнуляются).
Буферы могут быть линейными (нециклическими) и циклическими. Линейный буфер размещается в памяти с любого адреса. Циклический буфер может быть размещён в памяти с некоторыми ограничениями, связанными с аппаратными особенностями памяти процессора. Циклический буфер должен стартовать с базового адреса, который кратен 2n, где n – количество бит, требуемых для представления длины буфера в двоичном виде.
2.3. Форматы данных
Аппаратный арифметический узел процессоров семейства ADSP-21хх использует 16-разрядные данные с фиксированной точкой. Вместе с тем вычислительный узел обладает специфическими характеристиками, которые позволяют работать с числами в формате с плавающей точкой за счёт использования соответствующего программного управления выполнением арифметических операций.
Процессор ADSP-2181 может использовать как целочисленный, так и дробный формат беззнаковых и знаковых данных.
Для обозначения формата в технической документации используются две цифры, разделённые точкой (.): первая из них обозначает количество бит слева от двоичной точки, вторая – количество бит справа от двоичной точки. Например, знаковый формат 16.0 является целочисленным (используется для представления положительных и отрицательных чисел без дробной части), а знаковый формат 1.15 – дробный формат (используется для представления положительных и отрицательных чисел без целой части). Диапазон представления чисел в дробном формате 1.15 от 7FFF(16) = +0.999969482421875(10) до
8000(16) = –1.0(10). Отрицательные числа представляются в дополнительном коде.
В процессоре ADSP-2181 выбор дробного или целочисленного формата осуществляется соответственно сбросом или установкой бита MSTAT.4 в регистре MSTAT. При сбросе и перезапуске процессора этот бит обнуляется, т.е. устанавливается дробный режим.
При выполнении сложения и вычитания оба операнда должны быть представлены в одном и том же формате (знаковом или беззнаковом с одинаковым расположением точки). Такой же формат имеет и результат.
При умножении форматы сомножителей могут быть знаковыми, беззнаковыми или смешанными. При перемножении двух 16-разрядных двоичных чисел получается 32-разрядное число. При этом произведение двух операндов с форматами M.N и P.Q будет иметь формат (M+P).(N+Q).
Когда оба операнда имеют формат 1.15, произведение получается в формате 2.30 (2 знаковых бита и 30 бит дробной части). Так как один из знаковых битов является избыточным, все биты результата можно сдвинуть на 1 разряд влево. После сдвига влево формат результата становится равным 1.31 и может округляться до 1.15. Таким образом, при использовании дробного формата наиболее удобен формат 1.15, поэтому арифметический узел процессора ADSP-2181 оптимизирован под этот формат.
Язык ассемблера для процессоров семейства ADSP-21хх допускает использование разных форматов для представления чисел (констант) в программах: двоичный (binari), десятичный (decimal), шестнадцатеричный (hexadecimal) и дробный (fractional) форматы. Для обозначения типа формата введены следующие признаки, сопровождающие числовые значения в программах или в документации:
“ 0х ”– префикс, обозначающий шестнадцатеричное число (0хiiiiiiii – hexadecimal);
“ b# ”– префикс, обозначающий двоичное число
(b#iiiiiiii – binari);
– отсутствие префикса обозначает десятичное число
(iiiiiiiiii – decimal);
“ r ” – суффикс, обозначающий дробное число
(iiiiiiiiir – fractional).
3. ПРОГРАММЫ ЛАБОРАТОРНЫХ РАБОТ
РАБОТА 1
Знакомство с основами работы сVisualDSP++.
Изучение программно-логической моделиADSP-2181
Цель работы
Изучение регистровой модели и функционирования процессора ADSP-2181 в среде проектирования Visual DSP++ в режиме симулятора при выполнении программы копирования буфера.
Подготовка к работе
1. Изучить общую структуру вычислительной системы и внутреннюю структуру ADSP-2181.
2. Изучить регистровые модели ALU, MAC, SHIFTER.
3. Изучить функционирование PROGRAM SEQUENCER,
DAG1, DAG2 при выполнении программы.
4. Изучить программу LR2.ASM:
а) структура программы, состав и назначение программных модулей;
б) инициализация (начальная загрузка) памяти; физические адреса буферов и программы в DM и PM;
в) настройки DAG1, DAG2 и реализуемые при этом режимы адресации операндов;
г) организация программного цикла копирования буфера;
д) состояние (содержание) памяти PM, DM до и после цикла копирования.
5. Раскрыть способ адресации и содержание для всех команд, входящих в программу.
6. Проработать все изменения в программе при использовании других буферов (буфера-источника и буфера-приёмника данных) и режимов адресации, заданных преподавателем.
Выполнение работы
1. Вызвать проект LR2.dpj (рабочий стол > папка ЛР1-3 > LR2.dpj). В окне проекта (Projekt: LR2.dpj) отображается состав проекта, в окне вывода диагностических сообщений (OutputWindow) – сообщение Ready(Готово). Проанализировать содержимое папок проекта Source Files, Linker Files, Header Files, Data Files и сформулировать выводы о назначении содержащихся в них файлов.
2. В окне проекта вызвать программу копирования буфера LR2.asm (ProjektWindow: LR2.dpj> LR2.asm). В окне редактирования программы отображается текст программы на языке Ассемблера. Сопоставить текст программы с исходным, содержащимся в раздаточных материалах, полученных студентом. При необходимости редактирования программы по заданию преподавателя внести необходимые изменения (задать другой файл инициализации, другой буфер-источник или буфер-приёмник и т.п.).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.