Цифровой сигнальный процессор
Процессор цифровых сигналов ( DSP ) — это специализированный микропроцессорный чип, архитектура которого оптимизирована для оперативных нужд цифровой обработки сигналов . [1] : 104–107 [2] DSP изготавливаются на микросхемах металл-оксид-полупроводник (МОП) интегральных . [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, написаны вручную, чтобы в полной мере воспользоваться преимуществами архитектурной оптимизации.
Наборы инструкций
[ редактировать ]- умножения-накопления (MAC, включая объединенное умножение-сложение операции , FMA)
- широко используется во всех видах матричных операций
- свертка для фильтрации
- скалярное произведение
- полиномиальная оценка
- Фундаментальные алгоритмы DSP во многом зависят от производительности умножения-накопления.
- широко используется во всех видах матричных операций
- соответствующие инструкции:
- Специализированные инструкции для адресации по модулю в кольцевых буферах и побитового режима адресации для БПФ перекрестных ссылок
- DSP иногда используют стационарное во времени кодирование, чтобы упростить аппаратное обеспечение и повысить эффективность кодирования. [ нужна ссылка ]
- Для нескольких арифметических модулей может потребоваться архитектура памяти для поддержки нескольких обращений за цикл команд - обычно поддерживая одновременное чтение двух значений данных из двух отдельных шин данных и следующей инструкции (из кэша инструкций или третьей программной памяти). [7] [8] [9] [10]
- Специальные элементы управления циклом, такие как архитектурная поддержка выполнения нескольких командных слов в очень узком цикле без накладных расходов на выборку команд или тестирование выхода, например цикл с нулевыми накладными расходами. [11] [12] и аппаратные буферы цикла. [13] [14]
Инструкции по данным
[ редактировать ]- Арифметика насыщения , при которой операции, вызывающие переполнение, будут накапливаться при максимальных (или минимальных) значениях, которые может хранить регистр, а не перетекать (максимум +1 не переполняется до минимума, как во многих процессорах общего назначения, вместо этого он остается на уровне максимум). Иногда доступны различные режимы работы липких битов.
- Арифметика с фиксированной запятой часто используется для ускорения арифметической обработки.
- Однотактные операции для увеличения преимуществ конвейерной обработки .
Ход программы
[ редактировать ]- Модуль с плавающей запятой интегрирован непосредственно в тракт данных
- Конвейерная архитектура
- Высокопараллельные умножители-аккумуляторы (блоки MAC)
- Аппаратное управление циклом для уменьшения или устранения накладных расходов, необходимых для операций цикла.
Аппаратная архитектура
[ редактировать ]Архитектура памяти
[ редактировать ]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 , MOS с V-образной канавкой), технологии, которая ранее не производилась массово. [4] Он был разработан как периферийное устройство микропроцессора для Motorola 6800 . [3] и он должен был быть инициализирован хостом. S2811 не имел успеха на рынке.
В 1979 году Intel выпустила 2920 как «процессор аналоговых сигналов». [19] Он имел встроенный АЦП/ЦАП с внутренним сигнальным процессором, но не имел аппаратного умножителя и не имел успеха на рынке.
В 1980 году появился первый автономный полноценный DSP — Nippon Electric Corporation, компании NEC μPD7720 основанный на модифицированной Гарвардской архитектуре. [20] и AT&T от DSP1 – были представлены на Международной конференции по твердотельным схемам '80. Оба процессора были созданы на основе исследований в области в телефонных сетях общего пользования (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 производит DSP на базе 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]
См. также
[ редактировать ]- Контроллер цифровых сигналов
- Графический процессор
- Система на чипе
- Аппаратное ускорение
- Блок обработки изображений
- MDSP – многопроцессорный DSP.
- OpenCL
- Звуковая карта
Ссылки
[ редактировать ]- ^ Дайер, Стивен А.; Хармс, Брайан К. (13 августа 1993 г.). «Цифровая обработка сигналов» . В Йовитсе, Маршалл К. (ред.). Достижения в области компьютеров . Том. 37. Академическая пресса . стр. 59–118. дои : 10.1016/S0065-2458(08)60403-9 . ISBN 978-0120121373 . ISSN 0065-2458 . LCCN 59015761 . OCLC 858439915 . ОЛ 10070096М .
- ^ Липтак, Б.Г. (2006). Управление процессами и оптимизация . Справочник инженера по приборостроению. Том. 2 (4-е изд.). ЦРК Пресс. стр. 11–12. ISBN 978-0849310812 – через Google Книги .
- ^ Jump up to: а б с д и «1979: Представлен однокристальный процессор цифровых сигналов» . Кремниевый двигатель . Музей истории компьютеров . Проверено 14 октября 2019 г.
- ^ Jump up to: а б с Таранович, Стив (27 августа 2012 г.). «30 лет DSP: от детской игрушки к 4G и дальше» . ЭДН . Проверено 14 октября 2019 г.
- ^ Jump up to: а б Ингрид Вербауведе; Патрик Шаумонт; Кристиан Пиге; Барт Кинхейс (24 декабря 2005 г.). «Архитектура и методы проектирования энергоэффективных встроенных DSP и обработки мультимедиа» (PDF) . rijndael.ece.vt.edu . Проверено 13 июня 2017 г.
- ^ Beyond Frontiers Broadgate Publications (сентябрь 2016 г.), стр. 22
- ^ «Память и процессоры DSP» .
- ^ " "DSP-процессоры: архитектуры памяти" " . Архивировано из оригинала 17 февраля 2020 г. Проверено 3 марта 2020 г.
- ^ «Архитектура процессора цифровых сигналов»
- ^ «Опция DSP памяти ARC XY» .
- ^ «Нулевые накладные циклы» .
- ^ «Справочник по аппаратному обеспечению процессора ADSP-BF533 Blackfin» .п. 4-15.
- ^ «Понимание расширенных функций процессора способствует эффективному кодированию» .
- ^ Э-э, Ган-Рён; Ван, Юхонг; Уолли, Дэвид; Джинтуркар, Санджай; Бернс, Крис; Цао, Винсент (2000). «Методы эффективного использования буфера цикла с нулевыми издержками» (PDF) . Конструкция компилятора . Конспекты лекций по информатике. Том. 1781. стр. 157–172. дои : 10.1007/3-540-46423-9_11 . ISBN 978-3-540-67263-0 .
- ^ «Speak & Spell, первое использование микросхемы цифровой обработки сигналов для генерации речи, 1978 год» . Основные этапы IEEE . ИИЭЭ . Проверено 2 марта 2012 г.
- ^ Богданович, А. (06 октября 2009 г.). «Вехи IEEE – третья награда» . Институт . IEEE. Архивировано из оригинала 4 марта 2016 г. Проверено 2 марта 2012 г.
- ^ Хан, Гул Н.; Иневский, Кшиштоф (2017). Встроенные и сетевые системы: проектирование, программное обеспечение и внедрение . ЦРК Пресс . п. 2. ISBN 9781351831567 .
- ^ Альберто Луис Андрес. «Цифровой графический аудиоэквалайзер» . п. 48.
- ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 29 сентября 2020 г. Проверено 17 февраля 2019 г.
{{cite web}}
: CS1 maint: архивная копия в заголовке ( ссылка ) - ^ «NEC Electronics Inc. Цифровые сигнальные процессоры μPD77C20A, 7720A, 77P20» . п. 1 . Проверено 13 ноября 2023 г.
- ^ «Представление процессоров цифровых сигналов семейства ADSP-21000» (PDF) . п. 6 . Проверено 1 декабря 2023 г.
- ^ «Новый китайский радиолокационный чип Huarui No. 2 был представлен одновременно с сетевым центром — Новости науки и технологий — Домашняя страница China Science and Technology Network» Проверено . 2 июля 2018 г. .
- ^ Ван Цзюэбин. «Произведенный на национальном уровне чип Huarui No. 2 прошел приемку «ядерных высоких технологий» — агентство Синьхуа» Архивировано . из оригинала 26 мая 2018 года . Проверено 2 июля 2018 года .