Санкт-Петербург Средний пр. В.О., д. 86
ПОРТАЛ ЗНАНИЙ
СОВРЕМЕННОЙ АВИОНИКИ
42 ТЕРМИНОВ ПО ТЕМАТИКЕ АВИАСИСТЕМ

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

Определение

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

Цель DSP обычно заключается в измерении, фильтрации или сжатии непрерывных аналоговых сигналов. Большинство микропроцессоров общего назначения также могут выполнять алгоритмы цифровой обработки сигналов, но могут не успевать за такой обработкой в реальном времени. Кроме того, ЦСП обычно обладают лучшей энергоэффективностью, поэтому они больше подходят для портативных устройств, таких как мобильные телефоны, из-за ограничений энергопотребления. ЦСП часто используют специальные архитектуры памяти, которые способны извлекать несколько данных или команды одновременно. ЦСП часто реализуют технологию сжатия данных, в частности —  дискретное косинусное преобразование (DCT), это широко используемая технология сжатия для ЦСП.



Описание

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

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

Такие улучшения производительности привели к внедрению цифровой обработки сигналов на коммерческих спутниках связи, где для приема и обработки восходящих сигналов и подготовки их к исходящей связи требуются сотни или даже тысячи аналоговых фильтров, коммутаторов, преобразователей частоты и т. д., которые можно заменить специализированными ЦСП со значительными облегчением веса спутников, снижения энергопотребления, сложности/стоимости конструкции, увеличения надежности и гибкости эксплуатации. Например, спутники SES-12 и SES-14 от оператора SES, запущенные в 2018 году, были построены «Airbus Defence and Space», где 25% мощности обеспечено ЦСП.

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


Принцип работы

Архитектура программного обеспечения

По стандартам процессоров общего назначения наборы команд ЦСП часто очень нерегулярны; в то время как традиционные наборы команд состоят из более общих команд, которые позволяют им выполнять более широкий спектр операций. Наборы команд, оптимизированные для цифровой обработки сигналов, содержат команды для общих математических операций, которые часто происходят в вычислениях ЦСП. Как традиционные, так и оптимизированные для ЦСП наборы команд могут вычислять любую произвольную операцию, но операция, для выполнения которой может потребоваться несколько команд ARM или x86, может потребовать только одну команду в оптимизированном для DSP наборе команд.

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


Наборы команд

  • Операции по совмещенному умножению-сложению.

    • широко используется во всех видах матричных операций:

      • свертка функций для фильтрации;

      • скалярное произведение;

      • полиномиальная оценка.

    • фундаментальные алгоритмы ЦСП сильно зависят от производительности многократного накопления

      • КИХ-фильтров;

      • Быстрое преобразование Фурье (БПФ).

  • Команды по увеличению параллельности:

    • SIMD (одиночный поток команд, множественный поток данных, ОКМД);

    • VLIW («очень длинная машинная команда»);

    • суперскалярность.

  • Специализированные команды для сравнения по модулю в кольцевых буферах и режиме адресации с обратным битом для перекрестных ссылок FFT.

  • DSP иногда используют нестационарное кодирование для упрощения аппаратного обеспечения и повышения эффективности кодирования.

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

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


Команды по данным

  • Насыщенная арифметика, при этом операции, которые производят перерасход, будут накапливаться с максимальным (или минимальным) значением, которое регистр может хранить, а не обходить (максимум+1 как во многих процессорах общего назначения, а не остается на максимальном уровне). Иногда доступны различные режимы работы sticky-бит.

  • Арифметика с фиксированной точкой часто используется для ускорения арифметической обработки.

  • Одноцикловые операции для увеличения преимуществ конвейерной обработки


Программы

  • Блок с плавающей запятой интегрирован непосредственно в операционный автомат;

  • Конвейерная архитектура

  • Высоко параллельные операции по совмещенному умножению-сложению (блоки MAC);

  • Аппаратное управление циклом, чтобы уменьшить или устранить усилия, необходимые для операций цикла.


Аппаратная архитектура

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

Аппаратное обеспечение также является выражением, используемым в компьютерной индустрии, чтобы отличить аппаратное обеспечение от программного обеспечения, которое работает на нем. Но аппаратное обеспечение, в рамках дисциплин автоматизации и программной инженерии, не обязательно должно быть просто компьютером. Современный автомобиль использует гораздо больше программного обеспечения, чем космический корабль «Аполлон». Кроме того, современный самолет не может функционировать без выполнения десятков миллионов компьютерных команд, встроенных и распределенных по всему самолету и расположенных как в стандартном компьютерном оборудовании, так и в специализированных аппаратных компонентах, таких как проводные логические элементы IC, аналоговые и гибридные устройства и другие цифровые компоненты. Необходимость эффективного моделирования того как отдельные физические компоненты объединяются в сложные системы важна для широкого спектра применений, включая компьютеры, персональные цифровые помощники (КПК), сотовые телефоны, хирургические приборы, спутники и подводные лодки.


Архитектура памяти

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

ЦСП иногда могут полагаться на поддержку кода, чтобы узнать об иерархиях кэша и связанных с ними задержках. Это компромисс, который позволяет повысить производительность. Широко используется прямой доступ к памяти (DMA).


Адресация и виртуальная память

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

  • Аппаратная адресация по модулю:

    • Позволяет реализовать кольцевой буферы, не тестируя на оборот.

  • Бит-обратная адресация, специальный режим адресации памяти:

    • полезно для вычисления БПФ.

  • Исключение блока управления памятью;

  • Устройство для формирования адреса.

История

До появления автономных чипов цифрового сигнального процессора (ЦСП) ранние приложения цифровой обработки сигналов обычно реализовывались чипами с микропроцессорной секцией. Такой чип AMD 2901 bit-slice был очень популярным. Были эталонные конструкции от AMD, но очень часто конкретный чип была разработан для конкретного приложения. Эта архитектура микропроцессорных секций иногда включала в себя периферийный чип-мультипликатор. Примерами были серии от TRW: TDC1008 и TDC1010, некоторые из них включали аккумулятор, обеспечивающий необходимую функцию совмещенного умножения-сложения (MAC).

В 1970-х обработка сигналов значительно изменилась благодаря широкому внедрениею МОП-структур, которые были изобретены Мохаммедом М. Аталлой и Дауном Кангом в 1959 году. Технология МОП-структур была основой для первых однокристальных микропроцессоров и микроконтроллеров в начале 1970-х годов, а затем первых однокристальных ЦСП в конце 1970-х годов.

Еще одним важным достижением в области цифровой обработки сигналов стало сжатие данных. Линейное прогностическое кодирование (LPC) было впервые разработано Фумитадой Итакурой из Нагойского университета и Сюзо Сайто из «Nippon Telegraph and Telephone» (NTT) в 1966 году, а затем дополнено Бишну С. Аталом и Манфредом Р. Шредер в «Bell Labs» в начале-середине 1970-х годов, став основой для первых чипов ЦСП синтезатора речи в конце 1970-х годов. 

Дискретное косинусное преобразование (DCT) было впервые предложено Насиром Ахмедом в начале 1970-х годов и с тех пор широко внедряется в чипы ЦСП, причем многие компании разрабатывают чипы ЦСП на основе технологии DCT. DCT широко используются для кодирования, декодирования, кодирования видео, кодирования звука, мультиплексирования, сигналов управления, сигнализации, аналого-цифрового преобразования, форматирования яркости и цветовых различий, а также цветовых форматов, таких как YUV444 и YUV411. DST используются также для кодирования таких операций, как оценка движения, компенсация движения, межкадровое предсказание, квантование, перцептивного взвешивания, энтропийного кодирования, кодирования с переменной и вектором движения и декодирование операции: обратные операции между различными цветовыми форматами (YIQ, YUV и RGB). DST также широко используются для телевидения высокой четкости (HDTV).

В 1976 году Ричард Уиггинс предложил концепцию детской игрушки «Speack & Spell» («Говори и произнеси по буквам») Полу Бридлав, Ларри Брантингему, и Гену Франтцу из «Texas Instruments» в Далласе. Два года спустя, в 1978 году, они выпустили первый  «Speak & Spell», технологической основой которого стал TMS5100, первый в отрасли цифровой сигнальный процессор. Он стал первым чипом, использующим линейное предсказательное кодирование для выполнения синтеза речи.

В 1978 году American Microsystems (AMI) выпустила S2811. AMI S2811 «периферийное устройство обработки сигналов», как и многие более поздние ЦСП, имеет аппаратный множитель, который позволяет ему выполнять операцию по совмещенному умножению-сложению в одной команде. S2281 был первым чипом интегральной схемы, специально разработанным в качестве ЦСП и изготовленный с использованием VMOS (V-groove MOS) технологии, которая ранее не производилась массово. Он был разработан как микропроцессорное периферийное устройство для Motorola 6800. В S2811 не был успешным на рынке.

В 1979 году Intel выпустила 2920 в качестве «аналогового сигнального процессора». У него был встроенный АЦП/ЦАП с внутренним сигнальным процессором, но он не имел аппаратного множителя и не был успешным на рынке.

В 1980 году на международной конференции по твердотельным схемам' 80 были представлены первые автономные, полные ЦСП — NEC µPD7720 от Nippon Electric Corporation и AT&T DSP1. Оба процессора были вдохновлены исследованиями в области телекоммуникаций телефонной сети общего пользования. ΜPD7720, введенный для примения в частоте голоса, был одним из самых коммерчески успешных ЦСП.

Другой ЦСП производства «Texas Instruments» (TI), TMS32010, представленный в 1983 году, оказался еще более успешным. Он был основан на архитектуре Гарварда, и поэтому имел отдельную память команд и данных. У него уже был специальный набор команд типа загрузить-и-накопить или умножить-и-накопить. Он мог работать на 16-битных числах и требовал 390 мс для операции умножения-сложения. TI в настоящее время является лидером на рынке ЦСП общего назначения.

Примерно через пять лет началось распространение второго поколения ЦСП. Они имели 3 памяти для хранения двух операций одновременно и включали аппаратное обеспечение для ускорения жестких циклов; у них также был блок адресации, способный к циклической адресации. Некоторые из них работали на 24-битных переменных, и типичная модель требовала только 21 мс для MAC. К поколению этих ЦСП относились, например, AT&T DSP16A или Motorola 56000.

Главным улучшением в третьем поколении было появление специфичных для приложений блоков и команд в пути передачи данных, а иногда и в виде сопроцессоров. Эти блоки позволяли непосредственно аппаратно ускорять решение очень специфических, но сложных математических задач, таких как операции преобразования Фурье или матрицы. Некоторые чипы, такие как Motorola MC68356, даже включали в себя несколько процессорных ядер для параллельной работы.

Четвертое поколение лучше всего характеризуется изменениями в наборе команд и кодированием/декодированием команд. Были добавлены расширения SIMD,появились VLIW и суперскалярная архитектура. Как всегда, тактовые частоты увеличились; теперь стал возможен MAC на 3 мс.


Современные ЦСП

Современные сигнальные процессоры обеспечивают более высокую производительность; это отчасти объясняется как технологическими, так и архитектурными достижениями, такими как более низкие правила проектирования, двухуровневый кэш быстрого доступа, схемы DMA (E) и более широкая система шин. Не все ЦСП обеспечивают одинаковую скорость, и существует много видов сигнальных процессоров, каждый из которых лучше подходит для конкретной задачи, варьируясь по цене от 1,50 до 300 долларов США.

«Texas Instruments» производит ЦСП серии C6000, которые имеют тактовые частоты 1.2 GHz и снабжают отдельные команды и кэши данных. Они также имеют 8 MiB кэш 2-го уровня и 64 канала EDMA. Топовые модели способны выполнять до 8000 MIPS (миллионы команд в секунду), использовать VLIW (очень длинные машинные команды), выполнять восемь операций за такт и совместимы с широким спектром внешних периферийных устройств и различных шин (PCI/serial/etc). Чипы TMS320C6474 имеют по три таких ЦСП, а чипы нового поколения C6000 поддерживают обработку с плавающей точкой и  фиксированной точкой.

Компании «Freescale» выпускает многоядерные семьи ЦСП, MSC81xx. MSC81xx базируется на архитектуре процессоров «starcore», основанной и последний MSC8144 ЦСП совмещает четыре программируемых SC3400 «starcore», основанные на ЦСП ядере. Каждое ядро Sc3400 StarCore ЦСП имеет тактовую частоту 1 ГГц.

«XMOS» производит многоядерную многопоточную линию процессоров, хорошо подходящую для операций ЦСП, они производяьтся с различными скоростями в диапазоне от 400 до 1600 MIPS. Процессоры имеют многопоточную архитектуру, которая позволяет использовать до 8 потоков в реальном времени на ядро,, что 4-ядерные устройства поддерживают до 32 потоков в реальном времени. Потоки связывают между собой буферизованными каналами, которые достигают 80 Мбит/с. устройства легко программируются на языке C и направлены на преодоление разрыва между обычными микроконтроллерами и FPGA.

«CEVA, Inc» производит и лицензирует три различных семейства ЦСП. Возможно, самым известным и наиболее широко распространенным является семейство ЦСП CEVA-TeakLite, классическая архитектура на основе памяти, с 16-битной или 32-битной шириной слов и одиночными или двойными компьютерами Mac. Семейство CEVA-X DSP предлагает комбинацию архитектур VLIW и SIMD, причем различные чипы семейства предлагают двойные или четырехъядерные 16-разрядные компьютеры Mac. Семейство CEVA-XC DSP нацелено на программно-определяемые модемы SDR и использует уникальную комбинацию VLIW и векторных архитектур с 32 16-разрядными Mac.

«Analog Devices» производят ЦСП, основанные на SHARC. Они представлены в диапазоне от 66 MHz/198 MFLOPS (миллионов операций с плавающей запятой в секунду) до 400 MHz/2400 MFLOPS. Некоторые модели поддерживают множественные мультипликаторы и ALU, команды SIMD и специфические аудио компоненты и периферийные устройства. Семейство «Blackfin» для встраиваемых цифровых сигнальных систем сочетает в себе функции ЦСП и процессоров общего назначения. В результате эти процессоры могут запускать простые операционные системы, такие как µCLinux, velocity и Nucleus RTOS, работая с данными в реальном времени.

«NXP Semiconducts» производят основанные на технологии ЦСП TriMedia VLIW, оптимизированные для обработки аудио и видео. В некоторых продуктах ядро ЦСП скрыто в виде фиксированного функционального блока в SoC, но NXP также предоставляет ряд гибких одноядерных медиапроцессоров. Медиапроцессоры TriMedia поддерживают как арифметику с фиксированной точкой, так и арифметику с плавающей точкой и имеют специальные команды для работы со сложными фильтрами и энтропийным кодированием.

«CSR» производит семейство SoC Quatro, которое содержит один или несколько пользовательских ЦСП изображений, оптимизированных для обработки данных изображений, документов для сканеров и копировальных аппаратов.

«Microchip Technology» производит ЦПС PIC24. Введенный в 2004, PIC созданы как ЦСП и микроконтроллер для управление мотором и электропитанием. цпPIC работает на скорости до 40 MIP, и имеет поддержку 16-битной фиксированной точки MAC, обратный бит и модульную адресацию, а также DMA.

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

Как правило, ЦСП являются специализированными интегральными схемами; однако функциональность ЦСП также может быть достигнута с помощью программируемых на местах микросхем стробирующих матриц (FPGA).

Встроенные универсальные RISC-процессоры становятся все более ЦСП-подобными по функциональности. Например, процессоры OMAP3 включают ARM Cortex-A8 и C6000 DSP.

Новый тип ЦСП, предлагающая слияние функций ЦСП и функции ускорения H/W, становится основной тенденцией. К таким модемным процессорам относятся ASOCS ModemX и CEVA XC4000.

В мае 2018, «Huarui-2» разработанный научно-исследовательским институтом Нанкина прошел утверждение. Скоростью обработки —  0.4 TFLOPS, чип может достигнуть лучших результатов, чем самые популярные сейчас ЦСП. Проектная группа начала создавать «Huarui-3», который имеет скорость обработки на уровне TFLOPS и поддержку искусственного интеллекта.


to top