Основы цифровой обработки сигналов

5.1.       Микроконтроллеры, микропроцессоры и цифровые процессоры обработки сигналов (DSP)

Традиционные компьютеры особенно хороши для применения в двух областях деятельности:

· для манипуляции данными, например, подготовка текстов и управление базами данных;

· математические вычисления, используемые в науке, технике и цифровой обработке сигналов.

Однако большинство компьютеров не могут одинаково хорошо работать в обеих сферах. В компьютерных приложениях, таких как, например, подготовка текстов, данные запоминаются, сортируются, сравниваются, перемещаются и т.д., и время на выполнение этих операций не имеет большого значения до тех пор, пока оно удовлетворяет конечного пользователя.

С одной стороны, в приложениях, работающих с базами данных, периодически возникает необходимость реализации математических операций, но скорость их выполнения не является главным фактором. В большинстве случаев при проектировании приложений общего назначения компании-производители не концентрируют внимания на создании более эффективных программ. Прикладные программы оказываются перегруженными различными дополнительными возможностями, для каждого обновления которых требуется все больше памяти и нужны все более быстрые процессоры.

С другой стороны, для цифровой обработки сигналов важно, чтобы математические операции выполнялись быстро, и время, требуемое на выполнение команд, должно быть известно точно и заранее. Для этого и программа, и аппаратура должны быть очень эффективными. Как было показано в последних двух разделах пособия, наиболее важной математической операцией и ядром всех алгоритмов цифровой обработки сигналов является умножение с последующим суммированием. Быстрое выполнение операции умножения с последующим суммированием очень важно для реализации быстрого преобразования Фурье, цифровых фильтров реального времени, умножения матриц, манипуляции с графическими изображениями и т.д.

Проведенное предварительное обсуждение требований, предъявляемых к цифровым сигнальным процессорам, важно для понимания различий между микроконтроллерами, микропроцессорами и цифровыми сигнальными процессорами. Хотя микроконтроллеры при использовании в промышленных устройствах управления процессами могут выполнять такие функции как умножение, сложение, деление, они лучше подходят для приложений, где возможности процессора по реализации ввода-вывода и управления важнее, чем скорость. Микроконтроллеры, например семейства 8051, обычно содержат ЦПУ, ПЗУ, ОЗУ, последовательный и параллельный интерфейсы, счетчики и схемы прерываний. Микроконвертеры MicroConverter™ компании Analog Devices содержат не только ядро, построенное по архитектуре 8051, но также высококачественные ЦАП, АЦП и блок энергонезависимой памяти, реализованной по технологии FLASH.

Микропроцессор, такой как Pentium компании Intel, обычно представляет собой ЦПУ, выполненное на одном кристалле, которому требуются дополнительные микросхемы для выполнения всех вычислительных функций. Система команд микропроцессора может быть как усложненной (типа CISC), так и редуцированной (типа RISC). В усложненную систему команд (архитектура CISC) входят команды для выполнения основных операций процессора, а также отдельные сильно специализированные команды (например,

для вычисления полиномов высоких степеней). Но за выполнение сложных команд на процессоре, построенном по архитектуре CISC, приходится платить: многие команды реализованы в нем в микрокоде и требуют для своего выполнения нескольких машинных циклов и места на кристалле для хранения кода микропрограммы.

Напротив, в редуцированном наборе команд (RISC-архитектура) учитывается тот факт, что в большинстве программ основные команды, такие как «Загрузка» и «Сохранение в памяти» с простыми режимами адресации, используются гораздо чаще, чем сложные команды, и должны исполняться более эффективно. Эти простые команды реализованы в ЦПУ аппаратно для выполнения за один машинный цикл, благодаря чему уменьшаются затрачиваемое время работы и сложность ЦПУ.

Хотя RISC-архитектура имеет значительные преимущества при реализации вычислительных систем общего назначения, она недостаточно хорошо приспособлена к нуждам цифровой обработки сигналов. Например, большинство RISC-процессоров не поддерживает реализацию операции умножения за один
машинный цикл, которая является очень распространенной и часто используемой операцией при цифровой обработке сигналов. Цифровой сигнальный процессор DSP оптимизирован для реализации таких инструкций со скоростью, достаточной для цифровой обработки сигналов в реальном масштабе времени, он выполняет арифметические операции и накопление результата за один машинный цикл.