Сравнение процессоров Dsp с фиксированной и плавающей точками: что лучше для вашего приложения?

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

Обзор представлений с фиксированной и плавающей точками

И ПДП с фиксированной и плавающей точками предназначены для выполнения арифметических операций на реальных числах, но они кодируют эти числа по-разному.Метод представления напрямую влияет на вычислительную скорость, энергоэффективность, динамический диапазон и точность.

Фиксированная арифметика

DSP с фиксированной точкой представляют собой числа, использующие заданное число битов для целого и дробных частей. Например, формат Q15 использует 1 знаковый бит и 15 дробных битов, обеспечивая диапазон примерно от -1 до 0,9999 с разрешением 1/32768. Поскольку десятичная точка фиксирована, такие операции, как сложение и умножение, могут выполняться с минимальными накладными расходами на оборудование. Процессоры с фиксированной точкой часто характеризуются:

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

Арифметика с плавающей точкой

ДСП с плавающей точкой используют представление, аналогичное научной нотации: знак, мантисса (или значимый) и показатель. Стандарт IEEE 754 определяет общие форматы, такие как одноточность (32-бит) и двуточность (64-бит). Экспонент позволяет десятичной точке «плавать», обеспечивая обширный динамический диапазон. Ключевые характеристики включают:

  • Широкий динамический диапазон — Одноточность может представлять числа от ~1,2×10−38 до 3,4×1038, устраняя проблемы перелива/подтока во многих алгоритмах.
  • Built-in normalization — Аппаратное обеспечение автоматически обрабатывает масштабирование, уменьшая сложность программирования.
  • Более высокая точность — 24-битная мантисса в одноточности даёт около 7,2 десятичных знаков точности, достаточных для большинства задач обработки сигналов.

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

Сравнение эффективности и результативности

Производительность в DSP измеряется не только необработанной тактовой частотой, но и пропускной способностью в реальном времени (FLT: 1) арифметических операций, энергопотреблением за операцию и стоимостью на системном уровне.

Скорость и мощность

DSP с фиксированной точкой традиционно выполняют операции с многократным накоплением (MAC) - ядро многих алгоритмов DSP - в одном цикле с минимальными задержками трубопровода. Поскольку аппаратное обеспечение с фиксированной точкой проще, та же технология может достигать более высоких тактовых частот и более низкого рассеивания мощности. Например, семейство TMS320C55x от Texas Instruments работает на частотах до 400 МГц при рисовании всего 0,15 мВт на МГц. Напротив, DSP с плавающей точкой, такой как TMS320C6748, работает на 456 МГц, но потребляет значительно больше мощности на МГц из-за большего ALU.

При сравнении производительности на основе задачи-задачи плавающая точка часто требует меньше операций, поскольку она устраняет масштабирование и уменьшает количество итераций для итеративных алгоритмов. Однако стоимость операции выше. Для приложений с умеренным динамическим диапазоном и хорошо ограниченными данными (например, аудио, обнаружение тона, управление двигателем) фиксированная точка может превосходить плавающую точку как по скорости, так и по энергоэффективности (Texas Instruments, «Fixed vs Floating Point», 2022) .

Стоимость и сложность

Кремниевая недвижимость напрямую переводится в стоимость производства. Установка MAC с фиксированной точкой занимает от одной трети до половины площади эквивалентного блока MAC с плавающей точкой на том же процессе. Для большой объемной потребительской электроники эта разница может склонить баланс к фиксированной точке. Кроме того, использование внешней полосы памяти ниже с 16-битными данными с фиксированной точкой, что еще больше снижает стоимость системы (Аналоговые устройства, DSP 101 Part 3: Fixed-Point vs. Floating-Point, 2023) .

Однако следует учитывать и стоимость разработки. Программирование с плавающей точкой сокращает время, затрачиваемое на масштабирование и численный анализ, потенциально снижая затраты на разработку программного обеспечения и время выхода на рынок. Для малообъемных, высокоценных систем (медицинская визуализация, оборона, научные приборы) аппаратная премия с плавающей точкой может быть оправдана более быстрыми циклами разработки.

Точность и динамический диапазон

Точность относится к гранулярности, с которой число может быть представлено, в то время как динамический диапазон описывает промежуток между наименьшими и наибольшими представляемыми положительными числами. Процессоры с фиксированной точкой имеют фиксированный динамический диапазон, определяемый шириной слова: 16-битное фиксированное число имеет динамический диапазон около 96 дБ (20·log2(216)). Динамический диапазон плавающей точки расширяется с экспонентными битами: одноточечные предложения ~ 1523 дБ.

На практике многие DSP-приложения не требуют экстремального динамического диапазона. Например, 16-битное аудио (96 дБ) достаточно для большинства аудиосистем потребителей. И наоборот, радиолокационной системе, которая должна обрабатывать сигналы от сильного эха цели наряду с слабым возвратом, может потребоваться диапазон 1523 дБ одноточного плавающего сигнала, чтобы избежать насыщения или усиления шума. Когда алгоритмы включают последовательные добавления, такие как в фильтрах FIR или IIR, ограниченная точность фиксированной точки может вызвать накопление ошибок квантования, что приводит к неприемлемому шуму. Плавающая точка автоматически уменьшает такие ошибки, выравнивая мантиссы во время сложения.

Также стоит отметить, что точность не эквивалентна точности . Система с фиксированной точкой с тщательно управляемым масштабированием может достичь точности, сравнимой с плавающей точкой для данного алгоритма, при условии, что данные остаются в выбранном динамическом диапазоне. Компромиссом является предварительное инженерное усилие (Xilinx, «Fixed Point vs Floating Point for DSP», 2015).

Соображения по применению

Выбор между фиксированной и плавающей точками в конечном итоге зависит от конкретных требований к домену. Ниже мы рассмотрим несколько общих областей применения.

Аудио и голосовая обработка

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

Беспроводные коммуникации

Базовые процессоры в сотовых и Wi-Fi системах обрабатывают модуляции, такие как QPSK, QAM, OFDM и распред-спектр. Эти алгоритмы работают на сложных числах и включают в себя множество операций с множественным накоплением с различными уровнями сигнала. Фиксированная точка доминирует в высокообъемных SoC телефонов из-за ограничений по стоимости и мощности. Например, Hexagon DSP Qualcomm в мобильных чипах использует комбинацию фиксированных ускорителей. Однако программно-определяемые платформы радио (SDR) и сетевая инфраструктура (например, 5G-базисные станции) часто включают FPGA с плавающей точкой или DSP из-за необходимости поддержки нескольких форм волн и стандартов с быстрой реконфигурацией (Быстрый протокол, «Фиксированная против плавающей точки в беспроводной сети», 2022) .

Промышленный контроль

Управление двигателем, инверторы и силовая электроника полагаются на детерминированные петли реального времени. Фиксированные DSP, такие как семейство TMS320F28335, повсеместно используются в промышленных приводах, потому что они сочетают быструю реакцию прерывания, генерацию PWM и минимальную задержку. Переменные управления - ток, напряжение, крутящий момент - хорошо ограничены и не требуют экстремального динамического диапазона. Плавающая точка редко требуется; инженеры могут реализовать PID-контроллеры и наблюдатели потока с 16- или 32-битной арифметикой с фиксированной точкой. Некоторые более новые промышленные DSP (например, серия C2000) включают дополнительные блоки с плавающей точкой для конкретных задач, но фиксированная точка остается рабочей лошадкой.

Обработка изображений и видео

Пиксели изображения обычно представлены как 8- или 10-битные целые числа (фиксированная точка). Для простых операций, таких как фильтрация, масштабирование и сжатие, DSP с фиксированной точкой (или архитектуры с фиксированной точкой, улучшенные SIMD) эффективны. Однако расширенная видеоаналитика, включающая вывод машинного обучения - например, обнаружение объектов с использованием сверточных нейронных сетей - часто требует более высокой точности во время обучения и вывода. Многие процессоры зрения теперь интегрируют ускорители нейронной сети с фиксированной точкой с квантованными весами (например, INT8) для достижения производительности в реальном времени при низкой мощности. Для прототипирования и вычислительно сложных задач, таких как регистрация изображений или реконструкция медицинской визуализации, предпочтительны DSP с плавающей точкой с более крупной памятью на чипе.

Опыт разработчиков

Программируемость и зрелость инструментария влияют на решение. DSP с фиксированной точкой обычно требуют от разработчиков использования специализированных библиотек (например, математика Q-формата, обработка насыщения) и управление типами данных вручную. Многие поставщики обеспечивают поддержку арифметики с фиксированной точкой в C/C++ через встроенные компиляторы, но отладка проблем переполнения может занять много времени. DSP с плавающей точкой позволяют напрямую использовать стандартные типы C (, ) и более прощают при переносе алгоритмов из симуляционных сред, таких как MATLAB или Simulink. Код может быть перенесен быстрее, сокращая время разработки - важный фактор для продуктов с низким объемом.

Кроме того, современные DSP с плавающей запятой часто включают в себя интегрированные периферийные устройства (USB, Ethernet, LCD контроллеры), которые упрощают системную интеграцию. Процессоры с фиксированной запятой, как правило, более специализированы, иногда требуют внешних компонентов для подключения.

Роль гибридных процессоров

Последние тенденции в дизайне DSP размывают грань между фиксированной точкой и плавающей точкой. Некоторые устройства, такие как семейство Analog Devices Blackfin+, объединяют ядро с фиксированной точкой с дополнительной аппаратной поддержкой для одноточных операций с плавающей точкой. Другие, как и многие процессоры ARM Cortex-M, включают одноточный блок с плавающей точкой (FPU) наряду с ALU с фиксированной точкой. Эти гибридные решения позволяют разработчикам использовать плавающую точку для прототипирования алгоритма и высокоточных критических секций, возвращаясь к фиксированной точке для высокопроизводительных путей с низкой мощностью. Во многих случаях гибридный процессор может предложить лучшее из обоих миров, хотя и при умеренном увеличении площади кремния и мощности по сравнению с чистой конструкцией с фиксированной точкой.

Как сделать выбор

Выбор оптимальной архитектуры DSP требует систематической оценки ограничений приложений.

  1. Определить характеристики сигнала — Определить динамический диапазон и отношение сигнал/шум, требуемое аналоговым передним концом и алгоритмами.Если данные никогда не превышают диапазон 80—100 дБ, то фиксированная точка правдоподобна.
  2. Охарактеризуйте арифметические операции — подсчитайте количество MAC в секунду (MIPS/MFLOPS), требуемую точность и влияние ошибок квантования.
  3. Оценка энергобюджетов — Для устройств с батарейным питанием фиксированная точка обычно предлагает преимущество в 3-10 раз в энергии на MAC. Используйте таблицы данных поставщиков для оценки активной мощности.
  4. Оценить ресурсы разработки — Если команда имеет глубокий опыт работы с фиксированными точками и жесткий аппаратный бюджет, фиксированная точка может быть предпочтительной. Для быстрого прототипирования или сложных алгоритмов плавающая точка снижает риск.
  5. Рассматривайте будущую масштабируемость — Развиваются стандарты беспроводной связи, аудиокодеки и алгоритмы обработки изображений. Системы с плавающей точкой легче адаптировать к изменяющимся требованиям без аппаратного перепроектирования.
  6. Прототип обоих — Используйте оценочные платы (например, TI Deca Series, Analog Devices EZ-KIT Lite) для тестирования производительности и энергопотребления в режиме реального времени с помощью вашего фактического кода приложения.

Наконец, обзор результатов бенчмарков из авторитетных источников. Базовые бенчмарки BDTI DSP предоставляют стандартизированные метрики, которые сравнивают реализации с фиксированной и плавающей точками в разных архитектурах (EDN, «Как выбрать процессор DSP с использованием бенчмарков», 2021) .

Заключение

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