
11. Обзор типовой архитектуры цифровых сигнальных процессоров.
Цифровой сигнальный процессор - специализированный микропроцессор, предназначенный для цифровой обработки сигналов в режиме реального времени.
Ядро ЦСП:
PCU
– program control
unit (блок контроля выполнения
программы)
AGU – address generation unit (блок формирования адреса)
BMU- bit manipulation unit (блок обработки битов)
DALU- data arithmetic logic unit
EBI-external bus interface (внешняя шина)
IP-Bus - IP-Bus interface
PM, DM – program memory, data memory
Такая архитектура называется модифицированной гарвардской. Современные ЦСП содержат две или несколько памятей (данных и программ), вычислитель (ядро-Core) и периферию для связи с внешними устройствами. Ядро ЦСП, производящее вычисления, включает в себя умножитель-аккумулятор, реализующий операцию MAC (умножение с накоплением), арифметико-логическое устройство (АЛУ), Кольцевой сдвигатель, устройство, контролирующее выполнение программы; формирователей адресов ячеек, 2 памяти данных (DATA MEMORY - DM) и команд (PROGRAMM MEMORY - РМ); содержат данные и команды.
Периферия, в состав которой входят: порт ввода-вывода данных, последовательные порты для обмена данными с внешними устройствами. Кроме того, процессор включает генератор тактовых импульсов(ГТИ) и таймер, необходимый для формирования прерываний для разделения операций. Все устройства соединены между собой шинами, число которых достигает 10.
Таймер формирует сигналы прерывания (внешние и внутренние).
ПДП (DMA - Direct Memory Access) - порт прямого доступа к памяти или обмена между внешней памятью данных и памятью программ не мешая работе ядра.
Особенности архитектуры ЦСП:
-
Гарвардская архитектура, как правило модифицированная;
-
Наличие встроенной оперативной памяти.
-
Некоторые сигнальные процессоры обладают одним или даже несколькими встроенными постоянными запоминающими устройствами с наиболее употребительными подпрограммами, таблицами и т. п.
-
Аппаратное ускорение сложных вычислительных инструкций, например, операция «умножение с накоплением» (MAC) (Y := X + A × B) обычно исполняется за один такт.
-
Поддержка векторно-конвейерной обработки с помощью генераторов адресных последовательностей.
-
Детерминированная работа с известными временами выполнения команд, что позволяет выполнять планирование работы в реальном времени.
-
Сравнительно небольшая длина конвейера, так что незапланированные условные переходы могут занимать меньшее время, чем в универсальных процессорах.
-
Экзотический набор регистров и инструкций, часто сложных для компиляторов.
-
По сравнению с микроконтроллерами, ограниченный набор периферийных устройств.
-
Часто – наличие встроенных ЦАП и АЦП
Система команд ЦСП в сравнении с микроконтроллерами имеет меньшее число команд, ввиду их узкой специализации.
Цифровые сигнальные процессоры в основном относятся к вычислительным устройствам с ограниченным числом команд RISC. В ЦСП используется конвейерный режим обработки. При это одновременно выполняется несколько разных команд со сдвигом на длительность инструкции. При трехступенчатом конвейере сначала следует вызов команды, затем ее дешифрирование и потом выполнение. Типовые операции, выполняемые ЦСП: - цифровая фильтрация; - вычисление свертки; - корреляция; - вычисление БПФ; - формирование сигналов; - демодуляция; - кодирование / декодирование; - обработка изображений; - управление потоками данных: - коммутация сообщений; - реализация ФАПЧ, АПЧ, АРУ, регулировка мощности передатчика. Области применения процессоров: обработка радиолокационных сигналов, радионавигация, радиоуправление, радиоразведка, обработка речи, синтез речи, модемы, цифровая телефония, передача данных, сотовая связь, цифровое радиовещание и телевидение, мультимедийные системы.
Дальше какая то непонятная муть
DSP имеет как минимум 6-7 различных шин и 2-3 банка памяти. Это дает возможность максимально ускорить выполнение операции умножения с сохранением результата. Архитектура DSP позволяет за один машинный цикл произвести:
-
выборку команды посредством шины адреса программ и шины данных программ;
-
выборку двух операндов для операции умножения посредством двух шин адреса данных;
-
занесение операндов в аккумуляторы посредством двух шин данных;
-
операцию умножения;
-
сохранить результат в аккумуляторе.
Таким образом, трехшинная Гарвардская архитектура позволяет выполнить практически любую операцию за один машинный цикл.