- •Содержание
- •Лекционный курс модуль Вводный
- •1. Цели и задачи курса
- •2. Микропроцессор и микропроцессорная система
- •3. Основные понятия и определения
- •4. Характеристики микропроцессоров
- •5. Классификация микропроцессоров
- •6. Эволюция микропроцессоров
- •Модуль I. Организация микропроцессорной системы
- •1. Основные типы архитектур микропроцессорных систем. Фон-неймановская (принстонская) и гарвардская архитектуры. Организация пространств памяти и ввода-вывода.
- •5. Прямой доступ к памяти. Организация прямого доступа к памяти. Контроллер пдп.
- •6. Память микропроцессорной системы. Функции памяти. Архитектура и иерархия памяти. Организация кэш-памяти. Виртуальная память.
- •Увеличение разрядности основной памяти
- •Память с расслоением
- •Использование специфических свойств динамических зупв
- •Страничная организация памяти
- •Сегментация памяти
- •Модуль II. Универсальные микропроцессоры
- •1. Определение понятия «архитектура». Архитектура системы команд. Классификация процессоров cisc и risc. Определение понятия "архитектура"
- •Архитектура системы команд. Классификация процессоров (cisc и risc)
- •2. Методы адресации и типы данных. Типы команд. Команды управления потоком команд. Методы адресации
- •Типы команд
- •Команды управления потоком команд
- •3. Конвейеризация и параллелизм. Конвейерная организация обработки данных. Простейшая организация конвейера и оценка его производительности.
- •Простейшая организация конвейера и оценка его производительности
- •Конфликты по данным, остановы конвейера и реализация механизма обходов
- •Классификация конфликтов по данным
- •Конфликты по данным, приводящие к приостановке конвейера
- •Методика планирования компилятора для устранения конфликтов по данным
- •Сокращение потерь на выполнение команд перехода и минимизация конфликтов по управлению
- •Снижение потерь на выполнение команд условного перехода
- •5. Проблемы реализации точного прерывания в конвейере. Обработка многотактных операций и механизмы обходов в длинных конвейерах Проблемы реализации точного прерывания в конвейере
- •Обработка многотактных операций и механизмы обходов в длинных конвейерах
- •Конфликты и ускоренные пересылки в длинных конвейерах
- •Поддержка точных прерываний в длинных конвейерах
- •Параллелизм уровня команд: зависимости и конфликты по данным
- •Параллелизм уровня цикла: концепции и методы
- •Основы планирования загрузки конвейера и разворачивание циклов
- •7. Зависимости. Классификация зависимостей и их применение. Устранение зависимостей по данным и механизмы динамического планирования. Зависимости. Их классификация и применение.
- •Устранение зависимостей по данным и механизмы динамического планирования Основная идея динамической оптимизации
- •Динамическая оптимизация с централизованной схемой обнаружения конфликтов
- •Другой подход к динамическому планированию - алгоритм Томасуло
- •Дальнейшее уменьшение приостановок по управлению: буфера целевых адресов переходов
- •9. Одновременная выдача нескольких команд для выполнения и динамическое планирование.
- •10. Архитектура машин с длинным командным словом (vliw). Средства поддержки большой степени распараллеливания.
- •Средства поддержки большой степени распараллеливания
- •Обнаружение и устранение зависимостей
- •Программная конвейеризация: символическое разворачивание циклов
- •Трассировочное планирование
- •Аппаратные средства поддержки большой степени распараллеливания
- •Условные команды
- •Выполнение по предположению (speculation)
- •11. Архитектура epic.
- •Модуль III. Микроконтроллеры и специализированные микропроцессоры
- •2. Специализированные микропроцессоры. Цифровые процессоры обработки сигналов.
- •Модуль Заключительный Перспективы развития микропроцессорной техники.
- •Лабораторный курс
- •7 Семестр. Лабораторная работа 1.
- •Лабораторная работа 2.
- •Лабораторная работа 3.
- •Лабораторная работа 4.
- •8 Семестр. Лабораторная работа 1.
- •1. Общие сведения
- •2. Настройка и запуск Code Composer Studio (simulation)
- •3. Особенности проектирования в иср Code Composer Studio
- •4. Реализация проекта в иср Code Composer Studio
- •5. Тестирование проекта в иср Code Composer Studio
- •6. Аппаратная реализация проекта в иср Code Composer Studio
- •Лабораторная работа 2.
- •1. Подключение файлов ввода/вывода с помощью точек зондирования
- •2. Работа с файлами по средствам функций языка с
- •3. Работа с dsp/bios для генерации звукового сигнала платой dsk5510
- •Лабораторная работа 3.
- •1 Цифровая фильтрация
- •2. Реализация ких фильтра на симуляторе dsk5510
- •3. Реализация ких фильтра на dsk5510 для фильтрации звукового сигнала в реальном времени.
- •Лабораторная работа 4.
- •1. Фильтры с бесконечной импульсной характеристикой – бих
- •2. Реализация бих фильтра на симуляторе dsk5510
- •Фильтр низкой частоты с нормальной частотой среза 0.1
- •Фильтр низкой частоты с нормальной частотой среза 0.2
- •Полосовой фильтр с нормальной частотой среза 0.165 – 0.33
- •3. Реализация бих фильтра на dsk5510 для фильтрации звукового сигнала в реальном времени.
- •Фильтр низкой частоты с нормальной частотой среза 0.1
- •Фильтр низкой частоты с нормальной частотой среза 0.2
- •Полосовой фильтр с нормальной частотой среза 0.165 – 0.33
- •Оценка работы студентов. Рейтинговая система.
- •1. Общие положения
- •2. Организация рейтингового контроля успеваемости студентов дневной формы обучения
- •3. Выставление оценок по рейтинговой системе
- •4. Организация рейтингового контроля успеваемости студентов заочной формы обучения
- •Учебно-методические материалы Основная литература
- •Дополнительная литература
5. Тестирование проекта в иср Code Composer Studio
Для облегчения процесса отладки CCS имеет возможность отображать отдельные области памяти в виде осциллограммы, изображения, спектра и оценки производительности.
Просмотр содержимого памяти.
Запустить среду разработки и открыть проект laba_1. выбрав раздел Project → Open…
Нажать кнопку на панели инструментов, после этого откроется окно Disassembly (его можно закрыть).
Выбрать раздел View → Memory… В появившемся диалоговом окне внести изменения как показано на рисунке 5.1 и нажать кнопку OK:
Рисунок 5.1 – Настройка параметров просмотра содержимого памяти.
После этого откроется окно, в котором будет отображаться содержимое памяти. Если это первый запуск проекта, то содержимое памяти по указанному адресу будет содержать нули (рисунок 5.2):
Рисунок 5.2 – Содержимое памяти по адресу outBuffer.
Теперь необходимо запустить режим Animate, нажав на кнопку , после этого опять откроется окно дизассемблера, закрыв его, можно будет увидеть, как изменилось содержание памяти (рисунок 5.3):
Рисунок 5.3 – Содержимое памяти по адресу outBuffer.
Построение графиков.
Выбрать раздел View → Graph → Time/Frequency… в появившемся диалоговом окне внести изменения, как показано на рисунке 5.4, и нажать кнопку OK:
Рисунок 5.4 – Меню настройки окна визуализации.
Start Address – адрес начала построения графика, т.е. с этого места система начнет построение.
Acquisition Buffer Size – размер буфера
Display Data Size – количество отображаемых значений.
DSP Data Type – тип данных которые будут считаны.
Откроется окно Graphical Display (окно визуализации) (рис. 5.5), располагается оно не совсем удобно для работы, поэтому правым щелчком мыши в области этого окна вызовите контекстное меню и выберите опцию Float In Main Window. Затем ИСР CCS примет вид как показано на рисунке 5.6.
Рисунок 5.5 – Окно визуализации встроенное в главное окно.
Рисунок 5.6 – Окно визуализации не встроенное в главное окно.
Изменения данных в окне визуализации происходит при остановке процесса выполнения программы. Для реализации данного положения нужно установить точку остановки в процессе выполнения программного кода: установить курсор в том месте программы, где необходимо прервать ее выполнение (рисунок 5.7). Затем нажать кнопку на панели быстрых клавиш. Напротив выбранного места остановки появится красная точка (рис. 5.8).
Рисунок 5.7 – Установка курсора в место прерывания программного кода.
Рисунок 5.8 – Отображение прерывания программного кода.
Для того чтобы не проводить каждый раз компиляцию и перезагрузку программы, когда код не изменялся, необходимо установить программный указатель на начало программы:Debug → Restart.
Выбрать раздел View → Graph → Time/Frequency… в появившемся диалоговом окне выбрать FFT Magnitude – отображение спектра, как показано на рисунке 5.9, и нажать кнопку OK:
Рисунок 5.9 – Меню настройки окна визуализации.
Появившееся окно визуализации соответствует спектрограмме сигнала (рисунок 5.10):
Рисунок 5.10 – Визуализация спектра.
Оценка производительности.
Для оценки производительности в CCS реализован механизм профилирования (определения времени выполнения) отдельных участков кода и функций.
Выбрать раздел Profile → Setup в CCS появится окно настройки профилирования (рисунок 5.11) и нажатием кнопки , это включит режим профилирования:
Рисунок 5.10 – Настройка режима профилирования.
Перейти на вкладку Ranges (рис. 5.10) и перетащить мышкой функции, для которых будет производиться профилирование, из папки Disabled в папку Enabled (рис. 5.11):
Рисунок 5.11 – Выбор функций и циклов для профилирования.
На вкладке Custom выбрать размерность профилирования. В рассматриваемом примере профилирование будет производиться в тактах процессора. Для этого ставится галочка напротив позиции Cycles (рис. 5.12):
Рисунок 5.12 – Выбор размерности профилирования.
Выбрать раздел Profile → View в ИСР CCS появится окно, в котором будет отображаться заданные параметры профилирования (рисунок 5.13). Можно выбрать параметры, которые будут отображаться в окне профилирования. Для этого надо кликнуть правой кнопкой мыши в этом окне и из контекстного меню выбрать опцию Columns And Rows Setting.
Рисунок 5.13 – Просмотр данных профилирования.
Для получения данных необходимо заново перекомпилировать проект и запустить в режим Animate рисунок 5.14.
Рисунок 5.14 – Результаты профилирования.
Выключается режим профилирования повторным нажатием на кнопку .
Закрыть ИСР CCS.