Цифровые сигнальные процессоры (1015496), страница 3
Текст из файла (страница 3)
д.).1.3.7 Классификация ЦСП поназначениюВ целом, по назначению ЦСП можно разделить на две группы:••ЦСП общего назначения;Проблемно-ориентированные ЦСП.«Проблемная ориентация» обычно относится не к дополнительным командам, а к наборувстроенных специализированных периферийных устройств. Например, ЦСП,предназаначенные для управления электродвигателями, могут содержать на кристаллегенераторы сигналов ШИМ, контроллеры локальной промышленной сети и т.
д. Процессоры,используемые для обработки голосовых сигналов, часто содержат модули манипуляцииразрядами (BMU) и сопроцессоры исправления ошибок. В цифровых фото- и видеокамерахприменяются ЦСП с модулями кодирования/декодирования MPEG1, MPEG4, JPG, MP3, AACи др.9Цифровые сигнальные процессоры1.3.8 Программирование ЦСПДля программирования ЦСП обычно используют один из двух языков — ассемблер и C.Основные особенности ассемблеров ЦСП совпадают с аналогичными языками обычныхмикропроцессоров и, в целом, могут быть описаны как:•••••Язык ассемблера является машинно-ориентированным, то есть каждое семействопроцессоров имеет язык, отличающийся от языка других семейств;Одна команда на ассемблере обычно эквивалентна одной команде машинного языка;При программировании на ассемблере программисту доступны все ресурсыпроцессора и системы, что позволяет использовать их максимально эффективно;От программиста требуется хорошее знание архитектуры каждого конкретногопроцессора, с которым он работает, то есть требуемая квалификация персонала должнабыть достаточно высокой;Создание и отладка программ на ассемблере — длительный трудоёмкий процесс,также требующий высокой квалификации.С другой стороны, при использовании языков высокого уровня, в частности, C, можнозаметно упростить и ускорить создание программ, но при этом ресурсы системы будутиспользоваться менее эффективно, по сравнению с программой, целиком написанной наассемблере.
В реальности обычно используются подход, совмещающий достоинства какязыков высокого уровня, так и эффективности программ на ассемблере. Выражается это втом, что стандартные библиотеки обычно создаются на ассемблере, как и критичные ковремени исполнения и объёму памяти части кода. В то же время вспомогательные модулимогут создаваться на языке высокого уровня, ускоряя и упрощая разработку программнойсистемы в целом.К особенностям ассемблеров ЦСП можно отнести следующее:•Наличие двух форм записи многих команд — мнемонической и алгебраической.Мнемоническая форма аналогична записи команд для обычных микропроцессоров,например, ADD dst, src.
Другая, алгебраическая, в ассемблерах стандартныхмикропроцессоров используется реже, в то время как на языке ЦСП упомянутаякоманда может быть записана в виде dst = dst + src. Обычно ассемблеры ЦСПпонимают обе формы записи, но, например, ассемблеры ADI и Lucent используюттолько алгебраическую запись.•Средства организации стандартных структур, например, специальныхаппаратных команд повторения одной команды или блока кода.
При этом, в отличие откоманд повторения обычных процессоров, ЦСП может пропускать цикл выборки кодаповторяемой команды, что уменьшает время выполнения каждого повторения какминимум на 1 цикл шины, что при двухцикловой команде даёт двойной выигрыш повремени.10.