Sunteți pe pagina 1din 8

Perspectiva

Procesadores digitales de seal


(DSP)
Arquitecturas y criterios de seleccin
COMPONENTES. Los DSP o procesadores digitales de seal son microprocesadores
especficamente diseados para el procesado digital de seal. Algunas de sus caractersticas ms
bsicas como el formato aritmtico, la velocidad, la organizacin de la memoria o la arquitectura
interna hacen que sean o no adecuados para una aplicacin 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. INGENIERA ELECTRNICA. CENTRO DE SISTEMAS Y SENSORES ELECTRNICOS,
UNIVERSIDAD POLITCNICA DE CATALUA.
Jsalazar@eel.upc.es

n sistema de procesado digital de seal Si bien, en principio, el corazn de un sistema

U puede definirse como cualquier sistema


electrnico que realice procesado digital
de seal, entendindose por l la aplica-
cin de operaciones matemticas a seales repre-
sentadas de forma digital. Las seales son repre-
de procesado digital puede ser un microcontro-
lador, un procesador de propsito general o un
procesador digital de seal (DSP), en sistemas
en los cuales la carga computacional es extre-
madamente intensa la solucin 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 seales fsicas (por ejemplo, seales de de DSP son Texas Instruments, con la serie
audio) utilizando transductores (un micrfono TMS320; Motorola, con las series DSP56000,
en este caso) y convertidores analgico-digitales. DSP56100, DSP56300, DSP56600 y DSP96000;
Despus del procesado matemtico, las seales Lucent Technologies (anteriormente AT&T), con
Figura 1. Estructura de un filtro digitales pueden volver a convertirse en seales las series DSP1600 y DSP3200; y Analog Devi-
de respuesta impulsional finita (FIR) fsicas mediante convertidores digital-analgicos. ces, con las series ADSP2100 y ADSP21000.

QU ES UN DSP?
Estrictamente hablando, el trmino DSP se
aplica a cualquier chip que trabaje con seales
representadas de forma digital. En la prctica, el
trmino se refiere a microprocesadores especfi-
camente diseados para realizar procesado digi-
tal de seal. Los DSP utilizan arquitecturas
especiales para acelerar los clculos matemticos
intensos implicados en la mayora de sistemas
de procesado de seal en tiempo real. Por ejem-
plo, las arquitecturas de los DSP incluyen cir-
cuitera para ejecutar de forma rpida operacio-
nes de multiplicar y acumular, conocidas como
MAC. A menudo poseen arquitecturas de memo-
ria que permiten un acceso mltiple para permi-
tir de forma simultnea cargar varios operandos,
por ejemplo, una muestra de la seal de entrada
y el coeficiente de un filtro simultneamente en
Perspectiva

DSP perifricos 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 analgi-
DSP
co-digitales o memoria.
La diferencia esencial entre un DSP y un
Coma fija Coma flotante microprocesador es que el DSP tiene caracters-
ticas diseadas para soportar tareas de altas
prestaciones, repetitivas y numricamente inten-
16 bit 20 bit 24 bit 32 bit
sas. Por contra, los microprocesadores de prop-
sito general o microcontroladores no estn espe-
IEEE-754 Otros
cializados para ninguna aplicacin en especial;
en el caso de los microprocesadores de propsi-
to general, ni estn orientados a aplicaciones de
control, en el caso de los microcontroladores.
Figura 2. Representaciones numricas
comunes en los DSP comerciales paralelo con la carga de la instruccin. Tambin Aunque el ejemplo del filtro de respuesta impul-
incluyen una variedad de modos especiales de sional finita (FIR) ha sido ampliamente utiliza-
direccionamiento y caractersticas de control de do en el entorno DSP, es quizs el ms simple que
flujo de programa diseadas para acelerar la eje- permite ilustrar la necesidad de estas prestacio-
cucin de operaciones repetitivas. Adems, la nes en los DSP, las cuales permiten concebir
mayora de los DSP incluyen en el propio chip muchas de las funciones de procesado en tiem-
po real.
Glosario de trminos La mecnica 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 seal. la entrada retardada en un perodo de muestreo.
ALU: (Arithmetic/Logic Unit). Unidad aritmtico-lgica. Unidad de ejecucin en un El filtro FIR se construye a partir de una serie
procesador responsable de la aritmtica (sumar, restar, desplazar, etc.) y de la lgica (y, de etapas bsicas que se van repitiendo. Cada eta-
o, no, o-exclusiva, etc.). pa bsica incluye una operacin del tipo multi-
MIPS: (Million instructions per second). Nmero de instrucciones que el procesador plicacin y acumulacin. La seal de entrada xk
puede ejecutar por segundo. La clave est en cunto puede hacer cada instruccin. El es un conjunto de valores discretos obtenidos
parmetro MFLOPS es normalmente una medida ms fiable de las prestaciones del mediante muestreo de una seal analgica. El
procesador. valor xk-1 es en realidad el valor que tena xk en
MOPS: (Million operation per second). Nmero total de operaciones que el procesador un perodo de muestreo anterior. De forma simi-
puede realizar por segundo. Se incluye accesos DMA, transferencias de datos, opera- lar xk-2 sera la xk de dos perodos de muestreo
ciones de entrada salida. Este parmetro 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). Nmero de multiplicacio- desplazan una posicin hacia la derecha y una
nes, sumas, restas, etc. en coma flotante que el procesador puede realizar. Algunas nueva muestra de salida se calcula despus de
veces este parmetro 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). Nmero de multiplicaciones y acu- tes, donde n es el nmero del coeficiente. Los
mulaciones que el procesador puede realizar por segundo. resultados de cada multiplicacin se suman para
VLIW: (Very long instruction word). Formato muy largo de palabra de instruccin. formar la nueva muestra de salida yk. El algorit-
FFT: (Fast Fourier Transform). Transformada de Fourier rpida. Mtodo computacio- mo de clculo se basa en operaciones del tipo
nal eficiente para estimar el espectro frecuencial de una seal. multiplicacin y acumulacin (A=B*C+D), sien-
FIR: (Finite impulse response). Respuesta impulsional finita. Una categora de filtros do la multiplicacin el verdadero cuello de bote-
digitales. lla en el clculo de la mayora de los algoritmos
IIR: (Infinite impulse response). Respuesta impulsional infinita. Una categora 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 conexin dispuestos en forma de cuadrcula. 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 electrnica de
QFP: (Quad flat pack). Un tipo de encapsulado para circuitos integrados. Los circui- consumo. Naturalmente, ningn procesador satis-
tos integrados con este encapsulado son tpicamente ms baratos que el mismo circui- face todas las necesidades de todas o la mayora
to con encapsulado PGA. de aplicaciones. Por lo tanto, la primera tarea para
TQFP: (Thin quad flat pack). Tipo de encapsulado similar, pero ms delgado, al PQFP. el diseador al elegir un DSP es ponderar la
El encapsulado TQFP normalmente se utiliza en sistemas porttiles pequeos. importancia relativa de las prestaciones, coste,
integracin, facilidad de desarrollo, consumo y
Perspectiva

DSP tersticos de los DSP sin que se pretenda con


ello hacer una lista exhaustiva. Dichos aspectos
otros factores para las debern tenerse en cuenta a la hora de su eleccin
necesidades de la aplica- para una aplicacin en particular.
cin en particular.
Las grandes aplicaciones, Formato aritmtico
en trminos de dinero que Una de las caractersticas fundamentales de los
mueven sus productos, se DSP es el tipo de formato aritmtico utilizado por
realizan para los sistemas el procesador. La figura 2 muestra la estrecha
pequeos, baratos y con un relacin entre formato numrico y nmero de bits
gran volumen de produc- del DSP.
cin como los de telefo- La figura 3, arriba y abajo, muestra los forma-
na 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 integracin son de indica que el bit ms 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 porttiles, donde un 1 indica que se trata de un nmero nega-
23 de mantisa. (Abajo) Formato en coma alimentados por bateras, el consumo es crtico. 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 nmero.
ralmente en estas aplicaciones menos importan- Al carecer de exponente el formato en coma fija,
te para el diseador. A pesar de que estas aplica- ste puede representar nmeros con ms 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 tamao en bits. En este ejemplo, 31 bits
men de produccin justifica el esfuerzo extra de son significativos, f , comparados con los 23
desarrollo. del formato IEEE-754.
Una segunda clase de aplicaciones englobara Para un mismo tamao en nmero 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 lucin que el formato en coma flotante. Sin
incluyen la exploracin sonar y ssmica, donde embargo, es este ltimo quien posee un margen
el volumen de produccin es bajo, los algorit- dinmico superior. As, por ejemplo, si se consi-
mos ms exigentes y el diseo del producto ms dera una representacin en coma fija de 32 bits,
largo y complejo. En consecuencia, el diseador el mnimo valor que puede ser representado es
-31 -31
busca un DSP que tenga mximas prestaciones, 2 siendo el mayor 1-2 . La relacin entre
buena facilidad de uso y soporte para configura- ambos, la cual resulta en el margen dinmico, es
9
ciones multiprocesador. En algunos casos, ms de 2,15 10 , aproximadamente 187 dB. En cam-
que disear el propio hardware y software, el bio, con una representacin 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 catlogo y el software a partir de libre- representarse nmeros desde 5,88 10 hasta 3,40
38
ras de funciones ya existentes. 10 , resultando en un margen dinmico de 5,79
76
10 o de 1535 dB.
CARACTERSTICAS DE LOS DSP La aritmtica de coma flotante es ms flexi-
La eleccin de un DSP que posea unas ciertas ble que la de coma fija. Con coma flotante, los
caractersticas estar muy condicionada a la diseadores de sistemas tienen acceso a un mar-
Figura 4. (Arriba) Arquitectura Von Neu- aplicacin que se quiera destinar. En este apar- gen dinmico ms amplio. En consecuencia, los
mann. (Abajo) Arquitectura Harvard tado se presenta un conjunto de aspectos carac- DSP de coma flotante son generalmente ms
fciles de programar que los de coma f ija,
pero son usualmente ms caros. El mayor cos-
te es resultado del requisito de una mayor
complejidad circuital que se traduce en un
mayor tamao de chip. Sin embargo, el mayor
margen dinmico facilita su programacin pues
el programador no debe preocuparse por el mar-
gen dinmico ni por la precisin. Por el con-
trario, en los DSP de coma fija el programador
a menudo debe escalar las seales en sus pro-
gramas para asegurar una adecuada precisin
numrica con el limitado margen dinmico 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. Ejecucin de instrucciones sin pipeline. I1 y I2 representan la instruccin 1 y la 2, respectivamente

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


res determinan el margen dinmico y la precisin 1 2 3 4 5 6 7 8
necesarias de la aplicacin, ya sea analticamen- Obtencin Instruccin I1 I2
Descodificacin I1 I2
te o a travs de simulaciones, y entonces aplican Lecturas/Escritura operando I1 I2
operaciones de escalado dentro del cdigo de la Ejecucin I1 I2
aplicacin en los puntos en donde sea necesario.
En aplicaciones donde el coste no sea un requi-
sito crtico o que demanden un margen dinmi- Figura 6. Procesador que utiliza la tcnica del pipelining
co y precisin elevadas, o donde la facilidad de
desarrollo sea vital, los DSP de coma flotante Ciclo de reloj (instruccin)
poseen ventaja. 1 2 3 4 5 6 7 8
Mediante rutinas software es posible emular el Obtencin Instruccin I1 I2 I3 I4 I5 I6 I7 I8
Descodificacin 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 Ejecucin I1 I2 I3 I4 I5
rutinas resultan generalmente caras en trminos
de ciclos del procesador. En consecuencia, rara-
mente se suele emular la aritmtica de coma flo- Figura 7. Efecto en la pipeline ante la llegada de una instruccin de salto
tante.
Ciclo de reloj (instruccin)
Ancho de palabra 1 2 3 4 5 6 7 8
Los DSP de coma flotante utilizan un bus de Obtencin Instruccin Salto I2 - - N1 N2 N3 N4
Descodificacin Salto - - - N1 N2 N3
datos de 32 bits. En los DSP de coma fija, el Lecturas/Escritura operando Salto - - - N1 N2
tamao ms comn es de 16 bits. Sin embargo, Ejecucin 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 instruccin de
El tamao del bus de datos tiene un gran 32 bits.
impacto en el coste, ya que influye notablemente
en el tamao del chip y el nmero de patillas Velocidad
del encapsulado, as como en el tamao de la La medida clave para saber si un DSP es o no
memoria externa conectada al DSP. Por lo tan- apropiado para una aplicacin es su velocidad
to, se intenta utilizar el integrado con el menor de ejecucin. Existen varias formas para medir
tamao de palabra que la aplicacin pueda la velocidad de un procesador, aunque quizs el
tolerar. parmetro ms usual es el tiempo de ciclo de
De la misma forma que ocurre con la eleccin instruccin: tiempo necesario para ejecutar la ins-
entre coma fija y coma flotante, existe un com- truccin ms rpida del procesador. Su inverso
promiso entre tamao de palabra y complejidad. dividido por un milln da lugar a la velocidad
Una aplicacin 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 instruccin por ciclo de ins-
ejemplo, con un DSP de 16 bits se pueden rea- truccin.
lizar operaciones con aritmtica de doble pre- Un problema que se presenta cuando se com-
cisin y 32 bits combinando las instrucciones pararan los tiempos de ejecucin de instruccio-
adecuadas. Naturalmente, la doble precisin ser nes de varios procesadores es que la cantidad de
mucho ms lenta que la precisin simple. Si el trabajo realizado por una instruccin vara signi-
grueso de la aplicacin puede desarrollarse en f icativamente de un procesador a otro. Por
precisin simple, puede tener sentido emplear ejemplo, algunos DSP disponen de desplazado-
la doble precisin nicamente en aquellas par- res combinatorios (barrel shifters) que permi-
tes del programa que lo necesiten. Pero si la ten hacer desplazamientos de mltiples bits en los
mayora de la aplicacin requiere ms precisin, datos con slo una instruccin, mientras que otros
entonces un DSP con un tamao de palabra DSP requieren que el dato sea desplazado con
mayor sera la opcin adecuada. repetidas instrucciones de desplazamiento de un
La mayora de los DSP utilizan un ancho de solo bit. De forma similar, algunos DSP permi-
la palabra de instruccin igual a la de los ten el movimiento de datos en paralelo (carga
datos, pero no todos lo hacen. As por ejem- simultnea de datos mientras se ejecuta una ins-
plo, la familia ADSP-21xx de Analog Devices truccin) que no estn relacionados con la ins-
utiliza 16 bits para los datos y 24 bits para las truccin que la ALU est ejecutando, pero otros
instrucciones mientras que la familia ZR3800x DSP slo soportan movimientos en paralelo que
Perspectiva

DSP rias caches de instrucciones para permitir el acce-


so a la memoria para la obtencin de datos
estn relacionados con los operandos de la ins- mientras que las instrucciones se obtienen de la
truccin que est ejecutando la ALU. cache en lugar de la memoria. La figura 4 mues-
El parmetro 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 mayora de procesadores de propsito 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 categora amplia en cuanto a presta- na y externamente. Atendiendo a las caracters-
ciones pero uno se debera preguntar si se trata ticas de la aplicacin, la mayora de los DSP de
de valores de pico o sostenidos. Adems, tambin coma fija poseen memorias internas, en el pro-
nos deberamos preguntar cmo se ven afecta- pio chip, de tamao pequeo 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 pequeo. As por ejemplo, la mayora de los
memoria externa. DSP de coma fija de Analog Devices, Lucent
Una solucin a estos problemas consiste en deci- Technologies, Motorola y Texas Instruments tie-
dir una operacin bsica y utilizarla como refe- nen buses de direcciones de 16 bits o menos, lo
rencia al comparar distintos DSP. La operacin que limita la cantidad de memoria externa de
que suele tomarse como referencia es la MAC. acceso directo.
Desafortunadamente, los tiempos de ejecucin de Por el contrario, la mayora de los DSP de
la MAC proporcionan, a veces, poca informacin coma flotante proporcionan poca o ninguna
para poder diferenciar entre distintos DSP, ya que memoria interna, pero se caracterizan por tener
en la mayora de ellos esta instruccin se ejecu- buses de direcciones externos de gran tamao,
ta en un solo ciclo de instruccin, 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 ms que otros en una simple ins- log Devices no tiene memoria interna pero
truccin MAC. Adems, los tiempos de ejecu- posee un bus externo de direcciones de 24 bits.
cin 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 estn presentes en todas las y dos buses externos de direcciones, uno de 24
aplicaciones. bits y el otro de 13 bits. Adems, estos DSP pose-
Un enfoque mucho ms general consiste en defi- en memorias cache para permitir un uso ms
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 cul de ellos proporciona Segmentacin (pipelining)
unas mejores prestaciones. Sin embargo, la Pipelining es una tcnica para incrementar
implementacin 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 ms sencillas y ejecutar en lo posible cada
tests que efecta 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 segmentacin en
mayor o menor medida.
Organizacin de la memoria Para ilustrar de qu forma la tcnica de la seg-
La organizacin del subsistema de memoria de mentacin mejora las prestaciones de un proce-
un DSP puede tener un gran impacto en sus sador, considrese un hipottico procesador que
prestaciones. Como se ha mencionado anterior- utiliza unidades de ejecucin separadas para la
mente, la instruccin MAC, as como otras, son ejecucin de una nica instruccin:
fundamentales en muchos de los algoritmos de
procesado de seal. Una ejecucin rpida de la *Obtencin de la instruccin de la memoria
instruccin MAC requiere que la lectura en *Descodificar la instruccin
memoria del cdigo de la instruccin y de sus dos *Leer o escribir un operando de la memoria
operandos se haga en un ciclo de instruccin. *Ejecutar la parte de la instruccin relacionada
Existe una variedad de formas de hacerlo, utili- con la ALU o MAC.
zando memorias multipuerto para permitir ml-
tiples accesos a memoria en un ciclo de instruc- La figura 5 muestra la temporizacin de varias
cin, 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 ejecucin
Perspectiva

DSP peticin de una interrupcin. La figura 7 mues-


tra qu es lo que pasa cuando una instruccin de
salto llega a la pipeline. En el momento en
que el procesador detecta la llegada de una ins-
truccin de salto en la descodificacin del segun-
do ciclo de reloj, la pipeline se vaca y detiene
la obtencin de nuevas instrucciones. Esto pro-
voca que la instruccin de salto se ejecute en cua-
tro ciclos. Posteriormente, el procesador comien-
za la obtencin de las instrucciones (N1-N4) a
partir de la direccin de salto y del quinto ciclo
de reloj. A causa de este tipo de situaciones, casi
todos los DSP incorporan algn tipo de mejora
en el uso de la segmentacin con el propsito de
reducir su posible ineficiencia temporal.

Consumo
El uso cada vez ms extendido de los DSP en
aplicaciones porttiles como la telefona 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. Ncleo de los TMS320C62xx de
Texas Instruments tarda 20 ns en ejecutar su parte de la instruc- cantes de DSP ya fabrican DSP para tensiones
cin, entonces el procesador ejecuta una instruc- bajas de trabajo (3,3 V -3 V) que incorporan pres-
cin cada 80 ns. Sin embargo, tambin se obser- taciones para la gestin de energa, como pue-
va que el hardware asociado a cada etapa de eje- den ser los modos sleep o idle que inhiben
cucin est inactivo el 75% del tiempo. Esto el reloj del DSP a todas o slo algunas partes del
ocurre porque el procesador no empieza a eje- mismo, divisores programables del reloj para per-
cutar una nueva instruccin hasta que finaliza la mitir la realizacin de determinadas tareas a velo-
ejecucin de la instruccin en curso. cidad inferior o en control directo de perifricos,
Un procesador que implementara la tcnica de lo que permite la desactivacin de algunos de
pipelining obtendra una nueva instruccin ellos si no se prev su aplicacin.
inmediatamente despus de haber obtenido la
anterior. De forma similar, cada instruccin Coste
sera descodificada despus de haber terminado Generalmente el coste del DSP es el principal
la descodificacin de la instruccin anterior. parmetro en todos aquellos productos que se van
Con esta filosofa, las instrucciones se ejecutan a fabricar en grandes volmenes. En tales apli-
de forma solapada, tal y como se ilustra en la figu- caciones, el diseador intenta utilizar el DSP
ra 6. Las unidades de ejecucin trabajan en con coste inferior y que satisfaga las necesida-
paralelo, mientras una obtiene el cdigo de una des de la aplicacin aun cuando ese dispositivo
instruccin otra est descodificando la anterior pueda ser considerado poco flexible y ms dif-
y as sucesivamente. En consecuencia, una vez cil de programar que otros DSP ms caros. De
que la pipeline est llena, cada 20 ns se ejecu- entre las familias de DSP, el ms barato ser aquel
ta una instruccin, lo cual representa un factor que tenga menos caractersticas funcionales,
de mejora de prestaciones de cuatro respecto a un menos memoria interna y probablemente menos
procesador que no incorpore dicha tcnica. prestaciones que otro ms caro. Sin embargo, una
Aunque la mayora de los DSP utilizan la tc- diferencia clave en el precio est en el encapsu-
nica de segmentacin, su profundidad o nmero lado. Los encapsulados PQFP y TQFP son usual-
de etapas vara de un procesador a otro. En mente bastante ms baratos que los PGA.
general, cuanto mayor sea el nmero de etapas
menor tiempo tardar el procesador en ejecutar ARQUITECTURAS DE ALTAS PRESTACIONES
una instruccin. 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 estn siendo adoptadas por los
line del 100%. En realidad, esto no siempre ocu- DSP de muy altas prestaciones. Las Tecnologas
rre as. La eficiencia se ve disminuida por varias de la Informacin y las Comunicaciones (TIC)
causas, entre las cuales se encuentra el hecho de demandan cada vez ms recursos para poder
que un procesador necesite dos ciclos para procesar grandes volmenes de datos. Hasta aho-
escribir en memoria, se obtenga el cdigo de ra, los avances en la capacidad de cmputo de
una instruccin de salto de programa o bien la los procesadores se ha basado en el aumento de
Perspectiva

DSP to por mltiples instrucciones independientes que


incluye un campo de control para cada una de
la velocidad del reloj y en innovaciones en la las unidades de ejecucin. El tamao de la ins-
planificacin, por parte del hardware, de la eje- truccin depende de dos factores: el nmero de
cucin de instrucciones. Este modelo actual pre- unidades de ejecucin disponibles y la longitud
supone que cada nueva generacin de procesa- de cdigo requerida para cada una de ellas. Una
dores es capaz de ejecutar ms instrucciones y consecuencia de ello es que los buses internos
ser difcil que las arquitecturas tradicionales con- de datos y de instrucciones son de mayor tama-
tinen doblando prestaciones cada 12-18 meses o.
sin que se emigre a una nueva tecnologa. El Por otro lado, a diferencia de los procesadores
nmero de instrucciones por ciclo aumenta y tam- superescalares en los que la planificacin de las
bin lo hace el nmero de interdependencias entre instrucciones para buscar el mximo 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.
tnea. La lgica compleja requerida para la Esta planificacin es conocida como esttica
correcta planificacin de instrucciones ocupa una (static scheduling). Una ventaja inmediata de
gran parte del silicio del procesador y empieza a este tipo de planificacin es que permite dedicar
no tener sentido dedicar una gran parte de los ms tiempo a encontrar la mejor optimizacin,
recursos del procesador a la planificacin de aunque esto hace que el compilador sea ms com-
instrucciones. plejo ya que sobre l recae la responsabilidad de
En su lugar, parece tener ms sentido utilizar ese agrupar de la mejor forma posible las instruc-
silicio para poder ejecutar ms instrucciones por ciones.
ciclo, incorporando ms unidades funcionales y La f igura 8 muestra el ncleo de los
aumentar as el paralelismo de ejecucin, mien- TMS320C62xx de Texas Instruments. En parti-
tras que la planificacin 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-
cin de complejidad, hardware ms sencillo y da al mercado de dos nuevas familias, la
menor nmero de transistores, permite incre- TMS320C64x de altas prestaciones y la
mentar la velocidad del reloj y al mismo tiempo TMS320C55x de bajo consumo, tambin basa-
reducir el consumo. das en una arquitectura VLIW.
El concepto de arquitectura VLIW no es nue- El TMS320C64x tendr una frecuencia mxi-
vo ya que desde 1975 han ido apareciendo pro- ma de trabajo de hasta 1,1 GHz que permitir
cesadores VLIW pero siempre ms 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 lder, 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 ms flexibles, lo que permite eje-
sean realmente eficientes. Tradicionalmente, las cutar un mayor nmero de instrucciones, aa-
ventajas asociadas con la arquitectura VLIW diendo instrucciones especiales para aplicaciones
eran difciles de conseguir y su futuro era cues- de comunicaciones digitales y vdeo que permi-
tionable. La falta de compiladores eficientes a tan una reduccin del cdigo 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 mayora de las veces sin xito, su exten- realizar simultneamente 2 operaciones de 16 bits
so cdigo para mejorar las prestaciones de la o bien 4 de 8 bits. Adems, el TMS320C64x
aplicacin. cuenta con un mayor nmero de registros, 64 en
Las arquitecturas VLIW estn 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 mltiples 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 ejecucin trabajando en paralelo. Las MIPS eran de 10 MHz a 100 MHz y de 10 a 80,
dos diferencias principales recaen en cmo se for- respectivamente.
mulan las instrucciones y en cmo se realiza su Por su parte, el TMS320C55x se presenta
planificacin 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 eleccin del DSP


sea un proceso iterativo. En otras palabras, pue-
Comparado con su ms directo competidor, el de no haberse escogido el dispositivo correcto.
TMS320C54x, tambin de Texas, su factor de Podra ser que aparecieran problemas imprevis-
consumo/MIPS es 6 veces inferior a la vez que tos en la fase de desarrollo y prueba del cdigo
consigue multiplicar por 5 sus prestaciones. o incluso que se encontrara que un DSP ms bara-
Este bajo consumo se debe a la incorporacin to y menos potente pudiera ser el elegido. Comn-
de un sistema de gestin automtica avanzada mente, las especificaciones del diseo alterarn
de la energa. El sistema continuamente supervi- y forzarn a replantear la solucin escogida. Los
sa las partes del chip que se estn utilizando y dos primeros casos pueden evitarse haciendo ms
procede a desactivarlas cuando no son necesarias. minuciosa la bsqueda del DSP que ms se ade-
Adems, se ofrece al diseador la posibilidad de ce a la aplicacin 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 cdigo antes de
total de 64 modos configurables distintos. comprometerse a un solo DSP.

SOPORTE TCNICO Y FACILIDAD CONCLUSIONES


DE DESARROLLO Los DSP poseen arquitecturas especialmente
En el momento de decantarse por un DSP u diseadas para acelerar los clculos matemti-
otro ser necesario conocer completamente los cos intensos utilizados en la mayora de siste-
requisitos de procesado del sistema. Muchos DSP mas de procesado de seal en tiempo real. Se ha
pueden ser eliminados previamente con slo tener visto que el DSP est muy estrechamente ligado
en cuenta consideraciones de falta de potencia al tipo de aplicacin. La tendencia es que vayan
de clculo, resolucin insuficiente, coste, etc. apareciendo DSP con arquitecturas que estn
Esto probablemente deje todava a un nmero cada vez ms 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 anlisis. que a nivel de prestaciones varios DSP puedan
En el apartado anterior se han visto aquellas reunir los requisitos necesarios exigidos por una
caractersticas ms tcnicas de los DSP y que aplicacin, otras consideraciones como el coste
estn estrechamente relacionadas con los algo- o el consumo pueden ayudar a disminuir el nme-
ritmos de la aplicacin a implementar. Sin embar- ro de posibles candidatos.
go, no se han considerado para nada aspectos rela- Por otro lado, la reciente aparicin de compila-
cionados con el desarrollo de la aplicacin. 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- cin de las arquitecturas VLIW y con ello la
llo. Algunos requerimientos bsicos son: obtencin de DSP de elevadas prestaciones. La
arquitectura VLIW posee una gran ventaja fren-
*Documentacin de diseo detallada te a los procesadores superescalares, y es que la
*Herramientas de desarrollo de cdigo en extraccin del paralelismo se realiza por el com-
ensamblador y/o en lenguaje de alto nivel pilador y ello permite dedicar ms tiempo para
*Herramientas para el test de la funcionalidad obtener la mejor optimizacin. En consecuen-
del diseo cia, el procesador resulta ser mucho ms simple
*Notas de aplicacin u otro tipo de ayuda al dise- y con un nmero mucho menor de transistores,
o lo que permite trabajar con velocidades de reloj
ms 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 solucin alcanzada sea la que presente la [1]. Phil Lapsley, Jeff Bier, Amit Shoham and
mejor relacin coste-eficiencia. En aplicaciones Edward A. Lee, DSP Processor Fundamentals: Archi-
de gran volumen de produccin, esto probable- tectures and Features, Berkeley, California: Berkeley
mente signifique que el DSP escogido ser el ms Design Technology, Inc., 1996.
barato que pueda realizar la aplicacin. 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.
produccin tendr ms sentido utilizar un DSP [4]. Dezs Sima, Terence Fountain, Pter Kacsuk,
que facilite el diseo o que tenga las herramien- Advanced Computer Architectures. A Design Space
tas de desarrollo ms baratas. Approach, Addison-Wesley, 1997. ME

S-ar putea să vă placă și