Цифровые сигнальные процессоры.
Цифровые сигнальные процессоры (DSP) - относительно новая категория процессоров. Назначение DSP состоит в том, чтобы получать текущие данные от аналоговой системы и формировать соответствующий отклик. DSP и их ALU (Arithmetic Logic Unit - арифметико-логическое устройство, которое является аппаратным средством для выполнения вычислений) работают с очень высокой скоростью, что позволяет осуществлять обработку данных в реальном масштабе времени. DSP часто используются в активных шумоподавляющих микрофонах, которые устанавливаются в самолетах (второй микрофон обеспечивает сигнал окружающего шума, который вычитается из сигнала первого микрофона, позволяя таким образом подавить шум и оставить только голос) или для подавления раздвоения изображения в телевизионных сигналах.
Разработка DSP алгоритмов - это специальный раздел теории управления. Изложение этой теории требует использования весьма сложной математической базы.
В разнообразных DSP можно найти особенности, присущие как встраиваемым микроконтроллерам, так и микроконтроллерам с внешней памятью. DSP не предназначены для автономного применения. Обычно они входят в состав систем, используясь в качестве устройств управления внешним оборудованием, а также для обработки входных сигналов и формирования соответствующего отклика.
Как указано выше, мне бы не хотелось вдаваться в дискуссию по поводу того, какая из архитектур лучше — CISC или RISC, Гарвардская или Принстонская. Я попытаюсь объяснить различия между этими архитектурами и показать, какое отношение они имеют к микроконтроллерам.
В настоящее время существует множество RISC (Reduced Instruct Set Computers — компьютеры с сокращенной системой команд) процессоров, так как сложилось мнение, что RISC быстрее чем CISC (Complex Instruction Set Computers: компьютеры со сложной системой команд) процессоры. Такое мнение не совсем верно. Имеется много процессоров называемых RISC, но на самом деле относящихся к CISC. Более того, в некоторых приложениях CISC-процессоры выполняют программный код быстрее, чем это делают RISC-процессоры, или решают такие задачи, которые RISC-процессоры не могут выполнить.
Каково истинное различие между RISC и CISC? CISC-процессоры выполняют большой набор команд с развитыми возможностями адресации (непосредственная, индексная и т.д.), давая разработчику возможность выбрать наиболее подходящую команду для выполнения необходимой операции. В RISC-процессорах набор выполняемых команд сокращен до минимума. При этом разработчик должен комбинировать команды, чтобы реализовать более сложные операции.
Возможность равноправного использования всех регистров процессора называется «ортогональностью» или «симметричностью» процессора. Это обеспечивает дополнительную гибкость при выполнении некоторых операций. Рассмотрим, например, выполнение условных переходов в программе. В CISC-процессорах условный переход обычно реализуется в соответствии с определенным значением бита (флага) в регистре состояния. В RISC-процессорах условный переход может происходить при определенном значении бита, который находится в любом месте памяти. Это значительно упрощает операции с флагами и выполнение программ, использующих эти флаги.
Успех при использовании RISC-процессоров обеспечивается благодаря тому, что их более простые команды требуют для выполнения значительно меньшее число машинных циклов. Таким образом, достигается существенное повышение производительности, что позволяет RISC-процессорам эффективно решать чрезвычайно сложные задачи.






