Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

Цифровий сигнальний процесор



План:


Введення

Цифровой сигнальный процессор (англ. Digital signal processor , DSP; сигнальный микропроцессор, СМП; процессор цифровых сигналов, ПЦС) - специализированный микропроцессор, предназначенный для цифровой обработки сигналов (обычно в реальном масштабе времени).

ЦСП обработки видео из картриджа приставки Nintendo
Установленный на поверхность печатной платы современный ЦСП с BGA выводами

1. Особенности архитектуры

Архитектура сигнальных процессоров, по сравнению с микропроцессорами настольных компьютеров, имеет некоторые особенности:

  • Гарвардская архитектура (разделение памяти команд и данных), как правило модифицированная;
    • Большинство сигнальных процессоров имеют встроенную оперативную память, из которой может осуществляться выборка нескольких машинных слов одновременно. Нередко встроено сразу несколько видов оперативной памяти, например, в силу Гарвардской архитектуры бывает отдельная память для инструкций и отдельная - для данных.
    • Некоторые сигнальные процессоры обладают одним или даже несколькими встроенными постоянными запоминающими устройствами с наиболее употребительными подпрограммами, таблицами и т. п.
  • Аппаратное ускорение сложных вычислительных инструкций, то есть быстрое выполнение операций, характерных для цифровой обработки сигналов, например, операция "умножение с накоплением" (MAC) ( Y := X + A B ) обычно исполняется за один такт.
  • "Бесплатные" по времени циклы с заранее известной длиной. Поддержка векторно-конвейерной обработки с помощью генераторов адресных последовательностей.
  • Детерминированная работа с известными временами выполнения команд, что позволяет выполнять планирование работы в реальном времени.
  • Сравнительно небольшая длина конвейера, так что незапланированные условные переходы могут занимать меньшее время, чем в универсальных процессорах.
  • Экзотический набор регистров и инструкций, часто сложных для компиляторов. Некоторые архитектуры используют VLIW.
  • По сравнению с микроконтроллерами, ограниченный набор периферийных устройств - впрочем, существуют "переходные" чипы, сочетающие в себе свойства DSP и широкую периферию микроконтроллеров.

2. Области применения

  • Коммуникационное оборудование:
    • Уплотнение каналов передачи данных;
    • Кодирование аудио- и видеопотоков;
  • Системы гидро- и радиолокации;
  • Распознавание речи и изображений;
  • Речевые и музыкальные синтезаторы;
  • Анализаторы спектра;
  • Управление технологическими процессами;
  • Другие области, где необходима быстродействующая обработка сигналов, в том числе в реальном времени.

3. Історія

3.1. Предшествующие разработки

До 1980 року кілька компаній випустили пристрої, які можна вважати попередниками ЦСП. Так, в 1978 Intel випускає "процесор аналогових сигналів" 2120. До його складу входили АЦП, ЦАП і процесор обробки цифрових даних, однак апаратна функція множення була відсутня. У 1979 AMI випускає S2811 - периферійний пристрій, що керується основним процесором комп'ютера. Обидва вироби не досягли успіху на ринку.

3.2. Перше покоління (початок 1980-х)

Основну історію ЦСП прийнято відраховувати від 1979-1980 років, коли Bell Labs представила перший однокристальний ЦСП Mac 4, а також на "IEEE International Solid-State Circuits Conference '80" були показані μMPD7720 компанії NEC і DSP1 компанії AT & T, які, однак, не отримали широкого розповсюдження. Стандартом де-факто став випущений трохи пізніше кристал TMS32010 фірми Texas Instruments, за багатьма параметрами і вдалим технічним рішенням перевершує вироби конкурентів. Ось деякі його характеристики:

  • АЛУ :
    • Розмір слова: 16 біт;
    • Розрядність обчислювача: 32 біт;
    • Швидкодія: 5 млн операцій додавання або множення в секунду;
  • Тривалість командного циклу: 160-280 нс;
  • Пам'ять:
    • ОЗУ : 144-256 слів;
    • ПЗУ програм: 1,5-4 До слів;
    • ППЗУ : до 4К слів (окремі моделі);
  • Зовнішня шина:
    • Розрядність: 16 біт;
    • Адресується простір: 4К слів
    • Пропускна здатність: 50 Мбіт / с
  • Пристрої вводу-виводу: 8 портів по 16 розрядів;

3.3. Друге покоління (середина 1980-х)

Завдяки прогресу в напівпровідникових технологіях, в цей період були випущені вироби, що мають розширені функції порівняно з першим поколінням. До характерних відмінностей можна віднести:

  • Збільшення обсягу ОЗУ до 0,5 К слів;
  • Додана можливість підключення зовнішньої пам'яті програм і зовнішньої пам'яті даних об'ємом до 128 К слів;
  • Швидкодія підвищено в 2-4 рази;
  • Поліпшені підсистеми переривань та вводу-виводу.

Багато пізніше також були випущені пристрої, формально відносяться до другого покоління, але мають наступні удосконалення:

  • Збільшено розрядність даних;
  • Знижена напруга живлення і, як наслідок, енергоспоживання;
  • Введено режими економії енергії;
  • Апаратна підтримка мультипроцессорности (система спільного доступу до зовнішньої пам'яті);
  • Апаратна підтримка кільцевих буферів;
  • Апаратна підтримка операцій циклів;
  • Розширено способи адресації;
  • Дві внутрішні шини даних, що дозволяє значно прискорити парну обробку даних (координати X / Y, дійсна і уявна частина і т. д.), або віртуально подвоїти розрядність оброблюваних даних;
  • Введена кеш-пам'ять.

3.4. Третє покоління (кінець 1980-х)

Третє покоління ЦСП прийнято пов'язувати з початком випуску виробів, що реалізують арифметику з плаваючою комою. Характерні особливості перших випущених зразків:

  • Продуктивність: близько 20-40 млн оп. / Сек. ( MIPS);
  • Два блоку ОЗУ по 1 До 32-розрядних слів з можливістю одночасного доступу;
  • Кеш-пам'ять об'ємом 64 слова;
  • Розрядність регістрів: 32 біт;
  • Розрядність АЛУ: 40 біт;
  • Регістри для операцій з підвищеною точністю;
  • Вбудовані контролери ПДП;
  • Розрядність шин: 32 біт для команд і 24 біт для адреси;

3.5. Четверте покоління

Четверте покоління ЦСП характеризується значним розширенням наборів команд, створенням VLIW і суперскалярних процесорів. Помітно зросли тактові частоти. Так, наприклад, час виконання команди MAC ( Y: = X + A B ) Вдалося скоротити до 3 нс.

3.6. Сучасні ЦСП

Кращі сучасні ЦСП можна характеризувати наступними параметрами:

  • Тактова частота - 1 ГГц і вище;
  • Багатоядерність;
  • Наявність дворівневого кеша;
  • Вбудовані багатоканальні контролери прямого доступу до пам'яті;
  • Швидкодія порядку декількох тисяч MIPS і MFLOPS;
  • Виконання до 8 паралельних інструкцій за такт;
  • Сумісність зі стандартними шинами ( PCI і ін)

4. Основні параметри ЦСП

  • Тип арифметики. ЦСП діляться на процесори, що обробляють дані з фіксованою точкою і обробляють дані з плаваючою крапкою. Пристрої з плаваючою точкою зручніше в застосуванні, але вони помітно складніше по влаштуванню і більше дороги;
  • Розрядність даних. Більшість ЦСП з фіксованою точкою обробляють дані з розрядністю 16 біт, процесори з плаваючою точкою - 32 біта. Багато моделей можуть обробляти дані з подвійною точністю.
  • Швидкодія. Швидкодія як інтегральну характеристику визначити досить складно, тому швидкість роботи характеризують декількома параметрами, а також часом вирішення деяких реальних завдань.
    • Тактова частота і Час командного циклу. Для сучасних ЦСП тактова частота внутрішня може відрізнятися від зовнішнього, тому можуть зазначатися два значення. Час командного циклу вказує на час виконання одного етапу команди, то є час одного циклу конвеєра команд. Так як команди можуть виконуватися за різну кількість циклів, а також з урахуванням можливості одночасного виконання кількох команд, цей параметр може характеризувати швидкодію ЦСП досить наближено.
    • Кількість виконуваних команд за одиницю часу. Різний час виконання команд, а також виконання кількох команд одночасно не дозволяють використовувати цей параметр для надійної характеристики швидкодії.
    • Количество выполняемых операций за единицу времени (MIPS). Данный параметр учитывает одновременную обработку нескольких команд и наличие параллельных вычислительных модулей, поэтому достаточно хорошо может указывать на быстродействие ЦСП. Некоторой проблемой здесь остаётся то, что понятие "операции" чётко не формализовано.
    • Количество выполняемых операций с плавающей точкой за единицу времени. Параметр аналогичен предыдущему и используется для процессоров с плавающей точкой.
    • Количество выполняемых операций MAC за единицу времени. Данная команда, с одной стороны, является базовой для многих вычислений, а с другой - достаточно проста. Поэтому время её исполнения можно использовать в том числе и для оценки общей производительности ЦСП.
  • Виды и объём внутренней памяти. Объём внутренней оперативной памяти показывает, сколько данных ЦСП может обработать без обращения к внешней памяти, что может характеризовать общее быстродействие системы а также возможность работать "в реальном времени". Тип ПЗУ определяет возможности по программированию устройства. Модели с обычным ПЗУ подходят для крупносерийного производства, ППЗУ (однократно программируемое) удобно для небольших тиражей, а применение Flash-памяти позволяет менять программу устройства многократно во время эксплуатации. На данный момент не очень мощные DSP чаще всего снабжены достаточно большой Flash-памятью (её цена неуклонно снижается) и заметным объёмом RAM и поэтому могут являться самодостаточными без добавления внешней памяти и на этапе разработки и на этапе производства, что повышает конкурентоспособность таких DSP в ряде сегментов рынка. Мощные DSP как правило полагаются на внешнюю память подключённую по достаточно быстрым шинам а размещение там Flash-памяти может быть технически проблематичным, например, из-за заметного выделения тепла.
  • Адресуемый объём памяти. Объём адресуемой внешней памяти характеризуется шириной внешней шины адреса.
  • Способ начальной загрузки.
  • Количество и параметры портов ввода-вывода. Данный параметр показывает возможности ЦСП по взаимодействию с внешними по отношению к нему устройствами.
  • Состав внутренних дополнительных устройств. В число внутренних могут входить разнообразные по назначению устройства, например, общего применения - таймеры, контроллеры ПДП и т. д., а также проблемно-ориентированные - АЦП, кодеки, компрессоры данных и другие.
  • Напряжение питания и потребляемая мощность. Данная характеристика особенно важна для ЦСП, встраиваемых в переносные устройства. Обычно предпочтительнее низковольтные устройства (1,8-3,3В), которые имеют быстродействие аналогично 5В процессорам, но заметно экономнее в плане потребления энергии. Многие устройства имеют режимы экономии при простое, либо позволяют программно отключать часть своих устройств.
  • Состав и функциональность средств разработки и поддержки.
    • Перечень языков программирования, для которых есть компиляторы под данную систему;
    • Наличие и возможности средств отладки готовых программ;
    • Доступность документации и технической поддержки;
    • Наличие библиотек стандартных подпрограмм и математических функций;
    • Наличие, доступность и возможности совместимых устройств - АЦП, ЦАП, контроллеры питания и т. д.
  • Допустимые параметры окружающей среды.
  • Другие, в зависимости от назначения.

Часто используются также интегральные характеристики ЦСП, например показатель "мощность/ток/быстродействие", например ma/MIPS (миллиампер на 1 млн инструкций в секунду), что позволяет оценить реальную потребляемую мощность в зависимости от сложности задачи, решаемой процессором в указанный момент.

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


4.1. Оценка и сравнение производительности

Как отмечено ранее, отдельные характеристики типа тактовой частоты, MIPS, MOPS, MFLOPS позволяют оценить быстродействие ЦСП достаточно неоднозначно. Поэтому для решения задачи измерения и сравнения характеристик разных ЦСП используют специальные наборы тестов, имитирующих некоторые распространенные задачи цифровой обработки сигналов. Каждый тест состоит из нескольких небольших программ, которые пишутся на ассемблере и оптимизируются под заданную архитектуру. Эти тесты могут включать реализацию:

Наиболее авторитетным пакетом тестов на сегодняшний день является тест BTDImark2000 (BDTI DSP Kernel Benchmarks (BDTImark2000) Certified Results), который кроме указанных алгоритмов включает также оценку используемой алгоритмом памяти, время разработки системы и другие параметры.


5. Устройство

5.1. Гарвардская архитектура

ЦСП строятся на основе Гарвардской архитектуры

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

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


5.2. Структурная схема

5.3. Конвейерное исполнение команд

5.4. Аппаратная реализация основных функций

5.4.1. Умножители

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

Функционально, умножители делятся на два вида:

  • Простой умножитель. Выполняет операцию умножения данных шириной в слово. Результат имеет ширину двойного слова и сохраняется либо в регистре двойной ширины, либо в двух обычных регистрах (или в двух ячейках памяти).
  • Умножитель-сумматор (MAC - Multiplier/Accumulator). Выполняет операцию умножения с накоплением, которая широко используется во многих алгоритмах цифровой обработки сигналов. Подробнее об использовании данной команды см. в разделе #Классификация ЦСП по архитектуре.

5.4.2. Сдвигатели

Сдвигателем называется как устройство, выполняющее операцию сдвига данных, так и регистр, в котором хранится результат сдвига. [1]

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

  • Предсдвигатели, выполняющие сдвиг до начала операции или в ходе ее исполнения;
  • Постсдвигатели, выполняющие сдвиг после исполнения операции.

В обоих случаях структура регистра, хранящего результат сдвига, совпадает со структурой аккумулятора.

Функции предсдвигателей
  • Предварительное масштабирование. Используется в сложных арифметических командах, например, A \leftarrow A \cdot 2 - B, а также командах загрузки со сдвигом вида A \leftarrow B \ll n ;
  • Сдвиг перед выполнением сложных логических операций, например, A \leftarrow (A \ll n) \and B ;
  • Арифметические, логические и циклические сдвиги в ходе исполнения соответствующих команд.
Функции постсдвигателей
  • Масштабирование результатов при сохранении в память. При этом содержимое аккумулятора (результат основной операции) остается неизменным;
  • Удаление битов расширения знака;
  • Нормализация;
  • Выделение одинакового порядка.

5.4.3. Устройства генерации адреса

5.4.4. Аппаратная организация циклов

5.5. АЛУ

5.6. Регистры

Акумулятор

Аккумулятор - регистр, предназначенный для сохранения результатов операций. В архитектуре многих ЦСП предусмотрено два аккумулятора, что позволяет повысить скорость выполнения операций, требующих хранения промежуточных результатов. Технически, аккумулятор может состоять из нескольких регистров [1] :

  • EXT - регистр расширения;
  • MSP - регистр старшего слова;
  • LSP - регистр младшего слова.

Наличие регистра EXT позволяет повысить точность вычисления промежуточных результатов, а также увеличить диапазон хранения значений, не приводящих к переполнению. При сохранении значения аккумулятора в ячейку памяти или в обычный регистр, его значение округляется с учетом стандартной ширины этой ячейки или регистра. С другой стороны, при необходимости, содержимое регистра EXT может быть сохранено отдельно.


5.7. Способы адресации

5.8. Организация памяти

5.9. Представление данных

5.10. Операции над данными

5.11. Прерывания

5.12. Ввод-вывод

6. Классификация ЦСП по архитектуре [1]

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

Особенности архитектуры ЦСП удобно рассматривать на примере конкретного алгоритма цифровой обработки данных, например, КИХ-фильтра, выходной сигнал которого можно записать как:

y \left( n \right) = \sum_{i=0}^{P} b_i x \left( n-i \right), где

  • x \left( n-i \right) - отсчеты входного сигнала;
  • b i - коэффициенты фильтра.

Как можно легко заметить, вычисление результата является классическим примером использования операции "умножение с накоплением" - MAC (Y := X + A B) .


6.1. Стандартные ЦСП

Два варианта исполнения команды MAC на ЦСП Texas Instruments

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

Одним из вариантов, позволяющим отказаться от использования памяти программ для хранения данных, является применение т. н. "двухпортовой памяти", то есть памяти, имеющей два комплекта входных шин - двух шин адреса и данных. Такая архитектура позволяет произвести одновременное обращение по двум адресам (правда, при этом они должны находиться в разных адресуемых блоках). Данное решение применяется в ЦСП компаний Motorola (DSP56000) и Lucent (DSP1600).

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


6.2. Улучшенные стандартные ЦСП

"Покращені стандартні ЦСП" для підвищення продуктивності системи, у порівнянні зі стандартними ЦСП, використовують такі методи підвищення паралелізму:

  • Збільшення кількості операційних і обчислювальних пристроїв;
  • Введення спеціалізованих співпроцесорів;
  • Розширення шин для збільшення кількості переданих даних;
  • Використання пам'яті з багаторазовим доступом (кілька звернень за такт);
  • Ускладнення системи команд;

Багато з цих способів застосовувалися вже починаючи з самих перших процесорів, тому часто їх неможливо однозначно класифікувати як "стандартні" або "покращені".

Виконання двох операцій MAC на ЦСП Texas Instruments TMS320C55x

На малюнку показаний приклад реалізації обчислення двох паралельних команд MAC. Для цього в ЦСП присутні два модулі MAC і два акумулятори. Блоки MAC отримують дані по трьох шинам одночасно, причому одне із значень є для них спільним. Таким чином, відбувається одночасне виконання двох команд:

  • АК1: = АК1 + D1 D2
  • АК2: = АК2 + D1 D3

Особливість показаного рішення полягає в тому, що до виконання двох паралельних команд з одним загальним співмножником можна звести багато алгоритми ЦОС, наприклад:

  • КИХ-фільтр з симетричними коефіцієнтами. Як однакових співмножників використовуються коефіцієнти фільтра, а на роздільні шини подаються два різних набору відліків сигналу, тобто паралельно розраховуються дві половини фільтра, які потім сумуються.
  • Двоканальна обробка. На загальну шину подаються відліки сигналу, а на окремі - набори коефіцієнтів.

У деяких процесорах (Lucent DSP16xxx, ADI ADSP-2116x) використовуються два однакових ядра, кожен зі своєю пам'яттю, то є одна команда виповнюється одночасно в двох ядрах з різними даними. Це дозволяє обійти обмеження на використання повністю незалежних даних.

Характерним недоліком таких процесорів можна вважати необхідність у високій кваліфікації розробника, так як ефективне використання зазначених особливостей вимагає програмування на мові асемблера, доброго знання архітектури та системи команд, тобто ці пристрої вважаються "недружніми" до мов високого рівня.


7. ЦСП з архітектурою VLIW

Основна відмінність VLIW -процесорів полягає в тому, що коди команд ще на етапі компіляції збираються у великі "суперкоманди" і виконуються паралельно. Зазвичай такі процесори використовують RISC-архітектуру з фіксованою довжиною команди, де кожна з них виконується в окремому операційному модулі. До характерних особливостей таких процесорів можна віднести:

  • Великий набір операційних модулів, що працюють незалежно один від одного. До складу таких модулів можуть входити:
    • Арифметичні:
      • Модулі арифметичних операцій та операцій порівняння;
      • Модулі логічних операцій;
      • Модулі множення чисел з плаваючою і фіксованою точкою;
      • Модулі генерації констант.
    • Модулі генерації адреси, в тому числі для лінійних і циклічних буферів;
  • Необхідність оптимізації компілятора під кожну модель процесора, так як між моделями може змінюватися склад і функції обчислювальних блоків, що тягне за собою зміну переліку команд, які можуть виконуватися одночасно;
  • Необхідність в наявності надширокий шин даних (порядку 128 біт), щоб код операції, що складається з окремих команд (до 8-ми) міг бути отриманий з пам'яті за одне звернення.
  • Високі вимоги до обсягу пам'яті програм, що також пов'язано з великою довжиною операції.

Зазвичай, якщо процесор має кілька однакових модулів, то при створенні програми на асемблері є можливість вказівки тільки типу необхідного операційного модуля, а конкретний пристрій буде призначено компілятором. З одного боку, це спрощує програмування таких пристроїв, а з іншого боку, дозволяє досить ефективно використовувати їхні ресурси.


8. Суперскалярні ЦСП

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

  • Команди процесора не групуються в блоки, кожна з них надходить у процесор незалежно;
  • Команди для паралельного виконання групуються всередині процесора на основі складу та поточної завантаженості операційних блоків, а також залежності між даними.

За допомогою описаного підходу можна обійти такі недоліки VLIW:

  • Неефективне використання пам'яті через велику довжину групової операції;
  • Залежність скомпільованого коду від складу операційних модулів конкретного процесора.

Платою за вирішення цих проблем стає значне ускладнення схеми процесора, в якому з'являється модуль планування виконання команд.

Суперскалярні процесори планують виконання команд не тільки на основі інформації про завантаженість операційних блоків, а й на основі аналізу залежностей між даними. Наприклад, команда збереження результату арифметичної операції не може бути виконана раніше самої операції обчислення, навіть якщо модуль звернення до пам'яті в даний момент вільний. Ця особливість призводить зокрема до того, що один і той же набір команд може по-різному виконуватися в різних місцях програми, що робить неможливим точну оцінку продуктивності. Особливо це важливо для систем, що працюють в реальному часі, адже оцінка за найгіршим результату призведе до того, що ресурси процесора будуть використані не повністю. Таким чином, в цих системах завдання точної оцінки продуктивності суперскалярних ЦСП залишається відкритою.


9. Гібридні ЦСП

Блок-схема гібридного ЦСП

Під гібридними ЦСП зазвичай розуміють спеціалізовані пристрої, що поєднують в собі функцію мікроконтролера і цифрового сигнального процесора. Зазвичай такі вироби призначені для виконання однієї функції - наприклад, управління електричними двигунами, або іншими об'єктами в реальному часі. Інший широкої областю їх застосування останнім часом стає мобільна телефонія, де раніше використовувалися два процесори - один звичайний для управління функціями апарату (дисплеєм, клавіатурою), а інший для обробки голосових сигналів (кодування і т. д.).


10. Класифікація ЦСП за призначенням

В цілому, за призначенням ЦСП можна розділити на дві групи:

  • ЦСП загального призначення;
  • Проблемно-орієнтовані ЦСП.

"Проблемна орієнтація" зазвичай відноситься не до додаткових командам, а до набору вбудованих спеціалізованих периферійних пристроїв. Наприклад, ЦСП, призначені для управління електродвигунами, можуть містити на кристалі генератори сигналів Шим, контролери локальної промислової мережі і т. д. Процесори, що використовуються для обробки голосових сигналів, часто містять модулі маніпуляції розрядами (BMU) і співпроцесори виправлення помилок. У цифрових фото-і відеокамерах застосовуються ЦСП з модулями кодування / декодування MPEG1, MPEG4, JPG, MP3, AAC і ін


11. Програмування ЦСП

Для програмування ЦСП зазвичай використовують один з двох мов - асемблер і C. Основні особливості асемблерів ЦСП збігаються з аналогічними мовами звичайних мікропроцесорів і, в цілому, можуть бути описані як:

  • Мова асемблера є машинно-орієнтованим, тобто кожне сімейство процесорів має мову, що відрізняється від мови інших сімейств;
  • Одна команда на асемблері зазвичай еквівалентна одній команді машинної мови;
  • При програмуванні на асемблері програмісту доступні всі ресурси процесора і системи, що дозволяє використовувати їх максимально ефективно;
  • Від програміста потрібно добре знання архітектури кожного конкретного процесора, з яким він працює, тобто необхідна кваліфікація персоналу повинна бути досить високою;
  • Створення та налагодження програм на асемблері - тривалий трудомісткий процес, також вимагає високої кваліфікації.

З іншого боку, при використанні мов середнього та високого рівня, зокрема, C, можна помітно спростити і прискорити створення програм, але при цьому ресурси системи будуть використовуватися менш ефективно, порівняно з програмою, цілком написаної на асемблері.

В реальності зазвичай використовуються підхід, який поєднує переваги як мов високого рівня, так і ефективності програм на асемблері. Виражається це в тому, що стандартні бібліотеки зазвичай створюються на асемблері, як і критичні до часу виконання і обсягом пам'яті частини коду. У той же час допоміжні модулі можуть створюватися на мові високого рівня, прискорюючи і спрощуючи розробку програмної системи в цілому.


11.1. Особливості асемблерів ЦСП

До цікавих особливостей асемблерів ЦСП можна віднести наступне:

  • Наявність двох форм запису багатьох команд - мнемонічною і алгебраїчної. Мнемонічна форма аналогічна запису команд для звичайних мікропроцесорів, наприклад, ADD dst, src . Інша, алгебраїчна, в асемблерах стандартних мікропроцесорів використовується рідше, в той час як на мові ЦСП згадана команда може бути записана у вигляді dst = dst + src . Зазвичай асемблери ЦСП розуміють обидві форми запису, але, наприклад, асемблери ADI і Lucent використовують тільки алгебраїчну запис.
  • Засоби організації стандартних структур, наприклад, спеціальних апаратних команд повторення однієї команди або блоку коду. При цьому, на відміну від команд повторення звичайних процесорів, ЦСП може пропускати цикл вибірки коду повторюваною команди, що зменшує час виконання кожного повторення як мінімум на 1 цикл шини, що при двоциклової команді дає подвійний виграш за часом.

11.2. Працює всередині сімейств ЦСП

Зазвичай ЦСП випускаються родинами, і вироби всередині родин мають аналогічні мови асемблера, або навіть сумісні на рівні машинних кодів. Також всередині сімейства зазвичай використовуються однакові набори бібліотек підпрограм. Як і в звичайних мікропроцесорах, часто старші моделі ЦСП можуть виконувати машинний код молодших моделей, або їх асемблер включає всі команди молодших моделей як підмножина власного набору команд.

11.3. Налагодження програм

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

Література

  • Солонина А. І., Улаховіч Д. А., Яковлев Л. А. Алгоритми і процесори цифрової обробки сигналів - СПб: БХВ-Петербург, 2001. - 464 с. - ISBN 5-94157-065-1.
  • Застосування цифрової обробки сигналів \ Під ред. Е. Опенгейма - СВІТ, 1980.
  • Цифрові сигнальні процесори. Мир ПК, 5'93
  • Цифрові сигнальні процесори фірми Zilog та їх застосування. CHIPNEWS, № 2 (11) 1997 г.
  • Марков. С. Цифрові сигнальні процесори. Книга 1. М.: МікроАрт, 1996 р.

Примітки

  1. 1 2 3 Солонина А. І., Улаховіч Д. А., Яковлев Л. А. Алгоритми і процесори цифрової обробки сигналів - СПб: БХВ-Петербург, 2001. - 464 с. - ISBN 5-94157-065-1.

Цей текст може містити помилки.

Схожі роботи | скачати

Схожі роботи:
Сигнальний протокол
Процесор
Багатоядерний процесор
Скалярний процесор
Графічний процесор
Векторний процесор
Текстовий процесор
Фізичний процесор
Цифровий фільтр
© Усі права захищені
написати до нас