- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Интернет-журнал 'Домашняя лаборатория', 2007 №8 - Журнал «Домашняя лаборатория»
Шрифт:
Интервал:
Закладка:
Выборка коэффициентов из памяти осуществляется одновременно с выборкой данных. При рассмотренной схеме адресации самые старые отсчеты извлекаются из памяти первыми. Поэтому последний из коэффициентов должен выбираться из памяти первым. Коэффициенты могут заноситься в памяти в обратном порядке: h(N-1) — в первую ячейку, a h(0) — в последнюю, и генератор адреса в этом случае должен генерировать последовательно возрастающие адреса. И наоборот, коэффициенты могут быть записаны в памяти в нормальном порядке, но доступ к ним при этом должен осуществляться, начиная с конца буфера, а генератор адреса должен генерировать последовательно убывающие адреса.
Описанные выше механизмы позволяют реализовать задержку, требуемую при реализации КИХ-фильтра, без каких-либо дополнительных затрат процессорного времени. Использование циклических буферов является специфическим для цифровой обработки сигналов и для достижения максимальной эффективности циклические буферы должны поддерживаться аппаратно. Аппаратная реализация циклических буферов позволяет установить параметры буфера (такие как адрес начала буфера, длина и т. д.) в программе вне тела цикла, непосредственно вычисляющего алгоритм. Это позволяет избежать включения дополнительных команд в тело цикла. Отсутствие аппаратной реализации циклических буферов может существенным образом ухудшить возможности DSP-процессора по реализации алгоритмов цифровой обработки сигналов.
Организация циклов с автоматической проверкой условий
Необходимость поддержки циклов с автоматической проверкой условий завершения вызвана циклическим характером алгоритмов ЦОС. Функция умножения с накоплением и выборка данных повторяются N раз при каждом вычислении типового алгоритма. В традиционных микропроцессорах организация цикла предполагает наличие в заголовке цикла команд для проверки условия окончания цикла. Архитектура DSP-процессоров компании Analog Devices обеспечивает аппаратную поддержку программных циклов без необходимости программной проверки условия продолжения или завершения в теле цикла. Для типичной DSP-архитектуры различие в производительности при аппаратной поддержке цикла с автоматической проверкой условия завершения и при программной проверке условия завершения цикла может превышать 20 % времени выполнения цикла.
Выводы
Любой процессор может выполнить любой алгоритм при наличии достаточного времени. Однако DSP процессоры оптимизированы под конкретные вычисления, связанные с обработкой реальных сигналов в реальном масштабе времени. Традиционные компьютеры больше подходят для вычислительных задач, не связанных с реальным временем. В следующем разделе мы исследуем архитектуру 16-разрядного цифрового сигнального процессора с фиксированной точкой семейства ADSP-21xx компании Analog Devices.
Ядро 16-разрядных DSP с фиксированной точкой СЕМЕЙСТВА ADSP-21XX
В традиционных микропроцессорах используется архитектура Фон Неймана (названную так в честь американского математика Джона Фон Неймана), показанная на рис. 7.4, А.
Эта архитектура состоит из единого блока памяти, в котором хранятся и команды, и данные, и общей шины для передачи данных и команд в ЦПУ и от него. При такой архитектуре перемножение двух чисел требует по меньшей мере трех циклов: двух циклов для передачи двух чисел в ЦПУ, и одного — для передачи команды. Данная архитектура приемлема в том случае, когда все действия могут выполняться последовательно. По сути говоря, в большинстве компьютеров общего назначения используется сегодня такая архитектура.
Однако для быстрой обработки сигналов больше подходит гарвардская архитектура, показанная на рис. 7.4, В. Данная архитектура получила свое название в связи с работами, проведенными в Гарвардском университете под руководством Ховарда Айкена. Данные и код программы хранятся в различных блоках памяти и доступ к ним осуществляется через разные шины, как показано на схеме. Т. к. шины работают независимо, выборка команд программы и данных может осуществляться одновременно, повышая таким образом скорость по сравнению со случаем использования одной шины в архитектуре Фон Неймана. При выполнении умножения с последующим суммированием в КИХ-фильтре за один цикл происходит выборка команды из памяти программ и коэффициента из памяти данных. Второй цикл требуется для выбора слова данных из памяти данных.
На рис. 7.4, С представлена модифицированная гарвардская архитектура, используемая компанией Analog Devices Inc., где и команды, и данные могут храниться в памяти программ. Например, в случае с цифровым фильтром коэффициенты могут храниться в памяти программы, а значения данных — в памяти данных. Поэтому коэффициент и значение данных могут выбираться в одном машинном цикле. Помимо выборки коэффициента из памяти программ и значения отсчета из памяти данных, естественно, должна быть выбрана команда из памяти программы. Цифровые сигнальные процессоры компании Analog Devices решают эту задачу двумя способами. В первом случае к памяти программ обращаются дважды за время цикла. Этот метод использует процессоры семейства ADSP-218x. Во втором случае используется кэш-память программ. В алгоритмах, требующих одновременной выборки двух операндов, программист один массив помещает в память программ, а другой — в память данных. Когда процессор в первый раз выполняет команду, требующую двойного обращения к памяти программ, используется один дополнительный машинный цикл, т. к. необходимо выбрать и команду, и коэффициент с помощью шины данных памяти программ. Однако когда возникает такая проблема, процессор помещает команду в кэш, и в следующий раз, когда требуется эта команда, секвенсер программ извлекает ее из кэш-памяти, в то время как коэффициент поступает по шине данных памяти программ. Кэш программ используется как в семействе процессоров ADSP-219x компании Analog Devices, так и в процессорах семейства SHARC.
Пример реализации цифрового фильтра
После того, как мы представили основные принципы архитектуры процессоров семейства ADSP-21xx, проиллюстрируем простоту ее программирования на примере обычного КИХ-фильтра. Псевдокод программы проектируемого КИХ-фильтра показан на рис. 7.5.
ПСЕВДОКОД ДЛЯ ПРОГРАММЫ КИХ-ФИЛЬТРА С ИСПОЛЬЗОВАНИЕМ DSP С ЦИКЛИЧЕСКИМ БУФЕРОМ
1. Получить значение от АЦП (обычно по прерыванию)
2. Поместить значение в циклический буфер отсчетов входного сигнала
3. Обновить указатель циклического буфера входного сигнала
4. Обнулить аккумулятор
5. Выполнить фильтрацию (один проход цикла для каждого коэффициента)
6. Получить коэффициент из циклического буфера коэффициентов
7. Обновить указатель циклического буфера коэффициентов
8. Получить значение отсчета из циклического буфера отсчетов входного сигнала
9. Обновить указатель циклического буфера отсчетов входного сигнала
10. Умножить коэффициент на значение отсчета
11. Результат сложить с результатом предыдущих вычислений, хранящимся в аккумуляторе
12. Полученный в результате фильтрации отсчет отправить в ЦАП
Пример кода для ADSPxx:
CNTR = N-1;
DO convolution UNTIL CE; convolution:
MR = MR+MX0*MY0(SS), MX0=DM(10,M1), MY0=PM(14,M5)

