Цифровой сигнальный процессор ( DSP ) — это специализированный микропроцессорный чип, архитектура которого оптимизирована для операционных нужд цифровой обработки сигналов . [1] : 104–107 [2] DSP изготавливаются на основе интегральных схем металл-оксид-полупроводник (МОП) . [3] [4] Они широко используются в обработке аудиосигналов , телекоммуникациях , цифровой обработке изображений , радарах , гидролокаторах и системах распознавания речи , а также в обычных потребительских электронных устройствах, таких как мобильные телефоны , дисководы и продукты телевидения высокой четкости (HDTV). [3]
Целью DSP обычно является измерение, фильтрация или сжатие непрерывных аналоговых сигналов реального мира . Большинство микропроцессоров общего назначения также могут успешно выполнять алгоритмы цифровой обработки сигналов, но могут не поддерживать такую обработку непрерывно в реальном времени. Кроме того, специализированные DSP обычно имеют лучшую энергоэффективность, поэтому они больше подходят для портативных устройств, таких как мобильные телефоны, из-за ограничений по энергопотреблению. [5] DSP часто используют специальные архитектуры памяти , которые способны извлекать несколько данных или инструкций одновременно.
Алгоритмы цифровой обработки сигналов (DSP) обычно требуют быстрого и многократного выполнения большого количества математических операций над серией выборок данных. Сигналы (возможно, от аудио- или видеодатчиков) постоянно преобразуются из аналоговых в цифровые, обрабатываются в цифровом виде, а затем преобразуются обратно в аналоговую форму. Многие приложения DSP имеют ограничения по задержке ; то есть, для работы системы операция DSP должна быть завершена в течение некоторого фиксированного времени, и отложенная (или пакетная) обработка нецелесообразна.
Большинство микропроцессоров общего назначения и операционных систем могут успешно выполнять алгоритмы ЦОС, но не подходят для использования в портативных устройствах, таких как мобильные телефоны и КПК, из-за ограничений по энергоэффективности. [5] Специализированный ЦОС, однако, будет, как правило, обеспечивать более дешевое решение с лучшей производительностью, меньшей задержкой и без требований к специализированному охлаждению или большим батареям. [ необходима цитата ]
Такие улучшения производительности привели к внедрению цифровой обработки сигналов в коммерческих спутниках связи , где сотни или даже тысячи аналоговых фильтров, коммутаторов, преобразователей частоты и т. д. требуются для приема и обработки восходящих сигналов и подготовки их к нисходящей линии связи , и могут быть заменены специализированными DSP со значительными преимуществами для веса спутников, энергопотребления, сложности/стоимости конструкции, надежности и гибкости эксплуатации. Например, спутники SES-12 и SES-14 от оператора SES , запущенные в 2018 году, были построены Airbus Defence and Space с 25% емкости с использованием DSP. [6]
Архитектура DSP оптимизирована специально для цифровой обработки сигналов. Большинство также поддерживают некоторые функции процессора приложений или микроконтроллера, поскольку обработка сигналов редко является единственной задачей системы. Некоторые полезные функции для оптимизации алгоритмов DSP описаны ниже.
По стандартам процессоров общего назначения наборы инструкций DSP часто крайне нерегулярны; в то время как традиционные наборы инструкций состоят из более общих инструкций, которые позволяют им выполнять более широкий спектр операций, наборы инструкций, оптимизированные для цифровой обработки сигналов, содержат инструкции для общих математических операций, которые часто встречаются в вычислениях DSP. Как традиционные, так и оптимизированные для DSP наборы инструкций способны вычислять любую произвольную операцию, но операция, которая может потребовать несколько инструкций ARM или x86 для вычисления, может потребовать только одну инструкцию в оптимизированном для DSP наборе инструкций.
Одним из последствий для архитектуры программного обеспечения является то, что оптимизированные вручную процедуры ассемблерного кода (ассемблерные программы) обычно упаковываются в библиотеки для повторного использования, вместо того, чтобы полагаться на передовые технологии компиляторов для обработки основных алгоритмов. Даже с современными оптимизациями компиляторов оптимизированный вручную ассемблерный код более эффективен, и многие общие алгоритмы, задействованные в вычислениях DSP, пишутся вручную, чтобы в полной мере использовать преимущества архитектурных оптимизаций.
DSP обычно оптимизированы для потоковой передачи данных и используют специальные архитектуры памяти, которые способны извлекать несколько данных или инструкций одновременно, такие как архитектура Гарварда или модифицированная архитектура фон Неймана , которые используют отдельные программную и информационную память (иногда даже одновременный доступ к нескольким шинам данных).
DSP иногда могут полагаться на вспомогательный код, чтобы знать об иерархиях кэша и связанных с ними задержках. Это компромисс, который позволяет улучшить производительность [ необходимо разъяснение ] . Кроме того, используется широкое использование DMA .
DSP часто используют многозадачные операционные системы, но не поддерживают виртуальную память или защиту памяти. Операционные системы, использующие виртуальную память, требуют больше времени для переключения контекста между процессами , что увеличивает задержку.
В 1976 году Ричард Уиггинс предложил концепцию Speak & Spell Полу Бридлаву, Ларри Брантингему и Джину Францу в исследовательском центре Texas Instruments в Далласе. Два года спустя, в 1978 году, они выпустили первый Speak & Spell, технологическим ядром которого стал TMS5100 [15] , первый в отрасли цифровой сигнальный процессор. Он также установил другие вехи, став первым чипом, использующим линейное предиктивное кодирование для выполнения синтеза речи [16] . Чип стал возможным благодаря 7-мкм PMOS- технологии [17] .
В 1978 году компания American Microsystems (AMI) выпустила S2811. [3] [4] «Периферийное устройство обработки сигналов» AMI S2811, как и многие более поздние DSP, имеет аппаратный умножитель, который позволяет ему выполнять операцию умножения-накопления в одной инструкции. [18] S2281 был первым чипом интегральной схемы , специально разработанным как DSP и изготовленным с использованием вертикальной структуры металл-оксид-полупроводник ( VMOS , V-образная канавка MOS), технологии, которая ранее не производилась массово. [4] Он был разработан как периферийное устройство микропроцессора для Motorola 6800 , [3] и его нужно было инициализировать с помощью хоста. S2811 не имел успеха на рынке.
В 1979 году Intel выпустила 2920 как «аналоговый сигнальный процессор». [19] Он имел встроенный АЦП/ЦАП с внутренним сигнальным процессором, но не имел аппаратного умножителя и не имел успеха на рынке.
В 1980 году первые автономные, полные DSP – NEC μPD7720 от Nippon Electric Corporation на основе модифицированной архитектуры Гарварда [20] и DSP1 от AT&T – были представлены на Международной конференции по твердотельным схемам '80. Оба процессора были вдохновлены исследованиями в области телекоммуникаций в коммутируемых телефонных сетях общего пользования (PSTN) . μPD7720, представленный для приложений голосового диапазона , был одним из самых коммерчески успешных ранних DSP. [3]
Altamira DX-1 был еще одним ранним DSP-процессором, использующим счетверенные целочисленные конвейеры с отложенными переходами и прогнозированием переходов. [ необходима ссылка ]
Другой DSP производства Texas Instruments (TI), TMS32010, представленный в 1983 году, оказался еще более успешным. Он был основан на архитектуре Гарварда, и поэтому имел раздельные инструкции и память данных. Он уже имел специальный набор инструкций с такими инструкциями, как загрузка и накопление или умножение и накопление. Он мог работать с 16-битными числами и требовал 390 нс для операции умножения-сложения. TI теперь является лидером на рынке DSP общего назначения.
Примерно через пять лет начало распространяться второе поколение DSP. Они имели 3 памяти для одновременного хранения двух операндов и включали аппаратное обеспечение для ускорения плотных циклов ; они также имели адресный блок, способный к адресации циклов. Некоторые из них работали с 24-битными переменными, и типичная модель требовала всего около 21 нс для MAC. Представители этого поколения, например, AT&T DSP16A или Motorola 56000 .
Главным усовершенствованием в третьем поколении стало появление специализированных для приложений блоков и инструкций в тракте данных, а иногда и в качестве сопроцессоров. Эти блоки позволяли осуществлять прямое аппаратное ускорение очень специфических, но сложных математических задач, таких как преобразование Фурье или матричные операции. Некоторые чипы, такие как Motorola MC68356, даже включали более одного ядра процессора для параллельной работы. Другие DSP 1995 года — это TI TMS320C541 или TMS 320C80.
Четвертое поколение лучше всего характеризуется изменениями в наборе инструкций и кодировании/декодировании инструкций. Были добавлены расширения SIMD, появились VLIW и суперскалярная архитектура. Как всегда, тактовые частоты увеличились; теперь стал возможен MAC в 3 нс.
Современные сигнальные процессоры обеспечивают большую производительность; это отчасти обусловлено как технологическими, так и архитектурными достижениями, такими как более низкие правила проектирования, быстрый доступ к двухуровневому кэшу, схема (E) DMA и более широкая шинная система. Не все DSP обеспечивают одинаковую скорость, и существует много видов сигнальных процессоров, каждый из которых лучше подходит для определенной задачи, и имеет цену от 1,50 до 300 долларов США.
Texas Instruments выпускает серию DSP C6000 с тактовой частотой 1,2 ГГц и раздельными кэшами инструкций и данных. Они также имеют кэш второго уровня объемом 8 МБ и 64 канала EDMA. Топовые модели способны выполнять до 8000 MIPS ( миллионов инструкций в секунду ), используют VLIW ( очень длинное слово инструкции ), выполняют восемь операций за такт и совместимы с широким спектром внешних периферийных устройств и различных шин (PCI/последовательные и т. д.). Каждый из чипов TMS320C6474 имеет по три таких DSP, а новейшее поколение чипов C6000 поддерживает обработку как с плавающей, так и с фиксированной точкой.
Freescale выпускает многоядерное семейство DSP MSC81xx. MSC81xx основан на процессорах архитектуры StarCore, а новейший MSC8144 DSP объединяет четыре программируемых ядра SC3400 StarCore DSP. Каждое ядро SC3400 StarCore DSP имеет тактовую частоту 1 ГГц.
XMOS производит многоядерную многопоточную линейку процессоров, хорошо подходящую для операций DSP. Они поставляются с различными скоростями от 400 до 1600 MIPS. Процессоры имеют многопоточную архитектуру, которая позволяет до 8 потоков реального времени на ядро, что означает, что 4-ядерное устройство будет поддерживать до 32 потоков реального времени. Потоки взаимодействуют друг с другом с помощью буферизованных каналов, которые способны пропускать до 80 Мбит/с. Устройства легко программируются на языке C и нацелены на преодоление разрыва между обычными микроконтроллерами и FPGA.
CEVA, Inc. производит и лицензирует три различных семейства DSP. Возможно, наиболее известным и широко используемым является семейство CEVA-TeakLite DSP, классическая архитектура на основе памяти с 16- или 32-битной шириной слова и одинарным или двойным MAC . Семейство CEVA-X DSP предлагает комбинацию архитектур VLIW и SIMD, причем различные члены семейства предлагают двойные или счетверенные 16-битные MAC. Семейство CEVA-XC DSP нацелено на разработку модемов с программно-определяемым радио (SDR) и использует уникальную комбинацию архитектур VLIW и Vector с 32 16-битными MAC.
Analog Devices выпускает DSP на основе SHARC и имеет производительность от 66 МГц/198 MFLOPS (миллионов операций с плавающей точкой в секунду) до 400 МГц/2400 MFLOPS. Некоторые модели поддерживают несколько умножителей и ALU , инструкции SIMD и компоненты и периферийные устройства для обработки звука. Семейство встраиваемых цифровых сигнальных процессоров Blackfin объединяет функции DSP с функциями процессора общего назначения. В результате эти процессоры могут работать с простыми операционными системами, такими как μCLinux , velocity и Nucleus RTOS, при работе с данными в реальном времени. ADSP-210xx на основе SHARC обеспечивает как задержанные , так и незадержанные переходы. [21]
NXP Semiconductors выпускает DSP на основе технологии TriMedia VLIW , оптимизированной для обработки аудио и видео. В некоторых продуктах ядро DSP скрыто как фиксированный функциональный блок в SoC , но NXP также предоставляет ряд гибких одноядерных медиапроцессоров. Медиапроцессоры TriMedia поддерживают как арифметику с фиксированной точкой, так и арифметику с плавающей точкой и имеют специальные инструкции для работы со сложными фильтрами и энтропийным кодированием.
Компания CSR выпускает семейство SoC Quatro, содержащих один или несколько специализированных процессоров обработки изображений, оптимизированных для обработки данных изображений документов для приложений сканирования и копирования.
Microchip Technology выпускает линейку DSP dsPIC на базе PIC24. Представленный в 2004 году, dsPIC предназначен для приложений, которым требуется настоящий DSP, а также настоящий микроконтроллер , например, для управления двигателем и в источниках питания. dsPIC работает со скоростью до 40MIPS и поддерживает 16-битную MAC с фиксированной точкой, реверс бит и модульную адресацию, а также DMA.
Большинство DSP используют арифметику с фиксированной точкой, поскольку в реальном мире обработки сигналов дополнительный диапазон, предоставляемый плавающей точкой, не нужен, и есть большой выигрыш в скорости и стоимости из-за снижения сложности оборудования. DSP с плавающей точкой могут быть бесценны в приложениях, где требуется широкий динамический диапазон. Разработчики продуктов также могут использовать DSP с плавающей точкой для снижения стоимости и сложности разработки программного обеспечения в обмен на более дорогое оборудование, поскольку, как правило, проще реализовать алгоритмы с плавающей точкой.
Как правило, цифровые сигнальные процессоры представляют собой специализированные интегральные схемы; однако функциональность цифровых сигнальных процессоров может быть также реализована с использованием программируемых пользователем вентильных матриц (ПЛИС).
Встроенные процессоры RISC общего назначения становятся все более похожими на DSP по функциональности. Например, процессоры OMAP3 включают ARM Cortex-A8 и C6000 DSP.
В области связи новое поколение DSP, предлагающее слияние функций DSP и функции H/W ускорения, прокладывает себе путь в мейнстрим. Такие модемные процессоры включают ASOCS ModemX и CEVA XC4000.
В мае 2018 года Huarui-2, разработанный Нанкинским научно-исследовательским институтом электронных технологий China Electronics Technology Group, прошел приемку. При скорости обработки 0,4 TFLOPS чип может достичь лучшей производительности, чем текущие основные чипы DSP. [22] Команда разработчиков приступила к созданию Huarui-3, который имеет скорость обработки на уровне TFLOPS и поддержку искусственного интеллекта . [23]
{{cite web}}
: CS1 maint: архивная копия как заголовок ( ссылка )