Todavía no he usado un chip DSP. Todo lo que sé es que su arquitectura es tal que pueden realizar cálculos bastante rápido, generalmente dentro de un ciclo de reloj, tienen instrucciones de acumulación múltiple en su conjunto de instrucciones y tienen DMA para que la CPU no tenga que perder un tiempo precioso moviendo datos alrededor. Creo que hay más, pero estos son algunos puntos básicos.
Puedo ver que Microchip tiene dsPIC, que es su línea de chips DSP. ¿No podemos usar un PIC18 o PIC32 que también ha incorporado multiplicadores para hacer DSP también? ¿En qué se diferencia el dsPIC del PIC normal?
Mi pregunta principal es esta: ¿Por qué necesitamos tener algo separado y distinto llamado chip DSP y no integrar la capacidad de cálculo de unidades de punto flotante de alta precisión en todos los microcontroladores? Seguramente con las tecnologías de proceso que tenemos ahora, esto no debería ocupar mucho espacio.
Además, ¿cómo sé que necesito usar un chip DSP en mi proyecto en lugar de un microcontrolador normal>
Respuestas:
En general, "DSP ..." significa "potencia más relevante y / o hardware más relevante en el momento en que se introdujo el producto ".
Los procesadores generalizados tienden a ponerse al día con los dispositivos especializados más antiguos.
DSPIC tiene p [probablemente más de 10 años, Olin lo sabrá.
[Los elementos entre paréntesis se relacionan con algunos ejemplos DSPIC, no exhaustivos].
En DSP, los productos esperan una combinación de:
Espere cosas como desplazadores de barril,
tuberías rápidas anchas y tiempos de ejecución rápidos de ciclo
único, instrucciones anchas de ciclo único,
DMA [6 u 8 canales, memorias intermedias de RAM de doble puerto] grandes rangos de direccionamiento de memoria lineal [programa 4 Mword , Datos de 64 kB] características especializadas orientadas a la aritmética
Tal vez:
periféricos especializados como control de motores,
hardware para varios estándares de comunicaciones diferentes [CAN, IIC, UART, IIS, AC97, ...] más profundos que los buffers de comunicaciones más habituales [4 bytes] más rápido y / o ADC más anchos de lo habitual [2 Msps, 10 o 12 bit]
Encontrará la mayoría de estos en la familia DSPIC, y cada vez más en las familias de procesadores gp.
En casos extremos, obtiene microcodificación de usuario y más.
fuente
Algunas de las ventajas de un dsPIC sobre los PIC de arquitectura anterior, como las familias PIC 16 y 18:
Esto también permite una mejor arquitectura de software. La rutina de interrupción para un periférico particular puede estar en el mismo módulo que el otro código que maneja ese periférico, en lugar de tener que tener una rutina de interrupción global.
fuente
Por lo general, la característica distintiva clave de un DSP en comparación con una CPU de propósito general es que el DSP puede ejecutar ciertas operaciones de procesamiento de señal con pocos, si alguno, ciclos de CPU desperdiciados en instrucciones que no calculan resultados.
Una de las operaciones más básicas en muchos algoritmos DSP clave es la operación MAC (multiplicación-acumulación), que es el paso fundamental utilizado en productos de matriz de puntos y cruzados, filtros FIR y IIR, así como FFT. Un DSP generalmente tendrá una organización de registro y / o memoria y una ruta de datos que le permite realizar al menos 64 operaciones MAC en pares de datos únicos en una fila sin desperdiciar ningún reloj en la sobrecarga del bucle o el movimiento de datos. Las CPU de propósito general generalmente no tienen suficientes registros para lograr esto sin usar instrucciones adicionales para mover datos entre los registros y la memoria.
fuente