Архитектура процессоров.
Цифровые сигнальные процессоры.
Цифровые сигнальные процессоры (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-процессорам эффективно решать чрезвычайно сложные задачи.