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

редактировать
A TMS320 микросхема цифрового сигнального процессора, обнаруженная в блоке гитарных эффектов. Выше можно увидеть кварцевый генератор .

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

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

Содержание

Обзор

Типичная система цифровой обработки

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

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

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

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

Архитектура

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

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

Одним из последствий для архитектуры программного обеспечения является то, что оптимизированные вручную assembly-code подпрограммы (программы сборки) обычно упаковываются в библиотеки для повторного использования, вместо того, чтобы полагаться на передовые технологии компилятора для обработки основных алгоритмов. Даже при современной оптимизации компилятора оптимизированный вручную ассемблерный код более эффективен, и многие распространенные алгоритмы, используемые в вычислениях DSP, написаны вручную, чтобы в полной мере использовать преимущества архитектурных оптимизаций.

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

Команды данных

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

Программа поток

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

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

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

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

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

DSP иногда могут полагаться на поддерживающий код, чтобы знать об иерархиях кешей и связанных с ними задержках. Это компромисс, позволяющий повысить производительность. Кроме того, широко используется DMA.

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

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

  • Аппаратная адресация по модулю
  • Адресация с обратным битом, специальный режим адресации
    • , полезный для вычисление БПФ
  • Исключение блока управления памятью
  • Блок генерации адресов

История

Предпосылки

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

Электронная обработка сигналов была революционизирована в 1970-х годах благодаря широкому применению MOSFET (полевой транзистор металл-оксид-полупроводник, или МОП-транзистор), MOS-интегральная схема легла в основу первых однокристальных микропроцессоров и микроконтроллеров в начале 1970-х, а затем первых однокристальных DSP в конце 1970-х..

Еще одним важным достижением в цифровой обработке сигналов было сжатие данных. Кодирование с линейным предсказанием (LPC) было впервые разработано Фумитада Итакура из Университета Нагоя и Сюдзо Сайто из Nippon Telegraph and Telephone (NTT) в 1966 году, а затем дальнейшее развитие получили Бишну С. Атал и Манфред Р. Шредер в Bell Labs в период с начала до середины 1970-х годов, став Основа для первых микросхем DSP синтезатора речи в конце 1970-х. Дискретное косинусное преобразование (DCT) было впервые предложено Насиром Ахмедом в начале 1970-х годов и с тех пор широко применяется в микросхемах DSP, причем многие компании разрабатывают микросхемы DSP на основе технологии DCT.. DCT широко используются для кодирования, декодирования, кодирования видео, кодирования звука, мультиплексирования, сигналов управления, сигнализации, аналого-цифровое преобразование, форматирование яркости и цветовых различий, а также цветовые форматы, такие как YUV444 и YUV411. DCT также используются для операций кодирования, таких как оценка движения, компенсация движения, межкадровое прогнозирование, квантование, перцепционное взвешивание, энтропийное кодирование, переменное кодирование и векторы движения, а также операции декодирования, такие как обратная операция между разными цветовыми форматами (YIQ, YUV и RGB ) для отображения. DCT также обычно используются для микросхем кодера / декодера телевидения высокой четкости (HDTV).

Разработка

В 1976 году Ричард Виггинс предложил Speak Spell концепция Пола Бридлава, Ларри Брантингема и Джина Франца из исследовательского центра Texas Instruments 'в Далласе. Два года спустя, в 1978 году, они выпустили первый Speak Spell, технологическим центром которого стал TMS5100, первый в отрасли цифровой сигнальный процессор. Он также установил другие вехи, будучи первым чипом, использующим кодирование с линейным предсказанием для выполнения синтеза речи. Чип стал возможным благодаря процессу изготовления 7 мкм PMOS .

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

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

В 1980 году появились первые автономные полные DSP - Nippon Electric Corporation NEC µPD7720 и ATT DSP1 - были представлены на International Solid-State Circuits Conference '80. Оба процессора были вдохновлены исследованиями в телефонной сети общего пользования (PSTN) телекоммуникации. ΜPD7720, представленный для приложений голосового диапазона, был одним из самых коммерчески успешных ранних DSP.

Altamira DX-1 был еще одним ранним DSP, использующим четверные целочисленные конвейеры с отложенными переходами и предсказанием переходов..

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

Примерно пять лет спустя второе поколение DSP начало распространяться. У них было 3 памяти для одновременного хранения двух операндов и было включено оборудование для ускорения жестких циклов ; у них также было устройство адресации, способное к петлевой адресации. Некоторые из них работали с 24-битными переменными, и типичная модель требовала всего около 21 нс для MAC. Членами этого поколения были, например, ATT DSP16A или Motorola 56000.

. Основным улучшением в третьем поколении было появление специфичных для приложения модулей и инструкций в тракте данных, а иногда и в качестве сопроцессоров. Эти устройства позволяли прямое аппаратное ускорение очень конкретных, но сложных математических задач, таких как преобразование Фурье или матричные операции. Некоторые микросхемы, например Motorola MC68356, даже включают более одного процессорного ядра для параллельной работы. Другие DSP 1995 года - TI TMS320C541 или TMS 320C80.

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

Современные DSP

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

Texas Instruments производит DSP серии C6000, которые имеют тактовую частоту 1,2 ГГц и реализуют отдельные кэши команд и данных. У них также есть кэш 2-го уровня объемом 8 МБ и 64 канала EDMA. Топовые модели способны выполнять до 8000 MIPS (миллионов инструкций в секунду ), используют VLIW (очень длинное командное слово ), выполняют восемь операций за такт и совместимы с широким спектром внешних периферийных устройств и различных шин (PCI / последовательный / и т. д.). Каждый чип TMS320C6474 имеет по три таких DSP, а чипы C6000 последнего поколения поддерживают обработку с плавающей запятой, а также обработку с фиксированной запятой.

Freescale производит семейство многоядерных DSP MSC81xx. MSC81xx основан на процессорах StarCore Architecture, а новейший DSP MSC8144 объединяет четыре программируемых ядра SC3400 StarCore DSP. Каждое ядро ​​SC3400 StarCore DSP имеет тактовую частоту 1 ГГц.

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

CEVA, Inc. производит и лицензирует три различных семейства DSP. Возможно, наиболее известным и наиболее широко используемым является семейство ЦСП CEVA-TeakLite, классическая архитектура на основе памяти, с 16-битной или 32-битной шириной слова и одним или двумя MAC. Семейство CEVA-X DSP предлагает комбинацию архитектур VLIW и SIMD, при этом различные члены семейства предлагают двойные или четырехканальные 16-битные MAC. Семейство CEVA-XC DSP нацелено на разработку модемов Software-defined Radio (SDR) и использует уникальное сочетание архитектур VLIW и Vector с 32 16-битными MAC.

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

NXP Semiconductors производит DSP на основе технологии TriMedia VLIW, оптимизированной для обработки аудио и видео. В некоторых продуктах ядро ​​DSP скрыто как блок с фиксированной функцией в SoC, но NXP также предоставляет ряд гибких одноядерных медиапроцессоров. Медиа-процессоры TriMedia поддерживают как арифметику с фиксированной точкой, так и арифметику с плавающей точкой, и имеют специальные инструкции для работы со сложными фильтрами и энтропийным кодированием.

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

Microchip Technology производит линейку цифровых сигнальных процессоров на базе PIC24 dsPIC. Представленный в 2004 году, dsPIC предназначен для приложений, требующих настоящего DSP, а также настоящего микроконтроллера , таких как управление двигателями и источники питания. DsPIC работает со скоростью до 40MIPS и поддерживает 16-битный MAC-адрес с фиксированной точкой, обратную битовую адресацию и адресацию по модулю, а также DMA.

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

Как правило, DSP - это специализированные интегральные схемы; однако функциональность DSP также может быть реализована с использованием программируемой логической матрицы микросхем (FPGA).

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

В коммуникациях новое поколение DSP, предлагающее сочетание функций DSP и функции H / W-ускорения, становится популярным. Такие модемные процессоры включают ASOCS ModemX и CEVA XC4000.

В мае 2018 года Хуаруй-2, разработанный Нанкинским научно-исследовательским институтом электронных технологий China Electronics Technology Group, прошел приемку. Со скоростью обработки 0,4 терафлопс чип может обеспечить лучшую производительность, чем современные чипы DSP. Команда разработчиков приступила к созданию Huarui-3, который имеет скорость обработки на уровне TFLOPS и поддерживает искусственный интеллект.

См. Также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-05-17 05:59:54
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте