Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial Internet of Things >> Incrustado

Cuando un DSP supera a un acelerador de hardware

Las CPU integradas despegaron en casi todas partes porque ofrecen flexibilidad junto con un rendimiento bastante bueno y bajo consumo de energía y, por lo general, un costo mucho menor. Cuando se compara con una solución que requiere un microprocesador o microcontrolador separado acoplado a su hardware personalizado, cambiar a diseños basados ​​en CPU integradas fue una obviedad. Pero las CPU de cualquier tipo tienen límites. Aunque podemos trasladar nuestros algoritmos al software, la complejidad potencial de los algoritmos es ilimitada. Podemos escribir los programas y se ejecutarán, pero no necesariamente en un tiempo aceptable o dentro de un presupuesto de energía razonable.


Fuente:CEVA

Es por eso que los fabricantes de microprocesadores idearon rápidamente el concepto de aceleradores de hardware:funciones de hardware que pueden realizar tareas comúnmente necesarias, por ejemplo, aritmética de punto flotante, mucho más rápido de lo que sería posible si se ejecutaran en software en la CPU. Esta idea se hizo popular rápidamente y comenzaron a aparecer otros aceleradores, para criptografía, manejo de expresiones regulares y funciones gráficas como solo algunos ejemplos.

Todo esto funciona muy bien, pero sacrifica una ventaja importante de las soluciones basadas en software:debido a que la implementación está en su mayoría codificada, es difícil de modificar. Los aceleradores pueden permitir un nivel limitado de ajuste a través de controles de registro, pero de lo contrario, si necesita corregir un error o cambiar el algoritmo, debe rediseñar el hardware. Responder a las fallas de campo y las demandas cambiantes del mercado se vuelve mucho más costoso.

Lo que realmente desea es lo mejor de ambos mundos:una forma de acelerar los algoritmos y, al mismo tiempo, poder definir esos algoritmos en el software. Por supuesto, el rango de todos los algoritmos posibles es infinito, por lo que es poco probable que haya una solución para todos los casos. Pero para un conjunto sustancial de funciones de uso muy común, los DSP pueden proporcionar exactamente esta solución.

Considere casi cualquier operación que deba funcionar con datos de transmisión. Se pueden encontrar ejemplos obvios en el procesamiento de audio, desde el filtrado hasta la conversión de PDM-PCM y la cancelación de eco acústico. O piense en cifrados basados ​​en transmisiones como SNOW y ZUC (utilizados en LTE). En un contexto de procesamiento de señales, piense en la estimación de canales entre estaciones base y teléfonos móviles. Esto tiene como objetivo optimizar las transmisiones a las condiciones actuales para una máxima confiabilidad y requiere un cálculo matricial complejo en las señales recibidas. De manera más general, piense en cualquier aplicación que pueda beneficiarse de un paralelismo muy amplio, como la criptografía AES.

La computación en flujo continuo, las matemáticas complejas (matriz, punto flotante) y / o los altos niveles de paralelismo son áreas en las que destaca un DSP y deben considerarse seriamente como una alternativa a un acelerador de hardware. Una implementación también será más pequeña que el acelerador codificado en muchos casos, reduciendo el costo unitario de su producto. En cuanto a la potencia, quizás el acelerador sea un poco más bajo que la implementación del DSP, pero la potencia del DSP seguirá siendo mucho menor que un equivalente basado en CPU. Mejor aún, es posible que pueda consolidar múltiples funciones de aceleración en un DSP, eliminando la necesidad de varios aceleradores, si estas aceleraciones no necesitan ejecutarse al mismo tiempo. Para obtener aún más potencia de procesamiento, puede usar un DSP de varios núcleos, al igual que puede usar CPU de varios núcleos.


Fuente:CEVA

Lo más importante es que una implementación de DSP es programable, en C, al igual que el núcleo de su CPU. Deberá hacer algunas cosas de manera un poco diferente, para optimizar el paralelismo, por ejemplo, pero un buen compilador y simulador de modelado para el DSP debería hacer esto relativamente fácil. Por lo tanto, obtiene todas las ventajas de la corrección de errores y la capacidad de actualización del producto sin necesidad de cambiar el hardware subyacente. Mayor satisfacción del cliente y mejores fuentes de ingresos. Nada mal.

Hay otra ventaja:como procesador, puede admitir múltiples funciones. Considere GNSS, el estándar de ubicación global y una función que se beneficia significativamente de la computación basada en DSP. Ciertamente, esta es una buena característica para tener en dispositivos móviles, pero ahora también hay un auge en GNSS para dispositivos fijos para simplificar el aprovisionamiento, las actualizaciones y el mantenimiento. Si su dispositivo ya está habilitado para DSP, GNSS puede ser un complemento de software con algunos proveedores y puede ejecutarse en períodos de inactividad cuando otras funciones están inactivas. Si ya tenía un GNSS basado en hardware o planeaba agregar uno, puede ahorrar área y energía.

No estoy sugiriendo que las implementaciones de DSP necesariamente puedan reemplazar todos sus aceleradores de hardware. Es posible que algunas funciones del acelerador no se ajusten bien a los puntos fuertes de un DSP. Y algunos pueden encajar dentro de algún rango, pero no fuera de ese rango; por ejemplo, su única opción para un filtro muy grande puede seguir siendo una implementación cableada. Pero eso deja muchas funciones en las que un DSP se acerca a un acelerador de hardware equivalente en rendimiento y potencia, en realidad puede ser mejor en costo y tiene infinitamente más flexibilidad que la versión de hardware. Vale la pena considerarlo.

Este blog es el segundo de una serie que comenzó con " Por qué los DSP están de repente en todas partes ”Y concluye con el tercer blog:“ Decisiones, decisiones:¿acelerador de hardware o DSP? ”.


Incrustado

  1. Vermiculita
  2. Sismógrafo
  3. Qué es una interrupción:tipos y sus aplicaciones
  4. Decisiones, decisiones:¿Acelerador de hardware o DSP?
  5. Acelerador FPGA para cámaras MIPI de visión integrada
  6. La seguridad de IoT industrial se basa en hardware
  7. Los aceleradores de hardware sirven aplicaciones de IA
  8. 4 desafíos en el diseño de hardware de IoT
  9. Sinergia Tech encuentra inversionistas para la primera aceleradora de hardware latinoamericana
  10. ¿Cuándo una reparación no es una reparación?
  11. ¿Qué es el termoplástico?