Обобщенная архитектура dsp
На рис. 6.1 приведен операционный базис алгоритмов ЦОС. Поставив в соответствие каждой операции блок, можно получить обобщенную архитектуру DSP (рис. 6.2). Очевидно, что реализация выделенных операций может быть различной. Предельное быстродействие достигается при максимальной аппаратной поддержке операций, что приводит к значительным аппаратным затратам.
Это обстоятельство, а также желание обеспечить преемственность в решениях и программную совместимость приводят, в конечном счете, к аппаратной реализации не в целом той или иной операции, а отдельных ее составляющих. Причем в разных семействах (16-, 24-, 32-разрядных) архитектура отражает специфику задач ЦОС, на которые она ориентирована.
Основными операциями являются: задержка, АЦП и ЦАП (функции кодека), умножение с накоплением - операция MAC (multiply and accumulate), умножение, сложение, вычисление значений функций sin, cos, arctg, log2 х, 2х, табличное вычисление коэффициентов WKN. К особенностям следует также отнести необходимость использования бит-реверсивной адресации.
Обобщенная архитектура процессора DSP образуется тремя составляющими: процессорным ядром, подсистемами ввода/вывода и хранения. Структура процессорного ядра отражает выделенный операционный базис и учитывает особенности алгоритмов ЦОС. Блок генерации адреса обеспечивает необходимые способы адресации, в том числе бит-реверсивную. Синтезатор тактовой частоты (PLL) дает возможность регулировать производительность и потребляемую мощность. Блок выполнения операций реализует операции с фиксированной точкой и операции с плавающей точкой для приложений, где
требуются высокая точность и производительность. Очевидно, что поддержка операций с плавающей точкой может и отсутствовать (используется обычно в 32-разрядных DSP).
В процессорное ядро введен блок отладки и контроля, который содержит средства внутрисхемной эмуляции (ОпСЕ), средства тестирования и отладки (JTAG), сторожевой таймер (WDT). Данный набор средств сегодня практически является стандартным.
Подсистема ввода/вывода включает кодек (АЦП и ЦАП), параллельные и последовательные порты ввода/вывода, host-интерфейс для связи с персональным компьютером или другой ЭВМ, аудио-интерфейс, широтно-импульсный модулятор, таймеры и другие устройства.
Организация подсистемы хранения также во многом отражает специфику алгоритмов ЦОС. Так, в частности, выделение двух блоков памяти X и Y позволяет одновременно считывать операнды для свертки, а выделение памяти программ позволяет распараллелить выполнение этапов командного цикла (чтение команды и формирование адреса - чтение операндов - выполнение - запись результата). Такая модель используется в архитектурах гарвардского типа.
Необходимые сложные операции (sin, arctg, √ и др.) целесообразно выполнять табличным способом.
В случае использования А- и μ-нелинейных зависимостей, для представления отсчета требуется в данном случае 8 бит: 1 бит - знак, 3 бита - номер участка А- или ц-закона, 4 бита - номер шага на выбранном участке. Данные нелинейные характеристики позволяют устранить избыточность данных за счет компандирования (COMpressor/ exPANDER), которое заключается в сужении динамического диапазона при аналого-цифровом преобразовании и расширение при цифроаналоговом преобразовании. Очевидно, что скорость выполнения алгоритма БПФ существенно возрастет, если хранить таблицы значений Наличие памяти загрузки позволяет упростить процесс занесения кода программы в процессор. Конкретную реализацию обобщенной архитектуры рассмотрим на примере семейства DSP 56000, которое по организации процессорного ядра и составу переферии является базовым.