stringtranslate.com

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

Микросхема DSP L7A1045, используемая в нескольких семплерах Akai и аркадной плате Hyper Neo Geo 64
NeXTcube 1990 года выпуска имел процессор Motorola 68040 ( 25 МГц) и цифровой сигнальный процессор Motorola 56001 с тактовой частотой 25 МГц, к которому был возможен прямой доступ через интерфейс.

Цифровой сигнальный процессор ( 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 часто используют многозадачные операционные системы, но не поддерживают виртуальную память или защиту памяти. Операционные системы, использующие виртуальную память, требуют больше времени для переключения контекста между процессами , что увеличивает задержку.

История

Умножитель-накопитель TRW TDC1010

Разработка

В 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 нс.

Современные DSP-процессоры

Современные сигнальные процессоры обеспечивают большую производительность; это отчасти обусловлено как технологическими, так и архитектурными достижениями, такими как более низкие правила проектирования, быстрый доступ к двухуровневому кэшу, схема (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]

Смотрите также

Ссылки

  1. ^ Дайер, Стивен А.; Хармс, Брайан К. (13 августа 1993 г.). «Цифровая обработка сигналов». В Yovits, Маршалл К. (ред.). Advances in Computers . Vol. 37. Academic Press . pp. 59–118. doi :10.1016/S0065-2458(08)60403-9. ISBN 978-0120121373. ISSN  0065-2458. LCCN  59015761. OCLC  858439915. ОЛ  10070096М.
  2. ^ Липтак, Б. Г. (2006). Управление процессами и оптимизация. Справочник инженеров-изготовителей приборов. Том 2 (4-е изд.). CRC Press. С. 11–12. ISBN 978-0849310812– через Google Книги .
  3. ^ abcde "1979: Представлен однокристальный цифровой сигнальный процессор". The Silicon Engine . Computer History Museum . Получено 14 октября 2019 г. .
  4. ^ abc Таранович, Стив (27 августа 2012 г.). «30 лет DSP: от детской игрушки до 4G и дальше». EDN . Получено 14 октября 2019 г. .
  5. ^ ab Ингрид Вербаувхед; Патрик Шаумон; Кристиан Пиге; Барт Кинхейс (2005-12-24). "Архитектуры и методы проектирования для энергоэффективных встраиваемых ЦСП и обработки мультимедиа" (PDF) . rijndael.ece.vt.edu . Получено 2017-06-13 .
  6. ^ Beyond Frontiers Broadgate Publications (сентябрь 2016 г.) стр. 22
  7. ^ «Память и DSP-процессоры».
  8. ^ ""DSP-процессоры: архитектуры памяти"". Архивировано из оригинала 2020-02-17 . Получено 2020-03-03 .
  9. ^ "Архитектура цифрового сигнального процессора"
  10. ^ «Опция DSP памяти ARC XY».
  11. ^ «Нулевые накладные расходы».
  12. ^ "Справочник по аппаратному обеспечению процессора ADSP-BF533 Blackfin". стр. 4-15.
  13. ^ «Понимание расширенных функций процессора способствует эффективному кодированию».
  14. ^ Uh, Gang-Ryung; Wang, Yuhong; Whalley, David; Jinturkar, Sanjay; Burns, Chris; Cao, Vincent (2000). "Методы эффективного использования буфера цикла с нулевыми накладными расходами" (PDF) . Конструкция компилятора . Конспект лекций по информатике. Том 1781. С. 157–172. doi :10.1007/3-540-46423-9_11. ISBN 978-3-540-67263-0.
  15. ^ "Speak & Spell, первое использование ИС цифровой обработки сигналов для генерации речи, 1978". Вехи IEEE . IEEE . Получено 2012-03-02 .
  16. ^ Богданович, А. (2009-10-06). "IEEE Milestones Honor Three". Институт . IEEE. Архивировано из оригинала 2016-03-04 . Получено 2012-03-02 .
  17. ^ Хан, Гул Н.; Иневски, Кшиштоф (2017). Встроенные и сетевые системы: проектирование, программное обеспечение и реализация. CRC Press . стр. 2. ISBN 9781351831567.
  18. ^ Альберто Луис Андрес. «Цифровой графический аудиоэквалайзер». стр. 48.
  19. ^ "Архивная копия" (PDF) . Архивировано из оригинала (PDF) 2020-09-29 . Получено 2019-02-17 .{{cite web}}: CS1 maint: архивная копия как заголовок ( ссылка )
  20. ^ "NEC Electronics Inc. μPD77C20A, 7720A, 77P20 Цифровые сигнальные процессоры". стр. 1 . Получено 2023-11-13 .
  21. ^ "Введение в семейство цифровых сигнальных процессоров ADSP-21000" (PDF) . стр. 6 . Получено 2023-12-01 .
  22. Ссылки ​Проверено 2 июля 2018 г.
  23. ^ 王珏玢. «全国产芯片华睿2号通过»核高基»验收-新华网». Информационное агентство Синьхуа . 南京. Архивировано из оригинала 26 мая 2018 года . Проверено 2 июля 2018 г.

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