stringtranslate.com

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

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

Процессор цифровых сигналов ( DSP ) — это специализированный микропроцессорный чип, архитектура которого оптимизирована для оперативных нужд цифровой обработки сигналов . [1] : 104–107  [2] ЦСП изготавливаются на интегральных микросхемах металл-оксид-полупроводник (МОП) . [3] [4] Они широко используются в обработке аудиосигналов , телекоммуникациях , цифровой обработке изображений , радарах , гидролокаторах и системах распознавания речи , а также в обычных бытовых электронных устройствах, таких как мобильные телефоны , дисководы и телевидение высокой четкости (HDTV). продукты. [3]

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

Обзор

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

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

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

Такие улучшения производительности привели к внедрению цифровой обработки сигналов на коммерческих спутниках связи , где для приема и обработки сигналов, передаваемых по восходящей линии связи, и подготовки их к передаче по нисходящей линии связи требуются сотни или даже тысячи аналоговых фильтров, переключателей, преобразователей частоты и т. д. заменены специализированными 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] Этот чип стал возможным благодаря процессу изготовления PMOS 7 мкм . [17]

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

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

В 1980 году на Международной конференции по твердотельным схемам '80 были представлены первые автономные полноценные DSP – NEC µPD7720 компании Nippon Electric Corporation , основанный на модифицированной гарвардской архитектуре [20] и DSP1 компании AT&T . Оба процессора были созданы на основе исследований в области телекоммуникаций в телефонных сетях общего пользования (PSTN) . µPD7720, представленный для приложений голосового диапазона , был одним из самых коммерчески успешных ранних DSP. [3]

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

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

Примерно через пять лет начало распространяться второе поколение DSP. У них было три памяти для одновременного хранения двух операндов и аппаратное обеспечение для ускорения циклов ; у них также был блок адресации, способный осуществлять кольцевую адресацию. Некоторые из них работали с 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 ГГц и реализуют отдельные кэши инструкций и данных. Они также имеют кэш 2-го уровня объемом 8 МБ и 64 канала EDMA. Топовые модели способны выполнять до 8000 MIPS ( миллионы инструкций в секунду ), используют VLIW ( очень длинное командное слово ), выполняют восемь операций за такт и совместимы с широким спектром внешних периферийных устройств и различных шин (PCI). /сериал/и т. д.). Каждый из чипов TMS320C6474 имеет по три таких DSP, а чипы C6000 новейшего поколения поддерживают обработку с плавающей запятой, а также обработку с фиксированной запятой.

Freescale производит семейство многоядерных DSP MSC81xx. MSC81xx основан на процессорах с архитектурой StarCore, а новейший 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 DSP, классическая архитектура на основе памяти с 16-битной или 32-битной разрядностью слова и одним или двумя MAC-адресами . Семейство CEVA-X DSP предлагает комбинацию архитектур VLIW и SIMD, причем разные члены семейства предлагают два или четыре 16-битных MAC. Семейство CEVA-XC DSP предназначено для разработки модемов программно-определяемого радио (SDR) и использует уникальную комбинацию архитектур VLIW и Vector с 32 16-битными MAC-адресами.

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

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

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

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

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

В мае 2018 года прошел приемку Huarui-2, разработанный Нанкинским научно-исследовательским институтом электронных технологий Китайской группы электронных технологий . Благодаря скорости обработки 0,4 терафлопс чип может достичь более высокой производительности, чем нынешние распространенные чипы DSP. [22] Команда разработчиков приступила к созданию Huarui-3, который имеет скорость обработки на уровне терафлопс и поддержку искусственного интеллекта . [23]

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

Рекомендации

  1. ^ Дайер, Стивен А.; Хармс, Брайан К. (13 августа 1993 г.). «Цифровая обработка сигналов». В Йовитсе, Маршалл К. (ред.). Достижения в области компьютеров . Том. 37. Академическая пресса . стр. 59–118. дои : 10.1016/S0065-2458(08)60403-9. ISBN 978-0120121373. ISSN  0065-2458. LCCN  59015761. OCLC  858439915. ОЛ  10070096М.
  2. ^ Липтак, Б.Г. (2006). Управление процессами и оптимизация. Справочник инженера по приборостроению. Том. 2 (4-е изд.). ЦРК Пресс. стр. 11–12. ISBN 978-0849310812– через Google Книги .
  3. ^ abcde «1979: Представлен однокристальный процессор цифровых сигналов». Кремниевый двигатель . Музей истории компьютеров . Проверено 14 октября 2019 г.
  4. ^ abc Таранович, Стив (27 августа 2012 г.). «30 лет DSP: от детской игрушки к 4G и дальше». ЭДН . Проверено 14 октября 2019 г.
  5. ^ аб Ингрид Вербауведе; Патрик Шаумонт; Кристиан Пиге; Барт Кинхейс (24 декабря 2005 г.). «Архитектура и методы проектирования энергоэффективных встроенных DSP и обработки мультимедиа» (PDF) . rijndael.ece.vt.edu . Проверено 13 июня 2017 г.
  6. ^ Beyond Frontiers Broadgate Publications (сентябрь 2016 г.), стр. 22
  7. ^ «Память и процессоры DSP».
  8. ^ ""Процессоры DSP: архитектуры памяти"". Архивировано из оригинала 17 февраля 2020 г. Проверено 3 марта 2020 г.
  9. ^ «Архитектура процессора цифровых сигналов»
  10. ^ «Опция DSP памяти ARC XY» .
  11. ^ «Нулевые накладные циклы» .
  12. ^ «Справочник по аппаратному обеспечению процессора ADSP-BF533 Blackfin» . п. 4-15.
  13. ^ «Понимание расширенных функций процессора способствует эффективному кодированию» .
  14. ^ «Методы эффективного использования буфера цикла с нулевыми издержками» .
  15. ^ «Speak & Spell, первое использование микросхемы цифровой обработки сигналов для генерации речи, 1978» . Основные этапы IEEE . ИИЭЭ . Проверено 2 марта 2012 г.
  16. ^ Богданович, А. (06 октября 2009 г.). «Вехи IEEE – третья награда». Институт . IEEE. Архивировано из оригинала 4 марта 2016 г. Проверено 2 марта 2012 г.
  17. ^ Хан, Гул Н.; Иневский, Кшиштоф (2017). Встроенные и сетевые системы: проектирование, программное обеспечение и реализация. ЦРК Пресс . п. 2. ISBN 9781351831567.
  18. ^ Альберто Луис Андрес. «Цифровой графический аудиоэквалайзер». п. 48.
  19. ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 29 сентября 2020 г. Проверено 17 февраля 2019 г.{{cite web}}: CS1 maint: архивная копия в заголовке ( ссылка )
  20. ^ «Процессоры цифровых сигналов NEC Electronics Inc. μPD77C20A, 7720A, 77P20» . п. 1 . Проверено 13 ноября 2023 г.
  21. ^ «Представление процессоров цифровых сигналов семейства ADSP-21000» (PDF) . п. 6 . Проверено 1 декабря 2023 г.
  22. Ссылки _ _ _ Проверено 2 июля 2018 г.
  23. ^ 王珏玢. «全国产芯片华睿2号通过»核高基»验收-新华网». Информационное агентство Синьхуа . 南京. Архивировано из оригинала 26 мая 2018 года . Проверено 2 июля 2018 г.

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