Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Петрищенко С.Н.-Конспект лекций-Цифровая обрабо...doc
Скачиваний:
5
Добавлен:
01.04.2025
Размер:
1.91 Mб
Скачать

Лекция №7. Архитектурные особенности цифровых сигнальных процессоров

Содержание лекции: назначение и типы сигнальных процессоров, особенности их архитектуры , методы параллельной обработки.

Цель лекции: изучить типы цифровых сигнальных процессоров, научиться понимать и правильно использовать ключевые архитектурные особенности, а также современные методы параллельной обработки сигналов.

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

Цифровые сигнальные процессоры (ЦСП) могут выполняться в виде специализированных (непрограммируемых) сверхбольших интегральных схем (СБИС) или как универсальные СБИС. К специализированным процессорам относятся, например, процессор быстрого преобразования Фурье (БПФ), синтезатор частот, кодер и т.д. К универсальным процессорам относятся:

  1. логические схемы (ПЛИС – программируемые логические интегральные схемы);

  2. программируемые цифровые сигнальные процессоры иностранная аббревиатура которых DSP ( Digital Signal Processor); в дальнейшем изложении термин «программируемые» для краткости будет опущен;

  3. транспьютеры.

Преимуществом универсальных процессоров перед специализированными является возможность реализации на них разнообразных устройств при относительно невысокой цене кристалла.

К ЦСП по архитектуре и производительности наиболее близки транспьютеры, позволяющие производить обработку больших информационных массивов. Транспьютер имеет процессор с архитектурой RISC ( Reduced Instruction Set Computer), т.е. ядро с сокращенным набором команд, быстродействием более миллиона команд в секунду (MIPS) и аппаратными средствами, обеспечивающими параллельные вычисления. Транспьютер содержит четыре высокоскоростных канала связи, которые служат для обмена сообщениями с другими транспьютерами. Эти четыре канала позволяют соединять транспьютеры между собой, организуя различные транспьютерные сети со сложными соединениями. На основе транспьютеров строятся распределенные системы.

ПЛИС проще и дешевле ЦСП и транспьютеров, но требуют много периферийных устройств и устройств ввода-вывода. Производительность их меньше, чем у ЦСП.

Наибольшее распространение получили программируемые ЦСП, которые явились результатом развития микропроцессоров, но отличаются от них архитектурой, приспособленной для решения задач цифровой обработки сигналов. Основные требования, предъявляемые к ЦСП:

  1. быстрое выполнение арифметических операций (высокое быстродействие);

  2. высокая производительность при реализации алгоритмов с большим объемом вычислений в реальном времени ( период дискретизации больше времени обработки алгоритма).

Эти требования выполняются, благодаря использованию следующих архитектурных особенностей ЦСП:

  1. применение гарвардской архитектуры;

  2. использование конвейерного режима работы;

  3. наличие специального устройства умножения;

  4. введение спецкоманд;

  5. организация короткого командного цикла.

Гарвардская архитектура позволяет поднять быстродействие и гибкость использования. В классическом варианте она предполагает хранение программ и данных в разных запоминающих устройствах, что позволяет совмещать во времени выборку и исполнение команд. Модифицированная гарвардская архитектура допускает обмен между памятью программ и памятью данных, что расширяет возможности процессора, при этом отпадает необходимость в отдельном постоянном запоминающем устройстве (ПЗУ) для хранения коэффициентов. Наличие шины данных (ШД) и шины команд (ШК) увеличивает общую производительность.

Персональные ЭВМ и традиционные микропроцессоры имеют неймановскую архитектуру, при которой происходит пошаговое, потактно-последовательное выполнение команд, при этом данные и команды передаются по одной шине.

Примеры гарвардской и неймановской архитектур представлены на рисунке 11.

Процессор

Адрес Команды Адрес Данные

Память Память

Программ данных

Процессор

Адрес Данные

Команды

Память данных и команд

Рисунок 11

Конвейерный режим используется для сокращения длительности командного цикла (времени выполнения команды) и повышения производительности ЦСП. В зависимости от типа ЦСП конвейер может состоять от 2-х до 11-ти этапов Это означает, что 2-х каскадный конвейер одновременно может обрабатывать две команды, а 11-и каскадный – одиннадцать команд. На рисунке 12 показан пример 3-х каскадного конвейерного режима, где предварительную выборку, дешифрирование и исполнение команды можно осуществлять независимым образом. В каждом командном цикле задействованы три разные команды.

Предварительная

Выборка

Дешифрирование

Исполнение

N N+1 N+2

N-1 N N+1

N-2 N-1 N

Рисунок 12

Из рисунка 12 видно, что в ходе N-го цикла процессор может одновременно извлекать из памяти N-ю команду, декодировать (N - 1)-ю команду и в то же время выполнять (N - 2)-ю команду.

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

Данные Х

Регистр X

16

32

Р

Асс

Данные Y

Регистр Y

16

32

Рисунок 13

Из рисунка 13 видно, что умножитель имеет пару входных регистров X и Y, которые содержат входы умножителя, и 32-битовый регистр произведения Р (product – произведение), который содержит результат умножения. Выход регистра Р соединяется с накопителем двойной точности, который состоит из сумматора ( ∑ ) и регистра-аккумулятора (Acc), в котором накапливаются произведения._

За счет применения спецкоманд число командных циклов можно резко сократить. Например команда LTD позволяет выполнить за один цикл три команды: загрузки (LT), задержки (DMOV) и сложения (APAC). В современных ЦСП есть команда MACD, которая позволяет за один командный цикл выполнить четыре команды: загрузки (LT), задержки (DMOV), сложения (APAC) и умножения (MPY).

В настоящее время ЦСП имеют длительность командного цикла < 200 нс. В таблице 5 представлены временные циклы некоторых ЦСП, выпускаемых американской фирмой Texas Instruments серии TMS320.

Т а б л и ц а 5

Процессор

Время цикла, нс

TMS320C10

200

TMS320C25

125

TMS320C30

75

TMS320C541

25

TMS320C67*

6

TMS320C6202

4


Малость командного цикла делает ЦСП удобным средством решения многих прикладных задач. Если в системах управления не требуется высокой скорости обработки (частота дискретизации примерно 1 кГц), то для задач с высокой частотой дискретизации порядка 14 – 100 мГц ( в системах обработки телевизионных изображений), пригодны ЦСП последних поколений, обладающие малым командным циклом, чтобы обеспечить обработку в реальном времени.

Для повышения вычислительной эффективности ЦСП используются следующие их новейшие архитектуры:

1) SIMD (single instruction, multiple data – одна команда, много данных); в процессорах с такой архитектурой имеется несколько трактов передачи данных и операционных блоков, поэтому команда может передаваться нескольким операционным блокам для обработки блоков данных одновременно, увеличивая число операций, выполняемых за один такт;

2) VLIW (very large instruction word – командные слова сверхбольшой длины); эти слова состоят из нескольких коротких команд, для выполнения которых за один такт требуется несколько операционных блоков, функционирующих параллельно;

3) суперскалярная обработка позволяет выполнять несколько команд за один такт при использовании параллелизма на уровне команд.