Пр о ц е с с о р TMS 3 2 0C4 x
5
Введение
Процессорами цифровой обработки сигналов или
сигнальными
процес-
сорами
называют процессоры, архитектура и система команд которых ориен-
тирована на быстрое выполнение программ, реализующих определенный класс
алгоритмов, а именно алгоритмов цифровой обработки сигналов (ЦОС) (циф-
ровая фильтрация, свертка, корреляция, преобразование Фурье, адаптивная
фильтрация, обработка радиолокационной и гидроакустической информации,
обработка изображений, анализ и синтез речи и т.д. и т.п.).
Несмотря на разнообразие архитектур, можно выделить следующие клю-
чевые особенности сигнальных процессоров:
•
характерная для ЦОС операция умножения с накоплением, выполняемая за
один процессорный цикл;
•
конвейерное выполнение команды;
•
раздельные память программ и память данных (или память с множественным
доступом), что позволяет процессору извлекать команду и операнд в одном
машинном цикле;
•
основной операционный блок, осуществляющий любую операцию за один
машинный цикл;
•
вспомогательные арифметические блоки для вычисления адресов операндов
за один машинный цикл.
Применение сигнальных процессоров разнообразно - от встроенных мик-
роконтроллеров в приборы бытового назначения до больших (до нескольких
тысяч микропроцессоров) мультипроцессорных систем общего назначения. Мы
ограничимся рассмотрением мультипроцессорных систем для решения специ-
фической задачи - обработки радиолокационной информации. Как правило, та-
кая система содержит несколько десятков процессоров и работает в условиях
жестких временных ограничений.
Одним из подходов к программированию таких систем является про-
граммирование на ассемблере. Программа имеет максимальную эффективность
по быстродействию и используемой памяти, но большую трудоемкость в разра-
ботке. Другой подход предполагает использование языка высокого уровня.
Вначале создается прототип программы на языке высокого уровня (например
С), получается ассемблерный текст каждого модуля программы и проводится
вручную оптимизация ассемблерного кода для получения заданных временных
характеристик программы или ее отдельных участков. Программирование (или
оптимизация) на уровне ассемблерного кода позволяет максимально эффектив-
но использовать особенности архитектуры и системы команд применяемого
процессора.
В издание второе внесены изменения в связи с появлением новой эле-
ментной базы.