Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МвСУ_16.11.2011.doc
Скачиваний:
12
Добавлен:
01.04.2025
Размер:
7 Мб
Скачать
☆

8.3. Структура процессора цифровой обработки сигналов

Процессоры цифровой обработки сигналов имеют гарвардскую архитектуру, обобщенная функциональная схема представлена на рис. 63.

Рис. 63. Обобщенная функциональная схема ЦПОС

Решение задач ЦОС при использовании ПЦОС существенно облегчается из-за наличия в этих процессорах самых разнообразных устройств ввода/вывода информации и периферийных устройств.

К устройствам ввода/вывода относятся:

- параллельные и последовательные порты ввода/вывода, использующие различные протоколы передачи информации;

- каналы прямого доступа в память DMA, позволяющие вводить/вывод информацию в память системы без использования мощностей ЦПУ, т. е. без потери производительности системы;

- модули АЦП и ЦАП, разрешающие вводить/выводить в процессор аналоговый сигнал (Lucent DSP16XX, 16-разрядный дельта-сигма АЦП/ЦАП в процессорах DSP56156 Motorola, 16-канальные 10-разрядные АЦП в процессорах TMS320LF240X и TMS32024X);

- разнообразные модули, ориентированные на решение конкретных задач обработки сигналов: кодеки, декодеры, компрессоры;

- порты обмена информацией между процессорами при реализации многопроцессорной системы;

- сопроцессоры для решения специальных задач: сопроцессоры – декодеры избыточного кодирования Витерби (например, DSP16XX, DSP16XXX Lucent Technologies, TMS320C6416), сопроцессор – Turbo Decoder (TMS320C6416), сопроцессоры для реализации цифровых фильтров (DSP56307, DSP56311 Motorola);

- интерфейсы передачи данных в режиме ATM (UTOPIA), включающие контроллер ATM, приемопередатчик 8-разрядных комбинаций со скоростью передачи/приема до 50 Мбит (TMS320C6416);

- генераторы сигналов ШИМ (шнротно-импульсной модуляции) в DSP контроллерах (TMS320C24X и TMS240X).

8.4. Пцос с фиксированной и плавающей точкой

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

Основные отличия процессоров с ФТ и ПТ заключаются в следующем:

- функциональные модули, выполняющие арифметические операции и операции умножения, в процессорах с ПТ по сравнению с ПЦОС с ФТ гораздо сложнее, т. к. алгоритмы выполнения операций над числами с ФТ и ПТ существенно отличаются;

- процессоры с ПТ имеют более разнообразные типы представления данных, системы команд для обработки данных как с ФТ, так и ПТ и их взаимного преобразования;

- разрядность внутреннего представления данных в процессорах с ПТ как правило 32 разряда, в некоторых ПЦОС возможно использование укороченной формы представления.

Усложнение процессоров с ПТ приводит к тому, что их цена становится выше, чем у процессоров с ФТ. Однако для многих применений это окупается большими преимуществами ПЦОС с ПТ.

Основные преимущества сводятся к следующему:

- при использовании 32 разрядов и ПТ существенно повышается точность внутреннего представления данных;

- существенно расширяется возможный динамическим диапазон сигналов и данных, т.е. отношение максимально возможного к минимально возможному значению сигнала и соответственно отношение сигнал/шум;

- при использовании процессоров с ПТ снимается проблема масштабирования данных с целью избежать переполнения при выполнении различных операции и особенно операций накопления;

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

Достоинства процессоров с ПТ приводят к тому, что при их использовании построение системы ЦОС становится более легким и быстрым.

Процессоры Motorola (DSP56000). В процессорах Motorola (как и в некоторых других, например, Lucent DSP1600) задачу осуществления двух выборок данных за один такт для быстрого выполнения операции умножения с накоплением решили следующим образом. Память данных делиться на две: память данных X и память данных Y. Для обращения к каждой из них используется своя тина данных: шина данных памяти X – ШДПХ и шина данных памяти Y – ШДПУ.

Для хранения отсчетов сигнала используется, например, память ПХ, а для хранения коэффициентов – память ПУ. Команда допускает одновременное выполнение операций умножения/накопления, двух параллельных пересылок из ПХ и ПУ и запись их в регистры X и Y. Структура модуля, осуществляющего операцию, и пути передачи данных приведены на рис. 64.

Рис. 64. Выполнение операции умножения с накоплением в процессорах Motorola

Таким образом, в процессорах Motorola для того, чтобы можно было произвести две выборки операндов за одни такт, увеличивается количество независимых модулей памяти и количество шин для передачи данных.

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

Процессор ADSP-2116х. Метод обработки данных SIMD (Single Instruction Multiple Data) в чистом виде реализуется в процессоре ADSP-2116x фирмы ADI. Функциональная схема вычислительного узла этого процессора приведена на рис. 65.

Рис. 65. Функциональная схема вычислительного узла процессора ADSP-2116х

Вычислительный узел процессора состоит из двух полностью идентичных вычислительных модулей ВМ X и ВМ Y, которые идентичны вычислительному модулю процессора ADSP-2106x (эти процессоры совместимы на уровне команд). Процессор может работать в режимах SISD (Single Instiuction Single Data) и SIMD. В режиме SISD используется только модуль ВМ X. в таком режиме работают процессоры ADSP-2l06x. В режиме SIMD применяются оба вычислительных модуля, и они в этом случае выполняют одну и ту же команду, однако данные, поступающие в модули по шипам Данных в сопоставимые регистры, различны. Данные выбираются из памяти Двойными словами и передаются по шинам с удвоенной разрядностью (64 разряда). Таким образом, процессор поддерживает обмен регистров вычислительных модулей одинарными словами по 32 разряда и двойными словами по 64 разряда.

Процессор использует различные форматы данных:

- с плавающей точкой одинарной точности (32 разряда);

- с плавающей точкой увеличенной точности (40 разрядов);

- с плавающей точкой с коротким словом (16 разрядов);

- с фиксированной точкой (16 разрядов);

- с фиксированной точкой с двойным словом (32 разряда).

В зависимости от формата данных и режима работы по шинам данных передаются операнды различной длины – 16/32/40/64 разряда. При этом процессор использует достаточно сложную организацию памяти и распределения данных в ней. Внутренняя память процессора поддерживает двойной доступ за один такт при пересылках "память <-> регистр". В режиме SIMD из внутренней ПП и ПД можно прочитать два слова по 64 разряда.

Вычислительный модуль состоит из регистрового файла, имеющего шестнадцать 40-разрядпых регистров. АЛУ, сдвигателя и устройства MAC. Модуль MAC включает умножитель, сумматор/вычитатель (для чисел с фиксированной точкой) и регистр результата MR. Он может выполнять операции умножения чисел с плавающей точкой, операции умножения/накопления чисел с фиксированной точкой в различных форматах. В модулях ВМ могут выполняться многофункциональные и параллельные операции с умножением (в MAC), операциями в АЛУ и передачей данных "память <-> регистры", "регистр MR <-> регистры".

В режиме S1MD подобная операция производится одновременно в двух модулях, и число операций удваивается (по сравнению, например, с ADSP-2106х). При этом из памяти выбираются двойные слова и передаются в оба модуля по шинам данных "шириной" в 64 разряда.