Está en la página 1de 8

Perspectiva

Procesadores digitales de señal


(DSP)
Arquitecturas y criterios de selección
COMPONENTES. Los DSP o procesadores digitales de señal son microprocesadores
específicamente diseñados para el procesado digital de señal. Algunas de sus características más
básicas como el formato aritmético, la velocidad, la organización de la memoria o la arquitectura
interna hacen que sean o no adecuados para una aplicación en particular, así como otras que no hay
que olvidar, como puedan ser el coste o la disponibilidad de una extensa gama de herramientas de
desarrollo.

JORDI SALAZAR.
DPTO. INGENIERÍA ELECTRÓNICA. CENTRO DE SISTEMAS Y SENSORES ELECTRÓNICOS,
UNIVERSIDAD POLITÉCNICA DE CATALUÑA.
Jsalazar@eel.upc.es

n sistema de procesado digital de señal Si bien, en principio, el corazón de un sistema

U puede definirse como cualquier sistema


electrónico que realice procesado digital
de señal, entendiéndose por él la aplica-
ción de operaciones matemáticas a señales repre-
sentadas de forma digital. Las señales son repre-
de procesado digital puede ser un microcontro-
lador, un procesador de propósito general o un
procesador digital de señal (DSP), en sistemas
en los cuales la carga computacional es extre-
madamente intensa la solución óptima pasa por
sentadas de forma digital mediante secuencias de escoger a un DSP.
muestras. A menudo, estas muestras se obtienen En la actualidad, los cuatro grandes fabricantes
de señales físicas (por ejemplo, señales de de DSP son Texas Instruments, con la serie
audio) utilizando transductores (un micrófono TMS320; Motorola, con las series DSP56000,
en este caso) y convertidores analógico-digitales. DSP56100, DSP56300, DSP56600 y DSP96000;
Después del procesado matemático, las señales Lucent Technologies (anteriormente AT&T), con
Figura 1. Estructura de un filtro digitales pueden volver a convertirse en señales las series DSP1600 y DSP3200; y Analog Devi-
de respuesta impulsional finita (FIR) físicas mediante convertidores digital-analógicos. ces, con las series ADSP2100 y ADSP21000.

¿QUÉ ES UN DSP?
Estrictamente hablando, el término DSP se
aplica a cualquier chip que trabaje con señales
representadas de forma digital. En la práctica, el
término se refiere a microprocesadores específi-
camente diseñados para realizar procesado digi-
tal de señal. Los DSP utilizan arquitecturas
especiales para acelerar los cálculos matemáticos
intensos implicados en la mayoría de sistemas
de procesado de señal en tiempo real. Por ejem-
plo, las arquitecturas de los DSP incluyen cir-
cuitería para ejecutar de forma rápida operacio-
nes de multiplicar y acumular, conocidas como
MAC. A menudo poseen arquitecturas de memo-
ria que permiten un acceso múltiple para permi-
tir de forma simultánea cargar varios operandos,
por ejemplo, una muestra de la señal de entrada
y el coeficiente de un filtro simultáneamente en
Perspectiva

DSP periféricos especiales e interfaces de entrada sali-


da que permiten que el procesador se comuni-
que eficientemente con el resto de componentes
del sistema, tales como convertidores analógi-
DSP
co-digitales o memoria.
La diferencia esencial entre un DSP y un
Coma fija Coma flotante microprocesador es que el DSP tiene caracterís-
ticas diseñadas para soportar tareas de altas
prestaciones, repetitivas y numéricamente inten-
16 bit 20 bit 24 bit 32 bit
sas. Por contra, los microprocesadores de propó-
sito general o microcontroladores no están espe-
IEEE-754 Otros
cializados para ninguna aplicación en especial;
en el caso de los microprocesadores de propósi-
to general, ni están orientados a aplicaciones de
control, en el caso de los microcontroladores.
Figura 2. Representaciones numéricas
comunes en los DSP comerciales paralelo con la carga de la instrucción. También Aunque el ejemplo del filtro de respuesta impul-
incluyen una variedad de modos especiales de sional finita (FIR) ha sido ampliamente utiliza-
direccionamiento y características de control de do en el entorno DSP, es quizás el más simple que
flujo de programa diseñadas para acelerar la eje- permite ilustrar la necesidad de estas prestacio-
cución de operaciones repetitivas. Además, la nes en los DSP, las cuales permiten concebir
mayoría de los DSP incluyen en el propio chip muchas de las funciones de procesado en tiem-
po real.
Glosario de términos La mecánica del algoritmo del filtro FIR es
bastante sencilla. Los bloques D en la figura 1
son retardos unitarios; su salida es una copia de
DSP: (Digital Signal Processor). Procesador digital de señal. la entrada retardada en un período de muestreo.
ALU: (Arithmetic/Logic Unit). Unidad aritmético-lógica. Unidad de ejecución en un El filtro FIR se construye a partir de una serie
procesador responsable de la aritmética (sumar, restar, desplazar, etc.) y de la lógica (y, de etapas básicas que se van repitiendo. Cada eta-
o, no, o-exclusiva, etc.). pa básica incluye una operación del tipo multi-
MIPS: (Million instructions per second). Número de instrucciones que el procesador plicación y acumulación. La señal de entrada xk
puede ejecutar por segundo. La clave está en cuánto puede hacer cada instrucción. El es un conjunto de valores discretos obtenidos
parámetro MFLOPS es normalmente una medida más fiable de las prestaciones del mediante muestreo de una señal analógica. El
procesador. valor xk-1 es en realidad el valor que tenía xk en
MOPS: (Million operation per second). Número total de operaciones que el procesador un período de muestreo anterior. De forma simi-
puede realizar por segundo. Se incluye accesos DMA, transferencias de datos, opera- lar xk-2 sería la xk de dos períodos de muestreo
ciones de entrada salida. Este parámetro proporciona una idea aproximada de la capa- anteriores. Cada vez que una nueva muestra lle-
cidad de procesado y de entrada salida del procesador. ga, las que estaban almacenadas previamente se
MFLOPS: (Million floating-point operations per second). Número de multiplicacio- desplazan una posición hacia la derecha y una
nes, sumas, restas, etc. en coma flotante que el procesador puede realizar. Algunas nueva muestra de salida se calcula después de
veces este parámetro hace referencia a valores de pico en lugar de valores sostenidos. multiplicar la nueva muestra y cada una de las
MBPS: (Mega-bytes per second). Proporciona una medida del rendimiento total de anteriores por sus correspondientes coeficien-
procesamiento de datos. tes. En la figura, cn representa a los coeficien-
MMACS: (Million multiply-accumulate per second). Número de multiplicaciones y acu- tes, donde n es el número del coeficiente. Los
mulaciones que el procesador puede realizar por segundo. resultados de cada multiplicación se suman para
VLIW: (Very long instruction word). Formato muy largo de palabra de instrucción. formar la nueva muestra de salida yk. El algorit-
FFT: (Fast Fourier Transform). Transformada de Fourier rápida. Método computacio- mo de cálculo se basa en operaciones del tipo
nal eficiente para estimar el espectro frecuencial de una señal. multiplicación y acumulación (A=B*C+D), sien-
FIR: (Finite impulse response). Respuesta impulsional finita. Una categoría de filtros do la multiplicación el verdadero cuello de bote-
digitales. lla en el cálculo de la mayoría de los algoritmos
IIR: (Infinite impulse response). Respuesta impulsional infinita. Una categoría de de procesado digital.
filtros digitales.
PGA: (Pin grid array). Un tipo de encapsulado para circuitos integrados. Las conexio- APLICACIONES
nes externas se realizan con terminales de conexión dispuestos en forma de cuadrícula. Los DSP se utilizan en muy diversas aplicacio-
PQFP: (Plastic quad flat pack). Un tipo de encapsulado para circuitos integrados. nes, desde sistemas radar hasta la electrónica de
QFP: (Quad flat pack). Un tipo de encapsulado para circuitos integrados. Los circui- consumo. Naturalmente, ningún procesador satis-
tos integrados con este encapsulado son típicamente más baratos que el mismo circui- face todas las necesidades de todas o la mayoría
to con encapsulado PGA. de aplicaciones. Por lo tanto, la primera tarea para
TQFP: (Thin quad flat pack). Tipo de encapsulado similar, pero más delgado, al PQFP. el diseñador al elegir un DSP es ponderar la
El encapsulado TQFP normalmente se utiliza en sistemas portátiles pequeños. importancia relativa de las prestaciones, coste,
integración, facilidad de desarrollo, consumo y
Perspectiva

DSP terísticos de los DSP sin que se pretenda con


ello hacer una lista exhaustiva. Dichos aspectos
otros factores para las deberán tenerse en cuenta a la hora de su elección
necesidades de la aplica- para una aplicación en particular.
ción en particular.
Las grandes aplicaciones, Formato aritmético
en términos de dinero que Una de las características fundamentales de los
mueven sus productos, se DSP es el tipo de formato aritmético utilizado por
realizan para los sistemas el procesador. La figura 2 muestra la estrecha
pequeños, baratos y con un relación entre formato numérico y número de bits
gran volumen de produc- del DSP.
ción como los de telefo- La figura 3, arriba y abajo, muestra los forma-
nía celular, disqueteras y tos de coma flotante y coma fija, respectivamente.
modems, en donde el cos- En el formato IEEE-754 de coma flotante la “s”
te y la integración son de indica que el bit más significativo es el signo,
Figura 3. (Arriba) Formato de coma flotante
IEEE-754; 1 bit de signo, 8 de exponente y la mayor importancia. En sistemas portátiles, donde un 1 indica que se trata de un número nega-
23 de mantisa. (Abajo) Formato en coma alimentados por baterías, el consumo es crítico. tivo. La “e” indica exponente, formado por 8
fija; 1 bit de signo y 31 bits significativos Sin embargo, la facilidad de desarrollo es gene- bits y la “m”, de 23 bits, la mantisa del número.
ralmente en estas aplicaciones menos importan- Al carecer de exponente el formato en coma fija,
te para el diseñador. A pesar de que estas aplica- éste puede representar números con más bits
ciones casi siempre implican el desarrollo de significativos que el formato en coma flotante del
hardware y software a medida, el enorme volu- mismo tamaño en bits. En este ejemplo, 31 bits
men de producción justifica el esfuerzo extra de son significativos, “f ”, comparados con los 23
desarrollo. del formato IEEE-754.
Una segunda clase de aplicaciones englobaría Para un mismo tamaño en número de bits, el for-
a aquellas que procesan un gran volumen de datos mato en coma fija proporciona una mejor reso-
mediante algoritmos complejos. Ejemplos lución que el formato en coma flotante. Sin
incluyen la exploración sonar y sísmica, donde embargo, es este último quien posee un margen
el volumen de producción es bajo, los algorit- dinámico superior. Así, por ejemplo, si se consi-
mos más exigentes y el diseño del producto más dera una representación en coma fija de 32 bits,
largo y complejo. En consecuencia, el diseñador el mínimo valor que puede ser representado es
-31 -31
busca un DSP que tenga máximas prestaciones, 2 siendo el mayor 1-2 . La relación entre
buena facilidad de uso y soporte para configura- ambos, la cual resulta en el margen dinámico, es
9
ciones multiprocesador. En algunos casos, más de 2,15 10 , aproximadamente 187 dB. En cam-
que diseñar el propio hardware y software, el bio, con una representación en coma flotante, con
sistema se construye a partir de placas de desa- 24 bits de mantisa y 8 de exponente, pueden
-39
rrollo de catálogo y el software a partir de libre- representarse números desde 5,88 10 hasta 3,40
38
rías de funciones ya existentes. 10 , resultando en un margen dinámico de 5,79
76
10 o de 1535 dB.
CARACTERÍSTICAS DE LOS DSP La aritmética de coma flotante es más flexi-
La elección de un DSP que posea unas ciertas ble que la de coma fija. Con coma flotante, los
características estará muy condicionada a la diseñadores de sistemas tienen acceso a un mar-
Figura 4. (Arriba) Arquitectura Von Neu- aplicación que se quiera destinar. En este apar- gen dinámico más amplio. En consecuencia, los
mann. (Abajo) Arquitectura Harvard tado se presenta un conjunto de aspectos carac- DSP de coma flotante son generalmente más
fáciles de programar que los de coma f ija,
pero son usualmente más caros. El mayor cos-
te es resultado del requisito de una mayor
complejidad circuital que se traduce en un
mayor tamaño de chip. Sin embargo, el mayor
margen dinámico facilita su programación pues
el programador no debe preocuparse por el mar-
gen dinámico ni por la precisión. Por el con-
trario, en los DSP de coma fija el programador
a menudo debe escalar las señales en sus pro-
gramas para asegurar una adecuada precisión
numérica con el limitado margen dinámico del
DSP de coma fija.
Por lo general, las aplicaciones con un gran volu-
men de unidades y/o bajo consumo utilizan los
DSP de coma fija al ser la prioridad en este tipo
Perspectiva

DSP
Figura 5. Ejecución de instrucciones sin pipeline. I1 y I2 representan la instrucción 1 y la 2, respectivamente

de aplicaciones el bajo coste. Los programado- Ciclo de reloj


res determinan el margen dinámico y la precisión 1 2 3 4 5 6 7 8
necesarias de la aplicación, ya sea analíticamen- Obtención Instrucción I1 I2
Descodificación I1 I2
te o a través de simulaciones, y entonces aplican Lecturas/Escritura operando I1 I2
operaciones de escalado dentro del código de la Ejecución I1 I2
aplicación en los puntos en donde sea necesario.
En aplicaciones donde el coste no sea un requi-
sito crítico o que demanden un margen dinámi- Figura 6. Procesador que utiliza la técnica del pipelining
co y precisión elevadas, o donde la facilidad de
desarrollo sea vital, los DSP de coma flotante Ciclo de reloj (instrucción)
poseen ventaja. 1 2 3 4 5 6 7 8
Mediante rutinas software es posible emular el Obtención Instrucción I1 I2 I3 I4 I5 I6 I7 I8
Descodificación I1 I2 I3 I4 I5 I6 I7
comportamiento de un dispositivo de coma flo- Lectura/Escritura operando I1 I2 I3 I4 I5 I6
tante con uno de coma fija. Sin embargo, tales Ejecución I1 I2 I3 I4 I5
rutinas resultan generalmente caras en términos
de ciclos del procesador. En consecuencia, rara-
mente se suele emular la aritmética de coma flo- Figura 7. Efecto en la pipeline ante la llegada de una instrucción de salto
tante.
Ciclo de reloj (instrucción)
Ancho de palabra 1 2 3 4 5 6 7 8
Los DSP de coma flotante utilizan un bus de Obtención Instrucción Salto I2 - - N1 N2 N3 N4
Descodificación Salto - - - N1 N2 N3
datos de 32 bits. En los DSP de coma fija, el Lecturas/Escritura operando Salto - - - N1 N2
tamaño más común es de 16 bits. Sin embargo, Ejecución Salto NOP NOP NOP N1
las familias DSP5600x y DSP563xx de Moto-
rola utilizan un formato de 24 bits, mientras
que la familia ZR3800x de Zoran utiliza 20 bits. de Zoran utiliza un formato de instrucción de
El tamaño del bus de datos tiene un gran 32 bits.
impacto en el coste, ya que influye notablemente
en el tamaño del chip y el número de patillas Velocidad
del encapsulado, así como en el tamaño de la La medida clave para saber si un DSP es o no
memoria externa conectada al DSP. Por lo tan- apropiado para una aplicación es su velocidad
to, se intenta utilizar el integrado con el menor de ejecución. Existen varias formas para medir
tamaño de palabra que la aplicación pueda la velocidad de un procesador, aunque quizás el
tolerar. parámetro más usual es el tiempo de ciclo de
De la misma forma que ocurre con la elección instrucción: tiempo necesario para ejecutar la ins-
entre coma fija y coma flotante, existe un com- trucción más rápida del procesador. Su inverso
promiso entre tamaño de palabra y complejidad. dividido por un millón da lugar a la velocidad
Una aplicación que requiera 24 bits puede ser del procesador en millones de instrucciones por
desarrollada por un DSP de 16 bits a costa de segundo o MIPS. En la actualidad todos los
un aumento de complejidad en el software. Por DSP ejecutan una instrucción por ciclo de ins-
ejemplo, con un DSP de 16 bits se pueden rea- trucción.
lizar operaciones con aritmética de doble pre- Un problema que se presenta cuando se com-
cisión y 32 bits combinando las instrucciones pararan los tiempos de ejecución de instruccio-
adecuadas. Naturalmente, la doble precisión será nes de varios procesadores es que la cantidad de
mucho más lenta que la precisión simple. Si el trabajo realizado por una instrucción varía signi-
grueso de la aplicación puede desarrollarse en f icativamente de un procesador a otro. Por
precisión simple, puede tener sentido emplear ejemplo, algunos DSP disponen de desplazado-
la doble precisión únicamente en aquellas par- res combinatorios (“barrel shifters”) que permi-
tes del programa que lo necesiten. Pero si la ten hacer desplazamientos de múltiples bits en los
mayoría de la aplicación requiere más precisión, datos con sólo una instrucción, mientras que otros
entonces un DSP con un tamaño de palabra DSP requieren que el dato sea desplazado con
mayor sería la opción adecuada. repetidas instrucciones de desplazamiento de un
La mayoría de los DSP utilizan un ancho de solo bit. De forma similar, algunos DSP permi-
la palabra de instrucción igual a la de los ten el movimiento de datos en paralelo (carga
datos, pero no todos lo hacen. Así por ejem- simultánea de datos mientras se ejecuta una ins-
plo, la familia ADSP-21xx de Analog Devices trucción) que no están relacionados con la ins-
utiliza 16 bits para los datos y 24 bits para las trucción que la ALU está ejecutando, pero otros
instrucciones mientras que la familia ZR3800x DSP sólo soportan movimientos en paralelo que
Perspectiva

DSP rias caches de instrucciones para permitir el acce-


so a la memoria para la obtención de datos
estén relacionados con los operandos de la ins- mientras que las instrucciones se obtienen de la
trucción que esté ejecutando la ALU. cache en lugar de la memoria. La figura 4 mues-
El parámetro MIPS, al igual que MFLOPS, tra las diferencias entre la arquitectura Harvard
MOPS, MBPS y otros, se miden de forma muy y la Von Neumann, esta última utilizada en la
precisa aunque su valor no necesariamente dice mayoría de procesadores de propósito general.
mucho de lo que un determinado DSP es capaz Otro punto importante a tener en cuenta es la
de hacer. Dichos valores sirven para ubicar cada cantidad de memoria que soporta el DSP, inter-
DSP en una categoría amplia en cuanto a presta- na y externamente. Atendiendo a las caracterís-
ciones pero uno se debería preguntar si se trata ticas de la aplicación, la mayoría de los DSP de
de valores de pico o sostenidos. Además, también coma fija poseen memorias internas, en el pro-
nos deberíamos preguntar cómo se ven afecta- pio chip, de tamaño pequeño medio, entre 256 y
das las prestaciones del DSP cuando muchos de 32k palabras, y un bus externo de direcciones
los datos se encuentran fuera del chip, en la pequeño. Así por ejemplo, la mayoría de los
memoria externa. DSP de coma fija de Analog Devices, Lucent
Una solución a estos problemas consiste en deci- Technologies, Motorola y Texas Instruments tie-
dir una operación básica y utilizarla como refe- nen buses de direcciones de 16 bits o menos, lo
rencia al comparar distintos DSP. La operación que limita la cantidad de memoria externa de
que suele tomarse como referencia es la MAC. acceso directo.
Desafortunadamente, los tiempos de ejecución de Por el contrario, la mayoría de los DSP de
la MAC proporcionan, a veces, poca información coma flotante proporcionan poca o ninguna
para poder diferenciar entre distintos DSP, ya que memoria interna, pero se caracterizan por tener
en la mayoría de ellos esta instrucción se ejecu- buses de direcciones externos de gran tamaño,
ta en un solo ciclo de instrucción, y como se ha para soportar una gran cantidad de memoria
mencionado anteriormente, algunos DSP pueden externa. Por ejemplo, el ADSP-21020 de Ana-
hacer mucho más que otros en una simple ins- log Devices no tiene memoria interna pero
trucción MAC. Además, los tiempos de ejecu- posee un bus externo de direcciones de 24 bits.
ción de la MAC no suele reflejar las prestacio- De forma similar, el TMS320C30 de Texas Ins-
nes de otro tipo importante de operaciones truments posee 6k palabras de memoria interna
como los bucles que están presentes en todas las y dos buses externos de direcciones, uno de 24
aplicaciones. bits y el otro de 13 bits. Además, estos DSP pose-
Un enfoque mucho más general consiste en defi- en memorias cache para permitir un uso más
nir un conjunto algoritmos o funciones, como eficiente de memorias externas lentas.
un filtro FIR o IIR, e implementarlo en distintos
DSP y de esta forma ver cuál de ellos proporciona Segmentación (“pipelining”)
unas mejores prestaciones. Sin embargo, la “Pipelining” es una técnica para incrementar
implementación de estos algoritmos para distin- las prestaciones de un procesador, que consiste
tos DSP puede resultar una tarea ardua. En este en dividir una secuencia de operaciones en otras
sentido, una buena referencia pueden ser los de más sencillas y ejecutar en lo posible cada
tests que efectúa la Berkeley Design Techno- una de ellas en paralelo. En consecuencia se redu-
logy, Inc., pionera en utilizar distintas porciones ce el tiempo total requerido para completar un
de algoritmos y funciones para medir las presta- conjunto de operaciones. Casi todos los DSP del
ciones de los diferentes DSP. mercado incorporan el uso de la segmentación en
mayor o menor medida.
Organización de la memoria Para ilustrar de qué forma la técnica de la seg-
La organización del subsistema de memoria de mentación mejora las prestaciones de un proce-
un DSP puede tener un gran impacto en sus sador, considérese un hipotético procesador que
prestaciones. Como se ha mencionado anterior- utiliza unidades de ejecución separadas para la
mente, la instrucción MAC, así como otras, son ejecución de una única instrucción:
fundamentales en muchos de los algoritmos de
procesado de señal. Una ejecución rápida de la *Obtención de la instrucción de la memoria
instrucción MAC requiere que la lectura en *Descodificar la instrucción
memoria del código de la instrucción y de sus dos *Leer o escribir un operando de la memoria
operandos se haga en un ciclo de instrucción. *Ejecutar la parte de la instrucción relacionada
Existe una variedad de formas de hacerlo, utili- con la ALU o MAC.
zando memorias multipuerto para permitir múl-
tiples accesos a memoria en un ciclo de instruc- La figura 5 muestra la temporización de varias
ción, mediante memorias de datos e instruccio- instrucciones ejecutadas de forma secuencial. Si
nes separadas (arquitectura Harvard), y memo- se supone que cada etapa o unidad de ejecución
Perspectiva

DSP petición de una interrupción. La figura 7 mues-


tra qué es lo que pasa cuando una instrucción de
salto llega a la “pipeline”. En el momento en
que el procesador detecta la llegada de una ins-
trucción de salto en la descodificación del segun-
do ciclo de reloj, la “pipeline” se vacía y detiene
la obtención de nuevas instrucciones. Esto pro-
voca que la instrucción de salto se ejecute en cua-
tro ciclos. Posteriormente, el procesador comien-
za la obtención de las instrucciones (N1-N4) a
partir de la dirección de salto y del quinto ciclo
de reloj. A causa de este tipo de situaciones, casi
todos los DSP incorporan algún tipo de mejora
en el uso de la segmentación con el propósito de
reducir su posible ineficiencia temporal.

Consumo
El uso cada vez más extendido de los DSP en
aplicaciones portátiles como la telefonía celular
hace que el consumo sea un factor a tener muy
en cuenta en el momento de decidirse por un DSP
u otro. Conscientes de esta necesidad, los fabri-
Figura 8. Núcleo de los TMS320C62xx de
Texas Instruments tarda 20 ns en ejecutar su parte de la instruc- cantes de DSP ya fabrican DSP para tensiones
ción, entonces el procesador ejecuta una instruc- bajas de trabajo (3,3 V -3 V) que incorporan pres-
ción cada 80 ns. Sin embargo, también se obser- taciones para la gestión de energía, como pue-
va que el hardware asociado a cada etapa de eje- den ser los modos “sleep” o “idle” que inhiben
cución está inactivo el 75% del tiempo. Esto el reloj del DSP a todas o sólo algunas partes del
ocurre porque el procesador no empieza a eje- mismo, divisores programables del reloj para per-
cutar una nueva instrucción hasta que finaliza la mitir la realización de determinadas tareas a velo-
ejecución de la instrucción en curso. cidad inferior o en control directo de periféricos,
Un procesador que implementara la técnica de lo que permite la desactivación de algunos de
“pipelining” obtendría una nueva instrucción ellos si no se prevé su aplicación.
inmediatamente después de haber obtenido la
anterior. De forma similar, cada instrucción Coste
sería descodificada después de haber terminado Generalmente el coste del DSP es el principal
la descodificación de la instrucción anterior. parámetro en todos aquellos productos que se van
Con esta filosofía, las instrucciones se ejecutan a fabricar en grandes volúmenes. En tales apli-
de forma solapada, tal y como se ilustra en la figu- caciones, el diseñador intenta utilizar el DSP
ra 6. Las unidades de ejecución trabajan en con coste inferior y que satisfaga las necesida-
paralelo, mientras una obtiene el código de una des de la aplicación aun cuando ese dispositivo
instrucción otra está descodificando la anterior pueda ser considerado poco flexible y más difí-
y así sucesivamente. En consecuencia, una vez cil de programar que otros DSP más caros. De
que la “pipeline” está llena, cada 20 ns se ejecu- entre las familias de DSP, el más barato será aquel
ta una instrucción, lo cual representa un factor que tenga menos características funcionales,
de mejora de prestaciones de cuatro respecto a un menos memoria interna y probablemente menos
procesador que no incorpore dicha técnica. prestaciones que otro más caro. Sin embargo, una
Aunque la mayoría de los DSP utilizan la téc- diferencia clave en el precio está en el encapsu-
nica de segmentación, su profundidad o número lado. Los encapsulados PQFP y TQFP son usual-
de etapas varía de un procesador a otro. En mente bastante más baratos que los PGA.
general, cuanto mayor sea el número de etapas
menor tiempo tardará el procesador en ejecutar ARQUITECTURAS DE ALTAS PRESTACIONES
una instrucción. Hablar de DSP obliga a hacer referencia a las
En el ejemplo anterior se ha supuesto un pro- nuevas arquitecturas VLIW (Very Long Instruc-
cesador con una eficiencia en el uso de la “pipe- tion Word) que están siendo adoptadas por los
line” del 100%. En realidad, esto no siempre ocu- DSP de muy altas prestaciones. Las Tecnologías
rre así. La eficiencia se ve disminuida por varias de la Información y las Comunicaciones (TIC)
causas, entre las cuales se encuentra el hecho de demandan cada vez más recursos para poder
que un procesador necesite dos ciclos para procesar grandes volúmenes de datos. Hasta aho-
escribir en memoria, se obtenga el código de ra, los avances en la capacidad de cómputo de
una instrucción de salto de programa o bien la los procesadores se ha basado en el aumento de
Perspectiva

DSP to por múltiples instrucciones independientes que


incluye un campo de control para cada una de
la velocidad del reloj y en innovaciones en la las unidades de ejecución. El tamaño de la ins-
planificación, por parte del hardware, de la eje- trucción depende de dos factores: el número de
cución de instrucciones. Este modelo actual pre- unidades de ejecución disponibles y la longitud
supone que cada nueva generación de procesa- de código requerida para cada una de ellas. Una
dores es capaz de ejecutar más instrucciones y consecuencia de ello es que los buses internos
será difícil que las arquitecturas tradicionales con- de datos y de instrucciones son de mayor tama-
tinúen doblando prestaciones cada 12-18 meses ño.
sin que se emigre a una nueva tecnología. El Por otro lado, a diferencia de los procesadores
número de instrucciones por ciclo aumenta y tam- superescalares en los que la planificación de las
bién lo hace el número de interdependencias entre instrucciones para buscar el máximo paralelis-
instrucciones a comprobar para determinar qué mo la realiza el propio procesador, en las arqui-
instrucciones pueden ejecutarse de forma simul- tecturas VLIW esta tarea la realiza el compilador.
tánea. La lógica compleja requerida para la Esta planificación es conocida como estática
correcta planificación de instrucciones ocupa una (“static scheduling”). Una ventaja inmediata de
gran parte del silicio del procesador y empieza a este tipo de planificación es que permite dedicar
no tener sentido dedicar una gran parte de los más tiempo a encontrar la mejor optimización,
recursos del procesador a la planificación de aunque esto hace que el compilador sea más com-
instrucciones. plejo ya que sobre él recae la responsabilidad de
En su lugar, parece tener más sentido utilizar ese agrupar de la mejor forma posible las instruc-
silicio para poder ejecutar más instrucciones por ciones.
ciclo, incorporando más unidades funcionales y La f igura 8 muestra el núcleo de los
aumentar así el paralelismo de ejecución, mien- TMS320C62xx de Texas Instruments. En parti-
tras que la planificación de instrucciones se rea- cular, el TMS320C6202 trabaja a 250 MHz y es
liza por el compilador. Éste es el principio en capaz de ejecutar 2000 MIPS y 500 MMACS.
que se basa la arquitectura VLIW. Esta reduc- El mismo fabricante ya está anunciando la sali-
ción de complejidad, hardware más sencillo y da al mercado de dos nuevas familias, la
menor número de transistores, permite incre- TMS320C64x de altas prestaciones y la
mentar la velocidad del reloj y al mismo tiempo TMS320C55x de bajo consumo, también basa-
reducir el consumo. das en una arquitectura VLIW.
El concepto de arquitectura VLIW no es nue- El TMS320C64x tendrá una frecuencia máxi-
vo ya que desde 1975 han ido apareciendo pro- ma de trabajo de hasta 1,1 GHz que permitirá
cesadores VLIW pero siempre más a un nivel obtener prestaciones de 8800 MIPS y 4400
de prototipo que a nivel comercial. Sin embar- MMACS. Sus prestaciones son 10 veces supe-
go, no ha sido hasta hace relativamente poco, riores a las que presenta el actual líder, el
aproximadamente en 1997, que los esfuerzos TMS320C62xx. Esta mejora en prestaciones se
en la mejora del compilador, en aspectos de ha conseguido haciendo que las unidades fun-
paralelismo ha hecho que estos procesadores cionales sean más flexibles, lo que permite eje-
sean realmente eficientes. Tradicionalmente, las cutar un mayor número de instrucciones, aña-
ventajas asociadas con la arquitectura VLIW diendo instrucciones especiales para aplicaciones
eran difíciles de conseguir y su futuro era cues- de comunicaciones digitales y vídeo que permi-
tionable. La falta de compiladores eficientes a tan una reducción del código y un incremento
menudo significaba que el programador tuvie- de la eficiencia del compilador, e incrementan-
ra que pasar muchas horas tratando de optimi- do el nivel de paralelismo. Por todo ello, puede
zar, la mayoría de las veces sin éxito, su exten- realizar simultáneamente 2 operaciones de 16 bits
so código para mejorar las prestaciones de la o bien 4 de 8 bits. Además, el TMS320C64x
aplicación. cuenta con un mayor número de registros, 64 en
Las arquitecturas VLIW están estrechamente total, y un camino de datos interno, “datapath”,
relacionadas con los procesadores superescala- de 64 bits, que dobla en ambos casos las cifras
res. Ambos tratan de aumentar la velocidad del TMS320C62xx.
computacional mediante paralelismo a nivel de Para que el lector pueda hacerse una idea de lo
instrucciones en el que se utilizan múltiples que representan estos valores, alrededor de 1997
copias de algunas etapas de la “pipeline” o uni- los valores para las frecuencias de trabajo y los
dades de ejecución trabajando en paralelo. Las MIPS eran de 10 MHz a 100 MHz y de 10 a 80,
dos diferencias principales recaen en cómo se for- respectivamente.
mulan las instrucciones y en cómo se realiza su Por su parte, el TMS320C55x se presenta
planificación o secuenciamiento. como el DSP con menor consumo en el merca-
En una arquitectura VLIW, las instrucciones do, tan solo 0,05 mW/MIPS a 0,9 V y con unas
poseen un formato grande de palabra compues- prestaciones que van de los 140 a 800 MIPS.
Perspectiva

DSP Cabe la posibilidad que la elección del DSP


sea un proceso iterativo. En otras palabras, pue-
Comparado con su más directo competidor, el de no haberse escogido el dispositivo correcto.
TMS320C54x, también de Texas, su factor de Podría ser que aparecieran problemas imprevis-
consumo/MIPS es 6 veces inferior a la vez que tos en la fase de desarrollo y prueba del código
consigue multiplicar por 5 sus prestaciones. o incluso que se encontrara que un DSP más bara-
Este bajo consumo se debe a la incorporación to y menos potente pudiera ser el elegido. Común-
de un sistema de gestión automática avanzada mente, las especificaciones del diseño alterarán
de la energía. El sistema continuamente supervi- y forzarán a replantear la solución escogida. Los
sa las partes del chip que se están utilizando y dos primeros casos pueden evitarse haciendo más
procede a desactivarlas cuando no son necesarias. minuciosa la búsqueda del DSP que más se ade-
Además, se ofrece al diseñador la posibilidad de cúe a la aplicación en particular. Algunas veces
poder configurar a su conveniencia 6 compo- merece la pena la compra de herramientas de
nentes del DSP, cada uno representado por un desarrollo tales como los simuladores software
bit en uno de sus registros, lo que origina un para algunos DSP y ejercitar el código antes de
total de 64 modos configurables distintos. comprometerse a un solo DSP.

SOPORTE TÉCNICO Y FACILIDAD CONCLUSIONES


DE DESARROLLO Los DSP poseen arquitecturas especialmente
En el momento de decantarse por un DSP u diseñadas para acelerar los cálculos matemáti-
otro será necesario conocer completamente los cos intensos utilizados en la mayoría de siste-
requisitos de procesado del sistema. Muchos DSP mas de procesado de señal en tiempo real. Se ha
pueden ser eliminados previamente con sólo tener visto que el DSP está muy estrechamente ligado
en cuenta consideraciones de falta de potencia al tipo de aplicación. La tendencia es que vayan
de cálculo, resolución insuficiente, coste, etc. apareciendo DSP con arquitecturas que estén
Esto probablemente deje todavía a un número cada vez más adaptadas a las particularidades de
de posibles candidatos para los cuales será pre- las diferentes aplicaciones. En este sentido, aun-
ciso realizar otro tipo de análisis. que a nivel de prestaciones varios DSP puedan
En el apartado anterior se han visto aquellas reunir los requisitos necesarios exigidos por una
características más técnicas de los DSP y que aplicación, otras consideraciones como el coste
están estrechamente relacionadas con los algo- o el consumo pueden ayudar a disminuir el núme-
ritmos de la aplicación a implementar. Sin embar- ro de posibles candidatos.
go, no se han considerado para nada aspectos rela- Por otro lado, la reciente aparición de compila-
cionados con el desarrollo de la aplicación. El dores realmente eficaces en extraer el paralelis-
DSP que finalmente se elija deberá disponer de mo de un programa ha propiciado la recupera-
un amplio conjunto de herramientas de desarro- ción de las arquitecturas VLIW y con ello la
llo. Algunos requerimientos básicos son: obtención de DSP de elevadas prestaciones. La
arquitectura VLIW posee una gran ventaja fren-
*Documentación de diseño detallada te a los procesadores superescalares, y es que la
*Herramientas de desarrollo de código en extracción del paralelismo se realiza por el com-
ensamblador y/o en lenguaje de alto nivel pilador y ello permite dedicar más tiempo para
*Herramientas para el test de la funcionalidad obtener la mejor optimización. En consecuen-
del diseño cia, el procesador resulta ser mucho más simple
*Notas de aplicación u otro tipo de ayuda al dise- y con un número mucho menor de transistores,
ño lo que permite trabajar con velocidades de reloj
más elevadas y con un menor consumo.
El objetivo será seleccionar el DSP que permi-
ta terminar el proyecto en el tiempo previsto y REFERENCIAS
que la solución alcanzada sea la que presente la [1]. Phil Lapsley, Jeff Bier, Amit Shoham and
mejor relación coste-eficiencia. En aplicaciones Edward A. Lee, “DSP Processor Fundamentals: Archi-
de gran volumen de producción, esto probable- tectures and Features”, Berkeley, California: Berkeley
mente signifique que el DSP escogido será el más Design Technology, Inc., 1996.
barato que pueda realizar la aplicación. Para apli- [2]. Christopher Inacio and Denise Ombres, “The
caciones con un volumen bajo-medio existirá el DSP decision: fixed point or floating?”, IEEE Spec-
compromiso entre el coste de las herramientas de trum, vol. 33, no. 9, pp. 72-74, sept. 1996.
desarrollo y el coste y eficiencia del DSP. En cam- [3]. Nikitas Alexandridis, “Design of Microprocessor-
bio, para aplicaciones con un volumen bajo de Based Systems”, Prentice-Hall, Inc., 1993.
producción tendrá más sentido utilizar un DSP [4]. Dezsõ Sima, Terence Fountain, Péter Kacsuk,
que facilite el diseño o que tenga las herramien- “Advanced Computer Architectures. A Design Space
tas de desarrollo más baratas. Approach”, Addison-Wesley, 1997. ME

También podría gustarte