Когда DSP превосходит аппаратный ускоритель
Встроенные процессоры получили распространение почти везде, потому что они предлагают гибкость наряду с довольно хорошей производительностью, низким энергопотреблением и, как правило, гораздо более низкой стоимостью. По сравнению с решением, требующим отдельного микропроцессора или микроконтроллера, соединенного с вашим индивидуальным оборудованием, переход на проекты, основанные на встроенных процессорах, не представлял никакой сложности. Но у процессоров любого типа есть ограничения. Несмотря на то, что мы можем перенести наши алгоритмы в программное обеспечение, потенциальная сложность алгоритмов безгранична. Мы можем написать программы, и они будут работать, но не обязательно в приемлемое время или в рамках разумного бюджета мощности.
Источник:CEVA
Вот почему производители микропроцессоров быстро придумали концепцию аппаратных ускорителей - аппаратных функций, которые могут выполнять часто необходимые задачи, например арифметику с плавающей запятой, намного быстрее, чем это было бы возможно, если бы они выполнялись в программном обеспечении на ЦП. Эта идея быстро прижилась, и начали появляться другие ускорители для криптографии, обработки регулярных выражений и графических функций в качестве лишь нескольких примеров.
Все это работает очень хорошо, но приносит в жертву одно важное преимущество программных решений:поскольку реализация в основном жестко запрограммирована, ее сложно изменить. Ускорители могут допускать некоторый ограниченный уровень настройки с помощью элементов управления регистром, но в противном случае, если вам нужно исправить ошибку или изменить алгоритм, вам придется перепроектировать оборудование. Реагирование на сбои в работе и растущие требования рынка становится намного дороже.
То, что вам действительно нужно, - это лучшее из обоих миров - способ ускорить алгоритмы, сохраняя при этом возможность определять эти алгоритмы в программном обеспечении. Конечно, диапазон всех возможных алгоритмов бесконечен, поэтому вряд ли будет одно решение для всех случаев. Но для значительного набора очень часто используемых функций DSP могут предоставить именно это решение.
Рассмотрим практически любую операцию, которая должна работать с потоковой передачей данных. Наглядные примеры можно найти в обработке звука, от фильтрации до преобразования PDM-PCM и подавления акустического эха. Или подумайте о потоковых шифрах, таких как SNOW и ZUC (используемые в LTE). В контексте обработки сигналов подумайте об оценке канала между базовыми станциями и сотовыми телефонами. Это нацелено на оптимизацию передачи в текущих условиях для максимальной надежности и требует сложного вычисления матрицы для принимаемых сигналов. В более общем плане подумайте о любом приложении, которое может извлечь выгоду из очень широкого параллелизма, например о криптографии AES.
Потоковые вычисления, сложная математика (матрица, с плавающей запятой) и / или высокий уровень параллелизма - все это области, в которых DSP выделяется, и их следует серьезно рассматривать как альтернативу аппаратному ускорителю. Реализация также во многих случаях будет меньше, чем жестко запрограммированный ускоритель, что снизит удельную стоимость вашего продукта. Что касается мощности, то, возможно, ускоритель будет немного ниже реализации DSP, но мощность DSP все равно будет намного ниже, чем у эквивалента на базе процессора. Более того, вы можете объединить несколько функций ускорения в DSP, исключив необходимость в нескольких ускорителях, если эти ускорения не должны выполняться одновременно. Для еще большей вычислительной мощности вы можете использовать многоядерный DSP, так же как вы можете использовать многоядерные процессоры.
Источник:CEVA
Наиболее важно то, что реализация DSP является программируемой на C, как и ядро вашего процессора. Вам нужно будет сделать некоторые вещи немного по-другому - например, для оптимизации параллелизма, - но хороший компилятор и симулятор моделирования для DSP должны сделать это относительно легко. Таким образом, вы получаете все преимущества исправления ошибок и возможности обновления продукта без необходимости менять базовое оборудование. Повышение уровня удовлетворенности клиентов и улучшение потоков доходов. Неплохо.
Есть еще одно преимущество:как процессор он может поддерживать несколько функций. Рассмотрим GNSS, глобальный стандарт определения местоположения и функцию, которая значительно выигрывает от вычислений на основе DSP. Это, безусловно, хорошая функция для мобильных устройств, но сейчас также наблюдается бум GNSS для фиксированных устройств, чтобы упростить подготовку, обновление и обслуживание. Если на вашем устройстве уже включен DSP, GNSS может быть программной надстройкой от некоторых поставщиков и может работать в периоды молчания, когда другие функции не работают. Если у вас уже есть аппаратная GNSS или вы планируете добавить ее, вы можете сэкономить как площадь, так и электроэнергию.
Я не утверждаю, что реализации DSP обязательно могут заменить все ваши аппаратные ускорители. Некоторые функции ускорителя могут не соответствовать сильным сторонам DSP. И некоторые могут соответствовать определенному диапазону, но не выходить за его пределы; например, вашим единственным вариантом для очень большого фильтра может быть аппаратная реализация. Но остается много функций, в которых DSP приближается к эквивалентному аппаратному ускорителю по производительности и мощности, может быть лучше по стоимости и имеет бесконечно большую гибкость, чем аппаратная версия. Стоит задуматься.
Этот блог является вторым в серии, которая началась с « Почему DSP внезапно стали повсюду »И завершается третьим блогом:« Решения, решения:аппаратный ускоритель или DSP? ».
Встроенный
- Вермикулит
- Сейсмограф
- Что такое прерывание:типы и его применение
- Решения, решения:аппаратный ускоритель или DSP?
- Безопасность промышленного Интернета вещей основывается на аппаратном обеспечении
- Аппаратные ускорители обслуживают приложения AI
- 4 проблемы при проектировании оборудования IoT
- Sinergia Tech находит инвесторов для первого латиноамериканского аппаратного ускорителя
- Когда ремонт - это не ремонт?
- Что такое термопласт?