Вы находитесь на странице: 1из 4

Procesador Digital de Señales

El autor del libro The Scientist and Engineer's Guide to Digital Signal Processing se graduó
en Física en la Universidad de Utah, realizó una maestría en Instrumentación Física y un
Ph.D. en Ingeniería Eléctrica, reside en San Diego, California, USA. Es presidente y fundador
de “Spectrum San Diego” dedicados a la investigación y desarrollo de imágenes de rayos x
e instrumentación. Al igual que de “Future Research, Inc.” Dedicados al desarrollo de
sistemas de imágenes rayos x para la detección de armas y explosivos debajo de la ropa de
personas. Es también Director de Investigación en IRT Corporation lideres en tomografía
3D, imágenes rayos x en sistemas para circuitos impresos desde 1995.
Como los DSPs son diferentes de otros Microprocesadores
A lo largo de la segunda mitad del siglo pasado las computadoras han demostrado tener un
gran desempeño y un alcance inmenso en dos principales áreas, la primera es la
manipulación de datos como el procesamiento de palabras y la gestión de bases de datos.
La segunda son los cálculos matemáticos muy usados en ciencia, ingeniería y en el
procesamiento digital de señales.
Debido a que es muy costoso optimizar ambas áreas en un microcontrolador, se realizaban
primordialmente la manipulación de datos en microprocesadores y se dejaba la tarea del
procesamiento digital de señales a los procesadores digitales de señales (DSP).
La manipulación de datos se basa en mover los datos ya sea en registros distintos o a
dispositivos o periféricos donde sean solicitados los datos, así como responder a
comparaciones de datos; si es mayor, menor o igual. En comparación, la ejecución rápida
está asignada a los DSP donde los algoritmos están limitados casi completamente a la suma
y multiplicación de números que se requieran. Por ejemplo, para un filtro digital es
comúnmente utilizado un DSP debido a que deben multiplicarse apropiadamente las
muestras de la señal de entrada por un grupo de coeficientes determinados y después
sumar cada uno de los productos realizados.
Circular Buffering
Para empezar a entender un poco como los algoritmos de un DSP están diseñados
comenzaremos por distinguir entre el procesamiento fuera de tiempo y procesamiento en
tiempo real. En el primero la señal completa reside en la computadora toda al mismo
tiempo, es decir, toda la información está simultáneamente disponible en el programa de
procesamiento. En cambio, para el tiempo real, la señal de salida es producida al mismo
tiempo en que la señal de entrada es adquirida. En resumen, en las aplicaciones en tiempo
real se ingresa una o un grupo de muestras, se procesa el algoritmo y sale una o un grupo
de muestras. Este es principalmente como trabaja un DSP.
La mejor manera de manejar muestras en una memoria las cuales son actualizadas
continuamente es por el método llamado “Circular buffering”, este método resulta eficiente
ya que sólo un valor necesita ser cambiado cuando una nueva muestra es requerida lo cual
nos permite un procesamiento de datos bastante rápido, por tanto, es inminente su
implementación en aplicaciones en tiempo real.
Arquitectura del Procesador Digital de Señal
Uno de los cuellos de botella más grandes en la ejecución de algoritmos en los DSP es
transferir información de o a la memoria. Por un lado existe la arquitectura Von Neumann
que se realiza con una sola memoria y un solo canal de datos para transferir los datos de la
memoria al CPU y viceversa, esta es una arquitectura muy útil para ejecutar tarea en serie
y es usada en la mayoría de la computadoras que utilizamos actualmente, únicamente es
necesario utilizar alguna otra arquitectura cuando queremos un procesamiento muy rápido
de la información, lo que nos lleva a la arquitectura Harvard en donde son separadas las
memorias una para los datos y otra para las instrucciones del programa cada una con su
respectivo canal de datos, de esta manera es posible ejecutar simultáneamente el
movimiento de datos y ejecución de instrucciones al programa ofreciendo mayor rapidez a
costa de una arquitectura física un tanto más compleja. En cuanto a los DSP se utiliza la
arquitectura Harvard por las características de velocidad ya mencionadas.
Existe también el término Super Harvard Architecture acuñado por Analog Devices que
contienen algunos de sus DSP, esta arquitectura incluye un controlador entrada-salida y una
instrucción cache en el CPU que es una pequeña memoria que incluye 32 de las
instrucciones del programa más recientes, la cual pasa un proceso comúnmente llamado
high memory-access bandwidth que hace bastante eficiente la transferencia de datos.
Estas características de rapidez son características de los DSP. Algunos DSP contienen
convertidores analógico a digital y digital a analógico lo que es llamado señal mezclada o
signal mixed. Aún así todos los DSPs pueden conectarse a tales convertidores por medio de
los puertos serie y paralelo. De igual manera, los DSPs están diseñados para operar con
circular buffers que ya fueron mencionados anteriormente y de esta forma tener un
procesamiento más eficiente.
En cuanto al procesamiento matemático esta dividido en tres secciones: un multiplicador,
una unidad lógica aritmética (ALU) y un registro de barril (barrel shifter). El multiplicador se
encarga de tomar los valores de dos registros, multiplicarlos y enviar el resultado a otro
registro. La ALU realiza la adición, substracción, valor absoluto, operaciones lógicas
conversión entre puntos fijo y flotantes y funciones similares. Operaciones binarias básicas
son llevadas acabo por la palanca de cambios, como rotar, desplazar, extraer y depositar
segmentos. Algunos DSPs por ejemplo pueden realizar operaciones en paralelo con el
multiplicador y la ALU en un solo ciclo de reloj lo cual hace posible un procesamiento aún
más rápido de la información.
Punto Fijo contra Punto Flotante
El procesamiento digital de señales puede dividirse en punto fijo y punto flotante. Esto
refiriéndose a la manipulación de números entre dispositivos, usualmente el punto fijo en
DSPs se representa con un mínimo de 16 bits que en comparación con el punto flotante
comúnmente utilizado en DSPs es de mínimo 32 bits. Los DSPs con punto fijo suelen ser más
baratos, mientras que el punto flotante tiene mayor precisión, alto rango dinámico y un
desarrollo de ciclo menor.
Una importante solución que utilizan los DSPs para acumular resultados de una cierta
secuencia de operaciones en la memoria, es utilizar el llamado extended precisión
accumulator que es un registro especial que tiene entre 2 o 3 veces más bits que la de un
microcontrolador que es de alrededor de 16 bits, un DSP comúnmente contiene el registro
entre 32 y 40 bits lo cual logra eliminar el ruido de la acumulación de datos en progreso.
En cuanto al multiplicador acumulador (MAC) que es muy usual su utilización en los DSPs,
proporciona un procesamiento de señal que da la capacidad del microcontrolador para
varias aplicaciones tales como control de servomotores, audio, etc. MAC, siendo una unidad
de ejecución en el procesador implementa una aritmética “pipeline” de 3 etapas
arquitectura que optimiza 16 × 16 multiplicadores. Este diseño es compatible con 16 bits y
32 bits operandos. También admite enteros con signo o sin signo más operandos de entrada
fraccional de punto fijo firmados.
La unidad MAC admite principalmente tres funciones:

 Multiplicado entero con signo y sin signo.


 Operaciones de multiplicar y acumular compatible con firmado, sin firmar y
firmados operandos fraccionarios.
 Operaciones de registro diversas.
Un acumulador sumador y un multiplicador juntos forman una unidad MAC. Por lo general,
Carry-select / Carry-save los sumadores se implementan principalmente porque en los DSPs
se requiere de la aplicación de velocidad rápida. La memoria recupera las entradas desde
su ubicación al multiplicador para multiplicar más y acumular operaciones. El resultado
generado de la unidad MAC es almacenado en una ubicación de memoria relevante. La
situación exige que este proceso completo debe ser llevado a cabo en un solo ciclo de reloj.
La idea detrás del desarrollo de la unidad MAC se toma del multiplicador básico. Podemos
decir que la unidad MAC es una versión adicional de la unidad básica multiplicadora que es
utilizado por casi todos los microprocesadores. Es compatible con gran cantidad de DSPs en
aplicaciones dentro de un número limitado de ciclos según demanda de aplicaciones. Al
igual que algunos de los filtros pueden ajustar un retraso durante la ejecución, algoritmos
tales como transformaciones ortogonales, ejecución y medición de velocidad precisa que a
veces puede estar más allá de la capacidad del procesador.
Bibliografía

Smith W, Steven. "Digital Signal Processors". The Scientist and Engineer's Guide to Digital
Signal Processing. San Diego, California: California Technical Publishing, 1999. 650. Web.

Nain, Priyank y Virdi, G. "Multiplier-Accumulator (MAC) Unit". International Journal of


Digital Application & Contemporary Research October 2016: 4. IJDACR. Recuperado el 18
de Febrero del 2018. http://ijdacr.com/uploads/papers/Priyanka_50300-16-130.pdf.

Вам также может понравиться