Académique Documents
Professionnel Documents
Culture Documents
Arquitecturas DSP
DSP
ASP
D/A
Transductor
A/D
Transductor
Transductor
Transductor
Sistemas de procesamiento de
seales
Arquitecturas DSP
Arquitecturas DSP
Principales aplicaciones
Clases de aplicaciones
Embedded de bajo costo (celulares, control de motores HD)
Aplicaciones de alta performance (algoritmos demandantes)
PC Multimedia
Problemas tpicos
Demanda de procesamiento en tiempo real con altas frecuencias
de muestreo.
Muestreo y generacin de seales analgicas.
Aplicaciones de bajo consumo y pobres niveles de seal.
Compresin de datos en tiempo real.
Arquitecturas DSP
Principales aplicaciones
Arquitecturas DSP
Principales aplicaciones
Arquitecturas DSP
Principales aplicaciones
Arquitecturas DSP
Consideraciones iniciales
Tipos de representacin numrica (punto fijo versus punto
flotante, precisin)
Algorimo a ser ejecutado
Frecuencia de mustreo fm necesaria
Frecuencia de reloj fc del DSP
Relacin fc/fm (cantidad de hardware disponible)
DFT, FFT
Suma de productos
La operacin tpica de los algoritmos mas frecuentemente utilizados en
Procesamiento Digital de Seales es la suma de productos. Los
Procesadores Digitales de Seal estn optimizados para realizar estas
operaciones en la forma mas eficiente. Esto tiene implicancias directas
en la arquitectura fsica del procesador, y en el modelo de
programacin asociado.
Suma de productos
Es inmediato ver que la sumatoria representa un lazo. Si este tipo de
clculo es el mas frecuente, puede brindarse soporte hardware para
realizar lazos cortos mas rpido. En algunos caso, por ejemplo para
implementar eficientemente la FFT, se brinda como modo de
direccionamiento el bit-reversal.
Si consideramos que en y[i] se acumulan los resultados parciales de
la sumatoria, el clculo se mapea bien en una arquitectura de tipo
acumulador. Por otra parte, si la mayor parte del tiempo el
procesador estar realizando lazos de este tipo, es razonable que el
multiplicador y el shifter se encuentren cableados directamente en el
camino de datos (favorecer el caso mas frecuente), y que exista una
instruccin MAC (multiply and accumulate) que realiza la
multiplicacin de dos registros y suma el resultado al acumulador.
Esto evidentemente va en detrimento de otro tipo de programas: los
DSP no son procesadores de propsito general
Impacto en la arquitectura
Representacin numrica -> Punto fijo [-1,+1] vs. punto flotante.
Aritmtica -> Datapath incluye acumulador, shifter normalizador,
saturacin y redondeo.
Sistema de memoria -> Harvard, multiple access.
Acceso a los datos -> AGU (address generation unit) y modos de
direccionamiento especiales (circular, bit reversed).
Control -> Set de instrucciones especializado (MAC, loop, etc.).
Arquitectura de DSP
Operaciones aritmticas y el
datapath
Arquitectura de DSP
Operaciones aritmticas y el
datapath
Los procesadores de punto fijo son los mas baratos y, comparativamente los
mas rpidos. Sin embargo, son los que mas inconvenientes acarrean al
programador, ya que ste debe tener en consideracin su menor rango
dinmico. En un procesador de punto fijo los nmeros estn representados ya
sea como enteros o como valores fraccionales.
Los procesadores de punto flotante son, por el contrario, caros y en general mas
lentos. Su mayor rango dinmico hace que en general no sea necesario
preocuparse por problemas de saturacin o de overflow.
En general, todos los DSP modernos, ya sean de punto fijo o flotante, poseen un
ALU entera dedicada al clculo de direcciones efectivas (AGU: Address
Generation Unit).
Representacin Fraccional
Representacin Fraccional
En la representacin fraccional, los nmeros (desde el punto de vista de un filtro,
por ejemplo, muestras de las seales y coeficientes) son siempre menores a la
unidad, por lo tanto el producto no puede tener overflow (solo puede aparecer
en las sumas). Limitar el overflow es importante por la fase del resultado. Por
otra parte, siempre ser necesario escalar adecuadamente a fin de obtener la
salida deseada. En general esto se hace mediante simulaciones.
Los nmeros fraccionales se multiplican como si fueran enteros. Esto quiere decir
que se necesitan 2n bits en el acumulador para expresar el producto de dos
nmeros de n bits. Adems se requieren algunos bits adicionales si se quiere
prevenir el overflow en las sumas. Por ejemplo:
DSP56000: registros de 24 bits Acumulador de 56 bits (24+24+8)
DSP96002: registros de 32 bits Acumulador de 96 bits (32+32+32)
Rango Dinmico
Es la relacin entre el mayor y el menor nmero de una representacin.
Supongamos que la longitud de palabra es de 32 bits.
En representacin de punto fijo, el nmero mas pequeo es 2**-31 y el nmero
mas grande es 1-2**-31. El cociente es aproximadamente 2.15 e+9, lo que
representa unos 187db
En representacin de punto flotante (24 bits de mantisa y 8 de exponente), el
nmero mas chico es 5.88 e-39 y el mayor 3.40 e+38, lo que da un rango
dinmico de 5.79 e+76, unos 1535db.
La necesidad de rango dinmico est impuesta por la aplicacin. En
telecomunicaciones suele alcanzar con 50db. Audio de alta fidelidad requiere
unos 90db.
Un costo adicional aparece si la memoria debe estar tambin en formato de
punto flotante.
Datapath tpico
en punto fijo
Multiplicacin entera
Arquitectura de DSP
Subsistema de memoria
Arquitectura de DSP
Modos de direccionamiento
1. Indirecto via registro con post decremento
Arquitectura de DSP
Modos de direccionamiento
2. Acceso a buffers circulares. Direccionamiento mdulo n
Arquitectura de DSP
Modos de direccionamiento
3. Direccionamiento bit reversal
Arquitectura de DSP
Control
Hardware loops y MAC
Motorola DSP56F800
Arquitectura de DSP
Instrucciones paralelas
Texas TMS320C62xx
Hbridos DSP/Microcontrolador
Comparacin de performance
Uno de los algoritmos ms utilizados el el filtro FIR (finite impulse
response) -> MAC
y=x.b
x: vector of input data
b: filter coefficients
Comparacin de performance
Comparacin de performance
Comparacin de performance
BTDImark22000
http://www.bdti.com/Resources/BenchmarkResults/BDTImark2000
Ver ppt